Skip to content

Commit

Permalink
Abomination rework and predator plasma rifle buff. (#5432)
Browse files Browse the repository at this point in the history
# About the pull request
This pr intends to catch up predalien towards current gameplay by
reworking a few abilities and adding new ones.
# Explain why it's good for the game
Currently the predalien has been untouched (practically) for over 3-4
years now, while being rare and decent enough to hold its own against
current year marines and predators, its highly outdated. It's main power
being "the gib" which is not fun for marines to be instantly removed
from the game as most of the time you will be accompined by a queen and
the entire hive. its not being fun being comboed into a queen screech +
gib

As their natural counter, the predators are currently lacking in a
strong way to counter it, i believe the Plasma Rifle thats only
available when an abomination is present is very weak, underpowered and
generaly not that good. I can go into deeper details if anyone wants me
to. So my natural response was to make it set people on fire because
generally the predalien will be guarded by an entire hive. This will
make it so that atleast the xenomorph hit, will have to back off
allowing the predator to breathe. I havent touched the recharge rate
because i think this incin bullet will be powerful enough to compensate
for the low recharge rate, and only 16 shots (you need 14 dead on shots
to kill an abomination, not counting its movement, phermones, and the
entire hive guarding it.)

below are all the changes ive decided to make;
"Feral Frenzy" is a mashup of the old gut ability, it now has a toggle
that lets you choose between AOE/SINGLE TARGET. I think this is a
defining factor in predalien reworks, because currently it is too
focused on fighting predators and not enough on marines. This will help
you fend off against a marine group by letting you become devastating
against grouped up marines. Or chosing to catch one by switching to
single target since it has a root. (Also retaining its ability to fight
off predators).

"Feral Rush"; Feral rush incrases your armor and speed by a certain
number, i wanted to add this instead of the useless pounce as i felt
like the pounce was basically not providing you with anything other then
just a distance closer, and it didnt fit in with the new gutting
abilities, this way you can speed up, armor up and then go inside the
marine force and do your aoe ability and get back out. This will ensure
that you arent useless while going in since without the armor and speed,
you will melt by the time you go in marine numbers, (also remember the
AOE gut has a windup of 2 seconds.), The armor is removed 6 seconds
after the slow (the speed lasts 3 seconds, so you're just armored for an
extra 3 seconds) as to have that extra armor while retreating from more
open places.
"Stomp" ; the reason ive decided to remove this ability is it felt way
out of place for this kit and just simply wasnt good enough (in my
opinion) to being there although a slow or aoe root might be needed if
this gets approval enough for gametesting.

"Frenzy Smash" ; Grabs somebody by the leg and smashes them to the
ground, this honestly just felt like a cool ability to add, it lets you
keep somebody in place but also keep them moving, this is mostly a flair
ability but still VERY deadly, may be buffed to make preds slower for a
duration. deals 20 damage and scales with kills
 

THIS IS ALL UP FOR DEBATE, AND I WOULD LIKE TO WATCH THIS ALL INGAME VIA
ABOM EVENTS BY ADMINS IF THATS POSSIBLE.
# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>



https://github.com/cmss13-devs/cmss13/assets/47158596/f28a5048-701f-4b9d-a2bf-dd5dbc6d08be


https://github.com/cmss13-devs/cmss13/assets/47158596/53da1e18-1a4a-49de-a73d-1ab7f1abb1d8


https://github.com/cmss13-devs/cmss13/assets/47158596/69eeb0e9-cbe6-4712-a15a-b599dbc56109




</details>


# Changelog


:cl:
add: Added a new ability to the predalien "Feral Rush" that increases
it's armor and speed for a short duration.
add: Added two new abilities to the predalien "Feral Frenzy" and a
toggle. The predalien can now switch between a single target GUT and an
AOE one, both of which has damage that scale with your kills.
del: Removed the predaliens gib ability
del: Removed the predaliens "pounce" ability
del: Removed the predaliens "Ground Smash" ability
balance: Predalien no longer has plasma costs, or plasma. 
balance: The Plasma Rifle, which is ONLY used to hunt abominations now
has a higher ROF and has incin bullets.
spellcheck: Re-wrote the predalien text to be more up to date and remove
missinformation
qol: Everyone can see how many kills the predalien has by examining it.
add: Added a "Feral Smash" ability that lets you grab somebody and smash
them to the ground, this scales with kills and is a devastating attack.
balance: Removed screenshake from predalien's screech
balance: Predalien removes fire stacks faster.
fix: Girders are now slashable by very_sharp_claws instead of just
having a queen chack
/:cl:

---------

Co-authored-by: InsaneRed <[email protected]>
Co-authored-by: Birdtalon <[email protected]>
Co-authored-by: Drathek <[email protected]>
  • Loading branch information
4 people authored Feb 22, 2024
1 parent 139507d commit dc412e4
Show file tree
Hide file tree
Showing 9 changed files with 329 additions and 164 deletions.
3 changes: 3 additions & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@

#define ACID_SPRAY_LINE 0
#define ACID_SPRAY_CONE 1
/// Defines for Abomination ability /datum/action/xeno_action/activable/feralfrenzy
#define SINGLETARGETGUT 0
#define AOETARGETGUT 1

#define WARDEN_HEAL_SHIELD 0
#define WARDEN_HEAL_HP 1
Expand Down
7 changes: 7 additions & 0 deletions code/datums/ammo/energy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -230,3 +230,10 @@
var/mob/living/carbon/xenomorph/xeno = hit_mob
xeno.apply_damage(damage * 0.75, BURN)
xeno.interference = 30

/datum/ammo/energy/yautja/rifle/bolt/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
))

2 changes: 1 addition & 1 deletion code/modules/cm_preds/yaut_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -938,7 +938,7 @@

/obj/item/weapon/gun/energy/yautja/plasmarifle/set_gun_config_values()
..()
set_fire_delay(FIRE_DELAY_TIER_6*2)
set_fire_delay(FIRE_DELAY_TIER_4*2)
accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10
accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10
scatter = SCATTER_AMOUNT_TIER_6
Expand Down
Original file line number Diff line number Diff line change
@@ -1,52 +1,76 @@
/datum/action/xeno_action/activable/pounce/predalien
name = "Leap"

/datum/action/xeno_action/onclick/feralrush
name = "Feral Rush"
action_icon_state = "charge_spit"
ability_name = "toughen up"
macro_path = /datum/action/xeno_action/verb/verb_feralrush
ability_primacy = XENO_PRIMARY_ACTION_1
action_type = XENO_ACTION_ACTIVATE
xeno_cooldown = 12 SECONDS

// Config
var/speed_duration = 3 SECONDS
var/armor_duration = 6 SECONDS
var/speed_buff_amount = 0.8 // Go from shit slow to kindafast
var/armor_buff_amount = 10 // hopefully-minor buff so they can close the distance

knockdown = FALSE
var/speed_buff = FALSE
var/armor_buff = FALSE

distance = 5
knockdown = FALSE // Should we knock down the target?
slash = FALSE // Do we slash upon reception?
freeze_self = FALSE // Should we freeze ourselves after the lunge?
should_destroy_objects = TRUE // Only used for ravager charge

/datum/action/xeno_action/onclick/predalien_roar
name = "Roar"
action_icon_state = "screech"
ability_name = "roar"
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_2
macro_path = /datum/action/xeno_action/verb/verb_predalien_roar
xeno_cooldown = 25 SECONDS
plasma_cost = 50

var/predalien_roar = list("sound/voice/predalien_roar.ogg")
var/bonus_damage_scale = 2.5
var/bonus_speed_scale = 0.05

/datum/action/xeno_action/onclick/smash
name = "Smash"
action_icon_state = "stomp"
ability_name = "smash"
/datum/action/xeno_action/activable/feral_smash
name = "Feral Smash"
ability_name = "Feral Smash"
action_icon_state = "lunge"
action_type = XENO_ACTION_CLICK
macro_path = /datum/action/xeno_action/verb/feral_smash
ability_primacy = XENO_PRIMARY_ACTION_3
xeno_cooldown = 20 SECONDS
plasma_cost = 80

var/freeze_duration = 1.5 SECONDS

var/activation_delay = 1 SECONDS
var/smash_sounds = list('sound/effects/alien_footstep_charge1.ogg', 'sound/effects/alien_footstep_charge2.ogg', 'sound/effects/alien_footstep_charge3.ogg')
// Configurables
var/grab_range = 4
var/click_miss_cooldown = 15
var/twitch_message_cooldown = 0 //apparently this is necessary for a tiny code that makes the lunge message on cooldown not be spammable, doesn't need to be big so 5 will do.
var/smash_damage = 20
var/smash_scale = 10
var/stun_duration = 2 SECONDS

/datum/action/xeno_action/activable/devastate
name = "Devastate"
action_icon_state = "gut"
ability_name = "devastate"
/datum/action/xeno_action/activable/feralfrenzy
name = "Feral Frenzy"
action_icon_state = "rav_eviscerate"
ability_name = "Feral Frenzy"
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_4
xeno_cooldown = 20 SECONDS
plasma_cost = 110

var/activation_delay = 1 SECONDS
macro_path = /datum/action/xeno_action/verb/verb_feralfrenzy
xeno_cooldown = 15 SECONDS

//AOE
var/activation_delay_aoe = 1 SECONDS
var/base_damage_aoe = 15
var/damage_scale_aoe = 10
//SINGLE TARGET
var/activation_delay = 0.5 SECONDS
var/base_damage = 25
var/damage_scale = 10 // How much it scales by every kill
var/damage_scale = 10
var/targeting = SINGLETARGETGUT
/// The orange used for a AOETARGETGUT
var/range = 2

/datum/action/xeno_action/onclick/toggle_gut_targeting
name = "Toggle Gutting Type"
action_icon_state = "gut" // starting targetting is SINGLETARGETGUT
macro_path = /datum/action/xeno_action/verb/verb_toggle_gut_targeting
action_type = XENO_ACTION_ACTIVATE
ability_primacy = XENO_PRIMARY_ACTION_5
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/datum/action/xeno_action/verb/verb_feralfrenzy()
set category = "Alien"
set name = "Feral Frenzy"
set hidden = TRUE
var/action_name = "Feral Frenzy"
handle_xeno_macro(src, action_name)

/datum/action/xeno_action/verb/verb_toggle_gut_targeting()
set category = "Alien"
set name = "Toggle Gutting Type"
set hidden = TRUE
var/action_name = "Toggle Gutting Type"
handle_xeno_macro(src, action_name)


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

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

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

0 comments on commit dc412e4

Please sign in to comment.