Skip to content

Commit

Permalink
Merge pull request #2572 from xXPawnStarrXx/DigiPolis
Browse files Browse the repository at this point in the history
Digi polis
  • Loading branch information
Superlagg authored Jun 29, 2023
2 parents f501d63 + 2ca9c9d commit b6e5542
Show file tree
Hide file tree
Showing 20 changed files with 112 additions and 18 deletions.
18 changes: 14 additions & 4 deletions code/__DEFINES/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,10 @@
#define RADIO_KEY_REDWATER "d"
#define RADIO_TOKEN_REDWATER ":d"

#define RADIO_CHANNEL_RESPONDERS "Responders"
#define RADIO_KEY_RESPONDERS "k"
#define RADIO_TOKEN_RESPONDERS ":k"

#define RADIO_CHANNEL_CTF_RED "Red Team"
#define RADIO_CHANNEL_CTF_BLUE "Blue Team"

Expand Down Expand Up @@ -116,6 +120,7 @@
#define FREQ_TOWN_MAYOR 1375 //Den
#define FREQ_TOWN_COMMERCE 1376 //Khans
#define FREQ_BIKER 1379 //Khans
#define FREQ_RESPONDERS 1209 //Responders

///hey guess what, telecomm's a fuckin cock, so im making the list here
///update this list with all the frequenties the fuckin bus fuckin listens to (which is all of them, fuck you its all of them)
Expand All @@ -138,6 +143,7 @@
FREQ_TOWN_PD,\
FREQ_RANGER,\
FREQ_TOWN_COMMERCE,\
FREQ_RESPONDERS,\
FREQ_BIKER

#define FREQ_HOLOGRID_SOLUTION 1433
Expand Down Expand Up @@ -255,7 +261,8 @@ GLOBAL_LIST_INIT(radiochannels, list(
RADIO_CHANNEL_TOWN_PD = FREQ_TOWN_PD,
RADIO_CHANNEL_TOWN_MAYOR = FREQ_TOWN_MAYOR,
RADIO_CHANNEL_RANGER = FREQ_RANGER,
RADIO_CHANNEL_TOWN_COMMERCE = FREQ_TOWN_COMMERCE
RADIO_CHANNEL_TOWN_COMMERCE = FREQ_TOWN_COMMERCE,
RADIO_CHANNEL_RESPONDERS = FREQ_RESPONDERS
))

GLOBAL_LIST_INIT(reverseradiochannels, list(
Expand All @@ -281,8 +288,9 @@ GLOBAL_LIST_INIT(reverseradiochannels, list(
"[FREQ_TOWN_MAYOR]" = RADIO_CHANNEL_TOWN_MAYOR,
"[FREQ_TOWN_PD]" = RADIO_CHANNEL_TOWN_PD,
"[FREQ_RANGER]" = RADIO_CHANNEL_RANGER,
"[FREQ_TOWN_COMMERCE]" = RADIO_CHANNEL_TOWN_COMMERCE
))
"[FREQ_TOWN_COMMERCE]" = RADIO_CHANNEL_TOWN_COMMERCE,
"[FREQ_RESPONDERS]" = RADIO_CHANNEL_RESPONDERS
))

GLOBAL_LIST_INIT(freqtospan, list(
"[FREQ_SCIENCE]" = "sciradio",
Expand All @@ -306,7 +314,8 @@ GLOBAL_LIST_INIT(freqtospan, list(
"[FREQ_TOWN_COMMERCE]" = "servradio",
"[FREQ_TOWN_PD]" = "secradio",
"[FREQ_TOWN_MAYOR]" = "comradio",
"[FREQ_RANGER]" = "rangerradio"
"[FREQ_RANGER]" = "rangerradio",
"[FREQ_RESPONDERS]" = "respondersradio"
))

GLOBAL_LIST_INIT(department_radio_prefixes, list(":", "."))
Expand Down Expand Up @@ -341,6 +350,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
RADIO_KEY_TOWN_PD = RADIO_CHANNEL_TOWN_PD,
RADIO_KEY_RANGER = RADIO_CHANNEL_RANGER,
RADIO_KEY_TOWN_MAYOR = RADIO_CHANNEL_TOWN_MAYOR,
RADIO_KEY_RESPONDERS = RADIO_CHANNEL_RESPONDERS,
RADIO_KEY_TOWN_COMMERCE = RADIO_CHANNEL_TOWN_COMMERCE,

// Admin
Expand Down
2 changes: 2 additions & 0 deletions code/controllers/subsystem/blackbox.dm
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ SUBSYSTEM_DEF(blackbox)
record_feedback("tally", "radio_usage", 1, "legion")
if(FREQ_RANGER)
record_feedback("tally", "radio_usage", 1, "ranger")
if(FREQ_RESPONDERS)
record_feedback("tally", "radio_usage", 1, "responders")
if(FREQ_TOWN_COMMERCE)
record_feedback("tally", "radio_usage", 1, "khans")
else
Expand Down
18 changes: 18 additions & 0 deletions code/datums/components/crafting/recipes/recipes_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,24 @@
reqs = list(/obj/item/circuitboard/machine/vr_sleeper = 1)
tools = list(/obj/item/multitool)

/datum/crafting_recipe/radiokeyresponder
name = "Responders Encryption Key"
result = /obj/item/encryptionkey/headset_responders
reqs = list(/obj/item/stack/crafting/electronicparts = 2,
/obj/item/stack/crafting/metalparts = 1)
tools = list(/obj/item/multitool)
always_available = FALSE

/datum/crafting_recipe/bowman
name = "Reinforced radioheadset"
result = /obj/item/radio/headset/upgraded
reqs = list(/obj/item/radio/headset = 1,
/obj/item/stack/crafting/metalparts = 1,
/obj/item/stack/sheet/cloth = 2)
tools = list(/obj/item/multitool,
/obj/item/screwdriver)
always_available = FALSE

//////////////////////
//Burial & Execution//
//////////////////////
Expand Down
24 changes: 24 additions & 0 deletions code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,18 @@
subcategory = CAT_MELEE
always_available = FALSE

/datum/crafting_recipe/policebaton
name = "Police Baton"
result = /obj/item/melee/classic_baton/police
reqs = list(/obj/item/stack/sheet/metal = 1,
/obj/item/stack/sheet/mineral/wood = 1,
/obj/item/stack/sheet/prewar = 2)
tools = list(TOOL_WORKBENCH)
time = 30
category = CAT_WEAPONRY
subcategory = CAT_MELEE
always_available = FALSE

////////////////
///POWER CELLS//
///////////////
Expand Down Expand Up @@ -968,6 +980,18 @@
subcategory = CAT_WEAPON
always_available = FALSE

/datum/crafting_recipe/tommygun
name = "Thompson Submachinegun"
result = /obj/item/gun/ballistic/automatic/smg/tommygun
tools = list(TOOL_WORKBENCH)
reqs = list(/obj/item/stack/sheet/metal = 5,
/obj/item/advanced_crafting_components/receiver = 1,
/obj/item/stack/crafting/metalparts = 2)
time = 120
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
always_available = FALSE

/datum/crafting_recipe/dks
name = "Marksman Sniper Rifle"
result = /obj/item/gun/ballistic/automatic/marksman/sniper
Expand Down
5 changes: 3 additions & 2 deletions code/game/machinery/telecomms/machines/bus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,9 @@
"town",
"legion",
"ranger",
"khans",
"bikers")
"responders",
"bikers",
"khans")

/obj/machinery/telecomms/bus/preset_four
id = "Bus 4"
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/machines/hub.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@
id = "Hub"
network = "tcommsat"
autolinkers = list("hub", "relay", "s_relay", "m_relay", "r_relay", "h_relay", "science", "medical",
"supply", "service", "vault", "ncr", "bos", "enclave", "den", "town", "legion", "common", "command", "engineering", "security", "ranger", "khans",
"supply", "service", "vault", "ncr", "bos", "enclave", "den", "town", "legion", "common", "command", "engineering", "security", "responders", "ranger", "khans",
"receiverA", "receiverB", "broadcasterA", "broadcasterB")

5 changes: 5 additions & 0 deletions code/game/machinery/telecomms/machines/server.dm
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@
freq_listening = list(FREQ_COMMAND)
autolinkers = list("command")

/obj/machinery/telecomms/server/presets/responders
id = "Responders Server"
freq_listening = list(FREQ_RESPONDERS)
autolinkers = list("responders")

/obj/machinery/telecomms/server/presets/engineering
id = "Engineering Server"
freq_listening = list(FREQ_ENGINEERING)
Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,12 @@
icon_state = "cypherkey"
channels = list(RADIO_CHANNEL_BIKER = 1)

/obj/item/encryptionkey/headset_responders
name = "Makeshift radio key"
desc = "A jerry-rigged radio key; seems to be set to an encrypted frequency"
icon_state = "sec_cypherkey"
channels = list(RADIO_CHANNEL_RESPONDERS = 1)

/obj/item/encryptionkey/ai //ported from NT, this goes 'inside' the AI.
channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_SECURITY = 1, RADIO_CHANNEL_ENGINEERING = 1, RADIO_CHANNEL_SCIENCE = 1, RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_AI_PRIVATE = 1)

Expand Down
11 changes: 10 additions & 1 deletion code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ GLOBAL_LIST_INIT(channel_tokens, list(
RADIO_CHANNEL_TOWN_MAYOR = RADIO_TOKEN_TOWN_MAYOR,
RADIO_CHANNEL_TOWN_PD = RADIO_TOKEN_TOWN_PD,
RADIO_CHANNEL_RANGER = RADIO_TOKEN_RANGER,
RADIO_CHANNEL_RESPONDERS = RADIO_TOKEN_RESPONDERS,
RADIO_CHANNEL_TOWN_COMMERCE = RADIO_TOKEN_TOWN_COMMERCE
))
))

/obj/item/radio/headset
name = "radio headset"
Expand Down Expand Up @@ -242,6 +243,14 @@ GLOBAL_LIST_INIT(channel_tokens, list(
keyslot = new /obj/item/encryptionkey/headset_com
keyslot2 = new /obj/item/encryptionkey/headset_cent

/obj/item/radio/headset/upgraded
name = "padded radio headset"
desc = "An updated, modular intercom that fits over the head. Takes encryption keys and protects the ears."
icon_state = "headset"
item_state = "headset"
keyslot = null
bowman = TRUE

/obj/item/radio/headset/headset_cent/empty
keyslot = null
keyslot2 = null
Expand Down
7 changes: 6 additions & 1 deletion code/game/objects/items/granters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1381,4 +1381,9 @@
/datum/crafting_recipe/polishat,
/datum/crafting_recipe/polislthat,
/datum/crafting_recipe/polischiefhat,
/datum/crafting_recipe/polissnrhat)
/datum/crafting_recipe/polissnrhat,
/datum/crafting_recipe/tommygun,
/datum/crafting_recipe/m1911,
/datum/crafting_recipe/policebaton,
/datum/crafting_recipe/bowman,
/datum/crafting_recipe/radiokeyresponder)
8 changes: 4 additions & 4 deletions code/modules/clothing/suits/arfsuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1854,7 +1854,7 @@
/obj/item/clothing/suit/armor/medium/vest/polis
name = "police jacket"
desc = "A sturdy durathread police coat; It's not going to stop anything good but it's better than your undies."
icon = 'icons/fallout/clothing/suits_cosmetic.dmi'
icon = 'icons/obj/clothing/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/suit.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_officer"
Expand All @@ -1863,7 +1863,7 @@
/obj/item/clothing/suit/armor/medium/vest/polislt
name = "police lieutenant's jacket"
desc = "A sturdy durathread police coat; It's not going to stop anything good but it's better than your undies, This one's got silver on it."
icon = 'icons/fallout/clothing/suits_cosmetic.dmi'
icon = 'icons/obj/clothing/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/suit.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_lieutenant"
Expand All @@ -1872,7 +1872,7 @@
/obj/item/clothing/suit/armor/medium/vest/polischief
name = "police chief's jacket"
desc = "A sturdy durathread police coat; It's not going to stop anything good but it's better than your undies, This one's got silver on it."
icon = 'icons/fallout/clothing/suits_cosmetic.dmi'
icon = 'icons/obj/clothing/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/suit.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_chief"
Expand All @@ -1881,7 +1881,7 @@
/obj/item/clothing/suit/armor/medium/vest/polissnr
name = "police search and rescue jacket"
desc = "A sturdy durathread police coat; It's not going to stop anything good but it's better than your undies, This one's got search and rescue markings."
icon = 'icons/fallout/clothing/suits_cosmetic.dmi'
icon = 'icons/obj/clothing/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/suit.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_snr"
Expand Down
8 changes: 4 additions & 4 deletions code/modules/clothing/under/costume.dm
Original file line number Diff line number Diff line change
Expand Up @@ -392,31 +392,31 @@
/obj/item/clothing/under/f13/police/officer
name = "police officer's uniform"
desc = "A classic law enforcement uniform, composed of a dark navy long sleeve shirt, dark navy pants, and a black tie."
icon = 'icons/fallout/clothing/uniforms.dmi'
icon = 'icons/obj/clothing/uniforms.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_officer"
item_state = "police_officer"

/obj/item/clothing/under/f13/police/lieutenant
name = "police lieutenant's uniform"
desc = "A classic law enforcement uniform, composed of a dark navy long sleeve shirt, dark navy pants, and a black tie."
icon = 'icons/fallout/clothing/uniforms.dmi'
icon = 'icons/obj/clothing/uniforms.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_lieutenant"
item_state = "police_lieutenant"

/obj/item/clothing/under/f13/police/chief
name = "police chief's uniform"
desc = "A classic law enforcement uniform, composed of a dark navy long sleeve shirt, dark navy pants, and a black tie."
icon = 'icons/fallout/clothing/uniforms.dmi'
icon = 'icons/obj/clothing/uniforms.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_chief"
item_state = "police_chief"

/obj/item/clothing/under/f13/police/snr
name = "police snr uniform"
desc = "A classic law enforcement uniform, composed of a dark navy long sleeve shirt, dark navy pants, and a black tie. This one comes with search and rescue markings!"
icon = 'icons/fallout/clothing/uniforms.dmi'
icon = 'icons/obj/clothing/uniforms.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
icon_state = "police_snr"
item_state = "police_snr"
Binary file modified icons/obj/clothing/hats.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/suits.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/uniforms.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions interface/stylesheet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ em {font-style: normal; font-weight: bold;}
.legionradio {color: #c24d44;}
.rangerradio {color: #83733c;}
.khansradio {color: #f0420d;}
.respondersradio {color: #dd3535;}

.yell { font-weight: bold;}

Expand Down
2 changes: 1 addition & 1 deletion tgui/packages/tgui-panel/chat/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export const MESSAGE_TYPES = [
type: MESSAGE_TYPE_RADIO,
name: 'Radio',
description: 'All departments of radio messages',
selector: '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .comradio, .secradio, .engradio, .medradio, .sciradio, .suppradio, .servradio, .radio, .deptradio, .binarysay, .newscaster, .resonate, .vaultradio, .ncrradio, .bosradio, .enclaveradio, .denradio, .legionradio, .rangerradio, .khansradio',
selector: '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .comradio, .secradio, .engradio, .medradio, .sciradio, .suppradio, .servradio, .radio, .deptradio, .binarysay, .newscaster, .resonate, .vaultradio, .ncrradio, .bosradio, .enclaveradio, .denradio, .legionradio, .rangerradio, .respondersradio, .khansradio',
},
{
type: MESSAGE_TYPE_INFO,
Expand Down
4 changes: 4 additions & 0 deletions tgui/packages/tgui-panel/styles/goon/chat-dark.scss
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,10 @@ em {
color: #f0420d;
}

.respondersradio {
color: #dd3535;
}

.yell {
font-weight: bold;
}
Expand Down
4 changes: 4 additions & 0 deletions tgui/packages/tgui-panel/styles/goon/chat-light.scss
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,10 @@ em {
color: #686868;
}

.respondersradio {
color: #dd3535;
}

.enclaveradio {
color: #67696b;
}
Expand Down
5 changes: 5 additions & 0 deletions tgui/packages/tgui/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ export const RADIO_CHANNELS = [
freq: 1359,
color: '#dd3535',
},
{
name: 'Responders',
freq: 1209,
color: '#dd3535',
},
{
name: 'AI Private',
freq: 1447,
Expand Down

0 comments on commit b6e5542

Please sign in to comment.