addHook("PlayerSpawn", function(p) if p and p.mo and p.mo.skin == "sms" and not p.togglehmscheat if not (G_GametypeHasSpectators() or p.mo.battlemodsms) or modeattacking local s = p.mo if not p.sms_transformstate and not p.hypermysticsonic and not p.spectator A_TOGOEVENFURTHERBEYOND(s) //Use the build in transform function so SMS settings may apply if p.hypermysticsonic //Success? p.xtralife = 9 p.mo.hmscheatactive = 2 if (p.rings < 5000) p.rings = 9001 end if mapheaderinfo[gamemap] and mapheaderinfo[gamemap].startrings //Silly hack to get around startrings limitation for d = 0,250 P_SpawnMobj(s.x, s.y, s.z, MT_RING) end end p.hypermysticsonic = 50 s.state = S_PLAY_WALK end end end end end, MT_PLAYER) addHook("PlayerThink", function(p) //Sigh. Sigh. Siiiiigh. if p.mo and p.mo.hmscheatactive local s = p.mo s.hmscheatactive = $-1 if not p.hypermysticsonic and p.mo.skin == "sms" and not p.togglehmscheat if not (G_GametypeHasSpectators() or p.mo.battlemodsms) or modeattacking if not p.sms_transformstate and not p.spectator A_TOGOEVENFURTHERBEYOND(s) if p.hypermysticsonic p.xtralife = 9 if (p.rings < 5000) p.rings = 9001 end if mapheaderinfo[gamemap] and mapheaderinfo[gamemap].startrings for d = 0,250 P_SpawnMobj(s.x, s.y, s.z, MT_RING) end end p.hypermysticsonic = 50 s.state = S_PLAY_WALK end end end end end end) COM_AddCommand("togglehmscheat", function(p) if p.togglehmscheat p.togglehmscheat = false CONS_Printf(p, "HMS cheat is turned back on. You'll spawn as HMS instead of SMS.") else p.togglehmscheat = true CONS_Printf(p, "HMS cheat is now turned off for you. You'll spawn as SMS again.") end end)