sc2: Fixing mission levels not counting towards the level 35 threshold to unlock primal kerrigan (#3109)
This commit is contained in:
parent
c8fd42f938
commit
56ec0e902d
|
@ -957,13 +957,13 @@ def caclulate_soa_options(ctx: SC2Context) -> int:
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
def kerrigan_primal(ctx: SC2Context, items: typing.Dict[SC2Race, typing.List[int]]) -> bool:
|
def kerrigan_primal(ctx: SC2Context, kerrigan_level: int) -> bool:
|
||||||
if ctx.kerrigan_primal_status == KerriganPrimalStatus.option_always_zerg:
|
if ctx.kerrigan_primal_status == KerriganPrimalStatus.option_always_zerg:
|
||||||
return True
|
return True
|
||||||
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_always_human:
|
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_always_human:
|
||||||
return False
|
return False
|
||||||
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_level_35:
|
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_level_35:
|
||||||
return items[SC2Race.ZERG][type_flaggroups[SC2Race.ZERG]["Level"]] >= 35
|
return kerrigan_level >= 35
|
||||||
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_half_completion:
|
elif ctx.kerrigan_primal_status == KerriganPrimalStatus.option_half_completion:
|
||||||
total_missions = len(ctx.mission_id_to_location_ids)
|
total_missions = len(ctx.mission_id_to_location_ids)
|
||||||
completed = len([(mission_id * VICTORY_MODULO + get_location_offset(mission_id)) in ctx.checked_locations
|
completed = len([(mission_id * VICTORY_MODULO + get_location_offset(mission_id)) in ctx.checked_locations
|
||||||
|
@ -1138,7 +1138,7 @@ class ArchipelagoBot(bot.bot_ai.BotAI):
|
||||||
|
|
||||||
async def updateZergTech(self, current_items, kerrigan_level):
|
async def updateZergTech(self, current_items, kerrigan_level):
|
||||||
zerg_items = current_items[SC2Race.ZERG]
|
zerg_items = current_items[SC2Race.ZERG]
|
||||||
kerrigan_primal_by_items = kerrigan_primal(self.ctx, current_items)
|
kerrigan_primal_by_items = kerrigan_primal(self.ctx, kerrigan_level)
|
||||||
kerrigan_primal_bot_value = 1 if kerrigan_primal_by_items else 0
|
kerrigan_primal_bot_value = 1 if kerrigan_primal_by_items else 0
|
||||||
await self.chat_send("?GiveZergTech {} {} {} {} {} {} {} {} {} {} {} {}".format(
|
await self.chat_send("?GiveZergTech {} {} {} {} {} {} {} {} {} {} {} {}".format(
|
||||||
kerrigan_level, kerrigan_primal_bot_value, zerg_items[0], zerg_items[1], zerg_items[2],
|
kerrigan_level, kerrigan_primal_bot_value, zerg_items[0], zerg_items[1], zerg_items[2],
|
||||||
|
|
Loading…
Reference in New Issue