Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ravager and Hedgehog changes #3729

Merged
merged 14 commits into from
Jul 19, 2023
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_2
plasma_cost = 50
xeno_cooldown = 22 SECONDS
xeno_cooldown = 18 SECONDS

// Config values (mutable)
var/empower_range = 3
var/max_targets = 5
var/max_targets = 6
var/main_empower_base_shield = 0
var/initial_activation_shield = 75
var/shield_per_human = 80
var/time_until_timeout = 15 SECONDS
var/initial_activation_shield = 50
var/shield_per_human = 50
var/time_until_timeout = 6 SECONDS

// State
var/activated_once = FALSE
Expand All @@ -47,11 +47,11 @@
macro_path = /datum/action/xeno_action/verb/verb_scissorcut
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_3
xeno_cooldown = 10 SECONDS
xeno_cooldown = 6 SECONDS
plasma_cost = 25

// Config
var/damage = 45
var/damage = 40

var/superslow_duration = 3 SECONDS

Expand Down Expand Up @@ -118,10 +118,10 @@
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_1
plasma_cost = 0
xeno_cooldown = 9 SECONDS + 2 SECONDS // Left operand is the actual CD, right operand is the buffer for the shield duration
xeno_cooldown = 9 SECONDS + 2.5 SECONDS // Left operand is the actual CD, right operand is the buffer for the shield duration

// Config values
var/shield_duration = 20 // Shield lasts 2 seconds by default.
var/shield_duration = 25 // Shield lasts 2.5 seconds by default.
var/shield_amount = 500 // Shield HP amount
var/shield_shrapnel_amount = 7 // How much shrapnel each shield hit should spawn
var/shard_cost = 150 // Minimum spikes to use this ability
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
color += num2text(alpha, 2, 16)
xeno.add_filter("empower_rage", 1, list("type" = "outline", "color" = color, "size" = 3))

addtimer(CALLBACK(src, PROC_REF(weaken_superbuff), xeno, behavior), 3.5 SECONDS)
addtimer(CALLBACK(src, PROC_REF(weaken_superbuff), xeno, behavior), 5 SECONDS)

/datum/action/xeno_action/onclick/empower/proc/weaken_superbuff(mob/living/carbon/xenomorph/xeno, datum/behavior_delegate/ravager_base/behavior)

Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@
// Mutator delegate for base ravager
/datum/behavior_delegate/ravager_base
var/shield_decay_time = 15 SECONDS // Time in deciseconds before our shield decays
var/slash_charge_cdr = 4 SECONDS // Amount to reduce charge cooldown by per slash
var/knockdown_amount = 2
var/slash_charge_cdr = 3 SECONDS // Amount to reduce charge cooldown by per slash
var/knockdown_amount = 1.3
var/fling_distance = 3
var/empower_targets = 0
var/super_empower_threshold = 3
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/datum/xeno_mutator/hedgehog
name = "STRAIN: Ravager - Hedgehog"
description = "You lose your empower, charge, and scissor cut and a decent amount of your speed for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds."
description = "You lose your empower, charge, scissor cut and some slash damage, for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds."
flavor_description = "They will be of iron will and steely muscle. In great armor shall they be clad, and with the mightiest spikes will they be armed."
cost = MUTATOR_COST_EXPENSIVE
individual_only = TRUE
Expand Down Expand Up @@ -29,7 +29,7 @@
ravager.plasma_max = 0
ravager.small_explosives_stun = FALSE
ravager.explosivearmor_modifier += XENO_EXPOSIVEARMOR_MOD_SMALL
ravager.speed_modifier += XENO_SPEED_SLOWMOD_TIER_8
ravager.damage_modifier -= XENO_DAMAGE_MOD_SMALL

apply_behavior_holder(ravager)

Expand All @@ -43,11 +43,12 @@

// Shard config
var/max_shards = 300
var/shard_gain_onlife = 10
var/shards_per_projectile = 20
var/shard_gain_onlife = 5
var/shards_per_projectile = 10
var/shards_per_slash = 15
var/armor_buff_per_fifty_shards = 2.50
var/shard_lock_duration = 300
var/shard_lock_speed_mod = 0.85
var/shard_lock_duration = 150
var/shard_lock_speed_mod = 0.45

// Shard state
var/shards = 0
Expand Down Expand Up @@ -126,3 +127,8 @@
if (!shards_locked)
shards = min(max_shards, shards + shards_per_projectile)
return

/datum/behavior_delegate/ravager_hedgehog/melee_attack_additional_effects_self()
if (!shards_locked)
shards = min(max_shards, shards + shards_per_slash)
return
8 changes: 4 additions & 4 deletions code/modules/projectiles/ammo_datums.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2808,8 +2808,8 @@
damage_type = BRUTE
bonus_projectiles_type = /datum/ammo/xeno/bone_chips/spread

damage = 5
max_range = 5
damage = 8
max_range = 6
accuracy = HIT_ACCURACY_TIER_8
accuracy_var_low = PROJECTILE_VARIANCE_TIER_7
accuracy_var_high = PROJECTILE_VARIANCE_TIER_7
Expand All @@ -2824,8 +2824,8 @@
return
if(ishuman_strict(M) || isxeno(M))
playsound(M, 'sound/effects/spike_hit.ogg', 25, 1, 1)
if(M.slowed < 8)
M.apply_effect(8, SLOW)
if(M.slowed < 3)
M.apply_effect(3, SLOW)

/datum/ammo/xeno/bone_chips/spread
name = "small bone chips"
Expand Down
Loading