ID:149186
 
Both of these procs are messed up.
mob/proc/RedTraiCheck()
if(usr.Guild == "Fighters of the Red Order")
if(src.Guild == "Fighters of the Red Order")
usr.Award_Status -= "[usr.Award_Status]"
usr.Guild == "Fighters of the Black Order")

mob/proc/BlackTraiCheck()
if(usr.Guild == "Fighters of the Black Order")
if(src.Guild == "Fighters of the Black Order")
usr.Award_Status -= "[usr.Award_Status]"
usr.Guild == "Fighters of the Red Order")

What I want to happen is that, if the user of the Assault verb attacks a person with the same Guild, he is sent to the other team and loses all his Awards for killing enemies.

mob/proc/BlackTraiCheck()
if(usr.Guild == "Fighters of the Black Order")
if(src.Guild == "Fighters of the Black Order")
usr.Award_Status -= "[usr.Award_Status]"
usr.Guild == "Fighters of the Red Order")

Try something like this. I've shortened the names for quick typing, but you'll get the idea.

var/list/guilds = list("Black", "Red")

mob/proc/GuildSwitchCheck(mob/victim)
// Assumes src is the attacking mob and victim is the defender
if(src.Guild == victim.Guild)
// Make a copy of the master list and remove the old guild, leaving only the new guild as L[1]
var/list/L = guilds.Copy() - src.Guild
src.Guild = L[1]

I'm not sure what you're doing with Award_Status. It looks like you may just want to do this:

src.Award_Status = ""

Good luck!