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

[READY] Syndicate Contracts #44420

Merged
merged 59 commits into from
Jun 17, 2019

Conversation

Akrilla
Copy link
Contributor

@Akrilla Akrilla commented Jun 9, 2019

ss+(2019-06-09+at+08 42 48)

About The Pull Request

Introduces Syndicate contracts. Available through the new 20 TC contract kit, traitors can take on contracts for TC payments. The bundle includes a Syndicate styled tablet computer, with a custom "Contract Uplink" program embedded inside the hard drive. Upon launching, the traitor will assign themselves to it, logging in, and accessing the contract page. There's a short bit of flavour text explaining how to properly do the contracts, and from there they can assign themselves to a contract to complete. Only one can be taken on at once, but after completion or after aborting one in progress, they can choose another. Aborting or completing will remove the contract from the list, meaning they'll be unavailable to take on again.

Contracts are generated unique per traitor (currently 6 available to take on), and assigned at the moment they become one. This means that if they decide to take on contracts later on in the round, there's a chance their target may be completely unavailable to them. The system is designed around being something you take on very early on in the round, spending all of your TC for a high risk, at the chance to achieve more than your 20 TC in the late game if you do a good job. Likely, this'll be something picked up by more experienced players for a unique, difficult experience that encourages interesting and exciting gameplay for both the antag and other players.

Payments are randomised, but weighted around low payouts, with comparatively well paying bonuses should you bring the target alive. Payouts are done through the tablet uplink - directly having raw telecrystals be redeemable after a successful contract.

Dropoff points are entirely randomised based on areas/rooms on the current station, with the idea being that the player will need to balance all factors into what contract to go for. Who is the target, is it worth the payment, plus difficulty of getting access to the dropoff point etc etc.

The overall theme/goal of this is to make being a traitor feel more badass, and less, "I got the text that lets me murderbone". Feel free to suggest changes or further ideas!

TODO:

  • Actually add the contract kit to the Syndicate uplink. This'll likely include the contract uplink, and some very very cheap items. E.g. chameleon jumpsuit + mask. Maybe randomised each time from a small pool of the very cheap items.

  • Some flavour text/feature for when a body is given to the extraction pod.

  • Show completed contracts on round end screen. Total TC payout etc etc.

  • Some form of interesting feature for targets that were brought back alive

  • Small code refactors/text fixes.

  • Ship them to Ninja Jail

  • Ransom system - allow crew to pay for their crew back. Ransom number generated entirely randomly, done through comms console(?) Alert could be given through the command channel. Kill target when returning if they didn't pay.

  • Ship victim back unharmed. If we received a dead body, after a certain amount of time has passed, we bring them back too.

Extensions

While not in the scope of this PR, I'll likely be adding the same system to an emaggable bounty console with some unique interactions at some point. Much less contracts, less payouts etc, but available with only an emag. Hopefully can give a nice replacement to the null crate that was removed. The code for this is pretty much done, but removed it near the end of finishing the overall feature off since it wasn't well fleshed out. I can focus on adding this after the core is in.

The same is true for a dedicated antag type much like how blood brothers works along side traditional traitor. On higher pop, give a chance for a traitor to start off as a Syndicate contractor. They can be given the uplink and perhaps some more specialised/unique items/weapons to start off with, with their objectives to be to complete x about of contracts etc.

Changelog

🆑
add: Syndicate Contracts. Use the new contract uplink to select a contract, and bring the assigned target dead or alive to the designated drop off. Call for the extraction pod and send them off for your TC payment, with much higher rewards for keeping them alive. A high risk, high reward choice for a traitor who wants a real challenge.
add: New 20 TC contract kit - supplies you with your contractor loadout and uplink.
add: Targets successfully extracted will be held for ransom by the Syndicate after their use to them is fulfilled. Central command covers the cost, but they'll be taking a cut out of station funds to offset their loss...
/:cl:

@Akrilla Akrilla requested a review from ShizCalev as a code owner June 9, 2019 19:57
@tgstation-server tgstation-server added Feature Exposes new bugs in interesting ways Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts Sound Oh god my ears, they bleed, did you normalise the volume? UI We make the game less playable, but with round edges Work In Progress labels Jun 9, 2019
@Akrilla
Copy link
Contributor Author

Akrilla commented Jun 16, 2019

not sure of the pod works but is it possible to abuse it to send stuff like other people on the tile away? (or tracking beacons etc)

ugh... Yeah, I'll need to change the pod so it only picks up the player being put inside.

Copy link
Member

@AnturK AnturK left a comment

Choose a reason for hiding this comment

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

Some improvements.

code/game/objects/items/storage/uplink_kits.dm Outdated Show resolved Hide resolved
code/modules/antagonists/traitor/datum_traitor.dm Outdated Show resolved Hide resolved
code/game/gamemodes/objective.dm Show resolved Hide resolved
@timothymtorres
Copy link
Member

I have a major suggestion.

This should send the hostages to the syndie outpost/base in a jail cell. I know that’s be a lot of work but it’d definitely be much more interesting for all players involved.

@123chess456
Copy link
Contributor

I would suggest adding a voice changer and agent ID if they're not already in the kit. That way your target won't be able to identify you once they get ransomed back.

@linked7
Copy link

linked7 commented Jun 17, 2019

do you think this could be its own game mode where all tators are forced to do contracts

@Akrilla
Copy link
Contributor Author

Akrilla commented Jun 17, 2019

I have a major suggestion.

This should send the hostages to the syndie outpost/base in a jail cell. I know that’s be a lot of work but it’d definitely be much more interesting for all players involved.

Does Syndie base already have cells, or are you saying they need to be mapped in? I agree though, would be cool to have a holding cell down there. Maybe as an extension to this.

I would suggest adding a voice changer and agent ID if they're not already in the kit. That way your target won't be able to identify you once they get ransomed back.

Contract uplink, space suit, cham jumpsuit and mask, agent ID, and two random very cheap items is the bundle currently.

do you think this could be its own game mode where all tators are forced to do contracts

See extensions heading in the PR.

@Akrilla
Copy link
Contributor Author

Akrilla commented Jun 17, 2019

Not entirely ready to be merged yet, need to fix a couple things. Stopping people getting stamina weapons out of ninja jail, reducing a bit of the effects that you get when captured etc

@Akrilla
Copy link
Contributor Author

Akrilla commented Jun 17, 2019

Effects of getting kidnapped have been more than halved (it was kinda dumb), and nothing can come out or in of the jail. We give items back on return.

@timothymtorres
Copy link
Member

I don’t believe either syndie base has jail cells. They would need to be mapped in. Also there would be several things that need to be done.

Traitors would need a way to contact the syndie base. They would also need a way to teleport their targets (launchpad? Fulton beacon?) to the base. Right now the syndie base has a way to access the PDA server and cameras but that’s it.

Not every round has a syndie base spawn. Also since the syndies at the base are mob spawner roles, it’s also possible that nobody would be active at the base.

Maybe make some type of computer where they need to activate stuff before any traitors can interact with the base? That’s be my suggestion.

FrankFo pushed a commit to FrankFo/tgstation that referenced this pull request Jun 18, 2019
* Emag bounty computer to show contract connection

* Corrupted text helper

* WIP on corrupted text

* Randomly corrupt text when looking at connect screen

* Barebones accessible Syndicate bounties screen

* Contract barebones and Synd UI work

* Further text changes, antag checks

* Further UI changes, full contract generation with areas/target

* dropoff point checks, and move to uplink item for requesting bounties

* WIP contract uplink item

* Contract uplink and continued contract improvements

* Completed contract uplink, and continued contract work

* Droppod WIP

* Further droppod work

* Mob WIP

* Further mob WIP

* No mob

* Callback for putting in mob

* Further WIP with pod checks

* Better location picking and signal fix

* Further pod changes, WIP of payouts

* Overall finished payment/contract system

* Code cleanup


Revert changes to bounty console


Remove debug messages

* Small refactor

* Add kit with set and randomised items.

* Fix box

* Very minor flavor text for inserting into pod, plus roundend text

* Pod return sound

* Contract uplink slight styling changes

* We don't keep giving telecrystals until they literally can't hold anymore

* Ship them off to ninja base instead

* Nerf bring them dead, but give a nice boost for bring them alive

Overall this is a nerf, so we also throw in an agent card to the bundle

* Ship them back

* Minor text changes and slight TC change

* Always give the black and red variant space suit

* Error sounds

* Dropoff area locator

There's sometimes duplicates, i.e. security office - but only one of them will work. This shows you where to go.

* Small fixes

* Bugfix, further changing of TC

* Ransom wip

* Ransom system

* Few changes

* Properly pay for ransoms and appropriate logic for dropoffs

* Terminal sounds

* Talk on command channel when ransom is given, or if they were too late

* Change to announce system

* Announcements/auto pay ransom

* Proper wait

* Name pods properly

* Don't send blacklisted items

* fix

* Improvements

* Announcements are less huge...

* Not a file...

* Improvement

* Drop them not in a wall

* Halves eye blur and styles payment vend

* No memes allowed
FrankFo pushed a commit to FrankFo/tgstation that referenced this pull request Jun 18, 2019
@Akrilla Akrilla deleted the syndicate-contracts-nobountyconsole branch March 26, 2020 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Sound Oh god my ears, they bleed, did you normalise the volume? UI We make the game less playable, but with round edges
Projects
None yet
Development

Successfully merging this pull request may close these issues.