summaryrefslogtreecommitdiff
path: root/player.py
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-12-20 22:06:23 -0300
committerJesusaves <cpntb1@ymail.com>2020-12-20 22:06:23 -0300
commit84cbad040b6abe1a0ec3d5b1cf374225922e010d (patch)
treef63513674dfa1984147e7c0650fc364c765b8f63 /player.py
parent5000bec0615a7378bfb016c4f74a749cfac62edd (diff)
downloadserver-84cbad040b6abe1a0ec3d5b1cf374225922e010d.tar.gz
server-84cbad040b6abe1a0ec3d5b1cf374225922e010d.tar.bz2
server-84cbad040b6abe1a0ec3d5b1cf374225922e010d.tar.xz
server-84cbad040b6abe1a0ec3d5b1cf374225922e010d.zip
Players now require 100% of the required EXP.
Units will require only 67% (2/3) of that (division by 1.5).
Diffstat (limited to 'player.py')
-rw-r--r--player.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/player.py b/player.py
index 5945f1e..a469158 100644
--- a/player.py
+++ b/player.py
@@ -212,9 +212,11 @@ def clear(token, mask=SQL_CLEAR):
return
-def exp_to_lvlup(level):
+def exp_to_lvlup(level, unit=False):
try:
next_exp=EXPTABLE[level]
+ if unit:
+ next_exp=int(next_exp/1.5)
except:
stdout("Level %d is out of bounds" % (level))
next_exp=INT_MAX
@@ -225,7 +227,7 @@ def exp_to_lvlup(level):
# Return: {"code": True/False, "ap": <ap_raised>, "next": <exp_needed>}
def check_rank_up(token):
rs={"code": False, "ap": 0}
- next_exp=int(exp_to_lvlup(Player[token]["level"])*1.5)
+ next_exp=exp_to_lvlup(Player[token]["level"])
if Player[token]["exp"] >= next_exp:
# We leveled up! Prepare the bonuses
@@ -248,7 +250,7 @@ def check_rank_up(token):
Player[token]["max_exp"]=exp_to_lvlup(Player[token]["level"])
update_ap(token, Player[token]["max_ap"]-Player[token]["ap"])
# Sanitize
- Player[token]["exp"]=max(Player[token]["exp"], int(exp_to_lvlup(Player[token]["level"])*1.5))
+ Player[token]["exp"]=max(Player[token]["exp"], exp_to_lvlup(Player[token]["level"]))
return rs
@@ -290,7 +292,7 @@ def check_level_up(token, inv_id):
return 0
# Calculate exp needed to level up
- next_exp=exp_to_lvlup(Player[token]["inv"][inv_id]["level"])
+ next_exp=exp_to_lvlup(Player[token]["inv"][inv_id]["level"], True)
ret=0
while Player[token]["inv"][inv_id]["exp"] >= next_exp:
ret += 1
@@ -301,7 +303,7 @@ def check_level_up(token, inv_id):
Player[token]["inv"][inv_id]["exp"]=0
Player[token]["inv"][inv_id]["level"]=copy(un["max_level"])
break
- next_exp=exp_to_lvlup(Player[token]["inv"][inv_id]["level"])
+ next_exp=exp_to_lvlup(Player[token]["inv"][inv_id]["level"], True)
return ret
# Calculates sell price of an unit
@@ -583,7 +585,7 @@ def upgrade(args, token):
r=un["rare"]
f=un["flags"]
e=un["attribute"]
- next_exp=exp_to_lvlup(Player[token]["inv"][idx]["level"])
+ next_exp=exp_to_lvlup(Player[token]["inv"][idx]["level"], True)
except:
r=1
f=0