12/21 modernizations from TG live (#103)
* sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
icon_state = "box_0"
|
||||
density = 1
|
||||
anchored = 1
|
||||
obj_integrity = 250
|
||||
max_integrity = 250
|
||||
var/obj/item/weapon/circuitboard/circuit = null
|
||||
var/state = 1
|
||||
|
||||
@@ -12,6 +14,16 @@
|
||||
if(circuit)
|
||||
user << "It has \a [circuit] installed."
|
||||
|
||||
|
||||
/obj/structure/frame/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
new /obj/item/stack/sheet/metal(loc, 5)
|
||||
if(circuit)
|
||||
circuit.forceMove(loc)
|
||||
circuit = null
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/frame/machine
|
||||
name = "machine frame"
|
||||
var/list/components = null
|
||||
@@ -66,16 +78,16 @@
|
||||
if(1)
|
||||
if(istype(P, /obj/item/weapon/circuitboard/machine))
|
||||
user << "<span class='warning'>The frame needs wiring first!</span>"
|
||||
|
||||
return
|
||||
else if(istype(P, /obj/item/weapon/circuitboard))
|
||||
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
|
||||
|
||||
return
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/C = P
|
||||
if(C.get_amount() >= 5)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You start to add cables to the frame...</span>"
|
||||
if(do_after(user, 20/P.toolspeed, target = src))
|
||||
if(do_after(user, 20*P.toolspeed, target = src))
|
||||
if(C.get_amount() >= 5 && state == 1)
|
||||
C.use(5)
|
||||
user << "<span class='notice'>You add cables to the frame.</span>"
|
||||
@@ -83,32 +95,35 @@
|
||||
icon_state = "box_1"
|
||||
else
|
||||
user << "<span class='warning'>You need five length of cable to wire the frame!</span>"
|
||||
return
|
||||
return
|
||||
if(istype(P, /obj/item/weapon/screwdriver) && !anchored)
|
||||
playsound(src.loc, P.usesound, 50, 1)
|
||||
user.visible_message("<span class='warning'>[user] disassembles the frame.</span>", \
|
||||
"<span class='notice'>You start to disassemble the frame...</span>", "You hear banging and clanking.")
|
||||
if(do_after(user, 40/P.toolspeed, target = src))
|
||||
if(do_after(user, 40*P.toolspeed, target = src))
|
||||
if(state == 1)
|
||||
user << "<span class='notice'>You disassemble the frame.</span>"
|
||||
var/obj/item/stack/sheet/metal/M = new (loc, 5)
|
||||
M.add_fingerprint(user)
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
user << "<span class='notice'>You start [anchored ? "un" : ""]securing [name]...</span>"
|
||||
playsound(src.loc, P.usesound, 75, 1)
|
||||
if(do_after(user, 40/P.toolspeed, target = src))
|
||||
if(do_after(user, 40*P.toolspeed, target = src))
|
||||
if(state == 1)
|
||||
user << "<span class='notice'>You [anchored ? "un" : ""]secure [name].</span>"
|
||||
anchored = !anchored
|
||||
return
|
||||
|
||||
if(2)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
user << "<span class='notice'>You start [anchored ? "un" : ""]securing [name]...</span>"
|
||||
playsound(src.loc, P.usesound, 75, 1)
|
||||
if(do_after(user, 40/P.toolspeed, target = src))
|
||||
if(do_after(user, 40*P.toolspeed, target = src))
|
||||
user << "<span class='notice'>You [anchored ? "un" : ""]secure [name].</span>"
|
||||
anchored = !anchored
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/circuitboard/machine))
|
||||
if(!anchored)
|
||||
@@ -126,9 +141,11 @@
|
||||
components = list()
|
||||
req_components = B.req_components.Copy()
|
||||
update_namelist()
|
||||
return
|
||||
|
||||
else if(istype(P, /obj/item/weapon/circuitboard))
|
||||
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/wirecutters))
|
||||
playsound(src.loc, P.usesound, 50, 1)
|
||||
@@ -137,6 +154,7 @@
|
||||
icon_state = "box_0"
|
||||
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc )
|
||||
A.amount = 5
|
||||
return
|
||||
|
||||
if(3)
|
||||
if(istype(P, /obj/item/weapon/crowbar))
|
||||
@@ -155,6 +173,7 @@
|
||||
req_components = null
|
||||
components = null
|
||||
icon_state = "box_1"
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/screwdriver))
|
||||
var/component_check = 1
|
||||
@@ -165,7 +184,7 @@
|
||||
if(component_check)
|
||||
playsound(src.loc, P.usesound, 50, 1)
|
||||
var/obj/machinery/new_machine = new src.circuit.build_path(src.loc, 1)
|
||||
new_machine.construction()
|
||||
new_machine.on_construction()
|
||||
for(var/obj/O in new_machine.component_parts)
|
||||
qdel(O)
|
||||
new_machine.component_parts = list()
|
||||
@@ -175,6 +194,7 @@
|
||||
circuit.loc = null
|
||||
new_machine.RefreshParts()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/storage/part_replacer) && P.contents.len && get_req_components_amt())
|
||||
var/obj/item/weapon/storage/part_replacer/replacer = P
|
||||
@@ -224,12 +244,25 @@
|
||||
if(!user.drop_item())
|
||||
break
|
||||
user << "<span class='notice'>You add [P] to [src].</span>"
|
||||
P.loc = src
|
||||
P.forceMove(src)
|
||||
components += P
|
||||
req_components[I]--
|
||||
return 1
|
||||
user << "<span class='warning'>You cannot add that to the machine!</span>"
|
||||
return 0
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/structure/frame/machine/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(state >= 2)
|
||||
new /obj/item/stack/cable_coil(loc , 5)
|
||||
for(var/X in components)
|
||||
var/obj/item/I = X
|
||||
I.forceMove(loc)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
//Machine Frame Circuit Boards
|
||||
@@ -276,4 +309,4 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/clockwork
|
||||
name = "clockwork board (Report This)"
|
||||
icon_state = "clock_mod"
|
||||
icon_state = "clock_mod"
|
||||
|
||||
Reference in New Issue
Block a user