Skip to content

Conversation

@nikothedude
Copy link

@nikothedude nikothedude commented Oct 31, 2025

About The Pull Request

Teshari! The loved and hated bids from nova and co.

This is mostly just a straight port. The same sprites, same mechanics, same everything. Theres only a few differences.

  1. Only teshari can access their ears - this is because teshari ears just DONT work off teshari. (Tails can be accessed by anyone and tesh can pick non-tesh tails, thanks to how a lot of tails are laid out)
  2. Teshari tablerunning is bound to a free-use ability, at the request of the client

Design doc: https://hackmd.io/@bboHcH7iQpC5t0gFmxs9EA/Hy9xPpNRxg

Bundled in this PR are a lot of changes and tweaks, mainly around our bodyshape-bound clothing code. Included is also a robust sprite autogen system, if we ever add a species like this again.

Why It's Good For The Game

Teshari have been mentioned as a potential port species from the very onset of the server, and they have rare mentions in the lore pages, but no efforts to fully port them were made until now. This widens the biodiversity of the selection of species we offer, allowing for players to select a well-known and frequently requested species that is non-humanoid, as well as tweaking the bodyshape-bound clothing code for any future efforts to port species with atypical forms.

Testing Evidence

image image

Changelog

🆑
add: Teshari
fix: Digitigrade females now recieve proper jumpsuit sprites
/:cl:

@github-actions github-actions bot added do not merge Config Update Config changes, Ping kannthus. Sprites Funny little pixels on our screen Feature Something new, something fresh. labels Oct 31, 2025
@SylvetteSylph
Copy link

YEAAAAH!!!!!!

@github-actions github-actions bot added the Fix Pest removal; Bugs label Oct 31, 2025
/// The tablerun ability we will give to our teshari.
var/datum/action/innate/teshari_tablerun/tablerun

/datum/language_holder/teshari
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

btw we will have to revisit schiechi as we develop teshari, its a 1:1 from nova

@nikothedude nikothedude changed the title [BOUNTY] [DNM] Teshari [BOUNTY] [TEST-MERGE ONLY] Teshari Oct 31, 2025
@github-actions github-actions bot added the Sound Soundwaves that hit the player at roughly 342 m/s label Oct 31, 2025
@nikothedude nikothedude marked this pull request as ready for review October 31, 2025 22:42
@nikothedude
Copy link
Author

idk why screenshot tests are failing, i tested the clothes the moth is wearing. theyre fine

nikothedude and others added 2 commits October 31, 2025 23:36
Signed-off-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Copy link
Collaborator

@00-Steven 00-Steven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not done reviewing this yet, started earlier but got tired/sick midway through

@github-actions github-actions bot requested a review from 00-Steven November 2, 2025 20:06
if(is_flipped)
return FALSE
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))) // Doppler edit addition - Teshari can tablerun without breaking glass tables
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we may not want this. its funny to run on a table and for it to instantly break but its also annoying and not how it was on nova. thoughts?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it shouldn't be an isteshari typecheck, ideally
either a trait and done as a multi-line edit early return before this, or the funny option with potential major consequences would be to make all teshari torso owners mob size small

var/potential_file = bodyshape_icon_files["[shape]"]
if (icon_exists(potential_file, icon_state))
local_worn_icon = bodyshape_icon_files["[shape]"]
if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i rly hate how i copy pasted this code around, but i thought about it and im blanking on how to procify it

*
* If this returns TRUE, allows the species to access our customization.
*/
/datum/preference/proc/species_can_access_mutant_customization(species_typepath)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i heard ppl were confused why i procified this,

honestly, its probably just an artifact of my tendency to turn little distinct bits of functionality into, well, functions. this is totally not needed, especially as the implementation is only one step above straight copy and pasting the same code into each function in tails.dm, so if requested, i can revert this


/datum/preference/choiced/tail_variation/init_possible_values()
return list(NO_VARIATION) + (GLOB.mutant_variations)
return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this works perfectly now btw

* Determines if we're allowed to regenerate a mutant appearance/organ associated with the feature key.
* By default, returns FALSE if we cant have mutant organs.
*/
/datum/species/proc/can_regenerate_mutant_feature(feature_key)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same deal here as the other procified code

RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL,
)

/datum/design/teshari_advanced_r_arm
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note there is no advanced tesh limb sprite so its the same as the default

@nikothedude
Copy link
Author

A few things I forgot to mention

Only tesh can use their ears, and anyone can use tesh tails and tesh can use non-tesh tails.

@nikothedude
Copy link
Author

Also, waiting on lore til it can be fullmerged

…organs.dm

Co-authored-by: kittysmooch <105110468+kittysmooch@users.noreply.github.com>
Signed-off-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
@github-actions
Copy link

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale label Nov 22, 2025
@kannthus kannthus added No Stale Overrules the github stale actions. and removed Stale labels Nov 22, 2025
Copy link
Collaborator

@00-Steven 00-Steven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slowly working on this, posting these in piecemeal

if(is_flipped)
return FALSE
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))) // Doppler edit addition - Teshari can tablerun without breaking glass tables
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it shouldn't be an isteshari typecheck, ideally
either a trait and done as a multi-line edit early return before this, or the funny option with potential major consequences would be to make all teshari torso owners mob size small

@github-actions github-actions bot requested a review from 00-Steven December 14, 2025 05:12
@github-actions github-actions bot requested a review from 00-Steven December 16, 2025 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Config Update Config changes, Ping kannthus. Feature Something new, something fresh. Fix Pest removal; Bugs Merge Conflict No Stale Overrules the github stale actions. Sound Soundwaves that hit the player at roughly 342 m/s Sprites Funny little pixels on our screen Test Merge Only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants