Reisal Posted March 3, 2010 I am attempting to figure out how to make the flamethrower zombie on Realm667 use his weapon more often but I see a A_JumpIfCloser in his Missile state but don't really know to make it bigger, smaller or remove it.. (Yes, I read the stub on ZDoom wiki) I see him walking around me up close but not burning me like he should but he sometimes uses it from a distance. Missile: FLMZ E 0 A_JumpIfCloser(384, "See") FLMZ E 10 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) Goto See Also, what would be the best course of action so he does but not torching monsters between himself and me? 0 Share this post Link to post
Fletcher` Posted March 3, 2010 Make the flamethrower attack his Melee state and set MeleeThreshold to something appropriate. 0 Share this post Link to post
Gez Posted March 3, 2010 Mr. Chris said:I am attempting to figure out how to make the flamethrower zombie on Realm667 use his weapon more often but I see a A_JumpIfCloser in his Missile state but don't really know to make it bigger, smaller or remove it.. (Yes, I read the stub on ZDoom wiki) I see him walking around me up close but not burning me like he should but he sometimes uses it from a distance. That's because he jumps to his see state when he is closer than 384 map units from you. You can reduce the A_JumpIfCloser distance. You can also try giving the monster the AVOIDMELEE flag so it won't try to get up close and personal as monster AI is normally wont to do. 0 Share this post Link to post
Reisal Posted March 3, 2010 I could just comment out A_JumpIfCloser and add in MeleeThreshold 192 or 256 and change the Missile state to Melee, that should work. 0 Share this post Link to post
scalliano Posted March 3, 2010 Yeah, Ghastly_Dragon added that line in. I originally just had him attack from anywhere, although this made him a bit kamikaze. It seems to have the opposite from the intended effect - I think the idea was to have him only attack when you were closer as the flamer has limited range. If you can get him behaving the way you want, let me know. Might be worth an update. 0 Share this post Link to post
Reisal Posted March 4, 2010 I didn't see much change doing the above so I reverted back to the original but changing the A_JumpIfCloser to 256 and adding the +MISSILEMORE flag to see if I get desirable results. I will see if I come across him in any generated maps this time..but isn't there a ZDoom flag that tells the monster to not engage with a projectile unless X units from his target? 0 Share this post Link to post
GreyGhost Posted March 4, 2010 Try this - MeleeRange 384 DamageFactor "Fire", 0.1 // nearly fireproof States { Spawn: FLMZ AB 10 A_Look Loop See: FLMZ A 4 A_Chase("", "") FLMZ ABBCCDD 4 A_Chase Loop Melee: FLMZ E 5 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ E 0 A_FaceTarget FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("FTFire",32,0,random(-4,4),0) Goto See I added the DamageFactor after noticing the zombie had a tendency to perish in his own flames when chasing me. 0 Share this post Link to post
scalliano Posted March 4, 2010 Nice idea, his fatigues are the right colour for an asbestos suit... 0 Share this post Link to post
Reisal Posted March 5, 2010 Will cut-paste and report later see if this works, GG. 0 Share this post Link to post
Reisal Posted March 6, 2010 All right, that modification by GG works well, just had to knock the fire damage factor off because I can't kill him with a rocket in one shot. 0 Share this post Link to post
Reisal Posted March 29, 2010 Sorry for bumping this but I am trying to figure out how to keep the dropped flames from harming the shooter, yet the DONTHURTSHOOTER flag is on the ZombieFire and DropFire actors below.. ACTOR ZombieFire { Radius 2 Height 4 Speed 16 Damage 1 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.67 Scale 0.67 SeeSound "weapons/flamer" DeathSound "weapons/scorch" DONTHURTSHOOTER +THRUGHOST States { Spawn: NULL A 2 Bright FRFX ABCD 2 Bright A_Explode(5,8) FRFX D 0 Bright A_Lowgravity FRFX EFG 2 Bright A_Explode(5,16) FRFX HIJ 2 Bright A_Explode(5,32) FRFX KLM 2 Bright A_Explode(5,64) FRFX NO 2 Bright stop Death: FRFX HIJ 2 Bright A_Explode(5,32) FRFX J 0 A_CustomMissile ("DropFire",0,0,0,4) FRFX KLM 2 Bright A_Explode(5,64) FRFX NO 2 Bright stop } } ACTOR DropFire { Radius 8 Height 40 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.90 DONTHURTSHOOTER -NOGRAVITY +LOWGRAVITY +NOEXPLODEFLOOR +NODAMAGETHRUST +THRUGHOST States { Spawn: FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,16) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16) FLME A 0 A_Jump(192,1) loop NULL A 0 goto death Death: NULL A 1 Bright stop }It still hurts and ends up killing him if he walks over it but I still want to be able to kill him via rocket since making him flame resistant or proof will make the RL/GL literally useless on him. Any thoughts on how to keep him from killing himself on firewalking yet able to kill him with explosive weapons? 0 Share this post Link to post
GreyGhost Posted March 30, 2010 Try this -ACTOR ZombieFire { Radius 2 Height 4 Speed 16 Damage 1 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.67 Scale 0.67 SeeSound "weapons/flamer" DeathSound "weapons/scorch" +THRUGHOST States { Spawn: NULL A 2 Bright FRFX ABCD 2 Bright A_Explode(5,8,0) FRFX D 0 Bright A_Lowgravity FRFX EFG 2 Bright A_Explode(5,16,0) FRFX HIJ 2 Bright A_Explode(5,32,0) FRFX KLM 2 Bright A_Explode(5,64,0) FRFX NO 2 Bright stop Death: FRFX HIJ 2 Bright A_Explode(5,32,0) FRFX J 0 A_CustomMissile ("DropFire",0,0,0,4) FRFX KLM 2 Bright A_Explode(5,64,0) FRFX NO 2 Bright stop } } ACTOR DropFire { Radius 8 Height 40 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.90 -NOGRAVITY +LOWGRAVITY +NOEXPLODEFLOOR +NODAMAGETHRUST +THRUGHOST States { Spawn: FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,16,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 0 A_Jump(192,1) loop NULL A 0 goto death Death: NULL A 1 Bright stop } } The DONTHURTSHOOTER property has been deprecated and replaced with a hurtshooter flag in A_Explode which appears to do the trick when set to false. 0 Share this post Link to post
Reisal Posted March 30, 2010 Thanks, I'll see if that works later today. 0 Share this post Link to post
scalliano Posted March 30, 2010 @GreyGhost: I just tried your code and it works a treat. I'll be submitting this as an update on R667. Cheers. Using the modified projectile actors, I've changed the Missile attack to Melee with a MeleeRange of 384. This means that while he won't toast himself, he also won't attack you until you're close enough for him to hit you. The code now reads like this: ACTOR FlamerZombie 31497 { Health 50 Radius 20 Height 56 Speed 8 PainChance 100 MONSTER +FLOORCLIP SeeSound "grunt/sight" AttackSound "weapons/flamer" PainSound "grunt/pain" DeathSound "grunt/death" ActiveSound "grunt/active" Obituary "%o got fried by a flamer zombie." MeleeRange 384 States { Spawn: FLMZ AB 10 A_Look Loop See: FLMZ A 4 A_Chase("", "") FLMZ ABBCCDD 4 A_Chase Loop Melee: FLMZ E 10 A_FaceTarget FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ E 10 A_FaceTarget FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ E 10 A_FaceTarget FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ E 10 A_FaceTarget FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) FLMZ F 1 A_CustomMissile("ZombieFire",32,0,random(-4,4),0) Goto See Pain: FLMZ G 3 FLMZ G 3 A_Pain Goto See Death: FLMZ H 5 FLMZ I 5 A_Scream FLMZ J 5 A_Fall FLMZ K 5 FLMZ L -1 Stop XDeath: FLMZ O 5 FLMZ P 5 A_XScream FLMZ Q 5 A_Fall FLMZ RSTU 5 FLMZ V -1 Stop Raise: FLMZ KJIH 5 Goto See } } ACTOR ZombieFire { Radius 2 Height 4 Speed 16 Damage 1 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.67 Scale 0.67 SeeSound "weapons/flamer" DeathSound "weapons/scorch" +THRUGHOST States { Spawn: NULL A 2 Bright FRFX ABCD 2 Bright A_Explode(5,8,0) FRFX D 0 Bright A_Lowgravity FRFX EFG 2 Bright A_Explode(5,16,0) FRFX HIJ 2 Bright A_Explode(5,32,0) FRFX KLM 2 Bright A_Explode(5,64,0) FRFX NO 2 Bright stop Death: FRFX HIJ 2 Bright A_Explode(5,32,0) FRFX J 0 A_CustomMissile ("ZombieDropFire",0,0,0,4) FRFX KLM 2 Bright A_Explode(5,64,0) FRFX NO 2 Bright stop } } ACTOR ZombieDropFire { Radius 8 Height 40 PROJECTILE RENDERSTYLE ADD DamageType Fire ALPHA 0.90 -NOGRAVITY +LOWGRAVITY +NOEXPLODEFLOOR +NODAMAGETHRUST +THRUGHOST States { Spawn: FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,16,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 1 Bright A_Playsound("weapons/onfire") FLME A 1 Bright A_Explode(5,32,0) FLME BCDEFGHIJKLMN 2 Bright A_Explode(5,16,0) FLME A 0 A_Jump(192,1) loop NULL A 0 goto death Death: NULL A 1 Bright stop } } I've renamed the DropFire to ZombieDropFire to avoid any conflict with the actual Flamer weapon, so if you're using it you can still toast yourself ;) 0 Share this post Link to post