diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 9721a3dcb23..72910f14cca 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -306,3 +306,8 @@
M.emp_act(severity)
..()
+/obj/item/device/paicard/ex_act(severity)
+ if(pai)
+ pai.ex_act(severity)
+ else
+ del(src)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index fcb3fd0ac1e..8e0373536db 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -174,16 +174,16 @@
switch(severity)
if(1.0)
- if (src.stat != 2)
- adjustBruteLoss(100)
- adjustFireLoss(100)
+ if (src.stat != 2) //Let's not have two of these instantly kill you.
+ adjustBruteLoss(45)
+ adjustFireLoss(45)
if(2.0)
if (src.stat != 2)
- adjustBruteLoss(60)
- adjustFireLoss(60)
+ adjustBruteLoss(30)
+ adjustFireLoss(30)
if(3.0)
if (src.stat != 2)
- adjustBruteLoss(30)
+ adjustBruteLoss(20)
src.updatehealth()
@@ -200,8 +200,6 @@
src.updatehealth()
return
-//mob/living/silicon/pai/bullet_act(var/obj/item/projectile/Proj)
-
/mob/living/silicon/pai/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
if (!ticker)
M << "You cannot attack people before the game has started."
@@ -236,8 +234,6 @@
O.show_message(text("\red [] took a swipe at []!", M, src), 1)
return
-///mob/living/silicon/pai/attack_hand(mob/living/carbon/M as mob)
-
/mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C)
usr:cameraFollow = null
if (!C)
@@ -412,13 +408,16 @@
src.updatehealth()
else
visible_message("[user.name] bonks [src] harmlessly with [W].")
- if(stat != 2) close_up()
+ spawn(1)
+ if(stat != 2)
+ close_up()
return
/mob/living/silicon/pai/attack_hand(mob/user as mob)
if(stat == 2) return
visible_message("[user.name] boops [src] on the head.")
- close_up()
+ spawn(1)
+ close_up()
//I'm not sure how much of this is necessary, but I would rather avoid issues.
/mob/living/silicon/pai/proc/close_up()
@@ -443,10 +442,15 @@
canmove = 0
icon_state = "[chassis]"
-/mob/living/silicon/pai/start_pulling(var/atom/movable/AM)
+/mob/living/silicon/pai/Bump(atom/movable/AM as mob|obj, yes)
+ return
- if(istype(AM,/obj/item))
- src << "You are far too small to pull anything!"
+/mob/living/silicon/pai/Bumped(AM as mob|obj)
+ return
+
+/mob/living/silicon/pai/start_pulling(var/atom/movable/AM)
+ src << "You are far too small to pull anything!"
+ return
/mob/living/silicon/pai/examine()
@@ -479,6 +483,7 @@
..(Proj)
updatehealth()
if (stat != 2)
- close_up()
+ spawn(1)
+ close_up()
return 2