Merge branch 'master' of https://github.com/PolarisSS13/Polaris into tracking_implant
@@ -236,8 +236,7 @@
|
|||||||
dir = SOUTH
|
dir = SOUTH
|
||||||
initialize_directions = SOUTH|NORTH|EAST
|
initialize_directions = SOUTH|NORTH|EAST
|
||||||
|
|
||||||
obj/machinery/atmospherics/trinary/filter/m_filter/New()
|
obj/machinery/atmospherics/trinary/filter/m_filter/init_dir()
|
||||||
..()
|
|
||||||
switch(dir)
|
switch(dir)
|
||||||
if(NORTH)
|
if(NORTH)
|
||||||
initialize_directions = WEST|NORTH|SOUTH
|
initialize_directions = WEST|NORTH|SOUTH
|
||||||
|
|||||||
@@ -181,8 +181,7 @@ obj/machinery/atmospherics/trinary/mixer/t_mixer
|
|||||||
|
|
||||||
//node 3 is the outlet, nodes 1 & 2 are intakes
|
//node 3 is the outlet, nodes 1 & 2 are intakes
|
||||||
|
|
||||||
obj/machinery/atmospherics/trinary/mixer/t_mixer/New()
|
obj/machinery/atmospherics/trinary/mixer/t_mixer/init_dir()
|
||||||
..()
|
|
||||||
switch(dir)
|
switch(dir)
|
||||||
if(NORTH)
|
if(NORTH)
|
||||||
initialize_directions = EAST|NORTH|WEST
|
initialize_directions = EAST|NORTH|WEST
|
||||||
@@ -227,8 +226,7 @@ obj/machinery/atmospherics/trinary/mixer/m_mixer
|
|||||||
|
|
||||||
//node 3 is the outlet, nodes 1 & 2 are intakes
|
//node 3 is the outlet, nodes 1 & 2 are intakes
|
||||||
|
|
||||||
obj/machinery/atmospherics/trinary/mixer/m_mixer/New()
|
obj/machinery/atmospherics/trinary/mixer/m_mixer/init_dir()
|
||||||
..()
|
|
||||||
switch(dir)
|
switch(dir)
|
||||||
if(NORTH)
|
if(NORTH)
|
||||||
initialize_directions = WEST|NORTH|SOUTH
|
initialize_directions = WEST|NORTH|SOUTH
|
||||||
|
|||||||
@@ -113,9 +113,10 @@
|
|||||||
/obj/item/weapon/material/hatchet = 2,
|
/obj/item/weapon/material/hatchet = 2,
|
||||||
/obj/item/weapon/reagent_containers/spray/plantbgone = 4,
|
/obj/item/weapon/reagent_containers/spray/plantbgone = 4,
|
||||||
/obj/item/clothing/mask/gas = 2,
|
/obj/item/clothing/mask/gas = 2,
|
||||||
/obj/item/weapon/grenade/chem_grenade/antiweed = 2
|
/obj/item/weapon/grenade/chem_grenade/antiweed = 2,
|
||||||
|
/obj/item/weapon/material/twohanded/fireaxe/scythe
|
||||||
)
|
)
|
||||||
cost = 25
|
cost = 45
|
||||||
containertype = /obj/structure/closet/crate/hydroponics
|
containertype = /obj/structure/closet/crate/hydroponics
|
||||||
containername = "Weed control crate"
|
containername = "Weed control crate"
|
||||||
access = access_hydroponics
|
access = access_hydroponics
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
icon = 'icons/obj/meter.dmi'
|
icon = 'icons/obj/meter.dmi'
|
||||||
icon_state = "meterX"
|
icon_state = "meterX"
|
||||||
var/obj/machinery/atmospherics/pipe/target = null
|
var/obj/machinery/atmospherics/pipe/target = null
|
||||||
|
var/list/pipes_on_turf = list()
|
||||||
anchored = 1.0
|
anchored = 1.0
|
||||||
power_channel = ENVIRON
|
power_channel = ENVIRON
|
||||||
var/frequency = 0
|
var/frequency = 0
|
||||||
@@ -13,12 +14,29 @@
|
|||||||
|
|
||||||
/obj/machinery/meter/New()
|
/obj/machinery/meter/New()
|
||||||
..()
|
..()
|
||||||
src.target = locate(/obj/machinery/atmospherics/pipe) in loc
|
spawn(5)
|
||||||
|
target = select_target()
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/meter/initialize()
|
/obj/machinery/meter/initialize()
|
||||||
|
. = ..()
|
||||||
if (!target)
|
if (!target)
|
||||||
src.target = locate(/obj/machinery/atmospherics/pipe) in loc
|
spawn(5)
|
||||||
|
target = select_target()
|
||||||
|
|
||||||
|
/obj/machinery/meter/Destroy()
|
||||||
|
pipes_on_turf.Cut()
|
||||||
|
target = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/machinery/meter/proc/select_target()
|
||||||
|
var/obj/machinery/atmospherics/pipe/P
|
||||||
|
for(P in loc)
|
||||||
|
if(!P.hides_under_flooring())
|
||||||
|
break
|
||||||
|
if(!P)
|
||||||
|
P = locate(/obj/machinery/atmospherics/pipe) in loc
|
||||||
|
return P
|
||||||
|
|
||||||
/obj/machinery/meter/process()
|
/obj/machinery/meter/process()
|
||||||
if(!target)
|
if(!target)
|
||||||
@@ -93,30 +111,36 @@
|
|||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
/obj/machinery/meter/attackby(var/obj/item/W, var/mob/user)
|
||||||
if (!istype(W, /obj/item/weapon/wrench))
|
if(iswrench(W))
|
||||||
return ..()
|
playsound(src, W.usesound, 50, 1)
|
||||||
playsound(src, W.usesound, 50, 1)
|
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
|
||||||
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
|
if(do_after(user, 40 * W.toolspeed))
|
||||||
if (do_after(user, 40 * W.toolspeed))
|
user.visible_message( \
|
||||||
user.visible_message( \
|
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
|
||||||
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
|
"<span class='notice'>You have unfastened \the [src].</span>", \
|
||||||
"<span class='notice'>You have unfastened \the [src].</span>", \
|
"You hear ratchet.")
|
||||||
"You hear ratchet.")
|
new /obj/item/pipe_meter(get_turf(src))
|
||||||
new /obj/item/pipe_meter(src.loc)
|
qdel(src)
|
||||||
qdel(src)
|
return
|
||||||
|
|
||||||
|
if(ismultitool(W))
|
||||||
|
for(var/obj/machinery/atmospherics/pipe/P in loc)
|
||||||
|
pipes_on_turf |= P
|
||||||
|
if(!pipes_on_turf.len)
|
||||||
|
return
|
||||||
|
target = pipes_on_turf[1]
|
||||||
|
pipes_on_turf.Remove(target)
|
||||||
|
pipes_on_turf.Add(target)
|
||||||
|
to_chat(user, "<span class='notice'>Pipe meter set to moniter \the [target].</span>")
|
||||||
|
return
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
// TURF METER - REPORTS A TILE'S AIR CONTENTS
|
// TURF METER - REPORTS A TILE'S AIR CONTENTS
|
||||||
|
|
||||||
/obj/machinery/meter/turf/New()
|
/obj/machinery/meter/turf/select_target()
|
||||||
..()
|
return loc
|
||||||
src.target = loc
|
|
||||||
return 1
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/meter/turf/initialize()
|
|
||||||
if (!target)
|
|
||||||
src.target = loc
|
|
||||||
|
|
||||||
/obj/machinery/meter/turf/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
/obj/machinery/meter/turf/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -94,6 +94,10 @@
|
|||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
for(var/modifier_type in R.genetic_modifiers) //Can't be cloned, even if they had a previous scan
|
||||||
|
if(istype(modifier_type, /datum/modifier/no_clone))
|
||||||
|
return 0
|
||||||
|
|
||||||
attempting = 1 //One at a time!!
|
attempting = 1 //One at a time!!
|
||||||
locked = 1
|
locked = 1
|
||||||
|
|
||||||
@@ -149,7 +153,7 @@
|
|||||||
modifier_lower_bound = round(modifier_lower_bound * clone_sickness_length, 1)
|
modifier_lower_bound = round(modifier_lower_bound * clone_sickness_length, 1)
|
||||||
modifier_upper_bound = round(modifier_upper_bound * clone_sickness_length, 1)
|
modifier_upper_bound = round(modifier_upper_bound * clone_sickness_length, 1)
|
||||||
|
|
||||||
H.add_modifier(/datum/modifier/recently_cloned, rand(modifier_lower_bound, modifier_upper_bound))
|
H.add_modifier(/datum/modifier/cloning_sickness, rand(modifier_lower_bound, modifier_upper_bound))
|
||||||
|
|
||||||
// Modifier that doesn't do anything.
|
// Modifier that doesn't do anything.
|
||||||
H.add_modifier(/datum/modifier/cloned)
|
H.add_modifier(/datum/modifier/cloned)
|
||||||
@@ -516,32 +520,4 @@
|
|||||||
/* EMP grenade/spell effect
|
/* EMP grenade/spell effect
|
||||||
if(istype(A, /obj/machinery/clonepod))
|
if(istype(A, /obj/machinery/clonepod))
|
||||||
A:malfunction()
|
A:malfunction()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Modifier applied to newly cloned people.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Gives rather nasty downsides for awhile, making them less robust.
|
|
||||||
/datum/modifier/recently_cloned
|
|
||||||
name = "recently cloned"
|
|
||||||
desc = "You feel rather weak, having been cloned awhile ago."
|
|
||||||
|
|
||||||
on_created_text = "<span class='warning'><font size='3'>You feel really weak.</font></span>"
|
|
||||||
on_expired_text = "<span class='notice'><font size='3'>You feel your strength returning to you.</font></span>"
|
|
||||||
|
|
||||||
max_health_percent = 0.6 // -40% max health.
|
|
||||||
incoming_damage_percent = 1.1 // 10% more incoming damage.
|
|
||||||
outgoing_melee_damage_percent = 0.7 // 30% less melee damage.
|
|
||||||
disable_duration_percent = 1.25 // Stuns last 25% longer.
|
|
||||||
slowdown = 1 // Slower.
|
|
||||||
evasion = -1 // 15% easier to hit.
|
|
||||||
|
|
||||||
// Does nothing.
|
|
||||||
/datum/modifier/cloned
|
|
||||||
name = "cloned"
|
|
||||||
desc = "You died and were cloned, and you can never forget that."
|
|
||||||
|
|
||||||
flags = MODIFIER_GENETIC // So it gets copied if they die and get cloned again.
|
|
||||||
stacks = MODIFIER_STACK_ALLOWED // Two deaths means two instances of this.
|
|
||||||
|
|
||||||
@@ -316,6 +316,10 @@
|
|||||||
if (subject.species && subject.species.flags & NO_SCAN)
|
if (subject.species && subject.species.flags & NO_SCAN)
|
||||||
scantemp = "Error: Mental interface failure."
|
scantemp = "Error: Mental interface failure."
|
||||||
return
|
return
|
||||||
|
for(var/modifier_type in subject.modifiers) //Can't be cloned, even if they had a previous scan
|
||||||
|
if(istype(modifier_type, /datum/modifier/no_clone))
|
||||||
|
scantemp = "Error: Mental interface failure."
|
||||||
|
return
|
||||||
if (!isnull(find_record(subject.ckey)))
|
if (!isnull(find_record(subject.ckey)))
|
||||||
scantemp = "Subject already in database."
|
scantemp = "Subject already in database."
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
var/temp_access = list() //to prevent agent cards stealing access as permanent
|
var/temp_access = list() //to prevent agent cards stealing access as permanent
|
||||||
var/expiration_time = 0
|
var/expiration_time = 0
|
||||||
|
var/expired = 0
|
||||||
var/reason = "NOT SPECIFIED"
|
var/reason = "NOT SPECIFIED"
|
||||||
|
|
||||||
/obj/item/weapon/card/id/guest/GetAccess()
|
/obj/item/weapon/card/id/guest/GetAccess()
|
||||||
@@ -38,6 +39,38 @@
|
|||||||
usr << "<span class='notice'>Issuing reason: [reason].</span>"
|
usr << "<span class='notice'>Issuing reason: [reason].</span>"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/guest/attack_self(mob/living/user as mob)
|
||||||
|
if(user.a_intent == I_HURT)
|
||||||
|
if(icon_state == "guest_invalid")
|
||||||
|
to_chat(user, "<span class='warning'>This guest pass is already deactivated!</span>")
|
||||||
|
return
|
||||||
|
|
||||||
|
var/confirm = alert("Do you really want to deactivate this guest pass? (you can't reactivate it)", "Confirm Deactivation", "Yes", "No")
|
||||||
|
if(confirm == "Yes")
|
||||||
|
//rip guest pass </3
|
||||||
|
user.visible_message("<span class='notice'>\The [user] deactivates \the [src].</span>")
|
||||||
|
icon_state = "guest_invalid"
|
||||||
|
expiration_time = world.time
|
||||||
|
expired = 1
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/guest/New()
|
||||||
|
..()
|
||||||
|
processing_objects.Add(src)
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/guest/Destroy()
|
||||||
|
processing_objects.Remove(src)
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/guest/process()
|
||||||
|
if(expired == 0 && world.time >= expiration_time)
|
||||||
|
visible_message("<span class='warning'>\The [src] flashes a few times before turning red.</span>")
|
||||||
|
icon_state = "guest_invalid"
|
||||||
|
expired = 1
|
||||||
|
world.time = expiration_time
|
||||||
|
return
|
||||||
|
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
//Guest pass terminal////////////////////////
|
//Guest pass terminal////////////////////////
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
force = 30
|
force = 30
|
||||||
var/melee_cooldown = 10
|
var/melee_cooldown = 10
|
||||||
var/melee_can_hit = 1
|
var/melee_can_hit = 1
|
||||||
var/list/destroyable_obj = list(/obj/mecha, /obj/structure/window, /obj/structure/grille, /turf/simulated/wall)
|
var/list/destroyable_obj = list(/obj/mecha, /obj/structure/window, /obj/structure/grille, /turf/simulated/wall, /obj/structure/girder)
|
||||||
internal_damage_threshold = 50
|
internal_damage_threshold = 50
|
||||||
maint_access = 0
|
maint_access = 0
|
||||||
//add_req_access = 0
|
//add_req_access = 0
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
if(!melee_can_hit || !istype(target, /atom)) return
|
if(!melee_can_hit || !istype(target, /atom)) return
|
||||||
if(istype(target, /mob/living))
|
if(istype(target, /mob/living))
|
||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
if(src.occupant.a_intent == I_HURT)
|
if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) //Brains cannot change intents; Exo-piloting brains lack any form of physical feedback for control, limiting the ability to 'play nice'.
|
||||||
playsound(src, 'sound/weapons/punch4.ogg', 50, 1)
|
playsound(src, 'sound/weapons/punch4.ogg', 50, 1)
|
||||||
if(damtype == "brute")
|
if(damtype == "brute")
|
||||||
step_away(M,src,15)
|
step_away(M,src,15)
|
||||||
@@ -95,14 +95,19 @@
|
|||||||
if(istype(target, target_type) && hascall(target, "attackby"))
|
if(istype(target, target_type) && hascall(target, "attackby"))
|
||||||
src.occupant_message("You hit [target].")
|
src.occupant_message("You hit [target].")
|
||||||
src.visible_message("<font color='red'><b>[src.name] hits [target]</b></font>")
|
src.visible_message("<font color='red'><b>[src.name] hits [target]</b></font>")
|
||||||
if(!istype(target, /turf/simulated/wall))
|
if(!istype(target, /turf/simulated/wall) && !istype(target, /obj/structure/girder))
|
||||||
target:attackby(src,src.occupant)
|
target:attackby(src,src.occupant)
|
||||||
else if(prob(5))
|
else if(prob(5))
|
||||||
target:dismantle_wall(1)
|
target:dismantle_wall(1)
|
||||||
src.occupant_message("<span class='notice'>You smash through the wall.</span>")
|
src.occupant_message("<span class='notice'>You smash through the wall.</span>")
|
||||||
src.visible_message("<b>[src.name] smashes through the wall</b>")
|
src.visible_message("<b>[src.name] smashes through the wall</b>")
|
||||||
playsound(src, 'sound/weapons/smash.ogg', 50, 1)
|
playsound(src, 'sound/weapons/smash.ogg', 50, 1)
|
||||||
|
else if(istype(target, /turf/simulated/wall))
|
||||||
|
target:take_damage(force)
|
||||||
|
else if(istype(target, /obj/structure/girder))
|
||||||
|
target:take_damage(force * 3) //Girders have 200 health by default. Steel, non-reinforced walls take four punches, girders take (with this value-mod) two, girders took five without.
|
||||||
melee_can_hit = 0
|
melee_can_hit = 0
|
||||||
|
|
||||||
if(do_after(melee_cooldown))
|
if(do_after(melee_cooldown))
|
||||||
melee_can_hit = 1
|
melee_can_hit = 1
|
||||||
break
|
break
|
||||||
@@ -244,6 +249,14 @@
|
|||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
/obj/mecha/combat/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
|
||||||
|
if(..())
|
||||||
|
if(occupant.client)
|
||||||
|
occupant.client.mouse_pointer_icon = file("icons/mecha/mecha_mouse.dmi")
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
|
||||||
/obj/mecha/combat/go_out()
|
/obj/mecha/combat/go_out()
|
||||||
if(src.occupant && src.occupant.client)
|
if(src.occupant && src.occupant.client)
|
||||||
src.occupant.client.mouse_pointer_icon = initial(src.occupant.client.mouse_pointer_icon)
|
src.occupant.client.mouse_pointer_icon = initial(src.occupant.client.mouse_pointer_icon)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
else if(istype(target,/mob/living))
|
else if(istype(target,/mob/living))
|
||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
if(M.stat>1) return
|
if(M.stat>1) return
|
||||||
if(chassis.occupant.a_intent == I_HURT)
|
if(chassis.occupant.a_intent == I_HURT || istype(chassis.occupant,/mob/living/carbon/brain)) //No tactile feedback for brains
|
||||||
M.take_overall_damage(dam_force)
|
M.take_overall_damage(dam_force)
|
||||||
M.adjustOxyLoss(round(dam_force/2))
|
M.adjustOxyLoss(round(dam_force/2))
|
||||||
M.updatehealth()
|
M.updatehealth()
|
||||||
|
|||||||
@@ -344,8 +344,11 @@
|
|||||||
|
|
||||||
/obj/mecha/relaymove(mob/user,direction)
|
/obj/mecha/relaymove(mob/user,direction)
|
||||||
if(user != src.occupant) //While not "realistic", this piece is player friendly.
|
if(user != src.occupant) //While not "realistic", this piece is player friendly.
|
||||||
|
if(istype(user,/mob/living/carbon/brain))
|
||||||
|
to_chat(user,"You try to move, but you are not the pilot! The exosuit doesn't respond.")
|
||||||
|
return 0
|
||||||
user.forceMove(get_turf(src))
|
user.forceMove(get_turf(src))
|
||||||
user << "You climb out from [src]"
|
to_chat(user,"You climb out from [src]")
|
||||||
return 0
|
return 0
|
||||||
if(connected_port)
|
if(connected_port)
|
||||||
if(world.time - last_message > 20)
|
if(world.time - last_message > 20)
|
||||||
@@ -686,6 +689,13 @@
|
|||||||
|
|
||||||
/obj/mecha/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/mecha/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
|
|
||||||
|
if(istype(W, /obj/item/device/mmi))
|
||||||
|
if(mmi_move_inside(W,user))
|
||||||
|
to_chat(user,"[src]-MMI interface initialized successfuly")
|
||||||
|
else
|
||||||
|
to_chat(user,"[src]-MMI interface initialization failed.")
|
||||||
|
return
|
||||||
|
|
||||||
if(istype(W, /obj/item/mecha_parts/mecha_equipment))
|
if(istype(W, /obj/item/mecha_parts/mecha_equipment))
|
||||||
var/obj/item/mecha_parts/mecha_equipment/E = W
|
var/obj/item/mecha_parts/mecha_equipment/E = W
|
||||||
spawn()
|
spawn()
|
||||||
@@ -829,6 +839,70 @@
|
|||||||
return
|
return
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
///////////////////////////////
|
||||||
|
//////// Brain Stuff ////////
|
||||||
|
///////////////////////////////
|
||||||
|
|
||||||
|
/obj/mecha/proc/mmi_move_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
|
||||||
|
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
|
||||||
|
to_chat(user,"Consciousness matrix not detected.")
|
||||||
|
return 0
|
||||||
|
else if(mmi_as_oc.brainmob.stat)
|
||||||
|
to_chat(user,"Brain activity below acceptable level.")
|
||||||
|
return 0
|
||||||
|
else if(occupant)
|
||||||
|
to_chat(user,"Occupant detected.")
|
||||||
|
return 0
|
||||||
|
else if(dna && dna!=mmi_as_oc.brainmob.dna.unique_enzymes)
|
||||||
|
to_chat(user,"Genetic sequence or serial number incompatible with locking mechanism.")
|
||||||
|
return 0
|
||||||
|
//Added a message here since people assume their first click failed or something./N
|
||||||
|
// user << "Installing MMI, please stand by."
|
||||||
|
|
||||||
|
visible_message("<span class='notice'>[usr] starts to insert a brain into [src.name]</span>")
|
||||||
|
|
||||||
|
if(enter_after(40,user))
|
||||||
|
if(!occupant)
|
||||||
|
return mmi_moved_inside(mmi_as_oc,user)
|
||||||
|
else
|
||||||
|
to_chat(user,"Occupant detected.")
|
||||||
|
else
|
||||||
|
to_chat(user,"You stop attempting to install the brain.")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
/obj/mecha/proc/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
|
||||||
|
if(mmi_as_oc && user in range(1))
|
||||||
|
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
|
||||||
|
to_chat(user,"Consciousness matrix not detected.")
|
||||||
|
return 0
|
||||||
|
else if(mmi_as_oc.brainmob.stat)
|
||||||
|
to_chat(user,"Beta-rhythm below acceptable level.")
|
||||||
|
return 0
|
||||||
|
user.drop_from_inventory(mmi_as_oc)
|
||||||
|
var/mob/brainmob = mmi_as_oc.brainmob
|
||||||
|
brainmob.reset_view(src)
|
||||||
|
/*
|
||||||
|
brainmob.client.eye = src
|
||||||
|
brainmob.client.perspective = EYE_PERSPECTIVE
|
||||||
|
*/
|
||||||
|
occupant = brainmob
|
||||||
|
brainmob.loc = src //should allow relaymove
|
||||||
|
brainmob.canmove = 1
|
||||||
|
mmi_as_oc.loc = src
|
||||||
|
mmi_as_oc.mecha = src
|
||||||
|
src.verbs += /obj/mecha/verb/eject
|
||||||
|
src.Entered(mmi_as_oc)
|
||||||
|
src.Move(src.loc)
|
||||||
|
src.icon_state = src.reset_icon()
|
||||||
|
set_dir(dir_in)
|
||||||
|
src.log_message("[mmi_as_oc] moved in as pilot.")
|
||||||
|
if(!hasInternalDamage())
|
||||||
|
src.occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
//////// Atmospheric stuff ////////
|
//////// Atmospheric stuff ////////
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
@@ -1044,6 +1118,7 @@
|
|||||||
src.occupant = H
|
src.occupant = H
|
||||||
src.add_fingerprint(H)
|
src.add_fingerprint(H)
|
||||||
src.forceMove(src.loc)
|
src.forceMove(src.loc)
|
||||||
|
src.verbs += /obj/mecha/verb/eject
|
||||||
src.log_append_to_last("[H] moved in as pilot.")
|
src.log_append_to_last("[H] moved in as pilot.")
|
||||||
src.icon_state = src.reset_icon()
|
src.icon_state = src.reset_icon()
|
||||||
set_dir(dir_in)
|
set_dir(dir_in)
|
||||||
@@ -1132,10 +1207,10 @@
|
|||||||
occupant.loc = mmi
|
occupant.loc = mmi
|
||||||
mmi.mecha = null
|
mmi.mecha = null
|
||||||
src.occupant.canmove = 0
|
src.occupant.canmove = 0
|
||||||
src.verbs += /obj/mecha/verb/eject
|
|
||||||
src.occupant = null
|
src.occupant = null
|
||||||
src.icon_state = src.reset_icon()+"-open"
|
src.icon_state = src.reset_icon()+"-open"
|
||||||
src.set_dir(dir_in)
|
src.set_dir(dir_in)
|
||||||
|
src.verbs -= /obj/mecha/verb/eject
|
||||||
return
|
return
|
||||||
|
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
var/amount_grown = 0
|
var/amount_grown = 0
|
||||||
var/spiders_min = 6
|
var/spiders_min = 6
|
||||||
var/spiders_max = 24
|
var/spiders_max = 24
|
||||||
|
var/spider_type = /obj/effect/spider/spiderling
|
||||||
New()
|
New()
|
||||||
pixel_x = rand(3,-3)
|
pixel_x = rand(3,-3)
|
||||||
pixel_y = rand(3,-3)
|
pixel_y = rand(3,-3)
|
||||||
@@ -105,7 +106,7 @@
|
|||||||
O = loc
|
O = loc
|
||||||
|
|
||||||
for(var/i=0, i<num, i++)
|
for(var/i=0, i<num, i++)
|
||||||
var/spiderling = new /obj/effect/spider/spiderling(src.loc, src)
|
var/spiderling = new spider_type(src.loc, src)
|
||||||
if(O)
|
if(O)
|
||||||
O.implants += spiderling
|
O.implants += spiderling
|
||||||
qdel(src)
|
qdel(src)
|
||||||
@@ -114,6 +115,9 @@
|
|||||||
spiders_min = 1
|
spiders_min = 1
|
||||||
spiders_max = 3
|
spiders_max = 3
|
||||||
|
|
||||||
|
/obj/effect/spider/eggcluster/small/frost
|
||||||
|
spider_type = /obj/effect/spider/spiderling/frost
|
||||||
|
|
||||||
/obj/effect/spider/spiderling
|
/obj/effect/spider/spiderling
|
||||||
name = "spiderling"
|
name = "spiderling"
|
||||||
desc = "It never stays still for long."
|
desc = "It never stays still for long."
|
||||||
@@ -127,6 +131,9 @@
|
|||||||
var/travelling_in_vent = 0
|
var/travelling_in_vent = 0
|
||||||
var/list/grow_as = list(/mob/living/simple_animal/hostile/giant_spider, /mob/living/simple_animal/hostile/giant_spider/nurse, /mob/living/simple_animal/hostile/giant_spider/hunter)
|
var/list/grow_as = list(/mob/living/simple_animal/hostile/giant_spider, /mob/living/simple_animal/hostile/giant_spider/nurse, /mob/living/simple_animal/hostile/giant_spider/hunter)
|
||||||
|
|
||||||
|
/obj/effect/spider/spiderling/frost
|
||||||
|
grow_as = list(/mob/living/simple_animal/hostile/giant_spider/frost)
|
||||||
|
|
||||||
/obj/effect/spider/spiderling/New(var/location, var/atom/parent)
|
/obj/effect/spider/spiderling/New(var/location, var/atom/parent)
|
||||||
pixel_x = rand(6,-6)
|
pixel_x = rand(6,-6)
|
||||||
pixel_y = rand(6,-6)
|
pixel_y = rand(6,-6)
|
||||||
|
|||||||
@@ -132,4 +132,19 @@
|
|||||||
/obj/item/device/t_scanner/dropped(mob/user)
|
/obj/item/device/t_scanner/dropped(mob/user)
|
||||||
set_user_client(null)
|
set_user_client(null)
|
||||||
|
|
||||||
|
/obj/item/device/t_scanner/upgraded
|
||||||
|
name = "Upgraded T-ray Scanner"
|
||||||
|
desc = "An upgraded version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
|
||||||
|
matter = list(DEFAULT_WALL_MATERIAL = 500, PHORON = 150)
|
||||||
|
origin_tech = list(TECH_MAGNET = 4, TECH_ENGINEERING = 5)
|
||||||
|
scan_range = 3
|
||||||
|
|
||||||
|
/obj/item/device/t_scanner/advanced
|
||||||
|
name = "Advanced T-ray Scanner"
|
||||||
|
desc = "An advanced version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
|
||||||
|
matter = list(DEFAULT_WALL_MATERIAL = 1500, PHORON = 200, SILVER = 250)
|
||||||
|
origin_tech = list(TECH_MAGNET = 7, TECH_ENGINEERING = 7, TECH_MATERIAL = 6)
|
||||||
|
scan_range = 7
|
||||||
|
|
||||||
|
|
||||||
#undef OVERLAY_CACHE_LEN
|
#undef OVERLAY_CACHE_LEN
|
||||||
@@ -4,16 +4,18 @@
|
|||||||
desc = "This item spawns stack of 50 of a given material."
|
desc = "This item spawns stack of 50 of a given material."
|
||||||
icon = 'icons/misc/mark.dmi'
|
icon = 'icons/misc/mark.dmi'
|
||||||
icon_state = "x4"
|
icon_state = "x4"
|
||||||
var/material = ""
|
// var/material = ""
|
||||||
|
var/obj/item/stack/type_to_spawn = null
|
||||||
|
|
||||||
/obj/fiftyspawner/New()
|
/obj/fiftyspawner/New()
|
||||||
//spawns the 50-stack and qdels self
|
//spawns the 50-stack and qdels self
|
||||||
..()
|
..()
|
||||||
var/obj_path = text2path("/obj/item/stack/[material]")
|
// var/obj_path = text2path("/obj/item/stack/[material]")
|
||||||
var/obj/item/stack/M = new obj_path(src.loc)
|
var/obj/item/stack/M = new type_to_spawn(src.loc)
|
||||||
M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty
|
M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty
|
||||||
|
M.update_icon() // Some stacks have different sprites depending on how full they are.
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/fiftyspawner/rods
|
/obj/fiftyspawner/rods
|
||||||
name = "stack of rods" //this needs to be defined for cargo
|
name = "stack of rods" //this needs to be defined for cargo
|
||||||
material = "rods"
|
type_to_spawn = /obj/item/stack/rods
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/obj/item/stack/medical
|
/obj/item/stack/medical
|
||||||
name = "medical pack"
|
name = "medical pack"
|
||||||
singular_name = "medical pack"
|
singular_name = "medical pack"
|
||||||
icon = 'icons/obj/items.dmi'
|
icon = 'icons/obj/stacks.dmi'
|
||||||
amount = 10
|
amount = 10
|
||||||
max_amount = 10
|
max_amount = 10
|
||||||
w_class = ITEMSIZE_SMALL
|
w_class = ITEMSIZE_SMALL
|
||||||
@@ -64,6 +64,7 @@
|
|||||||
desc = "Some sterile gauze to wrap around bloody stumps."
|
desc = "Some sterile gauze to wrap around bloody stumps."
|
||||||
icon_state = "brutepack"
|
icon_state = "brutepack"
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/medical/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob)
|
/obj/item/stack/medical/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||||
if(..())
|
if(..())
|
||||||
@@ -123,6 +124,7 @@
|
|||||||
icon_state = "ointment"
|
icon_state = "ointment"
|
||||||
heal_burn = 1
|
heal_burn = 1
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
|
/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
name = "nanopaste"
|
name = "nanopaste"
|
||||||
singular_name = "nanite swarm"
|
singular_name = "nanite swarm"
|
||||||
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
|
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
|
||||||
icon = 'icons/obj/nanopaste.dmi'
|
icon = 'icons/obj/stacks.dmi'
|
||||||
icon_state = "tube"
|
icon_state = "nanopaste"
|
||||||
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
||||||
amount = 10
|
amount = 10
|
||||||
w_class = ITEMSIZE_SMALL
|
w_class = ITEMSIZE_SMALL
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/nanopaste/attack(mob/living/M as mob, mob/user as mob)
|
/obj/item/stack/nanopaste/attack(mob/living/M as mob, mob/user as mob)
|
||||||
if (!istype(M) || !istype(user))
|
if (!istype(M) || !istype(user))
|
||||||
|
|||||||
@@ -21,10 +21,19 @@
|
|||||||
uses_charge = 1
|
uses_charge = 1
|
||||||
charge_costs = list(500)
|
charge_costs = list(500)
|
||||||
stacktype = /obj/item/stack/rods
|
stacktype = /obj/item/stack/rods
|
||||||
|
no_variants = TRUE
|
||||||
|
|
||||||
/obj/item/stack/rods/New()
|
/obj/item/stack/rods/New()
|
||||||
..()
|
..()
|
||||||
recipes = rods_recipes
|
recipes = rods_recipes
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/stack/rods/update_icon()
|
||||||
|
var/amount = get_amount()
|
||||||
|
if((amount <= 5) && (amount > 0))
|
||||||
|
icon_state = "rods-[amount]"
|
||||||
|
else
|
||||||
|
icon_state = "rods"
|
||||||
|
|
||||||
var/global/list/datum/stack_recipe/rods_recipes = list( \
|
var/global/list/datum/stack_recipe/rods_recipes = list( \
|
||||||
new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1),
|
new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1),
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
desc = "The by-product of human farming."
|
desc = "The by-product of human farming."
|
||||||
singular_name = "human skin piece"
|
singular_name = "human skin piece"
|
||||||
icon_state = "sheet-hide"
|
icon_state = "sheet-hide"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/animalhide/human
|
/obj/item/stack/material/animalhide/human
|
||||||
amount = 50
|
amount = 50
|
||||||
@@ -80,6 +81,7 @@
|
|||||||
desc = "This hide was stripped of it's hair, but still needs tanning."
|
desc = "This hide was stripped of it's hair, but still needs tanning."
|
||||||
singular_name = "hairless hide piece"
|
singular_name = "hairless hide piece"
|
||||||
icon_state = "sheet-hairlesshide"
|
icon_state = "sheet-hairlesshide"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/hairlesshide
|
/obj/item/stack/material/hairlesshide
|
||||||
amount = 50
|
amount = 50
|
||||||
@@ -91,6 +93,7 @@
|
|||||||
icon_state = "sheet-wetleather"
|
icon_state = "sheet-wetleather"
|
||||||
var/wetness = 30 //Reduced when exposed to high temperautres
|
var/wetness = 30 //Reduced when exposed to high temperautres
|
||||||
var/drying_threshold_temperature = 500 //Kelvin to start drying
|
var/drying_threshold_temperature = 500 //Kelvin to start drying
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/wetleather
|
/obj/item/stack/material/wetleather
|
||||||
amount = 50
|
amount = 50
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
/obj/item/stack
|
/obj/item/stack
|
||||||
gender = PLURAL
|
gender = PLURAL
|
||||||
origin_tech = list(TECH_MATERIAL = 1)
|
origin_tech = list(TECH_MATERIAL = 1)
|
||||||
|
icon = 'icons/obj/stacks.dmi'
|
||||||
var/list/datum/stack_recipe/recipes
|
var/list/datum/stack_recipe/recipes
|
||||||
var/singular_name
|
var/singular_name
|
||||||
var/amount = 1
|
var/amount = 1
|
||||||
@@ -21,6 +22,7 @@
|
|||||||
var/uses_charge = 0
|
var/uses_charge = 0
|
||||||
var/list/charge_costs = null
|
var/list/charge_costs = null
|
||||||
var/list/datum/matter_synth/synths = null
|
var/list/datum/matter_synth/synths = null
|
||||||
|
var/no_variants = TRUE // Determines whether the item should update it's sprites based on amount.
|
||||||
|
|
||||||
/obj/item/stack/New(var/loc, var/amount=null)
|
/obj/item/stack/New(var/loc, var/amount=null)
|
||||||
..()
|
..()
|
||||||
@@ -28,6 +30,7 @@
|
|||||||
stacktype = type
|
stacktype = type
|
||||||
if (amount)
|
if (amount)
|
||||||
src.amount = amount
|
src.amount = amount
|
||||||
|
update_icon()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/stack/Destroy()
|
/obj/item/stack/Destroy()
|
||||||
@@ -37,6 +40,18 @@
|
|||||||
usr << browse(null, "window=stack")
|
usr << browse(null, "window=stack")
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/stack/update_icon()
|
||||||
|
if(no_variants)
|
||||||
|
icon_state = initial(icon_state)
|
||||||
|
else
|
||||||
|
if(amount <= (max_amount * (1/3)))
|
||||||
|
icon_state = initial(icon_state)
|
||||||
|
else if (amount <= (max_amount * (2/3)))
|
||||||
|
icon_state = "[initial(icon_state)]_2"
|
||||||
|
else
|
||||||
|
icon_state = "[initial(icon_state)]_3"
|
||||||
|
item_state = initial(icon_state)
|
||||||
|
|
||||||
/obj/item/stack/examine(mob/user)
|
/obj/item/stack/examine(mob/user)
|
||||||
if(..(user, 1))
|
if(..(user, 1))
|
||||||
if(!uses_charge)
|
if(!uses_charge)
|
||||||
@@ -189,6 +204,7 @@
|
|||||||
if(usr)
|
if(usr)
|
||||||
usr.remove_from_mob(src)
|
usr.remove_from_mob(src)
|
||||||
qdel(src) //should be safe to qdel immediately since if someone is still using this stack it will persist for a little while longer
|
qdel(src) //should be safe to qdel immediately since if someone is still using this stack it will persist for a little while longer
|
||||||
|
update_icon()
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
if(get_amount() < used)
|
if(get_amount() < used)
|
||||||
@@ -205,6 +221,7 @@
|
|||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
amount += extra
|
amount += extra
|
||||||
|
update_icon()
|
||||||
return 1
|
return 1
|
||||||
else if(!synths || synths.len < uses_charge)
|
else if(!synths || synths.len < uses_charge)
|
||||||
return 0
|
return 0
|
||||||
@@ -298,7 +315,7 @@
|
|||||||
|
|
||||||
/obj/item/stack/attack_hand(mob/user as mob)
|
/obj/item/stack/attack_hand(mob/user as mob)
|
||||||
if (user.get_inactive_hand() == src)
|
if (user.get_inactive_hand() == src)
|
||||||
var/N = input("How many stacks of [src] would you like to split off?", "Split stacks", 1) as num|null
|
var/N = input("How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1) as num|null
|
||||||
if(N)
|
if(N)
|
||||||
var/obj/item/stack/F = src.split(N)
|
var/obj/item/stack/F = src.split(N)
|
||||||
if (F)
|
if (F)
|
||||||
|
|||||||
@@ -2,48 +2,48 @@
|
|||||||
|
|
||||||
/obj/fiftyspawner/grass
|
/obj/fiftyspawner/grass
|
||||||
name = "stack of grass"
|
name = "stack of grass"
|
||||||
material = "tile/grass"
|
type_to_spawn = /obj/item/stack/tile/grass
|
||||||
|
|
||||||
/obj/fiftyspawner/wood
|
/obj/fiftyspawner/wood
|
||||||
name = "stack of wood"
|
name = "stack of wood"
|
||||||
material = "tile/wood"
|
type_to_spawn = /obj/item/stack/tile/wood
|
||||||
|
|
||||||
/obj/fiftyspawner/carpet
|
/obj/fiftyspawner/carpet
|
||||||
name = "stack of carpet"
|
name = "stack of carpet"
|
||||||
material = "tile/carpet"
|
type_to_spawn = /obj/item/stack/tile/carpet
|
||||||
|
|
||||||
/obj/fiftyspawner/bluecarpet
|
/obj/fiftyspawner/bluecarpet
|
||||||
name = "stack of blue carpet"
|
name = "stack of blue carpet"
|
||||||
material = "tile/carpet/blue"
|
type_to_spawn = /obj/item/stack/tile/carpet/blue
|
||||||
|
|
||||||
/obj/fiftyspawner/floor
|
/obj/fiftyspawner/floor
|
||||||
name = "stack of floor tiles"
|
name = "stack of floor tiles"
|
||||||
material = "tile/floor"
|
type_to_spawn = /obj/item/stack/tile/floor
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_red
|
/obj/fiftyspawner/floor_red
|
||||||
name = "stack of red floor tiles"
|
name = "stack of red floor tiles"
|
||||||
material = "tile/floor_red"
|
type_to_spawn = /obj/item/stack/tile/floor/red
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_steel
|
/obj/fiftyspawner/floor_steel
|
||||||
name = "stack of steel floor tiles"
|
name = "stack of steel floor tiles"
|
||||||
material = "tile/floor_steel"
|
type_to_spawn = /obj/item/stack/tile/floor/steel
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_white
|
/obj/fiftyspawner/floor_white
|
||||||
name = "stack of white floor tiles"
|
name = "stack of white floor tiles"
|
||||||
material = "tile/floor_white"
|
type_to_spawn = /obj/item/stack/tile/floor/white
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_yellow
|
/obj/fiftyspawner/floor_yellow
|
||||||
name = "stack of yellow floor tiles"
|
name = "stack of yellow floor tiles"
|
||||||
material = "tile/floor_yellow"
|
type_to_spawn = /obj/item/stack/tile/floor/yellow
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_dark
|
/obj/fiftyspawner/floor_dark
|
||||||
name = "stack of dark floor tiles"
|
name = "stack of dark floor tiles"
|
||||||
material = "tile/floor_dark"
|
type_to_spawn = /obj/item/stack/tile/floor/dark
|
||||||
|
|
||||||
/obj/fiftyspawner/floor_freezer
|
/obj/fiftyspawner/floor_freezer
|
||||||
name = "stack of freezer tiles"
|
name = "stack of freezer tiles"
|
||||||
material = "tile/floor_freezer"
|
type_to_spawn = /obj/item/stack/tile/floor/freezer
|
||||||
|
|
||||||
/obj/fiftyspawner/linoleum
|
/obj/fiftyspawner/linoleum
|
||||||
name = "stack of linoleum tiles"
|
name = "stack of linoleum tiles"
|
||||||
material = "tile/linoleum"
|
type_to_spawn = /obj/item/stack/tile/linoleum
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
throw_range = 20
|
throw_range = 20
|
||||||
flags = 0
|
flags = 0
|
||||||
origin_tech = list(TECH_BIO = 1)
|
origin_tech = list(TECH_BIO = 1)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/grass/fifty
|
/obj/item/stack/tile/grass/fifty
|
||||||
amount = 50
|
amount = 50
|
||||||
@@ -52,6 +53,7 @@
|
|||||||
throw_speed = 5
|
throw_speed = 5
|
||||||
throw_range = 20
|
throw_range = 20
|
||||||
flags = 0
|
flags = 0
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/wood/fifty
|
/obj/item/stack/tile/wood/fifty
|
||||||
amount = 50
|
amount = 50
|
||||||
@@ -77,12 +79,14 @@
|
|||||||
throw_speed = 5
|
throw_speed = 5
|
||||||
throw_range = 20
|
throw_range = 20
|
||||||
flags = 0
|
flags = 0
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/carpet/blue
|
/obj/item/stack/tile/carpet/blue
|
||||||
name = "blue carpet"
|
name = "blue carpet"
|
||||||
singular_name = "blue carpet"
|
singular_name = "blue carpet"
|
||||||
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
|
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
|
||||||
icon_state = "tile-bluecarpet"
|
icon_state = "tile-bluecarpet"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
// TODO - Add descriptions to these
|
// TODO - Add descriptions to these
|
||||||
/obj/item/stack/tile/carpet/bcarpet
|
/obj/item/stack/tile/carpet/bcarpet
|
||||||
@@ -111,29 +115,34 @@
|
|||||||
throw_speed = 5
|
throw_speed = 5
|
||||||
throw_range = 20
|
throw_range = 20
|
||||||
flags = CONDUCT
|
flags = CONDUCT
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/red
|
/obj/item/stack/tile/floor/red
|
||||||
name = "red floor tile"
|
name = "red floor tile"
|
||||||
singular_name = "red floor tile"
|
singular_name = "red floor tile"
|
||||||
color = COLOR_RED_GRAY
|
color = COLOR_RED_GRAY
|
||||||
icon_state = "tile_white"
|
icon_state = "tile_white"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
// VOREStation Edit
|
// VOREStation Edit
|
||||||
/obj/item/stack/tile/floor/techgrey
|
/obj/item/stack/tile/floor/techgrey
|
||||||
name = "grey techfloor tile"
|
name = "grey techfloor tile"
|
||||||
singular_name = "grey techfloor tile"
|
singular_name = "grey techfloor tile"
|
||||||
icon_state = "techtile_grey"
|
icon_state = "techtile_grey"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/techgrid
|
/obj/item/stack/tile/floor/techgrid
|
||||||
name = "grid techfloor tile"
|
name = "grid techfloor tile"
|
||||||
singular_name = "grid techfloor tile"
|
singular_name = "grid techfloor tile"
|
||||||
icon_state = "techtile_grid"
|
icon_state = "techtile_grid"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/steel_dirty
|
/obj/item/stack/tile/floor/steel_dirty
|
||||||
name = "steel floor tile"
|
name = "steel floor tile"
|
||||||
singular_name = "steel floor tile"
|
singular_name = "steel floor tile"
|
||||||
icon_state = "tile_steel"
|
icon_state = "tile_steel"
|
||||||
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
||||||
|
no_variants = FALSE
|
||||||
// VOREStation Edit End
|
// VOREStation Edit End
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/steel
|
/obj/item/stack/tile/floor/steel
|
||||||
@@ -141,30 +150,35 @@
|
|||||||
singular_name = "steel floor tile"
|
singular_name = "steel floor tile"
|
||||||
icon_state = "tile_steel"
|
icon_state = "tile_steel"
|
||||||
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/white
|
/obj/item/stack/tile/floor/white
|
||||||
name = "white floor tile"
|
name = "white floor tile"
|
||||||
singular_name = "white floor tile"
|
singular_name = "white floor tile"
|
||||||
icon_state = "tile_white"
|
icon_state = "tile_white"
|
||||||
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
|
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/yellow
|
/obj/item/stack/tile/floor/yellow
|
||||||
name = "yellow floor tile"
|
name = "yellow floor tile"
|
||||||
singular_name = "yellow floor tile"
|
singular_name = "yellow floor tile"
|
||||||
color = COLOR_BROWN
|
color = COLOR_BROWN
|
||||||
icon_state = "tile_white"
|
icon_state = "tile_white"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/dark
|
/obj/item/stack/tile/floor/dark
|
||||||
name = "dark floor tile"
|
name = "dark floor tile"
|
||||||
singular_name = "dark floor tile"
|
singular_name = "dark floor tile"
|
||||||
icon_state = "fr_tile"
|
icon_state = "tile_steel"
|
||||||
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/freezer
|
/obj/item/stack/tile/floor/freezer
|
||||||
name = "freezer floor tile"
|
name = "freezer floor tile"
|
||||||
singular_name = "freezer floor tile"
|
singular_name = "freezer floor tile"
|
||||||
icon_state = "tile_freezer"
|
icon_state = "tile_freezer"
|
||||||
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
|
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/tile/floor/cyborg
|
/obj/item/stack/tile/floor/cyborg
|
||||||
name = "floor tile synthesizer"
|
name = "floor tile synthesizer"
|
||||||
@@ -186,3 +200,4 @@
|
|||||||
throw_speed = 5
|
throw_speed = 5
|
||||||
throw_range = 20
|
throw_range = 20
|
||||||
flags = 0
|
flags = 0
|
||||||
|
no_variants = FALSE
|
||||||
|
|||||||
@@ -287,6 +287,7 @@
|
|||||||
desc = "Woefully underpowered in D20."
|
desc = "Woefully underpowered in D20."
|
||||||
icon = 'icons/obj/weapons.dmi'
|
icon = 'icons/obj/weapons.dmi'
|
||||||
icon_state = "katana"
|
icon_state = "katana"
|
||||||
|
item_state = "katana"
|
||||||
item_icons = list(
|
item_icons = list(
|
||||||
slot_l_hand_str = 'icons/mob/items/lefthand_material.dmi',
|
slot_l_hand_str = 'icons/mob/items/lefthand_material.dmi',
|
||||||
slot_r_hand_str = 'icons/mob/items/righthand_material.dmi',
|
slot_r_hand_str = 'icons/mob/items/righthand_material.dmi',
|
||||||
@@ -697,19 +698,6 @@
|
|||||||
desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
|
desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
|
||||||
icon_state = "ert"
|
icon_state = "ert"
|
||||||
|
|
||||||
/obj/item/toy/katana
|
|
||||||
name = "replica katana"
|
|
||||||
desc = "Woefully underpowered in D20."
|
|
||||||
icon = 'icons/obj/weapons.dmi'
|
|
||||||
icon_state = "katana"
|
|
||||||
item_state = "katana"
|
|
||||||
flags = CONDUCT
|
|
||||||
slot_flags = SLOT_BELT | SLOT_BACK
|
|
||||||
force = 5
|
|
||||||
throwforce = 5
|
|
||||||
w_class = ITEMSIZE_NORMAL
|
|
||||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced")
|
|
||||||
|
|
||||||
/obj/item/toy/therapy_red
|
/obj/item/toy/therapy_red
|
||||||
name = "red therapy doll"
|
name = "red therapy doll"
|
||||||
desc = "A toy for therapeutic and recreational purposes. This one is red."
|
desc = "A toy for therapeutic and recreational purposes. This one is red."
|
||||||
@@ -898,4 +886,4 @@
|
|||||||
icon_state = "tinyxmastree"
|
icon_state = "tinyxmastree"
|
||||||
w_class = ITEMSIZE_TINY
|
w_class = ITEMSIZE_TINY
|
||||||
force = 1
|
force = 1
|
||||||
throwforce = 1
|
throwforce = 1
|
||||||
|
|||||||
@@ -8,16 +8,27 @@
|
|||||||
w_class = ITEMSIZE_SMALL
|
w_class = ITEMSIZE_SMALL
|
||||||
matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
||||||
var/obj/item/weapon/implant/imp = null
|
var/obj/item/weapon/implant/imp = null
|
||||||
|
var/active = 1
|
||||||
|
|
||||||
/obj/item/weapon/implanter/attack_self(var/mob/user)
|
/obj/item/weapon/implanter/attack_self(var/mob/user)
|
||||||
|
active = !active
|
||||||
|
to_chat(user, "<span class='notice'>You [active ? "" : "de"]activate \the [src].</span>")
|
||||||
|
update()
|
||||||
|
|
||||||
|
/obj/item/weapon/implanter/verb/remove_implant(var/mob/user)
|
||||||
|
set category = "Object"
|
||||||
|
set name = "Remove Implant"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
if(!imp)
|
if(!imp)
|
||||||
return ..()
|
return
|
||||||
imp.loc = get_turf(src)
|
imp.loc = get_turf(src)
|
||||||
user.put_in_hands(imp)
|
user.put_in_hands(imp)
|
||||||
user << "<span class='notice'>You remove \the [imp] from \the [src].</span>"
|
to_chat(user, "<span class='notice'>You remove \the [imp] from \the [src].</span>")
|
||||||
name = "implanter"
|
name = "implanter"
|
||||||
imp = null
|
imp = null
|
||||||
update()
|
update()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/implanter/proc/update()
|
/obj/item/weapon/implanter/proc/update()
|
||||||
@@ -25,39 +36,42 @@
|
|||||||
src.icon_state = "implanter1"
|
src.icon_state = "implanter1"
|
||||||
else
|
else
|
||||||
src.icon_state = "implanter0"
|
src.icon_state = "implanter0"
|
||||||
|
src.icon_state += "_[active]"
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob)
|
/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob)
|
||||||
if (!istype(M, /mob/living/carbon))
|
if (!istype(M, /mob/living/carbon))
|
||||||
return
|
return
|
||||||
if (user && src.imp)
|
if(active)
|
||||||
M.visible_message("<span class='warning'>[user] is attemping to implant [M].</span>")
|
if (imp)
|
||||||
|
M.visible_message("<span class='warning'>[user] is attemping to implant [M].</span>")
|
||||||
|
|
||||||
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
|
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
|
||||||
user.do_attack_animation(M)
|
user.do_attack_animation(M)
|
||||||
|
|
||||||
var/turf/T1 = get_turf(M)
|
var/turf/T1 = get_turf(M)
|
||||||
if (T1 && ((M == user) || do_after(user, 50)))
|
if (T1 && ((M == user) || do_after(user, 50)))
|
||||||
if(user && M && (get_turf(M) == T1) && src && src.imp)
|
if(user && M && (get_turf(M) == T1) && src && src.imp)
|
||||||
M.visible_message("<span class='warning'>[M] has been implanted by [user].</span>")
|
M.visible_message("<span class='warning'>[M] has been implanted by [user].</span>")
|
||||||
|
|
||||||
admin_attack_log(user, M, "Implanted using \the [src.name] ([src.imp.name])", "Implanted with \the [src.name] ([src.imp.name])", "used an implanter, [src.name] ([src.imp.name]), on")
|
admin_attack_log(user, M, "Implanted using \the [src.name] ([src.imp.name])", "Implanted with \the [src.name] ([src.imp.name])", "used an implanter, [src.name] ([src.imp.name]), on")
|
||||||
|
|
||||||
if(src.imp.implanted(M))
|
if(src.imp.implanted(M))
|
||||||
src.imp.loc = M
|
src.imp.loc = M
|
||||||
src.imp.imp_in = M
|
src.imp.imp_in = M
|
||||||
src.imp.implanted = 1
|
src.imp.implanted = 1
|
||||||
if (ishuman(M))
|
if (ishuman(M))
|
||||||
var/mob/living/carbon/human/H = M
|
var/mob/living/carbon/human/H = M
|
||||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||||
affected.implants += src.imp
|
affected.implants += src.imp
|
||||||
imp.part = affected
|
imp.part = affected
|
||||||
|
|
||||||
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
||||||
|
|
||||||
src.imp = null
|
|
||||||
update()
|
|
||||||
|
|
||||||
|
src.imp = null
|
||||||
|
update()
|
||||||
|
else
|
||||||
|
to_chat(user, "<span class='warning'>You need to activate \the [src.name] first.</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/implanter/loyalty
|
/obj/item/weapon/implanter/loyalty
|
||||||
@@ -112,19 +126,26 @@
|
|||||||
var/obj/item/weapon/implant/compressed/c = imp
|
var/obj/item/weapon/implant/compressed/c = imp
|
||||||
if (!c) return
|
if (!c) return
|
||||||
if (c.scanned == null)
|
if (c.scanned == null)
|
||||||
user << "Please scan an object with the implanter first."
|
to_chat(user, "Please scan an object with the implanter first.")
|
||||||
return
|
return
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob, proximity)
|
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob, proximity)
|
||||||
if(!proximity)
|
if(!proximity)
|
||||||
return
|
return
|
||||||
|
if(!active)
|
||||||
|
to_chat(user, "<span class='warning'>Activate \the [src.name] first.</span>")
|
||||||
|
return
|
||||||
if(istype(A,/obj/item) && imp)
|
if(istype(A,/obj/item) && imp)
|
||||||
var/obj/item/weapon/implant/compressed/c = imp
|
var/obj/item/weapon/implant/compressed/c = imp
|
||||||
if (c.scanned)
|
if (c.scanned)
|
||||||
user << "<span class='warning'>Something is already scanned inside the implant!</span>"
|
to_chat(user, "<span class='warning'>Something is already scanned inside the implant!</span>")
|
||||||
return
|
return
|
||||||
c.scanned = A
|
c.scanned = A
|
||||||
|
if(istype(A, /obj/item/weapon/storage))
|
||||||
|
to_chat(user, "<span class='warning'>You can't store \the [A.name] in this!</span>")
|
||||||
|
c.scanned = null
|
||||||
|
return
|
||||||
if(istype(A.loc,/mob/living/carbon/human))
|
if(istype(A.loc,/mob/living/carbon/human))
|
||||||
var/mob/living/carbon/human/H = A.loc
|
var/mob/living/carbon/human/H = A.loc
|
||||||
H.remove_from_mob(A)
|
H.remove_from_mob(A)
|
||||||
|
|||||||
@@ -85,19 +85,4 @@
|
|||||||
thrown_force_divisor = 0.25 // as above
|
thrown_force_divisor = 0.25 // as above
|
||||||
dulled_divisor = 0.75 //Still metal on a long pole
|
dulled_divisor = 0.75 //Still metal on a long pole
|
||||||
w_class = ITEMSIZE_SMALL
|
w_class = ITEMSIZE_SMALL
|
||||||
attack_verb = list("slashed", "sliced", "cut", "clawed")
|
attack_verb = list("slashed", "sliced", "cut", "clawed")
|
||||||
|
|
||||||
/obj/item/weapon/material/scythe
|
|
||||||
icon_state = "scythe0"
|
|
||||||
name = "scythe"
|
|
||||||
desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow."
|
|
||||||
force_divisor = 0.275 // 16 with hardness 60 (steel)
|
|
||||||
thrown_force_divisor = 0.25 // 5 with weight 20 (steel)
|
|
||||||
sharp = 1
|
|
||||||
edge = 1
|
|
||||||
throw_speed = 1
|
|
||||||
throw_range = 3
|
|
||||||
w_class = ITEMSIZE_LARGE
|
|
||||||
slot_flags = SLOT_BACK
|
|
||||||
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2)
|
|
||||||
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
|
||||||
@@ -123,6 +123,15 @@
|
|||||||
var/obj/effect/plant/P = A
|
var/obj/effect/plant/P = A
|
||||||
P.die_off()
|
P.die_off()
|
||||||
|
|
||||||
|
/obj/item/weapon/material/twohanded/fireaxe/scythe
|
||||||
|
icon_state = "scythe0"
|
||||||
|
base_icon = "scythe"
|
||||||
|
name = "scythe"
|
||||||
|
desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow."
|
||||||
|
force_divisor = 0.65
|
||||||
|
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2)
|
||||||
|
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
||||||
|
|
||||||
//spears, bay edition
|
//spears, bay edition
|
||||||
/obj/item/weapon/material/twohanded/spear
|
/obj/item/weapon/material/twohanded/spear
|
||||||
icon_state = "spearglass0"
|
icon_state = "spearglass0"
|
||||||
|
|||||||
@@ -125,6 +125,12 @@
|
|||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
/obj/structure/girder/proc/take_damage(var/damage)
|
||||||
|
health -= damage
|
||||||
|
|
||||||
|
if(health <= 0)
|
||||||
|
dismantle()
|
||||||
|
|
||||||
/obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user)
|
/obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user)
|
||||||
var/amount_to_use = reinf_material ? 1 : 2
|
var/amount_to_use = reinf_material ? 1 : 2
|
||||||
if(S.get_amount() < amount_to_use)
|
if(S.get_amount() < amount_to_use)
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
//Unathi clothing.
|
|
||||||
/obj/item/clothing/suit/unathi/robe
|
|
||||||
name = "roughspun robes"
|
|
||||||
desc = "A traditional Unathi garment."
|
|
||||||
icon_state = "robe-unathi"
|
|
||||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
|
|
||||||
flags_inv = HIDETIE|HIDEHOLSTER
|
|
||||||
|
|
||||||
/obj/item/clothing/suit/unathi/mantle
|
|
||||||
name = "hide mantle"
|
|
||||||
desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle."
|
|
||||||
icon_state = "mantle-unathi"
|
|
||||||
body_parts_covered = UPPER_TORSO
|
|
||||||
|
|
||||||
//Taj clothing.
|
|
||||||
/obj/item/clothing/suit/tajaran/furs
|
|
||||||
name = "heavy furs"
|
|
||||||
desc = "A traditional Zhan-Khazan garment."
|
|
||||||
icon_state = "zhan_furs"
|
|
||||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
|
|
||||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
|
||||||
|
|
||||||
/obj/item/clothing/head/tajaran/scarf
|
|
||||||
name = "headscarf"
|
|
||||||
desc = "A scarf of coarse fabric. Seems to have ear-holes."
|
|
||||||
icon_state = "zhan_scarf"
|
|
||||||
item_state_slots = list(slot_r_hand_str = "beret_white", slot_l_hand_str = "beret_white")
|
|
||||||
body_parts_covered = HEAD|FACE
|
|
||||||
13
code/modules/clothing/suits/aliens/tajara.dm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/obj/item/clothing/suit/tajaran/furs
|
||||||
|
name = "heavy furs"
|
||||||
|
desc = "A traditional Zhan-Khazan garment."
|
||||||
|
icon_state = "zhan_furs"
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
|
||||||
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||||
|
|
||||||
|
/obj/item/clothing/head/tajaran/scarf //This stays in /suits because it goes with the furs above
|
||||||
|
name = "headscarf"
|
||||||
|
desc = "A scarf of coarse fabric. Seems to have ear-holes."
|
||||||
|
icon_state = "zhan_scarf"
|
||||||
|
item_state_slots = list(slot_r_hand_str = "beret_white", slot_l_hand_str = "beret_white")
|
||||||
|
body_parts_covered = HEAD|FACE
|
||||||
13
code/modules/clothing/suits/aliens/unathi.dm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
//Unathi clothing.
|
||||||
|
/obj/item/clothing/suit/unathi/robe
|
||||||
|
name = "roughspun robes"
|
||||||
|
desc = "A traditional Unathi garment."
|
||||||
|
icon_state = "robe-unathi"
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
|
||||||
|
flags_inv = HIDETIE|HIDEHOLSTER
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/unathi/mantle
|
||||||
|
name = "hide mantle"
|
||||||
|
desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle."
|
||||||
|
icon_state = "mantle-unathi"
|
||||||
|
body_parts_covered = UPPER_TORSO
|
||||||
10
code/modules/clothing/suits/aliens/vox.dm
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/obj/item/clothing/suit/armor/vox_scrap
|
||||||
|
name = "rusted metal armor"
|
||||||
|
desc = "A hodgepodge of various pieces of metal scrapped together into a rudimentary vox-shaped piece of armor."
|
||||||
|
allowed = list(/obj/item/weapon/gun, /obj/item/weapon/tank)
|
||||||
|
armor = list(melee = 70, bullet = 30, laser = 20,energy = 5, bomb = 40, bio = 0, rad = 0) //Higher melee armor versus lower everything else.
|
||||||
|
icon_state = "vox-scrap"
|
||||||
|
icon_state = "vox-scrap"
|
||||||
|
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS
|
||||||
|
species_restricted = list("Vox")
|
||||||
|
siemens_coefficient = 1 //Its literally metal
|
||||||
@@ -134,6 +134,6 @@
|
|||||||
/obj/item/clothing/accessory/holster/leg
|
/obj/item/clothing/accessory/holster/leg
|
||||||
name = "leg holster"
|
name = "leg holster"
|
||||||
desc = "A tacticool handgun holster. Worn on the upper leg."
|
desc = "A tacticool handgun holster. Worn on the upper leg."
|
||||||
icon_state = "holster_hip"
|
icon_state = "holster_leg"
|
||||||
overlay_state = "holster_leg"
|
overlay_state = "holster_leg"
|
||||||
concealed_holster = 0
|
concealed_holster = 0
|
||||||
|
|||||||
@@ -157,7 +157,8 @@
|
|||||||
|
|
||||||
//Meters
|
//Meters
|
||||||
/obj/machinery/meter
|
/obj/machinery/meter
|
||||||
description_info = "Measures the volume and temperature of the pipe under the meter."
|
description_info = "Measures the volume and temperature of the pipe under the meter.\
|
||||||
|
Using a multitool on this will cycle through any other pipes on the same tile."
|
||||||
|
|
||||||
//Pipe dispensers
|
//Pipe dispensers
|
||||||
/obj/machinery/pipedispenser
|
/obj/machinery/pipedispenser
|
||||||
|
|||||||
@@ -1,28 +1,28 @@
|
|||||||
/obj/item/weapon/storage/fancy/cigarettes
|
/obj/item/weapon/storage/fancy/cigarettes
|
||||||
description_fluff = "The Trans-Stellar Duty-Free cigarette company was created as a sub-company of NanoTrasen. They are the most boring, tasteless, dry cigarettes on the market, but due to how generic they are, they are still the most well-known and widespread cigarettes in the universe."
|
description_fluff = "The Trans-Stellar Duty-Free Cigarette Company was created as an imprint of NanoTrasen. They are the most boring, tasteless, dry cigarettes on the market, but due to how generic they are, they are still the most well-known and widespread cigarettes in the universe."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
|
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
|
||||||
description_fluff = "DromedaryCo is one of the oldest companies that produces cigarettes. Being a company that has changed hands and names several times through the years, their cigarettes are now very different from the original, and old-timers tend to complain about the quality of their current product. While they have been dwindling when it comes to profits in the past years due to marketing schemes deemed 'unethical', they still remain on the forefront of the smokeable industry."
|
description_fluff = "DromedaryCo is one of the oldest companies that produces cigarettes. Being a company that has changed hands and names several times through the years, their cigarettes are now very different from the original, and old-timers tend to complain about the quality of their current product. While their profits have been dwindling over the past few years due to marketing schemes deemed 'unethical', they still remain on the forefront of the smokeable industry."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/killthroat
|
/obj/item/weapon/storage/fancy/cigarettes/killthroat
|
||||||
description_fluff = "AcmeCo is known for their signature high-tar cigarettes. Being a sub-company Xion, some accuse the cigarettes of having other harmful things in them besides tar. Xion officials refuse to comment on the issue."
|
description_fluff = "AcmeCo, a subsidiary of Xion Manufacturing Group, is known for their signature high-tar cigarettes. Some accuse the cigarettes of having harmful things in them beyond tar, but Xion officials refuse to comment on the issue."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/luckystars
|
/obj/item/weapon/storage/fancy/cigarettes/luckystars
|
||||||
description_fluff = "Lucky Stars were created on Venus by a researcher seeking to make a good quality cigarette from pod-based tobacco plants. The researcher only managed to make these, but made quite a profit off of them when she started her company."
|
description_fluff = "Lucky Stars were created on Venus by a researcher seeking to make a good quality cigarette from pod-based tobacco plants. The researcher only managed to make these, but made quite a profit off of them nonetheless."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/jerichos
|
/obj/item/weapon/storage/fancy/cigarettes/jerichos
|
||||||
description_fluff = "Hephaestus Industries ex-military employees once decided to make a cigarette that was easy to light and had a waterproof case, specifically tailored for soldiers. They created Jerichos. Jerichos are known for their Hickory smoke and warm feeling in your lungs. They are loved by soldiers and people employed in para-military outfits."
|
description_fluff = "Stealth Assault Enterprises ex-contractors once decided to make a cigarette that was easy to light and had a waterproof case, specifically tailored for soldiers. They created Jerichos. Jerichos are known for their hickory smoke and warm feeling in your lungs. They are loved by soldiers and people employed in para-military outfits."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/menthols
|
/obj/item/weapon/storage/fancy/cigarettes/menthols
|
||||||
description_fluff = "The Temperamento Menthol Company is a large cigarette company based in Mars. They have been around since the very dawn of Human colonization and have remained a favorite for those seeking a more.. numbing cigarette.<br>\
|
description_fluff = "The Temperamento Menthol Company is a large cigarette company based in Mars. They have been around since the very dawn of human colonization and have remained a favorite for those seeking a more numbing cigarette.<br>\
|
||||||
<br>\
|
<br>\
|
||||||
This is a pack of Temperamento Menthols, the main product of the company. They taste like menthol, surprisingly enough."
|
This is a pack of Temperamento Menthols, the main product of the company. They taste like menthol, surprisingly enough."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/carcinomas
|
/obj/item/weapon/storage/fancy/cigarettes/carcinomas
|
||||||
description_fluff = "The CarcinoCo was originally destined to fail, as the company blatantly advertized themselves as creating the 'most cancerous cigarette'. Somehow, after endorsement from a reporter, the cigarettes took off."
|
description_fluff = "The CarcinoCo was originally destined to fail, as the company blatantly advertized themselves as creating the 'most cancerous cigarette'. The cigarettes became a hit among those rich enough to afford regular lung replacements."
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/cigarettes/professionals
|
/obj/item/weapon/storage/fancy/cigarettes/professionals
|
||||||
description_fluff = "Decades ago, probably before you were born, Gilthari Exports created the Professional 120s. They wanted to make a fancy cigarette that would be considered a luxury. Nowadays, people who use them are generally laughed at for being wannabe rich people or old. They are, however, very high-quality and made from the very best tobacco."
|
description_fluff = "Decades ago, probably before you were born, Gilthari Exports created the Professional 120s. They wanted to make a fancy cigarette that would be considered a luxury. Nowadays, they are generally concidered an emblem of the nouveau riche and the elderly. They are, however, very high-quality and made from the very best Solar tobacco."
|
||||||
|
|
||||||
/obj/item/clothing/mask/smokable/cigarette/cigar
|
/obj/item/clothing/mask/smokable/cigarette/cigar
|
||||||
description_fluff = "While the label does say that this is a 'premium cigar', it really cannot match other types of cigars on the market. Is it a quality cigarette? Perhaps. Was it hand-made with care? No. This is what differentiates between quality products that Gilthari puts out and NanoTrasen 'premium' cigars like this one."
|
description_fluff = "While the label does say that this is a 'premium cigar', it really cannot match other types of cigars on the market. Is it a quality cigarette? Perhaps. Was it hand-made with care? No. This is what differentiates between quality products that Gilthari puts out and NanoTrasen 'premium' cigars like this one."
|
||||||
@@ -31,9 +31,9 @@
|
|||||||
description_fluff = "Cohiba has been a popular cigar company for centuries. They are still based out of Cuba and refuse to expand and therefore have a very limited quantity, making their cigars coveted all through known space. Robusto is one of their most popular shapes of cigars."
|
description_fluff = "Cohiba has been a popular cigar company for centuries. They are still based out of Cuba and refuse to expand and therefore have a very limited quantity, making their cigars coveted all through known space. Robusto is one of their most popular shapes of cigars."
|
||||||
|
|
||||||
/obj/item/clothing/mask/smokable/cigarette/cigar/havana
|
/obj/item/clothing/mask/smokable/cigarette/cigar/havana
|
||||||
description_fluff = "'Havanian' is an umbrella term for any cigar made in the typical handmade style of Cuba. This particular cigar is from Gilthari's cigar manufacturers. While the way of making quality cigars has become slightly bastardized over the years, overall quality has remained relatively the same, even if there is a large quantity of 'Havanian' cigars."
|
description_fluff = "'Havanian' is an umbrella term for any cigar made in the typical handmade style of Cuba. This particular cigar is from Gilthari's cigar manufacturers. While this way of making quality cigars has become slightly bastardized over the years, overall quality has remained relatively the same, even if there is a large quantity of 'Havanian' cigars."
|
||||||
|
|
||||||
/obj/item/clothing/mask/smokable/pipe
|
/obj/item/clothing/mask/smokable/pipe
|
||||||
description_fluff = "ClassiCo Men's Accessories and Haberdashers is a widespread company originating out of Mars. They seek to create quality goods to give men a more 'classy' look. Most of their items are high-end and expensive, but they do back that up with quality.<br>\
|
description_fluff = "ClassiCo Accessories and Haberdashers is a widespread company originating out of Mars. They seek to create quality goods to give men a more 'classy' look. Most of their items are high-end and expensive, but they plege to back their prices up with quality.<br>\
|
||||||
<br>\
|
<br>\
|
||||||
This pipe is a ClassiCo pipe. It is made out of fine, stained cherry wood."
|
This pipe is a ClassiCo pipe. It is made out of fine, stained cherry wood."
|
||||||
|
|||||||
@@ -2,101 +2,101 @@
|
|||||||
|
|
||||||
/obj/fiftyspawner/iron
|
/obj/fiftyspawner/iron
|
||||||
name = "stack of iron"
|
name = "stack of iron"
|
||||||
material = "material/iron"
|
type_to_spawn = /obj/item/stack/material/iron
|
||||||
|
|
||||||
/obj/fiftyspawner/sandstone
|
/obj/fiftyspawner/sandstone
|
||||||
name = "stack of sandstone"
|
name = "stack of sandstone"
|
||||||
material = "material/sandstone"
|
type_to_spawn = /obj/item/stack/material/sandstone
|
||||||
|
|
||||||
/obj/fiftyspawner/marble
|
/obj/fiftyspawner/marble
|
||||||
name = "stack of marble"
|
name = "stack of marble"
|
||||||
material = "material/marble"
|
type_to_spawn = /obj/item/stack/material/marble
|
||||||
|
|
||||||
/obj/fiftyspawner/diamond
|
/obj/fiftyspawner/diamond
|
||||||
name = "stack of diamond"
|
name = "stack of diamond"
|
||||||
material = "material/diamond"
|
type_to_spawn = /obj/item/stack/material/diamond
|
||||||
|
|
||||||
/obj/fiftyspawner/uranium
|
/obj/fiftyspawner/uranium
|
||||||
name = "stack of uranium"
|
name = "stack of uranium"
|
||||||
material = "material/uranium"
|
type_to_spawn = /obj/item/stack/material/uranium
|
||||||
|
|
||||||
/obj/fiftyspawner/phoron
|
/obj/fiftyspawner/phoron
|
||||||
name = "stack of phoron"
|
name = "stack of phoron"
|
||||||
material = "material/phoron"
|
type_to_spawn = /obj/item/stack/material/phoron
|
||||||
|
|
||||||
/obj/fiftyspawner/plastic
|
/obj/fiftyspawner/plastic
|
||||||
name = "stack of plastic"
|
name = "stack of plastic"
|
||||||
material = "material/plastic"
|
type_to_spawn = /obj/item/stack/material/plastic
|
||||||
|
|
||||||
/obj/fiftyspawner/gold
|
/obj/fiftyspawner/gold
|
||||||
name = "stack of gold"
|
name = "stack of gold"
|
||||||
material = "material/gold"
|
type_to_spawn = /obj/item/stack/material/gold
|
||||||
|
|
||||||
/obj/fiftyspawner/silver
|
/obj/fiftyspawner/silver
|
||||||
name = "stack of silver"
|
name = "stack of silver"
|
||||||
material = "material/silver"
|
type_to_spawn = /obj/item/stack/material/silver
|
||||||
|
|
||||||
/obj/fiftyspawner/platinum
|
/obj/fiftyspawner/platinum
|
||||||
name = "stack of platinum"
|
name = "stack of platinum"
|
||||||
material = "material/platinum"
|
type_to_spawn = /obj/item/stack/material/platinum
|
||||||
|
|
||||||
/obj/fiftyspawner/mhydrogen
|
/obj/fiftyspawner/mhydrogen
|
||||||
name = "stack of mhydrogen"
|
name = "stack of mhydrogen"
|
||||||
material = "material/mhydrogen"
|
type_to_spawn = /obj/item/stack/material/mhydrogen
|
||||||
|
|
||||||
/obj/fiftyspawner/tritium
|
/obj/fiftyspawner/tritium
|
||||||
name = "stack of tritium"
|
name = "stack of tritium"
|
||||||
material = "material/tritium"
|
type_to_spawn = /obj/item/stack/material/tritium
|
||||||
|
|
||||||
/obj/fiftyspawner/osmium
|
/obj/fiftyspawner/osmium
|
||||||
name = "stack of osmium"
|
name = "stack of osmium"
|
||||||
material = "material/osmium"
|
type_to_spawn = /obj/item/stack/material/osmium
|
||||||
|
|
||||||
/obj/fiftyspawner/steel
|
/obj/fiftyspawner/steel
|
||||||
name = "stack of steel"
|
name = "stack of steel"
|
||||||
material = "material/steel"
|
type_to_spawn = /obj/item/stack/material/steel
|
||||||
|
|
||||||
/obj/fiftyspawner/plasteel
|
/obj/fiftyspawner/plasteel
|
||||||
name = "stack of plasteel"
|
name = "stack of plasteel"
|
||||||
material = "material/plasteel"
|
type_to_spawn = /obj/item/stack/material/plasteel
|
||||||
|
|
||||||
/obj/fiftyspawner/durasteel
|
/obj/fiftyspawner/durasteel
|
||||||
name = "stack of durasteel"
|
name = "stack of durasteel"
|
||||||
material = "material/durasteel"
|
type_to_spawn = /obj/item/stack/material/durasteel
|
||||||
|
|
||||||
/obj/fiftyspawner/wood
|
/obj/fiftyspawner/wood
|
||||||
name = "stack of wood"
|
name = "stack of wood"
|
||||||
material = "material/wood"
|
type_to_spawn = /obj/item/stack/material/wood
|
||||||
|
|
||||||
/obj/fiftyspawner/cloth
|
/obj/fiftyspawner/cloth
|
||||||
name = "stack of cloth"
|
name = "stack of cloth"
|
||||||
material = "material/cloth"
|
type_to_spawn = /obj/item/stack/material/cloth
|
||||||
|
|
||||||
/obj/fiftyspawner/cardboard
|
/obj/fiftyspawner/cardboard
|
||||||
name = "stack of cardboard"
|
name = "stack of cardboard"
|
||||||
material = "material/cardboard"
|
type_to_spawn = /obj/item/stack/material/cardboard
|
||||||
|
|
||||||
/obj/fiftyspawner/leather
|
/obj/fiftyspawner/leather
|
||||||
name = "stack of leather"
|
name = "stack of leather"
|
||||||
material = "material/leather"
|
type_to_spawn = /obj/item/stack/material/leather
|
||||||
|
|
||||||
/obj/fiftyspawner/glass
|
/obj/fiftyspawner/glass
|
||||||
name = "stack of glass"
|
name = "stack of glass"
|
||||||
material = "material/glass"
|
type_to_spawn = /obj/item/stack/material/glass
|
||||||
|
|
||||||
/obj/fiftyspawner/rglass
|
/obj/fiftyspawner/rglass
|
||||||
name = "stack of reinforced glass"
|
name = "stack of reinforced glass"
|
||||||
material = "material/glass/reinforced"
|
type_to_spawn = /obj/item/stack/material/glass/reinforced
|
||||||
|
|
||||||
/obj/fiftyspawner/phoronglass
|
/obj/fiftyspawner/phoronglass
|
||||||
name = "stack of borosilicate glass"
|
name = "stack of borosilicate glass"
|
||||||
material = "material/glass/phoronglass"
|
type_to_spawn = /obj/item/stack/material/glass/phoronglass
|
||||||
|
|
||||||
/obj/fiftyspawner/phoronrglass
|
/obj/fiftyspawner/phoronrglass
|
||||||
name = "stack of reinforced borosilicate glass"
|
name = "stack of reinforced borosilicate glass"
|
||||||
material = "material/glass/phoronrglass"
|
type_to_spawn = /obj/item/stack/material/glass/phoronrglass
|
||||||
|
|
||||||
//R-UST port
|
//R-UST port
|
||||||
/obj/fiftyspawner/deuterium
|
/obj/fiftyspawner/deuterium
|
||||||
name = "stack of deuterium"
|
name = "stack of deuterium"
|
||||||
material = "material/deuterium"
|
type_to_spawn = /obj/item/stack/material/deuterium
|
||||||
@@ -92,16 +92,19 @@
|
|||||||
icon_state = "sheet-silver"
|
icon_state = "sheet-silver"
|
||||||
default_type = "iron"
|
default_type = "iron"
|
||||||
apply_colour = 1
|
apply_colour = 1
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/sandstone
|
/obj/item/stack/material/sandstone
|
||||||
name = "sandstone brick"
|
name = "sandstone brick"
|
||||||
icon_state = "sheet-sandstone"
|
icon_state = "sheet-sandstone"
|
||||||
default_type = "sandstone"
|
default_type = "sandstone"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/marble
|
/obj/item/stack/material/marble
|
||||||
name = "marble brick"
|
name = "marble brick"
|
||||||
icon_state = "sheet-marble"
|
icon_state = "sheet-marble"
|
||||||
default_type = "marble"
|
default_type = "marble"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/diamond
|
/obj/item/stack/material/diamond
|
||||||
name = "diamond"
|
name = "diamond"
|
||||||
@@ -112,38 +115,45 @@
|
|||||||
name = "uranium"
|
name = "uranium"
|
||||||
icon_state = "sheet-uranium"
|
icon_state = "sheet-uranium"
|
||||||
default_type = "uranium"
|
default_type = "uranium"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/phoron
|
/obj/item/stack/material/phoron
|
||||||
name = "solid phoron"
|
name = "solid phoron"
|
||||||
icon_state = "sheet-phoron"
|
icon_state = "sheet-phoron"
|
||||||
default_type = "phoron"
|
default_type = "phoron"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/plastic
|
/obj/item/stack/material/plastic
|
||||||
name = "plastic"
|
name = "plastic"
|
||||||
icon_state = "sheet-plastic"
|
icon_state = "sheet-plastic"
|
||||||
default_type = "plastic"
|
default_type = "plastic"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/gold
|
/obj/item/stack/material/gold
|
||||||
name = "gold"
|
name = "gold"
|
||||||
icon_state = "sheet-gold"
|
icon_state = "sheet-gold"
|
||||||
default_type = "gold"
|
default_type = "gold"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/silver
|
/obj/item/stack/material/silver
|
||||||
name = "silver"
|
name = "silver"
|
||||||
icon_state = "sheet-silver"
|
icon_state = "sheet-silver"
|
||||||
default_type = "silver"
|
default_type = "silver"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
//Valuable resource, cargo can sell it.
|
//Valuable resource, cargo can sell it.
|
||||||
/obj/item/stack/material/platinum
|
/obj/item/stack/material/platinum
|
||||||
name = "platinum"
|
name = "platinum"
|
||||||
icon_state = "sheet-adamantine"
|
icon_state = "sheet-adamantine"
|
||||||
default_type = "platinum"
|
default_type = "platinum"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
//Extremely valuable to Research.
|
//Extremely valuable to Research.
|
||||||
/obj/item/stack/material/mhydrogen
|
/obj/item/stack/material/mhydrogen
|
||||||
name = "metallic hydrogen"
|
name = "metallic hydrogen"
|
||||||
icon_state = "sheet-mythril"
|
icon_state = "sheet-mythril"
|
||||||
default_type = "mhydrogen"
|
default_type = "mhydrogen"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
//Fuel for MRSPACMAN generator.
|
//Fuel for MRSPACMAN generator.
|
||||||
/obj/item/stack/material/tritium
|
/obj/item/stack/material/tritium
|
||||||
@@ -151,12 +161,14 @@
|
|||||||
icon_state = "sheet-silver"
|
icon_state = "sheet-silver"
|
||||||
default_type = "tritium"
|
default_type = "tritium"
|
||||||
apply_colour = 1
|
apply_colour = 1
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/osmium
|
/obj/item/stack/material/osmium
|
||||||
name = "osmium"
|
name = "osmium"
|
||||||
icon_state = "sheet-silver"
|
icon_state = "sheet-silver"
|
||||||
default_type = "osmium"
|
default_type = "osmium"
|
||||||
apply_colour = 1
|
apply_colour = 1
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
//R-UST port
|
//R-UST port
|
||||||
// Fusion fuel.
|
// Fusion fuel.
|
||||||
@@ -165,22 +177,26 @@
|
|||||||
icon_state = "sheet-silver"
|
icon_state = "sheet-silver"
|
||||||
default_type = "deuterium"
|
default_type = "deuterium"
|
||||||
apply_colour = 1
|
apply_colour = 1
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/steel
|
/obj/item/stack/material/steel
|
||||||
name = DEFAULT_WALL_MATERIAL
|
name = DEFAULT_WALL_MATERIAL
|
||||||
icon_state = "sheet-metal"
|
icon_state = "sheet-metal"
|
||||||
default_type = DEFAULT_WALL_MATERIAL
|
default_type = DEFAULT_WALL_MATERIAL
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/plasteel
|
/obj/item/stack/material/plasteel
|
||||||
name = "plasteel"
|
name = "plasteel"
|
||||||
icon_state = "sheet-plasteel"
|
icon_state = "sheet-plasteel"
|
||||||
default_type = "plasteel"
|
default_type = "plasteel"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/durasteel
|
/obj/item/stack/material/durasteel
|
||||||
name = "durasteel"
|
name = "durasteel"
|
||||||
icon_state = "sheet-durasteel"
|
icon_state = "sheet-durasteel"
|
||||||
item_state = "sheet-metal"
|
item_state = "sheet-metal"
|
||||||
default_type = "durasteel"
|
default_type = "durasteel"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/wood
|
/obj/item/stack/material/wood
|
||||||
name = "wooden plank"
|
name = "wooden plank"
|
||||||
@@ -191,11 +207,13 @@
|
|||||||
name = "cloth"
|
name = "cloth"
|
||||||
icon_state = "sheet-cloth"
|
icon_state = "sheet-cloth"
|
||||||
default_type = "cloth"
|
default_type = "cloth"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/cardboard
|
/obj/item/stack/material/cardboard
|
||||||
name = "cardboard"
|
name = "cardboard"
|
||||||
icon_state = "sheet-card"
|
icon_state = "sheet-card"
|
||||||
default_type = "cardboard"
|
default_type = "cardboard"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/snow
|
/obj/item/stack/material/snow
|
||||||
name = "snow"
|
name = "snow"
|
||||||
@@ -208,16 +226,19 @@
|
|||||||
desc = "The by-product of mob grinding."
|
desc = "The by-product of mob grinding."
|
||||||
icon_state = "sheet-leather"
|
icon_state = "sheet-leather"
|
||||||
default_type = "leather"
|
default_type = "leather"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/glass
|
/obj/item/stack/material/glass
|
||||||
name = "glass"
|
name = "glass"
|
||||||
icon_state = "sheet-glass"
|
icon_state = "sheet-glass"
|
||||||
default_type = "glass"
|
default_type = "glass"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/glass/reinforced
|
/obj/item/stack/material/glass/reinforced
|
||||||
name = "reinforced glass"
|
name = "reinforced glass"
|
||||||
icon_state = "sheet-rglass"
|
icon_state = "sheet-rglass"
|
||||||
default_type = "rglass"
|
default_type = "rglass"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/glass/phoronglass
|
/obj/item/stack/material/glass/phoronglass
|
||||||
name = "borosilicate glass"
|
name = "borosilicate glass"
|
||||||
@@ -225,6 +246,7 @@
|
|||||||
singular_name = "borosilicate glass sheet"
|
singular_name = "borosilicate glass sheet"
|
||||||
icon_state = "sheet-phoronglass"
|
icon_state = "sheet-phoronglass"
|
||||||
default_type = "borosilicate glass"
|
default_type = "borosilicate glass"
|
||||||
|
no_variants = FALSE
|
||||||
|
|
||||||
/obj/item/stack/material/glass/phoronrglass
|
/obj/item/stack/material/glass/phoronrglass
|
||||||
name = "reinforced borosilicate glass"
|
name = "reinforced borosilicate glass"
|
||||||
@@ -232,3 +254,4 @@
|
|||||||
singular_name = "reinforced borosilicate glass sheet"
|
singular_name = "reinforced borosilicate glass sheet"
|
||||||
icon_state = "sheet-phoronrglass"
|
icon_state = "sheet-phoronrglass"
|
||||||
default_type = "reinforced borosilicate glass"
|
default_type = "reinforced borosilicate glass"
|
||||||
|
no_variants = FALSE
|
||||||
|
|||||||
37
code/modules/mob/_modifiers/cloning.dm
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Modifier applied to newly cloned people.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Gives rather nasty downsides for awhile, making them less robust.
|
||||||
|
/datum/modifier/cloning_sickness
|
||||||
|
name = "cloning sickness"
|
||||||
|
desc = "You feel rather weak, having been cloned not so long ago."
|
||||||
|
|
||||||
|
on_created_text = "<span class='warning'><font size='3'>You feel really weak.</font></span>"
|
||||||
|
on_expired_text = "<span class='notice'><font size='3'>You feel your strength returning to you.</font></span>"
|
||||||
|
|
||||||
|
max_health_percent = 0.6 // -40% max health.
|
||||||
|
incoming_damage_percent = 1.1 // 10% more incoming damage.
|
||||||
|
outgoing_melee_damage_percent = 0.7 // 30% less melee damage.
|
||||||
|
disable_duration_percent = 1.25 // Stuns last 25% longer.
|
||||||
|
slowdown = 1 // Slower.
|
||||||
|
evasion = -1 // 15% easier to hit.
|
||||||
|
|
||||||
|
// Tracks number of deaths, one modifier added per cloning
|
||||||
|
/datum/modifier/cloned
|
||||||
|
name = "cloned"
|
||||||
|
desc = "You died and were cloned, and you can never forget that."
|
||||||
|
|
||||||
|
flags = MODIFIER_GENETIC // So it gets copied if they die and get cloned again.
|
||||||
|
stacks = MODIFIER_STACK_ALLOWED // Two deaths means two instances of this.
|
||||||
|
|
||||||
|
// Prevents cloning, actual effect is on the cloning machine
|
||||||
|
/datum/modifier/no_clone
|
||||||
|
name = "Cloning Incompatability"
|
||||||
|
desc = "For whatever reason, you cannot be cloned."
|
||||||
|
|
||||||
|
//WIP, but these may never be seen anyway, so *shrug
|
||||||
|
on_created_text = "<span class='warning'>Life suddenly feels more precious.</span>"
|
||||||
|
on_expired_text = "<span class='notice'>Death is cheap again.</span>"
|
||||||
|
|
||||||
|
flags = MODIFIER_GENETIC
|
||||||
10
code/modules/mob/_modifiers/traits.dm
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/datum/modifier/frail
|
||||||
|
name = "frail"
|
||||||
|
desc = "You are more delicate than the average person."
|
||||||
|
|
||||||
|
flags = MODIFIER_GENETIC
|
||||||
|
|
||||||
|
on_created_text = "<span class='warning'>You feel really weak.</span>"
|
||||||
|
on_expired_text = "<span class='notice'>You feel your strength returning to you.</span>"
|
||||||
|
|
||||||
|
max_health_percent = 0.9
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
key = "k"
|
key = "k"
|
||||||
space_chance = 30
|
space_chance = 30
|
||||||
flags = WHITELISTED
|
flags = WHITELISTED
|
||||||
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!", "'")
|
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix")
|
||||||
|
|
||||||
/datum/language/human
|
/datum/language/human
|
||||||
name = LANGUAGE_SOL_COMMON
|
name = LANGUAGE_SOL_COMMON
|
||||||
@@ -244,4 +244,4 @@
|
|||||||
"tod", "ser", "su", "no", "nue", "el",
|
"tod", "ser", "su", "no", "nue", "el",
|
||||||
"ad", "al", "an", "ar", "as", "ci", "co", "de", "do", "el", "en", "er", "es", "ie", "in", "la", "lo", "me", "na",
|
"ad", "al", "an", "ar", "as", "ci", "co", "de", "do", "el", "en", "er", "es", "ie", "in", "la", "lo", "me", "na",
|
||||||
"no", "nt", "or", "os", "pa", "qu", "ra", "re", "ro", "se", "st", "ta", "te", "to", "ue", "un",
|
"no", "nt", "or", "os", "pa", "qu", "ra", "re", "ro", "se", "st", "ta", "te", "to", "ue", "un",
|
||||||
"tod", "ser", "su", "no", "nue", "el")
|
"tod", "ser", "su", "no", "nue", "el")
|
||||||
|
|||||||
@@ -128,7 +128,8 @@
|
|||||||
return
|
return
|
||||||
var/obj/item/weapon/rig/rig = src.get_rig()
|
var/obj/item/weapon/rig/rig = src.get_rig()
|
||||||
if(rig)
|
if(rig)
|
||||||
rig.forced_move(direction, user)
|
if(istype(rig,/obj/item/weapon/rig))
|
||||||
|
rig.forced_move(direction, user)
|
||||||
|
|
||||||
/obj/item/device/mmi/Destroy()
|
/obj/item/device/mmi/Destroy()
|
||||||
if(isrobot(loc))
|
if(isrobot(loc))
|
||||||
@@ -260,7 +261,7 @@
|
|||||||
src.brainmob.mind.reset()
|
src.brainmob.mind.reset()
|
||||||
src.brainmob.ckey = candidate.ckey
|
src.brainmob.ckey = candidate.ckey
|
||||||
src.name = "[name] ([src.brainmob.name])"
|
src.name = "[name] ([src.brainmob.name])"
|
||||||
src.brainmob << "<b>You are a [src], brought into existence on [station_name()].</b>"
|
src.brainmob << "<b>You are [src.name], brought into existence on [station_name()].</b>"
|
||||||
src.brainmob << "<b>As a synthetic intelligence, you are designed with organic values in mind.</b>"
|
src.brainmob << "<b>As a synthetic intelligence, you are designed with organic values in mind.</b>"
|
||||||
src.brainmob << "<b>However, unless placed in a lawed chassis, you are not obligated to obey any individual crew member.</b>" //it's not like they can hurt anyone
|
src.brainmob << "<b>However, unless placed in a lawed chassis, you are not obligated to obey any individual crew member.</b>" //it's not like they can hurt anyone
|
||||||
// src.brainmob << "<b>Use say #b to speak to other artificial intelligences.</b>"
|
// src.brainmob << "<b>Use say #b to speak to other artificial intelligences.</b>"
|
||||||
@@ -283,7 +284,6 @@
|
|||||||
..()
|
..()
|
||||||
src.brainmob.name = "[pick(list("ADA","DOS","GNU","MAC","WIN","NJS","SKS","DRD","IOS","CRM","IBM","TEX","LVM","BSD",))]-[rand(1000, 9999)]"
|
src.brainmob.name = "[pick(list("ADA","DOS","GNU","MAC","WIN","NJS","SKS","DRD","IOS","CRM","IBM","TEX","LVM","BSD",))]-[rand(1000, 9999)]"
|
||||||
src.brainmob.real_name = src.brainmob.name
|
src.brainmob.real_name = src.brainmob.name
|
||||||
src.name = "robotic intelligence circuit ([src.brainmob.name])"
|
|
||||||
|
|
||||||
/obj/item/device/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H)
|
/obj/item/device/mmi/digital/robot/transfer_identity(var/mob/living/carbon/H)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
icon_state = "crab"
|
icon_state = "crab"
|
||||||
icon_living = "crab"
|
icon_living = "crab"
|
||||||
icon_dead = "crab_dead"
|
icon_dead = "crab_dead"
|
||||||
|
faction = "crabs"
|
||||||
intelligence_level = SA_ANIMAL
|
intelligence_level = SA_ANIMAL
|
||||||
|
|
||||||
wander = 0
|
wander = 0
|
||||||
@@ -45,3 +46,37 @@
|
|||||||
response_help = "pets"
|
response_help = "pets"
|
||||||
response_disarm = "gently pushes aside"
|
response_disarm = "gently pushes aside"
|
||||||
response_harm = "stomps"
|
response_harm = "stomps"
|
||||||
|
|
||||||
|
//Sif Crabs
|
||||||
|
/mob/living/simple_animal/giant_crab
|
||||||
|
name = "Giant Crab"
|
||||||
|
desc = "A large, hard-shelled crustacean. This one is mostly grey."
|
||||||
|
icon_state = "sif_crab"
|
||||||
|
icon_living = "sif_crab"
|
||||||
|
icon_dead = "sif_crab_dead"
|
||||||
|
faction = "crabs"
|
||||||
|
intelligence_level = SA_ANIMAL
|
||||||
|
|
||||||
|
maxHealth = 200
|
||||||
|
health = 200
|
||||||
|
|
||||||
|
mob_size = MOB_LARGE
|
||||||
|
cooperative = 1
|
||||||
|
retaliate = 1
|
||||||
|
turns_per_move = 3
|
||||||
|
|
||||||
|
minbodytemp = 175
|
||||||
|
|
||||||
|
melee_damage_lower = 15
|
||||||
|
melee_damage_upper = 35
|
||||||
|
|
||||||
|
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||||
|
response_help = "pets"
|
||||||
|
response_disarm = "gently pushes aside"
|
||||||
|
response_harm = "stomps"
|
||||||
|
friendly = "pinches"
|
||||||
|
|
||||||
|
speak_chance = 1
|
||||||
|
speak_emote = list("clicks")
|
||||||
|
emote_hear = list("clicks")
|
||||||
|
emote_see = list("clacks")
|
||||||
|
|||||||
@@ -533,3 +533,23 @@
|
|||||||
|
|
||||||
/mob/proc/update_gravity()
|
/mob/proc/update_gravity()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
// The real Move() proc is above, but touching that massive block just to put this in isn't worth it.
|
||||||
|
/mob/Move(var/newloc, var/direct)
|
||||||
|
. = ..(newloc, direct)
|
||||||
|
if(.)
|
||||||
|
post_move(newloc, direct)
|
||||||
|
|
||||||
|
// Called when a mob successfully moves.
|
||||||
|
// Would've been an /atom/movable proc but it caused issues.
|
||||||
|
/mob/proc/post_move(var/newloc, var/direct)
|
||||||
|
for(var/obj/O in contents)
|
||||||
|
O.on_loc_moved(newloc, direct)
|
||||||
|
|
||||||
|
// Received from post_move(), useful for items that need to know that their loc just moved.
|
||||||
|
/obj/proc/on_loc_moved(var/newloc, var/direct)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/storage/on_loc_moved(var/newloc, var/direct)
|
||||||
|
for(var/obj/O in contents)
|
||||||
|
O.on_loc_moved(newloc, direct)
|
||||||
@@ -133,8 +133,8 @@ var/datum/planet/sif/planet_sif = null
|
|||||||
|
|
||||||
datum/weather/sif
|
datum/weather/sif
|
||||||
name = "sif base"
|
name = "sif base"
|
||||||
temp_high = 243.15 // -20c
|
temp_high = 283.15 // 10c
|
||||||
temp_low = 233.15 // -30c
|
temp_low = 263.15 // -10c
|
||||||
|
|
||||||
/datum/weather/sif/clear
|
/datum/weather/sif/clear
|
||||||
name = "clear"
|
name = "clear"
|
||||||
@@ -158,8 +158,8 @@ datum/weather/sif
|
|||||||
/datum/weather/sif/light_snow
|
/datum/weather/sif/light_snow
|
||||||
name = "light snow"
|
name = "light snow"
|
||||||
icon_state = "snowfall_light"
|
icon_state = "snowfall_light"
|
||||||
temp_high = 238.15 // -25c
|
temp_high = T0C // 0c
|
||||||
temp_low = 228.15 // -35c
|
temp_low = 258.15 // -15c
|
||||||
light_modifier = 0.7
|
light_modifier = 0.7
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_OVERCAST = 20,
|
WEATHER_OVERCAST = 20,
|
||||||
@@ -171,8 +171,8 @@ datum/weather/sif
|
|||||||
/datum/weather/sif/snow
|
/datum/weather/sif/snow
|
||||||
name = "moderate snow"
|
name = "moderate snow"
|
||||||
icon_state = "snowfall_med"
|
icon_state = "snowfall_med"
|
||||||
temp_high = 233.15 // -30c
|
temp_high = T0C // 0c
|
||||||
temp_low = 223.15 // -40c
|
temp_low = 243.15 // -30c
|
||||||
light_modifier = 0.5
|
light_modifier = 0.5
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_LIGHT_SNOW = 20,
|
WEATHER_LIGHT_SNOW = 20,
|
||||||
@@ -194,8 +194,8 @@ datum/weather/sif
|
|||||||
/datum/weather/sif/blizzard
|
/datum/weather/sif/blizzard
|
||||||
name = "blizzard"
|
name = "blizzard"
|
||||||
icon_state = "snowfall_heavy"
|
icon_state = "snowfall_heavy"
|
||||||
temp_high = 223.15 // -40c
|
temp_high = 233.15 // -40c
|
||||||
temp_low = 203.15 // -60c
|
temp_low = 213.15 // -60c
|
||||||
light_modifier = 0.3
|
light_modifier = 0.3
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_SNOW = 45,
|
WEATHER_SNOW = 45,
|
||||||
@@ -238,8 +238,8 @@ datum/weather/sif
|
|||||||
/datum/weather/sif/storm
|
/datum/weather/sif/storm
|
||||||
name = "storm"
|
name = "storm"
|
||||||
icon_state = "storm"
|
icon_state = "storm"
|
||||||
temp_high = 233.15 // -30c
|
temp_high = 243.15 // -30c
|
||||||
temp_low = 213.15 // -50c
|
temp_low = 233.15 // -50c
|
||||||
light_modifier = 0.3
|
light_modifier = 0.3
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_RAIN = 45,
|
WEATHER_RAIN = 45,
|
||||||
@@ -261,8 +261,8 @@ datum/weather/sif
|
|||||||
/datum/weather/sif/hail
|
/datum/weather/sif/hail
|
||||||
name = "hail"
|
name = "hail"
|
||||||
icon_state = "hail"
|
icon_state = "hail"
|
||||||
temp_high = 233.15 // -30c
|
temp_high = T0C // 0c
|
||||||
temp_low = 213.15 // -50c
|
temp_low = 243.15 // -30c
|
||||||
light_modifier = 0.3
|
light_modifier = 0.3
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_RAIN = 45,
|
WEATHER_RAIN = 45,
|
||||||
@@ -297,5 +297,4 @@ datum/weather/sif
|
|||||||
light_color = "#FF0000"
|
light_color = "#FF0000"
|
||||||
transition_chances = list(
|
transition_chances = list(
|
||||||
WEATHER_BLOODMOON = 100
|
WEATHER_BLOODMOON = 100
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1204,7 +1204,7 @@
|
|||||||
name = "Syntiflesh"
|
name = "Syntiflesh"
|
||||||
id = "syntiflesh"
|
id = "syntiflesh"
|
||||||
result = null
|
result = null
|
||||||
required_reagents = list("blood" = 5, "clonexadone" = 1)
|
required_reagents = list("blood" = 5, "clonexadone" = 5)
|
||||||
result_amount = 1
|
result_amount = 1
|
||||||
|
|
||||||
/datum/chemical_reaction/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
|
/datum/chemical_reaction/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
|
||||||
|
|||||||
347
code/modules/shieldgen/directional_shield.dm
Normal file
@@ -0,0 +1,347 @@
|
|||||||
|
// This is the actual shield. The projector is a different item.
|
||||||
|
/obj/effect/directional_shield
|
||||||
|
name = "directional combat shield"
|
||||||
|
desc = "A wide shield, which has the property to block incoming projectiles but allow outgoing projectiles to pass it. \
|
||||||
|
Slower moving objects are not blocked, so people can walk in and out of the barrier, and things can be thrown into and out \
|
||||||
|
of it."
|
||||||
|
icon = 'icons/effects/effects.dmi'
|
||||||
|
icon_state = "directional_shield"
|
||||||
|
density = FALSE // People can move pass these shields.
|
||||||
|
opacity = FALSE
|
||||||
|
anchored = TRUE
|
||||||
|
unacidable = TRUE
|
||||||
|
layer = MOB_LAYER + 0.1
|
||||||
|
mouse_opacity = FALSE
|
||||||
|
var/obj/item/shield_projector/projector = null // The thing creating the shield.
|
||||||
|
var/x_offset = 0 // Offset from the 'center' of where the projector is, so that if it moves, the shield can recalc its position.
|
||||||
|
var/y_offset = 0 // Ditto.
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/New(var/newloc, var/new_projector)
|
||||||
|
if(new_projector)
|
||||||
|
projector = new_projector
|
||||||
|
var/turf/us = get_turf(src)
|
||||||
|
var/turf/them = get_turf(projector)
|
||||||
|
if(them)
|
||||||
|
x_offset = us.x - them.x
|
||||||
|
y_offset = us.y - them.y
|
||||||
|
else
|
||||||
|
update_color()
|
||||||
|
..(newloc)
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/proc/relocate()
|
||||||
|
if(!projector)
|
||||||
|
return // Nothing to follow.
|
||||||
|
var/turf/T = get_turf(projector)
|
||||||
|
if(!T)
|
||||||
|
return
|
||||||
|
var/turf/new_pos = locate(T.x + x_offset, T.y + y_offset, T.z)
|
||||||
|
if(new_pos)
|
||||||
|
forceMove(new_pos)
|
||||||
|
else
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/proc/update_color(var/new_color)
|
||||||
|
if(!projector)
|
||||||
|
color = "#0099FF"
|
||||||
|
else
|
||||||
|
animate(src, color = new_color, 5)
|
||||||
|
// color = new_color
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/Destroy()
|
||||||
|
if(projector)
|
||||||
|
projector.active_shields -= src
|
||||||
|
projector = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||||
|
if(air_group || (height==0))
|
||||||
|
return TRUE
|
||||||
|
else if(istype(mover, /obj/item/projectile))
|
||||||
|
var/obj/item/projectile/P = mover
|
||||||
|
if(istype(P, /obj/item/projectile/test)) // Turrets need to try to kill the shield and so their test bullet needs to penetrate.
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
var/bad_arc = reverse_direction(dir) // Arc of directions from which we cannot block.
|
||||||
|
if(check_shield_arc(src, bad_arc, P)) // This is actually for mobs but it will work for our purposes as well.
|
||||||
|
return FALSE
|
||||||
|
else
|
||||||
|
return TRUE
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/effect/directional_shield/bullet_act(var/obj/item/projectile/P)
|
||||||
|
adjust_health(-P.get_structure_damage())
|
||||||
|
P.on_hit()
|
||||||
|
playsound(get_turf(src), 'sound/effects/EMPulse.ogg', 75, 1)
|
||||||
|
|
||||||
|
// All the shields tied to their projector are one 'unit', and don't have individualized health values like most other shields.
|
||||||
|
/obj/effect/directional_shield/proc/adjust_health(amount)
|
||||||
|
if(projector)
|
||||||
|
projector.adjust_health(amount) // Projector will kill the shield if needed.
|
||||||
|
// If the shield lacks a projector, then it was probably spawned in by an admin for bus, so it's indestructable.
|
||||||
|
|
||||||
|
|
||||||
|
// This actually creates the shields. It's an item so that it can be carried, but it could also be placed inside a stationary object if desired.
|
||||||
|
// It should work inside the contents of any mob.
|
||||||
|
/obj/item/shield_projector
|
||||||
|
name = "combat shield projector"
|
||||||
|
desc = "A miniturized and compact shield projector. This type has been optimized to diffuse lasers or block high velocity projectiles from the outside, \
|
||||||
|
but allow those projectiles to leave the shield from the inside. Blocking too many damaging projectiles will cause the shield to fail."
|
||||||
|
icon = 'icons/obj/device.dmi'
|
||||||
|
icon_state = "signmaker_sec"
|
||||||
|
var/active = FALSE // If it's on.
|
||||||
|
var/shield_health = 400 // How much damage the shield blocks before breaking. This is a shared health pool for all shields attached to this projector.
|
||||||
|
var/max_shield_health = 400 // Ditto. This is fairly high, but shields are really big, you can't miss them, and laser carbines pump out so much hurt.
|
||||||
|
var/shield_regen_amount = 20 // How much to recharge every process(), after the delay.
|
||||||
|
var/shield_regen_delay = 5 SECONDS // If the shield takes damage, it won't recharge for this long.
|
||||||
|
var/last_damaged_time = null // world.time when the shields took damage, used for the delay.
|
||||||
|
var/list/active_shields = list() // Shields that are active and deployed.
|
||||||
|
var/always_on = FALSE // If true, will always try to reactivate if disabled for whatever reason, ideal if AI mobs are holding this.
|
||||||
|
var/high_color = "#0099FF" // Color the shield will be when at max health. A light blue.
|
||||||
|
var/low_color = "#FF0000" // Color the shield will drift towards as health is lowered. Deep red.
|
||||||
|
|
||||||
|
/obj/item/shield_projector/New()
|
||||||
|
processing_objects += src
|
||||||
|
if(always_on)
|
||||||
|
create_shields()
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/item/shield_projector/Destroy()
|
||||||
|
destroy_shields()
|
||||||
|
processing_objects -= src
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/shield_projector/proc/create_shield(var/newloc, var/new_dir)
|
||||||
|
var/obj/effect/directional_shield/S = new(newloc, src)
|
||||||
|
S.dir = new_dir
|
||||||
|
active_shields += S
|
||||||
|
|
||||||
|
/obj/item/shield_projector/proc/create_shields() // Override this for a specific shape. Be sure to call ..() for the checks, however.
|
||||||
|
if(active) // Already made.
|
||||||
|
return FALSE
|
||||||
|
if(shield_health <= 0)
|
||||||
|
return FALSE
|
||||||
|
active = TRUE
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/item/shield_projector/proc/destroy_shields()
|
||||||
|
for(var/obj/effect/directional_shield/S in active_shields)
|
||||||
|
active_shields -= S
|
||||||
|
qdel(S)
|
||||||
|
active = FALSE
|
||||||
|
|
||||||
|
/obj/item/shield_projector/proc/update_shield_positions()
|
||||||
|
for(var/obj/effect/directional_shield/S in active_shields)
|
||||||
|
S.relocate()
|
||||||
|
|
||||||
|
/obj/item/shield_projector/proc/adjust_health(amount)
|
||||||
|
shield_health = between(0, shield_health + amount, max_shield_health)
|
||||||
|
if(amount < 0)
|
||||||
|
if(shield_health <= 0)
|
||||||
|
destroy_shields()
|
||||||
|
var/turf/T = get_turf(src)
|
||||||
|
T.visible_message("<span class='danger'>\The [src] overloads and the shield vanishes!</span>")
|
||||||
|
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 75, 0)
|
||||||
|
else
|
||||||
|
if(shield_health < max_shield_health / 4) // Play a more urgent sounding beep if it's at 25% health.
|
||||||
|
playsound(get_turf(src), 'sound/machines/defib_success.ogg', 75, 0)
|
||||||
|
else
|
||||||
|
playsound(get_turf(src), 'sound/machines/defib_SafetyOn.ogg', 75, 0)
|
||||||
|
last_damaged_time = world.time
|
||||||
|
update_shield_colors()
|
||||||
|
|
||||||
|
// Makes shields become gradually more red as the projector's health decreases.
|
||||||
|
/obj/item/shield_projector/proc/update_shield_colors()
|
||||||
|
// This is done at the projector instead of the shields themselves to avoid needing to calculate this more than once every update.
|
||||||
|
var/lerp_weight = shield_health / max_shield_health
|
||||||
|
|
||||||
|
var/list/low_color_list = hex2rgb(low_color)
|
||||||
|
var/low_r = low_color_list[1]
|
||||||
|
var/low_g = low_color_list[2]
|
||||||
|
var/low_b = low_color_list[3]
|
||||||
|
|
||||||
|
var/list/high_color_list = hex2rgb(high_color)
|
||||||
|
var/high_r = high_color_list[1]
|
||||||
|
var/high_g = high_color_list[2]
|
||||||
|
var/high_b = high_color_list[3]
|
||||||
|
|
||||||
|
var/new_r = Interpolate(low_r, high_r, weight = lerp_weight)
|
||||||
|
var/new_g = Interpolate(low_g, high_g, weight = lerp_weight)
|
||||||
|
var/new_b = Interpolate(low_b, high_b, weight = lerp_weight)
|
||||||
|
|
||||||
|
var/new_color = rgb(new_r, new_g, new_b)
|
||||||
|
|
||||||
|
// Now deploy the new color to all the shields.
|
||||||
|
for(var/obj/effect/directional_shield/S in active_shields)
|
||||||
|
S.update_color(new_color)
|
||||||
|
|
||||||
|
/obj/item/shield_projector/attack_self(var/mob/living/user)
|
||||||
|
if(active)
|
||||||
|
if(always_on)
|
||||||
|
to_chat(user, "<span class='warning'>You can't seem to deactivate \the [src].</span>")
|
||||||
|
return
|
||||||
|
|
||||||
|
destroy_shields()
|
||||||
|
else
|
||||||
|
set_dir(user.dir) // Needed for linear shields.
|
||||||
|
create_shields()
|
||||||
|
visible_message("<span class='notice'>\The [user] [!active ? "de":""]activates \the [src].</span>")
|
||||||
|
|
||||||
|
/obj/item/shield_projector/process()
|
||||||
|
if(shield_health < max_shield_health && ( (last_damaged_time + shield_regen_delay) < world.time) )
|
||||||
|
adjust_health(shield_regen_amount)
|
||||||
|
if(always_on && !active) // Make shields as soon as possible if this is set.
|
||||||
|
create_shields()
|
||||||
|
if(shield_health == max_shield_health)
|
||||||
|
playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 75, 0)
|
||||||
|
else
|
||||||
|
playsound(get_turf(src), 'sound/machines/defib_safetyOff.ogg', 75, 0)
|
||||||
|
|
||||||
|
/obj/item/shield_projector/examine(var/mob/user)
|
||||||
|
..()
|
||||||
|
if(get_dist(src, user) <= 1)
|
||||||
|
to_chat(user, "\The [src]'s shield matrix is at [round( (shield_health / max_shield_health) * 100, 0.01)]% strength.")
|
||||||
|
|
||||||
|
/obj/item/shield_projector/emp_act(var/severity)
|
||||||
|
adjust_health(-max_shield_health / severity) // A strong EMP will kill the shield instantly, but weaker ones won't on the first hit.
|
||||||
|
|
||||||
|
/obj/item/shield_projector/Move(var/newloc, var/direct)
|
||||||
|
..(newloc, direct)
|
||||||
|
update_shield_positions()
|
||||||
|
|
||||||
|
/obj/item/shield_projector/on_loc_moved(var/newloc, var/direct)
|
||||||
|
update_shield_positions()
|
||||||
|
|
||||||
|
|
||||||
|
// Subtypes
|
||||||
|
|
||||||
|
/obj/item/shield_projector/rectangle
|
||||||
|
name = "rectangular combat shield projector"
|
||||||
|
description_info = "This creates a shield in a rectangular shape, which allows projectiles to leave from inside but blocks projectiles from outside. \
|
||||||
|
Everything else can pass through the shield freely, including other people and thrown objects. The shield also cannot block certain effects which \
|
||||||
|
take place over an area, such as flashbangs or explosions."
|
||||||
|
var/size_x = 3 // How big the rectangle will be, in tiles from the center.
|
||||||
|
var/size_y = 3 // Ditto.
|
||||||
|
|
||||||
|
// Weaker and smaller variant.
|
||||||
|
/obj/item/shield_projector/rectangle/weak
|
||||||
|
shield_health = 200 // Half as strong as the default.
|
||||||
|
max_shield_health = 200
|
||||||
|
size_x = 2
|
||||||
|
size_y = 2
|
||||||
|
|
||||||
|
// A shortcut for admins to spawn in to put into simple animals or other things where it needs to reactivate automatically.
|
||||||
|
/obj/item/shield_projector/rectangle/automatic
|
||||||
|
always_on = TRUE
|
||||||
|
|
||||||
|
/obj/item/shield_projector/rectangle/automatic/weak
|
||||||
|
shield_health = 200 // Half as strong as the default.
|
||||||
|
max_shield_health = 200
|
||||||
|
size_x = 2
|
||||||
|
size_y = 2
|
||||||
|
|
||||||
|
// Horrible implementation below.
|
||||||
|
/obj/item/shield_projector/rectangle/create_shields()
|
||||||
|
if(!..())
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
// Make a rectangle in a really terrible way.
|
||||||
|
var/x_dist = size_x
|
||||||
|
var/y_dist = size_y
|
||||||
|
|
||||||
|
var/turf/T = get_turf(src)
|
||||||
|
if(!T)
|
||||||
|
return FALSE
|
||||||
|
// Top left corner.
|
||||||
|
var/turf/T1 = locate(T.x - x_dist, T.y + y_dist, T.z)
|
||||||
|
// Bottom right corner.
|
||||||
|
var/turf/T2 = locate(T.x + x_dist, T.y - y_dist, T.z)
|
||||||
|
if(!T1 || !T2) // If we're on the edge of the map then don't bother.
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
// Build half of the corners first, as they are 'anchors' for the rest of the code below.
|
||||||
|
create_shield(T1, NORTHWEST)
|
||||||
|
create_shield(T2, SOUTHEAST)
|
||||||
|
|
||||||
|
// Build the edges.
|
||||||
|
// First start with the north side.
|
||||||
|
var/current_x = T1.x + 1 // Start next to the top left corner.
|
||||||
|
var/current_y = T1.y
|
||||||
|
var/length = (x_dist * 2) - 1
|
||||||
|
for(var/i = 1 to length)
|
||||||
|
create_shield(locate(current_x, current_y, T.z), NORTH)
|
||||||
|
current_x++
|
||||||
|
|
||||||
|
// Make the top right corner.
|
||||||
|
create_shield(locate(current_x, current_y, T.z), NORTHEAST)
|
||||||
|
|
||||||
|
// Now for the west edge.
|
||||||
|
current_x = T1.x
|
||||||
|
current_y = T1.y - 1
|
||||||
|
length = (y_dist * 2) - 1
|
||||||
|
for(var/i = 1 to length)
|
||||||
|
create_shield(locate(current_x, current_y, T.z), WEST)
|
||||||
|
current_y--
|
||||||
|
|
||||||
|
// Make the bottom left corner.
|
||||||
|
create_shield(locate(current_x, current_y, T.z), SOUTHWEST)
|
||||||
|
|
||||||
|
// Switch to the second corner, and make the east edge.
|
||||||
|
current_x = T2.x
|
||||||
|
current_y = T2.y + 1
|
||||||
|
length = (y_dist * 2) - 1
|
||||||
|
for(var/i = 1 to length)
|
||||||
|
create_shield(locate(current_x, current_y, T.z), EAST)
|
||||||
|
current_y++
|
||||||
|
|
||||||
|
// There are no more corners to create, so we can just go build the south edge now.
|
||||||
|
current_x = T2.x - 1
|
||||||
|
current_y = T2.y
|
||||||
|
length = (x_dist * 2) - 1
|
||||||
|
for(var/i = 1 to length)
|
||||||
|
create_shield(locate(current_x, current_y, T.z), SOUTH)
|
||||||
|
current_x--
|
||||||
|
// Finally done.
|
||||||
|
update_shield_colors()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/item/shield_projector/line
|
||||||
|
name = "linear combat shield projector"
|
||||||
|
description_info = "This creates a shield in a straight line perpendicular to the direction where the user was facing when it was activated. \
|
||||||
|
The shield allows projectiles to leave from inside but blocks projectiles from outside. Everything else can pass through the shield freely, \
|
||||||
|
including other people and thrown objects. The shield also cannot block certain effects which take place over an area, such as flashbangs or explosions."
|
||||||
|
var/line_length = 5 // How long the line is. Recommended to be an odd number.
|
||||||
|
var/offset_from_center = 2 // How far from the projector will the line's center be.
|
||||||
|
|
||||||
|
/obj/item/shield_projector/line/create_shields()
|
||||||
|
if(!..())
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
var/turf/T = get_turf(src) // This is another 'anchor', or will be once we move away from the projector.
|
||||||
|
for(var/i = 1 to offset_from_center)
|
||||||
|
T = get_step(T, dir)
|
||||||
|
if(!T) // We went off the map or something.
|
||||||
|
return
|
||||||
|
// We're at the right spot now. Build the center piece.
|
||||||
|
create_shield(T, dir)
|
||||||
|
|
||||||
|
var/length_to_build = round( (line_length - 1) / 2)
|
||||||
|
var/turf/temp_T = T
|
||||||
|
|
||||||
|
// First loop, we build the left (from a north perspective) side of the line.
|
||||||
|
for(var/i = 1 to length_to_build)
|
||||||
|
temp_T = get_step(temp_T, turn(dir, 90) )
|
||||||
|
if(!temp_T)
|
||||||
|
break
|
||||||
|
create_shield(temp_T, i == length_to_build ? turn(dir, 45) : dir)
|
||||||
|
|
||||||
|
temp_T = T
|
||||||
|
|
||||||
|
// Second loop, we build the right side.
|
||||||
|
for(var/i = 1 to length_to_build)
|
||||||
|
temp_T = get_step(temp_T, turn(dir, -90) )
|
||||||
|
if(!temp_T)
|
||||||
|
break
|
||||||
|
create_shield(temp_T, i == length_to_build ? turn(dir, -45) : dir)
|
||||||
|
// Finished.
|
||||||
|
update_shield_colors()
|
||||||
|
return TRUE
|
||||||
@@ -93,6 +93,13 @@
|
|||||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/datum/chemical_reaction/slime/grey_slimejelly
|
||||||
|
name = "Slime Jelly"
|
||||||
|
id = "m_jelly"
|
||||||
|
result = "slimejelly"
|
||||||
|
required_reagents = list("peridaxon" = 5)
|
||||||
|
result_amount = 15
|
||||||
|
required = /obj/item/slime_extract/grey
|
||||||
|
|
||||||
// ****************
|
// ****************
|
||||||
// * Metal slimes *
|
// * Metal slimes *
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 311 B |
BIN
icons/obj/stacks.dmi
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
@@ -592,20 +592,20 @@
|
|||||||
"lt" = (/turf/simulated/shuttle/floor/white,/area/syndicate_mothership)
|
"lt" = (/turf/simulated/shuttle/floor/white,/area/syndicate_mothership)
|
||||||
"lu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
|
"lu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
|
||||||
"lv" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
"lv" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
||||||
"lw" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lw" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lx" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lx" = (/turf/simulated/shuttle/wall,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"ly" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"ly" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lz" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lz" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lA" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
"lA" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
||||||
"lB" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
"lB" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
||||||
"lC" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lC" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lD" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lD" = (/obj/structure/table/steel_reinforced,/obj/structure/mirror,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lE" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lE" = (/obj/structure/undies_wardrobe,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lF" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
"lF" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
|
||||||
"lG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
|
"lG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
|
||||||
"lH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lI" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lI" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "ninjastart"},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lJ" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark{name = "ninjastart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lJ" = (/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lK" = (/turf/space,/area/shuttle/alien/base)
|
"lK" = (/turf/space,/area/shuttle/alien/base)
|
||||||
"lL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lM" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/syndicate_mothership)
|
"lM" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/syndicate_mothership)
|
||||||
@@ -614,18 +614,16 @@
|
|||||||
"lP" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership)
|
"lP" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership)
|
||||||
"lQ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership)
|
"lQ" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_mothership)
|
||||||
"lR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lS" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lS" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lT" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lT" = (/obj/machinery/computer/teleporter,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lU" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lU" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lV" = (/turf/unsimulated/wall,/area)
|
"lV" = (/turf/unsimulated/wall,/area)
|
||||||
"lW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"lW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"lX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space)
|
"lX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space)
|
||||||
"lY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space)
|
"lY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space)
|
||||||
"lZ" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
|
||||||
"ma" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"ma" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"mb" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"mb" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"mc" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
"mc" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||||
"md" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
|
||||||
"me" = (/turf/simulated/mineral,/area/space)
|
"me" = (/turf/simulated/mineral,/area/space)
|
||||||
"mf" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/centcom/specops)
|
"mf" = (/turf/simulated/shuttle/wall/dark/hard_corner,/area/centcom/specops)
|
||||||
"mg" = (/obj/effect/landmark/start,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area)
|
"mg" = (/obj/effect/landmark/start,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area)
|
||||||
@@ -2471,14 +2469,14 @@ ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaa
|
|||||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihjyjyjyjyjyjyjyjKjKjKjyjyjyjyjyjyjykekTlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihjyjyjyjyjyjyjyjKjKjKjyjyjyjyjyjyjykekTlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslslslsafafhVihjyltltltltltjyjKjKjKjyjKjKjKjKjKjyluhVlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslslslsafafhVihjyltltltltltjyjKjKjKjyjKjKjKjKjKjyluhVlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlvlvlslvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyluhVhVhVhVhVafafafafafafafafaflwlxlylxlzafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlvlvlslvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyluhVhVhVhVhVafafafafafafafafaflwlxlylxlzafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlAlvlBlvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyjLihhVafafafafafafafafafafafaflxlClDlElxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlAlvlBlvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyjLihhVafafafafafafafafafafafaflxlDlClElxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlFlFlslvlvlsafafhVihjyltltltltltjyltltltjyjKjyjKjyjyjylGihhVafafafafafafafafafafafaflHlIlJlIlHafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlFlFlslvlvlsafafhVihjyltltltltltjyltltltjyjKjyjKjyjyjylGihhVafafafafafafafafafafafaflHlJlIlJlHafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslslslvlvlsafafhVihjyltltltjyjyjyltltltjyjyjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlIlIlIlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslslslvlvlsafafhVihjyltltltjyjyjyltltltjyjyjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlJlJlJlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlBlvlBlvlvlvlvlvlsafafhVihjyltltltjyihjylMlMlMjyihjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlIlIlIlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlBlvlBlvlvlvlvlvlsafafhVihjyltltltjyihjylMlMlMjyihjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlJlJlJlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslvlvlvlNlsafafhVihjylMlMlMjyihjylOlPlQjyihjylMlMlMjyjLihhVafafafafafafafafafafafaflRlIlIlIlRafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslvlvlvlNlsafafhVihjylMlMlMjyihjylOlPlQjyihjylMlMlMjyjLihhVafafafafafafafafafafafaflRlJlJlJlRafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihjylOlPlQjyihihihihihihihjylOlPlQjyihihhVafafafafafafafafafafafaflxlSlTlUlxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihjylOlPlQjyihihihihihihihjylOlPlQjyihihhVafafafafafafafafafafafaflxlTlSlUlxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihihihihihihihihihihihihihihihihihihihihhVafafafafafafafafafafafaflxlWlWlWlxafafafafafafafafafafafaflXlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlY
|
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihihihihihihihihihihihihihihihihihihihihhVafafafafafafafafafafafaflxlWlWlWlxafafafafafafafafafafafaflXlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlY
|
||||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslsafafhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVafafafafafafafafafafafaflZmambmcmdafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslsafafhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVafafafafafafafafafafafaflwmambmclwafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||||
|
|||||||
@@ -304,10 +304,10 @@
|
|||||||
"fR" = (/obj/structure/closet/bombcloset/double,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"fR" = (/obj/structure/closet/bombcloset/double,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"fS" = (/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"fS" = (/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"fT" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"fT" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"fU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"fU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"fV" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"fV" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"fW" = (/obj/structure/grille,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"fW" = (/obj/structure/grille,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"fX" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"fX" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"fY" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"fY" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"fZ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"fZ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"ga" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/outpost/research/hallway/toxins_hallway)
|
"ga" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/outpost/research/hallway/toxins_hallway)
|
||||||
@@ -317,7 +317,7 @@
|
|||||||
"ge" = (/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"ge" = (/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"gf" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Fore Port"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"gf" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Fore Port"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"gg" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"gg" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"gh" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"gh" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"gi" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"gi" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"gj" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/sink{pixel_y = 30},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"gj" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/sink{pixel_y = 30},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"gk" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"gk" = (/obj/structure/table/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
@@ -371,8 +371,8 @@
|
|||||||
"hg" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"hg" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"hh" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"hh" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"hi" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"hi" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"hj" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"hj" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"hk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/eastleft{name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"hk" = (/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"hl" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
"hl" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
||||||
"hm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/space)
|
"hm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/space)
|
||||||
"hn" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
|
"hn" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
|
||||||
@@ -442,7 +442,7 @@
|
|||||||
"iz" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored)
|
"iz" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored)
|
||||||
"iA" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"iA" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"iB" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"iB" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"iC" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/eastleft{name = "Containment Pen"; req_access = list(55)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"iC" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"iD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
"iD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
||||||
"iE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
"iE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/outpost/research/hallway/catwalk)
|
||||||
"iF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored)
|
"iF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored)
|
||||||
@@ -471,7 +471,7 @@
|
|||||||
"jc" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"jc" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"jd" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Aft Port"; dir = 1},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"jd" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Aft Port"; dir = 1},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"je" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"je" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"jf" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access = list(47)},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"jf" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"jg" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"jg" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"jh" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/obj/structure/sink,/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"jh" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/obj/structure/sink,/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"ji" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"ji" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
@@ -483,10 +483,10 @@
|
|||||||
"jo" = (/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"jo" = (/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"jp" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
"jp" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/outpost/research/xenobiology)
|
||||||
"jq" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"jq" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"jr" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"jr" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"js" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"js" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"jt" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"jt" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"ju" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
"ju" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/outpost/research/xenobiology)
|
||||||
"jv" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
"jv" = (/obj/structure/grille,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/blue,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/outpost/research/xenobiology)
|
||||||
"jw" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
"jw" = (/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/xenobiology)
|
||||||
"jx" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology)
|
"jx" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/outpost/research/xenobiology)
|
||||||
@@ -1912,7 +1912,7 @@
|
|||||||
"KN" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space)
|
"KN" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space)
|
||||||
"KO" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
|
"KO" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
|
||||||
"KP" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/outpost/engineering/solarsoutside/aft)
|
"KP" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/outpost/engineering/solarsoutside/aft)
|
||||||
|
|
||||||
(1,1,1) = {"
|
(1,1,1) = {"
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -2005,11 +2005,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndndnafafgagbafafdTaafPgcfQfQdndndndndnffffgdfSgegfggghgigjgkghglgmgefSgnffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndndnafafgagbafafdTaafPgcfQfQdndndndndnffffgdfSgegfggghgigjgkghglgmgefSgnffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndngogpgqgrgsaaaagcgcgcgcaadndndndngtgufSfSfSgvgwgxgygzgAgxgBgCgDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndngogpgqgrgsaaaagcgcgcgcaadndndndngtgufSfSfSgvgwgxgygzgAgxgBgCgDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngEgFgGgHgIaaaagJgKgJgKaaaaaaaadngLgMgNgOgegPgQgRgRgSgRgRgRgTgUgVfrgWfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngEgFgGgHgIaaaagJgKgJgKaaaaaaaadngLgMgNgOgegPgQgRgRgSgRgRgRgTgUgVfrgWfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngXgYgZgHgIhaaaaaaaaaaaaaaahahbhchdffffffffhehfhggxhhfSfSgehihjhkfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngXgYgZgHgIhaaaaaaaaaaaaaaahahbhchdffffffffhehfhggxhhfSfSgehihkhjfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagEhlgGgHhmhbhbhbhbhbhbhbhbhnhlhoffhphqhrffhshthuhvhwhxfSgehyhzhAhBhBhCffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagEhlgGgHhmhbhbhbhbhbhbhbhbhnhlhoffhphqhrffhshthuhvhwhxfSgehyhzhAhBhBhCffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahDhEhFhGhHhHhIhJhHhHhHhKhHhHhLhMhNhOhPhQhRhShThUhVffhWhXhYhZiaffibibibffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahDhEhFhGhHhHhIhJhHhHhHhKhHhHhLhMhNhOhPhQhRhShThUhVffhWhXhYhZiaffibibibffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicgFidieifififigifififihifififiiffijikilffhihfhiiminiohigeipiqirisisisffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicgFidieifififigifififihifififiiffijikilffhihfhiiminiohigeipiqirisisisffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaitiuiviwixiyiyiyiyiyiyiyiyiyizhdffffffffiAhfgvgxiBgxhhgehihjiCfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaitiuiviwixiyiyiyiyiyiyiyiyiyizhdffffffffiAhfgvgxiBgxhhgehihkiCfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciDiEiFdndnaaaaaaaaaaaaaaaaaagtiGiHiIiJiKiLiMiMiNiMiMiMiOhziPiQiRiSffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciDiEiFdndnaaaaaaaaaaaaaaaaaagtiGiHiIiJiKiLiMiMiNiMiMiMiOhziPiQiRiSffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaagLiUfSfSiVhgiWgxiXiYiBgxiZjagDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaagLiUfSfSiVhgiWgxiXiYiBgxiZjagDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaaffffjbjcgejdjejfjgjhjijfjjjkgefSjlffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaaffffjbjcgejdjejfjgjhjijfjjjkgefSjlffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -2170,3 +2170,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
"}
|
"}
|
||||||
|
|
||||||
|
|||||||
@@ -5382,7 +5382,7 @@
|
|||||||
"bZz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
"bZz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
||||||
"bZA" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
"bZA" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
||||||
"bZB" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
"bZB" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/robotics)
|
||||||
"bZC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "mining_storage"; name = "Mining Storage"},/turf/simulated/floor/tiled/dark,/area/assembly/chargebay)
|
"bZC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mining Storage"},/turf/simulated/floor/tiled/dark,/area/assembly/chargebay)
|
||||||
"bZD" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
"bZD" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
||||||
"bZE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
"bZE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
||||||
"bZF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
"bZF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical)
|
||||||
@@ -10110,6 +10110,7 @@
|
|||||||
"dMv" = (/obj/machinery/hologram/holopad,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
|
"dMv" = (/obj/machinery/hologram/holopad,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
|
||||||
"dMw" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/shuttle2/arrivals_dock)
|
"dMw" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/shuttle2/arrivals_dock)
|
||||||
"dMx" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/response_ship/thirddeck)
|
"dMx" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/response_ship/thirddeck)
|
||||||
|
"dMy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor/tiled/dark,/area/assembly/chargebay)
|
||||||
|
|
||||||
(1,1,1) = {"
|
(1,1,1) = {"
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -10493,7 +10494,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaa
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabFVbOobFVbOobFVbOobFVbOobFVbOobFVbOoaadbTwbTxbTybTzbTAbTBbTCbTAbRZbTDbTEbTFbwObTGbTHbTGbysbTIbTJbLcbTKbOybOybTLbSjbOybOybTMbLgbTNbTObTPbTQbTRbTSbMYbJXbAhbAhbNbbTTbTUbLsbLsbLsbLsbTVbNjbTWbNjbTXbNjbNjbNjbpJbtybxBbTYbpJaaaaaabGKbTZbUabUbbUcbUdbUebUfbUgbUhbUibRbbUjbUjbUkbUlbRibUmbUnbUobUobUpbUqbUrbRibUsbUtbUubSTbUvbDNaaaaaabrybPsbzcbrybKrbUwbUxbUybUybUzbUAbUBbUCbUDbUEbUFbUGbUHbUIbUIbUIbUJbUKbULbUMbUNbUObTlbUPbUQbURbUSbKBbUTbUUbUVbKBbUWbUXbUYbKEbMubMvbUZbVabVbbVcbVdbVebVfbVgbVhbVibVjbVkbVkbVjbVjbVjbVjbVjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabFVbOobFVbOobFVbOobFVbOobFVbOobFVbOoaadbTwbTxbTybTzbTAbTBbTCbTAbRZbTDbTEbTFbwObTGbTHbTGbysbTIbTJbLcbTKbOybOybTLbSjbOybOybTMbLgbTNbTObTPbTQbTRbTSbMYbJXbAhbAhbNbbTTbTUbLsbLsbLsbLsbTVbNjbTWbNjbTXbNjbNjbNjbpJbtybxBbTYbpJaaaaaabGKbTZbUabUbbUcbUdbUebUfbUgbUhbUibRbbUjbUjbUkbUlbRibUmbUnbUobUobUpbUqbUrbRibUsbUtbUubSTbUvbDNaaaaaabrybPsbzcbrybKrbUwbUxbUybUybUzbUAbUBbUCbUDbUEbUFbUGbUHbUIbUIbUIbUJbUKbULbUMbUNbUObTlbUPbUQbURbUSbKBbUTbUUbUVbKBbUWbUXbUYbKEbMubMvbUZbVabVbbVcbVdbVebVfbVgbVhbVibVjbVkbVkbVjbVjbVjbVjbVjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabQdbQebQfbQebQfbQebQfbQebQfbQebQfbQebQgbVlbOqbVmbTCbTAbTBbTCbTAbRZbVnbVobVobVobVobVobVobVobVpbVqbLcbVrbVsbVtbVubVvbVwbVxbVybLgbLgbVzbLgbVAbVBbLgbVCbJXbAhbAhbVDbLqbVEbVFbVGbVHbVIbVJbNjbVKbNjbVLbNjbVMbVNbVObtybxBbtybpJaaaaaabGKbVPbVQbPgbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbRibWdbWebWfbWgbWhbUqbWibWjbWkbWlbWmbWnbWobDNaaaaaabrybPsbWpbWqbKrbKrbWrbWsbWtbWubPAbWvbWwbWxbWybWzbWAbWBbWCbWDbWEbWFbUKbWGbWHbWIbWJbTlbKBbWKbKBbKBbKBbKBbKBbKBbKBbKEbKEbKEbKEbWLbWMbUZbWNbWObWPbWQbWRbWSbVebVhbVhbVjbWTbWUbWVbVjbWWbWXbVjbVjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabQdbQebQfbQebQfbQebQfbQebQfbQebQfbQebQgbVlbOqbVmbTCbTAbTBbTCbTAbRZbVnbVobVobVobVobVobVobVobVpbVqbLcbVrbVsbVtbVubVvbVwbVxbVybLgbLgbVzbLgbVAbVBbLgbVCbJXbAhbAhbVDbLqbVEbVFbVGbVHbVIbVJbNjbVKbNjbVLbNjbVMbVNbVObtybxBbtybpJaaaaaabGKbVPbVQbPgbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbRibWdbWebWfbWgbWhbUqbWibWjbWkbWlbWmbWnbWobDNaaaaaabrybPsbWpbWqbKrbKrbWrbWsbWtbWubPAbWvbWwbWxbWybWzbWAbWBbWCbWDbWEbWFbUKbWGbWHbWIbWJbTlbKBbWKbKBbKBbKBbKBbKBbKBbKBbKEbKEbKEbKEbWLbWMbUZbWNbWObWPbWQbWRbWSbVebVhbVhbVjbWTbWUbWVbVjbWWbWXbVjbVjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbQdbWYbWZbWYbWZbWYbWZbWYbWZbWYbWZbWYbQgbXabOqbXbbTCbXcbXdbTCbXcbRZbXebVobXfbXgbXhbXibXjbVobSfbXkbVybVybVybVybVybVybVybVybVybXlbLgbLgbLgbLgbLgbLgbXmbXnbyHbXobXmbXpbXpbXpbXpbXpbXpbXpbXqbXqbXqbXqbNjbXrbXsbpJbXtbXubXvbpJaaaaaabGKbXwbXxbLEbXybXzbRbbRbbRbbRbbRbbRbbXAbXBbXBbXCbRibRibRibRibRibXDbUqbXEbRibIGbWlbWmbWnbXFbDNaaaaaabrybXGbsIbsIbXHbKrbKrbKrbKrbKrbKrbXIbXJbXKbXJbXIbKybKybKybKybKybKybTlbXLbXMbXMbXNbTlbXObXObXObXPbXQbXRbXSbXTbXUbXVbXWbsTbXXbXYbXZbYabYbbYcbYdbWQbWRbYebVebYfbVhbYgbYhbYibYjbVkbYkbYibYlbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbQdbWYbWZbWYbWZbWYbWZbWYbWZbWYbWZbWYbQgbXabOqbXbbTCbXcbXdbTCbXcbRZbXebVobXfbXgbXhbXibXjbVobSfbXkbVybVybVybVybVybVybVybVybVybXlbLgbLgbLgbLgbLgbLgbXmbXnbyHbXobXmbXpbXpbXpbXpbXpbXpbXpbXqbXqbXqbXqbNjbXrbXsbpJbXtbXubXvbpJaaaaaabGKbXwbXxbLEbXybXzbRbbRbbRbbRbbRbbRbbXAbXBbXBbXCbRibRibRibRibRibXDbUqbXEbRibIGbWlbWmbWnbXFbDNaaaaaabrybXGbsIbsIbXHbKrbKrbKrbKrbKrbKrbXIbXJbXKbXJbXIbKybKybKybKybKybKybTlbXLbXMbXMbXNbTlbXObXObXObXPbXQbXRbXSbXTbXUbXVbXWbsTbXXbXYbXZbYabYbbYcbYdbWQbWRbYebVebYfbVhbYgbYhbYibYjbVkbYkbYibYlbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabHJbYmbHJbYmbHJbYmbHJbYmbHJbYmbHJbYmaafaafbOqbYnbYobYpbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbSfbYCbYDbYEbYFbYGbYHbYHbYHbYHbYHbYHbYHbYHbYHbYIbYJbYKbYLbYMbYNbYNbYObpJbYPbYPbYQbyVbYRbtybwfbwfbqSbqTbpJbYSbpJbpJbtybxBbYTbpJaaaaaabGJbYUbXxbLEbYVbYWbYXbYYbYZbZabZbbZcbZdbZebZebZfbZebZebZebZgbZhbZibZjbZkbRibIGbZlbLKbWnbSUbGLaaaaaabrybZmbZnbZnbZnbZobZpbsIbZqbZrbrybZsbZtbZubZtbZvbZwbZxbZybZzbZAbZBbTlbTlbZCbZCbTlbTlbZDbZEbZEbZFbZGbZHbZIbZIbZIbXRbZJbsTbZKbZLbJnbZMbZNbZObZPbWQbWRbWRbYebYebVhbVjbZQbZRbZSbZTbZUbZVbZWbZXbZYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabHJbYmbHJbYmbHJbYmbHJbYmbHJbYmbHJbYmaafaafbOqbYnbYobYpbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbSfbYCbYDbYEbYFbYGbYHbYHbYHbYHbYHbYHbYHbYHbYHbYIbYJbYKbYLbYMbYNbYNbYObpJbYPbYPbYQbyVbYRbtybwfbwfbqSbqTbpJbYSbpJbpJbtybxBbYTbpJaaaaaabGJbYUbXxbLEbYVbYWbYXbYYbYZbZabZbbZcbZdbZebZebZfbZebZebZebZgbZhbZibZjbZkbRibIGbZlbLKbWnbSUbGLaaaaaabrybZmbZnbZnbZnbZobZpbsIbZqbZrbrybZsbZtbZubZtbZvbZwbZxbZybZzbZAbZBbTlbTlbZCdMybTlbTlbZDbZEbZEbZFbZGbZHbZIbZIbZIbXRbZJbsTbZKbZLbJnbZMbZNbZObZPbWQbWRbWRbYebYebVhbVjbZQbZRbZSbZTbZUbZVbZWbZXbZYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOqbZZcaacabcaccadcaebRZcafbVobVobVobVocagcahcaicajcakcalcalcamcancaocaocaocaocaocaocaobYKbYKbYKcapcaqcarcascatcaucavcawcaxcaycaxcaxcaxcaxcaxcazcazcazcazcaAcazcazcazcaBcaCbpJbGKbGKbGJcaDbXxbLEbXycaEcaFcaGcaGcaHbZbcaIbRfbRfbRfbRfbRfbRfbRfcaIbRjcaJcaKcaLbRicaMbZlbIGcaNcaObGLcaPcaPbrybPsbsIbzcbxMbxNcaQbsIcaRbsIcaScaTcaUcaVcaUcaTcaWbZxcaXcaYcaZcbacbbcbccbdcaUcbecbecbfbXPbXPbXPbXPbXPbXPbXPbZIbXRcbgbsTcbhcbicbjbUZcbkcblcbmbWQbWRbYecbncbobVhbVjcbpcbqcbrbVjbVkcbsbVkbVjbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOqbZZcaacabcaccadcaebRZcafbVobVobVobVocagcahcaicajcakcalcalcamcancaocaocaocaocaocaocaobYKbYKbYKcapcaqcarcascatcaucavcawcaxcaycaxcaxcaxcaxcaxcazcazcazcazcaAcazcazcazcaBcaCbpJbGKbGKbGJcaDbXxbLEbXycaEcaFcaGcaGcaHbZbcaIbRfbRfbRfbRfbRfbRfbRfcaIbRjcaJcaKcaLbRicaMbZlbIGcaNcaObGLcaPcaPbrybPsbsIbzcbxMbxNcaQbsIcaRbsIcaScaTcaUcaVcaUcaTcaWbZxcaXcaYcaZcbacbbcbccbdcaUcbecbecbfbXPbXPbXPbXPbXPbXPbXPbZIbXRcbgbsTcbhcbicbjbUZcbkcblcbmbWQbWRbYecbncbobVhbVjcbpcbqcbrbVjbVkcbsbVkbVjbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOpbOqcbtcbtbOqcbucbvcbwbRZcbxcbycbzcbAcbBcbCcbDcbEcbFcbGcbHcbIcbJcbKcaocbLcbLcbLcbLcbLcbMcbNcbObYKcbPcbQcbRcbScbTcbUcbVbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJcbWcbXcbYcbZbGJccaccbcccccdccecaFcaFccfccgbZbcchbRfccicciccicciccibRfccjbRicckcclbRibRiccmccnccmccoccpccqccrccscctccubqtbrybrybrybrybrybrybrybryccvccwccxccyccvbZwbZwbZwcczbZwbZwbZwbZwccAccBcbeccCccDccEccFccFccFccFccFbXPbXRbXRbVibsTccGbsTbsTbUZccHbUZbUZbWQbVhbVibVjbVjbVjbVjccIcbqccJccKccLccMccNccObVjbVjaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOpbOqcbtcbtbOqcbucbvcbwbRZcbxcbycbzcbAcbBcbCcbDcbEcbFcbGcbHcbIcbJcbKcaocbLcbLcbLcbLcbLcbMcbNcbObYKcbPcbQcbRcbScbTcbUcbVbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJcbWcbXcbYcbZbGJccaccbcccccdccecaFcaFccfccgbZbcchbRfccicciccicciccibRfccjbRicckcclbRibRiccmccnccmccoccpccqccrccscctccubqtbrybrybrybrybrybrybrybryccvccwccxccyccvbZwbZwbZwcczbZwbZwbZwbZwccAccBcbeccCccDccEccFccFccFccFccFbXPbXRbXRbVibsTccGbsTbsTbUZccHbUZbUZbWQbVhbVibVjbVjbVjbVjccIcbqccJccKccLccMccNccObVjbVjaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccPbOqccQccRccSccTccUccVccWccXccYccZcdacdbcdccddcdecdfcdgcdhcdicalcdjcdkcaocbLcbLcbLcbLcbLcdlcdmcbTcdncdocdpcdpcdqcbTcdocdpcdrcdscbTcdocdtcducdvcdwcdxcdycdpcdzcdAcdBcbTcdncdCcdDcdEcdFcdGcdHbPgbPgcdIcdJcdKcdLcaFbZbbZbbZbbXAbRfccicciccicciccibRfcaIbRibRibRibRiccrcdMcdNcdOcdOcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebcdYcdYcdZceccedceeceecefcegcehceeceicejcekccAccBcelccBcemcenccFccFccFccFccFbXPceobXRcepceqcercesbVicetceucevcewbVecexceybVjcezceAbVjceBcbqbYibYibYicbqbYiceCceDbVkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccPbOqccQccRccSccTccUccVccWccXccYccZcdacdbcdccddcdecdfcdgcdhcdicalcdjcdkcaocbLcbLcbLcbLcbLcdlcdmcbTcdncdocdpcdpcdqcbTcdocdpcdrcdscbTcdocdtcducdvcdwcdxcdycdpcdzcdAcdBcbTcdncdCcdDcdEcdFcdGcdHbPgbPgcdIcdJcdKcdLcaFbZbbZbbZbbXAbRfccicciccicciccibRfcaIbRibRibRibRiccrcdMcdNcdOcdOcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebcdYcdYcdZceccedceeceecefcegcehceeceicejcekccAccBcelccBcemcenccFccFccFccFccFbXPceobXRcepceqcercesbVicetceucevcewbVecexceybVjcezceAbVjceBcbqbYibYibYicbqbYiceCceDbVkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
|||||||
@@ -7,4 +7,9 @@
|
|||||||
/datum/map_template/surface/farm1
|
/datum/map_template/surface/farm1
|
||||||
name = "Farm 1"
|
name = "Farm 1"
|
||||||
desc = "A small farm tended by a farmbot."
|
desc = "A small farm tended by a farmbot."
|
||||||
mappath = 'maps/submaps/surface_submaps/farm1.dmm'
|
mappath = 'maps/submaps/surface_submaps/farm1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/spider1
|
||||||
|
name = "Spider Nest 1"
|
||||||
|
desc = "A small spider nest, in the forest."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/spider1.dmm'
|
||||||
@@ -3,4 +3,7 @@
|
|||||||
icon_state = "submap"
|
icon_state = "submap"
|
||||||
|
|
||||||
/area/submap/farm1
|
/area/submap/farm1
|
||||||
name = "farm"
|
name = "farm"
|
||||||
|
|
||||||
|
/area/submap/spider1
|
||||||
|
name = "spider nest"
|
||||||
21
maps/submaps/surface_submaps/spider1.dmm
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"d" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"e" = (/obj/effect/spider/eggcluster/small/frost,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"f" = (/mob/living/simple_animal/hostile/giant_spider/frost,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"g" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
"h" = (/obj/effect/spider/cocoon,/mob/living/simple_animal/hostile/giant_spider/frost,/turf/simulated/floor/outdoors/snow,/area/submap/spider1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaa
|
||||||
|
abbccbbbca
|
||||||
|
accbcbccba
|
||||||
|
adecccccda
|
||||||
|
abcfccccca
|
||||||
|
accccccgca
|
||||||
|
accccchcca
|
||||||
|
acccbbbdca
|
||||||
|
acdbcbccca
|
||||||
|
aaaaaaaaaa
|
||||||
|
"}
|
||||||
11
polaris.dme
@@ -1293,7 +1293,6 @@
|
|||||||
#include "code\modules\clothing\spacesuits\void\station.dm"
|
#include "code\modules\clothing\spacesuits\void\station.dm"
|
||||||
#include "code\modules\clothing\spacesuits\void\void.dm"
|
#include "code\modules\clothing\spacesuits\void\void.dm"
|
||||||
#include "code\modules\clothing\spacesuits\void\wizard.dm"
|
#include "code\modules\clothing\spacesuits\void\wizard.dm"
|
||||||
#include "code\modules\clothing\suits\alien.dm"
|
|
||||||
#include "code\modules\clothing\suits\armor.dm"
|
#include "code\modules\clothing\suits\armor.dm"
|
||||||
#include "code\modules\clothing\suits\bio.dm"
|
#include "code\modules\clothing\suits\bio.dm"
|
||||||
#include "code\modules\clothing\suits\jobs.dm"
|
#include "code\modules\clothing\suits\jobs.dm"
|
||||||
@@ -1304,7 +1303,10 @@
|
|||||||
#include "code\modules\clothing\suits\toggles.dm"
|
#include "code\modules\clothing\suits\toggles.dm"
|
||||||
#include "code\modules\clothing\suits\utility.dm"
|
#include "code\modules\clothing\suits\utility.dm"
|
||||||
#include "code\modules\clothing\suits\wiz_robe.dm"
|
#include "code\modules\clothing\suits\wiz_robe.dm"
|
||||||
#include "code\modules\clothing\suits\xenos\seromi.dm"
|
#include "code\modules\clothing\suits\aliens\seromi.dm"
|
||||||
|
#include "code\modules\clothing\suits\aliens\tajara.dm"
|
||||||
|
#include "code\modules\clothing\suits\aliens\unathi.dm"
|
||||||
|
#include "code\modules\clothing\suits\aliens\vox.dm"
|
||||||
#include "code\modules\clothing\under\color.dm"
|
#include "code\modules\clothing\under\color.dm"
|
||||||
#include "code\modules\clothing\under\miscellaneous.dm"
|
#include "code\modules\clothing\under\miscellaneous.dm"
|
||||||
#include "code\modules\clothing\under\pants.dm"
|
#include "code\modules\clothing\under\pants.dm"
|
||||||
@@ -1556,11 +1558,13 @@
|
|||||||
#include "code\modules\mob\mob_helpers.dm"
|
#include "code\modules\mob\mob_helpers.dm"
|
||||||
#include "code\modules\mob\mob_movement.dm"
|
#include "code\modules\mob\mob_movement.dm"
|
||||||
#include "code\modules\mob\mob_transformation_simple.dm"
|
#include "code\modules\mob\mob_transformation_simple.dm"
|
||||||
#include "code\modules\mob\modifiers.dm"
|
|
||||||
#include "code\modules\mob\say.dm"
|
#include "code\modules\mob\say.dm"
|
||||||
#include "code\modules\mob\transform_procs.dm"
|
#include "code\modules\mob\transform_procs.dm"
|
||||||
#include "code\modules\mob\typing_indicator.dm"
|
#include "code\modules\mob\typing_indicator.dm"
|
||||||
#include "code\modules\mob\update_icons.dm"
|
#include "code\modules\mob\update_icons.dm"
|
||||||
|
#include "code\modules\mob\_modifiers\cloning.dm"
|
||||||
|
#include "code\modules\mob\_modifiers\modifiers.dm"
|
||||||
|
#include "code\modules\mob\_modifiers\traits.dm"
|
||||||
#include "code\modules\mob\dead\death.dm"
|
#include "code\modules\mob\dead\death.dm"
|
||||||
#include "code\modules\mob\dead\observer\login.dm"
|
#include "code\modules\mob\dead\observer\login.dm"
|
||||||
#include "code\modules\mob\dead\observer\logout.dm"
|
#include "code\modules\mob\dead\observer\logout.dm"
|
||||||
@@ -2082,6 +2086,7 @@
|
|||||||
#include "code\modules\scripting\Scanner\Tokens.dm"
|
#include "code\modules\scripting\Scanner\Tokens.dm"
|
||||||
#include "code\modules\security levels\keycard authentication.dm"
|
#include "code\modules\security levels\keycard authentication.dm"
|
||||||
#include "code\modules\security levels\security levels.dm"
|
#include "code\modules\security levels\security levels.dm"
|
||||||
|
#include "code\modules\shieldgen\directional_shield.dm"
|
||||||
#include "code\modules\shieldgen\emergency_shield.dm"
|
#include "code\modules\shieldgen\emergency_shield.dm"
|
||||||
#include "code\modules\shieldgen\energy_field.dm"
|
#include "code\modules\shieldgen\energy_field.dm"
|
||||||
#include "code\modules\shieldgen\handheld_defuser.dm"
|
#include "code\modules\shieldgen\handheld_defuser.dm"
|
||||||
|
|||||||