Spoiler: Youtube video for bugI have fixed the code to detonate two DoomImpBalls when they collide into each other but firing into it still causes it to pass through actors.
Code: Select all
Actor TestPlayer : DoomPlayer
{
Health 10000
Player.Startitem "TestPistol"
Player.Startitem "Clip", 1000
Player.WeaponSlot 2, "TestPistol"
}
Actor TestPistol : Pistol replaces Pistol
{
States
{
Fire:
PISG A 4
PISG B 6 A_FireCustomMissile ("DoomImpBall2")
PISG C 4
PISG B 5 A_ReFire
Goto Ready
}
}
actor TestImp : DoomImp replaces DoomImp
{
+MISSILEMORE
+MISSILEEVENMORE
States
{
Missile:
TROO EF 8 A_FaceTarget
TROO G 6 A_CustomMissile ("DoomImpBall2")
Goto See
}
}
actor DoomImpBall2 : BaronBall replaces DoomImpBall
{
Game Doom
SpawnID 10
Radius 6
Height 8
Speed 10
Health 3
DamageFactor 0
DamageFactor Fire, 100
FastSpeed 20
Damage 3
DamageType "Fire"
Projectile
+RANDOMIZE
+SHOOTABLE
+NOBLOOD
-NOBLOCKMAP
RenderStyle Add
Alpha 1
SeeSound "imp/attack"
DeathSound "imp/shotx"
States
{
Spawn:
BAL1 AB 1 bright
loop
Death:
TNT1 A 0 A_Explode (3, 12, 0)
BAL1 CDE 1 bright
TNT1 A 0 A_ChangeFlag ("SHOOTABLE", false)
stop
Death.Imp:
TNT1 A 0 A_ChangeFlag ("NOBLOCKMAP", true)
TNT1 A 1 A_SpawnItemEx ("SuperImpBall", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
BAL1 CDE 1 bright
stop
}
}
Actor SuperImpBall : BaronBall
{
Speed 50
Damage 30
DamageFactor 0
Translation Ice
Projectile
+PUFFGETSOWNER
-SHOOTABLE
States
{
Death:
PUFF A 4 bright
PUFF B 4 A_Explode (10000, 10000, 1)
stop
}
}
I'm pretty sure that projectiles just plain don't have custom death states, however, that would not explain why they fly through actors. I also note that projectiles were not intended to do this, so I reiterate I'm not entirely sure if this is a bug or not.