if not solchars rawset(_G, "solchars", {}) end solchars["metalsonic"] = {SKINCOLOR_SUPERORANGE1, 2} addHook("AbilitySpecial", function(player) if player.mo.skin == "metalsonic" and player.solchar.istransformed > 0 and not (player.pflags & PF_THOKKED) S_StartSound(player.mo, sfx_zoom) player.mo.state = S_PLAY_ROLL P_Thrust(player.mo, player.mo.angle, 50*FRACUNIT) P_NukeEnemies(player.mo, player.mo, 1) P_StartQuake(20*FRACUNIT, 4) end end) addHook("PlayerThink", function(player) if player.mo.skin == "metalsonic" and player.solchar.istransformed > 0 and (player.mo.state == S_PLAY_ROLL) and (P_IsObjectOnGround(player.mo) == true) and player.speed < 60*FRACUNIT P_Thrust(player.mo, player.mo.angle, 1*FRACUNIT) end end) addHook("PlayerThink", function(player) if player.mo.skin == "metalsonic" and player.solchar.istransformed > 0 and (player.pflags & PF_THOKKED) A_BossScream(player.mo, 0, MT_SMOKE) end end) addHook("PlayerThink", function(player) if player.mo.skin == "metalsonic" and player.solchar.istransformed > 0 A_BossScream(player.mo, 0, MT_WATERZAP)-- ok enough end end) addHook("PlayerThink", function(player) if player.mo.skin == "metalsonic" and player.dashmode > 3*TICRATE and player.solchar.istransformed > 0 A_BossScream(player.mo, 0, MT_FIREBALLTRAIL) end end) addHook("PlayerThink", function(player) if player.mo.skin == "metalsonic" and player.solchar.istransformed > 0 local beeb = P_RandomRange(1, 300) if beeb == 1 player.rings = $ - 2 A_BossScream(player.mo, 0, MT_WATERZAP)-- MOOOOOOOOOOREEEEEE A_BossScream(player.mo, 0, MT_WATERZAP)-- DJIFHNSDAFHYFSDAHADSNCOIU