//Duration reduced
actor IrucanAssist
{
Obituary "$OB_IRUCAN"
-SOLID
+MISSILE
+NOBLOOD
Bouncetype Hexen
-ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
+FORCEXYBILLBOARD
+NOEXPLODEFLOOR
-BOUNCEONFLOORS
+SEEKERMISSILE
+LOOKALLAROUND
+THRUACTORS
+RIPPER
bouncefactor 1.0
wallbouncefactor 1.0
maxstepheight 32
maxdropoffheight 32
Height 24
damagetype "Irucan"
scale 2.5
damage (0)
reactiontime 175//490
+FLOORHUGGER
radius 16
speed 0
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_GiveToTarget("LimitFlag",1)
Land:
TNT1 A 0 A_Stop
TNT1 A 0 A_Recoil(-14)
TNT1 A 0 A_PlaySoundEx("misc/splash","Body")
TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
TNT1 A 0 A_ChangeFlag("FLOORHUGGER",1)
TNT1 A 0 A_TakeInventory("CutterFlag",999)
OtherSpawn:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 AAAAAA 0 A_Countdown
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC A 1 A_FaceTracer(9, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC A 1 A_FaceTracer(9, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC A 1 A_FaceTracer(9, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC B 1 A_FaceTracer(9, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC B 1 A_FaceTracer(9, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
IRUC B 1 A_FaceTracer(9, 0)
TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK,256)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",4,"Jump")
loop
Jump:
IRUC B 1 A_ChangeFlag("FLOORHUGGER",0)
IRUC BBBB 0 A_FaceTracer(90, 0)
TNT1 A 0 A_ChangeVelocity(18,0,momz,CVF_REPLACE|CVF_RELATIVE)
TNT1 A 0 ThrustThingZ(0,40,0,0)
IRUC CC 1 A_Explode(17,48,0,0,48)
JumpLoop:
IRUC A 0 A_JumpIf(z-floorz<=0, "Land")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
IRUC C 0 A_Countdown
IRUC C 1 A_Explode(17,48,0,0,48)
loop
Death:
TNT1 A 0 A_SpawnItemEx("GenericAssistDeath", 0, 0, height/2)
TNT1 A 0 A_TakeFromTarget("LimitFlag",1)
stop
}
}

actor IrucanProtect : PowerProtection
{
Powerup.Duration 18
DamageFactor "Irucan", 0.0
}

actor IrucanSummon : GenericAssistCapsule
{
ReactionTime 35
States
{
Assist:
TNT1 A 2 A_SpawnItemEx("IrucanAssist", 8, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
goto Death+2
}
}