//Is it just me or am I ENGULFED IN FLAMES?! local function P_ZMovementRingBounce(mo) local mom = {x = mo.momx, y = mo.momy, z = mo.momz} if (P_MobjFlip(mo)*mom.z < 0) // falling mo.eflags = $1|MFE_JUSTHITFLOOR if (mo.flags2 & MF2_SKULLFLY) // the skull slammed into something mom.z = -mom.z else // Flingrings bounce if (maptol & TOL_NIGHTS) mom.z = -FixedDiv(mom.z, 10*FRACUNIT); else mom.z = -FixedMul(mom.z, FixedDiv(17*FRACUNIT,20*FRACUNIT)) end end elseif (tmfloorthing) mom.z = tmfloorthing.momz end /* function not available in lua if (mo.standingslope) //MT_STEAM will never have a standingslope, see above. P_QuantizeMomentumToSlope(mom, mo,standingslope) end */ mo.momx = mom.x mo.momy = mom.y mo.momz = mom.z end local function RingLavaDeath(mo, inf, src, dtype) if not (inf) and not (src) and (dtype == DMG_FIRE) then //lava death mo.health = mobjinfo[mo.type].spawnhealth //revive mo.flags = mobjinfo[mo.type].flags //restore flags P_ZMovementRingBounce(mo) return true end end addHook("MobjDeath", RingLavaDeath, MT_FLINGRING)