mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-26 06:07:03 +01:00
Slaver stuff
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#define ANNOUNCEMENT_COOLDOWN 6 MINUTES
|
||||
#define SLAVER_RANSOM_SCALE_VALUE 1000000
|
||||
|
||||
/obj/machinery/computer/slavery
|
||||
name = "\improper slave management console"
|
||||
@@ -49,6 +50,7 @@
|
||||
var/turf/curr = get_turf(src)
|
||||
data["currentCoords"] = "[curr.x], [curr.y], [curr.z]"
|
||||
data["value_table"] = GLOB.slavers_ransom_values
|
||||
data["ransom_scale_value"] = SLAVER_RANSOM_SCALE_VALUE
|
||||
data["categories"] = list()
|
||||
for(var/category in possible_gear)
|
||||
var/list/cat = list(
|
||||
|
||||
@@ -43,8 +43,11 @@
|
||||
var/automatic_ransom_value = GLOB.slavers_ransom_values[M.job]
|
||||
if (automatic_ransom_value)
|
||||
station_rank = M.job
|
||||
setPrice(automatic_ransom_value)
|
||||
|
||||
var/datum/bank_account/bank = SSeconomy.get_dep_account(ACCOUNT_CAR)
|
||||
automatic_ransom_value += automatic_ransom_value * (bank.account_balance / SLAVER_RANSOM_SCALE_VALUE) // Slave price scales with station credit balance (+100% per 1,000,000 credits in the cargo budget)
|
||||
|
||||
setPrice(automatic_ransom_value)
|
||||
|
||||
/obj/item/electropack/shockcollar/slave/proc/setPrice(newPrice)
|
||||
var/mob/living/M = loc
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
/obj/item/radio/headset/syndicate/slaver/Initialize()
|
||||
. = ..()
|
||||
|
||||
set_frequency(FREQ_SYNDICATE)
|
||||
freqlock = TRUE
|
||||
@@ -10,7 +10,7 @@
|
||||
new /obj/item/clothing/under/syndicate(src)
|
||||
new /obj/item/clothing/shoes/workboots(src)
|
||||
new /obj/item/storage/belt/military(src)
|
||||
new /obj/item/radio/headset/syndicate(src)
|
||||
new /obj/item/radio/headset/syndicate/slaver(src)
|
||||
new /obj/item/crowbar/red(src)
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
@@ -31,7 +31,7 @@
|
||||
new /obj/item/clothing/under/syndicate(src)
|
||||
new /obj/item/clothing/shoes/workboots(src)
|
||||
new /obj/item/storage/belt/military(src)
|
||||
new /obj/item/radio/headset/syndicate(src)
|
||||
new /obj/item/radio/headset/syndicate/slaver(src)
|
||||
new /obj/item/crowbar/red(src)
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
else
|
||||
R = new /mob/living/silicon/robot/modules/slaver(T)
|
||||
|
||||
R.radio = new /obj/item/radio/borg/syndicate(R)
|
||||
|
||||
var/brainopsname = C.prefs.real_name
|
||||
|
||||
R.mmi.name = "Man-Machine Interface: [brainopsname]"
|
||||
@@ -73,3 +75,9 @@
|
||||
new_borg.send_to_spawnpoint = FALSE
|
||||
R.mind.add_antag_datum(new_borg,creator_slaver.slaver_team)
|
||||
R.mind.special_role = "Slaver Cyborg"
|
||||
R.grant_language(/datum/language/codespeak, TRUE, TRUE)
|
||||
|
||||
var/newName = sanitize_name(stripped_input(R, "Enter new robot name", "Cyborg Reclassification", "Cyborg", MAX_NAME_LEN))
|
||||
if (newName)
|
||||
R.custom_name = newName
|
||||
R.updatename()
|
||||
|
||||
@@ -90,6 +90,13 @@ GLOBAL_LIST_INIT(slaver_gear, subtypesof(/datum/slaver_gear))
|
||||
category = "Advanced"
|
||||
cost = 10000
|
||||
|
||||
/datum/slaver_gear/jetpack
|
||||
name = "Jetpack"
|
||||
description = "Back-mounted jetpack for use in zero-gravity environments."
|
||||
build_path = /obj/item/tank/jetpack/oxygen/harness
|
||||
category = "Advanced"
|
||||
cost = 3000
|
||||
|
||||
/datum/slaver_gear/riot
|
||||
name = "Riot Kit"
|
||||
description = "Toy L6 SAW with riot darts."
|
||||
@@ -153,7 +160,7 @@ GLOBAL_LIST_INIT(slaver_gear, subtypesof(/datum/slaver_gear))
|
||||
description = ".50 cal sniper rifle with sleep-inducing rounds."
|
||||
build_path = /obj/item/storage/backpack/duffelbag/syndie/slaver_marksman
|
||||
category = "Firearms"
|
||||
cost = 40000
|
||||
cost = 50000
|
||||
|
||||
/datum/slaver_gear/freedom
|
||||
name = "Freedom Implant"
|
||||
@@ -171,7 +178,7 @@ GLOBAL_LIST_INIT(slaver_gear, subtypesof(/datum/slaver_gear))
|
||||
|
||||
/datum/slaver_gear/implant_teleport
|
||||
name = "Emergency Teleport Implants"
|
||||
description = "Emergency teleport implant x 2."
|
||||
description = "Emergency teleport implant x 2. Once activated, user needs to stand still for 5 seconds, after which they will be teleported from any location back to the slaver hideout. Has only one use."
|
||||
build_path = /obj/item/storage/box/slaver_teleport
|
||||
category = "Implants"
|
||||
cost = 15000
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
back = /obj/item/storage/backpack
|
||||
ears = /obj/item/radio/headset/syndicate
|
||||
ears = /obj/item/radio/headset/syndicate/slaver
|
||||
id = /obj/item/card/id/syndicate/slaver
|
||||
backpack_contents = list(/obj/item/storage/box/survival,\
|
||||
/obj/item/kitchen/knife/combat/survival)
|
||||
@@ -17,9 +17,5 @@
|
||||
gloves = /obj/item/clothing/gloves/krav_maga/combatglovesplus
|
||||
|
||||
/datum/outfit/slaver/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
|
||||
var/obj/item/radio/R = H.ears
|
||||
R.set_frequency(FREQ_SYNDICATE)
|
||||
R.freqlock = TRUE
|
||||
|
||||
H.faction |= ROLE_SLAVER
|
||||
H.update_icons()
|
||||
|
||||
@@ -4251,6 +4251,7 @@
|
||||
#include "modular_splurt\code\game\object\items\circuitboards\computer_circuitboards.dm"
|
||||
#include "modular_splurt\code\game\object\items\circuitboards\machine_circuitboards.dm"
|
||||
#include "modular_splurt\code\game\object\items\devices\radio\electropack.dm"
|
||||
#include "modular_splurt\code\game\object\items\devices\radio\headset.dm"
|
||||
#include "modular_splurt\code\game\object\items\devices\radio\radio.dm"
|
||||
#include "modular_splurt\code\game\object\items\implants\implant_slaver.dm"
|
||||
#include "modular_splurt\code\game\object\items\lewd_items\lewd.dm"
|
||||
|
||||
@@ -108,7 +108,7 @@ export const SlaveConsole = (props, context) => {
|
||||
|
||||
const SlavePanel = (props, context) => {
|
||||
const { slaves } = props;
|
||||
const { act, data } = useBackend(context);
|
||||
const { act } = useBackend(context);
|
||||
if (!slaves.length) {
|
||||
return (
|
||||
<NoticeBox danger>
|
||||
@@ -239,7 +239,9 @@ const SupplyPanel = (props, context) => {
|
||||
};
|
||||
|
||||
const RansomPanel = (props, context) => {
|
||||
const { data } = useBackend(context);
|
||||
const value_table = props.value_table;
|
||||
const { cargo_credits, ransom_scale_value } = data;
|
||||
|
||||
let value_table_converted = [];
|
||||
|
||||
@@ -271,7 +273,10 @@ const RansomPanel = (props, context) => {
|
||||
{rank_value.rank}
|
||||
</Flex.Item>
|
||||
<Flex.Item>
|
||||
{formatMoney(rank_value.value, null, true)}cr
|
||||
{formatMoney(
|
||||
rank_value.value + (rank_value.value
|
||||
* (cargo_credits / ransom_scale_value))
|
||||
, null, true)}cr
|
||||
</Flex.Item>
|
||||
</Flex>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user