mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-02 13:34:49 +00:00
New xeno additions. AR-E fix and mech sound changes (#7276)
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)"
|
||||
|
||||
@@ -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
|
||||
|
||||
65
modular_chomp/code/datums/components/xenoqueen.dm
Normal file
65
modular_chomp/code/datums/components/xenoqueen.dm
Normal 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>")
|
||||
@@ -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)
|
||||
BIN
modular_chomp/sound/effects/mech/hightechstep1.ogg
Normal file
BIN
modular_chomp/sound/effects/mech/hightechstep1.ogg
Normal file
Binary file not shown.
BIN
modular_chomp/sound/effects/mech/hightechstep2.ogg
Normal file
BIN
modular_chomp/sound/effects/mech/hightechstep2.ogg
Normal file
Binary file not shown.
Binary file not shown.
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user