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

Assay Psionic Power #1450

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Conversation

VMSolidus
Copy link
Member

Description

This PR adds a new psionic power to the game, called Assay. Assay is a more advanced information gathering tool that is available roundstart to the Mantis. It essentially acts as the first ingame method for characters to discover the underlying math behind Psionics, displaying to them the target's casting stats, potentia, and metapsionic feedback messages. These messages don't tell the caster directly which powers a target has, instead providing hints as to what those powers might be.

Media

image

image

Changelog

🆑

  • add: Added Assay as a new psi-power, which is available roundstart to the Psionic Mantis. Assay allows the caster to obtain more direct information about the statistics of a specific Psion, as well as vague hints as to what their powers may be, if any.

angelofallars and others added 9 commits January 5, 2025 15:46
# Description

**(Use a MERGE COMMIT, not squash if possible to ~~avoid~~ reduce merge
conflicts for our downstream)**

Cherry-picks some PRs from The Den:

- TheDenSS14/TheDen#8
- TheDenSS14/TheDen#31
- TheDenSS14/TheDen#108
- TheDenSS14/TheDen#116
- TheDenSS14/TheDen#117
- TheDenSS14/TheDen#123
- TheDenSS14/TheDen#124

# Changelog

<!--
You can add an author after the `:cl:` to change the name that appears
in the changelog (ex: `:cl: Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

:cl: The Den Contributors
- fix: Put actual prescription lenses in the prescription medhuds and
sechuds (by KyuPolaris)
- add: Added the CMO turtleneck and head mirror to the CMO loadouts. (by
sleepyyapril, KyuPolaris)
- add: Added an armored trenchcoat for the Captain. Enjoy your swag! (by
Rosycup)
- fix: Fixed uneven pants leg on summer security uniforms. (by Rosycup)
- add: Added the Captain's Combat Gas Mask, for those more fond of close
encounters. (by Rosycup)
- tweak: Added the Captain's Trenchcoat to the other captain locker
variants. (by Rosycup)
- fix: Fixed they/them pronouns being displayed for it/its characters in
the character preview. (by Azzy)

---------

Co-authored-by: flyingkarii <123355664+flyingkarii@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files Changes: Sprite Changes any png or json in an RSI labels Jan 7, 2025
Copy link
Contributor

github-actions bot commented Jan 7, 2025

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 7, 2025
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Copy link
Contributor

github-actions bot commented Jan 7, 2025

RSI Diff Bot; head commit 758f550 merging into cf914d9
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Interface/Actions/psionics.rsi

State Old New Status
assay Added

Edit: diff updated after 758f550

@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 7, 2025
Comment on lines +3 to +4
namespace Content.Shared.Actions.Events;
public sealed partial class AssayPowerActionEvent : EntityTargetActionEvent
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
namespace Content.Shared.Actions.Events;
public sealed partial class AssayPowerActionEvent : EntityTargetActionEvent
namespace Content.Shared.Actions.Events;
public sealed partial class AssayPowerActionEvent : EntityTargetActionEvent

SubscribeLocalEvent<PsionicComponent, AssayDoAfterEvent>(OnDoAfter);
}

private void OnPowerUsed(EntityUid uid, PsionicComponent psionic, AssayPowerActionEvent args)
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd appreciate it if you'd turn your events into Entity<T> events

Suggested change
private void OnPowerUsed(EntityUid uid, PsionicComponent psionic, AssayPowerActionEvent args)
private void OnPowerUsed(Entity<PsionicComponent> psionic, AssayPowerActionEvent args)

Comment on lines +69 to +81
var userAmp = MathF.Round(userPsionic.CurrentAmplification, 2).ToString("#.##");
var userDamp = MathF.Round(userPsionic.CurrentDampening, 2).ToString("#.##");
var userPotentia = MathF.Round(userPsionic.Potentia, 2).ToString("#.##");
var assayBody = Loc.GetString("assay-body", ("entity", target), ("amplification", userAmp), ("dampening", userDamp), ("potentia", userPotentia));
var userFeedback = $"[font size={args.FontSize}][color={args.FontColor}]{assayBody}[/color][/font]";
SendDescToChat(userFeedback, session);

var assaySelf = Loc.GetString("assay-self", ("entity", target));
_popups.PopupEntity(assaySelf, user, user, PopupType.LargeCaution);

var assaySelfFeedback = $"[font size={args.FontSize}][color={args.FontColor}]{assaySelf}[/color][/font]";
SendDescToChat(assaySelfFeedback, session);
return;
Copy link
Contributor

Choose a reason for hiding this comment

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

For the pure sake of readability this block and block after it should be turned into two separate method like InspectSelf and InspectOther

@Remuchi Remuchi added Priority: 2-High Needs to be resolved as soon as possible Size: 4-Small For small issues/PRs labels Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files Priority: 2-High Needs to be resolved as soon as possible Size: 4-Small For small issues/PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants