mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-21 03:52:54 +01:00
Merge pull request #2860 from VOREStation/polaris-sync-2018-01-27
Polaris Sync 2018-01-27
This commit is contained in:
@@ -1050,6 +1050,8 @@ var/list/admin_verbs_event_manager = list(
|
||||
set category = "Fun"
|
||||
set name = "Man Up"
|
||||
set desc = "Tells mob to man up and deal with it."
|
||||
|
||||
if(alert("Are you sure you want to tell them to man up?","Confirmation","Deal with it","No")=="No") return
|
||||
|
||||
T << "<span class='notice'><b><font size=3>Man up and deal with it.</font></b></span>"
|
||||
T << "<span class='notice'>Move on.</span>"
|
||||
@@ -1061,6 +1063,8 @@ var/list/admin_verbs_event_manager = list(
|
||||
set category = "Fun"
|
||||
set name = "Man Up Global"
|
||||
set desc = "Tells everyone to man up and deal with it."
|
||||
|
||||
if(alert("Are you sure you want to tell the whole server up?","Confirmation","Deal with it","No")=="No") return
|
||||
|
||||
for (var/mob/T as mob in mob_list)
|
||||
T << "<br><center><span class='notice'><b><font size=4>Man up.<br> Deal with it.</font></b><br>Move on.</span></center><br>"
|
||||
|
||||
@@ -29,6 +29,12 @@
|
||||
display_name = "the traveler's guide to vir"
|
||||
path = /obj/item/weapon/book/codex //VOREStation Edit
|
||||
cost = 0
|
||||
|
||||
/datum/gear/utility/news
|
||||
display_name = "daedalus pocket newscaster"
|
||||
path = /obj/item/weapon/book/codex/lore/news
|
||||
cost = 0
|
||||
|
||||
/* //VORESTATION REMOVAL
|
||||
/datum/gear/utility/corp_regs
|
||||
display_name = "corporate regulations and legal code"
|
||||
|
||||
@@ -70,7 +70,7 @@ BLIND // can't see anything
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
toggleable = 1
|
||||
vision_flags = SEE_TURFS
|
||||
enables_planes = (VIS_FULLBRIGHT)
|
||||
enables_planes = list(VIS_FULLBRIGHT, VIS_MESONS)
|
||||
|
||||
/obj/item/clothing/glasses/meson/New()
|
||||
..()
|
||||
|
||||
@@ -965,6 +965,16 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/ruinedvirusdish
|
||||
|
||||
/datum/recipe/onionrings
|
||||
fruit = list("onion" = 1)
|
||||
reagents = list("flour" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/onionrings
|
||||
|
||||
/datum/recipe/onionsoup
|
||||
fruit = list("onion" = 1)
|
||||
reagents = list("water" = 10)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/onionsoup
|
||||
|
||||
//////////////////////////////////////////
|
||||
// bs12 food port stuff
|
||||
//////////////////////////////////////////
|
||||
@@ -1011,6 +1021,146 @@ I said no!
|
||||
reagents = list("sugar" = 5, "frostoil" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mint
|
||||
|
||||
////////////////////////
|
||||
// TGstation food ports
|
||||
////////////////////////
|
||||
|
||||
/datum/recipe/meatbun
|
||||
fruit = list("cabbage" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatbun
|
||||
|
||||
/datum/recipe/sashimi
|
||||
reagents = list("soysauce" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||
|
||||
/datum/recipe/benedict
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/friedegg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/bread
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/benedict
|
||||
|
||||
/datum/recipe/bakedbeans
|
||||
fruit = list("soybeans" = 2)
|
||||
reagents = list("ketchup" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/beans
|
||||
|
||||
/datum/recipe/sugarcookie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
reagents = list("sugar" = 5, "egg" = 3)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie
|
||||
|
||||
/datum/recipe/berrymuffin
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
fruit = list("berries" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/berrymuffin
|
||||
|
||||
/datum/recipe/ghostmuffin
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/ectoplasm
|
||||
)
|
||||
fruit = list("berries" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin
|
||||
|
||||
/datum/recipe/eggroll
|
||||
reagents = list("soysauce" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/friedegg
|
||||
)
|
||||
fruit = list("cabbage" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/eggroll
|
||||
|
||||
/datum/recipe/fruitsalad
|
||||
fruit = list("orange" = 1, "apple" = 1, "grapes" = 1, "watermelon" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fruitsalad
|
||||
|
||||
/datum/recipe/eggbowl
|
||||
reagents = list("water" = 5, "rice" = 10, "egg" = 3)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/eggbowl
|
||||
|
||||
/datum/recipe/porkbowl
|
||||
reagents = list("water" = 5, "rice" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/porkbowl
|
||||
|
||||
/datum/recipe/tortilla
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
|
||||
/datum/recipe/meatburrito
|
||||
fruit = list("soybeans" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatburrito
|
||||
|
||||
/datum/recipe/cheeseburrito
|
||||
fruit = list("soybeans" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cheeseburrito
|
||||
|
||||
/datum/recipe/fuegoburrito
|
||||
fruit = list("soybeans" = 1, "chili" = 2)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fuegoburrito
|
||||
|
||||
/datum/recipe/nachos
|
||||
reagents = list("sodiumchloride" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/nachos
|
||||
|
||||
/datum/recipe/cheesenachos
|
||||
reagents = list("sodiumchloride" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cheesenachos
|
||||
|
||||
/datum/recipe/cubannachos
|
||||
fruit = list("chili" = 1)
|
||||
reagents = list("ketchup" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cubannachos
|
||||
|
||||
/datum/recipe/piginblanket
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sausage
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/piginblanket
|
||||
|
||||
|
||||
// Cakes.
|
||||
/datum/recipe/cake
|
||||
@@ -1060,4 +1210,4 @@ I said no!
|
||||
|
||||
/datum/recipe/cake/brain
|
||||
items = list(/obj/item/organ/internal/brain)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
@@ -90,10 +90,10 @@ var/global/datum/controller/plants/plant_controller // Set in New().
|
||||
var/list/plant_traits = ALL_GENES
|
||||
while(plant_traits && plant_traits.len)
|
||||
var/gene_tag = pick(plant_traits)
|
||||
var/gene_mask = "[uppertext(num2hex(rand(0,255)))]"
|
||||
var/gene_mask = "[uppertext(num2hex(rand(0,255), 2))]"
|
||||
|
||||
while(gene_mask in used_masks)
|
||||
gene_mask = "[uppertext(num2hex(rand(0,255)))]"
|
||||
gene_mask = "[uppertext(num2hex(rand(0,255), 2))]"
|
||||
|
||||
var/decl/plantgene/G
|
||||
|
||||
|
||||
@@ -691,7 +691,7 @@
|
||||
name = "potato"
|
||||
seed_name = "potato"
|
||||
display_name = "potatoes"
|
||||
chems = list("nutriment" = list(1,10), "potato" = list(10,10))
|
||||
chems = list("nutriment" = list(1,10), "potatojuice" = list(10,10))
|
||||
kitchen_tag = "potato"
|
||||
|
||||
/datum/seed/potato/New()
|
||||
@@ -706,6 +706,24 @@
|
||||
set_trait(TRAIT_PLANT_ICON,"bush2")
|
||||
set_trait(TRAIT_WATER_CONSUMPTION, 6)
|
||||
|
||||
/datum/seed/onion
|
||||
name = "onion"
|
||||
seed_name = "onion"
|
||||
display_name = "onions"
|
||||
chems = list("nutriment" = list(1,10))
|
||||
kitchen_tag = "onion"
|
||||
|
||||
/datum/seed/onion/New()
|
||||
..()
|
||||
set_trait(TRAIT_MATURATION,10)
|
||||
set_trait(TRAIT_PRODUCTION,1)
|
||||
set_trait(TRAIT_YIELD,4)
|
||||
set_trait(TRAIT_POTENCY,10)
|
||||
set_trait(TRAIT_PRODUCT_ICON,"onion")
|
||||
set_trait(TRAIT_PRODUCT_COLOUR,"#E0C367")
|
||||
set_trait(TRAIT_PLANT_ICON,"carrot")
|
||||
set_trait(TRAIT_WATER_CONSUMPTION, 6)
|
||||
|
||||
/datum/seed/soybean
|
||||
name = "soybean"
|
||||
seed_name = "soybean"
|
||||
@@ -910,6 +928,7 @@
|
||||
/datum/seed/citrus/lemon/New()
|
||||
..()
|
||||
set_trait(TRAIT_PRODUCES_POWER,1)
|
||||
set_trait(TRAIT_PRODUCT_ICON,"lemon")
|
||||
set_trait(TRAIT_PRODUCT_COLOUR,"#F0E226")
|
||||
set_trait(TRAIT_FLESH_COLOUR,"#F0E226")
|
||||
set_trait(TRAIT_IDEAL_LIGHT, 6)
|
||||
|
||||
@@ -237,6 +237,9 @@ var/global/list/plant_seed_sprites = list()
|
||||
/obj/item/seeds/lemonseed
|
||||
seed_type = "lemon"
|
||||
|
||||
/obj/item/seeds/onionseed
|
||||
seed_type = "onion"
|
||||
|
||||
/obj/item/seeds/orangeseed
|
||||
seed_type = "orange"
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
/obj/item/seeds/limeseed = 3,
|
||||
/obj/item/seeds/mtearseed = 2,
|
||||
/obj/item/seeds/orangeseed = 3,
|
||||
/obj/item/seeds/onionseed = 3,
|
||||
/obj/item/seeds/peanutseed = 3,
|
||||
/obj/item/seeds/plumpmycelium = 3,
|
||||
/obj/item/seeds/poppyseed = 3,
|
||||
|
||||
@@ -24,6 +24,13 @@
|
||||
has the words 'Don't Panic' in small, friendly letters on the cover."
|
||||
icon_state = "codex"
|
||||
root_type = /datum/lore/codex/category/main_vir_lore
|
||||
|
||||
/obj/item/weapon/book/codex/lore/news
|
||||
name = "Daedalus Pocket Newscaster"
|
||||
desc = "A regularly-updating compendium of articles on current events. Essential for new arrivals in the Vir system and anyone interested in politics."
|
||||
icon_state = "newscodex"
|
||||
root_type = /datum/lore/codex/category/main_news
|
||||
|
||||
/* //VORESTATION REMOVAL
|
||||
// Combines SOP/Regs/Law
|
||||
/obj/item/weapon/book/codex/corp_regs
|
||||
|
||||
@@ -28,5 +28,5 @@
|
||||
to an immigrant from another system or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \
|
||||
in this text does not reflect the opinions of the publisher, and are instead the author's.\
|
||||
<br><br>\
|
||||
Eshi Tache has also written other <i>The Traveler's Guide</i> books, including <i>Sol Edition</i>, <i>Tau Ceti Edition</i>, <i>Sirius Edition</i>, and more, \
|
||||
Eshi Tache has also written other <i>The Traveler's Guide</i> books, including <i>Sol Edition</i>, <i>Tau Ceti Edition</i>, <i>Alpha Centauri Edition</i>, and more, \
|
||||
which you can find in your local book store, library, or e-reader device."
|
||||
@@ -0,0 +1,34 @@
|
||||
/datum/lore/codex/category/main_news // The top-level categories for the news thing
|
||||
name = "Index"
|
||||
data = "Below you'll find a list of articles relevant to the current (as of 2562) political climate, especially concerning the Almach Rim \
|
||||
region. Each is labled by date of publication and title. This list is self-updating, and from time to time the publisher will push new \
|
||||
articles. You are encouraged to check back frequently."
|
||||
children = list(
|
||||
/datum/lore/codex/page/article1,
|
||||
/datum/lore/codex/page/about_news,
|
||||
)
|
||||
|
||||
/datum/lore/codex/page/about_news
|
||||
name = "About the Publisher"
|
||||
data = "The <i>Daedalus Pocket Newscaster</i> is produced and maintained by Occulum Broadcast, the foremost authority on media distribution \
|
||||
and owner-operator of the award-winning Daedalus Dispatch newsletter. We use our unparalleled network of freelance reporters, political scientists, \
|
||||
and other experts to deliver hour-by-hour analysis of a complex interstellar political climate, an analysis which you now hold in your hands. For more \
|
||||
information, feel free to visit our homepage at oc.about.tsc, or the sites of any of our constituents."
|
||||
|
||||
/datum/lore/codex/page/article1
|
||||
name = "08/30/61-- VGA Legalizes Prometheans; Nanotrasen Begins Manufacture and Testing"
|
||||
data = "Today's meeting of the Vir Bicameral led to the passing of the Wynther-Helsey Bill, an implementation of the legal framework \
|
||||
used in Aetolus to handle the production and cultivation of the Macrolimbus species dubbed \"Prometheans\". These ill-researched organisms \
|
||||
possess cognitive abilities easily equaling those of A-class drones, but so far have not been included under the EIO's list of dangerous \
|
||||
intelligences and are thus much more profitable for manufacture as expert systems by corporations such as NanoTrasen.\
|
||||
<br></br>\
|
||||
While many systems in the Almach Rim have already passed similar bills, this is the first system so close to Sol to have done so. More\
|
||||
concerning still is NanoTrasen's business practice regarding the intelligences: much like their positronic lines, sources within the\
|
||||
company indicate that they will be \"farmed out\" to employees of the corporation and residents of their Northern Star and Cynosure\
|
||||
habitation complexes. Quote our source, who wishes to remain anonymous, \"\[we\] call the program 'Lend-Lease', sometimes. The whole idea\
|
||||
is that we only have to pay the\ cost of the Promethean core, which is about 2000-3000 thalers after startup costs, and we still get\
|
||||
the data we need while \[our\] own employees pay to feed 'em and put hours into raising them.\"\
|
||||
<br></br>\
|
||||
The bill passed fairly quietly this afternoon, owing to the closed nature of the Bicamarial. A post-facto Occulum poll of voting-age\
|
||||
VGA citizens suggest that fully 80% of them did not even know what a Promethean was prior to the most recent general election. A\
|
||||
follow-up poll indicates that an appreciable number of Sivians do not support the framework's current implementation."
|
||||
@@ -39,7 +39,25 @@
|
||||
|
||||
// Prevents borging (specifically the MMI part), actual effect is on the MMI.
|
||||
/datum/modifier/no_borg
|
||||
name = "Cyboernetic Incompatability"
|
||||
name = "Cybernetic Incompatability"
|
||||
desc = "For whatever reason, your brain is incompatable with direct cybernetic interfaces, such as the MMI."
|
||||
|
||||
flags = MODIFIER_GENETIC
|
||||
flags = MODIFIER_GENETIC
|
||||
|
||||
//////////////////////////////////////
|
||||
//Species-Specific Cloning Modifiers//
|
||||
/////////////////////////////////////
|
||||
|
||||
/datum/modifier/cloning_sickness/promethean
|
||||
name = "reformation sickness"
|
||||
desc = "Your core feels damaged, as you were reformed with the improper machinery."
|
||||
|
||||
on_created_text = "<span class='warning'><font size='3'>Your core aches.</font></span>"
|
||||
on_expired_text = "<span class='notice'><font size='3'>You feel your core's strength returning to normal.</font></span>"
|
||||
|
||||
incoming_damage_percent = 1 //Level the incoming damage from the parent modifier. They already take 200% burn.
|
||||
incoming_brute_damage_percent = 1.5 //150% incoming brute damage. Decreases the effectiveness of their 0.75 modifier.
|
||||
incoming_hal_damage_percent = 1.25 //125% incoming halloss.
|
||||
|
||||
outgoing_melee_damage_percent = 0.5 //50% less outgoing melee damage.
|
||||
attack_speed_percent = 1.2 //20% slower attack speed.
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
name = "Larger"
|
||||
desc = "Your body is larger than average."
|
||||
|
||||
icon_scale_percent = 1.2
|
||||
icon_scale_percent = 1.1
|
||||
|
||||
/datum/modifier/trait/large
|
||||
name = "Large"
|
||||
desc = "Your body is a bit larger than average."
|
||||
|
||||
icon_scale_percent = 1.1
|
||||
icon_scale_percent = 1.05
|
||||
|
||||
/datum/modifier/trait/small
|
||||
name = "Small"
|
||||
|
||||
@@ -437,8 +437,7 @@
|
||||
fear_amount += 1
|
||||
if(istype(S.species, /datum/species/shapeshifter/promethean))
|
||||
fear_amount += 4
|
||||
else
|
||||
return
|
||||
|
||||
return fear_amount
|
||||
|
||||
/datum/modifier/trait/phobia/trypanophobe
|
||||
|
||||
@@ -87,7 +87,9 @@
|
||||
|
||||
// Checks if the mob's own name is included inside message. Handles both first and last names.
|
||||
/mob/proc/check_mentioned(var/message)
|
||||
var/not_included = list("a", "the", "of", "in", "for", "through", "throughout", "therefore", "here", "there", "then", "now", "I", "you", "they", "he", "she", "by")
|
||||
var/list/valid_names = splittext(real_name, " ") // Should output list("John", "Doe") as an example.
|
||||
valid_names -= not_included
|
||||
var/list/nicknames = splittext(nickname, " ")
|
||||
valid_names += nicknames
|
||||
valid_names += special_mentions()
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
var/speech_bubble_appearance = "normal" // Part of icon_state to use for speech bubbles when talking. See talk.dmi for available icons.
|
||||
var/fire_icon_state = "humanoid" // The icon_state used inside OnFire.dmi for when on fire.
|
||||
var/suit_storage_icon = 'icons/mob/belt_mirror.dmi' // Icons used for worn items in suit storage slot.
|
||||
|
||||
// Damage overlay and masks.
|
||||
var/damage_overlays = 'icons/mob/human_races/masks/dam_human.dmi'
|
||||
@@ -90,6 +91,7 @@
|
||||
var/death_sound
|
||||
var/death_message = "seizes up and falls limp, their eyes dead and lifeless..."
|
||||
var/knockout_message = "has been knocked unconscious!"
|
||||
var/cloning_modifier = /datum/modifier/cloning_sickness
|
||||
|
||||
// Environment tolerance/life processes vars.
|
||||
var/reagent_tag //Used for metabolizing reagents.
|
||||
|
||||
@@ -44,6 +44,8 @@ var/datum/species/shapeshifter/promethean/prometheans
|
||||
burn_mod = 2
|
||||
oxy_mod = 0
|
||||
|
||||
cloning_modifier = /datum/modifier/cloning_sickness/promethean
|
||||
|
||||
cold_level_1 = 280 //Default 260 - Lower is better
|
||||
cold_level_2 = 220 //Default 200
|
||||
cold_level_3 = 130 //Default 120
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
damage_overlays = 'icons/mob/human_races/masks/dam_seromi.dmi'
|
||||
damage_mask = 'icons/mob/human_races/masks/dam_mask_seromi.dmi'
|
||||
blood_mask = 'icons/mob/human_races/masks/blood_seromi.dmi'
|
||||
suit_storage_icon = 'icons/mob/species/seromi/belt_mirror.dmi'
|
||||
|
||||
fire_icon_state = "generic" // Humanoid is too big for them and spriting a new one is really annoying.
|
||||
|
||||
|
||||
@@ -935,7 +935,7 @@ var/global/list/damage_icon_parts = list()
|
||||
if(s_store)
|
||||
var/t_state = s_store.item_state
|
||||
if(!t_state) t_state = s_store.icon_state
|
||||
overlays_standing[SUIT_STORE_LAYER] = image("icon" = 'icons/mob/belt_mirror.dmi', "icon_state" = "[t_state]")
|
||||
overlays_standing[SUIT_STORE_LAYER] = image("icon" = species.suit_storage_icon, "icon_state" = "[t_state]")
|
||||
s_store.screen_loc = ui_sstore1 //TODO
|
||||
else
|
||||
overlays_standing[SUIT_STORE_LAYER] = null
|
||||
|
||||
@@ -208,10 +208,8 @@
|
||||
set_light(min(round(fire_stacks), 3), round(fire_stacks), l_color = "#FF9933")
|
||||
return TRUE
|
||||
|
||||
//VOREStation Add - Glowy trait
|
||||
else if(glow_toggle)
|
||||
set_light(2, l_color = glow_color) //2 is PDA brightness, so neutral in terms of balance
|
||||
//VOREStation Add End
|
||||
|
||||
else
|
||||
set_light(0)
|
||||
|
||||
@@ -47,4 +47,8 @@
|
||||
|
||||
var/evasion = 0 // Makes attacks harder to land. Each number equals 15% more likely to miss. Negative numbers increase hit chance.
|
||||
var/force_max_speed = 0 // If 1, the mob runs extremely fast and cannot be slowed.
|
||||
var/image/dsoverlay = null //Overlay used for darksight eye adjustments
|
||||
|
||||
var/image/dsoverlay = null //Overlay used for darksight eye adjustments
|
||||
|
||||
var/glow_toggle = 0 // If they're glowing!
|
||||
var/glow_color = "#FFFFFF" // The color they're glowing!
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
plane_masters[VIS_D_COLORBLIND] = new /obj/screen/plane_master/colorblindness //Colorblindness (affects world)
|
||||
plane_masters[VIS_D_COLORBLINDI]= new /obj/screen/plane_master/colorblindness/items //Colorblindness (items in HUD, subplane of above, don't toggle)
|
||||
|
||||
plane_masters[VIS_MESONS] = new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
|
||||
|
||||
..()
|
||||
|
||||
/datum/plane_holder/Destroy()
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
below = GetBelow(src)
|
||||
turf_changed_event.register(below, src, /turf/simulated/open/update_icon)
|
||||
levelupdate()
|
||||
below.update_icon() // So the 'ceiling-less' overlay gets added.
|
||||
for(var/atom/movable/A in src)
|
||||
A.fall()
|
||||
OS_controller.add_turf(src, 1)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
throw_range = 5
|
||||
origin_tech = list(TECH_BIO = 3)
|
||||
attack_verb = list("attacked", "slapped", "whacked")
|
||||
var/clone_source = FALSE
|
||||
var/mob/living/carbon/brain/brainmob = null
|
||||
|
||||
/obj/item/organ/internal/brain/robotize()
|
||||
@@ -133,6 +134,10 @@
|
||||
icon = 'icons/mob/slimes.dmi'
|
||||
icon_state = "green slime extract"
|
||||
parent_organ = BP_TORSO
|
||||
clone_source = TRUE
|
||||
|
||||
/obj/item/orgam/internal/brain/slime/is_open_container()
|
||||
return 1
|
||||
|
||||
/obj/item/organ/internal/brain/golem
|
||||
name = "chem"
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
t = replacetext(t, "\[u\]", "<U>")
|
||||
t = replacetext(t, "\[/u\]", "</U>")
|
||||
t = replacetext(t, "\[time\]", "[stationtime2text()]")
|
||||
t = replacetext(t, "\[date\]", "[station_date]")
|
||||
t = replacetext(t, "\[date\]", "[stationdate2text()]")
|
||||
t = replacetext(t, "\[large\]", "<font size=\"4\">")
|
||||
t = replacetext(t, "\[/large\]", "</font>")
|
||||
if(findtext(t, "\[sign\]"))
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
var/icon_state_off = "bbox_off"
|
||||
density = 1
|
||||
anchored = 1
|
||||
circuit = /obj/item/weapon/circuitboard/breakerbox
|
||||
var/on = 0
|
||||
var/busy = 0
|
||||
var/directions = list(1,2,4,8,5,6,9,10)
|
||||
@@ -20,15 +21,22 @@
|
||||
var/update_locked = 0
|
||||
|
||||
/obj/machinery/power/breakerbox/Destroy()
|
||||
for(var/obj/structure/cable/C in src.loc)
|
||||
qdel(C)
|
||||
. = ..()
|
||||
for(var/datum/nano_module/rcon/R in world)
|
||||
R.FindDevices()
|
||||
|
||||
/obj/machinery/power/breakerbox/initialize()
|
||||
. = ..()
|
||||
default_apply_parts()
|
||||
|
||||
/obj/machinery/power/breakerbox/activated
|
||||
icon_state = "bbox_on"
|
||||
|
||||
// Enabled on server startup. Used in substations to keep them in bypass mode.
|
||||
// Enabled on server startup. Used in substations to keep them in bypass mode.
|
||||
/obj/machinery/power/breakerbox/activated/initialize()
|
||||
. = ..()
|
||||
set_state(1)
|
||||
|
||||
/obj/machinery/power/breakerbox/examine(mob/user)
|
||||
@@ -87,10 +95,15 @@
|
||||
if(newtag)
|
||||
RCon_tag = newtag
|
||||
user << "<span class='notice'>You changed the RCON tag to: [newtag]</span>"
|
||||
|
||||
|
||||
|
||||
|
||||
if(on)
|
||||
to_chat(user, "<font color='red'>Disable the breaker before performing maintenance.</font>")
|
||||
return
|
||||
if(default_deconstruction_screwdriver(user, W))
|
||||
return
|
||||
if(default_deconstruction_crowbar(user, W))
|
||||
return
|
||||
if(default_part_replacement(user, W))
|
||||
return
|
||||
|
||||
/obj/machinery/power/breakerbox/proc/set_state(var/state)
|
||||
on = state
|
||||
|
||||
@@ -900,6 +900,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
slot_flags = SLOT_BELT
|
||||
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
|
||||
stacktype = null
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/stack/cable_coil/alien/New(loc, length = MAXCOIL, var/param_color = null) //There has to be a better way to do this.
|
||||
if(embed_chance == -1) //From /obj/item, don't want to do what the normal cable_coil does
|
||||
@@ -912,14 +913,17 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
/obj/item/stack/cable_coil/alien/update_icon()
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/item/stack/cable_coil/alien/can_use(var/used)
|
||||
return 1
|
||||
|
||||
/obj/item/stack/cable_coil/alien/use() //It's endless
|
||||
return
|
||||
return 1
|
||||
|
||||
/obj/item/stack/cable_coil/alien/add() //Still endless
|
||||
return
|
||||
return 0
|
||||
|
||||
/obj/item/stack/cable_coil/alien/update_wclass()
|
||||
return
|
||||
return 0
|
||||
|
||||
/obj/item/stack/cable_coil/alien/examine(mob/user)
|
||||
var/msg = "A spool of cable."
|
||||
|
||||
@@ -186,8 +186,8 @@
|
||||
if(percent_unstable < 0)
|
||||
percent_unstable = 0
|
||||
else
|
||||
if(percent_unstable > 100)
|
||||
percent_unstable = 100
|
||||
if(percent_unstable > 1)
|
||||
percent_unstable = 1
|
||||
if(percent_unstable > 0)
|
||||
percent_unstable = max(0, percent_unstable-rand(0.01,0.03))
|
||||
|
||||
|
||||
@@ -38,4 +38,8 @@
|
||||
return 0
|
||||
|
||||
/obj/effect/fusion_particle_catcher/CanPass(var/atom/movable/mover, var/turf/target, var/height=0, var/air_group=0)
|
||||
return ismob(mover)
|
||||
if(istype(mover, /obj/item/projectile/beam))
|
||||
return 0
|
||||
if(istype(mover, /obj/effect/accelerated_particle))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -32,6 +32,13 @@
|
||||
/obj/machinery/power/sensor/proc/auto_set_name()
|
||||
name = "[name_tag] - Powernet Sensor"
|
||||
|
||||
/obj/machinery/power/sensor/Destroy()
|
||||
. = ..()
|
||||
// TODO - Switch power_monitor to register deletion events instead of this.
|
||||
for(var/obj/machinery/computer/power_monitor/PM in world)
|
||||
if(PM.power_monitor)
|
||||
PM.power_monitor.refresh_sensors()
|
||||
|
||||
// Proc: check_grid_warning()
|
||||
// Parameters: None
|
||||
// Description: Checks connected powernet for warnings. If warning is found returns 1
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
FG1.cleanup()
|
||||
if(FG2 && !FG2.clean_up)
|
||||
FG2.cleanup()
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/containment_field/attack_hand(mob/user as mob)
|
||||
if(get_dist(src, user) > 1)
|
||||
|
||||
@@ -168,7 +168,7 @@ field_generator power level display
|
||||
|
||||
/obj/machinery/field_generator/Destroy()
|
||||
src.cleanup()
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
@@ -312,12 +312,12 @@ field_generator power level display
|
||||
/obj/machinery/field_generator/proc/cleanup()
|
||||
clean_up = 1
|
||||
for (var/obj/machinery/containment_field/F in fields)
|
||||
if (isnull(F))
|
||||
if (QDELETED(F))
|
||||
continue
|
||||
qdel(F)
|
||||
fields = list()
|
||||
for(var/obj/machinery/field_generator/FG in connected_gens)
|
||||
if (isnull(FG))
|
||||
if (QDELETED(FG))
|
||||
continue
|
||||
FG.connected_gens.Remove(src)
|
||||
if(!FG.clean_up)//Makes the other gens clean up as well
|
||||
|
||||
@@ -581,7 +581,7 @@
|
||||
|
||||
/datum/reagent/drink/juice/potato
|
||||
name = "Potato Juice"
|
||||
id = "potato"
|
||||
id = "potatojuice"
|
||||
description = "Juice of the potato. Bleh."
|
||||
taste_description = "potatoes"
|
||||
nutrition = 2
|
||||
@@ -1021,7 +1021,7 @@
|
||||
|
||||
/datum/reagent/drink/milkshake/berryshake
|
||||
name = "Berry Milkshake"
|
||||
id = "Berryshake"
|
||||
id = "berryshake"
|
||||
description = "A refreshing berry milkshake."
|
||||
taste_description = "cold refreshing berries and cream"
|
||||
color = "#ffb2b2" // rgb(255, 178, 178)
|
||||
|
||||
@@ -1973,6 +1973,34 @@
|
||||
reagents.add_reagent("tomatojuice", 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/onionsoup
|
||||
name = "Onion Soup"
|
||||
desc = "A soup with layers."
|
||||
icon_state = "onionsoup"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#E0C367"
|
||||
center_of_mass = list("x"=16, "y"=7)
|
||||
nutriment_amt = 5
|
||||
nutriment_desc = list("onion" = 2, "soup" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/onionsoup/New()
|
||||
..()
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/onionrings
|
||||
name = "Onion Soup"
|
||||
desc = "Crispy rings."
|
||||
icon_state = "onionrings"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#E0C367"
|
||||
center_of_mass = list("x"=16, "y"=7)
|
||||
nutriment_amt = 5
|
||||
nutriment_desc = list("onion" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/onionrings/New()
|
||||
..()
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
|
||||
name = "Roffle Waffles"
|
||||
desc = "Waffles from Roffle. Co."
|
||||
@@ -3568,3 +3596,251 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/croissant/New()
|
||||
..()
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbun
|
||||
name = "meat bun"
|
||||
desc = "Chinese street food, in neither China nor a street."
|
||||
filling_color = "#DEDEAB"
|
||||
icon_state = "meatbun"
|
||||
nutriment_amt = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbun/New()
|
||||
..()
|
||||
bitesize = 2
|
||||
reagents.add_reagent("protein", 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||
name = "carp sashimi"
|
||||
desc = "Expertly prepared. Still toxic."
|
||||
filling_color = "#FFDEFE"
|
||||
icon_state = "sashimi"
|
||||
nutriment_amt = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sashimi/New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 2)
|
||||
reagents.add_reagent("carpotoxin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/benedict
|
||||
name = "eggs benedict"
|
||||
desc = "Hey, there's only one egg in this!"
|
||||
filling_color = "#FFDF78"
|
||||
icon_state = "benedict"
|
||||
nutriment_amt = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/benedict/New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/beans
|
||||
name = "baked beans"
|
||||
desc = "Musical fruit in a slightly less musical container."
|
||||
filling_color = "#FC6F28"
|
||||
icon_state = "beans"
|
||||
nutriment_amt = 4
|
||||
nutriment_desc = list("beans" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/beans/New()
|
||||
..()
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie
|
||||
name = "sugar cookie"
|
||||
desc = "Just like your little sister used to make."
|
||||
filling_color = "#DBC94F"
|
||||
icon_state = "sugarcookie"
|
||||
nutriment_amt = 5
|
||||
nutriment_desc = list("sweetness" = 4, "cookie" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/New()
|
||||
..()
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/berrymuffin
|
||||
name = "berry muffin"
|
||||
desc = "A delicious and spongy little cake, with berries."
|
||||
icon_state = "berrymuffin"
|
||||
filling_color = "#E0CF9B"
|
||||
center_of_mass = list("x"=17, "y"=4)
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("sweetness" = 2, "muffin" = 2, "berries" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/berrymuffin/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin
|
||||
name = "booberry muffin"
|
||||
desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
|
||||
icon_state = "berrymuffin"
|
||||
filling_color = "#799ACE"
|
||||
center_of_mass = list("x"=17, "y"=4)
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("spookiness" = 4, "muffin" = 1, "berries" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggroll
|
||||
name = "egg roll"
|
||||
desc = "Free with orders over 10 thalers."
|
||||
icon_state = "eggroll"
|
||||
filling_color = "#799ACE"
|
||||
center_of_mass = list("x"=17, "y"=4)
|
||||
nutriment_amt = 4
|
||||
nutriment_desc = list("egg" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggroll/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("protein", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fruitsalad
|
||||
name = "fruit salad"
|
||||
desc = "Your standard fruit salad."
|
||||
icon_state = "fruitsalad"
|
||||
filling_color = "#FF3867"
|
||||
nutriment_amt = 10
|
||||
nutriment_desc = list("fruit" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fruitsalad/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggbowl
|
||||
name = "egg bowl"
|
||||
desc = "A bowl of fried rice with egg mixed in."
|
||||
icon_state = "eggbowl"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#FFFBDB"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("rice" = 2, "egg" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggbowl/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("protein", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/porkbowl
|
||||
name = "pork bowl"
|
||||
desc = "A bowl of fried rice with cuts of meat."
|
||||
icon_state = "porkbowl"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#FFFBDB"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("rice" = 2, "meat" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/porkbowl/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("protein", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
name = "tortilla"
|
||||
desc = "The base for all your burritos."
|
||||
icon_state = "tortilla"
|
||||
nutriment_amt = 1
|
||||
nutriment_desc = list("bread" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tortilla/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatburrito
|
||||
name = "carne asada burrito"
|
||||
desc = "The best burrito for meat lovers."
|
||||
icon_state = "carneburrito"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("tortilla" = 3, "meat" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatburrito/New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito
|
||||
name = "Cheese burrito"
|
||||
desc = "It's a burrito filled with cheese."
|
||||
icon_state = "cheeseburrito"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("tortilla" = 3, "cheese" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("protein", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fuegoburrito
|
||||
name = "fuego phoron burrito"
|
||||
desc = "A super spicy burrito."
|
||||
icon_state = "fuegoburrito"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("chili peppers" = 5, "tortilla" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fuegoburrito/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("capsaicin", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/nachos
|
||||
name = "nachos"
|
||||
desc = "Chips from Old Mexico."
|
||||
icon_state = "nachos"
|
||||
nutriment_amt = 2
|
||||
nutriment_desc = list("salt" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/nachos/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesenachos
|
||||
name = "cheesy nachos"
|
||||
desc = "The delicious combination of nachos and melting cheese."
|
||||
icon_state = "cheesenachos"
|
||||
nutriment_amt = 5
|
||||
nutriment_desc = list("salt" = 2, "cheese" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesenachos/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("protein", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubannachos
|
||||
name = "cuban nachos"
|
||||
desc = "That's some dangerously spicy nachos."
|
||||
icon_state = "cubannachos"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("salt" = 1, "cheese" = 2, "chili peppers" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubannachos/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("capsaicin", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/piginblanket
|
||||
name = "pig in a blanket"
|
||||
desc = "A sausage embedded in soft, fluffy pastry. Free this pig from its blanket prison by eating it."
|
||||
icon_state = "piginblanket"
|
||||
nutriment_amt = 6
|
||||
nutriment_desc = list("meat" = 3, "pastry" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/piginblanket/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("protein", 4)
|
||||
bitesize = 3
|
||||
@@ -1229,6 +1229,14 @@ CIRCUITS BELOW
|
||||
build_path = /obj/item/weapon/circuitboard/grid_checker
|
||||
sort_string = "JBABC"
|
||||
|
||||
/datum/design/circuit/breakerbox
|
||||
name = "breaker box"
|
||||
desc = "Allows for the construction of circuit boards used to build a breaker box."
|
||||
id = "breakerbox"
|
||||
req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3)
|
||||
build_path = /obj/item/weapon/circuitboard/breakerbox
|
||||
sort_string = "JBABD"
|
||||
|
||||
/datum/design/circuit/gas_heater
|
||||
name = "gas heating system"
|
||||
id = "gasheater"
|
||||
|
||||
@@ -21,8 +21,6 @@
|
||||
var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr.
|
||||
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
|
||||
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon.
|
||||
var/glow_toggle = 0 // If they're glowing!
|
||||
var/glow_color = "#FFFFFF" // The color they're glowing!
|
||||
|
||||
//
|
||||
// Hook for generic creation of stuff on new creatures
|
||||
|
||||
@@ -34,10 +34,10 @@ var/global/datum/controller/xenobio/xenobio_controller // Set in New().
|
||||
var/list/xenobio_traits = ALL_XENO_GENES
|
||||
while(xenobio_traits && xenobio_traits.len)
|
||||
var/gene_tag = pick(xenobio_traits)
|
||||
var/gene_mask = "[uppertext(num2hex(rand(0,255)))]"
|
||||
var/gene_mask = "[uppertext(num2hex(rand(0,255), 2))]"
|
||||
|
||||
while(gene_mask in used_masks)
|
||||
gene_mask = "[uppertext(num2hex(rand(0,255)))]"
|
||||
gene_mask = "[uppertext(num2hex(rand(0,255), 2))]"
|
||||
|
||||
used_masks += gene_mask
|
||||
xenobio_traits -= gene_tag
|
||||
|
||||
Reference in New Issue
Block a user