//========================================================================== // // Ice chunk // //========================================================================== class IceChunk : Actor { Default { Radius 3; Height 4; Mass 5; Gravity 0.125; +DROPOFF +CANNOTPUSH +FLOORCLIP +NOTELEPORT +NOBLOCKMAP +MOVEWITHSECTOR } void A_IceSetTics () { tics = 70 + (random[IceTics]() & 63); Name dtype = GetFloorTerrain().DamageMOD; if (dtype == 'Fire') { tics >>= 2; } else if (dtype == 'Ice') { tics <<= 1; } } States { Spawn: ICEC ABCD 10 A_IceSetTics; Stop; } } //========================================================================== // // A chunk of ice that is also a player // //========================================================================== class IceChunkHead : PlayerChunk { Default { Radius 3; Height 4; Mass 5; Gravity 0.125; DamageType "Ice"; +DROPOFF +CANNOTPUSH } States { Spawn: ICEC A 0; ICEC A 10 A_CheckPlayerDone; wait; } }