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..24ec679520c12 --- /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.7 + + // *** 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"