Skip to content
This repository has been archived by the owner on Nov 5, 2023. It is now read-only.

Adds Mr. Yuma to the waste #427

Closed
wants to merge 15 commits into from
Closed
9 changes: 8 additions & 1 deletion _maps/map_files/Pahrump-Sunset/Pahrump-Sunset.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -35338,6 +35338,13 @@
/obj/structure/flora/tallgrass6,
/turf/open/indestructible/ground/outside/dirt,
/area/f13/wasteland)
"jiz" = (
/obj/structure/table,
/obj/machinery/announcement_system/Mr_Yuma,
/turf/open/floor/f13{
icon_state = "floorrusty"
},
/area/f13/building/trainstation)
"jiJ" = (
/obj/machinery/trading_machine/ammo,
/obj/machinery/light{
Expand Down Expand Up @@ -131439,7 +131446,7 @@ xLC
dgy
lRe
dgn
ogp
jiz
ajR
aks
lRe
Expand Down
37 changes: 37 additions & 0 deletions code/game/machinery/announcement_system.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,56 @@ GLOBAL_LIST_EMPTY(announcement_systems)
var/arrivalToggle = 1
var/newhead = "%PERSON, %RANK, is the department head."
var/newheadToggle = 1
var/factionleave = "%PERSON, the %RANK, has left these lands for a (hopefully) better land in the wasteland." //this is used to announce a faction of when a player leaves by the matrix
var/factionleavedead = "the corpse of %PERSON, the %RANK, is now feeding the vultures, at the other side of the border" //same but dead


var/greenlight = "Light_Green"
var/pinklight = "Light_Pink"
var/errorlight = "Error_Red"

/obj/machinery/announcement_system/Mr_Yuma //ATOM EDIT -Start- , adds a lore friendly announcer in the form of Mr. Yuma, a parody of Mr. New Vegas
xTrainx marked this conversation as resolved.
Show resolved Hide resolved
density = TRUE
name = "Mr. Yuma"
desc = "A Modified Autonomos AI Persona locutor, designed by Robco Industries, which announce many things over the radio."
icon = 'icons/obj/machines/telecomms.dmi'
icon_state = "Mr_Yuma_On"
arrivalToggle = 0

verb_say = "smoothly says"
verb_ask = "wonders"
verb_exclaim = "warns"

idle_power_usage = 20
active_power_usage = 50

circuit = /obj/item/circuitboard/machine/announcement_system/Mr_Yuma

arrival = "%PERSON, the %RANK has joined us today in this fine day for the week"
newhead = "%PERSON, the %RANK is the head honcho of the barn"
//ATOM EDIT -End-
/obj/machinery/announcement_system/Initialize()
. = ..()
GLOB.announcement_systems += src
radio = new /obj/item/radio/headset/silicon/ai(src)
update_icon()

/obj/machinery/announcement_system/Mr_Yuma/Initialize() //Mr. Yuma, with his charm and sexy voice,gets a special headset for such special AI
. = ..()
radio = new /obj/item/radio/headset/silicon/Mr_Yuma(src)

/obj/machinery/announcement_system/update_icon_state()
if(is_operational())
icon_state = (panel_open ? "AAS_On_Open" : "AAS_On")
else
icon_state = (panel_open ? "AAS_Off_Open" : "AAS_Off")

/obj/machinery/announcement_system/Mr_Yuma/update_icon_state() //ATOM Edit -starts- Mr. Yuma's sprites
if(is_operational())
icon_state = (panel_open ? "Mr_Yuma_On_Open" : "Mr_Yuma_On")
else
icon_state = (panel_open ? "Mr_Yuma_Off_Open" : "Mr_Yuma_Off")
//ATOM EDIT -End-
/obj/machinery/announcement_system/update_overlays()
. = ..()
if(arrivalToggle)
Expand Down Expand Up @@ -84,6 +117,10 @@ GLOBAL_LIST_EMPTY(announcement_systems)
message = CompileText(arrival, user, rank)
else if(message_type == "NEWHEAD" && newheadToggle)
message = CompileText(newhead, user, rank)
else if(message_type == "FACTIONLEAVE") //ATOM EDIT -Start-, announcements for the user matrixing, either alive or alivent
message = CompileText(factionleave, user, rank)
else if(message_type == "FACTIONLEAVEDEAD")
message = CompileText(factionleavedead, user, rank) //ATOM EDIT -End-
else if(message_type == "ARRIVALS_BROKEN")
message = "The arrivals shuttle has been damaged. Docking for repairs..."

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@
/obj/item/stack/cable_coil = 2,
/obj/item/stack/sheet/glass = 1)

/obj/item/circuitboard/machine/announcement_system/Mr_Yuma //ATOM EDIT -Start- Mr. Yuma's circuit board
name = "Announcement System (Machine Board)"
build_path = /obj/machinery/announcement_system/Mr_Yuma
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stack/sheet/glass = 1) //ATOM EDIT -End-

/obj/item/circuitboard/machine/autolathe
name = "Autolathe (Machine Board)"
build_path = /obj/machinery/autolathe
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@

/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)

/obj/item/encryptionkey/Mr_Yuma //ATOM EDIT gives mr yuma access to all radio channels
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, RADIO_CHANNEL_VAULT = 1, RADIO_CHANNEL_NCR = 1, RADIO_CHANNEL_BOS = 1, RADIO_CHANNEL_ENCLAVE = 1, RADIO_CHANNEL_TOWN = 1, RADIO_CHANNEL_TOWN_PD = 1, RADIO_CHANNEL_TOWN_MAYOR = 1, RADIO_CHANNEL_RANGER = 1, RADIO_CHANNEL_TOWN_COMMERCE = 1, RADIO_CHANNEL_LEGION = 1, RADIO_CHANNEL_KHAN = 1, RADIO_CHANNEL_DEN = 1)
/obj/item/encryptionkey/secbot
channels = list(RADIO_CHANNEL_AI_PRIVATE = 1, RADIO_CHANNEL_SECURITY = 1)

Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,11 @@ GLOBAL_LIST_INIT(channel_tokens, list(
keyslot2 = new /obj/item/encryptionkey/ai
command = TRUE

/obj/item/radio/headset/silicon/Mr_Yuma //ATOM EDIT, adds an special headset for the announcer with acccess to most channels
name = "\proper Integrated Subspace Transceiver "
keyslot2 = new /obj/item/encryptionkey/Mr_Yuma
command = TRUE

/obj/item/radio/headset/silicon/can_receive(freq, level)
return ..(freq, level, TRUE)

Expand Down
20 changes: 20 additions & 0 deletions code/modules/fallout/turf/walls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -322,10 +322,30 @@ turf/closed/wall/f13/wood/house/update_damage_overlay()
dat += "."
message_admins(dat)
log_admin(dat)
//ATOM EDIT -Start- sends an announcement when someones gets existent'ed depending on their status
var/list/channelstoannounce = list()
if(departing_mob.job in GLOB.eastwood_positions)
channelstoannounce += list("Eastwood")
if(departing_mob.job in GLOB.brotherhood_positions)
channelstoannounce += list("BOS")
if(departing_mob.job in GLOB.legion_positions)
channelstoannounce += list("Legion")
if(departing_mob.job in GLOB.ncr_positions)
channelstoannounce += list("NCR")
if(departing_mob.job in GLOB.enclave_positions)
channelstoannounce += list("Enclave")
if(departing_mob.job == "Desperado Leader")
channelstoannounce += list("Desperados")
if(departing_mob.stat == DEAD)
departing_mob.visible_message(span_notice("[user] pushes the body of [departing_mob] over the border. They're someone else's problem now."))
if(GLOB.announcement_systems.len)
var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
announcer.announce("FACTIONLEAVEDEAD", departing_mob.real_name, departing_mob.job, channelstoannounce)
else
departing_mob.visible_message(span_notice("[departing_mob == user ? "Out of their own volition, " : "Ushered by [user], "][departing_mob] crosses the border and departs the area."))
if(GLOB.announcement_systems.len)
var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
announcer.announce("FACTIONLEAVE", departing_mob.real_name, departing_mob.job, channelstoannounce) // ATOM EDIT -End-
departing_mob.despawn()


Expand Down
8 changes: 4 additions & 4 deletions code/modules/jobs/job_types/bos.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Elder
title = "Elder"
flag = F13ELDER
display_order = JOB_DISPLAY_ORDER_ELDER
head_announce = list("Security")
head_announce = list("BOS")// ATOM EDIT- no matter how much they try, brotherhood are not the town's head
total_positions = 0
spawn_positions = 0
description = "You are the Elder of the local Brotherhood chapter."
Expand Down Expand Up @@ -135,7 +135,7 @@ Head Paladin
title = "Head Paladin"
flag = F13HEADPALADIN
display_order = JOB_DISPLAY_ORDER_HEADPALADIN
head_announce = list("Security")
head_announce = list("BOS")//ATOM EDIT - Just to make sure they don't scream at the wrong people
total_positions = 1
spawn_positions = 1
description = "You are the acting field commander until the Brotherhood regains its strength enough to place an Elder for the bunker. You are a veteran of many battles and sorties in pursuit of Brotherhood goals; your only weakness may just be your hubris. Your main goals are defense of the Chapter and surveillance of the surrounding region for technology."
Expand Down Expand Up @@ -218,7 +218,7 @@ Head Scribe
title = "Head Scribe"
flag = F13HEADSCRIBE
display_order = JOB_DISPLAY_ORDER_HEADSCRIBE
head_announce = list("Security")
head_announce = list("BOS")//ATOM EDIT- I don't think they would like town to know when they get home
total_positions = 1
spawn_positions = 1
description = "You are the foremost experienced scribe remaining in this bunker. Your role is to ensure the safekeeping and proper usage of technology within the Brotherhood. You are also the lead medical expert in this Chapter. Delegate your tasks to your Scribes."
Expand Down Expand Up @@ -287,7 +287,7 @@ Head Knight
title = "Head Knight"
flag = F13HEADKNIGHT
display_order = JOB_DISPLAY_ORDER_HEADKNIGHT
head_announce = list("Security")
head_announce = list("BOS")// ATOM EDIT- whoops, wrong house
total_positions = 1
spawn_positions = 1
description = "You are the Head Knight, leader of your respective division in the Chapter. Your knowledge of pre-war materials and engineering is almost unparalleled, and you have basic combat training and experience. You are in charge of the Chapter's engineering Corps, and your Knights. Delegate to them as necessary. As Chief Armorer, you are also in charge of the armory."
Expand Down
6 changes: 4 additions & 2 deletions code/modules/jobs/job_types/eastwood.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ here's a tip, go search DEFINES/access.dm
title = "Mayor"
flag = F13MAYOR
display_order = JOB_DISPLAY_ORDER_MAYOR
head_announce = list("Eastwood") //ATOM EDIT, hey, these heads don't have a head_announce variable
total_positions = 1
spawn_positions = 1
supervisors = "The Overseer"
Expand Down Expand Up @@ -111,7 +112,7 @@ here's a tip, go search DEFINES/access.dm
head_announce = list("Security")
total_positions = 1
spawn_positions = 1
supervisors = "The Mayor and Overseer"
supervisors = "The Mayor" //ATOM EDIT, Congratulations to town for discovering independance
description = "As the head of the security forces, you are the face of justice in the town. Uphold the law, or bend it to suit your needs, you set the precedent for how justice is doled out in the town, so bear that in mind when you sentence that pickpocket to death. Maintain the armoury and keep that watchful eye on the elevator to the Vault below. Whatever you do, don't lose your head."
exp_requirements = 750

Expand Down Expand Up @@ -353,7 +354,8 @@ here's a tip, go search DEFINES/access.dm
display_order = JOB_DISPLAY_ORDER_F13CHIEFMED
total_positions = 1
spawn_positions = 1
supervisors = "The Mayor and Overseer"
supervisors = "The Mayor and Provost" //ATOM EDIT- we don't have an Overseer as far as i know
head_announce = list("Eastwood") //ATOM EDIT - at least head of the clinic
description = "From the board of the VTCC, you were chosen to be the chief delegator for the medical and science wings of this town's clinic. You are the mediator of workplace drama, the human resource enforcer, and the cornerstone of inspiration for your underlings. As their supervisor, it is your job to make sure that this clinic functions at peak performance."
selection_color = "#af9172"
exp_requirements = 750
Expand Down
1 change: 1 addition & 0 deletions code/modules/jobs/job_types/enclave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ Access
title = "Enclave Lieutenant"
flag = F13USLT
display_order = JOB_DISPLAY_ORDER_F13USLT
head_announce = list("Enclave")
selection_color = "#686666"
total_positions = 0
spawn_positions = 0
Expand Down
4 changes: 2 additions & 2 deletions code/modules/jobs/job_types/legion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Access
/datum/job/CaesarsLegion/Legionnaire/f13centurion
title = "Legion Centurion"
flag = F13CENTURION
head_announce = list("Security")
head_announce = list("Leigion")
total_positions = 1
spawn_positions = 1
description = "You are the camp commander and strongest soldier. Use your officers, the Decanii, to delegate tasks, make sure you lead and give orders. Take no disrespect, you are the dominus. If you prove a fool or weak, expect to be dispatched by a stronger subordinate."
Expand Down Expand Up @@ -1098,7 +1098,7 @@ Access
/datum/job/CaesarsLegion/Legionnaire/f13legate
title = "Legate"
flag = F13LEGATE
head_announce = list("Security")
head_announce = list("Legion")
supervisors = "Caesar"
selection_color = "#ff8f8f"
req_admin_notify = 1
Expand Down
4 changes: 2 additions & 2 deletions code/modules/jobs/job_types/ncr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Access
/datum/job/ncr/f13colonel
title = "NCR Colonel"
flag = F13COLONEL
head_announce = list("Security")
head_announce = list("NCR")
supervisors = "The Republic Senate, High Command"
access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC, ACCESS_CHANGE_IDS, ACCESS_NCR3, ACCESS_NCR4)
minimal_access = list(ACCESS_NCR, ACCESS_NCR_ARMORY, ACCESS_NCR1, ACCESS_NCR2, ACCESS_NCR_COMMAND, ACCESS_PUBLIC, ACCESS_CHANGE_IDS, ACCESS_NCR3, ACCESS_NCR4)
Expand Down Expand Up @@ -155,7 +155,7 @@ Access
/datum/job/ncr/f13captain
title = "NCR Captain"
flag = F13CAPTAIN
head_announce = list("Security")
head_announce = list("NCR")
total_positions = 1
spawn_positions = 1
description = "You are the commanding officer of your company and direct superior to the MPs, the SEA, and the Lieutenant. Coordinating with your staff, you must ensure that the objectives of High Command are completed to the letter. Working closely with your subordinates on logistics, mission planning and special operations with the Rangers, you are here to establish a strong foothold for the NCR within the region."
Expand Down
Binary file modified icons/obj/machines/telecomms.dmi
Binary file not shown.