BeeStation-Hornet
BeeStation-Hornet copied to clipboard
Traitors 2.0: Priority directives
About The Pull Request
Implements priority directives, as defined by the design documents posted in the associated thread in discord.
Priority directives are optional missions given to traitors that can grant the traitor with additional TC if they complete the mission. The only catch is that other traitors may be trying to complete the same objectives, and only 1 person can claim the prize!
Here is a bullet point list of things:
- New UI tab on the uplink, detailing assignments and priority directives.
- You can now track assassinate and steal objectives via the uplink.
- Priority directives will spawn at the 20-30 minute mark.
- Priority directives can be every man for himself, team vs team, and can optionally involve security.
- The uplink will now list the objectives of its owner, but only if those objectives relate to an antagonist that is in the syndicate faction. (becoming a cultist will not show your non-syndicate objectives in the uplink)
There will be 3 priority directives implemented with this update:
- [x] Secure deposit box: A trackable box containing a set amount of TC will be shown to all traitors, after the time limit expires the box will unlock and the holder of the box can take the TC from it. Will you work together and split the prize, or fight to take it all?
- [x] Communication Beacon: Team vs Team, half the traitors need to setup a beacon in a determined location, while the other half need to prevent the deployment of that beacon. TC is rewarded to the winners automatically at the end regardless of their participation. The catch is that you don't know who is on your team, and who you can trust.
- [ ] Assassination: Independent vs Security: Security is informed of a suspect that has had a target placed on their back. All traitors are given the directive to eliminate them. Once a photo of their corpse is uploaded, then the reward can be claimed by the person who uploaded that photo.
TODO:
- [ ] Make it so the notification bell appears when a directive is new.
- [x] Give a sound to any traitors holding their uplink when a directive comes in.
- [x] Fix the bottom left of the UI saying no reward when there is a reward.
- [ ] Add in a security console that can support important directive notification with the future possibility for training exercise expansions.
Why It's Good For The Game
We currently suffer from a big issue with our antagonists where they are not acting until late in the round, and while I like people having the option to plan and strategically execute their plans, it often leads to rounds that consist primarilly of traitors to be incredibly boring to play with little drama to promote any meaningful gameplay or story.
This gains the following things:
- Gameplay driven control over traitor progression, allowing options for giving antagonists more freedom within the rules without disrupting gameplay.
- Ways for antagonists to have conflict, even if their objectives are completed in a stealthy manner or if the traitor is aiming to complete their objectives after the 1-hour mark.
- Some things for security to watch over on shifts that are slower or lower population (for objectives that inform security about the directive).
This attempts to avoid the following things:
- Gamey objectives that can be grinded by completing them rapidly.
- Objectives that lead to no conflict and that don't develop the round.
Testing Photographs and Procedure
The new UI for uplinks. Shows the objectives of the owner, if those objectives are tied to a syndicate based antagonist role.
Non-trackable objectives.
Syndicate uplink base user interface.
Secure deaddrop mission.
Priority directive received
Beacon
Reputation system on the shop
Changelog
:cl: add: Priority directives, drama causing time-limited objectives that encourage you to maintain suspicions over your fellow traitors. add: Certain traitor objectives are now trackable via the uplink. tweak: Traitor TC reduced from 20 TC to 15 TC. add: Traitor reputation system, reputation increases by completing directives and decreases slightly when failed. balance: The cost and reputation requirements of various syndicate items has been altered. /:cl:
The list of things left to do is small, should be testmergable in a few days
- [x] The beacon can be dragged.
- [x] People saw the beacon and didn't realise it was broadcasting on the wrong channel. It needs to be more clear when you are failing the mission.
- [x] Beacon messages were not followable by ghosts
- [x] The beacon seemed to just disappear without completing?
- [x] The missions aren't announced to ghosts
- [x] Maybe the deaddrop box should have some downside to keeping it, like it making a noise every now and then while held since otherwise you can hide in populated places to make it impossible for someone else to get it from you. (Or it could just not fit in the bag)
- [x] Its unclear how to get the deadrop out from the floor
proc name: ui interact (/obj/structure/uplink_beacon/ui_interact)
usr: PowerfulBacon/(Burnard Silkwind)
usr.loc: (Central Medbay Maintenance (75, 108, 2))
src: the uplink beacon (/obj/structure/uplink_beacon)
src.loc: the floor (74,108,2) (/turf/open/floor/plasteel)
call stack:
the uplink beacon (/obj/structure/uplink_beacon): ui interact(Burnard Silkwind (/mob/dead/observer), null)
the uplink beacon (/obj/structure/uplink_beacon): attack ghost(Burnard Silkwind (/mob/dead/observer))
Burnard Silkwind (/mob/dead/observer): ClickOn(the uplink beacon (/obj/structure/uplink_beacon), "icon-x=16;icon-y=17;left=1;but...")
the uplink beacon (/obj/structure/uplink_beacon): Click(the floor (74,108,2) (/turf/open/floor/plasteel), "mapwindow.map", "icon-x=16;icon-y=17;left=1;but...")
PowerfulBacon (/client): Click(the uplink beacon (/obj/structure/uplink_beacon), the floor (74,108,2) (/turf/open/floor/plasteel), "mapwindow.map", "icon-x=16;icon-y=17;left=1;but...")
- [x] The deaddrop can spawn under shutters and closed objects
- [ ] People still don't realise its under the floor. Maybe we just use a stash instead
- [x] Maybe a longer beacon timer?
- [x] Shorter time between directives
- [ ] Beacon can eject TC through glass.
Time to make some more directives? This TM caused one of the most interesting traitor rounds that I have seen in a while, with something of important to note:
- Loss is much worse than gain, meaning that people are much more likely to cooperate than compete. I like the cooperation that we ended up getting out of this, but some mission design or reputation mechanics could further encourage people to do the directives solidly.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
Also, please prioritise https://github.com/BeeStation/BeeStation-Hornet/pull/10729
- https://github.com/BeeStation/BeeStation-Hornet/pull/10729
I am starting to forget the detail of the issue about why MovedRelay is broken.
Ready for TM
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.