diff --git a/code/_onclick/observer_vr.dm b/code/_onclick/observer_vr.dm new file mode 100644 index 00000000000..b81ea955a48 --- /dev/null +++ b/code/_onclick/observer_vr.dm @@ -0,0 +1,21 @@ +/obj/item/device/paicard/attack_ghost(mob/user as mob) + if(src.pai != null) //Have a person in them already? + user.examinate(src) + return + var/choice = input(user, "You sure you want to inhabit this PAI?") in list("Yes", "No") + var/pai_name = input(user, "Choose your character's name", "Character Name") as text + var/actual_pai_name = sanitize_name(pai_name) + var/pai_key + if (isnull(pai_name)) + return + if(choice == "Yes") + pai_key = user.key + else + return + var/turf/location = get_turf(src) + var/obj/item/device/paicard/card = new(location) + var/mob/living/silicon/pai/pai = new(card) + qdel(src) + pai.key = pai_key + card.setPersonality(pai) + pai.SetName(actual_pai_name) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm index 920a3a1658d..01650cc4b28 100644 --- a/code/modules/mob/living/silicon/pai/death.dm +++ b/code/modules/mob/living/silicon/pai/death.dm @@ -1,13 +1,14 @@ /mob/living/silicon/pai/death(gibbed) if(card) card.removePersonality() - if(gibbed) - src.loc = get_turf(card) - qdel(card) - else + //if(gibbed) //VOREStation Edit Start. This prevents pAIs from joining back into their card after the card's killed + src.loc = get_turf(card) + qdel(card) + /*else close_up() + qdel(card)*/ //VOREStation Edit End. if(mind) qdel(mind) ..(gibbed) ghostize() - qdel(src) \ No newline at end of file + qdel(src) diff --git a/vorestation.dme b/vorestation.dme index 9f67fc0c723..f5838a99280 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -97,6 +97,7 @@ #include "code\_onclick\drag_drop.dm" #include "code\_onclick\item_attack.dm" #include "code\_onclick\observer.dm" +#include "code\_onclick\observer_vr.dm" #include "code\_onclick\other_mobs.dm" #include "code\_onclick\rig.dm" #include "code\_onclick\telekinesis.dm"