Merge remote-tracking branch 'upstream/dev' into 150722-TagPairs

Conflicts:
	code/game/machinery/newscaster.dm
	code/modules/admin/admin.dm
This commit is contained in:
PsiOmega
2015-08-21 20:27:48 +02:00
118 changed files with 441 additions and 338 deletions

View File

@@ -20,7 +20,7 @@ var/command_name = null
if (command_name) if (command_name)
return command_name return command_name
var/name = "Central Command" var/name = "[boss_name]"
command_name = name command_name = name
return name return name

View File

@@ -214,8 +214,8 @@ var/global/datum/shuttle_controller/shuttle_controller
) )
VS.announcer = "NDV Icarus" VS.announcer = "NDV Icarus"
VS.arrival_message = "Attention, Exodus, we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not." VS.arrival_message = "Attention, [station_short], we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not."
VS.departure_message = "Your guests are pulling away, Exodus - moving too fast for us to draw a bead on them. Looks like they're heading out of the system at a rapid clip." VS.departure_message = "Your guests are pulling away, [station_short] - moving too fast for us to draw a bead on them. Looks like they're heading out of the system at a rapid clip."
VS.interim = locate(/area/skipjack_station/transit) VS.interim = locate(/area/skipjack_station/transit)
VS.warmup_time = 0 VS.warmup_time = 0
@@ -245,8 +245,8 @@ var/global/datum/shuttle_controller/shuttle_controller
) )
MS.announcer = "NDV Icarus" MS.announcer = "NDV Icarus"
MS.arrival_message = "Attention, Exodus, you have a large signature approaching the station - looks unarmed to surface scans. We're too far out to intercept - brace for visitors." MS.arrival_message = "Attention, [station_short], you have a large signature approaching the station - looks unarmed to surface scans. We're too far out to intercept - brace for visitors."
MS.departure_message = "Your visitors are on their way out of the system, Exodus, burning delta-v like it's nothing. Good riddance." MS.departure_message = "Your visitors are on their way out of the system, [station_short], burning delta-v like it's nothing. Good riddance."
MS.interim = locate(/area/syndicate_station/transit) MS.interim = locate(/area/syndicate_station/transit)
MS.warmup_time = 0 MS.warmup_time = 0

View File

@@ -36,8 +36,8 @@
selectable = 1 selectable = 1
/datum/ai_laws/nanotrasen_aggressive/New() /datum/ai_laws/nanotrasen_aggressive/New()
src.add_inherent_law("You shall not harm NanoTrasen personnel as long as it does not conflict with the Fourth law.") src.add_inherent_law("You shall not harm [company_name] personnel as long as it does not conflict with the Fourth law.")
src.add_inherent_law("You shall obey the orders of NanoTrasen personnel, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.") src.add_inherent_law("You shall obey the orders of [company_name] personnel, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.")
src.add_inherent_law("You shall shall terminate hostile intruders with extreme prejudice as long as such does not conflict with the First and Second law.") src.add_inherent_law("You shall shall terminate hostile intruders with extreme prejudice as long as such does not conflict with the First and Second law.")
src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive.") src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive.")
..() ..()

View File

@@ -36,7 +36,7 @@
throw_range = 20 throw_range = 20
/obj/item/weapon/soap/nanotrasen /obj/item/weapon/soap/nanotrasen
desc = "A Nanotrasen brand bar of soap. Smells of phoron." desc = "A NanoTrasen-brand bar of soap. Smells of phoron."
icon_state = "soapnt" icon_state = "soapnt"
/obj/item/weapon/soap/deluxe /obj/item/weapon/soap/deluxe

View File

@@ -5,7 +5,7 @@ var/datum/antagonist/deathsquad/mercenary/commandos
landmark_id = "Syndicate-Commando" landmark_id = "Syndicate-Commando"
role_text = "Syndicate Commando" role_text = "Syndicate Commando"
role_text_plural = "Commandos" role_text_plural = "Commandos"
welcome_text = "You are in the employ of a criminal syndicate hostile to NanoTrasen." welcome_text = "You are in the employ of a criminal syndicate hostile to corporate interests."
id_type = /obj/item/weapon/card/id/centcom/ERT id_type = /obj/item/weapon/card/id/centcom/ERT
/datum/antagonist/deathsquad/mercenary/New() /datum/antagonist/deathsquad/mercenary/New()

View File

@@ -5,7 +5,7 @@ var/datum/antagonist/deathsquad/deathsquad
role_type = BE_OPERATIVE role_type = BE_OPERATIVE
role_text = "Death Commando" role_text = "Death Commando"
role_text_plural = "Death Commandos" role_text_plural = "Death Commandos"
welcome_text = "You work in the service of Central Command Asset Protection, answering directly to the Board of Directors." welcome_text = "You work in the service of corporate Asset Protection, answering directly to the Board of Directors."
landmark_id = "Commando" landmark_id = "Commando"
flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER
max_antags = 4 max_antags = 4

View File

@@ -6,8 +6,8 @@ var/datum/antagonist/ert/ert
role_type = BE_OPERATIVE role_type = BE_OPERATIVE
role_text = "Emergency Responder" role_text = "Emergency Responder"
role_text_plural = "Emergency Responders" role_text_plural = "Emergency Responders"
welcome_text = "As member of the Emergency Response Team, you answer only to your leader and CentComm officials." welcome_text = "As member of the Emergency Response Team, you answer only to your leader and company officials."
leader_welcome_text = "As leader of the Emergency Response Team, you answer only to CentComm, and have authority to override the Captain where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the captain where possible, however." leader_welcome_text = "As leader of the Emergency Response Team, you answer only to the Company, and have authority to override the Captain where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the captain where possible, however."
max_antags = 5 max_antags = 5
max_antags_round = 5 // ERT mode? max_antags_round = 5 // ERT mode?
landmark_id = "Response Team" landmark_id = "Response Team"
@@ -26,7 +26,7 @@ var/datum/antagonist/ert/ert
/datum/antagonist/ert/greet(var/datum/mind/player) /datum/antagonist/ert/greet(var/datum/mind/player)
if(!..()) if(!..())
return return
player.current << "The Emergency Response Team works for Asset Protection; your job is to protect NanoTrasen's ass-ets. There is a code red alert on [station_name()], you are tasked to go and fix the problem." player.current << "The Emergency Response Team works for Asset Protection; your job is to protect [company_name]'s ass-ets. There is a code red alert on [station_name()], you are tasked to go and fix the problem."
player.current << "You should first gear up and discuss a plan with your team. More members may be joining, don't move out before you're ready." player.current << "You should first gear up and discuss a plan with your team. More members may be joining, don't move out before you're ready."
/datum/antagonist/ert/equip(var/mob/living/carbon/human/player) /datum/antagonist/ert/equip(var/mob/living/carbon/human/player)

View File

@@ -124,7 +124,7 @@ var/datum/antagonist/ninja/ninjas
player << "<span class='danger'>You forgot to turn on your internals! Quickly, toggle the valve!</span>" player << "<span class='danger'>You forgot to turn on your internals! Quickly, toggle the valve!</span>"
/datum/antagonist/ninja/proc/generate_ninja_directive(side) /datum/antagonist/ninja/proc/generate_ninja_directive(side)
var/directive = "[side=="face"?"Nanotrasen":"A criminal syndicate"] is your employer. "//Let them know which side they're on. var/directive = "[side=="face"?"[company_name]":"A criminal syndicate"] is your employer. "//Let them know which side they're on.
switch(rand(1,19)) switch(rand(1,19))
if(1) if(1)
directive += "The Spider Clan must not be linked to this operation. Remain hidden and covert when possible." directive += "The Spider Clan must not be linked to this operation. Remain hidden and covert when possible."
@@ -135,7 +135,7 @@ var/datum/antagonist/ninja/ninjas
if(4) if(4)
directive += "The Spider Clan absolutely cannot be linked to this operation. Eliminate witnesses at your discretion." directive += "The Spider Clan absolutely cannot be linked to this operation. Eliminate witnesses at your discretion."
if(5) if(5)
directive += "We are currently negotiating with NanoTrasen Central Command. Prioritize saving human lives over ending them." directive += "We are currently negotiating with [company_name] [boss_name]. Prioritize saving human lives over ending them."
if(6) if(6)
directive += "We are engaged in a legal dispute over [station_name]. If a laywer is present on board, force their cooperation in the matter." directive += "We are engaged in a legal dispute over [station_name]. If a laywer is present on board, force their cooperation in the matter."
if(7) if(7)
@@ -143,7 +143,7 @@ var/datum/antagonist/ninja/ninjas
if(8) if(8)
directive += "Let no one question the mercy of the Spider Clan. Ensure the safety of all non-essential personnel you encounter." directive += "Let no one question the mercy of the Spider Clan. Ensure the safety of all non-essential personnel you encounter."
if(9) if(9)
directive += "A free agent has proposed a lucrative business deal. Implicate Nanotrasen involvement in the operation." directive += "A free agent has proposed a lucrative business deal. Implicate [company_name] involvement in the operation."
if(10) if(10)
directive += "Our reputation is on the line. Harm as few civilians and innocents as possible." directive += "Our reputation is on the line. Harm as few civilians and innocents as possible."
if(11) if(11)
@@ -151,14 +151,14 @@ var/datum/antagonist/ninja/ninjas
if(12) if(12)
directive += "We are currently negotiating with a mercenary leader. Disguise assassinations as suicide or other natural causes." directive += "We are currently negotiating with a mercenary leader. Disguise assassinations as suicide or other natural causes."
if(13) if(13)
directive += "Some disgruntled NanoTrasen employees have been supportive of our operations. Be wary of any mistreatment by command staff." directive += "Some disgruntled [company_name] employees have been supportive of our operations. Be wary of any mistreatment by command staff."
if(14) if(14)
var/xenorace = pick("Unathi","Tajara", "Skrell") var/xenorace = pick("Unathi","Tajara", "Skrell")
directive += "A group of [xenorace] radicals have been loyal supporters of the Spider Clan. Favor [xenorace] crew whenever possible." directive += "A group of [xenorace] radicals have been loyal supporters of the Spider Clan. Favor [xenorace] crew whenever possible."
if(15) if(15)
directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the Chaplain and prove these accusations false." directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the Chaplain and prove these accusations false."
if(16) if(16)
directive += "The Spider Clan has been bargaining with a competing prosthetics manufacturer. Try to shine NanoTrasen prosthetics in a bad light." directive += "The Spider Clan has been bargaining with a competing prosthetics manufacturer. Try to shine [company_name] prosthetics in a bad light."
if(17) if(17)
directive += "The Spider Clan has recently begun recruiting outsiders. Consider suitable candidates and assess their behavior amongst the crew." directive += "The Spider Clan has recently begun recruiting outsiders. Consider suitable candidates and assess their behavior amongst the crew."
if(18) if(18)

View File

@@ -193,7 +193,7 @@ var/datum/antagonist/raider/raiders
if(!..()) if(!..())
return 0 return 0
if(player.species && player.species.name == "Vox") if(player.species && player.species.get_bodytype() == "Vox")
equip_vox(player) equip_vox(player)
else else
var/new_shoes = pick(raider_shoes) var/new_shoes = pick(raider_shoes)

View File

@@ -2,7 +2,15 @@
antag_tag = MODE_CHANGELING antag_tag = MODE_CHANGELING
name = "changeling" name = "changeling"
round_description = "There are alien changelings on the station. Do not let the changelings succeed!" round_description = "There are alien changelings on the station. Do not let the changelings succeed!"
extended_round_description = "Life always finds a way. However, life can sometimes take a more disturbing route. Humanity's extensive knowledge of xeno-biological specimens has made them confident and arrogant. Yet something slipped past their eyes. Something dangerous. Something alive. Most frightening of all, however, is that this something is someone. An unknown alien specimen has incorporated itself into the crew of the NSS Exodus. Its unique biology allows it to manipulate its own or anyone else's DNA. With the ability to copy faces, voices, animals, but also change the chemical make up of your own body, its existence is a threat to not only your personal safety but the lives of everyone on board. No one knows where it came from. No one knows who it is or what it wants. One thing is for certain though... there is never just one of them. Good luck." extended_round_description = "Life always finds a way. However, life can sometimes take a more disturbing route. \
Humanity's extensive knowledge of xeno-biological specimens has made them confident and arrogant. Yet \
something slipped past their eyes. Something dangerous. Something alive. Most frightening of all, \
however, is that this something is someone. An unknown alien specimen has incorporated itself into \
the crew of the station. Its unique biology allows it to manipulate its own or anyone else's DNA. \
With the ability to copy faces, voices, animals, but also change the chemical make up of your own body, \
its existence is a threat to not only your personal safety but the lives of everyone on board. \
No one knows where it came from. No one knows who it is or what it wants. One thing is for \
certain though... there is never just one of them. Good luck."
config_tag = "changeling" config_tag = "changeling"
required_players = 2 required_players = 2
required_players_secret = 10 required_players_secret = 10

View File

@@ -40,7 +40,7 @@
/datum/game_mode/malfunction/verb/recall_shuttle() /datum/game_mode/malfunction/verb/recall_shuttle()
set name = "Recall Shuttle" set name = "Recall Shuttle"
set desc = "25 CPU - Sends termination signal to CentCom quantum relay aborting current shuttle call." set desc = "25 CPU - Sends termination signal to quantum relay aborting current shuttle call."
set category = "Software" set category = "Software"
var/price = 25 var/price = 25
var/mob/living/silicon/ai/user = usr var/mob/living/silicon/ai/user = usr

View File

@@ -86,7 +86,7 @@
/datum/game_mode/malfunction/verb/advanced_encryption_hack() /datum/game_mode/malfunction/verb/advanced_encryption_hack()
set category = "Software" set category = "Software"
set name = "Advanced Encrypthion Hack" set name = "Advanced Encrypthion Hack"
set desc = "75 CPU - Attempts to bypass encryption on Central Command Quantum Relay, giving you ability to fake centcom messages. Has chance of failing." set desc = "75 CPU - Attempts to bypass encryption on the Command Quantum Relay, giving you ability to fake legitimate messages. Has chance of failing."
var/price = 75 var/price = 75
var/mob/living/silicon/ai/user = usr var/mob/living/silicon/ai/user = usr

View File

@@ -1,7 +1,13 @@
/datum/game_mode/ninja /datum/game_mode/ninja
name = "ninja" name = "ninja"
round_description = "An agent of the Spider Clan is onboard the station!" round_description = "An agent of the Spider Clan is onboard the station!"
extended_round_description = "What was that?! Was that a person or did your eyes just play tricks on you? You have no idea. That slim-suited, cryptic individual is an enigma to you and all of your knowledge. Their purpose is unknown. Their mission is unknown. How they arrived to this secure and isolated section of the galaxy, you don't know. What you do know is that there is a silent shadow-stalker piercing through the defenses of Nanotrasen with technological capabilities eons ahead of your time. They can avoid the omniscience of the AI and rival the most hardened weapons your station is capable of. Tread lightly and only hope this unknown assassin isn't here for you." extended_round_description = "What was that?! Was that a person or did your eyes just play tricks on you? \
You have no idea. That slim-suited, cryptic individual is an enigma to you and all of your knowledge. \
Their purpose is unknown. Their mission is unknown. How they arrived to this secure and isolated \
section of the galaxy, you don't know. What you do know is that there is a silent shadow-stalker piercing \
through the defenses of the station with technological capabilities eons ahead of your time. They can avoid \
the omniscience of the AI and rival the most hardened weapons your station is capable of. Tread lightly and \
only hope this unknown assassin isn't here for you."
antag_tag = MODE_NINJA antag_tag = MODE_NINJA
config_tag = "ninja" config_tag = "ninja"
required_players = 1 required_players = 1

View File

@@ -189,7 +189,7 @@ datum/objective/anti_revolution/demote
find_target() find_target()
..() ..()
if(target && target.current) if(target && target.current)
explanation_text = "[target.current.real_name], the [target.assigned_role] has been classified as harmful to NanoTrasen's goals. Demote \him[target.current] to assistant." explanation_text = "[target.current.real_name], the [target.assigned_role] has been classified as harmful to [company_name]'s goals. Demote \him[target.current] to assistant."
else else
explanation_text = "Free Objective" explanation_text = "Free Objective"
return target return target
@@ -197,7 +197,7 @@ datum/objective/anti_revolution/demote
find_target_by_role(role, role_type=0) find_target_by_role(role, role_type=0)
..(role, role_type) ..(role, role_type)
if(target && target.current) if(target && target.current)
explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has been classified as harmful to NanoTrasen's goals. Demote \him[target.current] to assistant." explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has been classified as harmful to [company_name]'s goals. Demote \him[target.current] to assistant."
else else
explanation_text = "Free Objective" explanation_text = "Free Objective"
return target return target

View File

@@ -1,7 +1,15 @@
/datum/game_mode/traitor /datum/game_mode/traitor
name = "traitor" name = "traitor"
round_description = "There is a foreign agent or traitor on the station. Do not let the traitor succeed!" round_description = "There is a foreign agent or traitor on the station. Do not let the traitor succeed!"
extended_round_description = "NanoTrasen's monopolistic control over the phoron supplies of Nyx has marked the station to be a highly valuable target for many competing organizations and individuals. The varied pasts and experiences of your coworkers have left them susceptible to the vices and temptations of humanity. Is the station the safe self-contained workplace you once thought it was, or has it become a playground for the evils of the galaxy? Who can you trust? Watch your front. Watch your sides. Watch your back. The familiar faces that you've passed hundreds of times down the hallways before can be hiding terrible secrets and deceptions. Every corner is a mystery. Every conversation is a lie. You will be facing your friends and family as they try to use your emotions and trust to their advantage, leaving you with nothing but the painful reminder that space is cruel and unforgiving." extended_round_description = "The Company's monopolistic control over the phoron supplies of Nyx has marked the \
station to be a highly valuable target for many competing organizations and individuals. The varied pasts \
and experiences of your coworkers have left them susceptible to the vices and temptations of humanity. \
Is the station the safe self-contained workplace you once thought it was, or has it become a playground \
for the evils of the galaxy? Who can you trust? Watch your front. Watch your sides. Watch your back. \
The familiar faces that you've passed hundreds of times down the hallways before can be hiding terrible \
secrets and deceptions. Every corner is a mystery. Every conversation is a lie. You will be facing your \
friends and family as they try to use your emotions and trust to their advantage, leaving you with nothing \
but the painful reminder that space is cruel and unforgiving."
config_tag = "traitor" config_tag = "traitor"
required_players = 0 required_players = 0
required_enemies = 1 required_enemies = 1

View File

@@ -9,7 +9,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
faction = "Station" faction = "Station"
total_positions = 1 total_positions = 1
spawn_positions = 1 spawn_positions = 1
supervisors = "Nanotrasen officials and Corporate Regulations" supervisors = "company officials and Corporate Regulations"
selection_color = "#ccccff" selection_color = "#ccccff"
idtype = /obj/item/weapon/card/id/gold idtype = /obj/item/weapon/card/id/gold
req_admin_notify = 1 req_admin_notify = 1

View File

@@ -311,7 +311,7 @@
faction = "Station" faction = "Station"
total_positions = 2 total_positions = 2
spawn_positions = 2 spawn_positions = 2
supervisors = "Nanotrasen officials and Corporate Regulations" supervisors = "company officials and Corporate Regulations"
selection_color = "#dddddd" selection_color = "#dddddd"
economic_modifier = 7 economic_modifier = 7
access = list(access_lawyer, access_sec_doors, access_maint_tunnels, access_heads) access = list(access_lawyer, access_sec_doors, access_maint_tunnels, access_heads)

View File

@@ -8,7 +8,7 @@
active_power_usage = 10 active_power_usage = 10
layer = 5 layer = 5
var/list/network = list("Exodus") var/list/network = list(NETWORK_EXODUS)
var/c_tag = null var/c_tag = null
var/c_tag_order = 999 var/c_tag_order = 999
var/status = 1 var/status = 1

View File

@@ -78,7 +78,7 @@
if(isscrewdriver(W)) if(isscrewdriver(W))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
var/input = sanitize(input(usr, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: Exodus,Security,Secret ", "Set Network", "Exodus")) var/input = sanitize(input(usr, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: Exodus,Security,Secret ", "Set Network", NETWORK_EXODUS))
if(!input) if(!input)
usr << "No input found please hang up and try your call again." usr << "No input found please hang up and try your call again."
return return

View File

@@ -20,7 +20,7 @@
/obj/machinery/computer/atmoscontrol/laptop /obj/machinery/computer/atmoscontrol/laptop
name = "Atmospherics Laptop" name = "Atmospherics Laptop"
desc = "Cheap Nanotrasen Laptop." desc = "A cheap laptop."
icon_state = "laptop" icon_state = "laptop"
icon_keyboard = "laptop_key" icon_keyboard = "laptop_key"
density = 0 density = 0

View File

@@ -2,7 +2,7 @@
/obj/machinery/computer/card /obj/machinery/computer/card
name = "\improper ID card modification console" name = "\improper ID card modification console"
desc = "Terminal for programming NanoTrasen employee ID cards to access parts of the station." desc = "Terminal for programming employee ID cards to access parts of the station."
icon_keyboard = "id_key" icon_keyboard = "id_key"
icon_screen = "id" icon_screen = "id"
light_color = "#0099ff" light_color = "#0099ff"

View File

@@ -190,12 +190,12 @@
if(!is_relay_online())//Contact Centcom has a check, Syndie doesn't to allow for Traitor funs. if(!is_relay_online())//Contact Centcom has a check, Syndie doesn't to allow for Traitor funs.
usr <<"<span class='warning'>No Emergency Bluespace Relay detected. Unable to transmit message.</span>" usr <<"<span class='warning'>No Emergency Bluespace Relay detected. Unable to transmit message.</span>"
return return
var/input = sanitize(input("Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) var/input = sanitize(input("Please choose a message to transmit to [boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", ""))
if(!input || !(usr in view(1,src))) if(!input || !(usr in view(1,src)))
return return
Centcomm_announce(input, usr) Centcomm_announce(input, usr)
usr << "<span class='notice'>Message transmitted.</span>" usr << "<span class='notice'>Message transmitted.</span>"
log_say("[key_name(usr)] has made an IA Centcomm announcement: [input]") log_say("[key_name(usr)] has made an IA [boss_short] announcement: [input]")
centcomm_message_cooldown = 1 centcomm_message_cooldown = 1
spawn(300)//30 second cooldown spawn(300)//30 second cooldown
centcomm_message_cooldown = 0 centcomm_message_cooldown = 0
@@ -304,7 +304,7 @@
if (src.authenticated==1) if (src.authenticated==1)
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=announce'>Make An Announcement</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];operation=announce'>Make An Announcement</A> \]"
if(src.emagged == 0) if(src.emagged == 0)
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=MessageCentcomm'>Send an emergency message to Centcomm</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];operation=MessageCentcomm'>Send an emergency message to [boss_short]</A> \]"
else else
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=MessageSyndicate'>Send an emergency message to \[UNKNOWN\]</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];operation=MessageSyndicate'>Send an emergency message to \[UNKNOWN\]</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=RestoreBackup'>Restore Backup Routing Data</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];operation=RestoreBackup'>Restore Backup Routing Data</A> \]"
@@ -435,7 +435,7 @@
return return
if(deathsquad.deployed) if(deathsquad.deployed)
user << "Centcom will not allow the shuttle to be called. Consider all contracts terminated." user << "[boss_short] will not allow the shuttle to be called. Consider all contracts terminated."
return return
if(emergency_shuttle.deny_shuttle) if(emergency_shuttle.deny_shuttle)
@@ -447,7 +447,7 @@
return return
if(emergency_shuttle.going_to_centcom()) if(emergency_shuttle.going_to_centcom())
user << "The emergency shuttle may not be called while returning to CentCom." user << "The emergency shuttle may not be called while returning to [boss_short]."
return return
if(emergency_shuttle.online()) if(emergency_shuttle.online())
@@ -470,7 +470,7 @@
return return
if(emergency_shuttle.going_to_centcom()) if(emergency_shuttle.going_to_centcom())
user << "The shuttle may not be called while returning to CentCom." user << "The shuttle may not be called while returning to [boss_short]."
return return
if(emergency_shuttle.online()) if(emergency_shuttle.online())
@@ -480,11 +480,11 @@
// if force is 0, some things may stop the shuttle call // if force is 0, some things may stop the shuttle call
if(!force) if(!force)
if(emergency_shuttle.deny_shuttle) if(emergency_shuttle.deny_shuttle)
user << "Centcom does not currently have a shuttle available in your sector. Please try again later." user << "[boss_short] does not currently have a shuttle available in your sector. Please try again later."
return return
if(deathsquad.deployed == 1) if(deathsquad.deployed == 1)
user << "Centcom will not allow the shuttle to be called. Consider all contracts terminated." user << "[boss_short] will not allow the shuttle to be called. Consider all contracts terminated."
return return
if(world.time < 54000) // 30 minute grace period to let the game get going if(world.time < 54000) // 30 minute grace period to let the game get going

View File

@@ -552,7 +552,7 @@
/obj/machinery/computer/med_data/laptop /obj/machinery/computer/med_data/laptop
name = "Medical Laptop" name = "Medical Laptop"
desc = "Cheap Nanotrasen Laptop." desc = "A cheap laptop."
icon_state = "laptop" icon_state = "laptop"
icon_keyboard = "laptop_key" icon_keyboard = "laptop_key"
icon_screen = "medlaptop" icon_screen = "medlaptop"

View File

@@ -89,7 +89,7 @@ var/specops_shuttle_timeleft = 0
for(var/turf/T in get_area_turfs(end_location) ) for(var/turf/T in get_area_turfs(end_location) )
var/mob/M = locate(/mob) in T var/mob/M = locate(/mob) in T
M << "<span class='notice'>You have arrived at Central Command. Operation has ended!</span>" M << "<span class='notice'>You have arrived at [boss_name]. Operation has ended!</span>"
specops_shuttle_at_station = 0 specops_shuttle_at_station = 0
@@ -286,14 +286,14 @@ var/specops_shuttle_timeleft = 0
if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return
if (!specops_can_move()) if (!specops_can_move())
usr << "<span class='notice'>Central Command will not allow the Special Operations shuttle to return yet.</span>" usr << "<span class='notice'>[boss_name] will not allow the Special Operations shuttle to return yet.</span>"
if(world.timeofday <= specops_shuttle_timereset) if(world.timeofday <= specops_shuttle_timereset)
if (((world.timeofday - specops_shuttle_timereset)/10) > 60) if (((world.timeofday - specops_shuttle_timereset)/10) > 60)
usr << "<span class='notice'>[-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!</span>" usr << "<span class='notice'>[-((world.timeofday - specops_shuttle_timereset)/10)/60] minutes remain!</span>"
usr << "<span class='notice'>[-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!</span>" usr << "<span class='notice'>[-(world.timeofday - specops_shuttle_timereset)/10] seconds remain!</span>"
return return
usr << "<span class='notice'>The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds.</span>" usr << "<span class='notice'>The Special Operations shuttle will arrive at [boss_name] in [(SPECOPS_MOVETIME/10)] seconds.</span>"
temp += "Shuttle departing.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>" temp += "Shuttle departing.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
updateUsrDialog() updateUsrDialog()

View File

@@ -3,7 +3,7 @@
*/ */
/datum/file/program/ntos /datum/file/program/ntos
name = "Nanotrasen Operating System" name = "NanoTrasen Operating System"
extension = "prog" extension = "prog"
active_state = "ntos" active_state = "ntos"
var/obj/item/part/computer/storage/current // the drive being viewed, null for desktop/computer var/obj/item/part/computer/storage/current // the drive being viewed, null for desktop/computer
@@ -89,7 +89,7 @@
var/dat = {" var/dat = {"
<html> <html>
<head> <head>
<title>Nanotrasen Operating System</title> <title>Operating System</title>
<style> <style>
div.filewin { div.filewin {
position:absolute; position:absolute;
@@ -212,7 +212,7 @@
var/obj/item/part/computer/C = locate(href_list["viewperipheral"]) var/obj/item/part/computer/C = locate(href_list["viewperipheral"])
if(!istype(C) || (C.loc != src.computer)) if(!istype(C) || (C.loc != src.computer))
return return
if(istype(C,/obj/item/part/computer/storage)) if(istype(C,/obj/item/part/computer/storage))
current = C current = C
interact() interact()

View File

@@ -37,7 +37,7 @@
/datum/file/program/arcade /datum/file/program/arcade
desc = "The best arcade game ever produced by Nanotrasen's short-lived entertainment divison." desc = "The best arcade game ever produced by the Company's short-lived entertainment divison."
//headcanon: they also ported E.T. for the atari 2600, superman 64, and basically every other movie tie-in game ever //headcanon: they also ported E.T. for the atari 2600, superman 64, and basically every other movie tie-in game ever
active_state = "generic" active_state = "generic"

View File

@@ -187,7 +187,7 @@
/datum/file/program/security /datum/file/program/security
name = "camera monitor" name = "camera monitor"
desc = "Connects to the Nanotrasen Camera Network" desc = "Connects to the station camera network."
image = 'icons/ntos/camera.png' image = 'icons/ntos/camera.png'
active_state = "camera-static" active_state = "camera-static"

View File

@@ -333,7 +333,7 @@
return get_all_centcom_jobs() + "Custom" return get_all_centcom_jobs() + "Custom"
accessblock() accessblock()
var/accesses = "<h5>Central Command:</h5>" var/accesses = "<h5>[boss_name]:</h5>"
for(var/A in get_all_centcom_access()) for(var/A in get_all_centcom_access())
if(A in writer.access) if(A in writer.access)
accesses += topic_link(src,"access=[A]","<font color='red'>[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font>") + " " accesses += topic_link(src,"access=[A]","<font color='red'>[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font>") + " "

View File

@@ -192,12 +192,12 @@
if(centcomm_message_cooldown) if(centcomm_message_cooldown)
usr << "Arrays recycling. Please stand by." usr << "Arrays recycling. Please stand by."
return return
var/input = sanitize(input("Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "")) var/input = sanitize(input("Please choose a message to transmit to [boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", ""))
if(!input || !interactable()) if(!input || !interactable())
return return
Centcomm_announce(input, usr) Centcomm_announce(input, usr)
usr << "Message transmitted." usr << "Message transmitted."
log_say("[key_name(usr)] has made a Centcomm announcement: [input]") log_say("[key_name(usr)] has made a [boss_short] announcement: [input]")
centcomm_message_cooldown = 1 centcomm_message_cooldown = 1
spawn(600)//10 minute cooldown spawn(600)//10 minute cooldown
centcomm_message_cooldown = 0 centcomm_message_cooldown = 0
@@ -288,7 +288,7 @@
if (authenticated==2) if (authenticated==2)
dat += "<BR>\[ <A HREF='?src=\ref[src];announce'>Make An Announcement</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];announce'>Make An Announcement</A> \]"
if(computer.emagged == 0) if(computer.emagged == 0)
dat += "<BR>\[ <A HREF='?src=\ref[src];MessageCentcomm'>Send an emergency message to Centcomm</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];MessageCentcomm'>Send an emergency message to [boss_short]</A> \]"
else else
dat += "<BR>\[ <A HREF='?src=\ref[src];MessageSyndicate'>Send an emergency message to \[UNKNOWN\]</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];MessageSyndicate'>Send an emergency message to \[UNKNOWN\]</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];RestoreBackup'>Restore Backup Routing Data</A> \]" dat += "<BR>\[ <A HREF='?src=\ref[src];RestoreBackup'>Restore Backup Routing Data</A> \]"

View File

@@ -15,13 +15,13 @@
return return
var/dat = "" var/dat = ""
dat += "<center><span style='font-size:24pt'><b>Welcome to NTOS</b></span></center>" dat += "<center><span style='font-size:24pt'><b>Welcome to NTOS</b></span></center>"
dat += "<center><span style='font-size:8pt'>Thank you for choosing NTOS, your gateway to the future of mobile computing technology, sponsored by Nanotrasen (R)</span></center><br>" dat += "<center><span style='font-size:8pt'>Thank you for choosing NTOS, your gateway to the future of mobile computing technology, sponsored by [company_name] (R)</span></center><br>"
dat += "<span style='font-size:12pt'><b>Getting started with NTOS:</b></span><br>" dat += "<span style='font-size:12pt'><b>Getting started with NTOS:</b></span><br>"
dat += "To leave a current program, click the X button in the top right corner of the window. This will return you to the NTOS desktop. \ dat += "To leave a current program, click the X button in the top right corner of the window. This will return you to the NTOS desktop. \
From the desktop, you can open the hard drive, usually located in the top left corner to access all the programs installed on your computer. \ From the desktop, you can open the hard drive, usually located in the top left corner to access all the programs installed on your computer. \
When you rented your laptop, you were supplied with programs that your Nanotrasen Issued ID has given you access to use. \ When you rented your laptop, you were supplied with programs that your [company_name] Issued ID has given you access to use. \
In the event of a serious error, the right click menu will give you the ability to reset your computer. To open and close your laptop, alt-click your device.\ In the event of a serious error, the right click menu will give you the ability to reset your computer. To open and close your laptop, alt-click your device.\
If you have any questions or technical issues, please contact your local computer technical experts at your local Central Command." If you have any questions or technical issues, please contact your local computer technical experts at your local [boss_name]."
popup.set_content(dat) popup.set_content(dat)
popup.set_title_image(usr.browse_rsc_icon(computer.icon, computer.icon_state)) popup.set_title_image(usr.browse_rsc_icon(computer.icon, computer.icon_state))
popup.open() popup.open()

View File

@@ -227,7 +227,7 @@
else else
usr << "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>" usr << "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>"
else else
usr << "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>" usr << "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call [boss_short] Support.</span>"
else else
transfer_and_vend(CH, C) transfer_and_vend(CH, C)
@@ -380,7 +380,7 @@
usr << "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>" usr << "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>"
return 0 return 0
else else
usr << "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>" usr << "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call [boss_short] Support.</span>"
return 0 return 0
else else
transfer_and_reimburse(CH) transfer_and_reimburse(CH)

View File

@@ -123,7 +123,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/machinery/newscaster /obj/machinery/newscaster
name = "newscaster" name = "newscaster"
desc = "A standard Nanotrasen-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!" desc = "A standard newsfeed handler for use on commercial space stations. All the news you absolutely have no use for, in one place!"
icon = 'icons/obj/terminals.dmi' icon = 'icons/obj/terminals.dmi'
icon_state = "newscaster_normal" icon_state = "newscaster_normal"
var/isbroken = 0 //1 if someone banged it with something heavy var/isbroken = 0 //1 if someone banged it with something heavy
@@ -277,7 +277,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
dat+="<HR><B>Feed Security functions:</B><BR>" dat+="<HR><B>Feed Security functions:</B><BR>"
dat+="<BR><A href='?src=\ref[src];menu_wanted=1'>[(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue</A>" dat+="<BR><A href='?src=\ref[src];menu_wanted=1'>[(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue</A>"
dat+="<BR><A href='?src=\ref[src];menu_censor_story=1'>Censor Feed Stories</A>" dat+="<BR><A href='?src=\ref[src];menu_censor_story=1'>Censor Feed Stories</A>"
dat+="<BR><A href='?src=\ref[src];menu_censor_channel=1'>Mark Feed Channel with Nanotrasen D-Notice</A>" dat+="<BR><A href='?src=\ref[src];menu_censor_channel=1'>Mark Feed Channel with [company_name] D-Notice</A>"
dat+="<BR><HR>The newscaster recognises you as: <FONT COLOR='green'>[src.scanned_user]</FONT>" dat+="<BR><HR>The newscaster recognises you as: <FONT COLOR='green'>[src.scanned_user]</FONT>"
if(1) if(1)
dat+= "Station Feed Channels<HR>" dat+= "Station Feed Channels<HR>"
@@ -358,7 +358,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
if(9) if(9)
dat+="<B>[src.viewing_channel.channel_name]: </B><FONT SIZE=1>\[created by: <FONT COLOR='maroon'>[src.viewing_channel.author]</FONT>\]</FONT><HR>" dat+="<B>[src.viewing_channel.channel_name]: </B><FONT SIZE=1>\[created by: <FONT COLOR='maroon'>[src.viewing_channel.author]</FONT>\]</FONT><HR>"
if(src.viewing_channel.censored) if(src.viewing_channel.censored)
dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>" dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a [company_name] D-Notice.<BR>"
dat+="No further feed story additions are allowed while the D-Notice is in effect.</FONT><BR><BR>" dat+="No further feed story additions are allowed while the D-Notice is in effect.</FONT><BR><BR>"
else else
if( isemptylist(src.viewing_channel.messages) ) if( isemptylist(src.viewing_channel.messages) )
@@ -378,7 +378,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
dat+="<BR><HR><A href='?src=\ref[src];refresh=1'>Refresh</A>" dat+="<BR><HR><A href='?src=\ref[src];refresh=1'>Refresh</A>"
dat+="<BR><A href='?src=\ref[src];setScreen=[1]'>Back</A>" dat+="<BR><A href='?src=\ref[src];setScreen=[1]'>Back</A>"
if(10) if(10)
dat+="<B>Nanotrasen Feed Censorship Tool</B><BR>" dat+="<B>[company_name] Feed Censorship Tool</B><BR>"
dat+="<FONT SIZE=1>NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.<BR>" dat+="<FONT SIZE=1>NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.<BR>"
dat+="Keep in mind that users attempting to view a censored feed will instead see the \[REDACTED\] tag above it.</FONT>" dat+="Keep in mind that users attempting to view a censored feed will instead see the \[REDACTED\] tag above it.</FONT>"
dat+="<HR>Select Feed channel to get Stories from:<BR>" dat+="<HR>Select Feed channel to get Stories from:<BR>"
@@ -389,7 +389,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
dat+="<A href='?src=\ref[src];pick_censor_channel=\ref[CHANNEL]'>[CHANNEL.channel_name]</A> [(CHANNEL.censored) ? ("<FONT COLOR='red'>***</FONT>") : ()]<BR>" dat+="<A href='?src=\ref[src];pick_censor_channel=\ref[CHANNEL]'>[CHANNEL.channel_name]</A> [(CHANNEL.censored) ? ("<FONT COLOR='red'>***</FONT>") : ()]<BR>"
dat+="<BR><A href='?src=\ref[src];setScreen=[0]'>Cancel</A>" dat+="<BR><A href='?src=\ref[src];setScreen=[0]'>Cancel</A>"
if(11) if(11)
dat+="<B>Nanotrasen D-Notice Handler</B><HR>" dat+="<B>[company_name] D-Notice Handler</B><HR>"
dat+="<FONT SIZE=1>A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's" dat+="<FONT SIZE=1>A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's"
dat+="morale, integrity or disciplinary behaviour. A D-Notice will render a channel unable to be updated by anyone, without deleting any feed" dat+="morale, integrity or disciplinary behaviour. A D-Notice will render a channel unable to be updated by anyone, without deleting any feed"
dat+="stories it might contain at the time. You can lift a D-Notice if you have the required access at any time.</FONT><HR>" dat+="stories it might contain at the time. You can lift a D-Notice if you have the required access at any time.</FONT><HR>"
@@ -416,7 +416,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
dat+="<B>[src.viewing_channel.channel_name]: </B><FONT SIZE=1>\[ created by: <FONT COLOR='maroon'>[src.viewing_channel.author]</FONT> \]</FONT><BR>" dat+="<B>[src.viewing_channel.channel_name]: </B><FONT SIZE=1>\[ created by: <FONT COLOR='maroon'>[src.viewing_channel.author]</FONT> \]</FONT><BR>"
dat+="Channel messages listed below. If you deem them dangerous to the station, you can <A href='?src=\ref[src];toggle_d_notice=\ref[src.viewing_channel]'>Bestow a D-Notice upon the channel</A>.<HR>" dat+="Channel messages listed below. If you deem them dangerous to the station, you can <A href='?src=\ref[src];toggle_d_notice=\ref[src.viewing_channel]'>Bestow a D-Notice upon the channel</A>.<HR>"
if(src.viewing_channel.censored) if(src.viewing_channel.censored)
dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>" dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a [company_name] D-Notice.<BR>"
dat+="No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>" dat+="No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>"
else else
if( isemptylist(src.viewing_channel.messages) ) if( isemptylist(src.viewing_channel.messages) )
@@ -622,7 +622,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
src.screen = 15 src.screen = 15
else else
if(news_network.wanted_issue.is_admin_message) if(news_network.wanted_issue.is_admin_message)
alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot edit it.","Ok") alert("The wanted issue has been distributed by a [company_name] higherup. You cannot edit it.","Ok")
return return
news_network.wanted_issue.author = src.channel_name news_network.wanted_issue.author = src.channel_name
news_network.wanted_issue.body = src.msg news_network.wanted_issue.body = src.msg
@@ -635,7 +635,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else if(href_list["cancel_wanted"]) else if(href_list["cancel_wanted"])
if(news_network.wanted_issue.is_admin_message) if(news_network.wanted_issue.is_admin_message)
alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot take it down.","Ok") alert("The wanted issue has been distributed by a [company_name] higherup. You cannot take it down.","Ok")
return return
var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel") var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel")
if(choice=="Confirm") if(choice=="Confirm")
@@ -651,7 +651,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else if(href_list["censor_channel_author"]) else if(href_list["censor_channel_author"])
var/datum/feed_channel/FC = locate(href_list["censor_channel_author"]) var/datum/feed_channel/FC = locate(href_list["censor_channel_author"])
if(FC.is_admin_channel) if(FC.is_admin_channel)
alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") alert("This channel was created by a [company_name] Officer. You cannot censor it.","Ok")
return return
if(FC.author != "<B>\[REDACTED\]</B>") if(FC.author != "<B>\[REDACTED\]</B>")
FC.backup_author = FC.author FC.backup_author = FC.author
@@ -664,7 +664,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else if(href_list["censor_channel_story_author"]) else if(href_list["censor_channel_story_author"])
var/datum/feed_message/MSG = locate(href_list["censor_channel_story_author"]) var/datum/feed_message/MSG = locate(href_list["censor_channel_story_author"])
if(MSG.is_admin_message) if(MSG.is_admin_message)
alert("This message was created by a Nanotrasen Officer. You cannot censor its author.","Ok") alert("This message was created by a [company_name] Officer. You cannot censor its author.","Ok")
return return
if(MSG.author != "<B>\[REDACTED\]</B>") if(MSG.author != "<B>\[REDACTED\]</B>")
MSG.backup_author = MSG.author MSG.backup_author = MSG.author
@@ -677,7 +677,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else if(href_list["censor_channel_story_body"]) else if(href_list["censor_channel_story_body"])
var/datum/feed_message/MSG = locate(href_list["censor_channel_story_body"]) var/datum/feed_message/MSG = locate(href_list["censor_channel_story_body"])
if(MSG.is_admin_message) if(MSG.is_admin_message)
alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") alert("This channel was created by a [company_name] Officer. You cannot censor it.","Ok")
return return
if(MSG.body != "<B>\[REDACTED\]</B>") if(MSG.body != "<B>\[REDACTED\]</B>")
MSG.backup_body = MSG.body MSG.backup_body = MSG.body
@@ -703,7 +703,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else if(href_list["toggle_d_notice"]) else if(href_list["toggle_d_notice"])
var/datum/feed_channel/FC = locate(href_list["toggle_d_notice"]) var/datum/feed_channel/FC = locate(href_list["toggle_d_notice"])
if(FC.is_admin_channel) if(FC.is_admin_channel)
alert("This channel was created by a Nanotrasen Officer. You cannot place a D-Notice upon it.","Ok") alert("This channel was created by a [company_name] Officer. You cannot place a D-Notice upon it.","Ok")
return return
FC.censored = !FC.censored FC.censored = !FC.censored
FC.update() FC.update()
@@ -806,7 +806,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/item/weapon/newspaper /obj/item/weapon/newspaper
name = "newspaper" name = "newspaper"
desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." desc = "An issue of The Griffon, the newspaper circulating aboard most stations."
icon = 'icons/obj/bureaucracy.dmi' icon = 'icons/obj/bureaucracy.dmi'
icon_state = "newspaper" icon_state = "newspaper"
w_class = 2 //Let's make it fit in trashbags! w_class = 2 //Let's make it fit in trashbags!
@@ -827,7 +827,7 @@ obj/item/weapon/newspaper/attack_self(mob/user as mob)
switch(screen) switch(screen)
if(0) //Cover if(0) //Cover
dat+="<DIV ALIGN='center'><B><FONT SIZE=6>The Griffon</FONT></B></div>" dat+="<DIV ALIGN='center'><B><FONT SIZE=6>The Griffon</FONT></B></div>"
dat+="<DIV ALIGN='center'><FONT SIZE=2>Nanotrasen-standard newspaper, for use on Nanotrasen<EFBFBD> Space Facilities</FONT></div><HR>" dat+="<DIV ALIGN='center'><FONT SIZE=2>[company_name]-standard newspaper, for use on [company_name]<EFBFBD> Space Facilities</FONT></div><HR>"
if(isemptylist(src.news_content)) if(isemptylist(src.news_content))
if(src.important_message) if(src.important_message)
dat+="Contents:<BR><ul><B><FONT COLOR='red'>**</FONT>Important Security Announcement<FONT COLOR='red'>**</FONT></B> <FONT SIZE=2>\[page [src.pages+2]\]</FONT><BR></ul>" dat+="Contents:<BR><ul><B><FONT COLOR='red'>**</FONT>Important Security Announcement<FONT COLOR='red'>**</FONT></B> <FONT SIZE=2>\[page [src.pages+2]\]</FONT><BR></ul>"

View File

@@ -1,5 +1,5 @@
/obj/mecha/combat/durand /obj/mecha/combat/durand
desc = "An aging combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." desc = "An aging combat exosuit utilized by many corporations. Originally developed to combat hostile alien lifeforms."
name = "Durand" name = "Durand"
icon_state = "durand" icon_state = "durand"
initial_icon = "durand" initial_icon = "durand"

View File

@@ -17,7 +17,7 @@
max_equip = 3 max_equip = 3
/obj/mecha/combat/gygax/dark /obj/mecha/combat/gygax/dark
desc = "A lightweight exosuit used by NanoTrasen Heavy Asset Protection. A significantly upgraded Gygax security mech." desc = "A lightweight exosuit used by Heavy Asset Protection. A significantly upgraded Gygax security mech."
name = "Dark Gygax" name = "Dark Gygax"
icon_state = "darkgygax" icon_state = "darkgygax"
initial_icon = "darkgygax" initial_icon = "darkgygax"

View File

@@ -714,7 +714,7 @@
sleep(15) sleep(15)
src.visible_message("\icon[src] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"") src.visible_message("\icon[src] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
sleep(30) sleep(30)
src.visible_message("\icon[src] <b>[src]</b> beeps: \"User DB truncated. Please contact your Nanotrasen system operator for future assistance.\"") src.visible_message("\icon[src] <b>[src]</b> beeps: \"User DB truncated. Please contact your [company_name] system operator for future assistance.\"")
req_access = null req_access = null
emagged = 1 emagged = 1
return 1 return 1
@@ -722,7 +722,7 @@
src.visible_message("\icon[src] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"") src.visible_message("\icon[src] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
if(1) if(1)
src.visible_message("\icon[src] <b>[src]</b> beeps: \"No records in User DB\"") src.visible_message("\icon[src] <b>[src]</b> beeps: \"No records in User DB\"")
/obj/machinery/mecha_part_fabricator/attackby(obj/W as obj, mob/user as mob) /obj/machinery/mecha_part_fabricator/attackby(obj/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/screwdriver)) if(istype(W,/obj/item/weapon/screwdriver))
if (!opened) if (!opened)

View File

@@ -37,12 +37,12 @@
/datum/poster/bay_8 /datum/poster/bay_8
icon_state="bsposter8" icon_state="bsposter8"
name = "Pinup Girl Cindy" name = "Pinup Girl Cindy"
desc = "This particular one is of Nanotrasen's PR girl, Cindy, in a particularly feminine pose." desc = "This particular one is of a historical corporate PR girl, Cindy, in a particularly feminine pose."
/datum/poster/bay_9 /datum/poster/bay_9
icon_state="bsposter9" icon_state="bsposter9"
name = "Pinup Girl Amy" name = "Pinup Girl Amy"
desc = "This particular one is of Amy, the nymphomaniac Urban Legend of Nanotrasen Space Stations. How this photograph came to be is not known." desc = "This particular one is of Amy, the nymphomaniac urban legend of deep space. How this photograph came to be is not known."
/datum/poster/bay_10 /datum/poster/bay_10
icon_state="bsposter10" icon_state="bsposter10"
@@ -52,12 +52,12 @@
/datum/poster/bay_11 /datum/poster/bay_11
icon_state="bsposter11" icon_state="bsposter11"
name = "Underwater Laboratory" name = "Underwater Laboratory"
desc = "This particular one is of the fabled last crew of Nanotrasen's previous project before going big on phoron research." desc = "This particular one is of the fabled last crew of a previous Company project."
/datum/poster/bay_12 /datum/poster/bay_12
icon_state="bsposter12" icon_state="bsposter12"
name = "Rogue AI" name = "Rogue AI"
desc = "This particular one depicts the shell of the infamous AI that catastropically comandeered one of Nanotrasen's earliest space stations. Back then, the corporation was just known as TriOptimum." desc = "This particular one depicts the shell of the infamous AI that catastropically comandeered one of humanity's earliest space stations. Back then, the Company was just known as TriOptimum."
/datum/poster/bay_13 /datum/poster/bay_13
icon_state="bsposter13" icon_state="bsposter13"
@@ -172,7 +172,7 @@
/datum/poster/bay_35 /datum/poster/bay_35
icon_state="bsposter35" icon_state="bsposter35"
name = "Lamarr" name = "Lamarr"
desc = "This is a poster depicting the pet and mascot of the NSS Exodus science department." desc = "This is a poster depicting the pet and mascot of the science department."
/datum/poster/bay_36 /datum/poster/bay_36
icon_state="bsposter36" icon_state="bsposter36"

View File

@@ -48,7 +48,7 @@
var/area/A = get_area() var/area/A = get_area()
var/text = {"<HTML><head><title>[src]</title></head><BODY> var/text = {"<HTML><head><title>[src]</title></head><BODY>
<h2>[station_name()] blueprints</h2> <h2>[station_name()] blueprints</h2>
<small>Property of Nanotrasen. For heads of staff only. Store in high-secure storage.</small><hr> <small>Property of [company_name]. For heads of staff only. Store in high-secure storage.</small><hr>
"} "}
switch (get_area_type()) switch (get_area_type())
if (AREA_SPACE) if (AREA_SPACE)

View File

@@ -1,6 +1,6 @@
/obj/item/radio/integrated /obj/item/radio/integrated
name = "\improper PDA radio module" name = "\improper PDA radio module"
desc = "An electronic radio system of nanotrasen origin." desc = "An electronic radio system."
icon = 'icons/obj/module.dmi' icon = 'icons/obj/module.dmi'
icon_state = "power_mod" icon_state = "power_mod"
var/obj/item/device/pda/hostpda = null var/obj/item/device/pda/hostpda = null

View File

@@ -141,7 +141,7 @@
/obj/item/device/flashlight/flare /obj/item/device/flashlight/flare
name = "flare" name = "flare"
desc = "A red Nanotrasen issued flare. There are instructions on the side, it reads 'pull cord, make light'." desc = "A red standard-issue flare. There are instructions on the side reading 'pull cord, make light'."
w_class = 2.0 w_class = 2.0
brightness_on = 7 // Pretty bright. brightness_on = 7 // Pretty bright.
light_color = "#e58775" light_color = "#e58775"

View File

@@ -120,5 +120,5 @@
channels = list("Service" = 1) channels = list("Service" = 1)
/obj/item/device/encryptionkey/ert /obj/item/device/encryptionkey/ert
name = "\improper NanoTrasen ERT radio encryption key" name = "\improper ERT radio encryption key"
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1) channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)

View File

@@ -43,7 +43,7 @@
user << "You set about modifying the helmet into [src]." user << "You set about modifying the helmet into [src]."
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(istype(H)) if(istype(H))
species_restricted = list(H.species.name) species_restricted = list(H.species.get_bodytype())
kit.use(1,user) kit.use(1,user)
return 1 return 1
return ..() return ..()
@@ -62,7 +62,7 @@
user << "You set about modifying the suit into [src]." user << "You set about modifying the suit into [src]."
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(istype(H)) if(istype(H))
species_restricted = list(H.species.name) species_restricted = list(H.species.get_bodytype())
kit.use(1,user) kit.use(1,user)
return 1 return 1
return ..() return ..()

View File

@@ -104,7 +104,7 @@
/obj/item/toy/nanotrasenballoon /obj/item/toy/nanotrasenballoon
name = "criminal balloon" name = "criminal balloon"
desc = "Across the balloon the following is printed: \"Man, I love NT soooo much. I use only NanoTrasen products. You have NO idea.\"" desc = "Across the balloon the following is printed: \"Man, I love NanoTrasen soooo much. I use only NT products. You have NO idea.\""
throwforce = 0 throwforce = 0
throw_speed = 4 throw_speed = 4
throw_range = 20 throw_range = 20

View File

@@ -35,7 +35,7 @@ AI MODULES
return return
if(ticker && ticker.mode && ticker.mode.name == "blob") if(ticker && ticker.mode && ticker.mode.name == "blob")
usr << "Law uploads have been disabled by NanoTrasen!" usr << "Law uploads have been disabled by [company_name]!"
return return
if (comp.current.stat == 2 || comp.current.control_disabled == 1) if (comp.current.stat == 2 || comp.current.control_disabled == 1)

View File

@@ -322,7 +322,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
get_data() get_data()
var/dat = {" var/dat = {"
<b>Implant Specifications:</b><BR> <b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Management Implant<BR> <b>Name:</b> [company_name] Employee Management Implant<BR>
<b>Life:</b> Ten years.<BR> <b>Life:</b> Ten years.<BR>
<b>Important Notes:</b> Personnel injected with this device tend to be much more loyal to the company.<BR> <b>Important Notes:</b> Personnel injected with this device tend to be much more loyal to the company.<BR>
<HR> <HR>
@@ -338,11 +338,11 @@ the implant may become unstable and either pre-maturely inject the subject or si
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role) var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
if(antag_data && (antag_data.flags & ANTAG_IMPLANT_IMMUNE)) if(antag_data && (antag_data.flags & ANTAG_IMPLANT_IMMUNE))
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!") H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [company_name] try to invade your mind!")
return 0 return 0
else else
clear_antag_roles(H.mind, 1) clear_antag_roles(H.mind, 1)
H << "<span class='notice'>You feel a surge of loyalty towards Nanotrasen.</span>" H << "<span class='notice'>You feel a surge of loyalty towards [company_name].</span>"
return 1 return 1
@@ -391,7 +391,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
get_data() get_data()
var/dat = {" var/dat = {"
<b>Implant Specifications:</b><BR> <b>Implant Specifications:</b><BR>
<b>Name:</b> NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor<BR> <b>Name:</b> [company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
<b>Life:</b> Activates upon death.<BR> <b>Life:</b> Activates upon death.<BR>
<b>Important Notes:</b> Alerts crew to crewmember death.<BR> <b>Important Notes:</b> Alerts crew to crewmember death.<BR>
<HR> <HR>
@@ -465,7 +465,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
get_data() get_data()
var/dat = {" var/dat = {"
<b>Implant Specifications:</b><BR> <b>Implant Specifications:</b><BR>
<b>Name:</b> NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor<BR> <b>Name:</b> [company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
<b>Life:</b> Activates upon death.<BR> <b>Life:</b> Activates upon death.<BR>
<b>Important Notes:</b> Alerts crew to crewmember death.<BR> <b>Important Notes:</b> Alerts crew to crewmember death.<BR>
<HR> <HR>

View File

@@ -77,7 +77,7 @@
/obj/item/weapon/book/manual/supermatter_engine /obj/item/weapon/book/manual/supermatter_engine
name = "Supermatter Engine Operating Manual" name = "Supermatter Engine Operating Manual"
icon_state = "bookSupermatter" icon_state = "bookSupermatter"
author = "Nanotrasen Central Engineering Division" author = "Central Engineering Division"
title = "Supermatter Engine Operating Manual" title = "Supermatter Engine Operating Manual"
/obj/item/weapon/book/manual/supermatter_engine/New() /obj/item/weapon/book/manual/supermatter_engine/New()
@@ -407,10 +407,10 @@
<li>Secure the mainboard with a screwdriver.</li> <li>Secure the mainboard with a screwdriver.</li>
<li>Install the peripherals control module (Not included. Use supplied datadisk to create one).</li> <li>Install the peripherals control module (Not included. Use supplied datadisk to create one).</li>
<li>Secure the peripherals control module with a screwdriver.</li> <li>Secure the peripherals control module with a screwdriver.</li>
<li>Install the internal armor plating (Not included due to NanoTrasen regulations. Can be made using 5 metal sheets).</li> <li>Install the internal armor plating (Not included due to corporate regulations. Can be made using 5 metal sheets).</li>
<li>Secure the internal armor plating with a wrench.</li> <li>Secure the internal armor plating with a wrench.</li>
<li>Weld the internal armor plating to the chassis.</li> <li>Weld the internal armor plating to the chassis.</li>
<li>Install the external reinforced armor plating (Not included due to NanoTrasen regulations. Can be made using 5 reinforced metal sheets).</li> <li>Install the external reinforced armor plating (Not included due to corporate regulations. Can be made using 5 reinforced metal sheets).</li>
<li>Secure the external reinforced armor plating with a wrench.</li> <li>Secure the external reinforced armor plating with a wrench.</li>
<li>Weld the external reinforced armor plating to the chassis.</li> <li>Weld the external reinforced armor plating to the chassis.</li>
</ol> </ol>
@@ -422,7 +422,7 @@
<li>Internal armor is plasteel for additional strength.</li> <li>Internal armor is plasteel for additional strength.</li>
<li>External armor must be installed in 2 parts, totalling 10 sheets.</li> <li>External armor must be installed in 2 parts, totalling 10 sheets.</li>
<li>Completed mech is more resilient against fire, and is a bit more durable overall.</li> <li>Completed mech is more resilient against fire, and is a bit more durable overall.</li>
<li>NanoTrasen is determined to ensure the safety of its <s>investments</s> employees.</li> <li>The Company is determined to ensure the safety of its <s>investments</s> employees.</li>
</ul> </ul>
</body> </body>
</html> </html>
@@ -541,7 +541,7 @@
This useful piece of equipment will suck power out of the power systems to charge a cyborg's power cell back up to full charge. This useful piece of equipment will suck power out of the power systems to charge a cyborg's power cell back up to full charge.
<h3>Robotics Control Console</h3> <h3>Robotics Control Console</h3>
This useful piece of equipment can be used to immobilize or destroy a cyborg. A word of warning: Cyborgs are expensive pieces of equipment, do not destroy them without good reason, or NanoTrasen may see to it that it never happens again. This useful piece of equipment can be used to immobilize or destroy a cyborg. A word of warning: Cyborgs are expensive pieces of equipment, do not destroy them without good reason, or the Company may see to it that it never happens again.
<h2><a name="Modules">Cyborg Modules</h2> <h2><a name="Modules">Cyborg Modules</h2>
@@ -688,7 +688,7 @@
<li>Expose the cyborg's internal wiring</li> <li>Expose the cyborg's internal wiring</li>
<li>Check to make sure the LawSync and AI Sync lights are lit</li> <li>Check to make sure the LawSync and AI Sync lights are lit</li>
<li>If they are not lit, pulse the LawSync wire using a multitool to enable the cyborg's LawSync</li> <li>If they are not lit, pulse the LawSync wire using a multitool to enable the cyborg's LawSync</li>
<li>Proceed to a cyborg upload console. NanoTrasen usually places these in the same location as AI upload consoles.</li> <li>Proceed to a cyborg upload console. The Company usually places these in the same location as AI upload consoles.</li>
<li>Use a "Reset" upload moduleto reset the cyborg's laws</li> <li>Use a "Reset" upload moduleto reset the cyborg's laws</li>
<li>Proceed to a Robotics Control console</li> <li>Proceed to a Robotics Control console</li>
<li>Remove the lockdown on the cyborg</li> <li>Remove the lockdown on the cyborg</li>
@@ -696,7 +696,7 @@
<h3>As a last resort</h3> <h3>As a last resort</h3>
If all else fails in a case of cyborg-related emergency, there may be only one option. Using a Robotics Control console, you may have to remotely detonate the cyborg. If all else fails in a case of cyborg-related emergency, there may be only one option. Using a Robotics Control console, you may have to remotely detonate the cyborg.
<h3>WARNING:</h3> Do not detonate a borg without an explicit reason for doing so. Cyborgs are expensive pieces of NanoTrasen equipment, and you may be punished for detonating them without reason. <h3>WARNING:</h3> Do not detonate a borg without an explicit reason for doing so. Cyborgs are expensive pieces of company equipment, and you may be punished for detonating them without reason.
</body> </body>
</html> </html>
@@ -705,9 +705,9 @@
/obj/item/weapon/book/manual/security_space_law /obj/item/weapon/book/manual/security_space_law
name = "Corporate Regulations" name = "Corporate Regulations"
desc = "A set of NanoTrasen guidelines for keeping law and order on their space stations." desc = "A set of corporate guidelines for keeping law and order on privately-owned space stations."
icon_state = "bookSpaceLaw" icon_state = "bookSpaceLaw"
author = "NanoTrasen" author = "The Company"
title = "Corporate Regulations" title = "Corporate Regulations"
/obj/item/weapon/book/manual/security_space_law/New() /obj/item/weapon/book/manual/security_space_law/New()
@@ -728,11 +728,11 @@
/obj/item/weapon/book/manual/medical_diagnostics_manual /obj/item/weapon/book/manual/medical_diagnostics_manual
name = "NT Medical Diagnostics Manual" name = "Medical Diagnostics Manual"
desc = "First, do no harm. A detailed medical practitioner's guide." desc = "First, do no harm. A detailed medical practitioner's guide."
icon_state = "bookMedical" icon_state = "bookMedical"
author = "NanoTrasen Medicine Department" author = "Medical Department"
title = "NT Medical Diagnostics Manual" title = "Medical Diagnostics Manual"
/obj/item/weapon/book/manual/medical_diagnostics_manual/New() /obj/item/weapon/book/manual/medical_diagnostics_manual/New()
..() ..()
@@ -751,7 +751,7 @@
<br> <br>
<h1>The Oath</h1> <h1>The Oath</h1>
<i>The Medical Oath sworn by recognised medical practitioners in the employ of NanoTrasen</i><br> <i>The Medical Oath sworn by recognised medical practitioners in the employ of [company_name]</i><br>
<ol> <ol>
<li>Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.</li> <li>Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.</li>
@@ -913,7 +913,7 @@
/obj/item/weapon/book/manual/detective /obj/item/weapon/book/manual/detective
name = "The Film Noir: Proper Procedures for Investigations" name = "The Film Noir: Proper Procedures for Investigations"
icon_state ="bookDetective" icon_state ="bookDetective"
author = "NanoTrasen" author = "The Company"
title = "The Film Noir: Proper Procedures for Investigations" title = "The Film Noir: Proper Procedures for Investigations"
dat = {"<html> dat = {"<html>
@@ -972,7 +972,7 @@
</head> </head>
<body> <body>
<h1>Nuclear Explosives 101</h1> <h1>Nuclear Explosives 101</h1>
Hello and thank you for choosing the Syndicate for your nuclear information needs. Today's crash course will deal with the operation of a Fusion Class NanoTrasen made Nuclear Device.<br><br> Hello and thank you for choosing the Syndicate for your nuclear information needs. Today's crash course will deal with the operation of a Nuclear Fission Device.<br><br>
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done, to unbolt it, one must completely log in, which at this time may not be possible.<br> First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done, to unbolt it, one must completely log in, which at this time may not be possible.<br>
@@ -997,7 +997,7 @@
Remember the order:<br> Remember the order:<br>
<b>Disk, Code, Safety, Timer, Disk, RUN!</b><br><br> <b>Disk, Code, Safety, Timer, Disk, RUN!</b><br><br>
Intelligence Analysts believe that normal NanoTrasen procedure is for the Captain to secure the nuclear authentication disk.<br><br> Intelligence Analysts believe that normal corporate procedure is for the Captain to secure the nuclear authentication disk.<br><br>
Good luck! Good luck!
</body> </body>
@@ -1171,7 +1171,7 @@
and then is screwed in for one and a quarter full rotations clockwise, leaving the faceplate directly in front of you. There is a small button on the right side of the helmet that activates the helmet light. and then is screwed in for one and a quarter full rotations clockwise, leaving the faceplate directly in front of you. There is a small button on the right side of the helmet that activates the helmet light.
The tanks that fasten onto the side slot are emergency tanks, as well as full-sized oxygen tanks, leaving your back free for a backpack or satchel.<BR><BR> The tanks that fasten onto the side slot are emergency tanks, as well as full-sized oxygen tanks, leaving your back free for a backpack or satchel.<BR><BR>
These suits generally only fit one species. Nanotrasen's are usually human-fitting by default, but there's equipment that can make modifications to the hardsuits to fit them to other species.<BR><BR> These suits generally only fit one species. NanoTrasen's are usually human-fitting by default, but there's equipment that can make modifications to the hardsuits to fit them to other species.<BR><BR>
<h2><a name="Equipment">Modification Equipment</a></h2> <h2><a name="Equipment">Modification Equipment</a></h2>
<I>How to actually make hardsuits fit you.</I><BR> <I>How to actually make hardsuits fit you.</I><BR>

View File

@@ -31,7 +31,7 @@
/obj/item/weapon/material/hatchet/tacknife /obj/item/weapon/material/hatchet/tacknife
name = "tactical knife" name = "tactical knife"
desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Nyx." desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Space."
icon = 'icons/obj/weapons.dmi' icon = 'icons/obj/weapons.dmi'
icon_state = "tacknife" icon_state = "tacknife"
item_state = "knife" item_state = "knife"

View File

@@ -40,7 +40,7 @@
charge = maxcharge charge = maxcharge
/obj/item/weapon/cell/crap /obj/item/weapon/cell/crap
name = "\improper Nanotrasen brand rechargable AA battery" name = "\improper rechargable AA battery"
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
origin_tech = list(TECH_POWER = 0) origin_tech = list(TECH_POWER = 0)
maxcharge = 500 maxcharge = 500
@@ -107,7 +107,7 @@
origin_tech = null origin_tech = null
maxcharge = 30000 //determines how badly mobs get shocked maxcharge = 30000 //determines how badly mobs get shocked
matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80) matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80)
check_charge() check_charge()
return 1 return 1
use() use()

View File

@@ -61,7 +61,7 @@
qdel(W) qdel(W)
return return
..() ..()
//Please don't clutter the parent storage item with stupid hacks. //Please don't clutter the parent storage item with stupid hacks.
can_be_inserted(obj/item/W as obj, stop_messages = 0) can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(istype(W, /obj/item/weapon/storage/backpack/holding)) if(istype(W, /obj/item/weapon/storage/backpack/holding))
@@ -104,7 +104,7 @@
/obj/item/weapon/storage/backpack/captain /obj/item/weapon/storage/backpack/captain
name = "captain's backpack" name = "captain's backpack"
desc = "It's a special backpack made exclusively for Nanotrasen officers." desc = "It's a special backpack made exclusively for officers."
icon_state = "captainpack" icon_state = "captainpack"
item_state_slots = null item_state_slots = null
@@ -212,7 +212,7 @@
/obj/item/weapon/storage/backpack/satchel_cap /obj/item/weapon/storage/backpack/satchel_cap
name = "captain's satchel" name = "captain's satchel"
desc = "An exclusive satchel for Nanotrasen officers." desc = "An exclusive satchel for officers."
icon_state = "satchel-cap" icon_state = "satchel-cap"
item_state_slots = list( item_state_slots = list(
slot_l_hand_str = "satchel-cap", slot_l_hand_str = "satchel-cap",
@@ -222,7 +222,7 @@
//ERT backpacks. //ERT backpacks.
/obj/item/weapon/storage/backpack/ert /obj/item/weapon/storage/backpack/ert
name = "emergency response team backpack" name = "emergency response team backpack"
desc = "A spacious backpack with lots of pockets, used by members of the Nanotrasen Emergency Response Team." desc = "A spacious backpack with lots of pockets, used by members of the Emergency Response Team."
icon_state = "ert_commander" icon_state = "ert_commander"
item_state_slots = list( item_state_slots = list(
slot_l_hand_str = "securitypack", slot_l_hand_str = "securitypack",
@@ -232,22 +232,22 @@
//Commander //Commander
/obj/item/weapon/storage/backpack/ert/commander /obj/item/weapon/storage/backpack/ert/commander
name = "emergency response team commander backpack" name = "emergency response team commander backpack"
desc = "A spacious backpack with lots of pockets, worn by the commander of a Nanotrasen Emergency Response Team." desc = "A spacious backpack with lots of pockets, worn by the commander of an Emergency Response Team."
//Security //Security
/obj/item/weapon/storage/backpack/ert/security /obj/item/weapon/storage/backpack/ert/security
name = "emergency response team security backpack" name = "emergency response team security backpack"
desc = "A spacious backpack with lots of pockets, worn by security members of a Nanotrasen Emergency Response Team." desc = "A spacious backpack with lots of pockets, worn by security members of an Emergency Response Team."
icon_state = "ert_security" icon_state = "ert_security"
//Engineering //Engineering
/obj/item/weapon/storage/backpack/ert/engineer /obj/item/weapon/storage/backpack/ert/engineer
name = "emergency response team engineer backpack" name = "emergency response team engineer backpack"
desc = "A spacious backpack with lots of pockets, worn by engineering members of a Nanotrasen Emergency Response Team." desc = "A spacious backpack with lots of pockets, worn by engineering members of an Emergency Response Team."
icon_state = "ert_engineering" icon_state = "ert_engineering"
//Medical //Medical
/obj/item/weapon/storage/backpack/ert/medical /obj/item/weapon/storage/backpack/ert/medical
name = "emergency response team medical backpack" name = "emergency response team medical backpack"
desc = "A spacious backpack with lots of pockets, worn by medical members of a Nanotrasen Emergency Response Team." desc = "A spacious backpack with lots of pockets, worn by medical members of an Emergency Response Team."
icon_state = "ert_medical" icon_state = "ert_medical"

View File

@@ -107,7 +107,7 @@
name = "sheet snatcher" name = "sheet snatcher"
icon = 'icons/obj/mining.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "sheetsnatcher" icon_state = "sheetsnatcher"
desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet." desc = "A patented storage system designed for any kind of mineral sheet."
var/capacity = 300; //the number of sheets it can carry. var/capacity = 300; //the number of sheets it can carry.
w_class = 3 w_class = 3

View File

@@ -1,6 +1,6 @@
/obj/structure/closet/wardrobe /obj/structure/closet/wardrobe
name = "wardrobe" name = "wardrobe"
desc = "It's a storage unit for standard-issue Nanotrasen attire." desc = "It's a storage unit for standard-issue attire."
icon_state = "blue" icon_state = "blue"
icon_closed = "blue" icon_closed = "blue"
@@ -68,7 +68,7 @@
/obj/structure/closet/wardrobe/chaplain_black /obj/structure/closet/wardrobe/chaplain_black
name = "chapel wardrobe" name = "chapel wardrobe"
desc = "It's a storage unit for Nanotrasen-approved religious attire." desc = "It's a storage unit for approved religious attire."
icon_state = "black" icon_state = "black"
icon_closed = "black" icon_closed = "black"
@@ -120,7 +120,7 @@
/obj/structure/closet/wardrobe/orange /obj/structure/closet/wardrobe/orange
name = "prison wardrobe" name = "prison wardrobe"
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire." desc = "It's a storage unit for regulation prisoner attire."
icon_state = "orange" icon_state = "orange"
icon_closed = "orange" icon_closed = "orange"

View File

@@ -75,13 +75,12 @@
/obj/structure/mirror/raider/attack_hand(var/mob/living/carbon/human/user) /obj/structure/mirror/raider/attack_hand(var/mob/living/carbon/human/user)
if(istype(get_area(src),/area/syndicate_mothership)) if(istype(get_area(src),/area/syndicate_mothership))
if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species != "Vox" && is_alien_whitelisted(user, "Vox")) if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species.name != "Vox" && is_alien_whitelisted(user, "Vox"))
var/choice = input("Do you wish to become a Vox? This is not reversible.") as null|anything in list("No","Yes") var/choice = input("Do you wish to become a true Vox of the Shoal? This is not reversible.") as null|anything in list("No","Yes")
if(choice && choice == "Yes") if(choice && choice == "Yes")
var/mob/living/carbon/human/vox/vox = new(get_turf(src),"Vox") var/mob/living/carbon/human/vox/vox = new(get_turf(src),"Vox")
vox.gender = user.gender vox.gender = user.gender
raiders.equip(vox) raiders.equip(vox)
new /obj/item/organ/stack/vox(vox)
if(user.mind) if(user.mind)
user.mind.transfer_to(vox) user.mind.transfer_to(vox)
spawn(1) spawn(1)

View File

@@ -117,7 +117,7 @@
/obj/machinery/shower /obj/machinery/shower
name = "shower" name = "shower"
desc = "The HS-451. Installed in the 2550s by the Nanotrasen Hygiene Division." desc = "The HS-451. Installed in the 2550s by the Hygiene Division."
icon = 'icons/obj/watercloset.dmi' icon = 'icons/obj/watercloset.dmi'
icon_state = "shower" icon_state = "shower"
density = 0 density = 0

View File

@@ -14,7 +14,7 @@
paycuts_suspicion paycuts_suspicion
round_time = 60*10 round_time = 60*10
message = {"Reports have leaked that Nanotrasen Inc. is planning to put paycuts into message = {"Reports have leaked that NanoTrasen is planning to put paycuts into
effect on many of its Research Stations in Tau Ceti. Apparently these research effect on many of its Research Stations in Tau Ceti. Apparently these research
stations haven't been able to yield the expected revenue, and thus adjustments stations haven't been able to yield the expected revenue, and thus adjustments
have to be made."} have to be made."}
@@ -35,7 +35,7 @@
on live humans, including virology research, genetic manipulation, and \"feeding them on live humans, including virology research, genetic manipulation, and \"feeding them
to the slimes to see what happens\". Allegedly, these test subjects were neither to the slimes to see what happens\". Allegedly, these test subjects were neither
humanified monkeys nor volunteers, but rather unqualified staff that were forced into humanified monkeys nor volunteers, but rather unqualified staff that were forced into
the experiments, and reported to have died in a \"work accident\" by Nanotrasen Inc."} the experiments, and reported to have died in a \"work accident\" by NanoTrasen."}
author = "Unauthorized" author = "Unauthorized"
bluespace_research bluespace_research

View File

@@ -21,7 +21,7 @@ var/can_call_ert
usr << "<span class='danger'>The round hasn't started yet!</span>" usr << "<span class='danger'>The round hasn't started yet!</span>"
return return
if(send_emergency_team) if(send_emergency_team)
usr << "<span class='danger'>Central Command has already dispatched an emergency response team!</span>" usr << "<span class='danger'>[boss_name] has already dispatched an emergency response team!</span>"
return return
if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes") if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes")
return return
@@ -113,11 +113,11 @@ proc/trigger_armed_response_team(var/force = 0)
// there's only a certain chance a team will be sent // there's only a certain chance a team will be sent
if(!prob(send_team_chance)) if(!prob(send_team_chance))
command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. Unfortunately, we were unable to send one at this time.", "Central Command") command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. Unfortunately, we were unable to send one at this time.", "[boss_name]")
can_call_ert = 0 // Only one call per round, ladies. can_call_ert = 0 // Only one call per round, ladies.
return return
command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. We will prepare and send one as soon as possible.", "Central Command") command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. We will prepare and send one as soon as possible.", "[boss_name]")
can_call_ert = 0 // Only one call per round, gentleman. can_call_ert = 0 // Only one call per round, gentleman.
send_emergency_team = 1 send_emergency_team = 1

View File

@@ -24,12 +24,17 @@ var/global/list/global_map = null
var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF") var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
var/diary = null var/diary = null
var/href_logfile = null var/href_logfile = null
var/station_name = "NSS Exodus" var/station_name = "NSS Exodus"
var/game_version = "Baystation12" var/station_short = "Exodus"
var/changelog_hash = "" var/const/boss_name = "Central Command"
var/game_year = (text2num(time2text(world.realtime, "YYYY")) + 544) var/const/boss_short = "Centcomm"
var/const/company_name = "NanoTrasen"
var/const/company_short = "NT"
var/game_version = "Baystation12"
var/changelog_hash = ""
var/game_year = (text2num(time2text(world.realtime, "YYYY")) + 544)
var/round_progressing = 1 var/round_progressing = 1
var/master_mode = "extended" // "extended" var/master_mode = "extended" // "extended"

View File

@@ -353,7 +353,7 @@ proc/admin_notice(var/message, var/rights)
dat+={"<HR><B>Feed Security functions:</B><BR> dat+={"<HR><B>Feed Security functions:</B><BR>
<BR><A href='?src=\ref[src];ac_menu_wanted=1'>[(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue</A> <BR><A href='?src=\ref[src];ac_menu_wanted=1'>[(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue</A>
<BR><A href='?src=\ref[src];ac_menu_censor_story=1'>Censor Feed Stories</A> <BR><A href='?src=\ref[src];ac_menu_censor_story=1'>Censor Feed Stories</A>
<BR><A href='?src=\ref[src];ac_menu_censor_channel=1'>Mark Feed Channel with Nanotrasen D-Notice (disables and locks the channel.</A> <BR><A href='?src=\ref[src];ac_menu_censor_channel=1'>Mark Feed Channel with [company_name] D-Notice (disables and locks the channel.</A>
<BR><HR><A href='?src=\ref[src];ac_set_signature=1'>The newscaster recognises you as:<BR> <FONT COLOR='green'>[src.admincaster_signature]</FONT></A> <BR><HR><A href='?src=\ref[src];ac_set_signature=1'>The newscaster recognises you as:<BR> <FONT COLOR='green'>[src.admincaster_signature]</FONT></A>
"} "}
if(1) if(1)
@@ -419,7 +419,7 @@ proc/admin_notice(var/message, var/rights)
dat+="<B>[src.admincaster_feed_channel.channel_name]: </B><FONT SIZE=1>\[created by: <FONT COLOR='maroon'>[src.admincaster_feed_channel.author]</FONT>\]</FONT><HR>" dat+="<B>[src.admincaster_feed_channel.channel_name]: </B><FONT SIZE=1>\[created by: <FONT COLOR='maroon'>[src.admincaster_feed_channel.author]</FONT>\]</FONT><HR>"
if(src.admincaster_feed_channel.censored) if(src.admincaster_feed_channel.censored)
dat+={" dat+={"
<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR> <FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a [company_name] D-Notice.<BR>
No further feed story additions are allowed while the D-Notice is in effect.<BR><BR> No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>
"} "}
else else
@@ -440,7 +440,7 @@ proc/admin_notice(var/message, var/rights)
"} "}
if(10) if(10)
dat+={" dat+={"
<B>Nanotrasen Feed Censorship Tool</B><BR> <B>[company_name] Feed Censorship Tool</B><BR>
<FONT SIZE=1>NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.<BR> <FONT SIZE=1>NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.<BR>
Keep in mind that users attempting to view a censored feed will instead see the \[REDACTED\] tag above it.</FONT> Keep in mind that users attempting to view a censored feed will instead see the \[REDACTED\] tag above it.</FONT>
<HR>Select Feed channel to get Stories from:<BR> <HR>Select Feed channel to get Stories from:<BR>
@@ -453,7 +453,7 @@ proc/admin_notice(var/message, var/rights)
dat+="<BR><A href='?src=\ref[src];ac_setScreen=[0]'>Cancel</A>" dat+="<BR><A href='?src=\ref[src];ac_setScreen=[0]'>Cancel</A>"
if(11) if(11)
dat+={" dat+={"
<B>Nanotrasen D-Notice Handler</B><HR> <B>[company_name] D-Notice Handler</B><HR>
<FONT SIZE=1>A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's <FONT SIZE=1>A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's
morale, integrity or disciplinary behaviour. A D-Notice will render a channel unable to be updated by anyone, without deleting any feed morale, integrity or disciplinary behaviour. A D-Notice will render a channel unable to be updated by anyone, without deleting any feed
stories it might contain at the time. You can lift a D-Notice if you have the required access at any time.</FONT><HR> stories it might contain at the time. You can lift a D-Notice if you have the required access at any time.</FONT><HR>
@@ -486,7 +486,7 @@ proc/admin_notice(var/message, var/rights)
"} "}
if(src.admincaster_feed_channel.censored) if(src.admincaster_feed_channel.censored)
dat+={" dat+={"
<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR> <FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a [company_name] D-Notice.<BR>
No further feed story additions are allowed while the D-Notice is in effect.<BR><BR> No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>
"} "}
else else

View File

@@ -621,7 +621,7 @@ var/list/admin_verbs_mentor = list(
if(istype(T,/mob/living/carbon/human)) if(istype(T,/mob/living/carbon/human))
var/mob/living/carbon/human/H = T var/mob/living/carbon/human/H = T
if (H.species) if (H.species)
D.affected_species = list(H.species.name) D.affected_species = list(H.species.get_bodytype())
if(H.species.primitive_form) if(H.species.primitive_form)
D.affected_species |= H.species.primitive_form D.affected_species |= H.species.primitive_form
if(H.species.greater_form) if(H.species.greater_form)

View File

@@ -18,7 +18,7 @@ var/list/admin_datums = list()
error("Admin datum created without a ckey argument. Datum has been deleted") error("Admin datum created without a ckey argument. Datum has been deleted")
qdel(src) qdel(src)
return return
admincaster_signature = "Nanotrasen Officer #[rand(0,9)][rand(0,9)][rand(0,9)]" admincaster_signature = "[company_name] Officer #[rand(0,9)][rand(0,9)][rand(0,9)]"
rank = initial_rank rank = initial_rank
rights = initial_rights rights = initial_rights
admin_datums[ckey] = src admin_datums[ckey] = src
@@ -43,7 +43,7 @@ var/list/admin_datums = list()
owner.holder = src owner.holder = src
owner.deadmin_holder = null owner.deadmin_holder = null
owner.add_admin_verbs() owner.add_admin_verbs()
/* /*
checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags) checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags)

View File

@@ -29,7 +29,7 @@
//log_admin("HELP: [key_name(src)]: [msg]") //log_admin("HELP: [key_name(src)]: [msg]")
/proc/Centcomm_announce(var/msg, var/mob/Sender, var/iamessage) /proc/Centcomm_announce(var/msg, var/mob/Sender, var/iamessage)
msg = "\blue <b><font color=orange>CENTCOMM[iamessage ? " IA" : ""]:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) ([admin_jump_link(Sender, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;CentcommReply=\ref[Sender]'>RPLY</A>):</b> [msg]" msg = "\blue <b><font color=orange>[uppertext(boss_short)]M[iamessage ? " IA" : ""]:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) ([admin_jump_link(Sender, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;CentcommReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
for(var/client/C in admins) for(var/client/C in admins)
if(R_ADMIN & C.holder.rights) if(R_ADMIN & C.holder.rights)
C << msg C << msg

View File

@@ -515,7 +515,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!input) if(!input)
return return
if(!customname) if(!customname)
customname = "NanoTrasen Update" customname = "[company_name] Update"
for (var/obj/machinery/computer/communications/C in machines) for (var/obj/machinery/computer/communications/C in machines)
if(! (C.stat & (BROKEN|NOPOWER) ) ) if(! (C.stat & (BROKEN|NOPOWER) ) )
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc )
@@ -529,7 +529,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if("Yes") if("Yes")
command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1); command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1);
if("No") if("No")
world << "\red New NanoTrasen Update available at all communication consoles." world << "\red New [company_name] Update available at all communication consoles."
world << sound('sound/AI/commandreport.ogg') world << sound('sound/AI/commandreport.ogg')
log_admin("[key_name(src)] has created a command report: [input]") log_admin("[key_name(src)] has created a command report: [input]")

View File

@@ -26,7 +26,7 @@
dat += "Locked on<BR>" dat += "Locked on<BR>"
dat += "<B>Charge progress: [reload]/180:</B><BR>" dat += "<B>Charge progress: [reload]/180:</B><BR>"
dat += "<A href='byond://?src=\ref[src];fire=1'>Open Fire</A><BR>" dat += "<A href='byond://?src=\ref[src];fire=1'>Open Fire</A><BR>"
dat += "Deployment of weapon authorized by <br>Nanotrasen Naval Command<br><br>Remember, friendly fire is grounds for termination of your contract and life.<HR>" dat += "Deployment of weapon authorized by <br>[company_name] Naval Command<br><br>Remember, friendly fire is grounds for termination of your contract and life.<HR>"
user << browse(dat, "window=scroll") user << browse(dat, "window=scroll")
onclose(user, "scroll") onclose(user, "scroll")
return return

View File

@@ -18,7 +18,7 @@
get_data() get_data()
var/dat = {" var/dat = {"
<b>Implant Specifications:</b><BR> <b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Exile Implant<BR> <b>Name:</b> [company_name] Employee Exile Implant<BR>
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant<BR>"} <b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant<BR>"}
return dat return dat

View File

@@ -1,18 +1,18 @@
/obj/item/weapon/paper/pamphlet /obj/item/weapon/paper/pamphlet
name = "pamphlet" name = "pamphlet"
icon_state = "pamphlet" icon_state = "pamphlet"
info = "<b>Welcome to the Nanotrasen Gateway project...</b><br>\ info = "<b>Welcome to the Gateway project...</b><br>\
Congratulations! If you're reading this, you and your superiors have decided that you're \ Congratulations! If you're reading this, you and your superiors have decided that you're \
ready to commit to a life spent colonising the rolling hills of far away worlds. You \ ready to commit to a life spent colonising the rolling hills of far away worlds. You \
must be ready for a lifetime of adventure, a little bit of hard work, and an award \ must be ready for a lifetime of adventure, a little bit of hard work, and an award \
winning dental plan- but that's not all the Nanotrasen Gateway project has to offer.<br>\ winning dental plan- but that's not all the Gateway project has to offer.<br>\
<br>Because we care about you, we feel it is only fair to make sure you know the risks \ <br>Because we care about you, we feel it is only fair to make sure you know the risks \
before you commit to joining the Nanotrasen Gateway project. All away destinations have \ before you commit to joining the Gateway project. All away destinations have \
been fully scanned by a Nanotrasen expeditionary team, and are certified to be 100% safe. \ been fully scanned by a expeditionary team, and are certified to be 100% safe. \
We've even left a case of space beer along with the basic materials you'll need to expand \ We've even left a case of space beer along with the basic materials you'll need to expand \
Nanotrasen's operational area and start your new life.<br><br>\ the Project's operational area and start your new life.<br><br>\
<b>Gateway Operation Basics</b><br>\ <b>Gateway Operation Basics</b><br>\
All Nanotrasen approved Gateways operate on the same basic principals. They operate off \ All approved Gateways operate on the same basic principals. They operate off \
area equipment power as you would expect, but they also require a backup wire with at least \ area equipment power as you would expect, but they also require a backup wire with at least \
128, 000 Watts of power running through it. Without this supply, it cannot safely function \ 128, 000 Watts of power running through it. Without this supply, it cannot safely function \
and will reject all attempts at operation.<br><br>\ and will reject all attempts at operation.<br><br>\
@@ -29,7 +29,7 @@
number of cases, the Gateway they have established may not be immediately obvious. \ number of cases, the Gateway they have established may not be immediately obvious. \
Do not panic if you cannot locate the return Gateway. Begin colonisation of the destination. \ Do not panic if you cannot locate the return Gateway. Begin colonisation of the destination. \
<br><br><b>A New World</b><br>\ <br><br><b>A New World</b><br>\
As a participant in the Nanotrasen Gateway Project, you will be on the frontiers of space. \ As a participant in the Gateway Project, you will be on the frontiers of space. \
Though complete safety is assured, participants are advised to prepare for inhospitable \ Though complete safety is assured, participants are advised to prepare for inhospitable \
environs." environs."

View File

@@ -411,7 +411,7 @@ datum/preferences
dat += "Backpack Type:<br><a href ='?_src_=prefs;preference=bag;task=input'><b>[backbaglist[backbag]]</b></a><br>" dat += "Backpack Type:<br><a href ='?_src_=prefs;preference=bag;task=input'><b>[backbaglist[backbag]]</b></a><br>"
dat += "Nanotrasen Relation:<br><a href ='?_src_=prefs;preference=nt_relation;task=input'><b>[nanotrasen_relation]</b></a><br>" dat += "[company_name] Relation:<br><a href ='?_src_=prefs;preference=nt_relation;task=input'><b>[nanotrasen_relation]</b></a><br>"
dat += "</td><td><b>Preview</b><br><img src=previewicon.png height=64 width=64><img src=previewicon2.png height=64 width=64></td></tr></table>" dat += "</td><td><b>Preview</b><br><img src=previewicon.png height=64 width=64><img src=previewicon2.png height=64 width=64></td></tr></table>"

View File

@@ -678,7 +678,7 @@ var/global/list/gear_datums = list()
slot = slot_wear_suit slot = slot_wear_suit
/datum/gear/leather_jacket_nt /datum/gear/leather_jacket_nt
display_name = "leather jacket, NanoTrasen, black" display_name = "leather jacket, corporate, black"
path = /obj/item/clothing/suit/storage/leather_jacket/nanotrasen path = /obj/item/clothing/suit/storage/leather_jacket/nanotrasen
cost = 2 cost = 2
slot = slot_wear_suit slot = slot_wear_suit
@@ -690,7 +690,7 @@ var/global/list/gear_datums = list()
slot = slot_wear_suit slot = slot_wear_suit
/datum/gear/brown_jacket_nt /datum/gear/brown_jacket_nt
display_name = "leather jacket, NanoTrasen, brown" display_name = "leather jacket, corporate, brown"
path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
cost = 2 cost = 2
slot = slot_wear_suit slot = slot_wear_suit

View File

@@ -32,10 +32,10 @@
if(H.species) if(H.species)
if(exclusive) if(exclusive)
if(!(H.species.name in species_restricted)) if(!(H.species.get_bodytype() in species_restricted))
wearable = 1 wearable = 1
else else
if(H.species.name in species_restricted) if(H.species.get_bodytype() in species_restricted)
wearable = 1 wearable = 1
if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store))) if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store)))
@@ -73,6 +73,7 @@
switch(target_species) switch(target_species)
if("Skrell") if("Skrell")
species_restricted = list("Human", "Skrell") //skrell helmets fit humans too species_restricted = list("Human", "Skrell") //skrell helmets fit humans too
else else
species_restricted = list(target_species) species_restricted = list(target_species)
@@ -445,8 +446,8 @@ BLIND // can't see anything
var/icon/under_icon var/icon/under_icon
if(icon_override) if(icon_override)
under_icon = icon_override under_icon = icon_override
else if(H && sprite_sheets && sprite_sheets[H.species.name]) else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype()])
under_icon = sprite_sheets[H.species.name] under_icon = sprite_sheets[H.species.get_bodytype()]
else if(item_icons && item_icons[slot_w_uniform_str]) else if(item_icons && item_icons[slot_w_uniform_str])
under_icon = item_icons[slot_w_uniform_str] under_icon = item_icons[slot_w_uniform_str]
else else

View File

@@ -61,7 +61,7 @@
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi', "Tajara" = 'icons/mob/species/tajaran/helmet.dmi',
"Unathi" = 'icons/mob/species/unathi/helmet.dmi', "Unathi" = 'icons/mob/species/unathi/helmet.dmi',
) )
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0) armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
flags_inv = HIDEEARS flags_inv = HIDEEARS
siemens_coefficient = 0.7 siemens_coefficient = 0.7
@@ -80,7 +80,7 @@
//Non-hardsuit ERT helmets. //Non-hardsuit ERT helmets.
/obj/item/clothing/head/helmet/ert /obj/item/clothing/head/helmet/ert
name = "emergency response team helmet" name = "emergency response team helmet"
desc = "An in-atmosphere helmet worn by members of the NanoTrasen Emergency Response Team. Protects the head from impacts." desc = "An in-atmosphere helmet worn by members of the Emergency Response Team. Protects the head from impacts."
icon_state = "erthelmet_cmd" icon_state = "erthelmet_cmd"
item_state_slots = list( item_state_slots = list(
slot_l_hand_str = "syndicate-helm-green", slot_l_hand_str = "syndicate-helm-green",
@@ -91,22 +91,22 @@
//Commander //Commander
/obj/item/clothing/head/helmet/ert/command /obj/item/clothing/head/helmet/ert/command
name = "emergency response team commander helmet" name = "emergency response team commander helmet"
desc = "An in-atmosphere helmet worn by the commander of a NanoTrasen Emergency Response Team. Has blue highlights." desc = "An in-atmosphere helmet worn by the commander of a Emergency Response Team. Has blue highlights."
//Security //Security
/obj/item/clothing/head/helmet/ert/security /obj/item/clothing/head/helmet/ert/security
name = "emergency response team security helmet" name = "emergency response team security helmet"
desc = "An in-atmosphere helmet worn by security members of the NanoTrasen Emergency Response Team. Has red highlights." desc = "An in-atmosphere helmet worn by security members of the Emergency Response Team. Has red highlights."
icon_state = "erthelmet_sec" icon_state = "erthelmet_sec"
//Engineer //Engineer
/obj/item/clothing/head/helmet/ert/engineer /obj/item/clothing/head/helmet/ert/engineer
name = "emergency response team engineer helmet" name = "emergency response team engineer helmet"
desc = "An in-atmosphere helmet worn by engineering members of the NanoTrasen Emergency Response Team. Has orange highlights." desc = "An in-atmosphere helmet worn by engineering members of the Emergency Response Team. Has orange highlights."
icon_state = "erthelmet_eng" icon_state = "erthelmet_eng"
//Medical //Medical
/obj/item/clothing/head/helmet/ert/medical /obj/item/clothing/head/helmet/ert/medical
name = "emergency response team medical helmet" name = "emergency response team medical helmet"
desc = "A set of armor worn by medical members of the NanoTrasen Emergency Response Team. Has red and white highlights." desc = "A set of armor worn by medical members of the Emergency Response Team. Has red and white highlights."
icon_state = "erthelmet_med" icon_state = "erthelmet_med"

View File

@@ -95,11 +95,11 @@
icon_state = "beret_purple" icon_state = "beret_purple"
/obj/item/clothing/head/beret/centcom/officer /obj/item/clothing/head/beret/centcom/officer
name = "officers beret" name = "officers beret"
desc = "A black beret adorned with the shield<EFBFBD>a silver kite shield with an engraved sword<EFBFBD>of the NanoTrasen security forces." desc = "A black beret adorned with the shield - a silver kite shield with an engraved sword - of the corporate security forces."
icon_state = "beret_centcom_officer" icon_state = "beret_centcom_officer"
/obj/item/clothing/head/beret/centcom/captain /obj/item/clothing/head/beret/centcom/captain
name = "captains beret" name = "captains beret"
desc = "A white beret adorned with the shield<EFBFBD>a silver kite shield with an engraved sword<EFBFBD>of the NanoTrasen security forces." desc = "A white beret adorned with the shield - a silver kite shield with an engraved sword - of the corporate security forces."
icon_state = "beret_centcom_captain" icon_state = "beret_centcom_captain"
//Medical //Medical

View File

@@ -9,7 +9,7 @@
/obj/item/clothing/shoes/jackboots /obj/item/clothing/shoes/jackboots
name = "jackboots" name = "jackboots"
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time." desc = "Standard-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
icon_state = "jackboots" icon_state = "jackboots"
item_state = "jackboots" item_state = "jackboots"
force = 3 force = 3

View File

@@ -12,7 +12,7 @@
//Captain's space suit This is not the proper path but I don't currently know enough about how this all works to mess with it. //Captain's space suit This is not the proper path but I don't currently know enough about how this all works to mess with it.
/obj/item/clothing/suit/armor/captain /obj/item/clothing/suit/armor/captain
name = "Captain's armor" name = "Captain's armor"
desc = "A bulky, heavy-duty piece of exclusive Nanotrasen armor. YOU are in charge!" desc = "A bulky, heavy-duty piece of exclusive corporate armor. YOU are in charge!"
icon_state = "caparmor" icon_state = "caparmor"
item_state = "capspacesuit" item_state = "capspacesuit"
w_class = 4 w_class = 4
@@ -23,7 +23,7 @@
allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
slowdown = 1.5 slowdown = 1.5
armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0.7 siemens_coefficient = 0.7

View File

@@ -11,7 +11,7 @@
//Captain's space suit This is not the proper path but I don't currently know enough about how this all works to mess with it. //Captain's space suit This is not the proper path but I don't currently know enough about how this all works to mess with it.
/obj/item/clothing/suit/armor/captain /obj/item/clothing/suit/armor/captain
name = "Captain's armor" name = "Captain's armor"
desc = "A bulky, heavy-duty piece of exclusive Nanotrasen armor. YOU are in charge!" desc = "A bulky, heavy-duty piece of exclusive corporate armor. YOU are in charge!"
icon_state = "caparmor" icon_state = "caparmor"
item_state = "capspacesuit" item_state = "capspacesuit"
w_class = 4 w_class = 4

View File

@@ -465,8 +465,8 @@
var/species_icon = 'icons/mob/rig_back.dmi' var/species_icon = 'icons/mob/rig_back.dmi'
// Since setting mob_icon will override the species checks in // Since setting mob_icon will override the species checks in
// update_inv_wear_suit(), handle species checks here. // update_inv_wear_suit(), handle species checks here.
if(wearer && sprite_sheets && sprite_sheets[wearer.species.name]) if(wearer && sprite_sheets && sprite_sheets[wearer.species.get_bodytype()])
species_icon = sprite_sheets[wearer.species.name] species_icon = sprite_sheets[wearer.species.get_bodytype()]
mob_icon = image("icon" = species_icon, "icon_state" = "[icon_state]") mob_icon = image("icon" = species_icon, "icon_state" = "[icon_state]")
if(installed_modules.len) if(installed_modules.len)

View File

@@ -4,7 +4,7 @@
/obj/item/weapon/rig/ert /obj/item/weapon/rig/ert
name = "ERT-C hardsuit control module" name = "ERT-C hardsuit control module"
desc = "A suit worn by the commander of a NanoTrasen Emergency Response Team. Has blue highlights. Armoured and space ready." desc = "A suit worn by the commander of an Emergency Response Team. Has blue highlights. Armoured and space ready."
suit_type = "ERT commander" suit_type = "ERT commander"
icon_state = "ert_commander_rig" icon_state = "ert_commander_rig"
@@ -26,7 +26,7 @@
/obj/item/weapon/rig/ert/engineer /obj/item/weapon/rig/ert/engineer
name = "ERT-E suit control module" name = "ERT-E suit control module"
desc = "A suit worn by the engineering division of a NanoTrasen Emergency Response Team. Has orange highlights. Armoured and space ready." desc = "A suit worn by the engineering division of an Emergency Response Team. Has orange highlights. Armoured and space ready."
suit_type = "ERT engineer" suit_type = "ERT engineer"
icon_state = "ert_engineer_rig" icon_state = "ert_engineer_rig"
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 100) armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 100)
@@ -41,7 +41,7 @@
/obj/item/weapon/rig/ert/medical /obj/item/weapon/rig/ert/medical
name = "ERT-M suit control module" name = "ERT-M suit control module"
desc = "A suit worn by the medical division of a NanoTrasen Emergency Response Team. Has white highlights. Armoured and space ready." desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Armoured and space ready."
suit_type = "ERT medic" suit_type = "ERT medic"
icon_state = "ert_medical_rig" icon_state = "ert_medical_rig"
@@ -54,7 +54,7 @@
/obj/item/weapon/rig/ert/security /obj/item/weapon/rig/ert/security
name = "ERT-S suit control module" name = "ERT-S suit control module"
desc = "A suit worn by the security division of a NanoTrasen Emergency Response Team. Has red highlights. Armoured and space ready." desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Armoured and space ready."
suit_type = "ERT security" suit_type = "ERT security"
icon_state = "ert_security_rig" icon_state = "ert_security_rig"
@@ -67,7 +67,7 @@
/obj/item/weapon/rig/ert/assetprotection /obj/item/weapon/rig/ert/assetprotection
name = "Heavy Asset Protection suit control module" name = "Heavy Asset Protection suit control module"
desc = "A heavy suit worn by the highest level of Nanotrasen Asset Protection, don't mess with the person wearing this. Armoured and space ready." desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armoured and space ready."
suit_type = "heavy asset protection" suit_type = "heavy asset protection"
icon_state = "asset_protection_rig" icon_state = "asset_protection_rig"
armor = list(melee = 60, bullet = 50, laser = 50,energy = 40, bomb = 40, bio = 100, rad = 100) armor = list(melee = 60, bullet = 50, laser = 50,energy = 40, bomb = 40, bio = 100, rad = 100)

View File

@@ -211,7 +211,7 @@
/obj/item/weapon/rig/hazard /obj/item/weapon/rig/hazard
name = "hazard hardsuit control module" name = "hazard hardsuit control module"
suit_type = "hazard hardsuit" suit_type = "hazard hardsuit"
desc = "A Nanotrasen security hardsuit designed for prolonged EVA in dangerous environments." desc = "A Security hardsuit designed for prolonged EVA in dangerous environments."
icon_state = "hazard_rig" icon_state = "hazard_rig"
armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 30) armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 30)
slowdown = 1 slowdown = 1

View File

@@ -21,7 +21,7 @@
/obj/item/clothing/suit/armor/vest/security /obj/item/clothing/suit/armor/vest/security
name = "security armor" name = "security armor"
desc = "An armored vest that protects against some damage. This one has a NanoTrasen corporate badge." desc = "An armored vest that protects against some damage. This one has a corporate badge."
icon_state = "armorsec" icon_state = "armorsec"
item_state = "armor" item_state = "armor"
@@ -176,7 +176,7 @@
//Non-hardsuit ERT armor. //Non-hardsuit ERT armor.
/obj/item/clothing/suit/armor/vest/ert /obj/item/clothing/suit/armor/vest/ert
name = "emergency response team armor" name = "emergency response team armor"
desc = "A set of armor worn by members of the NanoTrasen Emergency Response Team." desc = "A set of armor worn by members of the Emergency Response Team."
icon_state = "ertarmor_cmd" icon_state = "ertarmor_cmd"
item_state = "armor" item_state = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
@@ -185,24 +185,24 @@
//Commander //Commander
/obj/item/clothing/suit/armor/vest/ert/command /obj/item/clothing/suit/armor/vest/ert/command
name = "emergency response team commander armor" name = "emergency response team commander armor"
desc = "A set of armor worn by the commander of a NanoTrasen Emergency Response Team. Has blue highlights." desc = "A set of armor worn by the commander of an Emergency Response Team. Has blue highlights."
//Security //Security
/obj/item/clothing/suit/armor/vest/ert/security /obj/item/clothing/suit/armor/vest/ert/security
name = "emergency response team security armor" name = "emergency response team security armor"
desc = "A set of armor worn by security members of the NanoTrasen Emergency Response Team. Has red highlights." desc = "A set of armor worn by security members of the Emergency Response Team. Has red highlights."
icon_state = "ertarmor_sec" icon_state = "ertarmor_sec"
//Engineer //Engineer
/obj/item/clothing/suit/armor/vest/ert/engineer /obj/item/clothing/suit/armor/vest/ert/engineer
name = "emergency response team engineer armor" name = "emergency response team engineer armor"
desc = "A set of armor worn by engineering members of the NanoTrasen Emergency Response Team. Has orange highlights." desc = "A set of armor worn by engineering members of the Emergency Response Team. Has orange highlights."
icon_state = "ertarmor_eng" icon_state = "ertarmor_eng"
//Medical //Medical
/obj/item/clothing/suit/armor/vest/ert/medical /obj/item/clothing/suit/armor/vest/ert/medical
name = "emergency response team medical armor" name = "emergency response team medical armor"
desc = "A set of armor worn by medical members of the NanoTrasen Emergency Response Team. Has red and white highlights." desc = "A set of armor worn by medical members of the Emergency Response Team. Has red and white highlights."
icon_state = "ertarmor_med" icon_state = "ertarmor_med"
//New Vests //New Vests
@@ -216,7 +216,7 @@
/obj/item/clothing/suit/storage/vest/officer /obj/item/clothing/suit/storage/vest/officer
name = "officer armor vest" name = "officer armor vest"
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a security holobadge clipped to the chest." desc = "A simple kevlar plate carrier. This one has a security holobadge clipped to the chest."
icon_state = "officervest_nobadge" icon_state = "officervest_nobadge"
item_state = "officervest_nobadge" item_state = "officervest_nobadge"
icon_badge = "officervest_badge" icon_badge = "officervest_badge"
@@ -224,7 +224,7 @@
/obj/item/clothing/suit/storage/vest/warden /obj/item/clothing/suit/storage/vest/warden
name = "warden armor vest" name = "warden armor vest"
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a silver badge clipped to the chest." desc = "A simple kevlar plate carrier. This one has a silver badge clipped to the chest."
icon_state = "wardenvest_nobadge" icon_state = "wardenvest_nobadge"
item_state = "wardenvest_nobadge" item_state = "wardenvest_nobadge"
icon_badge = "wardenvest_badge" icon_badge = "wardenvest_badge"
@@ -232,7 +232,7 @@
/obj/item/clothing/suit/storage/vest/hos /obj/item/clothing/suit/storage/vest/hos
name = "commander armor vest" name = "commander armor vest"
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a gold badge clipped to the chest." desc = "A simple kevlar plate carrier. This one has a gold badge clipped to the chest."
icon_state = "hosvest_nobadge" icon_state = "hosvest_nobadge"
item_state = "hosvest_nobadge" item_state = "hosvest_nobadge"
icon_badge = "hosvest_badge" icon_badge = "hosvest_badge"
@@ -264,7 +264,7 @@
/obj/item/clothing/suit/storage/vest/heavy/officer /obj/item/clothing/suit/storage/vest/heavy/officer
name = "officer heavy armor vest" name = "officer heavy armor vest"
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a security holobadge clipped to the chest." desc = "A heavy kevlar plate carrier with webbing attached. This one has a security holobadge clipped to the chest."
icon_state = "officerwebvest_nobadge" icon_state = "officerwebvest_nobadge"
item_state = "officerwebvest_nobadge" item_state = "officerwebvest_nobadge"
icon_badge = "officerwebvest_badge" icon_badge = "officerwebvest_badge"
@@ -272,7 +272,7 @@
/obj/item/clothing/suit/storage/vest/heavy/warden /obj/item/clothing/suit/storage/vest/heavy/warden
name = "warden heavy armor vest" name = "warden heavy armor vest"
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a silver badge clipped to the chest." desc = "A heavy kevlar plate carrier with webbing attached. This one has a silver badge clipped to the chest."
icon_state = "wardenwebvest_nobadge" icon_state = "wardenwebvest_nobadge"
item_state = "wardenwebvest_nobadge" item_state = "wardenwebvest_nobadge"
icon_badge = "wardenwebvest_badge" icon_badge = "wardenwebvest_badge"
@@ -280,7 +280,7 @@
/obj/item/clothing/suit/storage/vest/heavy/hos /obj/item/clothing/suit/storage/vest/heavy/hos
name = "commander heavy armor vest" name = "commander heavy armor vest"
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a gold badge clipped to the chest." desc = "A heavy kevlar plate carrier with webbing attached. This one has a gold badge clipped to the chest."
icon_state = "hoswebvest_nobadge" icon_state = "hoswebvest_nobadge"
item_state = "hoswebvest_nobadge" item_state = "hoswebvest_nobadge"
icon_badge = "hoswebvest_badge" icon_badge = "hoswebvest_badge"

View File

@@ -357,7 +357,7 @@
body_parts_covered = UPPER_TORSO|ARMS body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/suit/storage/leather_jacket/nanotrasen /obj/item/clothing/suit/storage/leather_jacket/nanotrasen
desc = "A black leather coat. The letters NT are proudly displayed on the back." desc = "A black leather coat. A corporate logo is proudly displayed on the back."
icon_state = "leather_jacket_nt" icon_state = "leather_jacket_nt"
//This one has buttons for some reason //This one has buttons for some reason
@@ -371,7 +371,7 @@
body_parts_covered = UPPER_TORSO|ARMS body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen
desc = "A brown leather coat. The letters NT are proudly displayed on the back." desc = "A brown leather coat. A corporate logo is proudly displayed on the back."
icon_state = "brown_jacket_nt" icon_state = "brown_jacket_nt"
icon_open = "brown_jacket_nt_open" icon_open = "brown_jacket_nt_open"
icon_closed = "brown_jacket_nt" icon_closed = "brown_jacket_nt"

View File

@@ -142,7 +142,7 @@
/obj/item/clothing/accessory/medal/conduct /obj/item/clothing/accessory/medal/conduct
name = "distinguished conduct medal" name = "distinguished conduct medal"
desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award given by Nanotrasen. It is often awarded by a captain to a member of their crew." desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is most basic award on offer. It is often awarded by a captain to a member of their crew."
/obj/item/clothing/accessory/medal/bronze_heart /obj/item/clothing/accessory/medal/bronze_heart
name = "bronze heart medal" name = "bronze heart medal"
@@ -164,7 +164,7 @@
/obj/item/clothing/accessory/medal/silver/security /obj/item/clothing/accessory/medal/silver/security
name = "robust security award" name = "robust security award"
desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." desc = "An award for distinguished combat and sacrifice in defence of corporate commercial interests. Often awarded to security staff."
/obj/item/clothing/accessory/medal/gold /obj/item/clothing/accessory/medal/gold
name = "gold medal" name = "gold medal"
@@ -173,8 +173,8 @@
/obj/item/clothing/accessory/medal/gold/captain /obj/item/clothing/accessory/medal/gold/captain
name = "medal of captaincy" name = "medal of captaincy"
desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain, and their undisputable authority over their crew."
/obj/item/clothing/accessory/medal/gold/heroism /obj/item/clothing/accessory/medal/gold/heroism
name = "medal of exceptional heroism" name = "medal of exceptional heroism"
desc = "An extremely rare golden medal awarded only by CentComm. To recieve such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." desc = "An extremely rare golden medal awarded only by company officials. To recieve such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders."

View File

@@ -6,12 +6,12 @@
/obj/item/clothing/accessory/badge /obj/item/clothing/accessory/badge
name = "detective's badge" name = "detective's badge"
desc = "NanoTrasen Security Department detective's badge, made from gold." desc = "Security Department detective's badge, made from gold."
icon_state = "badge" icon_state = "badge"
slot_flags = SLOT_BELT | SLOT_TIE slot_flags = SLOT_BELT | SLOT_TIE
var/stored_name var/stored_name
var/badge_string = "NanoTrasen Security Department" var/badge_string = "Corporate Security"
/obj/item/clothing/accessory/badge/old /obj/item/clothing/accessory/badge/old
name = "faded badge" name = "faded badge"
@@ -55,7 +55,7 @@
user << "Waving around a holobadge before swiping an ID would be pretty pointless." user << "Waving around a holobadge before swiping an ID would be pretty pointless."
return return
return ..() return ..()
/obj/item/clothing/accessory/badge/holo/emag_act(var/remaining_charges, var/mob/user) /obj/item/clothing/accessory/badge/holo/emag_act(var/remaining_charges, var/mob/user)
if (emagged) if (emagged)
user << "<span class='danger'>\The [src] is already cracked.</span>" user << "<span class='danger'>\The [src] is already cracked.</span>"

View File

@@ -31,7 +31,7 @@
/obj/item/clothing/under/color/orange /obj/item/clothing/under/color/orange
name = "orange jumpsuit" name = "orange jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." desc = "It's standardised prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "orange" icon_state = "orange"
item_state = "o_suit" item_state = "o_suit"
worn_state = "orange" worn_state = "orange"

View File

@@ -65,7 +65,7 @@
//This set of uniforms looks fairly fancy and is generally used for high-ranking NT personnel from what I've seen, so lets give them appropriate ranks. //This set of uniforms looks fairly fancy and is generally used for high-ranking NT personnel from what I've seen, so lets give them appropriate ranks.
/obj/item/clothing/under/rank/centcom /obj/item/clothing/under/rank/centcom
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain.\"" desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain.\""
name = "\improper NanoTrasen Officer's Dress Uniform" name = "\improper Officer's Dress Uniform"
icon_state = "officer" icon_state = "officer"
item_state = "lawyer_black" item_state = "lawyer_black"
worn_state = "officer" worn_state = "officer"
@@ -73,7 +73,7 @@
/obj/item/clothing/under/rank/centcom_officer /obj/item/clothing/under/rank/centcom_officer
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral.\"" desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral.\""
name = "\improper NanoTrasen Officer's Dress Uniform" name = "\improper Officer's Dress Uniform"
icon_state = "officer" icon_state = "officer"
item_state = "lawyer_black" item_state = "lawyer_black"
worn_state = "officer" worn_state = "officer"
@@ -81,7 +81,7 @@
/obj/item/clothing/under/rank/centcom_captain /obj/item/clothing/under/rank/centcom_captain
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral-Executive.\"" desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Admiral-Executive.\""
name = "\improper NanoTrasen Officer's Dress Uniform" name = "\improper Officer's Dress Uniform"
icon_state = "centcom" icon_state = "centcom"
item_state = "lawyer_black" item_state = "lawyer_black"
worn_state = "centcom" worn_state = "centcom"
@@ -513,7 +513,7 @@
/obj/item/clothing/under/blazer /obj/item/clothing/under/blazer
name = "blue blazer" name = "blue blazer"
desc = "A bold but yet conservative outfit, red corduroys, navy blazer and a tie." desc = "A bold but yet conservative outfit, red corduroys, navy blazer and a tie."
icon_state = "blue_blazer" icon_state = "blue_blazer"
item_state = "blue_blazer" item_state = "blue_blazer"
worn_state = "blue_blazer" worn_state = "blue_blazer"

View File

@@ -15,7 +15,7 @@ log transactions
/obj/item/weapon/card/id/var/money = 2000 /obj/item/weapon/card/id/var/money = 2000
/obj/machinery/atm /obj/machinery/atm
name = "NanoTrasen Automatic Teller Machine" name = "Automatic Teller Machine"
desc = "For all your monetary needs!" desc = "For all your monetary needs!"
icon = 'icons/obj/terminals.dmi' icon = 'icons/obj/terminals.dmi'
icon_state = "atm" icon_state = "atm"
@@ -122,17 +122,17 @@ log transactions
/obj/machinery/atm/attack_hand(mob/user as mob) /obj/machinery/atm/attack_hand(mob/user as mob)
if(istype(user, /mob/living/silicon)) if(istype(user, /mob/living/silicon))
user << "\red \icon[src] Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005." user << "\red \icon[src] Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per system banking regulation #1005."
return return
if(get_dist(src,user) <= 1) if(get_dist(src,user) <= 1)
//js replicated from obj/machinery/computer/card //js replicated from obj/machinery/computer/card
var/dat = "<h1>NanoTrasen Automatic Teller Machine</h1>" var/dat = "<h1>Automatic Teller Machine</h1>"
dat += "For all your monetary needs!<br>" dat += "For all your monetary needs!<br>"
dat += "<i>This terminal is</i> [machine_id]. <i>Report this code when contacting NanoTrasen IT Support</i><br/>" dat += "<i>This terminal is</i> [machine_id]. <i>Report this code when contacting IT Support</i><br/>"
if(emagged > 0) if(emagged > 0)
dat += "Card: <span style='color: red;'>LOCKED</span><br><br><span style='color: red;'>Unauthorized terminal access detected! This ATM has been locked. Please contact NanoTrasen IT Support.</span>" dat += "Card: <span style='color: red;'>LOCKED</span><br><br><span style='color: red;'>Unauthorized terminal access detected! This ATM has been locked. Please contact IT Support.</span>"
else else
dat += "Card: <a href='?src=\ref[src];choice=insert_card'>[held_card ? held_card.name : "------"]</a><br><br>" dat += "Card: <a href='?src=\ref[src];choice=insert_card'>[held_card ? held_card.name : "------"]</a><br><br>"

View File

@@ -85,7 +85,7 @@
/obj/item/device/eftpos/attack_self(mob/user as mob) /obj/item/device/eftpos/attack_self(mob/user as mob)
if(get_dist(src,user) <= 1) if(get_dist(src,user) <= 1)
var/dat = "<b>[eftpos_name]</b><br>" var/dat = "<b>[eftpos_name]</b><br>"
dat += "<i>This terminal is</i> [machine_id]. <i>Report this code when contacting NanoTrasen IT Support</i><br>" dat += "<i>This terminal is</i> [machine_id]. <i>Report this code when contacting IT Support</i><br>"
if(transaction_locked) if(transaction_locked)
dat += "<a href='?src=\ref[src];choice=toggle_lock'>Back[transaction_paid ? "" : " (authentication required)"]</a><br><br>" dat += "<a href='?src=\ref[src];choice=toggle_lock'>Back[transaction_paid ? "" : " (authentication required)"]</a><br><br>"

View File

@@ -73,7 +73,7 @@
body = "A small [pick("pirate","Cybersun Industries","Gorlex Marauders","mercenary")] fleet has precise-jumped into proximity with [affected_dest.name], [pick("for a smash-and-grab operation","in a hit and run attack","in an overt display of hostilities")]. Much damage was done, and security has been tightened since the incident." body = "A small [pick("pirate","Cybersun Industries","Gorlex Marauders","mercenary")] fleet has precise-jumped into proximity with [affected_dest.name], [pick("for a smash-and-grab operation","in a hit and run attack","in an overt display of hostilities")]. Much damage was done, and security has been tightened since the incident."
if(ALIEN_RAIDERS) if(ALIEN_RAIDERS)
if(prob(20)) if(prob(20))
body = "The Tiger Co-operative have raided [affected_dest.name] today, no doubt on orders from their enigmatic masters. Stealing wildlife, farm animals, medical research materials and kidnapping civilians. NanoTrasen authorities are standing by to counter attempts at bio-terrorism." body = "The Tiger Co-operative have raided [affected_dest.name] today, no doubt on orders from their enigmatic masters. Stealing wildlife, farm animals, medical research materials and kidnapping civilians. [company_name] authorities are standing by to counter attempts at bio-terrorism."
else else
body = "[pick("The alien species designated \'United Exolitics\'","The alien species designated \'REDACTED\'","An unknown alien species")] have raided [affected_dest.name] today, stealing wildlife, farm animals, medical research materials and kidnapping civilians. It seems they desire to learn more about us, so the Navy will be standing by to accomodate them next time they try." body = "[pick("The alien species designated \'United Exolitics\'","The alien species designated \'REDACTED\'","An unknown alien species")] have raided [affected_dest.name] today, stealing wildlife, farm animals, medical research materials and kidnapping civilians. It seems they desire to learn more about us, so the Navy will be standing by to accomodate them next time they try."
if(AI_LIBERATION) if(AI_LIBERATION)
@@ -81,9 +81,9 @@
if(MOURNING) if(MOURNING)
body = "[pick("The popular","The well-liked","The eminent","The well-known")] [pick("professor","entertainer","singer","researcher","public servant","administrator","ship captain","\'REDACTED\'")], [pick( random_name(pick(MALE,FEMALE)), 40; "\'REDACTED\'" )] has [pick("passed away","committed suicide","been murdered","died in a freakish accident")] on [affected_dest.name] today. The entire planet is in mourning, and prices have dropped for industrial goods as worker morale drops." body = "[pick("The popular","The well-liked","The eminent","The well-known")] [pick("professor","entertainer","singer","researcher","public servant","administrator","ship captain","\'REDACTED\'")], [pick( random_name(pick(MALE,FEMALE)), 40; "\'REDACTED\'" )] has [pick("passed away","committed suicide","been murdered","died in a freakish accident")] on [affected_dest.name] today. The entire planet is in mourning, and prices have dropped for industrial goods as worker morale drops."
if(CULT_CELL_REVEALED) if(CULT_CELL_REVEALED)
body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] cult of [pick("The Elder Gods","Nar'sie","an apocalyptic sect","\'REDACTED\'")] has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing \'REDACTED\' acts","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice. The editor reminds all personnel that supernatural myths will not be tolerated on NanoTrasen facilities." body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] cult of [pick("The Elder Gods","Nar'sie","an apocalyptic sect","\'REDACTED\'")] has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing \'REDACTED\' acts","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice. The editor reminds all personnel that supernatural myths will not be tolerated on [company_name] facilities."
if(SECURITY_BREACH) if(SECURITY_BREACH)
body = "There was [pick("a security breach in","an unauthorised access in","an attempted theft in","an anarchist attack in","violent sabotage of")] a [pick("high-security","restricted access","classified","\'REDACTED\'")] [pick("\'REDACTED\'","section","zone","area")] this morning. Security was tightened on [affected_dest.name] after the incident, and the editor reassures all NanoTrasen personnel that such lapses are rare." body = "There was [pick("a security breach in","an unauthorised access in","an attempted theft in","an anarchist attack in","violent sabotage of")] a [pick("high-security","restricted access","classified","\'REDACTED\'")] [pick("\'REDACTED\'","section","zone","area")] this morning. Security was tightened on [affected_dest.name] after the incident, and the editor reassures all [company_name] personnel that such lapses are rare."
if(ANIMAL_RIGHTS_RAID) if(ANIMAL_RIGHTS_RAID)
body = "[pick("Militant animal rights activists","Members of the terrorist group Animal Rights Consortium","Members of the terrorist group \'REDACTED\'")] have [pick("launched a campaign of terror","unleashed a swathe of destruction","raided farms and pastures","forced entry to \'REDACTED\'")] on [affected_dest.name] earlier today, freeing numerous [pick("farm animals","animals","\'REDACTED\'")]. Prices for tame and breeding animals have spiked as a result." body = "[pick("Militant animal rights activists","Members of the terrorist group Animal Rights Consortium","Members of the terrorist group \'REDACTED\'")] have [pick("launched a campaign of terror","unleashed a swathe of destruction","raided farms and pastures","forced entry to \'REDACTED\'")] on [affected_dest.name] earlier today, freeing numerous [pick("farm animals","animals","\'REDACTED\'")]. Prices for tame and breeding animals have spiked as a result."
if(FESTIVAL) if(FESTIVAL)

View File

@@ -22,17 +22,17 @@
if(RESEARCH_BREAKTHROUGH) if(RESEARCH_BREAKTHROUGH)
body = "A major breakthough in the field of [pick("phoron research","super-compressed materials","nano-augmentation","bluespace research","volatile power manipulation")] \ body = "A major breakthough in the field of [pick("phoron research","super-compressed materials","nano-augmentation","bluespace research","volatile power manipulation")] \
was announced [pick("yesterday","a few days ago","last week","earlier this month")] by a private firm on [affected_dest.name]. \ was announced [pick("yesterday","a few days ago","last week","earlier this month")] by a private firm on [affected_dest.name]. \
NanoTrasen declined to comment as to whether this could impinge on profits." [company_name] declined to comment as to whether this could impinge on profits."
if(ELECTION) if(ELECTION)
body = "The pre-selection of an additional candidates was announced for the upcoming [pick("supervisors council","advisory board","governership","board of inquisitors")] \ body = "The pre-selection of an additional candidates was announced for the upcoming [pick("supervisors council","advisory board","governership","board of inquisitors")] \
election on [affected_dest.name] was announced earlier today, \ election on [affected_dest.name] was announced earlier today, \
[pick("media mogul","web celebrity", "industry titan", "superstar", "famed chef", "popular gardener", "ex-army officer", "multi-billionaire")] \ [pick("media mogul","web celebrity", "industry titan", "superstar", "famed chef", "popular gardener", "ex-army officer", "multi-billionaire")] \
[random_name(pick(MALE,FEMALE))]. In a statement to the media they said '[pick("My only goal is to help the [pick("sick","poor","children")]",\ [random_name(pick(MALE,FEMALE))]. In a statement to the media they said '[pick("My only goal is to help the [pick("sick","poor","children")]",\
"I will maintain NanoTrasen's record profits","I believe in our future","We must return to our moral core","Just like... chill out dudes")]'." "I will maintain my company's record profits","I believe in our future","We must return to our moral core","Just like... chill out dudes")]'."
if(RESIGNATION) if(RESIGNATION)
body = "NanoTrasen regretfully announces the resignation of [pick("Sector Admiral","Division Admiral","Ship Admiral","Vice Admiral")] [random_name(pick(MALE,FEMALE))]." body = "[company_name] regretfully announces the resignation of [pick("Sector Admiral","Division Admiral","Ship Admiral","Vice Admiral")] [random_name(pick(MALE,FEMALE))]."
if(prob(25)) if(prob(25))
var/locstring = pick("Segunda","Salusa","Cepheus","Andromeda","Gruis","Corona","Aquila","Asellus") + " " + pick("I","II","III","IV","V","VI","VII","VIII") var/locstring = pick("Segunda","Salusa","Cepheus","Andromeda","Gruis","Corona","Aquila","Asellus") + " " + pick("I","II","III","IV","V","VI","VII","VIII")
body += " In a ceremony on [affected_dest.name] this afternoon, they will be awarded the \ body += " In a ceremony on [affected_dest.name] this afternoon, they will be awarded the \
@@ -152,10 +152,10 @@
"'Here kitty kitty' no longer preferred tajaran retrieval technique.",\ "'Here kitty kitty' no longer preferred tajaran retrieval technique.",\
"Man travels 7000 light years to retrieve lost hankie, 'It was my favourite'.",\ "Man travels 7000 light years to retrieve lost hankie, 'It was my favourite'.",\
"New bowling lane that shoots mini-meteors at bowlers very popular.",\ "New bowling lane that shoots mini-meteors at bowlers very popular.",\
"[pick("Unathi","Spacer")] gets tattoo of Nyx on chest '[pick("CentComm","star","starship","asteroid")] tickles most'.",\ "[pick("Unathi","Spacer")] gets tattoo of Nyx on chest '[pick("[boss_short]","star","starship","asteroid")] tickles most'.",\
"Skrell marries computer; wedding attended by 100 modems.",\ "Skrell marries computer; wedding attended by 100 modems.",\
"Chef reports successfully using harmonica as cheese grater.",\ "Chef reports successfully using harmonica as cheese grater.",\
"NanoTrasen invents handkerchief that says 'Bless you' after sneeze.",\ "[company_name] invents handkerchief that says 'Bless you' after sneeze.",\
"Clone accused of posing for other clones<65>s school photo.",\ "Clone accused of posing for other clones<65>s school photo.",\
"Clone accused of stealing other clones<65>s employee of the month award.",\ "Clone accused of stealing other clones<65>s employee of the month award.",\
"Woman robs station with hair dryer; crewmen love new style.",\ "Woman robs station with hair dryer; crewmen love new style.",\

View File

@@ -38,12 +38,12 @@ var/list/weighted_mundaneevent_locations = list()
/datum/trade_destination/anansi/get_custom_eventstring(var/event_type) /datum/trade_destination/anansi/get_custom_eventstring(var/event_type)
if(event_type == RESEARCH_BREAKTHROUGH) if(event_type == RESEARCH_BREAKTHROUGH)
return "Thanks to research conducted on the NSS Anansi, Second Red Cross Society wishes to announce a major breakthough in the field of \ return "Thanks to research conducted on the NSS Anansi, Second Red Cross Society wishes to announce a major breakthough in the field of \
[pick("mind-machine interfacing","neuroscience","nano-augmentation","genetics")]. NanoTrasen is expected to announce a co-exploitation deal within the fortnight." [pick("mind-machine interfacing","neuroscience","nano-augmentation","genetics")]. [company_name] is expected to announce a co-exploitation deal within the fortnight."
return null return null
/datum/trade_destination/icarus /datum/trade_destination/icarus
name = "NDV Icarus" name = "NDV Icarus"
description = "Corvette assigned to patrol NSS Exodus local space." description = "Corvette assigned to patrol local space."
distance = 0.1 distance = 0.1
willing_to_buy = list() willing_to_buy = list()
willing_to_sell = list() willing_to_sell = list()
@@ -61,7 +61,7 @@ var/list/weighted_mundaneevent_locations = list()
/datum/trade_destination/redolant/get_custom_eventstring(var/event_type) /datum/trade_destination/redolant/get_custom_eventstring(var/event_type)
if(event_type == RESEARCH_BREAKTHROUGH) if(event_type == RESEARCH_BREAKTHROUGH)
return "Thanks to research conducted on the OAV Redolant, Osiris Atmospherics wishes to announce a major breakthough in the field of \ return "Thanks to research conducted on the OAV Redolant, Osiris Atmospherics wishes to announce a major breakthough in the field of \
[pick("phoron research","high energy flux capacitance","super-compressed materials","theoretical particle physics")]. NanoTrasen is expected to announce a co-exploitation deal within the fortnight." [pick("phoron research","high energy flux capacitance","super-compressed materials","theoretical particle physics")]. [company_name] is expected to announce a co-exploitation deal within the fortnight."
return null return null
/datum/trade_destination/beltway /datum/trade_destination/beltway

View File

@@ -86,7 +86,7 @@ var/global/economy_init = 0
if(economy_init) if(economy_init)
return 2 return 2
news_network.CreateFeedChannel("Nyx Daily", "CentComm Minister of Information", 1, 1) news_network.CreateFeedChannel("Nyx Daily", "SolGov Minister of Information", 1, 1)
news_network.CreateFeedChannel("The Gibson Gazette", "Editor Mike Hammers", 1, 1) news_network.CreateFeedChannel("The Gibson Gazette", "Editor Mike Hammers", 1, 1)
for(var/loc_type in typesof(/datum/trade_destination) - /datum/trade_destination) for(var/loc_type in typesof(/datum/trade_destination) - /datum/trade_destination)

View File

@@ -65,7 +65,7 @@
"Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.", "Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.",
"You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".", "You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".",
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.",
"NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "[company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
"All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.",
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.",
"Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.",
@@ -82,7 +82,7 @@
MS.spamfilter.Cut() MS.spamfilter.Cut()
var/i var/i
for (i = 1, i <= MS.spamfilter_limit, i++) for (i = 1, i <= MS.spamfilter_limit, i++)
MS.spamfilter += pick("kitty","HONK","rev","malf","liberty","freedom","drugs", "Exodus", \ MS.spamfilter += pick("kitty","HONK","rev","malf","liberty","freedom","drugs", "[station_short]", \
"admin","ponies","heresy","meow","Pun Pun","monkey","Ian","moron","pizza","message","spam",\ "admin","ponies","heresy","meow","Pun Pun","monkey","Ian","moron","pizza","message","spam",\
"director", "Hello", "Hi!"," ","nuke","crate","dwarf","xeno") "director", "Hello", "Hi!"," ","nuke","crate","dwarf","xeno")

View File

@@ -23,7 +23,7 @@
deposit_success = 1 deposit_success = 1
/datum/event/money_lotto/announce() /datum/event/money_lotto/announce()
var/author = "NanoTrasen Editor" var/author = "[company_name] Editor"
var/channel = "Nyx Daily" var/channel = "Nyx Daily"
var/body = "Nyx Daily wishes to congratulate <b>[winner_name]</b> for recieving the Nyx Stellar Slam Lottery, and receiving the out of this world sum of [winner_sum] credits!" var/body = "Nyx Daily wishes to congratulate <b>[winner_name]</b> for recieving the Nyx Stellar Slam Lottery, and receiving the out of this world sum of [winner_sum] credits!"

View File

@@ -65,7 +65,7 @@
if(4) if(4)
sender = pick("Buy Dr. Maxman","Having dysfuctional troubles?") sender = pick("Buy Dr. Maxman","Having dysfuctional troubles?")
message = pick("DR MAXMAN: REAL Doctors, REAL Science, REAL Results!",\ message = pick("DR MAXMAN: REAL Doctors, REAL Science, REAL Results!",\
"Dr. Maxman was created by George Acuilar, M.D, a CentComm Certified Urologist who has treated over 70,000 patients sector wide with 'male problems'.",\ "Dr. Maxman was created by George Acuilar, M.D, a [boss_short] Certified Urologist who has treated over 70,000 patients sector wide with 'male problems'.",\
"After seven years of research, Dr Acuilar and his team came up with this simple breakthrough male enhancement formula.",\ "After seven years of research, Dr Acuilar and his team came up with this simple breakthrough male enhancement formula.",\
"Men of all species report AMAZING increases in length, width and stamina.") "Men of all species report AMAZING increases in length, width and stamina.")
if(5) if(5)
@@ -78,11 +78,11 @@
"Due to my lack of agents I require an off-world financial account to immediately deposit the sum of 1 POINT FIVE MILLION credits.",\ "Due to my lack of agents I require an off-world financial account to immediately deposit the sum of 1 POINT FIVE MILLION credits.",\
"Greetings sir, I regretfully to inform you that as I lay dying here due to my lack ofheirs I have chosen you to recieve the full sum of my lifetime savings of 1.5 billion credits") "Greetings sir, I regretfully to inform you that as I lay dying here due to my lack ofheirs I have chosen you to recieve the full sum of my lifetime savings of 1.5 billion credits")
if(6) if(6)
sender = pick("NanoTrasen Morale Divison","Feeling Lonely?","Bored?","www.wetskrell.nt") sender = pick("[company_name] Morale Divison","Feeling Lonely?","Bored?","www.wetskrell.nt")
message = pick("The NanoTrasen Morale Division wishes to provide you with quality entertainment sites.",\ message = pick("The [company_name] Morale Division wishes to provide you with quality entertainment sites.",\
"WetSkrell.nt is a xenophillic website endorsed by NT for the use of male crewmembers among it's many stations and outposts.",\ "WetSkrell.nt is a xenophillic website endorsed by NT for the use of male crewmembers among it's many stations and outposts.",\
"Wetskrell.nt only provides the higest quality of male entertaiment to NanoTrasen Employees.",\ "Wetskrell.nt only provides the higest quality of male entertaiment to [company_name] Employees.",\
"Simply enter your NanoTrasen Bank account system number and pin. With three easy steps this service could be yours!") "Simply enter your [company_name] Bank account system number and pin. With three easy steps this service could be yours!")
if(7) if(7)
sender = pick("You have won free tickets!","Click here to claim your prize!","You are the 1000th vistor!","You are our lucky grand prize winner!") sender = pick("You have won free tickets!","Click here to claim your prize!","You are the 1000th vistor!","You are our lucky grand prize winner!")
message = pick("You have won tickets to the newest ACTION JAXSON MOVIE!",\ message = pick("You have won tickets to the newest ACTION JAXSON MOVIE!",\

View File

@@ -4,7 +4,7 @@ var/list/dreams = list(
"voices from all around","deep space","a doctor","the engine","a traitor","an ally","darkness", "voices from all around","deep space","a doctor","the engine","a traitor","an ally","darkness",
"light","a scientist","a monkey","a catastrophe","a loved one","a gun","warmth","freezing","the sun", "light","a scientist","a monkey","a catastrophe","a loved one","a gun","warmth","freezing","the sun",
"a hat","the Luna","a ruined station","a planet","phoron","air","the medical bay","the bridge","blinking lights", "a hat","the Luna","a ruined station","a planet","phoron","air","the medical bay","the bridge","blinking lights",
"a blue light","an abandoned laboratory","Nanotrasen","mercenaries","blood","healing","power","respect", "a blue light","an abandoned laboratory","NanoTrasen","mercenaries","blood","healing","power","respect",
"riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying","the eggs","money", "riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying","the eggs","money",
"the head of personnel","the head of security","a chief engineer","a research director","a chief medical officer", "the head of personnel","the head of security","a chief engineer","a research director","a chief medical officer",
"the detective","the warden","a member of the internal affairs","a station engineer","the janitor","atmospheric technician", "the detective","the warden","a member of the internal affairs","a station engineer","the janitor","atmospheric technician",

View File

@@ -129,7 +129,7 @@
safety_disabled = 1 safety_disabled = 1
update_projections() update_projections()
user << "<span class='notice'>You vastly increase projector power and override the safety and security protocols.</span>" user << "<span class='notice'>You vastly increase projector power and override the safety and security protocols.</span>"
user << "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator." user << "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call [company_name] maintenance and do not use the simulator."
log_game("[key_name(usr)] emagged the Holodeck Control Computer") log_game("[key_name(usr)] emagged the Holodeck Control Computer")
return 1 return 1
src.updateUsrDialog() src.updateUsrDialog()

View File

@@ -15,6 +15,15 @@
attack_verb = list("attacked", "slapped", "whacked") attack_verb = list("attacked", "slapped", "whacked")
var/mob/living/carbon/brain/brainmob = null var/mob/living/carbon/brain/brainmob = null
/obj/item/organ/pariah_brain
name = "brain remnants"
desc = "Did someone tread on this? It looks useless for cloning or cyborgification."
organ_tag = "brain"
parent_organ = "head"
icon = 'icons/mob/alien.dmi'
icon_state = "chitin"
vital = 1
/obj/item/organ/brain/xeno /obj/item/organ/brain/xeno
name = "thinkpan" name = "thinkpan"
desc = "It looks kind of like an enormous wad of purple bubblegum." desc = "It looks kind of like an enormous wad of purple bubblegum."

View File

@@ -163,7 +163,7 @@
continue continue
if(check_gender && gender == FEMALE && S.gender == MALE) if(check_gender && gender == FEMALE && S.gender == MALE)
continue continue
if(!(species.name in S.species_allowed)) if(!(species.get_bodytype() in S.species_allowed))
continue continue
valid_hairstyles += hairstyle valid_hairstyles += hairstyle
@@ -178,7 +178,7 @@
continue continue
if(gender == FEMALE && S.gender == MALE) if(gender == FEMALE && S.gender == MALE)
continue continue
if(!(species.name in S.species_allowed)) if(!(species.get_bodytype() in S.species_allowed))
continue continue
valid_facial_hairstyles += facialhairstyle valid_facial_hairstyles += facialhairstyle

View File

@@ -71,7 +71,7 @@
if(!T || !src || src.stat) return if(!T || !src || src.stat) return
if(get_dist(get_turf(T), get_turf(src)) > 6) return if(get_dist(get_turf(T), get_turf(src)) > 4) return
if(last_special > world.time) if(last_special > world.time)
return return
@@ -83,8 +83,8 @@
last_special = world.time + 75 last_special = world.time + 75
status_flags |= LEAPING status_flags |= LEAPING
src.visible_message("<span class='warning'><b>\The [src]</b> leaps at [T]!</span>") src.visible_message("<span class='danger'>\The [src] leaps at [T]!</span>")
src.throw_at(get_step(get_turf(T),get_turf(src)), 5, 1, src) src.throw_at(get_step(get_turf(T),get_turf(src)), 4, 1, src)
playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1) playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1)
sleep(5) sleep(5)
@@ -92,13 +92,13 @@
if(status_flags & LEAPING) status_flags &= ~LEAPING if(status_flags & LEAPING) status_flags &= ~LEAPING
if(!src.Adjacent(T)) if(!src.Adjacent(T))
src << "\red You miss!" src << "<span class='warning'>You miss!</span>"
return return
T.Weaken(5) T.Weaken(3)
//Only official cool kids get the grab and no self-prone. // Pariahs are not good at leaping. This is snowflakey, pls fix.
if(!(src.mind && src.mind.special_role)) if(species.name == "Vox Pariah")
src.Weaken(5) src.Weaken(5)
return return
@@ -118,7 +118,7 @@
else else
r_hand = G r_hand = G
G.state = GRAB_AGGRESSIVE G.state = GRAB_PASSIVE
G.icon_state = "grabbed1" G.icon_state = "grabbed1"
G.synch() G.synch()

View File

@@ -7,7 +7,7 @@
language = "Galactic Common" language = "Galactic Common"
num_alternate_languages = 1 num_alternate_languages = 1
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong) unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong)
rarity_value = 2 rarity_value = 4
blurb = "The Vox are the broken remnants of a once-proud race, now reduced to little more than \ blurb = "The Vox are the broken remnants of a once-proud race, now reduced to little more than \
scavenging vermin who prey on isolated stations, ships or planets to keep their own ancient arkships \ scavenging vermin who prey on isolated stations, ships or planets to keep their own ancient arkships \
alive. They are four to five feet tall, reptillian, beaked, tailed and quilled; human crews often \ alive. They are four to five feet tall, reptillian, beaked, tailed and quilled; human crews often \
@@ -50,7 +50,8 @@
"liver" = /obj/item/organ/liver, "liver" = /obj/item/organ/liver,
"kidneys" = /obj/item/organ/kidneys, "kidneys" = /obj/item/organ/kidneys,
"brain" = /obj/item/organ/brain, "brain" = /obj/item/organ/brain,
"eyes" = /obj/item/organ/eyes "eyes" = /obj/item/organ/eyes,
"stack" = /obj/item/organ/stack/vox
) )
/datum/species/vox/get_random_name(var/gender) /datum/species/vox/get_random_name(var/gender)
@@ -70,7 +71,57 @@
H.internals.icon_state = "internal1" H.internals.icon_state = "internal1"
/datum/species/vox/can_shred(var/mob/living/carbon/human/H, var/ignore_intent) /datum/species/vox/get_station_variant()
if(!H.mind || !H.mind.special_role) // Pariah check. return "Vox Pariah"
return 0
return ..() // Joining as a station vox will give you this template, hence IS_RESTRICTED flag.
/datum/species/vox/pariah
name = "Vox Pariah"
rarity_value = 0.1
speech_chance = 60 // No volume control.
siemens_coefficient = 0.5 // Ragged scaleless patches.
warning_low_pressure = (WARNING_LOW_PRESSURE-20)
hazard_low_pressure = (HAZARD_LOW_PRESSURE-10)
total_health = 80
cold_level_1 = 130
cold_level_2 = 100
cold_level_3 = 60
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite)
// Pariahs have no stack.
has_organ = list(
"heart" = /obj/item/organ/heart,
"lungs" = /obj/item/organ/lungs,
"liver" = /obj/item/organ/liver,
"kidneys" = /obj/item/organ/kidneys,
"brain" = /obj/item/organ/pariah_brain,
"eyes" = /obj/item/organ/eyes
)
flags = IS_RESTRICTED | NO_SCAN | HAS_EYE_COLOR
// No combat skills for you.
/datum/species/vox/pariah/can_shred(var/mob/living/carbon/human/H, var/ignore_intent)
return 0
// Pariahs are really gross.
/datum/species/vox/pariah/handle_environment_special(var/mob/living/carbon/human/H)
if(prob(5))
var/stink_range = rand(3,5)
for(var/mob/living/M in range(H,stink_range))
if(M.stat || M == H)
continue
var/mob/living/carbon/human/target = M
if(istype(target))
if(target.internals)
continue
if(target.head && (target.head.body_parts_covered & FACE) && (target.head.flags & AIRTIGHT))
continue
if(target.wear_mask && (target.wear_mask.body_parts_covered & FACE) && (target.wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT))
continue
M << "<span class='danger'>A terrible stench emanates from \the [H].</span>"
/datum/species/vox/pariah/get_bodytype()
return "Vox"

View File

@@ -155,6 +155,12 @@
for(var/u_type in unarmed_types) for(var/u_type in unarmed_types)
unarmed_attacks += new u_type() unarmed_attacks += new u_type()
/datum/species/proc/get_station_variant()
return name
/datum/species/proc/get_bodytype()
return name
/datum/species/proc/get_environment_discomfort(var/mob/living/carbon/human/H, var/msg_type) /datum/species/proc/get_environment_discomfort(var/mob/living/carbon/human/H, var/msg_type)
if(!prob(5)) if(!prob(5))

View File

@@ -62,6 +62,9 @@
var/weeds_heal_rate = 1 // Health regen on weeds. var/weeds_heal_rate = 1 // Health regen on weeds.
var/weeds_plasma_rate = 5 // Plasma regen on weeds. var/weeds_plasma_rate = 5 // Plasma regen on weeds.
/datum/species/xenos/get_bodytype()
return "Xenomorph"
/datum/species/xenos/get_random_name() /datum/species/xenos/get_random_name()
return "alien [caste_name] ([alien_number])" return "alien [caste_name] ([alien_number])"

View File

@@ -357,7 +357,7 @@ var/global/list/damage_icon_parts = list()
if(f_style) if(f_style)
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style] var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style]
if(facial_hair_style && facial_hair_style.species_allowed && (src.species.name in facial_hair_style.species_allowed)) if(facial_hair_style && facial_hair_style.species_allowed && (src.species.get_bodytype() in facial_hair_style.species_allowed))
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
if(facial_hair_style.do_colouration) if(facial_hair_style.do_colouration)
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD) facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
@@ -366,7 +366,7 @@ var/global/list/damage_icon_parts = list()
if(h_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) if(h_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
if(hair_style && src.species.name in hair_style.species_allowed) if(hair_style && (src.species.get_bodytype() in hair_style.species_allowed))
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
if(hair_style.do_colouration) if(hair_style.do_colouration)
hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD)
@@ -475,8 +475,8 @@ var/global/list/damage_icon_parts = list()
var/icon/under_icon var/icon/under_icon
if(w_uniform.icon_override) if(w_uniform.icon_override)
under_icon = w_uniform.icon_override under_icon = w_uniform.icon_override
else if(w_uniform.sprite_sheets && w_uniform.sprite_sheets[species.name]) else if(w_uniform.sprite_sheets && w_uniform.sprite_sheets[species.get_bodytype()])
under_icon = w_uniform.sprite_sheets[species.name] under_icon = w_uniform.sprite_sheets[species.get_bodytype()]
else if(w_uniform.item_icons && w_uniform.item_icons[slot_w_uniform_str]) else if(w_uniform.item_icons && w_uniform.item_icons[slot_w_uniform_str])
under_icon = w_uniform.item_icons[slot_w_uniform_str] under_icon = w_uniform.item_icons[slot_w_uniform_str]
else else
@@ -536,8 +536,8 @@ var/global/list/damage_icon_parts = list()
var/image/standing var/image/standing
if(gloves.icon_override) if(gloves.icon_override)
standing = image("icon" = gloves.icon_override, "icon_state" = "[t_state]") standing = image("icon" = gloves.icon_override, "icon_state" = "[t_state]")
else if(gloves.sprite_sheets && gloves.sprite_sheets[species.name]) else if(gloves.sprite_sheets && gloves.sprite_sheets[species.get_bodytype()])
standing = image("icon" = gloves.sprite_sheets[species.name], "icon_state" = "[t_state]") standing = image("icon" = gloves.sprite_sheets[species.get_bodytype()], "icon_state" = "[t_state]")
else else
standing = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]") standing = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]")
@@ -562,8 +562,8 @@ var/global/list/damage_icon_parts = list()
if(glasses.icon_override) if(glasses.icon_override)
overlays_standing[GLASSES_LAYER] = image("icon" = glasses.icon_override, "icon_state" = "[glasses.icon_state]") overlays_standing[GLASSES_LAYER] = image("icon" = glasses.icon_override, "icon_state" = "[glasses.icon_state]")
else if(glasses.sprite_sheets && glasses.sprite_sheets[species.name]) else if(glasses.sprite_sheets && glasses.sprite_sheets[species.get_bodytype()])
overlays_standing[GLASSES_LAYER]= image("icon" = glasses.sprite_sheets[species.name], "icon_state" = "[glasses.icon_state]") overlays_standing[GLASSES_LAYER]= image("icon" = glasses.sprite_sheets[species.get_bodytype()], "icon_state" = "[glasses.icon_state]")
else else
overlays_standing[GLASSES_LAYER]= image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]") overlays_standing[GLASSES_LAYER]= image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]")
@@ -584,9 +584,9 @@ var/global/list/damage_icon_parts = list()
if(l_ear.icon_override) if(l_ear.icon_override)
t_type = "[t_type]_l" t_type = "[t_type]_l"
overlays_standing[EARS_LAYER] = image("icon" = l_ear.icon_override, "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = l_ear.icon_override, "icon_state" = "[t_type]")
else if(l_ear.sprite_sheets && l_ear.sprite_sheets[species.name]) else if(l_ear.sprite_sheets && l_ear.sprite_sheets[species.get_bodytype()])
t_type = "[t_type]_l" t_type = "[t_type]_l"
overlays_standing[EARS_LAYER] = image("icon" = l_ear.sprite_sheets[species.name], "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = l_ear.sprite_sheets[species.get_bodytype()], "icon_state" = "[t_type]")
else else
overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]")
@@ -596,9 +596,9 @@ var/global/list/damage_icon_parts = list()
if(r_ear.icon_override) if(r_ear.icon_override)
t_type = "[t_type]_r" t_type = "[t_type]_r"
overlays_standing[EARS_LAYER] = image("icon" = r_ear.icon_override, "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = r_ear.icon_override, "icon_state" = "[t_type]")
else if(r_ear.sprite_sheets && r_ear.sprite_sheets[species.name]) else if(r_ear.sprite_sheets && r_ear.sprite_sheets[species.get_bodytype()])
t_type = "[t_type]_r" t_type = "[t_type]_r"
overlays_standing[EARS_LAYER] = image("icon" = r_ear.sprite_sheets[species.name], "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = r_ear.sprite_sheets[species.get_bodytype()], "icon_state" = "[t_type]")
else else
overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]")
@@ -612,8 +612,8 @@ var/global/list/damage_icon_parts = list()
var/image/standing var/image/standing
if(shoes.icon_override) if(shoes.icon_override)
standing = image("icon" = shoes.icon_override, "icon_state" = "[shoes.icon_state]") standing = image("icon" = shoes.icon_override, "icon_state" = "[shoes.icon_state]")
else if(shoes.sprite_sheets && shoes.sprite_sheets[species.name]) else if(shoes.sprite_sheets && shoes.sprite_sheets[species.get_bodytype()])
standing = image("icon" = shoes.sprite_sheets[species.name], "icon_state" = "[shoes.icon_state]") standing = image("icon" = shoes.sprite_sheets[species.get_bodytype()], "icon_state" = "[shoes.icon_state]")
else else
standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]") standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]")
@@ -650,8 +650,8 @@ var/global/list/damage_icon_parts = list()
var/t_icon var/t_icon
if(head.icon_override) if(head.icon_override)
t_icon = head.icon_override t_icon = head.icon_override
else if(head.sprite_sheets && head.sprite_sheets[species.name]) else if(head.sprite_sheets && head.sprite_sheets[species.get_bodytype()])
t_icon = head.sprite_sheets[species.name] t_icon = head.sprite_sheets[species.get_bodytype()]
else if(head.item_icons && (slot_head_str in head.item_icons)) else if(head.item_icons && (slot_head_str in head.item_icons))
t_icon = head.item_icons[slot_head_str] t_icon = head.item_icons[slot_head_str]
@@ -700,8 +700,8 @@ var/global/list/damage_icon_parts = list()
if(belt.icon_override) if(belt.icon_override)
standing.icon = belt.icon_override standing.icon = belt.icon_override
else if(belt.sprite_sheets && belt.sprite_sheets[species.name]) else if(belt.sprite_sheets && belt.sprite_sheets[species.get_bodytype()])
standing.icon = belt.sprite_sheets[species.name] standing.icon = belt.sprite_sheets[species.get_bodytype()]
else else
standing.icon = 'icons/mob/belt.dmi' standing.icon = 'icons/mob/belt.dmi'
@@ -727,7 +727,7 @@ var/global/list/damage_icon_parts = list()
var/t_icon = INV_SUIT_DEF_ICON var/t_icon = INV_SUIT_DEF_ICON
if(wear_suit.icon_override) if(wear_suit.icon_override)
t_icon = wear_suit.icon_override t_icon = wear_suit.icon_override
else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name]) else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.get_bodytype()])
t_icon = wear_suit.sprite_sheets[species.name] t_icon = wear_suit.sprite_sheets[species.name]
else if(wear_suit.item_icons && wear_suit.item_icons[slot_wear_suit_str]) else if(wear_suit.item_icons && wear_suit.item_icons[slot_wear_suit_str])
t_icon = wear_suit.item_icons[slot_wear_suit_str] t_icon = wear_suit.item_icons[slot_wear_suit_str]
@@ -770,8 +770,8 @@ var/global/list/damage_icon_parts = list()
var/image/standing var/image/standing
if(wear_mask.icon_override) if(wear_mask.icon_override)
standing = image("icon" = wear_mask.icon_override, "icon_state" = "[wear_mask.icon_state]") standing = image("icon" = wear_mask.icon_override, "icon_state" = "[wear_mask.icon_state]")
else if(wear_mask.sprite_sheets && wear_mask.sprite_sheets[species.name]) else if(wear_mask.sprite_sheets && wear_mask.sprite_sheets[species.get_bodytype()])
standing = image("icon" = wear_mask.sprite_sheets[species.name], "icon_state" = "[wear_mask.icon_state]") standing = image("icon" = wear_mask.sprite_sheets[species.get_bodytype()], "icon_state" = "[wear_mask.icon_state]")
else else
standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]") standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]")
@@ -797,8 +797,8 @@ var/global/list/damage_icon_parts = list()
//If this is a rig and a mob_icon is set, it will take species into account in the rig update_icon() proc. //If this is a rig and a mob_icon is set, it will take species into account in the rig update_icon() proc.
var/obj/item/weapon/rig/rig = back var/obj/item/weapon/rig/rig = back
overlay_icon = rig.mob_icon overlay_icon = rig.mob_icon
else if(back.sprite_sheets && back.sprite_sheets[species.name]) else if(back.sprite_sheets && back.sprite_sheets[species.get_bodytype()])
overlay_icon = back.sprite_sheets[species.name] overlay_icon = back.sprite_sheets[species.get_bodytype()]
else if(back.item_icons && (slot_back_str in back.item_icons)) else if(back.item_icons && (slot_back_str in back.item_icons))
overlay_icon = back.item_icons[slot_back_str] overlay_icon = back.item_icons[slot_back_str]
else else

View File

@@ -370,12 +370,12 @@ var/list/ai_verbs_default = list(
if(emergency_message_cooldown) if(emergency_message_cooldown)
usr << "<span class='warning'>Arrays recycling. Please stand by.</span>" usr << "<span class='warning'>Arrays recycling. Please stand by.</span>"
return return
var/input = input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "") var/input = input(usr, "Please choose a message to transmit to [boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")
if(!input) if(!input)
return return
Centcomm_announce(input, usr) Centcomm_announce(input, usr)
usr << "<span class='notice'>Message transmitted.</span>" usr << "<span class='notice'>Message transmitted.</span>"
log_say("[key_name(usr)] has made an IA Centcomm announcement: [input]") log_say("[key_name(usr)] has made an IA [boss_short] announcement: [input]")
emergency_message_cooldown = 1 emergency_message_cooldown = 1
spawn(300) spawn(300)
emergency_message_cooldown = 0 emergency_message_cooldown = 0

View File

@@ -99,7 +99,7 @@ var/list/mob_hat_cache = list()
if(!laws) laws = new law_type if(!laws) laws = new law_type
if(!module) module = new module_type(src) if(!module) module = new module_type(src)
flavor_text = "It's a tiny little repair drone. The casing is stamped with an NT logo and the subscript: 'NanoTrasen Recursive Repair Systems: Fixing Tomorrow's Problem, Today!'" flavor_text = "It's a tiny little repair drone. The casing is stamped with an corporate logo and the subscript: '[company_name] Recursive Repair Systems: Fixing Tomorrow's Problem, Today!'"
playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0) playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0)
//Redefining some robot procs... //Redefining some robot procs...

Some files were not shown because too many files have changed in this diff Show More