New xeno additions. AR-E fix and mech sound changes (#7276)

This commit is contained in:
Aroliacue
2023-11-25 23:01:41 +10:00
committed by GitHub
parent 08e7b6658b
commit c45e8c10ba
10 changed files with 113 additions and 7 deletions

View File

@@ -66,7 +66,9 @@
var/firstactivation = 0 //It's simple. If it's 0, no one entered it yet. Otherwise someone entered it at least once.
var/stomp_sound = 'sound/mecha/mechstep.ogg'
var/stomp_sound_2 = 'sound/mecha/mechstep.ogg' // CHOMPedit: Used for 1-2 step patterns instead of random choice.
var/swivel_sound = 'sound/mecha/mechturn.ogg'
var/reps = 0 // CHOMPedit: Used for 1-2 step patterns.
//inner atmos
var/use_internal_tank = 0
@@ -887,7 +889,8 @@
var/result = get_step(src,direction)
if(result && Move(result))
if(stomp_sound)
playsound(src,stomp_sound,40,1)
playsound(src, reps ? stomp_sound : stomp_sound_2,50,0) // CHOMPedit: 1-2 step sequence.
reps = (reps+1)%2 // CHOMPedit: 1-2 step sequence.
handle_equipment_movement()
if(strafing) //Also for strafing
set_dir(current_dir)
@@ -898,7 +901,8 @@
var/result = get_step_rand(src)
if(result && Move(result))
if(stomp_sound)
playsound(src,stomp_sound,40,1)
playsound(src, reps ? stomp_sound : stomp_sound_2,50,0) // CHOMPedit: 1-2 step sequence.
reps = (reps+1)%2 // CHOMPedit: 1-2 step sequence.
handle_equipment_movement()
return result

View File

@@ -224,7 +224,27 @@
health -= 5
healthcheck()
// CHOMPedit start - Smaller-ranged nodes for Xenomorph Hybrids.
// CHOMPedit start - Smaller-ranged nodes for Xenomorph Hybrids, node/weed deletion.
/obj/effect/alien/weeds/attack_hand()
usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if (HULK in usr.mutations)
visible_message("<span class='warning'>[usr] destroys the [name]!</span>")
health = 0
else
// Aliens can get straight through these.
if(istype(usr,/mob/living/carbon))
var/mob/living/carbon/M = usr
if(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs)
visible_message ("<span class='warning'>[usr] strokes the [name] and it melts away!</span>", 1)
health = 0
healthcheck()
return
visible_message("<span class='warning'>[usr] claws at the [name]!</span>")
health -= rand(5,10)
healthcheck()
return
/obj/effect/alien/weeds/node/weak
light_range = 2
node_range = 1

View File

@@ -6,7 +6,7 @@
/datum/gear/eyes/arglasses/eng
display_name = "AR-E glasses (Eng)"
path = /obj/item/clothing/glasses/omnihud/eng
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician")
allowed_roles = list("Engineer","Chief Engineer","Atmospheric Technician") // CHOMPedit: Allows AR-E Glasses to actually be used.
/datum/gear/eyes/arglasses/med
display_name = "AR-M glasses (Medical)"

View File

@@ -40,7 +40,7 @@
disable_duration_percent = 0.7
outgoing_melee_damage_percent = 1.3
attack_speed_percent = 1.3
attack_speed_percent = -1.3 // CHOMPedit: It was actually slowing it down, lol
accuracy = 30
slowdown = -1
evasion = 30

View File

@@ -0,0 +1,65 @@
/datum/component/xenoqueenbuff
var/mob/living/carbon/human/xeno
var/aura_active = 0
var/datum/modifier/aura/applying = /datum/modifier/aura/xenoqueenbuff // In case we want to add more than one buff in the future.
/datum/component/xenoqueenbuff/Initialize()
if(!ishuman(parent))
return COMPONENT_INCOMPATIBLE
xeno = parent //asigning the reference
xeno.verbs |= /mob/living/carbon/human/proc/queen_aura_toggle
/datum/component/xenoqueenbuff/process()
if(QDELETED(xeno))
STOP_PROCESSING(SSprocessing, src)
aura_active = 0 //Turn off the aura if our host gets deleted
return
if(xeno.stat == DEAD)
STOP_PROCESSING(SSprocessing, src)
aura_active = 0 //Turn off the aura when we die.
for(var/mob/living/L in range(7, xeno))
if(L == xeno)
continue //Don't buff ourselves
if(xeno.IIsAlly(L))
L.add_modifier(applying, null, parent)
/datum/modifier/aura/xenoqueenbuff
name = "Adrenal Surge"
on_created_text = "<span class='notice'>The influence of a nearby Xenomorph Queen strengthens your body... </span>"
on_expired_text = "<span class='warning'>You feel the influence of the Queen slip away, causing your body to relax.</span>"
stacks = MODIFIER_STACK_FORBID
aura_max_distance = 7 // Viewrange.
mob_overlay_state = "purple_electricity_constant"
outgoing_melee_damage_percent = 1.2 // Only affects melee weapons, not fists
attack_speed_percent = -1.2 // Increases attack speed by 20%
evasion = 25 // Only affects ranged attacks missing
/datum/modifier/aura/xenoqueenbuff/check_if_valid()
.=..()
var/atom/A = origin.resolve()
if(istype(A))
var/datum/component/xenoqueenbuff/X = A.GetComponent(/datum/component/xenoqueenbuff)
if(X)
if(!X.aura_active)
expire()
/mob/living/carbon/human/proc/queen_aura_toggle()
set name = "Commanding Aura"
set category = "Abilities"
set desc = "Toggles your Xenomorph Queen buff aura."
if(stat == DEAD) //Disable the verb while we're dead
return
var/datum/component/xenoqueenbuff/X = GetComponent(/datum/component/xenoqueenbuff)
if(X)
if(X.aura_active)
STOP_PROCESSING(SSprocessing,X)
X.aura_active = 0
to_chat (src, "<span class = 'notice'>You cease empowering those around you.</span>")
else
START_PROCESSING(SSprocessing,X)
X.aura_active = 1
to_chat (src, "<span class = 'notice'>You begin empowering those around you.</span>")

View File

@@ -48,3 +48,19 @@
if (trait_prefs?["pass_table"] || !trait_prefs)
H.pass_flags |= PASSTABLE
H.verbs |= /mob/living/proc/toggle_pass_table
/datum/trait/negative/lonely/xenomorph_queen
sort = TRAIT_SORT_SPECIES
allowed_species = list(SPECIES_XENOMORPH_HYBRID)
name = "Xenomorph Hybrid: Queen"
desc = "Our body has evolved to take the shape and stature of a mighty Queen. Our \
strength is unparalleled, as is our ability to command and inspire others, \
but we require the company of other living beings."
cost = 0
category = 0
custom_only = FALSE
var_changes = list("stun_mod" = 0.9, "weaken_mod" = 0.9, "item_slowdown_mod" = 0.7, "total_health" = 200, "brute_mod" = 0.8, "trauma_mod" = 0.9, "slowdown" = 0, "burn_mod" = 1.5)
/datum/trait/negative/lonely/xenomorph_queen/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.LoadComponent(/datum/component/xenoqueenbuff)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -4599,6 +4599,7 @@
#include "modular_chomp\code\datums\browser\color_matrix_picker.dm"
#include "modular_chomp\code\datums\changelog\changelog.dm"
#include "modular_chomp\code\datums\components\gargoyle.dm"
#include "modular_chomp\code\datums\components\xenoqueen.dm"
#include "modular_chomp\code\datums\crafting\recipes.dm"
#include "modular_chomp\code\datums\interfaces\appearance.dm"
#include "modular_chomp\code\datums\outfits\jobs\command.dm"