1. A_VileAttack (that I used for making my version of Whirlwind thrust the object of the attack in the air) takes place when the whirlwind is still pretty far from me, I'd say about 4 meters away. Also it doesn't thrust me up where I stood, but teleports me straight into the position of the Iron Lich and thrusts up there.
2. The whirlwind dies when it hits the ceiling (if I fly up and it follows me). Sure, the original Whirlwind did it too, but it was the second thing that I wanted to fix. But despite having BounceType "Hexen" and BounceFactor 0, it still dies when it hits the ceiling.
Can these two things be fixed?
Code: Select all
Class Tornado : Actor
{
int TornadoLife;
override void PostBeginPlay()
{
TornadoLife = 350;
Super.PostBeginPlay();
}
Default
{
Radius 16;
Height 74;
Speed 10;
DamageFunction 3;
DamageType "Ether";
Projectile;
-ACTIVATEIMPACT
-ACTIVATEMCROSS
+SEEKERMISSILE
+DONTSEEKINVISIBLE
// +EXPLOCOUNT
+STEPMISSILE
+WINDTHRUST
+NOWALLBOUNCESND
+BOUNCEONACTORS
+CANBOUNCEWATER
-FLOORCLIP
BounceType "Hexen";
// BounceType "HexenCompat";
BounceFactor 0;
WallBounceFactor 0;
RenderStyle "Translucent";
Alpha 0.5;
SeeSound "ironlich/attack3";
// DefThreshold 60;
// Threshold 50;
}
States
{
Spawn:
FX07 DDEEFFGG 3;
Pursue:
TNT1 A 0 A_JumpIf(TornadoLife < 0, "Death");
FX07 ABC 3
{
TornadoLife = TornadoLife - 3; // minus frame length
A_SeekerMissile(10, 30, 0);
}
TNT1 A 0 A_VileAttack("ironlich/attack3", 0, 0, 0, 1.0);
Loop;
Death:
TNT1 A 0 A_Stop;
FX07 GFED 4;
Stop;
}
}