Skip to content

ID_Challenge_fixes

Hachem_Muche requested to merge Hachem_Muche/t-engine4:ID_Challenge_Fixes into master

Fixes an exploitable bug that allows for certain ID challenges to be completed prematurely by zoning out to a special event level. Instead of resolving on any level change, challenges are only automatically resolved on death or when entering a new ID level. (The quest on_exit_check function is only run after the level change is complete to allow the destination to be determined.) This allows the Exterminate, Pacification, Rush-Hour, etc challenges to continue when entering a hidden vault, for example. The ZONE_AURA_CHALLENGE persists across levels if applicable and some quest text is clarified. Death always results in challenge failure (unless already successfully completed).

Specific changes:

Pacifist: Death or zoning to a special event level will not trigger immediate success

Exterminator: Zoning to a special event level will not trigger automatic failure

Rush Hour: 20 more turns to complete, continues to count down (with warnings) in a special event level (must exit to the next ID level)

Fixes a bug in GameState:startEvents that was not checking for the special function for major events with events_by_level set.

Merge request reports