mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-31 20:42:27 +00:00
* 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.
99 lines
2.9 KiB
Plaintext
99 lines
2.9 KiB
Plaintext
/obj/structure/lattice
|
|
name = "lattice"
|
|
desc = "A lightweight support lattice."
|
|
icon = 'icons/obj/smooth/lattice.dmi'
|
|
icon_state = "lattice"
|
|
density = FALSE
|
|
anchored = TRUE
|
|
w_class = 3
|
|
layer = 2.3 //under pipes
|
|
// flags = CONDUCT
|
|
var/restrict_placement = TRUE
|
|
smooth = SMOOTH_MORE
|
|
canSmoothWith = list(
|
|
/obj/structure/lattice,
|
|
/turf/simulated/wall,
|
|
/turf/simulated/floor,
|
|
/turf/simulated/mineral,
|
|
/turf/unsimulated/wall,
|
|
/turf/unsimulated/floor,
|
|
/obj/structure/grille
|
|
)
|
|
|
|
/obj/structure/lattice/Initialize()
|
|
. = ..()
|
|
if (restrict_placement)
|
|
if(!(istype(loc, /turf/space) || isopenturf(loc) || istype(loc, /turf/simulated/floor/asteroid)))
|
|
return INITIALIZE_HINT_QDEL
|
|
for(var/obj/structure/lattice/LAT in loc)
|
|
if(LAT != src)
|
|
qdel(LAT)
|
|
|
|
/obj/structure/lattice/ex_act(severity)
|
|
switch(severity)
|
|
if(1.0)
|
|
qdel(src)
|
|
if(2.0)
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
|
|
if (istype(C, /obj/item/stack/tile/floor))
|
|
var/turf/T = get_turf(src)
|
|
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead
|
|
return
|
|
if (C.iswelder())
|
|
var/obj/item/weapon/weldingtool/WT = C
|
|
if(WT.remove_fuel(0, user))
|
|
user << "<span class='notice'>Slicing lattice joints ...</span>"
|
|
new /obj/item/stack/rods(src.loc)
|
|
qdel(src)
|
|
if (istype(C, /obj/item/stack/rods))
|
|
var/obj/item/stack/rods/R = C
|
|
if (R.use(2))
|
|
user << "<span class='notice'>Constructing catwalk ...</span>"
|
|
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
|
new /obj/structure/lattice/catwalk(src.loc)
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/lattice/catwalk
|
|
name = "catwalk"
|
|
desc = "A catwalk for easier EVA maneuvering."
|
|
icon = 'icons/obj/smooth/catwalk.dmi'
|
|
icon_state = "catwalk"
|
|
smooth = SMOOTH_MORE
|
|
canSmoothWith = list(/obj/structure/lattice/catwalk)
|
|
|
|
// Special catwalk that can be placed on regular flooring.
|
|
/obj/structure/lattice/catwalk/indoor
|
|
desc = "A floor-mounted catwalk designed to protect pipes & station wiring from passing feet."
|
|
restrict_placement = FALSE
|
|
can_be_unanchored = TRUE
|
|
layer = 2.7 // Above wires.
|
|
|
|
/obj/structure/lattice/catwalk/attackby(obj/item/C, mob/user)
|
|
if (C.iswelder())
|
|
var/obj/item/weapon/weldingtool/WT = C
|
|
if (do_after(user, 5, act_target = src) && WT.remove_fuel(1, user))
|
|
user << "<span class='notice'>You slice apart [src].</span>"
|
|
playsound(src, 'sound/items/Welder.ogg', 50, 1)
|
|
new /obj/item/stack/rods{amount = 3}(loc)
|
|
qdel(src)
|
|
|
|
/obj/structure/lattice/catwalk/indoor/attackby(obj/item/C, mob/user)
|
|
if (C.isscrewdriver())
|
|
anchored = !anchored
|
|
user << "<span class='notice'>You [anchored ? "" : "un"]anchor [src].</span>"
|
|
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
|
|
queue_smooth(src)
|
|
queue_smooth_neighbors(src)
|
|
else
|
|
..()
|
|
|
|
/obj/structure/lattice/catwalk/hoist_act(turf/dest)
|
|
for (var/A in loc)
|
|
var/atom/movable/AM = A
|
|
AM.forceMove(dest)
|
|
..()
|