Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Converts xenomorph messages to be more hivemind like instead of individual #5194

Merged
merged 60 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
0201220
attack alien and evo changes
Dec 11, 2023
efa2d48
boiler
Dec 11, 2023
48d7ae8
burrower
Dec 11, 2023
197e53b
carrier
Dec 11, 2023
5611e46
Merge branch 'master' into weinsteadofyou
Dec 11, 2023
841e3b9
crusher_fixes
Dec 11, 2023
350b488
defender
Dec 11, 2023
b225a52
hugger
Dec 11, 2023
afd99d5
hivelord
Dec 11, 2023
5204606
lesser
Dec 11, 2023
2cba076
vampire / lurker
Dec 11, 2023
b5f2d9f
praetorian / strains
Dec 11, 2023
b92f42d
predalien
Dec 11, 2023
29932f9
ravager
Dec 11, 2023
30379d2
runner
Dec 11, 2023
3402c0f
sentinel
Dec 11, 2023
fd1d067
spitter
Dec 11, 2023
4c338ca
warrior
Dec 11, 2023
ce3a1f4
ability helper procs
Dec 11, 2023
cd1d9a7
general abilities / powers
Dec 11, 2023
1caa327
xeno_action
Dec 11, 2023
6617cd0
a shit ton of changes / fixes
Dec 11, 2023
70b156f
more procs
Dec 11, 2023
6f8f67c
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 11, 2023
ecf0cfa
overwatch changes
Dec 11, 2023
7291d7f
Merge branch 'weinsteadofyou' of https://github.com/InsaneRed/cmss13 …
Dec 11, 2023
9848344
lurker and devouring
Dec 11, 2023
4f63d64
devo and queen devo
Dec 11, 2023
3f0c624
more overwatch stuff
Dec 11, 2023
5028dd3
vent crawling
Dec 11, 2023
698af71
vehicles and stuff
Dec 11, 2023
4cf6056
2
Dec 11, 2023
57b2982
xeno dm and procs fixes
Dec 11, 2023
7be7f5e
embryo and life dms WHERE IS THIS RUNNER POUNCE CODE IM GOING TO LOST…
Dec 11, 2023
5efa15e
rav and nest and walls and xeno structures we are pretty sure weve al…
Dec 11, 2023
72383b7
XENO BUILDING YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Dec 12, 2023
a2053a8
i still cant find the pounce code im going to say a slur
Dec 12, 2023
a2cc7ac
CORE PYLON CORE PYLON CORE PYLON
Dec 12, 2023
29ab351
quueen WOTQ
Dec 12, 2023
ba0060c
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 12, 2023
74f20e4
last of the day and emotes, i am defeated by a simple pounce code
Dec 12, 2023
47d8ca3
Merge branch 'weinsteadofyou' of https://github.com/InsaneRed/cmss13 …
Dec 12, 2023
00c121e
i lied
Dec 12, 2023
9daa393
i finally fucking found it this feels better then anything a woman co…
Dec 12, 2023
b67341e
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 12, 2023
40ce72e
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 12, 2023
ec1d0b2
i start laughing like the joker
Dec 12, 2023
f75da28
Merge branch 'weinsteadofyou' of https://github.com/InsaneRed/cmss13 …
Dec 12, 2023
6c7579a
hijack announcements / quene eye update
Dec 12, 2023
adf207d
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 12, 2023
d228ec0
Merge remote-tracking branch 'upstream/master' into weinsteadofyou
Dec 13, 2023
1593470
prae change
Dec 13, 2023
2cccd52
review
Dec 14, 2023
c389ef2
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 14, 2023
bad9be2
balloon alerts unfuck
Dec 14, 2023
e7e8eee
Merge branch 'weinsteadofyou' of https://github.com/InsaneRed/cmss13 …
Dec 14, 2023
b3676ec
reviewfixes
Dec 15, 2023
fdef2f1
Merge branch 'master' into weinsteadofyou
Red-byte3D Dec 15, 2023
69560f6
power
Dec 15, 2023
f5e3a1a
Merge branch 'weinsteadofyou' of https://github.com/InsaneRed/cmss13 …
Dec 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions code/_onclick/hud/screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -523,17 +523,17 @@
if(user.observed_xeno == user.tracked_marker)
user.overwatch(user.tracked_marker, TRUE) //passing in an obj/effect into a proc that expects mob/xenomorph B)
else
to_chat(user, SPAN_XENONOTICE("You psychically observe the [user.tracked_marker.mark_meaning.name] resin mark in [get_area_name(user.tracked_marker)]."))
to_chat(user, SPAN_XENONOTICE("We psychically observe the [user.tracked_marker.mark_meaning.name] resin mark in [get_area_name(user.tracked_marker)]."))
user.overwatch(user.tracked_marker) //this is so scuffed, sorry if this causes errors
return
if(mods["alt"] && user.tracked_marker)
user.stop_tracking_resin_mark()
return
if(!user.hive)
to_chat(user, SPAN_WARNING("You don't belong to a hive!"))
to_chat(user, SPAN_WARNING("We don't belong to a hive!"))
return FALSE
if(!user.hive.living_xeno_queen)
to_chat(user, SPAN_WARNING("Without a queen your psychic link is broken!"))
to_chat(user, SPAN_WARNING("Without a queen our psychic link is broken!"))
return FALSE
if(HAS_TRAIT(user, TRAIT_ABILITY_BURROWED) || user.is_mob_incapacitated() || user.buckled)
return FALSE
Expand All @@ -551,10 +551,10 @@
return FALSE
if(mods["shift"])
var/area/current_area = get_area(user)
to_chat(user, SPAN_NOTICE("You are currently at: <b>[current_area.name]</b>."))
to_chat(user, SPAN_NOTICE("We are currently at: <b>[current_area.name]</b>."))
return
if(!user.hive)
to_chat(user, SPAN_WARNING("You don't belong to a hive!"))
to_chat(user, SPAN_WARNING("We don't belong to a hive!"))
return FALSE
if(mods["alt"])
var/list/options = list()
Expand All @@ -581,7 +581,7 @@
track_state = options[selected]
return
if(!user.hive.living_xeno_queen)
to_chat(user, SPAN_WARNING("Your hive doesn't have a living queen!"))
to_chat(user, SPAN_WARNING("Our hive doesn't have a living queen!"))
return FALSE
if(HAS_TRAIT(user, TRAIT_ABILITY_BURROWED) || user.is_mob_incapacitated() || user.buckled)
return FALSE
Expand Down
16 changes: 8 additions & 8 deletions code/_onclick/ventcrawl.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
return
for(var/atom/A as anything in src)
if(!(is_type_in_list(A, canEnterVentWith)))
to_chat(src, SPAN_WARNING("You can't be carrying items or have items equipped when vent crawling!"))
to_chat(src, SPAN_WARNING("We cannot be carrying items or have items equipped when vent crawling!"))
return FALSE

/mob/living/click(atom/A, list/mods)
Expand All @@ -25,7 +25,7 @@
if(Adjacent(V) && !V.welded)
pipes |= V
if(!pipes || !pipes.len)
to_chat(src, SPAN_WARNING("There are no pipes that you can ventcrawl into within range!"))
to_chat(src, SPAN_WARNING("There are no pipes that we can ventcrawl into within range!"))
return
if(pipes.len == 1)
pipe = pipes[1]
Expand All @@ -42,11 +42,11 @@

/mob/living/proc/handle_ventcrawl(atom/clicked_on)
if(stat)
to_chat(src, SPAN_WARNING("You must be conscious to do this!"))
to_chat(src, SPAN_WARNING("We must be conscious to do this!"))
return

if(is_mob_incapacitated())
to_chat(src, SPAN_WARNING("You can't vent crawl while you're stunned!"))
to_chat(src, SPAN_WARNING("We can't vent crawl while we are stunned!"))
return

var/obj/structure/pipes/vents/vent_found
Expand All @@ -59,11 +59,11 @@
vent_found = locate(/obj/structure/pipes/vents/) in range(1, src)

if(!vent_found)
to_chat(src, SPAN_WARNING("You must be standing on or beside an air vent to enter it."))
to_chat(src, SPAN_WARNING("We must be standing on or beside an air vent to enter it."))
return

if(vent_found.welded)
to_chat(src, SPAN_WARNING("This vent is closed off, you cannot climb through it."))
to_chat(src, SPAN_WARNING("This vent is closed off, we cannot climb through it."))
return

if(!ventcrawl_carry())
Expand All @@ -78,10 +78,10 @@

if(length(vent_found.connected_to))
if(src.action_busy)
to_chat(src, SPAN_WARNING("You are already busy with something."))
to_chat(src, SPAN_WARNING("We are already busy with something."))
return

visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("You begin climbing into [vent_found]."))
visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("We begin climbing into [vent_found]."))
vent_found.animate_ventcrawl()
if(!do_after(src, 45, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC))
vent_found.animate_ventcrawl_reset()
Expand Down
4 changes: 2 additions & 2 deletions code/_onclick/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@
playsound(loc, 'sound/weapons/alien_claw_swipe.ogg', 10, 1) //Quiet to limit spam/nuisance.
if(firepatted)
src.visible_message(SPAN_DANGER("\The [src] pats at the fire!"), \
SPAN_DANGER("You pat the fire!"), null, 5, CHAT_TYPE_XENO_COMBAT)
SPAN_DANGER("We pat the fire!"), null, 5, CHAT_TYPE_XENO_COMBAT)
else
src.visible_message(SPAN_DANGER("\The [src] swipes at \the [target]!"), \
SPAN_DANGER("You swipe at \the [target]!"), null, 5, CHAT_TYPE_XENO_COMBAT)
SPAN_DANGER("We swipe at \the [target]!"), null, 5, CHAT_TYPE_XENO_COMBAT)
return TRUE

/mob/living/carbon/xenomorph/RangedAttack(atom/A)
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,7 @@ SUBSYSTEM_DEF(minimaps)
else if(faction == XENO_HIVE_NORMAL)
var/mutable_appearance/appearance = mutable_appearance(icon('icons/mob/hud/actions_xeno.dmi'), "toggle_queen_zoom")
COOLDOWN_START(GLOB, xeno_canvas_cooldown, canvas_cooldown_time)
xeno_maptext("The Queen has updated your hive mind map", "You sense something unusual...", faction)
xeno_maptext("The Queen has updated our hive mind map", "We sense something unusual...", faction)
notify_ghosts(header = "Tactical Map", message = "The Xenomorph tactical map has been updated.", ghost_sound = "sound/voice/alien_distantroar_3.ogg", notify_volume = 50, action = NOTIFY_XENO_TACMAP, enter_link = "xeno_tacmap=1", enter_text = "View", source = user, alert_overlay = appearance)

toolbar_updated_selection = toolbar_color_selection
Expand Down
4 changes: 2 additions & 2 deletions code/datums/effects/xeno_strains/xeno_buff.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
if(!isxeno(A))
qdel(src)

to_chat(A, SPAN_XENONOTICE("You feel empowered"))
to_chat(A, SPAN_XENONOTICE("We feel empowered"))

var/mob/living/carbon/xenomorph/X = A
X.melee_damage_lower += bonus_damage
Expand All @@ -47,7 +47,7 @@
/datum/effects/xeno_buff/Destroy()

if(affected_atom)
to_chat(affected_atom, SPAN_XENONOTICE("You no longer feel empowered"))
to_chat(affected_atom, SPAN_XENONOTICE("We no longer feel empowered"))
var/mob/living/carbon/xenomorph/X = affected_atom
X.melee_damage_lower -= bonus_damage
X.melee_damage_upper -= bonus_damage
Expand Down
4 changes: 2 additions & 2 deletions code/datums/keybinding/xenomorph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -196,11 +196,11 @@
return

if((!current_xeno.hive.living_xeno_queen || SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) && !current_xeno.hive.allow_no_queen_actions) //No Hive status on WO
to_chat(current_xeno, SPAN_WARNING("There is no Queen. You are alone."))
to_chat(current_xeno, SPAN_WARNING("There is no Queen. We are alone."))
return

if(current_xeno.interference)
to_chat(current_xeno, SPAN_WARNING("A headhunter temporarily cut off your psychic connection!"))
to_chat(current_xeno, SPAN_WARNING("A headhunter temporarily cut off our psychic connection!"))
return

current_xeno.hive.hive_ui.open_hive_status(current_xeno)
Expand Down
14 changes: 7 additions & 7 deletions code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
if(iscarbon(user))
var/mob/living/carbon/carbon = user
if(HIVE_ALLIED_TO_HIVE(carbon.hivenumber, hivenumber))
to_chat(user, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones."))
to_chat(user, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones."))
return
if(buckled_mob)
if(iswelder(W))
Expand Down Expand Up @@ -151,12 +151,12 @@
if(isxeno(user))
var/mob/living/carbon/xenomorph/X = user
if(!X.hive.unnesting_allowed && !isxeno_builder(X) && HIVE_ALLIED_TO_HIVE(X.hivenumber, hivenumber))
to_chat(X, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones."))
to_chat(X, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones."))
return
else if(iscarbon(user))
var/mob/living/carbon/H = user
if(HIVE_ALLIED_TO_HIVE(H.hivenumber, hivenumber))
to_chat(H, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones."))
to_chat(H, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones."))
return

if(ishuman(buckled_mob) && isxeno(user))
Expand All @@ -165,7 +165,7 @@
to_chat(user, SPAN_WARNING("[H] was nested recently. Wait a bit."))
return
if(H.stat != DEAD)
if(alert(user, "[H] is still alive and kicking! Are you sure you want to remove them from the nest?", "Confirmation", "Yes", "No") != "Yes")
if(alert(user, "[H] is still alive and kicking! Are we sure we want to remove them from the nest?", "Confirmation", "Yes", "No") != "Yes")
return
if(!buckled_mob || !user.Adjacent(H) || user.is_mob_incapacitated(FALSE))
return
Expand Down Expand Up @@ -195,7 +195,7 @@
return

if(isxeno(mob))
to_chat(user, SPAN_WARNING("You can't buckle your sisters."))
to_chat(user, SPAN_WARNING("We can't buckle our sisters."))
return

if(buckled_mob)
Expand All @@ -207,7 +207,7 @@
return

if(!isxeno(user) || issynth(mob))
to_chat(user, SPAN_WARNING("Gross! You're not touching that stuff."))
to_chat(user, SPAN_WARNING("Gross! We're not touching that stuff."))
return

if(isyautja(mob) && !force_nest)
Expand Down Expand Up @@ -321,7 +321,7 @@
if(M.a_intent == INTENT_HARM && !buckled_mob) //can't slash nest with an occupant.
M.animation_attack_on(src)
M.visible_message(SPAN_DANGER("\The [M] claws at \the [src]!"), \
SPAN_DANGER("You claw at \the [src]."))
SPAN_DANGER("We claw at \the [src]."))
playsound(loc, "alien_resin_break", 25)
health -= (M.melee_damage_upper + 25) //Beef up the damage a bit
healthcheck()
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/walls/wall_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1219,7 +1219,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen)

M.animation_attack_on(src)
M.visible_message(SPAN_XENONOTICE("\The [M] claws \the [src]!"), \
SPAN_XENONOTICE("You claw \the [src]."))
SPAN_XENONOTICE("We claw \the [src]."))
playsound(src, "alien_resin_break", 25)
if (M.hivenumber == hivenumber)
take_damage(Ceiling(HEALTH_WALL_XENO * 0.25)) //Four hits for a regular wall
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_aliens/XenoStructures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
else
M.animation_attack_on(src)
M.visible_message(SPAN_XENONOTICE("\The [M] claws \the [src]!"), \
SPAN_XENONOTICE("You claw \the [src]."))
SPAN_XENONOTICE("We claw \the [src]."))
if(istype(src, /obj/effect/alien/resin/sticky))
playsound(loc, "alien_resin_move", 25)
else
Expand Down
38 changes: 19 additions & 19 deletions code/modules/cm_aliens/structures/fruit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@
/obj/effect/alien/resin/fruit/proc/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE)
if(mature) // Someone might've eaten it before us!
recipient.gain_health(75)
to_chat(recipient, SPAN_XENONOTICE("You recover a bit from your injuries."))
to_chat(recipient, SPAN_XENONOTICE("We recover a bit from our injuries."))
if(do_consume)
finish_consume(recipient)

Expand All @@ -161,18 +161,18 @@
return cant_consume

if(mature)
to_chat(affected_xeno, SPAN_XENOWARNING("You prepare to consume [name]."))
to_chat(affected_xeno, SPAN_XENOWARNING("We prepare to consume [name]."))
xeno_noncombat_delay(affected_xeno)
if(!do_after(affected_xeno, consume_delay, INTERRUPT_ALL, BUSY_ICON_FRIENDLY))
return XENO_NO_DELAY_ACTION

cant_consume = prevent_consume(affected_xeno) // Check again after the delay incase they have eaten another fruit
if(cant_consume)
to_chat(affected_xeno, SPAN_XENOWARNING("You can no longer consume [name]."))
to_chat(affected_xeno, SPAN_XENOWARNING("We can no longer consume [name]."))
return cant_consume
consume_effect(affected_xeno)
else
to_chat(affected_xeno, SPAN_XENOWARNING("[name] isn't ripe yet. You need to wait a little longer."))
to_chat(affected_xeno, SPAN_XENOWARNING("[name] isn't ripe yet. We need to wait a little longer."))

if(affected_xeno.a_intent == INTENT_HARM && isxeno_builder(affected_xeno) || (!affected_xeno.can_not_harm(bound_xeno) && affected_xeno.hivenumber != hivenumber))
affected_xeno.animation_attack_on(src)
Expand All @@ -185,7 +185,7 @@

/obj/effect/alien/resin/fruit/proc/prevent_consume(mob/living/carbon/xenomorph/xeno)
if(!(flags & CAN_CONSUME_AT_FULL_HEALTH) && xeno.health >= xeno.maxHealth)
to_chat(xeno, SPAN_XENODANGER("You are at full health! This would be a waste..."))
to_chat(xeno, SPAN_XENODANGER("We are at full health! This would be a waste..."))
return XENO_NO_DELAY_ACTION
return FALSE

Expand All @@ -212,7 +212,7 @@
return
if(recipient && !QDELETED(recipient))
recipient.gain_health(heal_amount)
to_chat(recipient, SPAN_XENONOTICE("You recover a bit from your injuries, and begin to regenerate rapidly."))
to_chat(recipient, SPAN_XENONOTICE("We recover a bit from our injuries, and begin to regenerate rapidly."))
// Every second, heal him for 15.
new /datum/effects/heal_over_time(recipient, regeneration_amount_total, regeneration_ticks, 1)
if(do_consume)
Expand Down Expand Up @@ -240,15 +240,15 @@
/obj/effect/alien/resin/fruit/unstable/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE)
if(mature && recipient && !QDELETED(recipient))
recipient.add_xeno_shield(Clamp(overshield_amount, 0, recipient.maxHealth * 0.3), XENO_SHIELD_SOURCE_GARDENER, duration = shield_duration, decay_amount_per_second = shield_decay)
to_chat(recipient, SPAN_XENONOTICE("You feel your defense being bolstered, and begin to regenerate rapidly."))
to_chat(recipient, SPAN_XENONOTICE("We feel our defense being bolstered, and begin to regenerate rapidly."))
// Every seconds, heal him for 5.
new /datum/effects/heal_over_time(recipient, regeneration_amount_total, regeneration_ticks, 1)
if(do_consume)
finish_consume(recipient)

//Spore
/obj/effect/alien/resin/fruit/spore
desc = "A fruit that can be eaten to reenergize your cooldowns. It also passively emits weak recovery pheromones."
desc = "A fruit that can be eaten to reenergize cooldowns. It also passively emits weak recovery pheromones."
name = XENO_FRUIT_SPORE
time_to_mature = 15 SECONDS
icon_state = "fruit_spore_immature"
Expand All @@ -270,7 +270,7 @@
if(E.effect_source == "spore")
qdel(E)
new /datum/effects/gain_xeno_cooldown_reduction_on_slash(recipient, bound_xeno, max_cooldown_reduction, cooldown_per_slash, 60 SECONDS, "spore")
to_chat(recipient, SPAN_XENONOTICE("You feel a frenzy coming onto you! Your abilities will cool off faster as you slash!"))
to_chat(recipient, SPAN_XENONOTICE("We feel a frenzy coming onto us! Our abilities will cool off faster as we slash!"))
if(do_consume)
finish_consume(recipient)

Expand Down Expand Up @@ -306,20 +306,20 @@

/obj/effect/alien/resin/fruit/speed/prevent_consume(mob/living/carbon/xenomorph/xeno)
if(LAZYISIN(xeno.modifier_sources, XENO_FRUIT_SPEED))
to_chat(xeno, SPAN_XENOWARNING("You're already under the effects of this fruit, go out and kill!"))
to_chat(xeno, SPAN_XENOWARNING("We are already under the effects of this fruit, go out and kill!"))
return XENO_NO_DELAY_ACTION
return ..()

/obj/effect/alien/resin/fruit/speed/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE)
if(mature && recipient && !QDELETED(recipient))
to_chat(recipient, SPAN_XENONOTICE("The [name] invigorates you to move faster!"))
new /datum/effects/xeno_speed(recipient, ttl = speed_duration, set_speed_modifier = speed_buff_amount, set_modifier_source = XENO_FRUIT_SPEED, set_end_message = SPAN_XENONOTICE("You feel the effects of the [name] wane..."))
to_chat(recipient, SPAN_XENONOTICE("The [name] invigorates us to move faster!"))
new /datum/effects/xeno_speed(recipient, ttl = speed_duration, set_speed_modifier = speed_buff_amount, set_modifier_source = XENO_FRUIT_SPEED, set_end_message = SPAN_XENONOTICE("We feel the effects of the [name] wane..."))
if(do_consume)
finish_consume(recipient)

/obj/effect/alien/resin/fruit/plasma
name = XENO_FRUIT_PLASMA
desc = "A fruit that can be eaten to boost your plasma generation."
desc = "A fruit that can be eaten to boost plasma generation."
time_to_mature = 25 SECONDS
icon_state = "fruit_plasma_immature"
mature_icon_state = "fruit_plasma"
Expand All @@ -333,7 +333,7 @@

/obj/effect/alien/resin/fruit/plasma/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE)
if(mature && recipient && recipient.plasma_max > 0 && !QDELETED(recipient))
to_chat(recipient, SPAN_XENONOTICE("The [name] boosts your plasma regeneration!"))
to_chat(recipient, SPAN_XENONOTICE("The [name] boosts our plasma regeneration!"))
// with the current values (240, 15, 3), this will give the recipient 48 plasma every 3 seconds, for a total of 240 in 15 seconds
new /datum/effects/plasma_over_time(recipient, plasma_amount, plasma_time, time_between_plasmas)
if(do_consume)
Expand All @@ -360,7 +360,7 @@
pixel_y = 0

/obj/item/reagent_container/food/snacks/resin_fruit/proc/link_xeno(mob/living/carbon/xenomorph/X)
to_chat(X, SPAN_XENOWARNING("One of your resin fruits has been picked."))
to_chat(X, SPAN_XENOWARNING("One of our resin fruits has been picked."))
X.current_fruits.Add(src)
bound_xeno = X
RegisterSignal(X, COMSIG_PARENT_QDELETING, PROC_REF(handle_xeno_qdel))
Expand Down Expand Up @@ -429,7 +429,7 @@

//Notify the fruit's bound xeno if they exist
if(!QDELETED(bound_xeno))
to_chat(bound_xeno, SPAN_XENOWARNING("One of your picked resin fruits has been consumed."))
to_chat(bound_xeno, SPAN_XENOWARNING("One of our picked resin fruits has been consumed."))
qdel(src)
return TRUE

Expand All @@ -449,7 +449,7 @@
/mob/living/carbon/xenomorph/proc/pickup_fruit(obj/effect/alien/resin/fruit/F)

if(F.bound_xeno && !can_not_harm(F.bound_xeno))
to_chat(src, SPAN_XENODANGER("You crush [F]."))
to_chat(src, SPAN_XENODANGER("We crush [F]."))
qdel(F)
return
if(!F.mature)
Expand All @@ -476,11 +476,11 @@
qdel(F)

/mob/living/carbon/xenomorph/larva/pickup_fruit(obj/effect/alien/resin/fruit/F)
to_chat(src, SPAN_XENODANGER("You are too small to pick up \the [F]!"))
to_chat(src, SPAN_XENODANGER("We are too small to pick up \the [F]!"))
return

/mob/living/carbon/xenomorph/facehugger/pickup_fruit(obj/effect/alien/resin/fruit/F)
to_chat(src, SPAN_XENODANGER("You are too small to pick up \the [F]!"))
to_chat(src, SPAN_XENODANGER("We are too small to pick up \the [F]!"))
return

/obj/item/reagent_container/food/snacks/resin_fruit/greater
Expand Down
Loading