by JPL » Sun Mar 17, 2019 12:25 pm
I don't care about my mod working with every map ever created, and ACS scripting especially means all bets are off re: knowing what a monster's death will trigger. I mainly just want to provide generic best-effort handling of map07/E1M8/E4M6/E4M8-like cases without having to hardcode those specific map slots + specific enemies, so that the player isn't locked out of continuing the level because eg a floor didn't lower. There will definitely be maps where it fails, my goal is the largest number of maps supported with the least amount of special case scripting, knowing that that's all careful tradeoff connected to complicated engine behaviors.
To provide some context, monsters aren't allowed to die in Mr Friendly, they just wander around so you can talk to them. Currently I handle map07 like cases from WorldThingSpawned, saying "if level.MapName is MAP07 and you're a mancubus or spider, set your health to 0 and call A_BossDeath (and then set your health back to full), so that any level specials fire and unblock the way forward".
I don't care about my mod working with every map ever created, and ACS scripting especially means all bets are off re: knowing what a monster's death will trigger. I mainly just want to provide generic best-effort handling of map07/E1M8/E4M6/E4M8-like cases without having to hardcode those specific map slots + specific enemies, so that the player isn't locked out of continuing the level because eg a floor didn't lower. There will definitely be maps where it fails, my goal is the largest number of maps supported with the least amount of special case scripting, knowing that that's all careful tradeoff connected to complicated engine behaviors.
To provide some context, monsters aren't allowed to die in Mr Friendly, they just wander around so you can talk to them. Currently I handle map07 like cases from WorldThingSpawned, saying "if level.MapName is MAP07 and you're a mancubus or spider, set your health to 0 and call A_BossDeath (and then set your health back to full), so that any level specials fire and unblock the way forward".