From 03737faf44323a2c2ef9bb4b7d830eabe7b2b80f Mon Sep 17 00:00:00 2001 From: Erthilo Date: Fri, 1 Jun 2012 23:18:12 +0100 Subject: [PATCH] TG: Made you able to disassemble a few more computers. These are: * Arcade * Prison Shuttle Console * Area Air Control * Atmos Alert Computer * Mining Shuttle Console If anybody is not okay with this, feel free to comment out the attackby code of that computer. But keep the circuitboard for future reference. This should make all computers on the station be able to be disassembled. Fixed some error message for cellchargers. Revision: r3683 Author: daniel.cf.hultgren --- code/defines/obj/computer.dm | 16 --------- .../atmoalter/area_atmos_computer.dm | 26 +++++++++++++- code/game/machinery/cell_charger.dm | 4 +-- code/game/machinery/computer/arcade.dm | 36 +++++++++++++++++++ code/game/machinery/computer/atmos_alert.dm | 26 +++++++++++++- .../game/machinery/computer/buildandrepair.dm | 24 +++++++++++-- code/game/machinery/recharger.dm | 4 +-- code/game/prisonshuttle.dm | 24 ++++++++++++- code/modules/mining/mine_items.dm | 24 +++++++++++++ 9 files changed, 158 insertions(+), 26 deletions(-) diff --git a/code/defines/obj/computer.dm b/code/defines/obj/computer.dm index c462cc7d494..4fff33cbce3 100644 --- a/code/defines/obj/computer.dm +++ b/code/defines/obj/computer.dm @@ -6,22 +6,6 @@ var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassemble -/obj/machinery/computer/arcade - name = "arcade machine" - desc = "Does not support Pinball." - icon = 'computer.dmi' - icon_state = "arcade" - circuit = "/obj/item/weapon/circuitboard/arcade" - var/enemy_name = "Space Villian" - var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc - var/player_hp = 30 //Player health/attack points - var/player_mp = 10 - var/enemy_hp = 45 //Enemy health/attack points - var/enemy_mp = 20 - var/gameover = 0 - var/blocked = 0 //Player cannot attack/heal while set - - /obj/machinery/computer/station_alert name = "Station Alert Computer" desc = "Used to access the station's automated alert system." diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index fb0245f02af..43825c7ca38 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -2,6 +2,7 @@ name = "Area Air Control" desc = "A computer used to control the stationary scrubbers and pumps in the area." icon_state = "computer_generic" + circuit = "/obj/item/weapon/circuitboard/area_atmos" var/scrubber_state = 0 //0 = off; 1 = on @@ -39,4 +40,27 @@ var/area/A2 = T2.loc if ( istype(A2) && A2.master && A2.master == A ) SCRUBBER.on = scrubber_state - SCRUBBER.update_icon() \ No newline at end of file + SCRUBBER.update_icon() + + attackby(I as obj, user as mob) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/weapon/circuitboard/area_atmos/M = new /obj/item/weapon/circuitboard/area_atmos( A ) + for (var/obj/C in src) + C.loc = src.loc + A.circuit = M + A.anchored = 1 + + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + new /obj/item/weapon/shard( src.loc ) + A.state = 3 + A.icon_state = "3" + else + user << "\blue You disconnect the monitor." + A.state = 4 + A.icon_state = "4" + + del(src) \ No newline at end of file diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 4da98f3c464..a082a54a129 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 /obj/machinery/cell_charger @@ -50,7 +50,7 @@ if(!isarea(a)) return if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - user << "\red The charger rejects the cell!" + user << "\red The [name] blinks red as you try to insert the cell!" return user.drop_item() diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index f01c55134a8..1b862426fd6 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,3 +1,18 @@ +/obj/machinery/computer/arcade + name = "arcade machine" + desc = "Does not support Pinball." + icon = 'computer.dmi' + icon_state = "arcade" + circuit = "/obj/item/weapon/circuitboard/arcade" + var/enemy_name = "Space Villian" + var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc + var/player_hp = 30 //Player health/attack points + var/player_mp = 10 + var/enemy_hp = 45 //Enemy health/attack points + var/enemy_mp = 20 + var/gameover = 0 + var/blocked = 0 //Player cannot attack/heal while set + /obj/machinery/computer/arcade var/turtle = 0 @@ -224,3 +239,24 @@ src.updateUsrDialog() + else if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/weapon/circuitboard/arcade/M = new /obj/item/weapon/circuitboard/arcade( A ) + for (var/obj/C in src) + C.loc = src.loc + A.circuit = M + A.anchored = 1 + + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + new /obj/item/weapon/shard( src.loc ) + A.state = 3 + A.icon_state = "3" + else + user << "\blue You disconnect the monitor." + A.state = 4 + A.icon_state = "4" + + del(src) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index c12b4957bdd..820344c08fe 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -1,9 +1,10 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 /obj/machinery/computer/atmos_alert name = "Atmospheric Alert Computer" desc = "Used to access the station's atmospheric sensors." + circuit = "/obj/item/weapon/circuitboard/atmos_alert" icon_state = "alert:0" var/list/priority_alarms = list() var/list/minor_alarms = list() @@ -104,3 +105,26 @@ minor_alarms -= zone update_icon() return + + attackby(I as obj, user as mob) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/weapon/circuitboard/atmos_alert/M = new /obj/item/weapon/circuitboard/atmos_alert( A ) + for (var/obj/C in src) + C.loc = src.loc + A.circuit = M + A.anchored = 1 + + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + new /obj/item/weapon/shard( src.loc ) + A.state = 3 + A.icon_state = "3" + else + user << "\blue You disconnect the monitor." + A.state = 4 + A.icon_state = "4" + + del(src) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 33247d02f27..cfcef2eb3b7 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 /obj/structure/computerframe density = 1 @@ -193,7 +193,6 @@ name = "Circuit board (Telecommunications Server Monitor)" build_path = "/obj/machinery/computer/telecomms/server" origin_tech = "programming=3" - /obj/item/weapon/circuitboard/comm_traffic name = "Circuitboard (Telecommunications Traffic Control)" build_path = "/obj/machinery/computer/telecomms/traffic" @@ -202,11 +201,30 @@ /obj/item/weapon/circuitboard/curefab name = "Circuit board (Cure fab)" build_path = "/obj/machinery/computer/curer" - /obj/item/weapon/circuitboard/splicer name = "Circuit board (Disease Splicer)" build_path = "/obj/machinery/computer/diseasesplicer" +/obj/item/weapon/circuitboard/mining_shuttle + name = "Circuit board (Mining Shuttle)" + build_path = "/obj/machinery/computer/mining_shuttle" + origin_tech = "programming=2" +/obj/item/weapon/circuitboard/HolodeckControl // Not going to let people get this, but it's just here for future + name = "Circuit board (Holodeck Control)" + build_path = "/obj/machinery/computer/HolodeckControl" + origin_tech = "programming=4" +/obj/item/weapon/circuitboard/aifixer + name = "Circuit board (AI Integrity Fixer)" + build_path = "/obj/machinery/computer/aifixer" + origin_tech = "programming=3;biotech=2" +/obj/item/weapon/circuitboard/area_atmos + name = "Circuit board (Area Air Control)" + build_path = "/obj/machinery/computer/area_atmos" + origin_tech = "programming=2" +/obj/item/weapon/circuitboard/prison_shuttle + name = "Circuit board (Prison Shuttle)" + build_path = "/obj/machinery/computer/prison_shuttle" + origin_tech = "programming=2" /obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 247f4452956..c38f366a116 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 obj/machinery/recharger anchored = 1 @@ -29,7 +29,7 @@ obj/machinery/recharger if(!isarea(a)) return if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - user << "\red The recharger rejects the weapon!" + user << "\red The [name] blinks red as you try to insert the item!" return user.drop_item() G.loc = src diff --git a/code/game/prisonshuttle.dm b/code/game/prisonshuttle.dm index 8fa447c9ae5..1ee3b575bab 100644 --- a/code/game/prisonshuttle.dm +++ b/code/game/prisonshuttle.dm @@ -15,6 +15,7 @@ var/prison_shuttle_timeleft = 0 icon = 'computer.dmi' icon_state = "shuttle" req_access = list(access_security) + circuit = "/obj/item/weapon/circuitboard/prison_shuttle" var/temp = null var/hacked = 0 var/allowedtocall = 0 @@ -34,7 +35,28 @@ var/prison_shuttle_timeleft = 0 attackby(I as obj, user as mob) - if(istype(I,/obj/item/weapon/card/emag) && (!hacked)) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/weapon/circuitboard/prison_shuttle/M = new /obj/item/weapon/circuitboard/prison_shuttle( A ) + for (var/obj/C in src) + C.loc = src.loc + A.circuit = M + A.anchored = 1 + + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + new /obj/item/weapon/shard( src.loc ) + A.state = 3 + A.icon_state = "3" + else + user << "\blue You disconnect the monitor." + A.state = 4 + A.icon_state = "4" + + del(src) + else if(istype(I,/obj/item/weapon/card/emag) && (!hacked)) var/obj/item/weapon/card/emag/E = I if(E.uses) E.uses-- diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index ec578027f4b..3f3faa0499f 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -88,6 +88,7 @@ proc/move_mining_shuttle() icon = 'computer.dmi' icon_state = "shuttle" req_access = list(access_mining) + circuit = "/obj/item/weapon/circuitboard/mining_shuttle" var/hacked = 0 var/location = 0 //0 = station, 1 = mining base @@ -126,6 +127,28 @@ proc/move_mining_shuttle() hacked = 1 usr << "You fried the consoles ID checking system. It's now available to everyone!" + else if(istype(W, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + var/obj/item/weapon/circuitboard/mining_shuttle/M = new /obj/item/weapon/circuitboard/mining_shuttle( A ) + for (var/obj/C in src) + C.loc = src.loc + A.circuit = M + A.anchored = 1 + + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + new /obj/item/weapon/shard( src.loc ) + A.state = 3 + A.icon_state = "3" + else + user << "\blue You disconnect the monitor." + A.state = 4 + A.icon_state = "4" + + del(src) + /******************************Lantern*******************************/ /obj/item/device/flashlight/lantern @@ -166,6 +189,7 @@ proc/move_mining_shuttle() hammer name = "Mining Sledge Hammer" + //icon_state = "sledgehammer" Waiting on sprite desc = "A mining hammer made of reinforced metal. You feel like smashing your boss in the face with this." silver