Merge remote-tracking branch 'upstream/master'
@@ -5,7 +5,7 @@
|
||||
I = new path()
|
||||
|
||||
if(!I) // Something has gone horribly wrong, or right.
|
||||
log_debug("[name] created an Autolathe design without an assigned path. This is expected for only the Material Sheet generation.")
|
||||
log_debug("[name] created an Autolathe design without an assigned path.")
|
||||
return
|
||||
|
||||
if(I.matter && !resources)
|
||||
@@ -80,22 +80,12 @@
|
||||
if(istype(M, /datum/material/alienalloy))
|
||||
continue
|
||||
|
||||
var/obj/item/stack/material/Mat = new M.stack_type()
|
||||
|
||||
if(Mat.name in items_by_name)
|
||||
qdel(Mat)
|
||||
var/obj/item/stack/material/S = M.stack_type
|
||||
if(initial(S.name) in items_by_name)
|
||||
continue
|
||||
|
||||
var/datum/category_item/autolathe/materials/WorkDat = new(src)
|
||||
var/datum/category_item/autolathe/materials/WorkDat = new(src, M)
|
||||
|
||||
WorkDat.name = "[Mat.name]"
|
||||
WorkDat.resources = Mat.matter.Copy()
|
||||
WorkDat.is_stack = TRUE
|
||||
WorkDat.no_scale = TRUE
|
||||
WorkDat.max_stack = Mat.max_amount
|
||||
WorkDat.path = M.stack_type
|
||||
|
||||
qdel(Mat)
|
||||
|
||||
items |= WorkDat
|
||||
items_by_name[WorkDat.name] = WorkDat
|
||||
|
||||
@@ -1,38 +1,23 @@
|
||||
|
||||
/datum/category_item/autolathe/materials/metal
|
||||
name = "steel sheets"
|
||||
path =/obj/item/stack/material/steel
|
||||
/datum/category_item/autolathe/materials
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
no_scale = TRUE // Prevents material duplaction exploits
|
||||
|
||||
/datum/category_item/autolathe/materials/glass
|
||||
name = "glass sheets"
|
||||
path =/obj/item/stack/material/glass
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
/datum/category_item/autolathe/materials/New(var/loc, var/mat)
|
||||
if(istype(mat, /obj/item/stack/material))
|
||||
var/obj/item/stack/material/M = mat
|
||||
name = M.name
|
||||
resources = M.matter.Copy()
|
||||
max_stack = M.max_amount
|
||||
path = M.type
|
||||
else if(istype(mat, /datum/material))
|
||||
var/datum/material/M = mat
|
||||
var/obj/item/stack/material/S = M.stack_type
|
||||
name = initial(S.name)
|
||||
resources = M.get_matter()
|
||||
max_stack = initial(S.max_amount)
|
||||
path = S
|
||||
. = ..()
|
||||
|
||||
/datum/category_item/autolathe/materials/rglass
|
||||
name = "reinforced glass sheets"
|
||||
path =/obj/item/stack/material/glass/reinforced
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
|
||||
/datum/category_item/autolathe/materials/rods
|
||||
/datum/category_item/autolathe/materials/rods // Not strictly a material, so they need their own define
|
||||
name = "metal rods"
|
||||
path =/obj/item/stack/rods
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
|
||||
/datum/category_item/autolathe/materials/plasteel
|
||||
name = "plasteel sheets"
|
||||
path =/obj/item/stack/material/plasteel
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
resources = list(MAT_PLASTEEL = 2000)
|
||||
|
||||
/datum/category_item/autolathe/materials/plastic
|
||||
name = "plastic sheets"
|
||||
path =/obj/item/stack/material/plastic
|
||||
is_stack = TRUE
|
||||
no_scale = TRUE //prevents material duplication exploits
|
||||
resources = list(MAT_PLASTIC = 2000)
|
||||
path =/obj/item/stack/rods
|
||||
@@ -310,26 +310,27 @@ var/global/list/additional_antag_types = list()
|
||||
for(var/mob/M in player_list)
|
||||
if(M.client)
|
||||
clients++
|
||||
var/M_area_type = (get_turf(M))?.loc?.type
|
||||
if(ishuman(M))
|
||||
if(M.stat != DEAD)
|
||||
surviving_humans++
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type in escape_locations)
|
||||
if(M_area_type in escape_locations)
|
||||
escaped_humans++
|
||||
if(M.stat != DEAD)
|
||||
surviving_total++
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type in escape_locations)
|
||||
if(M_area_type in escape_locations)
|
||||
escaped_total++
|
||||
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape/centcom)
|
||||
if(M_area_type == /area/shuttle/escape/centcom)
|
||||
escaped_on_shuttle++
|
||||
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod1/centcom)
|
||||
if(M_area_type == /area/shuttle/escape_pod1/centcom)
|
||||
escaped_on_pod_1++
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod2/centcom)
|
||||
if(M_area_type == /area/shuttle/escape_pod2/centcom)
|
||||
escaped_on_pod_2++
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod3/centcom)
|
||||
if(M_area_type == /area/shuttle/escape_pod3/centcom)
|
||||
escaped_on_pod_3++
|
||||
if(M.loc && M.loc.loc && M.loc.loc.type == /area/shuttle/escape_pod5/centcom)
|
||||
if(M_area_type == /area/shuttle/escape_pod5/centcom)
|
||||
escaped_on_pod_5++
|
||||
|
||||
if(isobserver(M))
|
||||
|
||||
@@ -632,7 +632,7 @@
|
||||
/obj/machinery/suit_cycler/exploration
|
||||
name = "Explorer suit cycler"
|
||||
model_text = "Exploration"
|
||||
departments = list("Exploration","Old Exploration","No Change")
|
||||
departments = list("Exploration","Expedition Medic","Old Exploration","No Change")
|
||||
|
||||
/obj/machinery/suit_cycler/exploration/Initialize()
|
||||
species -= SPECIES_TESHARI
|
||||
@@ -1113,6 +1113,9 @@
|
||||
if("Exploration")
|
||||
parent_helmet = /obj/item/clothing/head/helmet/space/void/exploration
|
||||
parent_suit = /obj/item/clothing/suit/space/void/exploration
|
||||
if("Expedition Medic")
|
||||
parent_helmet = /obj/item/clothing/head/helmet/space/void/expedition_medical
|
||||
parent_suit = /obj/item/clothing/suit/space/void/expedition_medical
|
||||
if("Old Exploration")
|
||||
parent_helmet = /obj/item/clothing/head/helmet/space/void/exploration/alt
|
||||
parent_suit = /obj/item/clothing/suit/space/void/exploration/alt
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
// Old Exploration is too WIP to use right now
|
||||
/obj/machinery/suit_cycler/exploration
|
||||
req_access = list(access_explorer)
|
||||
departments = list("Exploration","No Change")
|
||||
req_access = null
|
||||
req_one_access = list(access_explorer,access_medical_equip)
|
||||
departments = list("Exploration","Expedition Medic","No Change")
|
||||
|
||||
/obj/machinery/suit_cycler/pilot
|
||||
req_access = list(access_pilot)
|
||||
|
||||
@@ -590,8 +590,9 @@
|
||||
desc = "An old sweet water vending machine,how did this end up here?"
|
||||
icon_state = "sovietsoda"
|
||||
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
|
||||
products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up = 30) // TODO Russian soda can
|
||||
contraband = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/cola = 20) // TODO Russian cola can
|
||||
products = list(/obj/item/weapon/reagent_containers/food/drinks/cans/boda = 30, //ADDITION 04/03/2021
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/kompot = 20) //ADDITION 04/03/2021
|
||||
contraband = list(/obj/item/weapon/reagent_containers/food/drinks/cans/kvass = 20) //ADDITION 04/03/2021
|
||||
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
|
||||
vending_sound = "machines/vending/vending_cans.ogg"
|
||||
|
||||
|
||||
@@ -329,13 +329,33 @@
|
||||
|
||||
/obj/item/clothing/suit/space/void/exploration
|
||||
name = "exploration voidsuit"
|
||||
desc = "A lightweight, radiation-resistant voidsuit, featuring the Explorer emblem on its chest plate. Designed for exploring unknown planetary environments."
|
||||
desc = "A hazard and radiation resistant voidsuit, featuring the Explorer emblem on its chest plate. Designed for exploring unknown planetary environments."
|
||||
icon_state = "void_explorer"
|
||||
item_state_slots = list(slot_r_hand_str = "skrell_suit_black", slot_l_hand_str = "skrell_suit_black")
|
||||
armor = list(melee = 40, bullet = 15, laser = 25,energy = 35, bomb = 30, bio = 100, rad = 70)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon, \
|
||||
/obj/item/weapon/shovel,/obj/item/ammo_magazine,/obj/item/weapon/gun)
|
||||
|
||||
//SAR
|
||||
/obj/item/clothing/head/helmet/space/void/expedition_medical
|
||||
name = "exploration medic\'s voidsuit helmet"
|
||||
desc = "A radiation-resistant helmet made especially for exploring unknown planetary environments. Has a reinforced high-vis bubble style visor."
|
||||
icon_state = "helm_exp_medic"
|
||||
item_state = "helm_exp_medic"
|
||||
item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
|
||||
armor = list(melee = 25, bullet = 10, laser = 20,energy = 30, bomb = 25, bio = 100, rad = 70)
|
||||
light_overlay = "helmet_light_dual" //explorer_light
|
||||
|
||||
/obj/item/clothing/suit/space/void/expedition_medical
|
||||
name = "exploration medic\'s voidsuit"
|
||||
desc = "A hazard and radiation resistant voidsuit, featuring the Explorer emblem and a green cross on its chest plate. Seems to be a little lighter and more flexible than the regular explorer issue."
|
||||
icon_state = "void_exp_medic"
|
||||
slowdown = 0.75
|
||||
item_state_slots = list(slot_r_hand_str = "skrell_suit_black", slot_l_hand_str = "skrell_suit_black")
|
||||
armor = list(melee = 25, bullet = 10, laser = 20,energy = 30, bomb = 25, bio = 100, rad = 70)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon, \
|
||||
/obj/item/weapon/shovel,/obj/item/ammo_magazine,/obj/item/weapon/gun,/obj/item/weapon/storage/firstaid,/obj/item/stack/medical)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/exploration/alt
|
||||
desc = "A radiation-resistant helmet retrofitted for exploring unknown planetary environments."
|
||||
icon_state = "helm_explorer2"
|
||||
|
||||
@@ -171,3 +171,36 @@
|
||||
. = ..()
|
||||
reagents.add_reagent("rootbeer", 30)
|
||||
|
||||
//ADDITIONS BELOW THIS LINE MADE ON 04/03/2021
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/kvass
|
||||
name = "\improper Kvass"
|
||||
desc = "A true Slavic soda."
|
||||
description_fluff = "A classic slavic beverage which many Space Russians still enjoy to this day. Fun fact, it is actually considered a weak beer by non-russians."
|
||||
icon_state = "kvass"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/kvass/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("kvass", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/kompot
|
||||
name = "\improper Kompot"
|
||||
desc = "A taste of russia in the summertime - canned for you consumption."
|
||||
description_fluff = "A sweet and fruity beverage that was traditionally used to preserve frutis in harsh Russian winters that is now available for widespread comsumption."
|
||||
icon_state = "kompot"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/kompot/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("kompot", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/boda
|
||||
name = "\improper Boda"
|
||||
desc = "State regulated soda beverage. Enjoy comrades."
|
||||
icon_state = "boda"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/boda/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("sodawater", 30)
|
||||
@@ -53,9 +53,10 @@ var/list/name_to_material
|
||||
/proc/populate_material_list(force_remake=0)
|
||||
if(name_to_material && !force_remake) return // Already set up!
|
||||
name_to_material = list()
|
||||
for(var/type in typesof(/datum/material) - /datum/material)
|
||||
for(var/type in subtypesof(/datum/material))
|
||||
var/datum/material/new_mineral = new type
|
||||
if(!new_mineral.name)
|
||||
qdel(new_mineral)
|
||||
continue
|
||||
name_to_material[lowertext(new_mineral.name)] = new_mineral
|
||||
return 1
|
||||
|
||||
@@ -492,6 +492,7 @@ This function restores all organs.
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
damageoverlaytemp = 20
|
||||
if(nif && nif.flag_check(NIF_C_BRUTEARMOR,NIF_FLAGS_COMBAT)){damage *= 0.7}
|
||||
damage = damage*species.brute_mod
|
||||
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
@@ -504,6 +505,7 @@ This function restores all organs.
|
||||
UpdateDamageIcon()
|
||||
if(BURN)
|
||||
damageoverlaytemp = 20
|
||||
if(nif && nif.flag_check(NIF_C_BURNARMOR,NIF_FLAGS_COMBAT)){damage *= 0.7}
|
||||
damage = damage*species.burn_mod
|
||||
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
illegal = TRUE
|
||||
wear = 3
|
||||
access = 999 //Prevents anyone from buying it without an emag.
|
||||
activates = FALSE //It's armor.
|
||||
combat_flags = (NIF_C_BRUTEARMOR) // Default on when installed, clear when uninstalled
|
||||
|
||||
/datum/nifsoft/burn_armor
|
||||
@@ -19,7 +18,6 @@
|
||||
illegal = TRUE
|
||||
wear = 3
|
||||
access = 999 //Prevents anyone from buying it without an emag.
|
||||
activates = FALSE //It's armor.
|
||||
combat_flags = (NIF_C_BURNARMOR) // Default on when installed, clear when uninstalled
|
||||
|
||||
/datum/nifsoft/painkillers
|
||||
|
||||
@@ -1700,7 +1700,7 @@
|
||||
|
||||
glass_name = "Rewriter"
|
||||
glass_desc = "The secret of the sanctuary of the Libarian..."
|
||||
allergen_type = FRUIT|COFFEE //Made with space mountain wind (Fruit)
|
||||
allergen_type = FRUIT|COFFEE //Made with space mountain wind (Fruit)
|
||||
|
||||
/datum/reagent/drink/rewriter/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
@@ -2720,7 +2720,7 @@
|
||||
glass_name = "Banana Honk"
|
||||
glass_desc = "A drink from Banana Heaven."
|
||||
|
||||
allergen_type = FRUIT|DAIRY //Made from banana juice(fruit) and cream(dairy)
|
||||
allergen_type = FRUIT|DAIRY //Made from banana juice(fruit) and cream(dairy)
|
||||
|
||||
/datum/reagent/ethanol/barefoot
|
||||
name = "Barefoot"
|
||||
@@ -4156,3 +4156,28 @@
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 40 //very filling
|
||||
color = "#d169b2"
|
||||
|
||||
//ADDITIONS BELOW THIS LINE MADE ON 04/03/2021
|
||||
|
||||
/datum/reagent/drink/soda/kompot
|
||||
name = "Kompot"
|
||||
id = "kompot"
|
||||
description = "A traditional Eastern European beverage once used to preserve fruit in the 1980s"
|
||||
taste_description = "refreshuingly sweet and fruity"
|
||||
color = "#ed9415" // rgb: 237, 148, 21
|
||||
adj_drowsy = -1
|
||||
adj_temp = -6
|
||||
glass_name = "kompot"
|
||||
glass_desc = "A glass of refreshing kompot."
|
||||
glass_special = list(DRINK_FIZZ)
|
||||
|
||||
/datum/reagent/ethanol/kvass
|
||||
name = "Kvass"
|
||||
id = "kvass"
|
||||
description = "A traditional fermented Slavic and Baltic beverage commonly made from rye bread."
|
||||
taste_description = "a warm summer day at babushka's cabin"
|
||||
color = "#b78315" // rgb: 183, 131, 21
|
||||
strength = 95 //It's just soda to Russians
|
||||
nutriment_factor = 2
|
||||
glass_name = "kvass"
|
||||
glass_desc = "A hearty glass of Slavic brew."
|
||||
|
||||
|
Before Width: | Height: | Size: 359 KiB After Width: | Height: | Size: 358 KiB |
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 89 KiB |