Skip to content

Commit

Permalink
TGS Test Merge (#7607)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed Feb 5, 2025
2 parents 6918afd + af40285 commit fb66090
Show file tree
Hide file tree
Showing 8 changed files with 439 additions and 317 deletions.
6 changes: 1 addition & 5 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@
#define SINGLETARGETGUT 0
#define AOETARGETGUT 1

#define WARDEN_HEAL_SHIELD 0
#define WARDEN_HEAL_HP 1
#define WARDEN_HEAL_DEBUFFS 2

#define HUD_PAIN_STATES_XENO 4
#define HUD_HEALTH_STATES_XENO 16
#define HUD_PLASMA_STATES_XENO 16
Expand Down Expand Up @@ -404,7 +400,7 @@
// Praetorian strain flags
#define PRAETORIAN_VANGUARD "Vanguard"
#define PRAETORIAN_DANCER "Dancer"
#define PRAETORIAN_WARDEN "Warden"
#define PRAETORIAN_VALKYRIE "Valkyrie"
#define PRAETORIAN_OPPRESSOR "Oppressor"

/////////////////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -257,97 +257,78 @@
activation_delay = TRUE
activation_delay_length = 5

///////////////////////// VALKYRIE PRAE

///////////////////////// WARDEN PRAE

/datum/action/xeno_action/activable/spray_acid/prae_warden
ability_primacy = XENO_PRIMARY_ACTION_2
plasma_cost = 130
xeno_cooldown = 13 SECONDS


// Configurable options

spray_type = ACID_SPRAY_LINE // Enum for the shape of spray to do
spray_distance = 7 // Distance to spray

activation_delay = TRUE
activation_delay_length = 5

/datum/action/xeno_action/activable/warden_heal
name = "Aid Xenomorph"
action_icon_state = "prae_aid"
// todo: macro
/datum/action/xeno_action/activable/tail_stab/tail_fountain //no verbmacrohotkey, its just tail stab.
name = "Tail Fountain"
action_icon_state = "tail_seize"
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_3
charge_time = 0.5 SECONDS
xeno_cooldown = 10 SECONDS
plasma_cost = 100

// Config

// These values are used to determine the
// "HP costs" and effects of the three different, toggle-able, heal types.
var/heal_cost = 100
var/heal_amount = 150

var/shield_cost = 100
var/shield_amount = 125
var/shield_duration = 1 MINUTES
var/shield_decay = 25

var/debuff_cost = 100

var/curr_effect_type = WARDEN_HEAL_HP
ability_primacy = XENO_TAIL_STAB

/datum/action/xeno_action/activable/valkyrie_rage
name = "Tantrum"
action_icon_state = "warden_heal"
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_1
macro_path = /datum/action/xeno_action/verb/verb_prae_rage
plasma_cost = 100
xeno_cooldown = 7 SECONDS
var/datum/weakref/focus_rage = null

/datum/action/xeno_action/onclick/prae_switch_heal_type
name = "Toggle Aid Type"
action_icon_state = "warden_heal" // default = heal
macro_path = /datum/action/xeno_action/verb/verb_prae_switch_heal_types
action_type = XENO_ACTION_ACTIVATE
ability_primacy = XENO_PRIMARY_ACTION_5
//rage configs
var/armor_buff = 10 // the idea behind this is you can buff somebody to go in, or get them out which is why the armor is so high while the duration is so low, will need tweaks according to how well it does
var/armor_buffs_duration = 5 SECONDS // your buff lasts longer because its less and ideally you should be in there slashing people already
var/armor_buffs_active = FALSE

/datum/action/xeno_action/onclick/prae_switch_heal_type/can_use_action()
var/mob/living/carbon/xenomorph/X = owner
if(X && !X.buckled && !X.is_mob_incapacitated())
return TRUE
var/target_armor_buff = 15
var/armor_buffs_targer_dur = 3 SECONDS
var/armor_buffs_active_target = FALSE

/datum/action/xeno_action/onclick/prae_switch_heal_type/use_ability(atom/A)
var/speed_buff_dur = 2 SECONDS // tier 3's get speed boost instead of armor because they become a little broken.
var/speed_buff_amount = 0.7
var/armor_buffs_speed_target = FALSE
var/rage_cost = 75

var/mob/living/carbon/xenomorph/X = owner
var/action_icon_result

if(!X.check_state(1))
return
/datum/action/xeno_action/activable/high_gallop
name = "High Gallop"
action_icon_state = "prae_tail_trip"
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_2
macro_path = /datum/action/xeno_action/verb/verb_prae_high_gallop
xeno_cooldown = 12 SECONDS

var/datum/action/xeno_action/activable/warden_heal/WH = get_action(X, /datum/action/xeno_action/activable/warden_heal)
if (!istype(WH))
return
//knockdown range
var/gallop_range = 3

if (WH.curr_effect_type == WARDEN_HEAL_HP)
action_icon_result = "warden_rejuvenate"
WH.curr_effect_type = WARDEN_HEAL_DEBUFFS
to_chat(X, SPAN_XENOWARNING("We will now aid our sisters by curing their ailments!"))

else
action_icon_result = "warden_heal"
WH.curr_effect_type = WARDEN_HEAL_HP
to_chat(X, SPAN_XENOWARNING("We will now aid our sisters by healing them!"))
/datum/action/xeno_action/onclick/fight_or_flight
name = "Fight or Flight"
action_icon_state = "screech"
action_type = XENO_ACTION_ACTIVATE
ability_primacy = XENO_PRIMARY_ACTION_3
macro_path = /datum/action/xeno_action/verb/verb_prae_fight_or_flight
xeno_cooldown = 45 SECONDS
plasma_cost = 300

button.overlays.Cut()
button.overlays += image('icons/mob/hud/actions_xeno.dmi', button, action_icon_result)
return ..()
// ranges and windup duration, this part of the ability is heavily experimental and will be touched after if it makes to testing
var/low_rage_range = 4
var/high_rage_range = 6
var/rejuvenate_cost = 75

/datum/action/xeno_action/activable/prae_retrieve

name = "Retrieve"
action_icon_state = "retrieve"
macro_path = /datum/action/xeno_action/verb/verb_prae_retrieve
ability_primacy = XENO_PRIMARY_ACTION_4
action_type = XENO_ACTION_CLICK
xeno_cooldown = 100
xeno_cooldown = 10 SECONDS
plasma_cost = 180

// Config
confing
var/max_distance = 7
var/windup = 6
var/retrieve_cost = 100
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,6 @@
var/action_name = "Abduct"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_prae_retrieve()
set category = "Alien"
set name = "Retrieve"
set hidden = TRUE
var/action_name = "Retrieve"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_oppressor_punch()
set category = "Alien"
set name = "Dislocate"
Expand Down Expand Up @@ -82,9 +75,31 @@
var/action_name = "tail trip"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_prae_switch_heal_types()

/datum/action/xeno_action/verb/verb_prae_rage()
set category = "Alien"
set name = "Tantrum"
set hidden = TRUE
var/action_name = "Tantrum"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_prae_high_gallop()
set category = "Alien"
set name = "Praetorian Switch Heal Types"
set name = "High Gallop"
set hidden = TRUE
var/action_name = "Toggle Heal Type"
var/action_name = "High Gallop"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_prae_fight_or_flight()
set category = "Alien"
set name = "Fight or Flight"
set hidden = TRUE
var/action_name = "Fight or Flight"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_prae_retrieve()
set category = "Alien"
set name = "Retrieve"
set hidden = TRUE
var/action_name = "Retrieve"
handle_xeno_macro(src, action_name)
Loading

0 comments on commit fb66090

Please sign in to comment.