anchor.diff:  		if("pm_MainMenu")
   			src.PMHome()
   		if("pm_Send")
  -			if(src.mute)
  -				alert("You are not allowed to send messages.")
  -				return
  -			if(src.Detention)
  -				alert("You are not allowed to send messages.")
  -				return
  -			if(!src.curPM.pmTo)
  -				alert("You are required to select a recipient.")
  -				return
  -			//if(src.curPM.pmTo == "Deatheater")
  -			//	alert("Cannot send private messages to Deatheaters.")
  -			//	return
  -			var/mob/Player/Y = text2mob("[src.curPM.pmTo]")
  -			if(!Y || Y.PMBlock)
  -				alert("That person does not wish to receive private messages at the moment.")
  -				return
  -			else if(Y.pmsRec.len > 100&&Y.pmsSen.len > 100)
  -				src.pmsSen.Add(src.curPM)
  -				spawn()alert("That person cannot receive private messages because their inbox and outbox is full. This message has been added to your outbox.")
  -				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your inbox AND outbox has over 100 PMs each already. Delete some."
  -				return
  -			else if(Y.pmsRec.len > 100)
  -				src.pmsSen.Add(src.curPM)
  -				spawn()alert("That person cannot receive private messages because their inbox is full. This message has been added to your outbox.")
  -				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your inbox has over 100 PMs already. Delete some."
  -				return
  -			else if(Y.pmsSen.len > 100)
  -				src.pmsSen.Add(src.curPM)
  -				spawn()alert("That person cannot receive private messages because their outbox is full. This message has been added to your outbox.")
  -				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your outbox has over 100 PMs already. Delete some."
  -				return
  -			else if("[formatName(src)]" in Y.blockedpeeps)
  -				alert("That person does not wish to receive private messages at the moment.")
  -				return
  -			else if(!Y)
  -				alert("[src.curPM.pmTo] is offline.")
  -				return
  -			else if(src.curPM.body == "Body"|| !src.curPM.body)
  -				alert("The PM's body has no content.")
  -				return
  -			else if(src.name == "Robed Figure")
  -				if(alert("PMs sent from robed figures will be sent as though you are unrobed. Do you still wish to send this message?",,"Yes","No") == "No")
  -					return
  -			src.curPM.body = "<u>Sent [time2text(world.realtime,"Day - DD/Month/YYYY, hh:mm")]</u><br><br>[src.curPM.body]"
  -			src.curPM.name = "Private Message"
  -			src.pmsSen.Add(src.curPM)
  -			Y.pmsRec.Add(src.curPM)
  -			var/pmcounter=0
  -			for(var/aPM in Y.pmsRec)
  -				pmcounter++
  -				if(aPM == src.curPM)break
  -			src << "Private Message Sent to <a href='?src=\ref[src];action=pm_reply;replynametext=[formatName(Y)]'>[formatName(Y)]</a>."
  -			Y << "You have received a <a href='?src=\ref[Y];action=pm_inbox_readmsg;msgid=[pmcounter]'>new private message</a> from <a href='?src=\ref[Y];action=pm_reply;replynametext=[formatName(src)]'>[formatName(src)]</a>."
  -			Y.beep()
  +			src.pm_Send()
  +
   mob/Player/verb/PM(var/p in Players())
   	if(src.mute)
   		alert("You are not allowed to send messages.")
  
positive.code: 		pm.body = input("Input the main text of the Private Message being sent to [formatName(M)]") as message|null
  		if(!pm.body)return
  		Y.curPM = pm
  		src << link("byond://?src=\ref[src];action=pm_Send")
  
  mob/Player/proc/createPM()
  	return ({"[PMheader]
  
negative.code: 	</tr>
  	</table>
  	<br />
  			"})
  
  mob
  	Player
  		proc/pm_Send()
  			if(src.mute)
  				alert("You are not allowed to send messages.")
  				return
  			if(src.Detention)
  				alert("You are not allowed to send messages.")
  				return
  			if(!src.curPM.pmTo)
  				alert("You are required to select a recipient.")
  				return
  			var/mob/Player/Y = text2mob("[src.curPM.pmTo]")
  			if(!Y || Y.PMBlock)
  				alert("That person does not wish to receive private messages at the moment.")
  				return
  			else if(Y.pmsRec.len > 100&&Y.pmsSen.len > 100)
  				src.pmsSen.Add(src.curPM)
  				spawn()alert("That person cannot receive private messages because their inbox and outbox is full. This message has been added to your outbox.")
  				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your inbox AND outbox has over 100 PMs each already. Delete some."
  				return
  			else if(Y.pmsRec.len > 100)
  				src.pmsSen.Add(src.curPM)
  				spawn()alert("That person cannot receive private messages because their inbox is full. This message has been added to your outbox.")
  				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your inbox has over 100 PMs already. Delete some."
  				return
  			else if(Y.pmsSen.len > 100)
  				src.pmsSen.Add(src.curPM)
  				spawn()alert("That person cannot receive private messages because their outbox is full. This message has been added to your outbox.")
  				Y << "<b>[formatName(src)] tried to send you a PM, but you couldn't receive it because your outbox has over 100 PMs already. Delete some."
  				return
  			else if("[formatName(src)]" in Y.blockedpeeps)
  				alert("That person does not wish to receive private messages at the moment.")
  				return
  			else if(!Y)
  				alert("[src.curPM.pmTo] is offline.")
  				return
  			else if(src.curPM.body == "Body"|| !src.curPM.body)
  				alert("The PM's body has no content.")
  				return
  			else if(src.name == "Robed Figure")
  				if(alert("PMs sent from robed figures will be sent as though you are unrobed. Do you still wish to send this message?",,"Yes","No") == "No")
  					return
  			src.curPM.body = "<u>Sent [time2text(world.realtime,"Day - DD/Month/YYYY, hh:mm")]</u><br><br>[src.curPM.body]"
  			src.curPM.name = "Private Message"
  			src.pmsSen.Add(src.curPM)
  			Y.pmsRec.Add(src.curPM)
  			var/pmcounter=0
  			for(var/aPM in Y.pmsRec)
  				pmcounter++
  				if(aPM == src.curPM)break
  			src << "Private Message Sent to <a href='?src=\ref[src];action=pm_reply;replynametext=[formatName(Y)]'>[formatName(Y)]</a>."
  			Y << "You have received a <a href='?src=\ref[Y];action=pm_inbox_readmsg;msgid=[pmcounter]'>new private message</a> from <a href='?src=\ref[Y];action=pm_reply;replynametext=[formatName(src)]'>[formatName(src)]</a>."
  			Y.beep()