Stardew Valley: Fix magic altar logic (#3417)
* Fix magic altar logic * Force a tuple (really?) * Fix received and force progression on all spells * Reversing the tuple change (?yllaer)
This commit is contained in:
parent
34f903e97a
commit
378af4b07c
|
@ -735,26 +735,26 @@ id,name,classification,groups,mod_name
|
|||
10007,Tractor Garage,useful,,Tractor Mod
|
||||
10008,Woods Obelisk,progression,,DeepWoods
|
||||
10009,Spell: Clear Debris,progression,MAGIC_SPELL,Magic
|
||||
10010,Spell: Till,useful,MAGIC_SPELL,Magic
|
||||
10010,Spell: Till,progression,MAGIC_SPELL,Magic
|
||||
10011,Spell: Water,progression,MAGIC_SPELL,Magic
|
||||
10012,Spell: Blink,progression,MAGIC_SPELL,Magic
|
||||
10013,Spell: Evac,useful,MAGIC_SPELL,Magic
|
||||
10014,Spell: Haste,useful,MAGIC_SPELL,Magic
|
||||
10013,Spell: Evac,progression,MAGIC_SPELL,Magic
|
||||
10014,Spell: Haste,progression,MAGIC_SPELL,Magic
|
||||
10015,Spell: Heal,progression,MAGIC_SPELL,Magic
|
||||
10016,Spell: Buff,useful,MAGIC_SPELL,Magic
|
||||
10016,Spell: Buff,progression,MAGIC_SPELL,Magic
|
||||
10017,Spell: Shockwave,progression,MAGIC_SPELL,Magic
|
||||
10018,Spell: Fireball,progression,MAGIC_SPELL,Magic
|
||||
10019,Spell: Frostbolt,progression,MAGIC_SPELL,Magic
|
||||
10020,Spell: Teleport,progression,MAGIC_SPELL,Magic
|
||||
10021,Spell: Lantern,useful,MAGIC_SPELL,Magic
|
||||
10021,Spell: Lantern,progression,MAGIC_SPELL,Magic
|
||||
10022,Spell: Tendrils,progression,MAGIC_SPELL,Magic
|
||||
10023,Spell: Photosynthesis,useful,MAGIC_SPELL,Magic
|
||||
10023,Spell: Photosynthesis,progression,MAGIC_SPELL,Magic
|
||||
10024,Spell: Descend,progression,MAGIC_SPELL,Magic
|
||||
10025,Spell: Meteor,progression,MAGIC_SPELL,Magic
|
||||
10026,Spell: Bloodmana,useful,MAGIC_SPELL,Magic
|
||||
10027,Spell: Lucksteal,useful,MAGIC_SPELL,Magic
|
||||
10026,Spell: Bloodmana,progression,MAGIC_SPELL,Magic
|
||||
10027,Spell: Lucksteal,progression,MAGIC_SPELL,Magic
|
||||
10028,Spell: Spirit,progression,MAGIC_SPELL,Magic
|
||||
10029,Spell: Rewind,useful,MAGIC_SPELL,Magic
|
||||
10029,Spell: Rewind,progression,MAGIC_SPELL,Magic
|
||||
10030,Pendant of Community,progression,,DeepWoods
|
||||
10031,Pendant of Elders,progression,,DeepWoods
|
||||
10032,Pendant of Depths,progression,,DeepWoods
|
||||
|
|
|
|
@ -8,7 +8,7 @@ from ...mods.mod_data import ModNames
|
|||
from ...stardew_rule import StardewRule, False_
|
||||
from ...strings.ap_names.skill_level_names import ModSkillLevel
|
||||
from ...strings.region_names import MagicRegion
|
||||
from ...strings.spells import MagicSpell
|
||||
from ...strings.spells import MagicSpell, all_spells
|
||||
|
||||
|
||||
class MagicLogicMixin(BaseLogicMixin):
|
||||
|
@ -27,7 +27,8 @@ class MagicLogic(BaseLogic[Union[RegionLogicMixin, ReceivedLogicMixin, HasLogicM
|
|||
def can_use_altar(self) -> StardewRule:
|
||||
if ModNames.magic not in self.options.mods:
|
||||
return False_()
|
||||
return self.logic.region.can_reach(MagicRegion.altar)
|
||||
spell_rule = False_()
|
||||
return self.logic.region.can_reach(MagicRegion.altar) & self.logic.received_any(*all_spells)
|
||||
|
||||
def has_any_spell(self) -> StardewRule:
|
||||
if ModNames.magic not in self.options.mods:
|
||||
|
|
|
@ -1,22 +1,30 @@
|
|||
all_spells = []
|
||||
|
||||
|
||||
def spell(name: str) -> str:
|
||||
all_spells.append(name)
|
||||
return name
|
||||
|
||||
|
||||
class MagicSpell:
|
||||
clear_debris = "Spell: Clear Debris"
|
||||
till = "Spell: Till"
|
||||
water = "Spell: Water"
|
||||
blink = "Spell: Blink"
|
||||
evac = "Spell: Evac"
|
||||
haste = "Spell: Haste"
|
||||
heal = "Spell: Heal"
|
||||
buff = "Spell: Buff"
|
||||
shockwave = "Spell: Shockwave"
|
||||
fireball = "Spell: Fireball"
|
||||
frostbite = "Spell: Frostbolt"
|
||||
teleport = "Spell: Teleport"
|
||||
lantern = "Spell: Lantern"
|
||||
tendrils = "Spell: Tendrils"
|
||||
photosynthesis = "Spell: Photosynthesis"
|
||||
descend = "Spell: Descend"
|
||||
meteor = "Spell: Meteor"
|
||||
bloodmana = "Spell: Bloodmana"
|
||||
lucksteal = "Spell: Lucksteal"
|
||||
spirit = "Spell: Spirit"
|
||||
rewind = "Spell: Rewind"
|
||||
clear_debris = spell("Spell: Clear Debris")
|
||||
till = spell("Spell: Till")
|
||||
water = spell("Spell: Water")
|
||||
blink = spell("Spell: Blink")
|
||||
evac = spell("Spell: Evac")
|
||||
haste = spell("Spell: Haste")
|
||||
heal = spell("Spell: Heal")
|
||||
buff = spell("Spell: Buff")
|
||||
shockwave = spell("Spell: Shockwave")
|
||||
fireball = spell("Spell: Fireball")
|
||||
frostbite = spell("Spell: Frostbolt")
|
||||
teleport = spell("Spell: Teleport")
|
||||
lantern = spell("Spell: Lantern")
|
||||
tendrils = spell("Spell: Tendrils")
|
||||
photosynthesis = spell("Spell: Photosynthesis")
|
||||
descend = spell("Spell: Descend")
|
||||
meteor = spell("Spell: Meteor")
|
||||
bloodmana = spell("Spell: Bloodmana")
|
||||
lucksteal = spell("Spell: Lucksteal")
|
||||
spirit = spell("Spell: Spirit")
|
||||
rewind = spell("Spell: Rewind")
|
||||
|
|
Loading…
Reference in New Issue