From 5170f3fbaeb65cb23f11e24aad0e7f68c39d5589 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 4 Oct 2019 19:34:08 -0400 Subject: [PATCH] the-strength-of-this-world-fades --- _maps/map_files/Delta/delta.dmm | 4 +- .../MetaStation/MetaStation.v41A.II.dmm | 4 +- .../LavaRuins/lavaland_biodome_winter.dmm | 2 +- _maps/map_files/cyberiad/cyberiad.dmm | 4 +- code/__DEFINES/construction.dm | 9 + code/game/gamemodes/blob/blobs/core.dm | 14 +- code/game/gamemodes/blob/blobs/factory.dm | 4 - code/game/gamemodes/blob/blobs/node.dm | 13 +- code/game/gamemodes/blob/blobs/resource.dm | 4 - code/game/gamemodes/blob/blobs/storage.dm | 8 +- code/game/gamemodes/blob/theblob.dm | 62 +-- code/game/jobs/job/supervisor.dm | 1 - code/game/machinery/PDApainter.dm | 22 +- code/game/machinery/atmoalter/canister.dm | 30 +- code/game/machinery/camera/camera_assembly.dm | 2 - code/game/machinery/computer/ai_core.dm | 389 ++++++++------- code/game/machinery/constructable_frame.dm | 11 - code/game/machinery/newscaster.dm | 56 +-- code/game/objects/items.dm | 2 - code/game/objects/items/ashtray.dm | 137 ++---- .../items/stacks/sheets/sheet_types.dm | 1 + .../items/weapons/grenades/flashbang.dm | 3 +- .../items/weapons/grenades/smokebomb.dm | 3 +- .../structures/crates_lockers/closets.dm | 1 - .../crates_lockers/closets/secure/depot.dm | 1 - .../closets/secure/secure_closets.dm | 1 - .../crates_lockers/closets/statue.dm | 27 +- .../structures/crates_lockers/crates.dm | 1 - code/game/objects/structures/depot.dm | 6 +- code/game/objects/structures/displaycase.dm | 457 +++++++----------- code/game/objects/structures/inflatable.dm | 17 +- code/game/objects/structures/lamarr_cage.dm | 53 -- .../food_and_drinks/food/foods/meat.dm | 1 - code/modules/library/lib_items.dm | 1 - .../mob/living/carbon/brain/brain_item.dm | 1 - .../mob/living/simple_animal/tribbles.dm | 64 --- code/modules/power/solar.dm | 1 - code/modules/surgery/organs/organ_internal.dm | 14 +- icons/obj/stationobjs.dmi | Bin 81481 -> 74510 bytes paradise.dme | 1 - 40 files changed, 582 insertions(+), 850 deletions(-) delete mode 100644 code/game/objects/structures/lamarr_cage.dm diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index a89ac854596..72894abf662 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -55331,7 +55331,7 @@ }, /area/crew_quarters/captain) "bUZ" = ( -/obj/structure/displaycase/captains_laser, +/obj/structure/displaycase/captain, /turf/simulated/floor/plasteel{ icon_state = "grimy" }, @@ -91580,7 +91580,7 @@ dir = 1; on = 1 }, -/obj/structure/lamarr, +/obj/structure/displaycase/labcage, /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel, /area/crew_quarters/hor) diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 4396c52587d..3065afcb9c9 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -43111,7 +43111,7 @@ layer = 4; pixel_y = 32 }, -/obj/structure/displaycase/captains_laser, +/obj/structure/displaycase/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain{ name = "\improper Captain's Quarters" @@ -75994,7 +75994,7 @@ name = "Aft Maintenance" }) "cze" = ( -/obj/structure/lamarr, +/obj/structure/displaycase/labcage, /obj/machinery/light/small{ dir = 1 }, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm index 01797b0ea59..930b5cca2ac 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm @@ -167,7 +167,7 @@ /turf/simulated/floor/wood, /area/ruin/powered/snow_cabin) "aL" = ( -/obj/structure/displaycase/lavaland_winter, +/obj/structure/displaycase/captain, /turf/simulated/floor/wood, /area/ruin/powered/snow_cabin) "aM" = ( diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index b83e173d404..e120366dd54 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -42190,7 +42190,7 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/locker) "bAc" = ( -/obj/structure/displaycase/captains_laser, +/obj/structure/displaycase/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain) "bAd" = ( @@ -56043,7 +56043,7 @@ }, /area/crew_quarters/hor) "bYB" = ( -/obj/structure/lamarr, +/obj/structure/displaycase/labcage, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel{ icon_state = "white" diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index fa62fd7af4f..fc5b6eb74b9 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -32,6 +32,15 @@ #define PLASTIC_FLAPS_NORMAL 0 #define PLASTIC_FLAPS_DETACHED 1 + +//ai core defines +#define EMPTY_CORE 0 +#define CIRCUIT_CORE 1 +#define SCREWED_CORE 2 +#define CABLED_CORE 3 +#define GLASS_CORE 4 +#define AI_READY_CORE 5 + //other construction-related things //windows affected by nar-sie turn this color. diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index a41b13e11ef..61c4eaf0dff 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -60,13 +60,13 @@ return /obj/structure/blob/core/update_icon() - if(health <= 0) - qdel(src) - return - // update_icon is called when health changes so... call update_health in the overmind + cut_overlays() + color = null + var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") if(overmind) - overmind.update_health_hud() - return + blob_overlay.color = overmind.blob_reagent_datum.color + add_overlay(blob_overlay) + add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay")) /obj/structure/blob/core/RegenHealth() return // Don't regen, we handle it in Life() @@ -78,7 +78,7 @@ if(resource_delay <= world.time) resource_delay = world.time + 10 // 1 second overmind.add_points(point_rate) - health = min(initial(health), health + 1) + obj_integrity = min(max_integrity, obj_integrity + 1) if(overmind) overmind.update_health_hud() if(overmind) diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm index 63d4023b41b..a8fdc03ec96 100644 --- a/code/game/gamemodes/blob/blobs/factory.dm +++ b/code/game/gamemodes/blob/blobs/factory.dm @@ -8,10 +8,6 @@ var/max_spores = 3 var/spore_delay = 0 -/obj/structure/blob/factory/update_icon() - if(health <= 0) - qdel(src) - /obj/structure/blob/factory/Destroy() for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores) if(spore.factory == src) diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm index 574e1c3a3ba..d4164997184 100644 --- a/code/game/gamemodes/blob/blobs/node.dm +++ b/code/game/gamemodes/blob/blobs/node.dm @@ -35,11 +35,14 @@ else for(var/i = 1; i < 8; i += i) Pulse(5, i, color) - health = min(initial(health), health + 1) + obj_integrity = min(max_integrity, obj_integrity + 1) color = null /obj/structure/blob/node/update_icon() - if(health <= 0) - qdel(src) - return - return \ No newline at end of file + cut_overlays() + color = null + var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") + if(overmind) + blob_overlay.color = overmind.blob_reagent_datum.color + add_overlay(blob_overlay) + add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay")) \ No newline at end of file diff --git a/code/game/gamemodes/blob/blobs/resource.dm b/code/game/gamemodes/blob/blobs/resource.dm index bafed3d4f83..4ef14ed4963 100644 --- a/code/game/gamemodes/blob/blobs/resource.dm +++ b/code/game/gamemodes/blob/blobs/resource.dm @@ -6,10 +6,6 @@ point_return = 12 var/resource_delay = 0 -/obj/structure/blob/resource/update_icon() - if(health <= 0) - qdel(src) - /obj/structure/blob/resource/run_action() if(resource_delay > world.time) return diff --git a/code/game/gamemodes/blob/blobs/storage.dm b/code/game/gamemodes/blob/blobs/storage.dm index 2e706e52f2c..0f3225e8362 100644 --- a/code/game/gamemodes/blob/blobs/storage.dm +++ b/code/game/gamemodes/blob/blobs/storage.dm @@ -2,14 +2,14 @@ name = "storage blob" icon = 'icons/mob/blob.dmi' icon_state = "blob_resource" - health = 30 + max_integrity = 30 fire_resist = 2 point_return = 12 -/obj/structure/blob/storage/update_icon() - if(health <= 0 && !QDELETED(src)) +/obj/structure/blob/storage/obj_destruction(damage_flag) + if(overmind) overmind.max_blob_points -= 50 - qdel(src) + ..() /obj/structure/blob/storage/proc/update_max_blob_points(var/new_point_increase) if(overmind) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 1a4f6f995c8..34db0a40478 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -10,25 +10,20 @@ max_integrity = 30 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) var/point_return = 0 //How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed. - var/health = 30 var/health_timestamp = 0 - var/brute_resist = 4 - var/fire_resist = 1 + var/brute_resist = 0.5 //multiplies brute damage by this + var/fire_resist = 1 //multiplies burn damage by this var/atmosblock = FALSE //if the blob blocks atmos and heat spread var/mob/camera/blob/overmind - /obj/structure/blob/New(loc) + ..() blobs += src - src.dir = pick(1, 2, 4, 8) - src.update_icon() - ..(loc) - for(var/atom/A in loc) - A.blob_act(src) + setDir(pick(cardinal)) + update_icon() if(atmosblock) air_update_turf(1) - return - + ConsumeTile() /obj/structure/blob/Destroy() if(atmosblock) @@ -58,6 +53,12 @@ var/atom/movable/mover = caller . = . || mover.checkpass(PASSBLOB) +/obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. + if(overmind) + add_atom_colour(overmind.blob_reagent_datum.color, FIXED_COLOUR_PRIORITY) + else + remove_atom_colour(FIXED_COLOUR_PRIORITY) + /obj/structure/blob/process() Life() return @@ -72,8 +73,8 @@ // All blobs heal over time when pulsed, but it has a cool down if(health_timestamp > world.time) return 0 - if(health < initial(health)) - health++ + if(obj_integrity < max_integrity) + obj_integrity = min(max_integrity, obj_integrity + 1) update_icon() health_timestamp = world.time + 10 // 1 seconds @@ -112,9 +113,15 @@ /obj/structure/blob/proc/run_action() return 0 +/obj/structure/blob/proc/ConsumeTile() + for(var/atom/A in loc) + A.blob_act(src) + if(iswallturf(loc)) + loc.blob_act(src) //don't ask how a wall got on top of the core, just eat it /obj/structure/blob/proc/expand(var/turf/T = null, var/prob = 1, var/a_color) - if(prob && !prob(health)) return + if(prob && !prob(obj_integrity)) + return if(istype(T, /turf/space) && prob(75)) return if(!T) var/list/dirs = list(1,2,4,8) @@ -126,7 +133,7 @@ else T = null if(!T) return 0 - var/obj/structure/blob/normal/B = new /obj/structure/blob/normal(src.loc, min(src.health, 30)) + var/obj/structure/blob/normal/B = new /obj/structure/blob/normal(src.loc, min(obj_integrity, 30)) B.color = a_color B.density = 1 if(T.Enter(B,src))//Attempt to move into the tile @@ -152,15 +159,6 @@ /obj/structure/blob/hulk_damage() return 15 -/obj/structure/blob/attackby(var/obj/item/W, var/mob/living/user, params) - user.changeNext_move(CLICK_CD_MELEE) - user.do_attack_animation(src) - playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1) - visible_message("[user] has attacked the [src.name] with \the [W]!") - if(W.damtype == BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, 1) - take_damage(W.force, W.damtype) - /obj/structure/blob/attack_animal(mob/living/simple_animal/M) if(ROLE_BLOB in M.faction) //sorry, but you can't kill the blob as a blobbernaut return @@ -247,18 +245,4 @@ icon_state = "blob" name = "dead blob" desc = "A thick wall of lifeless tendrils." - brute_resist = 0.25 - -/* // Used to create the glow sprites. Remember to set the animate loop to 1, instead of infinite! - -var/datum/blob_colour/B = new() - -/datum/blob_colour/New() - ..() - var/icon/I = 'icons/mob/blob.dmi' - I += rgb(35, 35, 0) - if(isfile("icons/mob/blob_result.dmi")) - fdel("icons/mob/blob_result.dmi") - fcopy(I, "icons/mob/blob_result.dmi") - -*/ + brute_resist = 0.25 \ No newline at end of file diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 849f54169f5..feaf1c7972d 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -24,7 +24,6 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /datum/job/captain/announce(mob/living/carbon/human/H) . = ..() captain_announcement.Announce("All hands, Captain [H.real_name] on deck!") - updateDisplaycase(H) /datum/outfit/job/captain name = "Captain" diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index b1daa0f7b67..817d56cb47a 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -11,14 +11,14 @@ /obj/machinery/pdapainter/update_icon() - overlays.Cut() + cut_overlays() if(stat & BROKEN) icon_state = "[initial(icon_state)]-broken" return if(storedpda) - overlays += "[initial(icon_state)]-closed" + add_overlay("[initial(icon_state)]-closed") if(powered()) icon_state = initial(icon_state) @@ -75,6 +75,24 @@ P.forceMove(src) P.add_fingerprint(user) update_icon() + else if(iswelder(I) && user.a_intent != INTENT_HARM) + var/obj/item/weldingtool/WT = I + if(stat & BROKEN) + if(WT.remove_fuel(0,user)) + user.visible_message("[user] is repairing [src].", \ + "You begin repairing [src]...", \ + "You hear welding.") + playsound(loc, WT.usesound, 40, 1) + if(do_after(user,40*WT.toolspeed, 1, target = src)) + if(!WT.isOn() || !(stat & BROKEN)) + return + to_chat(user, "You repair [src].") + playsound(loc, 'sound/items/welder2.ogg', 50, 1) + stat &= ~BROKEN + obj_integrity = max_integrity + update_icon() + else + to_chat(user, "[src] does not need repairs.") else return ..() diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 7f6cca54efa..3210e899876 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -48,7 +48,6 @@ var/datum/canister_icons/canister_icon_container = new() icon = 'icons/obj/atmos.dmi' icon_state = "yellow" density = 1 - var/health = 100.0 flags = CONDUCT armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 50) max_integrity = 250 @@ -265,6 +264,22 @@ update_flag return canister_break() +/obj/machinery/portable_atmospherics/canister/attackby(obj/item/I, mob/user, params) + if(user.a_intent != INTENT_HARM && iswelder(I)) + var/obj/item/weldingtool/WT = I + if(stat & BROKEN) + if(!WT.remove_fuel(0, user)) + return + playsound(loc, WT.usesound, 40, 1) + to_chat(user, "You begin cutting [src] apart...") + if(do_after(user, 30, target = src)) + deconstruct(TRUE) + else + to_chat(user, "You cannot slice [src] apart when it isn't broken.") + return TRUE + else + return ..() + /obj/machinery/portable_atmospherics/canister/proc/canister_break() disconnect() var/datum/gas_mixture/expelled_gas = air_contents.remove(air_contents.total_moles()) @@ -336,19 +351,6 @@ update_flag return GM.return_pressure() return 0 -/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/W as obj, var/mob/user as mob, params) - user.changeNext_move(CLICK_CD_MELEE) - if(iswelder(W) && src.destroyed) - if(weld(W, user)) - to_chat(user, "You salvage whats left of \the [src]") - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src.loc) - M.amount = 3 - qdel(src) - return - - if(istype(W, /obj/item/wrench) && !istype(W, /obj/item/tank) && !istype(W, /obj/item/analyzer) && !istype(W, /obj/item/pda)) - return ..() - /obj/machinery/portable_atmospherics/canister/replace_tank(mob/living/user, close_valve) . = ..() if(.) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index c74ad40e6c3..34915f2d01b 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -12,8 +12,6 @@ w_class = WEIGHT_CLASS_SMALL anchored = FALSE materials = list(MAT_METAL=400, MAT_GLASS=250) - max_integrity = 150 - can_be_hit = TRUE // Motion, EMP-Proof, X-Ray var/list/obj/item/possible_upgrades = list(/obj/item/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/analyzer) var/list/upgrades = list() diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 15468dae4bf..dfac3250d44 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -16,172 +16,220 @@ QDEL_NULL(brain) return ..() -/obj/structure/AIcore/attackby(obj/item/P as obj, mob/user as mob, params) - switch(state) - if(0) - if(istype(P, /obj/item/wrench)) - playsound(loc, P.usesound, 50, 1) - if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "You wrench the frame into place.") - anchored = 1 - state = 1 - if(istype(P, /obj/item/weldingtool)) - var/obj/item/weldingtool/WT = P - if(!WT.isOn()) - to_chat(user, "The welder must be on for this task.") +/obj/structure/AIcore/attackby(obj/item/P, mob/user, params) + if(istype(P, /obj/item/wrench)) + return default_unfasten_wrench(user, P, 20) + if(!anchored) + if(iswelder(P)) + if(state != EMPTY_CORE) + to_chat(user, "The core must be empty to deconstruct it!") + return + var/obj/item/weldingtool/WT = P + if(!WT.isOn()) + to_chat(user, "The welder must be on for this task!") + return + playsound(loc, WT.usesound, 50, 1) + to_chat(user, "You start to deconstruct the frame...") + if(do_after(user, 20*P.toolspeed, target = src) && src && state == EMPTY_CORE && WT && WT.remove_fuel(0, user)) + to_chat(user, "You deconstruct the frame.") + deconstruct(TRUE) + return + else + switch(state) + if(EMPTY_CORE) + if(istype(P, /obj/item/circuitboard/aicore)) + if(!user.drop_item()) + return + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You place the circuit board inside the frame.") + update_icon() + state = CIRCUIT_CORE + P.forceMove(src) + circuit = P return - playsound(loc, WT.usesound, 50, 1) - if(do_after(user, 20 * WT.toolspeed, target = src)) - if(!src || !WT.remove_fuel(0, user)) return - to_chat(user, "You deconstruct the frame.") - new /obj/item/stack/sheet/plasteel(loc, 4) - qdel(src) - if(1) - if(istype(P, /obj/item/wrench)) - playsound(loc, P.usesound, 50, 1) - if(do_after(user, 20 * P.toolspeed, target = src)) - to_chat(user, "You unfasten the frame.") - anchored = 0 - state = 0 - if(istype(P, /obj/item/circuitboard/aicore) && !circuit) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You place the circuit board inside the frame.") - icon_state = "1" - circuit = P - user.drop_item() - P.loc = src - if(istype(P, /obj/item/screwdriver) && circuit) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You screw the circuit board into place.") - state = 2 - icon_state = "2" - if(istype(P, /obj/item/crowbar) && circuit) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You remove the circuit board.") - state = 1 - icon_state = "0" - circuit.loc = loc - circuit = null - if(2) - if(istype(P, /obj/item/screwdriver) && circuit) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You unfasten the circuit board.") - state = 1 - icon_state = "1" - if(istype(P, /obj/item/stack/cable_coil)) - if(P:amount >= 5) + if(CIRCUIT_CORE) + if(isscrewdriver(P)) playsound(loc, P.usesound, 50, 1) - if(do_after(user, 20 * P.toolspeed, target = src)) - P:amount -= 5 - if(!P:amount) qdel(P) - to_chat(user, "You add cables to the frame.") - state = 3 - icon_state = "3" - if(3) - if(istype(P, /obj/item/wirecutters)) - if(brain) - to_chat(user, "Get that brain out of there first") - else + to_chat(user, "You screw the circuit board into place.") + state = SCREWED_CORE + update_icon() + return + if(iscrowbar(P)) playsound(loc, P.usesound, 50, 1) - to_chat(user, "You remove the cables.") - state = 2 - icon_state = "2" - var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) - A.amount = 5 + to_chat(user, "You remove the circuit board.") + state = EMPTY_CORE + update_icon() + circuit.forceMove(loc) + circuit = null + return + if(SCREWED_CORE) + if(iswirecutter(P) && circuit) + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You unfasten the circuit board.") + state = CIRCUIT_CORE + update_icon() + return + if(istype(P, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = P + if(C.get_amount() >= 5) + playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) + to_chat(user, "You start to add cables to the frame...") + if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) + to_chat(user, "You add cables to the frame.") + state = CABLED_CORE + update_icon() + else + to_chat(user, "You need five lengths of cable to wire the AI core!") + return + if(CABLED_CORE) + if(iswirecutter(P)) + if(brain) + to_chat(user, "Get that [brain.name] out of there first!") + else + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You remove the cables.") + state = SCREWED_CORE + update_icon() + var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) + A.amount = 5 + return - if(istype(P, /obj/item/stack/sheet/rglass)) - if(P:amount >= 2) - playsound(loc, P.usesound, 50, 1) - if(do_after(user, 20 * P.toolspeed, target = src)) - if(P) - P:amount -= 2 - if(!P:amount) qdel(P) + if(istype(P, /obj/item/stack/sheet/rglass)) + var/obj/item/stack/sheet/rglass/G = P + if(G.get_amount() >= 2) + playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) + to_chat(user, "You start to put in the glass panel...") + if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) to_chat(user, "You put in the glass panel.") - state = 4 - icon_state = "4" - - if(istype(P, /obj/item/aiModule/purge)) - laws.clear_inherent_laws() - to_chat(usr, "Law module applied.") - return - - if(istype(P, /obj/item/aiModule/freeform)) - var/obj/item/aiModule/freeform/M = P - laws.add_inherent_law(M.newFreeFormLaw) - to_chat(usr, "Added a freeform law.") - return - - if(istype(P, /obj/item/aiModule)) - var/obj/item/aiModule/M = P - if(!M.laws) - to_chat(usr, "This AI module can not be applied directly to AI cores.") - return - laws = M.laws - - if(istype(P, /obj/item/mmi)) - if(!P:brainmob) - to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.") - return - if(P:brainmob.stat == 2) - to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.") + state = GLASS_CORE + update_icon() + else + to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") return - if(jobban_isbanned(P:brainmob, "AI") || jobban_isbanned(P:brainmob,"nonhumandept")) - to_chat(user, "This [P] does not seem to fit.") + if(istype(P, /obj/item/aiModule/purge)) + laws.clear_inherent_laws() + to_chat(usr, "Law module applied.") return - if(istype(P, /obj/item/mmi/syndie)) - to_chat(user, "This MMI does not seem to fit!") + if(istype(P, /obj/item/aiModule/freeform)) + var/obj/item/aiModule/freeform/M = P + laws.add_inherent_law(M.newFreeFormLaw) + to_chat(usr, "Added a freeform law.") return - if(P:brainmob.mind) - SSticker.mode.remove_cultist(P:brainmob.mind, 1) - SSticker.mode.remove_revolutionary(P:brainmob.mind, 1) + if(istype(P, /obj/item/aiModule)) + var/obj/item/aiModule/M = P + if(!M.laws) + to_chat(usr, "This AI module can not be applied directly to AI cores.") + return + laws = M.laws - user.drop_item() - P.loc = src - brain = P - to_chat(usr, "Added [P].") + if(istype(P, /obj/item/mmi) && !brain) + var/obj/item/mmi/M = P + if(!M.brainmob) + to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.") + return + if(M.brainmob.stat == DEAD) + to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.") + return + + if(!M.brainmob.client) + to_chat(user, "Sticking an inactive [M.name] into the frame would sort of defeat the purpose.") + return + + if(jobban_isbanned(M.brainmob, "AI") || jobban_isbanned(M.brainmob, "nonhumandept")) + to_chat(user, "This [P] does not seem to fit.") + return + + if(!M.brainmob.mind) + to_chat(user, "This [M.name] is mindless!") + return + + if(istype(P, /obj/item/mmi/syndie)) + to_chat(user, "This MMI does not seem to fit!") + return + + if(!user.drop_item()) + return + + M.forceMove(src) + brain = M + to_chat(user, "You add [M.name] to the frame.") + update_icon() + return + + if(iscrowbar(P) && brain) + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You remove the brain.") + brain.forceMove(loc) + brain = null + update_icon() + return + + if(GLASS_CORE) + if(istype(P, /obj/item/crowbar)) + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You remove the glass panel.") + state = CABLED_CORE + update_icon() + new /obj/item/stack/sheet/rglass(loc, 2) + return + + if(isscrewdriver(P)) + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You connect the monitor.") + if(!brain) + var/open_for_latejoin = alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", "Yes", "Yes", "No") == "Yes" + var/obj/structure/AIcore/deactivated/D = new(loc) + if(open_for_latejoin) + empty_playable_ai_cores += D + else + if(brain.brainmob.mind) + SSticker.mode.remove_cultist(brain.brainmob.mind, 1) + SSticker.mode.remove_revolutionary(brain.brainmob.mind, 1) + + var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(loc, laws, brain) + if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created + A.rename_self("AI", 1) + feedback_inc("cyborg_ais_created",1) + qdel(src) + + if(AI_READY_CORE) + if(istype(P, /obj/item/aicard)) + P.transfer_ai("INACTIVE", "AICARD", src, user) + return + + if(isscrewdriver(P)) + playsound(loc, P.usesound, 50, 1) + to_chat(user, "You disconnect the monitor.") + state = GLASS_CORE + update_icon() + return + return ..() + +/obj/structure/AIcore/update_icon() + switch(state) + if(EMPTY_CORE) + icon_state = "0" + if(CIRCUIT_CORE) + icon_state = "1" + if(SCREWED_CORE) + icon_state = "2" + if(CABLED_CORE) + if(brain) icon_state = "3b" - - if(istype(P, /obj/item/crowbar) && brain) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You remove the brain.") - brain.loc = loc - brain = null + else icon_state = "3" - - if(4) - if(istype(P, /obj/item/crowbar)) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You remove the glass panel.") - state = 3 - if(brain) - icon_state = "3b" - else - icon_state = "3" - new /obj/item/stack/sheet/rglass( loc, 2 ) - return - - if(istype(P, /obj/item/screwdriver)) - playsound(loc, P.usesound, 50, 1) - to_chat(user, "You connect the monitor.") - if(!brain) - var/open_for_latejoin = alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", "Yes", "Yes", "No") == "Yes" - var/obj/structure/AIcore/deactivated/D = new(loc) - if(open_for_latejoin) - empty_playable_ai_cores += D - else - var/mob/living/silicon/ai/A = new /mob/living/silicon/ai ( loc, laws, brain ) - if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created - A.rename_self("AI", 1) - feedback_inc("cyborg_ais_created",1) - qdel(src) + if(GLASS_CORE) + icon_state = "4" + if(AI_READY_CORE) + icon_state = "ai-empty" /obj/structure/AIcore/deconstruct(disassembled = TRUE) - if(state == 4) + if(state == GLASS_CORE) new /obj/item/stack/sheet/rglass(loc, 2) - if(state >= 3) + if(state >= CABLED_CORE) new /obj/item/stack/cable_coil(loc, 5) if(circuit) circuit.forceMove(loc) @@ -190,41 +238,20 @@ qdel(src) /obj/structure/AIcore/deactivated - name = "Inactive AI" - icon = 'icons/mob/AI.dmi' + name = "inactive AI" icon_state = "ai-empty" - anchored = 1 - state = 20//So it doesn't interact based on the above. Not really necessary. + anchored = TRUE + state = AI_READY_CORE + +/obj/structure/AIcore/deactivated/New() + ..() + circuit = new(src) /obj/structure/AIcore/deactivated/Destroy() if(src in empty_playable_ai_cores) empty_playable_ai_cores -= src return ..() -/obj/structure/AIcore/deactivated/attackby(var/obj/item/W, var/mob/user, params) - if(istype(W, /obj/item/aicard))//Is it? - var/obj/item/aicard/card = W - card.transfer_ai("INACTIVE","AICARD",src,user) - else if(istype(W, /obj/item/wrench)) - if(anchored) - user.visible_message("\The [user] starts to unbolt \the [src] from the plating...") - if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\The [user] decides not to unbolt \the [src].") - return - user.visible_message("\The [user] finishes unfastening \the [src]!") - anchored = 0 - return - else - user.visible_message("\The [user] starts to bolt \the [src] to the plating...") - if(!do_after(user, 40 * W.toolspeed, target = src)) - user.visible_message("\The [user] decides not to bolt \the [src].") - return - user.visible_message("\The [user] finishes fastening down \the [src]!") - anchored = 1 - return - else - return ..() - /client/proc/empty_ai_core_toggle_latejoin() set name = "Toggle AI Core Latejoin" set category = "Admin" @@ -258,7 +285,7 @@ That prevents a few funky behaviors. //The type of interaction, the player performing the operation, the AI itself, and the card object, if any. -atom/proc/transfer_ai(var/interaction, var/mob/user, var/mob/living/silicon/ai/AI, var/obj/item/aicard/card) +atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(istype(card)) if(card.flush) to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.") @@ -266,8 +293,8 @@ atom/proc/transfer_ai(var/interaction, var/mob/user, var/mob/living/silicon/ai/A return 1 -/obj/structure/AIcore/deactivated/transfer_ai(var/interaction, var/mob/user, var/mob/living/silicon/ai/AI, var/obj/item/aicard/card) - if(!..()) +/obj/structure/AIcore/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) + if(state != AI_READY_CORE || !..()) return //Transferring a carded AI to a core. if(interaction == AI_TRANS_FROM_CARD) @@ -278,4 +305,4 @@ atom/proc/transfer_ai(var/interaction, var/mob/user, var/mob/living/silicon/ai/A to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") qdel(src) else //If for some reason you use an empty card on an empty AI terminal. - to_chat(user, "There is no AI loaded on this terminal!") + to_chat(user, "There is no AI loaded on this terminal!") \ No newline at end of file diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index c911d158576..b8a2f8fa64c 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -89,17 +89,6 @@ else to_chat(user, "You need five lengths of cable to wire the frame.") return - else if(istype(P, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/G = P - if(G.amount < 5) - to_chat(user, "You do not have enough glass to build a display case.") - return - G.use(5) - to_chat(user, "You add the glass to the frame.") - playsound(get_turf(src), G.usesound, 50, 1) - new /obj/structure/displaycase_frame(src.loc) - qdel(src) - return if(istype(P, /obj/item/wrench)) playsound(src.loc, P.usesound, 75, 1) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 2d61a318bd8..1b566c95e42 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -97,7 +97,6 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co var/obj/item/photo/photo = null var/channel_name = "" //the feed channel which will be receiving the feed, or being created var/c_locked = 0 //Will our new channel be locked to public submissions? - var/hitstaken = 0 //Death at 3 hits from an item with force>=15 var/datum/feed_channel/viewing_channel = null var/silence = 0 var/temp = null @@ -574,35 +573,36 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co to_chat(user, "Now [anchored ? "un" : ""]securing [name]") playsound(loc, I.usesound, 50, 1) if(do_after(user, 60 * I.toolspeed, target = src)) - new /obj/item/mounted/frame/newscaster_frame(loc) - playsound(loc, I.usesound, 50, 1) - qdel(src) - return - - if(stat & BROKEN) - playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 100, 1) - visible_message("[user.name] further abuses the shattered [name].", null, 5) - else - if(istype(I, /obj/item) ) - var/obj/item/W = I - if(W.damtype == STAMINA) - return - if(W.force < 15) - visible_message("[user.name] hits the [name] with the [W.name] with no visible effect.", null , 5) - playsound(loc, 'sound/effects/glasshit.ogg', 100, 1) + playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) + if(stat & BROKEN) + to_chat(user, "The broken remains of [src] fall on the ground.") + new /obj/item/stack/sheet/metal(loc, 5) + new /obj/item/shard(loc) + new /obj/item/shard(loc) else - hitstaken++ - if(hitstaken == 3) - visible_message("[user.name] smashes the [name]!", null, 5) - stat |= BROKEN - playsound(loc, 'sound/effects/Glassbr3.ogg', 100, 1) - else - visible_message("[user.name] forcefully slams the [name] with the [I.name]!", null, 5) - playsound(loc, 'sound/effects/glasshit.ogg', 100, 1) + to_chat(user, "You [anchored ? "un" : ""]secure [name].") + new /obj/item/mounted/frame/newscaster_frame(loc) + qdel(src) + else if(iswelder(I) && user.a_intent != INTENT_HARM) + var/obj/item/weldingtool/WT = I + if(stat & BROKEN) + if(WT.remove_fuel(0, user)) + user.visible_message("[user] is repairing [src].", + "You begin repairing [src]...", + "You hear welding.") + playsound(loc, WT.usesound, 40, 1) + if(do_after(user,40 * WT.toolspeed, 1, target = src)) + if(!WT.isOn() || !(stat & BROKEN)) + return + to_chat(user, "You repair [src].") + playsound(loc, 'sound/items/welder2.ogg', 50, 1) + obj_integrity = max_integrity + stat &= ~BROKEN + update_icon() else - to_chat(user, "This does nothing.") - update_icon() - ..() + to_chat(user, "[src] does not need repairs.") + else + return ..() /obj/machinery/newscaster/play_attack_sound(damage, damage_type = BRUTE, damage_flag = 0) switch(damage_type) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f8eb1bb1e97..4955f7f508a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -20,8 +20,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d can_be_hit = FALSE suicidal_hands = TRUE - var/r_speed = 1.0 - var/health = null var/hitsound = null var/usesound = null var/throwhitsound diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 8e85709ef97..8ca65d7a668 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -1,133 +1,94 @@ /obj/item/ashtray icon = 'icons/ashtray.dmi' - var/ - max_butts = 0 - empty_desc = "" - icon_empty = "" - icon_half = "" - icon_full = "" - icon_broken = "" + var/max_butts = 0 + var/icon_half = "" + var/icon_full = "" -/obj/item/ashtray/New() - ..() - src.pixel_y = rand(-5, 5) - src.pixel_x = rand(-6, 6) - return +/obj/item/ashtray/Initialize(mapload) + . = ..() + pixel_y = rand(-5, 5) + pixel_x = rand(-6, 6) -/obj/item/ashtray/attackby(obj/item/W as obj, mob/user as mob, params) - if(health < 1) - return - if(istype(W,/obj/item/cigbutt) || istype(W,/obj/item/clothing/mask/cigarette) || istype(W, /obj/item/match)) +/obj/item/ashtray/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/cigbutt) || istype(I, /obj/item/clothing/mask/cigarette) || istype(I, /obj/item/match)) if(contents.len >= max_butts) to_chat(user, "This ashtray is full.") return - user.unEquip(W) - W.loc = src + if(!user.unEquip(I)) + return + I.forceMove(src) - if(istype(W,/obj/item/clothing/mask/cigarette)) - var/obj/item/clothing/mask/cigarette/cig = W + if(istype(I, /obj/item/clothing/mask/cigarette)) + var/obj/item/clothing/mask/cigarette/cig = I if(cig.lit == 1) - src.visible_message("[user] crushes [cig] in [src], putting it out.") + visible_message("[user] crushes [cig] in [src], putting it out.") var/obj/item/butt = new cig.type_butt(src) cig.transfer_fingerprints_to(butt) qdel(cig) else if(cig.lit == 0) to_chat(user, "You place [cig] in [src] without even smoking it. Why would you do that?") - src.visible_message("[user] places [W] in [src].") - user.update_inv_l_hand() - user.update_inv_r_hand() + visible_message("[user] places [I] in [src].") add_fingerprint(user) - if(contents.len == max_butts) - icon_state = icon_full - desc = empty_desc + " It's stuffed full." - else if(contents.len > max_butts/2) - icon_state = icon_half - desc = empty_desc + " It's half-filled." + update_icon() else - health = max(0,health - W.force) - to_chat(user, "You hit [src] with [W].") - if(health < 1) - die() - return + return ..() + +/obj/item/ashtray/update_icon() + if(contents.len == max_butts) + icon_state = icon_full + desc = initial(desc) + " It's stuffed full." + if(contents.len > max_butts * 0.5) + icon_state = icon_half + desc = initial(desc) + " It's half-filled." + else + icon_state = initial(icon_state) + desc = initial(desc) + +/obj/item/ashtray/deconstruct() + empty_tray() + qdel(src) + +/obj/item/ashtray/proc/empty_tray() + for(var/obj/item/I in contents) + I.forceMove(loc) + update_icon() /obj/item/ashtray/throw_impact(atom/hit_atom) - if(health > 0) - health = max(0,health - 3) - if(health < 1) - die() - return - if(contents.len) - src.visible_message("[src] slams into [hit_atom] spilling its contents!") - for(var/obj/item/clothing/mask/cigarette/O in contents) - O.loc = src.loc - icon_state = icon_empty + if(contents.len) + visible_message("[src] slams into [hit_atom] spilling its contents!") + empty_tray() return ..() -/obj/item/ashtray/proc/die() - src.visible_message("[src] shatters spilling its contents!") - for(var/obj/item/clothing/mask/cigarette/O in contents) - O.loc = src.loc - icon_state = icon_broken - /obj/item/ashtray/plastic name = "plastic ashtray" desc = "Cheap plastic ashtray." icon_state = "ashtray_bl" - icon_empty = "ashtray_bl" icon_half = "ashtray_half_bl" icon_full = "ashtray_full_bl" - icon_broken = "ashtray_bork_bl" - max_butts = 14 - health = 24.0 + max_butts = 8 + max_integrity = 8 materials = list(MAT_METAL=30, MAT_GLASS=30) - empty_desc = "Cheap plastic ashtray." - throwforce = 3.0 - die() - ..() - name = "pieces of plastic" - desc = "Pieces of plastic with ash on them." - return - + throwforce = 3 /obj/item/ashtray/bronze name = "bronze ashtray" desc = "Massive bronze ashtray." icon_state = "ashtray_br" - icon_empty = "ashtray_br" icon_half = "ashtray_half_br" icon_full = "ashtray_full_br" - icon_broken = "ashtray_bork_br" - max_butts = 10 - health = 72.0 + max_butts = 16 + max_integrity = 16 materials = list(MAT_METAL=80) - empty_desc = "Massive bronze ashtray." - throwforce = 10.0 - - die() - ..() - name = "pieces of bronze" - desc = "Pieces of bronze with ash on them." - return - + throwforce = 10 /obj/item/ashtray/glass name = "glass ashtray" desc = "Glass ashtray. Looks fragile." icon_state = "ashtray_gl" - icon_empty = "ashtray_gl" icon_half = "ashtray_half_gl" icon_full = "ashtray_full_gl" - icon_broken = "ashtray_bork_gl" max_butts = 12 - health = 12.0 + max_integrity = 12 materials = list(MAT_GLASS=60) - empty_desc = "Glass ashtray. Looks fragile." - throwforce = 6.0 - - die() - ..() - name = "shards of glass" - desc = "Shards of glass with ash on them." - playsound(src, "shatter", 30, 1) - return \ No newline at end of file + throwforce = 6 \ No newline at end of file diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 63b5c6b5b10..e85aa28bde8 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -178,6 +178,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list( new /datum/stack_recipe("rifle stock", /obj/item/weaponcrafting/stock, 10, time = 40), new /datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), + new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("wooden buckler", /obj/item/shield/riot/buckler, 20, time = 40), new /datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50), new /datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10), diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index b0f89c6215b..5ffcaa9291c 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -22,8 +22,7 @@ for(var/obj/structure/blob/B in hear(8, flashbang_turf)) //Blob damage here var/damage = round(30 / (get_dist(B, get_turf(src)) + 1)) - B.health -= damage - B.update_icon() + B.take_damage(damage, BURN, "melee", 0) spawn(light_time) qdel(src) diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index 6b9c4d815f4..7fd965b5c2a 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -31,8 +31,7 @@ for(var/obj/structure/blob/B in view(8,src)) var/damage = round(30/(get_dist(B,src)+1)) - B.health -= damage - B.update_icon() + B.take_damage(damage, BURN, "melee", 0) sleep(80) qdel(src) return diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 44d430c590e..a0f578b7061 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -13,7 +13,6 @@ var/welded = FALSE var/locked = FALSE var/wall_mounted = 0 //never solid (You can always pass over it) - var/health = 100 var/lastbang var/cutting_tool = /obj/item/weldingtool var/sound = 'sound/machines/click.ogg' diff --git a/code/game/objects/structures/crates_lockers/closets/secure/depot.dm b/code/game/objects/structures/crates_lockers/closets/secure/depot.dm index 95a523196da..6f5ab3c2dac 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/depot.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/depot.dm @@ -4,7 +4,6 @@ desc = "" locked = 0 anchored = 1 - health = 200 req_access = list() layer = 2.9 // ensures the loot they drop always appears on top of them. var/is_armory = FALSE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index f10efc4858a..dd8b1a4c08a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -17,7 +17,6 @@ var/icon_broken = "securebroken" var/icon_off = "secureoff" wall_mounted = 0 //never solid (You can always pass over it) - health = 200 /obj/structure/closet/secure_closet/can_open() if(!..()) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index 87057c29748..a6fe47e0e9d 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -5,7 +5,7 @@ icon_state = "human_male" density = 1 anchored = 1 - health = 0 //destroying the statue kills the mob within + max_integrity = 0 //destroying the statue kills the mob within var/intialTox = 0 //these are here to keep the mob from taking damage from things that logically wouldn't affect a rock var/intialFire = 0 //it's a little sloppy I know but it was this or the GODMODE flag. Lesser of two evils. var/intialBrute = 0 @@ -20,7 +20,7 @@ L.anchored = 0 L.forceMove(src) L.disabilities += MUTE - health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues + max_integrity = L.health + 100 //stoning damaged mobs will result in easier to shatter statues intialTox = L.getToxLoss() intialFire = L.getFireLoss() intialBrute = L.getBruteLoss() @@ -37,7 +37,7 @@ icon_state = "corgi" desc = "If it takes forever, I will wait for you..." - if(health == 0) //meaning if the statue didn't find a valid target + if(max_integrity == 0) //meaning if the statue didn't find a valid target qdel(src) return @@ -70,7 +70,7 @@ for(var/mob/living/M in src) M.forceMove(loc) M.disabilities -= MUTE - M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob + M.take_overall_damage((M.health - obj_integrity - 100),0) //any new damage the statue incurred is transfered to the mob ..() @@ -87,16 +87,10 @@ /obj/structure/closet/statue/toggle() return -/obj/structure/closet/statue/proc/check_health() - if(health <= 0) - for(var/mob/M in src) - shatter(M) - -/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob, params) - user.changeNext_move(CLICK_CD_MELEE) - health -= I.force - visible_message("[user] strikes [src] with [I].") - check_health() +/obj/structure/closet/statue/obj_destruction(damage_flag) + for(var/mob/M in src) + shatter(M) + ..() /obj/structure/closet/statue/MouseDrop_T() return @@ -113,9 +107,8 @@ /obj/structure/closet/statue/update_icon() return -/obj/structure/closet/statue/proc/shatter(mob/user as mob) +/obj/structure/closet/statue/proc/shatter(mob/user) if(user) user.dust() dump_contents() - visible_message("[src] shatters!. ") - qdel(src) + visible_message("[src] shatters!. ") \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 56748357506..1490385fb9a 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -226,7 +226,6 @@ var/tamperproof = 0 broken = 0 locked = 1 - health = 1000 /obj/structure/closet/crate/secure/update_icon() ..() diff --git a/code/game/objects/structures/depot.dm b/code/game/objects/structures/depot.dm index acc4ea55282..5ea249b5ed2 100644 --- a/code/game/objects/structures/depot.dm +++ b/code/game/objects/structures/depot.dm @@ -26,7 +26,7 @@ if(!has_overloaded) overload(TRUE, TRUE) depotarea.reactor = null - ..() + return ..() /obj/structure/fusionreactor/ex_act(severity) if(severity < 3) @@ -41,13 +41,15 @@ if(iswrench(I)) playsound(loc, I.usesound, 50, 1) to_chat(user, "The [src] is too well secured to the floor.") - else if(isscrewdriver(I)) + return + if(isscrewdriver(I)) to_chat(user, "You try to screwdriver open [src], but accidentally release some radiation!") if(prob(50)) empulse(src, 4, 10) else for(var/mob/living/M in range(10, loc)) M.apply_effect(rand(5, 25), IRRADIATE) + return else return ..() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 09a12a9171d..62ff1fb8281 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -1,169 +1,53 @@ -#define DISPLAYCASE_FRAME_CIRCUIT 0 -#define DISPLAYCASE_FRAME_SCREWDRIVER 1 - -// List and hook used to set up the captain's print on their display case -GLOBAL_LIST_INIT(captain_display_cases, list()) - -/proc/updateDisplaycase(mob/living/carbon/human/captain) - if(!GLOB.captain_display_cases.len) - return - var/fingerprint = captain.get_full_print() - for(var/item in GLOB.captain_display_cases) - var/obj/structure/displaycase/CASE = item - CASE.ue = fingerprint - -/obj/structure/displaycase_frame - name = "display case frame" - icon = 'icons/obj/stock_parts.dmi' - icon_state = "box_glass" - resistance_flags = ACID_PROOF - armor = list("melee" = 30, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) - var/obj/item/airlock_electronics/circuit = null - var/obj/item/assembly/prox_sensor/sensor = null - var/state = DISPLAYCASE_FRAME_CIRCUIT - -/obj/structure/displaycase_frame/Destroy() - QDEL_NULL(circuit) - QDEL_NULL(sensor) - return ..() - -/obj/structure/displaycase_frame/attackby(obj/item/W as obj, mob/user as mob, params) - var/pstate = state - var/turf/T = get_turf(src) - switch(state) - if(DISPLAYCASE_FRAME_CIRCUIT) - if(istype(W, /obj/item/airlock_electronics) && W.icon_state != "door_electronics_smoked") - user.drop_item() - circuit = W - circuit.forceMove(src) - state++ - to_chat(user, "You add the airlock electronics to the frame.") - playsound(get_turf(src),W.usesound, 50, 1) - if(istype(W, /obj/item/crowbar)) - new /obj/machinery/constructable_frame/machine_frame(T) - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(T) - G.amount = 5 - qdel(src) - to_chat(user, "You pry the glass out of the frame.") - playsound(get_turf(src), W.usesound, 50, 1) - return - - if(DISPLAYCASE_FRAME_SCREWDRIVER) - if(isscrewdriver(W)) - var/obj/structure/displaycase/C = new(T) - if(circuit.one_access) - C.req_access = null - C.req_one_access = circuit.conf_access - else - C.req_access = circuit.conf_access - C.req_one_access = null - if(isprox(sensor)) - C.burglar_alarm = 1 - playsound(get_turf(src), W.usesound, 50, 1) - qdel(src) - return - if(istype(W, /obj/item/crowbar)) - circuit.forceMove(T) - circuit = null - if(isprox(sensor)) - sensor.forceMove(T) - sensor = null - state-- - to_chat(user, "You pry the electronics out of the frame.") - playsound(get_turf(src), W.usesound, 50, 1) - if(isprox(W) && !isprox(sensor)) - user.drop_item() - sensor = W - sensor.forceMove(src) - to_chat(user, "You add the proximity sensor to the frame.") - playsound(src.loc, W.usesound, 50, 1) - - if(pstate != state) - pstate = state - update_icon() - -/obj/structure/displaycase_frame/update_icon() - switch(state) - if(1) - icon_state = "box_glass_circuit" - else - icon_state = "box_glass" - /obj/structure/displaycase name = "display case" icon = 'icons/obj/stationobjs.dmi' - icon_state = "glassbox20" - desc = "A display case for prized possessions. It taunts you to kick it." + icon_state = "glassbox0" + desc = "A display case for prized possessions." density = TRUE anchored = TRUE resistance_flags = ACID_PROOF armor = list("melee" = 30, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) max_integrity = 200 integrity_failure = 50 - var/health = 30 - var/obj/item/occupant = null - var/destroyed = FALSE - var/locked = FALSE - var/burglar_alarm = FALSE - var/ue = null - var/image/occupant_overlay = null - var/obj/item/airlock_electronics/circuit + var/obj/item/showpiece = null + var/alert = TRUE + var/open = FALSE + var/openable = TRUE + var/obj/item/airlock_electronics/electronics var/start_showpiece_type = null //add type for items on display - var/alarm_needs_power = TRUE + var/list/start_showpieces = list() //Takes sublists in the form of list("type" = /obj/item/bikehorn, "trophy_message" = "henk") + var/trophy_message = "" -/obj/structure/displaycase/New() +/obj/structure/displaycase/Initialize(mapload) . = ..() + if(start_showpieces.len && !start_showpiece_type) + var/list/showpiece_entry = pick(start_showpieces) + if (showpiece_entry && showpiece_entry["type"]) + start_showpiece_type = showpiece_entry["type"] + if (showpiece_entry["trophy_message"]) + trophy_message = showpiece_entry["trophy_message"] if(start_showpiece_type) - occupant = new start_showpiece_type(src) + showpiece = new start_showpiece_type (src) update_icon() /obj/structure/displaycase/Destroy() - dump() - QDEL_NULL(circuit) + QDEL_NULL(electronics) + QDEL_NULL(showpiece) return ..() -/obj/structure/displaycase/captains_laser - name = "captain's display case" - desc = "A display case for the captain's antique laser gun. Hooked up with an anti-theft system." - burglar_alarm = TRUE - locked = TRUE - req_access = list(access_captain) - start_showpiece_type = /obj/item/gun/energy/laser/captain - -/obj/structure/displaycase/captains_laser/Initialize(mapload) - . = ..() - GLOB.captain_display_cases += src - -/obj/structure/displaycase/captains_laser/Destroy() - GLOB.captain_display_cases -= src - return ..() - -/obj/structure/displaycase/lavaland_winter - burglar_alarm = TRUE - locked = TRUE - req_access = list(access_cent_specops) - start_showpiece_type = /obj/item/gun/energy/laser/captain - -/obj/structure/displaycase/stechkin - name = "officer's display case" - desc = "A display case containing a humble stechkin pistol. Never forget your roots." - locked = 1 - req_access = list(access_syndicate_command) - start_showpiece_type = /obj/item/gun/projectile/automatic/pistol - /obj/structure/displaycase/examine(mob/user) . = ..() - . += "Peering through the glass, you see that it contains:" - if(occupant) - . += "[bicon(occupant)] \A [occupant]." - else - . += "Nothing." + if(alert) + . += "Hooked up with an anti-theft system." + if(showpiece) + . += "There's [showpiece] inside." + if(trophy_message) + . += "The plaque reads:\n [trophy_message]" /obj/structure/displaycase/proc/dump() - if(occupant) - occupant.forceMove(get_turf(src)) - occupant = null - occupant_overlay = null + if(showpiece) + showpiece.forceMove(loc) + showpiece = null /obj/structure/displaycase/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) @@ -176,8 +60,8 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) if(!(flags & NODECONSTRUCT)) dump() if(!disassembled) - new /obj/item/shard( src.loc ) - burglar_alarm() + new /obj/item/shard(loc) + trigger_alarm() qdel(src) /obj/structure/displaycase/obj_break(damage_flag) @@ -187,30 +71,10 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) new /obj/item/shard( src.loc ) playsound(src, "shatter", 70, TRUE) update_icon() - burglar_alarm() + trigger_alarm() -/obj/structure/displaycase/proc/healthcheck() - if(src.health <= 0) - health = 0 - if(!( src.destroyed )) - src.density = 0 - src.destroyed = 1 - new /obj/item/shard(loc) - playsound(get_turf(src), "shatter", 70, 1) - update_icon() - spawn(0) - if(!alarm_needs_power) - burglar_alarm() - else - var/area/a = get_area(src) - if(isarea(a) && a.power_equip) - burglar_alarm() - else - playsound(get_turf(src), 'sound/effects/Glasshit.ogg', 75, 1) - return - -/obj/structure/displaycase/proc/burglar_alarm() - if(burglar_alarm && is_station_contact(z)) +/obj/structure/displaycase/proc/trigger_alarm() + if(alert && is_station_contact(z)) var/area/alarmed = get_area(src) alarmed.burglaralert(src) visible_message("The burglar alarm goes off!") @@ -220,130 +84,153 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) sleep(74) // 7.4 seconds long /obj/structure/displaycase/update_icon() - if(destroyed) - icon_state = "glassbox2b" + var/icon/I + if(open) + I = icon('icons/obj/stationobjs.dmi',"glassbox_open") else - icon_state = "glassbox2[locked]" - overlays = 0 - if(occupant) - var/icon/occupant_icon=getFlatIcon(occupant) - occupant_icon.Scale(16,16) - occupant_overlay = image(occupant_icon) - occupant_overlay.pixel_x = 8 - occupant_overlay.pixel_y = 8 - if(locked) - occupant_overlay.alpha = 128 - overlays += occupant_overlay - return + I = icon('icons/obj/stationobjs.dmi',"glassbox0") + if(broken) + I = icon('icons/obj/stationobjs.dmi',"glassboxb0") + if(showpiece) + var/icon/S = getFlatIcon(showpiece) + S.Scale(17, 17) + I.Blend(S,ICON_UNDERLAY,8,8) + icon = I -/obj/structure/displaycase/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/card)) - var/obj/item/card/id/I = W - if(!check_access(I)) - to_chat(user, "Access denied.") - return - locked = !locked - if(!locked) - to_chat(user, "[bicon(src)] \The [src] clicks as locks release, and it slowly opens for you.") +/obj/structure/displaycase/attackby(obj/item/I, mob/user, params) + if(I.GetID() && !broken && openable) + if(allowed(user)) + to_chat(user, "You [open ? "close":"open"] [src].") + toggle_lock(user) else - to_chat(user, "[bicon(src)] You close \the [src] and swipe your card, locking it.") + to_chat(user, "Access denied.") + else if(iswelder(I) && user.a_intent == INTENT_HELP && !broken) + var/obj/item/weldingtool/WT = I + if(obj_integrity < max_integrity && WT.remove_fuel(5, user)) + to_chat(user, "You begin repairing [src].") + playsound(loc, WT.usesound, 40, 1) + if(do_after(user, 40 * WT.toolspeed, target = src)) + obj_integrity = max_integrity + playsound(loc, 'sound/items/welder2.ogg', 50, 1) + update_icon() + to_chat(user, "You repair [src].") + else + to_chat(user, "[src] is already in good condition!") + return + else if(!alert && iscrowbar(I) && openable) //Only applies to the lab cage and player made display cases + if(broken) + if(showpiece) + to_chat(user, "Remove the displayed object first.") + else + to_chat(user, "You remove the destroyed case") + qdel(src) + else + to_chat(user, "You start to [open ? "close":"open"] [src].") + if(do_after(user, 20 * I.toolspeed, target = src)) + to_chat(user, "You [open ? "close":"open"] [src].") + toggle_lock(user) + else if(open && !showpiece) + if(user.drop_item()) + I.forceMove(src) + showpiece = I + to_chat(user, "You put [I] on display") + update_icon() + else if(istype(I, /obj/item/stack/sheet/glass) && broken) + var/obj/item/stack/sheet/glass/G = I + if(G.get_amount() < 2) + to_chat(user, "You need two glass sheets to fix the case!") + return + to_chat(user, "You start fixing [src]...") + if(do_after(user, 20, target = src)) + G.use(2) + broken = 0 + obj_integrity = max_integrity + update_icon() + else + return ..() + +/obj/structure/displaycase/proc/toggle_lock(mob/user) + open = !open + update_icon() + +/obj/structure/displaycase/attack_hand(mob/user) + user.changeNext_move(CLICK_CD_MELEE) + if(showpiece && (broken || open)) + to_chat(user, "You deactivate the hover field built into the case.") + dump() + add_fingerprint(user) update_icon() return - if(istype(W,/obj/item/crowbar) && (!locked || destroyed)) - user.visible_message("[user.name] pries \the [src] apart.", \ - "You pry \the [src] apart.", \ - "You hear something pop.") - var/turf/T = get_turf(src) - playsound(T, W.usesound, 50, 1) - dump() - var/obj/item/airlock_electronics/C = circuit - if(!C) - C = new (src) - C.one_access = !(req_access && req_access.len>0) - if(!C.one_access) - C.conf_access = req_access - else - C.conf_access = req_one_access - - if(!destroyed) - var/obj/structure/displaycase_frame/F = new(T) - F.state = DISPLAYCASE_FRAME_SCREWDRIVER - F.circuit = C - F.circuit.forceMove(F) - if(burglar_alarm) - new /obj/item/assembly/prox_sensor(T) - F.update_icon() - else - C.forceMove(T) - circuit = null - new /obj/machinery/constructable_frame/machine_frame(T) - qdel(src) - return - if(W.flags & ABSTRACT) - to_chat(user, "You can't put this into the case.") - return - if(user.a_intent == INTENT_HARM) - if(locked && !destroyed) - src.health -= W.force - src.healthcheck() - ..() - else if(!locked) - dump() - to_chat(user, "You smash \the [W] into the delicate electronics at the bottom of the case, and deactivate the hover field.") - update_icon() else - if(locked) - to_chat(user, "It's locked, you can't put anything into it.") + //prevents remote "kicks" with TK + if(!Adjacent(user)) return - if(!occupant) - if(!user.drop_item()) - to_chat(user, "[W] is stuck to you. You cannot put it in [src]!") - return - to_chat(user, "You insert \the [W] into \the [src], and it floats as the hoverfield activates.") - user.drop_item() - W.forceMove(src) - occupant=W - update_icon() + user.visible_message("[user] kicks the display case.") + user.do_attack_animation(src, ATTACK_EFFECT_KICK) + take_damage(2) -/obj/structure/displaycase/attack_hand(mob/user as mob) - if(destroyed || (!locked && user.a_intent == INTENT_HARM)) - if(occupant) - dump() - to_chat(user, "You smash your fist into the delicate electronics at the bottom of the case, and deactivate the hover field.") - src.add_fingerprint(user) - update_icon() - else - if(user.a_intent == INTENT_HARM) - user.changeNext_move(CLICK_CD_MELEE) - user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user.name] kicks \the [src]!", \ - "You kick \the [src]!", \ - "You hear glass crack.") - src.health -= 2 - healthcheck() - else if(!locked) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - var/print = H.get_full_print() - if(!ue) - to_chat(user, "Your press your thumb against the fingerprint scanner, registering your identity with the case.") - ue = print - return - if(ue != print) - to_chat(user, "Access denied.") - return +/obj/structure/displaycase_chassis + anchored = TRUE + density = FALSE + name = "display case chassis" + desc = "The wooden base of a display case." + icon = 'icons/obj/stationobjs.dmi' + icon_state = "glassbox_chassis" + var/obj/item/airlock_electronics/electronics - if(occupant) - to_chat(user, "Your press your thumb against the fingerprint scanner, and deactivate the hover field built into the case.") - dump() - update_icon() +/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params) + if(iswrench(I)) //The player can only deconstruct the wooden frame + to_chat(user, "You start disassembling [src]...") + playsound(src.loc, I.usesound, 50, 1) + if(do_after(user, 30 * I.toolspeed, target = src)) + playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) + new /obj/item/stack/sheet/wood(get_turf(src), 5) + qdel(src) + + else if(istype(I, /obj/item/airlock_electronics)) + to_chat(user, "You start installing the electronics into [src]...") + playsound(src.loc, I.usesound, 50, 1) + if(do_after(user, 30, target = src)) + if(user.drop_item()) + I.forceMove(src) + electronics = I + to_chat(user, "You install the airlock electronics.") + + else if(istype(I, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/G = I + if(G.get_amount() < 10) + to_chat(user, "You need ten glass sheets to do this!") + return + to_chat(user, "You start adding [G] to [src]...") + if(do_after(user, 20, target = src)) + G.use(10) + var/obj/structure/displaycase/display = new(src.loc) + if(electronics) + electronics.forceMove(display) + display.electronics = electronics + if(electronics.one_access) + display.req_one_access = electronics.conf_access else - to_chat(src, "[bicon(src)] \The [src] is empty!") - else - user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user.name] gently runs [user.p_their()] hands over [src] in appreciation of its contents.", \ - "You gently run your hands over [src] in appreciation of its contents.", \ - "You hear someone streaking glass with their greasy hands.") + display.req_access = electronics.conf_access + qdel(src) + else + return ..() -#undef DISPLAYCASE_FRAME_CIRCUIT -#undef DISPLAYCASE_FRAME_SCREWDRIVER +//The captains display case requiring specops ID access is intentional. +//The lab cage and captains display case do not spawn with electronics, which is why req_access is needed. +/obj/structure/displaycase/captain + alert = TRUE + start_showpiece_type = /obj/item/gun/energy/laser/captain + req_access = list(access_cent_specops) + +/obj/structure/displaycase/labcage + name = "lab cage" + desc = "A glass lab container for storing interesting creatures." + start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr + req_access = list(access_rd) + +/obj/structure/displaycase/stechkin + name = "officer's display case" + desc = "A display case containing a humble stechkin pistol. Never forget your roots." + start_showpiece_type = /obj/item/gun/projectile/automatic/pistol + req_access = list(access_syndicate_command) \ No newline at end of file diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index e9b3b2610e5..e9853f12162 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -19,12 +19,11 @@ density = 1 anchored = 1 opacity = 0 - + max_integrity = 50 icon = 'icons/obj/inflatable.dmi' icon_state = "wall" var/torn = /obj/item/inflatable/torn var/intact = /obj/item/inflatable - var/health = 50.0 /obj/structure/inflatable/Initialize(location) ..() @@ -49,20 +48,20 @@ return if(!Adjacent(usr)) return - deflate() + deconstruct(TRUE) -/obj/structure/inflatable/proc/deflate(var/violent=0) +/obj/structure/inflatable/deconstruct(disassembled = TRUE) playsound(loc, 'sound/machines/hiss.ogg', 75, 1) - if(violent) + if(!disassembled) visible_message("[src] rapidly deflates!") var/obj/item/inflatable/torn/R = new torn(loc) - src.transfer_fingerprints_to(R) + transfer_fingerprints_to(R) qdel(src) else visible_message("[src] slowly deflates.") spawn(50) var/obj/item/inflatable/R = new intact(loc) - src.transfer_fingerprints_to(R) + transfer_fingerprints_to(R) qdel(src) /obj/structure/inflatable/verb/hand_deflate() @@ -73,7 +72,7 @@ if(usr.stat || usr.restrained()) return - deflate() + deconstruct(TRUE) /obj/item/inflatable/door name = "inflatable door" @@ -209,4 +208,4 @@ new /obj/item/inflatable(src) new /obj/item/inflatable(src) new /obj/item/inflatable(src) - new /obj/item/inflatable(src) + new /obj/item/inflatable(src) \ No newline at end of file diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm deleted file mode 100644 index 3382b1e839e..00000000000 --- a/code/game/objects/structures/lamarr_cage.dm +++ /dev/null @@ -1,53 +0,0 @@ -/obj/structure/lamarr - name = "Lab Cage" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "labcage1" - desc = "A glass lab container for storing interesting creatures." - density = 1 - anchored = 1 - resistance_flags = ACID_PROOF - var/health = 30 - var/occupied = 1 - var/destroyed = 0 - -/obj/structure/lamarr/proc/healthcheck() - if(src.health <= 0) - if(!( src.destroyed )) - src.density = 0 - src.destroyed = 1 - new /obj/item/shard(loc) - playsound(src, "shatter", 70, 1) - Break() - else - playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) - return - -/obj/structure/lamarr/update_icon() - if(src.destroyed) - src.icon_state = "labcageb[src.occupied]" - else - src.icon_state = "labcage[src.occupied]" - return - - -/obj/structure/lamarr/attackby(obj/item/W as obj, mob/user as mob, params) - src.health -= W.force - src.healthcheck() - ..() - return - -/obj/structure/lamarr/attack_hand(mob/user as mob) - if(src.destroyed) - return - else - user.visible_message("[user] kicks the lab cage.", "You kick the lab cage.") - src.health -= 2 - healthcheck() - return - -/obj/structure/lamarr/proc/Break() - if(occupied) - new /obj/item/clothing/mask/facehugger/lamarr(src.loc) - occupied = 0 - update_icon() - return diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index d74fdef6ecc..f66d46f0da6 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -7,7 +7,6 @@ name = "meat" desc = "A slab of meat" icon_state = "meat" - health = 180 filling_color = "#FF1C1C" bitesize = 3 list_reagents = list("protein" = 3) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index e45ac15b78e..4439993326c 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -20,7 +20,6 @@ opacity = 1 resistance_flags = FLAMMABLE max_integrity = 200 - var/health = 50 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) var/tmp/busy = 0 var/list/allowed_books = list(/obj/item/book, /obj/item/spellbook, /obj/item/storage/bible, /obj/item/tome) //Things allowed in the bookcase diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 3017257069a..bfd7b3786e7 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -1,6 +1,5 @@ /obj/item/organ/internal/brain name = "brain" - health = 400 //They need to live awhile longer than other organs. max_damage = 120 icon_state = "brain2" force = 1.0 diff --git a/code/modules/mob/living/simple_animal/tribbles.dm b/code/modules/mob/living/simple_animal/tribbles.dm index 48daaaa7375..b916fa801f0 100644 --- a/code/modules/mob/living/simple_animal/tribbles.dm +++ b/code/modules/mob/living/simple_animal/tribbles.dm @@ -122,70 +122,6 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles, gestation = 0 to_chat(user, "You fuse some recently cut tubes together, it should be able to reproduce again.") - - -//|| Tribble Cage - Lovingly lifted from the lamarr-cage || -/obj/structure/tribble_cage - name = "Lab Cage" - icon = 'icons/mob/tribbles.dmi' - icon_state = "labcage1" - desc = "A glass lab container for storing interesting creatures." - density = 1 - anchored = 1 - resistance_flags = ACID_PROOF - var/health = 30 - var/occupied = 1 - var/destroyed = 0 - -/obj/structure/tribble_cage/bullet_act(var/obj/item/projectile/Proj) - health -= Proj.damage - ..() - src.healthcheck() - -/obj/structure/tribble_cage/proc/healthcheck() - if(src.health <= 0) - if(!( src.destroyed )) - src.density = 0 - src.destroyed = 1 - new /obj/item/shard( src.loc ) - playsound(src, "shatter", 70, 1) - Break() - else - playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1) - return - -/obj/structure/tribble_cage/update_icon() - if(src.destroyed) - src.icon_state = "labcageb[src.occupied]" - else - src.icon_state = "labcage[src.occupied]" - return - - -/obj/structure/tribble_cage/attackby(obj/item/W as obj, mob/user as mob, params) - src.health -= W.force - src.healthcheck() - ..() - return - - -/obj/structure/tribble_cage/attack_hand(mob/user as mob) - if(src.destroyed) - return - else - user.visible_message("[user] kicks the lab cage.", "You kick the lab cage.") - src.health -= 2 - healthcheck() - return - -/obj/structure/tribble_cage/proc/Break() - if(occupied) - new /mob/living/simple_animal/tribble( src.loc ) - occupied = 0 - update_icon() - return - - //||Fur and Fur Products || /obj/item/stack/sheet/fur //basic fur sheets (very lumpy furry piles of sheets) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 95f5e07e677..f9d290438d4 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -13,7 +13,6 @@ max_integrity = 150 integrity_failure = 50 var/id = 0 - var/health = 10 var/obscured = 0 var/sunfrac = 0 var/adir = SOUTH // actual dir diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 7527ed19f92..98ed11672fb 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -191,7 +191,7 @@ w_class = WEIGHT_CLASS_TINY parent_organ = "head" slot = "brain_tumor" - health = 3 + max_integrity = 3 /obj/item/organ/internal/shadowtumor/New() ..() @@ -205,11 +205,11 @@ if(isturf(loc)) var/turf/T = loc var/light_count = T.get_lumcount()*10 - if(light_count > 4 && health > 0) //Die in the light - health-- - else if(light_count < 2 && health < 3) //Heal in the dark - health++ - if(health <= 0) + if(light_count > 4 && obj_integrity > 0) //Die in the light + obj_integrity-- + else if(light_count < 2 && obj_integrity < max_integrity) //Heal in the dark + obj_integrity++ + if(obj_integrity <= 0) visible_message("[src] collapses in on itself!") qdel(src) @@ -223,7 +223,6 @@ w_class = WEIGHT_CLASS_TINY parent_organ = "head" slot = "brain_tumor" - health = 3 var/organhonked = 0 var/suffering_delay = 900 var/datum/component/waddle @@ -297,7 +296,6 @@ w_class = WEIGHT_CLASS_TINY parent_organ = "groin" slot = "honk_bladder" - health = 3 var/datum/component/squeak /obj/item/organ/internal/honkbladder/insert(mob/living/carbon/M, special = 0) diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index c33efec0f5f7f75b0164c25f5873299201559c7f..a912acc2fdfc9e235bf6777079bb301531f2ec0b 100755 GIT binary patch literal 74510 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 literal 81481 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

xk~(QKGC|leIZ+Qu$$8+!z>|JBWTBrUtz*@>Wn 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
;7j$BR(eRTfCw? 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 diff --git a/paradise.dme b/paradise.dme index a9ad9f7a46a..4d1a6500e33 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1053,7 +1053,6 @@ #include "code\game\objects\structures\janicart.dm" #include "code\game\objects\structures\kitchen_spike.dm" #include "code\game\objects\structures\ladders.dm" -#include "code\game\objects\structures\lamarr_cage.dm" #include "code\game\objects\structures\lattice.dm" #include "code\game\objects\structures\loom.dm" #include "code\game\objects\structures\mineral_doors.dm"