Skip to content

Commit

Permalink
Unapologetic Teshari Buffs Vol. 1 (#2748)
Browse files Browse the repository at this point in the history
* the second most powerful pr in the world

* oops lol

* oh nyo

* holy fuck

yeah goddamn

* wew

* no message

* okay last one

* THE WIND IS PUSHING MEEEEE INTO THE CLOUDS AGAIN I FEEL THE BLOOD IN MY VEINS

* then hollywood jack told the doctors 'you've got to retrieve him!'

* wew

* there we go

* Update modular_nova/modules/teshari/code/schechi.dm

---------

Co-authored-by: Nerevar <[email protected]>
Co-authored-by: Bloop <[email protected]>
  • Loading branch information
3 people authored Apr 5, 2024
1 parent 701bfe1 commit 1e62da5
Show file tree
Hide file tree
Showing 10 changed files with 98 additions and 9 deletions.
7 changes: 3 additions & 4 deletions code/datums/mutations/body.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@
if(..())
return
// NOVA EDIT BEGIN
if(owner.dna.features["body_size"] < 1)
to_chat(owner, "You feel your body shrinking even further, but your organs aren't! Uh oh!")
if(owner.dna.features["body_size"] < 1 || isteshari(owner))
to_chat(owner, "You feel your body try to shrink, but your organs don't! Uh oh!")
owner.adjustBruteLoss(25)
return
// NOVA EDIT END
Expand All @@ -132,9 +132,8 @@
if(..())
return
// NOVA EDIT BEGIN
if(owner.dna.features["body_size"] < 1)
if(owner.dna.features["body_size"] < 1 || isteshari(owner))
to_chat(owner, "You feel relief as your organs cease to strain against your insides.")
REMOVE_TRAIT(owner, TRAIT_DWARF, GENETIC_MUTATION)
return
// NOVA EDIT END
REMOVE_TRAIT(owner, TRAIT_DWARF, GENETIC_MUTATION)
Expand Down
5 changes: 4 additions & 1 deletion code/datums/quirks/positive_quirks/settler.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@
give_item_to_holder(/obj/item/storage/box/papersack/wheat, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS))
give_item_to_holder(/obj/item/storage/toolbox/fishing/small, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS))
var/mob/living/carbon/human/human_quirkholder = quirk_holder
human_quirkholder.set_mob_height(HUMAN_HEIGHT_SHORTEST)
//NOVA EDIT BEGIN - This is so Teshari don't get the height decrease.
if(!isteshari(human_quirkholder))
human_quirkholder.set_mob_height(HUMAN_HEIGHT_SHORTEST)
//NOVA EDIT END
human_quirkholder.add_movespeed_modifier(/datum/movespeed_modifier/settler)
human_quirkholder.physiology.hunger_mod *= 0.5 //good for you, shortass, you don't get hungry nearly as often

Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/tables_racks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@
check_break(M)

/obj/structure/table/glass/proc/check_break(mob/living/M)
if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && (!isteshari(M))) //NOVA EDIT ADDITION - Allows Teshari to climb on glassies safely.
table_shatter(M)

/obj/structure/table/glass/proc/table_shatter(mob/living/victim)
Expand Down
Binary file modified modular_nova/master_files/icons/hud/actions.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/misc/language.dmi
Binary file not shown.
2 changes: 2 additions & 0 deletions modular_nova/modules/bodyparts/code/teshari_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,15 @@
base_limb_id = SPECIES_TESHARI
brute_modifier = TESHARI_BRUTE_MODIFIER
burn_modifier = TESHARI_BURN_MODIFIER
speed_modifier = -0.1

/obj/item/bodypart/leg/right/digitigrade/teshari
icon_greyscale = BODYPART_ICON_TESHARI
bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM
base_limb_id = SPECIES_TESHARI
brute_modifier = TESHARI_BRUTE_MODIFIER
burn_modifier = TESHARI_BURN_MODIFIER
speed_modifier = -0.1

#undef TESHARI_PUNCH_LOW
#undef TESHARI_PUNCH_HIGH
Expand Down
72 changes: 72 additions & 0 deletions modular_nova/modules/organs/code/ears.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/obj/item/organ/internal/ears/teshari
name = "teshari ears"
desc = "A set of four long rabbit-like ears, a Teshari's main tool while hunting. Naturally extremely sensitive to loud sounds."
damage_multiplier = 1.5
actions_types = list(/datum/action/cooldown/spell/teshari_hearing)

/obj/item/organ/internal/ears/teshari/on_mob_remove(mob/living/carbon/ear_owner)
. = ..()
REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT)

/datum/action/cooldown/spell/teshari_hearing
name = "Toggle Sensitive Hearing"
desc = "Perk up your ears to listen for quiet sounds, useful for picking up whispering."
button_icon = 'modular_nova/master_files/icons/hud/actions.dmi'
button_icon_state = "echolocation_off"
background_icon_state = "bg_alien"
overlay_icon_state = "bg_alien_border"

cooldown_time = 1 SECONDS
spell_requirements = NONE

/datum/action/cooldown/spell/teshari_hearing/proc/update_button_state(new_state) //This makes it so that the button icon changes dynamically based on ears being up or not.
button_icon_state = new_state
owner.update_action_buttons()

/datum/action/cooldown/spell/teshari_hearing/Remove(mob/living/remove_from)
REMOVE_TRAIT(remove_from, TRAIT_GOOD_HEARING, ORGAN_TRAIT)
remove_from.update_sight()
return ..()

/datum/action/cooldown/spell/teshari_hearing/cast(list/targets, mob/living/carbon/human/user = usr)
. = ..()

if(HAS_TRAIT(user, TRAIT_GOOD_HEARING))
teshari_hearing_deactivate(user)
return

user.apply_status_effect(/datum/status_effect/teshari_hearing)
user.visible_message(span_notice("[user], pricks up [user.p_their()] four ears, each twitching intently!"), span_notice("You perk up all four of your ears, hunting for even the quietest sounds."))
update_button_state("echolocation_on")

var/obj/item/organ/internal/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS)
if(ears)
ears.damage_multiplier = 3

/datum/action/cooldown/spell/teshari_hearing/proc/teshari_hearing_deactivate(mob/living/carbon/human/user) //Called when you activate it again after casting the ability-- turning them off, so to say.
if(!HAS_TRAIT_FROM(user, TRAIT_GOOD_HEARING, ORGAN_TRAIT))
return

user.remove_status_effect(/datum/status_effect/teshari_hearing)
user.visible_message(span_notice("[user] drops [user.p_their()] ears down a bit, no longer listening as closely."), span_notice("You drop your ears down, no longer paying close attention."))
update_button_state("echolocation_off")

var/obj/item/organ/internal/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS)
if(ears)
ears.damage_multiplier = 1.5

/datum/status_effect/teshari_hearing
id = "teshari_hearing"
alert_type = null
status_type = STATUS_EFFECT_UNIQUE

/datum/status_effect/teshari_hearing/on_apply()
ADD_TRAIT(owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT)
return ..()

/datum/status_effect/teshari_hearing/on_remove()
REMOVE_TRAIT(owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT)
return ..()

/datum/status_effect/teshari_hearing/get_examine_text()
return span_notice("[owner.p_They()] [owner.p_have()] [owner.p_their()] ears perked up, listening closely to whisper-quiet sounds.")
12 changes: 11 additions & 1 deletion modular_nova/modules/teshari/code/_teshari.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET)
bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET)
species_language_holder = /datum/language_holder/teshari
mutantears = /obj/item/organ/internal/ears/teshari
body_size_restricted = TRUE
bodypart_overrides = list(
BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/teshari,
Expand All @@ -57,7 +58,7 @@
)

/obj/item/organ/internal/tongue/teshari
liked_foodtypes = MEAT
liked_foodtypes = MEAT | GORE | RAW
disliked_foodtypes = GROSS | GRAIN

/datum/species/teshari/random_name(gender, unique, lastname)
Expand All @@ -80,3 +81,12 @@
tesh.dna.mutant_bodyparts["tail"] = list(MUTANT_INDEX_NAME = "Teshari (Default)", MUTANT_INDEX_COLOR_LIST = list(base_color, base_color, ear_color))
regenerate_organs(tesh, src, visual_only = TRUE)
tesh.update_body(TRUE)

/datum/species/teshari/on_species_gain(mob/living/carbon/human/new_teshari, datum/species/old_species, pref_load)
. = ..()
passtable_on(new_teshari, SPECIES_TRAIT)

/datum/species/teshari/on_species_loss(mob/living/carbon/C, datum/species/new_species, pref_load)
. = ..()
passtable_off(C, SPECIES_TRAIT)

6 changes: 4 additions & 2 deletions modular_nova/modules/teshari/code/schechi.dm
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
/datum/language/schechi
name = "Schechi"
desc = "The common language of the Teshari, and later adapted by many other avian species, consisting of miscellaneous chirps."
desc = "The very structurally loose creole tongue of the Teshari, host to hundreds of dialects almost different enough to resemble their own languages. \
Originally developed on Sirisai, Schechi has made its way across the Teshari diaspora as a commonly agreed upon way for entirely different packs to communicate."
key = "F"
space_chance = 40
syllables = list(
"i", "ii", "si", "aci", "hi", "ni", "li", "schi", "tari",
"e", "she", "re", "me", "ne", "te", "se", "le", "ai",
"a", "ra", "ca", "scha", "tara", "sa", "la", "na",
"a", "ra", "ca", "scha", "tara", "sa", "la", "na", "ce",
"re", "se", "shi", "ti", "le", "la", "lu", "tu", "shu",
)
icon = 'modular_nova/master_files/icons/misc/language.dmi'
icon_state = "schechi"
Expand Down
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -7945,6 +7945,7 @@
#include "modular_nova\modules\opposing_force\code\equipment\modsuit.dm"
#include "modular_nova\modules\opposing_force\code\equipment\spells.dm"
#include "modular_nova\modules\opposing_force\code\equipment\uplink.dm"
#include "modular_nova\modules\organs\code\ears.dm"
#include "modular_nova\modules\organs\code\heart.dm"
#include "modular_nova\modules\organs\code\liver.dm"
#include "modular_nova\modules\organs\code\lungs.dm"
Expand Down

0 comments on commit 1e62da5

Please sign in to comment.