From a258192f4b4dbd275d6d70e3ed7432ca065357e4 Mon Sep 17 00:00:00 2001 From: spaghetti Date: Mon, 6 Nov 2023 13:52:12 +0300 Subject: [PATCH 1/2] ravager --- .../castes/ravager/abilities_ravager.dm | 4 +-- .../castes/ravager/abilities_ravager.dm | 19 ++++++++++ .../castes/ravager/castedatum_ravager.dm | 35 +++++++++++++++++++ modular_RUtgmc/includes.dm | 2 ++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm create mode 100644 modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm diff --git a/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm b/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm index 362f8a1346c76..b10db626f7476 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm @@ -548,7 +548,7 @@ UnregisterSignal(xeno, COMSIG_XENOMORPH_ATTACK_LIVING) to_chat(xeno, span_xenonotice("You will now[xeno.vampirism ? "" : " no longer"] heal from attacking")) -///Adds the slashed mob to tracked damage mobs +/*///Adds the slashed mob to tracked damage mobs /datum/action/xeno_action/vampirism/proc/on_slash(datum/source, mob/living/target, damage, list/damage_mod, list/armor_mod) SIGNAL_HANDLER if(target.stat == DEAD) @@ -564,4 +564,4 @@ particle_holder = new(x, /particles/xeno_slash/vampirism) particle_holder.pixel_y = 18 particle_holder.pixel_x = 18 - timer_ref = QDEL_NULL_IN(src, particle_holder, heal_delay) + timer_ref = QDEL_NULL_IN(src, particle_holder, heal_delay)*/ diff --git a/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm new file mode 100644 index 0000000000000..0c94297e4e76d --- /dev/null +++ b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/abilities_ravager.dm @@ -0,0 +1,19 @@ +/datum/action/xeno_action/activable/charge + cooldown_timer = 14 SECONDS + +/datum/action/xeno_action/vampirism/proc/on_slash(datum/source, mob/living/target, damage, list/damage_mod, list/armor_mod) + SIGNAL_HANDLER + if(target.stat == DEAD) + return + if(!ishuman(target)) // no farming on animals/dead + return + if(timeleft(timer_ref) > 0) + return + var/mob/living/carbon/xenomorph/x = owner + x.adjustBruteLoss(-x.bruteloss * 0.2) + x.adjustFireLoss(-x.fireloss * 0.2) + update_button_icon() + particle_holder = new(x, /particles/xeno_slash/vampirism) + particle_holder.pixel_y = 18 + particle_holder.pixel_x = 18 + timer_ref = QDEL_NULL_IN(src, particle_holder, heal_delay) diff --git a/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm new file mode 100644 index 0000000000000..82cc6819369b9 --- /dev/null +++ b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm @@ -0,0 +1,35 @@ +/datum/xeno_caste/ravager + plasma_regen_limit = 0.6 + + // *** Defense *** // + soft_armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 50, BOMB = 10, BIO = 40, FIRE = 70, ACID = 40) + + // *** Abilities *** // + actions = list( + /datum/action/xeno_action/xeno_resting, + /datum/action/xeno_action/watch_xeno, + /datum/action/xeno_action/activable/psydrain, + /datum/action/xeno_action/activable/charge, + /datum/action/xeno_action/activable/ravage, + ) + +/datum/xeno_caste/ravager/on_caste_applied(mob/xenomorph) + . = ..() + xenomorph.AddElement(/datum/element/plasma_on_attack, 1.8) + xenomorph.AddElement(/datum/element/plasma_on_attacked, 0.8) + +/datum/xeno_caste/ravager/on_caste_removed(mob/xenomorph) + . = ..() + xenomorph.RemoveElement(/datum/element/plasma_on_attack, 1.8) + xenomorph.RemoveElement(/datum/element/plasma_on_attacked, 0.8) + +/datum/xeno_caste/ravager/primordial + // *** Abilities *** // + actions = list( + /datum/action/xeno_action/xeno_resting, + /datum/action/xeno_action/watch_xeno, + /datum/action/xeno_action/activable/psydrain, + /datum/action/xeno_action/activable/charge, + /datum/action/xeno_action/activable/ravage, + /datum/action/xeno_action/vampirism, + ) diff --git a/modular_RUtgmc/includes.dm b/modular_RUtgmc/includes.dm index 44945bf3ec837..05aac03a59b05 100644 --- a/modular_RUtgmc/includes.dm +++ b/modular_RUtgmc/includes.dm @@ -186,3 +186,5 @@ #include "code\modules\clothing\modular_armor\jaeger.dm" #include "code\modules\clothing\modular_armor\attachments\chest_plates.dm" #include "code\modules\reagents\reactions\medical.dm" +#include "code\modules\mob\living\carbon\xenomorph\castes\ravager\castedatum_ravager.dm" +#include "code\modules\mob\living\carbon\xenomorph\castes\ravager\abilities_ravager.dm" From 7b2c0b923b86996825d55ea28cb1b6f351b9e983 Mon Sep 17 00:00:00 2001 From: spaghetti Date: Mon, 6 Nov 2023 15:29:46 +0300 Subject: [PATCH 2/2] upd --- .../carbon/xenomorph/castes/ravager/castedatum_ravager.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm index 82cc6819369b9..24ec679520c12 100644 --- a/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm +++ b/modular_RUtgmc/code/modules/mob/living/carbon/xenomorph/castes/ravager/castedatum_ravager.dm @@ -1,5 +1,5 @@ /datum/xeno_caste/ravager - plasma_regen_limit = 0.6 + plasma_regen_limit = 0.7 // *** Defense *** // soft_armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 50, BOMB = 10, BIO = 40, FIRE = 70, ACID = 40)