Skip to content

Commit

Permalink
Xenomorphs now retain lisps if the body they bursted from had that tr…
Browse files Browse the repository at this point in the history
…ait (#8214)

# About the pull request
Gives xenomorphs lisp trait if the person they bursted from has it as
well , only affects non hivemind communication

# Explain why it's good for the game

I think its cool and small interacitons like this make the game slightly
more interesting


# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
add: Xenomorphs now get lisps if the person they bursted from had that
trait
/:cl:

---------

Co-authored-by: InsaneRed <[email protected]>
  • Loading branch information
Red-byte3D and InsaneRed authored Jan 24, 2025
1 parent b3a8855 commit 30fda7a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/Embryo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,8 @@
window_flash(new_xeno.client)

SSround_recording.recorder.track_player(new_xeno)
if(HAS_TRAIT(affected_mob, TRAIT_LISPING))
ADD_TRAIT(new_xeno, TRAIT_LISPING, affected_mob)

to_chat(new_xeno, SPAN_XENOANNOUNCE("You are a xenomorph larva inside a host! Move to burst out of it!"))
to_chat(new_xeno, "<B>Your job is to spread the hive and protect the Queen. If there's no Queen, you can become the Queen yourself by evolving into a drone.</B>")
Expand Down
5 changes: 3 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/Evolution.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@
hive.living_xeno_queen.overwatch(new_xeno)

src.transfer_observers_to(new_xeno)
new_xeno._status_traits = src._status_traits

qdel(src)
new_xeno.xeno_jitter(25)
Expand Down Expand Up @@ -312,7 +313,7 @@
var/mob/living/carbon/xenomorph/new_xeno = transmute(newcaste)
if(new_xeno)
log_game("EVOLVE: [key_name(src)] de-evolved into [new_xeno].")

return

/mob/living/carbon/xenomorph/proc/transmute(newcaste)
Expand All @@ -324,7 +325,6 @@
var/level_to_switch_to = get_vision_level()
var/xeno_type = GLOB.RoleAuthority.get_caste_by_text(newcaste)
var/mob/living/carbon/xenomorph/new_xeno = new xeno_type(get_turf(src), src)

if(!istype(new_xeno))
//Something went horribly wrong
to_chat(src, SPAN_WARNING("Something went terribly wrong here. Your new xeno is null! Tell a coder immediately!"))
Expand Down Expand Up @@ -368,6 +368,7 @@
SPAN_XENODANGER("We regress into our previous form."))

transfer_observers_to(new_xeno)
new_xeno._status_traits = src._status_traits

if(GLOB.round_statistics && !new_xeno.statistic_exempt)
GLOB.round_statistics.track_new_participant(faction, -1) //so an evolved xeno doesn't count as two.
Expand Down

0 comments on commit 30fda7a

Please sign in to comment.