FireEmblemUniverse / SkillSystem_FE8

Creative Commons Zero v1.0 Universal
55 stars 93 forks source link

O'Neill shouldn't have access to ballistae, but does have access to ballistae. #536

Open Huichelaar opened 9 months ago

Huichelaar commented 9 months ago

If you add

BLST [6,22] 0x35

to the traps in Events/Release_map.event and start Boss Rush, O'Neill's danger radius implies he can access the ballista, even when his class and character structs have the relevant bit unset.

NO$GBA_2023-09-24_10-37-15

masterofcontroversy commented 9 months ago

Looks like the cause of the issue is the range display code using r12/ip for a check ballista flag and expecting it to remain untouched through function calls. https://github.com/FireEmblemUniverse/SkillSystem_FE8/blob/ec33765f28c37343e0fc147734df24118914729c/EngineHacks/Necessary/ItemRangeFix/RangeDisplay/All_Moveable_Squares.s#L21 https://github.com/FireEmblemUniverse/SkillSystem_FE8/blob/ec33765f28c37343e0fc147734df24118914729c/EngineHacks/Necessary/ItemRangeFix/RangeDisplay/Write_Range.s#L4-L8

In this particular case, GetInitialSkillList overwrites r12/ip while being used for testing range skills.