diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 741b14b99f0..e12390aa5af 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -146,6 +146,7 @@
mob << "Unfortunately, you weren't able to get a talisman. This is very bad and you should adminhelp immediately."
else
mob << "You have a talisman in your [where], one that will help you start the cult on this station. Use it well and remember - there are others."
+ mob.update_icons()
return 1
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index c59eff3fe4e..2ccaca00479 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -186,6 +186,7 @@
var/mob/living/carbon/human/H = synd_mind.current
P.loc = H.loc
H.equip_if_possible(P, H.slot_r_store, 0)
+ H.update_inv_pockets()
else
nuke_code = "code will be provided later"
@@ -236,6 +237,7 @@
var/obj/item/weapon/implant/explosive/E = new/obj/item/weapon/implant/explosive(synd_mob)
E.imp_in = synd_mob
E.implanted = 1
+ synd_mob.update_icons()
return 1
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index d507ddd2df8..3d84cdcfe2c 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -148,6 +148,15 @@
mob << "The Syndicate were unfortunately unable to get you a flash."
else
mob << "The flash in your [where] will help you to persuade the crew to join your cause."
+ switch(where)
+ if("left pocket")
+ mob.update_inv_pockets()
+ if("right pocket")
+ mob.update_inv_pockets()
+ if("left_hand")
+ mob.update_inv_l_hand()
+ if("right_hand")
+ mob.update_inv_r_hand()
return 1
//////////////////////////////////////
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 04beaeb9018..64e7cbb8a7f 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -178,6 +178,7 @@
wizard_mob << "You will find a list of available spells in your spell book. Choose your magic arsenal carefully."
wizard_mob << "In your pockets you will find a teleport scroll. Use it as needed."
wizard_mob.mind.store_memory("Remember: do not forget to prepare your spells.")
+ wizard_mob.update_icons()
return 1
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index c69a8018dfe..c994c8e91e3 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -1222,6 +1222,10 @@ var/global/BSACooldown = 0
log_admin("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
message_admins("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
return
+ else
+ H.update_inv_r_hand()//To ensure the icon appears in the HUD
+ else
+ H.update_inv_l_hand()
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
feedback_inc("admin_cookies_spawned",1)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index ff1b5ac4d88..8cc1428735e 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -325,9 +325,14 @@
if(nodamage || REBREATHER in augmentations)
return
- if(!breath || (breath.total_moles() == 0))
+ if(!breath || (breath.total_moles() == 0) || suiciding)
if(reagents.has_reagent("inaprovaline"))
return
+ if(suiciding)
+ adjustOxyLoss(2)//If you are suiciding, you should die a little bit faster
+ failed_last_breath = 1
+ oxygen_alert = max(oxygen_alert, 1)
+ return 0
if(health > 0)
adjustOxyLoss(HUMAN_MAX_OXYLOSS)
failed_last_breath = 1
@@ -706,7 +711,7 @@
silent = 0
else //ALIVE. LIGHTS ARE ON
updatehealth() //TODO
- if(health < config.health_threshold_dead || brain_op_stage == 4.0)
+ if(health <= config.health_threshold_dead || brain_op_stage == 4.0)
death()
blinded = 1
silent = 0
diff --git a/code/modules/mob/living/carbon/monkey/inventory.dm b/code/modules/mob/living/carbon/monkey/inventory.dm
index 57f993a4747..9be679cc221 100644
--- a/code/modules/mob/living/carbon/monkey/inventory.dm
+++ b/code/modules/mob/living/carbon/monkey/inventory.dm
@@ -29,6 +29,11 @@
return
if (item)
+ if(isrobot(source) && place != "handcuff")
+ var/list/L = list( "syringe", "pill", "drink", "dnainjector", "fuel")
+ if(!(L.Find(place)))
+ del(src)
+ return
for(var/mob/O in viewers(target, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] is trying to put a [] on []", source, item, target), 1)
diff --git a/icons/mob/monkey.dmi b/icons/mob/monkey.dmi
index a99791eda24..594e84430dd 100644
Binary files a/icons/mob/monkey.dmi and b/icons/mob/monkey.dmi differ