mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
[EVIL CODE] [LATE MEOWY CHRISTMAS] Replaces the poorly fitting ashwalkers on icebox with significantly cooler (I can't think of an eyecatching title for demis alright?) (#18364)
* dripped tf out ong * oops * catgirl lore * slight grammar error * YOU SHOULD APPEAR IN THE PREFS MENU NOW * barrel activity * hole in the ground * oopsie daisies * I thought I fixed this earlier * god of war: ragnarok didnt i do that as a commit name already * mapping my beloved * uhhh right the map * oh yeah its grilling time * dirt but icebox so I said * balling * some stuff idk what i did this commit * I think the map is done * I lied * makes the map actually spawn * we don't need this anymore! * I think this time its done * boowomp * Those benches didn't look great unfortunately * last stuff before pr * I cannot spell this word Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> * its not explicitly icebox ig * christmas, just a week away * a few of the testing things * clothing update part 1 * clothing update pt2 * slight errors * ill get it right first try eventually * cta * smelling salts * fixes gauntlets runtiming * gives that a desc * CI moment * updates the map * trim failure * should fix the clothing stuff * should also fix their body temp and overheat temp * oopsies * slight species reflavor * single missing ) * incorrect comments * their own language for shittalking outsiders * oh yeah baby its baking time * oven tweaks * map tweaks * the fog is coming (single line error) * wait that is completely wrong * it has been done madam prime minister * that didnt make a ton of sense now * single word change * screenshot test? * language icon that isn't :3 * makes policy VERY OBVIOUS * makes their language not pickable * issue fixes * likely fixes them not spawning with their species language * single empty line * map change * moves the oven into the cooking module * we dont have that file anymore * fixes some stuff * makes the oven emissives better * makes for sure they spawn with the stuff they should have * fixes their mf eyessss * ever so slightly buffs their night vison * Update modular_skyrat/modules/primitive_catgirls/code/spawner.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/modules/primitive_catgirls/code/language.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * some of that stuff * makes policy a config * right so that's how that works * Update modular_skyrat/modules/primitive_catgirls/code/spawner.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * fixes the screenshot test --------- Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
This commit is contained in:
co-authored by
Tom
GoldenAlpharex
parent
145705785f
commit
3323da2c4c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -132,6 +132,7 @@
|
||||
#define SPECIES_GHOUL "ghoul"
|
||||
#define SPECIES_TESHARI "teshari"
|
||||
#define SPECIES_HEMOPHAGE "hemophage"
|
||||
#define SPECIES_FELINE_PRIMITIVE "primitive_felinid"
|
||||
|
||||
#define SPECIES_MUTANT "mutant"
|
||||
#define SPECIES_MUTANT_INFECTIOUS "infectious_mutant"
|
||||
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -118,3 +118,6 @@ LORECASTER_DELAY 18000
|
||||
|
||||
## If uncommented, suicide will be disabled.
|
||||
# DISABLE_SUICIDE
|
||||
|
||||
## The link to the policy wiki page for primitive catgirls
|
||||
ICECATS_POLICY_LINK "https://wiki.skyrat13.tk/w/index.php/Ghost_Role_policy#Icewalkers"
|
||||
|
||||
@@ -12,6 +12,9 @@ GLOBAL_VAR_INIT(looc_allowed, TRUE)
|
||||
/datum/config_entry/string/discord_link
|
||||
config_entry_value = "We forgot to set the server's discord link in config.txt"
|
||||
|
||||
/datum/config_entry/string/icecats_policy_link
|
||||
config_entry_value = "(It appears we have forgotten to set this link)" // "in config.txt" but the players don't need to see that
|
||||
|
||||
/// Whether or not we log game logs to the SQL database. Requires the SQL database to function, as well as our Skyrat-only table, `game_log`.
|
||||
/datum/config_entry/flag/sql_game_log
|
||||
protection = CONFIG_ENTRY_LOCKED
|
||||
|
||||
@@ -1193,3 +1193,59 @@ digi
|
||||
name = "Wargame Hologram Projector"
|
||||
icon_file = 'modular_skyrat/modules/wargame_projectors/icons/projectors_and_holograms.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/wargame_holoprojector/projector.json'
|
||||
|
||||
// Evil primitive catgirl clothing
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_wraps
|
||||
name = "Primitive Body Wraps"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/body_wraps.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_wraps/worn
|
||||
name = "Primitive Body Wraps (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/body_wraps_worn.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_armwraps
|
||||
name = "Arm Wraps"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/armwraps.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_armwraps/worn
|
||||
name = "Arm Wraps (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/armwraps_worn.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_coat
|
||||
name = "Primitive Fur Coat"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/coat.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_coat/worn
|
||||
name = "Primitive Fur Coat (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/coat_worn.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_boots
|
||||
name = "Primitive Winter Boots"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/boots.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_boots/worn
|
||||
name = "Primitive Winter Boots (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/boots_worn.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_gaiter
|
||||
name = "Neck Gaiter"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/gaiter.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_gaiter/worn
|
||||
name = "Neck Gaiter (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/gaiter_worn.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_gauntlets
|
||||
name = "Gauntlets"
|
||||
icon_file = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/gauntlets.json'
|
||||
|
||||
/datum/greyscale_config/primitive_catgirl_gauntlets/worn
|
||||
name = "Gauntlets (Worn)"
|
||||
json_config = 'modular_skyrat/modules/GAGS/json_configs/primitive_catgirl_clothing/gauntlets_worn.json'
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"armwraps": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "armwraps_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"armwraps": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "armwraps",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"wraps": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "wraps_under_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "wraps_over_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"wraps": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "wraps_under",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "wraps_over",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"boots": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "boots_under_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "boots_cover_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"boots": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "boots_under",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "boots_cover",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"coat": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "coat_body_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "coat_fluff_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"coat": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "coat_body",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "coat_fluff",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"gaiter": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gaiter_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
],
|
||||
"gaiter_up": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gaiter_obj_up",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"gaiter": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gaiter",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
],
|
||||
"gaiter_up": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gaiter_up",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"gauntlets": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gauntlets_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "armwraps_obj",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"gauntlets": [
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "armwraps",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 1 ]
|
||||
},
|
||||
{
|
||||
"type": "icon_state",
|
||||
"icon_state": "gauntlets",
|
||||
"blend_mode": "overlay",
|
||||
"color_ids": [ 2 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -19,11 +19,11 @@
|
||||
suffix = "icemoon_underground_mining_site_skyrat.dmm"
|
||||
always_place = TRUE
|
||||
|
||||
/datum/map_template/ruin/icemoon/underground/skyrat/ashwalker_nest
|
||||
name = "Ice Walker Nest"
|
||||
id = "ash-walker-ice"
|
||||
description = "A forboding dark stoned castle, it has seen better days but at least the current occupants patched the walls."
|
||||
/datum/map_template/ruin/icemoon/underground/skyrat/icewalker_camp
|
||||
name = "Ice Walker Camp"
|
||||
id = "primitive_catgirl_den"
|
||||
description = "A small, at times abandoned looking camp. Make no mistake however, as the inhabitants are usually just hibernating in a hole nearby"
|
||||
prefix = "_maps/RandomRuins/IceRuins/skyrat/"
|
||||
suffix = "icemoon_underground_ash_walker1_skyrat.dmm"
|
||||
suffix = "icemoon_underground_icewalker_den.dmm"
|
||||
always_place = TRUE
|
||||
allow_duplicates = FALSE
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
// The naming of every path in this file is going to be awful :smiling_imp:
|
||||
|
||||
// Outfit Datum
|
||||
|
||||
/datum/outfit/primitive_catgirl
|
||||
name = "Icemoon Dweller"
|
||||
|
||||
uniform = /obj/item/clothing/under/dress/skirt/primitive_catgirl_body_wraps
|
||||
shoes = /obj/item/clothing/shoes/winterboots/ice_boots/primitive_catgirl_boots
|
||||
gloves = /obj/item/clothing/gloves/fingerless/primitive_catgirl_armwraps
|
||||
suit = /obj/item/clothing/suit/jacket/primitive_catgirl_coat
|
||||
neck = /obj/item/clothing/neck/scarf/primitive_catgirl_scarf
|
||||
|
||||
back = /obj/item/forging/reagent_weapon/axe/fake_copper
|
||||
|
||||
// Under
|
||||
|
||||
/obj/item/clothing/under/dress/skirt/primitive_catgirl_body_wraps
|
||||
name = "body wraps"
|
||||
desc = "Some pretty simple wraps to cover up your lower bits."
|
||||
icon_state = "wraps"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
body_parts_covered = GROIN
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_wraps
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_wraps/worn
|
||||
greyscale_colors = "#cec8bf#364660"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
has_sensor = FALSE
|
||||
|
||||
// Hands
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/primitive_catgirl_armwraps
|
||||
name = "arm wraps"
|
||||
desc = "Simple cloth to wrap around one's arms."
|
||||
icon_state = "armwraps"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_armwraps
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_armwraps/worn
|
||||
greyscale_colors = "#cec8bf"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/primitive_catgirl_gauntlets
|
||||
name = "gauntlets"
|
||||
desc = "Simple cloth arm wraps with overlying metal protection."
|
||||
icon_state = "gauntlets"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_gauntlets
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_gauntlets/worn
|
||||
greyscale_config_inhand_left = null
|
||||
greyscale_config_inhand_right = null
|
||||
greyscale_colors = "#cec8bf#c55a1d"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
|
||||
// Suit
|
||||
|
||||
/obj/item/clothing/suit/jacket/primitive_catgirl_coat
|
||||
name = "primitive fur coat"
|
||||
desc = "A large piece of animal hide stuffed with fur, likely from the same animal."
|
||||
icon_state = "coat"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
body_parts_covered = CHEST
|
||||
cold_protection = CHEST
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_coat
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_coat/worn
|
||||
greyscale_colors = "#594032#cec8bf"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
|
||||
/obj/item/clothing/suit/apron/chef/colorable_apron/primitive_catgirl_leather
|
||||
greyscale_colors = "#594032"
|
||||
|
||||
// Shoes
|
||||
|
||||
/obj/item/clothing/shoes/winterboots/ice_boots/primitive_catgirl_boots
|
||||
name = "primitive hiking boots"
|
||||
desc = "A pair of heavy boots lined with fur and with soles special built to prevent slipping on ice."
|
||||
icon_state = "boots"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_boots
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_boots/worn
|
||||
greyscale_colors = "#594032#cec8bf"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
|
||||
// Neck
|
||||
|
||||
/obj/item/clothing/neck/scarf/primitive_catgirl_scarf
|
||||
greyscale_colors = "#cec8bf#cec8bf"
|
||||
|
||||
/obj/item/clothing/neck/large_scarf/primitive_catgirl_off_white
|
||||
greyscale_colors = "#cec8bf#cec8bf"
|
||||
|
||||
/obj/item/clothing/neck/infinity_scarf/primitive_catgirl_blue
|
||||
greyscale_colors = "#364660"
|
||||
|
||||
/obj/item/clothing/neck/mantle/recolorable/primitive_catgirl_off_white
|
||||
greyscale_colors = "#cec8bf"
|
||||
|
||||
/obj/item/clothing/neck/ranger_poncho/primitive_catgirl_leather
|
||||
greyscale_colors = "#594032#594032"
|
||||
|
||||
// Masks
|
||||
|
||||
/obj/item/clothing/mask/primitive_catgirl_greyscale_gaiter
|
||||
name = "neck gaiter"
|
||||
desc = "A cloth for covering your neck, and usually part of your face too, but that part's optional."
|
||||
icon_state = "gaiter"
|
||||
inhand_icon_state = "balaclava"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/primitive_catgirls/icons/clothing_greyscale.dmi'
|
||||
greyscale_config = /datum/greyscale_config/primitive_catgirl_gaiter
|
||||
greyscale_config_worn = /datum/greyscale_config/primitive_catgirl_gaiter/worn
|
||||
greyscale_colors = "#364660"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
flags_inv = HIDEFACE|HIDESNOUT
|
||||
flags_cover = MASKCOVERSMOUTH
|
||||
visor_flags_inv = HIDEFACE|HIDESNOUT
|
||||
visor_flags_cover = MASKCOVERSMOUTH
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
actions_types = list(/datum/action/item_action/adjust)
|
||||
|
||||
/obj/item/clothing/mask/primitive_catgirl_greyscale_gaiter/attack_self(mob/user)
|
||||
adjustmask(user)
|
||||
|
||||
// Head
|
||||
|
||||
/obj/item/clothing/head/standalone_hood/primitive_catgirl_colors
|
||||
greyscale_colors = "#594032#364660"
|
||||
|
||||
// Misc Items
|
||||
|
||||
/obj/item/forging/reagent_weapon/axe/fake_copper
|
||||
custom_materials = list(/datum/material/copporcitite = MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -0,0 +1,36 @@
|
||||
/obj/machinery/vending/primitive_catgirl_clothing_vendor
|
||||
name = "wardrobe"
|
||||
desc = "It's a big wardrobe filled up with all sorts of clothing."
|
||||
icon = 'icons/obj/storage/closet.dmi'
|
||||
icon_state = "cabinet"
|
||||
|
||||
use_power = FALSE
|
||||
|
||||
shut_up = TRUE
|
||||
vend_reply = null
|
||||
|
||||
products = list(
|
||||
/obj/item/clothing/under/dress/skirt/primitive_catgirl_body_wraps = 15,
|
||||
/obj/item/clothing/suit/jacket/primitive_catgirl_coat = 15,
|
||||
/obj/item/clothing/gloves/fingerless/primitive_catgirl_armwraps = 15,
|
||||
/obj/item/clothing/shoes/winterboots/ice_boots/primitive_catgirl_boots = 15,
|
||||
/obj/item/clothing/gloves/fingerless/primitive_catgirl_gauntlets = 10,
|
||||
/obj/item/clothing/mask/primitive_catgirl_greyscale_gaiter = 10,
|
||||
/obj/item/clothing/suit/apron/chef/colorable_apron/primitive_catgirl_leather = 10,
|
||||
/obj/item/clothing/head/standalone_hood/primitive_catgirl_colors = 10,
|
||||
/obj/item/clothing/neck/scarf/primitive_catgirl_scarf = 5,
|
||||
/obj/item/clothing/neck/large_scarf/primitive_catgirl_off_white = 5,
|
||||
/obj/item/clothing/neck/infinity_scarf/primitive_catgirl_blue = 5,
|
||||
/obj/item/clothing/neck/mantle/recolorable/primitive_catgirl_off_white = 5,
|
||||
/obj/item/clothing/neck/ranger_poncho/primitive_catgirl_leather = 5,
|
||||
/obj/item/clothing/glasses/eyepatch/wrap = 5,
|
||||
/obj/item/clothing/head/pelt/snow_tiger = 5,
|
||||
/obj/item/clothing/head/pelt/black = 5,
|
||||
/obj/item/clothing/head/pelt/white = 5,
|
||||
/obj/item/clothing/head/pelt/wolf = 5,
|
||||
/obj/item/clothing/head/pelt/wolf/white = 5,
|
||||
)
|
||||
|
||||
/obj/machinery/vending/primitive_catgirl_clothing_vendor/Initialize(mapload)
|
||||
. = ..()
|
||||
onstation = FALSE
|
||||
@@ -0,0 +1,18 @@
|
||||
/datum/language/primitive_catgirl
|
||||
name = "Ættmál"
|
||||
desc = "A liturgical language passed through three centuries of Hearthkin culture, the only tongue which their literature is allowed to be spoken in; \
|
||||
especially relating to their pagan practices. While Uncommon is used as a trade language with outsiders, Ættmál remains sacred and mostly unknown \
|
||||
to those outside the Hearth."
|
||||
key = "H"
|
||||
flags = TONGUELESS_SPEECH
|
||||
space_chance = 70
|
||||
syllables = list (
|
||||
"al", "an", "ar", "að", "eg", "en", "er", "ha", "he", "il", "in", "ir", "ið", "ki", "le", "na", "nd", "ng", "nn", "og", "ra", "ri",
|
||||
"se", "st", "ta", "ur", "ði", "va", "ve", "sem", "sta", "til", "tur", "var", "ver", "við", "ður", "það", "þei", "með", "ega", "ann",
|
||||
"tur", "egr", "eda", "eva", "ada", "the", "tre", "tai", "thor", "thur", "ohd", "din", "gim", "per", "ger", "héð", "bur", "kóp", "vog",
|
||||
"bar", "dar", "akur", "jer", "bær", "múl", "fjörð", "jah", "dah", "dim", "din", "dir", "dur", "nya", "miau", "mjau", "ný", "kt", "hø",
|
||||
)
|
||||
icon_state = "omgkittyhiii"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/language_icon.dmi'
|
||||
default_priority = 94
|
||||
secret = TRUE
|
||||
@@ -0,0 +1,34 @@
|
||||
// Barrel but it works like a crate
|
||||
|
||||
/obj/structure/closet/crate/wooden/storage_barrel
|
||||
name = "storage barrel"
|
||||
desc = "This barrel can't hold liquids, it can just hold things inside of it however!"
|
||||
icon_state = "barrel"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/barrel.dmi'
|
||||
|
||||
// Wooden shelves but not var edited
|
||||
|
||||
/obj/structure/rack/shelf/wooden
|
||||
icon_state = "empty_shelf_1"
|
||||
icon = 'modular_skyrat/modules/mapping/icons/unique/furniture.dmi'
|
||||
|
||||
// Bonfires but with a grill pre-attached
|
||||
|
||||
/obj/structure/bonfire/grill_pre_attached
|
||||
|
||||
/obj/structure/bonfire/grill_pre_attached/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
grill = TRUE
|
||||
add_overlay("bonfire_grill")
|
||||
|
||||
// Dirt but icebox
|
||||
|
||||
/turf/open/misc/dirt/icemoon
|
||||
baseturfs = /turf/open/openspace/icemoon
|
||||
initial_gas_mix = "ICEMOON_ATMOS"
|
||||
|
||||
// The area
|
||||
|
||||
/area/ruin/unpowered/primitive_catgirl_den
|
||||
name = "\improper Icewalker Camp"
|
||||
@@ -0,0 +1,63 @@
|
||||
#define GAS_TOLERANCE 5
|
||||
|
||||
// Lungs
|
||||
|
||||
/obj/item/organ/internal/lungs/icebox_adapted
|
||||
name = "hardy lungs"
|
||||
desc = "Lungs adapted to frozen environments that would be otherwise inhospitable to most races. Feels cold."
|
||||
|
||||
/obj/item/organ/internal/lungs/icebox_adapted/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
var/datum/gas_mixture/immutable/planetary/mix = SSair.planetary[ICEMOON_DEFAULT_ATMOS]
|
||||
|
||||
if(!mix?.total_moles()) // If there is no icemoon atmos then we have problems, return now
|
||||
return
|
||||
|
||||
// Take a "breath" of the air
|
||||
var/datum/gas_mixture/breath = mix.remove(mix.total_moles() * BREATH_PERCENTAGE)
|
||||
|
||||
var/list/breath_gases = breath.gases
|
||||
|
||||
breath.assert_gases(
|
||||
/datum/gas/oxygen,
|
||||
/datum/gas/plasma,
|
||||
/datum/gas/carbon_dioxide,
|
||||
/datum/gas/nitrogen,
|
||||
/datum/gas/bz,
|
||||
/datum/gas/miasma,
|
||||
)
|
||||
|
||||
var/oxygen_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/oxygen][MOLES])
|
||||
var/nitrogen_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/nitrogen][MOLES])
|
||||
var/plasma_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/plasma][MOLES])
|
||||
var/carbon_dioxide_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/carbon_dioxide][MOLES])
|
||||
var/bz_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/bz][MOLES])
|
||||
var/miasma_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/miasma][MOLES])
|
||||
|
||||
safe_oxygen_min = max(0, oxygen_pp - GAS_TOLERANCE)
|
||||
safe_nitro_min = max(0, nitrogen_pp - GAS_TOLERANCE)
|
||||
safe_plasma_min = max(0, plasma_pp - GAS_TOLERANCE)
|
||||
|
||||
// Increase plasma tolerance based on amount in base air
|
||||
safe_plasma_max += plasma_pp
|
||||
|
||||
// CO2 is always a waste gas, so none is required, but ashwalkers
|
||||
// tolerate the base amount plus tolerance*2 (humans tolerate only 10 pp)
|
||||
|
||||
safe_co2_max = carbon_dioxide_pp + GAS_TOLERANCE * 2
|
||||
|
||||
// The lung tolerance against BZ is also increased the amount of BZ in the base air
|
||||
BZ_trip_balls_min += bz_pp
|
||||
BZ_brain_damage_min += bz_pp
|
||||
|
||||
// Lungs adapted to a high miasma atmosphere do not process it, and breathe it back out
|
||||
if(miasma_pp)
|
||||
suffers_miasma = FALSE
|
||||
|
||||
// Eyes
|
||||
|
||||
/obj/item/organ/internal/eyes/low_light_adapted
|
||||
color_cutoffs = list(30, 15, 15)
|
||||
|
||||
#undef GAS_TOLERANCE
|
||||
@@ -0,0 +1,69 @@
|
||||
/obj/item/smelling_salts
|
||||
name = "smelling salts"
|
||||
desc = "A small pile of a salt-like substance that smells absolutely repulsive. Rumor has it that the smell is so pungent that even the dead will come back to life to escape it."
|
||||
icon_state = "smelling_salts"
|
||||
icon = 'modular_skyrat/modules/primitive_catgirls/icons/salts.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
item_flags = NOBLUDGEON
|
||||
|
||||
/obj/item/smelling_salts/attack(mob/living/mob_attacked, mob/user)
|
||||
. = ..()
|
||||
if(!iscarbon(mob_attacked))
|
||||
to_chat(user, span_warning("On second thought, maybe [src] won't work on [mob_attacked]."))
|
||||
return
|
||||
|
||||
if(mob_attacked == user)
|
||||
to_chat(user, span_warning("You can't bring yourself to get [src] anywhere near your face."))
|
||||
return
|
||||
|
||||
if(mob_attacked.stat != DEAD)
|
||||
to_chat(user, span_warning("On second thought, maybe you shouldn't use this on [mob_attacked] if they're not <b>dead</b>."))
|
||||
return
|
||||
|
||||
try_revive(mob_attacked, user)
|
||||
|
||||
/// If the right conditions are present (basically could this person be defibrilated), revives the target
|
||||
/obj/item/smelling_salts/proc/try_revive(mob/living/carbon/carbon_target, mob/user)
|
||||
carbon_target.notify_ghost_cloning("You are being brought back to life!")
|
||||
carbon_target.grab_ghost()
|
||||
|
||||
user.balloon_alert_to_viewers("trying to revive [carbon_target]")
|
||||
|
||||
if(!do_after(user, 3 SECONDS, carbon_target))
|
||||
user.balloon_alert("stopped reviving [carbon_target]")
|
||||
return
|
||||
|
||||
if(carbon_target.stat != DEAD)
|
||||
to_chat(user, span_warning("Wait, [carbon_target] isn't actually <b>dead</b>!"))
|
||||
return
|
||||
|
||||
var/defib_result = carbon_target.can_defib()
|
||||
var/fail_reason
|
||||
|
||||
switch (defib_result)
|
||||
if (DEFIB_FAIL_SUICIDE, DEFIB_FAIL_DNR, DEFIB_FAIL_BLACKLISTED, DEFIB_FAIL_NO_INTELLIGENCE)
|
||||
fail_reason = "[carbon_target] doesn't respond at all... You don't think they're coming back."
|
||||
if (DEFIB_FAIL_NO_HEART, DEFIB_FAIL_FAILING_HEART, DEFIB_FAIL_FAILING_BRAIN)
|
||||
fail_reason = "[carbon_target] seems to respond just a little, but something you can't see must be wrong about them..."
|
||||
if (DEFIB_FAIL_TISSUE_DAMAGE, DEFIB_FAIL_HUSK)
|
||||
fail_reason = "[carbon_target]'s body seems way too damaged for this to work..."
|
||||
if (DEFIB_FAIL_NO_BRAIN)
|
||||
fail_reason = "[carbon_target]'s head looks like its missing something important."
|
||||
|
||||
if(carbon_target.health <= HEALTH_THRESHOLD_FULLCRIT)
|
||||
fail_reason = "[carbon_target]'s body seems just a little too damaged for this to work..."
|
||||
|
||||
if(fail_reason)
|
||||
to_chat(user, span_boldwarning("[fail_reason]"))
|
||||
return
|
||||
|
||||
carbon_target.adjustOxyLoss(amount = 60, updating_health = TRUE)
|
||||
playsound(src, 'modular_skyrat/modules/emotes/sound/emotes/female/female_sniff.ogg', 50, FALSE)
|
||||
|
||||
if(defib_result == DEFIB_POSSIBLE)
|
||||
carbon_target.grab_ghost()
|
||||
|
||||
carbon_target.revive()
|
||||
to_chat(carbon_target, span_userdanger("[CONFIG_GET(string/blackoutpolicy)]"))
|
||||
log_combat(user, carbon_target, "revived", src)
|
||||
@@ -0,0 +1,117 @@
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl
|
||||
name = "hole in the ground"
|
||||
desc = "A clearly hand dug hole in the ground that appears to lead into a small cave of some kind? It's pretty dark in there."
|
||||
prompt_name = "icemoon dweller"
|
||||
icon = 'icons/mob/simple/lavaland/nest.dmi'
|
||||
icon_state = "hole"
|
||||
mob_species = /datum/species/human/felinid/primitive
|
||||
outfit = /datum/outfit/primitive_catgirl
|
||||
density = FALSE
|
||||
you_are_text = "You are an icemoon dweller."
|
||||
flavour_text = "For as long as you can remember, the icemoon has been your home. \
|
||||
It's been the home of your ancestors, and their ancestors, and the ones before them. \
|
||||
Currently, you and your kin live in uneasy tension with your nearby human-and-otherwise \
|
||||
neighbors. Keep your village and your Kin safe, but bringing death on their heads from \
|
||||
being reckless with the outsiders will not have the Gods be so kind."
|
||||
spawner_job_path = /datum/job/primitive_catgirl
|
||||
|
||||
/// The team the spawner will assign players to and use to keep track of people that have already used the spawner
|
||||
var/datum/team/primitive_catgirls/team
|
||||
|
||||
restricted_species = list(/datum/species/human/felinid/primitive)
|
||||
random_appearance = FALSE
|
||||
loadout_enabled = FALSE
|
||||
uses = 9
|
||||
deletes_on_zero_uses_left = FALSE
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/Initialize(mapload)
|
||||
. = ..()
|
||||
team = new /datum/team/primitive_catgirls()
|
||||
|
||||
important_text = "Read the full policy <a href=\"[CONFIG_GET(string/icecats_policy_link)]\">here</a>."
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/Destroy()
|
||||
team = null
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/examine()
|
||||
. = ..()
|
||||
|
||||
if(uses)
|
||||
. += span_notice("You can see <b>[uses]</b> figures sound asleep down there.")
|
||||
else
|
||||
. += span_notice("It looks pretty empty.")
|
||||
|
||||
return .
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/allow_spawn(mob/user, silent = FALSE)
|
||||
if(!(user.key in team.players_spawned)) // One spawn per person
|
||||
return TRUE
|
||||
if(!silent)
|
||||
to_chat(user, span_warning("It'd be weird if there were multiple of you in that cave, wouldn't it?"))
|
||||
return FALSE
|
||||
|
||||
// This stuff is put on equip because it turns out /special sometimes just don't get called because skyrat
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/equip(mob/living/carbon/human/spawned_human)
|
||||
. = ..()
|
||||
|
||||
spawned_human.mind.add_antag_datum(/datum/antagonist/primitive_catgirl, team)
|
||||
|
||||
// I just have to be REALLY sure they get those languages
|
||||
spawned_human.language_holder = new /datum/language_holder/primitive_felinid
|
||||
spawned_human.update_atom_languages()
|
||||
|
||||
team.players_spawned += (spawned_human.key)
|
||||
|
||||
/datum/job/primitive_catgirl
|
||||
title = "Icemoon Dweller"
|
||||
|
||||
// Antag and team datums
|
||||
|
||||
/datum/team/primitive_catgirls
|
||||
name = "Icewalkers"
|
||||
show_roundend_report = FALSE
|
||||
|
||||
/datum/antagonist/primitive_catgirl
|
||||
name = "\improper Icewalker"
|
||||
job_rank = ROLE_LAVALAND // If you're ashwalker banned you should also not be playing this, other way around as well
|
||||
show_in_antagpanel = FALSE
|
||||
show_to_ghosts = TRUE
|
||||
prevent_roundtype_conversion = FALSE
|
||||
antagpanel_category = "Icemoon Dwellers"
|
||||
count_against_dynamic_roll_chance = FALSE
|
||||
show_in_roundend = FALSE
|
||||
|
||||
/// Tracks the antag datum's 'team' for showing in the ghost orbit menu
|
||||
var/datum/team/primitive_catgirls/feline_team
|
||||
|
||||
antag_recipes = list(
|
||||
/datum/crafting_recipe/boneaxe,
|
||||
/datum/crafting_recipe/bonespear,
|
||||
/datum/crafting_recipe/bonedagger,
|
||||
)
|
||||
|
||||
/datum/antagonist/primitive_catgirl/Destroy()
|
||||
feline_team = null
|
||||
return ..()
|
||||
|
||||
/datum/antagonist/primitive_catgirl/apply_innate_effects(mob/living/mob_override)
|
||||
. = ..()
|
||||
|
||||
var/mob/living/owner_mob = mob_override || owner.current
|
||||
var/datum/language_holder/holder = owner_mob.get_language_holder()
|
||||
|
||||
holder.remove_language(/datum/language/common, TRUE, TRUE, LANGUAGE_ALL)
|
||||
|
||||
holder.grant_language(/datum/language/primitive_catgirl, TRUE, TRUE, LANGUAGE_ALL)
|
||||
holder.selected_language = /datum/language/primitive_catgirl
|
||||
|
||||
/datum/antagonist/primitive_catgirl/create_team(datum/team/team)
|
||||
if(team)
|
||||
feline_team = team
|
||||
objectives |= feline_team.objectives
|
||||
else
|
||||
feline_team = new
|
||||
|
||||
/datum/antagonist/primitive_catgirl/get_team()
|
||||
return feline_team
|
||||
@@ -0,0 +1,104 @@
|
||||
/mob/living/carbon/human/species/felinid/primitive
|
||||
race = /datum/species/human/felinid/primitive
|
||||
|
||||
/datum/language_holder/primitive_felinid
|
||||
understood_languages = list(
|
||||
/datum/language/primitive_catgirl = list(LANGUAGE_ATOM),
|
||||
/datum/language/uncommon = list(LANGUAGE_ATOM),
|
||||
)
|
||||
spoken_languages = list(
|
||||
/datum/language/primitive_catgirl = list(LANGUAGE_ATOM),
|
||||
/datum/language/uncommon = list(LANGUAGE_ATOM),
|
||||
)
|
||||
selected_language = /datum/language/primitive_catgirl
|
||||
|
||||
/datum/species/human/felinid/primitive
|
||||
name = "Primitive Demihuman"
|
||||
id = SPECIES_FELINE_PRIMITIVE
|
||||
|
||||
mutantlungs = /obj/item/organ/internal/lungs/icebox_adapted
|
||||
mutanteyes = /obj/item/organ/internal/eyes/low_light_adapted
|
||||
|
||||
species_language_holder = /datum/language_holder/primitive_felinid
|
||||
|
||||
bodytemp_normal = 270 // If a normal human gets hugged by one its gonna feel cold
|
||||
bodytemp_heat_damage_limit = 283 // To them normal station atmos would be sweltering
|
||||
bodytemp_cold_damage_limit = 213 // Man up bro its not even that cold out here
|
||||
|
||||
liked_food = SEAFOOD | MEAT | GORE // Yum
|
||||
|
||||
inherent_traits = list(
|
||||
TRAIT_VIRUSIMMUNE,
|
||||
TRAIT_RESISTCOLD,
|
||||
)
|
||||
|
||||
always_customizable = TRUE
|
||||
|
||||
/datum/species/human/felinid/primitive/prepare_human_for_preview(mob/living/carbon/human/human_for_preview)
|
||||
human_for_preview.hairstyle = "Blunt Bangs Alt"
|
||||
human_for_preview.hair_color = "#323442"
|
||||
human_for_preview.skin_tone = "mediterranean"
|
||||
|
||||
human_for_preview.update_body_parts()
|
||||
|
||||
human_for_preview.dna.species.mutant_bodyparts["tail"] = list(MUTANT_INDEX_NAME = "Cat", MUTANT_INDEX_COLOR_LIST = list(human_for_preview.hair_color))
|
||||
human_for_preview.dna.species.mutant_bodyparts["ears"] = list(MUTANT_INDEX_NAME = "Cat", MUTANT_INDEX_COLOR_LIST = list(human_for_preview.hair_color))
|
||||
|
||||
human_for_preview.update_mutant_bodyparts(TRUE)
|
||||
human_for_preview.update_body(TRUE)
|
||||
|
||||
/datum/species/human/felinid/primitive/get_species_description()
|
||||
return list(
|
||||
"Genetically modified humanoids believed to be descendants of a now centuries old colony \
|
||||
ship from the pre-bluespace travel era. Still having at least some human traits, they \
|
||||
are most comparable to today's felinids with most sporting features likely spliced from \
|
||||
the icemoon's many fauna."
|
||||
)
|
||||
|
||||
/datum/species/human/felinid/primitive/get_species_lore()
|
||||
return list(
|
||||
"The Hearthkin are a culture of disparate Scandinavian groups all sharing a common origin \
|
||||
as descendents from demihuman genemodders aboard the good ship Stjarndrakkr, or Star Dragon; \
|
||||
an enormous colony ship almost 40km tall. This ship first reached the orbit of its last \
|
||||
resting place three hundred years ago, before the advent of bluespace travel; coming from \
|
||||
a world known to the Hearthkin as 'Asgard.' When it reached the atmosphere of the ice moon, \
|
||||
or 'Niflheim' as they consider it, the vessel detonated in low orbit for unknown reasons. \
|
||||
Large sections of the Star Dragon broke up and sealed themselves, \
|
||||
coming to a rest all over the moon itself.",
|
||||
|
||||
"At first, life was incredibly difficult for the would-be colonists. Generations were very short, \
|
||||
and most of the personnel able to even fix the vessel had died either on impact, or later on. \
|
||||
While their genetic modifications and pre-existing comfort in frozen climates somewhat helped them, \
|
||||
the Ancestors were said to have made one last desperate move to put all their resources together to \
|
||||
fully modify and adapt themselves to the climes of Niflheim; forever.",
|
||||
|
||||
"Nowadays, the Hearthkin are removed from the original culture of the Ancestors, building one all of their own. \
|
||||
Many of the original, largest segments of the Star Dragon are buried under ice and snow, and the Hearthkin have \
|
||||
created a culture of building separate dwellings to keep them secret. Dwelling in longhouses and sleeping in the \
|
||||
warm undergrounds of Niflheim, and hunting native creatures and those coming from portals to the moon's planet; \
|
||||
Muspelheim. Their pagan faith has strengthened over the centuries, from occasional prayers for a blizzard to end \
|
||||
soon, to now full-on worship and sacrifices to their various Gods. Hearthkin still hold immense reverence for their \
|
||||
Ancestors, but tend to have varying opinions and speculation on what exactly they were like, and why they came to \
|
||||
Niflheim in the first place.",
|
||||
|
||||
"Their names are two-part; a birth name, and a title. Their birth names still hold resemblance to 'Asgardian' culture, \
|
||||
typically a Nordic name such as 'Solveig Helgasdottir,' or 'Bjorn Lukasson.' However, their last name is then exchanged \
|
||||
for a 'Title' when the Hearthkin is no longer 'Unproven.' These are a two-parter, based on either great deeds, \
|
||||
embarrassing moments, or aspects of the person's personality. Some examples would be 'Soul-Drowner' after the night of \
|
||||
a Hearthkin drinking herself half-dead, or one might be known as 'Glacier-Shaped' for being abnormally large. \
|
||||
These titles are always given by ones' kin.",
|
||||
|
||||
"The Hearth itself is an area that the kindred hold incredibly sacred, primarily hating Outsiders for more \
|
||||
practical reasons. They think themselves as having been there first, many of them knowing they were 'promised' \
|
||||
Niflheim by the Ancestors. Unlike the Ashwalkers of Muspelheim, the Hearthkin are a more technologically \
|
||||
advanced society; having use for not only metal, but gold and silver for accessory. They are known to employ \
|
||||
artifacts thought to be of either the planet their moon orbits, or leftovers from their Ancestors; however, for \
|
||||
a variety of reasons from Kin to Kin, they tend to shy away from using modern human technology.",
|
||||
|
||||
"Physically, the Hearthkin always come in the form of demihumans; appearing similar to normal Earthlings, \
|
||||
but with the tails, ears, and sometimes limbs of various arctic animals; wolves, bears, and felines to only name a few. \
|
||||
They seem perfectly adapted to their lands of ice and mist, but find even the mild controlled temperatures of \
|
||||
NanoTrasen stations to be swelteringly hot. Their view of 'station' genemodders is that of 'halflings': \
|
||||
Ancestral bodies, but with the blood and spirit of the humans of Midgard, \
|
||||
tending to look down on them even more than other aliens.",
|
||||
)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 642 B |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 417 B |
Binary file not shown.
|
After Width: | Height: | Size: 451 B |
@@ -0,0 +1,30 @@
|
||||
#define OVEN_TRAY_Y_OFFSET -12
|
||||
|
||||
/obj/machinery/oven/stone
|
||||
name = "stone oven"
|
||||
desc = "Sorry buddy, all this stone used up the budget that would have normally gone to garfield comic jokes."
|
||||
icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/stone_oven.dmi'
|
||||
circuit = null
|
||||
use_power = FALSE
|
||||
|
||||
/obj/machinery/oven/stone/add_tray_to_oven(obj/item/plate/oven_tray, mob/baker)
|
||||
used_tray = oven_tray
|
||||
|
||||
if(!open)
|
||||
oven_tray.vis_flags |= VIS_HIDE
|
||||
vis_contents += oven_tray
|
||||
oven_tray.flags_1 |= IS_ONTOP_1
|
||||
oven_tray.vis_flags |= VIS_INHERIT_PLANE
|
||||
oven_tray.pixel_y = OVEN_TRAY_Y_OFFSET
|
||||
|
||||
RegisterSignal(used_tray, COMSIG_MOVABLE_MOVED, PROC_REF(on_tray_moved))
|
||||
update_baking_audio()
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/oven/stone/set_smoke_state(new_state)
|
||||
. = ..()
|
||||
|
||||
if(particles)
|
||||
particles.position = list(0, 10, 0)
|
||||
|
||||
#undef OVEN_TRAY_Y_OFFSET
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
@@ -6684,8 +6684,17 @@
|
||||
#include "modular_skyrat\modules\pollution\code\turf_open.dm"
|
||||
#include "modular_skyrat\modules\poly_commands\parrot.dm"
|
||||
#include "modular_skyrat\modules\positronic_alert_console\code\positronic_alert_console.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\clothing.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\clothing_vendor.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\language.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\map_items.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\organs.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\smelling_salts.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\spawner.dm"
|
||||
#include "modular_skyrat\modules\primitive_catgirls\code\species.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\big_mortar.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\cutting_board.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\stone_oven.dm"
|
||||
#include "modular_skyrat\modules\primitive_production\code\ceramics.dm"
|
||||
#include "modular_skyrat\modules\primitive_production\code\glassblowing.dm"
|
||||
#include "modular_skyrat\modules\primitive_production\code\production_skill.dm"
|
||||
|
||||
Reference in New Issue
Block a user