Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Sokoro

Decorate monster behaving incorrectly

Recommended Posts

Hi, I have donwloaded decorate monster Archon of Hell and tried to nerf it. Most of the time it behaves normaly, but on some occasions it skips some frames and uses only last frame when doing a_custommissile, or it throws fireball into different direction than it is facing. I am using latest gzdoom stable build. What could cause such behavior?

 

Here is the code I am using:

ACTOR HellstormArchon replaces BaronOfHell
{ 
Health 1000 
Radius 24 
Height 64 
Mass 1000 
Speed 8 
PainChance 20 
MONSTER
MeleeDamage 10
Obituary "%o was no match for an archon of hell."
HitObituary "%o was ripped apart by an archon of hell."
BloodColor "20 60 20"
+FLOORCLIP
+BOSS
+BOSSDEATH
+DONTHARMCLASS
SeeSound "monster/arcsit" 
PainSound "baron/pain" 
DeathSound "monster/arcdth"
MeleeSound "baron/melee"
SpawnID 174
States 
   { 
   Spawn: 
       BOS3 AB 10 A_Look 
       Loop 
   See:
       BOS3 AABBCCDD 3 A_Chase 
       Loop 
   Missile:
       TNT1 A 0 A_Jump(128,7)
       BOS3 EF 8 A_FaceTarget 
       BOS3 G 8 A_CustomMissile ("BaronBall",28,0,0,0)
       TNT1 A 0 A_Jump(64,4)
       BOS3 ST 8 A_FaceTarget 
       BOS3 U 8 A_CustomMissile ("BaronBall",28,0,0,0)
       TNT1 A 0 A_Jump(64,1)
       Goto See
       BOS3 HI 8 A_FaceTarget
       BOS3 J 8 A_CustomMissile ("ArchonComet",28,0,0,0)
       Goto See
   Melee:
       BOS3 EF 8 A_FaceTarget 
       BOS3 G 6 A_MeleeAttack
       BOS3 G 0 A_Jump (128,1)
       Goto See
       BOS3 ST 8 A_FaceTarget 
       BOS3 U 6 A_MeleeAttack
       BOS3 G 0 A_Jump (64,1)
       Goto See
       BOS3 HI 8 A_FaceTarget
       BOS3 J 0 A_MeleeAttack
       BOS3 J 6 A_MeleeAttack
       Goto See
   Pain: 
       BOS3 K 2 
       BOS3 K 2 A_Pain 
       Goto See 
   Death: 
       BOS3 L 8 
       BOS3 M 8 A_Scream 
       BOS3 N 8 
       BOS3 O 8 A_NoBlocking 
       BOS3 PQ 8 
       BOS3 R -1 A_Fall 
       Stop
   XDeath:
       XARC A 5
       XARC B 5 A_XScream
       XARC C 5 A_NoBlocking
       XARC DEFGH 5
       XARC I -1
       stop
   Raise: 
       BOS3 RQPONML 8 
       Goto See 
   } 
}

ACTOR ArchonComet
{
   Radius 8
   Height 12
   Speed 25
   Damage 20
   Scale 1.0
   SpawnID 251
   PROJECTILE
   RENDERSTYLE Normal
   +THRUGHOST
   SeeSound "weapons/firbfi"
   DeathSound "weapons/hellex"
   DONTHURTSHOOTER
   +FIREDAMAGE
   States
   {
   Spawn: 
      ARCB AAAABBBBCCCC 1 Bright A_SpawnItem("ArchonCometTrail",0,0)
      loop
   Death:
      ARCB J 0 Bright A_SetTranslucent (0.67,1)
      ARCB J 3 Bright
      ARCB K 3 Bright A_Explode(128,128,0)
      ARCB LMN 3 Bright
      stop
   }
}

ACTOR ArchonCometTrail
{   
   Radius 3
   Height 3
   Scale 0.75
   Speed 0
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.67
   States
   {
   Spawn:
      NULL A 3 Bright
      ARCB DEFGHI 3 BRIGHT
      Stop 
   }
}

 

Share this post


Link to post

Looking at the code, it seems like it's caused by A_Jump, it's telling the actor to jump to different states at specified chance rates, that's why some states are skipped sometimes, remove the random A_Jumps in missile states if you want it to behave in a straightforward / less random way. This will also cause the actor to ignore some states that are only accessible via A_Jump so you might want to also remove those states if you don't need them.

 

https://zdoom.org/wiki/A_Jump

Share this post


Link to post

There's a reason why A_Jump supports labels - it's done precisely for avoiding this kind of state counting which is very error prone.

 

The problem here looks like 'EF' and 'ST' state lines are being counted as one, not two.

 

Share this post


Link to post

Ah, I see it now, thank you Graf and thank you for GZDoom it is my favorite port for anything, but testing vanilla maps (I use chocolate doom for that)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×