Slaver stuff

This commit is contained in:
James
2022-02-27 17:48:19 +00:00
parent 1bdc66f54a
commit 41bb2e875c
9 changed files with 39 additions and 12 deletions
@@ -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()
+1
View File
@@ -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>
);