diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index ebeeb392aac..14e5c7f06c0 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -14,6 +14,9 @@ var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/gun_click_time = -100 //I'm lazy. +/obj/screen/Destroy() + master = null + return ..() /obj/screen/text icon = null diff --git a/code/datums/wires/taperecorder.dm b/code/datums/wires/taperecorder.dm deleted file mode 100644 index a5fa9bd3939..00000000000 --- a/code/datums/wires/taperecorder.dm +++ /dev/null @@ -1,40 +0,0 @@ -/datum/wires/taperecorder - wire_count = 2 - holder_type = /obj/item/device/taperecorder - -var/const/WIRE_PLAY = 1 -var/const/WIRE_RECORD = 2 - - -/datum/wires/taperecorder/UpdatePulsed(var/index) - switch(index) - if(WIRE_PLAY) - play() - if(WIRE_RECORD) - record() - -/datum/wires/taperecorder/CanUse(var/mob/living/L) - var/obj/item/device/taperecorder/T = holder - if(T.open_panel) - return 1 - return 0 - - -/datum/wires/taperecorder/proc/play() - var/obj/item/device/taperecorder/T = holder - T.stop() - T.play() - -/datum/wires/taperecorder/proc/record() - var/obj/item/device/taperecorder/T = holder - if(T.recording) - T.stop() - else - T.record() - -//helpers -/datum/wires/taperecorder/proc/get_play() - return !(wires_status & WIRE_PLAY) - -/datum/wires/taperecorder/proc/get_record() - return !(wires_status & WIRE_RECORD) \ No newline at end of file diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 04c3541dc7e..2055c2790b7 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -46,6 +46,10 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown", var/list/wires = same_wires[holder_type] src.wires = wires // Reference the wires list. +/datum/wires/Destroy() + holder = null + return ..() + /datum/wires/proc/GenerateWires() var/list/colours_to_pick = wireColours.Copy() // Get a copy, not a reference. var/list/indexes_to_pick = list() diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 1b870b45e32..1b34ef2631b 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -23,7 +23,7 @@ var/bomb_set unacidable = 1 var/previous_level = "" var/datum/wires/nuclearbomb/wires = null - + /obj/machinery/nuclearbomb/syndicate is_syndicate = 1 @@ -32,11 +32,12 @@ var/bomb_set r_code = "[rand(10000, 99999.0)]"//Creates a random code upon object spawn. wires = new/datum/wires/nuclearbomb(src) previous_level = get_security_level() - + /obj/machinery/nuclearbomb/Destroy() qdel(wires) - return ..() - + wires = null + return ..() + /obj/machinery/nuclearbomb/process() if (timing) bomb_set = 1 //So long as there is one nuke timing, it means one nuke is armed. @@ -154,7 +155,7 @@ var/bomb_set /obj/machinery/nuclearbomb/attack_ghost(mob/user as mob) attack_hand(user) - + /obj/machinery/nuclearbomb/attack_hand(mob/user as mob) if (extended) if (panel_open) @@ -199,7 +200,7 @@ var/bomb_set data["message"] = code if (yes_code) data["message"] = "*****" - + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "nuclear_bomb.tmpl", "Nuke Control Panel", 300, 510) @@ -230,11 +231,11 @@ var/bomb_set return 1 else return 0 - + /obj/machinery/nuclearbomb/Topic(href, href_list) if(..()) return 1 - + if (href_list["auth"]) if (auth) auth.loc = loc @@ -311,7 +312,7 @@ var/bomb_set visible_message("\red \The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") nanomanager.update_uis(src) return - + if(!isinspace()) anchored = !(anchored) if(anchored) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 2191cc2a8ba..c2bd6095ffe 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -209,6 +209,8 @@ if(radio_controller) radio_controller.remove_object(src, frequency) air_alarm_repository.update_cache(src) + qdel(wires) + wires = null return ..() /obj/machinery/alarm/proc/first_run() diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 9b4e2723185..42103363cc2 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -73,6 +73,13 @@ component_parts += new /obj/item/weapon/stock_parts/console_screen(null) RefreshParts() +/obj/machinery/autolathe/Destroy() + qdel(wires) + wires = null + qdel(materials) + materials = null + return ..() + /obj/machinery/autolathe/interact(mob/user) if(shocked && !(stat & NOPOWER)) shock(user,50) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index 8097c036cbb..d9e640258a6 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -78,7 +78,11 @@ var/global/mulebot_count = 0 suffix = "#[mulebot_count]" name = "\improper Mulebot ([suffix])" - +/obj/machinery/bot/mulebot/Destroy() + unload(0) + qdel(wires) + wires = null + return ..() // attack by item // emag : lock/unlock, diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index c3b692564c6..d9253e89294 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -63,6 +63,7 @@ bug.current = null bug = null qdel(wires) + wires = null cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that return ..() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index e48f3a5aadf..8f9802f840a 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -318,7 +318,6 @@ return - /* About the new airlock wires panel: * An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. @@ -335,6 +334,11 @@ About the new airlock wires panel: // You can find code for the airlock wires in the wire datum folder. +/obj/machinery/door/airlock/Destroy() + qdel(wires) + wires = null + return ..() + /obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite if(!issilicon(usr)) if(src.isElectrified()) diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 46c6f6f8572..ba5497cdf60 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -13,6 +13,12 @@ ..() air_connection = new +/obj/machinery/door/airlock/alarmlock/Destroy() + if(radio_controller) + radio_controller.remove_object(src,air_frequency) + air_connection = null + return ..() + /obj/machinery/door/airlock/alarmlock/initialize() ..() radio_controller.remove_object(src, air_frequency) diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index 452ec6f5702..4beab1eda8a 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -46,6 +46,7 @@ /obj/machinery/smartfridge/Destroy() qdel(wires) + wires = null return ..() /obj/machinery/smartfridge/proc/accept_check(var/obj/item/O as obj) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index ed070faeabc..0de5150dd31 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -47,6 +47,11 @@ var/const/STATUS_DISPLAY_TIME = 4 var/const/STATUS_DISPLAY_CUSTOM = 99 +/obj/machinery/status_display/Destroy() + if(radio_controller) + radio_controller.remove_object(src,frequency) + return ..() + // register for radio system /obj/machinery/status_display/initialize() ..() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 2dd4073ae9a..a81c00604db 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -40,6 +40,10 @@ update_icon() ..() +/obj/machinery/syndicatebomb/Destroy() + qdel(wires) + wires = null + return ..() /obj/machinery/syndicatebomb/examine(mob/user) ..(user) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 3ca9f74cf22..a096e8b0c8d 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -25,7 +25,16 @@ if(ks2type) keyslot2 = new ks2type(src) recalculateChannels(1) - + +/obj/item/device/radio/headset/Destroy() + if(keyslot1) + qdel(keyslot1) + if(keyslot2) + qdel(keyslot2) + keyslot1 = null + keyslot2 = null + return ..() + /obj/item/device/radio/headset/list_channels(var/mob/user) return list_secure_channels() @@ -326,7 +335,7 @@ user.drop_item() W.loc = src keyslot2 = W - + recalculateChannels() return diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b52fe80c84c..4aa8f8b73f0 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -69,6 +69,17 @@ var/global/list/default_medbay_channels = list( internal_channels = default_internal_channels.Copy() +/obj/item/device/radio/Destroy() + qdel(wires) + wires = null + if(radio_controller) + radio_controller.remove_object(src, frequency) + for (var/ch_name in channels) + radio_controller.remove_object(src, radiochannels[ch_name]) + patch_link = null + return ..() + + /obj/item/device/radio/initialize() if(frequency < RADIO_LOW_FREQ || frequency > RADIO_HIGH_FREQ) frequency = sanitize_frequency(frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 4ab3dff82a7..89fe2a24232 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -13,16 +13,13 @@ var/playsleepseconds = 0 var/obj/item/device/tape/mytape var/open_panel = 0 - var/datum/wires/taperecorder/wires = null var/canprint = 1 /obj/item/device/taperecorder/New() - wires = new(src) mytape = new /obj/item/device/tape/random(src) update_icon() - /obj/item/device/taperecorder/examine(mob/user) if(..(user, 1)) user << "The wire panel is [open_panel ? "opened" : "closed"]." @@ -35,14 +32,6 @@ mytape = I user << "You insert [I] into [src]." update_icon() - else if(istype(I, /obj/item/weapon/screwdriver)) - open_panel = !open_panel - user << "You [open_panel ? "open" : "close"] the wire panel." - if(open_panel) - wires.Interact(user) - else if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler)) - wires.Interact(user) - /obj/item/device/taperecorder/proc/eject(mob/user) if(mytape) @@ -118,8 +107,6 @@ return if(playing) return - if(!wires.get_record()) - return if(mytape.used_capacity < mytape.max_capacity) usr << "Recording started." @@ -132,8 +119,6 @@ for(used, used < max) if(recording == 0) break - if(!wires.get_record()) - break mytape.used_capacity++ used++ sleep(10) @@ -175,8 +160,6 @@ return if(playing) return - if(!wires.get_play()) - return playing = 1 update_icon() @@ -186,8 +169,6 @@ for(var/i = 1, used < max, sleep(10 * playsleepseconds)) if(!mytape) break - if(!wires.get_play()) - break if(playing == 0) break if(mytape.storedinfo.len < i) @@ -250,7 +231,6 @@ //empty tape recorders /obj/item/device/taperecorder/empty/New() - wires = new(src) return diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 83b0b1e9cfc..2d70a119b0d 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -17,6 +17,12 @@ wires = new(src) ..() +/obj/item/weapon/c4/Destroy() + qdel(wires) + wires = null + target = null + return ..() + /obj/item/weapon/c4/suicide_act(var/mob/user) . = (BRUTELOSS) viewers(user) << "[user] activates the C4 and holds it above his head! It looks like \he's going out with a bang!" diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index 1a7df430726..2b7e7b7f854 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -13,6 +13,10 @@ src.smoke = new /datum/effect/effect/system/bad_smoke_spread src.smoke.attach(src) + Destroy() + qdel(smoke) + return ..() + prime() playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) src.smoke.set_up(10, 0, usr.loc) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index a0c9ddef418..a8045fdbd38 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -107,6 +107,7 @@ Gunshots/explosions/opening doors/less rare audio (done) /obj/effect/hallucination/simple/Destroy() if(target.client) target.client.images.Remove(current_image) active = 0 + return ..() #define FAKE_FLOOD_EXPAND_TIME 30 #define FAKE_FLOOD_MAX_RADIUS 7 @@ -156,11 +157,11 @@ Gunshots/explosions/opening doors/less rare audio (done) /obj/effect/hallucination/fake_flood/Destroy() processing_objects -= src - del(flood_turfs) + qdel(flood_turfs) if(target.client) target.client.images.Remove(flood_images) target = null - del(flood_images) - return + qdel(flood_images) + return ..() /obj/effect/hallucination/simple/xeno image_icon = 'icons/mob/alien.dmi' diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index c6fe235ed12..8f520427b0c 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -127,6 +127,11 @@ var/attacher = "UNKNOWN" var/datum/wires/explosive/gibtonite/wires +/obj/item/weapon/twohanded/required/gibtonite/Destroy() + qdel(wires) + wires = null + return ..() + /obj/item/weapon/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params) if(!wires && istype(I, /obj/item/device/assembly/igniter)) user.visible_message("[user] attaches [I] to [src].", "You attach [I] to [src].") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index eee0d036adc..3f5ed10edc5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -202,6 +202,8 @@ var/list/robot_verbs_default = list( mmi = null if(connected_ai) connected_ai.connected_robots -= src + qdel(wires) + wires = null return ..() /mob/living/silicon/robot/proc/pick_module() diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 2f50994b4b9..a40316ecb98 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -426,6 +426,7 @@ /obj/item/weapon/grab/dropped() qdel(src) + /obj/item/weapon/grab/Destroy() if(affecting) affecting.pixel_x = 0 @@ -435,6 +436,7 @@ qdel(hud) return ..() + #undef EAT_TIME_XENO #undef EAT_TIME_FAT diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index a9a410df238..1a5808ec7d3 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -22,6 +22,26 @@ var/list/organ_cache = list() // links chemical IDs to number of ticks for which they'll stay in the blood germ_level = 0 + +/obj/item/organ/Destroy() + if(!owner) + return ..() + + if(istype(owner, /mob/living/carbon)) + if((owner.internal_organs) && (src in owner.internal_organs)) + owner.internal_organs -= src + if(istype(owner, /mob/living/carbon/human)) + if((owner.internal_organs_by_name) && (src in owner.internal_organs_by_name)) + owner.internal_organs_by_name -= src + if((owner.organs) && (src in owner.organs)) + owner.organs -= src + if((owner.organs_by_name) && (src in owner.organs_by_name)) + owner.organs_by_name -= src + if(src in owner.contents) + owner.contents -= src + + return ..() + /obj/item/organ/attack_self(mob/user as mob) // Convert it to an edible form, yum yum. diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 92af27ee01a..99a3506237e 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -7,10 +7,10 @@ max_damage = 0 dir = SOUTH organ_tag = "limb" - + var/brute_mod = 1 var/burn_mod = 1 - + var/icon_name = null var/body_part = null var/icon_position = 0 @@ -61,6 +61,19 @@ var/can_grasp var/can_stand +/obj/item/organ/external/Destroy() + if(parent && parent.children) + parent.children -= src + + if(children) + for(var/obj/item/organ/external/C in children) + qdel(C) + + if(internal_organs) + for(var/obj/item/organ/O in internal_organs) + qdel(O) + + return ..() /obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/user as mob) switch(stage) @@ -120,7 +133,7 @@ if(!parent.children) parent.children = list() parent.children.Add(src) - + /obj/item/organ/external/robotize() ..() //robot limbs take reduced damage @@ -137,7 +150,7 @@ if(status & ORGAN_DESTROYED) return 0 - + brute *= brute_mod burn *= burn_mod @@ -311,7 +324,7 @@ This function completely restores a damaged organ to perfect condition. "The wound on your [name] widens with a nasty ripping noise.",\ "You hear a nasty ripping noise, as if flesh is being torn apart.") return - + //Creating wound var/wound_type = get_wound_type(type, damage) @@ -536,8 +549,8 @@ Note that amputating the affected organ does in fact remove the infection from t var/mob/living/carbon/human/H if(istype(owner,/mob/living/carbon/human)) - H = owner - + H = owner + for(var/datum/wound/W in wounds) if(W.damage_type == CUT || W.damage_type == BRUISE) brute_dam += W.damage @@ -554,7 +567,7 @@ Note that amputating the affected organ does in fact remove the infection from t if (open && !clamped && (H && !(H.species.flags & NO_BLOOD))) status |= ORGAN_BLEEDING - + //Bone fractures if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(status & ORGAN_ROBOT)) src.fracture() @@ -723,7 +736,7 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/fracture() if(status & ORGAN_ROBOT) return //ORGAN_BROKEN doesn't have the same meaning for robot limbs - + if((status & ORGAN_BROKEN) || cannot_break) return if(owner) @@ -787,7 +800,7 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/is_usable() if((status & ORGAN_ROBOT) && get_damage() >= max_damage) //robot limbs just become inoperable at max damage - return + return return !(status & (ORGAN_DESTROYED|ORGAN_MUTATED|ORGAN_DEAD)) /obj/item/organ/external/proc/is_malfunctioning() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index decd4ebb825..05e5bbbe73b 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -157,6 +157,7 @@ if(occupier) malfvacate(1) qdel(wires) + wires = null if(cell) qdel(cell) // qdel if(terminal) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 60116821a55..7feba62c14b 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -123,7 +123,7 @@ component_parts += new /obj/item/weapon/stock_parts/capacitor(null) component_parts += new board_path(null) RefreshParts() - + /obj/machinery/power/port_gen/pacman/upgraded/New() ..() component_parts = list() @@ -137,7 +137,7 @@ /obj/machinery/power/port_gen/pacman/Destroy() DropFuel() - ..() + return ..() /obj/machinery/power/port_gen/pacman/RefreshParts() var/temp_rating = 0 @@ -255,11 +255,11 @@ sheets = 0 sheet_left = 0 ..() - + /obj/machinery/power/port_gen/pacman/emag_act(var/remaining_charges, var/mob/user) if (active && prob(25)) explode() //if they're foolish enough to emag while it's running - + if (!emagged) emagged = 1 return 1 @@ -311,7 +311,7 @@ /obj/machinery/power/port_gen/pacman/attack_ai(var/mob/user as mob) src.add_hiddenprint(user) return src.attack_hand(user) - + /obj/machinery/power/port_gen/pacman/attack_ghost(var/mob/user) return src.attack_hand(user) @@ -370,7 +370,7 @@ if (href_list["action"] == "higher_power") if (power_output < max_power_output || (emagged && power_output < round(max_power_output*2.5))) power_output++ - + nanomanager.update_uis(src) /obj/machinery/power/port_gen/pacman/super @@ -381,7 +381,7 @@ sheet_name = "Uranium Sheets" time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power board_path = /obj/item/weapon/circuitboard/pacman/super - + /obj/machinery/power/port_gen/pacman/super/upgraded/New() ..() component_parts = list() @@ -427,7 +427,7 @@ max_temperature = 800 temperature_gain = 90 board_path = /obj/item/weapon/circuitboard/pacman/mrs - + /obj/machinery/power/port_gen/pacman/mrs/upgraded/New() ..() component_parts = list() diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 490af2d6fb9..6723bc156c0 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -29,8 +29,10 @@ /obj/machinery/particle_accelerator/control_box/Destroy() if(active) toggle_power() + qdel(wires) + wires = null return ..() - + /obj/machinery/particle_accelerator/control_box/attack_ghost(user as mob) return src.attack_hand(user) @@ -126,7 +128,7 @@ log_game("PA Control Computer increased to [strength] by [key_name(usr)] in ([x],[y],[z])") investigate_log("increased to [strength] by [key_name(usr)]","singulo") use_log += text("\[[time_stamp()]\] [usr.name] ([key_name(usr)]) has increased the PA Control Computer to [strength].") - + investigate_log("increased to [strength] by [usr.key]","singulo") strength_change() @@ -139,7 +141,7 @@ message_admins("PA Control Computer decreased to [strength] by [key_name_admin(usr)] in ([x],[y],[z] - JMP)",0,1) log_game("PA Control Computer decreased to [strength] by [key_name(usr)] in ([x],[y],[z])") investigate_log("decreased to [strength] by [key_name(usr)]","singulo") - use_log += text("\[[time_stamp()]\] [usr.name] ([key_name(usr)]) has decreased the PA Control Computer to [strength].") + use_log += text("\[[time_stamp()]\] [usr.name] ([key_name(usr)]) has decreased the PA Control Computer to [strength].") strength_change() diff --git a/paradise.dme b/paradise.dme index 98b5d5d0562..c7abf1abf71 100644 --- a/paradise.dme +++ b/paradise.dme @@ -235,7 +235,6 @@ #include "code\datums\wires\robot.dm" #include "code\datums\wires\smartfridge.dm" #include "code\datums\wires\syndicatebomb.dm" -#include "code\datums\wires\taperecorder.dm" #include "code\datums\wires\vending.dm" #include "code\datums\wires\wires.dm" #include "code\defines\vox_sounds.dm"