diff --git a/citadel.dme b/citadel.dme
index 359d7b6eeed..813290cc018 100644
--- a/citadel.dme
+++ b/citadel.dme
@@ -946,6 +946,7 @@
#include "code\datums\recipe\crafting_recipes\recipes_misc.dm"
#include "code\datums\recipe\crafting_recipes\recipes_primal.dm"
#include "code\datums\recipe\crafting_recipes\recipes_robot.dm"
+#include "code\datums\recipe\crafting_recipes\recipes_special.dm"
#include "code\datums\recipe\crafting_recipes\recipes_weapon_and_ammo.dm"
#include "code\datums\recipe\material_recipes\furniture.dm"
#include "code\datums\recipe\material_recipes\structures.dm"
@@ -3020,6 +3021,7 @@
#include "code\modules\ghostroles\spawnpoint.dm"
#include "code\modules\ghostroles\roles\ashlander.dm"
#include "code\modules\ghostroles\roles\hermit.dm"
+#include "code\modules\ghostroles\roles\lythios_colonist.dm"
#include "code\modules\ghostroles\roles\pirate.dm"
#include "code\modules\ghostroles\roles\sapient_mob.dm"
#include "code\modules\ghosttrap\trap.dm"
diff --git a/code/__DEFINES/recipes.dm b/code/__DEFINES/recipes.dm
index 5c22668e487..cc10541145c 100644
--- a/code/__DEFINES/recipes.dm
+++ b/code/__DEFINES/recipes.dm
@@ -30,6 +30,7 @@
#define CAT_SEAFOOD "Seafood"
#define CAT_SOUP "Soups"
#define CAT_SPAGHETTI "Spaghettis"
+#define CAT_SPECIAL "Special Recipes"
#define CAT_TOOL "Tools & Storage"
#define CAT_WEAPON "Ranged Weapons"
#define CAT_WEAPONRY "Weaponry"
diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm
index a2d26e2c8e6..4ba0dfbaa20 100644
--- a/code/datums/components/crafting/crafting.dm
+++ b/code/datums/components/crafting/crafting.dm
@@ -33,6 +33,7 @@
CAT_FURNITURE,
),
CAT_PRIMAL = CAT_NONE,
+ CAT_SPECIAL = CAT_NONE,
CAT_FOOD = list(
CAT_BREAD,
CAT_BURGER,
diff --git a/code/datums/outfits/ghostrole.dm b/code/datums/outfits/ghostrole.dm
index fd612625339..0a20c6d4c95 100644
--- a/code/datums/outfits/ghostrole.dm
+++ b/code/datums/outfits/ghostrole.dm
@@ -87,3 +87,15 @@
belt = /obj/item/gun/projectile/energy/zip
r_pocket = /obj/item/melee/transforming/energy/sword/cutlass
r_hand = /obj/item/shield/makeshift
+
+//Lythios Colonist
+/datum/outfit/lythios_colonist
+ name = "Lythios Colonist"
+ uniform = /obj/item/clothing/under/tajaran
+ shoes = /obj/item/clothing/shoes/tajara/footwraps
+ back = /obj/item/storage/backpack/dufflebag
+ id_slot = SLOT_ID_WORN_ID
+ id_type = /obj/item/card/id/external/id_nka
+ l_hand = /obj/item/gearbox/lythios_colonist
+ r_pocket = /obj/item/reagent_containers/food/drinks/flask/tajflask/v_gin
+ l_pocket = /obj/item/flame/lighter/zippo/taj
diff --git a/code/datums/recipe/crafting_recipes/recipes_misc.dm b/code/datums/recipe/crafting_recipes/recipes_misc.dm
index 0c15003d63a..52c20166d68 100644
--- a/code/datums/recipe/crafting_recipes/recipes_misc.dm
+++ b/code/datums/recipe/crafting_recipes/recipes_misc.dm
@@ -371,8 +371,9 @@
/obj/item/stack/rods = 1,
/obj/item/weldingtool/mini = 1)
time = 40
- category = CAT_TOOL
- subcategory = CAT_MISCELLANEOUS
+ subcategory = CAT_TOOL
+ category = CAT_MISCELLANEOUS
+
/* Not gonna code this right now. This is bound to be nuts.
/datum/crafting_recipe/rcl
@@ -430,6 +431,18 @@
always_available = FALSE
*/
+//This Recipe is so you can soak hide without a sink.
+
+/datum/crafting_recipe/soak_hide
+ name = "Soak Hairless Hide"
+ result = /obj/item/stack/wetleather
+ time = 10
+ reqs = list(/obj/item/stack/hairlesshide = 1,
+ /datum/reagent/water = 5)
+ subcategory = CAT_TOOL
+ category = CAT_MISCELLANEOUS
+
+
////////////
//Vehicles//
////////////
diff --git a/code/datums/recipe/crafting_recipes/recipes_special.dm b/code/datums/recipe/crafting_recipes/recipes_special.dm
new file mode 100644
index 00000000000..59adf5543cc
--- /dev/null
+++ b/code/datums/recipe/crafting_recipes/recipes_special.dm
@@ -0,0 +1,164 @@
+/* This is for recipes that you get from either your role or from books/other means (Maybe species/background/assignment in the future).
+They represent special know how outside of the skills a Nanotrasen station staff but do not fall under the 'Primal' Category.
+Example can include special cooking recipes native to a particular culture, Traditional Medicines, weird science know how,
+or simply ideas that are simply outside of the traditional expertise of Nanotrasen crews. */
+
+
+//Lythios Colonist Recipes
+
+/datum/crafting_recipe/evapmilk
+ name = "Evaporate Milk"
+ result = /obj/item/reagent_containers/food/drinks/cans/evapmilk
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/food/drinks/cans/empty = 1,
+ /datum/reagent/drink/milk = 40)
+ time = 90
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/kompot
+ name = "Brew Ashomarr'darr"
+ result = /obj/item/reagent_containers/food/drinks/cans/kompot_taj
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/food/drinks/cans/empty = 1,
+ /obj/item/stack/material/snow = 4,
+ /obj/item/reagent_containers/food/snacks/ashomarr = 4)
+ time = 90
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/watercan
+ name = "Melt Snow"
+ result = /obj/item/reagent_containers/food/drinks/cans/watercan
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/food/drinks/cans/empty = 1,
+ /obj/item/stack/material/snow = 4)
+ time = 90
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/guskacake
+ name = "Make Guskacake"
+ result = /obj/item/reagent_containers/food/snacks/guskacake
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/food/snacks/guska = 2,
+ /obj/item/reagent_containers/food/snacks/ashomarr = 2 )
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/taj_pemmican
+ name = "Make Pemmican"
+ result = /obj/item/reagent_containers/food/snacks/taj_pemmican
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/food/snacks/rawbacon = 3,
+ /obj/item/reagent_containers/food/snacks/ashomarr = 2 )
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/stimm_hypo
+ name = "Make Energizing Spiderbite"
+ result = /obj/item/reagent_containers/hypospray/autoinjector/venominjector/stimm
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/glass/venomgland/spider/stimm = 1,
+ /datum/reagent/toxin/stimm = 15,
+ /obj/item/stack/material/bone = 1)
+ time = 40
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/chloral_hypo
+ name = "Make Sophoric Spiderbite"
+ result = /obj/item/reagent_containers/hypospray/autoinjector/venominjector/chloral
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/glass/venomgland/spider/chloral = 1,
+ /datum/reagent/chloralhydrate= 15,
+ /obj/item/stack/material/bone = 1)
+ time = 40
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/trippy_hypo
+ name = "Make Trippy Spiderbite"
+ result = /obj/item/reagent_containers/hypospray/autoinjector/venominjector/psilocybin
+
+ tools = list(/obj/item/flame/lighter/zippo/taj)
+ reqs = list(/obj/item/reagent_containers/glass/venomgland/spider/psilocybin = 1,
+ /datum/reagent/psilocybin= 15,
+ /obj/item/stack/material/bone = 1)
+ time = 40
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/spider_spray
+ name = "Make Spider Spray"
+ result = /obj/item/reagent_containers/spray/spider/pepper
+
+ reqs = list(/obj/item/reagent_containers/glass/venomgland/spider/capsaicin_v = 1,
+ /datum/reagent/condensedcapsaicin/venom = 15,
+ /obj/item/stack/material/bone = 3,
+ /obj/item/stack/sinew = 1)
+ time = 40
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/empty_can
+ name = "Make Sealable Can"
+ result = /obj/item/reagent_containers/food/drinks/cans/empty
+
+ tools = list(TOOL_WELDER, TOOL_SCREWDRIVER)
+ reqs = list(/obj/item/stack/material/steel)
+ time = 20
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/hunter_coat
+ name = "Craft Hunting Coat"
+ result = /obj/item/clothing/suit/storage/tajaran/coat
+
+ tools = list(TOOL_WIRECUTTER)
+ reqs = list(/obj/item/stack/material/cloth = 6,
+ /obj/item/stack/material/leather = 6)
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/taj_dress
+ name = "Weave White Dress"
+ result = /obj/item/clothing/under/dress/tajaran
+
+ tools = list(TOOL_WIRECUTTER)
+ reqs = list(/obj/item/stack/material/cloth = 8)
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/taj_rdress
+ name = "Weave Red Dress"
+ result = /obj/item/clothing/under/dress/tajaran/red
+
+ tools = list(TOOL_WIRECUTTER)
+ reqs = list(/obj/item/stack/material/cloth = 8,
+ /obj/item/reagent_containers/food/snacks/ashomarr = 4)
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
+
+/datum/crafting_recipe/taj_bdress
+ name = "Weave Blue Dress"
+ result = /obj/item/clothing/under/dress/tajaran/blue
+
+ tools = list(TOOL_WIRECUTTER)
+ reqs = list(/obj/item/stack/material/cloth = 8,
+ /datum/reagent/frostoil = 8)
+ time = 60
+ category = CAT_SPECIAL
+ always_available = FALSE
diff --git a/code/game/objects/items/id_cards/station_ids.dm b/code/game/objects/items/id_cards/station_ids.dm
index 20a473b093d..a5b900e27c4 100644
--- a/code/game/objects/items/id_cards/station_ids.dm
+++ b/code/game/objects/items/id_cards/station_ids.dm
@@ -795,3 +795,9 @@
icon_state = "guest"
job_access_type = null
access = list(170)
+
+/obj/item/card/id/external/id_nka
+ name = "New Kingdom of Adhomai Commoner's ID"
+ desc = "An ID issued to the non-noble commoners of the New Kingdom of Adhomai. In some regions, adults must legally carry it on their person at all times."
+ icon_state = "nka"
+ job_access_type = null
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 61d6a5f4077..df0cf3ff2e3 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -1,6 +1,6 @@
/obj/item/stack/animalhide
name = "animal hide"
- desc = "Intact skin stripped off from a creature's body."
+ desc = "Intact skin stripped off from a creature's body. You should probably clean off the hair with a blade."
singular_name = "hide piece"
icon_state = "sheet-hide"
no_variants = FALSE
@@ -100,7 +100,7 @@
/obj/item/stack/hairlesshide
name = "hairless hide"
- desc = "This smooth hide needs tanning before it can become leather."
+ desc = "This smooth hide needs tanning before it can become leather. You should start with soaking it in water."
singular_name = "hairless hide piece"
icon_state = "sheet-hairlesshide"
no_variants = FALSE
@@ -168,7 +168,7 @@
/obj/item/stack/wetleather
name = "wet leather"
- desc = "This leather has been cleaned but still needs to be dried."
+ desc = "This leather has been cleaned but still needs to be dried. You can probably dry it on a wooden rack."
singular_name = "wet leather piece"
icon_state = "sheet-wetleather"
var/wetness = 30 //Reduced when exposed to high temperautres
diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm
index 9d9965cb1e3..04f2e305426 100644
--- a/code/game/objects/items/weapons/material/twohanded.dm
+++ b/code/game/objects/items/weapons/material/twohanded.dm
@@ -111,6 +111,14 @@
base_icon = "bronze_axe"
material_color = FALSE
+/obj/item/material/twohanded/fireaxe/iron
+ name = "Woodcutter's Axe"
+ desc = "A simple iron axe for cutting down trees. Though not made of the sturdiest metal it will get the job done."
+ material_parts = /datum/prototype/material/iron
+ icon_state = "fireaxe_mask0"
+ base_icon = "fireaxe_mask"
+ material_color = TRUE
+
/obj/item/material/twohanded/fireaxe/plasteel
material_parts = /datum/prototype/material/plasteel
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index 5930b1830a5..95774fc76ff 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -314,6 +314,11 @@
var/defend_chance = 40
var/projectile_parry_chance = 0
+ item_icons = list(
+ SLOT_ID_LEFT_HAND = 'icons/mob/items/lefthand_melee.dmi',
+ SLOT_ID_RIGHT_HAND = 'icons/mob/items/righthand_melee.dmi',
+ )
+
/obj/item/bo_staff/proc/jedi_spin(mob/living/user)
for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH))
user.setDir(i)
diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm
index 12ea456f4b5..034abc252ad 100644
--- a/code/game/objects/random/mapping.dm
+++ b/code/game/objects/random/mapping.dm
@@ -986,6 +986,8 @@
prob(80);/obj/structure/flora/grass/both,
prob(60);/obj/structure/flora/bush,
prob(40);/obj/structure/flora/tree/dead,
+ prob(20);/obj/structure/flora/snow_berry,
+ prob(20);/obj/structure/flora/taj_tuber,
prob(1);/obj/structure/snowman,
prob(1);/obj/structure/snowman/borg,
prob(1);/obj/structure/snowman/spider,
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 9b166f6170d..1d292f78d6e 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -83,6 +83,36 @@
. = ..()
icon_state = "snowbush[rand(1, 6)]"
+/obj/structure/flora/snow_berry
+ name = "Ashomarr Tree"
+ desc = "Ashomarr or 'Adhomai Holly' is a berry bush know to thrive in extreme cold. Unlike earth holly, the berries are non-toxic."
+ icon = 'icons/obj/flora/snowflora.dmi'
+ icon_state = "holly"
+
+/obj/structure/flora/snow_berry/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args)
+ var/harvest_amount = rand(1, 5)
+ visible_message("[user] begins to pick berries from the Bush.", "You begin picking the berries from the bush.")
+ if(do_after(user, 5 SECONDS))
+ for(var/i in 1 to harvest_amount)
+ new /obj/item/reagent_containers/food/snacks/ashomarr(src.loc)
+ visible_message("[user] harvests the berries from the Ashomarr Tree.", "You finish harvesting the berries from the tree.")
+ qdel(src)
+
+/obj/structure/flora/taj_tuber
+ name = "Guskaroot"
+ desc = "A tuber native to Adhomai known for its unnatural resillence to cold and its ability to grow in the wild."
+ icon = 'icons/obj/flora/snowflora.dmi'
+ icon_state = "tajtuber"
+
+/obj/structure/flora/taj_tuber/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args)
+ var/harvest_amount = rand(1, 3)
+ visible_message("[user] begins to pull the tubers from the earth.", "You begin pulling up the tubers.")
+ if(do_after(user, 5 SECONDS))
+ for(var/i in 1 to harvest_amount)
+ new /obj/item/reagent_containers/food/snacks/guska(src.loc)
+ visible_message("[user] pull the tubers clean from the frozen earth", "You finish harvesting the tubers.")
+ qdel(src)
+
/obj/structure/flora/pottedplant
name = "potted plant"
desc = "Really ties the room together."
diff --git a/code/modules/clothing/suits/aliens/tajara.dm b/code/modules/clothing/suits/aliens/tajara.dm
index 15d4bd58ae0..c8378b9d77f 100644
--- a/code/modules/clothing/suits/aliens/tajara.dm
+++ b/code/modules/clothing/suits/aliens/tajara.dm
@@ -148,6 +148,7 @@
icon_override = 'icons/mob/clothing/species/tajaran/coats.dmi'
icon_state = "hunter_coat"
item_state = "hunter_coat"
+ armor_type = /datum/armor/station/padded
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
/obj/item/clothing/suit/storage/tajaran/jacket/archeologist
diff --git a/code/modules/clothing/under/accessories/permits.dm b/code/modules/clothing/under/accessories/permits.dm
index ca155ab7cf4..6149c5abfc4 100755
--- a/code/modules/clothing/under/accessories/permits.dm
+++ b/code/modules/clothing/under/accessories/permits.dm
@@ -35,6 +35,12 @@
desc = "A card indicating that the owner is allowed to carry a weapon."
icon_state = "permit-security"
+/obj/item/clothing/accessory/permit/gun/nka
+ name = "New Kingdom Hunter's Permit"
+ desc = "A card issued by the New Kingdom of Adhomai indicating that the owner is allowed to carry a \
+ firearm for the purpose of hunting. This license could be revoked if the hunter is caught doing illegal activities."
+ icon_state = "permit-nka"
+
/obj/item/clothing/accessory/permit/gun/bar
name = "bar shotgun permit"
desc = "A card indicating that the owner is allowed to carry a shotgun in the bar."
diff --git a/code/modules/food/drinks/can.dm b/code/modules/food/drinks/can.dm
index 02ddf062df7..326d4b5250b 100644
--- a/code/modules/food/drinks/can.dm
+++ b/code/modules/food/drinks/can.dm
@@ -1,4 +1,7 @@
/obj/item/reagent_containers/food/drinks/cans
+ name = "empty can"
+ desc = "You feel like there should be something to drink in here."
+ icon_state = "empty"
volume = 40 //just over one and a half cups
amount_per_transfer_from_this = 5
atom_flags = NONE //starts closed
@@ -15,6 +18,10 @@
new modified_type(T)
qdel(src)
+/obj/item/reagent_containers/food/drinks/cans/empty
+ name = "sealable can"
+ desc = "A special can that can be filled then sealed. For when you want to make your own canned drinks."
+
//DRINKS
/obj/item/reagent_containers/food/drinks/cans/cola
@@ -346,3 +353,32 @@
. = ..()
reagents.add_reagent("diethylamine", 20)
reagents.add_reagent("water", 10)
+
+//Tajara Drinks
+/obj/item/reagent_containers/food/drinks/cans/evapmilk
+ name = "Evaporated Milk"
+ desc = "Milk that has been boiled to make it more shelf stable. A common practice among poorer and less advanced regions of space."
+ icon_state = "evapmilk"
+
+/obj/item/reagent_containers/food/drinks/cans/evapmilk/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("evapmilk", 30)
+
+/obj/item/reagent_containers/food/drinks/cans/kompot_taj
+ name = "Ashomarr'darr"
+ desc = "A traditional Tajara beverage similar to Kompot. It is made by boiling Ashomarr berries in water."
+ icon_state = "kompot_taj"
+
+/obj/item/reagent_containers/food/drinks/cans/kompot_taj/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("kompot_taj", 30)
+
+/obj/item/reagent_containers/food/drinks/cans/watercan
+ name = "Can of Water"
+ desc = "Probably contains less microplastics then bottled water."
+ icon_state = "watercan"
+
+/obj/item/reagent_containers/food/drinks/cans/watercan/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("water", 40) //Important for Crafting Recipes Also means Colonists don't need station/hotsprings for water.
+
diff --git a/code/modules/food/drinks/flask.dm b/code/modules/food/drinks/flask.dm
index 4bb6ecd2e5e..be376c05de6 100644
--- a/code/modules/food/drinks/flask.dm
+++ b/code/modules/food/drinks/flask.dm
@@ -31,3 +31,17 @@
desc = "Keeping your drinks at the perfect temperature since 1892."
icon_state = "vacuumflask"
center_of_mass = list("x"=15, "y"=4)
+
+/obj/item/reagent_containers/food/drinks/flask/tajflask
+ name = "Adhomai flask"
+ desc = "A flask wrapped in warm fabric designed to keep the drink warm in Adhomai's frigid climate."
+ icon_state = "tajflask"
+
+/obj/item/reagent_containers/food/drinks/flask/tajflask/v_gin
+ name = "Victory Gin Flask"
+ desc = "Victory Gin is the choice drink of the lower classes of Adhomai. This oily grain alcohol is said to keep you warm on cold winters night."
+
+/obj/item/reagent_containers/food/drinks/flask/tajflask/v_gin/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("victory_gin", 60)
+
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index 58b5f777cf1..c6025b142fc 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -7058,3 +7058,38 @@ END CITADEL CHANGE */
/obj/item/reagent_containers/food/snacks/macaron/green
desc = "A small sugary treat. This one is green!"
icon_state = "macaron_green"
+
+///Because Scale Creep is a Thing
+
+/obj/item/reagent_containers/food/snacks/ashomarr
+ name = "Ashomarr Berries"
+ desc = "Native to Adhomai, this sweet berry that thrives in the cold. It has many uses in traditional Tajaran cuisine, medicine, and crafts as a dye."
+ icon_state = "holly"
+ nutriment_amt = 2
+ nutriment_desc = list("sweetness" = 1, "bitterness" = 1)
+
+/obj/item/reagent_containers/food/snacks/guska
+ name = "Guskaroot"
+ desc = "A cold resilent and infamously unappetizing tuber native to Adhomai. Its ability to thrive in cold has made it a staple crop for Adhomai's poorest peasants."
+ icon_state = "tajtuber"
+ nutriment_amt = 3
+ nutriment_desc = list("nutritious dirt" = 1)
+
+/obj/item/reagent_containers/food/snacks/guskacake
+ name = "Guskacake"
+ desc = "A traditional Adhomai peasant's dish, guskaroot mashed and garnished with Ashomarr Jam to mask the Guskaroot's earthy flavor."
+ icon_state = "tajtubercake"
+ nutriment_amt = 10
+ nutriment_desc = list("flavored dirt" = 1)
+
+/obj/item/reagent_containers/food/snacks/taj_pemmican
+ name = "Adhomai Pemmican"
+ desc = "Dried meat and beries mixed together for travel and shelf life. This particular mix is from Adhomai."
+ icon_state = "tajt_pemmican"
+ nutriment_amt = 4
+ nutriment_desc = list("dry meat" = 1, "berry" = 1)
+
+/obj/item/reagent_containers/food/snacks/taj_pemmican/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("protein", 3)
+ reagents.add_reagent("triglyceride", 1)
diff --git a/code/modules/ghostroles/roles/lythios_colonist.dm b/code/modules/ghostroles/roles/lythios_colonist.dm
new file mode 100644
index 00000000000..8f265ab0994
--- /dev/null
+++ b/code/modules/ghostroles/roles/lythios_colonist.dm
@@ -0,0 +1,110 @@
+/datum/role/ghostrole/lythios_colonist
+ name = "Na'sahira Colonist"
+ assigned_role = "Colonist"
+ desc = "You are a Tajara colonist from the New Kingdom of Adhomai, struggling to eek out a living on a distant planet."
+ spawntext = "You were selected by lottery, to settle a new colony on land leased from Nanotrasen, Na'sahira. In order to make this journey you had to swear \
+ fealty to the Baronness Anjarra Azorman, a small price to escape the proverty you faced on Adhomai. This planet is harsh and even here it is a struggle to survive. \
+ Thankfully there is a Nanotrasen base nearby the ground around which are said to be rich in resources. Through the Baronness agreement with Nanotrasen you may \
+ harvest these resources and trade with the crew. Hopefully that makes the long walk here from Na'sahira worth it. Maybe this crew can even afford to pay in things \
+ beyond their useless Thalers."
+
+ important_info = "The colonists of Na'sahira are all Tajara from the New Kingdom of Adhomai. They come mostly from destitute backgrounds and won a lottery to be \
+ resettled here. The planet is harsh and you are extremely poor. Thalers are not an accepted currency in Na'sahira and as such they are only useful to you as kindling. \
+ Na'Sahira's colonists are not meant to leave the planet without the permission of their Baronness. This is not an antag role though minor acts of mischief such as petty \
+ theft or vandalism are permitted especially in the name of survival. Serious criminal acts however may see your character punished by the Na'sahira Constabulary whose \
+ form of justice is harsher then Nanotrasen's. Na'sahira colonists are permadeath characters, be very careful."
+
+ instantiator = /datum/ghostrole_instantiator/human/player_static/lythios_colonist
+
+/datum/role/ghostrole/lythios_colonist/Instantiate(client/C, atom/loc, list/params)
+ return ..()
+
+/datum/role/ghostrole/lythios_colonist/Greet(mob/created, datum/component/ghostrole_spawnpoint/spawnpoint, list/params)
+ . = ..()
+ to_chat(created, " The metal clanks beneath you as you step through the final old door entering the grounds of NSB Atlas. You travelled \
+ around five kilometers through the snow to get here. Compared to that the few hundred meter tunnel wasn't bad at all, even if the climb through \
+ the hatch was a tight fit. The area around NSB is allegedly rich in resources for harvesting and equally as rich with oppourtunities to barter \
+ with the Nanotrasen crew. You reach for your tightly bundled travel pack. S'rendarr perserve you, its time to get to work!")
+
+/datum/ghostrole_instantiator/human/player_static/lythios_colonist
+ equip_loadout = FALSE //You are too poor to have a loadout.
+ species_required = /datum/species/tajaran
+ var/list/lythios_colonist_crafting = list(/datum/crafting_recipe/evapmilk, /datum/crafting_recipe/kompot, /datum/crafting_recipe/watercan,
+ /datum/crafting_recipe/guskacake, /datum/crafting_recipe/taj_pemmican, /datum/crafting_recipe/stimm_hypo, /datum/crafting_recipe/chloral_hypo,
+ /datum/crafting_recipe/trippy_hypo, /datum/crafting_recipe/empty_can, /datum/crafting_recipe/spider_spray, /datum/crafting_recipe/hunter_coat,
+ /datum/crafting_recipe/taj_dress, /datum/crafting_recipe/taj_rdress, /datum/crafting_recipe/taj_bdress
+ )
+
+/datum/ghostrole_instantiator/human/player_static/lythios_colonist/GetOutfit(client/C, mob/M, list/params)
+ return new /datum/outfit/lythios_colonist
+
+/datum/ghostrole_instantiator/human/player_static/lythios_colonist/AfterSpawn(mob/created, list/params)
+ . = ..()
+ created.mind.teach_crafting_recipe(lythios_colonist_crafting)
+
+/obj/structure/ghost_role_spawner/lythios_colonist
+ name = "maintnance hatch"
+ desc = "A old ladder connecting to the old People's Republic of Adhomai maintnance tunnels. A good way to get around Lythios."
+ icon = 'icons/obj/structures.dmi'
+ icon_state = "hatchdown"
+ anchored = TRUE
+ role_type = /datum/role/ghostrole/lythios_colonist
+ role_spawns = 4
+
+/obj/item/gearbox/lythios_colonist
+ name = "tightly bundled pack"
+ desc = "A tajaran colonist's tightly bundled pack of equipment. All there is left to do is open it up."
+ icon = 'icons/obj/storage.dmi'
+ icon_state = "giftbag2"
+
+/obj/item/gearbox/lythios_colonist/attack_self(mob/user, datum/event_args/actor/actor)
+ var/list/options = list()
+ options["Herder"] = list(/obj/item/tool/wirecutters/clippers/trimmers, /obj/item/reagent_containers/glass/bucket/wood, /obj/item/bo_staff,
+ /obj/item/material/butterfly/butterfly_wooden, /obj/item/reagent_containers/food/drinks/cans/empty, /obj/item/reagent_containers/food/drinks/cans/empty,
+ /obj/item/reagent_containers/food/drinks/cans/empty, /obj/item/reagent_containers/food/drinks/cans/empty, /obj/item/reagent_containers/food/drinks/cans/empty,
+ /obj/item/reagent_containers/food/drinks/cans/empty, /obj/item/clothing/suit/storage/hooded/tajaran/cloak/gruff)
+ options["Hunter"] = list(/obj/item/gun/projectile/ballistic/musket/taj, /obj/item/storage/box/munition_box, /obj/item/storage/box/munition_box,
+ /obj/item/reagent_containers/glass/powder_horn/filled, /obj/item/material/knife/hook, /obj/item/beartrap, /obj/item/clothing/suit/storage/tajaran/coat,
+ /obj/item/clothing/head/tajaran/fur, /obj/item/clothing/accessory/permit/gun/nka)
+ options["Lumberjack"] = list(/obj/item/material/knife/machete/hatchet, /obj/item/material/twohanded/fireaxe/iron, /obj/item/clothing/shoes/tajara/workboots,
+ /obj/item/clothing/head/tajaran/fur, /obj/item/clothing/suit/storage/hooded/tajaran/cloak/gruff)
+ options["Prospector"] = list(/obj/item/pickaxe/icepick, /obj/item/storage/bag/ore, /obj/item/flashlight/lantern, /obj/item/clothing/head/hardhat/orange,
+ /obj/item/clothing/suit/storage/hooded/tajaran/cloak/gruff, /obj/item/clothing/shoes/tajara/workboots)
+ options["Scavenger"] = list(/obj/item/storage/belt/utility/full, /obj/item/clothing/head/hardhat, /obj/item/clothing/suit/storage/hooded/tajaran/cloak/gruff,
+ /obj/item/clothing/shoes/tajara/workboots/dark, /obj/item/clothing/under/tajaran/mechanic, /obj/item/clothing/gloves/black/tajara/smithgloves,
+ /obj/item/reagent_containers/pill/hyronalin, /obj/item/reagent_containers/pill/hyronalin)
+ var/choice = input(user,"What is your profession?") as null|anything in options
+ if(src && choice)
+ var/list/things_to_spawn = options[choice]
+ for(var/new_type in things_to_spawn) // Spawn all the things,
+ new new_type(get_turf(src))
+ if(choice == "Herder")
+ to_chat(user, "You are a Herder, back home you tended livestock on a smaller poor homestead. Now you do much the same lightyears away. \
+ You have the tools to harvest from the local animals here. You also have cans which can be used to brew some traditional Adhomai drinks. \
+ Perhaps the station will barter good things for some homemade Ashomarr'Darr. If not the beasts here should at least provide enough wool \
+ and milk to take home. Maybe the station would be interested too as long they aren't buying in worthless Thalers. You should try \
+ collecting milk in your bucket before evaporating and canning it. It will save a lot of space. ")
+ if(choice == "Hunter")
+ to_chat(user, "You are a hunter sanctioned by the Baronness to to hunt game in the local region. On Adhomai overhunting and population \
+ growth drove much of the game from your home leaving you destitute. Here the game is far more plentiful though life is still harsh. \
+ Hunting the creatures here may prove challenging as many are dangerous however as long as you keep your whits about you this journey may \
+ prove very profitable indeed. The venom glands of giant spiders maybe of special use to you and the station, or sold to the station for their venom. \
+ Hopefully they are willing to pay for them in things that aren't Thalers.")
+ if(choice == "Lumberjack")
+ to_chat(user, "You are lumberjack from the hinterlands of Adhomai. The forests of your home are heavily depleted and though this \
+ place is far from prime forest land it still provides an oppourtunity that home lacked. With your axe and trees all about \
+ you are likely to collect a lot of lumber which is hard to transport back to Na'sahira. Trading it to the crew or crafting \
+ it into items is probably a better use of your labor.")
+ if(choice == "Prospector")
+ to_chat(user, "You are a prospector from the hills of Adhomai. As industrialized mining replaced good old fashioned miners and \
+ old viens of ore are stripped dry, many miners such as you were left unemployed. However, this planet is mostly untouched and the demand for \
+ ore both from Na'sahira and the Nanotrasen station means that there may be good things awaiting those willing to dig it up. It is time to strike the \
+ frozen earth and just maybe you can make a good wage when you take the ore back home. The station may be willing to buy ore \
+ too as long as they aren't paying in worthless Thalers.")
+ if(choice == "Scavenger")
+ to_chat(user, "You are rare among the Na'sahira settlers. Hailing from the urban poor you learned to scavenge to survive taking apart \
+ all the broken left behind trash of your home city and selling the goods bits for what few pennies people would take it for. On this new \
+ planet there is far less to scavenge however, the People's Republic of Adhomai left behind many things in their old facility. \
+ As long as you avoid Radiation hotspots you maybe able to bring quite the haul back home if only enough to survive to next week. \
+ Perhaps even the station will be interested in some of your finds, as long as they aren't paying in Thalers.")
+ qdel(src)
diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm
index f4568026aba..9436f4be9f0 100644
--- a/code/modules/mob/living/simple_mob/simple_mob.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob.dm
@@ -403,10 +403,10 @@
//TODO: This needs to be phased out for a newer butchering system. Though I am too scared to undo all our custom stuff. -Zandario
// Harvest an animal's delicious byproducts
/mob/living/simple_mob/harvest(mob/user)
- var/actual_meat_amount = pick(0, meat_amount)
- var/actual_bone_amount = pick(0, bone_amount)
- var/actual_hide_amount = pick(0, hide_amount)
- var/actual_exotic_amount = pick(0, exotic_amount)
+ var/actual_meat_amount = rand(0, meat_amount)
+ var/actual_bone_amount = rand(0, bone_amount)
+ var/actual_hide_amount = rand(0, hide_amount)
+ var/actual_exotic_amount = rand(0, exotic_amount)
if(stat != DEAD)
return
if(meat_type)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/lythios.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/lythios.dm
index 9bd45ee4dae..c0ffd2ba23b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/lythios.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/lythios.dm
@@ -4,11 +4,11 @@
/datum/category_item/catalogue/fauna/livestock/icegoat
name = "Experimental Livestock - Glacicorn"
desc = "A genetically engineered lifeform distantly related to the domesticated goat.\
- It is currently being developed by NT as part of an independent initiative to slowly\
- ween itself off reliance on Centauri Provisions for its food. It is capable of surviving\
- in the harshest colds, and survives off of chemical processes only possible in extreme cold.\
- As a result it dies rather quickly in what most races would consider 'comfortable' heat.\
- Theirs ice spikes though dangerous are seen as a necessary defense for theoretical predators.\
+ It is currently being developed by NT as part of an independent initiative to slowly \
+ ween itself off reliance on Centauri Provisions for its food. It is capable of surviving \
+ in the harshest colds, and survives off of chemical processes only possible in extreme cold. \
+ As a result it dies rather quickly in what most races would consider 'comfortable' heat. \
+ Theirs ice spikes though dangerous are seen as a necessary defense for theoretical predators. \
Its milk is notably chilled by frost oil created as a by product of surviving on icy planets."
value = CATALOGUER_REWARD_TRIVIAL
@@ -100,11 +100,11 @@
/datum/category_item/catalogue/fauna/livestock/woolie
name = "Experimental Livestock - Woolie"
- desc = "A large ball of dense wool hiding an unusual octopedal creature.\
- It has been genetically engineered almost from scratch to create an animal\
- capable of producing a natural clothing fiber on even the coldest worlds.\
- Cloth can be sheared from the outer most layers of its woolen coat which\
- regrows quickly. Lower layers of the coat tend to be too dense to shear.\
+ desc = "A large ball of dense wool hiding an unusual octopedal creature. \
+ It has been genetically engineered almost from scratch to create an animal \
+ capable of producing a natural clothing fiber on even the coldest worlds. \
+ Cloth can be sheared from the outer most layers of its woolen coat which \
+ regrows quickly. Lower layers of the coat tend to be too dense to shear. \
These peaceful animals have temperment similar to sheep and are very peaceful."
value = CATALOGUER_REWARD_TRIVIAL
@@ -172,9 +172,9 @@
/datum/category_item/catalogue/fauna/livestock/furnacegrub
name = "Experimental Livestock - Furnace Grub"
- desc = "After years of study by NT xenobiologists, the genes that allowed solar moths\
- to produce heat were extracted and engineered into a docile and mostly safe living furnace.\
- The 'Furnace Grub' as it has been dubbed could provide passive heating even without power systems,\
+ desc = "After years of study by NT xenobiologists, the genes that allowed solar moths \
+ to produce heat were extracted and engineered into a docile and mostly safe living furnace. \
+ The 'Furnace Grub' as it has been dubbed could provide passive heating even without power systems, \
which NT hopes can be sold to prospective colonists seeking to colonize the most icy planets."
value = CATALOGUER_REWARD_TRIVIAL
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
index a59f1056122..33d703f768a 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
@@ -101,16 +101,18 @@
meat_amount = 3
meat_type = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat
+ hide_amount = 1
+ hide_type = /obj/item/stack/material/chitin //This used to be loot now its just the hide.
+
+ exotic_amount = 1 //Spiders now drop their venom glands for reagent harvesting.
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/s_toxin
+
say_list_type = /datum/say_list/spider
var/poison_type = "spidertoxin" // The reagent that gets injected when it attacks.
var/poison_chance = 10 // Chance for injection to occur.
var/poison_per_bite = 5 // Amount added per injection.
- butchery_loot = list(\
- /obj/item/stack/material/chitin = 1\
- )
-
/mob/living/simple_mob/animal/giant_spider/apply_melee_effects(var/atom/A)
if(isliving(A))
var/mob/living/L = A
@@ -138,3 +140,23 @@
if(poison_per_bite)
poison_per_bite *= 1.3
+
+//New Spider Exotic Drop: Poison Glands, for more reagents
+
+/obj/item/reagent_containers/glass/venomgland/spider
+ name = "Spider Venom Gland"
+ desc = "A sac full of venom cut from a spider. This one seems depleted."
+ icon_state = "venomgland"
+ w_class = WEIGHT_CLASS_SMALL //These are not space effecient, as such they are meatn primarily to act as containers for spawning reagents.
+ slot_flags = SLOT_BELT
+ amount_per_transfer_from_this = 5
+ possible_transfer_amounts = list(5)
+ volume = 15
+
+/obj/item/reagent_containers/glass/venomgland/spider/s_toxin
+ name = "Spider Venom Gland"
+ desc = "A sac full of venom cut from a spider. This one looks rather average."
+
+/obj/item/reagent_containers/glass/venomgland/spider/s_toxin/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("spidertoxin", 15)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
index f59fa86255d..33427ee0944 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm
@@ -31,6 +31,8 @@
movement_cooldown = 5
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/chloral
+
player_msg = "Upon dying, you will release a swarm of spiderlings or young hunter spiders.
\
If a spider emerges, you will be placed in control of it."
@@ -74,6 +76,14 @@
transfer_client_to(new_body)
return ..()
+/obj/item/reagent_containers/glass/venomgland/spider/chloral
+ name = "Sleepy Venom Gland"
+ desc = "A sac full of venom. The smell makes you feel lightheaded."
+
+/obj/item/reagent_containers/glass/venomgland/spider/chloral/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("chloralhydrate", 15)
+
// Note that this isn't required for the 'scan all spiders' entry since its essentially a meme.
/datum/category_item/catalogue/fauna/giant_spider/recursive_carrier_spider
name = "Giant Spider - Recursive Carrier"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm
index 1bf5f79ab63..1c22243cdab 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm
@@ -43,6 +43,8 @@
shock_resist = 0.75
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/stimm
+
player_msg = "You can fire a taser-like ranged attack by clicking on an enemy or tile at a distance."
ai_holder_type = /datum/ai_holder/polaris/simple_mob/ranged/electric_spider
@@ -60,3 +62,11 @@
if(L.incapacitated(INCAPACITATION_DISABLED) || L.stat == UNCONSCIOUS) // If our target is stunned, go in for the kill.
return 1
return ..() // Do ranged if possible otherwise.
+
+/obj/item/reagent_containers/glass/venomgland/spider/stimm
+ name = "Energizing Venom Gland"
+ desc = "A sac full of venom. It makes your fingers twitch holding it."
+
+/obj/item/reagent_containers/glass/venomgland/spider/stimm/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("stimm", 15)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm
index 2128b98ef4a..6304eebb351 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm
@@ -31,7 +31,17 @@
heat_resist = -0.50
cold_resist = 0.75
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/cryotoxin
+
// Sif variant with a somewhat different desc.
/mob/living/simple_mob/animal/giant_spider/frost/sif
desc = "Icy and blue, it makes you shudder to look at it. This one has brilliant blue eyes. \
It isn't native to Sif."
+
+/obj/item/reagent_containers/glass/venomgland/spider/cryotoxin
+ name = "Chilly Venom Gland"
+ desc = "A sac full of venom. It's cold to the touch."
+
+/obj/item/reagent_containers/glass/venomgland/spider/cryotoxin/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("cryotoxin", 15)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm
index 08f505eaf67..ff0b3b76464 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/hunter.dm
@@ -102,6 +102,11 @@
set_AI_busy(FALSE)
+
+
+
+
+
// var/obj/item/grab/G = new(src, victim)
// put_in_active_hand(G)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/ion.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/ion.dm
index 4f1514e5e79..6f3eb421cf3 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/ion.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/ion.dm
@@ -19,4 +19,14 @@
poison_per_bite = 2
poison_type = "psilocybin"
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/psilocybin
+
ai_holder_type = /datum/ai_holder/polaris/simple_mob/ranged/electric_spider
+
+/obj/item/reagent_containers/glass/venomgland/spider/psilocybin
+ name = "Trippy Venom Gland"
+ desc = "A sac full of venom. It makes you feel funny when you sniff it."
+
+/obj/item/reagent_containers/glass/venomgland/spider/psilocybin/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("psilocybin", 15)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm
index 00cdeb79680..464a45ef2d6 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm
@@ -41,6 +41,8 @@
poison_type = "cryptobiolin"
poison_per_bite = 1
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/confusing
+
player_msg = "You have an imperfect, but automatic stealth. If you attack something while 'hidden', then \
you will do bonus damage, stun the target, and unstealth for a period of time.
\
Getting attacked will also break your stealth."
@@ -123,3 +125,12 @@
/mob/living/simple_mob/animal/giant_spider/lurker/hit_with_weapon(obj/item/O, mob/living/user, effective_force, hit_zone)
. = ..()
break_cloak()
+
+
+/obj/item/reagent_containers/glass/venomgland/spider/confusing
+ name = "Confusing Venom Gland"
+ desc = "A sac full of venom. You feel a bit dizzy holding it."
+
+/obj/item/reagent_containers/glass/venomgland/spider/confusing/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("cryptobiolin", 15)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm
index 73cf4d0e7dd..40e2d4b7268 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm
@@ -40,6 +40,8 @@
poison_per_bite = 5
poison_type = "stoxin"
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/s_toxin
+
player_msg = "You can spin webs on an adjacent tile, or cocoon an object by clicking on it.
\
You can also cocoon a dying or dead entity by clicking on them, and you will gain charges for egg-laying.
\
To lay eggs, click a nearby tile. Laying eggs will deplete a charge."
@@ -211,6 +213,13 @@
laying_eggs = FALSE
return TRUE
+/obj/item/reagent_containers/glass/venomgland/spider/sophoric
+ name = "Drowsy Venom Gland"
+ desc = "A sac full of venom. It makes you feel drowsy."
+
+/obj/item/reagent_containers/glass/venomgland/spider/sophoric/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("stoxin", 15)
// Variant that 'blocks' light (by being a negative light source).
// This is done to make webbed rooms scary and allow for spiders on the other side of webs to see prey.
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
index 4952c8ae822..d18054ec13c 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm
@@ -29,6 +29,17 @@
poison_per_bite = 5
poison_type = "condensedcapsaicin_v"
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/capsaicin_v
+
/mob/living/simple_mob/animal/giant_spider/pepper/Initialize(mapload)
adjust_scale(1.1)
return ..()
+
+/obj/item/reagent_containers/glass/venomgland/spider/capsaicin_v
+ name = "Irritating Venom Gland"
+ desc = "A sac full of venom. The mere touch stings."
+
+/obj/item/reagent_containers/glass/venomgland/spider/capsaicin_v/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("condensedcapsaicin_v", 15)
+
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
index 1ec52a77a40..e91e4c0cedd 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm
@@ -45,6 +45,8 @@
poison_per_bite = 0.5
poison_type = "phoron"
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/phoron
+
var/exploded = FALSE
var/explosion_dev_range = 1
var/explosion_heavy_range = 2
@@ -78,6 +80,14 @@
explosion(src.loc, explosion_dev_range, explosion_heavy_range, explosion_light_range, explosion_flash_range)
return ..()
+/obj/item/reagent_containers/glass/venomgland/spider/phoron
+ name = "Phoronic Venom Gland"
+ desc = "A venom sac full of phoron. Maybe NT should have taken up spider ranching."
+
+/obj/item/reagent_containers/glass/venomgland/spider/phoron/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("phoron", 15)
+
// Weakened version of Phoron spiders
/mob/living/simple_mob/animal/giant_spider/phorogenic/weak
maxHealth = 100
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm
index 7306389a925..317ccb6c54c 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm
@@ -35,3 +35,14 @@
poison_chance = 30
poison_per_bite = 1
poison_type = "thermite_v"
+
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/thermite
+
+/obj/item/reagent_containers/glass/venomgland/spider/thermite
+ name = "Thermic Venom Gland"
+ desc = "A sac of venom. It feels hot to the touch."
+
+/obj/item/reagent_containers/glass/venomgland/spider/thermite/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("thermite_v", 15)
+
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm
index 3e5bde73db1..9db4f24bbfd 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm
@@ -42,6 +42,8 @@
poison_per_bite = 3
poison_type = "serotrotium_v"
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/serotrotium
+
// ai_holder_type = /datum/ai_holder/polaris/simple_mob/melee/tunneler
player_msg = "You can perform a tunneling attack by clicking on someone from a distance.
\
@@ -190,6 +192,15 @@
/mob/living/simple_mob/animal/giant_spider/tunneler/proc/dig_under_floor(turf/T)
new /obj/item/stack/ore/glass(T) // This will be rather weird when on station but the alternative is too much work.
+/obj/item/reagent_containers/glass/venomgland/spider/serotrotium
+ name = "Dulling Venom Gland"
+ desc = "A sac of venom. Your thoughts drift a bit holding it."
+
+/obj/item/reagent_containers/glass/venomgland/spider/thermite/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("serotrotium_v", 15)
+
+
/obj/effect/temporary_effect/tunneler_hole
name = "hole"
desc = "A collapsing tunnel hole."
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm
index b6fab7da45b..85265fd0eaf 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm
@@ -31,6 +31,9 @@
legacy_melee_damage_upper = 15
poison_per_bite = 2
poison_type = "psilocybin"
+
+ exotic_type = /obj/item/reagent_containers/glass/venomgland/spider/psilocybin
+
player_msg = "You can fire a ranged attack by clicking on an enemy or tile at a distance."
ai_holder_type = /datum/ai_holder/polaris/simple_mob/ranged
diff --git a/code/modules/projectiles/guns/gun/projectile/ballistic/musket.dm b/code/modules/projectiles/guns/gun/projectile/ballistic/musket.dm
index 6c530fdf4b1..7e4b0bd877f 100644
--- a/code/modules/projectiles/guns/gun/projectile/ballistic/musket.dm
+++ b/code/modules/projectiles/guns/gun/projectile/ballistic/musket.dm
@@ -70,7 +70,7 @@
slot_flags = SLOT_BELT
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5)
- volume = 30
+ volume = 60
/obj/item/reagent_containers/glass/powder_horn/filled
name = "powder horn"
@@ -78,7 +78,7 @@
/obj/item/reagent_containers/glass/powder_horn/filled/Initialize(mapload)
. = ..()
- reagents.add_reagent("gunpowder", 30)
+ reagents.add_reagent("gunpowder", 60)
/obj/item/reagent_containers/glass/powder_horn/tribal
name = "tribal powder horn"
@@ -91,7 +91,7 @@
/obj/item/reagent_containers/glass/powder_horn/tribal/filled/Initialize(mapload)
. = ..()
- reagents.add_reagent("gunpowder", 30)
+ reagents.add_reagent("gunpowder", 60)
/obj/item/gun/projectile/ballistic/musket/tribal
name = "tribal musket"
diff --git a/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm
index fad0fa4c77f..ccad6d980c3 100644
--- a/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -849,6 +849,18 @@
glass_name = "glass of earthen-root juice"
glass_desc = "Juice extracted from earthen-root, a plant native to Adhomai."
+/datum/reagent/drink/juice/kompot_taj
+ name = "Adhomai Kompot"
+ id = "kompot_taj"
+ description = "Also known as Ashomar'darr Adhomai, this traditional beverage made from boiling Adhomai Holly in water."
+ color = "#a51919"
+ taste_description = "a bitter sweet fruitiness"
+
+ glass_icon_state = "berryjuice"
+ glass_name = "glass of Adhomai Kompot"
+ glass_desc = "A beverage made by boiling berries native to Adhomai in water."
+
+
// Everything else
/datum/reagent/drink/milk
@@ -867,6 +879,21 @@
cup_name = "Cup of Milk"
cup_desc = "White and nutritious goodness!"
+/datum/reagent/drink/milk/evaporated
+ name = "Evaporated Milk"
+ id = "evapmilk"
+ description = "Milk with much of its water boiled away. Has far beter shelf life then regular milk."
+ taste_description = "milk"
+ color = "#f7f8d2"
+ nutrition=5
+
+ glass_name = "Evaporate Milk"
+ glass_desc = "Thick, Creamy, White, and nutritious goodness!"
+
+ cup_icon_state = "cup_cream"
+ cup_name = "Cup of Evaporated Milk"
+ cup_desc = "Thick, Creamy, White, and nutritious goodness!"
+
/datum/reagent/drink/milk/chocolate
name = "Chocolate Milk"
id = "chocolate_milk"
diff --git a/code/modules/reagents/items/spray.dm b/code/modules/reagents/items/spray.dm
index a3cd14b1fa3..34910ef5f93 100644
--- a/code/modules/reagents/items/spray.dm
+++ b/code/modules/reagents/items/spray.dm
@@ -234,3 +234,18 @@
/obj/item/reagent_containers/spray/windowsealant/Initialize(mapload)
. = ..()
reagents.add_reagent("silicate", 80)
+
+
+/obj/item/reagent_containers/spray/spider/pepper
+ name = "venom spray"
+ desc = "A spider's venom gland rigged with bones and sinew to discharge its contents in a spray."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "spiderspray"
+ item_state = "pepperspray"
+ possible_transfer_amounts = null
+ volume = 15
+
+/obj/item/reagent_containers/spray/pestbgone/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("condensedcapsaicin_v", volume)
+
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 4e1a1e9573c..2f3ddb105c7 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -190,6 +190,31 @@
icon_state = "green"
filled_reagents = list("anti_toxin" = 5)
+/obj/item/reagent_containers/hypospray/autoinjector/venominjector
+ name = "spiderbite injector"
+ desc = "A venom gland with a bone needle allowing it to inject its contents into be injected into the bloodstream directly."
+ icon_state = "spiderinjector"
+ filled_reagents = list("spidertoxin" = 5)
+
+/obj/item/reagent_containers/hypospray/autoinjector/venominjector/stimm
+ name = "energizing spiderbite"
+ desc = "A venom gland with a bone needle allowing it to inject its contents into be injected into the bloodstream directly. \
+ This one is filled with a stimulant toxic in large amounts. For when you need to give yourself a little boost."
+ filled_reagents = list("stimm" = 5)
+
+/obj/item/reagent_containers/hypospray/autoinjector/venominjector/chloral
+ name = "sophoric spiderbite"
+ desc = "A venom gland with a bone needle allowing it to inject its contents into be injected into the bloodstream directly. \
+ This one is filled with a power sleeping toxin. Excellent for putting unsuspecting to a quick sleep."
+ filled_reagents = list("chloralhydrate" = 5)
+
+
+/obj/item/reagent_containers/hypospray/autoinjector/venominjector/psilocybin
+ name = "trippy spiderbite"
+ desc = "A venom gland with a bone needle allowing it to inject its contents into be injected into the bloodstream directly. \
+ This one is filled with hallucinogens for recreational use."
+ filled_reagents = list("psilocybin" = 5)
+
// These have a 15u capacity, somewhat higher tech level, and generally more useful chems, but are otherwise the same as the regular autoinjectors.
/obj/item/reagent_containers/hypospray/autoinjector/biginjector
name = "empty hypo"
diff --git a/icons/obj/card_cit.dmi b/icons/obj/card_cit.dmi
index 44bc331abc2..a54a2e84f71 100644
Binary files a/icons/obj/card_cit.dmi and b/icons/obj/card_cit.dmi differ
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index b7d88fd8c09..8f29552c51c 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ
diff --git a/icons/obj/flora/snowflora.dmi b/icons/obj/flora/snowflora.dmi
index 873763ddd91..6ce85e1f00b 100644
Binary files a/icons/obj/flora/snowflora.dmi and b/icons/obj/flora/snowflora.dmi differ
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index e83e6206e92..5f6547f2d9f 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ
diff --git a/icons/obj/medical/chemical.dmi b/icons/obj/medical/chemical.dmi
index 2e2df688731..6fff4b0bd21 100644
Binary files a/icons/obj/medical/chemical.dmi and b/icons/obj/medical/chemical.dmi differ
diff --git a/icons/obj/medical/syringe.dmi b/icons/obj/medical/syringe.dmi
index 53858ebf549..700185d3521 100644
Binary files a/icons/obj/medical/syringe.dmi and b/icons/obj/medical/syringe.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index cda3aaf191c..fc7344a2a8d 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ
diff --git a/maps/rift/levels/rift-03-underground1.dmm b/maps/rift/levels/rift-03-underground1.dmm
index 1f715a2f100..d9113458a88 100644
--- a/maps/rift/levels/rift-03-underground1.dmm
+++ b/maps/rift/levels/rift-03-underground1.dmm
@@ -1824,6 +1824,10 @@
/obj/effect/paint/pipecyan,
/turf/simulated/floor/plating,
/area/engineering/atmos)
+"dZ" = (
+/obj/effect/floor_decal/rust,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"ea" = (
/obj/effect/floor_decal/borderfloor{
dir = 1
@@ -2279,6 +2283,10 @@
},
/turf/simulated/floor/plating,
/area/maintenance/engineering/pumpstation)
+"fA" = (
+/obj/structure/sign/warning,
+/turf/simulated/wall/prepainted,
+/area/rift/surfacebase/underground/under1)
"fB" = (
/obj/random/trash_pile,
/obj/effect/floor_decal/rust,
@@ -3261,6 +3269,14 @@
},
/turf/simulated/floor/concrete/indoors,
/area/security/prison/lower)
+"iN" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/effect/floor_decal/rust,
+/obj/random/maintenance/engineering,
+/obj/random/maintenance/engineering,
+/obj/random/maintenance/engineering,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"iO" = (
/obj/machinery/atmospherics/component/unary/outlet_injector{
dir = 4;
@@ -4254,6 +4270,13 @@
"lZ" = (
/turf/simulated/floor/outdoors/rocks/caves/geothermal,
/area/rift/surfacebase/underground/under1)
+"ma" = (
+/obj/machinery/light/small/emergency/flicker{
+ dir = 4
+ },
+/obj/effect/floor_decal/rust,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"mc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -5030,6 +5053,10 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/rift/station/fighter_bay/transport_tunnel)
+"oI" = (
+/obj/machinery/light/small/emergency/flicker,
+/turf/simulated/floor/outdoors/gravsnow/lythios43c,
+/area/rift/surfacebase/underground/under1)
"oJ" = (
/obj/structure/table/rack/steel,
/obj/item/computer_hardware/battery_module,
@@ -5203,6 +5230,14 @@
},
/turf/simulated/floor/tiled,
/area/engineering/atmos)
+"pe" = (
+/obj/structure/stairs/bottom{
+ dir = 1
+ },
+/obj/effect/floor_decal/rust,
+/obj/structure/boulder,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"pf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/blue{
dir = 8
@@ -6026,6 +6061,13 @@
/obj/structure/mirror/long/right,
/turf/simulated/wall/r_wall/prepainted/security,
/area/security/prison/lower)
+"rR" = (
+/obj/effect/floor_decal/rust,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"rS" = (
/obj/effect/floor_decal/industrial/warning,
/turf/simulated/floor/concrete/rng/indoors,
@@ -6564,6 +6606,11 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/rift/station/fighter_bay/transport_tunnel)
+"tS" = (
+/obj/effect/floor_decal/rust,
+/obj/structure/ghost_role_spawner/lythios_colonist,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"tT" = (
/obj/machinery/atmospherics/pipe/simple/hidden/blue{
dir = 8
@@ -6767,6 +6814,14 @@
/obj/structure/catwalk,
/turf/simulated/floor/plating,
/area/maintenance/engineering/upper)
+"uK" = (
+/obj/effect/floor_decal/rust,
+/obj/random/trash_pile,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"uM" = (
/obj/machinery/atmospherics/pipe/simple/visible/blue{
dir = 9
@@ -7965,6 +8020,11 @@
},
/turf/simulated/floor/wood,
/area/rift/station/fighter_bay)
+"yj" = (
+/obj/effect/floor_decal/rust,
+/obj/random/junk,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"yk" = (
/mob/living/simple_mob/animal/passive/woolie,
/turf/simulated/floor/outdoors/snow/lythios43c,
@@ -9801,6 +9861,14 @@
"EH" = (
/turf/simulated/floor/tiled/monowhite,
/area/security/prison/lower)
+"EI" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/effect/floor_decal/rust,
+/obj/random/maintenance/cargo,
+/obj/random/maintenance/cargo,
+/obj/random/maintenance/cargo,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"EJ" = (
/obj/machinery/atmospherics/component/unary/vent_pump/on{
dir = 4
@@ -9858,6 +9926,11 @@
/obj/machinery/pipedispenser/disposal,
/turf/simulated/floor/tiled,
/area/engineering/atmos)
+"EV" = (
+/obj/effect/floor_decal/rust,
+/obj/item/barrier_tape_segment/engineering,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"EW" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/hidden/blue{
@@ -11447,6 +11520,14 @@
},
/turf/simulated/floor/tiled,
/area/rnd/secure_storage/upper)
+"JP" = (
+/obj/structure/stairs/middle{
+ dir = 1
+ },
+/obj/effect/floor_decal/rust,
+/obj/random/junk,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"JQ" = (
/obj/machinery/light,
/turf/simulated/floor/bluegrid{
@@ -12004,6 +12085,17 @@
},
/turf/simulated/floor/plating,
/area/maintenance/elevator)
+"Lt" = (
+/obj/machinery/light/small/emergency/flicker{
+ dir = 8
+ },
+/obj/structure/table/rack/shelf/steel,
+/obj/effect/floor_decal/rust,
+/obj/random/maintenance,
+/obj/random/maintenance,
+/obj/random/maintenance,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"Lu" = (
/obj/item/digestion_remains/skull/tajaran,
/obj/item/stack/tile/floor,
@@ -12336,6 +12428,17 @@
/obj/item/coin/bananium,
/turf/simulated/floor/plating,
/area/storage/tech)
+"MD" = (
+/obj/effect/floor_decal/rust,
+/obj/structure/closet/crate/trashcart,
+/obj/random/junk,
+/obj/random/junk,
+/obj/random/junk,
+/obj/random/junk,
+/obj/random/junk,
+/obj/random/junk,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"MF" = (
/obj/machinery/atmospherics/pipe/simple/visible,
/turf/simulated/floor/plating,
@@ -13441,6 +13544,10 @@
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/turf/simulated/floor/tiled,
/area/engineering/atmos)
+"PT" = (
+/obj/machinery/door/airlock/multi_tile/metal/mait,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"PU" = (
/obj/effect/overlay/snow/floor/pointy,
/obj/effect/overlay/snow/floor/pointy{
@@ -13485,6 +13592,11 @@
},
/turf/simulated/floor/plating,
/area/maintenance/engineering)
+"Qf" = (
+/obj/effect/floor_decal/rust,
+/obj/random/trash_pile,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"Qh" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
@@ -14063,6 +14175,14 @@
/obj/machinery/disposal,
/turf/simulated/floor/tiled,
/area/engineering/atmos)
+"Sp" = (
+/obj/structure/stairs/bottom{
+ dir = 1
+ },
+/obj/structure/boulder,
+/obj/effect/floor_decal/rust,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"Sq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -16315,6 +16435,14 @@
},
/turf/simulated/floor,
/area/security/prison/lower)
+"ZI" = (
+/obj/structure/stairs/middle{
+ dir = 1
+ },
+/obj/effect/floor_decal/rust,
+/obj/structure/boulder,
+/turf/simulated/floor/tiled/steel_grid/lythios43c,
+/area/rift/surfacebase/underground/under1)
"ZJ" = (
/obj/structure/bed/chair/sofa/green/left,
/turf/simulated/floor/concrete/indoors,
@@ -18771,7 +18899,7 @@ aa
aa
aa
aa
-aa
+db
IJ
rV
aa
@@ -19162,12 +19290,12 @@ Zt
yb
rV
rV
-aa
-aa
-aa
-aa
-aa
-aa
+db
+db
+db
+db
+db
+db
aa
aa
aa
@@ -19356,15 +19484,15 @@ Xi
WR
WR
rV
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+fA
+iN
+Lt
+EI
+iN
+db
+db
+db
+db
ms
"}
(16,1,1) = {"
@@ -19550,15 +19678,15 @@ Lh
Lh
WR
WR
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+PT
+dZ
+dZ
+yj
+dZ
+EV
+JP
+Sp
+db
ms
"}
(17,1,1) = {"
@@ -19744,15 +19872,15 @@ Lh
Lh
rV
WR
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+Lh
+dZ
+dZ
+dZ
+dZ
+EV
+ZI
+pe
+db
ms
"}
(18,1,1) = {"
@@ -19937,16 +20065,16 @@ db
WR
Lh
rV
-rV
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+oI
+db
+MD
+dZ
+rR
+uK
+db
+db
+db
+db
ms
"}
(19,1,1) = {"
@@ -20132,12 +20260,12 @@ WR
rV
rV
rV
-aa
-aa
-aa
-aa
-aa
-aa
+db
+Qf
+ma
+dZ
+tS
+db
aa
aa
aa
@@ -20326,12 +20454,12 @@ aa
WR
rV
rV
-aa
-aa
-aa
-aa
-aa
-aa
+db
+db
+db
+db
+db
+db
aa
aa
aa