diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 841591ea396..f4538bb97e2 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -187,7 +187,7 @@ Pipelines + Other Objects -> Pipe network //You unwrenched a pipe full of pressure? let's splat you into the wall silly. if(unsafe_wrenching) unsafe_pressure_release(user,internal_pressure) - Deconstruct() + deconstruct() else return ..() @@ -208,7 +208,7 @@ Pipelines + Other Objects -> Pipe network //Values based on 2*ONE_ATMOS (the unsafe pressure), resulting in 20 range and 4 speed user.throw_at(general_direction,pressures/10,pressures/50) -/obj/machinery/atmospherics/proc/Deconstruct() +/obj/machinery/atmospherics/deconstruct() if(can_unwrench) stored.loc = get_turf(src) transfer_fingerprints_to(stored) @@ -321,7 +321,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/singularity_pull(S, current_size) if(current_size >= STAGE_FIVE) - Deconstruct() + deconstruct() /obj/machinery/atmospherics/update_remote_sight(mob/user) user.sight |= (SEE_TURFS|BLIND) diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm index dc8dbeca381..a42903bb7f6 100644 --- a/code/ATMOSPHERICS/pipes/manifold.dm +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -149,7 +149,7 @@ // A check to make sure both nodes exist - self-delete if they aren't present /obj/machinery/atmospherics/pipe/manifold/check_nodes_exist() if(!node1 && !node2 && !node3) - Deconstruct() + deconstruct() return 0 // 0: No nodes exist // 1: 1-3 nodes exist, we continue existing return 1 diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm index 1b03b12fe2a..46b883db62b 100644 --- a/code/ATMOSPHERICS/pipes/manifold4w.dm +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -125,7 +125,7 @@ // A check to make sure both nodes exist - self-delete if they aren't present /obj/machinery/atmospherics/pipe/manifold4w/check_nodes_exist() if(!node1 && !node2 && !node3 && !node4) - Deconstruct() + deconstruct() return 0 // 0: No nodes exist // 1: 1-4 nodes exist, we continue existing return 1 diff --git a/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm b/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm index 54fd177e94d..9f360f74274 100644 --- a/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm +++ b/code/ATMOSPHERICS/pipes/simple/pipe_simple.dm @@ -152,7 +152,7 @@ // A check to make sure both nodes exist - self-delete if they aren't present /obj/machinery/atmospherics/pipe/simple/check_nodes_exist() if(!node1 && !node2) - Deconstruct() + deconstruct() return 0 // 0: No nodes exist // 1: 1-2 nodes exist, we continue existing return 1 diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm index b5249e11740..ca25e720b18 100644 --- a/code/datums/diseases/advance/symptoms/vision.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -38,11 +38,11 @@ Bonus if(3, 4) to_chat(M, "Your eyes burn!") M.EyeBlurry(20) - eyes.take_damage(1) + eyes.receive_damage(1) else to_chat(M, "Your eyes burn horrificly!") M.EyeBlurry(30) - eyes.take_damage(5) + eyes.receive_damage(5) if(eyes.damage >= 10) M.BecomeNearsighted() if(prob(eyes.damage - 10 + 1)) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 1f45794ac14..0b82f067d0c 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -174,7 +174,7 @@ take_damage(damage, BRUTE) return -/obj/structure/blob/proc/take_damage(damage, damage_type) +/obj/structure/blob/take_damage(damage, damage_type) if(!damage || damage_type == STAMINA) // Avoid divide by zero errors return switch(damage_type) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 16ad41a36ea..60adda8f088 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -20,7 +20,7 @@ H.EyeBlurry(20) var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) if(istype(E)) - E.take_damage(5, 1) + E.receive_damage(5, 1) H.AdjustConfused(3) for(var/mob/living/silicon/S in range(2,user)) to_chat(S, "Your sensors are disabled by a shower of blood!") diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 182ed68e004..b2b97f9adc8 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -73,7 +73,7 @@ if(health <= 0) destroy_structure() -/obj/structure/cult/functional/proc/take_damage(damage, damage_type = BRUTE) +/obj/structure/cult/functional/take_damage(damage, damage_type = BRUTE) if(damage_type == BRUTE || damage_type == BURN) health -= damage updatehealth() diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index d7fa1b4c9f2..d052939cb14 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -433,7 +433,7 @@ spawn(5) qdel(src) -/obj/structure/swarmer/proc/TakeDamage(damage) +/obj/structure/swarmer/take_damage(damage) health -= damage if(health <= 0) qdel(src) @@ -441,14 +441,14 @@ /obj/structure/swarmer/bullet_act(obj/item/projectile/Proj) if(Proj.damage) if((Proj.damage_type == BRUTE || Proj.damage_type == BURN)) - TakeDamage(Proj.damage) + take_damage(Proj.damage) ..() /obj/structure/swarmer/attackby(obj/item/weapon/I, mob/living/user, params) if(istype(I, /obj/item/weapon)) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) - TakeDamage(I.force) + take_damage(I.force) return /obj/structure/swarmer/ex_act() @@ -462,14 +462,13 @@ /obj/structure/swarmer/emp_act() qdel(src) return - /obj/structure/swarmer/attack_animal(mob/living/user) if(isanimal(user)) var/mob/living/simple_animal/S = user S.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) if(S.melee_damage_type == BRUTE || S.melee_damage_type == BURN) - TakeDamage(rand(S.melee_damage_lower, S.melee_damage_upper)) + take_damage(rand(S.melee_damage_lower, S.melee_damage_upper)) return /obj/structure/swarmer/trap diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index 4134ca054fe..f5fc513744a 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -335,7 +335,7 @@ Made by Xhuis H.clear_alert("lightexposure") var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) if(istype(E)) - E.take_damage(-1) + E.receive_damage(-1) H.heal_overall_damage(5, 5) H.adjustToxLoss(-5) H.adjustBrainLoss(-25) //Shad O. Ling gibbers, "CAN U BE MY THRALL?!!" diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 3c56199513e..728575fee21 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -399,24 +399,6 @@ new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH! qdel(src) - -// ??? -// This looks cool, although mildly broken, should it be included again? -/obj/machinery/sleeper/alter_health(mob/living/M as mob) - if(M.health > 0) - if(M.getOxyLoss() >= 10) - var/amount = max(0.15, 1) - M.adjustOxyLoss(-amount) - else - M.adjustOxyLoss(-12) - M.updatehealth() - M.AdjustParalysis(-4) - M.AdjustWeakened(-4) - M.AdjustStunned(-4) - if(M:reagents.get_reagent_amount("salglu_solution") < 5) - M:reagents.add_reagent("salglu_solution", 5) - return - /obj/machinery/sleeper/proc/toggle_filter() if(filtering) filtering = 0 diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index f505773b32a..15f0a73808c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -414,7 +414,7 @@ About the new airlock wires panel: var/obj/item/organ/external/affecting = H.get_organ("head") H.Stun(5) H.Weaken(5) - if(affecting.take_damage(10, 0)) + if(affecting.receive_damage(10, 0)) H.UpdateDamageIcon() else visible_message("[user] headbutts the airlock. Good thing they're wearing a helmet.") diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index ee75775f151..947bcf6059d 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -24,7 +24,6 @@ var/can_crush = TRUE var/nextstate = null var/boltslocked = TRUE - var/can_deconstruct = TRUE var/active_alarm = FALSE /obj/machinery/door/firedoor/Bumped(atom/AM) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index a45c19aff29..3e3ff6fc67b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -144,7 +144,7 @@ operating = 0 return 1 -/obj/machinery/door/window/proc/take_damage(damage) +/obj/machinery/door/window/take_damage(damage) health = max(0, health - damage) if(health <= 0) var/debris = list( diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 65f34737756..51a0b370a5d 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -403,7 +403,7 @@ Class Procs: return 1 return 0 -/obj/machinery/proc/deconstruct(disassembled = TRUE) +/obj/machinery/deconstruct(disassembled = TRUE) on_deconstruction() spawn_frame() for(var/obj/item/I in component_parts) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index d46a49742e9..98013119723 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -453,7 +453,7 @@ var/list/turret_icons sleep(60) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit enabled = 1 //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here -/obj/machinery/porta_turret/proc/take_damage(var/force) +/obj/machinery/porta_turret/take_damage(force) if(!raised && !raising) force = force / 8 if(force < 5) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 2f2772774a3..3ab3d0e154b 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -447,7 +447,7 @@ //////// Health related procs //////// //////////////////////////////////////// -/obj/mecha/proc/take_damage(amount, type="brute") +/obj/mecha/take_damage(amount, type="brute") if(amount) var/damage = absorbDamage(amount,type) health -= damage diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6764f192e69..91cc00384b0 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -225,7 +225,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d else to_chat(user, "You burn your hand on [src]!") var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_arm") - if(affecting && affecting.take_damage(0, 5)) // 5 burn damage + if(affecting && affecting.receive_damage(0, 5)) // 5 burn damage H.UpdateDamageIcon() H.updatehealth() return @@ -454,9 +454,9 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) if(!eyes) // should still get stabbed in the head var/obj/item/organ/external/head/head = H.bodyparts_by_name["head"] - head.take_damage(rand(10,14), 1) + head.receive_damage(rand(10,14), 1) return - eyes.take_damage(rand(3,4), 1) + eyes.receive_damage(rand(3,4), 1) if(eyes.damage >= eyes.min_bruised_damage) if(M.stat != 2) if(!(eyes.status & ORGAN_ROBOT) || !(eyes.status & ORGAN_ASSISTED)) //robot eyes bleeding might be a bit silly @@ -472,7 +472,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d if(M.stat != 2) to_chat(M, "You go blind!") var/obj/item/organ/external/affecting = H.get_organ("head") - if(affecting.take_damage(7)) + if(affecting.receive_damage(7)) H.UpdateDamageIcon() else M.take_organ_damage(7) diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 36ef7167d85..650173d29eb 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -37,7 +37,7 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) if(E) - E.take_damage(8, 1) + E.receive_damage(8, 1) if(M.flash_eyes(affect_silicon = 1)) M.Stun(max(10/distance, 3)) diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm index 6525351fd67..fb863582b83 100644 --- a/code/game/objects/items/weapons/lighters.dm +++ b/code/game/objects/items/weapons/lighters.dm @@ -50,7 +50,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") - if(affecting.take_damage( 0, 5 )) //INFERNO + if(affecting.receive_damage( 0, 5 )) //INFERNO H.UpdateDamageIcon() H.updatehealth() user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.") diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 7b87deadb3e..71e0e079282 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -47,7 +47,7 @@ if(affecting.status & ORGAN_ROBOT) return to_chat(H, "[src] cuts into your hand!") - if(affecting.take_damage(force*0.5)) + if(affecting.receive_damage(force*0.5)) H.UpdateDamageIcon() H.updatehealth() @@ -84,7 +84,7 @@ if(affecting.status & ORGAN_ROBOT) return H.Weaken(3) - if(affecting.take_damage(5, 0)) + if(affecting.receive_damage(5, 0)) H.UpdateDamageIcon() H.updatehealth() ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm new file mode 100644 index 00000000000..c78d8d0e2b4 --- /dev/null +++ b/code/game/objects/obj_defense.dm @@ -0,0 +1,57 @@ + +/obj/proc/take_damage() + return + +//the sound played when the obj is damaged. +/obj/proc/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(damage_amount) + playsound(src, 'sound/weapons/smash.ogg', 50, 1) + else + playsound(src, 'sound/weapons/tap.ogg', 50, 1) + if(BURN) + playsound(src.loc, 'sound/items/welder.ogg', 100, 1) + +/obj/singularity_act() + ex_act(1) + if(src && !qdeleted(src)) + qdel(src) + return 2 + +//// FIRE + +/obj/fire_act(global_overlay=1) + if(!burn_state) + burn_state = ON_FIRE + fire_master.burning += src + burn_world_time = world.time + burntime*rand(10,20) + if(global_overlay) + overlays += fire_overlay + return 1 + +/obj/proc/burn() + empty_object_contents(1, loc) + var/obj/effect/decal/cleanable/ash/A = new(loc) + A.desc = "Looks like this used to be a [name] some time ago." + fire_master.burning -= src + qdel(src) + +/obj/proc/extinguish() + if(burn_state == ON_FIRE) + burn_state = FLAMMABLE + overlays -= fire_overlay + fire_master.burning -= src + +/obj/proc/tesla_act(power) + being_shocked = TRUE + var/power_bounced = power * 0.5 + tesla_zap(src, 3, power_bounced) + addtimer(src, "reset_shocked", 10) + +/obj/proc/reset_shocked() + being_shocked = FALSE + +//the obj is deconstructed into pieces, whether through careful disassembly or when destroyed. +/obj/proc/deconstruct(disassembled = TRUE) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 60f9538fde0..daea457e696 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -9,10 +9,14 @@ var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/sharp = 0 // whether this object cuts var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING! - + var/can_deconstruct = TRUE var/damtype = "brute" var/force = 0 + var/obj_integrity //defaults to max_integrity + var/max_integrity = 500 + var/integrity_failure = 0 //0 if we have no special broken behavior + var/Mtoollink = 0 // variable to decide if an object should show the multitool menu linking menu, not all objects use it var/burn_state = FIRE_PROOF // LAVA_PROOF | FIRE_PROOF | FLAMMABLE | ON_FIRE @@ -25,7 +29,8 @@ /obj/New() . = ..() - + if(obj_integrity == null) + obj_integrity = max_integrity if(on_blueprints && isturf(loc)) var/turf/T = loc if(force_blueprints) @@ -158,10 +163,6 @@ if(istype(M) && M.client && M.machine == src) src.attack_self(M) - -/obj/proc/alter_health() - return 1 - /obj/proc/hide(h) return @@ -253,12 +254,6 @@ a { user.set_machine(src) onclose(user, "mtcomputer") -/obj/singularity_act() - ex_act(1.0) - if(src && isnull(gcDestroyed)) - qdel(src) - return 2 - /obj/singularity_pull(S, current_size) if(anchored) if(current_size >= STAGE_FIVE) @@ -269,40 +264,9 @@ a { /obj/proc/container_resist(var/mob/living) return -/obj/proc/tesla_act(var/power) - being_shocked = 1 - var/power_bounced = power * 0.5 - tesla_zap(src, 3, power_bounced) - addtimer(src, "reset_shocked", 10) - -/obj/proc/reset_shocked() - being_shocked = 0 - /obj/proc/CanAStarPass() . = !density -/obj/fire_act(global_overlay=1) - if(!burn_state) - burn_state = ON_FIRE - fire_master.burning += src - burn_world_time = world.time + burntime*rand(10,20) - if(global_overlay) - overlays += fire_overlay - return 1 - -/obj/proc/burn() - empty_object_contents(1, loc) - var/obj/effect/decal/cleanable/ash/A = new(loc) - A.desc = "Looks like this used to be a [name] some time ago." - fire_master.burning -= src - qdel(src) - -/obj/proc/extinguish() - if(burn_state == ON_FIRE) - burn_state = FLAMMABLE - overlays -= fire_overlay - fire_master.burning -= src - /obj/proc/empty_object_contents(burn = 0, new_loc = loc) for(var/obj/item/Item in contents) //Empty out the contents Item.forceMove(new_loc) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 91b232c051a..2f05d26dd53 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -138,7 +138,7 @@ if(affecting) to_chat(M, "You land heavily on your [affecting.name]!") - affecting.take_damage(damage, 0) + affecting.receive_damage(damage, 0) if(affecting.parent) affecting.parent.add_autopsy_data("Misadventure", damage) else diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 931b777552f..4c8a2528b1e 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -33,9 +33,6 @@ dump_contents() return ..() -/obj/structure/closet/alter_health() - return get_turf(src) - /obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0) if(height==0 || wall_mounted) return 1 return (!density) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 0fbc7b97879..d80f7bc8afd 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -67,7 +67,7 @@ else . = ..() -/obj/structure/curtain/proc/deconstruct(disassembled = TRUE) +/obj/structure/curtain/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/cloth(loc, 2) new /obj/item/stack/sheet/plastic(loc, 2) new /obj/item/stack/rods(loc, 1) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index c8877b320ff..42f6a20e261 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -9,7 +9,6 @@ var/health = 200 var/can_displace = TRUE //If the girder can be moved around by crowbarring it var/metalUsed = 2 //used to determine amount returned in deconstruction - var/can_deconstruct = TRUE /obj/structure/girder/examine(mob/user) . = ..() @@ -42,7 +41,7 @@ take_damage(rand(25, 75)) return -/obj/structure/girder/proc/take_damage(amount) +/obj/structure/girder/take_damage(amount) health -= amount if(health <= 0) new /obj/item/stack/sheet/metal(get_turf(src)) @@ -369,7 +368,7 @@ var/atom/movable/mover = caller . = . || mover.checkpass(PASSGRILLE) -/obj/structure/girder/proc/deconstruct(disassembled = TRUE) +/obj/structure/girder/deconstruct(disassembled = TRUE) if(can_deconstruct) var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal) new remains(loc) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 36215a850c5..c04e2e94583 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -11,7 +11,6 @@ level = 3 var/health = 10 var/broken = 0 - var/can_deconstruct = TRUE var/rods_type = /obj/item/stack/rods var/rods_amount = 2 var/rods_broken = 1 @@ -243,7 +242,17 @@ visible_message("[user] has hit [src] with [I]!") take_damage(I.force * 0.3, I.damtype) -/obj/structure/grille/proc/deconstruct(disassembled = TRUE) +/obj/structure/grille/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(damage_amount) + playsound(src, 'sound/effects/grillehit.ogg', 80, 1) + else + playsound(src, 'sound/weapons/tap.ogg', 50, 1) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 80, 1) + +/obj/structure/grille/deconstruct(disassembled = TRUE) if(!loc) //if already qdel'd somehow, we do nothing return if(can_deconstruct) @@ -258,20 +267,10 @@ transfer_fingerprints_to(R) qdel(src) -/obj/structure/grille/proc/take_damage(damage, damage_type = BRUTE, sound_effect = 1) - switch(damage_type) - if(BURN) - if(sound_effect) - playsound(loc, 'sound/items/welder.ogg', 80, 1) - if(BRUTE) - if(sound_effect) - if(damage) - playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) - else - playsound(loc, 'sound/weapons/tap.ogg', 50, 1) - else - return - health -= damage +/obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) + if(sound_effect) + play_attack_sound(damage_amount, damage_type, damage_flag) + health -= damage_amount if(health <= 0) if(!broken) obj_break() diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 0dad11674b5..66680ecc8f5 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -54,7 +54,7 @@ /obj/structure/mineral_door/attack_animal(mob/user) return TryToSwitchState(user) - + /obj/structure/mineral_door/attack_ghost(mob/user) if(user.can_advanced_admin_interact()) SwitchState() @@ -68,11 +68,11 @@ return !density /obj/structure/mineral_door/proc/TryToSwitchState(atom/user) - if(isSwitchingStates) + if(isSwitchingStates) return if(isliving(user)) var/mob/living/M = user - if(world.time - user.last_bumped <= 60) + if(world.time - user.last_bumped <= 60) return //NOTE do we really need that? if(M.client) if(iscarbon(M)) @@ -101,7 +101,7 @@ air_update_turf(1) update_icon() isSwitchingStates = 0 - + if(close_delay != -1) spawn(close_delay) Close() @@ -157,7 +157,7 @@ if(hardness <= 0) deconstruct(FALSE) -/obj/structure/mineral_door/proc/deconstruct(disassembled = TRUE) +/obj/structure/mineral_door/deconstruct(disassembled = TRUE) var/turf/T = get_turf(src) if(sheetType) if(disassembled) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 540c2e079aa..744bd26fc85 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -92,10 +92,6 @@ return return -/obj/structure/morgue/alter_health() - return loc - - /obj/structure/morgue/attack_hand(mob/user as mob) if(connected) for(var/atom/movable/A as mob|obj in connected.loc) @@ -290,10 +286,6 @@ return return -/obj/structure/crematorium/alter_health() - return loc - - /obj/structure/crematorium/attack_hand(mob/user as mob) if(cremating) to_chat(usr, "It's locked.") diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm new file mode 100644 index 00000000000..d9eff5b9ea3 --- /dev/null +++ b/code/game/objects/structures/plasticflaps.dm @@ -0,0 +1,135 @@ +/obj/structure/plasticflaps + name = "plastic flaps" + desc = "Completely impassable - or are they?" + icon = 'icons/obj/stationobjs.dmi' + icon_state = "plasticflaps" + density = 0 + anchored = 1 + layer = 4 + var/list/mobs_can_pass = list( + /mob/living/carbon/slime, + /mob/living/simple_animal/mouse, + /mob/living/silicon/robot/drone, + /mob/living/simple_animal/bot/mulebot + ) + var/state = PLASTIC_FLAPS_NORMAL + +/obj/structure/plasticflaps/examine(mob/user) + . = ..() + switch(state) + if(PLASTIC_FLAPS_NORMAL) + to_chat(user, "[src] are screwed to the floor.") + if(PLASTIC_FLAPS_DETACHED) + to_chat(user, "[src] are no longer screwed to the floor, and the flaps can be sliced apart.") + +/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params) + add_fingerprint(user) + if(isscrewdriver(W)) + if(state == PLASTIC_FLAPS_NORMAL) + playsound(loc, W.usesound, 100, 1) + user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.") + if(do_after(user, 180*W.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_NORMAL) + return + state = PLASTIC_FLAPS_DETACHED + anchored = FALSE + to_chat(user, "You unscrew [src] from the floor.") + else if(state == PLASTIC_FLAPS_DETACHED) + playsound(loc, W.usesound, 100, 1) + user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.") + if(do_after(user, 40*W.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_DETACHED) + return + state = PLASTIC_FLAPS_NORMAL + anchored = TRUE + to_chat(user, "You screw [src] to the floor.") + else if(iswelder(W)) + if(state == PLASTIC_FLAPS_DETACHED) + var/obj/item/weapon/weldingtool/WT = W + if(!WT.remove_fuel(0, user)) + return + playsound(loc, WT.usesound, 100, 1) + user.visible_message("[user] slices apart [src].", "You start to slice apart [src].", "You hear welding.") + if(do_after(user, 120*WT.toolspeed, target = src)) + if(state != PLASTIC_FLAPS_DETACHED) + return + to_chat(user, "You slice apart [src].") + var/obj/item/stack/sheet/plastic/five/P = new(loc) + P.add_fingerprint(user) + qdel(src) + else + . = ..() + +/obj/structure/plasticflaps/CanPass(atom/A, turf/T) + if(istype(A) && A.checkpass(PASSGLASS)) + return prob(60) + + var/obj/structure/stool/bed/B = A + if(istype(A, /obj/structure/stool/bed) && B.buckled_mob)//if it's a bed/chair and someone is buckled, it will not pass + return 0 + + if(istype(A, /obj/structure/closet/cardboard)) + var/obj/structure/closet/cardboard/C = A + if(C.move_delay) + return 0 + + if(istype(A, /obj/vehicle)) //no vehicles + return 0 + + var/mob/living/M = A + if(istype(M)) + if(M.lying) + return ..() + for(var/mob_type in mobs_can_pass) + if(istype(A, mob_type)) + return ..() + if(istype(A, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.species.is_small) + return ..() + return 0 + + return ..() + + +/obj/structure/plasticflaps/CanAStarPass(ID, to_dir, caller) + if(istype(caller, /mob/living)) + for(var/mob_type in mobs_can_pass) + if(istype(caller, mob_type)) + return 1 + + var/mob/living/M = caller + if(!M.ventcrawler && M.mob_size > MOB_SIZE_SMALL) + return 0 + return 1 + +/obj/structure/plasticflaps/ex_act(severity) + switch(severity) + if(1) + qdel(src) + if(2) + if(prob(50)) + qdel(src) + if(3) + if(prob(5)) + qdel(src) + +/obj/structure/plasticflaps/deconstruct(disassembled = TRUE) + if(can_deconstruct) + new /obj/item/stack/sheet/plastic/five(loc) + qdel(src) + +/obj/structure/plasticflaps/mining //A specific type for mining that doesn't allow airflow because of them damn crates + name = "airtight plastic flaps" + desc = "Heavy duty, airtight, plastic flaps." + +/obj/structure/plasticflaps/mining/initialize() + air_update_turf(1) + ..() + +/obj/structure/plasticflaps/mining/Destroy() + air_update_turf(1) + return ..() + +/obj/structure/plasticflaps/mining/CanAtmosPass(turf/T) + return 0 \ No newline at end of file diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index e22923fa965..1e7cd0f089c 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -53,7 +53,7 @@ affecting = H.get_organ(type) H.Stun(3) if(affecting) - affecting.take_damage(1, 0) + affecting.receive_damage(1, 0) H.updatehealth() else if(ismouse(target)) var/mob/living/simple_animal/mouse/M = target diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 52f60d06b18..b6ae3ee3508 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -57,7 +57,7 @@ var/organ = ((H.hand ? "l_":"r_") + "arm") var/obj/item/organ/external/affecting = H.get_organ(organ) if(affecting) - if(affecting.take_damage(0, force)) + if(affecting.receive_damage(0, force)) H.UpdateDamageIcon() to_chat(H, "The nettle burns your bare hand!") return 1 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index bac0df5b7f4..80d575b9d1f 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -495,7 +495,7 @@ var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 5 -/obj/structure/fans/proc/deconstruct() +/obj/structure/fans/deconstruct() if(buildstacktype) new buildstacktype(loc, buildstackamount) qdel(src) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5cf6df7fe60..ecde87a5a16 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -68,7 +68,7 @@ var/mob/living/carbon/human/H = src var/obj/item/organ/external/organ = H.get_organ("chest") if(istype(organ)) - if(organ.take_damage(d, 0)) + if(organ.receive_damage(d, 0)) H.UpdateDamageIcon() H.updatehealth() @@ -327,15 +327,15 @@ if(1) to_chat(src, "Your eyes sting a little.") if(prob(40)) //waiting on carbon organs - E.take_damage(1, 1) + E.receive_damage(1, 1) if(2) to_chat(src, "Your eyes burn.") - E.take_damage(rand(2, 4), 1) + E.receive_damage(rand(2, 4), 1) else to_chat(src, "Your eyes itch and burn severely!") - E.take_damage(rand(12, 16), 1) + E.receive_damage(rand(12, 16), 1) if(E.damage > E.min_bruised_damage) AdjustEyeBlind(damage) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 4029be62d0d..dad8fae62f7 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -715,7 +715,7 @@ if(!I || !L || I.loc != src || !(I in L.embedded_objects)) return L.embedded_objects -= I - L.take_damage(I.embedded_unsafe_removal_pain_multiplier*I.w_class)//It hurts to rip it out, get surgery you dingus. + L.receive_damage(I.embedded_unsafe_removal_pain_multiplier*I.w_class)//It hurts to rip it out, get surgery you dingus. I.forceMove(get_turf(src)) usr.put_in_hands(I) usr.emote("scream") diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 9a96ec72c28..c216badda93 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -37,7 +37,7 @@ if(sponge) if(species) amount = amount * species.brain_mod - sponge.take_damage(amount, 1) + sponge.receive_damage(amount, 1) brainloss = sponge.damage else brainloss = 200 @@ -112,7 +112,7 @@ var/obj/item/organ/external/O = get_organ(organ_name) if(amount > 0) - O.take_damage(amount, 0, sharp=is_sharp(damage_source), used_weapon=damage_source) + O.receive_damage(amount, 0, sharp=is_sharp(damage_source), used_weapon=damage_source) else //if you don't want to heal robot organs, they you will have to check that yourself before using this proc. O.heal_damage(-amount, 0, internal=0, robo_repair=(O.status & ORGAN_ROBOT)) @@ -126,7 +126,7 @@ var/obj/item/organ/external/O = get_organ(organ_name) if(amount > 0) - O.take_damage(0, amount, sharp=is_sharp(damage_source), used_weapon=damage_source) + O.receive_damage(0, amount, sharp=is_sharp(damage_source), used_weapon=damage_source) else //if you don't want to heal robot organs, they you will have to check that yourself before using this proc. O.heal_damage(0, -amount, internal=0, robo_repair=(O.status & ORGAN_ROBOT)) @@ -240,7 +240,7 @@ if(!parts.len) return var/obj/item/organ/external/picked = pick(parts) - if(picked.take_damage(brute, burn, sharp)) + if(picked.receive_damage(brute, burn, sharp)) UpdateDamageIcon() updatehealth() speech_problem_flag = 1 @@ -285,7 +285,7 @@ var/burn_was = picked.burn_dam - update |= picked.take_damage(brute_per_part, burn_per_part, sharp, used_weapon) + update |= picked.receive_damage(brute_per_part, burn_per_part, sharp, used_weapon) brute -= (picked.brute_dam - brute_was) burn -= (picked.burn_dam - burn_was) @@ -355,7 +355,7 @@ This function restores all organs. if(species) damage = damage * species.brute_mod - if(organ.take_damage(damage, 0, sharp, used_weapon)) + if(organ.receive_damage(damage, 0, sharp, used_weapon)) UpdateDamageIcon() if(LAssailant && ishuman(LAssailant)) //superheros still get the comical hit markers @@ -372,7 +372,7 @@ This function restores all organs. dmgIcon.pixel_y = (!lying) ? rand(-11,9) : rand(-10,1) flick_overlay(dmgIcon, attack_bubble_recipients, 9) - receive_damage() + receiving_damage() if(BURN) damageoverlaytemp = 20 @@ -380,7 +380,7 @@ This function restores all organs. if(species) damage = damage * species.burn_mod - if(organ.take_damage(0, damage, sharp, used_weapon)) + if(organ.receive_damage(0, damage, sharp, used_weapon)) UpdateDamageIcon() // Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life(). diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9783673bc33..6f6bb6ade48 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -311,7 +311,7 @@ emp_act L.embedded_objects |= I I.add_mob_blood(src)//it embedded itself in you, of course it's bloody! I.forceMove(src) - L.take_damage(I.w_class*I.embedded_impact_pain_multiplier) + L.receive_damage(I.w_class*I.embedded_impact_pain_multiplier) visible_message("[I] embeds itself in [src]'s [L.name]!","[I] embeds itself in your [L.name]!") hitpush = 0 skipcatch = 1 //can't catch the now embedded item @@ -358,10 +358,10 @@ emp_act if("brute") if(M.force > 20) Paralyse(1) - update |= affecting.take_damage(rand(M.force/2, M.force), 0) + update |= affecting.receive_damage(rand(M.force/2, M.force), 0) playsound(src, 'sound/weapons/punch4.ogg', 50, 1) if("fire") - update |= affecting.take_damage(0, rand(M.force/2, M.force)) + update |= affecting.receive_damage(0, rand(M.force/2, M.force)) playsound(src, 'sound/items/Welder.ogg', 50, 1) if("tox") M.mech_toxin_damage(src) diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 7c5642658e3..0c64abdec40 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -21,7 +21,7 @@ if(E.is_broken() && E.internal_organs && E.internal_organs.len && prob(15)) var/obj/item/organ/internal/I = pick(E.internal_organs) custom_pain("You feel broken bones moving in your [E.name]!", 1) - I.take_damage(rand(3,5)) + I.receive_damage(rand(3,5)) //handle_stance() handle_grasp() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 73903252b3f..ccddc56ca16 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -707,7 +707,7 @@ Paralyse(5/sober_str) Drowsy(30/sober_str) if(L) - L.take_damage(0.1, 1) + L.receive_damage(0.1, 1) adjustToxLoss(0.1) else //stuff only for synthetics if(alcohol_strength >= spark_start && prob(25)) @@ -879,11 +879,11 @@ var/obj/item/organ/external/BP = X for(var/obj/item/I in BP.embedded_objects) if(prob(I.embedded_pain_chance)) - BP.take_damage(I.w_class*I.embedded_pain_multiplier) + BP.receive_damage(I.w_class*I.embedded_pain_multiplier) to_chat(src, "[I] embedded in your [BP.name] hurts!") if(prob(I.embedded_fall_chance)) - BP.take_damage(I.w_class*I.embedded_fall_pain_multiplier) + BP.receive_damage(I.w_class*I.embedded_fall_pain_multiplier) BP.embedded_objects -= I I.forceMove(get_turf(src)) visible_message("[I] falls out of [name]'s [BP.name]!","[I] falls out of your [BP.name]!") diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8c81980eb8e..42e461b6e03 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -896,13 +896,13 @@ // And animate the attack! animate(I, alpha = 175, pixel_x = 0, pixel_y = 0, pixel_z = 0, time = 3) -/atom/movable/proc/receive_damage(atom/A) +/atom/movable/proc/receiving_damage(atom/A) var/pixel_x_diff = rand(-3,3) var/pixel_y_diff = rand(-3,3) animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff, time = 2) animate(pixel_x = initial(pixel_x), pixel_y = initial(pixel_y), time = 2) -/mob/living/receive_damage(atom/A) +/mob/living/receiving_damage(atom/A) ..() floating = 0 // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement. diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 9f867692153..f72d4bfccda 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -30,9 +30,8 @@ var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4. var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer. - var/obj_integrity = 100 - var/integrity_failure = 50 - var/max_integrity = 100 + integrity_failure = 50 + max_integrity = 100 armor = list(melee = 0, bullet = 20, laser = 20, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 0, acid = 0) // Important hardware (must be installed for computer to work) diff --git a/code/modules/modular_computers/computers/item/computer_damage.dm b/code/modules/modular_computers/computers/item/computer_damage.dm index 689e8c99ab7..2623794fa9d 100644 --- a/code/modules/modular_computers/computers/item/computer_damage.dm +++ b/code/modules/modular_computers/computers/item/computer_damage.dm @@ -24,7 +24,7 @@ if(prob(75)) take_damage(obj_integrity, BRUTE) -/obj/item/device/modular_computer/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) +/obj/item/device/modular_computer/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() var/component_probability = min(50, max(damage_amount*0.1, 1 - obj_integrity/max_integrity)) switch(damage_flag) diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 9e07fc19ddb..edc1f2277fa 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -28,9 +28,8 @@ var/list/global_modular_computers = list() var/base_active_power_usage = 100 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too. var/base_idle_power_usage = 10 // Power usage when the computer is idle and screen is off (currently only applies to laptops) - var/obj_integrity = 300 - var/integrity_failure = 150 - var/max_integrity = 300 + integrity_failure = 150 + max_integrity = 300 var/obj/item/device/modular_computer/processor/cpu = null // CPU that handles most logic while this type only handles power and other specific things. diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index 4f752fdac10..f1fe147e393 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -9,8 +9,7 @@ var/obj/item/device/modular_computer/holder = null // Computer that holds this hardware, if any. - var/obj_integrity = 200 - var/max_integrity = 200 + max_integrity = 200 var/power_usage = 0 // If the hardware uses extra power, change this. var/enabled = 1 // If the hardware is turned off set this to 0. @@ -77,7 +76,7 @@ return TRUE // Good to go. // Handles damage checks -/obj/item/weapon/computer_hardware/proc/take_damage(damage_amount) +/obj/item/weapon/computer_hardware/take_damage(damage_amount) obj_integrity = max(obj_integrity - damage_amount, 0) /obj/item/weapon/computer_hardware/examine(var/mob/user) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index a438d98afdc..de2608f5a81 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -250,7 +250,7 @@ var/mob/living/carbon/human/H = ass to_chat(H, "Something smells toasty...") var/obj/item/organ/external/G = H.get_organ("groin") - G.take_damage(0, 30) + G.receive_damage(0, 30) spawn(20) H.emote("scream") emag_cooldown = world.time + EMAG_DELAY diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 98a34066749..57a6e77b660 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -457,7 +457,7 @@ to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!") var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") - if(affecting.take_damage( 0, 5 )) // 5 burn damage + if(affecting.receive_damage( 0, 5 )) // 5 burn damage H.UpdateDamageIcon() H.updatehealth() return diff --git a/code/modules/power/supermatter/sm_shard.dm b/code/modules/power/supermatter/sm_shard.dm index d4c1109e16e..b768915a836 100644 --- a/code/modules/power/supermatter/sm_shard.dm +++ b/code/modules/power/supermatter/sm_shard.dm @@ -56,7 +56,7 @@ var/obj/item/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot")) if(affecting.status & ORGAN_ROBOT) return - if(affecting.take_damage(5, 20)) + if(affecting.receive_damage(5, 20)) H.UpdateDamageIcon() H.updatehealth() if(!(H.species && (H.species.flags & NO_PAIN))) diff --git a/code/modules/reagents/chemistry/reagents/admin.dm b/code/modules/reagents/chemistry/reagents/admin.dm index a7fc7fa6108..785ac17a598 100644 --- a/code/modules/reagents/chemistry/reagents/admin.dm +++ b/code/modules/reagents/chemistry/reagents/admin.dm @@ -20,7 +20,7 @@ var/mob/living/carbon/human/H = M for(var/thing in H.internal_organs) var/obj/item/organ/internal/I = thing - I.take_damage(-5) + I.receive_damage(-5) for(var/obj/item/organ/external/E in H.bodyparts) if(E.mend_fracture()) E.perma_injury = 0 diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 20144bff374..b135d076818 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -92,7 +92,7 @@ //Mitocholide is hard enough to get, it's probably fair to make this all internal organs for(var/obj/item/organ/internal/I in H.internal_organs) - I.take_damage(-0.4) + I.receive_damage(-0.4) ..() /datum/reagent/medicine/mitocholide/reaction_obj(obj/O, volume) @@ -512,7 +512,7 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) if(istype(E)) - E.take_damage(-1) + E.receive_damage(-1) M.AdjustEyeBlurry(-1) M.AdjustEarDamage(-1) if(prob(50)) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 9918e3c9aab..72014dd1021 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -246,7 +246,7 @@ if(prob(75)) var/obj/item/organ/external/affecting = H.get_organ("head") if(affecting) - affecting.take_damage(5, 10) + affecting.receive_damage(5, 10) H.UpdateDamageIcon() H.emote("scream") else @@ -272,7 +272,7 @@ if(prob(75)) var/obj/item/organ/external/affecting = H.get_organ("head") if(affecting) - affecting.take_damage(0, 20) + affecting.receive_damage(0, 20) H.UpdateDamageIcon() H.emote("scream") else @@ -624,7 +624,7 @@ if(!H.unacidable) var/obj/item/organ/external/affecting = H.get_organ("head") - affecting.take_damage(0, 75) + affecting.receive_damage(0, 75) H.UpdateDamageIcon() H.emote("scream") H.status_flags |= DISFIGURED diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index 4eb6a246f2b..fe2afae85be 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -46,7 +46,7 @@ if(prob(75)) var/obj/item/organ/external/affecting = H.get_organ("head") if(affecting) - affecting.take_damage(5, 10) + affecting.receive_damage(5, 10) H.UpdateDamageIcon() H.emote("scream") else @@ -75,7 +75,7 @@ if(prob(75)) var/obj/item/organ/external/affecting = H.get_organ("head") if(affecting) - affecting.take_damage(0, 20) + affecting.receive_damage(0, 20) H.UpdateDamageIcon() H.emote("scream") else diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 7b090fc4f77..1aae13e1f0d 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -197,10 +197,6 @@ update() return -// can breath normally in the disposal -/obj/machinery/disposal/alter_health() - return get_turf(src) - // attempt to move while inside /obj/machinery/disposal/relaymove(mob/user as mob) if(user.stat || src.flushing) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index d24853a7948..4a060385dea 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -782,143 +782,6 @@ icon_state = "shuttle3" requires_power = 0 -/obj/structure/plasticflaps - name = "\improper plastic flaps" - desc = "Completely impassable - or are they?" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "plasticflaps" - density = 0 - anchored = 1 - layer = 4 - var/list/mobs_can_pass = list( - /mob/living/carbon/slime, - /mob/living/simple_animal/mouse, - /mob/living/silicon/robot/drone, - /mob/living/simple_animal/bot/mulebot - ) - var/state = PLASTIC_FLAPS_NORMAL - var/can_deconstruct = TRUE - -/obj/structure/plasticflaps/examine(mob/user) - . = ..() - switch(state) - if(PLASTIC_FLAPS_NORMAL) - to_chat(user, "[src] are screwed to the floor.") - if(PLASTIC_FLAPS_DETACHED) - to_chat(user, "[src] are no longer screwed to the floor, and the flaps can be sliced apart.") - -/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params) - add_fingerprint(user) - if(isscrewdriver(W)) - if(state == PLASTIC_FLAPS_NORMAL) - playsound(loc, W.usesound, 100, 1) - user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.") - if(do_after(user, 180*W.toolspeed, target = src)) - if(state != PLASTIC_FLAPS_NORMAL) - return - state = PLASTIC_FLAPS_DETACHED - anchored = FALSE - to_chat(user, "You unscrew [src] from the floor.") - else if(state == PLASTIC_FLAPS_DETACHED) - playsound(loc, W.usesound, 100, 1) - user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.") - if(do_after(user, 40*W.toolspeed, target = src)) - if(state != PLASTIC_FLAPS_DETACHED) - return - state = PLASTIC_FLAPS_NORMAL - anchored = TRUE - to_chat(user, "You screw [src] from the floor.") - else if(iswelder(W)) - if(state == PLASTIC_FLAPS_DETACHED) - var/obj/item/weapon/weldingtool/WT = W - if(!WT.remove_fuel(0, user)) - return - playsound(loc, WT.usesound, 100, 1) - user.visible_message("[user] slices apart [src].", "You start to slice apart [src].", "You hear welding.") - if(do_after(user, 120*WT.toolspeed, target = src)) - if(state != PLASTIC_FLAPS_DETACHED) - return - to_chat(user, "You slice apart [src].") - var/obj/item/stack/sheet/plastic/five/P = new(loc) - P.add_fingerprint(user) - qdel(src) - else - . = ..() - -/obj/structure/plasticflaps/CanPass(atom/A, turf/T) - if(istype(A) && A.checkpass(PASSGLASS)) - return prob(60) - - var/obj/structure/stool/bed/B = A - if(istype(A, /obj/structure/stool/bed) && B.buckled_mob)//if it's a bed/chair and someone is buckled, it will not pass - return 0 - - if(istype(A, /obj/structure/closet/cardboard)) - var/obj/structure/closet/cardboard/C = A - if(C.move_delay) - return 0 - - if(istype(A, /obj/vehicle)) //no vehicles - return 0 - - var/mob/living/M = A - if(istype(M)) - if(M.lying) - return ..() - for(var/mob_type in mobs_can_pass) - if(istype(A, mob_type)) - return ..() - if(istype(A, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.species.is_small) - return ..() - return 0 - - return ..() - - -/obj/structure/plasticflaps/CanAStarPass(ID, to_dir, caller) - if(istype(caller, /mob/living)) - for(var/mob_type in mobs_can_pass) - if(istype(caller, mob_type)) - return 1 - - var/mob/living/M = caller - if(!M.ventcrawler && M.mob_size > MOB_SIZE_SMALL) - return 0 - return 1 - -/obj/structure/plasticflaps/ex_act(severity) - switch(severity) - if(1) - qdel(src) - if(2) - if(prob(50)) - qdel(src) - if(3) - if(prob(5)) - qdel(src) - -/obj/structure/plasticflaps/proc/deconstruct(disassembled = TRUE) - if(can_deconstruct) - new /obj/item/stack/sheet/plastic/five(loc) - qdel(src) - -/obj/structure/plasticflaps/mining //A specific type for mining that doesn't allow airflow because of them damn crates - name = "\improper Airtight plastic flaps" - desc = "Heavy duty, airtight, plastic flaps." - -/obj/structure/plasticflaps/mining/initialize() - air_update_turf(1) - ..() - -/obj/structure/plasticflaps/mining/Destroy() - air_update_turf(1) - return ..() - -/obj/structure/plasticflaps/mining/CanAtmosPass(turf/T) - return 0 - #undef ORDER_SCREEN_WIDTH #undef ORDER_SCREEN_HEIGHT #undef SUPPLY_SCREEN_WIDTH diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index 80ae04dfaaf..640d6879f34 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -101,7 +101,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \ " Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") - affected.take_damage(5) + affected.receive_damage(5) return 0 /datum/surgery_step/mend_skull @@ -135,7 +135,7 @@ user.visible_message("[user]'s hand slips, damaging [target]'s face with \the [tool]!" , \ "Your hand slips, damaging [target]'s face with \the [tool]!") var/obj/item/organ/external/head/h = affected - h.take_damage(10) + h.receive_damage(10) h.disfigured = 1 return 0 diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 269980346a8..f0cc1c993ce 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -62,7 +62,7 @@ var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!", \ " Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!") - affected.take_damage(20) + affected.receive_damage(20) /datum/surgery_step/cavity/make_space name = "make cavity space" diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index decc2d05c19..fc4275bbf38 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -61,7 +61,7 @@ user.visible_message(" [user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!" , \ " Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!" ) - affected.take_damage(20) + affected.receive_damage(20) affected.fracture() return 0 @@ -113,7 +113,7 @@ var/self_msg = " Your hand slips, cracking [target]'s [affected.encased]!" user.visible_message(msg, self_msg) - affected.take_damage(20) + affected.receive_damage(20) affected.fracture() return 0 @@ -164,7 +164,7 @@ var/self_msg = " Your hand slips, bending [target]'s [affected.encased] the wrong way!" user.visible_message(msg, self_msg) - affected.take_damage(20) + affected.receive_damage(20) affected.fracture() return 0 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 7f3d49c6045..200d5305ad9 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -50,7 +50,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ " Your hand slips, slicing [target]'s throat wth \the [tool]!" ) - affected.take_damage(60) + affected.receive_damage(60) target.AdjustLoseBreath(4) return 0 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index e07fd0c4725..dea9b7f282c 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -51,7 +51,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!", \ " Your hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!") - affected.take_damage(10) + affected.receive_damage(10) return 0 /datum/surgery_step/generic/clamp_bleeders @@ -85,7 +85,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", \ " Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!",) - affected.take_damage(10) + affected.receive_damage(10) return 0 /datum/surgery_step/generic/retract_skin @@ -238,6 +238,6 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", \ " Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!") - affected.take_damage(30) + affected.receive_damage(30) affected.fracture() return 0 diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index 05d47a8d577..ba89166e8b5 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -169,7 +169,7 @@ ..() if(germ_level >= INFECTION_LEVEL_TWO) if(prob(3)) //about once every 30 seconds - take_damage(1,silent=prob(30)) + receive_damage(1,silent=prob(30)) /obj/item/organ/proc/rejuvenate() damage = 0 @@ -220,7 +220,7 @@ W.time_inflicted = world.time //Note: external organs have their own version of this proc -/obj/item/organ/proc/take_damage(amount, silent = 0) +/obj/item/organ/proc/receive_damage(amount, silent = 0) if(tough) return if(status & ORGAN_ROBOT) @@ -258,19 +258,19 @@ if(tough) switch(severity) if(1) - take_damage(0, 5.5) + receive_damage(0, 5.5) if(owner) owner.Stun(10) if(2) - take_damage(0, 2.8) + receive_damage(0, 2.8) if(owner) owner.Stun(5) else switch(severity) if(1) - take_damage(0, 20) + receive_damage(0, 20) if(2) - take_damage(0, 7) + receive_damage(0, 7) /obj/item/organ/internal/emp_act(severity) if(!robotic || emp_proof) @@ -278,11 +278,11 @@ if(robotic == 2) switch(severity) if(1.0) - take_damage(20, 1) + receive_damage(20, 1) if(2.0) - take_damage(7, 1) + receive_damage(7, 1) else if(robotic == 1) - take_damage(11, 1) + receive_damage(11, 1) /obj/item/organ/internal/heart/emp_act(intensity) if(emp_proof) @@ -291,7 +291,7 @@ Stop() // In the name of looooove~! owner.visible_message("[owner] clutches their chest and gasps!","You clutch your chest in pain!") else if(owner && robotic == 1) - take_damage(11,1) + receive_damage(11,1) /obj/item/organ/proc/remove(var/mob/living/user,special = 0) if(!istype(owner)) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index f03c05c934a..0d077a7999b 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -171,7 +171,7 @@ DAMAGE PROCS ****************************************************/ -/obj/item/organ/external/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE) +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE) if(tough && !ignore_resists) brute = max(0, brute - 5) burn = max(0, burn - 4) @@ -194,7 +194,7 @@ // Damage an internal organ if(internal_organs && internal_organs.len) var/obj/item/organ/internal/I = pick(internal_organs) - I.take_damage(brute * 0.5) + I.receive_damage(brute * 0.5) brute -= brute * 0.5 if(status & ORGAN_BROKEN && prob(40) && brute) @@ -246,7 +246,7 @@ if(possible_points.len) //And pass the pain around var/obj/item/organ/external/target = pick(possible_points) - target.take_damage(brute, burn, sharp, used_weapon, forbidden_limbs + src, ignore_resists = TRUE) //If the damage was reduced before, don't reduce it again + target.receive_damage(brute, burn, sharp, used_weapon, forbidden_limbs + src, ignore_resists = TRUE) //If the damage was reduced before, don't reduce it again if(dismember_at_max_damage && body_part != UPPER_TORSO && body_part != LOWER_TORSO) // We've ensured all damage to the mob is retained, now let's drop it, if necessary. droplimb(1) //Clean loss, just drop the limb and be done @@ -524,7 +524,7 @@ Note that amputating the affected organ does in fact remove the infection from t for(var/obj/item/organ/external/E in children) //Factor in the children's brute and burn into how much will transfer total_brute += E.brute_dam total_burn += E.burn_dam - parent.take_damage(total_brute, total_burn, ignore_resists = TRUE) //Transfer the full damage to the parent, bypass limb damage reduction. + parent.receive_damage(total_brute, total_burn, ignore_resists = TRUE) //Transfer the full damage to the parent, bypass limb damage reduction. parent = null spawn(1) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index d1d57418848..cefc03f5a1c 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -398,16 +398,16 @@ if(owner.getToxLoss() >= 60 && !owner.reagents.has_reagent("charcoal")) //Healthy liver suffers on its own if(damage < min_broken_damage) - take_damage(0.2 * PROCESS_ACCURACY) + receive_damage(0.2 * PROCESS_ACCURACY) //Damaged one shares the fun else var/obj/item/organ/internal/O = pick(owner.internal_organs) if(O) - O.take_damage(0.2 * PROCESS_ACCURACY) + O.receive_damage(0.2 * PROCESS_ACCURACY) //Detox can heal small amounts of damage if(damage && damage < min_bruised_damage && owner.reagents.has_reagent("charcoal")) - take_damage(-0.2 * PROCESS_ACCURACY) + receive_damage(-0.2 * PROCESS_ACCURACY) // Get the effectiveness of the liver. var/filter_effect = 3 diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index a18613d55af..8efff94e872 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -210,7 +210,7 @@ ..() -/obj/item/organ/external/head/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE) +/obj/item/organ/external/head/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE) ..(brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists) if(!disfigured) if(brute_dam > 40) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index cfe320a5d17..15f86021c6c 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -368,11 +368,11 @@ else if(istype(tool, /obj/item/stack/medical/bruise_pack) || istype(tool, /obj/item/stack/nanopaste)) dam_amt = 5 target.adjustToxLoss(10) - affected.take_damage(5) + affected.receive_damage(5) for(var/obj/item/organ/internal/I in affected.internal_organs) if(I && I.damage && !(I.tough)) - I.take_damage(dam_amt,0) + I.receive_damage(dam_amt,0) return 0 @@ -381,7 +381,7 @@ " Your hand slips, damaging [tool]!") var/obj/item/organ/internal/I = tool if(istype(I) && !I.tough) - I.take_damage(rand(3,5),0) + I.receive_damage(rand(3,5),0) return 0 @@ -402,7 +402,7 @@ for(var/obj/item/organ/internal/I in affected.internal_organs) I.germ_level = max(I.germ_level-ethanol, 0) - I.take_damage(rand(4,8),0) + I.receive_damage(rand(4,8),0) R.trans_to(target, GHETTO_DISINFECT_AMOUNT * 10) R.reaction(target, INGEST) @@ -416,7 +416,7 @@ if(affected) user.visible_message(" [user]'s hand slips, damaging [target]'s [affected.name] with [tool]!", \ " Your hand slips, damaging [target]'s [affected.name] with [tool]!") - affected.take_damage(20) + affected.receive_damage(20) else user.visible_message(" [user]'s hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!", \ " Your hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!") @@ -436,7 +436,7 @@ var/self_msg = " Your hand slips, tearing skin!" user.visible_message(msg, self_msg) if(affected) - affected.take_damage(20) + affected.receive_damage(20) return 0 diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 233b6f56a33..b7f2e9ba084 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -99,7 +99,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ " Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") - affected.take_damage(5, 0) + affected.receive_damage(5, 0) return 0 @@ -148,7 +148,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message(" [user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!", \ " Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!") - affected.take_damage(20) + affected.receive_damage(20) return 0 diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 27f722318d7..53219ed8a14 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -485,11 +485,11 @@ " Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!") target.adjustToxLoss(5) - affected.take_damage(5) + affected.receive_damage(5) for(var/obj/item/organ/internal/I in affected.internal_organs) if(I) - I.take_damage(rand(3,5),0) + I.receive_damage(rand(3,5),0) else if(current_type == "insert") user.visible_message(" [user]'s hand slips, disconnecting \the [tool].", \ diff --git a/paradise.dme b/paradise.dme index 334e5326f2d..4cf60716903 100644 --- a/paradise.dme +++ b/paradise.dme @@ -682,6 +682,7 @@ #include "code\game\objects\empulse.dm" #include "code\game\objects\explosion.dm" #include "code\game\objects\items.dm" +#include "code\game\objects\obj_defense.dm" #include "code\game\objects\objs.dm" #include "code\game\objects\structures.dm" #include "code\game\objects\weapons.dm" @@ -949,6 +950,7 @@ #include "code\game\objects\structures\morgue.dm" #include "code\game\objects\structures\musician.dm" #include "code\game\objects\structures\noticeboard.dm" +#include "code\game\objects\structures\plasticflaps.dm" #include "code\game\objects\structures\safe.dm" #include "code\game\objects\structures\signs.dm" #include "code\game\objects\structures\spirit_board.dm"