This commit is contained in:
QuoteFox
2021-01-30 02:58:49 +00:00
23 changed files with 196 additions and 116 deletions
@@ -323,7 +323,7 @@
/obj/item/paper/fluff/awaymissions/snowdin/secnotice
name = "Security Notice"
info = {"YOu have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital information is kept secure while the stationed crew obeys protocol. The picked
info = {"You have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital information is kept secure while the stationed crew obeys protocol. The picked
staff for this post have been pre-screened with no prior incidients on record, but incase of an issue you have been given a single holding cell and instructions to contact Central to terminate the
offending crewmember."}
+1 -1
View File
@@ -189,7 +189,7 @@
crate_name = "swat crate"
/datum/supply_pack/security/armory/swattasers //Lesser AEG tbh
name = "SWAT tatical tasers Crate"
name = "SWAT tactical tasers Crate"
desc = "Contains two tactical energy gun, these guns are able to tase, disable and lethal as well as hold a seclight. Requires Armory access to open."
cost = 7000
contains = list(/obj/item/gun/energy/e_gun/stun,
+6 -6
View File
@@ -21,19 +21,19 @@
/obj/item/clothing/under/syndicate/tacticool
name = "tacticool turtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool"
desc = "A robust looking turtleneck designed to fit tightly against the body while still being comfortable."
icon_state = "syndicate"
item_state = "bl_suit"
item_color = "tactifool"
item_color = "syndicate"
has_sensor = HAS_SENSORS
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
/obj/item/clothing/under/syndicate/tacticool/skirt
name = "tacticool skirtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool_skirt"
desc = "A robust looking skirtleneck designed to fit tightly against the body while still being comfortable."
icon_state = "syndicate_skirt"
item_state = "bl_suit"
item_color = "tactifool_skirt"
item_color = "syndicate_skirt"
has_sensor = HAS_SENSORS
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
fitted = FEMALE_UNIFORM_TOP
@@ -116,3 +116,12 @@
bonus_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 4)
tastes = list("rice" = 1, "egg" = 1)
foodtype = GRAIN | MEAT //EGG = MEAT -NinjaNomNom 2017
/obj/item/reagent_containers/food/snacks/salad/hellcobb
name = "hell cobb salad"
desc = "If you're being honest with yourself it's just a bowl of mushrooms with chunks of meat and an egg."
icon_state = "hellcobb"
trash = /obj/item/reagent_containers/glass/bowl/mushroom_bowl
bonus_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 4)
tastes = list("fruity cactus" = 5, "ash" = 1, "tough meat" = 3, "your eternal damnation" = 1)
foodtype = FRUIT | MEAT | VEGETABLES //MUSHROOM = VEGETABLE -VladinXXV 2021
@@ -254,3 +254,20 @@
tastes = list("bungo" = 2, "hot curry" = 4, "tropical sweetness" = 1)
filling_color = "#E6A625"
foodtype = VEGETABLES | FRUIT | DAIRY
/obj/item/reagent_containers/food/snacks/soup/creamofwastes
name = "cream of the wastes soup"
desc = "Locals say the bowl gives it a unique flavor each time. That might just be whatever killed the goliath getting in your bowl, though."
icon_state = "wastessoup"
trash = /obj/item/reagent_containers/glass/bowl/mushroom_bowl
var/snowflake_reagent = null
list_reagents = list(/datum/reagent/consumable/nutriment = 6)
tastes = list("a fresh kill" = 3, "creamy mushroom" = 5, "a warm sunset over the scorched landscape of hell" = 1)
/obj/item/reagent_containers/food/snacks/soup/creamofwastes/Initialize()
. = ..()
snowflake_reagent = pick(/datum/reagent/consumable/capsaicin, /datum/reagent/consumable/frostoil,
/datum/reagent/blood, /datum/reagent/oil, /datum/reagent/consumable/honey,
/datum/reagent/carbon, /datum/reagent/drug/mushroomhallucinogen)
bonus_reagents = list(snowflake_reagent = 5, /datum/reagent/consumable/nutriment = 6)
reagents.add_reagent(snowflake_reagent, 5)
@@ -94,3 +94,16 @@
)
result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight
subcategory = CAT_SALAD
/datum/crafting_recipe/food/hellcobb
name = "Hell Cobb Salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl/mushroom_bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf = 3,
/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit = 2,
/obj/item/reagent_containers/food/snacks/meat/steak/goliath = 1,
/obj/item/reagent_containers/food/snacks/boiledegg = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/hellcobb
subcategory = CAT_SALAD
@@ -247,3 +247,15 @@
)
result = /obj/item/reagent_containers/food/snacks/soup/macaco
subcategory = CAT_SOUP
/datum/crafting_recipe/food/creamofwastes
name = "Cream of the Wastes soup"
reqs = list(
/datum/reagent/consumable/milk = 10,
/obj/item/reagent_containers/glass/bowl/mushroom_bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf = 1,
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem =2,
/obj/item/reagent_containers/food/snacks/meat/steak/goliath = 2 //wanted to make this three cutlets, but goliath meat doesn't get a unique cutlet
)
result = /obj/item/reagent_containers/food/snacks/soup/creamofwastes
subcategory = CAT_SOUP
+1 -1
View File
@@ -509,7 +509,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums
name = "scanner control interface"
icon = 'icons/obj/library.dmi'
icon_state = "bigscanner"
desc = "It servers the purpose of scanning stuff."
desc = "It serves the purpose of scanning stuff."
density = TRUE
var/obj/item/book/cache // Last scanned book
+1 -1
View File
@@ -407,7 +407,7 @@
if(O)
O.on_life()
else
if(reagents.has_reagent("formaldehyde", 1)) // No organ decay if the body contains formaldehyde.
if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1)) // No organ decay if the body contains formaldehyde.
return
for(var/V in internal_organs)
var/obj/item/organ/O = V
+27 -21
View File
@@ -19,6 +19,8 @@
var/ndir = SOUTH // target dir
var/turn_angle = 0
var/obj/machinery/power/solar_control/control = null
var/obj/item/solar_assembly/assembly
var/efficiency = 1
/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
@@ -45,14 +47,13 @@
/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S)
if(!S)
S = new /obj/item/solar_assembly(src)
S.glass_type = /obj/item/stack/sheet/glass
S = new /obj/item/solar_assembly
S.glass_type = new /obj/item/stack/sheet/glass(null, 2)
S.anchored = TRUE
else
S.forceMove(src)
if(S.glass_type == /obj/item/stack/sheet/rglass) //if the panel is in reinforced glass
max_integrity *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
obj_integrity = max_integrity
S.moveToNullspace()
S.glass_type.on_solar_construction(src)
obj_integrity = max_integrity
update_icon()
/obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I)
@@ -85,14 +86,14 @@
/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
var/obj/item/solar_assembly/S = locate() in src
if(S)
S.forceMove(loc)
S.give_glass(stat & BROKEN)
if(assembly)
assembly.forceMove(loc)
assembly.give_glass(stat & BROKEN)
else
playsound(src, "shatter", 70, 1)
new /obj/item/shard(src.loc)
new /obj/item/shard(src.loc)
var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
new shard(loc)
new shard(loc)
qdel(src)
@@ -131,7 +132,7 @@
if(powernet == control.powernet)//check if the panel is still connected to the computer
if(obscured) //get no light from the sun, so don't generate power
return
var/sgen = SOLARGENRATE * sunfrac
var/sgen = SOLARGENRATE * sunfrac * efficiency
add_avail(sgen)
control.gen += sgen
else //if we're no longer on the same powernet, remove from control computer
@@ -186,19 +187,23 @@
w_class = WEIGHT_CLASS_BULKY // Pretty big!
anchored = FALSE
var/tracker = 0
var/glass_type = null
var/obj/item/stack/sheet/glass_type
var/static/list/allowed_sheets = typecacheof(list(/obj/item/stack/sheet/glass, /obj/item/stack/sheet/rglass,
/obj/item/stack/sheet/plasmaglass, /obj/item/stack/sheet/plasmarglass,
/obj/item/stack/sheet/titaniumglass, /obj/item/stack/sheet/plastitaniumglass))
// Give back the glass type we were supplied with
/obj/item/solar_assembly/proc/give_glass(device_broken)
var/atom/Tsec = drop_location()
if(device_broken)
new /obj/item/shard(Tsec)
new /obj/item/shard(Tsec)
var/shard = glass_type ? glass_type.shard_type : /obj/item/shard
if(shard)
new shard(Tsec)
new shard(Tsec)
else if(glass_type)
new glass_type(Tsec, 2)
forceMove(glass_type, Tsec)
glass_type = null
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wrench) && isturf(loc))
if(isinspace())
@@ -213,13 +218,14 @@
W.play_tool_sound(src, 75)
return 1
if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
if(is_type_in_typecache(W, allowed_sheets))
if(!anchored)
to_chat(user, "<span class='warning'>You need to secure the assembly before you can add glass.</span>")
return
var/obj/item/stack/sheet/S = W
if(S.use(2))
glass_type = W.type
var/obj/item/stack/sheet/G = S.change_stack(null, 2)
if(G)
glass_type = G
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] places the glass on the solar assembly.", "<span class='notice'>You place the glass on the solar assembly.</span>")
if(tracker)
+16 -16
View File
@@ -16,10 +16,19 @@
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
var/obj/item/solar_assembly/assembly
/obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
Make(S)
if(!S)
assembly = new /obj/item/solar_assembly
assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2)
assembly.tracker = TRUE
assembly.anchored = TRUE
else
S.moveToNullspace()
assembly = S
update_icon()
connect_to_network()
/obj/machinery/power/tracker/Destroy()
@@ -40,15 +49,6 @@
control.connected_tracker = null
control = null
/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S)
if(!S)
S = new /obj/item/solar_assembly(src)
S.glass_type = /obj/item/stack/sheet/glass
S.tracker = 1
S.anchored = TRUE
S.forceMove(src)
update_icon()
//updates the tracker icon and the facing angle for the control computer
/obj/machinery/power/tracker/proc/set_angle(angle)
sun_angle = angle
@@ -77,14 +77,14 @@
/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
var/obj/item/solar_assembly/S = locate() in src
if(S)
S.forceMove(loc)
S.give_glass(stat & BROKEN)
if(assembly)
assembly.forceMove(loc)
assembly.give_glass(stat & BROKEN)
else
playsound(src, "shatter", 70, 1)
new /obj/item/shard(src.loc)
new /obj/item/shard(src.loc)
var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
new shard(loc)
new shard(loc)
qdel(src)
// Tracker Electronic
@@ -206,7 +206,7 @@
item_state = "combatshotgun"
mag_type = /obj/item/ammo_box/magazine/internal/shot/com
w_class = WEIGHT_CLASS_HUGE
unique_reskin = list("Tatical" = "cshotgun",
unique_reskin = list("Tactical" = "cshotgun",
"Slick" = "cshotgun_slick"
)