diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm index fadf68ac211..5bc92bea65a 100644 --- a/code/game/gamemodes/steal_items.dm +++ b/code/game/gamemodes/steal_items.dm @@ -92,7 +92,7 @@ altitems = list(/obj/item/photo) location_override = "the Chief Engineer's Office" -/datum/objective_item/steal/blueprints/check_special_completion(obj/item/I) +/datum/theft_objective/blueprints/check_special_completion(obj/item/I) if(istype(I, /obj/item/areaeditor/blueprints/ce)) return 1 if(istype(I, /obj/item/photo)) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 5b6ceaae330..63479b5ac9c 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -84,6 +84,8 @@ update_patient() if(LAZYLEN(injected_reagents)) for(var/mob/living/carbon/C in get_turf(src)) + if(C.stat == DEAD) + continue var/datum/reagents/R = C.reagents for(var/chemical in injected_reagents) R.check_and_add(chemical,reagent_target_amount,inject_amount) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index b6030b9c835..00775ce29b1 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -72,6 +72,10 @@ if(!forced) confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No") + if(stat == DEAD || suiciding) //We check again, because alerts sleep until a choice is made + to_chat(src, "You're already dead!") + return + if(forced || (confirm == "Yes")) suiciding = TRUE create_log(ATTACK_LOG, "Attempted suicide") diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 170eea4efb7..cfdd44b5c58 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -74,7 +74,7 @@ /obj/item/clothing/accessory/attack(mob/living/carbon/human/H, mob/living/user) // This code lets you put accessories on other people by attacking their sprite with the accessory - if(istype(H)) + if(istype(H) && !ismonkeybasic(H)) //Monkeys are a snowflake because you can't remove accessories once added if(H.wear_suit && H.wear_suit.flags_inv & HIDEJUMPSUIT) to_chat(user, "[H]'s body is covered, and you cannot attach \the [src].") return 1 diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index a54b0ce322b..8e0e155d63d 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -35,7 +35,7 @@ else if(target.stat != DEAD) to_chat(target, "You feel great!") return - if(ismachineperson(target)) //speshul snowfleks deserv speshul treetment + if(ismachineperson(target) || issilicon(target)) //speshul snowfleks deserv speshul treetment target.adjustFireLoss(6969) //remember - slimes love fire target.death(FALSE)