Code: MoveExp & MoveCooldown (cooldown and level checks)
MoveCooldown(var/mob/player/Player, var/mob/player/MoveID)
switch(MoveID)
//--Martial Artist Moves
if(1) //High Kick
Player.MM1OC = 1
sleep(Player.Mmove1CD)
Player.MM1OC = 0
if(2) //Low Kick
Player.MM2OC = 1
sleep(Player.Mmove2CD)
Player.MM2OC = 0
if(3) //Air Blast
Player.MM3OC = 1
sleep(Player.Mmove3CD)
Player.MM3OC = 0
if(4) //Low to High Earth Shatter (sends 2 earth blasts 4 tiles)
Player.MM4OC = 1
sleep(Player.Mmove4CD)
Player.MM4OC = 0
if(5) //12 Hit Combo (sends out 6 projectiles that have a range of 2 tiles (also freezes the person who is gettin hit))
Player.MM5OC = 1
sleep(Player.Mmove5CD)
Player.MM5OC = 0
//--Samurai Moves
if(6) //Slash
Player.SM1OC = 1
sleep(Player.Smove1CD)
Player.SM1OC = 0
if(7) //Quick Draw
Player.SM2OC = 1
sleep(Player.Smove2CD)
Player.SM2OC = 0
if(8) //Power Slash (sends out a projectile with a range of 4 tiles)
Player.SM3OC = 1
sleep(Player.Smove3CD)
Player.SM3OC = 0
if(9) //
Player.SM4OC = 1
sleep(Player.Smove4CD)
Player.SM4OC = 0
if(10) //Wicked Speed Stab
Player.SM5OC = 1
sleep(Player.Smove5CD)
Player.SM5OC = 0
//--Archer Moves
if(11) //Shoot
Player.AM1OC = 1
sleep(Player.Amove1CD)
Player.AM1OC = 0
if(12) //Iron Arrow
Player.AM2OC = 1
sleep(Player.Amove2CD)
Player.AM2OC = 0
if(13) //Frozen Iron Arrow
Player.AM3OC = 1
sleep(Player.Amove3CD)
Player.AM3OC = 0
if(14) //Scorching Iron Arrow
Player.AM4OC = 1
sleep(Player.Amove4CD)
Player.AM4OC = 0
if(15) //Lightning Arrow
Player.AM5OC = 1
sleep(Player.Amove5CD)
Player.AM5OC = 0
MoveExp(var/mob/player/Player)
if(isnull(Player))
Player = src
switch(Player.MoveID)
//--Martial Artist Moves
if(1)
if(!(Player.MM1L >= Player.MMove1Cap))
Player.Mmove1exp++
if(2)
if(!(Player.MM2L >= Player.MMove2Cap))
Player.Mmove2exp++
if(3)
if(!(Player.MM3L >= Player.MMove3Cap))
Player.Mmove3exp++
if(4)
if(!(Player.MM4L >= Player.MMove4Cap))
Player.Mmove4exp++
if(5)
if(!(Player.MM5L >= Player.MMove5Cap))
Player.Mmove5exp++
//--Samurai Moves
if(6)
if(!(SM1L >= SMove1Cap))
Player.Smove1exp++
if(7)
if(!(Player.SM2L >= Player.SMove2Cap))
Player.Smove2exp++
if(8)
if(!(Player.SM3L >= Player.SMove3Cap))
Player.Smove3exp++
if(9)
if(!(Player.SM4L >= Player.SMove4Cap))
Player.Smove4exp++
if(10)
if(!(Player.SM5L >= Player.SMove5Cap))
Player.Smove5exp++
//--Archer Moves
if(11)
if(!(Player.AM1L >= Player.AMove1Cap))
Player.Amove1exp++
if(12)
if(!(Player.AM2L >= Player.AMove2Cap))
Player.Amove2exp++
if(13)
if(!(Player.AM3L >= Player.AMove3Cap))
Player.Amove3exp++
if(14)
if(!(Player.AM4L >= Player.AMove4Cap))
Player.Amove4exp++
if(15)
if(!(Player.AM5L >= Player.AMove5Cap))
Player.Amove5exp++
//--Martial Artist Moves
var/Mname = "NULL"
if(Player.Mmove1exp >= Player.Mmove1Mexp)
Player.Mmove1exp -= Player.Mmove1Mexp
Player.Mmove1Mexp += rand(10,20)
Player.MM1L++
Mname = "High Kick"
if(Player.Mmove2exp >= Player.Mmove2Mexp)
Player.Mmove2exp -= Player.Mmove2Mexp
Player.Mmove2Mexp += rand(10,20)
Player.MM2L++
Mname = "Low Kick"
if(Player.Mmove3exp >= Player.Mmove3Mexp)
Player.Mmove3exp -= Player.Mmove3Mexp
Player.Mmove3Mexp += rand(10,20)
Player.MM3L++
Mname = "Air Strike"
if(Player.Mmove4exp >= Player.Mmove4Mexp)
Player.Mmove4exp -= Player.Mmove4Mexp
Player.Mmove4Mexp += rand(10,20)
Player.MM4L++
Mname = "Low to High Earth Shatter"
if(Player.Mmove5exp >= Player.Mmove5Mexp)
Player.Mmove5exp -= Player.Mmove5Mexp
Player.Mmove5Mexp += rand(10,20)
Player.MM5L++
Mname = "12 Hit Combo"
//--Samurai Moves
if(Player.Smove1exp >= Player.Smove1Mexp)
Player.Smove1exp -= Player.Smove1Mexp
Player.Smove1Mexp += rand(10,20)
Player.SM1L++
Mname = "Slash"
if(Player.Smove2exp >= Player.Smove2Mexp)
Player.Smove2exp -= Player.Smove2Mexp
Player.Smove1Mexp += rand(10,20)
Player.SM2L++
Mname = "Quick Draw"
if(Player.Smove3exp >= Player.Smove3Mexp)
Player.Smove3exp -= Player.Smove3Mexp
Player.Smove1Mexp += rand(10,20)
Player.SM3L++
Mname = "Power Slash"
if(Player.Smove4exp >= Player.Smove4Mexp)
Player.Smove4exp -= Player.Smove4Mexp
Player.Smove1Mexp += rand(10,20)
Player.SM4L++
Mname = "Samurai Move 4"
if(Player.Smove5exp >= Player.Smove5Mexp)
Player.Smove5exp -= Player.Smove5Mexp
Player.Smove1Mexp += rand(10,20)
Player.SM5L++
Mname = "Wicked Speed Stab"
//--Archer Moves
if(Player.Amove1exp >= Player.Amove1Mexp)
Player.Amove1exp -= Player.Amove1Mexp
Player.Amove1Mexp += rand(10,20)
Player.AM1L++
Mname = "Shoot"
if(Player.Amove2exp >= Player.Amove2Mexp)
Player.Amove2exp -= Player.Amove2Mexp
Player.Amove2Mexp += rand(10,20)
Player.AM1L++
Mname = "Iron Arrow"
if(Player.Amove3exp >= Player.Amove3Mexp)
Player.Amove3exp -= Player.Amove3Mexp
Player.Amove3Mexp += rand(10,20)
Player.AM1L++
Mname = "Frozen Iron Arrow"
if(Player.Amove4exp >= Player.Amove4Mexp)
Player.Amove4exp -= Player.Amove4Mexp
Player.Amove4Mexp += rand(10,20)
Player.AM1L++
Mname = "Scorching Iron Arrow"
if(Player.Amove5exp >= Player.Amove5Mexp)
Player.Amove5exp -= Player.Amove5Mexp
Player.Amove5Mexp += rand(10,20)
Player.AM1L++
Mname = "Lightning Arrow"
if(Mname != "NULL")
Player << output("You've leveled up [Mname]!", "Main.MainOutput")
Note: it was a time consuming process to make this as I did it all at the same time - which is why I asked the question
EDIT: I've modified if(!(Player.MM3L >= Player.MMove3Cap)) for example, don't know what I was thinking when doing that lol