Merge remote-tracking branch 'VOREStation/master' into nova-shuttle
@@ -236,6 +236,8 @@
|
||||
mymob.internals = new /obj/screen()
|
||||
mymob.internals.icon = ui_style
|
||||
mymob.internals.icon_state = "internal0"
|
||||
if(istype(target.internal, /obj/item/weapon/tank)) //Internals on already? Iight, prove it
|
||||
mymob.internals.icon_state = "internal1"
|
||||
mymob.internals.name = "internal"
|
||||
mymob.internals.screen_loc = ui_internal
|
||||
hud_elements |= mymob.internals
|
||||
|
||||
@@ -169,13 +169,13 @@
|
||||
/obj/item/clothing/shoes/magboots = 2,
|
||||
/obj/item/weapon/tank/oxygen = 2
|
||||
)
|
||||
cost = 40
|
||||
cost = 60
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "Security Crowd Control voidsuit crate"
|
||||
access = access_armory
|
||||
|
||||
/datum/supply_pack/voidsuits/security/alt
|
||||
name = "Security EVA Riot voidsuits"
|
||||
name = "Security EVA voidsuits"
|
||||
contains = list(
|
||||
/obj/item/clothing/suit/space/void/security/alt = 2,
|
||||
/obj/item/clothing/head/helmet/space/void/security/alt = 2,
|
||||
@@ -183,9 +183,9 @@
|
||||
/obj/item/clothing/shoes/magboots = 2,
|
||||
/obj/item/weapon/tank/oxygen = 2
|
||||
)
|
||||
cost = 50
|
||||
cost = 60
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "Security EVA Riot voidsuit crate"
|
||||
containername = "Security EVA voidsuit crate"
|
||||
access = access_armory
|
||||
|
||||
/datum/supply_pack/voidsuits/supply
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/atom/movable
|
||||
layer = OBJ_LAYER
|
||||
appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER //VOREStation Edit
|
||||
appearance_flags = TILE_BOUND|PIXEL_SCALE
|
||||
var/last_move = null
|
||||
var/anchored = 0
|
||||
// var/elevation = 2 - not used anywhere
|
||||
|
||||
@@ -634,6 +634,9 @@
|
||||
/obj/item/clothing/under/dress/sailordress = 5,
|
||||
/obj/item/clothing/under/dress/sari = 5,
|
||||
/obj/item/clothing/under/dress/sari/green = 5,
|
||||
/obj/item/clothing/under/dress/qipao = 5,
|
||||
/obj/item/clothing/under/dress/qipao/red = 5,
|
||||
/obj/item/clothing/under/dress/qipao/white = 5,
|
||||
/obj/item/clothing/under/shorts/red = 5,
|
||||
/obj/item/clothing/under/shorts/green = 5,
|
||||
/obj/item/clothing/under/shorts/blue = 5,
|
||||
@@ -801,6 +804,9 @@
|
||||
/obj/item/clothing/under/dress/sailordress = 100,
|
||||
/obj/item/clothing/under/dress/sari = 100,
|
||||
/obj/item/clothing/under/dress/sari/green = 100,
|
||||
/obj/item/clothing/under/dress/qipao = 100,
|
||||
/obj/item/clothing/under/dress/qipao/red = 100,
|
||||
/obj/item/clothing/under/dress/qipao/white = 100,
|
||||
/obj/item/clothing/under/shorts/red = 100,
|
||||
/obj/item/clothing/under/shorts/green = 100,
|
||||
/obj/item/clothing/under/shorts/blue = 100,
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
robot_module_types += "Janihound"
|
||||
robot_module_types += "Sci-borg"
|
||||
robot_module_types += "Pupdozer"
|
||||
robot_module_types += "KMine"
|
||||
return 1
|
||||
|
||||
var/list/shell_module_types = list(
|
||||
@@ -50,4 +51,4 @@ var/global/list/acceptable_fruit_types= list(
|
||||
"vanilla",
|
||||
"watermelon",
|
||||
"wheat",
|
||||
"whitebeet")
|
||||
"whitebeet")
|
||||
|
||||
@@ -179,3 +179,18 @@ Swimsuits
|
||||
display_name = "sleek modern coat, detective"
|
||||
path = /obj/item/clothing/under/detective_alt
|
||||
allowed_roles = list("Head of Security", "Detective")
|
||||
|
||||
/*
|
||||
Qipao
|
||||
*/
|
||||
/datum/gear/uniform/qipao
|
||||
display_name = "qipao, black"
|
||||
path = /obj/item/clothing/under/dress/qipao
|
||||
|
||||
/datum/gear/uniform/qipao_red
|
||||
display_name = "qipao, red"
|
||||
path = /obj/item/clothing/under/dress/qipao/red
|
||||
|
||||
/datum/gear/uniform/qipao_white
|
||||
display_name = "qipao, white"
|
||||
path = /obj/item/clothing/under/dress/qipao/white
|
||||
|
||||
@@ -5,3 +5,17 @@
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
flags_inv = HIDEEARS|BLOCKHAIR
|
||||
|
||||
/obj/item/clothing/head/crown
|
||||
name = "crown"
|
||||
desc = "How regal!"
|
||||
icon_state = "crown"
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
|
||||
/obj/item/clothing/head/fancy_crown
|
||||
name = "fancy crown"
|
||||
desc = "How extraordinarily regal!"
|
||||
icon_state = "fancycrown"
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "griffinboots"
|
||||
item_state = "griffinboots"
|
||||
icon = 'icons/obj/clothing/shoes_vr.dmi'
|
||||
icon_override = 'icons/mob/feet_vr.dmi' // This appends "_r" "_l" to icon state
|
||||
icon_override = 'icons/mob/feet_vr.dmi'
|
||||
|
||||
/obj/item/clothing/shoes/bhop
|
||||
name = "jump boots"
|
||||
@@ -12,7 +12,7 @@
|
||||
icon_state = "jetboots"
|
||||
item_state = "jetboots"
|
||||
icon = 'icons/obj/clothing/shoes_vr.dmi'
|
||||
icon_override = 'icons/mob/feet_vr.dmi' // This appends "_r" "_l" to icon state
|
||||
icon_override = 'icons/mob/feet_vr.dmi'
|
||||
// resistance_flags = FIRE_PROOF
|
||||
action_button_name = "Activate Jump Boots"
|
||||
permeability_coefficient = 0.05
|
||||
@@ -40,3 +40,22 @@
|
||||
user.visible_message("<span class='warning'>[user] dashes forward into the air!</span>")
|
||||
user.throw_at(target, jumpdistance, jumpspeed)
|
||||
recharging_time = world.time + recharging_rate
|
||||
|
||||
/obj/item/clothing/shoes/magboots/adv
|
||||
name = "advanced magboots"
|
||||
desc = "Advanced magnetic boots for a trained user. They have a lower magnetic force, allowing the user to move more quickly."
|
||||
icon = 'icons/obj/clothing/shoes_vr.dmi'
|
||||
icon_override = 'icons/mob/feet_vr.dmi'
|
||||
|
||||
icon_state = "advmag0"
|
||||
item_flags = PHORONGUARD
|
||||
item_state_slots = list(slot_r_hand_str = "magboots", slot_l_hand_str = "magboots")
|
||||
icon_base = "advmag"
|
||||
|
||||
/obj/item/clothing/shoes/magboots/adv/set_slowdown()
|
||||
if(magpulse)
|
||||
slowdown = shoes ? max(SHOES_SLOWDOWN, shoes.slowdown) : SHOES_SLOWDOWN //So you can't put on magboots to make you walk faster.
|
||||
else if(shoes)
|
||||
slowdown = shoes.slowdown
|
||||
else
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
@@ -43,3 +43,13 @@
|
||||
|
||||
/obj/item/clothing/suit/space/rig
|
||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_FENNEC, SPECIES_XENOHYBRID)
|
||||
|
||||
/obj/item/clothing/shoes/magboots/rig/ce
|
||||
name = "advanced boots"
|
||||
/obj/item/clothing/shoes/magboots/rig/ce/set_slowdown()
|
||||
if(magpulse)
|
||||
slowdown = shoes ? max(SHOES_SLOWDOWN, shoes.slowdown) : SHOES_SLOWDOWN //So you can't put on magboots to make you walk faster.
|
||||
else if(shoes)
|
||||
slowdown = shoes.slowdown
|
||||
else
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
@@ -162,6 +162,7 @@
|
||||
|
||||
helm_type = /obj/item/clothing/head/helmet/space/rig/ce
|
||||
glove_type = /obj/item/clothing/gloves/gauntlets/rig/ce
|
||||
boot_type = /obj/item/clothing/shoes/magboots/rig/ce //VOREStation Add
|
||||
|
||||
allowed = list(
|
||||
/obj/item/device/flashlight,
|
||||
|
||||
@@ -193,27 +193,32 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/security/riot
|
||||
name = "crowd control voidsuit helmet"
|
||||
desc = "A heavy-set and ominous looking crowd control suit helmet. Fitted with state of the art shock absorbing materials, to disperse blunt force trauma."
|
||||
icon_state = "rig0-sec_riot"
|
||||
armor = list(melee = 70, bullet = 15, laser = 15, energy = 5, bomb = 40, bio = 100, rad = 10)
|
||||
item_state_slots = list(slot_r_hand_str = "sec_helm_riot", slot_l_hand_str = "sec_helm_riot")
|
||||
|
||||
/obj/item/clothing/suit/space/void/security/riot
|
||||
name = "crowd control voidsuit"
|
||||
desc = "A heavy-set and ominous looking crowd control suit. Fitted with state of the art shock absorbing materials, to disperse blunt force trauma."
|
||||
icon_state = "rig-sec_riot"
|
||||
armor = list(melee = 70, bullet = 15, laser = 15, energy = 5, bomb = 40, bio = 100, rad = 10)
|
||||
item_state_slots = list(slot_r_hand_str = "sec_voidsuit_riot", slot_l_hand_str = "sec_voidsuit_riot")
|
||||
|
||||
//Security Surplus Voidsuit
|
||||
/obj/item/clothing/head/helmet/space/void/security/alt
|
||||
name = "riot security voidsuit helmet"
|
||||
desc = "A somewhat tacky voidsuit helmet, a fact mitigated by heavy armor plating."
|
||||
name = "security EVA voidsuit helmet"
|
||||
desc = "A grey-black voidsuit helmet with red highlights. A little tacky, but it offers better protection against modern firearms and radiation than standard-issue security voidsuit helmets."
|
||||
armor = list(melee = 30, bullet = 40, laser = 40, energy = 25, bomb = 60, bio = 100, rad = 50)
|
||||
icon_state = "rig0-secalt"
|
||||
armor = list(melee = 70, bullet = 20, laser = 30, energy = 5, bomb = 35, bio = 100, rad = 10)
|
||||
item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
|
||||
|
||||
/obj/item/clothing/suit/space/void/security/alt
|
||||
name = "security EVA voidsuit"
|
||||
desc = "A grey-black voidsuit with red highlights. A little tacky, but it offers better protection against modern firearms and radiation than standard-issue security voidsuits."
|
||||
armor = list(melee = 30, bullet = 40, laser = 40, energy = 25, bomb = 60, bio = 100, rad = 50)
|
||||
icon_state = "rig-secalt"
|
||||
name = "riot security voidsuit"
|
||||
desc = "A heavily armored voidsuit, designed to intimidate people who find black intimidating. Surprisingly slimming."
|
||||
armor = list(melee = 70, bullet = 20, laser = 30, energy = 5, bomb = 35, bio = 100, rad = 10)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton)
|
||||
item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG")
|
||||
|
||||
//Atmospherics
|
||||
/obj/item/clothing/head/helmet/space/void/atmos
|
||||
|
||||
@@ -64,3 +64,72 @@
|
||||
// This variable is normally used to set the icon_override when the suit is refitted,
|
||||
// however the species spritesheet now means we no longer need that anyway!
|
||||
sprite_sheets_refit = list()
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/heck
|
||||
name = "\improper H.E.C.K. helmet"
|
||||
desc = "Hostile Environiment Cross-Kinetic Helmet: A helmet designed to withstand the wide variety of hazards from \[REDACTED\]. It wasn't enough for its last owner."
|
||||
icon_state = "hostile_env"
|
||||
item_state = "hostile_env"
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
armor = list(melee = 60, bullet = 35, laser = 35, energy = 15, bomb = 55, bio = 100, rad = 20)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/heck/Initialize()
|
||||
. = ..()
|
||||
var/mutable_appearance/glass_overlay = mutable_appearance(icon, "hostile_env_glass")
|
||||
glass_overlay.appearance_flags = RESET_COLOR
|
||||
add_overlay(glass_overlay)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/heck/apply_accessories(var/image/standing)
|
||||
. = ..()
|
||||
var/mutable_appearance/glass_overlay = mutable_appearance(icon_override, "hostile_env_glass")
|
||||
glass_overlay.appearance_flags = KEEP_APART|RESET_COLOR
|
||||
standing.add_overlay(glass_overlay)
|
||||
return standing
|
||||
|
||||
/obj/item/clothing/suit/space/void/heck
|
||||
name = "\improper H.E.C.K. suit"
|
||||
desc = "Hostile Environment Cross-Kinetic Suit: A suit designed to withstand the wide variety of hazards from \[REDACTED\]. It wasn't enough for its last owner."
|
||||
icon_state = "hostile_env"
|
||||
item_state = "hostile_env"
|
||||
icon = 'icons/obj/clothing/suits_vr.dmi'
|
||||
icon_override = 'icons/mob/suit_vr.dmi'
|
||||
slowdown = 1.5
|
||||
armor = list(melee = 60, bullet = 35, laser = 35, energy = 15, bomb = 55, bio = 100, rad = 20)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/syndicate_contract
|
||||
name = "syndicate contract helmet"
|
||||
desc = "A free helmet, gifted you by your new not-quite-corporate master!"
|
||||
icon_state = "syndicate-contract"
|
||||
item_state = "syndicate-contract"
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0.6
|
||||
camera_networks = list(NETWORK_MERCENARY)
|
||||
|
||||
/obj/item/clothing/suit/space/void/syndicate_contract
|
||||
name = "syndicate contract suit"
|
||||
desc = "A free suit, gifted you by your new not-quite-corporate master!"
|
||||
icon_state = "syndicate-contract"
|
||||
item_state = "syndicate-contract"
|
||||
icon = 'icons/obj/clothing/suits_vr.dmi'
|
||||
icon_override = 'icons/mob/suit_vr.dmi'
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/chrono
|
||||
name = "chrono-helmet"
|
||||
desc = "From out of space and time, this helmet will protect you while you perform your duties."
|
||||
icon_state = "chronohelmet"
|
||||
item_state = "chronohelmet"
|
||||
icon = 'icons/obj/clothing/hats_vr.dmi'
|
||||
icon_override = 'icons/mob/head_vr.dmi'
|
||||
|
||||
/obj/item/clothing/suit/space/void/chrono
|
||||
name = "chrono-suit"
|
||||
desc = "From out of space and time, this helmet will protect you while you perform your duties."
|
||||
icon_state = "chronosuit"
|
||||
item_state = "chronosuit"
|
||||
icon = 'icons/obj/clothing/suits_vr.dmi'
|
||||
icon_override = 'icons/mob/suit_vr.dmi'
|
||||
@@ -1,3 +1,18 @@
|
||||
/obj/item/clothing/head/bomb_hood/security
|
||||
icon_state = "bombsuitsec"
|
||||
body_parts_covered = HEAD
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/paramedic
|
||||
name = "paramedic vest"
|
||||
desc = "A vest that protects against minor chemical spills."
|
||||
icon = 'icons/obj/clothing/suits_vr.dmi'
|
||||
icon_override = 'icons/mob/suit_vr.dmi'
|
||||
icon_state = "paramedic-vest"
|
||||
item_state = "paramedic-vest"
|
||||
item_state_slots = list(slot_r_hand_str = "blue_labcoat", slot_l_hand_str = "blue_labcoat")
|
||||
blood_overlay_type = "coat"
|
||||
body_parts_covered = UPPER_TORSO
|
||||
flags_inv = HIDEHOLSTER
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
|
||||
index = 1
|
||||
@@ -108,4 +108,21 @@
|
||||
|
||||
//Same as Nanotrasen Security Uniforms
|
||||
/obj/item/clothing/under/ert
|
||||
armor = list(melee = 5, bullet = 10, laser = 10, energy = 5, bomb = 5, bio = 0, rad = 0)
|
||||
armor = list(melee = 5, bullet = 10, laser = 10, energy = 5, bomb = 5, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/under/dress/qipao
|
||||
name = "qipao"
|
||||
icon = 'icons/obj/clothing/uniforms_vr.dmi'
|
||||
icon_override = 'icons/mob/uniform_vr.dmi'
|
||||
icon_state = "qipao"
|
||||
item_state = "qipao"
|
||||
|
||||
/obj/item/clothing/under/dress/qipao/white
|
||||
name = "white qipao"
|
||||
icon_state = "qipao_white"
|
||||
item_state = "qipao_white"
|
||||
|
||||
/obj/item/clothing/under/dress/qipao/red
|
||||
name = "red qipao"
|
||||
icon_state = "qipao_red"
|
||||
item_state = "qipao_red"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//Updates the mob's health from organs and mob damage variables
|
||||
/mob/living/carbon/human/updatehealth()
|
||||
var/huskmodifier = 1.5 // With 1.5, you need 250 burn instead of 200 to husk a human.
|
||||
var/huskmodifier = 2.5 //VOREStation Edit // With 1.5, you need 250 burn instead of 200 to husk a human.
|
||||
|
||||
if(status_flags & GODMODE)
|
||||
health = getMaxHealth()
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#define HUMAN_MAX_OXYLOSS 1 //Defines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it.
|
||||
#define HUMAN_CRIT_MAX_OXYLOSS ( 2.0 / 6) //The amount of damage you'll get when in critical condition. We want this to be a 5 minute deal = 300s. There are 50HP to get through, so (1/6)*last_tick_duration per second. Breaths however only happen every 4 ticks. last_tick_duration = ~2.0 on average
|
||||
|
||||
#define HEAT_DAMAGE_LEVEL_1 5 //Amount of damage applied when your body temperature just passes the 360.15k safety point
|
||||
#define HEAT_DAMAGE_LEVEL_2 10 //Amount of damage applied when your body temperature passes the 400K point
|
||||
#define HEAT_DAMAGE_LEVEL_3 20 //Amount of damage applied when your body temperature passes the 1000K point
|
||||
#define HEAT_DAMAGE_LEVEL_1 2 //VOREStation Edit //Amount of damage applied when your body temperature just passes the 360.15k safety point
|
||||
#define HEAT_DAMAGE_LEVEL_2 4 //VOREStation Edit //Amount of damage applied when your body temperature passes the 400K point
|
||||
#define HEAT_DAMAGE_LEVEL_3 8 //VOREStation Edit //Amount of damage applied when your body temperature passes the 1000K point
|
||||
|
||||
#define COLD_DAMAGE_LEVEL_1 0.5 //Amount of damage applied when your body temperature just passes the 260.15k safety point
|
||||
#define COLD_DAMAGE_LEVEL_2 1.5 //Amount of damage applied when your body temperature passes the 200K point
|
||||
@@ -22,6 +22,7 @@
|
||||
#define COLD_GAS_DAMAGE_LEVEL_3 3 //Amount of damage applied when the current breath's temperature passes the 120K point
|
||||
|
||||
#define RADIATION_SPEED_COEFFICIENT 0.1
|
||||
#define HUMAN_COMBUSTION_TEMP 524 //524k is the sustained combustion temperature of human fat
|
||||
|
||||
/mob/living/carbon/human
|
||||
var/oxygen_alert = 0
|
||||
@@ -1821,7 +1822,15 @@
|
||||
if(thermal_protection == 1) // Immune.
|
||||
return
|
||||
else
|
||||
bodytemperature += (BODYTEMP_HEATING_MAX + (fire_stacks * 15)) * (1-thermal_protection)
|
||||
var/fire_temp_add = (BODYTEMP_HEATING_MAX + (fire_stacks * 15)) * (1-thermal_protection)
|
||||
//This is to prevent humans from heating up indefinitely. A human being on fire (fat burns at 250C) can't magically
|
||||
// increase your body temperature beyond 250C, but it's possible something else (atmos) has heated us up beyond it,
|
||||
// so don't worry about the firestacks at that point. Really, we should be cooling the room down, because it has
|
||||
// to expend energy to heat our body up! But let's not worry about that.
|
||||
if((bodytemperature + fire_temp_add) > HUMAN_COMBUSTION_TEMP)
|
||||
return
|
||||
|
||||
bodytemperature += fire_temp_add
|
||||
|
||||
/mob/living/carbon/human/rejuvenate()
|
||||
restore_blood()
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
/mob/living
|
||||
var/ooc_notes = null
|
||||
var/obj/structure/mob_spawner/source_spawner = null
|
||||
appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER
|
||||
|
||||
//custom say verbs
|
||||
var/custom_say = null
|
||||
|
||||
@@ -689,3 +689,10 @@
|
||||
icon_state = "decompiler"
|
||||
max_item_count = 20
|
||||
delivery = TRUE
|
||||
|
||||
/obj/item/device/dogborg/sleeper/compactor/supply //Miner borg belly
|
||||
name = "Supply Satchel"
|
||||
desc = "A mounted survival unit with fuel processor."
|
||||
icon_state = "sleeperc"
|
||||
injection_chems = list("glucose","inaprovaline","tricordrazine")
|
||||
max_item_count = 1
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
robot_modules["Janihound"] = /obj/item/weapon/robot_module/robot/scrubpup
|
||||
robot_modules["Sci-borg"] = /obj/item/weapon/robot_module/robot/science
|
||||
robot_modules["Pupdozer"] = /obj/item/weapon/robot_module/robot/engiedog
|
||||
robot_modules["KMine"] = /obj/item/weapon/robot_module/robot/kmine
|
||||
return 1
|
||||
|
||||
//Just add a new proc with the robot_module type if you wish to run some other vore code
|
||||
@@ -615,6 +616,56 @@
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
R.verbs |= /mob/living/silicon/robot/proc/rest_style
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/kmine
|
||||
name = "Supply Hound Module"
|
||||
sprites = list(
|
||||
"KMine" = "kmine",
|
||||
)
|
||||
channels = list("Supply" = 1)
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/weapon/robot_module/robot/kmine/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/borg/sight/material(src)
|
||||
src.modules += new /obj/item/weapon/tool/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/ore(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe/borgdrill(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src)
|
||||
src.modules += new /obj/item/weapon/gripper/miner(src)
|
||||
src.modules += new /obj/item/weapon/mining_scanner(src)
|
||||
src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src)
|
||||
src.emag = new /obj/item/weapon/pickaxe/diamonddrill(src)
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500)
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 0
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
|
||||
T.water = water
|
||||
src.modules += T
|
||||
|
||||
var/obj/item/device/dogborg/sleeper/B = new /obj/item/device/dogborg/sleeper/compactor/supply(src)
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
R.verbs |= /mob/living/silicon/robot/proc/rest_style
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/Reset(var/mob/living/silicon/robot/R)
|
||||
R.pixel_x = initial(pixel_x)
|
||||
@@ -630,4 +681,4 @@
|
||||
R.verbs -= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs -= /mob/living/proc/shred_limb
|
||||
R.verbs -= /mob/living/silicon/robot/proc/rest_style
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
/datum/robolimb/dsi_teshari/New()
|
||||
species_cannot_use = GLOB.all_species.Copy()
|
||||
species_cannot_use -= SPECIES_TESHARI
|
||||
species_cannot_use -= SPECIES_CUSTOM
|
||||
..()
|
||||
|
||||
/obj/item/weapon/disk/limb/dsi_teshari
|
||||
|
||||
@@ -36,36 +36,123 @@
|
||||
var/from_suit = /obj/item/clothing/suit/space/void
|
||||
var/to_helmet = /obj/item/clothing/head/cardborg
|
||||
var/to_suit = /obj/item/clothing/suit/cardborg
|
||||
|
||||
|
||||
//conversion costs. refunds all parts by default, but can be tweaked per-kit
|
||||
var/from_helmet_cost = 1
|
||||
var/from_suit_cost = 2
|
||||
var/to_helmet_cost = -1
|
||||
var/to_suit_cost = -2
|
||||
|
||||
var/owner_ckey = null //ckey of the kit owner as a string
|
||||
var/skip_content_check = FALSE //can we skip the contents check? we generally shouldn't, but this is necessary for rigs/coats with hoods/etc.
|
||||
var/transfer_contents = FALSE //should we transfer the contents across before deleting? we generally shouldn't, esp. in the case of rigs/coats with hoods/etc. note this does nothing if skip is FALSE.
|
||||
var/can_repair = FALSE //can we be used to repair damaged voidsuits when converting them?
|
||||
var/can_revert = TRUE //can we revert items, or is it a one-way trip?
|
||||
var/delete_on_empty = FALSE //do we self-delete when emptied?
|
||||
|
||||
//Conversion proc
|
||||
/obj/item/device/modkit_conversion/afterattack(obj/O, mob/user as mob)
|
||||
var/flag
|
||||
var/cost
|
||||
var/to_type
|
||||
if(istype(O,from_helmet))
|
||||
flag = 1
|
||||
var/keycheck
|
||||
|
||||
if(isturf(O)) //silently fail if you click on a turf. shouldn't work anyway because turfs aren't objects but if I don't do this it spits runtimes.
|
||||
return
|
||||
if(istype(O,/obj/item/clothing/suit/space/void/) && !can_repair) //check if we're a voidsuit and if we're allowed to repair
|
||||
var/obj/item/clothing/suit/space/void/SS = O
|
||||
if(LAZYLEN(SS.breaches))
|
||||
to_chat(user, "<span class='warning'>You should probably repair that before you start tinkering with it.</span>")
|
||||
return
|
||||
if(O.blood_DNA || O.contaminated) //check if we're bloody or gooey or whatever, so modkits can't be used to hide crimes easily.
|
||||
to_chat(user, "<span class='warning'>You should probably clean that up before you start tinkering with it.</span>")
|
||||
return
|
||||
//we have to check that it's not the original type first, because otherwise it might convert wrong based on pathing; the subtype can still count as the basetype
|
||||
if(istype(O,to_helmet) && can_revert)
|
||||
cost = to_helmet_cost
|
||||
to_type = from_helmet
|
||||
else if(istype(O,to_suit) && can_revert)
|
||||
cost = to_suit_cost
|
||||
to_type = from_suit
|
||||
else if(!can_revert && (istype(O,to_helmet) || istype (O,to_suit)))
|
||||
to_chat(user, "<span class='warning'>This kit doesn't seem to have the tools necessary to revert changes to modified items.</span>")
|
||||
return
|
||||
else if(istype(O,from_helmet))
|
||||
cost = from_helmet_cost
|
||||
to_type = to_helmet
|
||||
keycheck = TRUE
|
||||
else if(istype(O,from_suit))
|
||||
flag = 2
|
||||
cost = from_suit_cost
|
||||
to_type = to_suit
|
||||
keycheck = TRUE
|
||||
else
|
||||
return
|
||||
if(!(parts & flag))
|
||||
to_chat(user, "<span class='warning'>This kit has no parts for this modification left.</span>")
|
||||
return
|
||||
if(istype(O,to_type))
|
||||
to_chat(user, "<span class='notice'>[O] is already modified.</span>")
|
||||
return
|
||||
if(!isturf(O.loc))
|
||||
to_chat(user, "<span class='warning'>[O] must be safely placed on the ground for modification.</span>")
|
||||
to_chat(user, "<span class='warning'>You need to put \the [O] on the ground, a table, or other worksurface before modifying it.</span>")
|
||||
return
|
||||
if(!skip_content_check && O.contents.len) //check if we're loaded/modified, in the event of gun/suit kits, to avoid purging stuff like ammo, badges, armbands, or suit helmets
|
||||
to_chat(user, "<span class='warning'>You should probably remove any attached items or loaded ammunition before trying to modify that!</span>")
|
||||
return
|
||||
if(cost > parts)
|
||||
to_chat(user, "<span class='warning'>The kit doesn't have enough parts left to modify that.</span>")
|
||||
if(can_revert && ((to_helmet_cost || to_suit_cost) < 0))
|
||||
to_chat(user, "<span class='notice'> You can recover parts by using the kit on an already-modified item.</span>")
|
||||
return
|
||||
if(keycheck && owner_ckey) //check if we're supposed to care
|
||||
if(user.ckey != owner_ckey) //ERROR: UNAUTHORIZED USER
|
||||
to_chat(user, "<span class='warning'>You probably shouldn't mess with all these strange tools and parts...</span>") //give them a slightly fluffy explanation as to why it didn't work
|
||||
return
|
||||
playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
var/N = new to_type(O.loc)
|
||||
user.visible_message("<span class='warning'>[user] opens \the [src] and modifies \the [O] into \the [N].</span>","<span class='warning'>You open \the [src] and modify \the [O] into \the [N].</span>")
|
||||
var/obj/N = new to_type(O.loc)
|
||||
user.visible_message("<span class='notice'>[user] opens \the [src] and modifies \the [O] into \the [N].</span>","<span class='notice'>You open \the [src] and modify \the [O] into \the [N].</span>")
|
||||
|
||||
//crude, but transfer prints and fibers to avoid forensics abuse, same as the bloody/gooey check above
|
||||
N.fingerprints = O.fingerprints
|
||||
N.fingerprintshidden = O.fingerprintshidden
|
||||
N.fingerprintslast = O.fingerprintslast
|
||||
N.suit_fibers = O.suit_fibers
|
||||
|
||||
//transfer logic could technically be made more thorough and handle stuff like helmet/boots/tank vars for suits, but in those cases you should be removing the items first anyway
|
||||
if(skip_content_check && transfer_contents)
|
||||
N.contents = O.contents
|
||||
if(istype(N,/obj/item/weapon/gun/projectile/))
|
||||
var/obj/item/weapon/gun/projectile/NN = N
|
||||
var/obj/item/weapon/gun/projectile/OO = O
|
||||
NN.magazine_type = OO.magazine_type
|
||||
NN.ammo_magazine = OO.ammo_magazine
|
||||
if(istype(N,/obj/item/weapon/gun/energy/))
|
||||
var/obj/item/weapon/gun/energy/NE = N
|
||||
var/obj/item/weapon/gun/energy/OE = O
|
||||
NE.cell_type = OE.cell_type
|
||||
else
|
||||
if(istype(N,/obj/item/weapon/gun/projectile/))
|
||||
var/obj/item/weapon/gun/projectile/NM = N
|
||||
NM.contents = list()
|
||||
NM.magazine_type = null
|
||||
NM.ammo_magazine = null
|
||||
if(istype(N,/obj/item/weapon/gun/energy/))
|
||||
var/obj/item/weapon/gun/energy/NO = N
|
||||
NO.contents = list()
|
||||
NO.cell_type = null
|
||||
|
||||
qdel(O)
|
||||
parts &= ~flag
|
||||
if(!parts)
|
||||
parts -= cost
|
||||
if(!parts && delete_on_empty)
|
||||
qdel(src)
|
||||
|
||||
//DEBUG ITEM
|
||||
/obj/item/device/modkit_conversion/fluff/debug_gunkit
|
||||
name = "Gun Transformation Kit"
|
||||
desc = "A kit containing all the needed tools and fabric to modify one sidearm to another."
|
||||
skip_content_check = FALSE
|
||||
transfer_contents = FALSE
|
||||
|
||||
icon = 'icons/vore/custom_items_vr.dmi'
|
||||
icon_state = "harmony_kit"
|
||||
|
||||
from_helmet = /obj/item/weapon/gun/energy/laser
|
||||
to_helmet = /obj/item/weapon/gun/energy/retro
|
||||
//DEBUG ITEM ENDS
|
||||
|
||||
//JoanRisu:Joan Risu
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/joan
|
||||
name = "Federation Zippo Lighter"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: Leshana
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Glass Emergency Shutters are now constructable and deconstructing them will give you the glass back."
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 740 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 592 KiB After Width: | Height: | Size: 628 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 611 B After Width: | Height: | Size: 859 B |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 4.9 KiB |
@@ -1016,6 +1016,11 @@
|
||||
icon_state = "techfloororange_corners";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable/cyan{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/aro2/bighallway)
|
||||
"cc" = (
|
||||
@@ -1490,6 +1495,11 @@
|
||||
/obj/structure/railing{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable/cyan{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/simulated/floor/bluegrid,
|
||||
/area/aro2/bighallway)
|
||||
"de" = (
|
||||
@@ -1897,6 +1907,11 @@
|
||||
/turf/simulated/wall/rpshull,
|
||||
/area/aro2/storage)
|
||||
"dS" = (
|
||||
/obj/structure/cable/cyan{
|
||||
d1 = 1;
|
||||
d2 = 8;
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/turf/simulated/floor/bluegrid,
|
||||
/area/aro2/bighallway)
|
||||
"dT" = (
|
||||
@@ -2045,6 +2060,9 @@
|
||||
initial_shield_modes = 2113;
|
||||
target_radius = 31
|
||||
},
|
||||
/obj/structure/cable/cyan{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/turf/simulated/floor/bluegrid,
|
||||
/area/aro2/bighallway)
|
||||
"ee" = (
|
||||
@@ -4772,6 +4790,15 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
/area/shuttle/aroboat2)
|
||||
"TY" = (
|
||||
/obj/effect/floor_decal/techfloor/orange,
|
||||
/obj/structure/cable/cyan{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/aro2/bighallway)
|
||||
"VH" = (
|
||||
/obj/structure/grille,
|
||||
/obj/structure/window/phoronreinforced/full,
|
||||
@@ -15689,7 +15716,7 @@ bI
|
||||
hT
|
||||
gU
|
||||
cb
|
||||
cr
|
||||
TY
|
||||
dd
|
||||
dS
|
||||
eu
|
||||
|
||||
@@ -10193,7 +10193,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -10755,7 +10755,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
@@ -10193,7 +10193,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -10755,7 +10755,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
@@ -10193,7 +10193,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -10755,7 +10755,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
@@ -10193,7 +10193,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
@@ -10755,7 +10755,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
c
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
@@ -2242,6 +2242,7 @@
|
||||
"aei" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/camera/network/engineering,
|
||||
/obj/item/clothing/shoes/magboots/adv,
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/crew_quarters/heads/chief)
|
||||
"aej" = (
|
||||
|
||||
@@ -238,6 +238,9 @@
|
||||
name = "\improper Vacant Prep Area"
|
||||
/area/vacant/vacant_site/gateway/lower
|
||||
name = "\improper Lower Vacant Prep Area"
|
||||
//TFF 5/4/20 - Mining Ops move TODO Change all Vacant areas to construction_site per vermin event location announcement.
|
||||
/area/construction/vacant_mining_ops
|
||||
name = "\improper Vacant Mining Operations"
|
||||
|
||||
// /area/tether/surfacebase/east_stairs_three //This is just part of an upper hallway
|
||||
|
||||
@@ -252,32 +255,38 @@
|
||||
/area/tether/surfacebase/emergency_storage/atrium
|
||||
name = "\improper Atrium Emergency Storage"
|
||||
|
||||
// Main mining area
|
||||
/area/tether/surfacebase/mining_main
|
||||
//TFF 7/4/20 - New areas for Surface Cargo bits as well as the Mining Outpost. Some former ones deleted. Others renamed.
|
||||
// Surface Cargo/Mining EVA/Warehouse/Mining Outpost adadditions
|
||||
/area/tether/surfacebase/cargo
|
||||
name = "Surface Cargo Foyer"
|
||||
icon = 'icons/turf/areas.dmi'
|
||||
icon_state = "quartstorage"
|
||||
/area/tether/surfacebase/cargo/mining //TODO: Change to medical airlock access
|
||||
name = "\improper Mining Equipment Storage"
|
||||
icon_state = "outpost_mine_main"
|
||||
/area/tether/surfacebase/mining_main/airlock
|
||||
/area/tether/surfacebase/cargo/mining/airlock //TODO: Change to medical airlock
|
||||
name = "\improper Mining Airlock"
|
||||
/area/tether/surfacebase/mining_main/storage
|
||||
name = "\improper Mining Gear Storage"
|
||||
/area/tether/surfacebase/mining_main/uxstorage
|
||||
name = "\improper Mining Secondary Storage"
|
||||
/area/tether/surfacebase/mining_main/ore
|
||||
name = "\improper Mining Ore Storage"
|
||||
/area/tether/surfacebase/mining_main/eva
|
||||
name = "\improper Mining EVA"
|
||||
/area/tether/surfacebase/mining_main/break_room
|
||||
name = "\improper Mining Crew Area"
|
||||
/area/tether/surfacebase/mining_main/refinery
|
||||
name = "\improper Mining Refinery"
|
||||
/area/tether/surfacebase/mining_main/external
|
||||
name = "\improper Mining Refinery"
|
||||
/area/tether/surfacebase/mining_main/bathroom
|
||||
name = "\improper Mining Bathroom"
|
||||
/area/tether/surfacebase/mining_main/lobby
|
||||
name = "\improper Mining Lobby"
|
||||
/area/tether/surfacebase/mining_main/surfacecargo
|
||||
/area/tether/surfacebase/cargo/warehouse
|
||||
name = "\improper Surface Cargo Warehouse"
|
||||
/area/tether/surfacebase/cargo/office
|
||||
name = "\improper Surface Cargo Office"
|
||||
lightswitch = 0
|
||||
/area/tether/surfacebase/mining_main
|
||||
icon_state = "outpost_mine_main"
|
||||
/area/tether/surfacebase/mining_main/eva
|
||||
name = "\improper Mining EVA"
|
||||
/area/tether/surfacebase/mining_main/external //TODO: repath for medical move
|
||||
name = "\improper Mining External"
|
||||
/area/tether/surfacebase/mining_main/break_room
|
||||
name = "\improper Mining Crew Area"
|
||||
/area/tether/surfacebase/mining_main/bathroom
|
||||
name = "\improper Mining Bathroom"
|
||||
/area/outpost/mining_main/hangar
|
||||
name = "\improper Mining Outpost Shuttle Hangar"
|
||||
/area/outpost/mining_main/secondary_gear_storage
|
||||
name = "\improper Mining Outpost Gear Storage"
|
||||
/area/outpost/mining_main/drill_equipment
|
||||
name = "\improper Mining Equipment Storage"
|
||||
|
||||
// Mining Underdark
|
||||
/area/mine/unexplored/underdark
|
||||
@@ -1070,12 +1079,20 @@
|
||||
/area/shuttle/medivac/engines
|
||||
name = "\improper Medivac Engines"
|
||||
|
||||
// Belter Dock
|
||||
|
||||
//TFF 5/4/20 - Mining Ops move
|
||||
// Asteroid Mining belter and Mining Outpost shuttles and refinery/gear areas
|
||||
/area/quartermaster/belterdock
|
||||
name = "\improper Cargo Belter Access"
|
||||
icon_state = "mining"
|
||||
|
||||
/area/quartermaster/belterdock/gear
|
||||
name = "\improper Mining Gear Storage"
|
||||
/area/quartermaster/belterdock/refinery
|
||||
name = "\improper Mining Refinery"
|
||||
/area/quartermaster/belterdock/surface_mining_outpost_shuttle_hangar
|
||||
name = "\improper Mining Outpost Shuttle - Station"
|
||||
area/shuttle/mining_outpost/shuttle
|
||||
name = "\improper Mining Outpost Shuttle"
|
||||
icon_state = "shuttle2"
|
||||
// Elevator area //
|
||||
|
||||
/area/tether/elevator
|
||||
|
||||
@@ -130,11 +130,12 @@
|
||||
/area/rnd/miscellaneous_lab
|
||||
)
|
||||
|
||||
//TFF 5/4/20 - Mining Ops move, airlock path change
|
||||
unit_test_exempt_from_atmos = list(
|
||||
/area/engineering/atmos_intake, // Outside,
|
||||
/area/rnd/external, // Outside,
|
||||
/area/tether/surfacebase/mining_main/external, // Outside,
|
||||
/area/tether/surfacebase/mining_main/airlock, // Its an airlock,
|
||||
/area/tether/surfacebase/cargo/mining/airlock, // It's an airlock, TODO: repath for later Med EVA on Surface
|
||||
/area/tether/surfacebase/emergency_storage/rnd,
|
||||
/area/tether/surfacebase/emergency_storage/atrium)
|
||||
|
||||
@@ -177,6 +178,10 @@
|
||||
Z_LEVEL_ROGUEMINE_3,
|
||||
Z_LEVEL_ROGUEMINE_4)
|
||||
|
||||
//TFF 16/4/20 - mining outpost shuttle defines
|
||||
mining_station_z = list(Z_LEVEL_SPACE_HIGH)
|
||||
mining_outpost_z = list(Z_LEVEL_SURFACE_MINE)
|
||||
|
||||
lateload_single_pick = null //Nothing right now.
|
||||
|
||||
planet_datums_to_make = list(/datum/planet/virgo3b)
|
||||
|
||||
@@ -200,3 +200,15 @@
|
||||
/datum/shuttle/autodock/ferry/belter/New()
|
||||
move_time = move_time + rand(-5 SECONDS, 5 SECONDS)
|
||||
..()
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
//TFF 12/4/20 Surface Mining Outpost Shuttle
|
||||
|
||||
/datum/shuttle/autodock/ferry/surface_mining_outpost
|
||||
name = "Mining Outpost"
|
||||
location = FERRY_LOCATION_STATION
|
||||
warmup_time = 5
|
||||
shuttle_area = /area/shuttle/mining_outpost
|
||||
landmark_station = "mining_station"
|
||||
landmark_offsite = "mining_outpost"
|
||||
docking_controller_tag = "mining_docking"
|
||||
|
||||
@@ -32,6 +32,11 @@
|
||||
shuttle_tag = "Trade"
|
||||
req_one_access = list(access_trader)
|
||||
|
||||
//TFF 12/4/20 - Add console for Mining Outpost Shuttle
|
||||
/obj/machinery/computer/shuttle_control/surface_mining_outpost
|
||||
name = "surface mining outpost shuttle control console"
|
||||
shuttle_tag = "Mining Outpost"
|
||||
req_one_access = list(access_mining)
|
||||
//
|
||||
// "Tram" Emergency Shuttler
|
||||
// Becuase the tram only has its own doors and no corresponding station doors, a docking controller is overkill.
|
||||
|
||||
@@ -62,11 +62,13 @@ var/list/all_maps = list()
|
||||
var/ai_shell_restricted = FALSE //VOREStation Addition - are there z-levels restricted?
|
||||
var/ai_shell_allowed_levels = list() //VOREStation Addition - which z-levels ARE we allowed to visit?
|
||||
|
||||
//VOREStation Addition Start - belter stuff
|
||||
//VOREStation Addition Start - belter stuff TFF 16/4/20 - Mining Outpost Shuttle
|
||||
var/list/belter_docked_z = list()
|
||||
var/list/belter_transit_z = list()
|
||||
var/list/belter_belt_z = list()
|
||||
//VOREStation Addition End - belter stuff
|
||||
var/list/mining_station_z = list()
|
||||
var/list/mining_outpost_z = list()
|
||||
//VOREStation Addition End
|
||||
|
||||
var/station_name = "BAD Station"
|
||||
var/station_short = "Baddy"
|
||||
|
||||