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

Marine Body Spray AKA: Reworks Marine Orders #3782

Closed
wants to merge 6 commits into from

Conversation

CometBlaze
Copy link
Contributor

@CometBlaze CometBlaze commented Jul 1, 2023

About the pull request

SLs are now able to pick between three kinds of body spray laced with experimental stimulants designed to improve the marines' combat performance.

On a more serious note this makes it so orders now act as a buff aura rather than a short power boost. In order to compensate for their now constant nature, the strength of the mobility and protection auras have been halved, focus has been left as is because it was already weak enough and honestly I would still like to make it stronger, but maybe in another PR.

For the majority of roles the changes end here, however, squads will see another aspect changed in the form of their FTLs. When an SL (or aSL) picks an order, all FTLs currently assigned to that squad will also emit that same aura. This aura has the same exact behaviour as the regular SL's orders with the only difference being that FTLs cannot pick their own orders.

Assuming the maintainer team doesn't shank me for how I coded this there will be a follow up to this PR introducing fear RP morale de-buffs to marines not within range of a "buff piece" (SL, FTL, CO, etc...)

Explain why it's good for the game

Provides marine with a mechanical incentive to stick with their SLs which should hopefully lead to better squad cohesion.
Increased squad cohesion should allow for more elaborate tactics to be employed by CIC which should lead to more interesting rounds.
Benefits to squad cohesion also apply to Fireteams, which should allow for even more flexibility in squad tactics.

Testing Photographs and Procedure

Screenshots & Videos

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Bodyspray.mp4

Changelog

🆑 CometBlaze
add: Orders are now buff auras that apply to anyone within 7 tiles of the buff giver and no longer have limited duration.
balance: Mobility and Protection orders' strength have been halved, Focus remains unchanged.
add: FTLs now act as "order relays" for their SLs, meaning they will also have an aura like the SL, this aura has the same properties as the SL's and remains active for as long as theirs is.
code: Order action buttons have been brought into the modern age and now use a transparent action_icon_state
/:cl:

@github-actions github-actions bot added Sprites Remove the soul from the game. Feature Feature coder badge Code Improvement Make the code longer labels Jul 1, 2023
@Ben10083
Copy link
Contributor

Ben10083 commented Jul 2, 2023

How does this affect defence placements like the warbanners?

@ihatethisengine
Copy link
Contributor

I think spray should affect only their own squad, to discourage murderballing a bit (otherwise imagine Alpha Charlie Delta SLs sticking together to provide every kind of pheros). And FTL should relay orders only to their respective TL. I think this way it would be perfect.

Copy link
Contributor

@sleepynecrons sleepynecrons left a comment

Choose a reason for hiding this comment

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

sprites

@sleepynecrons sleepynecrons added the Sprites Approved confirmed no stray pixels label Jul 2, 2023
@Zonespace27 Zonespace27 self-assigned this Jul 5, 2023
@Drulikar Drulikar added the Balance You need to be a professional veteran game maintainer to comprehend what is being done here. label Jul 6, 2023
Copy link
Contributor

@nauticall nauticall left a comment

Choose a reason for hiding this comment

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

concur, sprites good

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Jul 8, 2023
@cm13-github cm13-github removed the Merge Conflict PR can't be merged because it touched too much code label Jul 9, 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 ~ 7 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 beg a maintainer to review your PR label Jul 17, 2023
@@ -93,11 +93,13 @@
var/chem_effect_flags = 0
var/chem_effect_reset_time = 8

var/command_aura_available = TRUE // Whether or not you can issue an order
//var/command_aura_available = TRUE // Whether or not you can issue an order
Copy link
Contributor

Choose a reason for hiding this comment

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

don't comment out variables, remove them

Comment on lines +97 to +102
var/current_aura = null //The aura we're currently emitting
var/aura_strength = 0 //Strenght of the aura we're emitting

var/mobility_aura_count = 0 //Used to track how many auras are affecting the human
var/protection_aura_count = 0
var/marksman_aura_count = 0
var/mobility_aura_new = 0 //Used to track how many auras are affecting the human
var/protection_aura_new = 0
var/marksman_aura_new = 0
Copy link
Contributor

Choose a reason for hiding this comment

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

code doc these 5 (or more, if you want)

@@ -408,7 +408,7 @@ This function restores all limbs.
permanent_kill = FALSE, mob/firer = null, force = FALSE
)
if(protection_aura && damage > 0)
damage = round(damage * ((ORDER_HOLD_CALC_LEVEL - protection_aura) / ORDER_HOLD_CALC_LEVEL))
damage = round(damage * ((ORDER_HOLD_CALC_LEVEL - protection_aura * 0.5) / ORDER_HOLD_CALC_LEVEL))
Copy link
Contributor

Choose a reason for hiding this comment

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

are you certain this is doing what you want with PEMDAS?

if(current_aura)
deactivate_order_buff(current_aura)
current_aura = null
visible_message(SPAN_WARNING("\The [src] stops issueing orders."), \
Copy link
Contributor

Choose a reason for hiding this comment

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

issuing


if(order)
if(current_aura == order)
visible_message(SPAN_BOLDNOTICE("[src] whitdraws their order to [order]!"), SPAN_BOLDNOTICE("You withdraw your order to [order]!"))
Copy link
Contributor

Choose a reason for hiding this comment

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

withdraws

marine.handle_ftl_orders(marine)

if(aura_strength > 0)
for(var/mob/living/carbon/human/H as anything in GLOB.alive_human_list)
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 really expensive to call on every human every life() tick

it's more acceptable for xenoes bc they're rarely dealing with 30+ xenoes, but humans regularly breach 100, along with a not-exactly-free get_dist check

@Zonespace27 Zonespace27 removed the Stale beg a maintainer to review your PR label Jul 17, 2023
@morrowwolf morrowwolf marked this pull request as draft July 19, 2023 05:46
@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Jul 24, 2023
@Zonespace27
Copy link
Contributor

Ping me when you're ready to work on this again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Feature Feature coder badge Merge Conflict PR can't be merged because it touched too much code Sprites Approved confirmed no stray pixels Sprites Remove the soul from the game.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants