HK: slight optimization
items are marked as advancement if they have an additional effect, so instead of a lookup we can just refer to a bool that's already local as a quick pre-check
This commit is contained in:
parent
7a6aef03e7
commit
15dcdca6fc
|
@ -257,19 +257,20 @@ class HKWorld(World):
|
||||||
|
|
||||||
def collect(self, state, item: HKItem) -> bool:
|
def collect(self, state, item: HKItem) -> bool:
|
||||||
change = super(HKWorld, self).collect(state, item)
|
change = super(HKWorld, self).collect(state, item)
|
||||||
|
if change:
|
||||||
for effect_name, effect_value in item_effects.get(item.name, {}).items():
|
for effect_name, effect_value in item_effects.get(item.name, {}).items():
|
||||||
state.prog_items[effect_name, item.player] += effect_value
|
state.prog_items[effect_name, item.player] += effect_value
|
||||||
|
|
||||||
return change
|
return change
|
||||||
|
|
||||||
def remove(self, state, item: HKItem) -> bool:
|
def remove(self, state, item: HKItem) -> bool:
|
||||||
change = super(HKWorld, self).remove(state, item)
|
change = super(HKWorld, self).remove(state, item)
|
||||||
|
|
||||||
for effect_name, effect_value in item_effects.get(item.name, {}).items():
|
if change:
|
||||||
if state.prog_items[effect_name, item.player] == effect_value:
|
for effect_name, effect_value in item_effects.get(item.name, {}).items():
|
||||||
del state.prog_items[effect_name, item.player]
|
if state.prog_items[effect_name, item.player] == effect_value:
|
||||||
state.prog_items[effect_name, item.player] -= effect_value
|
del state.prog_items[effect_name, item.player]
|
||||||
|
state.prog_items[effect_name, item.player] -= effect_value
|
||||||
|
|
||||||
return change
|
return change
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue