mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-12 08:27:24 +01:00
Merge branch 'master' into pubby
This commit is contained in:
@@ -32,6 +32,9 @@
|
||||
/area/ruin/powered/seedvault
|
||||
icon_state = "dk_yellow"
|
||||
|
||||
/area/ruin/powered/oasis
|
||||
icon_state = "dk_yellow"
|
||||
|
||||
/area/ruin/unpowered/syndicate_lava_base
|
||||
name = "Secret Base"
|
||||
icon_state = "dk_yellow"
|
||||
|
||||
@@ -13,6 +13,13 @@
|
||||
//HUD images that this atom can provide.
|
||||
var/list/hud_possible
|
||||
|
||||
/// Last name used to calculate a color for the chatmessage overlays
|
||||
var/chat_color_name
|
||||
/// Last color calculated for the the chatmessage overlays
|
||||
var/chat_color
|
||||
/// A luminescence-shifted value of the last color calculated for chatmessage overlays
|
||||
var/chat_color_darkened
|
||||
|
||||
//Value used to increment ex_act() if reactionary_explosions is on
|
||||
var/explosion_block = 0
|
||||
|
||||
|
||||
@@ -164,7 +164,6 @@
|
||||
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src)
|
||||
|
||||
H.hardset_dna(ui, mutation_index, H.real_name, null, mrace, features)
|
||||
|
||||
if(prob(50 - efficiency*10)) //Chance to give a bad mutation.
|
||||
H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) //100% bad mutation. Can be cured with mutadone.
|
||||
|
||||
@@ -205,7 +204,10 @@
|
||||
H.give_genitals(TRUE)
|
||||
|
||||
H.suiciding = FALSE
|
||||
H.custom_body_size = H.client.prefs.body_size
|
||||
//H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) //Not working dont know why.
|
||||
attempting = FALSE
|
||||
|
||||
return TRUE
|
||||
|
||||
//Grow clones to maturity then kick them out. FREELOADERS
|
||||
|
||||
@@ -449,6 +449,10 @@
|
||||
var/mob/living/brain/B = mob_occupant
|
||||
dna = B.stored_dna
|
||||
|
||||
if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE))
|
||||
scantemp = "<font class='bad'>Subject has an active DNC record on file. Unable to clone.</font>"
|
||||
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
|
||||
return
|
||||
if(!istype(dna))
|
||||
scantemp = "<font class='bad'>Unable to locate valid genetic data.</font>"
|
||||
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
|
||||
|
||||
@@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
|
||||
/obj/machinery/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 Kinaris-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!"
|
||||
icon = 'icons/obj/terminals.dmi'
|
||||
icon_state = "newscaster_normal"
|
||||
verb_say = "beeps"
|
||||
@@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
switch(screen)
|
||||
if(0)
|
||||
dat += "Welcome to Newscasting Unit #[unit_no].<BR> Interface & News networks Operational."
|
||||
dat += "<BR><FONT SIZE=1>Property of Nanotrasen Inc</FONT>"
|
||||
dat += "<BR><FONT SIZE=1>Property of Kinaris Corp</FONT>"
|
||||
if(GLOB.news_network.wanted_issue.active)
|
||||
dat+= "<HR><A href='?src=[REF(src)];view_wanted=1'>Read Wanted Issue</A>"
|
||||
dat+= "<HR><BR><A href='?src=[REF(src)];create_channel=1'>Create Feed Channel</A>"
|
||||
@@ -616,14 +616,14 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
screen = 15
|
||||
else
|
||||
if(GLOB.news_network.wanted_issue.isAdminMsg)
|
||||
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 Kinaris higherup. You cannot edit it.","Ok")
|
||||
return
|
||||
GLOB.news_network.submitWanted(channel_name, msg, scanned_user, picture)
|
||||
screen = 19
|
||||
updateUsrDialog()
|
||||
else if(href_list["cancel_wanted"])
|
||||
if(GLOB.news_network.wanted_issue.isAdminMsg)
|
||||
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 Kinaris higherup. You cannot take it down.","Ok")
|
||||
return
|
||||
var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel")
|
||||
if(choice=="Confirm")
|
||||
@@ -636,21 +636,21 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
else if(href_list["censor_channel_author"])
|
||||
var/datum/newscaster/feed_channel/FC = locate(href_list["censor_channel_author"])
|
||||
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 Kinaris Officer. You cannot censor it.","Ok")
|
||||
return
|
||||
FC.toggleCensorAuthor()
|
||||
updateUsrDialog()
|
||||
else if(href_list["censor_channel_story_author"])
|
||||
var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_author"])
|
||||
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 Kinaris Officer. You cannot censor its author.","Ok")
|
||||
return
|
||||
MSG.toggleCensorAuthor()
|
||||
updateUsrDialog()
|
||||
else if(href_list["censor_channel_story_body"])
|
||||
var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_body"])
|
||||
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 Kinaris Officer. You cannot censor it.","Ok")
|
||||
return
|
||||
MSG.toggleCensorBody()
|
||||
updateUsrDialog()
|
||||
@@ -662,7 +662,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
else if(href_list["toggle_d_notice"])
|
||||
var/datum/newscaster/feed_channel/FC = locate(href_list["toggle_d_notice"])
|
||||
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 Kinaris Officer. You cannot place a D-Notice upon it.","Ok")
|
||||
return
|
||||
FC.toggleCensorDclass()
|
||||
updateUsrDialog()
|
||||
@@ -864,7 +864,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
|
||||
/obj/item/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 Kin.Co Space Stations."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "newspaper"
|
||||
lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi'
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
/obj/structure/sign/poster/contraband
|
||||
poster_item_name = "contraband poster"
|
||||
poster_item_desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard Nanotrasen space facilities."
|
||||
poster_item_desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard space facilities."
|
||||
poster_item_icon_state = "rolled_poster"
|
||||
|
||||
/obj/structure/sign/poster/contraband/random
|
||||
@@ -264,7 +264,7 @@
|
||||
|
||||
/obj/structure/sign/poster/contraband/power
|
||||
name = "Power"
|
||||
desc = "A poster that positions the seat of power outside Nanotrasen."
|
||||
desc = "A poster that positions the seat of power outside Kinaris.Co."
|
||||
icon_state = "poster16"
|
||||
|
||||
/obj/structure/sign/poster/contraband/space_cube
|
||||
@@ -425,8 +425,8 @@
|
||||
icon_state = "poster1_legit"
|
||||
|
||||
/obj/structure/sign/poster/official/nanotrasen_logo
|
||||
name = "Nanotrasen Logo"
|
||||
desc = "A poster depicting the Nanotrasen logo."
|
||||
name = "Kinaris Logo"
|
||||
desc = "A poster depicting the Kinaris.Co logo."
|
||||
icon_state = "poster2_legit"
|
||||
|
||||
/obj/structure/sign/poster/official/cleanliness
|
||||
@@ -556,12 +556,12 @@
|
||||
|
||||
/obj/structure/sign/poster/official/pda_ad
|
||||
name = "PDA Ad"
|
||||
desc = "A poster advertising the latest PDA from Nanotrasen suppliers."
|
||||
desc = "A poster advertising the latest PDA from Think-a-tronic suppliers."
|
||||
icon_state = "poster28_legit"
|
||||
|
||||
/obj/structure/sign/poster/official/enlist
|
||||
name = "Enlist" // but I thought deathsquad was never acknowledged
|
||||
desc = "Enlist in the Nanotrasen Deathsquadron reserves today!"
|
||||
desc = "Enlist in the Kinaris Deathsquadron reserves today!"
|
||||
icon_state = "poster29_legit"
|
||||
|
||||
/obj/structure/sign/poster/official/nanomichi_ad
|
||||
@@ -586,7 +586,7 @@
|
||||
|
||||
/obj/structure/sign/poster/official/no_erp
|
||||
name = "No ERP"
|
||||
desc = "This poster reminds the crew that Eroticism, Rape and Pornography are banned on Nanotrasen stations."
|
||||
desc = "This poster reminds the crew that Eroticism, Rape and Pornography are banned on Kinaris stations."
|
||||
icon_state = "poster34_legit"
|
||||
|
||||
/obj/structure/sign/poster/official/wtf_is_co2
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
AddComponent(/datum/component/slippery, 80)
|
||||
|
||||
/obj/item/soap/nanotrasen
|
||||
desc = "A Nanotrasen brand bar of soap. Smells of plasma."
|
||||
desc = "A Kinaris.Co brand bar of soap. Smells of plasma."
|
||||
icon_state = "soapnt"
|
||||
|
||||
/obj/item/soap/homemade
|
||||
|
||||
@@ -271,10 +271,10 @@
|
||||
"}
|
||||
|
||||
/obj/item/book/manual/wiki/chemistry
|
||||
name = "Chemistry Textbook"
|
||||
name = "Guide to chems"
|
||||
icon_state ="chemistrybook"
|
||||
author = "Nanotrasen"
|
||||
title = "Chemistry Textbook"
|
||||
author = "Kin-Chems"
|
||||
title = "Guide to chems"
|
||||
page_link = "Guide_to_chemistry"
|
||||
|
||||
/obj/item/book/manual/wiki/engineering_construction
|
||||
@@ -292,17 +292,17 @@
|
||||
page_link = "Guide_to_engineering"
|
||||
|
||||
/obj/item/book/manual/wiki/engineering_singulo_tesla
|
||||
name = "Singularity and Tesla for Dummies"
|
||||
name = "Singularity 101"
|
||||
icon_state ="bookEngineeringSingularitySafety"
|
||||
author = "Engineering Encyclopedia"
|
||||
title = "Singularity and Tesla for Dummies"
|
||||
title = "Singularity 101"
|
||||
page_link = "Singularity_and_Tesla_engines"
|
||||
|
||||
/obj/item/book/manual/wiki/security_space_law
|
||||
name = "Space Law"
|
||||
desc = "A set of Nanotrasen guidelines for keeping law and order on their space stations."
|
||||
desc = "A set of Kin-Station guidelines for keeping law and order on their space stations."
|
||||
icon_state = "bookSpaceLaw"
|
||||
author = "Nanotrasen"
|
||||
author = "Kin.Co PMC"
|
||||
title = "Space Law"
|
||||
page_link = "Space_Law"
|
||||
|
||||
@@ -311,10 +311,10 @@
|
||||
return OXYLOSS
|
||||
|
||||
/obj/item/book/manual/wiki/infections
|
||||
name = "Infections - Making your own pandemic!"
|
||||
name = "Space CDC: Infections and you!"
|
||||
icon_state = "bookInfections"
|
||||
author = "Infections Encyclopedia"
|
||||
title = "Infections - Making your own pandemic!"
|
||||
title = "Space CDC: Infections and you!"
|
||||
page_link = "Infections"
|
||||
|
||||
/obj/item/book/manual/wiki/telescience
|
||||
@@ -325,16 +325,16 @@
|
||||
page_link = "Guide_to_telescience"
|
||||
|
||||
/obj/item/book/manual/wiki/engineering_hacking
|
||||
name = "Hacking"
|
||||
name = "Hacking: A greytider's manual"
|
||||
icon_state ="bookHacking"
|
||||
author = "Engineering Encyclopedia"
|
||||
title = "Hacking"
|
||||
author = "The Greytider"
|
||||
title = "Hacking: A greytider's manual"
|
||||
page_link = "Hacking"
|
||||
|
||||
/obj/item/book/manual/wiki/detective
|
||||
name = "The Film Noir: Proper Procedures for Investigations"
|
||||
icon_state ="bookDetective"
|
||||
author = "Nanotrasen"
|
||||
author = "The Stranger"
|
||||
title = "The Film Noir: Proper Procedures for Investigations"
|
||||
page_link = "Detective"
|
||||
|
||||
@@ -346,17 +346,17 @@
|
||||
page_link = "Guide_to_food_and_drinks"
|
||||
|
||||
/obj/item/book/manual/wiki/robotics_cyborgs
|
||||
name = "Robotics for Dummies"
|
||||
name = "The offical Robotics manual"
|
||||
icon_state = "borgbook"
|
||||
author = "XISC"
|
||||
title = "Robotics for Dummies"
|
||||
title = "The offical Robotics manual"
|
||||
page_link = "Guide_to_robotics"
|
||||
|
||||
/obj/item/book/manual/wiki/research_and_development
|
||||
name = "Research and Development 101"
|
||||
name = "RnD: safe sciences"
|
||||
icon_state = "rdbook"
|
||||
author = "Dr. L. Ight"
|
||||
title = "Research and Development 101"
|
||||
title = "RnD: safe sciences"
|
||||
page_link = "Guide_to_Research_and_Development"
|
||||
|
||||
/obj/item/book/manual/wiki/experimentor
|
||||
@@ -369,37 +369,37 @@
|
||||
/obj/item/book/manual/wiki/medical_cloning
|
||||
name = "Cloning techniques of the 26th century"
|
||||
icon_state ="bookCloning"
|
||||
author = "Medical Journal, volume 3"
|
||||
author = "Angel Paulson"
|
||||
title = "Cloning techniques of the 26th century"
|
||||
page_link = "Guide_to_genetics#Cloning"
|
||||
|
||||
/obj/item/book/manual/wiki/cooking_to_serve_man
|
||||
name = "To Serve Man"
|
||||
desc = "It's a cookbook!"
|
||||
name = "Cooking for kids!"
|
||||
desc = "It's a cooking datapad!"
|
||||
icon_state ="cooked_book"
|
||||
author = "the Kanamitan Empire"
|
||||
title = "To Serve Man"
|
||||
author = "Gordon Ramsay"
|
||||
title = "Cooking for kids!"
|
||||
page_link = "Guide_to_food_and_drinks"
|
||||
|
||||
/obj/item/book/manual/wiki/circuitry
|
||||
name = "Circuitry for Dummies"
|
||||
name = "Wiring and safety manual"
|
||||
icon_state = "book1"
|
||||
author = "Dr. Hans Asperger"
|
||||
title = "Circuitry for Dummies"
|
||||
title = "Wiring and safety manual"
|
||||
page_link = "Guide_to_circuits"
|
||||
|
||||
/obj/item/book/manual/wiki/tcomms
|
||||
name = "Subspace Telecommunications And You"
|
||||
name = "Keeping communications"
|
||||
icon_state = "book3"
|
||||
author = "Engineering Encyclopedia"
|
||||
title = "Subspace Telecommunications And You"
|
||||
title = "Keeping communications"
|
||||
page_link = "Guide_to_Telecommunications"
|
||||
|
||||
/obj/item/book/manual/wiki/atmospherics
|
||||
name = "Lexica Atmosia"
|
||||
name = "O2 & You"
|
||||
icon_state = "book5"
|
||||
author = "the City-state of Atmosia"
|
||||
title = "Lexica Atmosia"
|
||||
author = "the department of NT-Atmos"
|
||||
title = "O2 & You"
|
||||
page_link = "Guide_to_Atmospherics"
|
||||
|
||||
/obj/item/book/manual/wiki/medicine
|
||||
@@ -410,10 +410,10 @@
|
||||
page_link = "Guide_to_medicine"
|
||||
|
||||
/obj/item/book/manual/wiki/surgery
|
||||
name = "Brain Surgery for Dummies"
|
||||
name = "Surgery: step by step"
|
||||
icon_state = "book4"
|
||||
author = "Dr. F. Fran"
|
||||
title = "Brain Surgery for Dummies"
|
||||
title = "Surgery: step by step"
|
||||
page_link = "Surgery"
|
||||
|
||||
/obj/item/book/manual/wiki/grenades
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
/obj/item/mesmetron
|
||||
name = "Mesmetron"
|
||||
desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..."
|
||||
icon = 'icons/obj/pocketwatch.dmi'
|
||||
icon_state = "pocketwatch"
|
||||
item_state = "pocketwatch"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_range = 7
|
||||
throw_speed = 3
|
||||
var/mob/living/carbon/subject = null
|
||||
var/closed = FALSE
|
||||
|
||||
|
||||
|
||||
//Hypnotize someone
|
||||
/obj/item/mesmetron/attack(mob/living/carbon/human/H, mob/living/user)
|
||||
if(closed)
|
||||
return
|
||||
if(H.IsSleeping())
|
||||
to_chat(user, "You can't hypnotize [H] whilst they're asleep!")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>[user] begins to mesmerizingly wave [src] like a pendulum before [H]'s very eyes!</span>")
|
||||
|
||||
if(!do_mob(user, H, 12 SECONDS))
|
||||
return
|
||||
if(!(user in view(1, loc)))
|
||||
return
|
||||
|
||||
var/response = alert(H, "Do you wish to fall into a hypnotic sleep? (This will allow [user] to issue hypnotic suggestions)", "Hypnosis", "Yes", "No")
|
||||
|
||||
if(response == "Yes")
|
||||
H.visible_message("<span class='warning'>[H] falls into a deep slumber!</span>", "<span class ='danger'>Your eyelids gently shut as you fall into a deep slumber. All you can hear is [user]'s voice as you commit to following all of their suggestions</span>")
|
||||
|
||||
H.SetSleeping(1200)
|
||||
H.drowsyness = max(H.drowsyness, 40)
|
||||
subject = H
|
||||
return
|
||||
|
||||
//No
|
||||
H.visible_message("<span class='warning'>[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this</span>", "<span class ='warning'>Your concentration breaks as you realise you have no interest in following [user]'s words!</span>")
|
||||
|
||||
|
||||
|
||||
//If there's a subject, open the suggestion interface
|
||||
/obj/item/mesmetron/attack_self(mob/user)
|
||||
if(closed)
|
||||
return
|
||||
if(!subject)
|
||||
return
|
||||
if(!subject.IsSleeping())
|
||||
to_chat(user, "[subject] is awake and no longer under hypnosis!")
|
||||
subject = null
|
||||
return
|
||||
|
||||
var/response = alert(user, "Would you like to release your subject or give them a suggestion?", "Mesmetron", "Suggestion", "Release")
|
||||
if(response == "Suggestion")
|
||||
if(get_dist(user, subject) > 1)
|
||||
to_chat(user, "You must stand in whisper range of [subject].")
|
||||
return
|
||||
|
||||
text = input("What would you like to suggest?", "Hypnotic suggestion", null, null)
|
||||
text = sanitize(text)
|
||||
if(!text)
|
||||
return
|
||||
|
||||
to_chat(user, "You whisper your suggestion in a smooth calming voice to [subject]")
|
||||
to_chat(subject, "<span class='hypnophrase'>...[text]...</span>")
|
||||
return
|
||||
//Release
|
||||
subject.visible_message("<span class='warning'>[subject] wakes up from their deep slumber!</span>", "<span class ='danger'>Your eyelids gently open as you see [user]'s face staring back at you</span>")
|
||||
subject.SetSleeping(0)
|
||||
subject = null
|
||||
|
||||
|
||||
|
||||
//Toggle open/close
|
||||
/obj/item/mesmetron/AltClick(mob/user)
|
||||
//Close it
|
||||
if(icon_state == "pocketwatch")
|
||||
icon_state = "pocketwatch_closed"
|
||||
item_state = "pocketwatch_closed"
|
||||
desc = "An elaborate pocketwatch, with a captivating gold etching. It's closed however and you can't see it's face"
|
||||
closed = TRUE
|
||||
return
|
||||
//Open it
|
||||
icon_state = "pocketwatch"
|
||||
item_state = "pocketwatch"
|
||||
desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..."
|
||||
closed = FALSE
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
* Cigarette Box
|
||||
* Cigar Case
|
||||
* Heart Shaped Box w/ Chocolates
|
||||
* Ring Box
|
||||
*/
|
||||
|
||||
/obj/item/storage/fancy
|
||||
@@ -350,3 +351,33 @@
|
||||
GET_COMPONENT(STR, /datum/component/storage)
|
||||
STR.max_items = 8
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/tinychocolate))
|
||||
|
||||
/*
|
||||
* Ring Box
|
||||
*/
|
||||
|
||||
/obj/item/storage/fancy/ringbox
|
||||
name = "ring box"
|
||||
desc = "A tiny box covered in soft red felt made for holding rings."
|
||||
icon = 'icons/obj/ring.dmi'
|
||||
icon_state = "gold ringbox"
|
||||
icon_type = "gold ring"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
spawn_type = /obj/item/clothing/gloves/ring
|
||||
|
||||
/obj/item/storage/fancy/ringbox/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 1
|
||||
STR.can_hold = typecacheof(list(/obj/item/clothing/gloves/ring))
|
||||
|
||||
/obj/item/storage/fancy/ringbox/diamond
|
||||
icon_state = "diamond ringbox"
|
||||
icon_type = "diamond ring"
|
||||
spawn_type = /obj/item/clothing/gloves/ring/diamond
|
||||
|
||||
/obj/item/storage/fancy/ringbox/silver
|
||||
icon_state = "silver ringbox"
|
||||
icon_type = "silver ring"
|
||||
spawn_type = /obj/item/clothing/gloves/ring/silver
|
||||
|
||||
|
||||
@@ -314,6 +314,11 @@
|
||||
icon = "thehive"
|
||||
desc = "Comb in for some sweet drinks! Not known for serving any sappy drink."
|
||||
|
||||
/datum/barsign/kinariscorp
|
||||
name = "Kinaris.Co"
|
||||
icon = "kinariscorp"
|
||||
desc = "Provided in saturated olive, Much like the drinks."
|
||||
|
||||
/datum/barsign/hiddensigns
|
||||
hidden = TRUE
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/captain
|
||||
name = "captain's bedsheet"
|
||||
desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains."
|
||||
desc = "It has a Kinaris symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains."
|
||||
icon_state = "sheetcaptain"
|
||||
item_color = "captain"
|
||||
dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain")
|
||||
@@ -214,8 +214,8 @@ LINEN BINS
|
||||
dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic")
|
||||
|
||||
/obj/item/bedsheet/nanotrasen
|
||||
name = "nanotrasen bedsheet"
|
||||
desc = "It has the Nanotrasen logo on it and has an aura of duty."
|
||||
name = "Kinaris bedsheet"
|
||||
desc = "It has the Kinaris.Co logo on it and has an aura of duty."
|
||||
icon_state = "sheetNT"
|
||||
item_color = "nanotrasen"
|
||||
dream_messages = list("authority", "an ending")
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
/obj/structure/showcase/mecha/marauder
|
||||
name = "combat mech exhibit"
|
||||
desc = "A stand with an empty old Nanotrasen Corporation combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees."
|
||||
desc = "A stand with an empty old Kinaris.Co combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees."
|
||||
icon = 'icons/mecha/mecha.dmi'
|
||||
icon_state = "marauder"
|
||||
|
||||
@@ -69,30 +69,30 @@
|
||||
icon_state = "firefighter"
|
||||
|
||||
/obj/structure/showcase/machinery/implanter
|
||||
name = "Nanotrasen automated mindshield implanter exhibit"
|
||||
desc = "A flimsy model of a standard Nanotrasen automated mindshield implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!"
|
||||
name = "Kinaris automated mindshield implanter exhibit"
|
||||
desc = "A flimsy model of a standard Kinaris automated mindshield implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!"
|
||||
icon = 'icons/obj/machines/implantchair.dmi'
|
||||
icon_state = "implantchair"
|
||||
|
||||
/obj/structure/showcase/machinery/microwave
|
||||
name = "Nanotrasen-brand microwave"
|
||||
desc = "The famous Nanotrasen-brand microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box."
|
||||
name = "Kinaris-brand microwave"
|
||||
desc = "The famous Kinaris.Co microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box."
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
icon_state = "mw"
|
||||
|
||||
/obj/structure/showcase/machinery/cloning_pod
|
||||
name = "cloning pod exhibit"
|
||||
desc = "Signs describe how cloning pods like these ensure that every Nanotrasen employee can carry out their contracts in full, even in the unlikely event of their catastrophic death. Hopefully they aren't all made of cardboard, like this one."
|
||||
desc = "Signs describe how cloning pods like these ensure that every Kin.Co employee can carry out their contracts in full, even in the unlikely event of their catastrophic death. Hopefully they aren't all made of cardboard, like this one."
|
||||
icon = 'icons/obj/machines/cloning.dmi'
|
||||
icon_state = "pod_0"
|
||||
|
||||
/obj/structure/showcase/perfect_employee
|
||||
name = "'Perfect Man' employee exhibit"
|
||||
desc = "A stand with a model of the perfect Nanotrasen Employee bolted to it. Signs indicate it is robustly genetically engineered, as well as being ruthlessly loyal."
|
||||
desc = "A stand with a model of the perfect Kinaris Employee bolted to it. Signs indicate it is robustly genetically engineered, as well as being ruthlessly loyal."
|
||||
|
||||
/obj/structure/showcase/machinery/tv
|
||||
name = "Nanotrasen corporate newsfeed"
|
||||
desc = "A slightly battered looking TV. Various Nanotrasen infomercials play on a loop, accompanied by a jaunty tune."
|
||||
name = "Kinaris-Co brand newsfeed"
|
||||
desc = "A slightly battered looking TV. Various galactic infomercials play on a loop, accompanied by a jaunty tune."
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_state = "television"
|
||||
|
||||
|
||||
@@ -121,13 +121,13 @@
|
||||
setDir(turn(dir, 90))
|
||||
|
||||
/obj/structure/sign/nanotrasen
|
||||
name = "\improper Nanotrasen Logo"
|
||||
desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!"
|
||||
name = "\improper Kinaris.Corp Logo"
|
||||
desc = "A sign with the Kinaris Logo on it. Blessed be Kinaris!"
|
||||
icon_state = "nanotrasen"
|
||||
|
||||
/obj/structure/sign/logo
|
||||
name = "nanotrasen logo"
|
||||
desc = "The Nanotrasen corporate logo."
|
||||
name = "Kinaris.Co Logo"
|
||||
desc = "The Kinaris corporate logo."
|
||||
icon_state = "nanotrasen_sign1"
|
||||
|
||||
/obj/structure/sign/logo/kinaris
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
/obj/structure/transit_tube/station/proc/launch_pod()
|
||||
if(launch_cooldown >= world.time)
|
||||
return
|
||||
density = FALSE
|
||||
for(var/obj/structure/transit_tube_pod/pod in loc)
|
||||
if(!pod.moving)
|
||||
pod_moving = 1
|
||||
@@ -148,6 +149,7 @@
|
||||
pod.setDir(tube_dirs[1]) //turning the pod around for next launch.
|
||||
launch_cooldown = world.time + cooldown_delay
|
||||
open_animation()
|
||||
density = TRUE
|
||||
sleep(OPEN_DURATION + 2)
|
||||
pod_moving = 0
|
||||
if(!QDELETED(pod))
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/atmospherics/pipes/transit_tube.dmi'
|
||||
icon_state = "straight"
|
||||
desc = "A transit tube for moving things around."
|
||||
density = TRUE
|
||||
density = FALSE
|
||||
layer = LOW_ITEM_LAYER
|
||||
anchored = TRUE
|
||||
climbable = 1
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/obj/structure/transit_tube/CanPass(atom/movable/mover, turf/target)
|
||||
if(istype(mover) && (mover.pass_flags & PASSGLASS))
|
||||
return 1
|
||||
return TRUE
|
||||
return !density
|
||||
|
||||
/obj/structure/transit_tube/New(loc, newdirection)
|
||||
@@ -189,7 +189,6 @@
|
||||
dir = WEST
|
||||
|
||||
/obj/structure/transit_tube/diagonal/crossing
|
||||
density = FALSE
|
||||
icon_state = "diagonal_crossing"
|
||||
tube_construction = /obj/structure/c_transit_tube/diagonal/crossing
|
||||
|
||||
@@ -263,7 +262,6 @@
|
||||
/obj/structure/transit_tube/crossing
|
||||
icon_state = "crossing"
|
||||
tube_construction = /obj/structure/c_transit_tube/crossing
|
||||
density = FALSE
|
||||
|
||||
//mostly for mapping use
|
||||
/obj/structure/transit_tube/crossing/horizontal
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/structure/c_transit_tube/curved
|
||||
icon_state = "curved0"
|
||||
build_type = /obj/structure/transit_tube/curved
|
||||
flipped_build_type = /obj/structure/transit_tube/curved/flipped
|
||||
flipped_build_type = /obj/structure/c_transit_tube/curved/flipped
|
||||
base_icon = "curved"
|
||||
|
||||
/obj/structure/c_transit_tube/curved/flipped
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon_state = "pod"
|
||||
animate_movement = FORWARD_STEPS
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
density = FALSE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
var/moving = 0
|
||||
var/datum/gas_mixture/air_contents = new()
|
||||
@@ -136,13 +136,11 @@
|
||||
sleep(last_delay)
|
||||
setDir(next_dir)
|
||||
forceMove(next_loc) // When moving from one tube to another, skip collision and such.
|
||||
density = current_tube.density
|
||||
|
||||
if(current_tube && current_tube.should_stop_pod(src, next_dir))
|
||||
current_tube.pod_stopped(src, dir)
|
||||
break
|
||||
|
||||
density = TRUE
|
||||
moving = 0
|
||||
|
||||
var/obj/structure/transit_tube/TT = locate(/obj/structure/transit_tube) in loc
|
||||
|
||||
+5
-5
@@ -94,21 +94,21 @@ GLOBAL_LIST_INIT(freqtospan, list(
|
||||
return "[say_mod(input, message_mode)][spanned ? ", \"[spanned]\"" : ""]"
|
||||
// Citadel edit [spanned ? ", \"[spanned]\"" : ""]"
|
||||
|
||||
/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode)
|
||||
/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode, no_quote = FALSE)
|
||||
if(has_language(language))
|
||||
var/atom/movable/AM = speaker.GetSource()
|
||||
if(AM) //Basically means "if the speaker is virtual"
|
||||
return AM.say_quote(raw_message, spans, message_mode)
|
||||
return no_quote ? raw_message : AM.say_quote(raw_message, spans, message_mode)
|
||||
else
|
||||
return speaker.say_quote(raw_message, spans, message_mode)
|
||||
return no_quote ? raw_message : speaker.say_quote(raw_message, spans, message_mode)
|
||||
else if(language)
|
||||
var/atom/movable/AM = speaker.GetSource()
|
||||
var/datum/language/D = GLOB.language_datum_instances[language]
|
||||
raw_message = D.scramble(raw_message)
|
||||
if(AM)
|
||||
return AM.say_quote(raw_message, spans, message_mode)
|
||||
return no_quote ? raw_message : AM.say_quote(raw_message, spans, message_mode)
|
||||
else
|
||||
return speaker.say_quote(raw_message, spans, message_mode)
|
||||
return no_quote ? raw_message : speaker.say_quote(raw_message, spans, message_mode)
|
||||
else
|
||||
return "makes a strange sound."
|
||||
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
desc = "Shallow water."
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "riverwater_motion"
|
||||
baseturfs = /turf/open/chasm/lavaland
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
planetary_atmos = TRUE
|
||||
slowdown = 1
|
||||
bullet_sizzle = TRUE
|
||||
bullet_bounce_sound = null //needs a splashing sound one day.
|
||||
|
||||
@@ -33,6 +33,7 @@ GLOBAL_VAR(restart_counter)
|
||||
#endif
|
||||
|
||||
load_admins()
|
||||
load_patreons()
|
||||
LoadVerbs(/datum/verbs/menu)
|
||||
if(CONFIG_GET(flag/usewhitelist))
|
||||
load_whitelist()
|
||||
|
||||
Reference in New Issue
Block a user