local speeddust = 1 local dusttype = 1 local speedwind = 1 local camzoom = 1 local function Wind(mobj) local r = mobj.radius / FRACUNIT local explosion = P_SpawnMobj( mobj.x + (P_RandomRange(r, -r) * FRACUNIT), mobj.y + (P_RandomRange(r, -r) * FRACUNIT), mobj.z + (P_RandomKey(mobj.height / FRACUNIT) * FRACUNIT) - mobj.height/2, MT_THOK) explosion.sprite = SPR_RAIN explosion.renderflags = $|RF_PAPERSPRITE explosion.angle = R_PointToAngle2(0, 0, mobj.momx, mobj.momy) explosion.rollangle = R_PointToAngle2(0, 0, R_PointToDist2(0, 0, mobj.momx, mobj.momy), -mobj.momz) + ANGLE_90 explosion.source = mobj explosion.blendmode = AST_ADD end addHook('ThinkFrame', do for player in players.iterate do if player.mo and player.mo.scale and player.mo.friction and player.mo.movefactor then local skin = skins[player.mo.skin] local grounded = P_IsObjectOnGround(player.mo) if player.mo.state ~= S_PLAY_DEAD and player.mo.state ~= S_PLAY_DRWN then -- Speed Dust -- if speeddust == 1 then if grounded then if player.speed >= 52*FRACUNIT then if dusttype == 1 then local dust1 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_DUST) dust1.momx = P_RandomRange(-4, 4)*FRACUNIT dust1.momy = P_RandomRange(-4, 4)*FRACUNIT dust1.momz = P_RandomRange(0, 4)*FRACUNIT dust1.destscale = FRACUNIT/2 elseif dusttype == 2 then local dust1 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_SPINDUST) dust1.momx = P_RandomRange(-4, 4)*FRACUNIT dust1.momy = P_RandomRange(-4, 4)*FRACUNIT dust1.momz = P_RandomRange(0, 4)*FRACUNIT dust1.destscale = FRACUNIT/2 end if dusttype == 1 then local dust2 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_DUST) dust2.momx = P_RandomRange(-4, 4)*FRACUNIT dust2.momy = P_RandomRange(-4, 4)*FRACUNIT dust2.momz = P_RandomRange(0, 4)*FRACUNIT dust2.destscale = FRACUNIT/2 elseif dusttype == 2 then local dust2 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_SPINDUST) dust2.momx = P_RandomRange(-4, 4)*FRACUNIT dust2.momy = P_RandomRange(-4, 4)*FRACUNIT dust2.momz = P_RandomRange(0, 4)*FRACUNIT dust2.destscale = FRACUNIT/2 end end if player.speed >= 68*FRACUNIT then if dusttype == 1 then local dust3 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_DUST) dust3.momx = P_RandomRange(-4, 4)*FRACUNIT dust3.momy = P_RandomRange(-4, 4)*FRACUNIT dust3.momz = P_RandomRange(0, 4)*FRACUNIT dust3.destscale = FRACUNIT/2 elseif dusttype == 2 then local dust3 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_SPINDUST) dust3.momx = P_RandomRange(-4, 4)*FRACUNIT dust3.momy = P_RandomRange(-4, 4)*FRACUNIT dust3.momz = P_RandomRange(0, 4)*FRACUNIT dust3.destscale = FRACUNIT/2 end if dusttype == 1 then local dust4 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_DUST) dust4.momx = P_RandomRange(-4, 4)*FRACUNIT dust4.momy = P_RandomRange(-4, 4)*FRACUNIT dust4.momz = P_RandomRange(0, 4)*FRACUNIT dust4.destscale = FRACUNIT/2 elseif dusttype == 2 then local dust4 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_SPINDUST) dust4.momx = P_RandomRange(-4, 4)*FRACUNIT dust4.momy = P_RandomRange(-4, 4)*FRACUNIT dust4.momz = P_RandomRange(0, 4)*FRACUNIT dust4.destscale = FRACUNIT/2 end if dusttype == 1 then local dust5 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_DUST) dust5.momx = P_RandomRange(-4, 4)*FRACUNIT dust5.momy = P_RandomRange(-4, 4)*FRACUNIT dust5.momz = P_RandomRange(0, 4)*FRACUNIT dust5.destscale = FRACUNIT/2 elseif dusttype == 2 then local dust5 = P_SpawnMobjFromMobj(player.realmo, P_RandomRange(-10, 10) * FRACUNIT, P_RandomRange(-10, 10) * FRACUNIT, 0, MT_SPINDUST) dust5.momx = P_RandomRange(-4, 4)*FRACUNIT dust5.momy = P_RandomRange(-4, 4)*FRACUNIT dust5.momz = P_RandomRange(0, 4)*FRACUNIT dust5.destscale = FRACUNIT/2 end end end end -- Speed Wind -- if speedwind == 1 then if player.speed >= 52*FRACUNIT then Wind(player.mo) end if player.speed >= 68*FRACUNIT then Wind(player.mo) end end -- Camera Zoom -- if camzoom == 1 then if player.speed >= 68*FRACUNIT then player.camerascale = skin.camerascale*5/4 elseif player.speed >= 52*FRACUNIT then player.camerascale = skin.camerascale*9/8 else player.camerascale = skin.camerascale end end end end end end) COM_AddCommand("speeddust", function(player, arg) if arg == "on" then speeddust = 1 elseif arg == "off" then speeddust = 0 end end) COM_AddCommand("dusttype", function(player, arg) if arg == "1" then dusttype = 1 elseif arg == "2" then dusttype = 2 end end) COM_AddCommand("speedwind", function(player, arg) if arg == "on" then speedwind = 1 elseif arg == "off" then speedwind = 0 end end) COM_AddCommand("camzoom", function(player, arg) if arg == "on" then camzoom = 1 elseif arg == "off" then camzoom = 0 end end)