local utterChaos = false local function chaosSync(net) utterChaos = net(utterChaos) end addHook("NetVars", chaosSync) addHook("MobjSpawn", function(mo) if not netgame and mo and mo.valid mo.spritexscale = P_RandomRange(2, 8) * FRACUNIT/4 mo.spriteyscale = P_RandomRange(2, 8) * FRACUNIT/4 mo.rollangle = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end end) addHook("PlayerSpawn", function(p) if netgame and p.valid and p.mo and p.mo.valid p.mo.spritexscale = P_RandomRange(2, 8) * FRACUNIT/4 p.mo.spriteyscale = P_RandomRange(2, 8) * FRACUNIT/4 p.mo.rollangle = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end end) addHook("MapThingSpawn", function(mo, thing) if netgame and mo and mo.valid mo.spritexscale = P_RandomRange(2, 8) * FRACUNIT/4 mo.spriteyscale = P_RandomRange(2, 8) * FRACUNIT/4 mo.rollangle = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end end) addHook("MobjThinker", function(mo) if utterChaos and mo and mo.valid if not mo.t then mo.t = P_RandomRange(TICRATE/3, TICRATE*2) end if not mo.px or not mo.py or not mo.pra then mo.px = P_RandomRange(2, 8) * FRACUNIT/4 mo.py = P_RandomRange(2, 8) * FRACUNIT/4 mo.pra = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end if not mo.tx or not mo.ty or not mo.tra then mo.tx = P_RandomRange(2, 8) * FRACUNIT/4 mo.ty = P_RandomRange(2, 8) * FRACUNIT/4 mo.tra = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end if not mo.eas then mo.eas = 0 end if mo.eas > mo.t then mo.eas = 0 mo.t = P_RandomRange(TICRATE/3, TICRATE*2) mo.px = mo.spritexscale mo.py = mo.spriteyscale mo.pra = mo.rollangle mo.tx = P_RandomRange(2, 8) * FRACUNIT/4 mo.ty = P_RandomRange(2, 8) * FRACUNIT/4 mo.tra = FixedAngle(P_RandomRange(-15, 15)*FRACUNIT) end local x = (FRACUNIT * mo.eas) / mo.t mo.spritexscale = ease.linear(x, mo.px, mo.tx) mo.spriteyscale = ease.linear(x, mo.py, mo.ty) mo.rollangle = ease.linear(x, mo.pra, mo.tra) mo.eas = $ + 1 end end) COM_AddCommand("utterchaos", function(p, arg) if arg then arg = arg:lower(arg) if arg == "true" or arg == "on" then utterChaos = true end if arg == "false" or arg == "off" then utterChaos = false end else CONS_Printf(p, "\x82 Randomly change the size of all objects every tic!") CONS_Printf(p, "\x82 - WARNING: MAY MAKE YOUR COMPUTER CRY! -") CONS_Printf(p, "") CONS_Printf(p, "\x82 Usage: 'utterchaos true/on' to enable, 'utterchaos false/off' to disable.") end end, COM_ADMIN)