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

Shrike primo rework - Psychic Vortex #13123

Merged
merged 37 commits into from
Jul 30, 2023

Conversation

Scarlet-Oduko
Copy link
Contributor

@Scarlet-Oduko Scarlet-Oduko commented May 31, 2023

About The Pull Request

Reworks primo ability entirely into an AOE pull and throw that is separated into three phases.

Why It's Good For The Game

Shrike primo was always underpowered, and for being a t4 it feels wrong! it is one of the most useless out there, this should hopefully make it a more competitive choice and give more thought into buying the t4 primo sooner rather then usually at the end of rounds and such.

Changelog

🆑
add: Replaces gravity greande with Psychic Vortex, a 3 stage channel ability to pull in objects and people.
balance: Rework Shrike primo into Psychic Vortex
sprites: Adds ability icon for Vortex
/:cl:

@tgstation-server tgstation-server added Balance Changes to functionality that modifies how effective certain methods are at powergaming. Feature New interesting mechanics with new interesting bugs labels May 31, 2023
@TiviPlus TiviPlus self-assigned this Jun 1, 2023
@tgstation-server tgstation-server added the Sprites Changes to .dmi file. label Jun 1, 2023
@Scarlet-Oduko Scarlet-Oduko marked this pull request as ready for review June 1, 2023 22:37
@SomeDongus
Copy link

Do you have a vid of it in action? Just wanna see it

@Scarlet-Oduko
Copy link
Contributor Author

Do you have a vid of it in action? Just wanna see it

https://cdn.discordapp.com/attachments/1108094595591581757/1113957691770028103/Recording_2023-06-01_182217.mp4

if(livingtarget.stat == DEAD)
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_icons)), 1 SECONDS)
var/mob/living/carbon/xenomorph/xeno = owner
owner.icon_state = "[xeno.xeno_caste.caste_name][xeno.is_a_rouny ? " rouny" : ""] Screeching"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should be doing this on the mob instead iirc, taake a look at how queen charge and so works

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still no handle_special_state?

playsound(owner, 'sound/effects/seedling_chargeup.ogg', 60)
ADD_TRAIT(owner, TRAIT_IMMOBILE, VORTEX_ABILITY_TRAIT)
if(!do_after(owner, VORTEX_PULL_WINDUP_TIME, FALSE, owner, BUSY_ICON_DANGER))
for(var/atom/movable/victim in view(VORTEX_RANGE, owner.loc))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use AS

Comment on lines 392 to 393
for(var/turf/affected_tile in range(VORTEX_RANGE, owner.loc))
affected_tile.Shake(3, 3, 1 SECONDS)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RANGE_TURF + AS

Comment on lines 394 to 395
for(var/i in affected_tile)
var/atom/movable/affected = i
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AS

Comment on lines 396 to 400
if(!ishuman(affected) && !istype(affected, /obj/item) && !isdroid(affected))
affected.Shake(3, 3, 10)
continue
victim.throw_at(src, 5, 1, null, TRUE)
qdel(src)
if(ishuman(affected))
var/mob/living/carbon/human/H = affected
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not check
if(human)
stuf()
continue
if(isitem), isdroid)
continue
stuf()

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ps use isitem()

Comment on lines 413 to 423
if(do_after(owner, VORTEX_PUSH_WINDUP_TIME, FALSE, owner, BUSY_ICON_DANGER))
for(var/atom/movable/victim in range(VORTEX_RANGE, owner.loc))
if(victim == owner)
continue
if(victim.anchored)
continue
if(isliving(victim))
var/mob/living_target = victim
if(living_target.stat == DEAD)
continue
victim.throw_at(targetturf, 3, 1, owner, FALSE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you copy pasting the same code here 3 times?
Why not just use a while loop?

Comment on lines 419 to 420

/datum/action/xeno_action/activable/psychic_vortex/proc/vortex_push()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

autodoc

Comment on lines 433 to 434

/datum/action/xeno_action/activable/psychic_vortex/proc/finish_charging()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Comment on lines 387 to 388

/datum/action/xeno_action/activable/psychic_vortex/proc/vortex_pull()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

if(livingtarget.stat == DEAD)
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_icons)), 1 SECONDS)
var/mob/living/carbon/xenomorph/xeno = owner
owner.icon_state = "[xeno.xeno_caste.caste_name][xeno.is_a_rouny ? " rouny" : ""] Screeching"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still no handle_special_state?

@TiviPlus TiviPlus added the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Jun 4, 2023
comfyorange added a commit that referenced this pull request Jun 5, 2023
@tgstation-server tgstation-server removed the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Jun 5, 2023
Comment on lines 388 to 414
/datum/action/xeno_action/activable/psychic_vortex/proc/vortex_pull()
playsound(owner, 'sound/effects/seedling_chargeup.ogg', 60)
for(var/atom/movable/victim in range(VORTEX_RANGE, owner.loc))
if(victim.anchored)
continue
if(isliving(victim))
var/mob/living_target = victim
if(living_target.stat == DEAD)
continue
victim.throw_at(owner, 3, 1, owner, FALSE)

/obj/item/explosive/grenade/gravity
name = "gravity grenade"
desc = "A fleshy mass that seems way too heavy for its size. It seems to be vibrating."
arm_sound = 'sound/voice/predalien_roar.ogg'
greyscale_colors = "#3aaacc"
greyscale_config = /datum/greyscale_config/xenogrenade
det_time = 20
for(var/turf/affected_tile AS in RANGE_TURFS(VORTEX_RANGE, owner.loc))
affected_tile.Shake(3, 3, 1 SECONDS)
for(var/atom/movable/affected AS in affected_tile)
if(ishuman(affected))
var/mob/living/carbon/human/H = affected
if(H.stat == DEAD)
continue
H.apply_effects(1,1)
H.adjust_stagger(2)
shake_camera(H, 2, 1)
H.Shake(3, 3, 10)
affected.Shake(3, 3, 10)
continue
if(isitem(affected) && isdroid(affected))
affected.Shake(3, 3, 10)
continue
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is super wack with the 3 for loops.
Do a single loop and check for everything there.

comfyorange added a commit that referenced this pull request Jul 14, 2023
comfyorange added a commit that referenced this pull request Jul 14, 2023
comfyorange added a commit that referenced this pull request Jul 14, 2023
comfyorange added a commit that referenced this pull request Jul 15, 2023
@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 3 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale Pull request is awaiting delayed author response and may be closed. label Jul 21, 2023
@Lumipharon Lumipharon removed the Stale Pull request is awaiting delayed author response and may be closed. label Jul 23, 2023
@github-actions github-actions bot added the Merge Conflict Pull request is in a conflicted state with base branch. label Jul 25, 2023
@tgstation-server tgstation-server removed the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Jul 27, 2023
@tgstation-server tgstation-server removed the Merge Conflict Pull request is in a conflicted state with base branch. label Jul 27, 2023
vortex_pull()
QDEL_NULL(particle_holder)
REMOVE_TRAIT(owner, TRAIT_IMMOBILE, VORTEX_ABILITY_TRAIT)
return fail_activate()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this triggering fail, after successfully casting

@Lumipharon Lumipharon added Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. and removed Do Not Merge Pull request should not be merged due to design conflict or being a temporary change. labels Jul 27, 2023
comfyorange added a commit that referenced this pull request Jul 27, 2023
@tgstation-server tgstation-server removed the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Jul 28, 2023
comfyorange added a commit that referenced this pull request Jul 28, 2023
comfyorange added a commit that referenced this pull request Jul 29, 2023
@TiviPlus TiviPlus added the Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes. label Jul 29, 2023
comfyorange added a commit that referenced this pull request Jul 30, 2023
comfyorange added a commit that referenced this pull request Jul 30, 2023
comfyorange added a commit that referenced this pull request Jul 30, 2023
Copy link
Contributor

@Lumipharon Lumipharon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good enough to merge I guess

@Lumipharon Lumipharon merged commit 5493b66 into tgstation:master Jul 30, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Changes to functionality that modifies how effective certain methods are at powergaming. Feature New interesting mechanics with new interesting bugs Sprites Changes to .dmi file. Test Merge Candidate This PR has been reviewed and is ready for testing, unless something changes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants