part 2: bloody tendency
This commit is contained in:
@@ -801,10 +801,8 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
|
||||
/proc/readable_corrupted_text(text)
|
||||
var/list/corruption_options = list("..", "£%", "~~\"", "!!", "*", "^", "$!", "-", "}", "?")
|
||||
var/corrupted_text = ""
|
||||
// Have every letter have a chance of creating corruption on either side
|
||||
// Small chance of letters being removed in place of corruption - still overall readable
|
||||
for(var/letter_index = 1; letter_index <= length(text); letter_index++)
|
||||
var/letter = text[letter_index]
|
||||
for(var/letter_index = 1; letter_index <= length(text); letter_index++) // Have every letter have a chance of creating corruption on either side
|
||||
var/letter = text[letter_index] // Small chance of letters being removed in place of corruption - still overall readable
|
||||
if(prob(15))
|
||||
corrupted_text += pick(corruption_options)
|
||||
if(prob(95))
|
||||
|
||||
@@ -1161,8 +1161,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages)
|
||||
var/payout_bonus = 0
|
||||
var/area/dropoff = null
|
||||
|
||||
// Generate a random valid area on the station that the dropoff will happen.
|
||||
/datum/objective/contract/proc/generate_dropoff()
|
||||
/datum/objective/contract/proc/generate_dropoff() // Generate a random valid area on the station that the dropoff will happen.
|
||||
var/found = FALSE
|
||||
while(!found)
|
||||
var/area/dropoff_area = pick(GLOB.sortedAreas)
|
||||
@@ -1170,8 +1169,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages)
|
||||
dropoff = dropoff_area
|
||||
found = TRUE
|
||||
|
||||
// Check if both the contractor and contract target are at the dropoff point.
|
||||
/datum/objective/contract/proc/dropoff_check(mob/user, mob/target)
|
||||
/datum/objective/contract/proc/dropoff_check(mob/user, mob/target) // Check if both the contractor and contract target are at the dropoff point.
|
||||
var/area/user_area = get_area(user)
|
||||
var/area/target_area = get_area(target)
|
||||
return (istype(user_area, dropoff) && istype(target_area, dropoff))
|
||||
|
||||
@@ -402,42 +402,85 @@
|
||||
name = "contractor kit"
|
||||
desc = "Supplied to Syndicate contractors in active mission areas."
|
||||
|
||||
/obj/item/storage/box/syndie_kit/contract_kit/PopulateContents()
|
||||
new /obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink(src)
|
||||
new /obj/item/storage/box/syndie_kit/space/contract(src)
|
||||
/obj/item/storage/box/syndicate/contractor_loadout
|
||||
name = "standard loadout"
|
||||
desc = "Supplied to Syndicate contractors, providing their specialised space suit and chameleon uniform."
|
||||
icon_state = "syndiebox"
|
||||
illustration = "writing_syndie"
|
||||
|
||||
/obj/item/paper/contractor_guide
|
||||
name = "Contractor Guide"
|
||||
|
||||
/obj/item/paper/contractor_guide/Initialize()
|
||||
info = {"<p>Welcome agent, congratulations on your new position as contractor. On top of your already assigned objectives,
|
||||
this kit will provide you contracts to take on for TC payments.</p>
|
||||
<p>Provided within, we give your specialist contractor space suit. It's even more compact, being able to fit into a pocket, and faster than the
|
||||
Syndicate space suit available to you on the uplink. We also provide your chameleon jumpsuit and mask, both of which can be changed
|
||||
to any form you need for the moment. The cigarettes are a special blend - it'll heal your injuries slowly overtime.</p>
|
||||
<p>The three additional items, apart from the tablet and loadout box, have been randomly selected from what we had available. We hope
|
||||
they're useful to you for you mission.</p>
|
||||
<h3>Using the tablet</h3>
|
||||
<ol>
|
||||
<li>Open the Syndicate Contract Uplink program.</li>
|
||||
<li>Assign yourself.</li>
|
||||
<li>Here, you can accept a contract, and redeem your TC payments from completed contracts.</li>
|
||||
<li>The payment number shown in brackets is the bonus you'll recieve when bringing your target <b>alive</b>. You recieve the
|
||||
other number regardless of if they were alive or dead.</li>
|
||||
</ol>
|
||||
<p>Be careful when accepting a contract. While you'll be able to see the location of the dropoff point, cancelling will make it
|
||||
unavailable to take on again.</p>
|
||||
<p>The tablet can be recharged at any cell charger.</p>
|
||||
<h3>Extracting</h3>
|
||||
<ol>
|
||||
<li>Make sure both yourself and your target are at the dropoff.</li>
|
||||
<li>Call the extraction. Stand back from the drop point - it'll be coming down hard.</li>
|
||||
<li>If it fails, make sure your target is inside, and there's a free space for the pod to land.</li>
|
||||
<li>Drag your target into the pod.</li>
|
||||
</ol>
|
||||
<h3>Ransoms</h3>
|
||||
<p>We need your target for our own reasons, but we ransom them back to your mission area once their use is served. They will return back
|
||||
from where you sent them off from in several minutes time. Don't worry agent, we give you a cut of what we get paid. We pay this into whatever
|
||||
ID card you have equipped, on top of the TC payment we give.</p>"}
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/box/syndicate/contractor_loadout/PopulateContents()
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/contract/black/red(src)
|
||||
new /obj/item/clothing/suit/space/syndicate/contract/black/red(src)
|
||||
new /obj/item/clothing/under/chameleon(src)
|
||||
new /obj/item/clothing/mask/chameleon(src)
|
||||
new /obj/item/card/id/syndicate(src)
|
||||
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src)
|
||||
new /obj/item/lighter(src)
|
||||
|
||||
// All 4 TC or less - some nukeops only items, but fit nicely to the theme.
|
||||
var/list/item_list = list(
|
||||
/obj/item/storage/box/syndie_kit/contract_kit/PopulateContents()
|
||||
new /obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink(src)
|
||||
new /obj/item/storage/box/syndicate/contractor_loadout(src)
|
||||
var/list/item_list = list( // All 4 TC or less - some nukeops only items, but fit nicely to the theme.
|
||||
/obj/item/storage/backpack/duffelbag/syndie/x4,
|
||||
/obj/item/storage/box/syndie_kit/emp,
|
||||
/obj/item/storage/box/syndie_kit/throwing_weapons,
|
||||
/obj/item/gun/syringe/syndicate,
|
||||
/obj/item/pen/edagger,
|
||||
/obj/item/pen/sleepy,
|
||||
/obj/item/gun/ballistic/automatic/toy/pistol/riot,
|
||||
/obj/item/flashlight/emp,
|
||||
/obj/item/reagent_containers/syringe/mulligan,
|
||||
/obj/item/clothing/shoes/chameleon/noslip,
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/obj/item/storage/firstaid/tactical,
|
||||
/obj/item/storage/backpack/duffelbag/syndie/surgery,
|
||||
/obj/item/encryptionkey/syndicate,
|
||||
/obj/item/clothing/glasses/thermal/syndi,
|
||||
/obj/item/slimepotion/slime/sentience/nuclear,
|
||||
/obj/item/storage/box/syndie_kit/imp_radio,
|
||||
/obj/item/storage/box/syndie_kit/imp_uplink
|
||||
/obj/item/storage/box/syndie_kit/imp_uplink,
|
||||
/obj/item/clothing/gloves/krav_maga/combatglovesplus,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
|
||||
/obj/item/reagent_containers/syringe/stimulants,
|
||||
/obj/item/storage/box/syndie_kit/imp_freedom
|
||||
)
|
||||
|
||||
var/obj/item1 = pick_n_take(item_list)
|
||||
var/obj/item2 = pick_n_take(item_list)
|
||||
|
||||
// Create two, non repeat items from the list.
|
||||
new item1(src)
|
||||
var/obj/item3 = pick_n_take(item_list)
|
||||
new item1(src) // Create three, non repeat items from the list.
|
||||
new item2(src)
|
||||
|
||||
/obj/item/storage/box/syndie_kit/space/contract/PopulateContents()
|
||||
new /obj/item/clothing/suit/space/syndicate/black/red(src)
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
|
||||
new item3(src)
|
||||
new /obj/item/paper/contractor_guide(src) //Paper guide
|
||||
@@ -32,11 +32,21 @@
|
||||
|
||||
/datum/antagonist/traitor/proc/create_contracts()
|
||||
var/contract_generation_quantity = 6
|
||||
|
||||
var/lowest_TC_threshold = 28 // We don't want the sum of all the payouts to be under this amount
|
||||
var/total = 0
|
||||
var/lowest_paying_sum = 0
|
||||
var/datum/syndicate_contract/lowest_paying_contract
|
||||
for(var/i = 1; i <= contract_generation_quantity; i++)
|
||||
var/datum/syndicate_contract/contract_to_add = new(owner)
|
||||
var/contract_payout_total = contract_to_add.contract.payout + contract_to_add.contract.payout_bonus
|
||||
if(!lowest_paying_contract || (contract_payout_total < lowest_paying_sum))
|
||||
lowest_paying_sum = contract_payout_total
|
||||
lowest_paying_contract = contract_to_add
|
||||
total += contract_payout_total
|
||||
contract_to_add.id = i
|
||||
assigned_contracts.Add(contract_to_add)
|
||||
if(total < lowest_TC_threshold) // If the threshold for TC payouts isn't reached, boost the lowest paying contract
|
||||
lowest_paying_contract.contract.payout_bonus += (lowest_TC_threshold - total)
|
||||
|
||||
/datum/antagonist/traitor/apply_innate_effects()
|
||||
if(owner.assigned_role == "Clown")
|
||||
|
||||
@@ -75,6 +75,22 @@
|
||||
icon_state = "syndicate-black"
|
||||
item_state = "syndicate-black"
|
||||
|
||||
//Black-red syndicate contract varient
|
||||
/obj/item/clothing/head/helmet/space/syndicate/contract/black/red
|
||||
name = "contractor helmet"
|
||||
desc = "A specialised black and red helmet that's quicker, and more compact that its counterpart. Can be ultra-compressed into even the tightest of spaces."
|
||||
slowdown = 0.55
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon_state = "syndicate-helm-black-red"
|
||||
item_state = "syndicate-helm-black-red"
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate/contract/black/red
|
||||
name = "contractor space suit"
|
||||
desc = "A specialised black and red space suit that's quicker, and more compact that its counterpart. Can be ultra-compressed into even the tightest of spaces."
|
||||
slowdown = 0.55
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon_state = "syndicate-black-red"
|
||||
item_state = "syndicate-black-red"
|
||||
|
||||
//Black-green syndicate space suit
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black/green
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
install_component(new /obj/item/computer_hardware/printer/mini)
|
||||
|
||||
// Given by the syndicate as part of the contract uplink bundle
|
||||
/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink/Initialize()
|
||||
/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink/Initialize() // Given by the syndicate as part of the contract uplink bundle
|
||||
. = ..()
|
||||
var/obj/item/computer_hardware/hard_drive/small/syndicate/hard_drive = new
|
||||
hard_drive.store_file(new /datum/computer_file/program/contract_uplink)
|
||||
|
||||
@@ -158,8 +158,7 @@
|
||||
icon_state = "ssd_mini"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
// Syndicate variant - very slight better
|
||||
/obj/item/computer_hardware/hard_drive/small/syndicate
|
||||
/obj/item/computer_hardware/hard_drive/small/syndicate // Syndicate variant - very slight better
|
||||
desc = "An efficient SSD for portable devices developed by a rival organisation."
|
||||
power_usage = 8
|
||||
max_capacity = 70
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
|
||||
/datum/uplink_item/bundles_TC/contract_kit
|
||||
name = "Contract Kit"
|
||||
desc = "The Syndicate have a number of urgent contracts for you to take on, become a contractor and complete them for TC. Upon purchase, \
|
||||
you'll be granted your own contract uplink embedded within the supplied tablet computer. Additonally, you'll be granted contractor \
|
||||
gear to help with your mission - comes supplied with the tablet, space suit, chameleon jumpsuit and mask, agent card, and two \
|
||||
randomly selected low cost items."
|
||||
desc = "The Syndicate have offered you the chance to become a contractor, take on kidnapping contracts for TC and cash payouts. Upon purchase, \
|
||||
you'll be granted your own contract uplink embedded within the supplied tablet computer. Additionally, you'll be granted \
|
||||
standard contractor gear to help with your mission - comes supplied with the tablet, specialised space suit, chameleon jumpsuit and mask, \
|
||||
agent card, and three randomly selected low cost items. Includes potentially otherwise unobtainable items."
|
||||
item = /obj/item/storage/box/syndie_kit/contract_kit
|
||||
cost = 20
|
||||
player_minimum = 20
|
||||
|
||||
Reference in New Issue
Block a user