mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
[MIRROR] only tab indentation (#10517)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a212c585c7
commit
e501986575
@@ -205,9 +205,9 @@
|
||||
belter_docked_z = list(Z_LEVEL_CRYOGAIA_UPPER)
|
||||
belter_transit_z = list(Z_LEVEL_CRYOGAIA_MISC)
|
||||
belter_belt_z = list(Z_LEVEL_ROGUEMINE_1,
|
||||
Z_LEVEL_ROGUEMINE_2,
|
||||
Z_LEVEL_ROGUEMINE_3,
|
||||
Z_LEVEL_ROGUEMINE_4)
|
||||
Z_LEVEL_ROGUEMINE_2,
|
||||
Z_LEVEL_ROGUEMINE_3,
|
||||
Z_LEVEL_ROGUEMINE_4)
|
||||
|
||||
lateload_single_pick = list( //Gateway missions
|
||||
list("Snow Outpost"),
|
||||
|
||||
@@ -270,23 +270,23 @@ var/global/list/latejoin_tram = list()
|
||||
"Desert" = new/datum/holodeck_program(/area/houseboat/holodeck/desert,
|
||||
list(
|
||||
'sound/effects/weather/wind/wind_2_1.ogg',
|
||||
'sound/effects/weather/wind/wind_2_2.ogg',
|
||||
'sound/effects/weather/wind/wind_3_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_2.ogg',
|
||||
'sound/effects/weather/wind/wind_5_1.ogg'
|
||||
)
|
||||
),
|
||||
'sound/effects/weather/wind/wind_2_2.ogg',
|
||||
'sound/effects/weather/wind/wind_3_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_2.ogg',
|
||||
'sound/effects/weather/wind/wind_5_1.ogg'
|
||||
)
|
||||
),
|
||||
"Snowfield" = new/datum/holodeck_program(/area/houseboat/holodeck/snow,
|
||||
list(
|
||||
'sound/effects/weather/wind/wind_2_1.ogg',
|
||||
'sound/effects/weather/wind/wind_2_2.ogg',
|
||||
'sound/effects/weather/wind/wind_3_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_2.ogg',
|
||||
'sound/effects/weather/wind/wind_5_1.ogg'
|
||||
)
|
||||
),
|
||||
'sound/effects/weather/wind/wind_2_2.ogg',
|
||||
'sound/effects/weather/wind/wind_3_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_1.ogg',
|
||||
'sound/effects/weather/wind/wind_4_2.ogg',
|
||||
'sound/effects/weather/wind/wind_5_1.ogg'
|
||||
)
|
||||
),
|
||||
"Space" = new/datum/holodeck_program(/area/houseboat/holodeck/space,
|
||||
list(
|
||||
'sound/ambience/ambispace.ogg',
|
||||
|
||||
@@ -58,8 +58,8 @@ GLOBAL_LIST_EMPTY(shutoff_valves)
|
||||
|
||||
if(close_on_leaks)
|
||||
if(open && (network_node1.leaks.len || network_node2.leaks.len))
|
||||
find_leaks() // If we can see the leak, then this will find it, close the valve, and cut off that network
|
||||
// If we cannot see the leak, then this will not close the valve, and any valves that can see the leak will cut it off from us
|
||||
find_leaks() // If we can see the leak, then this will find it, close the valve, and cut off that network
|
||||
// If we cannot see the leak, then this will not close the valve, and any valves that can see the leak will cut it off from us
|
||||
else if(!open && !network_node1.leaks.len && !network_node2.leaks.len)
|
||||
open()
|
||||
return
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
|
||||
/*
|
||||
Filter types:
|
||||
-1: Nothing
|
||||
0: Phoron: Phoron, Oxygen Agent B
|
||||
1: Oxygen: Oxygen ONLY
|
||||
2: Nitrogen: Nitrogen ONLY
|
||||
3: Carbon Dioxide: Carbon Dioxide ONLY
|
||||
4: Nitrous Oxide (Formerly called Sleeping Agent) (N2O)
|
||||
-1: Nothing
|
||||
0: Phoron: Phoron, Oxygen Agent B
|
||||
1: Oxygen: Oxygen ONLY
|
||||
2: Nitrogen: Nitrogen ONLY
|
||||
3: Carbon Dioxide: Carbon Dioxide ONLY
|
||||
4: Nitrous Oxide (Formerly called Sleeping Agent) (N2O)
|
||||
*/
|
||||
var/filter_type = -1
|
||||
var/list/filtered_out = list()
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
"power" = use_power,
|
||||
"volume_rate" = volume_rate,
|
||||
"sigtype" = "status"
|
||||
)
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
|
||||
|
||||
@@ -880,11 +880,11 @@ var/global/list/xenobio_rainbow_extracts = list(
|
||||
var/global/list/event_wildlife_aquatic = list(
|
||||
list(
|
||||
list(/mob/living/simple_mob/animal/passive/fish/koi = 1,
|
||||
/mob/living/simple_mob/animal/passive/fish/pike = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/perch = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/salmon = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/trout = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/bass = 3),
|
||||
/mob/living/simple_mob/animal/passive/fish/pike = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/perch = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/salmon = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/trout = 2,
|
||||
/mob/living/simple_mob/animal/passive/fish/bass = 3),
|
||||
list(/mob/living/simple_mob/animal/passive/fish/salmon = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/fish/perch = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/fish/trout = 1),
|
||||
@@ -896,11 +896,11 @@ var/global/list/event_wildlife_aquatic = list(
|
||||
list(/mob/living/simple_mob/animal/sif/duck = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/fish/measelshark = 1),
|
||||
list(/mob/living/simple_mob/vore/pakkun = 5,
|
||||
/mob/living/simple_mob/vore/pakkun/snapdragon = 1)
|
||||
/mob/living/simple_mob/vore/pakkun/snapdragon = 1)
|
||||
),
|
||||
list(
|
||||
list(/mob/living/simple_mob/animal/space/goose = 10,
|
||||
/mob/living/simple_mob/animal/space/goose/white = 1),
|
||||
/mob/living/simple_mob/animal/space/goose/white = 1),
|
||||
list(/mob/living/simple_mob/vore/alienanimals/space_jellyfish = 1)
|
||||
),
|
||||
list(
|
||||
@@ -911,38 +911,38 @@ var/global/list/event_wildlife_aquatic = list(
|
||||
var/global/list/event_wildlife_roaming = list(
|
||||
list(
|
||||
list(/mob/living/simple_mob/animal/passive/mouse/jerboa = 1,
|
||||
/mob/living/simple_mob/animal/passive/mouse/black = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/brown = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/gray = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/white = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/rat/strong = 3), // CHOMPEdit
|
||||
/mob/living/simple_mob/animal/passive/mouse/black = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/brown = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/gray = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/white = 2,
|
||||
/mob/living/simple_mob/animal/passive/mouse/rat/strong = 3), // CHOMPEdit
|
||||
list(/mob/living/simple_mob/animal/passive/bird/black_bird = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/azure_tit = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/european_robin = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/goldcrest = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/ringneck_dove = 1),
|
||||
/mob/living/simple_mob/animal/passive/bird/azure_tit = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/european_robin = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/goldcrest = 1,
|
||||
/mob/living/simple_mob/animal/passive/bird/ringneck_dove = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/dog/corgi = 4,
|
||||
/mob/living/simple_mob/animal/passive/dog/corgi/puppy = 1),
|
||||
/mob/living/simple_mob/animal/passive/dog/corgi/puppy = 1),
|
||||
list(/mob/living/simple_mob/vore/rabbit = 1),
|
||||
list(/mob/living/simple_mob/vore/redpanda = 14,
|
||||
/mob/living/simple_mob/vore/redpanda/fae = 7,
|
||||
/mob/living/simple_mob/vore/redpanda/blue = 1),
|
||||
/mob/living/simple_mob/vore/redpanda/fae = 7,
|
||||
/mob/living/simple_mob/vore/redpanda/blue = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/cow = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/chicken = 4,
|
||||
/mob/living/simple_mob/animal/passive/chick = 1),
|
||||
/mob/living/simple_mob/animal/passive/chick = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/snake = 2,
|
||||
/mob/living/simple_mob/animal/passive/snake/red = 1,
|
||||
/mob/living/simple_mob/animal/passive/snake/python = 1)
|
||||
/mob/living/simple_mob/animal/passive/snake/red = 1,
|
||||
/mob/living/simple_mob/animal/passive/snake/python = 1)
|
||||
),
|
||||
list(
|
||||
list(/mob/living/simple_mob/vore/horse/big = 7,
|
||||
/mob/living/simple_mob/vore/horse = 2),
|
||||
/mob/living/simple_mob/vore/horse = 2),
|
||||
list(/mob/living/simple_mob/vore/fennix = 1,
|
||||
/mob/living/simple_mob/vore/fennec = 4),
|
||||
/mob/living/simple_mob/vore/fennec = 4),
|
||||
list(/mob/living/simple_mob/vore/bee = 1),
|
||||
list(/mob/living/simple_mob/animal/passive/fox = 1),
|
||||
list(/mob/living/simple_mob/vore/sheep = 3,
|
||||
/mob/living/simple_mob/animal/goat = 1),
|
||||
/mob/living/simple_mob/animal/goat = 1),
|
||||
list(/mob/living/simple_mob/vore/hippo = 1),
|
||||
list(/mob/living/simple_mob/vore/alienanimals/dustjumper = 1),
|
||||
list(/mob/living/simple_mob/vore/alienanimals/teppi = 1)
|
||||
|
||||
@@ -33,14 +33,14 @@ SUBSYSTEM_DEF(sqlite)
|
||||
// Note that this is for direct feedback from players using the in-game feedback system and NOT for stat tracking.
|
||||
// Player ckeys are not stored in this table as a unique key due to a config option to hash the keys to encourage more honest feedback.
|
||||
/*
|
||||
* id - Primary unique key to ID a specific piece of feedback.
|
||||
NOT used to id people submitting feedback.
|
||||
* author - The person who submitted it. Will be the ckey, or a hash of the ckey,
|
||||
if both the config supports it, and the user wants it.
|
||||
* topic - A specific category to organize feedback under. Options are defined in the config file.
|
||||
* content - What the author decided to write to the staff. Limited to MAX_FEEDBACK_LENGTH.
|
||||
* datetime - When the author submitted their feedback, acts as a timestamp.
|
||||
*/
|
||||
* id - Primary unique key to ID a specific piece of feedback.
|
||||
NOT used to id people submitting feedback.
|
||||
* author - The person who submitted it. Will be the ckey, or a hash of the ckey,
|
||||
if both the config supports it, and the user wants it.
|
||||
* topic - A specific category to organize feedback under. Options are defined in the config file.
|
||||
* content - What the author decided to write to the staff. Limited to MAX_FEEDBACK_LENGTH.
|
||||
* datetime - When the author submitted their feedback, acts as a timestamp.
|
||||
*/
|
||||
var/database/query/init_schema = new(
|
||||
{"
|
||||
CREATE TABLE IF NOT EXISTS [SQLITE_TABLE_FEEDBACK]
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
reqs = list(list(/obj/item/handcuffs/cable = 1),
|
||||
list(/obj/item/stack/rods = 1),
|
||||
list(/obj/item/material/shard = 1,
|
||||
/obj/item/material/butterflyblade = 1)
|
||||
/obj/item/material/butterflyblade = 1)
|
||||
)
|
||||
parts = list(/obj/item/material/shard = 1,
|
||||
/obj/item/material/butterflyblade = 1)
|
||||
/obj/item/material/butterflyblade = 1)
|
||||
time = 40
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_WEAPON
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
var/directory_erptag
|
||||
var/directory_ad
|
||||
var/vore_prey_eaten = 0
|
||||
//CHOMPEdit additions
|
||||
//CHOMPAdd Start
|
||||
var/vantag_preference = VANTAG_NONE
|
||||
var/directory_gendertag
|
||||
var/directory_sexualitytag
|
||||
//CHOMPAdd End
|
||||
|
||||
/mob/living/mind_initialize()
|
||||
. = ..()
|
||||
@@ -17,7 +18,8 @@
|
||||
mind.directory_tag = client.prefs.directory_tag
|
||||
mind.directory_erptag = client.prefs.directory_erptag
|
||||
mind.directory_ad = client.prefs.directory_ad
|
||||
//CHOMPEdit additions
|
||||
//CHOMPAdd Start
|
||||
mind.vantag_preference = client.prefs.vantag_preference
|
||||
mind.directory_gendertag = client.prefs.directory_gendertag
|
||||
mind.directory_sexualitytag = client.prefs.directory_sexualitytag
|
||||
//CHOMPAdd End
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/datum/supply_pack/misc/bluespaceradioyw
|
||||
name = "Bluespace Radio Packs"
|
||||
contains = list(
|
||||
/obj/item/bluespaceradio/cryogaia_prelinked = 2
|
||||
/obj/item/bluespaceradio/cryogaia_prelinked = 2
|
||||
)
|
||||
cost = 75
|
||||
containertype = /obj/structure/closet/crate
|
||||
|
||||
@@ -182,13 +182,13 @@
|
||||
/obj/item/storage/belt/explorer,
|
||||
/obj/item/clothing/mask/gas/explorer,
|
||||
/obj/item/cartridge/explorer,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/radio/headset/explorer,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/radio/headset/explorer,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/material/knife/tacknife/survival,
|
||||
/obj/item/material/knife/machete,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/item/clothing/accessory/watch/survival
|
||||
)
|
||||
cost=25
|
||||
@@ -210,7 +210,7 @@
|
||||
/obj/item/clothing/gloves/fingerless,
|
||||
/obj/item/cataloguer/compact, //CHOMP explo keep
|
||||
/obj/item/clothing/suit/storage/toggle/bomber/pilot,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/flashlight,
|
||||
/obj/item/material/knife/tacknife/survival,
|
||||
/obj/item/clothing/head/pilot_vr,
|
||||
@@ -245,13 +245,13 @@
|
||||
/obj/item/storage/belt/explorer/pathfinder,
|
||||
/obj/item/clothing/mask/gas/explorer,
|
||||
/obj/item/cartridge/explorer,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/radio/headset/pathfinder,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/radio/headset/pathfinder,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/material/knife/tacknife/survival,
|
||||
/obj/item/material/knife/machete/deluxe,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/item/storage/box/explorerkeys,
|
||||
/obj/item/mapping_unit,
|
||||
/obj/item/clothing/accessory/watch/survival
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
holder.add_hiddenprint(ui.user)
|
||||
|
||||
switch(action)
|
||||
// Toggles the cut/mend status.
|
||||
// Toggles the cut/mend status.
|
||||
if("cut")
|
||||
// if(!I.has_tool_quality(TOOL_WIRECUTTER) && !user.can_admin_interact())
|
||||
if(!istype(I) || !I.has_tool_quality(TOOL_WIRECUTTER))
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
// Attach a signaler to a wire.
|
||||
// Attach a signaler to a wire.
|
||||
if("attach")
|
||||
if(is_attached(color))
|
||||
var/obj/item/O = detach_assembly(color)
|
||||
|
||||
@@ -59,7 +59,7 @@ var/datum/antagonist/borer/borers
|
||||
borer.host_brain.name = host.name
|
||||
borer.host_brain.real_name = host.real_name
|
||||
return
|
||||
// Place them at a vent if they can't get a host.
|
||||
// Place them at a vent if they can't get a host.
|
||||
borer.forceMove(get_turf(pick(get_vents())))
|
||||
|
||||
/datum/antagonist/borer/attempt_random_spawn()
|
||||
|
||||
@@ -1144,8 +1144,8 @@ datum
|
||||
New(var/text,var/joba)
|
||||
..()
|
||||
var/list/items = list(REAGENT_SACID, REAGENT_PACID, REAGENT_LUBE, REAGENT_MUTAGEN,\
|
||||
REAGENT_LEPORAZINE, REAGENT_CRYPTOBIOLIN, REAGENT_LEXORIN,\
|
||||
REAGENT_KELOTANE, REAGENT_DEXALIN, REAGENT_TRICORDRAZINE)
|
||||
REAGENT_LEPORAZINE, REAGENT_CRYPTOBIOLIN, REAGENT_LEXORIN,\
|
||||
REAGENT_KELOTANE, REAGENT_DEXALIN, REAGENT_TRICORDRAZINE)
|
||||
target_name = pick(items)
|
||||
switch(target_name)
|
||||
if(REAGENT_SACID)
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
if(istype(loc,/obj/effect/dummy))
|
||||
return TRACKING_TERMINATE
|
||||
|
||||
// Now, are they viewable by a camera? (This is last because it's the most intensive check)
|
||||
// Now, are they viewable by a camera? (This is last because it's the most intensive check)
|
||||
return near_camera() ? TRACKING_POSSIBLE : TRACKING_NO_COVERAGE
|
||||
|
||||
/mob/living/silicon/robot/tracking_status()
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
else if(occupant.health < heal_level && occupant.getCloneLoss() > 0)
|
||||
occupant.Paralyse(4)
|
||||
|
||||
//Slowly get that clone healed and finished.
|
||||
//Slowly get that clone healed and finished.
|
||||
occupant.adjustCloneLoss(-2 * heal_rate)
|
||||
|
||||
//Premature clones may have brain damage.
|
||||
|
||||
@@ -516,8 +516,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
|
||||
//End of research and feedback code.
|
||||
|
||||
/* ###### Send the message ###### */
|
||||
/* --- Process all the mobs that heard a masked voice (understood) --- */
|
||||
/* ###### Send the message ###### */
|
||||
/* --- Process all the mobs that heard a masked voice (understood) --- */
|
||||
if(length(heard_masked))
|
||||
for (var/mob/R in heard_masked)
|
||||
R.hear_radio(message_pieces, verbage, part_a, part_b, part_c, part_d, part_e, M, 0, name)
|
||||
@@ -702,7 +702,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
|
||||
//End of research and feedback code.
|
||||
|
||||
/* ###### Send the message ###### */
|
||||
/* ###### Send the message ###### */
|
||||
|
||||
/* --- Process all the mobs that heard the voice normally (understood) --- */
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
network = "tcommsat"
|
||||
produces_heat = 0
|
||||
autolinkers = list("hub_cent", "c_relay", "s_relay", "m_relay", "r_relay", "hb_relay",
|
||||
"centcom", "receiverCent", "broadcasterCent") //VOREStation Edit - Added "hb_relay"
|
||||
"centcom", "receiverCent", "broadcasterCent") //VOREStation Edit - Added "hb_relay"
|
||||
|
||||
//Receivers
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
circuit = /obj/item/circuitboard/teleporter
|
||||
dir = 4
|
||||
var/id = null
|
||||
var/one_time_use = 0 //Used for one-time-use teleport cards (such as clown planet coordinates.)
|
||||
//Setting this to 1 will set locked to null after a player enters the portal and will not allow hand-teles to open portals to that location.
|
||||
var/one_time_use = 0 //Used for one-time-use teleport cards (such as clown planet coordinates.)
|
||||
//Setting this to 1 will set locked to null after a player enters the portal and will not allow hand-teles to open portals to that location.
|
||||
var/datum/tgui_module/teleport_control/teleport_control
|
||||
|
||||
/obj/machinery/computer/teleporter/Initialize(mapload)
|
||||
|
||||
@@ -51,8 +51,8 @@ var/list/word_to_uristrune_table = null
|
||||
animated = 0
|
||||
|
||||
var/bits = word_to_uristrune_bit(word1) \
|
||||
| word_to_uristrune_bit(word2) \
|
||||
| word_to_uristrune_bit(word3)
|
||||
| word_to_uristrune_bit(word2) \
|
||||
| word_to_uristrune_bit(word3)
|
||||
|
||||
return get_uristrune(bits, animated)
|
||||
|
||||
|
||||
@@ -2199,7 +2199,7 @@
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"}
|
||||
"}
|
||||
return output
|
||||
|
||||
|
||||
@@ -2328,14 +2328,14 @@
|
||||
for(var/obj/item/mecha_parts/mecha_equipment/W in micro_weapon_equipment)
|
||||
output += "Micro Weapon Module: [W.name] <a href='byond://?src=\ref[W];detach=1'>Detach</a><br>"
|
||||
output += {"<b>Available hull slots:</b> [max_hull_equip-hull_equipment.len]<br>
|
||||
<b>Available weapon slots:</b> [max_weapon_equip-weapon_equipment.len]<br>
|
||||
<b>Available micro weapon slots:</b> [max_micro_weapon_equip-micro_weapon_equipment.len]<br>
|
||||
<b>Available utility slots:</b> [max_utility_equip-utility_equipment.len]<br>
|
||||
<b>Available micro utility slots:</b> [max_micro_utility_equip-micro_utility_equipment.len]<br>
|
||||
<b>Available universal slots:</b> [max_universal_equip-universal_equipment.len]<br>
|
||||
<b>Available special slots:</b> [max_special_equip-special_equipment.len]<br>
|
||||
</div></div>
|
||||
"} */ //CHOMPedit commented micromech stuff, because fuck this trash
|
||||
<b>Available weapon slots:</b> [max_weapon_equip-weapon_equipment.len]<br>
|
||||
<b>Available micro weapon slots:</b> [max_micro_weapon_equip-micro_weapon_equipment.len]<br>
|
||||
<b>Available utility slots:</b> [max_utility_equip-utility_equipment.len]<br>
|
||||
<b>Available micro utility slots:</b> [max_micro_utility_equip-micro_utility_equipment.len]<br>
|
||||
<b>Available universal slots:</b> [max_universal_equip-universal_equipment.len]<br>
|
||||
<b>Available special slots:</b> [max_special_equip-special_equipment.len]<br>
|
||||
</div></div>
|
||||
"} */ //CHOMPedit commented micromech stuff, because fuck this trash
|
||||
return output
|
||||
|
||||
/obj/mecha/proc/get_equipment_list() //outputs mecha equipment list in html
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
//////////////////////
|
||||
/datum/construction/mecha/ripley_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/ripley_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_leg)//5
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_leg)//5
|
||||
)
|
||||
|
||||
/datum/construction/mecha/ripley_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -106,56 +106,56 @@
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//11
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//12
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//14
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//11
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//12
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//14
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/ripley/action(obj/item/I,mob/user as mob)
|
||||
@@ -279,11 +279,11 @@
|
||||
//////////////////////
|
||||
/datum/construction/mecha/gygax_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/gygax_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_head)
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/gygax_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -313,81 +313,81 @@
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_armour,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_armour,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/gygax/action(obj/item/I,mob/user as mob)
|
||||
@@ -561,11 +561,11 @@
|
||||
//////////////////////
|
||||
/datum/construction/mecha/serenity_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/gygax_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_head)
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/serenity_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -595,81 +595,81 @@
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Medical module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Medical module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/medical,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Medical module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Medical module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/medical,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/gygax/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/serenity/action(obj/item/I,mob/user as mob)
|
||||
@@ -843,11 +843,11 @@
|
||||
////////////////////////
|
||||
/datum/construction/mecha/firefighter_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/ripley_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_leg),//5
|
||||
list("key"=/obj/item/clothing/suit/fire)//6
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_right_leg),//5
|
||||
list("key"=/obj/item/clothing/suit/fire)//6
|
||||
)
|
||||
|
||||
/datum/construction/mecha/firefighter_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -879,60 +879,60 @@
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is being installed."),
|
||||
//4
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//5
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//6
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//7
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//8
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//9
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//10
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//11
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//12
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//13
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//14
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//15
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is being installed."),
|
||||
//4
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//5
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//6
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//7
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//8
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//9
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//10
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//11
|
||||
list("key"=/obj/item/circuitboard/mecha/ripley/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//12
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//13
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//14
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//15
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/firefighter/action(obj/item/I,mob/user as mob)
|
||||
@@ -1064,11 +1064,11 @@
|
||||
//////////////////////
|
||||
/datum/construction/mecha/durand_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/durand_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/durand_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/durand_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/durand_head)
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/durand_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/durand_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/durand_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/durand_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -1098,81 +1098,81 @@
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/mecha_parts/part/durand_armour,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/mecha_parts/part/durand_armour,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/durand/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
|
||||
@@ -1346,11 +1346,11 @@
|
||||
////////////////////////
|
||||
/datum/construction/mecha/odysseus_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/odysseus_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_head),//2
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_left_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_right_arm),//4
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_left_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_right_leg)//6
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_head),//2
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_left_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_right_arm),//4
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_left_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_right_leg)//6
|
||||
)
|
||||
|
||||
/datum/construction/mecha/odysseus_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -1381,56 +1381,56 @@
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/circuitboard/mecha/odysseus/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/circuitboard/mecha/odysseus/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//11
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//12
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//14
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/circuitboard/mecha/odysseus/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/circuitboard/mecha/odysseus/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//11
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//12
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//14
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/odysseus/action(obj/item/I,mob/user as mob)
|
||||
@@ -1556,11 +1556,11 @@
|
||||
/datum/construction/mecha/phazon_chassis
|
||||
result = "/obj/mecha/combat/phazon"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/phazon_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_head)
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/phazon_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/phazon_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -1835,11 +1835,11 @@
|
||||
/datum/construction/mecha/janus_chassis
|
||||
result = "/obj/mecha/combat/phazon/janus"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/janus_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/janus_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/janus_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/janus_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/janus_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/janus_head)
|
||||
list("key"=/obj/item/mecha_parts/part/janus_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/janus_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/janus_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/janus_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/janus_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/janus_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -2140,12 +2140,12 @@
|
||||
/datum/construction/mecha/fighter/pinnace_chassis
|
||||
result = "/obj/mecha/combat/fighter/pinnace"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/fighter/part/pinnace_core),//1
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_cockpit),//2
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_main_engine),//3
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_engine),//4
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_engine),//5
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_wing),//6
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_wing)//final
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_cockpit),//2
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_main_engine),//3
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_engine),//4
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_engine),//5
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_wing),//6
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_wing)//final
|
||||
)
|
||||
|
||||
/datum/construction/mecha/fighter/pinnace_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
@@ -2423,12 +2423,12 @@
|
||||
/datum/construction/mecha/fighter/baron_chassis
|
||||
result = "/obj/mecha/combat/fighter/baron"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/fighter/part/baron_core),//1
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_cockpit),//2
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_main_engine),//3
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_engine),//4
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_engine),//5
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_wing),//6
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_wing)//final
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_cockpit),//2
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_main_engine),//3
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_engine),//4
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_engine),//5
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_wing),//6
|
||||
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_wing)//final
|
||||
)
|
||||
|
||||
/datum/construction/mecha/fighter/baron_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/datum/construction/mecha/scarab_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/scarab_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_left_legs),//4
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_right_legs),//5
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_head)
|
||||
)
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_left_legs),//4
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_right_legs),//5
|
||||
list("key"=/obj/item/mecha_parts/part/scarab_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/scarab_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
user.visible_message("[user] has connected [I] to [holder].", "You connect [I] to [holder]")
|
||||
@@ -34,81 +34,81 @@
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/plasteel,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/steel,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced capacitor is secured"),
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced capacitor is installed"),
|
||||
//8
|
||||
list("key"=/obj/item/stock_parts/capacitor/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Advanced scanner module is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Advanced scanner module is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/stock_parts/scanning_module/adv,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/circuitboard/mecha/scarab/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/scarab/action(obj/item/I,mob/user as mob)
|
||||
|
||||
@@ -129,13 +129,13 @@
|
||||
vision = H.internal_organs_by_name[H.species.vision_organ]
|
||||
if(!vision)
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " directs [src] at [M]'s face."), \
|
||||
span_notice("You direct [src] at [M]'s face."))
|
||||
span_notice("You direct [src] at [M]'s face."))
|
||||
to_chat(user, span_warning("You can't find any [H.species.vision_organ ? H.species.vision_organ : "eyes"] on [H]!"))
|
||||
user.setClickCooldown(user.get_attack_speed(src))
|
||||
return
|
||||
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " directs [src] to [M]'s eyes."), \
|
||||
span_notice("You direct [src] to [M]'s eyes."))
|
||||
span_notice("You direct [src] to [M]'s eyes."))
|
||||
if(H != user) //can't look into your own eyes buster
|
||||
if(M.stat == DEAD || M.blinded) //mob is dead or fully blind
|
||||
to_chat(user, span_warning("\The [M]'s pupils do not react to the light!"))
|
||||
|
||||
@@ -133,8 +133,8 @@
|
||||
for(var/datum/data/record/L in data_core.locked)
|
||||
if(L.fields["id"] == exploit_id)
|
||||
data["exploit"] = list() // Setting this to equal L.fields passes it's variables that are lists as reference instead of value.
|
||||
// We trade off being able to automatically add shit for more control over what gets passed to json
|
||||
// and if it's sanitized for html.
|
||||
// We trade off being able to automatically add shit for more control over what gets passed to json
|
||||
// and if it's sanitized for html.
|
||||
data["exploit"]["nanoui_exploit_record"] = html_encode(L.fields["exploit_record"]) // Change stuff into html
|
||||
data["exploit"]["nanoui_exploit_record"] = replacetext(data["exploit"]["nanoui_exploit_record"], "\n", "<br>") // change line breaks into <br>
|
||||
data["exploit"]["name"] = html_encode(L.fields["name"])
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
step_towards(leash_pet, leash_master)
|
||||
|
||||
/obj/item/leash/dropped(mob/user)
|
||||
//Drop the leash, and the leash effects stop
|
||||
//Drop the leash, and the leash effects stop
|
||||
. = ..()
|
||||
if(!leash_pet || !leash_master) //There is no pet. Stop this silliness
|
||||
return
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/selection_string = "Select an item:"
|
||||
var/selection_title = "Item Selection"
|
||||
var/list/item_options = list("Gift" = /obj/item/a_gift,
|
||||
"Health Analyzer" = /obj/item/healthanalyzer)
|
||||
"Health Analyzer" = /obj/item/healthanalyzer)
|
||||
|
||||
/obj/item/selectable_item/attack_self(mob/user as mob)
|
||||
tgui_alert(user, {"[preface_string]"}, preface_title)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.balloon_alert_visible("\the [user] starts bandaging [M]'s [affecting.name].", \
|
||||
"bandaging [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"bandaging [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
if(W.internal)
|
||||
@@ -131,10 +131,10 @@
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.balloon_alert_visible("\the [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"you bandage \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"you bandage \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
else
|
||||
user.balloon_alert_visible("\the [user] places a bandage over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"you place a bandage over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"you place a bandage over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
W.bandage()
|
||||
playsound(src, pick(apply_sounds), 25)
|
||||
used++
|
||||
@@ -177,7 +177,7 @@
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.balloon_alert_visible("\the [user] starts treating [M]'s [affecting.name].", \
|
||||
"treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
if (W.internal)
|
||||
@@ -200,14 +200,14 @@
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.balloon_alert_visible("\the [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"bandaged \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"bandaged \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
//H.add_side_effect("Itch")
|
||||
else if (W.damage_type == BRUISE)
|
||||
user.balloon_alert_visible("\the [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"placed bruise patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"placed bruise patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
else
|
||||
user.balloon_alert_visible("\the [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"placed bandaid over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"placed bandaid over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
W.bandage()
|
||||
// W.disinfect() // VOREStation - Tech1 should not disinfect
|
||||
playsound(src, pick(apply_sounds), 25)
|
||||
@@ -250,7 +250,7 @@
|
||||
return 1
|
||||
else
|
||||
user.balloon_alert_visible("\the [user] starts salving wounds on [M]'s [affecting.name].", \
|
||||
"salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
"salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
if(!do_mob(user, M, 10, exclusive = TRUE))
|
||||
balloon_alert(user, "stand still to salve wounds.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
return 1
|
||||
@@ -258,7 +258,7 @@
|
||||
balloon_alert(user, "[M]'s [affecting.name] have already been salved.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
return 1
|
||||
user.balloon_alert_visible("[user] salved wounds on [M]'s [affecting.name].", \
|
||||
"salved wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
"salved wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
use(1)
|
||||
affecting.salve()
|
||||
playsound(src, pick(apply_sounds), 25)
|
||||
@@ -296,7 +296,7 @@
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.balloon_alert_visible("\the [user] starts treating [M]'s [affecting.name].", \
|
||||
"treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
"treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
if (W.internal)
|
||||
@@ -318,13 +318,13 @@
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.balloon_alert_visible("\the [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
|
||||
"cleaning and sealing \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"cleaning and sealing \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
else if (W.damage_type == BRUISE)
|
||||
user.balloon_alert_visible("\the [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"placed medical patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"placed medical patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
else
|
||||
user.balloon_alert_visible("\the [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
"smeared bioglue over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"smeared bioglue over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
W.bandage()
|
||||
W.disinfect()
|
||||
W.heal_damage(heal_brute)
|
||||
@@ -364,7 +364,7 @@
|
||||
return 1
|
||||
else
|
||||
user.balloon_alert_visible("\the [user] starts salving wounds on [M]'s [affecting.name].", \
|
||||
"salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
"salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
|
||||
if(!do_mob(user, M, 10, exclusive = TRUE))
|
||||
balloon_alert(user, "stand still to salve wounds.") // CHOMPEdit - Balloon Alerts
|
||||
return 1
|
||||
|
||||
@@ -114,4 +114,4 @@
|
||||
else if(result == 2)
|
||||
comment = "heads"
|
||||
user.visible_message(span_notice("[user] has thrown \the [src]. It lands on [comment]!"), \
|
||||
span_notice("You throw \the [src]. It lands on [comment]!"))
|
||||
span_notice("You throw \the [src]. It lands on [comment]!"))
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
/datum/autopsy_data_scanner
|
||||
var/weapon = null // this is the DEFINITE weapon type that was used
|
||||
var/list/organs_scanned = list() // this maps a number of scanned organs to
|
||||
// the wounds to those organs with this data's weapon type
|
||||
var/list/organs_scanned = list() // this maps a number of scanned organs to
|
||||
// the wounds to those organs with this data's weapon type
|
||||
var/organ_names = ""
|
||||
|
||||
/datum/autopsy_data
|
||||
|
||||
@@ -51,15 +51,15 @@
|
||||
return
|
||||
if(H == user)
|
||||
user.visible_message(span_notice("[user] does their lips with \the [src]."), \
|
||||
span_notice("You take a moment to apply \the [src]. Perfect!"))
|
||||
span_notice("You take a moment to apply \the [src]. Perfect!"))
|
||||
H.lip_style = colour
|
||||
H.update_icons_body()
|
||||
else
|
||||
user.visible_message(span_warning("[user] begins to do [H]'s lips with \the [src]."), \
|
||||
span_notice("You begin to apply \the [src]."))
|
||||
span_notice("You begin to apply \the [src]."))
|
||||
if(do_after(user, 20, H)) //user needs to keep their active hand, H does not.
|
||||
user.visible_message(span_notice("[user] does [H]'s lips with \the [src]."), \
|
||||
span_notice("You apply \the [src]."))
|
||||
span_notice("You apply \the [src]."))
|
||||
H.lip_style = colour
|
||||
H.update_icons_body()
|
||||
else
|
||||
|
||||
@@ -560,6 +560,6 @@
|
||||
/obj/item/storage/backpack/satchel/ranger
|
||||
name = "ranger satchel"
|
||||
desc = "A satchel designed for the Go Go ERT Rangers series to allow for slightly bigger carry capacity for the ERT-Rangers.\
|
||||
Unlike the show claims, it is not a phoron-enhanced satchel of holding with plot-relevant content."
|
||||
Unlike the show claims, it is not a phoron-enhanced satchel of holding with plot-relevant content."
|
||||
icon = 'icons/obj/clothing/ranger.dmi'
|
||||
icon_state = "ranger_satchel"
|
||||
|
||||
@@ -312,8 +312,8 @@
|
||||
for(var/obj/item/I in LB.contents)
|
||||
LB.remove_from_storage(I, T)
|
||||
user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
return
|
||||
if(isrobot(user))
|
||||
return
|
||||
|
||||
@@ -1288,7 +1288,7 @@
|
||||
color = COLOR_YELLOW_GRAY
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"text" = COLOR_BLUE_LIGHT
|
||||
)
|
||||
@@ -1297,7 +1297,7 @@
|
||||
color = COLOR_DARK_BLUE_GRAY
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"text" = COLOR_BEIGE
|
||||
)
|
||||
@@ -1306,7 +1306,7 @@
|
||||
color = COLOR_NT_RED
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"text" = COLOR_OFF_WHITE
|
||||
)
|
||||
@@ -1315,7 +1315,7 @@
|
||||
color = COLOR_ORANGE
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"text" = COLOR_OFF_WHITE
|
||||
)
|
||||
@@ -1327,7 +1327,7 @@
|
||||
color = COLOR_NT_RED
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"marking" = COLOR_OFF_WHITE,
|
||||
"text_upper" = COLOR_OFF_WHITE
|
||||
@@ -1337,7 +1337,7 @@
|
||||
color = COLOR_YELLOW_GRAY
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"marking" = COLOR_OFF_WHITE,
|
||||
"text_upper" = COLOR_BLUE_LIGHT
|
||||
@@ -1347,7 +1347,7 @@
|
||||
color = COLOR_DARK_BLUE_GRAY
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"marking" = COLOR_OFF_WHITE,
|
||||
"text_upper" = COLOR_BEIGE
|
||||
@@ -1357,7 +1357,7 @@
|
||||
color = COLOR_GRAY20
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"marking" = COLOR_NT_RED,
|
||||
"text_upper" = COLOR_NT_RED
|
||||
@@ -1367,7 +1367,7 @@
|
||||
color = COLOR_ORANGE
|
||||
decals = list(
|
||||
"crate_bracing"
|
||||
)
|
||||
)
|
||||
extra_decals = list(
|
||||
"marking" = COLOR_OFF_WHITE,
|
||||
"text_upper" = COLOR_OFF_WHITE
|
||||
|
||||
@@ -70,16 +70,16 @@
|
||||
if(src.opened)
|
||||
if(istype(W, /obj/item/shovel))
|
||||
user.visible_message(span_notice("[user] piles dirt into \the [src.name]."), \
|
||||
span_notice("You start to pile dirt into \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
span_notice("You start to pile dirt into \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message(span_notice("[user] pats down the dirt on top of \the [src.name]."), \
|
||||
span_notice("You finish filling in \the [src.name]."))
|
||||
span_notice("You finish filling in \the [src.name]."))
|
||||
close()
|
||||
return
|
||||
else
|
||||
user.visible_message(span_notice("[user] stops filling in \the [src.name]."), \
|
||||
span_notice("You change your mind and stop filling in \the [src.name]."))
|
||||
span_notice("You change your mind and stop filling in \the [src.name]."))
|
||||
return
|
||||
if(istype(W, /obj/item/grab))
|
||||
var/obj/item/grab/G = W
|
||||
@@ -93,8 +93,8 @@
|
||||
for(var/obj/item/I in LB.contents)
|
||||
LB.remove_from_storage(I, T)
|
||||
user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
return
|
||||
if(isrobot(user))
|
||||
return
|
||||
@@ -107,11 +107,11 @@
|
||||
if(istype(W, /obj/item/shovel))
|
||||
if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave
|
||||
user.visible_message(span_notice("[user] begins to smoothe out the dirt of \the [src.name]."), \
|
||||
span_notice("You start to smoothe out the dirt of \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
span_notice("You start to smoothe out the dirt of \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message(span_notice("[user] finishes smoothing out \the [src.name]."), \
|
||||
span_notice("You finish smoothing out \the [src.name]."))
|
||||
span_notice("You finish smoothing out \the [src.name]."))
|
||||
if(LAZYLEN(contents))
|
||||
alpha = 40 // If we've got stuff inside, like maybe a person, just make it hard to see us
|
||||
else
|
||||
@@ -119,20 +119,20 @@
|
||||
return
|
||||
else
|
||||
user.visible_message(span_notice("[user] stops concealing \the [src.name]."), \
|
||||
span_notice("You stop concealing \the [src.name]."))
|
||||
span_notice("You stop concealing \the [src.name]."))
|
||||
return
|
||||
else
|
||||
user.visible_message(span_notice("[user] begins to unearth \the [src.name]."), \
|
||||
span_notice("You start to unearth \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
span_notice("You start to unearth \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message(span_notice("[user] reaches the bottom of \the [src.name]."), \
|
||||
span_notice("You finish digging out \the [src.name]."))
|
||||
span_notice("You finish digging out \the [src.name]."))
|
||||
break_open()
|
||||
return
|
||||
else
|
||||
user.visible_message(span_notice("[user] stops digging out \the [src.name]."), \
|
||||
span_notice("You stop digging out \the [src.name]."))
|
||||
span_notice("You stop digging out \the [src.name]."))
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
active_ghost_pods |= AMBLINAL
|
||||
//VOREStation Add End
|
||||
user.visible_message(span_notice("[user] pries \the [src] open."), \
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
qdel(src)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
for(var/atom/movable/AM in contents)
|
||||
if(AM.simulated) AM.forceMove(T)
|
||||
user.visible_message(span_notice("[user] pries \the [src] open."), \
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
qdel(src)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -73,8 +73,8 @@
|
||||
/obj/structure/vehiclecage/proc/load_vehicle(var/obj/vehicle/V, mob/user as mob)
|
||||
if(user)
|
||||
user.visible_message(span_notice("[user] loads \the [V] into \the [src]."), \
|
||||
span_notice("You load \the [V] into \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
span_notice("You load \the [V] into \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
|
||||
V.forceMove(src)
|
||||
|
||||
@@ -92,8 +92,8 @@
|
||||
|
||||
my_vehicle = null
|
||||
user.visible_message(span_notice("[user] release \the [src]."), \
|
||||
span_notice("You finally release \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
span_notice("You finally release \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/vehiclecage/spacebike
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
anchored = !anchored
|
||||
user.visible_message(span_notice("[user] [anchored ? "fastens" : "unfastens"] the grille."), \
|
||||
span_notice("You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor."))
|
||||
span_notice("You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor."))
|
||||
return
|
||||
|
||||
//window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<br>\
|
||||
<ul>\
|
||||
<li>* These objects do, in fact, power themselves for free, and the modern understanding of the physical world \
|
||||
is in fact incorrect. This is the most obvious answer, but it is very unlikely to be true.</li>\
|
||||
is in fact incorrect. This is the most obvious answer, but it is very unlikely to be true.</li>\
|
||||
<li>* The objects draw from an unknown source of energy that exists at all points in space, or at least where the \
|
||||
void powered machine was found, that presently cannot be detected or determined, and converts that energy into electrical energy \
|
||||
to drive the machine it is inside of.</li>\
|
||||
|
||||
@@ -125,7 +125,7 @@ var/global/list/stool_cache = list() //haha stool
|
||||
qdel(C)
|
||||
return
|
||||
var/padding_type
|
||||
//CHOMPstation Start: making carpets different and not just the boring basic red no matter carpet type, consider merging material variables at stack level in future - Jack
|
||||
//CHOMPstation Start: making carpets different and not just the boring basic red no matter carpet type, consider merging material variables at stack level in future - Jack
|
||||
if(istype(W,/obj/item/stack/tile/carpet))
|
||||
var/obj/item/stack/tile/carpet/M = W
|
||||
if(M.material && (M.material.flags & MATERIAL_PADDING))
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// Patch holes in the ceiling
|
||||
if(T)
|
||||
if(istype(T, /turf/simulated/open) || istype(T, /turf/space))
|
||||
// Must be build adjacent to an existing floor/wall, no floating floors
|
||||
// Must be build adjacent to an existing floor/wall, no floating floors
|
||||
var/list/cardinalTurfs = list() // Up a Z level
|
||||
for(var/dir in cardinal)
|
||||
var/turf/B = get_step(T, dir)
|
||||
|
||||
@@ -229,12 +229,12 @@ var/list/shoreline_icon_cache = list()
|
||||
add_overlay(shoreline_icon_cache[cache_string])
|
||||
|
||||
/turf/simulated/floor/water/is_safe_to_enter(mob/living/L)
|
||||
//CHOMPEDIT: Aquatic flags simulated water as safe now
|
||||
//CHOMPEDIT: Aquatic flags simulated water as safe now
|
||||
if(istype(L,/mob/living/carbon))
|
||||
var /mob/living/carbon/A = L
|
||||
if(/datum/trait/positive/aquatic in A.species.traits)
|
||||
return TRUE
|
||||
//CHOMPEDIT: Aquatic flags simulated water as safe now
|
||||
//CHOMPEDIT: Aquatic flags simulated water as safe now
|
||||
if(L.get_water_protection() < 1)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
// Patch holes in the ceiling
|
||||
if(T)
|
||||
if(istype(T, /turf/simulated/open) || istype(T, /turf/space))
|
||||
// Must be build adjacent to an existing floor/wall, no floating floors
|
||||
// Must be build adjacent to an existing floor/wall, no floating floors
|
||||
var/turf/simulated/A = locate(/turf/simulated/floor) in T.CardinalTurfs()
|
||||
if(!A)
|
||||
A = locate(/turf/simulated/wall) in T.CardinalTurfs()
|
||||
|
||||
@@ -82,7 +82,7 @@ var/list/cornerdirs = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
|
||||
var/list/cornerdirsz = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST, NORTH|UP, EAST|UP, WEST|UP, SOUTH|UP, NORTH|DOWN, EAST|DOWN, WEST|DOWN, SOUTH|DOWN)
|
||||
var/list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
|
||||
var/list/reverse_dir = list( // reverse_dir[dir] = reverse of dir
|
||||
2, 1, 3, 8, 10, 9, 11, 4, 6, 5, 7, 12, 14, 13, 15, 32, 34, 33, 35, 40, 42,
|
||||
2, 1, 3, 8, 10, 9, 11, 4, 6, 5, 7, 12, 14, 13, 15, 32, 34, 33, 35, 40, 42,
|
||||
41, 43, 36, 38, 37, 39, 44, 46, 45, 47, 16, 18, 17, 19, 24, 26, 25, 27, 20, 22, 21,
|
||||
23, 28, 30, 29, 31, 48, 50, 49, 51, 56, 58, 57, 59, 52, 54, 53, 55, 60, 62, 61, 63
|
||||
)
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
REAGENT_ID_SODIUM,REAGENT_ID_ALUMINIUM,REAGENT_ID_SILICON,REAGENT_ID_PHOSPHORUS,REAGENT_ID_SULFUR,REAGENT_ID_CHLORINE,REAGENT_ID_POTASSIUM,REAGENT_ID_IRON, \
|
||||
REAGENT_ID_COPPER,REAGENT_ID_MERCURY,REAGENT_ID_RADIUM,REAGENT_ID_WATER,REAGENT_ID_SUGAR,REAGENT_ID_SACID,REAGENT_ID_TUNGSTEN, REAGENT_ID_LUBE, REAGENT_ID_INAPROVALINE, REAGENT_ID_BLISS, \
|
||||
REAGENT_ID_THERMITE, REAGENT_ID_TRAMADOL, REAGENT_ID_CLEANER, REAGENT_ID_KELOTANE, REAGENT_ID_DERMALINE, REAGENT_ID_ANTITOXIN, REAGENT_ID_SYNAPTIZINE, \
|
||||
REAGENT_ID_ALKYSINE, REAGENT_ID_IMIDAZOLINE, REAGENT_ID_HYPERZINE, REAGENT_ID_AMMONIA, REAGENT_ID_SODIUMCHLORIDE, REAGENT_ID_STERILIZINE, REAGENT_ID_SILICATE, REAGENT_ID_MINDBREAKER, \
|
||||
REAGENT_ID_IMPEDREZENE, REAGENT_ID_LIPOZINE)
|
||||
REAGENT_ID_ALKYSINE, REAGENT_ID_IMIDAZOLINE, REAGENT_ID_HYPERZINE, REAGENT_ID_AMMONIA, REAGENT_ID_SODIUMCHLORIDE, REAGENT_ID_STERILIZINE, REAGENT_ID_SILICATE, REAGENT_ID_MINDBREAKER, \
|
||||
REAGENT_ID_IMPEDREZENE, REAGENT_ID_LIPOZINE)
|
||||
var/list/reactions = list()
|
||||
|
||||
/datum/phororeactions/proc/set_up_reactions()
|
||||
|
||||
@@ -261,7 +261,7 @@ var/induromol_code = rand(1, 50)
|
||||
for(var/mob/living/carbon/human/H in viewers(T, 2))
|
||||
var/distTo = sqrt(((T.x - H.x) ** 2) + ((T.y - H.y) ** 2))
|
||||
if(distTo < dist && (istype(H.l_hand, /obj/item/reagent_containers) || \
|
||||
istype(H.r_hand, /obj/item/reagent_containers)))
|
||||
istype(H.r_hand, /obj/item/reagent_containers)))
|
||||
immune = H //so reagent spill does not affect user, they already threw up when it was created
|
||||
|
||||
src = null
|
||||
@@ -1091,7 +1091,7 @@ not yet finished to a satisfactory degree, or I just don't like it enough to kee
|
||||
reaction_turf(var/turf/T, var/volume) //can't melt space, centcomm walls, or shuttles
|
||||
//maybe make work off explosion resistance?
|
||||
if(!istype(T, /turf/space) && !istype(T, /turf/unsimulated/wall) && !istype(T.loc, /area/shuttle) \
|
||||
&& !istype(T.loc, /area/supply/station)) //TODO: Deal with bluespace tiles
|
||||
&& !istype(T.loc, /area/supply/station)) //TODO: Deal with bluespace tiles
|
||||
src = null //ensure sleep proc doesn't return upon completion
|
||||
if(volume <= 10)
|
||||
return
|
||||
|
||||
@@ -8,11 +8,11 @@ var/inactive_keys = "None<br>"
|
||||
var/dat = span_bold("Inactive players with custom items") + "<br>"
|
||||
dat += "<br>"
|
||||
dat += "The list below contains players with custom items that have not logged\
|
||||
in for the past two months, or have not logged in since this system was implemented.\
|
||||
This system requires the feedback SQL database to be properly setup and linked.<br>"
|
||||
in for the past two months, or have not logged in since this system was implemented.\
|
||||
This system requires the feedback SQL database to be properly setup and linked.<br>"
|
||||
dat += "<br>"
|
||||
dat += "Populating this list is done automatically, but must be manually triggered on a per\
|
||||
round basis. Populating the list may cause a lag spike, so use it sparingly.<br>"
|
||||
round basis. Populating the list may cause a lag spike, so use it sparingly.<br>"
|
||||
dat += "<hr>"
|
||||
if(checked_for_inactives)
|
||||
dat += inactive_keys
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
|
||||
/datum/say_list/cyber_horror
|
||||
speak = list("H@!#$$P M@!$#",
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
emote_hear = list("emits", "groans", "wails", "pleads")
|
||||
emote_see = list ("stares unblinkingly.", "jitters and twitches.", "emits a synthetic scream.", "rapidly twitches.", "convulses.", "twitches uncontrollably.", "goes stock still.")
|
||||
say_threaten = list ("FR@#DOM","EN@ T#I$-$","N0$ M^> B@!#")
|
||||
@@ -72,11 +72,11 @@
|
||||
|
||||
/datum/say_list/cyber_horror
|
||||
speak = list("H@!#$$P M@!$#",
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
emote_hear = list("emits", "groans", "wails", "pleads")
|
||||
emote_see = list ("stares unblinkingly.", "jitters and twitches.", "emits a synthetic scream.", "rapidly twitches.", "convulses.", "twitches uncontrollably.", "goes stock still.")
|
||||
say_threaten = list ("FR@#DOM","EN@ T#I$-$","N0$ M^> B@!#")
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
which_hand = "r_hand"
|
||||
triggered(user, which_hand)
|
||||
user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \
|
||||
span_warning("You accidentally trigger [src]!"))
|
||||
span_warning("You accidentally trigger [src]!"))
|
||||
return
|
||||
|
||||
to_chat(user, span_notice("You disarm [src]."))
|
||||
@@ -75,7 +75,7 @@
|
||||
which_hand = "r_hand"
|
||||
triggered(user, which_hand)
|
||||
user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \
|
||||
span_warning("You accidentally trigger [src]!"))
|
||||
span_warning("You accidentally trigger [src]!"))
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -1084,14 +1084,14 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
else if (href_list["ears_alpha"])
|
||||
var/new_ear_alpha = tgui_input_number(user, "Choose how transparent your character's primary ears are.", "Character Preference",
|
||||
pref.read_preference(/datum/preference/numeric/human/ears_alpha), 255, 0)
|
||||
pref.read_preference(/datum/preference/numeric/human/ears_alpha), 255, 0)
|
||||
if(new_ear_alpha)
|
||||
pref.update_preference_by_type(/datum/preference/numeric/human/ears_alpha, new_ear_alpha)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if (href_list["secondary_ears_alpha"])
|
||||
var/new_ear_alpha = tgui_input_number(user, "Choose how transparent your character's horns are.", "Character Preference",
|
||||
pref.read_preference(/datum/preference/numeric/human/ears_alpha/secondary), 255, 0)
|
||||
pref.read_preference(/datum/preference/numeric/human/ears_alpha/secondary), 255, 0)
|
||||
if(new_ear_alpha)
|
||||
pref.update_preference_by_type(/datum/preference/numeric/human/ears_alpha/secondary, new_ear_alpha)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
@@ -1151,7 +1151,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
else if(href_list["tail_alpha"])
|
||||
var/new_tail_alpha = tgui_input_number(user, "Choose how transparent your character's tail is.", "Character Preference",
|
||||
pref.read_preference(/datum/preference/numeric/human/tail_alpha), 255, 0)
|
||||
pref.read_preference(/datum/preference/numeric/human/tail_alpha), 255, 0)
|
||||
if(new_tail_alpha)
|
||||
pref.update_preference_by_type(/datum/preference/numeric/human/tail_alpha, new_tail_alpha)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
@@ -1185,7 +1185,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
else if(href_list["wing_alpha"])
|
||||
var/new_wing_alpha = tgui_input_number(user, "Choose how transparent your character's wings are.", "Character Preference",
|
||||
pref.read_preference(/datum/preference/numeric/human/wing_alpha), 255, 0)
|
||||
pref.read_preference(/datum/preference/numeric/human/wing_alpha), 255, 0)
|
||||
if(new_wing_alpha)
|
||||
pref.update_preference_by_type(/datum/preference/numeric/human/wing_alpha, new_wing_alpha)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
@@ -707,9 +707,9 @@
|
||||
|
||||
/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
|
||||
if((can_hold_knife == 1) && (istype(I, /obj/item/material/shard) || \
|
||||
istype(I, /obj/item/material/butterfly) || \
|
||||
istype(I, /obj/item/material/kitchen/utensil) || \
|
||||
istype(I, /obj/item/material/knife/tacknife)))
|
||||
istype(I, /obj/item/material/butterfly) || \
|
||||
istype(I, /obj/item/material/kitchen/utensil) || \
|
||||
istype(I, /obj/item/material/knife/tacknife)))
|
||||
if(holding)
|
||||
to_chat(user, span_warning("\The [src] is already holding \a [holding]."))
|
||||
return
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
var/bootcolor = "white"
|
||||
name = "ranger boots"
|
||||
desc = "The Rangers special lightweight hybrid magboots-jetboots perfect for EVA. If only these functions were so easy to copy in reality.\
|
||||
These ones are just a well-made pair of boots in appropriate colours."
|
||||
These ones are just a well-made pair of boots in appropriate colours."
|
||||
icon = 'icons/obj/clothing/ranger.dmi'
|
||||
icon_state = "ranger_boots"
|
||||
|
||||
|
||||
@@ -204,4 +204,4 @@
|
||||
else if(result == 2)
|
||||
comment = "Joker"
|
||||
user.visible_message(span_notice("[user] has thrown \the [src]. It lands on [comment]! "), \
|
||||
span_notice("You throw \the [src]. It lands on [comment]! "))
|
||||
span_notice("You throw \the [src]. It lands on [comment]! "))
|
||||
|
||||
@@ -158,5 +158,5 @@
|
||||
else if(result == 2)
|
||||
comment = "heads"
|
||||
user.visible_message(span_notice("[user] has thrown \the [src]. It lands on [comment]!"), \
|
||||
span_notice("You throw \the [src]. It lands on [comment]!"))
|
||||
span_notice("You throw \the [src]. It lands on [comment]!"))
|
||||
balloon_alert_visible("\the [src] lands on [comment]!", "\the [src] lands on [comment]!")
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
//VORESTATION Edit - added machine speeches here for better fixing of the event. // CHOMPEdit, using balloon alerts
|
||||
|
||||
var/list/rampant_speeches = list("try our aggressive new marketing strategies!", \
|
||||
"you should buy products to feed your lifestyle obession!", \
|
||||
"consume!", \
|
||||
"your money can buy happiness!", \
|
||||
"engage direct marketing!", \
|
||||
"advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"you don't want to buy anything? Yeah, well I didn't want to buy your mom either.")
|
||||
"you should buy products to feed your lifestyle obession!", \
|
||||
"consume!", \
|
||||
"your money can buy happiness!", \
|
||||
"engage direct marketing!", \
|
||||
"advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"you don't want to buy anything? Yeah, well I didn't want to buy your mom either.")
|
||||
//VORESTATION Edit End
|
||||
|
||||
/datum/event/brand_intelligence/announce()
|
||||
@@ -61,12 +61,12 @@
|
||||
if(ISMULTIPLE(activeFor, 12))
|
||||
/* VORESTATION Removal - Using the pick below.
|
||||
originMachine.speak(pick("Try our aggressive new marketing strategies!", \
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
|
||||
*/
|
||||
originMachine.balloon_alert_visible(pick(rampant_speeches)) //VORESTATION Add - Using this pick instead of the above. CHOMPEdit - Make them TALK
|
||||
|
||||
|
||||
@@ -293,10 +293,10 @@
|
||||
var/slicetime = 15 SECONDS
|
||||
|
||||
var/slicelist = list(/obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
|
||||
|
||||
/obj/structure/theonepizza/attackby(var/obj/item/W, var/mob/living/user)
|
||||
if(istype(W,/obj/item/material/knife))
|
||||
|
||||
@@ -535,10 +535,10 @@
|
||||
var/slicetime = 15 SECONDS
|
||||
|
||||
var/slicelist = list(/obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
|
||||
|
||||
/obj/structure/theonepizza/attackby(var/obj/item/W, var/mob/living/user)
|
||||
if(istype(W,/obj/item/material/knife))
|
||||
|
||||
@@ -537,8 +537,8 @@
|
||||
CI.container.reagents.trans_to_holder(buffer, CI.container.reagents.total_volume)
|
||||
|
||||
var/obj/item/reagent_containers/food/snacks/result = new cook_path(CI.container)
|
||||
buffer.trans_to_holder(result.reagents, buffer.total_volume) //trans_to doesn't handle food items well, so
|
||||
//just call trans_to_holder instead
|
||||
buffer.trans_to_holder(result.reagents, buffer.total_volume) //trans_to doesn't handle food items well, so
|
||||
//just call trans_to_holder instead
|
||||
|
||||
// Reagent-only foods.
|
||||
if(reagents_determine_color)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
. = TRUE
|
||||
if(fruit && fruit.len)
|
||||
var/list/checklist = list()
|
||||
// You should trust Copy().
|
||||
// You should trust Copy().
|
||||
checklist = fruit.Copy()
|
||||
for(var/obj/item/reagent_containers/food/snacks/grown/G in container)
|
||||
if(!G.seed || !G.seed.kitchen_tag || isnull(checklist[G.seed.kitchen_tag]))
|
||||
|
||||
@@ -50,12 +50,12 @@
|
||||
|
||||
// Every time Vender Zero infects, it says something.
|
||||
vender_zero.speak(pick("Try our aggressive new marketing strategies!", \
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
|
||||
|
||||
|
||||
/datum/event2/event/brand_intelligence/should_end()
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
comment = "Ouch, bad luck."
|
||||
|
||||
user.visible_message(span_notice("[user] has thrown [src]. It lands on [result]. [comment]"), \
|
||||
span_notice("You throw [src]. It lands on a [result]. [comment]"), \
|
||||
span_notice("You hear [src] landing on a [result]. [comment]"))
|
||||
span_notice("You throw [src]. It lands on a [result]. [comment]"), \
|
||||
span_notice("You hear [src] landing on a [result]. [comment]"))
|
||||
|
||||
/*
|
||||
* Dice packs
|
||||
@@ -166,8 +166,8 @@
|
||||
|
||||
/obj/item/storage/dicecup/attack_self(mob/user as mob)
|
||||
user.visible_message(span_notice("[user] shakes [src]."), \
|
||||
span_notice("You shake [src]."), \
|
||||
span_notice("You hear dice rolling."))
|
||||
span_notice("You shake [src]."), \
|
||||
span_notice("You hear dice rolling."))
|
||||
rollCup(user)
|
||||
|
||||
/obj/item/storage/dicecup/proc/rollCup(mob/user as mob)
|
||||
|
||||
@@ -33,16 +33,16 @@
|
||||
"Desert" = new/datum/holodeck_program(/area/holodeck/source_desert,
|
||||
list(
|
||||
'sound/ambience/desert/desertnight1.ogg',
|
||||
'sound/ambience/desert/desertnight2.ogg',
|
||||
'sound/ambience/desert/desertnight3.ogg',
|
||||
'sound/ambience/desert/desertnight2.ogg',
|
||||
'sound/ambience/desert/desertnight3.ogg',
|
||||
'sound/ambience/desert/desertnight4.ogg'
|
||||
)
|
||||
),
|
||||
)
|
||||
),
|
||||
"Snowfield" = new/datum/holodeck_program(/area/holodeck/source_snowfield,
|
||||
list(
|
||||
'sound/effects/weather/snowstorm/snowstorm_loop.ogg'
|
||||
)
|
||||
),
|
||||
)
|
||||
),
|
||||
"Space" = new/datum/holodeck_program(/area/holodeck/source_space,
|
||||
list(
|
||||
'sound/ambience/ambispace.ogg',
|
||||
|
||||
@@ -295,7 +295,7 @@
|
||||
var/missing_gas = 0
|
||||
for(var/gas in consume_gasses)
|
||||
if(environment && environment.gas && environment.gas[gas] && \
|
||||
environment.gas[gas] >= consume_gasses[gas])
|
||||
environment.gas[gas] >= consume_gasses[gas])
|
||||
if(!check_only)
|
||||
environment.adjust_gas(gas,-consume_gasses[gas],1)
|
||||
else
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
seed.get_trait(TRAIT_SPREAD) == 2 && \
|
||||
2 * age >= seed.get_trait(TRAIT_MATURATION) && \
|
||||
!(locate(/obj/effect/plant) in get_turf(src)) && \
|
||||
prob(2 * seed.get_trait(TRAIT_POTENCY)))
|
||||
prob(2 * seed.get_trait(TRAIT_POTENCY)))
|
||||
// CHOMPEdit Start - Need to start processing the vine or it'll never spread.
|
||||
var/obj/effect/plant/D = new /obj/effect/plant(get_turf(src), seed)
|
||||
SSplants.add_plant(D)
|
||||
|
||||
@@ -51,16 +51,16 @@
|
||||
c[i][j] = colors[i][j]
|
||||
|
||||
return MapColors_interpolate(I, ratio,
|
||||
colors[ 1][1], colors[ 1][2], colors[ 1][3], colors[ 1][4], // Red 1
|
||||
colors[ 2][1], colors[ 2][2], colors[ 2][3], colors[ 2][4], // Red 2
|
||||
colors[ 3][1], colors[ 3][2], colors[ 3][3], colors[ 3][4], // Green 1
|
||||
colors[ 4][1], colors[ 4][2], colors[ 4][3], colors[ 4][4], // Green 2
|
||||
colors[ 5][1], colors[ 5][2], colors[ 5][3], colors[ 5][4], // Blue 1
|
||||
colors[ 6][1], colors[ 6][2], colors[ 6][3], colors[ 6][4], // Blue 2
|
||||
colors[ 7][1], colors[ 7][2], colors[ 7][3], colors[ 7][4], // Alpha 1
|
||||
colors[ 8][1], colors[ 8][2], colors[ 8][3], colors[ 8][4], // Alpha 2
|
||||
colors[ 9][1], colors[ 9][2], colors[ 9][3], colors[ 9][4], // Added 1
|
||||
colors[10][1], colors[10][2], colors[10][3], colors[10][4]) // Added 2
|
||||
colors[ 1][1], colors[ 1][2], colors[ 1][3], colors[ 1][4], // Red 1
|
||||
colors[ 2][1], colors[ 2][2], colors[ 2][3], colors[ 2][4], // Red 2
|
||||
colors[ 3][1], colors[ 3][2], colors[ 3][3], colors[ 3][4], // Green 1
|
||||
colors[ 4][1], colors[ 4][2], colors[ 4][3], colors[ 4][4], // Green 2
|
||||
colors[ 5][1], colors[ 5][2], colors[ 5][3], colors[ 5][4], // Blue 1
|
||||
colors[ 6][1], colors[ 6][2], colors[ 6][3], colors[ 6][4], // Blue 2
|
||||
colors[ 7][1], colors[ 7][2], colors[ 7][3], colors[ 7][4], // Alpha 1
|
||||
colors[ 8][1], colors[ 8][2], colors[ 8][3], colors[ 8][4], // Alpha 2
|
||||
colors[ 9][1], colors[ 9][2], colors[ 9][3], colors[ 9][4], // Added 1
|
||||
colors[10][1], colors[10][2], colors[10][3], colors[10][4]) // Added 2
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
desc = "Produces electricity from chemicals."
|
||||
icon_state = "chemical_cell"
|
||||
extended_desc = "This is effectively an internal beaker. It will consume and produce power from phoron, slime jelly, welding fuel, carbon,\
|
||||
ethanol, nutriments and blood, in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
|
||||
ethanol, nutriments and blood, in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
|
||||
flags = OPENCONTAINER
|
||||
complexity = 4
|
||||
inputs = list()
|
||||
|
||||
@@ -284,11 +284,11 @@
|
||||
complexity = 6
|
||||
name = "advanced locator"
|
||||
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type locates something \
|
||||
that is standing in given radius of up to 7 meters"
|
||||
that is standing in given radius of up to 7 meters"
|
||||
extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \
|
||||
give refs to nearby objects that are similar to given sample. If this pin is a string, the locator will search for\
|
||||
item by matching desired text in name + description. If more than one valid object is found nearby, it will choose one of them at \
|
||||
random. The second pin is a radius."
|
||||
give refs to nearby objects that are similar to given sample. If this pin is a string, the locator will search for\
|
||||
item by matching desired text in name + description. If more than one valid object is found nearby, it will choose one of them at \
|
||||
random. The second pin is a radius."
|
||||
inputs = list("desired type" = IC_PINTYPE_ANY, "radius" = IC_PINTYPE_NUMBER)
|
||||
outputs = list("located ref")
|
||||
activators = list("locate" = IC_PINTYPE_PULSE_IN,"found" = IC_PINTYPE_PULSE_OUT,"not found" = IC_PINTYPE_PULSE_OUT)
|
||||
|
||||
94
code/modules/lore_codex/lore_data_vr/history.dm
Normal file
94
code/modules/lore_codex/lore_data_vr/history.dm
Normal file
@@ -0,0 +1,94 @@
|
||||
/datum/lore/codex/category/history
|
||||
name = "Human History"
|
||||
data = "The author of this guide wishes to offer their gratitude to NanoTrasen historian, Emir Bodoroczki for his assistance in condensing humanity's history!"
|
||||
children = list(
|
||||
/datum/lore/codex/page/commonwealthbirth,
|
||||
/datum/lore/codex/page/eagerhumanity,
|
||||
/datum/lore/codex/page/hegemonywar,
|
||||
/datum/lore/codex/page/secondawakening
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/commonwealthbirth/add_content()
|
||||
name = "The Birth of the Commonwealth"
|
||||
keywords += list("Sol History","Birth of Commonwealth")
|
||||
data = "In the mid 21st century, the Alden-Sarasprova particle was discovered by the precursor states of the Sol-Proycon Commonwealth. \
|
||||
The European Union and the Moscow-Delhi-Islamabad pact initiated a joint space program to lay the first bricks of our great successes as a nation.\
|
||||
<br><br>\
|
||||
Unfortunately, bluespace travel was beyond our reach - phoron had still been a mystery, its fruits denied to us.\
|
||||
But we were industrious, and began to colonise the gem of Humanity, Sol.\
|
||||
<br><br>\
|
||||
However, even without our stutter drives - we spread. With the aid of genetic engineering, we conquered space.\
|
||||
Despite wars, despite traitors upon Mars who fled to their holdouts in the Ares Confederacy once the speed of light\
|
||||
no longer tethered us - we thrived. By providence, our efforts were rewarded: phoron.\
|
||||
Out in the Oort cloud, beyond our reach if not for our forefather's ambition despite their scarce resources and primitive technology\
|
||||
- phoron awaited us."
|
||||
|
||||
/datum/lore/codex/page/eagerhumanity/add_content()
|
||||
name = "An Eager Humanity"
|
||||
keywords += list("Golden Age")
|
||||
data = "Come the twenty second century, we spread past our blue jewel. Once a mathematical curiosity penned by Lara Alden, \
|
||||
then a confirmed fact by Dmitri Saraspova, and finally - an attainable commodity - we overcame the universal speed limit. \
|
||||
Phoron, laden with bluespace catalysts, had made our dreams reality.\
|
||||
<br><br>\
|
||||
Cygnus, Procyon, Proxima Centauri and many, many more worlds our ancestors had once dreamed of, \
|
||||
and that which had now become little more than a fact of life - had human boots kick up their dust.\
|
||||
We have made first contact - the Skrell. An enigmatic species - but friendly.\
|
||||
Unfortunately, with their technology came discord - their alien ways of life \
|
||||
infecting our impressionable youth out on the frontiers, far from the wisdom of the core.\
|
||||
<br><br> \
|
||||
As wars peppered our history, as have they became a fact of life once more\
|
||||
- rebellious, traitorous movements. World rejecting, foolishly, the yet-infant Commonwealth's protection.\
|
||||
As expected - most failed to maintain their 'self-realisation' - and made amends for their prodigal ways.\
|
||||
<br><br>\
|
||||
All, but those of the Elysian Colonies. Too far from the core, and the core itself was too tumultuous \
|
||||
- they broke away. One needs but look at worlds like Infernum \
|
||||
or the mutt-world of New Eden to realise this was not a victory. \
|
||||
Earth soon united under one banner, an inspiration to all of humanity.\
|
||||
A scarcity of resources necessitates unity. And that unity will bring luxury, rebirth \
|
||||
- one needs only wonder at the natural beauty of our home, the horrors of climate crises \
|
||||
but a distant memory. One needs only look at Mars, and behold its miracle despite Aresian sabotage.\
|
||||
<br><br>\
|
||||
The Commonwealth was now born, proper and true. \
|
||||
It was a prosperous age - with eager trade with our vulpkanin, skrell and tajaran friends."
|
||||
|
||||
/datum/lore/codex/page/hegemonywar/add_content()
|
||||
name = "The Hegemony War"
|
||||
keywords += list("Hegemony War")
|
||||
data = "Unfortunately, not all aliens were eager to trade. Especially not the treacherous Unathi.\
|
||||
Violating all that is just and fair, they conspired to weaken us in what are now the Salthan Fyrds\
|
||||
by sending forth the Rapala. It is commendable how cunning they were - exploiting our mythologies, beliefs and similarities.\
|
||||
<br><br>\
|
||||
We traded, we aided each other. We offered fair compensation for their guidance.\
|
||||
Then - the Unathi came, when we were most vulnerable and demanded the unthinkable\
|
||||
- to surrender our Liberty, our Independence, our Individuality and Equality and become\
|
||||
naught but another cog within their brutish protectorate.\
|
||||
<br><br>\
|
||||
Naturally, we rejected their demands.\
|
||||
<br><br>\
|
||||
Our war was costly - too costly, perhaps - but we persevered as Humanity is wont to do. \
|
||||
Forty years of suffering destroyed much of what we had achieved.\
|
||||
But in that forty years did our megacorporations step forth, offering aid where governments faltered.\
|
||||
Where public science's glacial pace would have cost us lives, forever lost - NanoTrasen's medical research cheated death!\
|
||||
Where Senate-governed mining operations would have wasted precious phoron to corruption \
|
||||
- NanoTrasen stepped up and delivered twice what our armies needed! \
|
||||
<br><br>\
|
||||
Peace soon came - albeit, we had to give up the Fyrds to avoid further loss of life and profit.\
|
||||
Something the short-sighted colonists refused to comply with.\
|
||||
Perhaps - exposure to the treacherous ways of the Hegemony sullied their sense \
|
||||
of honour as well - yet further proof of the dangers distance to \
|
||||
elderly guidance can bring to young worlds. \
|
||||
Although almost a century had passed since peace was signed, \
|
||||
the break-away Fyrders still seek to threaten trade."
|
||||
|
||||
|
||||
/datum/lore/codex/page/secondawakening/add_content()
|
||||
name = "A Second Awakening"
|
||||
keywords += list("Current Era")
|
||||
data = "It is a shame that Unathi could not see the value of free market exchanges. \
|
||||
Not long after the war, such activities revitalised our economy. With this trade came technology.\
|
||||
And with this technology - came you, my dear reader.\
|
||||
<br><br>\
|
||||
Previously denied to us due to the astrogeographical hazards of the Core,\
|
||||
the Coreward Periphery brought humanity many fresh worlds with untapped wells\
|
||||
of purple gold. Whether alien, nomad - whether a Confederate who has seen the light \
|
||||
- NanoTrasen welcomes you in the Virgo-Erigone system."
|
||||
@@ -28,8 +28,8 @@
|
||||
H = HS
|
||||
break
|
||||
|
||||
// Either we found a valid stack, in which case increment amount,
|
||||
// Or we need to make a new stack
|
||||
// Either we found a valid stack, in which case increment amount,
|
||||
// Or we need to make a new stack
|
||||
if(istype(H))
|
||||
H.add(1)
|
||||
else
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
H = HS
|
||||
break
|
||||
|
||||
// Either we found a valid stack, in which case increment amount,
|
||||
// Or we need to make a new stack
|
||||
// Either we found a valid stack, in which case increment amount,
|
||||
// Or we need to make a new stack
|
||||
if(istype(H))
|
||||
H.add(1)
|
||||
else
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
/datum/language/teshari/get_random_name(gender)
|
||||
return ..(gender, 1, 4, 1.5) //CHOMPedit: Keep "1" as the second argument because tesharii here typically omit the pack name (thus only use 1 name). This is because
|
||||
//CHOMPedit: there are very few packs and thus most tesharii would have the same first name.
|
||||
//CHOMPedit: there are very few packs and thus most tesharii would have the same first name.
|
||||
|
||||
/datum/language/zaddat
|
||||
name = LANGUAGE_ZADDAT
|
||||
|
||||
@@ -392,7 +392,7 @@
|
||||
"slime" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "slime"),
|
||||
"chaos" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "chaos"),
|
||||
"cloud" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "cloud"),
|
||||
// CHOMPEnable Start
|
||||
// CHOMPEnable Start
|
||||
"catslug" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "catslug"),
|
||||
"cat" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "cat"),
|
||||
"mouse" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "mouse"),
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
sight &= ~SEE_OBJS
|
||||
see_in_dark = 8 // see_in_dark means you can FAINTLY see in the dark, humans have a range of 3 or so, tajaran have it at 8
|
||||
see_invisible = SEE_INVISIBLE_LIVING // This is normal vision (25), setting it lower for normal vision means you don't "see" things like darkness since darkness
|
||||
// has a "invisible" value of 15
|
||||
// has a "invisible" value of 15
|
||||
|
||||
if(plane_holder)
|
||||
plane_holder.set_vis(VIS_FULLBRIGHT,fullbright)
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
if(!components.len)
|
||||
return
|
||||
|
||||
//Combat shielding absorbs a percentage of damage directly into the cell.
|
||||
//Combat shielding absorbs a percentage of damage directly into the cell.
|
||||
if(has_active_type(/obj/item/borg/combat/shield))
|
||||
var/obj/item/borg/combat/shield/shield = locate() in src
|
||||
if(shield && shield.active)
|
||||
@@ -118,7 +118,7 @@
|
||||
if(status_flags & GODMODE) return //godmode
|
||||
var/list/datum/robot_component/parts = get_damageable_components()
|
||||
|
||||
//Combat shielding absorbs a percentage of damage directly into the cell.
|
||||
//Combat shielding absorbs a percentage of damage directly into the cell.
|
||||
if(has_active_type(/obj/item/borg/combat/shield))
|
||||
var/obj/item/borg/combat/shield/shield = locate() in src
|
||||
if(shield)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
desc = "A cold blooded, genderless, parasitic eel from the more distant and stranger areas of the cosmos. Plain, white, perpetually grinning and possessing a hunger as enthusiastic and endless as humanity's sense of exploration."
|
||||
tt_desc = "synxus pergulus"
|
||||
|
||||
//Synx species belongs to ChimeraSynx , Base sprites made by: SpitefulCrow
|
||||
//Synx species belongs to ChimeraSynx , Base sprites made by: SpitefulCrow
|
||||
icon = 'icons/mob/synx.dmi'//giving synxes their own DMI file!
|
||||
icon_state = "synx_living"
|
||||
icon_living = "synx_living"
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
|
||||
/datum/say_list/cyber_horror
|
||||
speak = list("H@!#$$P M@!$#",
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
"GHAA!@@#",
|
||||
"KR@!!N",
|
||||
"K!@@##L!@@ %!@#E",
|
||||
"G@#!$ H@!#%",
|
||||
"H!@%%@ @!E")
|
||||
emote_hear = list("sparks!", "groans.", "wails.", "sobs.")
|
||||
emote_see = list ("stares unblinkingly.", "jitters and twitches.", "emits a synthetic scream.", "rapidly twitches.", "convulses.", "twitches uncontrollably.", "goes stock still.")
|
||||
say_threaten = list ("FR@#DOM","EN@ T#I$-$","N0$ M^> B@!#")
|
||||
|
||||
@@ -86,9 +86,9 @@
|
||||
|
||||
// These are necessarily fairly similar, but because the positional relations are different, we have to copy-pasta a fair bit
|
||||
/obj/structure/stairs/bottom/check_integrity(var/obj/structure/stairs/bottom/B = null,
|
||||
var/obj/structure/stairs/middle/M = null,
|
||||
var/obj/structure/stairs/top/T = null,
|
||||
var/turf/simulated/open/O = null)
|
||||
var/obj/structure/stairs/middle/M = null,
|
||||
var/obj/structure/stairs/top/T = null,
|
||||
var/turf/simulated/open/O = null)
|
||||
|
||||
// In the case where we're provided all the pieces, just try connecting them.
|
||||
// In order: all exist, they are appropriately adjacent, and they can connect
|
||||
@@ -260,9 +260,9 @@
|
||||
|
||||
// These are necessarily fairly similar, but because the positional relations are different, we have to copy-pasta a fair bit
|
||||
/obj/structure/stairs/middle/check_integrity(var/obj/structure/stairs/bottom/B = null,
|
||||
var/obj/structure/stairs/middle/M = null,
|
||||
var/obj/structure/stairs/top/T = null,
|
||||
var/turf/simulated/open/O = null)
|
||||
var/obj/structure/stairs/middle/M = null,
|
||||
var/obj/structure/stairs/top/T = null,
|
||||
var/turf/simulated/open/O = null)
|
||||
|
||||
// In the case where we're provided all the pieces, just try connecting them.
|
||||
// In order: all exist, they are appropriately adjacent, and they can connect
|
||||
|
||||
@@ -208,7 +208,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
||||
|
||||
/obj/item/organ/internal/brain/slime/LateInitialize()
|
||||
. = ..()
|
||||
//Match the core to the Promethean's starting color.
|
||||
//Match the core to the Promethean's starting color.
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
color = rgb(min(H.r_skin + 40, 255), min(H.g_skin + 40, 255), min(H.b_skin + 40, 255))
|
||||
|
||||
@@ -5,7 +5,7 @@ GLOBAL_LIST_EMPTY(limb_icon_cache)
|
||||
|
||||
/obj/item/organ/external/proc/compile_icon()
|
||||
cut_overlays()
|
||||
// This is a kludge, only one icon has more than one generation of children though.
|
||||
// This is a kludge, only one icon has more than one generation of children though.
|
||||
for(var/obj/item/organ/external/organ in contents)
|
||||
if(organ.children && organ.children.len)
|
||||
for(var/obj/item/organ/external/child in organ.children)
|
||||
|
||||
@@ -232,19 +232,19 @@
|
||||
else
|
||||
if(icon_state == "scrap" && H.check_has_mouth())
|
||||
user.visible_message(span_warning("[user] begins to stuff \the [src] into [H]'s mouth!"), \
|
||||
span_warning("You begin to stuff \the [src] into [H]'s mouth!"),)
|
||||
span_warning("You begin to stuff \the [src] into [H]'s mouth!"),)
|
||||
if(do_after(user, 30, H))
|
||||
user.visible_message(span_warning("[user] stuffs \the [src] into [H]'s mouth!"),\
|
||||
span_warning("You stuff \the [src] into [H]'s mouth!"))
|
||||
span_warning("You stuff \the [src] into [H]'s mouth!"))
|
||||
H.ingested.add_reagent("paper", 10)
|
||||
H.adjustOxyLoss(10)
|
||||
qdel(src)
|
||||
else
|
||||
user.visible_message(span_warning("[user] begins to wipe [H]'s lipstick off with \the [src]."), \
|
||||
span_notice("You begin to wipe off [H]'s lipstick."))
|
||||
span_notice("You begin to wipe off [H]'s lipstick."))
|
||||
if(do_after(user, 10, H))
|
||||
user.visible_message(span_notice("[user] wipes [H]'s lipstick off with \the [src]."), \
|
||||
span_notice("You wipe off [H]'s lipstick."))
|
||||
span_notice("You wipe off [H]'s lipstick."))
|
||||
H.lip_style = null
|
||||
H.update_icons_body() //YW Edit End
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
t = replacetext(t, "\[/row\]", "") //CHOMPEDIT: nuking closing statements for rows.
|
||||
t = replacetext(t, "\[cell\]", "<td>")
|
||||
t = replacetext(t, "\[/cell\]", "") //CHOMPEDIT: nuking closing statements for cells.
|
||||
//CHOMPEdit Start
|
||||
//CHOMPEdit Start
|
||||
t = replacetext(t, "\[logo\]", "<img src = https://raw.githubusercontent.com/CHOMPStation2/CHOMPStation2/master/html/images/ntlogo.png>")
|
||||
t = replacetext(t, "\[sglogo\]", "<img src = https://raw.githubusercontent.com/CHOMPStation2/CHOMPStation2/master/html/images/sglogo.png>")
|
||||
t = replacetext(t, "\[trlogo\]", "<img src = https://raw.githubusercontent.com/CHOMPStation2/CHOMPStation2/master/html/images/trader.png>")
|
||||
|
||||
@@ -765,7 +765,7 @@ GLOBAL_LIST_EMPTY(apcs)
|
||||
|
||||
cell = null
|
||||
user.visible_message(span_warning("[user.name] removes the power cell from [name]!"),\
|
||||
span_notice("You remove the power cell."))
|
||||
span_notice("You remove the power cell."))
|
||||
charging = 0
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -158,7 +158,7 @@ var/list/possible_cable_coil_colours = list(
|
||||
return 1
|
||||
|
||||
/obj/structure/cable/update_icon()
|
||||
// We rely on the icon state for the wire Initialize(), prevent any updates to the icon before init passed
|
||||
// We rely on the icon state for the wire Initialize(), prevent any updates to the icon before init passed
|
||||
if(!(flags & ATOM_INITIALIZED))
|
||||
return
|
||||
icon_state = "[d1]-[d2]"
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
add_overlay(image('icons/obj/pipes.dmi', "comp-o2", FLY_LAYER))
|
||||
else if(rpm>500)
|
||||
add_overlay(image('icons/obj/pipes.dmi', "comp-o1", FLY_LAYER))
|
||||
//TODO: DEFERRED
|
||||
//TODO: DEFERRED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
add_to_openlist(next.x+2,next.y,next.x,next.y)
|
||||
add_to_openlist(next.x,next.y-2,next.x,next.y)
|
||||
|
||||
// Cleanup. Map stays in memory for display proc.
|
||||
// Cleanup. Map stays in memory for display proc.
|
||||
checked_coord_cache.Cut()
|
||||
openlist.Cut()
|
||||
closedlist.Cut()
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
if(DISPOSAL_PIPE_TRUNK)
|
||||
base_state = "pipe-t"
|
||||
dpdir = dir
|
||||
// disposal bin has only one dir, thus we don't need to care about setting it
|
||||
// disposal bin has only one dir, thus we don't need to care about setting it
|
||||
if(DISPOSAL_PIPE_BIN)
|
||||
if(anchored)
|
||||
base_state = "disposal"
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
for(var/org in organ_data)
|
||||
var/obj/item/organ/I = M.internal_organs_by_name[org]
|
||||
|
||||
//Who knows? Missing lungs maybe on synths, etc.
|
||||
//Who knows? Missing lungs maybe on synths, etc.
|
||||
if(!I)
|
||||
continue
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
else if(occupant.health < heal_level && occupant.getCloneLoss() > 0)
|
||||
|
||||
//Slowly get that clone healed and finished.
|
||||
//Slowly get that clone healed and finished.
|
||||
occupant.adjustCloneLoss(-2 * heal_rate)
|
||||
|
||||
//Premature clones may have brain damage.
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
var/knockdown = 1 //whether shuttle downs non-buckled people when it moves
|
||||
|
||||
var/defer_initialisation = FALSE //If this this shuttle should be initialised automatically.
|
||||
//If set to true, you are responsible for initialzing the shuttle manually.
|
||||
//Useful for shuttles that are initialized by map_template loading, or shuttles that are created in-game or not used.
|
||||
//If set to true, you are responsible for initialzing the shuttle manually.
|
||||
//Useful for shuttles that are initialized by map_template loading, or shuttles that are created in-game or not used.
|
||||
|
||||
var/mothershuttle //tag of mothershuttle
|
||||
var/motherdock //tag of mothershuttle landmark, defaults to starting location
|
||||
|
||||
@@ -89,19 +89,19 @@
|
||||
/datum/surgery_step/robotics/insertion_preparation/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_filter_notice("[user] starts to modify the wiring in [target]'s [affected.name] with \the [tool]."),
|
||||
span_filter_notice("You start to modify the wiring in [target]'s [affected.name] with \the [tool]."))
|
||||
span_filter_notice("You start to modify the wiring in [target]'s [affected.name] with \the [tool]."))
|
||||
..()
|
||||
|
||||
/datum/surgery_step/robotics/insertion_preparation/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_notice("[user] modifies the wiring in [target]'s [affected.name] with \the [tool]."), \
|
||||
span_notice("You modify the wiring in [target]'s [affected.name] with \the [tool]."))
|
||||
span_notice("You modify the wiring in [target]'s [affected.name] with \the [tool]."))
|
||||
affected.open = 2
|
||||
|
||||
/datum/surgery_step/robotics/insertion_preparation/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_warning("[user]'s [tool.name] slips, failing to modify the wiring in [target]'s [affected.name]."),
|
||||
span_warning("Your [tool] slips, failing to modify the wiring in [target]'s [affected.name]."))
|
||||
span_warning("Your [tool] slips, failing to modify the wiring in [target]'s [affected.name]."))
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Open Hatch Surgery
|
||||
@@ -127,21 +127,21 @@
|
||||
/datum/surgery_step/robotics/open_hatch/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_filter_notice("[user] starts to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool]."),
|
||||
span_filter_notice("You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool]."))
|
||||
span_filter_notice("You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool]."))
|
||||
user.balloon_alert_visible("starts to pry open the maintenance hatch on [target]'s [affected.name]", "prying open the maintenance hatch on \the [affected.name]") // CHOMPEdit
|
||||
..()
|
||||
|
||||
/datum/surgery_step/robotics/open_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_notice("[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool]."), \
|
||||
span_notice("You open the maintenance hatch on [target]'s [affected.name] with \the [tool]."))
|
||||
span_notice("You open the maintenance hatch on [target]'s [affected.name] with \the [tool]."))
|
||||
user.balloon_alert_visible("opens the maintenance hatch on [target]'s [affected.name]", "maintenance hatch on \the [affected.name] open") // CHOMPEdit
|
||||
affected.open = 3
|
||||
|
||||
/datum/surgery_step/robotics/open_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(span_warning("[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name]."),
|
||||
span_warning("Your [tool] slips, failing to open the hatch on [target]'s [affected.name]."))
|
||||
span_warning("Your [tool] slips, failing to open the hatch on [target]'s [affected.name]."))
|
||||
user.balloon_alert_visible("slips, failing to open the hatch on [target]'s [affected.name]", "your [tool] slips, fialing to open the hatch on \the [affected.name]") // CHOMPEdit
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
M.playsound_local(get_turf(owner), play_sound, vol = sound_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, frequency = noise_freq)
|
||||
else
|
||||
M.playsound_local(get_turf(owner), play_sound, vol = sound_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, frequency = noise_freq)
|
||||
//these are all external sound triggers now, so it's ok.
|
||||
//these are all external sound triggers now, so it's ok.
|
||||
return
|
||||
|
||||
///////////////////// Prey Loop Refresh/hack //////////////////////
|
||||
@@ -136,7 +136,7 @@
|
||||
M.playsound_local(get_turf(owner), play_sound, vol = sound_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, frequency = noise_freq)
|
||||
else
|
||||
M.playsound_local(get_turf(owner), play_sound, vol = sound_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, frequency = noise_freq)
|
||||
//these are all external sound triggers now, so it's ok.
|
||||
//these are all external sound triggers now, so it's ok.
|
||||
|
||||
if(emote_active)
|
||||
// emote_lists can be = ""
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
if(!Tray.dead)
|
||||
if((Tray.age > Tray.seed.get_trait(TRAIT_MATURATION)) && \
|
||||
((Tray.age - Tray.lastproduce) > Tray.seed.get_trait(TRAIT_PRODUCTION)) && \
|
||||
(!Tray.harvest && !Tray.dead))
|
||||
((Tray.age - Tray.lastproduce) > Tray.seed.get_trait(TRAIT_PRODUCTION)) && \
|
||||
(!Tray.harvest && !Tray.dead))
|
||||
Tray.harvest = 1
|
||||
Tray.lastproduce = Tray.age
|
||||
|
||||
|
||||
@@ -15,13 +15,14 @@
|
||||
var/obj/scanned_object
|
||||
var/report_num = 0
|
||||
var/list/priority_objects = list(/obj/machinery/artifact,
|
||||
/obj/machinery/auto_cloner,
|
||||
/obj/machinery/power/supermatter,
|
||||
/obj/structure/constructshell,
|
||||
/obj/machinery/giga_drill,
|
||||
/obj/structure/cult/pylon,
|
||||
/obj/machinery/replicator,
|
||||
/obj/structure/crystal)
|
||||
/obj/machinery/auto_cloner,
|
||||
/obj/machinery/power/supermatter,
|
||||
/obj/structure/constructshell,
|
||||
/obj/machinery/giga_drill,
|
||||
/obj/structure/cult/pylon,
|
||||
/obj/machinery/replicator,
|
||||
/obj/structure/crystal
|
||||
)
|
||||
|
||||
/obj/machinery/artifact_analyser/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
|
||||
/obj/machinery/artifact_harvester/RefreshParts(var/limited = 0)
|
||||
harvesting_speed = 0
|
||||
// Rating goes from 1 to 5 and this bad boy has 5 caps. Let's say we want a normal one to charge a battery in 100 seconds.
|
||||
// Every machine process happens every 2 seconds. So, we should have it do 5 charge every second. So 10 charge a process.
|
||||
// Tier 3 is commonly availabe. Tier 4/5 is much harder to get.
|
||||
// Applying a straight rating * X resultes in either being too strong early or too weak late. So we do a switch depending on rating.
|
||||
// This means for a base 500 battery: Tier 1 takes 100 seconds, tier 2 takes 40 seconds, tier 3 takes 20 seconds, tier 4 takes 4 seconds, tier 5 takes 1 second.
|
||||
// Tier 4 and 5 may seem overkill, but when you get to the REALLY strong batteries, you'll want them.
|
||||
// Rating goes from 1 to 5 and this bad boy has 5 caps. Let's say we want a normal one to charge a battery in 100 seconds.
|
||||
// Every machine process happens every 2 seconds. So, we should have it do 5 charge every second. So 10 charge a process.
|
||||
// Tier 3 is commonly availabe. Tier 4/5 is much harder to get.
|
||||
// Applying a straight rating * X resultes in either being too strong early or too weak late. So we do a switch depending on rating.
|
||||
// This means for a base 500 battery: Tier 1 takes 100 seconds, tier 2 takes 40 seconds, tier 3 takes 20 seconds, tier 4 takes 4 seconds, tier 5 takes 1 second.
|
||||
// Tier 4 and 5 may seem overkill, but when you get to the REALLY strong batteries, you'll want them.
|
||||
for(var/obj/item/stock_parts/P in component_parts)
|
||||
if(istype(P, /obj/item/stock_parts/capacitor))
|
||||
switch(P.rating)
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
continue
|
||||
|
||||
if(istype(CR, /decl/chemical_reaction/instant/slime))
|
||||
// slime time
|
||||
// slime time
|
||||
var/decl/chemical_reaction/instant/slime/SR = CR
|
||||
if(!SR.required)
|
||||
continue
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
belter_docked_z = list(Z_LEVEL_SPACE_LOW)
|
||||
belter_transit_z = list(Z_LEVEL_MISC)
|
||||
belter_belt_z = list(Z_LEVEL_ROGUEMINE_1,
|
||||
Z_LEVEL_ROGUEMINE_2)
|
||||
Z_LEVEL_ROGUEMINE_2)
|
||||
|
||||
mining_station_z = list(Z_LEVEL_SPACE_LOW)
|
||||
mining_outpost_z = list(Z_LEVEL_SURFACE_MINE)
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
belter_docked_z = list(Z_LEVEL_SPACE_LOW)
|
||||
belter_transit_z = list(Z_LEVEL_MISC)
|
||||
belter_belt_z = list(Z_LEVEL_ROGUEMINE_1,
|
||||
Z_LEVEL_ROGUEMINE_2)
|
||||
Z_LEVEL_ROGUEMINE_2)
|
||||
|
||||
mining_station_z = list(Z_LEVEL_SPACE_LOW)
|
||||
mining_outpost_z = list(Z_LEVEL_SURFACE_MINE)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
var/cop = removed.temperature/TN60C
|
||||
var/actual_heat_transfer = heat_transfer
|
||||
heat_transfer = min(heat_transfer, active_power_usage*cop)
|
||||
// power_avail = draw_power(heat_transfer/cop)
|
||||
// power_avail = draw_power(heat_transfer/cop)
|
||||
removed.add_thermal_energy(-min(active_power_usage*1000*cop,actual_heat_transfer))
|
||||
env.merge(removed)
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
/datum/construction/mecha/hades_chassis
|
||||
result = "/obj/mecha/combat/hades"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/hades_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/hades_head)
|
||||
)
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/hades_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/hades_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
user.visible_message("[user] has connected [I] to [holder].", "You connect [I] to [holder]")
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
name = "Prizes: Drinks"
|
||||
keywords += list("Prizes", "Drinks")
|
||||
data = "All is 50!<br><br>\
|
||||
Redeemer brew <br>Warlock velvet <br>Wrapp artiste patron <br>Flask of holy water <br>College girl goldschlager <br>Gilthari luxury champagne <br>Bottle of nothing <br>Special blend whiskey <br>Akvavit"
|
||||
Redeemer brew <br>Warlock velvet <br>Wrapp artiste patron <br>Flask of holy water <br>College girl goldschlager <br>Gilthari luxury champagne <br>Bottle of nothing <br>Special blend whiskey <br>Akvavit"
|
||||
|
||||
/datum/lore/codex/page/casinomanual_pets/add_content()
|
||||
name = "Prizes: Pets"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user