Re: [Release][Alsmost finishe]Duke Nukem: War Against the Do
Posted: Mon Jun 04, 2018 7:41 am
Thanks for that ^^ Now I would need some minor help from a DECORATE god (if I should post that in "Scripting" too, please tell me, but since it falls within the scope of this mod only, I'll keep it there for now). I've pinpointed the issue. Fatso is replaced by the actor FatsoReplacer. This FatsoReplacer actor in turn uses an ACS function to determine what type of enemy is spawned and goes to a state in which it spawns either a monster or a RandomSpawner using A_SpawnItemEx. The problem is that what the level is expecting to die is FatsoReplacer. But since all states end with a frame with a duration > -1 then stops, the actor is destroyed (at least according to the wiki, correct me if that changed.xenoxols wrote:I'm not too active here, but you have my preemptive permission.DevilBlackDeath wrote:Well I'd just like a fix for the MAP07 event bug even if I had to apply it myself. I had tried the +BOSSDEATH flag thing back then and tried it again now and it doesn't work =/ As a result any map using the MAP07 event instead of ACS to trigger event on monster death is broken. I'll try removing all monster defs to see if the problem even comes from that and if I can at least somewhat come up with a fix, I'll share it, if xeno authrozies it obviously ^^
Now what I tried to do :
-Adding +BOSSDEATH flag to FatsoReplacer (it will need it if is expected to die and tag 666 needs to check for its death)
-Adding a Death state containing
Code: Select all
TNT1 A 0 A_SpawnItem("SuperShotgun")
TNT1 A 0 A_BossDeath
Stop
-Adding SXF_SETMASTER to the SpawnItemEx call, so the monster's master is the spawner (although, according to the wiki, that should already be the case right?)
-Adding a call to A_KillMaster in the Death and XDeath states of the mod's fatso
Then I tried those solutions :
-Replacing Stop by Goto See and adding a See state containing only
Code: Select all
TNT1 A 1
Loop
-Making all durations of the A_SpawnItemEX frames be -1, so Stop wouldn't delete the actor, but still no good, Death state is never entered into
The obvious solution is to kill FatsoReplacer whenever the monster it spawns dies, and that's why I thought A_KillMaster would do the trick here, but it doesn't sadly =/
I'll later take a look at DemonSteele's fatso since it works here, but maybe it works because it just "replaces" Doom's fatso.
Oh I should precise that trying to make Fatso1 (the mod's replacement for Fatsos) replace the Fatso made it work, but then again, that's just a cheap trick that remove features :S
Edit : I had DemonSteele hanging around, so I figured I'd peek at it before leaving that behind for the day and as I feared, it works exclusively because DS's fatso actually replaces Fatso in the actor declaration
