diff options
Diffstat (limited to 'battle/main.py')
-rw-r--r-- | battle/main.py | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/battle/main.py b/battle/main.py index 7ce64a9..c686231 100644 --- a/battle/main.py +++ b/battle/main.py @@ -42,6 +42,7 @@ random.seed() def advance_wave(token, world, quest_id, next_wave): global Battle, allquests Battle[token]["enemy"]=[] + Battle[token]["log"].append(["WAVE", 0, True, "", 0]) stdout("advance_wave was called") quest=dl_search(allquests[world], "quest_id", quest_id) @@ -80,7 +81,8 @@ def get_result(token, victory, world, quest_id): "exp": 0, "crystals": 0, "loot": [], - "rank": 0 + "rank": 0, + "log": Battle[token]["log"] } stdout("GR: Begin") @@ -257,6 +259,7 @@ def begin_quest(args, token, client_side=True): "party": [], "party_id": int(bq["party_id"]), "spheres": [], + "log": [], "turn": 1} stdout("Data set") @@ -344,11 +347,11 @@ def battle_endturn(token, spheres): Battle[token]["spheres"].remove(SPH_NONE) stdout("Exceeding spheres removed") - # Add 1~3 random spheres - i=random.randint(1,3) + # Add 1~3 random spheres; But never go over 5 spheres + i=min(random.randint(1,3), len(Battle[token]["spheres"]) - 5) while i > 0: i-=1 - Battle[token]["spheres"].append(random.choice([ + sp=random.choice([ SPH_WIDEATTACK, SPH_PIERCE, SPH_ASSAULT, @@ -356,14 +359,12 @@ def battle_endturn(token, spheres): SPH_HEALALL, SPH_ATKUP, SPH_DEFUP - ])) + ]) + Battle[token]["log"].append(["SP", len(Battle[token]["spheres"]), sp, "", 0]) + Battle[token]["spheres"].append(sp) stdout("Spheres added; Status before adjust: %s" % (str(Battle[token]["spheres"]))) - # Remove exceeding spheres - if (len(Battle[token]["spheres"]) > 5): - del(Battle[token]["spheres"][4:]) - # Add empty spheres to keep length while (len(Battle[token]["spheres"]) < 5): Battle[token]["spheres"].append(SPH_NONE) @@ -445,6 +446,7 @@ def battle(args, token): # Erase temporary variables del tmp stdout("Party reordered (SKIPPED)") + Battle[token]["log"]=[] ####################################### # Prepare temporary data @@ -469,10 +471,10 @@ def battle(args, token): if (bt["sphere"][idx] == ACT_SPHERE): # Remove the sphere spheres[idx]=SPH_NONE - sphere_attack(token, bat, Battle[token]["spheres"][idx]) + sphere_attack(token, bat, Battle[token]["spheres"][idx], idx) Battle[token]["bp"]+=2 else: - sphere_attack(token, bat, SPH_NONE) + sphere_attack(token, bat, SPH_NONE, idx) Battle[token]["bp"]+=1 stdout("Attack performed") @@ -510,7 +512,7 @@ def battle(args, token): ############ # Enemies - for bat in Battle[token]["enemy"]: + for idx, bat in enumerate(Battle[token]["enemy"]): # The dead can't fight if (bat["hp"] <= 0): continue @@ -522,6 +524,7 @@ def battle(args, token): target["hp"]-=calc_dmg(token, bat, target, bat["atk"]) Battle[token]["bp"]+=1 + Battle[token]["log"].append(["enemy", idx, SPH_NONE, "party", target_id]) stdout("ENEMY: Attack performed") # If HP ends up broken |