Code: Select all
Class Scalliano_PlayerNail : FastProjectile
{
int HitTimes;
int HitMax;
int NailGunDamage;
actor HitMonster;
Default
{
Damage 0;
Speed 40;
MissileHeight 8;
MissileType "Scalliano_PlayerNailTrail";
Radius 3;
Height 2;
Decal "FadingBulletChip";
}
override Void PostBeginPlay()
{
int NailGunDamage = 20;
}
override int SpecialMissileHit(actor victim)
{
if (victim && target && victim != target && victim != HitMonster)
{
victim.DamageMobj(self,target, NailGunDamage, "Normal");
A_SpawnItemEx("Blood");
HitTimes++;
HitMonster = victim;
}
return 1;
}
States
{
Spawn:
TNT1 A 0 NoDelay { HitMax = random(2, 4); }
SpawnLoop:
TNT1 A 1
{
if (HitTimes > HitMax)
return ResolveState("XDeath");
return ResolveState(null);
}
Loop;
...
Small edit: the reason it is a fast projectile with 40 speed is because i thought the collision system for fast projectiles was bugging it, alas i put it to 40 speed, but its actually a very fast 150 speed projectile.