-- Lua must check for values using "==", not "=". Only use "=" when defining variables and/or setting values.
-- "PlayerMsg" accepts a function(player_t source, int type, player_t target, string msg)
-- int type being 3 means the message is a pm.
-- Learning the usage of "if", "elseif" and "end" is REQUIRED for basic lua. If you do not understand this, you cannot make scripts.
-- It seems you may need to study the language as a whole. You can start at https://wiki.srb2.org/wiki/Lua
freeslot("sfx_gshi", "sfx_glol", "sfx_gcom", "sfx_gegg", "sfx_gfak", "sfx_gson", "sfx_gtal", "sfx_gfak", "sfx_gamy", "sfx_gsil", "sfx_gshd", "sfx_graf", "sfx_gped", "sfx_gbob", "sfx_gkte")

local cv_disablemeows = CV_RegisterVar({
	name = "disablesounds",
	defaultvalue = 0,
	flags = CV_SAVE|CV_SHOWMODIF,
	PossibleValue = CV_OnOff,
})

addHook("PlayerMsg", function(p, msgtype, p2, msg)
    if p.mo.skin ~= "superguide" then return end -- If the player in question isn't Skylina, don't run.
	if cv_disablemeows.value > 0 then return end -- If the player does not wish to hear meows.

    -- If the message contains any of the given strings in any case, play a sound in the sender and reciever's game.
	if msgtype == 3 then
		if (msg:lower():find("overdrive")) then
			S_StartSound(p.mo, sfx_gcom, p)
			S_StartSound(p2.mo, sfx_gcom, p2)
		elseif (msg:lower():find("shiza")) then
			S_StartSound(p.mo, sfx_gshi, p)
			S_StartSound(p2.mo, sfx_gshi, p2)
		elseif (msg:lower():find("happy, joy, nice to meet you")) then
			S_StartSound(p.mo, sfx_glol, p)
			S_StartSound(p2.mo, sfx_glol, p2)
		elseif (msg:lower():find("your next line sonic")) then
			S_StartSound(p.mo, sfx_gson, p)
			S_StartSound(p2.mo, sfx_gson, p2)
		elseif (msg:lower():find("your next line tails")) then
			S_StartSound(p.mo, sfx_gtal, p)
			S_StartSound(p2.mo, sfx_gtal, p2)
		elseif (msg:lower():find("your next line knuckles")) then
			S_StartSound(p.mo, sfx_gkte, p)
			S_StartSound(p2.mo, sfx_gkte, p2)
		elseif (msg:lower():find("your next line amy")) then
			S_StartSound(p.mo, sfx_gamy, p)
			S_StartSound(p2.mo, sfx_gamy, p2)
		elseif (msg:lower():find("your next line rafael")) then
			S_StartSound(p.mo, sfx_graf, p)
			S_StartSound(p2.mo, sfx_graf, p2)
		elseif (msg:lower():find("your next line pedro")) then
			S_StartSound(p.mo, sfx_gped, p)
			S_StartSound(p2.mo, sfx_gped, p2)
		elseif (msg:lower():find("your next line faker")) then
			S_StartSound(p.mo, sfx_gfak, p)
			S_StartSound(p2.mo, sfx_gfak, p2)
		elseif (msg:lower():find("your next line eggman")) then
			S_StartSound(p.mo, sfx_gegg, p)
			S_StartSound(p2.mo, sfx_gegg, p2)
		elseif (msg:lower():find("your next line shadow")) then
			S_StartSound(p.mo, sfx_gshd, p)
			S_StartSound(p2.mo, sfx_gshd, p2)
		elseif (msg:lower():find("your next line silver")) then
			S_StartSound(p.mo, sfx_gsil, p)
			S_StartSound(p2.mo, sfx_gsil, p2)
		elseif (msg:lower():find("your next line bob")) then
			S_StartSound(p.mo, sfx_gbob, p)
			S_StartSound(p2.mo, sfx_gbob, p2)
			end
	else
		if (msg:lower():find("overdrive")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gcom, player)
			end
		elseif (msg:lower():find("shiza")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gshi, player)
			end
		elseif (msg:lower():find("happy, joy, nice to meet you")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_glol, player)
			end
		elseif (msg:lower():find("your next line sonic")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gson, player)
			end
		elseif (msg:lower():find("your next line tails")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gtal, player)
			end
		elseif (msg:lower():find("your next line knuckles")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gkte, player)
			end
		elseif (msg:lower():find("your next line amy")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gamy, player)
			end
		elseif (msg:lower():find("your next line rafael")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_graf, player)
			end
		elseif (msg:lower():find("your next line pedro")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gped, player)
			end
		elseif (msg:lower():find("your next line faker")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gfak, player)
			end
		elseif (msg:lower():find("your next line eggman")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gegg, player)
			end
		elseif (msg:lower():find("your next line shadow")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gshd, player)
			end
		elseif (msg:lower():find("your next line silver")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gsil, player)
			end
		elseif (msg:lower():find("your next line bob")) then
			for player in players.iterate do
				S_StartSound(player.mo, sfx_gbob, player)
			end
		end
	end
end)

