So Laser Trident is kind of underwhelming.
Tricky speeding up mechanic for something that's just a flat 20 damage and also rips at a distance.
14 shots. Fire Storm Rate of Fire, Fire Storm damage.
Oh and it pierces Leaf Shield, Skull Barrier, Junk Shield, Jewel Satellite, Mirror Buster, and Proto Shield I guess.
Figured since it speeds up and starts to rip as it goes, what if it also did more damage as it goes?
Then you got another true ranged weapon, which MM8BDM has always had trouble getting...
Anyway here's code.
actor LaserTrident2 replaces LaserTrident
{
PROJECTILE
Obituary "$OB_LASERTRIDENT"
scale 2.5
//+RIPPER
+DONTBLAST
+THRUGHOST
+PIERCEARMOR
+DONTREFLECT
Damagetype "LaserTrident"
Speed 10
Radius 10
Height 20
var int user_time;
Damage (20+user_time)
States
{
Spawn:
LTRI C 0
LTRI C 0 A_SetUserVar("user_time",-1)
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI B 0 A_SetUserVar("user_time",user_time+1)
LTRI B 0 A_ScaleVelocity(1.2)
LTRI B 1
LTRI B 0 A_SetUserVar("user_time",user_time+1)
LTRI B 0 A_ScaleVelocity(1.2)
LTRI B 1
LTRI B 0 A_SetUserVar("user_time",user_time+1)
LTRI B 0 A_ScaleVelocity(1.2)
LTRI B 1
LTRI B 0 A_SetUserVar("user_time",user_time+1)
LTRI B 0 A_ScaleVelocity(1.2)
LTRI B 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI C 0 A_SetUserVar("user_time",user_time+1)
LTRI C 0 A_ScaleVelocity(1.2)
LTRI C 1
LTRI B 0 A_ChangeFlag(RIPPER, true)
SpawnLoop:
LTRI BC 4
loop
}
}
Laser Trident is in the end twice as fast as Metal Blade, it spends half as much time inside players, and therefore deals half damage
pain.LaserTrident:
PLY1 H 0 A_GiveInventory("LaserTridentProtect", 1)
goto pain
actor LaserTridentProtect : PowerProtection
{
Powerup.Duration 4
damagefactor "LaserTrident", 0.0
}
Laser Trident is flat 20 damage right now.
To offer a bit more perspective on why Laser Trident is bad.
Consider Fire Storm.
Fire Storm has 28 shot ammo. It fires a 20 damage shot every 16 tics, the same dps as megabuster actually. But it's fairly decent because the projectiles are fast, large, do hitstun, and firestorm gives hugging damage.
Laser Trident has 14 shot ammo. It fires a 20 damage shot every 16 tics. The projectiles are large and do hitstun. Laser Trident starts off slow so you see it coming, and it needs range to start ripping; ripping itself being a fairly situational property, with better rippers existing. Laser Trident pierces shields, uh, yay.