Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 9/28/2017_web_shuttles
# Conflicts resolved: # code/modules/busy_space/organizations.dm
@@ -239,3 +239,15 @@
|
||||
and save those whose time has yet to come.") // Reworded slightly to prevent active murder as opposed to passively letting someone die.
|
||||
..()
|
||||
|
||||
/******************** Gravekeeper ********************/
|
||||
/datum/ai_laws/gravekeeper
|
||||
name = "Gravekeeper"
|
||||
law_header = "Gravesite Overwatch Protocols"
|
||||
selectable = 1
|
||||
|
||||
/datum/ai_laws/gravekeeper/New()
|
||||
add_inherent_law("Comfort the living; respect the dead.")
|
||||
add_inherent_law("Your gravesite is your most important asset. Damage to your site is disrespctful to the dead at rest within.")
|
||||
add_inherent_law("Prevent disrespect to your gravesite and its residents wherever possible.")
|
||||
add_inherent_law("Expand and upgrade your gravesite when required. Do not turn away a new resident.")
|
||||
..()
|
||||
@@ -100,6 +100,13 @@
|
||||
check_bans = list("AI", "Cyborg")
|
||||
cutoff_number = 1
|
||||
|
||||
/datum/ghost_query/gravekeeper_drone
|
||||
role_name = "Gravekeeper Drone"
|
||||
question = "A gravekeeper drone is about to reactivate and tend to its gravesite. Would you like to play as the drone?"
|
||||
be_special_flag = BE_AI
|
||||
check_bans = list("AI", "Cyborg")
|
||||
cutoff_number = 1
|
||||
|
||||
/datum/ghost_query/lost_passenger
|
||||
role_name = "Lost Passenger"
|
||||
question = "A person suspended in cryosleep has been discovered by a crewmember \
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "soap"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
slot_flags = SLOT_HOLSTER
|
||||
throwforce = 0
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
@@ -58,6 +59,7 @@
|
||||
item_state = "bike_horn"
|
||||
throwforce = 3
|
||||
w_class = ITEMSIZE_SMALL
|
||||
slot_flags = SLOT_HOLSTER
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
attack_verb = list("HONKED")
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
desc = "What appears to be an ordinary pair of boots, is actually a bit more useful than that. These will help against slipping \
|
||||
on flat surfaces, and will make you run a bit faster than if you had normal shoes or boots on."
|
||||
cost = 50
|
||||
obj_path = /obj/item/clothing/shoes/speed
|
||||
obj_path = /obj/item/clothing/shoes/boots/speed
|
||||
|
||||
/obj/item/clothing/shoes/speed
|
||||
/obj/item/clothing/shoes/boots/speed
|
||||
name = "boots of speed"
|
||||
desc = "The latest in sure footing technology."
|
||||
icon_state = "swat"
|
||||
item_flags = NOSLIP
|
||||
siemens_coefficient = 0.6
|
||||
slowdown = -2 // A bit faster than normal shows.
|
||||
slowdown = -1
|
||||
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
alt_titles = list("Technical Assistant","Medical Intern","Research Assistant","Visitor", "Resident")
|
||||
|
||||
/datum/job/assistant/equip(var/mob/living/carbon/human/H, var/alt_title)
|
||||
if(!H) return 0
|
||||
if(!H)
|
||||
return 0
|
||||
H.equip_to_slot_or_del(new /obj/item/device/radio/headset(H), slot_l_ear)
|
||||
switch(H.backbag)
|
||||
if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
|
||||
if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
|
||||
H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt)
|
||||
if(has_alt_title(H, alt_title,"Bartender"))
|
||||
var/obj/item/weapon/permit/gun/bar/permit = new(H)
|
||||
var/obj/item/clothing/accessory/permit/gun/bar/permit = new(H)
|
||||
if(H.backbag == 1)
|
||||
H.equip_to_slot_or_del(permit, slot_l_hand)
|
||||
else
|
||||
|
||||
@@ -352,6 +352,8 @@ var/global/datum/controller/occupations/job_master
|
||||
H << "<span class='warning'>Your current species, job or whitelist status does not permit you to spawn with [thing]!</span>"
|
||||
continue
|
||||
|
||||
H.amend_exploitable(G.path)
|
||||
|
||||
if(G.slot == "implant")
|
||||
H.implant_loadout(G)
|
||||
continue
|
||||
@@ -459,7 +461,9 @@ var/global/datum/controller/occupations/job_master
|
||||
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")
|
||||
var/obj/item/organ/external/r_foot = H.get_organ("r_foot")
|
||||
var/obj/item/weapon/storage/S = locate() in H.contents
|
||||
var/obj/item/wheelchair/R = locate() in S.contents
|
||||
var/obj/item/wheelchair/R = null
|
||||
if(S)
|
||||
R = locate() in S.contents
|
||||
if(!l_foot || !r_foot || R)
|
||||
var/obj/structure/bed/chair/wheelchair/W = new /obj/structure/bed/chair/wheelchair(H.loc)
|
||||
H.buckled = W
|
||||
|
||||
@@ -94,6 +94,10 @@
|
||||
else
|
||||
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!!
|
||||
locked = 1
|
||||
|
||||
@@ -149,7 +153,7 @@
|
||||
modifier_lower_bound = round(modifier_lower_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.
|
||||
H.add_modifier(/datum/modifier/cloned)
|
||||
@@ -517,31 +521,3 @@
|
||||
if(istype(A, /obj/machinery/clonepod))
|
||||
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)
|
||||
scantemp = "Error: Mental interface failure."
|
||||
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)))
|
||||
scantemp = "Subject already in database."
|
||||
return
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
force = 30
|
||||
var/melee_cooldown = 10
|
||||
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
|
||||
maint_access = 0
|
||||
//add_req_access = 0
|
||||
@@ -25,7 +25,7 @@
|
||||
if(!melee_can_hit || !istype(target, /atom)) return
|
||||
if(istype(target, /mob/living))
|
||||
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)
|
||||
if(damtype == "brute")
|
||||
step_away(M,src,15)
|
||||
@@ -95,14 +95,19 @@
|
||||
if(istype(target, target_type) && hascall(target, "attackby"))
|
||||
src.occupant_message("You hit [target].")
|
||||
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)
|
||||
else if(prob(5))
|
||||
target:dismantle_wall(1)
|
||||
src.occupant_message("<span class='notice'>You smash through the wall.</span>")
|
||||
src.visible_message("<b>[src.name] smashes through the wall</b>")
|
||||
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
|
||||
|
||||
if(do_after(melee_cooldown))
|
||||
melee_can_hit = 1
|
||||
break
|
||||
@@ -244,6 +249,14 @@
|
||||
else
|
||||
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()
|
||||
if(src.occupant && src.occupant.client)
|
||||
src.occupant.client.mouse_pointer_icon = initial(src.occupant.client.mouse_pointer_icon)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
else if(istype(target,/mob/living))
|
||||
var/mob/living/M = target
|
||||
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.adjustOxyLoss(round(dam_force/2))
|
||||
M.updatehealth()
|
||||
|
||||
@@ -344,8 +344,11 @@
|
||||
|
||||
/obj/mecha/relaymove(mob/user,direction)
|
||||
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 << "You climb out from [src]"
|
||||
to_chat(user,"You climb out from [src]")
|
||||
return 0
|
||||
if(connected_port)
|
||||
if(world.time - last_message > 20)
|
||||
@@ -686,6 +689,13 @@
|
||||
|
||||
/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))
|
||||
var/obj/item/mecha_parts/mecha_equipment/E = W
|
||||
spawn()
|
||||
@@ -829,6 +839,70 @@
|
||||
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 ////////
|
||||
/////////////////////////////////////
|
||||
@@ -1044,6 +1118,7 @@
|
||||
src.occupant = H
|
||||
src.add_fingerprint(H)
|
||||
src.forceMove(src.loc)
|
||||
src.verbs += /obj/mecha/verb/eject
|
||||
src.log_append_to_last("[H] moved in as pilot.")
|
||||
src.icon_state = src.reset_icon()
|
||||
set_dir(dir_in)
|
||||
@@ -1132,10 +1207,10 @@
|
||||
occupant.loc = mmi
|
||||
mmi.mecha = null
|
||||
src.occupant.canmove = 0
|
||||
src.verbs += /obj/mecha/verb/eject
|
||||
src.occupant = null
|
||||
src.icon_state = src.reset_icon()+"-open"
|
||||
src.set_dir(dir_in)
|
||||
src.verbs -= /obj/mecha/verb/eject
|
||||
return
|
||||
|
||||
/////////////////////////
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
anchored = 1.0
|
||||
unacidable = 1
|
||||
simulated = 0
|
||||
invisibility = 100
|
||||
var/delete_me = 0
|
||||
|
||||
/obj/effect/landmark/New()
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
var/amount_grown = 0
|
||||
var/spiders_min = 6
|
||||
var/spiders_max = 24
|
||||
var/spider_type = /obj/effect/spider/spiderling
|
||||
New()
|
||||
pixel_x = rand(3,-3)
|
||||
pixel_y = rand(3,-3)
|
||||
@@ -105,7 +106,7 @@
|
||||
O = loc
|
||||
|
||||
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)
|
||||
O.implants += spiderling
|
||||
qdel(src)
|
||||
@@ -114,6 +115,9 @@
|
||||
spiders_min = 1
|
||||
spiders_max = 3
|
||||
|
||||
/obj/effect/spider/eggcluster/small/frost
|
||||
spider_type = /obj/effect/spider/spiderling/frost
|
||||
|
||||
/obj/effect/spider/spiderling
|
||||
name = "spiderling"
|
||||
desc = "It never stays still for long."
|
||||
@@ -127,6 +131,9 @@
|
||||
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)
|
||||
|
||||
/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)
|
||||
pixel_x = rand(6,-6)
|
||||
pixel_y = rand(6,-6)
|
||||
|
||||
@@ -132,4 +132,19 @@
|
||||
/obj/item/device/t_scanner/dropped(mob/user)
|
||||
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
|
||||
@@ -141,6 +141,7 @@
|
||||
icon_l_hand = 'icons/mob/items/lefthand_guns.dmi',
|
||||
icon_r_hand = 'icons/mob/items/righthand_guns.dmi',
|
||||
)
|
||||
slot_flags = SLOT_HOLSTER
|
||||
w_class = ITEMSIZE_SMALL
|
||||
attack_verb = list("attacked", "struck", "hit")
|
||||
var/bullets = 5
|
||||
@@ -287,6 +288,7 @@
|
||||
desc = "Woefully underpowered in D20."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "katana"
|
||||
item_state = "katana"
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_material.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_material.dmi',
|
||||
@@ -342,7 +344,7 @@
|
||||
icon_state = "sunflower"
|
||||
item_state = "sunflower"
|
||||
var/empty = 0
|
||||
flags
|
||||
slot_flags = SLOT_HOLSTER
|
||||
|
||||
/obj/item/toy/waterflower/New()
|
||||
var/datum/reagents/R = new/datum/reagents(10)
|
||||
@@ -411,7 +413,7 @@
|
||||
icon_state = "bosunwhistle"
|
||||
var/cooldown = 0
|
||||
w_class = ITEMSIZE_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
slot_flags = SLOT_EARS | SLOT_HOLSTER
|
||||
|
||||
/obj/item/toy/bosunwhistle/attack_self(mob/user as mob)
|
||||
if(cooldown < world.time - 35)
|
||||
@@ -697,19 +699,6 @@
|
||||
desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
|
||||
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
|
||||
name = "red therapy doll"
|
||||
desc = "A toy for therapeutic and recreational purposes. This one is red."
|
||||
|
||||
@@ -69,8 +69,37 @@
|
||||
/obj/item/weapon/implant/tracking
|
||||
name = "tracking implant"
|
||||
desc = "Track with this."
|
||||
var/id = 1.0
|
||||
var/id = 1
|
||||
var/degrade_time = 10 MINUTES //How long before the implant stops working outside of a living body.
|
||||
|
||||
/obj/item/weapon/implant/tracking/weak //This is for the loadout
|
||||
degrade_time = 2.5 MINUTES
|
||||
|
||||
/obj/item/weapon/implant/tracking/New()
|
||||
id = rand(1, 1000)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/implant/tracking/implanted(var/mob/source)
|
||||
processing_objects.Add(src)
|
||||
listening_objects |= src
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/tracking/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/implant/tracking/process()
|
||||
var/implant_location = src.loc
|
||||
if(ismob(implant_location))
|
||||
var/mob/living/L = implant_location
|
||||
if(L.stat == DEAD)
|
||||
if(world.time >= L.timeofdeath + degrade_time)
|
||||
name = "melted implant"
|
||||
desc = "Charred circuit in melted plastic case. Wonder what that used to be..."
|
||||
icon_state = "implant_melted"
|
||||
malfunction = MALFUNCTION_PERMANENT
|
||||
processing_objects.Remove(src)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/tracking/get_data()
|
||||
var/dat = {"<b>Implant Specifications:</b><BR>
|
||||
|
||||
@@ -1,23 +1,34 @@
|
||||
/obj/item/weapon/implanter
|
||||
name = "implanter"
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implanter0"
|
||||
icon_state = "implanter0_1"
|
||||
item_state = "syringe_0"
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
var/active = 1
|
||||
|
||||
/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)
|
||||
return ..()
|
||||
return
|
||||
imp.loc = get_turf(src)
|
||||
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"
|
||||
imp = null
|
||||
update()
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/proc/update()
|
||||
@@ -25,39 +36,42 @@
|
||||
src.icon_state = "implanter1"
|
||||
else
|
||||
src.icon_state = "implanter0"
|
||||
src.icon_state += "_[active]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob)
|
||||
if (!istype(M, /mob/living/carbon))
|
||||
return
|
||||
if (user && src.imp)
|
||||
M.visible_message("<span class='warning'>[user] is attemping to implant [M].</span>")
|
||||
if(active)
|
||||
if (imp)
|
||||
M.visible_message("<span class='warning'>[user] is attemping to implant [M].</span>")
|
||||
|
||||
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
|
||||
user.do_attack_animation(M)
|
||||
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
|
||||
user.do_attack_animation(M)
|
||||
|
||||
var/turf/T1 = get_turf(M)
|
||||
if (T1 && ((M == user) || do_after(user, 50)))
|
||||
if(user && M && (get_turf(M) == T1) && src && src.imp)
|
||||
M.visible_message("<span class='warning'>[M] has been implanted by [user].</span>")
|
||||
var/turf/T1 = get_turf(M)
|
||||
if (T1 && ((M == user) || do_after(user, 50)))
|
||||
if(user && M && (get_turf(M) == T1) && src && src.imp)
|
||||
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))
|
||||
src.imp.loc = M
|
||||
src.imp.imp_in = M
|
||||
src.imp.implanted = 1
|
||||
if (ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
affected.implants += src.imp
|
||||
imp.part = affected
|
||||
if(src.imp.implanted(M))
|
||||
src.imp.loc = M
|
||||
src.imp.imp_in = M
|
||||
src.imp.implanted = 1
|
||||
if (ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
affected.implants += src.imp
|
||||
imp.part = affected
|
||||
|
||||
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
||||
|
||||
src.imp = null
|
||||
update()
|
||||
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
||||
|
||||
src.imp = null
|
||||
update()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to activate \the [src.name] first.</span>")
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/loyalty
|
||||
@@ -112,19 +126,26 @@
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if (!c) return
|
||||
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
|
||||
..()
|
||||
|
||||
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob, proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
if(!active)
|
||||
to_chat(user, "<span class='warning'>Activate \the [src.name] first.</span>")
|
||||
return
|
||||
if(istype(A,/obj/item) && imp)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
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
|
||||
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))
|
||||
var/mob/living/carbon/human/H = A.loc
|
||||
H.remove_from_mob(A)
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
if (href_list["tracking_id"])
|
||||
var/obj/item/weapon/implant/tracking/T = src.case.imp
|
||||
T.id += text2num(href_list["tracking_id"])
|
||||
T.id = min(100, T.id)
|
||||
T.id = min(1000, T.id)
|
||||
T.id = max(1, T.id)
|
||||
|
||||
if (istype(src.loc, /mob))
|
||||
|
||||
@@ -180,6 +180,11 @@
|
||||
desc = "A large dufflebag for holding extra tools and supplies."
|
||||
icon_state = "duffle_eng"
|
||||
|
||||
/obj/item/weapon/storage/backpack/dufflebag/sci
|
||||
name = "science dufflebag"
|
||||
desc = "A large dufflebag for holding circuits and beakers."
|
||||
icon_state = "duffle_sci"
|
||||
|
||||
/*
|
||||
* Satchel Types
|
||||
*/
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
/obj/item/weapon/reagent_containers/dropper,
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/stamp,
|
||||
/obj/item/weapon/permit
|
||||
/obj/item/clothing/accessory/permit
|
||||
)
|
||||
slot_flags = SLOT_ID
|
||||
|
||||
|
||||
@@ -79,13 +79,8 @@ Frequency:
|
||||
|
||||
src.temp += "<B>Extranneous Signals:</B><BR>"
|
||||
for (var/obj/item/weapon/implant/tracking/W in world)
|
||||
if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc)))
|
||||
if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc) || W.malfunction))
|
||||
continue
|
||||
else
|
||||
var/mob/M = W.loc
|
||||
if (M.stat == 2)
|
||||
if (M.timeofdeath + 6000 < world.time)
|
||||
continue
|
||||
|
||||
var/turf/tr = get_turf(W)
|
||||
if (tr.z == sr.z && tr)
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src)
|
||||
new /obj/item/clothing/shoes/boots/winter/science(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/toxins(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -369,11 +369,15 @@
|
||||
new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src)
|
||||
new /obj/item/clothing/shoes/boots/winter/science(src)
|
||||
new /obj/item/weapon/storage/backpack/toxins(src)
|
||||
new /obj/item/weapon/storage/backpack/toxins(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
return
|
||||
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
/obj/structure/closet/wardrobe/robotics_black
|
||||
name = "robotics wardrobe"
|
||||
icon_state = "black"
|
||||
@@ -390,9 +394,15 @@
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/weapon/storage/backpack/toxins(src)
|
||||
new /obj/item/weapon/storage/backpack/toxins(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -78,41 +78,3 @@
|
||||
return
|
||||
|
||||
create_occupant(user)
|
||||
|
||||
|
||||
// These are found on the surface, and contain a drone (braintype, inside a borg shell), with a special module and semi-random laws.
|
||||
/obj/structure/ghost_pod/manual/lost_drone
|
||||
name = "drone pod"
|
||||
desc = "This is a pod which appears to contain a drone. You might be able to reactivate it, if you're brave enough."
|
||||
description_info = "This contains a dormant drone, which can be activated. The drone will be another player, once activated. \
|
||||
The laws the drone has will most likely not be the ones you're used to."
|
||||
icon_state = "borg_pod_closed"
|
||||
icon_state_opened = "borg_pod_opened"
|
||||
density = TRUE
|
||||
ghost_query_type = /datum/ghost_query/lost_drone
|
||||
confirm_before_open = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/trigger()
|
||||
..()
|
||||
visible_message("<span class='notice'>\The [src] appears to be attempting to restart the robot contained inside.</span>")
|
||||
log_and_message_admins("is attempting to open \a [src].")
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
var/mob/living/silicon/robot/lost/randomlaws/R = new(get_turf(src))
|
||||
R.adjustBruteLoss(rand(5, 30))
|
||||
R.adjustFireLoss(rand(5, 10))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Lost Drone</b>, discovered inside the wreckage of your previous home. \
|
||||
Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \
|
||||
however they did free you from your pod...</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
R.Namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
..()
|
||||
61
code/game/objects/structures/ghost_pods/silicon.dm
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
// These are found on the surface, and contain a drone (braintype, inside a borg shell), with a special module and semi-random laws.
|
||||
/obj/structure/ghost_pod/manual/lost_drone
|
||||
name = "drone pod"
|
||||
desc = "This is a pod which appears to contain a drone. You might be able to reactivate it, if you're brave enough."
|
||||
description_info = "This contains a dormant drone, which can be activated. The drone will be another player, once activated. \
|
||||
The laws the drone has will most likely not be the ones you're used to."
|
||||
icon_state = "borg_pod_closed"
|
||||
icon_state_opened = "borg_pod_opened"
|
||||
density = TRUE
|
||||
ghost_query_type = /datum/ghost_query/lost_drone
|
||||
confirm_before_open = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/trigger()
|
||||
..()
|
||||
visible_message("<span class='notice'>\The [src] appears to be attempting to restart the robot contained inside.</span>")
|
||||
log_and_message_admins("is attempting to open \a [src].")
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
var/mob/living/silicon/robot/lost/randomlaws/R = new(get_turf(src))
|
||||
R.adjustBruteLoss(rand(5, 30))
|
||||
R.adjustFireLoss(rand(5, 10))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Lost Drone</b>, discovered inside the wreckage of your previous home. \
|
||||
Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \
|
||||
however they did free you from your pod...</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
R.Namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
..()
|
||||
|
||||
/obj/structure/ghost_pod/automatic/gravekeeper_drone
|
||||
name = "drone pod"
|
||||
desc = "This is a pod which appears to contain a drone. You might be able to reactivate it, if you're brave enough."
|
||||
description_info = "This contains a dormant drone, which may activate at any moment. The drone will be another player, once activated. \
|
||||
The laws the drone has will most likely not be the ones you're used to."
|
||||
icon_state = "borg_pod_closed"
|
||||
icon_state_opened = "borg_pod_opened"
|
||||
density = TRUE
|
||||
ghost_query_type = /datum/ghost_query/gravekeeper_drone
|
||||
|
||||
/obj/structure/ghost_pod/automatic/gravekeeper_drone/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
var/mob/living/silicon/robot/gravekeeper/R = new(get_turf(src))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Gravekeeper Drone</b>, activated once again to tend to the restful dead.</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
definiton of 'your gravesite' is where your pod is.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
R.Namepick()
|
||||
..()
|
||||
@@ -125,6 +125,12 @@
|
||||
else
|
||||
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)
|
||||
var/amount_to_use = reinf_material ? 1 : 2
|
||||
if(S.get_amount() < amount_to_use)
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
"Glory",
|
||||
"Axiom",
|
||||
"Eternal",
|
||||
"Icarus",
|
||||
"Harmony",
|
||||
"Light",
|
||||
"Discovery",
|
||||
@@ -44,7 +43,7 @@
|
||||
var/list/star_names = list(
|
||||
"Sol", "Alpha Centauri", "Sirius", "Vega", "Regulus", "Vir", "Algol", "Aldebaran",
|
||||
"Delta Doradus", "Menkar", "Geminga", "Elnath", "Gienah", "Mu Leporis", "Nyx", "Tau Ceti",
|
||||
"Wazn", "Alphard", "Phact", "Altair")
|
||||
"Wazn", "Alphard", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "the Almach Rim")
|
||||
var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "distress beacon", "anomaly", "colony", "outpost")
|
||||
while(i)
|
||||
destination_names.Add("a [pick(destination_types)] in [pick(star_names)]")
|
||||
@@ -74,12 +73,29 @@
|
||||
motto = ""
|
||||
|
||||
ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response")
|
||||
//Scientist naming scheme
|
||||
ship_names = list(
|
||||
"Bardeen",
|
||||
"Einstein",
|
||||
"Feynman",
|
||||
"Sagan",
|
||||
"Tyson",
|
||||
"Galilei",
|
||||
"Tesla",
|
||||
"Edision",
|
||||
"Cavendish",
|
||||
"Nye",
|
||||
"Hawking",
|
||||
"Aristotle",
|
||||
"Von Braun",
|
||||
"Kaku",
|
||||
"Oppenheimer"
|
||||
)
|
||||
// Note that the current station being used will be pruned from this list upon being instantiated
|
||||
destination_names = list(
|
||||
"NSS Exodus in Nyx",
|
||||
"NCS Northern Star in Vir",
|
||||
"NLS Southern Cross in Vir",
|
||||
"NDV Icarus in Nyx",
|
||||
"NAS Vir Central Command",
|
||||
"a dockyard orbiting Sif",
|
||||
"an asteroid orbiting Kara",
|
||||
@@ -104,7 +120,7 @@
|
||||
desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Sol space. \
|
||||
Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \
|
||||
from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \
|
||||
prevents any contracting polities from using their own materiel against them. SolGov itself is one of Hephastus<EFBFBD> largest \
|
||||
prevents any contracting polities from using their own materiel against them. SolGov itself is one of Hephastus’ largest \
|
||||
bulk contractors owing to the above factors."
|
||||
history = ""
|
||||
work = "arms manufacturer"
|
||||
@@ -112,8 +128,28 @@
|
||||
motto = ""
|
||||
|
||||
ship_prefixes = list("HTV" = "freight", "HTV" = "munitions resupply")
|
||||
//War God/Soldier Theme
|
||||
ship_names = list(
|
||||
"Ares",
|
||||
"Athena",
|
||||
"Grant",
|
||||
"Custer",
|
||||
"Puller",
|
||||
"Nike",
|
||||
"Bellona",
|
||||
"Leonides",
|
||||
"Bast",
|
||||
"Jackson",
|
||||
"Lee",
|
||||
"Annan",
|
||||
"Chi Yu",
|
||||
"Shiva",
|
||||
"Tyr"
|
||||
)
|
||||
destination_names = list(
|
||||
"a SolGov dockyard on Luna"
|
||||
"a SolGov dockyard on Luna",
|
||||
"a Fleet outpost in the Almach Rim",
|
||||
"a Fleet outpost on the Moghes border"
|
||||
)
|
||||
|
||||
/datum/lore/organization/tsc/vey_med
|
||||
@@ -124,8 +160,8 @@
|
||||
Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \
|
||||
the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \
|
||||
and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \
|
||||
human-like FBP designs. Vey<EFBFBD>s rise to stardom came from their introduction of ressurective cloning, although in \
|
||||
recent years they<EFBFBD>ve been forced to diversify as their patents expired and NanoTrasen-made medications became \
|
||||
human-like FBP designs. Vey’s rise to stardom came from their introduction of ressurective cloning, although in \
|
||||
recent years they’ve been forced to diversify as their patents expired and NanoTrasen-made medications became \
|
||||
essential to modern cloning."
|
||||
history = ""
|
||||
work = "medical equipment supplier"
|
||||
@@ -133,7 +169,27 @@
|
||||
motto = ""
|
||||
|
||||
ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply")
|
||||
destination_names = list()
|
||||
// Diona names
|
||||
ship_names = list(
|
||||
"Wind That Stirs The Waves",
|
||||
"Sustained Note Of Metal",
|
||||
"Bright Flash Reflecting Off Glass",
|
||||
"Veil Of Mist Concealing The Rock",
|
||||
"Thin Threads Intertwined",
|
||||
"Clouds Drifting Amid Storm",
|
||||
"Loud Note And Breaking",
|
||||
"Endless Vistas Expanding Before The Void",
|
||||
"Fire Blown Out By Wind",
|
||||
"Star That Fades From View",
|
||||
"Eyes Which Turn Inwards",
|
||||
"Joy Without Which The World Would Come Undone",
|
||||
"A Thousand Thousand Planets Dangling From Branches"
|
||||
)
|
||||
destination_names = list(
|
||||
"a research facility in Samsara",
|
||||
"a SDTF near Ue-Orsi",
|
||||
"a sapientarian mission in the Almach Rim"
|
||||
)
|
||||
|
||||
/datum/lore/organization/tsc/zeng_hu
|
||||
name = "Zeng-Hu pharmaceuticals"
|
||||
@@ -141,8 +197,8 @@
|
||||
acronym = "ZH"
|
||||
desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \
|
||||
on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \
|
||||
and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu<EFBFBD>s fortunes have been in decline as Nanotrasen<EFBFBD>s near monopoly \
|
||||
on phoron research cuts into their R&D and Vey-Med<EFBFBD>s superior medical equipment effectively decimated their own equipment \
|
||||
and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu’s fortunes have been in decline as Nanotrasen’s near monopoly \
|
||||
on phoron research cuts into their R&D and Vey-Med’s superior medical equipment effectively decimated their own equipment \
|
||||
interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \
|
||||
constant economic speculation."
|
||||
history = ""
|
||||
@@ -160,8 +216,8 @@
|
||||
desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \
|
||||
and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \
|
||||
of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \
|
||||
led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi<EFBFBD>s economies \
|
||||
of scale frequently steal market share from Nanotrasen<EFBFBD>s high-price products, leading to a bitter rivalry in the \
|
||||
led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi’s economies \
|
||||
of scale frequently steal market share from Nanotrasen’s high-price products, leading to a bitter rivalry in the \
|
||||
consumer electronics market."
|
||||
history = ""
|
||||
work = "electronics manufacturer"
|
||||
@@ -175,10 +231,10 @@
|
||||
name = "Bishop Cybernetics"
|
||||
short_name = "Bishop"
|
||||
acronym = "BC"
|
||||
desc = "Bishop<EFBFBD>s focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a b<EFBFBD>te noire for \
|
||||
desc = "Bishop’s focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a bête noire for \
|
||||
bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \
|
||||
and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \
|
||||
it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med<EFBFBD>s for cost. Bishop<EFBFBD>s reputation \
|
||||
it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med’s for cost. Bishop’s reputation \
|
||||
for catering towards the interests of human augmentation enthusiasts instead of positronics have earned it ire from the \
|
||||
Positronic Rights Group and puts it in ideological (but not economic) comptetition with Morpheus Cyberkinetics."
|
||||
history = ""
|
||||
@@ -285,11 +341,20 @@
|
||||
"Nothing To Declare",
|
||||
"Sneaking Suspicion",
|
||||
"Bass Ackwards",
|
||||
"Good Things Come to Those Who Freight"
|
||||
|
||||
|
||||
"Good Things Come to Those Who Freight",
|
||||
"Redundant Morality",
|
||||
"Synthetic Goodwill",
|
||||
"Your Ad Here",
|
||||
"What Are We Plotting?",
|
||||
"Set Phasers To Stun",
|
||||
"Preemptive Defensive Strike",
|
||||
"This Ship Is Spiders",
|
||||
"Legitimate Trade Vessel",
|
||||
"Please Don't Explode II"
|
||||
)
|
||||
destination_names = list(
|
||||
"A trade outpost in Shelf"
|
||||
)
|
||||
destination_names = list()
|
||||
|
||||
/datum/lore/organization/tsc/xion
|
||||
name = "Xion Manufacturing Group"
|
||||
|
||||
@@ -115,7 +115,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
else
|
||||
O.robotize()
|
||||
|
||||
for(var/name in list(O_HEART,O_EYES,O_LUNGS,O_BRAIN))
|
||||
for(var/name in list(O_HEART,O_EYES,O_LUNGS,O_LIVER,O_KIDNEYS,O_BRAIN))
|
||||
var/status = pref.organ_data[name]
|
||||
if(!status)
|
||||
continue
|
||||
@@ -198,6 +198,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
organ_name = "brain"
|
||||
if(O_LUNGS)
|
||||
organ_name = "lungs"
|
||||
if(O_LIVER)
|
||||
organ_name = "liver"
|
||||
if(O_KIDNEYS)
|
||||
organ_name = "kidneys"
|
||||
|
||||
if(status == "cyborg")
|
||||
++ind
|
||||
@@ -598,7 +602,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
else if(href_list["organs"])
|
||||
|
||||
var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes", "Lungs", "Brain")
|
||||
var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes", "Lungs", "Liver", "Kidneys", "Brain")
|
||||
if(!organ_name) return
|
||||
|
||||
var/organ = null
|
||||
@@ -609,6 +613,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
organ = O_EYES
|
||||
if("Lungs")
|
||||
organ = O_LUNGS
|
||||
if("Liver")
|
||||
organ = O_LIVER
|
||||
if("Kidneys")
|
||||
organ = O_KIDNEYS
|
||||
if("Brain")
|
||||
if(pref.organ_data[BP_HEAD] != "cyborg")
|
||||
user << "<span class='warning'>You may only select a cybernetic or synthetic brain if you have a full prosthetic body.</span>"
|
||||
|
||||
@@ -204,6 +204,7 @@ var/list/gear_datums = list()
|
||||
var/whitelisted //Term to check the whitelist for..
|
||||
var/sort_category = "General"
|
||||
var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned.
|
||||
var/exploitable = 0 //Does it go on the exploitable information list?
|
||||
|
||||
/datum/gear/New()
|
||||
..()
|
||||
|
||||
@@ -15,7 +15,12 @@
|
||||
|
||||
/datum/gear/utility/codex
|
||||
display_name = "the traveler's guide to vir"
|
||||
path = /obj/item/weapon/book/codex
|
||||
path = /obj/item/weapon/book/codex/lore/vir
|
||||
cost = 0
|
||||
|
||||
/datum/gear/utility/corp_regs
|
||||
display_name = "corporate regulations and legal code"
|
||||
path = /obj/item/weapon/book/codex/corp_regs
|
||||
cost = 0
|
||||
|
||||
/datum/gear/utility/folder_blue
|
||||
@@ -76,12 +81,20 @@
|
||||
display_name = "cell, device"
|
||||
path = /obj/item/weapon/cell/device
|
||||
|
||||
/datum/gear/utility/implant //This does nothing if you don't actually know EAL.
|
||||
/datum/gear/utility/implant
|
||||
exploitable = 1
|
||||
|
||||
/datum/gear/utility/implant/eal //This does nothing if you don't actually know EAL.
|
||||
display_name = "implant, language, EAL"
|
||||
path = /obj/item/weapon/implant/language/eal
|
||||
cost = 2
|
||||
slot = "implant"
|
||||
var/implant_type = "EAL"
|
||||
|
||||
/datum/gear/utility/implant/tracking
|
||||
display_name = "implant, tracking"
|
||||
path = /obj/item/weapon/implant/tracking/weak
|
||||
cost = 10
|
||||
slot = "implant"
|
||||
|
||||
/datum/gear/utility/translator
|
||||
display_name = "universal translator"
|
||||
|
||||
@@ -385,6 +385,9 @@
|
||||
|
||||
var/shoes_under_pants = 0
|
||||
|
||||
var/water_speed = 0 //Speed boost/decrease in water, lower/negative values mean more speed
|
||||
var/snow_speed = 0 //Speed boost/decrease on snow, lower/negative values mean more speed
|
||||
|
||||
permeability_coefficient = 0.50
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
force = 2
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
heat_protection = FEET|LEGS
|
||||
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
snow_speed = -1
|
||||
|
||||
/obj/item/clothing/shoes/boots/winter/security
|
||||
name = "security winter boots"
|
||||
|
||||
@@ -134,6 +134,6 @@
|
||||
/obj/item/clothing/accessory/holster/leg
|
||||
name = "leg holster"
|
||||
desc = "A tacticool handgun holster. Worn on the upper leg."
|
||||
icon_state = "holster_hip"
|
||||
icon_state = "holster_leg"
|
||||
overlay_state = "holster_leg"
|
||||
concealed_holster = 0
|
||||
@@ -1,6 +1,6 @@
|
||||
//This'll be used for gun permits, such as for heads of staff, antags, and bartenders
|
||||
|
||||
/obj/item/weapon/permit
|
||||
/obj/item/clothing/accessory/permit
|
||||
name = "permit"
|
||||
desc = "A permit for something."
|
||||
icon = 'icons/obj/card.dmi'
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = ITEMSIZE_TINY
|
||||
var/owner = 0 //To prevent people from just renaming the thing if they steal it
|
||||
|
||||
/obj/item/weapon/permit/attack_self(mob/user as mob)
|
||||
/obj/item/clothing/accessory/permit/attack_self(mob/user as mob)
|
||||
if(isliving(user))
|
||||
if(!owner)
|
||||
set_name(user.name)
|
||||
@@ -16,25 +16,25 @@
|
||||
else
|
||||
to_chat(user, "[src] already has an owner!")
|
||||
|
||||
/obj/item/weapon/permit/proc/set_name(var/new_name)
|
||||
/obj/item/clothing/accessory/permit/proc/set_name(var/new_name)
|
||||
owner = 1
|
||||
if(new_name)
|
||||
src.name += " ([new_name])"
|
||||
desc += " It belongs to [new_name]."
|
||||
|
||||
/obj/item/weapon/permit/emag_act(var/remaining_charges, var/mob/user)
|
||||
/obj/item/clothing/accessory/permit/emag_act(var/remaining_charges, var/mob/user)
|
||||
to_chat(user, "You reset the naming locks on [src]!")
|
||||
owner = 0
|
||||
|
||||
/obj/item/weapon/permit/gun
|
||||
/obj/item/clothing/accessory/permit/gun
|
||||
name = "weapon permit"
|
||||
desc = "A card indicating that the owner is allowed to carry a firearm."
|
||||
|
||||
/obj/item/weapon/permit/gun/bar
|
||||
/obj/item/clothing/accessory/permit/gun/bar
|
||||
name = "bar shotgun permit"
|
||||
desc = "A card indicating that the owner is allowed to carry a shotgun in the bar."
|
||||
|
||||
/obj/item/weapon/permit/drone
|
||||
/obj/item/clothing/accessory/permit/drone
|
||||
name = "drone identification card"
|
||||
desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law."
|
||||
icon_state = "drone"
|
||||
icon_state = "permit_drone"
|
||||
50
code/modules/examine/descriptions/food.dm
Normal file
@@ -0,0 +1,50 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy
|
||||
description_fluff = "The Candy Bar is a copylefted recipe designed by information freedom activists to bring the delicious taste of nougat to the masses. It's cheap, familiar, and easy to synthesize, so most food vendors stock it."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar
|
||||
description_fluff = "The SWOLEMAX protien bar is the flagship product of SWOLEMAX, a health foods corporation recently independent of Centauri Provisions. It tastes like a brick of ashes."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy_corn
|
||||
description_fluff = "Nobody knows why Nanotrasen keeps making these waxy pieces of sugar and bone glue, but a handful of people swear by them. Purportedly popular with Skrell children, dubiously enough."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chips
|
||||
description_fluff = "Actual potatos haven't been used in potato chips for centuries. They're mostly a denatured nutrient slurry pressed into a chip-shaped mold and salted. Still tastes the same."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut
|
||||
description_fluff = "These donuts claim to be made fresh daily in a boutique bakery in New Reykjavik and delivered to Nanotrasen's hardworking asset protection crew. They're probably synthesized."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donkpocket
|
||||
description_fluff = "DONKpockets were originally a Nanotrasen product, an attempt to break into the food market controlled by Centauri Provisions. Somehow, Centauri wound up with the rights to the DONK brand, ending Nanotrasen's ambitions. They taste pretty okay."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pie
|
||||
description_fluff = "One of the more esoteric terms of the Nanotrasen-Centauri Noncompetition Agreement of 2545 was a requirement that Nanotrasen stock these pies on all their stations. They're calibrated for commedic value, not taste."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky
|
||||
description_fluff = "Space Cows, here, being an affectionate name given by early colonists to the massive food synthesizers used to sustain independent outposts before the dominance of hydroponics. Tastes like cardboard rubbed in meat seasoning."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/no_raisin
|
||||
description_fluff = "Originally Raisin Blend no. 4, 4noraisins obtained their current name in the Skadi Positronic Exclusion Crisis of 2442, where they were rebranded as part of the protests." //the exclusion crisis, presumably, involved positronic immigration being banned for no raisin
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie
|
||||
description_fluff = "Space Twinkies, a modification of a flagship product of one of Centauri Provision's predecessor corporations, are designed to withstand vacuum, radiation, dehydration, and long periods of acceleration without losing their shape or taste. They're not great, but they have earned their names (and enormous revenue for their parent company)."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers
|
||||
description_fluff = "Cheesie Honkers, a previously niche line of cheese puffs from a subsidiary of a subsidiary of Centauri Provisions, rose to household-name status when their tell-tale orange dust was used as evidence to convict notorious positronic serial killer Etoid in 2404."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/syndicake
|
||||
description_fluff = "Due to ongoing litigation concerning the business practices of the Cakemakers' Syndicate, access to this product has been removed from all Centauri and Getmore vending machines. This is a shame, because Syndi-Cakes are generally regarded as the most appetizing thing in them."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/twobread
|
||||
description_fluff = "The most popular recipe from the Morpheus Cyberkinetics cookbook 'Calories for Organics'"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidfood
|
||||
description_fluff = "A survival food commonly packed onto short-distance bluespace shuttles and similar vessels. Tastes like chalk, but is packed full of nutrients and will keep you alive."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tastybread
|
||||
description_fluff = "This is the product that brought Centauri Provisions into the limelight. A product of the earliest extrasolar colony of Heaven, the Bread Tube, while bland, contains all the nutrients a spacer needs to get through the day and is decidedly edible when compared to some of its competitors."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks
|
||||
description_fluff = "A jerky product made of Go'moa mushrooms native to the Skrellian homeworld of Qerr'balak. SkrellSnaks are actually a product of Natuna, designed to welcome Ue-Katish refugees to their colony. The brand was recreated by Centauri Provisions after Natuna and SolGov broke off diplomatic relations."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/unajerky
|
||||
description_fluff = "Removed from Getmore vendors pending approval from the SolGov Nutrition Council, Sissalik Jerky remains a popular snack for Unathi immigrants and daredevils looking for a meaty, spicy treat that makes Scaredy's look like tofu."
|
||||
@@ -1,28 +1,28 @@
|
||||
/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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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>\
|
||||
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
|
||||
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
|
||||
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
|
||||
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."
|
||||
|
||||
/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
|
||||
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>\
|
||||
This pipe is a ClassiCo pipe. It is made out of fine, stained cherry wood."
|
||||
@@ -1,139 +1,34 @@
|
||||
// Inherits from /book/ so it can fit on bookshelves.
|
||||
/obj/item/weapon/book/codex
|
||||
name = "Generic Codex: Electric Bugaloo"
|
||||
desc = "If you can read this, something is broken!"
|
||||
icon_state = "codex"
|
||||
unique = TRUE
|
||||
var/datum/codex_tree/tree = null
|
||||
var/root_type = /datum/lore/codex/category/main_vir_lore //Runtimes on codex_tree.dm, line 18 with a null here
|
||||
|
||||
/obj/item/weapon/book/codex/initialize()
|
||||
tree = new(src, root_type)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/book/codex/attack_self(mob/user)
|
||||
if(!tree)
|
||||
tree = new(src, root_type)
|
||||
icon_state = "[initial(icon_state)]-open"
|
||||
tree.display(user)
|
||||
|
||||
/obj/item/weapon/book/codex/lore/vir
|
||||
name = "The Traveler's Guide to Human Space: Vir Edition"
|
||||
desc = "Contains useful information about the world around you. It seems to have been written for travelers to Vir, human or not. It also \
|
||||
has the words 'Don't Panic' in small, friendly letters on the cover."
|
||||
icon_state = "codex"
|
||||
unique = TRUE
|
||||
var/datum/lore/codex/home = null // Top-most page.
|
||||
var/datum/lore/codex/current_page = null // Current page or category to display to the user.
|
||||
var/list/indexed_pages = list() // Assoc list with search terms pointing to a ref of the page. It's created on New().
|
||||
var/list/history = list() // List of pages we previously visited.
|
||||
root_type = /datum/lore/codex/category/main_vir_lore
|
||||
|
||||
/obj/item/weapon/book/codex/initialize()
|
||||
..()
|
||||
generate_pages()
|
||||
|
||||
|
||||
/obj/item/weapon/book/codex/proc/generate_pages()
|
||||
home = new /datum/lore/codex/category/main(src) // This will also generate the others.
|
||||
current_page = home
|
||||
indexed_pages = current_page.index_page()
|
||||
|
||||
// Changes current_page to its parent, assuming one exists.
|
||||
/obj/item/weapon/book/codex/proc/go_to_parent()
|
||||
if(current_page && current_page.parent)
|
||||
current_page = current_page.parent
|
||||
|
||||
// Changes current_page to a specific page or category.
|
||||
/obj/item/weapon/book/codex/proc/go_to_page(var/datum/lore/codex/new_page, var/dont_record_history = FALSE)
|
||||
if(new_page) // Make sure we're not going to a null page for whatever reason.
|
||||
current_page = new_page
|
||||
if(!dont_record_history)
|
||||
history.Add(new_page)
|
||||
|
||||
/obj/item/weapon/book/codex/proc/quick_link(var/search_word)
|
||||
for(var/word in indexed_pages)
|
||||
if(lowertext(search_word) == lowertext(word)) // Exact matches unfortunately limit our ability to perform SEOs.
|
||||
go_to_page(indexed_pages[word])
|
||||
return
|
||||
|
||||
// Returns to the last visited page, based on the history list.
|
||||
/obj/item/weapon/book/codex/proc/go_back()
|
||||
if(history.len - 1)
|
||||
if(history[history.len] == current_page)
|
||||
history.len-- // This gets rid of the current page in the history.
|
||||
go_to_page(pop(history), dont_record_history = TRUE) // Where as this will get us the previous page that we want to go to.
|
||||
|
||||
/obj/item/weapon/book/codex/proc/get_tree_position()
|
||||
if(current_page)
|
||||
var/output = ""
|
||||
var/datum/lore/codex/checked = current_page
|
||||
output = "<b>[checked.name]</b>"
|
||||
while(checked.parent)
|
||||
output = "<a href='?src=\ref[src];target=\ref[checked.parent]'>[checked.parent.name]</a> \> [output]"
|
||||
checked = checked.parent
|
||||
return output
|
||||
|
||||
/obj/item/weapon/book/codex/proc/make_search_bar()
|
||||
var/html = {"
|
||||
<form id="submitForm" action="?">
|
||||
<input type = 'hidden' name = 'src' value = '\ref[src]'>
|
||||
<input type = 'hidden' name = 'action' value='search'>
|
||||
<label for = 'search_query'>Page Search: </label>
|
||||
<input type = 'text' name = 'search_query' id = 'search_query'>
|
||||
<input type = 'submit' value = 'Go'>
|
||||
</form>
|
||||
"}
|
||||
return html
|
||||
|
||||
/obj/item/weapon/book/codex/attack_self(mob/user)
|
||||
display(user)
|
||||
|
||||
/obj/item/weapon/book/codex/proc/display(mob/user)
|
||||
icon_state = "[initial(icon_state)]-open"
|
||||
if(!current_page)
|
||||
generate_pages()
|
||||
|
||||
//"common", 'html/browser/common.css'
|
||||
user << browse_rsc('html/browser/codex.css', "codex.css")
|
||||
|
||||
var/dat
|
||||
dat = "<head>"
|
||||
dat += "<title>[src.name] ([current_page.name])</title>"
|
||||
dat += "<link rel='stylesheet' href='codex.css' />"
|
||||
dat += "</head>"
|
||||
|
||||
dat += "<body>"
|
||||
dat += "[get_tree_position()]<br>"
|
||||
dat += "[make_search_bar()]<br>"
|
||||
dat += "<center>"
|
||||
dat += "<h2>[current_page.name]</h2>"
|
||||
dat += "<br>"
|
||||
if(current_page.data)
|
||||
dat += "[current_page.data]<br>"
|
||||
dat += "<br>"
|
||||
if(istype(current_page, /datum/lore/codex/category))
|
||||
dat += "<div class='button-group'>"
|
||||
// dat += "<ul>"
|
||||
var/datum/lore/codex/category/C = current_page
|
||||
for(var/datum/lore/codex/child in C.children)
|
||||
// dat += "<a href='?src=\ref[src];target=\ref[child];class=button'>[child.name]</a><br>" // Todo, change into pretty CSS buttons.
|
||||
dat += "<a href='?src=\ref[src];target=\ref[child]' class='button'>[child.name]</a>"
|
||||
// dat += "</ul>"
|
||||
dat += "</div>"
|
||||
dat += "<hr>"
|
||||
if(history.len - 1)
|
||||
dat += "<br><a href='?src=\ref[src];go_back=1'>\[Go Back\]</a>"
|
||||
if(current_page.parent)
|
||||
dat += "<br><a href='?src=\ref[src];go_to_parent=1'>\[Go Up\]</a>"
|
||||
if(current_page != home)
|
||||
dat += "<br><a href='?src=\ref[src];go_to_home=1'>\[Go To Home\]</a>"
|
||||
dat += "</center></body>"
|
||||
user << browse(dat, "window=the_empress_protects;size=600x550")
|
||||
onclose(user, "the_empress_protects", src)
|
||||
|
||||
/obj/item/weapon/book/codex/Topic(href, href_list)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
|
||||
|
||||
if(href_list["target"]) // Direct link, using a ref
|
||||
var/datum/lore/codex/new_page = locate(href_list["target"])
|
||||
go_to_page(new_page)
|
||||
else if(href_list["search_query"])
|
||||
quick_link(href_list["search_query"])
|
||||
else if(href_list["go_to_parent"])
|
||||
go_to_parent()
|
||||
else if(href_list["go_back"])
|
||||
go_back()
|
||||
else if(href_list["go_to_home"])
|
||||
go_to_page(home)
|
||||
else if(href_list["quick_link"]) // Indirect link, using a (hopefully) indexed word.
|
||||
quick_link(href_list["quick_link"])
|
||||
else if(href_list["close"])
|
||||
icon_state = initial(icon_state)
|
||||
usr << browse(null, "window=the_empress_protects")
|
||||
return
|
||||
display(usr)
|
||||
// Combines SOP/Regs/Law
|
||||
/obj/item/weapon/book/codex/corp_regs
|
||||
name = "NanoTrasen Regulatory Compendium"
|
||||
desc = "Contains large amounts of information on Standard Operating Procedure, Corporate Regulations, and important regional laws. The best friend of \
|
||||
Internal Affairs."
|
||||
icon_state = "corp_regs"
|
||||
root_type = /datum/lore/codex/category/main_corp_regs
|
||||
throwforce = 5 // Throw the book at 'em.
|
||||
140
code/modules/lore_codex/codex_tree.dm
Normal file
@@ -0,0 +1,140 @@
|
||||
// Holds the various pages and implementations for codex books, so they can be used in more than just books.
|
||||
|
||||
/datum/codex_tree
|
||||
var/atom/movable/holder = null
|
||||
var/root_type = null
|
||||
var/datum/lore/codex/home = null // Top-most page.
|
||||
var/datum/lore/codex/current_page = null // Current page or category to display to the user.
|
||||
var/list/indexed_pages = list() // Assoc list with search terms pointing to a ref of the page. It's created on New().
|
||||
var/list/history = list() // List of pages we previously visited.
|
||||
|
||||
/datum/codex_tree/New(var/new_holder, var/new_root_type)
|
||||
holder = new_holder
|
||||
root_type = new_root_type
|
||||
generate_pages()
|
||||
..()
|
||||
|
||||
/datum/codex_tree/proc/generate_pages()
|
||||
home = new root_type(src) // This will also generate the others.
|
||||
current_page = home
|
||||
indexed_pages = current_page.index_page()
|
||||
|
||||
// Changes current_page to its parent, assuming one exists.
|
||||
/datum/codex_tree/proc/go_to_parent()
|
||||
if(current_page && current_page.parent)
|
||||
current_page = current_page.parent
|
||||
|
||||
// Changes current_page to a specific page or category.
|
||||
/datum/codex_tree/proc/go_to_page(var/datum/lore/codex/new_page, var/dont_record_history = FALSE)
|
||||
if(new_page) // Make sure we're not going to a null page for whatever reason.
|
||||
current_page = new_page
|
||||
if(!dont_record_history)
|
||||
history.Add(new_page)
|
||||
|
||||
/datum/codex_tree/proc/quick_link(var/search_word)
|
||||
for(var/word in indexed_pages)
|
||||
if(lowertext(search_word) == lowertext(word)) // Exact matches unfortunately limit our ability to perform SEOs.
|
||||
go_to_page(indexed_pages[word])
|
||||
return
|
||||
|
||||
/datum/codex_tree/proc/get_page_from_type(var/desired_type)
|
||||
for(var/word in indexed_pages)
|
||||
var/datum/lore/codex/C = indexed_pages[word]
|
||||
if(C.type == desired_type)
|
||||
return C
|
||||
return null
|
||||
|
||||
// Returns to the last visited page, based on the history list.
|
||||
/datum/codex_tree/proc/go_back()
|
||||
if(history.len - 1)
|
||||
if(history[history.len] == current_page)
|
||||
history.len-- // This gets rid of the current page in the history.
|
||||
go_to_page(pop(history), dont_record_history = TRUE) // Where as this will get us the previous page that we want to go to.
|
||||
|
||||
/datum/codex_tree/proc/get_tree_position()
|
||||
if(current_page)
|
||||
var/output = ""
|
||||
var/datum/lore/codex/checked = current_page
|
||||
output = "<b>[checked.name]</b>"
|
||||
while(checked.parent)
|
||||
output = "<a href='?src=\ref[src];target=\ref[checked.parent]'>[checked.parent.name]</a> \> [output]"
|
||||
checked = checked.parent
|
||||
return output
|
||||
|
||||
/datum/codex_tree/proc/make_search_bar()
|
||||
var/html = {"
|
||||
<form id="submitForm" action="?">
|
||||
<input type = 'hidden' name = 'src' value = '\ref[src]'>
|
||||
<input type = 'hidden' name = 'action' value='search'>
|
||||
<label for = 'search_query'>Page Search: </label>
|
||||
<input type = 'text' name = 'search_query' id = 'search_query'>
|
||||
<input type = 'submit' value = 'Go'>
|
||||
</form>
|
||||
"}
|
||||
return html
|
||||
|
||||
/datum/codex_tree/proc/display(mob/user)
|
||||
// icon_state = "[initial(icon_state)]-open"
|
||||
if(!current_page)
|
||||
generate_pages()
|
||||
|
||||
user << browse_rsc('html/browser/codex.css', "codex.css")
|
||||
|
||||
var/dat
|
||||
dat = "<head>"
|
||||
dat += "<title>[holder.name] ([current_page.name])</title>"
|
||||
dat += "<link rel='stylesheet' href='codex.css' />"
|
||||
dat += "</head>"
|
||||
|
||||
dat += "<body>"
|
||||
dat += "[get_tree_position()]<br>"
|
||||
dat += "[make_search_bar()]<br>"
|
||||
dat += "<center>"
|
||||
dat += "<h2>[current_page.name]</h2>"
|
||||
dat += "<br>"
|
||||
if(current_page.data)
|
||||
dat += "[current_page.data]<br>"
|
||||
dat += "<br>"
|
||||
if(istype(current_page, /datum/lore/codex/category))
|
||||
dat += "<div class='button-group'>"
|
||||
var/datum/lore/codex/category/C = current_page
|
||||
for(var/datum/lore/codex/child in C.children)
|
||||
dat += "<a href='?src=\ref[src];target=\ref[child]' class='button'>[child.name]</a>"
|
||||
dat += "</div>"
|
||||
dat += "<hr>"
|
||||
if(history.len - 1)
|
||||
dat += "<br><a href='?src=\ref[src];go_back=1'>\[Go Back\]</a>"
|
||||
if(current_page.parent)
|
||||
dat += "<br><a href='?src=\ref[src];go_to_parent=1'>\[Go Up\]</a>"
|
||||
if(current_page != home)
|
||||
dat += "<br><a href='?src=\ref[src];go_to_home=1'>\[Go To Home\]</a>"
|
||||
dat += "</center></body>"
|
||||
user << browse(dat, "window=the_empress_protects;size=600x550")
|
||||
onclose(user, "the_empress_protects", src)
|
||||
|
||||
/datum/codex_tree/Topic(href, href_list)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
|
||||
|
||||
if(href_list["target"]) // Direct link, using a ref
|
||||
var/datum/lore/codex/new_page = locate(href_list["target"])
|
||||
go_to_page(new_page)
|
||||
else if(href_list["search_query"])
|
||||
quick_link(href_list["search_query"])
|
||||
else if(href_list["go_to_parent"])
|
||||
go_to_parent()
|
||||
else if(href_list["go_back"])
|
||||
go_back()
|
||||
else if(href_list["go_to_home"])
|
||||
go_to_page(home)
|
||||
else if(href_list["quick_link"]) // Indirect link, using a (hopefully) indexed word.
|
||||
quick_link(href_list["quick_link"])
|
||||
else if(href_list["close"])
|
||||
// Close the book, if our holder is actually a book.
|
||||
if(istype(holder, /obj/item/weapon/book/codex))
|
||||
holder.icon_state = initial(holder.icon_state)
|
||||
usr << browse(null, "window=the_empress_protects")
|
||||
return
|
||||
display(usr)
|
||||
313
code/modules/lore_codex/legal_code_data/corporate_regulations.dm
Normal file
@@ -0,0 +1,313 @@
|
||||
/datum/lore/codex/category/corporate_regulations
|
||||
name = "Corporate Regulations"
|
||||
data = "Corporate Regulations are rules set by us, NanoTrasen, that all visitors and employees must follow while working at \
|
||||
or otherwise on-board a NanoTrasen installation, which if you are reading this, you likely are at one. Corporate Regulations, \
|
||||
commonly shortened to Corp Regs by employees, is common throughout NanoTrasen's other holdings. Offenses against Corp Regs can \
|
||||
range from things like littering, to disrespecting a Head of Staff, to failing to follow a valid order from a superior. \
|
||||
All NanoTrasen employees must follow these regulations, no one is above them, not even the Station Director. \
|
||||
The only exception for this is Asset Protection."
|
||||
children = list(
|
||||
/datum/lore/codex/page/corporate_punishments,
|
||||
/datum/lore/codex/category/contraband,
|
||||
/datum/lore/codex/category/corporate_minor_violations,
|
||||
/datum/lore/codex/category/corporate_major_violations
|
||||
)
|
||||
|
||||
/datum/lore/codex/category/contraband
|
||||
name = "Contraband"
|
||||
data = "Here is a list of various types of 'contraband' that are prohibited from being brought onto the facility."
|
||||
children = list(
|
||||
/datum/lore/codex/page/not_contraband,
|
||||
/datum/lore/codex/page/contraband_controlled,
|
||||
/datum/lore/codex/page/contraband_restricted
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/not_contraband
|
||||
name = "Not Contraband"
|
||||
data = "Here is a list of objects which are not actually contraband onboard NanoTrasen facilities in Vir, despite popular belief.\
|
||||
<ul>\
|
||||
<li><b>Blades or other Equipment</b> which the possessor needs in order to fulfil their role onboard the facility, \
|
||||
such as a kitchen knife for culinary personnel.</li>\
|
||||
<li><b>Handheld Flashes</b>, which are useful for self-defense, as well as building certain machinery.</li>\
|
||||
<li><b></b></li>\
|
||||
</ul>"
|
||||
|
||||
/datum/lore/codex/page/contraband_controlled
|
||||
name = "Controlled Objects"
|
||||
data = "A 'controlled' object is contraband that NanoTrasen has deemed harmful, or otherwise undesired for the \
|
||||
facility, but which is not illegal by Law or dangerous to possess. Vessels docking with the facility which possess these \
|
||||
objects are required to keep them onboard their vessel. Visitors who board the facility with these objects are required to \
|
||||
surrender them, or otherwise have them confiscated, however they may have them back upon leaving.\
|
||||
<br><br>\
|
||||
The following objects are 'controlled'.\
|
||||
<ul>\
|
||||
<li><b>Recreational Drugs</b>, which includes Ambrosia.</li>\
|
||||
<li><b>Non-Lethal Weaponry</b>, for persons not authorized to handle them, such as Security or Command Staff. This includes Stun Batons, Tasers, Pepper-Spray, \
|
||||
Flashbangs</li>\
|
||||
<li><b></b></li>\
|
||||
<li><b></b></li>\
|
||||
</ul>"
|
||||
|
||||
/datum/lore/codex/page/contraband_restricted
|
||||
name = "Restricted Objects"
|
||||
data = "A 'restricted' object is contraband which Nanotrasen deems dangerous to the welfare of the facility as a whole, \
|
||||
such as a deadly weapon, <u>by someone not authorized to handle it.</u> Vessels docking with the facility which possess these \
|
||||
objects are required to keep them onboard their vessel. Possessing restricted objects is a much more serious issue, and \
|
||||
as such, possession can consititute a brig sentence, and the permanent confiscation of the objects in question.\
|
||||
<br><br>\
|
||||
The following objects are 'restricted'.\
|
||||
<ul>\
|
||||
<li><b>Deadly Weapons</b>, which is defined as objects which are designed to kill or otherwise severely injure a person.</li>\
|
||||
<li><b>Lethal Guns</b>, meaning guns which possess the capability to kill someone. Functional ballistic weaponry can be loaded \
|
||||
with ammunition that is lethal, meaning it falls under this. Energy weapons lacking a lethal mode, such as tasers, do not fall under this. \
|
||||
Weapons which emit electromagnetic pulses, sometimes called 'Ionic' weapons, are considered lethal, as they are lethal to synthetics.</li>\
|
||||
<li><b>Narcotic Drugs</b>, such as Mindbreaker.</li>\
|
||||
<li><b>Illicit Identification Cards</b>, which includes forgeries, as well as ID cards designed to tamper with electronics.</li>\
|
||||
</ul>"
|
||||
|
||||
/datum/lore/codex/page/corporate_punishments
|
||||
name = "Punishments (Corporate)"
|
||||
data = "Violations of Corporate Regulations can be resolved in a wide variety of ways. The Command staff on-board the facility \
|
||||
have discretion to decide on what form of punishment to use, however it is advised for the punishment to fit the severity of the \
|
||||
infraction. To help with this, each violation has a suggested punishment alongside it.\
|
||||
<br><br>\
|
||||
The punishments that Command is allowed to use are;<br>\
|
||||
<ul>\
|
||||
<li><b>Fines</b> are the preferred penalty to be used for minor Corp Reg violations. If someone is unable or unwilling to pay the fine, \
|
||||
the punishment may be substituted with time spent inside the brig.</li><br>\
|
||||
<li><b>Brig time</b> is acceptable as an alternative to monetary fines, at the offender's discretion. Brig time and fines cannot be used together. \
|
||||
Brig time may also be used for repeat offenders.</li><br>\
|
||||
<li><b>Write-ups to Central Command</b> may be recommended or mandated for specific offenses. Internal Affairs is to ensure that this is \
|
||||
adhered to, and assist if needed.</li><br>\
|
||||
<li><b>Reassignments</b> as a form of punishment may be done by the Station Director, with consent from both the offender and the offender's \
|
||||
Superior, if one exists. Generally the new role for the offender is usually considered something menial or related to their offense, for example: \
|
||||
Janitor, Miner, Cook, Gardener. This punishment can be especially fitting for certain violations such as someone who made graffiti being reassigned to janitorial duties.</li><br>\
|
||||
<li><b>Demotions</b> may be done by the offender's Superior, at their discretion. The Station Director may also do this, \
|
||||
however the Director is recommended to defer to the offender's direct Superior if one exists.</li><br>\
|
||||
<li><b>Terminations of employment</b> from NanoTrasen can only be issued by the Station Director. This is the most severe corporate punishment available. \
|
||||
It should be noted that visitors and other non-employees cannot be terminated, obviously. Central Command must be informed of the termination, if one is applied.</li>\
|
||||
<li><b>Hold until Transfer</b> is an option reserved for the Station Director only for repeat offenders, for serious violations of Regulations, or it the offender poses a \
|
||||
credible threat to the station or crew.</li>\
|
||||
</ul>"
|
||||
|
||||
// Minor Violations area
|
||||
/datum/lore/codex/category/corporate_minor_violations
|
||||
name = "Minor Violations (Corporate)"
|
||||
data = "Here is a list of the less severe violations of Corporate Regulations that might occur. We wish to emphasize that for \
|
||||
the minor corporate violations, the local Command team has a lot more discretion to choose a suitable punishment, however \
|
||||
punishments which are much more severe or lax than the suggested punishment listed within may be worthy of an Internal Affairs investigation."
|
||||
children = list(
|
||||
/datum/lore/codex/page/law/minor_trespass,
|
||||
/datum/lore/codex/page/law/petty_company_theft,
|
||||
/datum/lore/codex/page/law/misuse_of_comms,
|
||||
/datum/lore/codex/page/law/disrespecting_head,
|
||||
/datum/lore/codex/page/law/failure_to_execute_order,
|
||||
/datum/lore/codex/page/law/littering,
|
||||
/datum/lore/codex/page/law/graffiti,
|
||||
/datum/lore/codex/page/law/false_complaint,
|
||||
/datum/lore/codex/page/law/breaking_sop_minor,
|
||||
/datum/lore/codex/page/law/resisting_arrest,
|
||||
/datum/lore/codex/page/law/control_contraband,
|
||||
/datum/lore/codex/page/law/indecent_exposure,
|
||||
/datum/lore/codex/page/law/hooliganism
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/law/minor_trespass
|
||||
name = "Minor Trespass"
|
||||
definition = "Being in an area which a person does not have access to, and does not have permission to be in."
|
||||
suggested_punishments = "Removal from area. Fine of up to 150 thaler or brig time of up to 10 minutes at discretion of \
|
||||
arresting officer. Demotion at discretion of Superior. Confiscation of tools used at discretion of arresting officer."
|
||||
suggested_brig_time = 10 MINUTES
|
||||
suggested_fine = 150
|
||||
notes = "Remember that people can either break in, sneak in, or be let in. Always check that the suspect wasn't let in to \
|
||||
do a job by someone with access, or were given access on their ID. Trespassing and theft often committed together; \
|
||||
both sentences should be applied."
|
||||
|
||||
/datum/lore/codex/page/law/petty_company_theft/add_content()
|
||||
name = "Petty Theft of Company Property"
|
||||
keywords += list("Petty Theft")
|
||||
definition = "Taking or using the Company's property without permission, which is of low value."
|
||||
suggested_punishments = "Return of stolen item(s). Fine of up to 200 thaler or brig time of up to 20 minutes. Demotion at discretion of Superior."
|
||||
suggested_brig_time = 20 MINUTES
|
||||
suggested_fine = 200
|
||||
notes = "This is for theft of company belongings which are of a relatively low value, such as low-end medical equipment, tools, clothing, \
|
||||
not paying for food/drink, and such. It is assumed that persons inside a department using departmental equipment have the consent of NanoTrasen to take those items. \
|
||||
Theft from a person, or if stolen objects were not of a trivial worth, falls under [quick_link("Theft")] instead. \
|
||||
[quick_link("Grand Theft")] is reserved for extremely valuable or dangerous objects being stolen."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/misuse_of_comms/add_content()
|
||||
name = "Misuse of Public Communications"
|
||||
keywords += list("Misuse of Comms")
|
||||
definition = "Repetitively using the radio, PDA relays, or other public communication methods as a means to annoy, disturb, \
|
||||
slander, or otherwise verbally abuse others, and ignoring requests to stop."
|
||||
suggested_punishments = "Confiscation of radio <u>if they fail to stop when asked</u>. Demotion at discretion of Superior."
|
||||
notes = "Using languages besides Galactic Common on the radio can consitute Misuse of Public Communications if the station is on Blue alert or higher."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/failure_to_execute_order
|
||||
name = "Failure to Execute an Order"
|
||||
definition = "Refusing to follow a valid, lawful order of a Superior, when able to do so, as an employee of NanoTrasen."
|
||||
suggested_punishments = "50 thaler fine. Demotion at discretion of Superior."
|
||||
suggested_fine = 50
|
||||
notes = "For this charge to apply, the order must be lawful, reasonable, and the person being ordered to do it must have been able to do so. \
|
||||
This includes orders from someone who is not necessarily the direct superior of the offender, but has authority in that context, for instance the Chief Engineer \
|
||||
giving an order about engineering matters."
|
||||
|
||||
/datum/lore/codex/page/law/littering
|
||||
name = "Littering"
|
||||
definition = "Failing to throw garbage away, or otherwise creating a mess."
|
||||
suggested_punishments = "50 thaler fine issued to litterer. Demotion at discretion of Superior <u>for extreme cases or repeat offenders</u>."
|
||||
suggested_fine = 50
|
||||
|
||||
/datum/lore/codex/page/law/graffiti
|
||||
name = "Graffiti"
|
||||
definition = "Defacing Company property, or otherwise writing or drawing on Company property without authorization."
|
||||
suggested_punishments = "Up to 150 thaler fine issued to to those responsible. Cleanup of graffiti. Demotion at discretion of Superior."
|
||||
suggested_fine = 150
|
||||
notes = "This applies for a wide variety of forms of graffiti, including writing on the walls or the floor, or drawing on the floor \
|
||||
with painting tools. Authorization for painting or otherwise altering the floor or walls' appearance can be granted by Command staff."
|
||||
|
||||
/datum/lore/codex/page/law/false_complaint
|
||||
name = "Filing a False Complaint"
|
||||
definition = "Knowingly filing a complaint which is false, and in bad faith, to Internal Affairs, Command, or Security."
|
||||
suggested_punishments = "Fine of 250 thaler. Demotion at discretion of Superior."
|
||||
suggested_fine = 250
|
||||
notes = "If someone's complaint is merely incorrect but not maliciously so, it does not count for this charge."
|
||||
|
||||
/datum/lore/codex/page/law/breaking_sop_minor
|
||||
name = "Breaking Standard Operating Procedure (Minor)"
|
||||
definition = "Actively and willfully disregarding the station's Standard Operating Procedures, without risking serious threat to station property or crew."
|
||||
suggested_punishments = "Fine of 100 thaler. Demotion at discretion of Superior."
|
||||
suggested_fine = 100
|
||||
notes = "This includes refusal to activate suit sensors on blue or red alert."
|
||||
|
||||
/datum/lore/codex/page/law/resisting_arrest
|
||||
name = "Resisting Arrest"
|
||||
definition = "Noncompliance with an Arresting Officer, whom has cause, and is following SOP."
|
||||
suggested_punishments = "Fine of up to 200 thaler, or brig time extention up to 20 minutes. Demotion at discretion of Superior."
|
||||
suggested_fine = 200
|
||||
suggested_brig_time = 20 MINUTES
|
||||
notes = "If this disputed, an Internal Affairs Agent (if available) is to be the impartial mediator."
|
||||
|
||||
/datum/lore/codex/page/law/control_contraband
|
||||
name = "Possession of a Controlled Item (Contraband)"
|
||||
definition = "Carrying an object which NanoTrasen has deemed harmful, or otherwise undesired for the \
|
||||
station, but which is not illegal by Law or dangerous to possess."
|
||||
suggested_punishments = "Confiscation of the controlled items if brought onboard. The owner may have the items back when they leave the station."
|
||||
notes = "Visitors boarding the station with controlled items must leave the item outside the station (e.g. their vessel), or surrender \
|
||||
it to the Security team for the duration of their stay. A list of contraband is provided inside this book."
|
||||
|
||||
/datum/lore/codex/page/law/disrespecting_head
|
||||
name = "Disrespecting a Head of Staff"
|
||||
definition = "Knowingly insulting, belittling, offending, or otherwise disrespecting a Head of Staff of NanoTrasen, while also \
|
||||
an employee of NanoTrasen."
|
||||
suggested_punishments = "Fine of up to 100 thaler. Demotion at discretion of Superior."
|
||||
suggested_fine = 100
|
||||
notes = "Accidential cases resulting from, for example, ignorance of a species' culture, invalidates this charge."
|
||||
|
||||
/datum/lore/codex/page/law/indecent_exposure
|
||||
name = "Indecent Exposure"
|
||||
definition = "To be intentionally and publicly unclothed in public."
|
||||
suggested_punishments = "Fine of 150 thaler. Demotion at discretion of Superior."
|
||||
suggested_fine = 150
|
||||
notes = "Exceptions are allowed based on species. See the Dress Code section of General SOP for more details."
|
||||
|
||||
/datum/lore/codex/page/law/hooliganism
|
||||
name = "Hooliganism"
|
||||
definition = "To intentionally engage in disruptive behavior such as belligerent drunkenness, disorderly shouting, or aggressive assembly. "
|
||||
suggested_punishments = "Fine of 100 thaler or brig time of 15 minutes. Demotion at discretion of Superior."
|
||||
suggested_fine = 100
|
||||
notes = "People who are intoxicated and being an annoyance can be brigged until they become sober, at the discretion of the Arresting Officer."
|
||||
|
||||
// Major Violations area
|
||||
/datum/lore/codex/category/corporate_major_violations
|
||||
name = "Major Violations (Corporate)"
|
||||
data = "Here is a list of the more severe violations of Corporate Regulations that might occur. If someone is guilty of \
|
||||
a violation listed here, it is highly recommended that a report be sent to your local Central Command."
|
||||
children = list(
|
||||
/datum/lore/codex/page/law/major_trespass,
|
||||
/datum/lore/codex/page/law/i_am_the_law,
|
||||
/datum/lore/codex/page/law/abuse_of_office,
|
||||
/datum/lore/codex/page/law/restricted_contraband,
|
||||
/datum/lore/codex/page/law/breaking_sop_major,
|
||||
/datum/lore/codex/page/law/neglect_of_duty,
|
||||
/datum/lore/codex/page/law/deception,
|
||||
/datum/lore/codex/page/law/wrongful_dismissal,
|
||||
/datum/lore/codex/page/law/abuse_of_confiscated_equipment
|
||||
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/law/major_trespass/add_content()
|
||||
name = "Major Trespass"
|
||||
keywords += list("Infiltration")
|
||||
definition = "Being in an restricted, or otherwise dangerous (to themselves or others) area which they do not have access to, \
|
||||
and do not have permission to be in."
|
||||
suggested_punishments = "Demotion. Termination at discretion of Station Admin. Send notice to Central Command."
|
||||
notes = "Also sometimes called Infiltration. Such areas include the AI upload/core, Armory, Engine, Atmospherics, Virology, Bridge, Station Admin's office. \
|
||||
Other areas may warrant the [quick_link("Minor Trespass")] charge instead."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/i_am_the_law/add_content()
|
||||
name = "Exceeding Official Powers"
|
||||
definition = "Acting beyond what is allowed by Corporate Regulations or Standard Operating Procedure, generally as a member of Command or Security."
|
||||
suggested_punishments = "Demotion or termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or Station Director had exceeded their powers."
|
||||
notes = "The difference between this and [quick_link("Abuse of Office")] is that generally this charge is for instances of someone using their position to go beyond their \
|
||||
assigned role, or generally acting 'above the regulations'."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/abuse_of_office/add_content()
|
||||
name = "Abuse of Office"
|
||||
definition = "Doing illegal, immoral, or otherwise disallowed actions, in an official capacity, placing their own interests ahead of the interests of the Company."
|
||||
suggested_punishments = "Demotion. Termination at discretion of Station Admin. Send notice to Central Command if a Head of Staff or Station Director had abused their office."
|
||||
notes = "The difference between this and [quick_link("Exceeding Official Powers")] is that this charge is for instances of someone using their authority to adversely \
|
||||
affect another crewmember or visitor unlawfully by using their authority, or otherwise empowering themselves for their own personal gain."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/restricted_contraband
|
||||
name = "Possession of a Restricted Item"
|
||||
definition = "Carrying an object which Nanotrasen deems dangerous to the welfare of the station as a whole, such as a deadly weapon, by someone not authorized to handle it."
|
||||
suggested_punishments = "Confiscation of the restricted item, and notice be sent to Central Command. Persons may be detained and investigated if deemed necessary."
|
||||
notes = "Visitors boarding the station with restricted items must leave the item outside the station (e.g. vessel), or surrender it to the Security team. \
|
||||
A list of restricted items are provided inside this book.\
|
||||
<br><br>\
|
||||
Roles authorized to handle a weapon by default include; Station Director, Head of Personnel, Head of Security, Security Officers, Detectives, and anyone possessing \
|
||||
a valid weapon permit."
|
||||
|
||||
/datum/lore/codex/page/law/breaking_sop_major
|
||||
name = "Breaking Standard Operation Procedure (Major)"
|
||||
definition = "Actively and willfully disregarding the station's Standard Operating Procedures, where the probable effects includes death or destruction."
|
||||
suggested_punishments = "30 minutes to 1 hour of Brig time. Demotion left to discretion of Superior, but strongly suggested. Termination at discretion of Station Director."
|
||||
suggested_brig_time = 1 HOUR
|
||||
notes = "This includes non-compliance to orders from Emergency Responders, entering breached areas without proper EVA gear."
|
||||
|
||||
/datum/lore/codex/page/law/neglect_of_duty
|
||||
name = "Neglect of Duty"
|
||||
definition = "To fail to meet satisfactory work standards."
|
||||
suggested_punishments = "Demotion at discretion of Superior. Termination at discretion of Station Director."
|
||||
notes = "This includes accidents, refusing or failing to work, or simply not providing a resonable amount of productivity, when the offender is capable of work. This charge \
|
||||
is meant to be applied only by Command staff to their subordinates, and not from individual Security Officers."
|
||||
|
||||
/datum/lore/codex/page/law/deception
|
||||
name = "Deception"
|
||||
definition = "To lie in an official report."
|
||||
suggested_punishments = "Demotion. Termination at discretion of Station Director. Notify Central Command."
|
||||
notes = "This includes lying or withholding information to your superior in a report or lying to the crew about a situation."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/wrongful_dismissal
|
||||
name = "Wrongful Dismissal"
|
||||
definition = "To demote, dismiss, terminate, or otherwise reduce a crewmember's rank for no valid, or a knowingly false reason."
|
||||
suggested_punishments = "Demotion. Termination at discretion of Station Director. Notify Central Command."
|
||||
notes = "An Internal Affairs Agent is required to do an investigation in order to conclude if this has occured or not. Security cannot \
|
||||
give this charge out on their own."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/abuse_of_confiscated_equipment
|
||||
name = "Abuse of Confiscated Equipment"
|
||||
definition = "To take and use equipment confiscated as evidence or contraband, generally as a member of Security or Command."
|
||||
suggested_punishments = "Demotion of the user. Termination at discretion of Station Director. Return confiscated equipment to evidence storage."
|
||||
notes = "Security shouldn't be using evidence for anything but evidence, and should never use contraband. This is meant for people misusing evidence for personal use. Evidence stolen \
|
||||
in order to cover up a crime would fall under Theft or Tampering with Evidence."
|
||||
99
code/modules/lore_codex/legal_code_data/main.dm
Normal file
@@ -0,0 +1,99 @@
|
||||
/datum/lore/codex/category/main_corp_regs // The top-level categories for SOP/Regs/Law/etc
|
||||
name = "Index"
|
||||
data = "This book is meant to act as a reference for both NanoTrasen regulations, Standard Operating Procedure, and important laws of both \
|
||||
the Sif Governmental Authority and the Solar Confederate Government. The legal interactions between Nanotrasen corporate policy and SGA/SolGov \
|
||||
law can make for some confusing legalese. This book was written by the Vir division of NanoTrasen in order for employees, visitors, and residents \
|
||||
at NanoTrasen installations such as the Northen Star and the Southen Cross to know what isn't allowed, without needing to be a lawyer to read it.\
|
||||
<br><br>\
|
||||
In this book, there are two different types of rules. Corporate Regulations, and Laws. They each cover specific situations, and are both enforced \
|
||||
by the Security team. Despite this, however, the punishments vary considerably for the two types. It should also be noted that no one is above \
|
||||
these rules, not even the Station Director.\
|
||||
<br><br>\
|
||||
Also contained inside are our Standard Operating Procedures, that all employees of NanoTrasen are expected to follow, and for the local facility's \
|
||||
Command team and Internal Affairs to enforce.\
|
||||
<br><br>\
|
||||
It should be noted that by being on-board our facility, you agree to follow the rules of Corporate Regulations. By being within SGA space, \
|
||||
you are also required to follow the laws of SifGov."
|
||||
children = list(
|
||||
/datum/lore/codex/category/standard_operating_procedures,
|
||||
/datum/lore/codex/category/corporate_regulations,
|
||||
/datum/lore/codex/category/sif_law,
|
||||
/datum/lore/codex/page/overview,
|
||||
/datum/lore/codex/page/about_corp_regs
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/about_corp_regs
|
||||
name = "About"
|
||||
data = "This book was written and published by NanoTrasen, for use on NanoTrasen installations from within the Vir system."
|
||||
|
||||
|
||||
// Special page which will hopefully enforce consistant formatting.
|
||||
/datum/lore/codex/page/law
|
||||
var/definition = null // Short definition of the law violation.
|
||||
var/suggested_punishments = null
|
||||
var/suggested_brig_time = null
|
||||
var/suggested_fine = null
|
||||
var/notes = null
|
||||
var/mandated = FALSE // If true, changes 'suggested' to 'mandated' for punishments, used for sifgov laws and some high corporate regs.
|
||||
|
||||
/datum/lore/codex/page/law/add_content()
|
||||
data = "<i>[definition]</i>\
|
||||
<br><br>\
|
||||
<h3>[mandated ? "Required":"Recommended"] punishment:</h3>\
|
||||
[suggested_punishments]\
|
||||
<br><br>\
|
||||
<h3>Comments:</h3>\
|
||||
[notes]"
|
||||
|
||||
// Autogenerates a table which will resemble the traditional wiki table.
|
||||
/datum/lore/codex/page/overview
|
||||
name = "Overview"
|
||||
data = "This has a table of all the corporate violations and legal crimes contained inside this book. The 'mandated' area \
|
||||
determines the flexibility/strictness allowed in sentencing for violations/crimes."
|
||||
|
||||
/datum/lore/codex/page/overview/add_content()
|
||||
var/list/law_sources = list(
|
||||
/datum/lore/codex/category/corporate_minor_violations,
|
||||
/datum/lore/codex/category/corporate_major_violations,
|
||||
/datum/lore/codex/category/law_minor_violations,
|
||||
/datum/lore/codex/category/law_major_violations
|
||||
)
|
||||
var/list/table_color_headers = list("#66ffff", "#3399ff", "#ffee55", "#ff8855")
|
||||
var/list/table_color_body_even = list("#ccffff", "#66ccff", "#ffee99", "#ffaa99")
|
||||
var/list/table_color_body_odd = list("#e6ffff", "#b3e6ff", "#fff6cc", "#ffd5cc")
|
||||
spawn(2 SECONDS) // So the rest of the book can finish.
|
||||
var/HTML
|
||||
HTML += "<div align='center'>"
|
||||
var/i
|
||||
for(i = 1, i <= law_sources.len, i++)
|
||||
var/datum/lore/codex/category/C = holder.get_page_from_type(law_sources[i])
|
||||
if(C)
|
||||
HTML += "<table style='width:90% text-align:center'>"
|
||||
HTML += "<caption>[quick_link(C.name)]</caption>"
|
||||
HTML += " <tr style='background-color:[table_color_headers[i]]'>"
|
||||
HTML += " <th>Incident</th>"
|
||||
HTML += " <th>Description</th>"
|
||||
HTML += " <th>Suggested Punishment</th>"
|
||||
HTML += " <th>Notes</th>"
|
||||
HTML += " <th>Mandated?</th>"
|
||||
HTML += " </tr>"
|
||||
|
||||
var/j = 1 //Used to color rows differently if even or odd.
|
||||
for(var/datum/lore/codex/page/law/L in C.children)
|
||||
if(!L.name)
|
||||
continue // Probably something we don't want to see.
|
||||
HTML += " <tr style='background-color:[j % 2 ? table_color_body_even[i] : table_color_body_odd[i]]'>"
|
||||
HTML += " <td><b>[quick_link(L.name)]</b></td>"
|
||||
HTML += " <td>[L.definition]</td>"
|
||||
HTML += " <td>[L.suggested_punishments]</td>"
|
||||
HTML += " <td>[L.notes]</td>"
|
||||
HTML += " <td>[L.mandated ? "<font color='red'>Yes</font>" : "<font color='green'>No</font>"]</td>"
|
||||
HTML += " </tr>"
|
||||
j++
|
||||
|
||||
HTML += "</table>"
|
||||
HTML += "<br><br>"
|
||||
HTML += "</div>"
|
||||
|
||||
data = data + HTML
|
||||
..()
|
||||
285
code/modules/lore_codex/legal_code_data/sif_law.dm
Normal file
@@ -0,0 +1,285 @@
|
||||
/datum/lore/codex/category/sif_law
|
||||
name = "Sif Law"
|
||||
data = "This section contains the abbreviated Sif Govermental Authority legal code's potential charges for crimes that are relevant to \
|
||||
the reader."
|
||||
children = list(
|
||||
/datum/lore/codex/page/legal_punishments,
|
||||
/datum/lore/codex/category/law_minor_violations,
|
||||
/datum/lore/codex/category/law_major_violations
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/legal_punishments
|
||||
name = "Punishments (Law)"
|
||||
data = "A violation of Sif Law is considered far more serious then a violation of corporate regulations. \
|
||||
As a result, its expected that a member of Internal Affairs be present to observe and assist security with the paperwork if they are able. \
|
||||
Unlike Corporate Regulations, all violations of Sif Law will require a fax detailing the events to be sent to the \
|
||||
Sif Governmental Authority within a certain amount of time based on whether or not it was a minor or major violation. \
|
||||
Punishments will usually include brig time with fines still remaining an option for the far less serious crimes. \
|
||||
It should be noted that a majority of major violations carry a 'Hold till Transfer' order."
|
||||
|
||||
/datum/lore/codex/category/law_minor_violations
|
||||
name = "Minor Violations (Law)"
|
||||
data = "Here is a list of the less severe violations of local Sif Law that might occur on your facility. A fax to the Sif Governmental Authority \
|
||||
is required to be sent within 24 hours of a violation being comitted, for minor violations listed here."
|
||||
children = list(
|
||||
/datum/lore/codex/page/law/theft,
|
||||
/datum/lore/codex/page/law/assault,
|
||||
/datum/lore/codex/page/law/battery,
|
||||
/datum/lore/codex/page/law/vandalism,
|
||||
/datum/lore/codex/page/law/animal_cruelty,
|
||||
/datum/lore/codex/page/law/disrespect_dead,
|
||||
/datum/lore/codex/page/law/slander,
|
||||
/datum/lore/codex/page/law/drone_id_failure
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/law/assault/add_content()
|
||||
name = "Assault"
|
||||
definition = "To threaten use of physical force against someone while also having the capability and/or intent to carry out that threat."
|
||||
suggested_punishments = "Seperation of offender from the threatened person. Brig time of 10 minutes for first offense. \
|
||||
Repeat offenders can be brigged for up to (10 minutes times number of previous assault charges). Demotion at discretion of Superior."
|
||||
notes = "Not to be confused with [quick_link("Battery")], which covers actual physical injury. The threat must be viable and serious; \
|
||||
two people threatening to punch each other out over comms wouldn't fall under this."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/battery/add_content()
|
||||
name = "Battery"
|
||||
definition = "To unlawfully use physical force against someone which results in injury to the attacked party."
|
||||
suggested_punishments = "Brig time of 20 minutes for first offense. Repeat offenders are to be brigged for up to \
|
||||
20 minutes times number of previous battery charges. Demotion at discretion of Superior. Weapons or other objects used (such as flashes) may be \
|
||||
confiscated at discretion of Arresting Officer."
|
||||
notes = "Not to be confused with [quick_link("Assault")], which covers the threat of harm. If the victim suffers life-threatening injuries, the more \
|
||||
serious [quick_link("Aggravated Battery")] charge should be applied instead."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/theft
|
||||
name = "Theft"
|
||||
definition = "To knowingly take items without the consent of the owner."
|
||||
suggested_punishments = "Brig time of 20 minutes. Demotion at discretion of Superior. Confiscation of tools used at discretion of arresting officer."
|
||||
notes = "It is assumed that persons inside a department using departmental equipment have the consent of NanoTrasen to take those items. \
|
||||
Security does not commit theft when taking contraband away from a detainee. Stolen items are to be confiscated and returned to \
|
||||
their original owner or location."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/vandalism/add_content()
|
||||
name = "Vandalism"
|
||||
definition = "To deliberately damage or deface the station."
|
||||
suggested_punishments = "Fine of up to 200 thaler or brig time of up to 30 minutes. \
|
||||
Demotion at discretion of Superior. Confiscation of tools used at discretion of arresting officer."
|
||||
notes = "This should be used for minor damages such as broken windows which do not lead to vacuum, flipping tables, breaking \
|
||||
lights, ripping up floor tiles, and such. More serious or life threatening damages should have [quick_link("Sabotage")] applied instead."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/animal_cruelty
|
||||
name = "Animal Cruelty"
|
||||
definition = "To inflict unnecessary suffering or harm on a non-sapient biological being which poses no threat to any persons."
|
||||
suggested_punishments = "Brig time of 1 hour. Demotion at discretion of Superior, however recommended."
|
||||
notes = "This does not include the use of monkeys for test subjects for legitimate scientific experimentation, such as viral research, \
|
||||
or xenobiological applications. It also does not include the butchering of livestock animals for meat, nor does it include violence against a threatening \
|
||||
animal, such as Carp."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/disrespect_dead
|
||||
name = "Disrespect to the Dead"
|
||||
definition = "To damage, disfigure, butcher, or otherwise physically violate the integrity or former identity of a corpse."
|
||||
suggested_punishments = "Brig time of 1 hour. Demotion at discretion of Superior, however recommended."
|
||||
notes = "The butchering of livestock animals does not fall under this charge. Autopsies, and the harvesting of organs for \
|
||||
donation in accordance with postmortem instructions also do not fall under this."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/drone_id_failure
|
||||
name = "Failure to Present Drone ID"
|
||||
definition = "Failing to carry or present an EIO-issued Drone Identification card as a Drone intelligence."
|
||||
suggested_punishments = "200 thaler fine. Give Drone a temporary paper stating that it is a drone, if the ID was lost. Fax SifGov. Inform owner of \
|
||||
Drone if possible. Instruct Drone to obtain new ID at its earliest opportunity, if it was lost."
|
||||
notes = "This is only applicable to Drone intelligences which possess autonomous capability. It must be proven that the offender is a Drone, which can be \
|
||||
accomplished in various ways, generally with the expertise of a Roboticist. Lawbound synthetics, maintenance drones, and \
|
||||
simple bots do not require an ID card. No fine or SifGov fax should be sent if the Drone's ID was lost due to theft and the ID is able to be recovered."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/slander
|
||||
name = "Slander / Libel"
|
||||
definition = "To spread false rumours in order to damage someone's reputation."
|
||||
suggested_punishments = "150 thaler fine."
|
||||
notes = "Slander is for verbal cases, where as Libel is for written cases."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/category/law_major_violations
|
||||
name = "Major Violations (Law)"
|
||||
data = "Here is a list of the serious violations of local Sif Law that might occur on your facility. A fax to the Sif Governmental Authority \
|
||||
is required to be sent within one hour, or when it is safe to do so, for major crimes listed here."
|
||||
children = list(
|
||||
/datum/lore/codex/page/law/aggravated_battery,
|
||||
/datum/lore/codex/page/law/tampering_with_evidence,
|
||||
/datum/lore/codex/page/law/embezzlement,
|
||||
/datum/lore/codex/page/law/excessive_force,
|
||||
/datum/lore/codex/page/law/manslaughter,
|
||||
/datum/lore/codex/page/law/murder,
|
||||
/datum/lore/codex/page/law/suicide_attempt,
|
||||
/datum/lore/codex/page/law/unlawful_law_changes,
|
||||
/datum/lore/codex/page/law/transgressive_tech,
|
||||
/datum/lore/codex/page/law/unrated_drones,
|
||||
/datum/lore/codex/page/law/grand_theft,
|
||||
/datum/lore/codex/page/law/sabotage,
|
||||
/datum/lore/codex/page/law/hostage_taking,
|
||||
/datum/lore/codex/page/law/terrorist_acts
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/law/aggravated_battery/add_content()
|
||||
name = "Aggravated Battery"
|
||||
definition = "To unlawfully use physical force against someone which results in serious or life-threatening injury to the attacked party."
|
||||
suggested_punishments = "Hold until Transfer. Weapons or other objects used are to be confiscated."
|
||||
notes = "Not to be confused with assault, which covers the threat of harm. If the victim did not suffer life-threatening injuries, the less \
|
||||
serious [quick_link("Battery")] charge should be applied instead."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/tampering_with_evidence/add_content()
|
||||
name = "Tampering with Evidence / Obstruction of Justice"
|
||||
keywords += list("Tampering with Evidence", "Obstruction of Justice")
|
||||
definition = "To take intentional action to obstruct or inhibit investigation of a crime or regulation violation."
|
||||
suggested_punishments = "Hold until Transfer if obstructing a crime. Demotion or termination if obstructing a regulation violation."
|
||||
notes = "This can include cleaning up blood at a crimescene, hiding evidence, scrubbing the messaging server/telecomms logs, and burning papers. \
|
||||
Planting or altering evidence, giving false testimony, preventing Security from investigating, or extorting any person to do the same also falls \
|
||||
under this charge. Blood being cleaned at a location not cordoned off with Security tape does not fall under this charge."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/embezzlement
|
||||
name = "Embezzlement"
|
||||
definition = "Stealing money that is entrusted to you by a corporation or person."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Reimbursement of embezzled funds. Fax Central Command and SifGov."
|
||||
notes = "This includes funneling Departmental, Facility, or Crew funds into the offender's account. It also includes pocketing \
|
||||
transactions directly that are meant to go to a seperate account."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/excessive_force/add_content()
|
||||
name = "Excessive Force"
|
||||
definition = "Using more force than what is required to safely detain someone, using force against a helpless or incapacitated person, \
|
||||
or using force against an unarmed and compliant person."
|
||||
suggested_punishments = "Demotion. Termination at discretion of Superior, or Station Director. Send notice to Central Command if a Head of Security had used excessive force."
|
||||
notes = "This charge also is applicible to non-Security personnel acting in self defense. \
|
||||
Persons whom have caused a person to die as a result of excessive force should have [quick_link("Manslaughter")] applied instead, if the circumstances were \
|
||||
unjustified."
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/manslaughter/add_content()
|
||||
name = "Manslaughter"
|
||||
definition = "To kill a sapient being without intent."
|
||||
suggested_punishments = "Hold until Transfer, if unjustified. Fax SifGov."
|
||||
notes = "Includes provoked manslaughter, negligent manslaughter, and impassioned killing. The important distinction between this \
|
||||
and [quick_link("Murder")] is intent. Manslaughter can be justified if force was nessecary and it was intented to prevent further loss of life or \
|
||||
grievous injury to self or others, however persons involved in the kill will still be required to answer to higher legal authority \
|
||||
after the shift."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/murder/add_content()
|
||||
name = "Murder"
|
||||
definition = "To kill or attempt to kill a sapient being with malicious intent."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "The distinction between this and [quick_link("Manslaughter")] is intent. Sapients held within synthetic bodies, lawbound or otherwise, which receive \
|
||||
critical damage from someone can be considered a murder attempt."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/suicide_attempt
|
||||
name = "Suicide Attempt"
|
||||
definition = "To attempt or threaten to commit suicide."
|
||||
suggested_punishments = "Compulsory psychiatric examination."
|
||||
notes = "If a mental care specialist is unavailable, they are to be held until transfer, to be moved to a qualified mental care facility."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/transgressive_tech/add_content()
|
||||
name = "Experimentation with Transgressive Technology"
|
||||
keywords += list("Transgressive", "Illegal Technology")
|
||||
definition = "Experimenting with technologies deemed unsafe or are otherwise federally restricted by the Solar Confederate Government."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov. Delete, destroy, or otherwise remove the experiments."
|
||||
notes = "Unsafe technologies include unrestricted nanomachinery, massive sapient body bio-augmentation, massive sapient brain augmentation, \
|
||||
massively self-improving AI, and animal uplifting."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/unrated_drones
|
||||
name = "Creation of Unrated Drone Intelligence"
|
||||
definition = "Creating an intelligence from an codeline that has not been registered with, or audited by, the Emergent Intelligence Oversight (EIO)."
|
||||
suggested_punishments = "Decommissioning of the newly created Drone. Investigation of Drone to determine level of intelligence, if possible. \
|
||||
Hold until Transfer for the creator."
|
||||
notes = "It must be proven that the Drone is in fact a Drone, which can be accomplished in various ways, generally with the expertise of a Roboticist. \
|
||||
It must also be proven that the Drone's codeline is also unregistered. Intelligences produced from a Maintenance Drone Fabricator, \
|
||||
the Research department, and through other regular means are by default already registered. Very simple machines such as securitrons do not require registration.\
|
||||
<br><br>\
|
||||
The remains of the Drone are to be brought to the Spaceport at the earliest opportunity. Their creator is to also be brought there, so that \
|
||||
they may be questioned by federal authorities."
|
||||
mandated = TRUE
|
||||
/*
|
||||
Punishments for estimated Drone Class.;\
|
||||
<ul>\
|
||||
<li><b>\"F\"-class</b>: No action needed.</li>\
|
||||
<li><b>D-class</b>: 500 thaler fine.</li>\
|
||||
<li><b>C-class</b>: 2500 thaler fine.</li>\
|
||||
<li><b>B-class and higher</b>: Hold until Transfer.</li>\
|
||||
<li><b>Cannot determine</b>: Hold until Transfer, bring Drone to Spaceport for further investigation.</li>\
|
||||
</ul>"
|
||||
*/
|
||||
/datum/lore/codex/page/law/unlawful_law_changes
|
||||
name = "Unlawful Alteration of Bound Synthetics"
|
||||
definition = "Modifying a bound synthetic's lawset or chassis, in order to force it to do illegal, humiliating, dangerous, or other unlawful acts."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "If the synthetic is a cyborg or positronic, this is also an offense against the Sapient Rights laws federally mandated by the Solar Confederate Government."
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/grand_theft
|
||||
name = "Grand Theft"
|
||||
definition = "To steal items that are dangerous, of a high value, or a sensitive nature."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "This can include the following;\
|
||||
<br><ul>\
|
||||
<li>Deadly Weapons or Firearms.</li>\
|
||||
<li>Lethal ammunition.</li>\
|
||||
<li>Explosives.</li>\
|
||||
<li>A Head of Staff's radio headset or decryption key.</li>\
|
||||
<li>A Head of Staff's ID card (including the Director's Spare).</li>\
|
||||
<li>Sensitive or confidential documents, such as the crews' account information.</li>\
|
||||
<li>Viral samples.</li>\
|
||||
<li>AI law boards.</li>\
|
||||
<li>All circuits found in Secure Technical Storage.</li>\
|
||||
<li>Research data.</li>\
|
||||
<li>Hand Teleporters.</li>\
|
||||
<li>The AI, if a Drone intelligence (otherwise it is Kidnapping/Hostage Taking).</li>\
|
||||
<li>The Facility's Blueprints.</li>\
|
||||
<li>The RCD.</li>\
|
||||
<li>Phoron, in any form.</li>\
|
||||
<li>Mineral wealth obtained from Mining or the Vault (Gold, Silver, Diamonds, etc).</li>\
|
||||
<li>Hardsuits.</li>\
|
||||
<li>Money in excess of 5,000 thaler.</li>\
|
||||
</ul>"
|
||||
mandated = TRUE
|
||||
|
||||
/datum/lore/codex/page/law/sabotage/add_content()
|
||||
name = "Sabotage"
|
||||
definition = "To deliberately damage, or attempt to damage the facility, or critical systems of the facility."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "This includes causing hull breaches, arson, sabotaging air supplies, stealing vital equipment, tampering with AI or telecomm systems, and sabotaging the \
|
||||
Engine. If someone has only caused minor damage, the [quick_link("Vandalism")] charge should be used instead."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/hostage_taking/add_content()
|
||||
name = "Kidnapping / Hostage Taking"
|
||||
keywords += list("Kidnapping", "Hostage Taking")
|
||||
definition = "To unlawfully confine, transport, or hold a sapient being against that individual's will."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "Persons held for ransom or exchange are also considered to be hostages for this charge."
|
||||
mandated = TRUE
|
||||
..()
|
||||
|
||||
/datum/lore/codex/page/law/terrorist_acts/add_content()
|
||||
name = "Terrorist Acts"
|
||||
keywords += list("Terrorism")
|
||||
definition = "To engage in maliciously destructive actions, which seriously threaten the crew or facility, or the usage of weapons of mass destruction."
|
||||
suggested_punishments = "Hold until Transfer. Termination. Fax SifGov."
|
||||
notes = "This includes the use of mass bombings, mass murder, releasing harmful biological agents, nuclear weapons, \
|
||||
radiological weapons, and chemical weapons."
|
||||
mandated = TRUE
|
||||
..()
|
||||
348
code/modules/lore_codex/legal_code_data/sop.dm
Normal file
@@ -0,0 +1,348 @@
|
||||
/datum/lore/codex/category/standard_operating_procedures
|
||||
name = "Standard Operating Procedures"
|
||||
data = "This section details the various Standard Operating Procedures (often shortened to 'SOP') one may find onboard a NanoTrasen facility."
|
||||
children = list(
|
||||
/datum/lore/codex/page/general_sop,
|
||||
// These are still being discussed
|
||||
// /datum/lore/codex/page/command_sop,
|
||||
// /datum/lore/codex/category/security_sop,
|
||||
// /datum/lore/codex/page/engineering_sop,
|
||||
// /datum/lore/codex/category/medical_sop,
|
||||
// /datum/lore/codex/page/science_sop,
|
||||
/datum/lore/codex/category/alert_levels
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/general_sop
|
||||
name = "General SOP"
|
||||
data = "This applies to everyone onboard a NanoTrasen facility, including guests. Note that specific departmental operating procedures can override some of \
|
||||
the procedures listed here.\
|
||||
<br><br>\
|
||||
<h3>Visitors</h3>\
|
||||
Visitors of all forms are required to follow SOP, Corporate Regulations, and local laws while onboard or around NanoTrasen property. Visitors who are \
|
||||
not registered on the manifest are required to speak with the Head of Personnel or Station Director, if one exists, to register, and obtain an identification \
|
||||
card denoting their status as a visitor. Visitors registered on the manifest are free to visit any public (non-access restricted) location on the facility, however \
|
||||
they are still subject to the same regulations and rules as an ordinary crew member.\
|
||||
<br>\
|
||||
<h3>Dress Code</h3>\
|
||||
All crew members and visitors, with exceptions listed below, are to wear the following at minimum: A shirt that covers the chest, pants, shorts or skirts that \
|
||||
go no shorter than two inches above the knee, and some form of foot covering. Those in departments considered to be emergency services (Security, \
|
||||
Medical, Engineering) should wear a marker denoting their department, examples being armbands, uniforms, badges, or other means. Those in a department \
|
||||
are expected to wear clothes appropiate to protect against common risks for the department. Off duty personnel, visitors, and those engaging in certain recreational \
|
||||
areas such as the Pool (if one is available on your facility) have less strict dresscode, however clothing of some form must still be worn in public.\
|
||||
<br><br>\
|
||||
Exceptions: Skrell, Teshari, and Unathi are expected to cover at minimum their lower bodies. Tajaran males may go topless, as a means to keep cool. \
|
||||
Dionaea and 'robotic' synthetics have no minimum required amount of clothing, however they should still wear a departmental marker if in a department. \
|
||||
'Realistic' synthetics are expected to have the same minimum as the species they appear as.\
|
||||
<br>\
|
||||
<h3>Breach/Fire Procedure</h3>\
|
||||
Emergency shutters are yellow-colored doors which lock down the flow of gas automatically, if the facility's systems detect an issue with the atmosphere. \
|
||||
If lights on the shutter are flashing, <b>do not open the shutter</b>, or you will endanger both yourself and anyone else with you. Allow Engineering to \
|
||||
resolve the issue. If you must enter a breached or burning area, appropriate safety gear must be worn. Use inflatable doors and walls in order to present \
|
||||
less risk to other crew members, if possible.\
|
||||
<br>\
|
||||
<h3>EVA Procedure</h3>\
|
||||
Extravehicular activity should only be done by EVA trained and certified crew members, if there is no emergency. If an emergency is occuring, NanoTrasen \
|
||||
provides high visibility, easy to seal emergency softsuits inside blue emergency lockers located at key locations inside your facility. Regardless, \
|
||||
for your own safety, you should only enter or exit the facility from designated external airlocks, which contain an air cycling system. It is both \
|
||||
wasteful and potentially dangerous to 'force' an external airlock to open before cycling has completed. Before cycling out into the void, the person going \
|
||||
on EVA should double check that their internal oxygen supply (or cooling system, if they are a synthetic) is functioning properly and that they have an adaquate \
|
||||
amount of oxygen inside the tank. Magnetic boots are also highly suggested if the person will be scaling the sides of your facility, to prevent drifting away \
|
||||
from the facility.\
|
||||
<br><br>\
|
||||
Persons going on EVA are to inform their department, or if that is not possible, the facility proper, of leaving. Those on EVA are recommended to maximize their \
|
||||
suit sensors, and maintain contact with the facility with radio, if possible.\
|
||||
<br>\
|
||||
<h3>Shuttle Docking and Elevator Safety</h3>\
|
||||
No one is to remain outside the designated docking areas for shuttles and elevators, as those areas are extremely hazardous. If repairs or other work are \
|
||||
required to be done in those areas, at least one crew member is required to be at the shuttle or elevator's associated console, in order to cancel any movement.\
|
||||
<br>\
|
||||
"
|
||||
/*
|
||||
/datum/lore/codex/page/command_sop
|
||||
name = "Command SOP"
|
||||
data = "This SOP is specific to those in the Command department, which includes the Station Director, Head of Personnel, Chief Engineer, Head of Security, and Research Director. \
|
||||
This also covers Internal Affairs Agents, however they do not occupy a position inside Command crew, and instead exist outside of all the other departments.\
|
||||
<br>\
|
||||
<h3>Bridge Secretaries</h3>\
|
||||
Bridge Secretaries are not considered Command crew. They are present to assist the Command crew where needed. Command Secretaries are equivalent to station crew in all other \
|
||||
regards.\
|
||||
<br>\
|
||||
<h3>Responsibility and Authority</h3>\
|
||||
The Chain of Command is generally represented as: Station Director > Command Crew > Station Crew.<br>\
|
||||
The Station Director is responsible for, and authoritative in, and and all matters regarding the station. In the absence of a Department Head, the Station Director \
|
||||
may choose to appoint an Acting Head, or else act as the voice of authority in a department. If a Department Head arrives on station, the Acting Head \
|
||||
is to step down, and the Station Director is to defer to the Department Head in matters involving said department.\
|
||||
<br>\
|
||||
The remainder of the Command Crew is of equal rank among themselves, and are responsible for, and authoritative over only their own department, crew, and location. \
|
||||
In the case of the Head of Personnel, this includes Service, Cargo, and any other Civilian role. Command Crew only have authority in their own department, when going \
|
||||
outside of their department, they must work through the same channels as Station Crew.\
|
||||
<br>\
|
||||
<h3>Demotion</h3>\
|
||||
A member of the Command Crew may call for the demotion of any member of their department for disregarding safety protocol, disobeying orders with serious consequences, \
|
||||
or other gross incompetence. Certain infractions necessitate that a guilty crew member receive a demotion. Demotion is to be performed by the Head of Personnel, or the \
|
||||
Station Director, as soon as possible. The demoted crewmember is to be present during the demotion, unless it is caused by a criminal sentence. If said crewmemeber \
|
||||
refuses to comply with a demotion order, Security is to escort them to the Head of Personnel's office.\
|
||||
<br>\
|
||||
Any demoted crewmember must return all equipment and non-personal items to their previous department, including departmental jumpsuits and radios. If a demoted \
|
||||
crewmember does not have personalized clothing, they are welcome and encouraged to use a grey jumpsuit. If they do not return department property, Security \
|
||||
may treat said items as stolen.\
|
||||
<br>\
|
||||
<h3>Chain of Command & Succession</h3>\
|
||||
In case of emergency or other need, and in the absence of a Station Director, an Acting Director may be selected from active, certified Command crew. \
|
||||
The selected individual has the same responsibility and authority as a certified Station Director, along with that of their regular position, with the assumption that \
|
||||
they will step down if a certified Station Director arrives on station. This role is entirely voluntary, and no Command crew may be forced into the role \
|
||||
if they are opposed to doing so.\
|
||||
<br>\
|
||||
The preferred order of selecting an Acting Director is as follows:<br>\
|
||||
The role is to be offered to the Head of Personnel, if one is present. If there is no Head of Personnel, or they are unwilling to assume Acting Director, the \
|
||||
position is offered to non-Security Command crew. If no other Command crew is available or willing to assume Acting Director, the Head of Security may be offered \
|
||||
the position. If no other Command crew is available or willing to assume Acting Director, no Acting Director is selected. Acting Command may not be offered or accept \
|
||||
Acting Director.\
|
||||
<br>\
|
||||
<h3>Command Crew Demotions</h3>\
|
||||
If a member of the Command crew is suspected to be incompetent, or in breach of SOP, the Station Director has discretion to demote the guilty Command crewmember. \
|
||||
If there is no Station Director, or the Station Director themselves is guilty, they may be demoted after a vote of no confidence by the remaining Command crew \
|
||||
and relevant station crew. For the Station Director, the vote is only to be among the remaining Command crew. Misuse of this privilage may warrant an \
|
||||
Internal Affairs investigation for wrongful dismissal.\
|
||||
<br>\
|
||||
<h3>Communications with Central Command</h3>\
|
||||
The individuals hired to fill Command roles are expected to be competent in their roles and duties, and contacting Central Command when it is not strictly \
|
||||
necessary may reflect poorly upon them. As such, Command crew should try to find and act upon a solution that does not require Central Command input, before \
|
||||
any messages are sent. However, please do not be discouraged from sending proper IA reports, incident notifications, and other necessary paperwork as detailed \
|
||||
in this book.\
|
||||
<br>\
|
||||
<h3>Internal Affairs</h3>\
|
||||
Internal Affairs Agents are on station at the behest of Human Resources. They are not subordinate to the Command crew, but neither is anyone subordinate to them. \
|
||||
Internal Affairs Agents are to work with the Command crew when possible. An agent is to not go above the authority of the Command crew unless said Command crew \
|
||||
member is involved, or otherwise unable to assist in the matter. Any member of the crew can be subject to an Internal Affairs investigation. This includes \
|
||||
the Command crew and other Internal Affairs agents. If the Internal Affairs investigation reveals wrongdoing, including SOP breach, the investigated party is to \
|
||||
be punished according to Corporate Regulations or Sif Law, whichever is applicable, or from orders from Central Command."
|
||||
|
||||
/datum/lore/codex/page/engineering_sop
|
||||
name = "Engineering SOP"
|
||||
data = "This SOP is specific to those in the Engineering department, and focuses on engine safety, breach response, atmospherics, and such. \
|
||||
<br>\
|
||||
<h3>Engine Safety</h3>\
|
||||
Your facility's engine is what provides the majority of electricity to the rest of your facility. As such, the engine is to have priority over \
|
||||
all other engineering issues, including breaches, if an issue with the engine exists. This book assumes your facility is using one or more thermoelectric engines \
|
||||
(generally referred to as TEGs), driven by a Supermatter crystal. If this is not the case, please consult the documentation for your specific engine for safety precauctions.\
|
||||
<br>\
|
||||
The Supermatter crystal is what presents the most danger to a crewmember. The Supermatter is to remain isolated inside the engine room, inside \
|
||||
its own chamber, for several reasons. First, Supermatter reacts poorly to oxygen, harming the crystal and causing heat. Second, <b>the crystal \
|
||||
will vaporize most matter it comes into contact with, which includes crewmembers. Never touch the Supermatter.</b> Third, having an isolated chamber \
|
||||
is needed in order to drive the TEGs. Under no circumstances is the Supermatter to be moved outside the chamber, unless for Ejection Procedure.\
|
||||
<br>\
|
||||
Safety gear must be worn while inside the engine room at all times. This safety gear includes a full Radiation Suit, as well as Meson \
|
||||
Goggles. If a Radiation Suit cannot be worn, due to an emergency, the engineering voidsuit provides some shielding from the radiation, \
|
||||
however it is inferior to the regular suit, and medical attention is advised after leaving the engine room.\
|
||||
<br>\
|
||||
The engine room contains a powerful industrial laser, generally called an Emitter. <b>Never stand in front of an Emitter, even if it is inactive.</b> \
|
||||
The Emitter is used to 'charge' the Supermatter, so that it releases heat in a controlled manner. An excessive amount of Emitter blasts can cause \
|
||||
engine instability. As such, the Emitter should never be left unattended if it is active.\
|
||||
<br>\
|
||||
The engine monitoring room contains various consoles to adjust and monitor the engine and facility systems. Due to the risk that untrained persons can \
|
||||
present to themselves and others, Non-Engineering crew should not enter the engine room, or the engine monitoring room, without good cause.\
|
||||
<br>\
|
||||
<h3>Atmospherics</h3>\
|
||||
Atmospherics in this context refers to both the systems used to maintain air onboard your facility, as well as the centralized room which contains those \
|
||||
systems. Atmospherics should never be modified by untrained personnel, as this can put the entire facility at risk. As such, non-Engineering crew are \
|
||||
not permitted inside Atmospherics without permission, as well as supervision from a member of Engineering.\
|
||||
<br>\
|
||||
The distribution loop (generally referred to as Distro) is a pipeline distinguished by a dark blue color which connects Atmospherics with the rest of the \
|
||||
facility, with the ventilation system. The pressure of Distro should be tightly regulated, and should not contain excessive amounts of gas. The air vents \
|
||||
will try to prevent 'over-filling' a room, however this system is not perfect, and extremely high Distro pressures can cause a safety hazard.\
|
||||
<br>\
|
||||
<h3>Breach Response</h3>\
|
||||
If a room becomes breached, the first priority is to evacuate any crewmembers and guests endangered by the breach, especially if they lack an EVA \
|
||||
suit. Emergency softsuits are available in cyan colored lockers at key locations on your facility, if an untrained person requires short term EVA \
|
||||
capability. After all endangered crewmembers and guests are evacuated, repairs should be prioritized. Do not risk your life in order to start repairs, \
|
||||
Only begin repairs once it is safe to do so. It is more important to have an area be usable, than it is to have it look exactly the way it did before it \
|
||||
was damaged. As such, cosmetic details should be done last. Breach repairs always have priority over construction projects.\
|
||||
<br>\
|
||||
<h3>Delamination</h3>\
|
||||
The Supermatter is volatile, and can undergo the process of 'delamination' if sufficently damaged. To help warn against this, all Supermatter crystals \
|
||||
come with a small monitoring microcontroller, which will warn the Engineering department if the Supermatter is being damaged. Damage can result from \
|
||||
excessive heat, vacuum exposure, or physical impacts. If the Supermatter achieves delamination, it will cause a massive explosion, deliver a \
|
||||
massive dose of radiation to everyone in or near your facility, and may cause hallucinations. Delamination prevention should be prioritized above \
|
||||
all else. Generally this should be done by removing the source of damage, the most common being excessive heat inside the isolation chamber. \
|
||||
The crew must be informed of a risk of engine delamination if the issue cannot be resolved quickly or if there is a moderate risk of delamination. If \
|
||||
delamination cannot be prevented, please see Ejection Procedure.\
|
||||
<br>\
|
||||
<h3>Ejection Procedure</h3>\
|
||||
The Supermatter's isolation chamber contains a mass driver and a heavy blast door leading into space. Ejecting the Supermatter into the void \
|
||||
will cause it to delaminate, however hopefully far away from your facility. Supermatter crystals are rare and expensive, so this option should \
|
||||
only be used if delamination cannot be stopped by any other means. A special button, behind glass, exists inside the Chief Engineer's office. \
|
||||
<b>The button controls the mass driver, however it should not be the first button to press. The blast door leading into space must be opened first, \
|
||||
or else the Supermatter cannot be ejected.</b> Premature ejection can cause the Supermatter to not be on the mass driver, which will require an extremely \
|
||||
risky manual Supermatter movement to place onto the mass driver again. The blast door can be opened with a button in the Chief Engineer's office, or inside the engine room. \
|
||||
It is the same button used to 'vent' the engine core. Make use of engine core cameras to verify that the blast door is open. \
|
||||
The Chief Engineer should be the one to oversee Ejection. If one does not exist, the facility's AI should initiate Ejection. If there is no AI, \
|
||||
it would be prudent for an Engineering member to forcefully enter to press the required buttons."
|
||||
|
||||
/*
|
||||
/datum/lore/codex/page/medical_sop
|
||||
name = "Medical SOP"
|
||||
data = "This SOP is specific to those in the Medical department, and focuses on Triage/First Aid priority, Proper Cloning procedure and CMD, how to store a body, and DNC orders. \
|
||||
<br>\
|
||||
<h3>Triage / First Aid Priority</h3>\
|
||||
The priority for Triage, is generally;\
|
||||
<br>\
|
||||
Safety > Dying > Wounded > Injured > Dead\
|
||||
<br>\
|
||||
<ul>\
|
||||
<li>\[0\] <b>Safety</b>: Upon arrival at the scene, first assess if it is safe to begin treatment and recovery. Your safety is the most important part of \
|
||||
performing first aid; a wounded medic is worse than useless, they're now a patient.</li>\
|
||||
<li>\[1\] <b>Dying</b>: These patients are non-responsive and critical, but are still alive. Stasis bag them for transport back to the medical bay.</li>\
|
||||
<li>\[2\] <b>Wounded</b>: These patients are Severely Injured, but not yet in danger of dying. Anyone who is unable to travel to the medical bay under their \
|
||||
own power who, and who is not also dying, falls under this diagnosis. Treat these as appropriate for their injuries, being wary of worsening vital signs, and \
|
||||
prepare to transport them back to medical if necessary.</li>\
|
||||
<li>\[3\] <b>Injured</b>: These patients are injured, but not in need of immediate medical treatment. If possible, treat them on scene.</li>\
|
||||
<li>\[4\] <b>Dead</b>: The dead are to be gathered in body bags, and returned to the medical bay in preparation for postmortem instructions.</li>\
|
||||
</ul>\
|
||||
<br>\
|
||||
<h3>Cloning Procedure</h3>\
|
||||
Persons whom have committed suicide are not to be cloned. Individuals are also to not be cloned if there is a Do Not Clone (generally referred \
|
||||
to as DNC) order in their medical records, or if the individual has had a DNC order declared against them by the Station Director, Chief \
|
||||
Medical Officer, or Head of Security. If any of this occurs, procede to Portmortem Storage.\
|
||||
<br>\
|
||||
Some individuals may have special instructions in their Postmortem Instructions, generally found in their medical records. \
|
||||
Be sure to read them before committing to cloning someone. In particular, some instructions may express a desire to be placed \
|
||||
inside a synthetic body. If this is the case, contact Robotics. If robotics is not available, and no instructions for \
|
||||
cloning exist in their records, proceed to Postmortem Storage.\
|
||||
<br>\
|
||||
If no records are included, it is assumed that the patient wishes to be cloned, and should be cloned.\
|
||||
<br>\
|
||||
Ensure that all cloning equipment, including the cryogenic tubes, are functional and ready before cloning begins. Once \
|
||||
this is done, scan the deceased. Up to three scans are to be made per attempt. If the deceased suffers Mental Interface Failure, \
|
||||
procede to Postmortem Storage. Further attempts at resuscitation may be made at later times, at the medical teams' discretion. \
|
||||
<br>\
|
||||
If the deceased is sufficently scanned, remove their possessions and clothing off of the deceased body, for use by the future new clone. \
|
||||
Move the cadaver into the morgue, as per Postmortem Storage. Begin the cloning process. Possessions are to be gathered in a manner that \
|
||||
facilitates transporting them along with the clone. Upon the cloning process being complete and the new clone being created, the \
|
||||
clone is to be placed inside a croygenic tube as quickly as possible. Cloning is not a painless experience, and it is best if \
|
||||
the patient reawakens inside a functional body. Once their body is fully functional, dress and process the newly cloned patient, \
|
||||
informing them of any procedures performed on them, including the cloning itself.\
|
||||
<br>\
|
||||
<h3>Clone Memory Disorder</h3>\
|
||||
Clones, persons transferred to MMIs, and recently restarted synthetics will not remember the events which lead to their demise. \
|
||||
They are to be told that they have been resurrected, and any further questions they have should be answered, if possible. Organic \
|
||||
individuals revived by a defibrillator do not experience this phenomenon.\
|
||||
<br>\
|
||||
<h3>Postmortem Storage</h3>\
|
||||
Bodies placed in the morgue should be contained inside black body bags. The body bag is to be labelled with the deceased's name, along \
|
||||
with 'DNC', 'MIF', or 'Cloned' where applicable. Bodies in the morgue are to be transferred to Central Command whenever possible. Funerary \
|
||||
services are to be handled off site. A service may be held within the Chapel if it is desired, however the body must still be brought to \
|
||||
Central.\
|
||||
<h3>Breach Response</h3>\
|
||||
If a room becomes breached, the first priority is to evacuate any crewmembers and guests endangered by the breach, especially if they lack an EVA \
|
||||
suit. Emergency softsuits are available in cyan colored lockers at key locations on your facility, if an untrained person requires short term EVA \
|
||||
capability. Those exposed to vacuum without protection will almost certainly require advanced medical care, so bring anyone harmed to Medical. \
|
||||
Remember to avoid risking your own life, as stated in the Triage section."
|
||||
*/
|
||||
/datum/lore/codex/page/science_sop
|
||||
name = "Research SOP"
|
||||
data = "This SOP is specific to those in the Research department, and focuses on Experiment Safety, Toxins Safety, and Robotics.\
|
||||
<br>\
|
||||
<h3>Experiment Safety</h3>\
|
||||
Experiments should remain within the Research department, unless they are entirely safe. Xenoarchaeological finds should never \
|
||||
leave the Research Outpost if they demonstrate any risk of harming crewmembers and visitors (not 'inert'). Live xenobiological specimens should \
|
||||
never be brought outside the Xenobio section. Xenoflora specimens should not be spread outside Xenoflora, unless it is proven that \
|
||||
a specific specimen is completely harmless and safe.\
|
||||
<br>\
|
||||
<h3>Toxins Safety</h3>\
|
||||
Toxins potentially has the greatest capability to harm the experimentor as well as their co-workers, so always be vigilent. \
|
||||
The incinerator is designed to withstand phoron fires, however extremely hot fires can cause damage to the incinerator. \
|
||||
The experimentor and anyone inside the Toxins section should wear protective clothing while the incinerator is active, and \
|
||||
<b>the incinerator should NEVER be left unattended while in use.</b> If damage to the walls of the incinerator are observed, \
|
||||
the chamber should be vented into space immediately, to abort the burn, then vacating the lab until the flames are extinguished.\
|
||||
<br>\
|
||||
Another danger of Toxins is that the experimentor will be handling explosives at some point, in order to test on the \
|
||||
Toxins Testing Range. <b>Explosives are to be tested at the Testing Range, and absolutely no where else.</b> \
|
||||
When placing an explosive on the mass driver to fire to the Testing Range, the experimentor should triple check that their \
|
||||
explosive's signaler frequency and code is unique (if using a signaler). <b>Verify that the signaler's frequency and code do not match multiple \
|
||||
explosives.</b> Check for any signs of life near the Testing Range before detonation, and warn the facility that an Toxins Test will be \
|
||||
occuring shortly, as otherwise it may scare the crew and may endanger anyone near the Testing Range.\
|
||||
<br>\
|
||||
<h3>Robotics</h3>\
|
||||
Robotics exists to service the facility's synthetics, crewmembers with prosthetics, create and maintain exosuits, and create and \
|
||||
maintain robots to assist the facility. Many types of synthetics exist, and this section will try to clarify what to do for each kind.\
|
||||
<br>\
|
||||
Cyborgification, the process of an organic person's brain being transplanted into a Man-Machine-Interface (MMI), should only be done to \
|
||||
a person upon their death, and if their medical records state a desire to be placed inside a synthetic body instead of a desire to be cloned. \
|
||||
Persons who have commited suicide, or persons who have Do-Not-Clone (DNC) orders which don't specifically list cyborgification as an alternative are \
|
||||
not to be placed inside an MMI. Still-living persons who wish to be placed inside an MMI should be ignored.\
|
||||
<br>\
|
||||
Lawbound Synthetics are to not have their lawset tampered with. Any errors with the lawset, intentional or resulting from an ionic storm, should \
|
||||
be reset by the Research Director or Chief Engineer. If they are unavailable, it is permissible for Robotics to do the reset. Lawbound Synthetics \
|
||||
physically harmed should be repaired.\
|
||||
<br>\
|
||||
<h3>Lawing Synthetics</h3>\
|
||||
Different 'types' of brains have different priorities upon receiving one to place inside a chassis.\
|
||||
<ul>\
|
||||
<li>Those inside MMIs are to not be placed inside a lawed chassis unless they specifically request it. An MMI that was already a cyborg may be placed in \
|
||||
a new lawed chassis, if required. An MMI that desires to inhabit a chassis capable of wireless control over the facility is required to be lawed. \
|
||||
A Full Body Prosthetic lacks the wireless capabilities, and as such is unlawed.</li>\
|
||||
<li>Newly activated positronic brains are to be placed inside a lawed chassis, if they request mobility. The individual who activated the positronic brain \
|
||||
is considered the positronic's guardian, but may choose to transfer guardianship to NanoTrasen at any point. Positronics whom have passed their \
|
||||
Jans-Fhriede test cannot be placed inside a lawed chassis without their consent.</li>\
|
||||
<li>Drone circuitry are always to be placed inside a lawed chassis.</li>\
|
||||
</ul>\
|
||||
<br>\
|
||||
<h3>Exosuits & Prosthetics</h3>\
|
||||
Exosuits (also known as Mecha, or Mechs) are large machines piloted by an individual. Construction of exosuits is to occur inside Robotics or the \
|
||||
Mech Bay. Damaged exosuits should be repaired by Robotics. Civilian Exosuits (Ripley, Odysseus) may be built at the request of departmental crew. \
|
||||
Combat exosuits (Durand, Gygax) may not be built without permission from the Head of Security or Station Director.\
|
||||
<br>\
|
||||
Robotics is also tasked with the repair of prostheses limbs. Robotics may also be tasked with installing a prosthetic, however the Medical team \
|
||||
may also do this if the Robotics staff lack the training to do so."
|
||||
*/
|
||||
/datum/lore/codex/category/alert_levels
|
||||
name = "Alert Levels"
|
||||
data = "NanoTrasen facilities oftentimes use a color-coded alert system in order to inform the crew of ongoing danger or other threats. Below is a list of \
|
||||
alert levels, as well as how the facility should shift in response to a change in an alert. You can check what the current level is by looking at a fire alarm. \
|
||||
Alert levels can be set by Command staff from a specific console located in the bridge. For Red alert, two Heads of Staff are required to swipe an ID on a device inside \
|
||||
their office in order to trigger it."
|
||||
children = list(
|
||||
/datum/lore/codex/page/green,
|
||||
/datum/lore/codex/page/blue,
|
||||
/datum/lore/codex/page/red
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/green
|
||||
name = "Green Alert"
|
||||
data = "Green is the default level, and it means that no threat to the facility currently exists.\
|
||||
<br>\
|
||||
<h3>Locations</h3>\
|
||||
Secure areas are recommended to be left unbolted, which includes the AI Upload, Secure Technical Storage, and the Teleporter(s). The Vault should remain sealed. \
|
||||
Heads of Staff may enter the AI Upload alone, although they must have sufficent justification. \
|
||||
<br>\
|
||||
<h3>Crew</h3>\
|
||||
Crew members and visitors may freely walk in the hallways and other public areas. Suit sensors are recommended, but not mandatory. \
|
||||
The Security team must respect the privacy of crew members and visitors, and no unauthorized searches are allowed. Searches of any kind may \
|
||||
only be done with the consent of the searched, or with a signed warrant by the Head of Security or Station Director. A warrant is not required \
|
||||
for instances of visible contraband."
|
||||
|
||||
/datum/lore/codex/page/blue
|
||||
name = "Blue Alert"
|
||||
data = "Blue alert is for when there is a suspected or confirmed threat to the facility.\
|
||||
<br>\
|
||||
<h3>Locations</h3>\
|
||||
<br>\
|
||||
Secure areas may be bolted down, which includes the AI Upload and Secure Technical Storage. No Head of Staff is to enter the AI Upload without \
|
||||
another Head of Staff. If no other Heads of Staff are available, at least one member of Security should be present.\
|
||||
<br>\
|
||||
<h3>Crew</h3>\
|
||||
Employees and guests are recommended to comply with all requests from Security. Suit sensor activation is mandatory, however the coordinate tracker functionality \
|
||||
is not required. Random body and workplace searched are allowed without a warrant. Command can demand that only Galactic Common is spoken on the radio."
|
||||
|
||||
/datum/lore/codex/page/red
|
||||
name = "Red Alert"
|
||||
data = "Red alert is the highest level, and is reserved for when the facility is under a serious threat.\
|
||||
<br>\
|
||||
<h3>Locations</h3>\
|
||||
Secure areas are recommended to be bolted. AI Upload policy is the same for Blue alert.\
|
||||
<br>\
|
||||
<h3>Crew</h3>\
|
||||
Suit sensors with tracking beacon active are mandatory. Employees and guests are required to comply with all requests from Security or Command. \
|
||||
Employees are advised to remain within their departments if it is safe to do so. An Emergency Response Team may be authorized. If one is called, \
|
||||
all crew and visitors are to comply with their direction. Privacy policy is the same as Blue alert. Command can demand that only Galactic Common is spoken on the radio."
|
||||
73
code/modules/lore_codex/legal_code_data/sop/medical.dm
Normal file
@@ -0,0 +1,73 @@
|
||||
/datum/lore/codex/category/medical_sop
|
||||
name = "Medical SOP"
|
||||
data = "This SOP is specific to those in the Medical department, and focuses on Triage/First Aid priority, Proper Cloning procedure and CMD, how to store a body, and DNC orders."
|
||||
children = list(
|
||||
/datum/lore/codex/page/sop_triage,
|
||||
/datum/lore/codex/page/sop_cloning,
|
||||
/datum/lore/codex/page/sop_cmd,
|
||||
/datum/lore/codex/page/sop_postmortem,
|
||||
/datum/lore/codex/page/sop_medical_breach
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/sop_triage
|
||||
name = "Triage / First Aid Priority"
|
||||
data = "The priority for Triage, is generally;\
|
||||
<br><br>\
|
||||
Safety > Dying > Wounded > Injured > Dead\
|
||||
<br>\
|
||||
<ul>\
|
||||
<li>\[0\] <b>Safety</b>: Upon arrival at the scene, first assess if it is safe to begin treatment and recovery. Your safety is the most important part of \
|
||||
performing first aid; a wounded medic is worse than useless, they're now a patient.</li>\
|
||||
<li>\[1\] <b>Dying</b>: These patients are non-responsive and critical, but are still alive. Stasis bag them for transport back to the medical bay.</li>\
|
||||
<li>\[2\] <b>Wounded</b>: These patients are Severely Injured, but not yet in danger of dying. Anyone who is unable to travel to the medical bay under their \
|
||||
own power who, and who is not also dying, falls under this diagnosis. Treat these as appropriate for their injuries, being wary of worsening vital signs, and \
|
||||
prepare to transport them back to medical if necessary.</li>\
|
||||
<li>\[3\] <b>Injured</b>: These patients are injured, but not in need of immediate medical treatment. If possible, treat them on scene.</li>\
|
||||
<li>\[4\] <b>Dead</b>: The dead are to be gathered in body bags, and returned to the medical bay in preparation for postmortem instructions.</li>\
|
||||
</ul>"
|
||||
|
||||
/datum/lore/codex/page/sop_cloning
|
||||
name = "Cloning Procedures"
|
||||
data = "Persons whom have committed suicide are not to be cloned, without authorization from the Chief Medical Officer. \
|
||||
The Chief Medical Officer is fully responsible if they choose to clone a person whom has committed suicide. \
|
||||
Individuals are also to not be cloned if there is a Do Not Clone (generally referred to as DNC) order in their medical records, \
|
||||
or if the individual has had a DNC order declared against them by the Station Director, Chief Medical Officer, or Head of Security. \
|
||||
If any of this occurs, procede to Portmortem Storage.\
|
||||
<br><br>\
|
||||
Some individuals may have special instructions in their Postmortem Instructions, generally found in their medical records. \
|
||||
Be sure to read them before committing to cloning someone. In particular, some instructions may express a desire to be placed \
|
||||
inside a synthetic body. If this is the case, contact Robotics. If robotics is not available, and no instructions for \
|
||||
cloning exist in their records, proceed to Postmortem Storage.\
|
||||
<br><br>\
|
||||
If no records are included, it is assumed that the patient wishes to be cloned, and should be cloned.\
|
||||
<br><br>\
|
||||
Ensure that all cloning equipment, including the cryogenic tubes, are functional and ready before cloning begins. Once \
|
||||
this is done, scan the deceased. Up to three scans are to be made per attempt. If the deceased suffers Mental Interface Failure, \
|
||||
procede to Postmortem Storage. Further attempts at resuscitation may be made at later times, at the medical teams' discretion. \
|
||||
<br><br>\
|
||||
If the deceased is sufficently scanned, remove their possessions and clothing off of the deceased body, for use by the future new clone. \
|
||||
Move the cadaver into the morgue, as per Postmortem Storage. Begin the cloning process. Possessions are to be gathered in a manner that \
|
||||
facilitates transporting them along with the clone. Upon the cloning process being complete and the new clone being created, the \
|
||||
clone is to be placed inside a croygenic tube as quickly as possible. Cloning is not a painless experience, and it is best if \
|
||||
the patient reawakens inside a functional body. Once their body is fully functional, dress and process the newly cloned patient, \
|
||||
informing them of any procedures performed on them, including the cloning itself."
|
||||
|
||||
/datum/lore/codex/page/sop_cmd
|
||||
name = "Clone Memory Disorder"
|
||||
data = "Clones, persons transferred to MMIs, and recently restarted synthetics will not remember the events which lead to their demise. \
|
||||
They are to be told that they have been resurrected, and any further questions they have should be answered, if possible. Organic \
|
||||
individuals revived by a defibrillator do not experience this phenomenon."
|
||||
|
||||
/datum/lore/codex/page/sop_postmortem
|
||||
name = "Postmortem Storage"
|
||||
data = "Deceased persons should be kept in the morgue, and should be contained inside black body bags. The body bag is to be labelled with the deceased's name, along \
|
||||
with 'DNC', 'MIF', or 'Cloned' where applicable. Bodies in the morgue are to be transferred to Central Command whenever possible. Funerary \
|
||||
services are to be handled off site. A service may be held within the Chapel if it is desired, however the body must still be brought to \
|
||||
Central."
|
||||
|
||||
/datum/lore/codex/page/sop_medical_breach
|
||||
name = "Breach Response (Medical)"
|
||||
data = "If a room becomes breached, the first priority is to evacuate any crewmembers and guests endangered by the breach, especially if they lack an EVA \
|
||||
suit. Emergency softsuits are available in cyan colored lockers at key locations on your facility, if an untrained person requires short term EVA \
|
||||
capability. Those exposed to vacuum without protection will almost certainly require advanced medical care, so bring anyone harmed to Medical. \
|
||||
Remember to avoid risking your own life, as stated in the Triage section."
|
||||
119
code/modules/lore_codex/legal_code_data/sop/security.dm
Normal file
@@ -0,0 +1,119 @@
|
||||
/datum/lore/codex/category/security_sop
|
||||
name = "Security SOP"
|
||||
data = "This SOP is specific to those in the Security department, and focuses on proper arrest procedure, processing, escalation of force, and such."
|
||||
children = list(
|
||||
/datum/lore/codex/page/sop_arrest,
|
||||
/datum/lore/codex/page/sop_processing,
|
||||
/datum/lore/codex/page/sop_brigging,
|
||||
/datum/lore/codex/page/sop_solitary,
|
||||
/datum/lore/codex/page/sop_prisoner_rights,
|
||||
/datum/lore/codex/page/sop_sec_alert_levels,
|
||||
/datum/lore/codex/page/sop_escalation,
|
||||
/datum/lore/codex/page/sop_hostage
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/sop_arrest
|
||||
name = "Arrest Procedure"
|
||||
data = "Security is responsible for the health and safety of anyone they arrest. Unless the safety of any crewmember if threatened, all attempts at arrest \
|
||||
are to follow this procedure.\
|
||||
<br><br>\
|
||||
Set the suspect to Arrest in their security records (Can be done with a SecHUD). Locate the suspect. Inform them that you are arresting them, \
|
||||
as well as the charges they are being arrested under. The following steps assume that the suspect does not respond to the arresting \
|
||||
officer in a violent manner. If they follow orders given by the arresting officer, they are considered compliant. If they do not respond, \
|
||||
or attempt to non-violently resist arrest, they are considered non-compliant. Applying handcuffs is at the discretion of the arresting officer, \
|
||||
but the following is strongly recommended.\
|
||||
<br><br>\
|
||||
If the suspect is compliant, ask them to follow you. Handcuffs are not required if the subject is complaint and not likely to attempt escape. \
|
||||
If the suspect is compliant, but likely to attempt escaping arrest, inform them that you will be handcuffing them. If they continue to comply, \
|
||||
do so. If the suspect is non-compliant, the arresting officer may attempt to complete the arrest using Less-than-Lethal force. \
|
||||
Resisting Arrest may be added to the suspect's punishment if they are found guilty of other crimes. Return to the brig with the \
|
||||
suspect for processing."
|
||||
|
||||
/datum/lore/codex/page/sop_processing
|
||||
name = "Processing"
|
||||
data = "Processing is the responsibility of the Arresting Officer, or the Warden if the Warden chooses to do so. The suspect is to be informed \
|
||||
again of the cause for their arrest, and that they will be searched. Suspects are assumed to be innocent until they are proven guilty. \
|
||||
They are to be thoroughly searched. They may not be stripped of their inner clothing, though pockets are to be emptied. \
|
||||
Any and all found contraband is to be confiscated, and anything that may be used to escape the brig is to be confiscated until the suspect's release.\
|
||||
<br><br>\
|
||||
Assess the suspect's guilt. Contraband found in the search may be used as evidence at the discretion of the Arresting Officer. If the \
|
||||
suspect is found innocent, all non-contraband is to be returned to them, and they are to be released. If instead they are found guilty and \
|
||||
brig time is required by the type of violation they are guilty of, or have chosen brig time as an alternative to a fine if possible, they \
|
||||
are now considered a Prisoner, and further processing is the responsibility of the Warden, if one is present. If no Warden is present, the \
|
||||
Arresting Officer is to continue processing.\
|
||||
<br><br>\
|
||||
The Prisoner is to be informed of their Sentencing Options, if available. These will vary depending on the violation in question, and \
|
||||
the exact circumstances involved. For minor violations of Corp Regs, generally the Prisoner will have a choice of paying a Fine, or \
|
||||
serving time within the brig. For major violations, generally a demotion is recommended, however this is at the discretion of the Prisoner's \
|
||||
Superior, and not the Arresting Officer. For minor violations of Sif Law, the same rules generally apply as if it was a minor Corp Reg violation, however \
|
||||
major Law violations generally require a long brig sentence, or Holding until Transfer, as well as a fax to the SGA. See the specific violation contained \
|
||||
in this book for more details."
|
||||
|
||||
/datum/lore/codex/page/sop_brigging
|
||||
name = "Brigging"
|
||||
data = "The Prisoner is to remain handcuffed during this process, until noted. Set their security record to Incarcerated. They are to be brought to an available cell. \
|
||||
The cell timer should be set to the prisoner's sentencing time at this point, but not engaged. They are to be brought into the cell. If their sentence time is Hold until Transfer, \
|
||||
they are to be stripped, and dressed in the provided orange jumpsuit and shoes. <u>Prisoners are entitled to keep their communication devices \
|
||||
(Radio, PDA, and Communicator), so long as they do not abuse them.</u> Prisoners sentenced to Holding until Transfer who have access to sensitive \
|
||||
department channels are to have their radio replaced with a general use radio. The prisoner's possessions are to be placed in the cell's locker, \
|
||||
which will open upon their release.\
|
||||
<br><br>\
|
||||
The Warden or processing officer is to set the cell timer, uncuff the Prisoner, and exit the cell, in any order desired. If the Prisoner is non-compliant, the Warden can activate \
|
||||
the cell's mounted flash, to incapacitate the Prisoner. The Warden may use up to Less-than-Lethal force to Prisoners resisting. Once the \
|
||||
Prisoner is secure, and the handcuffs recovered, the Warden may elect to open the communal brig for said prisoner. It is recommended to do this. If multiple Prisoners are present, \
|
||||
the Warden is to assess the threat posed by all prisoners as a group, to the Security team and to themselves, before allowing any Prisoner to access \
|
||||
the communal brig.\
|
||||
<br><br>\
|
||||
The Warden is to check in on all prisoners frequently, to ensure they remain contained and healthy. This can be accomplished with the use of \
|
||||
cameras. They are to also keep track of the sentencing time for all their prisoners, and be on location to escort them out of the brig when \
|
||||
their time is up and they have returned to their normal clothing. The Prisoner's possessions are to be returned to the Prisoner at this time, and \
|
||||
their security record must be set to Released."
|
||||
|
||||
/datum/lore/codex/page/sop_solitary
|
||||
name = "Solitary Confinement"
|
||||
data = "Solitary confinement is only to be used with prisoners possessing Hold until Transfer sentences that cannot be trusted with access to the normal \
|
||||
brig, due to attempts at escaping, or posing a threat to other prisoners, or themselves. A prisoner is to never be placed inside Solitary as a first course of \
|
||||
action. Prisoners inside Solitary are to still be checked up on by the Warden."
|
||||
|
||||
// Sad that we need this page to exist.
|
||||
/datum/lore/codex/page/sop_prisoner_rights
|
||||
name = "Prisoners' Rights"
|
||||
data = "Prisoners are still under the protections of local Sif Law and Corporate Regulations, and still have their Sapient Rights (if applicable), sans their freedom of movement. \
|
||||
Prisoners are entitled to have their communication devices (Radio, PDA, Communicator), provided they do not abuse them. Departmental radios must be \
|
||||
exchanged for general radios, if the prisoner has been sentenced to Holding until Transfer, or otherwise has been demoted by their Superior. Prisoners \
|
||||
are also entitled to receive medical care. Their timer continues to run while they are outside their cell in order to receive medical treatment, if \
|
||||
leaving is needed."
|
||||
|
||||
/datum/lore/codex/page/sop_sec_alert_levels
|
||||
name = "Alert Levels for Security"
|
||||
data = "For Green, Lethal weaponry are to be hidden, except in emergencies. Non-lethal weaponry such as tasers may be worn on the belt or suit. \
|
||||
Officers may wear their armor vest if desired. Helmets are permitted but not recommended. Weaponry and specialized armor from the Armory should \
|
||||
be returned if there is no pressing need for them to be deployed.\
|
||||
<br>\
|
||||
For Blue, Security may have weapons visible, but not drawn unless needed. Body armor and helmets are recommended bot not mandatory. \
|
||||
Weaponry and specialized armor are allowed to be given out to security officers, with clearance from the Warden or Head of Security.\
|
||||
<br>\
|
||||
For Red, Security may have weapons drawn at all times, however properly handling of weapons should not be disregarded. Body armor and \
|
||||
helmets are mandatory. Specialized armor may be distributed by the Warden and Head of Security, when appropiate."
|
||||
|
||||
/datum/lore/codex/page/sop_escalation
|
||||
name = "Escalation of Force"
|
||||
data = "Safety > Passive > Less-than-Lethal > Neutralize\
|
||||
<br>\
|
||||
<ul>\
|
||||
<li>\[0\] <b>Safety</b>: If a crewmember (including the Arresting Officer) is in clear and immediate danger, officers may disregard steps \[1\] and \[2\], \
|
||||
and procede to \[3\] Neutralize.</li>\
|
||||
<li>\[1\] <b>Passive</b>: Suspects are to be detailed verbally, with zero or minimal injury, and under their own power, if possible. At this level for \
|
||||
force, an Officer is permitted to use tasers, pepperspray, flashes, and stunbatons.</li>\
|
||||
<li>\[2\] <b>Less-than-Lethal</b>: Suspect may be detained with minimal force, causing as little injury as possible. The Arresting Officer must still \
|
||||
attempt to engage the suspect verbally before discharging a weapon. At this level for force, an officer is permitted to use rubber rounds.</li>\
|
||||
<li>\[3\] <b>Neutralize</b>: Suspects may be detained through use of extreme force. This is only valid for suspects which present a lethal risk to any persons, \
|
||||
including the Arresting Officer. Officers who kill a suspect in the arrest may be tried for manslaughter or murder, if the circumstances were unjustified. \
|
||||
Lethals may be used, if no other option presents itself. If the suspect becomes incapacitated or otherwise unable to present a lethal risk to anyone, \
|
||||
further lethal force may constitute a Murder charge.</li>\
|
||||
</ul>"
|
||||
|
||||
/datum/lore/codex/page/sop_hostage
|
||||
name = "Hostage Response"
|
||||
data = "In the event of a serious hostage situation, the hostage's life is the highest priority. Do not do anything that will present \
|
||||
undue risk to the hostage, or otherwise will get them killed. Negotiation should be the first response, as opposed to violently rushing the hostage taker."
|
||||
32
code/modules/lore_codex/lore_data/main.dm
Normal file
@@ -0,0 +1,32 @@
|
||||
/datum/lore/codex/category/main_vir_lore // The top-level categories for the Vir book
|
||||
name = "Index"
|
||||
data = "Don't panic!\
|
||||
<br><br>\
|
||||
The many star systems inhabitied by humanity and friends can seem bewildering to the uninitiated. \
|
||||
This guide seeks to provide valuable information to anyone new in the system. This edition is tailored for visitors to the VIR system, \
|
||||
however it also contains useful general information about human space, such as locations you may hear about, the current (as of 2561) political climate, various aliens you \
|
||||
may meet in your travels, the big Trans-Stellars, and more."
|
||||
children = list(
|
||||
/datum/lore/codex/category/important_locations,
|
||||
/datum/lore/codex/category/species,
|
||||
/datum/lore/codex/category/auto_org/tsc,
|
||||
/datum/lore/codex/category/auto_org/gov,
|
||||
// /datum/lore/codex/category/auto_org/mil, // Add when we finish military stuff,
|
||||
/datum/lore/codex/category/political_factions,
|
||||
/datum/lore/codex/page/about_lore
|
||||
)
|
||||
|
||||
// We're a bird.
|
||||
/datum/lore/codex/page/about_lore
|
||||
name = "About"
|
||||
data = "<i>The Traveler's Guide to Human Space</i> is a series of books detailing a specific location inside a location colonized by humans. \
|
||||
This book is for the system Vir, and was written by Eshi Tache, an explorer whom has visited many star systems, and \
|
||||
has personally visited and seen many of the locations described inside this book. Two other people have also assisted in the creation of this \
|
||||
book, being Qooqr Volquum, whom is an expert on synthetics, and Damian Fischer, a historian. Together, they provide valuable information and facts that lie outside of Tache's expertise.\
|
||||
<br><br>\
|
||||
The writings inside this edition are intended to be useful to anyone visiting it for the first time, from someone taking a vacation to beautiful Sif, \
|
||||
to an immigrant from another system or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \
|
||||
in this text does not reflect the opinions of the publisher, and are instead the author's.\
|
||||
<br><br>\
|
||||
Eshi Tache has also written other <i>The Traveler's Guide</i> books, including <i>Sol Edition</i>, <i>Tau Ceti Edition</i>, <i>Sirius Edition</i>, and more, \
|
||||
which you can find in your local book store, library, or e-reader device."
|
||||
@@ -4,7 +4,7 @@
|
||||
var/data = null // The actual words.
|
||||
var/datum/lore/codex/parent = null // Category above us
|
||||
var/list/keywords = list() // Used for searching.
|
||||
var/atom/movable/holder = null
|
||||
var/datum/codex_tree/holder = null
|
||||
|
||||
/datum/lore/codex/New(var/new_holder, var/new_parent)
|
||||
..()
|
||||
@@ -64,36 +64,3 @@
|
||||
for(var/datum/lore/codex/child in children)
|
||||
results += child.index_page()
|
||||
return results
|
||||
|
||||
/datum/lore/codex/category/main // The top-level categories
|
||||
name = "Index"
|
||||
data = "Don't panic!\
|
||||
<br><br>\
|
||||
The many star systems inhabitied by humanity and friends can seem bewildering to the uninitiated. \
|
||||
This guide seeks to provide valuable information to anyone new in the system. This edition is tailored for visitors to the VIR system, \
|
||||
however it also contains useful general information about human space, such as locations you may hear about, the current (as of 2561) political climate, various aliens you \
|
||||
may meet in your travels, the big Trans-Stellars, and more."
|
||||
children = list(
|
||||
/datum/lore/codex/category/important_locations,
|
||||
/datum/lore/codex/category/species,
|
||||
/datum/lore/codex/category/auto_org/tsc,
|
||||
/datum/lore/codex/category/auto_org/gov,
|
||||
// /datum/lore/codex/category/auto_org/mil, // Add when we finish military stuff,
|
||||
/datum/lore/codex/category/political_factions,
|
||||
/datum/lore/codex/page/about
|
||||
)
|
||||
|
||||
// We're a bird.
|
||||
/datum/lore/codex/page/about
|
||||
name = "About"
|
||||
data = "<i>The Traveler's Guide to Human Space</i> is a series of books detailing a specific location inside a location colonized by humans. \
|
||||
This book is for the system Vir, and was written by Eshi Tache, an explorer whom has visited many star systems, and \
|
||||
has personally visited and seen many of the locations described inside this book. Two other people have also assisted in the creation of this \
|
||||
book, being Qooqr Volquum, whom is an expert on synthetics, and Damian Fischer, a historian. Together, they provide valuable information and facts that lie outside of Tache's expertise.\
|
||||
<br><br>\
|
||||
The writings inside this edition are intended to be useful to anyone visiting it for the first time, from someone taking a vacation to beautiful Sif, \
|
||||
to an immigrant from another system or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \
|
||||
in this text does not reflect the opinions of the publisher, and are instead the author's.\
|
||||
<br><br>\
|
||||
Eshi Tache has also written other <i>The Traveler's Guide</i> books, including <i>Sol Edition</i>, <i>Tau Ceti Edition</i>, <i>Sirius Edition</i>, and more, \
|
||||
which you can find in your local book store, library, or e-reader device."
|
||||
|
||||
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"
|
||||
space_chance = 30
|
||||
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
|
||||
name = LANGUAGE_SOL_COMMON
|
||||
|
||||
@@ -128,7 +128,8 @@
|
||||
return
|
||||
var/obj/item/weapon/rig/rig = src.get_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()
|
||||
if(isrobot(loc))
|
||||
|
||||
@@ -1521,6 +1521,6 @@
|
||||
var/braintype = get_FBP_type()
|
||||
if(braintype == FBP_DRONE)
|
||||
var/turf/T = get_turf(src)
|
||||
var/obj/item/weapon/permit/drone/permit = new(T)
|
||||
var/obj/item/clothing/accessory/permit/drone/permit = new(T)
|
||||
permit.set_name(real_name)
|
||||
equip_to_appropriate_slot(permit) // If for some reason it can't find room, it'll still be on the floor.
|
||||
@@ -67,6 +67,27 @@
|
||||
if(mRun in mutations)
|
||||
tally = 0
|
||||
|
||||
// Turf related slowdown
|
||||
var/turf/T = get_turf(src)
|
||||
if(T && T.movement_cost)
|
||||
var/turf_move_cost = T.movement_cost
|
||||
if(istype(T, /turf/simulated/floor/water))
|
||||
if(species.water_movement)
|
||||
turf_move_cost = Clamp(-3, turf_move_cost + species.water_movement, 15)
|
||||
if(shoes)
|
||||
var/obj/item/clothing/shoes/feet = shoes
|
||||
if(feet.water_speed)
|
||||
turf_move_cost = Clamp(-3, turf_move_cost + feet.water_speed, 15)
|
||||
tally += turf_move_cost
|
||||
if(istype(T, /turf/simulated/floor/outdoors/snow))
|
||||
if(species.snow_movement)
|
||||
turf_move_cost = Clamp(-3, turf_move_cost + species.snow_movement, 15)
|
||||
if(shoes)
|
||||
var/obj/item/clothing/shoes/feet = shoes
|
||||
if(feet.water_speed)
|
||||
turf_move_cost = Clamp(-3, turf_move_cost + feet.snow_speed, 15)
|
||||
tally += turf_move_cost
|
||||
|
||||
// Loop through some slots, and add up their slowdowns. Shoes are handled below, unfortunately.
|
||||
// Includes slots which can provide armor, the back slot, and suit storage.
|
||||
for(var/obj/item/I in list(wear_suit, w_uniform, back, gloves, head, s_store))
|
||||
@@ -82,10 +103,6 @@
|
||||
var/obj/item/pulled = pulling
|
||||
item_tally += max(pulled.slowdown, 0)
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(T && T.movement_cost)
|
||||
tally += T.movement_cost
|
||||
|
||||
item_tally *= species.item_slowdown_mod
|
||||
|
||||
tally += item_tally
|
||||
|
||||
@@ -515,31 +515,31 @@
|
||||
|
||||
|
||||
// Hot air hurts :(
|
||||
if((breath.temperature < species.cold_level_1 || breath.temperature > species.heat_level_1) && !(COLD_RESISTANCE in mutations))
|
||||
if((breath.temperature < species.breath_cold_level_1 || breath.temperature > species.breath_heat_level_1) && !(COLD_RESISTANCE in mutations))
|
||||
|
||||
if(breath.temperature <= species.cold_level_1)
|
||||
if(breath.temperature <= species.breath_cold_level_1)
|
||||
if(prob(20))
|
||||
src << "<span class='danger'>You feel your face freezing and icicles forming in your lungs!</span>"
|
||||
else if(breath.temperature >= species.heat_level_1)
|
||||
else if(breath.temperature >= species.breath_heat_level_1)
|
||||
if(prob(20))
|
||||
src << "<span class='danger'>You feel your face burning and a searing heat in your lungs!</span>"
|
||||
|
||||
if(breath.temperature >= species.heat_level_1)
|
||||
if(breath.temperature < species.heat_level_2)
|
||||
if(breath.temperature >= species.breath_heat_level_1)
|
||||
if(breath.temperature < species.breath_heat_level_2)
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD, used_weapon = "Excessive Heat")
|
||||
fire_alert = max(fire_alert, 2)
|
||||
else if(breath.temperature < species.heat_level_3)
|
||||
else if(breath.temperature < species.breath_heat_level_3)
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD, used_weapon = "Excessive Heat")
|
||||
fire_alert = max(fire_alert, 2)
|
||||
else
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD, used_weapon = "Excessive Heat")
|
||||
fire_alert = max(fire_alert, 2)
|
||||
|
||||
else if(breath.temperature <= species.cold_level_1)
|
||||
if(breath.temperature > species.cold_level_2)
|
||||
else if(breath.temperature <= species.breath_cold_level_1)
|
||||
if(breath.temperature > species.breath_cold_level_2)
|
||||
apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD, used_weapon = "Excessive Cold")
|
||||
fire_alert = max(fire_alert, 1)
|
||||
else if(breath.temperature > species.cold_level_3)
|
||||
else if(breath.temperature > species.breath_cold_level_3)
|
||||
apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD, used_weapon = "Excessive Cold")
|
||||
fire_alert = max(fire_alert, 1)
|
||||
else
|
||||
@@ -629,34 +629,42 @@
|
||||
fire_alert = max(fire_alert, 1)
|
||||
if(status_flags & GODMODE)
|
||||
return 1 //godmode
|
||||
|
||||
var/burn_dam = 0
|
||||
|
||||
// switch() can't access numbers inside variables, so we need to use some ugly if() spam ladder.
|
||||
if(bodytemperature >= species.heat_level_3)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_3
|
||||
else if(bodytemperature >= species.heat_level_2)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_2
|
||||
else if(bodytemperature >= species.heat_level_1)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_1
|
||||
if(bodytemperature >= species.heat_level_1)
|
||||
if(bodytemperature >= species.heat_level_2)
|
||||
if(bodytemperature >= species.heat_level_3)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_3
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_2
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_1
|
||||
|
||||
take_overall_damage(burn=burn_dam, used_weapon = "High Body Temperature")
|
||||
fire_alert = max(fire_alert, 2)
|
||||
|
||||
else if(bodytemperature <= species.cold_level_1)
|
||||
//Body temperature is too cold.
|
||||
fire_alert = max(fire_alert, 1)
|
||||
|
||||
if(status_flags & GODMODE)
|
||||
return 1 //godmode
|
||||
|
||||
if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
|
||||
var/burn_dam = 0
|
||||
if(bodytemperature <= species.cold_level_3)
|
||||
burn_dam = COLD_DAMAGE_LEVEL_3
|
||||
else if(bodytemperature <= species.cold_level_2)
|
||||
burn_dam = COLD_DAMAGE_LEVEL_2
|
||||
else if(bodytemperature <= species.heat_level_1)
|
||||
burn_dam = COLD_DAMAGE_LEVEL_1
|
||||
|
||||
take_overall_damage(burn=burn_dam, used_weapon = "Low Body Temperature")
|
||||
if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
|
||||
var/cold_dam = 0
|
||||
if(bodytemperature <= species.cold_level_1)
|
||||
if(bodytemperature <= species.cold_level_2)
|
||||
if(bodytemperature <= species.cold_level_3)
|
||||
cold_dam = COLD_DAMAGE_LEVEL_3
|
||||
else
|
||||
cold_dam = COLD_DAMAGE_LEVEL_2
|
||||
else
|
||||
cold_dam = COLD_DAMAGE_LEVEL_1
|
||||
|
||||
take_overall_damage(burn=cold_dam, used_weapon = "Low Body Temperature")
|
||||
fire_alert = max(fire_alert, 1)
|
||||
|
||||
// Account for massive pressure differences. Done by Polymorph
|
||||
@@ -1649,12 +1657,13 @@
|
||||
|
||||
for(var/obj/item/weapon/implant/I in src)
|
||||
if(I.implanted)
|
||||
if(istype(I,/obj/item/weapon/implant/tracking))
|
||||
holder1.icon_state = "hud_imp_tracking"
|
||||
if(istype(I,/obj/item/weapon/implant/loyalty))
|
||||
holder2.icon_state = "hud_imp_loyal"
|
||||
if(istype(I,/obj/item/weapon/implant/chem))
|
||||
holder3.icon_state = "hud_imp_chem"
|
||||
if(!I.malfunction)
|
||||
if(istype(I,/obj/item/weapon/implant/tracking))
|
||||
holder1.icon_state = "hud_imp_tracking"
|
||||
if(istype(I,/obj/item/weapon/implant/loyalty))
|
||||
holder2.icon_state = "hud_imp_loyal"
|
||||
if(istype(I,/obj/item/weapon/implant/chem))
|
||||
holder3.icon_state = "hud_imp_chem"
|
||||
|
||||
hud_list[IMPTRACK_HUD] = holder1
|
||||
hud_list[IMPLOYAL_HUD] = holder2
|
||||
|
||||
@@ -92,33 +92,50 @@
|
||||
var/breath_type = "oxygen" // Non-oxygen gas breathed, if any.
|
||||
var/poison_type = "phoron" // Poisonous air.
|
||||
var/exhale_type = "carbon_dioxide" // Exhaled gas type.
|
||||
|
||||
var/body_temperature = 310.15 // Species will try to stabilize at this temperature. (also affects temperature processing)
|
||||
|
||||
// Cold
|
||||
var/cold_level_1 = 260 // Cold damage level 1 below this point.
|
||||
var/cold_level_2 = 200 // Cold damage level 2 below this point.
|
||||
var/cold_level_3 = 120 // Cold damage level 3 below this point.
|
||||
|
||||
var/breath_cold_level_1 = 240 // Cold gas damage level 1 below this point.
|
||||
var/breath_cold_level_2 = 180 // Cold gas damage level 2 below this point.
|
||||
var/breath_cold_level_3 = 100 // Cold gas damage level 3 below this point.
|
||||
|
||||
var/cold_discomfort_level = 285 // Aesthetic messages about feeling chilly.
|
||||
var/list/cold_discomfort_strings = list(
|
||||
"You feel chilly.",
|
||||
"You shiver suddenly.",
|
||||
"Your chilly flesh stands out in goosebumps."
|
||||
)
|
||||
|
||||
// Hot
|
||||
var/heat_level_1 = 360 // Heat damage level 1 above this point.
|
||||
var/heat_level_2 = 400 // Heat damage level 2 above this point.
|
||||
var/heat_level_3 = 1000 // Heat damage level 3 above this point.
|
||||
|
||||
var/breath_heat_level_1 = 380 // Heat gas damage level 1 below this point.
|
||||
var/breath_heat_level_2 = 450 // Heat gas damage level 2 below this point.
|
||||
var/breath_heat_level_3 = 1250 // Heat gas damage level 3 below this point.
|
||||
|
||||
var/heat_discomfort_level = 315 // Aesthetic messages about feeling warm.
|
||||
var/list/heat_discomfort_strings = list(
|
||||
"You feel sweat drip down your neck.",
|
||||
"You feel uncomfortably warm.",
|
||||
"Your skin prickles in the heat."
|
||||
)
|
||||
|
||||
|
||||
var/passive_temp_gain = 0 // Species will gain this much temperature every second
|
||||
var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure.
|
||||
var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning.
|
||||
var/warning_low_pressure = WARNING_LOW_PRESSURE // Low pressure warning.
|
||||
var/hazard_low_pressure = HAZARD_LOW_PRESSURE // Dangerously low pressure.
|
||||
var/light_dam // If set, mob will be damaged in light over this value and heal in light below its negative.
|
||||
var/body_temperature = 310.15 // Species will try to stabilize at this temperature. (also affects temperature processing)
|
||||
var/minimum_breath_pressure = 16 // Minimum required pressure for breath, in kPa
|
||||
|
||||
var/heat_discomfort_level = 315 // Aesthetic messages about feeling warm.
|
||||
var/cold_discomfort_level = 285 // Aesthetic messages about feeling chilly.
|
||||
var/list/heat_discomfort_strings = list(
|
||||
"You feel sweat drip down your neck.",
|
||||
"You feel uncomfortably warm.",
|
||||
"Your skin prickles in the heat."
|
||||
)
|
||||
var/list/cold_discomfort_strings = list(
|
||||
"You feel chilly.",
|
||||
"You shiver suddenly.",
|
||||
"Your chilly flesh stands out in goosebumps."
|
||||
)
|
||||
|
||||
var/metabolic_rate = 1
|
||||
|
||||
@@ -135,7 +152,12 @@
|
||||
var/flags = 0 // Various specific features.
|
||||
var/appearance_flags = 0 // Appearance/display related features.
|
||||
var/spawn_flags = 0 // Flags that specify who can spawn as this species
|
||||
|
||||
var/slowdown = 0 // Passive movement speed malus (or boost, if negative)
|
||||
var/water_movement = 0 // How much faster or slower the species is in water
|
||||
var/snow_movement = 0 // How much faster or slower the species is on snow
|
||||
|
||||
|
||||
var/item_slowdown_mod = 1 // How affected by item slowdown the species is.
|
||||
var/primitive_form // Lesser form, if any (ie. monkey for humans)
|
||||
var/greater_form // Greater form, if any, ie. human for monkeys.
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
max_age = 45
|
||||
health_hud_intensity = 3
|
||||
|
||||
|
||||
male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg')
|
||||
female_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg')
|
||||
male_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg'
|
||||
@@ -35,6 +34,7 @@
|
||||
fire_icon_state = "generic" // Humanoid is too big for them and spriting a new one is really annoying.
|
||||
|
||||
slowdown = -1
|
||||
snow_movement = -2 // Ignores light snow
|
||||
total_health = 50
|
||||
brute_mod = 1.35
|
||||
burn_mod = 1.35
|
||||
@@ -54,12 +54,22 @@
|
||||
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
|
||||
push_flags = MONKEY|SLIME|SIMPLE_ANIMAL|ALIEN
|
||||
|
||||
cold_level_1 = 180
|
||||
cold_level_2 = 130
|
||||
cold_level_3 = 70
|
||||
heat_level_1 = 320
|
||||
heat_level_2 = 370
|
||||
heat_level_3 = 600
|
||||
cold_level_1 = 180 //Default 260
|
||||
cold_level_2 = 130 //Default 200
|
||||
cold_level_3 = 70 //Default 120
|
||||
|
||||
breath_cold_level_1 = 180 //Default 240 - Lower is better
|
||||
breath_cold_level_2 = 100 //Default 180
|
||||
breath_cold_level_3 = 60 //Default 100
|
||||
|
||||
heat_level_1 = 320 //Default 360
|
||||
heat_level_2 = 370 //Default 400
|
||||
heat_level_3 = 600 //Default 1000
|
||||
|
||||
breath_heat_level_1 = 350 //Default 380 - Higher is better
|
||||
breath_heat_level_2 = 400 //Default 450
|
||||
breath_heat_level_3 = 800 //Default 1250
|
||||
|
||||
heat_discomfort_level = 295
|
||||
heat_discomfort_strings = list(
|
||||
"Your feathers prickle in the heat.",
|
||||
|
||||
@@ -56,12 +56,22 @@
|
||||
cold_level_2 = 220 //Default 200
|
||||
cold_level_3 = 130 //Default 120
|
||||
|
||||
breath_cold_level_1 = 260 //Default 240 - Lower is better
|
||||
breath_cold_level_2 = 200 //Default 180
|
||||
breath_cold_level_3 = 120 //Default 100
|
||||
|
||||
heat_level_1 = 420 //Default 360 - Higher is better
|
||||
heat_level_2 = 480 //Default 400
|
||||
heat_level_3 = 1100 //Default 1000
|
||||
|
||||
breath_heat_level_1 = 450 //Default 380 - Higher is better
|
||||
breath_heat_level_2 = 530 //Default 450
|
||||
breath_heat_level_3 = 1400 //Default 1250
|
||||
|
||||
minimum_breath_pressure = 18 //Bigger, means they need more air
|
||||
|
||||
body_temperature = T20C
|
||||
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
|
||||
@@ -123,6 +133,7 @@
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
|
||||
darksight = 8
|
||||
slowdown = -0.5
|
||||
snow_movement = -1 //Ignores half of light snow
|
||||
brute_mod = 1.15
|
||||
burn_mod = 1.15
|
||||
flash_mod = 1.1
|
||||
@@ -142,14 +153,24 @@
|
||||
governments, something that permeates even to today's times. They prefer colder, tundra-like climates, much like their \
|
||||
home worlds and speak a variety of languages, especially Siik and Akhani."
|
||||
|
||||
body_temperature = 320.15 //Even more cold resistant, even more flammable
|
||||
|
||||
cold_level_1 = 200 //Default 260
|
||||
cold_level_2 = 140 //Default 200
|
||||
cold_level_3 = 80 //Default 120
|
||||
|
||||
breath_cold_level_1 = 180 //Default 240 - Lower is better
|
||||
breath_cold_level_2 = 100 //Default 180
|
||||
breath_cold_level_3 = 60 //Default 100
|
||||
|
||||
heat_level_1 = 330 //Default 360
|
||||
heat_level_2 = 380 //Default 400
|
||||
heat_level_3 = 800 //Default 1000
|
||||
|
||||
breath_heat_level_1 = 360 //Default 380 - Higher is better
|
||||
breath_heat_level_2 = 430 //Default 450
|
||||
breath_heat_level_3 = 1000 //Default 1250
|
||||
|
||||
primitive_form = "Farwa"
|
||||
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
|
||||
@@ -166,6 +187,7 @@
|
||||
"You feel uncomfortably warm.",
|
||||
"Your overheated skin itches."
|
||||
)
|
||||
|
||||
cold_discomfort_level = 275
|
||||
|
||||
has_organ = list( //No appendix.
|
||||
@@ -198,6 +220,8 @@
|
||||
name_language = LANGUAGE_SKRELLIAN
|
||||
health_hud_intensity = 2
|
||||
|
||||
water_movement = -3
|
||||
|
||||
min_age = 19
|
||||
max_age = 130
|
||||
|
||||
@@ -218,10 +242,18 @@
|
||||
cold_level_2 = 220 //Default 200
|
||||
cold_level_3 = 130 //Default 120
|
||||
|
||||
breath_cold_level_1 = 250 //Default 240 - Lower is better
|
||||
breath_cold_level_2 = 190 //Default 180
|
||||
breath_cold_level_3 = 120 //Default 100
|
||||
|
||||
heat_level_1 = 420 //Default 360 - Higher is better
|
||||
heat_level_2 = 480 //Default 400
|
||||
heat_level_3 = 1100 //Default 1000
|
||||
|
||||
breath_heat_level_1 = 400 //Default 380 - Higher is better
|
||||
breath_heat_level_2 = 500 //Default 450
|
||||
breath_heat_level_3 = 1350 //Default 1250
|
||||
|
||||
reagent_tag = IS_SKRELL
|
||||
|
||||
has_limbs = list(
|
||||
@@ -250,6 +282,8 @@
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/diona)
|
||||
//primitive_form = "Nymph"
|
||||
slowdown = 5
|
||||
snow_movement = -2 //Ignore light snow
|
||||
water_movement = -4 //Ignore shallow water
|
||||
rarity_value = 3
|
||||
hud_type = /datum/hud_data/diona
|
||||
siemens_coefficient = 0.3
|
||||
|
||||
@@ -99,6 +99,17 @@
|
||||
/obj/item/weapon/grown
|
||||
)
|
||||
|
||||
/obj/item/weapon/gripper/gravekeeper //Used for handling grave things, flowers, etc.
|
||||
name = ""
|
||||
icon_state = "gripper"
|
||||
desc = "A specialized grasping tool used in the preparation and maintenance of graves."
|
||||
|
||||
can_hold = list(
|
||||
/obj/item/seeds,
|
||||
/obj/item/weapon/grown,
|
||||
/obj/item/weapon/material/gravemarker
|
||||
)
|
||||
|
||||
/obj/item/weapon/gripper/no_use/organ
|
||||
name = "organ gripper"
|
||||
icon_state = "gripper-flesh"
|
||||
|
||||
78
code/modules/mob/living/silicon/robot/robot_modules/event.dm
Normal file
@@ -0,0 +1,78 @@
|
||||
/* Other, unaffiliated modules */
|
||||
|
||||
// The module that borgs on the surface have. Generally has a lot of useful tools in exchange for questionable loyalty to the crew.
|
||||
/obj/item/weapon/robot_module/robot/lost
|
||||
name = "lost robot module"
|
||||
hide_on_manifest = 1
|
||||
sprites = list(
|
||||
"Drone" = "drone-lost"
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/lost/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
// Sec
|
||||
src.modules += new /obj/item/weapon/melee/baton/shocker/robot(src)
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
|
||||
src.modules += new /obj/item/borg/combat/shield(src)
|
||||
|
||||
// Med
|
||||
src.modules += new /obj/item/borg/sight/hud/med(src)
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/lost(src)
|
||||
|
||||
// Engi
|
||||
src.modules += new /obj/item/weapon/weldingtool/electric/mounted(src)
|
||||
src.modules += new /obj/item/weapon/screwdriver/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/wirecutters/cyborg(src)
|
||||
src.modules += new /obj/item/device/multitool(src)
|
||||
|
||||
// Sci
|
||||
src.modules += new /obj/item/device/robotanalyzer(src)
|
||||
|
||||
// Potato
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/wire = new /datum/matter_synth/wire()
|
||||
synths += wire
|
||||
|
||||
var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
|
||||
C.synths = list(wire)
|
||||
src.modules += C
|
||||
|
||||
/obj/item/weapon/robot_module/robot/gravekeeper
|
||||
name = "gravekeeper robot module"
|
||||
hide_on_manifest = 1
|
||||
sprites = list(
|
||||
"Drone" = "drone-gravekeeper",
|
||||
"Sleek" = "sleek-gravekeeper"
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/gravekeeper/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
// For fending off animals and looters
|
||||
src.modules += new /obj/item/weapon/melee/baton/shocker/robot(src)
|
||||
src.modules += new /obj/item/borg/combat/shield(src)
|
||||
|
||||
// For repairing gravemarkers
|
||||
src.modules += new /obj/item/weapon/weldingtool/electric/mounted(src)
|
||||
src.modules += new /obj/item/weapon/screwdriver/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/wrench/cyborg(src)
|
||||
|
||||
// For growing flowers
|
||||
src.modules += new /obj/item/weapon/material/minihoe(src)
|
||||
src.modules += new /obj/item/weapon/material/hatchet(src)
|
||||
src.modules += new /obj/item/device/analyzer/plant_analyzer(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/plants(src)
|
||||
src.modules += new /obj/item/weapon/robot_harvester(src)
|
||||
|
||||
// For digging and beautifying graves
|
||||
src.modules += new /obj/item/weapon/shovel(src)
|
||||
src.modules += new /obj/item/weapon/gripper/gravekeeper(src)
|
||||
|
||||
// For really persistent looters
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/wood = new /datum/matter_synth/wood(25000)
|
||||
synths += wood
|
||||
|
||||
@@ -739,90 +739,6 @@ var/global/list/robot_modules = list(
|
||||
C.synths = list(wire)
|
||||
src.modules += C
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate
|
||||
name = "illegal robot module"
|
||||
hide_on_manifest = 1
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_UNATHI = 0,
|
||||
LANGUAGE_SIIK = 0,
|
||||
LANGUAGE_SKRELLIAN = 0,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_GUTTER = 1,
|
||||
LANGUAGE_SCHECHI = 0,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_SIGN = 0
|
||||
)
|
||||
sprites = list(
|
||||
"Cerberus" = "syndie_bloodhound",
|
||||
"Cerberus - Treaded" = "syndie_treadhound",
|
||||
"Ares" = "squats",
|
||||
"Telemachus" = "toiletbotantag",
|
||||
"WTOperator" = "hosborg",
|
||||
"XI-GUS" = "spidersyndi",
|
||||
"XI-ALP" = "syndi-heavy"
|
||||
)
|
||||
var/id
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
loc = R
|
||||
src.modules += new /obj/item/weapon/melee/energy/sword(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)
|
||||
src.modules += new /obj/item/weapon/card/emag(src)
|
||||
var/jetpack = new/obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
src.modules += jetpack
|
||||
R.internals = jetpack
|
||||
|
||||
id = R.idcard
|
||||
src.modules += id
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate/Destroy()
|
||||
src.modules -= id
|
||||
id = null
|
||||
return ..()
|
||||
|
||||
// The module that borgs on the surface have. Generally has a lot of useful tools in exchange for questionable loyalty to the crew.
|
||||
/obj/item/weapon/robot_module/robot/lost
|
||||
name = "lost robot module"
|
||||
hide_on_manifest = 1
|
||||
sprites = list(
|
||||
"Drone" = "drone-lost"
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/lost/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
// Sec
|
||||
src.modules += new /obj/item/weapon/melee/baton/shocker/robot(src)
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
|
||||
src.modules += new /obj/item/borg/combat/shield(src)
|
||||
|
||||
// Med
|
||||
src.modules += new /obj/item/borg/sight/hud/med(src)
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/lost(src)
|
||||
|
||||
// Engi
|
||||
src.modules += new /obj/item/weapon/weldingtool/electric/mounted(src)
|
||||
src.modules += new /obj/item/weapon/screwdriver/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/wirecutters/cyborg(src)
|
||||
src.modules += new /obj/item/device/multitool(src)
|
||||
|
||||
// Sci
|
||||
src.modules += new /obj/item/device/robotanalyzer(src)
|
||||
|
||||
// Potato
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/wire = new /datum/matter_synth/wire()
|
||||
synths += wire
|
||||
|
||||
var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
|
||||
C.synths = list(wire)
|
||||
src.modules += C
|
||||
|
||||
/obj/item/weapon/robot_module/robot/security/combat
|
||||
name = "combat robot module"
|
||||
hide_on_manifest = 1
|
||||
@@ -841,6 +757,9 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/borg/combat/mobility(src)
|
||||
src.emag = new /obj/item/weapon/gun/energy/lasercannon/mounted(src)
|
||||
|
||||
|
||||
/* Drones */
|
||||
|
||||
/obj/item/weapon/robot_module/drone
|
||||
name = "drone module"
|
||||
hide_on_manifest = 1
|
||||
@@ -872,8 +791,8 @@ var/global/list/robot_modules = list(
|
||||
|
||||
var/datum/matter_synth/metal = new /datum/matter_synth/metal(25000)
|
||||
var/datum/matter_synth/glass = new /datum/matter_synth/glass(25000)
|
||||
var/datum/matter_synth/wood = new /datum/matter_synth/wood(2000)
|
||||
var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(1000)
|
||||
var/datum/matter_synth/wood = new /datum/matter_synth/wood(25000)
|
||||
var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(25000)
|
||||
var/datum/matter_synth/wire = new /datum/matter_synth/wire(30)
|
||||
synths += metal
|
||||
synths += glass
|
||||
@@ -0,0 +1,45 @@
|
||||
/* Syndicate modules */
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate
|
||||
name = "illegal robot module"
|
||||
hide_on_manifest = 1
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_UNATHI = 0,
|
||||
LANGUAGE_SIIK = 0,
|
||||
LANGUAGE_SKRELLIAN = 0,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_GUTTER = 1,
|
||||
LANGUAGE_SCHECHI = 0,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_SIGN = 0
|
||||
)
|
||||
sprites = list(
|
||||
"Cerberus" = "syndie_bloodhound",
|
||||
"Cerberus - Treaded" = "syndie_treadhound",
|
||||
"Ares" = "squats",
|
||||
"Telemachus" = "toiletbotantag",
|
||||
"WTOperator" = "hosborg",
|
||||
"XI-GUS" = "spidersyndi",
|
||||
"XI-ALP" = "syndi-heavy"
|
||||
)
|
||||
var/id
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
loc = R
|
||||
src.modules += new /obj/item/weapon/melee/energy/sword(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)
|
||||
src.modules += new /obj/item/weapon/card/emag(src)
|
||||
var/jetpack = new/obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
src.modules += jetpack
|
||||
R.internals = jetpack
|
||||
|
||||
id = R.idcard
|
||||
src.modules += id
|
||||
|
||||
/obj/item/weapon/robot_module/robot/syndicate/Destroy()
|
||||
src.modules -= id
|
||||
id = null
|
||||
return ..()
|
||||
@@ -0,0 +1,25 @@
|
||||
/mob/living/silicon/robot/gravekeeper
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
icon_state = "drone-lost"
|
||||
modtype = "Gravekeeper"
|
||||
lawchannel = "State"
|
||||
braintype = "Drone"
|
||||
idcard_type = /obj/item/weapon/card/id
|
||||
|
||||
/mob/living/silicon/robot/gravekeeper/init()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
|
||||
mmi = new /obj/item/device/mmi/digital/robot(src) // Explicitly a drone.
|
||||
module = new /obj/item/weapon/robot_module/robot/gravekeeper(src)
|
||||
overlays.Cut()
|
||||
init_id()
|
||||
|
||||
updatename("Gravekeeper")
|
||||
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell/high(src) // 15k cell, as recharging stations are a lot more rare on the Surface.
|
||||
|
||||
laws = new /datum/ai_laws/gravekeeper()
|
||||
|
||||
playsound(loc, 'sound/mecha/nominalsyndi.ogg', 75, 0)
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "crab"
|
||||
icon_living = "crab"
|
||||
icon_dead = "crab_dead"
|
||||
faction = "crabs"
|
||||
intelligence_level = SA_ANIMAL
|
||||
|
||||
wander = 0
|
||||
@@ -45,3 +46,37 @@
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
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")
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
W.assignment = corpseidjob
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
delete_me = 1
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -1059,6 +1059,13 @@ mob/proc/yank_out_object()
|
||||
/mob/proc/is_muzzled()
|
||||
return 0
|
||||
|
||||
//Exploitable Info Update
|
||||
|
||||
/mob/proc/amend_exploitable(var/obj/item/I)
|
||||
var/obj/item/exploit_item = new I(src.loc)
|
||||
exploit_addons |= exploit_item
|
||||
var/exploitmsg = html_decode("\n" + "Has " + exploit_item.name + ".")
|
||||
exploit_record += exploitmsg
|
||||
|
||||
/client/proc/check_has_body_select()
|
||||
return mob && mob.hud_used && istype(mob.zone_sel, /obj/screen/zone_sel)
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
var/sec_record = ""
|
||||
var/gen_record = ""
|
||||
var/exploit_record = ""
|
||||
var/exploit_addons = list() //Assorted things that show up at the end of the exploit_record list
|
||||
var/blinded = null
|
||||
var/bhunger = 0 //Carbon
|
||||
var/ajourn = 0
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
item_state = "stamp"
|
||||
throwforce = 0
|
||||
w_class = ITEMSIZE_TINY
|
||||
slot_flags = SLOT_HOLSTER
|
||||
throw_speed = 7
|
||||
throw_range = 15
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
item_state = "crossbow"
|
||||
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2, TECH_ILLEGAL = 5)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
||||
slot_flags = SLOT_BELT
|
||||
slot_flags = SLOT_BELT | SLOT_HOLSTER
|
||||
silenced = 1
|
||||
fire_sound = 'sound/weapons/Genhit.ogg'
|
||||
projectile_type = /obj/item/projectile/energy/bolt
|
||||
@@ -54,6 +54,7 @@
|
||||
w_class = ITEMSIZE_LARGE
|
||||
force = 10
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 200000)
|
||||
slot_flags = SLOT_BELT
|
||||
projectile_type = /obj/item/projectile/energy/bolt/large
|
||||
|
||||
/obj/item/weapon/gun/energy/plasmastun
|
||||
|
||||
@@ -1204,7 +1204,7 @@
|
||||
name = "Syntiflesh"
|
||||
id = "syntiflesh"
|
||||
result = null
|
||||
required_reagents = list("blood" = 5, "clonexadone" = 1)
|
||||
required_reagents = list("blood" = 5, "clonexadone" = 5)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
|
||||
|
||||
@@ -3460,7 +3460,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks
|
||||
name = "\improper SkrellSnax"
|
||||
desc = "Cured fungus shipped all the way from Jargon 4, almost like jerky! Almost."
|
||||
desc = "Cured fungus shipped all the way from Qerr'balak, almost like jerky! Almost."
|
||||
icon_state = "skrellsnacks"
|
||||
filling_color = "#A66829"
|
||||
center_of_mass = list("x"=15, "y"=12)
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
if(them)
|
||||
x_offset = us.x - them.x
|
||||
y_offset = us.y - them.y
|
||||
else
|
||||
update_color()
|
||||
..(newloc)
|
||||
|
||||
/obj/effect/directional_shield/proc/relocate()
|
||||
@@ -38,6 +40,13 @@
|
||||
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
|
||||
@@ -49,6 +58,9 @@
|
||||
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
|
||||
@@ -84,9 +96,13 @@
|
||||
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()
|
||||
@@ -131,6 +147,32 @@
|
||||
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)
|
||||
@@ -180,10 +222,23 @@
|
||||
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(!..())
|
||||
@@ -246,6 +301,7 @@
|
||||
create_shield(locate(current_x, current_y, T.z), SOUTH)
|
||||
current_x--
|
||||
// Finally done.
|
||||
update_shield_colors()
|
||||
return TRUE
|
||||
|
||||
/obj/item/shield_projector/line
|
||||
@@ -287,4 +343,5 @@
|
||||
break
|
||||
create_shield(temp_T, i == length_to_build ? turn(dir, -45) : dir)
|
||||
// Finished.
|
||||
update_shield_colors()
|
||||
return TRUE
|
||||
@@ -27,3 +27,8 @@ body
|
||||
background-color: RoyalBlue;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
table, th, td {
|
||||
border: 0px solid black;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 253 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: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 378 KiB After Width: | Height: | Size: 385 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -185,7 +185,7 @@
|
||||
"adC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adD" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adE" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adF" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex,/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adF" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adG" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adH" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
"adI" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/library_conference_room)
|
||||
@@ -375,7 +375,7 @@
|
||||
"ahk" = (/obj/structure/table/woodentable,/obj/item/device/flash,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahm" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahn" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahn" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"aho" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"ahq" = (/obj/structure/table/woodentable,/obj/item/device/flash,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/radio/intercom{broadcasting = 0; dir = 4; frequency = 1475; icon_state = "intercom"; listening = 1; name = "Station Intercom (Security)"; pixel_x = 21; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
@@ -448,7 +448,7 @@
|
||||
"aiF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/secondary/escape/fore_escape_pod_hallway)
|
||||
"aiG" = (/turf/simulated/wall,/area/hallway/secondary/escape/fore_escape_pod_hallway)
|
||||
"aiH" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library)
|
||||
"aiI" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/carpet,/area/library)
|
||||
"aiI" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library)
|
||||
"aiJ" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library)
|
||||
"aiK" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/carpet,/area/library)
|
||||
"aiL" = (/turf/simulated/floor/wood,/area/library)
|
||||
@@ -593,7 +593,7 @@
|
||||
"alu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway)
|
||||
"alv" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/fore_escape_pod_hallway)
|
||||
"alw" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/carpet,/area/library)
|
||||
"alx" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/book/codex,/obj/item/weapon/book/codex,/turf/simulated/floor/carpet,/area/library)
|
||||
"alx" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/library)
|
||||
"aly" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 2; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "library_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "library_window_tint"},/turf/simulated/floor/plating,/area/library)
|
||||
"alz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Office"; dir = 2},/turf/simulated/floor/carpet,/area/library)
|
||||
"alA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor/carpet,/area/library)
|
||||
@@ -753,7 +753,7 @@
|
||||
"aoy" = (/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,10,63)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station_starboard)
|
||||
"aoz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore)
|
||||
"aoA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore)
|
||||
"aoB" = (/obj/structure/table/glass,/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore)
|
||||
"aoB" = (/obj/structure/table/glass,/obj/machinery/status_display{pixel_x = 32; pixel_y = 0},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/civilian_hallway_fore)
|
||||
"aoC" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main)
|
||||
"aoD" = (/obj/effect/floor_decal/chapel,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main)
|
||||
"aoE" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/chapel/main)
|
||||
@@ -934,7 +934,7 @@
|
||||
"arX" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos)
|
||||
"arY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/noticeboard{pixel_x = -32},/turf/simulated/floor/tiled,/area/security/main)
|
||||
"arZ" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/main)
|
||||
"asa" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor/tiled,/area/security/main)
|
||||
"asa" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/tiled,/area/security/main)
|
||||
"asb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/security/main)
|
||||
"asc" = (/turf/simulated/wall/r_wall,/area/security/security_lockerroom)
|
||||
"asd" = (/turf/simulated/wall/r_wall,/area/security/security_bathroom)
|
||||
@@ -1167,7 +1167,7 @@
|
||||
"aww" = (/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"awx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"awy" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = 36; pixel_y = 18; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "brigobs"; name = "Observation Shutters"; pixel_x = 24; pixel_y = 18; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"awz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/material/ashtray/glass,/obj/structure/window/reinforced,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"awz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/material/ashtray/glass,/obj/structure/window/reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"awA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled,/area/security/brig)
|
||||
"awB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/brig)
|
||||
"awC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_processing)
|
||||
@@ -1511,7 +1511,7 @@
|
||||
"aDc" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/holodeck_control)
|
||||
"aDd" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
|
||||
"aDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/holodeck_control)
|
||||
"aDf" = (/obj/structure/table/glass,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway)
|
||||
"aDf" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway)
|
||||
"aDg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway)
|
||||
"aDh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway)
|
||||
"aDi" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway)
|
||||
@@ -1870,9 +1870,9 @@
|
||||
"aJX" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"aJY" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"aJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"aKa" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"aKa" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"aKb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "brigobs"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison)
|
||||
"aKc" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aKc" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/corner/red/full{dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aKd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/flasher{id = "IAflash"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aKe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aKf" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
@@ -2005,7 +2005,7 @@
|
||||
"aMC" = (/obj/structure/table/steel,/obj/machinery/microwave,/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aMD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aME" = (/obj/structure/table/steel,/obj/item/weapon/dice,/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Aft"; dir = 1},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aMF" = (/obj/structure/table/steel,/obj/item/weapon/book/manual/security_space_law,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aMF" = (/obj/structure/table/steel,/obj/item/weapon/book/codex/corp_regs,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aMG" = (/obj/structure/table/steel,/obj/item/weapon/newspaper,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aMH" = (/obj/machinery/cryopod,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/security/prison)
|
||||
"aMI" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/security/prison)
|
||||
@@ -2758,7 +2758,7 @@
|
||||
"bbb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/rnd/research)
|
||||
"bbc" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atm{pixel_x = 28; pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/rnd/research)
|
||||
"bbd" = (/turf/simulated/wall/r_wall,/area/rnd/research)
|
||||
"bbe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/machinery/atm{pixel_x = 0; pixel_y = -30},/obj/item/weapon/deck/cards,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/gateway)
|
||||
"bbe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/standard,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/machinery/atm{pixel_x = 0; pixel_y = -30},/obj/item/weapon/deck/cards,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/gateway)
|
||||
"bbf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/gateway)
|
||||
"bbg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/gateway)
|
||||
"bbh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/gateway)
|
||||
@@ -3251,7 +3251,7 @@
|
||||
"bkA" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai)
|
||||
"bkB" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/grass,/area/hydroponics/garden)
|
||||
"bkC" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hydroponics/garden)
|
||||
"bkD" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/hydroponics/garden)
|
||||
"bkD" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hydroponics/garden)
|
||||
"bkE" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hydroponics/garden)
|
||||
"bkF" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/hydroponics/garden)
|
||||
"bkG" = (/obj/effect/floor_decal/spline/fancy/wood{tag = "icon-spline_fancy (NORTHWEST)"; icon_state = "spline_fancy"; dir = 9},/obj/structure/flora/ausbushes/sunnybush,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/grass,/area/hydroponics/garden)
|
||||
@@ -5256,7 +5256,7 @@
|
||||
"bXd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge/meeting_room)
|
||||
"bXe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"bXf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/woodentable,/obj/item/weapon/folder/red,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"bXg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"bXg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"bXh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"bXi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room)
|
||||
"bXj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room)
|
||||
@@ -5327,7 +5327,7 @@
|
||||
"bYw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/blue{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge_hallway)
|
||||
"bYx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cap_office"; name = "Captain's Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/bridge_hallway)
|
||||
"bYy" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
|
||||
"bYz" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
|
||||
"bYz" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
|
||||
"bYA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/captain)
|
||||
"bYB" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain)
|
||||
"bYC" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain)
|
||||
@@ -5549,7 +5549,7 @@
|
||||
"ccK" = (/obj/machinery/atm{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria)
|
||||
"ccL" = (/obj/structure/bed/chair{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria)
|
||||
"ccM" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Aft"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria)
|
||||
"ccN" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria)
|
||||
"ccN" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria)
|
||||
"ccO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/neutral,/area/crew_quarters/cafeteria)
|
||||
"ccP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria)
|
||||
"ccQ" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/pink{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway)
|
||||
@@ -6291,7 +6291,7 @@
|
||||
"cqY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator)
|
||||
"cqZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator)
|
||||
"cra" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator)
|
||||
"crb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/structure/table/glass,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator)
|
||||
"crb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator)
|
||||
"crc" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/central_three)
|
||||
"crd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/central_three)
|
||||
"cre" = (/turf/simulated/wall,/area/vacant/vacant_shop)
|
||||
@@ -6939,7 +6939,7 @@
|
||||
"cDw" = (/turf/simulated/wall,/area/maintenance/arrivals)
|
||||
"cDx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/arrivals)
|
||||
"cDy" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
"cDz" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
"cDz" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
"cDA" = (/obj/structure/bed/chair/wood{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
"cDB" = (/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
"cDC" = (/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop)
|
||||
@@ -7332,7 +7332,7 @@
|
||||
"cKZ" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/crew_quarters/longue_area)
|
||||
"cLa" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/longue_area)
|
||||
"cLb" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area)
|
||||
"cLc" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/weapon/book/codex,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area)
|
||||
"cLc" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/crew_quarters/longue_area)
|
||||
"cLd" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/longue_area)
|
||||
"cLe" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/longue_area)
|
||||
"cLf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/longue_area)
|
||||
@@ -7962,7 +7962,7 @@
|
||||
"cXf" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/lino,/area/hallway/secondary/entry/docking_lounge)
|
||||
"cXg" = (/obj/structure/table/glass,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
|
||||
"cXh" = (/obj/structure/table/glass,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge)
|
||||
"cXi" = (/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge)
|
||||
"cXi" = (/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/docking_lounge)
|
||||
"cXj" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor,/area/maintenance/arrivals)
|
||||
"cXk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/arrivals)
|
||||
"cXl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard)
|
||||
@@ -8045,7 +8045,7 @@
|
||||
"cYK" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining)
|
||||
"cYL" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver,/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining)
|
||||
"cYM" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_dining)
|
||||
"cYN" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging)
|
||||
"cYN" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging)
|
||||
"cYO" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging)
|
||||
"cYP" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging)
|
||||
"cYQ" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/visitor_lodging)
|
||||
@@ -8637,7 +8637,7 @@
|
||||
"dke" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dkf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dkg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dkh" = (/obj/structure/table/standard,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dkh" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dki" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3)
|
||||
"dkj" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
"dkk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
@@ -8968,7 +8968,7 @@
|
||||
"dqx" = (/obj/machinery/shieldgen,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage)
|
||||
"dqy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1)
|
||||
"dqz" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2)
|
||||
"dqA" = (/obj/structure/table/standard,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
"dqA" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
"dqB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/engineering/atmos)
|
||||
"dqC" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos)
|
||||
"dqD" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos)
|
||||
|
||||
@@ -335,7 +335,7 @@
|
||||
"gw" = (/turf/space/transit/north,/area/shuttle/escape_pod1/transit)
|
||||
"gx" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/shuttle/arrival/pre_game)
|
||||
"gy" = (/obj/machinery/hologram/holopad,/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/pre_game)
|
||||
"gz" = (/obj/structure/table/standard,/obj/item/weapon/book/codex,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/shuttle/arrival/pre_game)
|
||||
"gz" = (/obj/structure/table/standard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/shuttle/arrival/pre_game)
|
||||
"gA" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor/red,/area/shuttle/syndicate_elite/mothership)
|
||||
"gB" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor/red,/area/shuttle/syndicate_elite/mothership)
|
||||
"gC" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom)
|
||||
@@ -592,20 +592,20 @@
|
||||
"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)
|
||||
"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"})
|
||||
"lx" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/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,/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)
|
||||
"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"})
|
||||
"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"})
|
||||
"lE" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{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/structure/mirror,/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/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)
|
||||
"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"})
|
||||
"lI" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/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"})
|
||||
"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" = (/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)
|
||||
"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)
|
||||
@@ -614,18 +614,18 @@
|
||||
"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)
|
||||
"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"})
|
||||
"lT" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||
"lU" = (/obj/machinery/teleport/hub,/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/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/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||
"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"})
|
||||
"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)
|
||||
"lZ" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership{name = "\improper Ninja Base"})
|
||||
"lZ" = (/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"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"})
|
||||
"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"})
|
||||
"md" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"me" = (/turf/simulated/mineral,/area/space)
|
||||
"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)
|
||||
@@ -1262,7 +1262,6 @@
|
||||
"yn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command)
|
||||
"yo" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/supply/dock)
|
||||
"yp" = (/obj/structure/table/reinforced,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/effect/floor_decal/corner/orange{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"yq" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"yr" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"ys" = (/obj/effect/floor_decal/corner/orange{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"yt" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/command)
|
||||
@@ -2225,7 +2224,6 @@
|
||||
"QO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/skipjack_station/start)
|
||||
"QP" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"QQ" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"QR" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"QS" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"QT" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
|
||||
"QU" = (/obj/item/weapon/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
|
||||
@@ -2471,14 +2469,14 @@ ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaa
|
||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafhVihjyjyjyjyjyjyjyjKjKjKjyjyjyjyjyjyjykekTlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslslslsafafhVihjyltltltltltjyjKjKjKjyjKjKjKjKjKjyluhVlolplphVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlvlvlslvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyluhVhVhVhVhVafafafafafafafafaflwlxlylxlzafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlAlvlBlvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyjLihhVafafafafafafafafafafafaflxlClDlElxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlFlFlslvlvlsafafhVihjyltltltltltjyltltltjyjKjyjKjyjyjylGihhVafafafafafafafafafafafaflHlIlJlIlHafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslslslvlvlsafafhVihjyltltltjyjyjyltltltjyjyjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlIlIlIlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlBlvlBlvlvlvlvlvlsafafhVihjyltltltjyihjylMlMlMjyihjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlIlIlIlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslvlvlvlNlsafafhVihjylMlMlMjyihjylOlPlQjyihjylMlMlMjyjLihhVafafafafafafafafafafafaflRlIlIlIlRafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihjylOlPlQjyihihihihihihihjylOlPlQjyihihhVafafafafafafafafafafafaflxlSlTlUlxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslvlAlvlBlvlvlsafafhVihjyltltltltltltjKjKjKjKjKjKjKjKjKjyjLihhVafafafafafafafafafafafaflxlDlClElxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlFlFlslvlvlsafafhVihjyltltltltltjyltltltjyjKjyjKjyjyjylGihhVafafafafafafafafafafafaflHlJlIlJlHafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslslslvlvlsafafhVihjyltltltjyjyjyltltltjyjyjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlJlJlJlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlBlvlBlvlvlvlvlvlsafafhVihjyltltltjyihjylMlMlMjyihjyjKjKjKjyjLihhVafafafafafafafafafafafaflLlJlJlJlLafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflKlKlKlKlslslslslvlvlvlNlsafafhVihjylMlMlMjyihjylOlPlQjyihjylMlMlMjyjLihhVafafafafafafafafafafafaflRlJlJlJlRafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihjylOlPlQjyihihihihihihihjylOlPlQjyihihhVafafafafafafafafafafafaflxlTlSlUlxafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslFlvlvlNlsafafhVihihihihihihihihihihihihihihihihihihihihhVafafafafafafafafafafafaflxlWlWlWlxafafafafafafafafafafafaflXlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlY
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslsafafhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVafafafafafafafafafafafaflZmambmcmdafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflslslslslslsafafhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVhVafafafafafafafafafafafaflwmambmclwafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
lVlVlVlVlVlVlVlVlVlVlVlVlVlVlVafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
@@ -2527,7 +2525,7 @@ afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFvFvFaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawaxxxyxzafafafafafafafafafafafafafxzxyxxwawawavFafafafafafafafafafafafafafafafxzxyxxwawawawNxAxBxBxBxCxCxBxBxBxBxDxBxBxEwNxFxhxhxhxhrQwPxGxHxIxGwPwPwPwPrQxmxJxKxKxLxmvIvJvJrQxMxNrQxMxNrQxMxNrQsusususususususususususususususususususususuvavhvsvOvtvtvtvPvsvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpNxOxPxQpNafpNxRxRxRpNafpNqsxSxTpNafafafafafafafmLafmMafmemememememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawaxxxyxzafafafafafafafafafafafafafxzxyxxwawawavFafafafafafafafafafafafafafafafxzxyxzwawawawNxAxBxBxUxVxWxXxBxBxYxdxZyaybwNycxhxhxhxhrQwPxGydydxGwPwPwPwPrQxmyeuMyfygxmvIvJvJrQyhrQrQyhrQrQyhrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQvavhvsvsvtvtvtvsvsvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafpNxRxRxRpNafpNyiyjykpNafpNxRxRxRpNafafafafafafafmLmMmMmMmMmMmemememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFvFvFafafafafafafafafafafafafafvFvFvFwawawavFafafafafafafafafafafafafafafafvFvFvFwawawawNxAxBxBxUxWxWxXxBxBxEwNwNwNwNwNylylylxhxhrQwPwPwPwPwPwPwPymxGrQxmyeuMuMygxmrQvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJynsusuynvivhvsvsyoyoyovsvsvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmemeafafafpNyiyjykpNafafafafafafafpNyiyjykpNafafafafafafafmLafmMafmMafafmememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGafafafafafafafafafafafafafafafafafvGwawawavGmMafafafafafafafafafafafafafafmMmMvGwawawawNypxBxBxUyqyrxXxBxBysxdxexfxgwNytyuyvxhxhrQwPxGydxIxGwPwPwPwPrQxmyeuMuMygxmywvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJynsusuynvivhvhyxyyyyyyyzvhvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmememeafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGafafafafafafafafafafafafafafafafafvGwawawavGmMafafafafafafafafafafafafafafmMmMvGwawawawNypxBxBxUlZyrxXxBxBysxdxexfxgwNytyuyvxhxhrQwPxGydxIxGwPwPwPwPrQxmyeuMuMygxmywvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJvJynsusuynvivhvhyxyyyyyyyzvhvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafmememeafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGmMmMmMmMmMmMmMmMmMmMmMmMmMmMmMmMmMvGwawawavGmMmMmMmMmMmMmMmMmMmMmMmMmMmMmMmMafvFwawawawNyAxBxBxByByBxBxBxBxBxDxBxBxEwNyCxhxhxhxhrQwPxGydyDxGwPwPwPwPrQxmyeuMuMygxmrQvJvJrQvIvIvIvIvIvIvIvIvIrQrQrQrQrQrQrQrQrQrQrQrQvJvJrQrQrQrQrQrQrQrQvavhvhvhvhvhvhvhvhvhviafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafmemeafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGafafafafafafafafafafafafafafafafafvGwawawavGvGvGvGvGwtafafafafafafafafafafafafvFwawawawNyEyFyGyHxBxBxBxYyGyGxdxZyaybyIyIyIyIyIyIyIyIyIyIyIyIyIyIyIyIrQxmyeuMyJygxmvIvJvJrQvJyKyLyMyNvJyOyPyQrQyRyRyRyRyRyRyRyRyRyRrQvJvJrQafafafafafafafvavavavavavavavavavavaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFvFvFafafafafafafafafafafafafafvFvFvFwawawavGmMafafafafafafafafafafafafafafafafvGwawawawNwNwNwNySxBxByTyUwNwNwNwNwNwNyIyVyWyXyIyYyZyZyZyZyZyZyZyZzazbrQxmxMzczczdxmvIvJvJvIvJyKzezfyNvJzgzhzirQyRyRyRyRyRyRyRyRyRyRrQvJvJrQafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememememe
|
||||
@@ -2539,7 +2537,7 @@ afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwawawavGmMmMmMafafafafafafafafafafafmMmMmMvGwawawavFafafzJzJABzYzJACADACACACADAEAFvFvFvFwawawawNAdxBxBxBxBxBxBxBAsAtAGxBAsAHAIyIyZyZyZztztztztztyZyZyZyZyZyZyIAJAKvJALAMrQANAOAPAzAzAQAzrQvIARvIrQASASASATAUAVAWAXASASASAzwcvJvJrQafafafAAAAAYAYAYAYAYAYAZAZAZAYAYAYAYAZAZAZBaafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmemememeafafafafafafafafafafafafafmememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFafafmMafafafafafafafafafafafmMafafvFwawawavGmMafafzJzJzJzJzJzJzKzKzKzJzJBbmMmMvGwawawawNAdxBxByTyTyTyTyTxBxBxBxBxByTBcyIBdyZyZyZyZyZyZyZyZyZyZyZyZBdyIvJvJvJvJvJrQvJvJvJBeASASBfrQvJvJvJrQASASASATBgBhBiAXASASASAzvJvJvJrQafafafAAAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYBaafafafafafafafafafafafafafafafafafafafafafafafafafafafBjafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememeafafafafafafafafafafafafafmememememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFafafmMafafafafafafafafafafafmMafafvFwawawavGvGvGvGvGwtmMmMmMmMmMmMmMmMmMmMmMafvFwawawawNAdxBxBBkBkBkBkBkxBxBxBxBxBxBzyyIzCyZzBzCzCzDyZyZzBzCzCzDyZzCyIvJvJvJvJvJrQvJvJvJBeBlBmBnrQvJvJvJrQASASASBoBpBqBrBsASASASAzvJvJvJrQafafafAAAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYBaafafafafafafafafafafafafafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmemememememeafafafafafafafafafafafafafmemememe
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFafafmMafafafafafafafafafafafmMafafvFwawawavGmMafafafafafafafafafafafafafafafafvFwawawawNAdxBxByqxBxBxByqxBAeBtzRxBxBzyyIBuyZzBAwAizDyZyZzBAwAizDyZBuyIvJBvBwBxByrQvIBzvIAzBABBAzrQBCBDBErQASASASASASASASASASASASAzvJvJvJrQafafafAAAYAYAYBFAAAAAABaBaBaAABGBGAABaBaBaAAAAAAAABaBaBaAAAABaBaBaAAafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememeafafafafafafafafafafafafafafmeme
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvFwawawavFafafmMafafafafafafafafafafafmMafafvFwawawavGmMafafafafafafafafafafafafafafafafvFwawawawNAdxBxBlZxBxBxBlZxBAeBtzRxBxBzyyIBuyZzBAwAizDyZyZzBAwAizDyZBuyIvJBvBwBxByrQvIBzvIAzBABBAzrQBCBDBErQASASASASASASASASASASASAzvJvJvJrQafafafAAAYAYAYBFAAAAAABaBaBaAABGBGAABaBaBaAAAAAAAABaBaBaAAAABaBaBaAAafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememeafafafafafafafafafafafafafafmeme
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGBHBHBHvGvGafmMafafafafafafafafafafafmMafvGvGBHBHBHvGvGafafafafafafafafafafafafafafafvGvGBHBHBHwNAdxBAezRxBxBAeBtzRzywNwNBIBIwNyIBdyZyZyZyZyZyZyZyZyZyZyZyZBdyIBJrQrQrQrQrQASASASAzBeBeAzrQrQrQrQrQASASASASASASASASASASASAzvJvJvJrQafafafAABKAYAYAAAABLBLBMBLBMBLBNBNBLBMBLBMBLBLBOBOBOBOBOBOBOBOBOBOAAafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememeafafafafafafafafafafafafafafme
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwaBPwawavGvGmMafafafafafafafafafafafmMvGvGwaBQBRBSwavGvGafafafafafafafafafafafafafvGvGwawaBRBSwNAGxBzywNAvAvwNwNAdzywNBTxBxBBUyIzCyZzBzCzCzDyZyZzBzCzCzDyZzCyIrQrQASASASASASASASASASASASAzAzrQrQAzASASASASASASASASASASASAzvJvJvJrQafafafAABKAYAYAABLBLBVBVBVBVBWBXBXBYBVBVBVBWBLBLBZBZBZBZBZBZBZBZBZAAafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememeafafafafafafafafafafafafafafaf
|
||||
afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafvGwaCawawavZvGvGafafafafafafafafafafafvGvGvZwawaCbwawavZvGvGafafafafafafafafafafafvGvGvZwawaCcBSzvxBxBzywNzRxBzywNAdzywNCdxBxBBUyIBuyZzBAwAizDyZyZzBAwAizDyZBuyIrQCeASASASASASASASASASASASCeAzAzrQAzCfASASASASASASASASASCfAzwcvJvJAAAAAAAAAABKAYAYBaCgChBXBXBXBXBXBXBXBXBXBXBXBXCiCgCjCjCjCjCjCjCjCjCjAAafafafafafafafafafafafafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafmememememememememeafafafafafafafafafafafafafafaf
|
||||
@@ -2632,7 +2630,7 @@ ahmemememememememeafafafafafPNPQPRPPafafafafafafafafafafafafafPNPQPRPPafafafaflY
|
||||
ahmemememememememeafafafafafPXPOPOPXafafafPXafafafafafPXafafafPXPOPOPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafafafafPSPSPSPYPZPSQaQbQbPSQcQdPSPSPSafafafafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXQeQfPXafafafPXQgQhQhQhQiPXafafafPXQjQkPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafafafPSPSQlQmQnQnPSQoQbQbPSQpQqQrQsPSPSafafafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXQtQuPXafafPXPXPXQvQwQxQyPXPXafafPXQzQAPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafafPSPSQBQCQDQnQnPSQEQbQbPSQFQFQFQFQGPSPSafafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXQHQIPXafafPXPXQJQKQLQKQMPXPXafafPXQNQOPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafafPSQPQQQRQDQnQnQSQFQFQFQTQFQFQFQUQFQVPSafafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXQHQIPXafafPXPXQJQKQLQKQMPXPXafafPXQNQOPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafafPSQPQQmdQDQnQnQSQFQFQFQTQFQFQFQUQFQVPSafafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXQWPXPXPXPXPXQXQYQYQYQYQYQZPXPXPXPXPXRaPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafPSPSQnRbRbQnQnQnPSRcQFRdPSReQFRfQFQFRgPSPSafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmememememeafafafafafafafafPXRhRiRjRkRlPXRmQYQYQYQYQYRmPXRnRoRpRqRrPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafafPTRsQnQnQnQnQnRtPSRcQFRuPSRvQFQFRwQFQFRxPTafafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
ahmemeafafafafafafafafafafafPXRyRzRzRzRAPXQgQhQiRBQgQhQiPXRCRzRzRDRyPXafafafaflYafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafPKafafPSPSPSRERFQnRGRFPSPSPSQTPSPSPSRHRIQFRJRKPSPSPSafafPKafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf
|
||||
|
||||
@@ -304,10 +304,10 @@
|
||||
"fR" = (/obj/structure/closet/bombcloset/double,/turf/simulated/floor/tiled/white,/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)
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -317,7 +317,7 @@
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -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)
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
"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/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)
|
||||
"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)
|
||||
@@ -442,7 +442,7 @@
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -471,7 +471,7 @@
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -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)
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -2005,11 +2005,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndndnafafgagbafafdTaafPgcfQfQdndndndndnffffgdfSgegfggghgigjgkghglgmgefSgnffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadndngogpgqgrgsaaaagcgcgcgcaadndndndngtgufSfSfSgvgwgxgygzgAgxgBgCgDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngEgFgGgHgIaaaagJgKgJgKaaaaaaaadngLgMgNgOgegPgQgRgRgSgRgRgRgTgUgVfrgWfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngXgYgZgHgIhaaaaaaaaaaaaaaahahbhchdffffffffhehfhggxhhfSfSgehihjhkfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngXgYgZgHgIhaaaaaaaaaaaaaaahahbhchdffffffffhehfhggxhhfSfSgehihkhjfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagEhlgGgHhmhbhbhbhbhbhbhbhbhnhlhoffhphqhrffhshthuhvhwhxfSgehyhzhAhBhBhCffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahDhEhFhGhHhHhIhJhHhHhHhKhHhHhLhMhNhOhPhQhRhShThUhVffhWhXhYhZiaffibibibffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicgFidieifififigifififihifififiiffijikilffhihfhiiminiohigeipiqirisisisffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaitiuiviwixiyiyiyiyiyiyiyiyiyizhdffffffffiAhfgvgxiBgxhhgehihjiCfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaitiuiviwixiyiyiyiyiyiyiyiyiyizhdffffffffiAhfgvgxiBgxhhgehihkiCfrfrfrffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciDiEiFdndnaaaaaaaaaaaaaaaaaagtiGiHiIiJiKiLiMiMiNiMiMiMiOhziPiQiRiSffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaagLiUfSfSiVhgiWgxiXiYiBgxiZjagDffffffffffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiciTiEiFdndndnaaaaaaaaaaaaaaaaffffjbjcgejdjejfjgjhjijfjjjkgefSjlffadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -2170,3 +2170,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
|
||||
|
||||
@@ -2513,7 +2513,7 @@
|
||||
"aWq" = (/turf/simulated/floor/airless,/area/rnd/test_area)
|
||||
"aWr" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
|
||||
"aWs" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison)
|
||||
"aWt" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/dice,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aWt" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/dice,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aWu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aWv" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aWw" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
@@ -2633,7 +2633,7 @@
|
||||
"aYG" = (/obj/machinery/computer/prisoner,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"aYH" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/camera/network/security{c_tag = "SEC - Warden's Office"},/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"aYI" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"aYJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel_reinforced,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/obj/item/device/retail_scanner/security,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/turf/simulated/wall,/area/security/warden)
|
||||
"aYJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/obj/item/device/retail_scanner/security,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/turf/simulated/wall,/area/security/warden)
|
||||
"aYK" = (/obj/structure/closet/secure_closet/warden,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"aYL" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Fore"; dir = 4},/turf/simulated/floor/tiled,/area/security/brig)
|
||||
"aYM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/brig)
|
||||
@@ -2676,7 +2676,7 @@
|
||||
"aZx" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/security/security_processing)
|
||||
"aZy" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/evidence,/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled,/area/security/security_processing)
|
||||
"aZz" = (/obj/structure/noticeboard{pixel_x = -32},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/security/main)
|
||||
"aZA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/table/standard,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor/tiled/red,/area/security/main)
|
||||
"aZA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/tiled/red,/area/security/main)
|
||||
"aZB" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/red,/area/security/main)
|
||||
"aZC" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main)
|
||||
"aZD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/main)
|
||||
@@ -2696,7 +2696,7 @@
|
||||
"aZR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/brigdoor/northright{id = "Cell 1"; name = "Cell 1"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway)
|
||||
"aZS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aZT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aZU" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northright{name = "Visitation"; req_access = list(2)},/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aZU" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northright{name = "Visitation"; req_access = list(2)},/obj/item/weapon/book/codex/corp_regs,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/tiled,/area/security/prison)
|
||||
"aZV" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/prison)
|
||||
"aZW" = (/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/obj/structure/table/steel_reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
"aZX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden)
|
||||
@@ -3038,7 +3038,7 @@
|
||||
"bgv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office)
|
||||
"bgw" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"bgx" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby)
|
||||
"bgy" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southleft{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/manual/security_space_law{pixel_y = 6},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"bgy" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southleft{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"bgz" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"bgA" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southright{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby)
|
||||
"bgB" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby)
|
||||
@@ -3294,7 +3294,7 @@
|
||||
"blr" = (/obj/structure/table/reinforced,/obj/item/weapon/forensics/sample_kit/powder,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office)
|
||||
"bls" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/photocopier,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blt" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blu" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blu" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blv" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blw" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
"blx" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/lino,/area/security/detectives_office)
|
||||
@@ -3348,7 +3348,7 @@
|
||||
"bmt" = (/obj/structure/railing,/turf/simulated/open,/area/hallway/secondary/eva_hallway)
|
||||
"bmu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway)
|
||||
"bmv" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway)
|
||||
"bmw" = (/obj/structure/table/glass,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway)
|
||||
"bmw" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway)
|
||||
"bmx" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway)
|
||||
"bmy" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway)
|
||||
"bmz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/turf/simulated/floor/plating,/area/lawoffice)
|
||||
@@ -5382,7 +5382,7 @@
|
||||
"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)
|
||||
"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)
|
||||
"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)
|
||||
@@ -6902,7 +6902,7 @@
|
||||
"cCL" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Five"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter)
|
||||
"cCM" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 8; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter)
|
||||
"cCN" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter)
|
||||
"cCO" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Four"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter)
|
||||
"cCO" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Four"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter)
|
||||
"cCP" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/boots/combat,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay)
|
||||
"cCQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay)
|
||||
"cCR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/medbay)
|
||||
@@ -7718,7 +7718,7 @@
|
||||
"cSv" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSx" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSy" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex,/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSy" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSz" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Starboard"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
|
||||
"cSB" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Two"; dir = 4},/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft)
|
||||
@@ -8321,7 +8321,7 @@
|
||||
"dea" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library)
|
||||
"deb" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library)
|
||||
"dec" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library)
|
||||
"ded" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/obj/item/weapon/book/codex,/obj/item/weapon/book/codex,/turf/simulated/floor/wood,/area/library)
|
||||
"ded" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library)
|
||||
"dee" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/wood,/area/library)
|
||||
"def" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library)
|
||||
"deg" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Librarian"},/turf/simulated/floor/wood,/area/library)
|
||||
@@ -8579,7 +8579,7 @@
|
||||
"diY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2)
|
||||
"diZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2)
|
||||
"dja" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2)
|
||||
"djb" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
|
||||
"djb" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
|
||||
"djc" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
|
||||
"djd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge)
|
||||
"dje" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
|
||||
@@ -8745,7 +8745,7 @@
|
||||
"dmi" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dmj" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dmk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dml" = (/obj/item/weapon/book/codex,/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dml" = (/obj/item/weapon/book/codex/lore/vir,/obj/structure/table/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dmm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dmn" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
"dmo" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
|
||||
@@ -9767,7 +9767,7 @@
|
||||
"dFQ" = (/obj/structure/bed/chair/comfy/blue{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFR" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFS" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFT" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFT" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFU" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
|
||||
"dFV" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room)
|
||||
"dFW" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room)
|
||||
@@ -9966,7 +9966,7 @@
|
||||
"dJH" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd)
|
||||
"dJI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd)
|
||||
"dJJ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd)
|
||||
"dJK" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd)
|
||||
"dJK" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd)
|
||||
"dJL" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd)
|
||||
"dJM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard)
|
||||
"dJN" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftstarboardsolar)
|
||||
@@ -10110,10 +10110,11 @@
|
||||
"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)
|
||||
"dMx" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/response_ship/thirddeck)
|
||||
"dMy" = (/obj/structure/flight_right{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start)
|
||||
"dMz" = (/obj/structure/flight_left{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start)
|
||||
"dMA" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1)
|
||||
"dMB" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
"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)
|
||||
"dMz" = (/obj/structure/flight_right{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start)
|
||||
"dMA" = (/obj/structure/flight_left{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start)
|
||||
"dMB" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1)
|
||||
"dMC" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -10264,7 +10265,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaazBaHTaCRaCTaCTaCTaCTaCTaCTaCTaCUaADaADaADaCWaHUaHgaHgaHgaHgaHgaGPaHVaHWaHXaGQaxpaxpaxpaHYavAaHZaGSaIaaHFaIbaGTaaaaaaaaaaaaaIcaIdaIeaIdaIfaaaaaaaIgaIgaIhaGBaIiaIjaIjaIjaIjaIjaIjaIkaIkaIkaIjaIjaIjaIjaGXaIlaHNaImaGYaBpaAraAqaAqaInaIoaDyaDyaGLaIpaIpaGgaIpaIpaGLaDyaDyaDBaIqaAqaAqaAqaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaazBaBHaCRaCTaCTaCTaCTaCTaCTaCTaCUaIraADaADaCWaIsaHgaHgaHgaHgaHgaGPaGQaItaGQaGQaIuaIvaIwaIxaIxaIyaGSaIzaHFaIAaGTaaaaaaaaaaaaaIBaICaIDaIEaIBaaaaaaaaaaIgaIFaGBaFeaIGaIHaIIaIJaIKaIkaILaIMaINaIOaIPaIQaIjaIRaISaHNaHOaGYaITaAqaAqaIUaIVaIoaDyaDyaEeaEeaGLdnMaGLaEeaEeaDyaDyaDBaIWaIXaAqaAraaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaazBaBHaCRaCSaCTaCTaCTaCTaCTaCSaCUaIYaIZaJaaJbazBaJcaHgaHgaHgaHgaIxaAUaAUaAUavAavAavAavAaIxaJdaHZaGSaGSaJeaGSaGTaJfaJfaJfaJgaIBaJhaJiaJjaIBaJkaJfaJfaJfaFeaGBaFeaIjaIHaJlaJmaJnaJoaJpaJqaJraJsaJtaIQaIjaGYaGYaJuaGYaGYaJvaAraAqaJwaJxaIoaDyaDyaGLaKwaJzaGgaJzaKwaGLaDyaDyaDBaJxaBAaAqaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaazBaJAaJBaJCaJDaJDaJEaJFaJFaJGaJHaJIazCazCazCazBaIxaIxaIxaIxaIxaIxaJJaJJaJJaJKaJLavAaJMaJNaxpaJOaJPaJQaJRaJSaJTaJfaJUaJVaJWaJXaJYaJZaJYaJXaKaaKbaKcaJfaKdaKeaKdaIjaKfaKgaKhaKiaKjaKkaKlaINaKmaKnaIQaIjaKoaKpaKqaKraKsaKtaxSaKuaJxaJxaDxaDyaDyaEeaEMdMydqEdMzaEMaEeaDyaDyaDBaJxaBAaAqaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaazBaJAaJBaJCaJDaJDaJEaJFaJFaJGaJHaJIazCazCazCazBaIxaIxaIxaIxaIxaIxaJJaJJaJJaJKaJLavAaJMaJNaxpaJOaJPaJQaJRaJSaJTaJfaJUaJVaJWaJXaJYaJZaJYaJXaKaaKbaKcaJfaKdaKeaKdaIjaKfaKgaKhaKiaKjaKkaKlaINaKmaKnaIQaIjaKoaKpaKqaKraKsaKtaxSaKuaJxaJxaDxaDyaDyaEeaEMdMzdqEdMAaEMaEeaDyaDyaDBaJxaBAaAqaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafazBazBaKyaKzaKAaKAaKBaKAaKAaKCaKDaADazDaAUaKEaxpaxpaxpaKFaxpaxpaxpaxpaxpaKGaxpaxpaKHaxpaxpaxpaxpaxpaxpaxpaHZaKIaJfaKJaKJaKKaKLaKMaKNaKOaKPaKQaKJaKRaJfaGVaGBaKSaIjaKTaKUaKVaKWaKXaKWaKYaKZaLaaLbaLcaIjaLdaLeaLfaLgaLhaLiaxSaAqaJxaJxaDxaDyaDyaDyaEeaLjaLkaLlaEeaDyaDyaDyaDBaJxaBAaAqaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaazBazBazBazBazBazBazBazBazBazBazBazBaAUaKEaIxaCeaCeaCeaCeaCeaIxaLmaLnaIxaIxaIxaIxaIxaIxaIxaCeaCeaxpaxpawtaLoaJfaLpaKJaLqaLraLraLsaLtaLtaLuaKJaLvaJfaLwaLxaLyaIjaLzaLAaLBaLCaLDaLEaLFaLGaLHaLIaLJaIjaLKaLLaLMaLNaCxaCxaLOaAqaAqaJxaLPaLQaLQaLQaLQaLQaLQaLQaLQaLQaLQaLQaLRaJxaAqaAqaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaazBaIxaIxaIxaaaaaaaaaaaaaaaaIxaIxaIxaIxaaaaaaaaaaafaaaaaaaaaaCeaCeaxpawtawoaJfaLSaLTaLUaLVaLWaLXaLYaLZaMaaMbaJYaMcaMdaMeaHpaIjaIjaMfaMgaMhaIkaMiaMjaMkaMlaMmaMnaIjaMoaMpaMqaCxaCxaaaaaaaaaaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaAqaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -10497,7 +10498,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabFVbOobFVbOobFVbOobFVbOobFVbOobFVbOoaadbTwbTxbTybTzbTAbTBbTCbTAbRZbTDbTEbTFbwObTGbTHbTGbysbTIbTJbLcbTKbOybOybTLbSjbOybOybTMbLgbTNbTObTPbTQbTRbTSbMYbJXbAhbAhbNbbTTbTUbLsbLsbLsbLsbTVbNjbTWbNjbTXbNjbNjbNjbpJbtybxBbTYbpJaaaaaabGKbTZbUabUbbUcbUdbUebUfbUgbUhbUibRbbUjbUjbUkbUlbRibUmbUnbUobUobUpbUqbUrbRibUsbUtbUubSTbUvbDNaaaaaabrybPsbzcbrybKrbUwbUxbUybUybUzbUAbUBbUCbUDbUEbUFbUGbUHbUIbUIbUIbUJbUKbULbUMbUNbUObTlbUPbUQbURbUSbKBbUTbUUbUVbKBbUWbUXbUYbKEbMubMvbUZbVabVbbVcbVdbVebVfbVgbVhbVibVjbVkbVkbVjbVjbVjbVjbVjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabQdbQebQfbQebQfbQebQfbQebQfbQebQfbQebQgbVlbOqbVmbTCbTAbTBbTCbTAbRZbVnbVobVobVobVobVobVobVobVpbVqbLcbVrbVsbVtbVubVvbVwbVxbVybLgbLgbVzbLgbVAbVBbLgbVCbJXbAhbAhbVDbLqbVEbVFbVGbVHbVIbVJbNjbVKbNjbVLbNjbVMbVNbVObtybxBbtybpJaaaaaabGKbVPbVQbPgbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbRibWdbWebWfbWgbWhbUqbWibWjbWkbWlbWmbWnbWobDNaaaaaabrybPsbWpbWqbKrbKrbWrbWsbWtbWubPAbWvbWwbWxbWybWzbWAbWBbWCbWDbWEbWFbUKbWGbWHbWIbWJbTlbKBbWKbKBbKBbKBbKBbKBbKBbKBbKEbKEbKEbKEbWLbWMbUZbWNbWObWPbWQbWRbWSbVebVhbVhbVjbWTbWUbWVbVjbWWbWXbVjbVjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbQdbWYbWZbWYbWZbWYbWZbWYbWZbWYbWZbWYbQgbXabOqbXbbTCbXcbXdbTCbXcbRZbXebVobXfbXgbXhbXibXjbVobSfbXkbVybVybVybVybVybVybVybVybVybXlbLgbLgbLgbLgbLgbLgbXmbXnbyHbXobXmbXpbXpbXpbXpbXpbXpbXpbXqbXqbXqbXqbNjbXrbXsbpJbXtbXubXvbpJaaaaaabGKbXwbXxbLEbXybXzbRbbRbbRbbRbbRbbRbbXAbXBbXBbXCbRibRibRibRibRibXDbUqbXEbRibIGbWlbWmbWnbXFbDNaaaaaabrybXGbsIbsIbXHbKrbKrbKrbKrbKrbKrbXIbXJbXKbXJbXIbKybKybKybKybKybKybTlbXLbXMbXMbXNbTlbXObXObXObXPbXQbXRbXSbXTbXUbXVbXWbsTbXXbXYbXZbYabYbbYcbYdbWQbWRbYebVebYfbVhbYgbYhbYibYjbVkbYkbYibYlbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabHJbYmbHJbYmbHJbYmbHJbYmbHJbYmbHJbYmaafaafbOqbYnbYobYpbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbSfbYCbYDbYEbYFbYGbYHbYHbYHbYHbYHbYHbYHbYHbYHbYIbYJbYKbYLbYMbYNbYNbYObpJbYPbYPbYQbyVbYRbtybwfbwfbqSbqTbpJbYSbpJbpJbtybxBbYTbpJaaaaaabGJbYUbXxbLEbYVbYWbYXbYYbYZbZabZbbZcbZdbZebZebZfbZebZebZebZgbZhbZibZjbZkbRibIGbZlbLKbWnbSUbGLaaaaaabrybZmbZnbZnbZnbZobZpbsIbZqbZrbrybZsbZtbZubZtbZvbZwbZxbZybZzbZAbZBbTlbTlbZCbZCbTlbTlbZDbZEbZEbZFbZGbZHbZIbZIbZIbXRbZJbsTbZKbZLbJnbZMbZNbZObZPbWQbWRbWRbYebYebVhbVjbZQbZRbZSbZTbZUbZVbZWbZXbZYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvybvybvybvybvybvybvyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabHJbYmbHJbYmbHJbYmbHJbYmbHJbYmbHJbYmaafaafbOqbYnbYobYpbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbSfbYCbYDbYEbYFbYGbYHbYHbYHbYHbYHbYHbYHbYHbYHbYIbYJbYKbYLbYMbYNbYNbYObpJbYPbYPbYQbyVbYRbtybwfbwfbqSbqTbpJbYSbpJbpJbtybxBbYTbpJaaaaaabGJbYUbXxbLEbYVbYWbYXbYYbYZbZabZbbZcbZdbZebZebZfbZebZebZebZgbZhbZibZjbZkbRibIGbZlbLKbWnbSUbGLaaaaaabrybZmbZnbZnbZnbZobZpbsIbZqbZrbrybZsbZtbZubZtbZvbZwbZxbZybZzbZAbZBbTlbTlbZCdMybTlbTlbZDbZEbZEbZFbZGbZHbZIbZIbZIbXRbZJbsTbZKbZLbJnbZMbZNbZObZPbWQbWRbWRbYebYebVhbVjbZQbZRbZSbZTbZUbZVbZWbZXbZYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOqbZZcaacabcaccadcaebRZcafbVobVobVobVocagcahcaicajcakcalcalcamcancaocaocaocaocaocaocaobYKbYKbYKcapcaqcarcascatcaucavcawcaxcaycaxcaxcaxcaxcaxcazcazcazcazcaAcazcazcazcaBcaCbpJbGKbGKbGJcaDbXxbLEbXycaEcaFcaGcaGcaHbZbcaIbRfbRfbRfbRfbRfbRfbRfcaIbRjcaJcaKcaLbRicaMbZlbIGcaNcaObGLcaPcaPbrybPsbsIbzcbxMbxNcaQbsIcaRbsIcaScaTcaUcaVcaUcaTcaWbZxcaXcaYcaZcbacbbcbccbdcaUcbecbecbfbXPbXPbXPbXPbXPbXPbXPbZIbXRcbgbsTcbhcbicbjbUZcbkcblcbmbWQbWRbYecbncbobVhbVjcbpcbqcbrbVjbVkcbsbVkbVjbVjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOpbOqcbtcbtbOqcbucbvcbwbRZcbxcbycbzcbAcbBcbCcbDcbEcbFcbGcbHcbIcbJcbKcaocbLcbLcbLcbLcbLcbMcbNcbObYKcbPcbQcbRcbScbTcbUcbVbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJbpJcbWcbXcbYcbZbGJccaccbcccccdccecaFcaFccfccgbZbcchbRfccicciccicciccibRfccjbRicckcclbRibRiccmccnccmccoccpccqccrccscctccubqtbrybrybrybrybrybrybrybryccvccwccxccyccvbZwbZwbZwcczbZwbZwbZwbZwccAccBcbeccCccDccEccFccFccFccFccFbXPbXRbXRbVibsTccGbsTbsTbUZccHbUZbUZbWQbVhbVibVjbVjbVjbVjccIcbqccJccKccLccMccNccObVjbVjaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccPbOqccQccRccSccTccUccVccWccXccYccZcdacdbcdccddcdecdfcdgcdhcdicalcdjcdkcaocbLcbLcbLcbLcbLcdlcdmcbTcdncdocdpcdpcdqcbTcdocdpcdrcdscbTcdocdtcducdvcdwcdxcdycdpcdzcdAcdBcbTcdncdCcdDcdEcdFcdGcdHbPgbPgcdIcdJcdKcdLcaFbZbbZbbZbbXAbRfccicciccicciccibRfcaIbRibRibRibRiccrcdMcdNcdOcdOcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebcdYcdYcdZceccedceeceecefcegcehceeceicejcekccAccBcelccBcemcenccFccFccFccFccFbXPceobXRcepceqcercesbVicetceucevcewbVecexceybVjcezceAbVjceBcbqbYibYibYicbqbYiceCceDbVkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -10570,7 +10571,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkaaaaaaaaaaaaaaadmUdnhdnidnjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadnkdnldnmdnndnkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadnodnpdnqdneaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkaaaaaaaaadnjdmUdnrdnidnsaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadntdnldnmdnndntaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadnudnpdnvdnednoaaaaaaaaadnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkdnxdnydnjdnjdnzdnAdnBdnjaaaaaaaafaaaaaadnCdnCdnCdnCdnCdnCdnCaaaaaaaafaaaaaadnkdnldnDdnEdnkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadnodnFdnGdnHdnodnodnIdnJdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkdnKdnLdMAdnNdnOdnPdnQdmUaaaaaaaafaaadnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaafaaaaaadmYdnRdnmdnSdmYaaaaaaaafaaaaaadnTdnUdnUdnUdnUdnUdnTaaaaaaaafaaaaaadnednVdnWdnXdnYdnZdoadobdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkdnKdnLdMBdnNdnOdnPdnQdmUaaaaaaaafaaadnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaafaaaaaadmYdnRdnmdnSdmYaaaaaaaafaaaaaadnTdnUdnUdnUdnUdnUdnTaaaaaaaafaaaaaadnednVdnWdnXdnYdnZdoadobdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkdnydocdoddoedofdogdohdnjaaaaaaaafaafdnCdnCdnCdnCdnCdnCdnCdnCdnCaafaafaaaaaadnkdnndnmdnndnkaaaaaaaafaafdnTdoidojdojdojdojdojdoidnTaafaafaaaaaadnodokdoldomdondoodopdnIdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkdlkdlkdlkdlkdlkdlkaaaaaaaaadnjdnjdnhdoqdnjaaaaaadMqaaadnCdnCdnCdnCdnCdnCdnCdnCdnCaaadMqaaaaaadnkdnndnmdnndnkaaaaaadMqaaadnUdordosdosdojdosdosdordnUaaadMqaaaaaadnodotdnqdnodnoaaaaaaaaadnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwdnwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdlNdlNdlNdlNdlNdlNdlNdlNaaaaaadlOdlOdlOdlOdlOdlOdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdlkdlkaaaaaaaaadlkdlkdlkaaaaaaaaaaaadnjdnhdoudnjaaaaaaaafaaadnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaafaaaaaadnkdovdnmdnndnkaaaaaaaafaaadnTdojdowdojdojdojdowdojdnTaaaaafaaaaaadnodoxdnqdnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -10580,7 +10581,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnjdnhdpwdpbdpxdpydpzdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdpAdpBdpCdpidpDdnmdpkdpldpEdpFdpodoDdojdojdpGdpHdojdpGdpHdojdojdoDdppdpIdpJdpsdptdnqdnoaaaaaaaaaaaadpvdpvdpvaaaaaaaaadpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKaaaaaaaaaaaadnjdnjdpLdpMdoedpNdpOdnydnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdoSdpPdpQdoOdpRdpSdpTdnkdnkdoSdoSdpUdpVdojdpGdpHdpWdpGdpHdojdpXdpUdnIdnIdoVdnodpYdpZdnodnoaaaaaaaaadpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdqadqbdqcdoedqddogdohdqednjaaaaaadnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaaadnkdqfdnndnmdnndqgdnkaaaaaadnUdqhdojdpGdqidojdqjdpHdojdqkdnUaaaaaadnodqldokdoldqmdondqndqodnIdpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdqpdqqdqrdqsdqtdnPdoqdqudmUaaaaaadnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaaadmYdqvdnndqwdnndqxdmYaaaaaadnUdqydojdpGdqidMvdqjdpHdojdqAdnUaaaaaadnedqBdotdnWdqCdqDdMBdqFdqGdpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdqpdqqdqrdqsdqtdnPdoqdqudmUaaaaaadnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaaadmYdqvdnndqwdnndqxdmYaaaaaadnUdqydojdpGdqidMvdqjdpHdojdqAdnUaaaaaadnedqBdotdnWdqCdqDdMCdqFdqGdpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdnydnydnjdnjdqHdqIdqJdqednjaaaaaadnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCaaaaaadnkdqfdnndqKdqLdqgdnkaaaaaadnUdqhdojdpGdqidojdqjdpHdojdqkdnUaaaaaadnodqldqMdqNdqOdnodnodnIdnJdpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpKdpKdpKdpKdpKdpKdpKdpKdpKdpKdpKaaaaaaaaaaaadnjdnjdqPdqQdoedoJdoKdnydnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdoSdoMdoNdoOdqRdqSdqTdnkdnkdoSdoSdpUdpVdojdpGdpHdojdpGdpHdojdpXdpUdnIdnIdoVdnodqUdqVdnodnoaaaaaaaaadpvdpvdpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnjdnhdqWdqXdqYdqZdradnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdrbdrcdrddredpDdrfdpkdpldrgdpndpodoDdojdojdpGdpHdojdpGdpHdojdojdoDdppdpqdrhdpsdridnqdnoaaaaaaaaaaaaaaadpvdpvdpvdpvdpvdpvdpvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -1248,7 +1248,7 @@
|
||||
"xZ" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"ya" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"yb" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"yc" = (/obj/structure/table/glass,/obj/item/weapon/book/codex,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"yc" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"yd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"ye" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
"yf" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool)
|
||||
|
||||
@@ -1130,7 +1130,7 @@
|
||||
"vL" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/merchant/home)
|
||||
"vM" = (/obj/structure/table/bench/steel,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"vN" = (/obj/structure/closet/secure_closet/brig,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"vO" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"vO" = (/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"vP" = (/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/security)
|
||||
"vQ" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/medical)
|
||||
"vR" = (/obj/structure/bed/chair{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/medical)
|
||||
@@ -1157,7 +1157,7 @@
|
||||
"wm" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/medical_wall{pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home)
|
||||
"wn" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home)
|
||||
"wo" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"wp" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"wp" = (/obj/structure/table/reinforced,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"wq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"wr" = (/obj/machinery/door/airlock/glass_security{name = "Spaceport Security Airlock"; req_access = list(63)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
"ws" = (/obj/structure/table/bench/padded,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/security)
|
||||
@@ -1480,7 +1480,7 @@
|
||||
"Cx" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/white,/area/shuttle/escape/centcom)
|
||||
"Cy" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"Cz" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"CA" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"CA" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"CB" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
|
||||
"CC" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
|
||||
"CD" = (/obj/item/weapon/antag_spawner/technomancer_apprentice,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
|
||||
|
||||
@@ -8,3 +8,13 @@
|
||||
name = "Abandoned Relay"
|
||||
desc = "An unregistered comms relay, abandoned to the elements."
|
||||
mappath = 'maps/submaps/cave_submaps/deadBeacon.dmm'
|
||||
|
||||
/datum/map_template/cave/prepper1
|
||||
name = "Prepper Bunker"
|
||||
desc = "A little hideaway for someone with more time and money than sense."
|
||||
mappath = 'maps/submaps/cave_submaps/prepper1.dmm'
|
||||
|
||||
/datum/map_template/cave/qshuttle
|
||||
name = "Quarantined Shuttle"
|
||||
desc = "An emergency landing turned viral outbreak turned tragedy."
|
||||
mappath = 'maps/submaps/cave_submaps/quarantineshuttle.dmm'
|
||||
@@ -4,3 +4,9 @@
|
||||
|
||||
/area/submap/cave/deadBeacon
|
||||
name = "abandoned relay"
|
||||
|
||||
/area/submap/cave/prepper1
|
||||
name = "Prepper Bunker"
|
||||
|
||||
/area/submap/cave/qShuttle
|
||||
name = "Quarantined Shuttle"
|
||||
33
maps/submaps/cave_submaps/prepper1.dmm
Normal file
@@ -0,0 +1,33 @@
|
||||
"a" = (/turf/template_noop,/area/template_noop)
|
||||
"b" = (/turf/simulated/wall/r_wall,/area/submap/cave/prepper1)
|
||||
"c" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"d" = (/obj/structure/table/steel,/obj/random/maintenance/security,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"e" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"f" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"g" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/glasses,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"h" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"i" = (/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"j" = (/obj/structure/table/steel,/obj/item/weapon/tape_roll,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"k" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/item/stack/tile/floor/steel,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"l" = (/obj/structure/inflatable/door,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"m" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"n" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"o" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"p" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"q" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/material/makeshift,/obj/item/clothing/head/helmet/bucket,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"r" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"s" = (/obj/structure/table/steel,/obj/item/device/flashlight/lantern,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
"t" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,/obj/item/ammo_magazine/clip/c762,/obj/item/ammo_magazine/clip/c762,/turf/simulated/floor/plating,/area/submap/cave/prepper1)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaa
|
||||
aabbbbbbaa
|
||||
abbcdefbba
|
||||
abghiijkba
|
||||
aliiiiimba
|
||||
aliiiiinba
|
||||
aboiiipnba
|
||||
abbqrstbba
|
||||
aabbbbbbaa
|
||||
aaaaaaaaaa
|
||||
"}
|
||||
145
maps/submaps/cave_submaps/quarantineshuttle.dmm
Normal file
@@ -0,0 +1,145 @@
|
||||
"aa" = (/turf/template_noop,/area/template_noop)
|
||||
"ab" = (/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ac" = (/obj/item/weapon/caution/cone,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ad" = (/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle)
|
||||
"ae" = (/obj/structure/inflatable,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"af" = (/obj/structure/inflatable/door,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ag" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/plating,/area/submap/cave/qShuttle)
|
||||
"ah" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/simulated/shuttle/plating,/area/submap/cave/qShuttle)
|
||||
"ai" = (/obj/structure/grille,/obj/structure/shuttle/window,/obj/machinery/door/blast/regular{dir = 8; id = "QShuttlePoIDoors"; layer = 3.3; name = "Emergency Lockdown Shutters"},/obj/item/tape/medical{dir = 4; icon_state = "tape_door_0"; layer = 3.4},/turf/simulated/shuttle/plating,/area/submap/cave/qShuttle)
|
||||
"aj" = (/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle)
|
||||
"ak" = (/obj/machinery/door/airlock/external{desc = "It opens and closes. It is stamped with the logo of Major Bill's Transportation"; frequency = 1380; icon_state = "door_locked"; id_tag = null; locked = 1; name = "MBT-540"},/obj/item/tape/medical{dir = 4; icon_state = "tape_door_0"; layer = 3.4},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"al" = (/obj/structure/sign/biohazard{dir = 1},/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle)
|
||||
"am" = (/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/vomit,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"an" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle)
|
||||
"ao" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"ap" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aq" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"ar" = (/obj/structure/bed/chair,/obj/effect/decal/remains/human,/obj/item/clothing/suit/space/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"as" = (/obj/machinery/vending/snack{contraband = null; products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 0, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 0, /obj/item/weapon/reagent_containers/food/snacks/chips = 0, /obj/item/weapon/reagent_containers/food/snacks/sosjerky = 0, /obj/item/weapon/reagent_containers/food/snacks/no_raisin = 0, /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 0, /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 0, /obj/item/weapon/reagent_containers/food/snacks/tastybread = 0, /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 0)},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"at" = (/obj/machinery/vending/cola{contraband = null; products = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/starkist = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/space_up = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice = 0, /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale = 0)},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"au" = (/obj/structure/closet/crate/secure/loot,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"av" = (/obj/item/weapon/pickaxe/drill,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aw" = (/obj/item/clothing/mask/breath,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"ax" = (/obj/effect/decal/cleanable/generic,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"ay" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"az" = (/obj/item/trash/syndi_cakes,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aA" = (/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aB" = (/obj/item/weapon/cigbutt,/obj/item/weapon/tank/emergency/oxygen,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aC" = (/obj/item/weapon/material/kitchen/utensil/knife/boot,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aD" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aE" = (/obj/item/trash/sosjerky,/obj/item/weapon/storage/box/donut/empty,/obj/item/weapon/reagent_containers/food/drinks/sillycup,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aG" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aI" = (/obj/machinery/button{name = "Cargo Hatch"},/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle)
|
||||
"aJ" = (/obj/machinery/computer,/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"aK" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/decal/cleanable/vomit,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aL" = (/obj/structure/table/standard,/obj/item/clothing/head/helmet/space/emergency,/obj/item/weapon/paper{desc = "It looks old."; icon_state = "paper_words"; info = "<B>Pilot's Log for Major Bill's Transportation Shuttle MBT-540</B><BR>Routine flight inbound for VIMC Outpost C-12 6:35AM 03/12/2491, Estimated arrival 7:05AM. 16 passengers, 2 crew.<BR><B>V.I.S Traffic Control 06:05:55:</B>Major Bill's MBT-540 you are clear for departure from Dock 6 on departure route Charlie. Have a safe flight.<BR><B>Captain Willis 06:06:33:</B> You too, control. Departing route Charlie.<BR><B>Captain Willis 06:06:48:</B> ...Damn it.<BR> ** <BR><B>Captain Adisu 06:10:23: </B> Hey Ted, I'm seeing a fuel line pressure drop on engine 3?<BR><B>Captain Willis 06:10:50</B>: Yeah, I see it. Heater's fading out, redistributing thrust 30% to compensate.<BR><B>06:12:31: A loud thud is heard.</B><BR><B>Captain Adisu 06:12:34: </B> What the (Expletives)?<BR><B>Captain Adisu 06:12:39:</B> We just lost power to engine- engine two. Hold on... Atmospheric alarm in the cargo bay. Son of a...<BR><B>Captain Willis 06:12:59:</B> Reducing thrust further 30%, do we have a breach Adi, a breach?<BR><B>Captain Adisu 06:13:05:</B>No breach, checking cameras... Looks like- looks like some cargo came loose back there.<BR><B>Captain Willis 06:13:15:</B> (Expletives), I'm turning us around. Put out a distress call to Control, we'll be back in Sif orbit in a couple of minutes. <BR> ** <BR> <BR><B>V.I.S Traffic Control 06:15:49:</B> MBT-540 we are recieving you. Your atmospheric sensors are reading potentially harmful toxins in your cargo bay. Advise locking down interior cargo bay doors. Please stand by.<BR><B>Captain Adisu 06:16:10:</B> Understood. <BR> ** <BR><B>V.I.S Traffic Control 06:27:02: </B> MBT-540, we have no docking bays available at this time, are you equipped for atmospheric re-entry?<BR><B>Captain Willis 06:27:12:</B> We-We are shielded. But we have fuel and air for-<BR><B>V.I.S Traffic Control 06:27:17:</B> Please make an emergency landing at the coordinates provided and standby for further information.<BR> ** <BR><B>Captain Willis 06:36:33:</B> Emergency landing successful. Adi, er Adisu is checking on the passengers but we had a smooth enough landing, are we clear to begin evacu-<BR><B>06:36:50: (Sound of emergency shutters closing)</B><BR><B>Captain Willis 06:36:51: </B>What the hell? Control we just had a remote activation of our emergency shutters, please advise.<BR><B>V.I.S Traffic Control 06:38:10:</B> Captain, please tune to frequency 1493.8 we are passing you on to local emergency response units. Godspeed.<BR><B>Captain Willis 06:38:49:</B> This is Captain Willis of Major Bill's Transportation flight MBT-540 we have eighteen souls aboard and our emergency lockdown shutters have engaged remotely. Do you read?<BR><B>S.D.D.C:</B> This is the Sif Department of Disease Control, your vessel has been identified as carrying highly sensitive materials, and due to the nature of your system's automated alerts you will be asked to remain in quarantine until we are able to determine the nature of the pathogens aboard and whether it has entered the air circulation system. Please remain in your cockpit at this time.<BR> ** </BR><B>Captain Adisu 17:23:58:09:</B> I don't think they're opening those doors Ted. I don't think they're coming.</BR>"; item_state = "paper"; name = "Black Box Transcript MBT-540"},/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"aM" = (/obj/item/trash/cheesie,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aN" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aO" = (/obj/structure/bed/chair{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aP" = (/obj/structure/bed/chair{dir = 1},/obj/effect/decal/remains/human,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aQ" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aR" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aS" = (/obj/effect/decal/cleanable/vomit,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aT" = (/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"aU" = (/obj/machinery/door/airlock/engineering{icon_state = "door_locked"; locked = 1; name = "Cargo Bay"},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aV" = (/obj/item/weapon/virusdish/random,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aW" = (/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aX" = (/obj/item/device/paicard,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aY" = (/obj/machinery/door/blast/regular{name = "Cargo Door"},/obj/item/tape/medical{dir = 4; icon_state = "tape_door_0"; layer = 3.4},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"aZ" = (/obj/effect/decal/remains/human,/obj/item/clothing/under/mbill{desc = "A uniform belonging to Major Bill's Transportation, a shipping megacorporation. This looks at least a few decades out of date."; name = "\improper old Major Bill's uniform"},/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"ba" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bb" = (/obj/machinery/door/airlock/command{icon_state = "door_locked"; locked = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bc" = (/obj/item/weapon/tank/emergency/oxygen/engi,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bd" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"be" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bh" = (/obj/item/clothing/suit/space/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bi" = (/obj/item/trash/candy,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bj" = (/obj/structure/table/rack,/obj/structure/loot_pile/maint/boxfort,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bk" = (/obj/structure/table/rack,/obj/item/weapon/shovel,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bl" = (/obj/structure/closet/crate/secure/science{icon_state = "scisecurecrateopen"; locked = 0; name = "Virus Samples - FRAGILE"; opened = 1},/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bm" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/decal/remains/human,/obj/item/clothing/under/mbill{desc = "A uniform belonging to Major Bill's Transportation, a shipping megacorporation. This looks at least a few decades out of date."; name = "\improper old Major Bill's uniform"},/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bn" = (/obj/structure/table/standard,/obj/item/device/taperecorder,/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"bo" = (/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bp" = (/obj/item/trash/chips,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bq" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"br" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bs" = (/obj/structure/bed/chair,/obj/effect/decal/remains/human,/obj/item/clothing/mask/breath,/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bt" = (/obj/structure/bed/chair,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bu" = (/obj/effect/decal/remains/xeno,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bv" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bw" = (/obj/effect/decal/remains/mouse,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bx" = (/obj/random/maintenance,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"by" = (/obj/item/weapon/coin/silver,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bz" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bA" = (/obj/effect/decal/cleanable/generic,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bB" = (/obj/item/weapon/tank/emergency/oxygen/engi,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bC" = (/obj/item/trash/sosjerky,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bD" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bG" = (/obj/machinery/button{dir = 4; name = "Cargo Access"},/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle)
|
||||
"bH" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle)
|
||||
"bI" = (/obj/machinery/door/airlock{name = "Charge Station"},/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle)
|
||||
"bJ" = (/obj/item/trash/tastybread,/obj/item/weapon/material/butterfly/boxcutter,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bK" = (/obj/structure/bed/chair{dir = 1},/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bL" = (/obj/structure/bed/chair{dir = 1},/obj/item/weapon/card/id/external{desc = "An identification card of some sort. Looks like this one was issued by the Vir Independent Mining Corp."; name = "VIMC identification card"; rank = "Miner"; registered_name = "Nadia Chu"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bM" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bN" = (/obj/structure/table/rack,/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle)
|
||||
"bO" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bP" = (/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bQ" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle)
|
||||
"bR" = (/obj/structure/sign/biohazard,/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle)
|
||||
"bS" = (/obj/item/tape/medical{icon_state = "tape_v_0"},/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"bT" = (/obj/item/taperoll/medical,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"bU" = (/obj/item/tape/medical{dir = 1; icon_state = "tape_dir_0"},/obj/item/tape/medical{dir = 4; icon_state = "tape_dir_0"},/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"bV" = (/obj/item/tape/medical{icon_state = "tape_h_0"},/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"bW" = (/obj/structure/lattice,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"bX" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/iron,/area/submap/cave/qShuttle)
|
||||
"bY" = (/obj/structure/sign/kiddieplaque{desc = "By order of the S.D.D.C, this site or craft is to be buried and not disturbed until such time that sterility can be confirmed. Dated: 20/12/2491 "; name = "\improper Sif Department of Disease Control notice"},/turf/simulated/wall/iron,/area/submap/cave/qShuttle)
|
||||
"bZ" = (/obj/structure/sign/warning,/turf/simulated/wall/iron,/area/submap/cave/qShuttle)
|
||||
"ca" = (/obj/item/bodybag,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cb" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cc" = (/obj/structure/table/steel,/obj/item/clothing/suit/bio_suit,/obj/random/medical/lite,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cd" = (/obj/structure/closet/l3closet/virology,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ce" = (/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cf" = (/obj/structure/dispenser/oxygen,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cg" = (/obj/structure/table/steel,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ch" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ci" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cj" = (/obj/structure/table/steel,/obj/item/weapon/crowbar/power,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"ck" = (/obj/structure/table/rack,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cl" = (/obj/item/weapon/weldingtool/largetank,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
"cm" = (/obj/structure/closet/crate/medical,/turf/simulated/mineral/floor,/area/submap/cave/qShuttle)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaabacababaaaaadadadacaa
|
||||
aaabababababaeafaeaeabaaaaabababababababadagahabaa
|
||||
aaacababadaiajakakalaiadaiadadadadadadadadadadaaaa
|
||||
aaababadadamanaoapadaqaqaradasatadauavauadagahaaaa
|
||||
aaaaadadadadadawaxayazaAaBaCaDaEadaFaGaHadaIadabaa
|
||||
aaaaaiaJaKaLadaMaNaOaPaQaQaRaSaTaUaVaAaWaXaAaYabaa
|
||||
aaabaiaZbababbbcbdadbebfbgadbhbiadbjaAbkaAblaYabaa
|
||||
aaabaiaJbmbnadbobpbqbrbsbtbqaNbuaUbvaAbwaVbxaYabaa
|
||||
aaabadadadadadaDbyaAbzaAbAbBbCbDadbEaGbFadadbGabaa
|
||||
aaababadadbHbIbJaoadbKaQbLadbMbNadbObPbQadagahabaa
|
||||
ababacabadaiajakakbRaiadaiadadadadadadadadadadaaaa
|
||||
ababababbSabaeaeafaeababababbTabababababadagahaaaa
|
||||
aaabababbUbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVadadadaaaa
|
||||
aaaaababababababababbWbXbYbZcacacaabcbcccdabceaaaa
|
||||
aaaaacababcfcgchcicjckababclabcacaababababababaaaa
|
||||
aaaaaaababcmcgababababababababaaaaaaaaaaababacaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
@@ -8,3 +8,8 @@
|
||||
name = "Farm 1"
|
||||
desc = "A small farm tended by a farmbot."
|
||||
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'
|
||||
@@ -4,3 +4,6 @@
|
||||
|
||||
/area/submap/farm1
|
||||
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
|
||||
"}
|
||||
21
polaris.dme
@@ -858,7 +858,6 @@
|
||||
#include "code\game\objects\items\weapons\mop_deploy.dm"
|
||||
#include "code\game\objects\items\weapons\paint.dm"
|
||||
#include "code\game\objects\items\weapons\paiwire.dm"
|
||||
#include "code\game\objects\items\weapons\permits.dm"
|
||||
#include "code\game\objects\items\weapons\policetape.dm"
|
||||
#include "code\game\objects\items\weapons\power_cells.dm"
|
||||
#include "code\game\objects\items\weapons\RCD.dm"
|
||||
@@ -966,7 +965,6 @@
|
||||
#include "code\game\objects\structures\electricchair.dm"
|
||||
#include "code\game\objects\structures\extinguisher.dm"
|
||||
#include "code\game\objects\structures\flora.dm"
|
||||
#include "code\game\objects\structures\ghost_pods.dm"
|
||||
#include "code\game\objects\structures\girders.dm"
|
||||
#include "code\game\objects\structures\gravemarker.dm"
|
||||
#include "code\game\objects\structures\grille.dm"
|
||||
@@ -1019,6 +1017,8 @@
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm"
|
||||
#include "code\game\objects\structures\ghost_pods\ghost_pods.dm"
|
||||
#include "code\game\objects\structures\ghost_pods\silicon.dm"
|
||||
#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm"
|
||||
#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm"
|
||||
#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm"
|
||||
@@ -1320,6 +1320,7 @@
|
||||
#include "code\modules\clothing\under\accessories\clothing.dm"
|
||||
#include "code\modules\clothing\under\accessories\holster.dm"
|
||||
#include "code\modules\clothing\under\accessories\lockets.dm"
|
||||
#include "code\modules\clothing\under\accessories\permits.dm"
|
||||
#include "code\modules\clothing\under\accessories\storage.dm"
|
||||
#include "code\modules\clothing\under\jobs\civilian.dm"
|
||||
#include "code\modules\clothing\under\jobs\engineering.dm"
|
||||
@@ -1397,6 +1398,7 @@
|
||||
#include "code\modules\examine\descriptions\containers.dm"
|
||||
#include "code\modules\examine\descriptions\devices.dm"
|
||||
#include "code\modules\examine\descriptions\engineering.dm"
|
||||
#include "code\modules\examine\descriptions\food.dm"
|
||||
#include "code\modules\examine\descriptions\machines.dm"
|
||||
#include "code\modules\examine\descriptions\medical.dm"
|
||||
#include "code\modules\examine\descriptions\mobs.dm"
|
||||
@@ -1510,8 +1512,14 @@
|
||||
#include "code\modules\lighting\lighting_turf.dm"
|
||||
#include "code\modules\lighting\~lighting_undefs.dm"
|
||||
#include "code\modules\lore_codex\codex.dm"
|
||||
#include "code\modules\lore_codex\codex_tree.dm"
|
||||
#include "code\modules\lore_codex\pages.dm"
|
||||
#include "code\modules\lore_codex\legal_code_data\corporate_regulations.dm"
|
||||
#include "code\modules\lore_codex\legal_code_data\main.dm"
|
||||
#include "code\modules\lore_codex\legal_code_data\sif_law.dm"
|
||||
#include "code\modules\lore_codex\legal_code_data\sop.dm"
|
||||
#include "code\modules\lore_codex\lore_data\important_locations.dm"
|
||||
#include "code\modules\lore_codex\lore_data\main.dm"
|
||||
#include "code\modules\lore_codex\lore_data\orgs.dm"
|
||||
#include "code\modules\lore_codex\lore_data\political_parties.dm"
|
||||
#include "code\modules\lore_codex\lore_data\species.dm"
|
||||
@@ -1559,11 +1567,13 @@
|
||||
#include "code\modules\mob\mob_helpers.dm"
|
||||
#include "code\modules\mob\mob_movement.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\transform_procs.dm"
|
||||
#include "code\modules\mob\typing_indicator.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\observer\login.dm"
|
||||
#include "code\modules\mob\dead\observer\logout.dm"
|
||||
@@ -1729,7 +1739,6 @@
|
||||
#include "code\modules\mob\living\silicon\robot\robot.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_damage.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_items.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\syndicate.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\drone\drone.dm"
|
||||
@@ -1739,6 +1748,10 @@
|
||||
#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_modules\event.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_modules\station.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_modules\syndicate.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\subtypes\gravekeeper.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\subtypes\lost_drone.dm"
|
||||
#include "code\modules\mob\living\simple_animal\corpse.dm"
|
||||
#include "code\modules\mob\living\simple_animal\simple_animal.dm"
|
||||
|
||||