Skip to content

Commit

Permalink
TGS Test Merge (#7165)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed Dec 25, 2024
2 parents d956a31 + 3543d15 commit 4ef313b
Show file tree
Hide file tree
Showing 67 changed files with 10,751 additions and 3,135 deletions.
18 changes: 18 additions & 0 deletions code/__DEFINES/paperwork.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#define PAPER_CATEGORY_USCM "USCM"
#define PAPER_CATEGORY_USCM_HC "USCM HC"

#define PAPER_CATEGORY_MP "Military Police"
#define PAPER_CATEGORY_PROVOST "Provost"

#define PAPER_CATEGORY_LIAISON "WY Liaison"
#define PAPER_CATEGORY_WEYYU_HC "Weyland Yutani"

#define PAPER_CATEGORY_UPP_HC "UPP HC"

#define PAPER_CATEGORY_CMB_HC "CMB HC"

#define PAPER_CATEGORY_CLF_HC "CLF HC"

#define PAPER_CATEGORY_TWE_HC "TWE HC"

#define PAPER_CATEGORY_PRESS_HC "PRESS HC"
10 changes: 10 additions & 0 deletions code/game/area/admin_level.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,19 @@
soundscape_playlist = SCAPE_PL_ELEVATOR_MUSIC
icon_state = "yellow"

//Fax Responder areas
/area/adminlevel/ert_station/fax_response_station
name = "Sector Comms Relay"
icon_state = "green"
unlimited_power = TRUE
flags_area = AREA_AVOID_BIOSCAN

/area/adminlevel/ert_station/fax_response_station/exterior
name = "Sector Comms Relay"
icon_state = "red"
ambience_exterior = AMBIENCE_JUNGLE
//ambience = list('sound/ambience/jungle_amb1.ogg')
base_lighting_alpha = 185

//Simulation area
/area/adminlevel/simulation
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@
var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper)
var/obj/item/paper/P = new /obj/item/paper( src.loc )
P.name = text("Scan: [], []",record.fields["name"],worldtime2text())
P.info += text("<center><img src = [asset.get_url_mappings()["wylogo.png"]]><HR><I><B>Official Weyland-Yutani Document</B><BR>Scan Record</I><HR><H2>[]</H2>\n</center>",record.fields["name"])
P.info += text("<center><img src = [asset.get_url_mappings()["logo_wy.png"]]><HR><I><B>Official Weyland-Yutani Document</B><BR>Scan Record</I><HR><H2>[]</H2>\n</center>",record.fields["name"])
for(var/datum/data/record/R as anything in GLOB.data_core.medical)
if (R.fields["name"] == record.fields["name"])
if(R.fields["last_scan_time"] && R.fields["last_scan_result"])
Expand Down
347 changes: 228 additions & 119 deletions code/game/machinery/fax_machine.dm

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions code/game/machinery/vending/vending_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@
/obj/item/tool/pen = 10,
/obj/item/tool/pen/blue = 10,
/obj/item/tool/pen/red = 10,
/obj/item/tool/pen/fountain = 3,
/obj/item/tool/pen/multicolor/fountain = 3,
/obj/item/storage/fancy/cigarettes/trading_card = 20,
/obj/item/storage/fancy/trading_card = 20,
/obj/item/toy/trading_card = 50,
Expand Down Expand Up @@ -474,7 +474,7 @@
/obj/item/tool/pen = 2,
/obj/item/tool/pen/blue = 2,
/obj/item/tool/pen/red = 2,
/obj/item/tool/pen/fountain = 30,
/obj/item/tool/pen/multicolor/fountain = 30,
/obj/item/storage/fancy/cigarettes/trading_card = 30,
/obj/item/storage/fancy/trading_card = 20,
/obj/item/toy/trading_card = 5,
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/effects/spawners/random.dm
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@
/obj/item/storage/belt/champion,\
/obj/item/tool/soap/deluxe,\
/obj/item/tool/pickaxe/silver,\
/obj/item/tool/pen/invisible,\
/obj/item/tool/pen/white,\
/obj/item/explosive/grenade/smokebomb,\
/obj/item/corncob,\
/obj/item/poster,\
Expand Down
12 changes: 4 additions & 8 deletions code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,6 @@

//MARINE ENCRYPTION KEYS

/obj/item/device/encryptionkey/ai_integrated
name = "AI Integrated Encryption Key"
desc = "Integrated encryption key"
icon_state = "cap_key"
channels = list(RADIO_CHANNEL_ALMAYER = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE)

/obj/item/device/encryptionkey/sentry_laptop
name = "Sentry Network Status Encryption Key"
desc = "Automated channel to broadcast sentry gun updates"
Expand Down Expand Up @@ -170,8 +164,10 @@
icon_state = "req_key"
channels = list(RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_COMMAND = FALSE)

/obj/item/device/encryptionkey/mcom/ai //AI only.
channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE)
/obj/item/device/encryptionkey/cmpcom/synth/ai //AI only.
name = "AI Integrated Radio Encryption Key"
channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_WY = TRUE)
translate_apollo = TRUE

// MARINE SQUADS

Expand Down
21 changes: 1 addition & 20 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -399,25 +399,6 @@
/obj/item/device/radio/headset/binary
initial_keys = list(/obj/item/device/encryptionkey/binary)

/obj/item/device/radio/headset/ai_integrated //No need to care about icons, it should be hidden inside the AI anyway.
name = "AI Subspace Transceiver"
desc = "Integrated AI radio transceiver."
icon = 'icons/obj/items/robot_component.dmi'
icon_state = "radio"
item_state = "headset"
item_icons = list(
WEAR_L_HAND = 'icons/mob/humans/onmob/inhands/equipment/devices_lefthand.dmi',
WEAR_R_HAND = 'icons/mob/humans/onmob/inhands/equipment/devices_righthand.dmi',
)
initial_keys = list(/obj/item/device/encryptionkey/ai_integrated)
var/myAi = null // Atlantis: Reference back to the AI which has this radio.
var/disabledAi = 0 // Atlantis: Used to manually disable AI's integrated radio via intellicard menu.

/obj/item/device/radio/headset/ai_integrated/receive_range(freq, level)
if (disabledAi)
return -1 //Transceiver Disabled.
return ..(freq, level, 1)

//MARINE HEADSETS

/obj/item/device/radio/headset/almayer
Expand Down Expand Up @@ -640,7 +621,7 @@
)

/obj/item/device/radio/headset/almayer/mcom/ai
initial_keys = list(/obj/item/device/encryptionkey/mcom/ai)
initial_keys = list(/obj/item/device/encryptionkey/cmpcom/synth/ai)
volume = RADIO_VOLUME_CRITICAL

/obj/item/device/radio/headset/almayer/marine
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/gift_wrappaper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
/obj/item/storage/belt/champion,
/obj/item/tool/soap/deluxe,
/obj/item/tool/pickaxe/silver,
/obj/item/tool/pen/invisible,
/obj/item/tool/pen/white,
/obj/item/explosive/grenade/smokebomb,
/obj/item/corncob,
/obj/item/poster,
Expand Down
88 changes: 48 additions & 40 deletions code/game/objects/items/tools/misc_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,16 @@
if(on)
overlays += "+[pen_color]_tip"

/obj/item/tool/pen/attack(mob/living/target, mob/living/user)
if(!ismob(target))
return
to_chat(user, SPAN_WARNING("You stab [target] with the pen."))
target.last_damage_data = create_cause_data(initial(name), user)
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been stabbed with [name] by [key_name(user)]</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [name] to stab [key_name(target)]</font>")
msg_admin_attack("[key_name(user)] Used the [name] to stab [key_name(target)] in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z)
return

/obj/item/tool/pen/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
if(!isobj(target))
Expand Down Expand Up @@ -283,78 +293,79 @@
name = "WY green pen"
clicky = TRUE

/obj/item/tool/pen/invisible
desc = "It's an invisible pen marker."
/obj/item/tool/pen/white
desc = "It's a rare white ink pen."
pen_color = "white"

/obj/item/tool/pen/fountain
/obj/item/tool/pen/white/clicky
desc = "It's a WY brand extra clicky white ink pen."
name = "WY white pen"
clicky = TRUE

/obj/item/tool/pen/multicolor
name = "multicolor pen"
desc = "A color switching pen!"
var/list/colour_list = list("red", "blue", "black")
var/current_colour_index = 1

/obj/item/tool/pen/multicolor/attack_self(mob/living/carbon/human/user)
if(!on)
return ..()

current_colour_index = (current_colour_index % length(colour_list)) + 1
pen_color = colour_list[current_colour_index]
balloon_alert(user,"you twist the pen and change the ink color to [pen_color].")
if(clicky)
playsound(user.loc, 'sound/items/pen_click_on.ogg', 100, 1, 5)
update_pen_state()

/obj/item/tool/pen/multicolor/fountain
desc = "A lavish testament to the ingenuity of ARMAT's craftsmanship, this fountain pen is a paragon of design and functionality. Detailed with golden accents and intricate mechanics, the pen allows for a swift change between a myriad of ink colors with a simple twist. A product of precision engineering, each mechanism inside the pen is designed to provide a seamless, effortless transition from one color to the next, creating an instrument of luxurious versatility."
desc_lore = "More than just a tool for writing, ARMAT's fountain pen is a symbol of distinction and authority within the ranks of the United States Colonial Marine Corps (USCM). It is a legacy item, exclusively handed out to the top-tier command personnel, each pen a tribute to the recipient's leadership and dedication.\n \nARMAT, renowned for their weapons technology, took a different approach in crafting this piece. The fountain pen, though seemingly a departure from their usual field, is deeply ingrained with the company's engineering philosophy, embodying precision, functionality, and robustness.\n \nThe golden accents are not mere embellishments; they're an identifier, setting apart these pens and their owners from the rest. The gold is meticulously alloyed with a durable metallic substance, granting it resilience to daily wear and tear. Such resilience is symbolic of the tenacity and perseverance required of USCM command personnel.\n \nEach pen is equipped with an intricate color changing mechanism, allowing the user to switch between various ink colors. This feature, inspired by the advanced targeting systems of ARMAT's weaponry, uses miniaturized actuators and precision-ground components to smoothly transition the ink flow. A simple twist of the pen's body activates the change, rotating the internal ink cartridges into place with mechanical grace, ready for the user's command.\n \nThe ink colors are not chosen arbitrarily. Each represents a different echelon within the USCM, allowing the pen's owner to write in the hue that corresponds with their rank or the rank of the recipient of their written orders. This acts as a silent testament to the authority of their words, as if each stroke of the pen echoes through the halls of USCM authority.\n \nDespite its ornate appearance, the pen is as robust as any ARMAT weapon, reflecting the company's commitment to reliability and durability. The metal components are corrosion-resistant, ensuring the pen's longevity, even under the challenging conditions often faced by USCM high command.\n \nThe fusion of luxury and utility, the blend of gold and metal, is an embodiment of the hard-won elegance of command, of the fusion between power and grace. It's more than a writing instrument - it's an emblem of leadership, an accolade to the dedication and strength of those who bear it. ARMAT's fountain pen stands as a monument to the precision, integrity, and courage embodied by the USCM's highest-ranking officers."
name = "fountain pen"
icon_state = "fountain_pen"
item_state = "fountain_pen"
item_state_slots = list(WEAR_AS_GARB = "fountain_pen")
matter = list("metal" = 20, "gold" = 10)
var/static/list/color_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required
var/current_color_index = 1
colour_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required
var/owner_name

/obj/item/tool/pen/fountain/pickup(mob/user, silent)
/obj/item/tool/pen/multicolor/fountain/pickup(mob/user, silent)
. = ..()
if(!owner_name)
RegisterSignal(user, COMSIG_POST_SPAWN_UPDATE, PROC_REF(set_owner), override = TRUE)

///Sets the owner of the pen to who it spawns with, requires var/source for signals
/obj/item/tool/pen/fountain/proc/set_owner(datum/source)
/obj/item/tool/pen/multicolor/fountain/proc/set_owner(datum/source)
SIGNAL_HANDLER
UnregisterSignal(source, COMSIG_POST_SPAWN_UPDATE)
var/mob/living/carbon/human/user = source
owner_name = user.name

/obj/item/tool/pen/fountain/get_examine_text(mob/user)
/obj/item/tool/pen/multicolor/fountain/get_examine_text(mob/user)
. = ..()
if(owner_name)
. += "There's a laser engraving of [owner_name] on it."

/obj/item/tool/pen/fountain/attack_self(mob/living/carbon/human/user)
if(on)
current_color_index = (current_color_index % length(color_list)) + 1
pen_color = color_list[current_color_index]
balloon_alert(user,"you twist the pen and change the ink color to [pen_color].")
if(clicky)
playsound(user.loc, 'sound/items/pen_click_on.ogg', 100, 1, 5)
update_pen_state()
else
..()

/obj/item/tool/pen/attack(mob/M as mob, mob/user as mob)
if(!ismob(M))
return
to_chat(user, SPAN_WARNING("You stab [M] with the pen."))
// to_chat(M, SPAN_WARNING("You feel a tiny prick!")) //That's a whole lot of meta!
M.last_damage_data = create_cause_data(initial(name), user)
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been stabbed with [name] by [key_name(user)]</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [name] to stab [key_name(M)]</font>")
msg_admin_attack("[key_name(user)] Used the [name] to stab [key_name(M)] in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z)
return

/obj/item/tool/pen/multicolor/provost
name = "provost pen"
desc = "A sleek black shell pen with the Provost Office sigil engraved into the side. It can change colors as needed for various functions within the Provost and Military Police."
icon_state = "provost_pen"
colour_list = list("blue", "green", "black", "orange", "red", "white")

/*
* Sleepy Pens
* Antag pens
*/
/obj/item/tool/pen/sleepypen
desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\""
flags_atom = FPRINT|OPENCONTAINER
flags_equip_slot = SLOT_WAIST



/obj/item/tool/pen/sleepypen/Initialize()
. = ..()
create_reagents(30)
reagents.add_reagent("chloralhydrate", 22)


/obj/item/tool/pen/sleepypen/attack(mob/M as mob, mob/user as mob)
if(!(istype(M,/mob)))
return
Expand All @@ -363,16 +374,10 @@
if(M.reagents) reagents.trans_to(M, 50)
return


/*
* Parapens
*/
/obj/item/tool/pen/paralysis
flags_atom = FPRINT|OPENCONTAINER
flags_equip_slot = SLOT_WAIST



/obj/item/tool/pen/paralysis/attack(mob/living/M as mob, mob/user as mob)
if(!(istype(M)))
return
Expand All @@ -387,6 +392,9 @@
reagents.add_reagent("zombiepowder", 10)
reagents.add_reagent("cryptobiolin", 15)

/*
* Stamps
*/
/obj/item/tool/stamp
name = "rubber stamp"
desc = "A rubber stamp for stamping important documents."
Expand Down
3 changes: 2 additions & 1 deletion code/game/turfs/open.dm
Original file line number Diff line number Diff line change
Expand Up @@ -878,7 +878,8 @@
no_overlay = TRUE
supports_surgery = FALSE


/turf/open/gm/river/no_overlay/sewage
name = "sewage"


//ELEVATOR SHAFT-----------------------------------//
Expand Down
3 changes: 3 additions & 0 deletions code/game/turfs/shiva.dm
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,9 @@
/turf/open/floor/shiva/bluecorners
icon_state = "bluecorners"

/turf/open/floor/shiva/bluecorners/east
dir = EAST

/turf/open/floor/shiva/bluecorners/west
dir = WEST

Expand Down
4 changes: 2 additions & 2 deletions code/modules/admin/fax_templates.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
dat += "body {"
dat += "margin:0 auto;"
dat += "padding:0;"
dat += "background-image: url('[asset.get_url_mappings()["faxbackground.jpg"]]');"
dat += "background-image: url('[asset.get_url_mappings()["background_white.jpg"]]');"
dat += "font-family: monospace;"
dat += "}"

Expand Down Expand Up @@ -65,7 +65,7 @@

if(show_wy_logo)
dat += "<div id='fax-logo'>"
dat += "<img src='[asset.get_url_mappings()["faxwylogo.png"]]' alt='Something fucked!'/>"
dat += "<img src='[asset.get_url_mappings()["logo_wy.png"]]' alt='Something fucked!'/>"
dat += "</div>"

dat += "<div class='message-header-text'>"
Expand Down
Loading

0 comments on commit 4ef313b

Please sign in to comment.