Talon update: Porting uniforms, updating map and equipment (#19220)

* talon uniform

* Talon update

* Update talon_v2.dmm

Playing

* Talon fix and a new Slogan!

* talon fax

* For admins set up talon company fax

+ paperworks can use [talogo]

* Add FAX word

* Talon seal addation

* Fix and Updating the Talon map

Regarding the Talon map, I brought it to the appearance of the Rogue Star. So that players on both servers feel as little strange as possible when playing on the same ship, even on different servers.

* Update talon_v2.dmm

bluespace

* Fixup maps in TGM format

a89e3f1f87: maps/offmap_vr/talon/talon_v2.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Update talon_v2.dm

* Update talon_v2.dm

* sprite fix

* Forgot to add a fix

Fix for stamp and logo for correct work

* Delete custom_items.txt

accidentally add that in PR, now rempve that
This commit is contained in:
Azzy
2026-03-04 05:14:20 -08:00
committed by GitHub
parent 905f723d75
commit e0aabe5914
30 changed files with 649 additions and 256 deletions
+3 -1
View File
@@ -28,7 +28,7 @@
var/new_body = tgui_input_text(src,"Write the body of the news update here. Note: HTML is NOT supported, however paper markup is supported. \n\
Hitting enter will automatically add a line break. \n\
Valid markup includes: \[b\], \[i\], \[u\], \[large\], \[h1\], \[h2\], \[h3\]\ \[*\], \[hr\], \[small\], \[list\], \[table\], \[grid\], \
\[row\], \[cell\], \[logo\], \[sglogo\].","Write News", body, MAX_MESSAGE_LEN, TRUE, prevent_enter = TRUE)
\[row\], \[cell\], \[logo\], \[talogo\], \[sglogo\].","Write News", body, MAX_MESSAGE_LEN, TRUE, prevent_enter = TRUE)
new_body = paper_markup2html(new_body)
@@ -78,6 +78,7 @@
text = replacetext(text, "\[row\]", "</td><tr>")
text = replacetext(text, "\[cell\]", "<td>")
text = replacetext(text, "\[logo\]", "<img src=\ref['html/images/ntlogo.png']>") // Not sure if these would get used but why not
text = replacetext(text, "\[talogo\]", "<img src=\ref['html/images/talonlogo.png']>")
text = replacetext(text, "\[sglogo\]", "<img src=\ref['html/images/sglogo.png']>")
return text
@@ -115,6 +116,7 @@
text = replacetext(text, "</td><tr>", "\[row\]")
text = replacetext(text, "<td>", "\[cell\]")
text = replacetext(text, "<img src=\ref['html/images/ntlogo.png']>", "\[logo\]") // Not sure if these would get used but why not
text = replacetext(text, "<img src=\ref['html/images/talonlogo.png']>", "\[talogo\]")
text = replacetext(text, "<img src=\ref['html/images/sglogo.png']>", "\[sglogo\]")
return text
@@ -2,6 +2,7 @@
assets = list(
"loading.gif" = 'html/images/loading.gif',
"ntlogo.png" = 'html/images/ntlogo.png',
"talonlogo.png" = 'html/images/talonlogo.png',
"sglogo.png" = 'html/images/sglogo.png',
"talisman.png" = 'html/images/talisman.png',
"paper_bg.png" = 'html/images/paper_bg.png',
@@ -708,3 +708,85 @@
"Sleek, sleeveless"=/obj/item/clothing/under/gestalt/sleeveless
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
// New Talon Uniforms
/datum/gear/uniform/talon
display_name = "Talon's Uniforms"
description = "Select from a range of outfits available to all Talon crew."
allowed_roles = list(JOB_TALON_CAPTAIN, JOB_TALON_DOCTOR, JOB_TALON_ENGINEER, JOB_TALON_PILOT, JOB_TALON_GUARD, JOB_TALON_MINER)
path = /obj/item/clothing/under/rank/talon/basic/refreshed
sort_category = "Uniforms"
cost = 1
/datum/gear/uniform/talon/New()
..()
var/list/selector_uniforms = list(
"Refreshed Talon crew Uniform"=/obj/item/clothing/under/rank/talon/basic/refreshed,
"Old Talon crew Uniform"=/obj/item/clothing/under/rank/talon/basic,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/talon_captain
display_name = "Talon - Captain's Uniforms"
description = "Select from a range of outfits available to all Talon Captain."
allowed_roles = list(JOB_TALON_CAPTAIN)
path = /obj/item/clothing/under/rank/talon/command/refreshed
sort_category = "Uniforms"
cost = 1
/datum/gear/uniform/talon_captain/New()
..()
var/list/selector_uniforms = list(
"Refreshed Talon Command Uniform"=/obj/item/clothing/under/rank/talon/command/refreshed,
"Old Talon Command Uniform"=/obj/item/clothing/under/rank/talon/command,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/talon_pilot
display_name = "Talon - Pilot's Uniforms"
description = "Select from a range of outfits available to all Talon Pilot."
allowed_roles = list(JOB_TALON_PILOT)
path = /obj/item/clothing/under/rank/talon/pilot/refreshed
sort_category = "Uniforms"
cost = 1
/datum/gear/uniform/talon_pilot/New()
..()
var/list/selector_uniforms = list(
"Refreshed Talon Pilot Uniform"=/obj/item/clothing/under/rank/talon/pilot/refreshed,
"Old Talon Pilot Uniform"=/obj/item/clothing/under/rank/talon/pilot,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/talon_security
display_name = "Talon - Guard's Uniforms"
description = "Select from a range of outfits available to all Talon Guard."
allowed_roles = list(JOB_TALON_GUARD)
path = /obj/item/clothing/under/rank/talon/security/refreshed
sort_category = "Uniforms"
cost = 1
/datum/gear/uniform/talon_security/New()
..()
var/list/selector_uniforms = list(
"Refreshed Talon Guard Uniform"=/obj/item/clothing/under/rank/talon/security/refreshed,
"Old Talon Security Uniform"=/obj/item/clothing/under/rank/talon/security,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/talon_medical
display_name = "Talon - Doctor's Uniforms"
description = "Select from a range of outfits available to all Talon Doctor."
allowed_roles = list(JOB_TALON_DOCTOR)
path = /obj/item/clothing/under/rank/talon/proper/refreshed
sort_category = "Uniforms"
cost = 1
/datum/gear/uniform/talon_medical/New()
..()
var/list/selector_uniforms = list(
"Refreshed Talon Doctor Uniform"=/obj/item/clothing/under/rank/talon/proper/refreshed,
"Old Talon Doctor Uniform"=/obj/item/clothing/under/rank/talon/proper,
)
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
+7
View File
@@ -39,6 +39,13 @@
desc = "A cozy winter hood attached to a heavy winter jacket."
icon_state = "winterhood_talon"
/obj/item/clothing/head/hood/winter/talon/refreshed
name = "Refreshed Talon winter hood"
desc = "A cozy winter hood attached to a heavy winter jacket."
icon = 'icons/inventory/head/item.dmi'
default_worn_icon = 'icons/inventory/head/mob.dmi'
icon_state = "winterhoodr_talon"
// Centcom Winter Hood
/obj/item/clothing/head/hood/winter/centcom
name = "centcom winter hood"
+42
View File
@@ -127,18 +127,60 @@
icon_state = "talon_captain_cap"
item_state = "taloncaptaincap"
/obj/item/clothing/head/soft/talon/refreshed
name = "Talon cap"
desc = "It's a standard dark blue baseball cap, it has the ITV Talon logo on the front proudly displayed."
icon = 'icons/inventory/head/item.dmi'
icon_override = 'icons/inventory/head/mob.dmi'
icon_state = "talonnewsoft"
item_state = "talonnewsoft"
item_state_slots = list(slot_r_hand_str = "blacksoft", slot_l_hand_str = "blacksoft")
/obj/item/clothing/head/caphat/talon/refreshed
name = "Talon captain's peaked cap"
desc = "It's a parade cap usually worn by the ITV Talon's commanding officer, it displays power and discipline to whoever wears it."
icon = 'icons/inventory/head/item.dmi'
icon_override = 'icons/inventory/head/mob.dmi'
icon_state = "talon_caphat"
item_state = "talon_caphat"
/obj/item/clothing/head/caphat/talon/pilot
name = "Talon pilot's cap"
desc = "It's a formal cap worn usually by ITV Talon's piloting personnel, emblazoned with the ITV Talon's logo on the front of the cap."
icon = 'icons/inventory/head/item.dmi'
icon_override = 'icons/inventory/head/mob.dmi'
icon_state = "talon_pilothat"
item_state = "talon_pilothat"
/obj/item/clothing/head/beret/talon
name = "Talon beret"
desc = "It's a basic beret colored to match ITV Talon's uniforms."
icon_state = "beret_talon"
item_state = "baret_talon"
/obj/item/clothing/head/beret/talon/refreshed
name = "Talon beret"
desc = "It's a standard dark blue beret with nothing especially interesting on it."
icon = 'icons/inventory/head/item.dmi'
icon_override = 'icons/inventory/head/mob.dmi'
icon_state = "talon_beret"
item_state = "talon_beret"
/obj/item/clothing/head/beret/talon/command
name = "Talon officer beret"
desc = "It's a basic beret colored to match ITV Talon's uniforms with a badge pinned on the front. Perfect for commanders."
icon_state = "beret_talon_officer"
item_state = "baret_talon_command"
/obj/item/clothing/head/beret/talon/command/refreshed
name = "Talon officer beret"
desc = "It's a standard dark blue beret with the ITV Talon logo on the front proudly displayed."
icon = 'icons/inventory/head/item.dmi'
icon_override = 'icons/inventory/head/mob.dmi'
icon_state = "talon_officer_beret"
item_state = "talon_officer_beret"
// tiny tophat
/obj/item/clothing/head/tinytophat
+8
View File
@@ -93,6 +93,14 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
hoodtype = /obj/item/clothing/head/hood/winter/talon
/obj/item/clothing/suit/storage/hooded/wintercoat/talon/refreshed
name = "Refreshed Talon winter coat"
desc = "A refreshed cozy winter coat, covered in thick fur and baring the colors of ITV Talon."
icon = 'icons/inventory/suit/item.dmi'
default_worn_icon = 'icons/inventory/suit/mob.dmi'
icon_state = "taloncoatr"
hoodtype = /obj/item/clothing/head/hood/winter/talon/refreshed
// Food costumes
/obj/item/clothing/suit/storage/hooded/foodcostume //Separate type of costume that does not cover arms and legs. Similar to a cheap mascot costume. <Guy>
name = DEVELOPER_WARNING_NAME
+8
View File
@@ -121,3 +121,11 @@
name = "golden plague doctor suit"
desc = "If it worked then, it works now. This classic design comes in gold."
icon_state = "plaguedoctor2"
/obj/item/clothing/suit/storage/toggle/labcoat/talon
name = "Talon labcoat"
desc = "A large, and extremely sterile labcoat that protects the wearer from chemical spills. This one has ITV Talon colored patterns along the labcoat, the designated shapes list it as a medical officer's labcoat."
icon = 'icons/inventory/suit/item.dmi'
default_worn_icon = 'icons/inventory/suit/mob.dmi'
icon_state = "talon_labcoat"
item_state_slots = list(slot_r_hand_str = "talon_labcoat", slot_l_hand_str = "talon_labcoat")
@@ -1134,3 +1134,29 @@
desc = "For the spiritual rebels that nevertheless wish to conform to standard goth trends. You're totally showing them your anti-authority spunk."
icon_state = "punkvest"
body_parts_covered = CHEST|ARMS
// Talon jacket
/obj/item/clothing/suit/storage/talonbomberjacket
name = "Talon pilot bomber jacket"
desc = "A blue bomber jacket worn by the ITV Talon's piloting personnel, it has a nametag on the breast, it's incredibly warm, and comfortable. The collar and wrists consists of synthetic fur."
icon = 'icons/inventory/suit/item.dmi'
default_worn_icon = 'icons/inventory/suit/mob.dmi'
icon_state = "talon_pilotjacket"
item_state = "talon_pilotjacket"
allowed = list(POCKET_GENERIC, POCKET_EMERGENCY, POCKET_SUIT_REGULATORS)
body_parts_covered = UPPER_TORSO|ARMS
flags_inv = HIDEHOLSTER
cold_protection = UPPER_TORSO|ARMS
min_cold_protection_temperature = T0C - 20
siemens_coefficient = 0.7
/obj/item/clothing/suit/storage/talonbomberjacket/captain
name = "Talon captain's coat"
desc = "A heavy coat worn by the ITV Talon's commanding officer, it has a nametag and ITV Talon logo on the breasts, it's incredibly snug to wear. The collar consists of genuine fur."
icon = 'icons/inventory/suit/item.dmi'
default_worn_icon = 'icons/inventory/suit/mob.dmi'
icon_state = "talon_capcoat"
item_state = "talon_capcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
flags_inv = HIDEHOLSTER
hoodtype = null
@@ -305,6 +305,14 @@
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/basic/refreshed
name = "Talon jumpsuit"
desc = "A expertly made and stretchy jumpsuit that was made for manueverability in mind. It has a belt with a silver belt buckle on the uniform. There is also a ITV Talon patch on the right shoulder, and an empty velcro spot for another patch on the left shoulder. Snazzy and beneficial."
icon = 'icons/inventory/uniform/item.dmi'
icon_override = 'icons/inventory/uniform/mob.dmi'
icon_state = "talon_basic_refreshed"
item_state = "talon_basic_refreshed"
/obj/item/clothing/under/rank/talon/proper
name = "Talon proper jumpsuit"
desc = "A neat and proper uniform for a proper private ship."
@@ -314,6 +322,14 @@
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/proper/refreshed
name = "Talon medical jumpsuit"
desc = "A expertly made and stretchy jumpsuit that was made for manueverability in mind. It has a belt with a silver belt buckle on the uniform. There is also a ITV Talon patch on the right shoulder, and a white medical ensignia patch on the left shoulder. Snazzy and beneficial."
icon = 'icons/inventory/uniform/item.dmi'
icon_override = 'icons/inventory/uniform/mob.dmi'
icon_state = "talon_jumpsuit_refreshed"
item_state = "talon_jumpsuit_refreshed"
/obj/item/clothing/under/rank/talon/security
name = "Talon security jumpsuit"
desc = "A sleek, streamlined version of ITV Talon's standard jumpsuit that bares security markings."
@@ -323,6 +339,14 @@
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/security/refreshed
name = "Talon security jumpsuit"
desc = "A expertly made and stretchy jumpsuit that was made for manueverability in mind. It has a belt with a silver belt buckle on the uniform. There is also a ITV Talon patch on the right shoulder, and a red security ensignia patch on the left shoulder. Snazzy and beneficial."
icon = 'icons/inventory/uniform/item.dmi'
icon_override = 'icons/inventory/uniform/mob.dmi'
icon_state = "talon_security_refreshed"
item_state = "talon_security_refreshed"
/obj/item/clothing/under/rank/talon/pilot
name = "Talon pilot jumpsuit"
desc = "A sleek, streamlined version of ITV Talon's standard jumpsuit. Made from cushioned fabric to handle intense flight."
@@ -332,6 +356,14 @@
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/pilot/refreshed
name = "Talon pilot uniform"
desc = "A formal uniform woven with luscious fabric to make a excellent uniform for the ITV Talon piloting personnel, it's comfortable for all occasions. It has a silver nametag on the chest."
icon = 'icons/inventory/uniform/item.dmi'
icon_override = 'icons/inventory/uniform/mob.dmi'
icon_state = "talon_pilot_refreshed"
item_state = "talon_pilot_refreshed"
/obj/item/clothing/under/rank/talon/command
name = "Talon command jumpsuit"
desc = "A commanding jumpsuit fit for a commanding officer."
@@ -341,6 +373,14 @@
rolled_down_icon_override = FALSE
rolled_sleeves_icon_override = FALSE
/obj/item/clothing/under/rank/talon/command/refreshed
name = "Talon command uniform"
desc = "A luxurious formal uniform woven with exotic fabric to make a excellent uniform for an ITV Talon commanding officer, it's comfortable for all occasions. It displays golden patterns and designs along the uniform to designate their stature, it has a golden nametag on the chest."
icon = 'icons/inventory/uniform/item.dmi'
icon_override = 'icons/inventory/uniform/mob.dmi'
icon_state = "talon_captain_refreshed"
item_state = "talon_captain_refreshed"
// Excelsior uniforms
/obj/item/clothing/under/excelsior
name = "\improper Excelsior uniform"
@@ -101,6 +101,7 @@
\[row\] - New table row.
\[cell\] - New table cell.
\[logo\] - Inserts NT logo image.
\[talogo\] - Inserts Talon company logo image.
\[redlogo\] - Inserts red NT logo image.
\[sglogo\] - Inserts Solgov insignia image."}
+3 -1
View File
@@ -40,7 +40,7 @@
var/originhash = md5("[origin]")
var/timehash = copytext(md5("[world.time]"),1,10)
var/text = null
var/logo = tgui_alert(usr, "Do you want the header of your fax to have a NanoTrasen, SolGov, or Trader logo?","Fax Logo",list("NanoTrasen","SolGov","Trader")) //VOREStation Add - Trader
var/logo = tgui_alert(usr, "Do you want the header of your fax to have a NanoTrasen, SolGov, Talon or Trader logo?","Fax Logo",list("NanoTrasen","SolGov", "Talon", "Trader")) //VOREStation Add - Trader
if(!logo)
return
if(logo == "SolGov")
@@ -48,6 +48,8 @@
//VOREStation Edit/Add
else if(logo == "NanoTrasen")
logo = 'html/images/ntlogo.png'
else if(logo == "Talon")
logo = 'html/images/talonlogo.png'
else
logo = 'html/images/trader.png'
//VOREStation Edit/Add End
+3 -1
View File
@@ -1,5 +1,5 @@
GLOBAL_LIST_EMPTY_TYPED(allfaxes, /obj/machinery/photocopier/faxmachine)
var/list/admin_departments = list("[using_map.boss_name]", "Virgo-Prime Governmental Authority", "Virgo-Erigonne Job Boards", "Supply")
var/list/admin_departments = list("[using_map.boss_name]", "Virgo-Prime Governmental Authority", "Virgo-Erigonne Job Boards", "Supply", "Talon Headquarters")
GLOBAL_LIST_EMPTY(alldepartments)
GLOBAL_VAR(last_fax_role_request)
@@ -388,6 +388,8 @@ Extracted to its own procedure for easier logic handling with paper bundles.
message_admins(sender, "VIRGO GOVERNMENT FAX", rcvdcopy, "CentComFaxReply", "#1F66A0")
else if(destination == "Supply")
message_admins(sender, "[uppertext(using_map.boss_short)] SUPPLY FAX", rcvdcopy, "CentComFaxReply", "#5F4519")
else if(destination == "Talon Headquarters")
message_admins(sender, "TALON HEADQUARTERS FAX", rcvdcopy, "CentComFaxReply", "#e96046")
else
message_admins(sender, "[uppertext(destination)] FAX", rcvdcopy, "UNKNOWN")
+2
View File
@@ -352,6 +352,7 @@
t = replacetext(t, "\[cell\]", "<td>")
t = replacetext(t, "\[/cell\]", "")
t = replacetext(t, "\[logo\]", "<img src=\ref['html/images/ntlogo.png']>")
t = replacetext(t, "\[talogo\]", "<img src=\ref['html/images/talonlogo.png']>")
t = replacetext(t, "\[sglogo\]", "<img src=\ref['html/images/sglogo.png']>")
t = replacetext(t, "\[trlogo\]", "<img src=\ref['html/images/trader.png']>")
// t = replacetext(t, "\[pclogo\]", "<img src=\ref['html/images/pclogo.png']>") // Not available on virgo
@@ -371,6 +372,7 @@
t = replacetext(t, "\[/cell\]", "")
t = replacetext(t, "\[/row\]", "")
t = replacetext(t, "\[logo\]", "")
t = replacetext(t, "\[talogo\]", "")
t = replacetext(t, "\[sglogo\]", "")
t = "<font face=\"[crayonfont]\" color=[P ? P.colour : "black"]><b>[t]</b></font>"
+2
View File
@@ -216,6 +216,8 @@
for (var/j = 1, j <= min(temp_overlays.len, copy.ico.len), j++) //gray overlay onto the copy
if (findtext(copy.ico[j], "cap") || findtext(copy.ico[j], "cent"))
img = image('icons/obj/bureaucracy.dmi', "paper_stamp-circle")
else if (findtext(copy.ico[j], "tal"))
img = image('icons/obj/bureaucracy.dmi', "paper_stamp-square")
else if (findtext(copy.ico[j], "deny"))
img = image('icons/obj/bureaucracy.dmi', "paper_stamp-x")
else
+4
View File
@@ -44,6 +44,10 @@
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
/obj/item/stamp/talon
name = "talon's rubber stamp"
icon_state = "stamp-tal"
/obj/item/stamp/denied
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"