"+pick("You see a light at the end of the tunnel!", "You feel like you could die any moment now.", "You're about to lose consciousness.")
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm
new file mode 100644
index 00000000000..c3539233692
--- /dev/null
+++ b/code/modules/mob/living/carbon/shock.dm
@@ -0,0 +1,18 @@
+/mob/living/carbon/var/traumatic_shock = 0
+/mob/living/carbon/var/shock_stage = 0
+
+// proc to find out in how much pain the mob is at the moment
+/mob/living/carbon/proc/updateshock()
+ src.traumatic_shock = src.getOxyLoss() + src.getToxLoss() + src.getFireLoss() + 1.2*src.getBruteLoss() + 2*src.getCloneLoss()
+ if(reagents.has_reagent("alkysine"))
+ src.traumatic_shock -= 10
+ if(reagents.has_reagent("inaprovaline"))
+ src.traumatic_shock -= 15
+ if(reagents.has_reagent("synaptizine"))
+ src.traumatic_shock -= 50
+
+ return src.traumatic_shock
+
+
+/mob/living/carbon/proc/handle_shock()
+ updateshock()
diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm
index 31369de7aee..330be3c4838 100644
--- a/code/modules/mob/living/silicon/pai/recruit.dm
+++ b/code/modules/mob/living/silicon/pai/recruit.dm
@@ -11,8 +11,6 @@ var/datum/paiController/paiController // Global handler for pAI candidates
comments
ready = 0
-
-
/datum/paiController
var/list/pai_candidates = list()
var/list/asked = list()
@@ -25,7 +23,14 @@ var/datum/paiController/paiController // Global handler for pAI candidates
var/obj/item/device/paicard/card = locate(href_list["device"])
if(card.pai)
return
- if(istype(card,/obj/item/device/paicard) && istype(candidate,/datum/paiCandidate))
+ if(istype(card,/obj/item/device/paicard) && istype(candidate,/datum/paiCandidate/chatbot))
+ var/mob/living/silicon/pai/chatbot/pai = new(card)
+ pai.name = candidate.name
+ pai.real_name = pai.name
+ card.pai = pai
+ pai.init()
+ usr << browse(null, "window=findPai")
+ else if(istype(card,/obj/item/device/paicard) && istype(candidate,/datum/paiCandidate))
var/mob/living/silicon/pai/pai = new(card)
pai.name = candidate.name
pai.real_name = pai.name
@@ -154,6 +159,12 @@ var/datum/paiController/paiController // Global handler for pAI candidates
dat += "| Preferred Role: | [c.role] |
"
dat += "| OOC Comments: | [c.comments] |
"
dat += "| \[Download [c.name]\] | |
"
+ if(p.chatbot)
+ dat += "| Name: | [p.chatbot.name] |
"
+ dat += "| Description: | [p.chatbot.description] |
"
+ dat += "| Preferred Role: | [p.chatbot.role] |
"
+ dat += "| OOC Comments: | [p.chatbot.comments] |
"
+ dat += "| \[Download [p.chatbot.name]\] | |
"
dat += ""
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 35c94e66cde..0056bb2a90c 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -883,6 +883,10 @@ Frequency:
if (buckled)
return
+ // borgs can't move with no power
+ if(!cell || !cell.charge)
+ return
+
if (restrained())
pulling = null
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 3c76a1a74db..e25605fd998 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -128,7 +128,7 @@
output += "
Lobby Music
"
- src << browse(output,"window=playersetup;size=250x233;can_close=0")
+ src << browse(output,"window=playersetup;size=250x258;can_close=0")
return
proc/Playmusic()