-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Chameleon clothes + EMP behaviour #30924
base: master
Are you sure you want to change the base?
Conversation
My only concern is that it may be flashing a bit too fast. |
The effect is way too intense, it would look better if chameleon gear had a proper full outfit change at once action and it swapped outfits entirely rather than each piece randomly individually. TG did support things like this. Even with that kind of thing in, the swapping would need to happen slower. |
I think it would also be fine if it just switched to one piece of clothing once randomly! This shows someone is a syndicate 100% but if only switched once, you could potentially talk your way out of it. Either way I love the idea! |
How 5 changes/second looks like: empdempnew5persec.mp4This felt a bit toooo slow, so i think default 7 should work fine |
this penalises using EMP implant and chame at the same time which i'm not sure is a good thing |
empchameleononce.mp4Behavior can be changed using |
I don't mind this too much since if you're using an EMP implant you are pretty much exposing yourself anyways. It's a cool effect that will probably never really come into play, but I like it and think it's funny.
this pls |
Just wanted to but my head in and say that most every traitor/syndicate item is emp immune. However for the funny this does seem fairly reasonable, especially as a way to break the metashield for chameleon items. |
Content.Shared/Clothing/Components/ChameleonClothingComponent.cs
Outdated
Show resolved
Hide resolved
Content.Shared/Clothing/Components/ChameleonClothingComponent.cs
Outdated
Show resolved
Hide resolved
as far as the concept of this goes, i think this is good. EMPs are a powerful anti-sec tool and neutering their utility in combination with stealth options is good and forces syndicate members to be a bit more aggressive. |
This comment was marked as spam.
This comment was marked as spam.
is this just waiting a final review? |
I think it would be more reasonable to do this in other pr
Pretty much yeah, if there are no other suggestions. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
+ time stuff + EmpChangeIntensity
+ EmpContinious + moved random pick logic into GetRandomValidPrototype
Co-Authored-By: Nemanja <98561806+emogarbage404@users.noreply.github.com>
b73e571
to
59740e5
Compare
i failed, did i?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style stuff and one issue with PDAs / IDs! Overall looks great
Content.Shared/Clothing/Components/ChameleonClothingComponent.cs
Outdated
Show resolved
Hide resolved
Content.Shared/Clothing/Components/ChameleonClothingComponent.cs
Outdated
Show resolved
Hide resolved
Content.Shared/Clothing/Components/ChameleonClothingComponent.cs
Outdated
Show resolved
Hide resolved
@@ -94,6 +118,32 @@ public void SetSelectedPrototype(EntityUid uid, string? protoId, bool forceUpdat | |||
Dirty(uid, component); | |||
} | |||
|
|||
public string GetRandomValidPrototype(SlotFlags slot) | |||
{ | |||
return _random.Pick(GetValidTargets(slot).ToList()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't quite work! I was super confused for a while but there is an issue with PDAs. When a PDA gets zapped, it picks a random item from that slot. However, a LOT of items in the ID card slot slots IDs, not PDAs so there is a very good chance it doesn't update every time.
You'll have to do something with the RequireTag
I think (See #30514 for more info)
Co-Authored-By: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
About the PR
Chameleon clothes are now affected by EMP explosions. After being EMP'd, they scramble your camouflage by changing their state once to a completely random.
Why / Balance
it looks hilarious, also SS13 had it (tg at least)
Technical details
On EmpEvent, if item should be affected by EMP (there's a component datafield that lets you disable "EMP-behaviour") it marks itself as "affected" and "disabled". And while it is disabled (has EmpDisabledComponent basically) server tries to pick a random clothing element that fits this slot and then applies it.
And since getting a list of valid targets is now also required on server, some stuff was moved from Client to Shared.
Media
Continious (
EmpContinious
=> True) (default):empdempnew5persec.mp4
Single:
empchameleononce.mp4
Requirements
Breaking changes
None?
Changelog
🆑 mhamster