Sumwunn / DoomRPG

Doom RPG is an RPG Modification for the GZDoom Source Port
36 stars 5 forks source link

Archvile arena summon terminates the wave prematurely if a killed monster is revived #95

Open sanscriptum opened 3 months ago

sanscriptum commented 3 months ago

As per title. Previously existing monsters don't count for that behavior, and when wave is terminated - all corpses are immediately removed, including the revived monster.

sanscriptum commented 3 months ago

Extra things I've noticed - if reinforcement enemies were revived (from the quest, not the config, no idea about the latter), then they won't have the green friendly glow and can be friendly fired on. Also the Unmaker and the firestorm upgraded Jackal can kill friendlies?

Sumwunn commented 3 months ago

Do you mean an Arch-vile you summoned or one by the Arena?

sanscriptum commented 3 months ago

A summon.

Sumwunn commented 3 months ago

Well, I believe I found the cause. Script caller ownership was being lost when ZScript was calling ACS (Monster's weren't being identified by DRPG). I'll have to redo a couple ZScript's but should be easy. This will probably fix some other oddities as well.

I'm gonna delete Revives though after the round depletes of enemies, otherwise it busts Arena tracking since those monsters are tied to it (ID wise), and, of course, for balance.

Preview: gzdoom 2024-05-25 19-38-31

Sumwunn commented 3 months ago

Alright, since each Monster has the same TID (for tracking and map spawning) it's not possible to fix this with the current Arena code.

I'll disable the Arch-vile in Arena's for now until I overhaul the Arena code that tracks monsters via a TID array. This will allow friendlies/revives to function as they do on a normal WAD.

Sumwunn commented 3 months ago

This is wrapping up. Now, each monster is tracked independently which means revives work correctly. Did most of this in ZScript. Yay!

I created a Project on here that can be used to track on my progress on the issue.

https://github.com/users/Sumwunn/projects/4/views/1

Sumwunn commented 3 months ago

Pushed fix for Arena. Will look at Reinforcement Mission revives next.

Sumwunn commented 3 months ago

Pushed fix for Reinforcement revives. Will look at the two weapons next.

However, if that is the Unmaker and Jackal intended behaviour in DRLA, I'll probably leave it.