Classes:PoisonBolt
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
	
| Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why: 
 | 
| Poison bolt | |||
|---|---|---|---|
| Actor type | Explosive | Game |  (Strife) | 
| DoomEd Number | None | Class Name | PoisonBolt | 
| Conversation ID | 102 | Puzzle Item ID | N/A | 
Classes: PoisonBolt
A poison bolt instantly kills most monsters. It deals 50 damage on a monster with the BOSS flag, but has no effect at all on any actor with the NOBLOOD flag (boss or not).
The special damage handgling is done with DoSpecialDamage.
ZScript definition
| Note: The ZScript definition below is for reference and may be different in the current version of GZDoom.The most up-to-date version of this code can be found on GZDoom GitHub. | 
class PoisonBolt : Actor
{
	Default
	{
		Speed 30;
		Radius 10;
		Height 10;
		Damage 500;
		Projectile;
		+STRIFEDAMAGE
		MaxStepHeight 4;
		SeeSound "misc/swish";
		ActiveSound "misc/swish";
		Obituary "$OB_MPPOISONBOLT";
	}
	States
	{
	Spawn:
		ARWP A 10 A_LoopActiveSound;
		Loop;
	Death:
		AROW A 1;
		Stop;
	}
	
	override int DoSpecialDamage (Actor target, int damage, Name damagetype)
	{
		if (target.bNoBlood)
		{
			return -1;
		}
		if (target.health < 1000000)
		{
			if (!target.bBoss)			
				return target.health + 10;
			else
				return 50;
		}
		return 1;
	}
}
DECORATE definition
|   | Warning: This is legacy code, kept for archival purposes only. DECORATE is deprecated in GZDoom and is completely superseded by ZScript. GZDoom internally uses the ZScript definition above. | 
ACTOR PoisonBolt native
{
  Speed 30
  Radius 10
  Height 10
  Damage 500
  Projectile
  +STRIFEDAMAGE
  MaxStepHeight 4
  SeeSound "misc/swish"
  ActiveSound "misc/swish"
  Obituary "$OB_MPPOISONBOLT" // "%o recieved a lethal dose of %k's wrath."
  States
  {
  Spawn:
    ARWP A 10 A_LoopActiveSound
    Loop
  Death:
    AROW A 1
    Stop
  }
}