mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-21 15:06:51 +01:00
Tajara Peasants are coming. <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## A New Ghost Role and Lythios Features! It seems like the crew is finally getting some neighbors on good old Lythios. Tajara, of course, you have to source your colonists locally after all. Nanotrasen is even going to let them onto station grounds to work and trade with the crew. The new ghost role Na'sahira Colonist is an Atlas-specific ghost role in the same vein as ashlanders. Like Ashlanders, Colonists have unique crafting recipes, which use the new gatherables I have added. Hopefully, this will give them more products to trade with the crew. In addition, I have made some other balance chances and additions: - Two new plants that can be harvested from now spawn randomly in the Lythios snow - Spiders now drop poison gland items which can be extracted for their reagents. - Butchering now produces between 0 and the set amount of the butchering loot rather then 0 **or** the butchering loot greatly increasing the chances of you at least getting something from butchering. - The powder horn now holds double the gunpowder. - Colonist recipes are in a new "Special Recipes" Tab which I believe is a good place to add recipes from species backgrounds or ghost role in future development. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game The Ashlanders never saw their full potential since the crew was always limited in how they could interact with them. Travellers and traders by contrast are extremely freeform but are still separated from the station. Colonists will spawn directly on the Lythios map and can interact directly with the entire crew without delay. The colonist recipes give incentives to interact with the new Lythios map features and the Lythios map in general. The butchering change removes the frustration inherent with butchering an creating and getting no rewards. The powder horn was buffed to make it more in line with similar-sized reagent containers and to make sure black powder weapons are better suited for longer periods of combat. The spider poison gland PR was made when I figured spiders <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: The Lythios Colonist ghost role. add: two new snow plants that can be harvested, new crafting recipes, tweak: butchered creates drop 0-amount loot rather then 0 or amounts loot balance: powderhorn capacity doubled fix: Welderspear recipes now in the correct recipe category. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
225 lines
7.0 KiB
Plaintext
225 lines
7.0 KiB
Plaintext
/obj/item/stack/animalhide
|
|
name = "animal hide"
|
|
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
|
|
drop_sound = 'sound/items/drop/cloth.ogg'
|
|
pickup_sound = 'sound/items/pickup/cloth.ogg'
|
|
|
|
/obj/fiftyspawner/animalhide
|
|
name = "animal hide"
|
|
type_to_spawn = /obj/item/stack/animalhide
|
|
|
|
/obj/item/stack/animalhide/grey
|
|
icon_state = "sheet-greyhide"
|
|
|
|
/obj/item/stack/animalhide/human
|
|
name = "human skin"
|
|
desc = "The by-product of human farming."
|
|
singular_name = "human skin piece"
|
|
icon_state = "sheet-hide"
|
|
|
|
/obj/fiftyspawner/animalhide/human
|
|
name = "human hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/human
|
|
|
|
/obj/item/stack/animalhide/corgi
|
|
name = "corgi hide"
|
|
desc = "The by-product of corgi farming."
|
|
singular_name = "corgi hide piece"
|
|
icon_state = "sheet-corgi"
|
|
|
|
/obj/fiftyspawner/animalhide/corgi
|
|
name = "corgi hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/corgi
|
|
|
|
/obj/item/stack/animalhide/cat
|
|
name = "cat hide"
|
|
desc = "The by-product of cat farming."
|
|
singular_name = "cat hide piece"
|
|
icon_state = "sheet-cat"
|
|
|
|
/obj/fiftyspawner/animalhide/cat
|
|
name = "feline hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/cat
|
|
|
|
/obj/item/stack/animalhide/monkey
|
|
name = "monkey hide"
|
|
desc = "The by-product of monkey farming."
|
|
singular_name = "monkey hide piece"
|
|
icon_state = "sheet-monkey"
|
|
|
|
/obj/fiftyspawner/animalhide/monkey
|
|
name = "monkey hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/monkey
|
|
|
|
/obj/item/stack/animalhide/lizard
|
|
name = "lizard skin"
|
|
desc = "Sssssss..."
|
|
singular_name = "lizard skin piece"
|
|
icon_state = "sheet-lizard"
|
|
|
|
/obj/fiftyspawner/animalhide/lizard
|
|
name = "lizard hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/lizard
|
|
|
|
/obj/item/stack/animalhide/xeno
|
|
name = "alien hide"
|
|
desc = "The skin of a terrible creature."
|
|
singular_name = "alien hide piece"
|
|
icon_state = "sheet-xeno"
|
|
|
|
/obj/fiftyspawner/animalhide/xeno
|
|
name = "xenomorph hide"
|
|
type_to_spawn = /obj/item/stack/animalhide/xeno
|
|
|
|
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
|
|
/obj/item/stack/xenochitin
|
|
name = "alien chitin"
|
|
desc = "A piece of the hide of a terrible creature."
|
|
singular_name = "alien hide piece"
|
|
icon = 'icons/mob/alien.dmi'
|
|
icon_state = "chitin"
|
|
|
|
/obj/fiftyspawner/xenochitin
|
|
name = "stack of xenochitin"
|
|
type_to_spawn = /obj/item/stack/xenochitin
|
|
|
|
/obj/item/xenos_claw
|
|
name = "alien claw"
|
|
desc = "The claw of a terrible creature."
|
|
icon = 'icons/mob/alien.dmi'
|
|
icon_state = "claw"
|
|
|
|
/obj/item/weed_extract
|
|
name = "weed extract"
|
|
desc = "A piece of slimy, purplish weed."
|
|
icon = 'icons/mob/alien.dmi'
|
|
icon_state = "weed_extract"
|
|
|
|
/obj/item/stack/hairlesshide
|
|
name = "hairless hide"
|
|
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
|
|
|
|
/obj/fiftyspawner/hairlesshide
|
|
name = "hairless hide"
|
|
type_to_spawn = /obj/item/stack/hairlesshide
|
|
|
|
/*
|
|
* Sinew
|
|
*/
|
|
/obj/item/stack/sinew
|
|
name = "sinew"
|
|
desc = "Long stringy filaments which presumably came from an organic creature."
|
|
singular_name = "sinew"
|
|
icon_state = "sheet-sinew"
|
|
|
|
/obj/fiftyspawner/sinew
|
|
name = "stack of sinew"
|
|
type_to_spawn = /obj/item/stack/sinew
|
|
|
|
/obj/item/stack/sinew/watcher
|
|
name = "watcher sinew"
|
|
desc = "Long stringy filaments which presumably came from a watcher's wings."
|
|
singular_name = "watcher sinew"
|
|
|
|
/obj/item/stack/sinew/wolf
|
|
name = "wolf sinew"
|
|
desc = "Long stringy filaments which came from the insides of a wolf."
|
|
singular_name = "wolf sinew"
|
|
|
|
/*
|
|
* Plates
|
|
*/
|
|
/obj/item/stack/animalhide/goliath_hide
|
|
name = "goliath hide plates"
|
|
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
|
|
icon_state = "sheet-goliath_hide"
|
|
singular_name = "hide plate"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
layer = MOB_LAYER
|
|
|
|
/obj/fiftyspawner/animalhide/goliath_hide
|
|
name = "goliath hide plates"
|
|
type_to_spawn = /obj/item/stack/animalhide/goliath_hide
|
|
|
|
/obj/item/stack/animalhide/goliath_hide/polar_bear_hide
|
|
name = "polar bear hides"
|
|
desc = "Pieces of a polar bear's fur, these might be able to make your suit a bit more durable to attack from the local fauna."
|
|
icon_state = "sheet-polar_bear_hide"
|
|
singular_name = "polar bear hide"
|
|
|
|
/obj/fiftyspawner/animalhide/goliath_hide/polar_bear_hide
|
|
name = "polar bear hide plates"
|
|
type_to_spawn = /obj/item/stack/animalhide/goliath_hide/polar_bear_hide
|
|
|
|
/obj/item/stack/animalhide/ashdrake
|
|
name = "ash drake hide"
|
|
desc = "The strong, scaled hide of an ash drake."
|
|
icon_state = "sheet-dragon_hide"
|
|
singular_name = "drake plate"
|
|
max_amount = 10
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
layer = MOB_LAYER
|
|
|
|
/obj/item/stack/wetleather
|
|
name = "wet leather"
|
|
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
|
|
var/drying_threshold_temperature = 500 //Kelvin to start drying
|
|
no_variants = FALSE
|
|
|
|
/obj/fiftyspawner/wetleather
|
|
name = "stack of wet leather"
|
|
type_to_spawn = /obj/item/stack/wetleather
|
|
|
|
//Step one - dehairing.
|
|
/obj/item/stack/animalhide/attackby(obj/item/W as obj, mob/user as mob)
|
|
if( istype(W, /obj/item/material/knife) || \
|
|
istype(W, /obj/item/material/twohanded/fireaxe) || \
|
|
istype(W, /obj/item/material/knife/machete/hatchet) )
|
|
|
|
//visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message)
|
|
usr.visible_message("<span class='notice'>\The [usr] starts cutting hair off \the [src]</span>", "<span class='notice'>You start cutting the hair off \the [src]</span>", "You hear the sound of a knife rubbing against flesh")
|
|
if(do_after(user,50))
|
|
to_chat(usr, "<span class='notice'>You cut the hair from this [src.singular_name]</span>")
|
|
//Try locating an exisitng stack on the tile and add to there if possible
|
|
for(var/obj/item/stack/hairlesshide/HS in usr.loc)
|
|
if(HS.amount < 50)
|
|
HS.amount++
|
|
src.use(1)
|
|
break
|
|
//If it gets to here it means it did not find a suitable stack on the tile.
|
|
var/obj/item/stack/hairlesshide/HS = new(usr.loc)
|
|
HS.amount = 1
|
|
src.use(1)
|
|
else
|
|
..()
|
|
|
|
//Step two - This was originally busted washing machine code. Now it's a sink attack.
|
|
|
|
//Step three - drying
|
|
/obj/item/stack/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
|
..()
|
|
if(exposed_temperature >= drying_threshold_temperature)
|
|
wetness--
|
|
if(wetness == 0)
|
|
//Try locating an exisitng stack on the tile and add to there if possible
|
|
for(var/obj/item/stack/material/leather/HS in src.loc)
|
|
if(HS.amount < 50)
|
|
HS.amount++
|
|
src.use(1)
|
|
wetness = initial(wetness)
|
|
break
|
|
//If it gets to here it means it did not find a suitable stack on the tile.
|
|
var/obj/item/stack/material/leather/HS = new(src.loc)
|
|
HS.amount = 1
|
|
wetness = initial(wetness)
|
|
src.use(1)
|