I'm playing Doom Incarnate and once upgraded, the SSG can fire bouncing flak projectiles that have RIPPER. They just hit an actor and stop. I tried 4.6.1 and 4.3.3. Here's the code.
Spoiler:
Actor FlakProjectile { Speed 40 Radius 6 Height 3 Damage 2 Projectile Obituary "%o was ripped open and made medium-rare by %k's hot, shredded metal." Gravity 0.5 BounceType Doom BounceFactor 0.6 BounceCount 8 // BounceSound "Hotrod/FlakBounce" +RIPPER -NOGRAVITY +MTHRUSPECIES +BLOODLESSIMPACT Scale 0.6 var int user_c; States { Spawn: TNT1 A 0 NoDelay { A_PlaySound("Hotrod/Loop",5,0.1,1,2); A_ScaleVelocity(frandom(0.75,1.25)); A_ChangeVelocity(0,0,frandom(4.0,5.0)); user_c = 0; Return A_Jump(256,2,3,4,5,6,7,8); } Looplet: SRHP ABCDEFGH 2 Bright { A_SetUserVar("user_c", user_c + 1); A_SpawnItemEx("HotflakTrail",0,0,0,0,0,0,0,SXF_TRANSFERALPHA|SXF_TRANSFERSPRITEFRAME|SXF_CLIENTSIDE); A_SpawnItemEx("HotrodSpark", frandom(6.0,-6.0),frandom(6.0,-6.0),frandom(6.0,-6.0), frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(1.0,2.0), frandom(360.0,0.0),SXF_CLIENTSIDE,192); If(user_c > 7) { user_c = 0; } } Loop Death: "####" "#" 0 { A_PlaySound("Hotrod/End",5,0.2); A_SpawnItemEx("Hotflak",0,0,0,0,0,0,0,SXF_TRANSFERSPRITEFRAME|SXF_CLIENTSIDE); } "####" "#" 0 A_JumpIf(user_c == 0, "FrameA") //Mad hax, but couldn't do it other way. "####" "#" 0 A_JumpIf(user_c == 1, "FrameB") "####" "#" 0 A_JumpIf(user_c == 2, "FrameC") "####" "#" 0 A_JumpIf(user_c == 3, "FrameD") "####" "#" 0 A_JumpIf(user_c == 4, "FrameE") "####" "#" 0 A_JumpIf(user_c == 5, "FrameF") "####" "#" 0 A_JumpIf(user_c == 6, "FrameG") "####" "#" 0 A_JumpIf(user_c == 7, "FrameH") FrameA: SRH2 A 0 Goto ColdStew FrameB: SRH2 B 0 Goto ColdStew FrameC: SRH2 C 0 Goto ColdStew FrameD: SRH2 D 0 Goto ColdStew FrameE: SRH2 E 0 Goto ColdStew FrameF: SRH2 F 0 Goto ColdStew FrameG: SRH2 G 0 Goto ColdStew FrameH: SRH2 H 0 Goto ColdStew ColdStew: "####" "#" 0 A_SpawnItemEx("Coldflak",0,0,0,0,0,0,0,SXF_TRANSFERSPRITEFRAME|SXF_CLIENTSIDE) Stop } }