HEXEN HELP: CUSTOM MONSTER WEAK [RESOLVED]

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Post Reply
Psychojack88
Posts: 54
Joined: Sat May 07, 2022 10:12 pm
Graphics Processor: nVidia (Modern GZDoom)

HEXEN HELP: CUSTOM MONSTER WEAK [RESOLVED]

Post by Psychojack88 »

I have been updating my Daisy Eternal mod on Doom to increase compatibility with other id games and am recently testing it with Hexen. On Hexen I noticed that she seems to quickly die due to one of her own attacks, as if being effected by splash damage, or die very quickly without any prompt like falling off a medium ledge that doesn't hurt me a lot. This doesn't seem to be the case in Doom. She seems to work well with Doom, Doom 2 and Chex Quest, but on Hexen it seems she unintentionally kill herself when she does her jump attack. (I checked and Fall Damage is off in the game settings, so I am at a loss for the moment.)

For the character, her health is 667 but she has invincibility frames for special melee attacks. (To prevent constantly dying mid-swing)

As an example of the self-damage, here's a jump attack that she does that instantly kills her. Are there any extreme differences between Hexen and Doom that may be causing this? Perhaps something I'm doing wrong from my end? Any help would be greatly appreciated. The code is down below to see what I'm working with.

Code: Select all

JumpAttack:
		JUMA A 4 { A_FaceTarget(); A_SetInvulnerable(); }
		JUMA B 4 { A_ChangeVelocity(8, 0, 14, CVF_RELATIVE); } // forward + upward
		JUMA C 4 { A_PlaySound("daisy/jump"); } // jump sound mid-air
		JUMA D 6 { } 
		JUMA E 2 { A_ChangeVelocity(0, 0, -20, CVF_RELATIVE); A_UnSetInvulnerable(); } 
		JUMA F 6 { A_FaceTarget(); A_CustomMeleeAttack(50); A_SpawnItemEx("DaisyJumpStrike", 5); A_spawnprojectile("DaisyMiniShotForce",40,56,frandom(-17,-1));  A_spawnprojectile("DaisyMiniShotForce",40,-56,frandom(-17,-1)); }
		Goto Dash;
The projectiles were my first clue since they are influenced by A_Explode (splash damage incarnate) here they are below.

Code: Select all

class DaisyJumpStrike : Actor
{
    Default
    {
        Radius 1;
        Height 1;
        Speed 10;
        Damage 20;
        RenderStyle 'Add';
        Alpha 1.0;
        Scale 1;
		Species "Bunny";
        DamageType "DaisyEternalDamage"; //To prevent self-damage in Doom
	DamageType "aRabbitsKick"; //To prevent self-damage in Doom
        +NOBLOCKMAP;
        +NOTELEPORT;
	+DONTHARMSPECIES;
	+NOINFIGHTSPECIES;
    }

Code: Select all

Class DaisyMiniShotForce : Actor
{ 
	Default
    {
	Radius 3;
	Height 3;
	Speed 35;
	Damage 0;
	Projectile;
	RenderStyle "Add";
	Species "Bunny";
	DamageType "DaisyEternalDamage";
	DamageType "aRabbitsKick";
	ProjectileKickBack 3000;
	+DONTHARMSPECIES;
	+NOINFIGHTSPECIES;
	}
	States
	{
	Spawn:
		//IPRJ AAABBBCCC 1 Bright A_Explode(6,32,0,0,16);
		IPRJ AAABBBCCC 1 Bright A_Explode(6,12,0,0,10); 
		Loop;
	Death:
		//IPRJ AAA 0 A_Explode(6,32,0,0,16); 
		IPRJ AAA 0 A_Explode(6,12,0,0,10);
		IPRJ DEFGH 3 Bright;
		Stop;
	}
}
Last edited by Psychojack88 on Tue Oct 28, 2025 12:39 pm, edited 1 time in total.
User avatar
fakemai
Posts: 403
Joined: Mon Feb 12, 2018 12:26 am
Location: Australia

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by fakemai »

Falling damage "off" in gameplay options just seems to disable forcing it to a particular type, a game will still use its appropriate style. What you can do is change the "Falling" damagefactor to 0. Apparently god mode does protect from falls too but 2 tics probably isn't long enough for longer down-attacks even at that velocity.
Psychojack88
Posts: 54
Joined: Sat May 07, 2022 10:12 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by Psychojack88 »

Thank you Fakemai for replying. So even though the falling damage is off it still manages to slip through? 😩

If that's the case I'll see to it to put your recommendation. If that at least stops most of the instant-death falling damage that would be an improvement. If anything else I'll extend the invulnerability to wait until the end of the jump attack to at least try stop potential splash damage from A_Explode. Might at least cushion the brunt of the damage since that attack is always the one that she gets killed by out of nowhere 😅.

In case that doesn't work either, are there any other specific damage factor types in Hexen that might be doing unexpected damage? Could be I overlooked something else. (Never played too much Hexen and have only done this mod for Doom so far.)
User avatar
fakemai
Posts: 403
Joined: Mon Feb 12, 2018 12:26 am
Location: Australia

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by fakemai »

SelfDamageFactor 0 is the property you want for that. There's also the actor flag +NORADIUSDMG as used on the Cyberdemon so it doesn't hurt itself, but that'll also apply to enemy splash damage so you probably don't want that. Also, in my experience enemies in Hexen don't take fall damage but they will take fall death and it's not even from particularly long falls. Just note that if you give the helper some kind of launch move or uppercut, it might be a LOT deadlier in Hexen.
Psychojack88
Posts: 54
Joined: Sat May 07, 2022 10:12 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by Psychojack88 »

I tried using the SelfDamageFactor and the Falling Damage Factors to 0, even set more invulnerability frames. Unfortunately, she still ends up offing herself with the jump attack. 😅

I'll have to keep expeimenting, if not then I'm assuming the change velocity is the culprit. No velocity/little velocity should lower the odds of fall damage, at least that's all I have to go on for now.
User avatar
fakemai
Posts: 403
Joined: Mon Feb 12, 2018 12:26 am
Location: Australia

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by fakemai »

My bad. Apparently enemies (and Daisy) take 1 million damage from any fall of sufficient velocity, which bypasses invulnerability and DamageFactor, normally. Thankfully there's the +LAXTELEFRAGDMG flag which will at least make such high damage consider DamageFactor so, yeah set that and it should work great. You may also want to look at disabling other types of damage like telefrags.
Psychojack88
Posts: 54
Joined: Sat May 07, 2022 10:12 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: HEXEN HELP: CUSTOM MONSTER WEAK [UNRESOLVED/WIP]

Post by Psychojack88 »

Hey Fakemai. Just wanted to post the update here. Your solution worked perfectly. After inputting the +LAXTELEFRAGDMG, as well as reducing the DamageFactor "Telefrag" to 0, Daisy no longer automatically dies the moment she uses her jump attack. I highly thank you for the time that you took out of your day to help me with this glaring issue I've been dealing with. It's something to consider for the future the next time I make a mod to be usable for Hexen.

Much appreciated for the swift responses and for explaining what was going on as well as the solutions to resolving this. This will really help me out for this project and for potentially future projects.

I think she's now more than ready for Hexen now. Performing way better much like in Doom, Doom 2, Chex Quest. Thank you! 😊
Post Reply

Return to “Scripting”