mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-05 15:02:56 +00:00
Adds the Aut'akh unathi (#5919)
* Base work for the unathi robot subspecies. * Adds metabolism species, kidney vars, and the robot unathi organs. * Moves some action buttons to organs, pretty much a bay port right now. Todo: the unathi and alien stuff should also go here. * First autakh implant power. * Fixes the organs action button this time. * Finishes more implants, and interactions with flashs and vaurca. * Prepare for great changes. * Drops the real bomb, boss. * He who fights with monsters. * Far more work into augments and limb removing powers. * Limb verbs should be good now. * A LOT of work into the assited organ, allowing it to bleed and etc, as well adding a new chem that will stop bleeding in their case. * Probably the last work on implants. * Some extra touches. * Some tweaks to the species. * More fixes and adds kyre's sprites. * More runtime fixes. * Fixes the species name too. * Fixes travis. * Updates this file too to work with the new tools procs. * Adds changelog * Fixed changelog. * Unathi hair and lore description. * Some tweaks to this too. * Locks away them for now, they will be released after we got all the events and etc done. * Changes this chemical. * Fixes an airlock runtime. * Adds the non scan flag to the autakh, mostly due to some bizzare interactions with changelings and cloning. * Organs removal changes; can't take out the organ if it is too damage. * Restricts them back again. * Robotic organs now have the proper icons and names. * Adds sprites for their organs and some extra tweaks. * Fixes this missing icon. * emp should also now hurt assited organs. * Tweaks more organ related things. * Fixes the head not being properly set as well. * Fixes their flags. * fixes the flag for real this time. * Poze's review. * Changes the au'takh organ buttons to don't be animated. * Helps with adminbus or something. * Fowl's requested changes. * Fixes a typo. * Robotic limb's brute and burn mods are now controlled by the limb model. * Fowl's changes once more. * Stops some spam. * More grammar. * No eal. * Skull's review.
This commit is contained in:
@@ -139,14 +139,14 @@
|
||||
/obj/machinery/power/am_control_unit/update_icon()
|
||||
if(active)
|
||||
icon_state = "control_[icon_mod]"
|
||||
else
|
||||
else
|
||||
icon_state = "control"
|
||||
//No other icons for it atm
|
||||
|
||||
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user)
|
||||
if(!istype(W) || !user)
|
||||
return
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
if(!anchored)
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1)
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
|
||||
@@ -236,7 +236,7 @@ proc/cardinalrange(var/center)
|
||||
throw_range = 2
|
||||
|
||||
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
|
||||
if(ismultitool(I) && isturf(loc))
|
||||
if(I.ismultitool() && isturf(loc))
|
||||
if(locate(/obj/machinery/am_shielding/) in loc)
|
||||
to_chat(user, "<span class='warning'>\icon[src]There is already an antimatter reactor section there.</span>")
|
||||
return
|
||||
|
||||
@@ -440,7 +440,7 @@
|
||||
if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
|
||||
return src.attack_hand(user)
|
||||
src.add_fingerprint(user)
|
||||
if (iscrowbar(W) && opened)
|
||||
if (W.iscrowbar() && opened)
|
||||
if (has_electronics==1)
|
||||
if (terminal)
|
||||
user << "<span class='warning'>Disconnect wires first.</span>"
|
||||
@@ -465,7 +465,7 @@
|
||||
panel_open = 0
|
||||
opened = 0
|
||||
update_icon()
|
||||
else if (iscrowbar(W) && !((stat & BROKEN) || hacker) )
|
||||
else if (W.iscrowbar() && !((stat & BROKEN) || hacker) )
|
||||
if(coverlocked && !(stat & MAINT))
|
||||
user << "<span class='warning'>The cover is locked and cannot be opened.</span>"
|
||||
return
|
||||
@@ -504,7 +504,7 @@
|
||||
"<span class='notice'>You insert \the [cell].</span>")
|
||||
chargecount = 0
|
||||
update_icon()
|
||||
else if (isscrewdriver(W)) // haxing
|
||||
else if (W.isscrewdriver()) // haxing
|
||||
if(opened)
|
||||
if (cell)
|
||||
user << "<span class='warning'>Close the APC first.</span>" //Less hints more mystery!
|
||||
@@ -547,7 +547,7 @@
|
||||
update_icon()
|
||||
else
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
else if (iscoil(W) && !terminal && opened && has_electronics!=2)
|
||||
else if (W.iscoil() && !terminal && opened && has_electronics!=2)
|
||||
var/turf/T = loc
|
||||
if(istype(T) && !T.is_plating())
|
||||
user << "<span class='warning'>You must remove the floor plating in front of the APC first.</span>"
|
||||
@@ -572,7 +572,7 @@
|
||||
"You add cables to the APC frame.")
|
||||
make_terminal()
|
||||
terminal.connect_to_network()
|
||||
else if (iswirecutter(W) && terminal && opened && has_electronics!=2)
|
||||
else if (W.iswirecutter() && terminal && opened && has_electronics!=2)
|
||||
var/turf/T = loc
|
||||
if(istype(T) && !T.is_plating())
|
||||
user << "<span class='warning'>You must remove the floor plating in front of the APC first.</span>"
|
||||
@@ -601,7 +601,7 @@
|
||||
else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN)))
|
||||
user << "<span class='warning'>You cannot put the board inside, the frame is damaged.</span>"
|
||||
return
|
||||
else if (iswelder(W) && opened && has_electronics==0 && !terminal)
|
||||
else if (W.iswelder() && opened && has_electronics==0 && !terminal)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (!WT.isOn()) return
|
||||
if (WT.get_fuel() < 3)
|
||||
@@ -687,7 +687,7 @@
|
||||
else
|
||||
if ((stat & BROKEN) \
|
||||
&& !opened \
|
||||
&& iswelder(W) )
|
||||
&& W.iswelder() )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (!WT.isOn()) return
|
||||
if (WT.get_fuel() <1)
|
||||
@@ -719,8 +719,8 @@
|
||||
if (istype(user, /mob/living/silicon))
|
||||
return src.attack_hand(user)
|
||||
if (!opened && wiresexposed && \
|
||||
(ismultitool(W) || \
|
||||
iswirecutter(W) || istype(W, /obj/item/device/assembly/signaler)))
|
||||
W.ismultitool() || \
|
||||
W.iswirecutter() || istype(W, /obj/item/device/assembly/signaler))
|
||||
return src.attack_hand(user)
|
||||
user.visible_message("<span class='danger'>The [src.name] has been hit with the [W.name] by [user.name]!</span>", \
|
||||
"<span class='danger'>You hit the [src.name] with your [W.name]!</span>", \
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
/obj/machinery/power/smes/batteryrack/update_icon()
|
||||
cut_overlays()
|
||||
if(stat & BROKEN) return
|
||||
|
||||
|
||||
if (output_attempt)
|
||||
add_overlay("gsmes_outputting")
|
||||
if(inputting)
|
||||
@@ -55,7 +55,7 @@
|
||||
/obj/machinery/power/smes/batteryrack/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) //these can only be moved by being reconstructed, solves having to remake the powernet.
|
||||
..() //SMES attackby for now handles screwdriver, cable coils and wirecutters, no need to repeat that here
|
||||
if(open_hatch)
|
||||
if(iscrowbar(W))
|
||||
if(W.iscrowbar())
|
||||
if (charge < (capacity / 100))
|
||||
if (!output_attempt && !input_attempt)
|
||||
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
// Enabled on server startup. Used in substations to keep them in bypass mode.
|
||||
/obj/machinery/power/breakerbox/activated/Initialize()
|
||||
. = ..()
|
||||
set_state(1)
|
||||
set_state(1)
|
||||
|
||||
/obj/machinery/power/breakerbox/examine(mob/user)
|
||||
..()
|
||||
@@ -89,7 +89,7 @@
|
||||
busy = 0
|
||||
|
||||
/obj/machinery/power/breakerbox/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
if(ismultitool(W))
|
||||
if(W.ismultitool())
|
||||
var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text
|
||||
if(newtag)
|
||||
RCon_tag = newtag
|
||||
|
||||
@@ -132,7 +132,7 @@ var/list/possible_cable_coil_colours = list(
|
||||
if(!T.can_have_cabling())
|
||||
return
|
||||
|
||||
if(iswirecutter(W))
|
||||
if(W.iswirecutter())
|
||||
if(d1 == 12 || d2 == 12)
|
||||
user << "<span class='warning'>You must cut this cable from above.</span>"
|
||||
return
|
||||
@@ -165,14 +165,14 @@ var/list/possible_cable_coil_colours = list(
|
||||
return
|
||||
|
||||
|
||||
else if(iscoil(W))
|
||||
else if(W.iscoil())
|
||||
var/obj/item/stack/cable_coil/coil = W
|
||||
if (coil.get_amount() < 1)
|
||||
user << "Not enough cable"
|
||||
return
|
||||
coil.cable_join(src, user)
|
||||
|
||||
else if(ismultitool(W))
|
||||
else if(W.ismultitool())
|
||||
|
||||
if(powernet && (powernet.avail > 0)) // is it powered?
|
||||
user << "<span class='warning'>[powernet.avail]W in power network.</span>"
|
||||
@@ -475,6 +475,9 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
|
||||
stacktype = /obj/item/stack/cable_coil
|
||||
|
||||
/obj/item/stack/cable_coil/iscoil()
|
||||
return TRUE
|
||||
|
||||
/obj/item/stack/cable_coil/cyborg
|
||||
name = "cable coil synthesizer"
|
||||
desc = "A device that makes cable."
|
||||
@@ -506,7 +509,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting]
|
||||
|
||||
if (!S) return
|
||||
if(!(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP)
|
||||
if(!(S.status & ORGAN_ASSISTED) || user.a_intent != I_HELP)
|
||||
return ..()
|
||||
|
||||
if(M.isSynthetic() && M == user)
|
||||
@@ -918,7 +921,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
var/ticks = 0
|
||||
|
||||
/obj/structure/noose/attackby(obj/item/W, mob/user, params)
|
||||
if(iswirecutter(W))
|
||||
if(W.iswirecutter())
|
||||
user.visible_message("[user] cuts the noose.", "<span class='notice'>You cut the noose.</span>")
|
||||
if(buckled_mob)
|
||||
buckled_mob.visible_message("<span class='danger'>[buckled_mob] falls over and hits the ground!</span>",\
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
if(!T.is_plating())
|
||||
return
|
||||
|
||||
if(iswirecutter(W))
|
||||
if(W.iswirecutter())
|
||||
usr << "<span class='notice'>These cables are too tough to be cut with those [W.name].</span>"
|
||||
return
|
||||
else if(iscoil(W))
|
||||
else if(W.iscoil())
|
||||
usr << "<span class='notice'>You will need heavier cables to connect to these.</span>"
|
||||
return
|
||||
else
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
attack_hand(user)
|
||||
|
||||
/obj/machinery/power/generator/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
anchored = !anchored
|
||||
user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
|
||||
|
||||
@@ -198,12 +198,12 @@
|
||||
var/old_broken_state = broken_state
|
||||
switch(broken_state)
|
||||
if(GRAV_NEEDS_SCREWDRIVER)
|
||||
if(isscrewdriver(I))
|
||||
if(I.isscrewdriver())
|
||||
user << "<span class='notice'>You secure the screws of the framework.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
broken_state++
|
||||
if(GRAV_NEEDS_WELDING)
|
||||
if(iswelder(I))
|
||||
if(I.iswelder())
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if(WT.remove_fuel(1, user))
|
||||
user << "<span class='notice'>You mend the damaged framework.</span>"
|
||||
@@ -220,13 +220,13 @@
|
||||
else
|
||||
user << "<span class='notice'>You need 10 sheets of plasteel.</span>"
|
||||
if(GRAV_NEEDS_WRENCH)
|
||||
if(iswrench(I))
|
||||
if(I.iswrench())
|
||||
user << "<span class='notice'>You secure the plating to the framework.</span>"
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
set_fix()
|
||||
else
|
||||
..()
|
||||
if(iscrowbar(I))
|
||||
if(I.iscrowbar())
|
||||
if(backpanelopen)
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
user << "<span class='notice'>You replace the back panel.</span>"
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
/obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
add_fingerprint(user)
|
||||
if (iswrench(W))
|
||||
if (W.iswrench())
|
||||
if (src.stage == 1)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
usr << "You begin deconstructing [src]."
|
||||
@@ -68,7 +68,7 @@
|
||||
usr << "You have to unscrew the case first."
|
||||
return
|
||||
|
||||
if(iswirecutter(W))
|
||||
if(W.iswirecutter())
|
||||
if (src.stage != 2) return
|
||||
src.stage = 1
|
||||
switch(fixture_type)
|
||||
@@ -79,13 +79,13 @@
|
||||
new /obj/item/stack/cable_coil(get_turf(src.loc), 1, "red")
|
||||
user.visible_message(
|
||||
"[user] removes the wiring from [src].",
|
||||
"You remove the wiring from [src].",
|
||||
"You remove the wiring from [src].",
|
||||
"You hear something being cut."
|
||||
)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
return
|
||||
|
||||
if(iscoil(W))
|
||||
if(W.iscoil())
|
||||
if (src.stage != 1) return
|
||||
var/obj/item/stack/cable_coil/coil = W
|
||||
if (coil.use(1))
|
||||
@@ -101,7 +101,7 @@
|
||||
)
|
||||
return
|
||||
|
||||
if(isscrewdriver(W))
|
||||
if(W.isscrewdriver())
|
||||
if (stage == 2)
|
||||
switch(fixture_type)
|
||||
if("tube")
|
||||
@@ -156,7 +156,7 @@
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
if (iscrowbar(W))
|
||||
if (W.iscrowbar())
|
||||
if (!cell_connectors)
|
||||
to_chat(user, "<span class='notice'>[src] does not have a power cell connector.</span>")
|
||||
return
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
|
||||
// attempt to stick weapon into light socket
|
||||
else if(status == LIGHT_EMPTY)
|
||||
if(isscrewdriver(W)) //If it's a screwdriver open it.
|
||||
if(W.isscrewdriver()) //If it's a screwdriver open it.
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
user.visible_message("[user.name] opens [src]'s casing.", \
|
||||
"You open [src]'s casing.", "You hear a noise.")
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
user.drop_from_inventory(O,src)
|
||||
user << "<span class='notice'>You add the phoron tank to the generator.</span>"
|
||||
else if(!active)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
anchored = !anchored
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(anchored)
|
||||
@@ -83,14 +83,14 @@
|
||||
else
|
||||
user << "<span class='notice'>You unsecure the generator from the floor.</span>"
|
||||
SSmachinery.powernet_update_queued = TRUE
|
||||
else if(isscrewdriver(O))
|
||||
else if(O.isscrewdriver())
|
||||
open = !open
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(open)
|
||||
user << "<span class='notice'>You open the access panel.</span>"
|
||||
else
|
||||
user << "<span class='notice'>You close the access panel.</span>"
|
||||
else if(iscrowbar(O) && !open)
|
||||
else if(O.iscrowbar() && !open)
|
||||
var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc)
|
||||
for(var/obj/item/I in component_parts)
|
||||
I.forceMove(src.loc)
|
||||
@@ -163,7 +163,7 @@
|
||||
usr << browse(null, "window=port_gen")
|
||||
usr.machine = null
|
||||
|
||||
/obj/machinery/power/port_gen/pacman2/emag_act(var/remaining_uses, var/mob/user)
|
||||
/obj/machinery/power/port_gen/pacman2/emag_act(var/remaining_uses, var/mob/user)
|
||||
emagged = 1
|
||||
emp_act(1)
|
||||
return 1
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
updateUsrDialog()
|
||||
return
|
||||
else if(!active)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
|
||||
if(!anchored)
|
||||
connect_to_network()
|
||||
@@ -279,14 +279,14 @@
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
anchored = !anchored
|
||||
|
||||
else if(isscrewdriver(O))
|
||||
else if(O.isscrewdriver())
|
||||
open = !open
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(open)
|
||||
user << "<span class='notice'>You open the access panel.</span>"
|
||||
else
|
||||
user << "<span class='notice'>You close the access panel.</span>"
|
||||
else if(iscrowbar(O) && open)
|
||||
else if(O.iscrowbar() && open)
|
||||
var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc)
|
||||
for(var/obj/item/I in component_parts)
|
||||
I.forceMove(src.loc)
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
//almost never called, overwritten by all power machines but terminal and generator
|
||||
/obj/machinery/power/attackby(obj/item/weapon/W, mob/user)
|
||||
|
||||
if(iscoil(W))
|
||||
if(W.iscoil())
|
||||
|
||||
var/obj/item/stack/cable_coil/coil = W
|
||||
|
||||
|
||||
@@ -66,11 +66,11 @@ var/global/list/rad_collectors = list()
|
||||
src.P = W
|
||||
update_icons()
|
||||
return 1
|
||||
else if(iscrowbar(W))
|
||||
else if(W.iscrowbar())
|
||||
if(P && !src.locked)
|
||||
eject()
|
||||
return 1
|
||||
else if(iswrench(W))
|
||||
else if(W.iswrench())
|
||||
if(P)
|
||||
user << "<span class='notice'>Remove the phoron tank first.</span>"
|
||||
return 1
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
|
||||
/obj/machinery/power/emitter/attackby(obj/item/W, mob/user)
|
||||
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
if(active)
|
||||
user << "Turn off [src] first."
|
||||
return
|
||||
@@ -174,7 +174,7 @@
|
||||
user << "<span class='warning'>\The [src] needs to be unwelded from the floor.</span>"
|
||||
return
|
||||
|
||||
if(iswelder(W))
|
||||
if(W.iswelder())
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(active)
|
||||
user << "Turn off [src] first."
|
||||
|
||||
@@ -93,7 +93,7 @@ field_generator power level display
|
||||
if(active)
|
||||
user << "The [src] needs to be off."
|
||||
return
|
||||
else if(iswrench(W))
|
||||
else if(W.iswrench())
|
||||
switch(state)
|
||||
if(0)
|
||||
state = 1
|
||||
@@ -112,7 +112,7 @@ field_generator power level display
|
||||
if(2)
|
||||
user << "<span class='warning'>The [src.name] needs to be unwelded from the floor.</span>"
|
||||
return
|
||||
else if(iswelder(W))
|
||||
else if(W.iswelder())
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
switch(state)
|
||||
if(0)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
if(src) qdel(src)
|
||||
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
anchored = !anchored
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
if(anchored)
|
||||
|
||||
@@ -201,35 +201,35 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
|
||||
switch(src.construction_state)//TODO:Might be more interesting to have it need several parts rather than a single list of steps
|
||||
if(0)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
else if(O.iscoil())
|
||||
if(O:use(1,user))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
if(O.iswirecutter())//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
else if(O.isscrewdriver())
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
if(O.isscrewdriver())
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
temp_state--
|
||||
@@ -340,35 +340,35 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
var/temp_state = src.construction_state
|
||||
switch(src.construction_state)//TODO:Might be more interesting to have it need several parts rather than a single list of steps
|
||||
if(0)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
else if(O.iscoil())
|
||||
if(O:use(1))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
if(O.iswirecutter())//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
else if(O.isscrewdriver())
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
if(O.isscrewdriver())
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
temp_state--
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
|
||||
/obj/machinery/power/smes/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
if(isscrewdriver(W))
|
||||
if(W.isscrewdriver())
|
||||
if(!open_hatch)
|
||||
open_hatch = 1
|
||||
user << "<span class='notice'>You open the maintenance hatch of [src].</span>"
|
||||
@@ -307,7 +307,7 @@
|
||||
user << "<span class='warning'>You need to open access hatch on [src] first!</span>"
|
||||
return 0
|
||||
|
||||
if(iscoil(W) && !terminal && !building_terminal)
|
||||
if(W.iscoil() && !terminal && !building_terminal)
|
||||
building_terminal = 1
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
if (CC.get_amount() <= 10)
|
||||
@@ -326,7 +326,7 @@
|
||||
stat = 0
|
||||
return 0
|
||||
|
||||
else if(iswirecutter(W) && terminal && !building_terminal)
|
||||
else if(W.iswirecutter() && terminal && !building_terminal)
|
||||
building_terminal = 1
|
||||
var/turf/tempTDir = terminal.loc
|
||||
if (istype(tempTDir))
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
if (..())
|
||||
|
||||
// Multitool - change RCON tag
|
||||
if(ismultitool(W))
|
||||
if(W.ismultitool())
|
||||
var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text
|
||||
if(newtag)
|
||||
RCon_tag = newtag
|
||||
@@ -335,7 +335,7 @@
|
||||
failure_probability = 0
|
||||
|
||||
// Crowbar - Disassemble the SMES.
|
||||
if(iscrowbar(W))
|
||||
if(W.iscrowbar())
|
||||
if (terminal)
|
||||
user << "<span class='warning'>You have to disassemble the terminal first!</span>"
|
||||
return
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user)
|
||||
|
||||
if(iscrowbar(W))
|
||||
if(W.iscrowbar())
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] begins to take the glass off the solar panel.</span>")
|
||||
if(do_after(user, 50))
|
||||
@@ -224,13 +224,13 @@
|
||||
/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
|
||||
if(!anchored && isturf(loc))
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
anchored = 1
|
||||
user.visible_message("<span class='notice'>[user] wrenches the solar assembly into place.</span>")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
return 1
|
||||
else
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
anchored = 0
|
||||
user.visible_message("<span class='notice'>[user] unwrenches the solar assembly from it's place.</span>")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
@@ -259,7 +259,7 @@
|
||||
user.visible_message("<span class='notice'>[user] inserts the electronics into the solar assembly.</span>")
|
||||
return 1
|
||||
else
|
||||
if(iscrowbar(W))
|
||||
if(W.iscrowbar())
|
||||
new /obj/item/weapon/tracker_electronics(src.loc)
|
||||
tracker = 0
|
||||
user.visible_message("<span class='notice'>[user] takes out the electronics from the solar assembly.</span>")
|
||||
@@ -397,8 +397,8 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/power/solar_control/attackby(I as obj, user as mob)
|
||||
if(isscrewdriver(I))
|
||||
/obj/machinery/power/solar_control/attackby(var/obj/I, user as mob)
|
||||
if(I.isscrewdriver())
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
if(default_part_replacement(user, W))
|
||||
return
|
||||
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "<span class='notice'>You [anchored ? "unfasten" : "fasten"] [src] to the flooring.</span>"
|
||||
anchored = !anchored
|
||||
@@ -74,7 +74,7 @@
|
||||
if(default_part_replacement(user, W))
|
||||
return
|
||||
|
||||
if(iswrench(W))
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "<span class='notice'>You [anchored ? "unfasten" : "fasten"] [src] to the flooring.</span>"
|
||||
anchored = !anchored
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/machinery/power/tracker/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
|
||||
if(iscrowbar(W))
|
||||
if(W.iscrowbar())
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] begins to take the glass off the solar tracker.</span>")
|
||||
if(do_after(user, 50))
|
||||
|
||||
@@ -226,41 +226,6 @@
|
||||
if(P.id == id)
|
||||
doors += P
|
||||
|
||||
/*
|
||||
/obj/machinery/computer/turbine_computer/attackby(I as obj, user as mob)
|
||||
if(isscrewdriver(I))
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
new /obj/item/weapon/material/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A )
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(src.loc)
|
||||
M.id = src.id
|
||||
A.circuit = M
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.anchored = 1
|
||||
qdel(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A )
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(src.loc)
|
||||
M.id = src.id
|
||||
A.circuit = M
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.anchored = 1
|
||||
qdel(src)
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
*/
|
||||
|
||||
/obj/machinery/computer/turbine_computer/attack_hand(var/mob/user as mob)
|
||||
user.machine = src
|
||||
var/dat
|
||||
|
||||
Reference in New Issue
Block a user