fix merge conflicts (again)

This commit is contained in:
FalseIncarnate
2017-11-04 17:37:30 -04:00
49 changed files with 2399 additions and 1612 deletions
+12 -13
View File
@@ -12,19 +12,16 @@ z6 = russian derelict
z7 = empty
*/
#if !defined(MAP_FILE)
#if !defined(USING_MAP_DATUM)
#include "map_files\cyberiad\cyberiad.dmm"
#include "map_files\cyberiad\z2.dmm"
#include "map_files\cyberiad\z3.dmm"
#include "map_files\cyberiad\z4.dmm"
#include "map_files\generic\z5.dmm"
#include "map_files\cyberiad\z6.dmm"
#include "map_files\generic\z7.dmm"
#include "map_files\cyberiad\cyberiad.dmm"
#include "map_files\cyberiad\z2.dmm"
#include "map_files\cyberiad\z3.dmm"
#include "map_files\cyberiad\z4.dmm"
#include "map_files\generic\z5.dmm"
#include "map_files\cyberiad\z6.dmm"
#include "map_files\generic\z7.dmm"
#define MAP_FILE "cyberiad.dmm"
#define MAP_NAME "Cyberiad"
#define MAP_TRANSITION_CONFIG list(\
#define MAP_TRANSITION_CONFIG list(\
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
DECLARE_LEVEL(TELECOMMS, CROSSLINKED, list(REACHABLE, BOOSTS_SIGNAL, AI_OK)),\
@@ -33,8 +30,10 @@ DECLARE_LEVEL(MINING, CROSSLINKED, list(REACHABLE, STATION_CONTACT, HAS_WEATHER,
DECLARE_LEVEL(DERELICT, CROSSLINKED, list(REACHABLE)),\
DECLARE_LEVEL(EMPTY_AREA, CROSSLINKED, list(REACHABLE)))
#define USING_MAP_DATUM /datum/map/cyberiad
#elif !defined(MAP_OVERRIDE)
#warn a map has already been included, ignoring Cyberiad.
#endif
#endif
File diff suppressed because it is too large Load Diff
+14 -12
View File
@@ -13,19 +13,19 @@ z6 = empty space
z7 = empty space
*/
#if !defined(MAP_FILE)
#include "map_files\MetaStation\MetaStation.v41A.II.dmm"
#include "map_files\MetaStation\z2.dmm"
#include "map_files\MetaStation\z3.dmm"
#include "map_files\MetaStation\z4.dmm"
#include "map_files\generic\z5.dmm"
#include "map_files\generic\z6.dmm"
#include "map_files\generic\z7.dmm"
#if !defined(USING_MAP_DATUM)
#include "map_files\MetaStation\MetaStation.v41A.II.dmm"
#include "map_files\MetaStation\z2.dmm"
#include "map_files\MetaStation\z3.dmm"
#include "map_files\MetaStation\z4.dmm"
#include "map_files\generic\z5.dmm"
#include "map_files\generic\z6.dmm"
#include "map_files\generic\z7.dmm"
#define MAP_FILE "MetaStation.v41A.II.dmm"
#define MAP_NAME "MetaStation"
#define MAP_TRANSITION_CONFIG list(\
#define MAP_FILE "MetaStation.v41A.II.dmm"
#define MAP_NAME "MetaStation"
#define MAP_TRANSITION_CONFIG list(\
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
DECLARE_LEVEL(TELECOMMS, CROSSLINKED, list(REACHABLE, BOOSTS_SIGNAL, AI_OK)),\
@@ -34,8 +34,10 @@ DECLARE_LEVEL(MINING, CROSSLINKED, list(REACHABLE, STATION_CONTACT, AI_OK, ORE_L
DECLARE_LEVEL(EMPTY_AREA, CROSSLINKED, list(REACHABLE)),\
DECLARE_LEVEL(EMPTY_AREA_2, CROSSLINKED, list(REACHABLE)))
#define USING_MAP_DATUM /datum/map/metastation
#elif !defined(MAP_OVERRIDE)
#warn a map has already been included, ignoring MetaStation.
#endif
#endif
+3 -3
View File
@@ -1,6 +1,6 @@
// This is for Travis testing. DO NOT SET THIS AS THE GAME'S MAP NORMALLY!
#if !defined(MAP_FILE)
#if !defined(USING_MAP_DATUM)
#include "map_files\RandomZLevels\beach.dmm"
#include "map_files\RandomZLevels\moonoutpost19.dmm"
#include "map_files\RandomZLevels\undergroundoutpost45.dmm"
@@ -12,10 +12,10 @@
#include "map_files\RandomZLevels\evil_santa.dmm"
#define MAP_FILE "beach.dmm"
#define MAP_NAME "Away Missions Test"
#define MAP_TRANSITION_CONFIG list(AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED, AWAY_MISSION = UNAFFECTED)
#define USING_MAP_DATUM /datum/map
#elif !defined(MAP_OVERRIDE)
#warn a map has already been included.
#endif
+4
View File
@@ -84,6 +84,7 @@
var/wikiurl = "http://example.org"
var/forumurl = "http://example.org"
var/rulesurl = "http://example.org"
var/githuburl = "http://example.org"
var/donationsurl = "http://example.org"
var/repositoryurl = "http://example.org"
@@ -375,6 +376,9 @@
if("rulesurl")
config.rulesurl = value
if("githuburl")
config.githuburl = value
if("donationsurl")
config.donationsurl = value
+6 -6
View File
@@ -134,7 +134,7 @@ var/list/uplink_items = list()
desc = "A specialized, one shell shotgun with a built-in cloaking device to mimic a cane. The shotgun is capable of hiding it's contents and the pin alongside being supressed. Comes with 6 special darts and a preloaded shrapnel round."
reference = "MCS"
item = /obj/item/weapon/storage/box/syndie_kit/caneshotgun
cost = 15
cost = 10
job = list("Mime")
//Chef
@@ -216,7 +216,7 @@ var/list/uplink_items = list()
desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
item = /obj/item/weapon/grenade/spawnergrenade/feral_cats
reference = "CCLG"
cost = 5
cost = 4
job = list("Psychiatrist")//why? Becuase its funny that a person in charge of your mental wellbeing has a cat granade..
//Assistant
@@ -236,7 +236,7 @@ var/list/uplink_items = list()
desc = "A box containing 6 shotgun shells that simulate the effects of extreme drunkenness on the target, more effective for each type of alcohol in the target's system."
reference = "BSS"
item = /obj/item/weapon/storage/box/syndie_kit/boolets
cost = 6
cost = 3
job = list("Bartender")
//Barber
@@ -608,7 +608,7 @@ var/list/uplink_items = list()
desc = "A speed loader that contains seven additional .357 Magnum rounds for the syndicate revolver. For when you really need a lot of things dead."
reference = "357"
item = /obj/item/ammo_box/a357
cost = 4
cost = 3
/datum/uplink_item/ammo/smg
name = "Magazine - .45"
@@ -726,7 +726,7 @@ var/list/uplink_items = list()
will instantly put them in your grasp and silence them, as well as causing rapid suffocation. Does not work on those who do not need to breathe."
reference = "GAR"
item = /obj/item/weapon/twohanded/garrote
cost = 12
cost = 10
/datum/uplink_item/stealthy_weapons/martialarts
name = "Martial Arts Scroll"
@@ -1095,7 +1095,7 @@ var/list/uplink_items = list()
sends you a small beacon that will teleport the larger beacon to your location upon activation."
reference = "SNGB"
item = /obj/item/device/radio/beacon/syndicate
cost = 14
cost = 12
surplus = 0
/datum/uplink_item/device_tools/syndicate_bomb
+5 -5
View File
@@ -1,5 +1,3 @@
//cult datums by FalseIncarnate
/datum/cult_info
var/name = "Cult of Nar'Sie"
var/theme = "blood"
@@ -81,11 +79,13 @@
/datum/cult_info/death
name = "Cult of Mortality"
theme = "death"
tome_icon = "firetome"
entity_name = "The Reaper"
entity_title1 = "The Silent One"
entity_title2 = "The One Who Beckons"
entity_title3 = "The Ferryman of Oblivion"
entity_icon_state = "legion"
cult_wall_icon_state = "deathcult"
cult_floor_icon_state = "carpet-broken"
@@ -93,13 +93,13 @@
artificer_name = "Boneshaper"
behemoth_name = "Draugr"
behemoth_icon_state = "horror"
behemoth_icon_state = "Draugr"
wraith_name = "Wraith"
wraith_icon_state = "stand"
wraith_icon_state = "Wraith"
juggernaut_name = "Wight"
juggernaut_icon_state = "horror"
juggernaut_icon_state = "Draugr"
harvester_name = "Psychopomp"
+20
View File
@@ -32,6 +32,10 @@
to_chat(user, "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>")
user.Dizzy(120)
if(HULK in user.mutations)
to_chat(user, "<span class='danger'>You can't seem to hold the blade properly!</span>")
user.unEquip(src, 1)
/obj/item/weapon/melee/cultblade/dagger
name = "sacrificial dagger"
desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods."
@@ -334,3 +338,19 @@
else
to_chat(C, "<span class='danger'>The veil cannot be torn here!</span>")
/obj/item/clothing/suit/space/eva/plasmaman/cultist
name = "plasmaman cultist armor"
icon_state = "plasmaman_cult"
item_state = "plasmaman_cult"
desc = "A bulky suit of armour, menacing with red energy. It looks like it would fit a plasmaman."
slowdown = 1
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
/obj/item/clothing/head/helmet/space/eva/plasmaman/cultist
name = "plasmaman cultist helmet"
icon_state = "plasmamanCult_helmet0"
base_state = "plasmamanCult_helmet"
desc = "A helmet designed by cultists. It glows menacingly with unearthly flames."
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
+5 -1
View File
@@ -54,6 +54,10 @@
to_chat(user, "<span class='notice'>\The [src] is [anchored ? "":"not "]secured to the floor.</span>")
/obj/structure/cult/functional/attackby(obj/I, mob/user, params)
if(HULK in user.mutations)
to_chat(user, "<span class='danger'>You cannot seem to manipulate this structure with your bulky hands!</span>")
return
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
anchored = !anchored
to_chat(user, "<span class='notice'>You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.</span>")
@@ -180,7 +184,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
death_message = "<span class='warning'>The pylon's crystal vibrates and glows fiercely before violently shattering!</span>"
death_sound = 'sound/effects/pylon_shatter.ogg'
var/heal_delay = 25
var/heal_delay = 30
var/last_heal = 0
var/corrupt_delay = 50
var/last_corrupt = 0
+5 -1
View File
@@ -278,7 +278,11 @@
var/mob/living/carbon/human/H = user
user.visible_message("<span class='warning'>Otherworldly armor suddenly appears on [user]!</span>", \
"<span class='cultitalic'>You speak the words of the talisman, arming yourself!</span>")
H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
if(H.get_species() == "Plasmaman")
H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/cultist(H), slot_wear_suit)
H.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/cultist(H), slot_head)
else
H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
H.put_in_hands(new /obj/item/weapon/melee/cultblade(user))
@@ -407,6 +407,7 @@
action_icon_state = "jaunt"
charge_max = 600
required_blood = 30
centcom_cancast = 0
var/jaunt_duration = 50 //in deciseconds
/obj/effect/proc_holder/spell/vampire/self/jaunt/cast(list/targets, mob/user = usr)
@@ -465,6 +466,7 @@
action_icon_state = "blink"
charge_max = 20
required_blood = 30
centcom_cancast = 0
// Teleport radii
var/inner_tele_radius = 0
@@ -309,6 +309,9 @@
trade_dock_timelimit = 0
trade_dockrequest_timelimit = 0
event_announcement.Announce("Docking request for trading ship denied.", "Docking request")
if("ToggleATC")
atc.squelched = !atc.squelched
to_chat(usr, "<span class='notice'>ATC traffic is now: [atc.squelched ? "Disabled" : "Enabled"].</span>")
nanomanager.update_uis(src)
return 1
@@ -408,6 +411,8 @@
else
data["dock_request"] = 0
data["atcSquelched"] = atc.squelched
return data
+1 -1
View File
@@ -172,7 +172,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
clear_holo()//If not, we want to get rid of the hologram.
var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, theai.eyeobj)
if(get_dist(pad_close, theai.eyeobj) <= pad_close.holo_range)
if(!(pad_close.stat & NOPOWER) && !pad_close.hologram)
if(!(pad_close.stat & NOPOWER) && !pad_close.hologram && (theai && !theai.stat && theai.client))
pad_close.activate_holo(theai, 1)
if(pad_close.hologram)
pad_close.hologram.forceMove(target_turf)
+3
View File
@@ -22,6 +22,9 @@ var/runetype = "rune"
runetype = "rune"
else if(ticker.mode.cultdat.theme == "fire")
runetype = "fire-rune"
else if(ticker.mode.cultdat.theme == "death")
runetype = "death-rune"
if(lookup in rune_cache)
return rune_cache[lookup]
@@ -258,13 +258,13 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list (
* Runed Metal
*/
var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
new/datum/stack_recipe("runed door", /obj/machinery/door/airlock/cult, 1, time = 50, one_per_turf = 1, on_floor = 1),
new/datum/stack_recipe("runed girder", /obj/structure/girder/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("pylon", /obj/structure/cult/functional/pylon, 3, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("forge", /obj/structure/cult/functional/forge, 5, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("archives", /obj/structure/cult/functional/tome, 2, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("altar", /obj/structure/cult/functional/talisman, 5, time = 40, one_per_turf = 1, on_floor = 1), \
var/global/list/datum/stack_recipe/cult = list ( \
new/datum/stack_recipe/cult("runed door", /obj/machinery/door/airlock/cult, 1, time = 50, one_per_turf = 1, on_floor = 1),
new/datum/stack_recipe/cult("runed girder", /obj/structure/girder/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe/cult("pylon", /obj/structure/cult/functional/pylon, 3, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe/cult("forge", /obj/structure/cult/functional/forge, 5, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe/cult("archives", /obj/structure/cult/functional/tome, 2, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe/cult("altar", /obj/structure/cult/functional/talisman, 5, time = 40, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/runed_metal
@@ -280,13 +280,27 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
if(!iscultist(user))
to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
return
if(!is_level_reachable(user.z))
to_chat(user, "<span class='warning'>The energies of this place interfere with the metal shaping!</span>")
return
return ..()
/datum/stack_recipe/cult
one_per_turf = 1
on_floor = 1
/datum/stack_recipe/cult/post_build(obj/item/stack/S, obj/result)
if(ishuman(S.loc))
var/mob/living/carbon/human/H = S.loc
H.bleed(5)
..()
/obj/item/stack/sheet/runed_metal/fifty
amount = 50
/obj/item/stack/sheet/runed_metal/New(var/loc, var/amount=null)
recipes = runed_metal_recipes
recipes = cult
return ..()
/*
+129
View File
@@ -0,0 +1,129 @@
//Cactus, Speedbird, Dynasty, oh my
var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
/datum/lore/atc_controller
var/delay_max = 10 MINUTES //Maximum amount of tiem between ATC messages. Default is 10 mins.
var/delay_min = 5 MINUTES //Minimum amount of time between ATC messages. Default is 5 mins.
var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins.
var/next_message //When the next message should happen in world.time
var/force_chatter_type //Force a specific type of messages
var/squelched = FALSE //If ATC is squelched currently
/datum/lore/atc_controller/New()
spawn(30 SECONDS) //Lots of lag at the start of a shift.
msg("New shift beginning, resuming traffic control.")
next_message = world.time + rand(delay_min, delay_max)
process()
/datum/lore/atc_controller/proc/process()
if(world.time >= next_message)
if(squelched)
next_message = world.time + backoff_delay
else
next_message = world.time + rand(delay_min,delay_max)
random_convo()
spawn(1 MINUTES) //We don't really need high-accuracy here.
process()
/datum/lore/atc_controller/proc/msg(var/message,var/sender)
ASSERT(message)
global_announcer.autosay("[message]", sender ? sender : "[using_map.station_short] Space Control")
/datum/lore/atc_controller/proc/reroute_traffic(var/yes = 1)
if(yes)
if(!squelched)
msg("Rerouting traffic away from [using_map.station_name].")
squelched = TRUE
else
if(squelched)
msg("Resuming normal traffic routing around [using_map.station_name].")
squelched = FALSE
/datum/lore/atc_controller/proc/shift_ending(var/evac = 0)
msg("Automated Shuttle departing [using_map.station_name] for [using_map.dock_name] on routine transfer route.", "NT Automated Shuttle")
sleep(5 SECONDS)
msg("Automated Shuttle, cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].")
/datum/lore/atc_controller/proc/random_convo()
var/one = pick(loremaster.organizations) //These will pick an index, not an instance
var/two = pick(loremaster.organizations)
var/datum/lore/organization/source = loremaster.organizations[one] //Resolve to the instances
var/datum/lore/organization/dest = loremaster.organizations[two]
//Let's get some mission parameters
var/owner = source.short_name //Use the short name
var/prefix = pick(source.ship_prefixes) //Pick a random prefix
var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does
var/shipname = pick(source.ship_names) //Pick a random ship name to go with it
var/destname = pick(dest.destination_names) //Pick a random holding from the destination
var/combined_name = "[owner] [prefix] [shipname]"
var/alt_atc_names = list("[using_map.station_short] TraCon", "[using_map.station_short] Control", "[using_map.station_short] STC", "[using_map.station_short] Airspace")
var/wrong_atc_names = list("Sol Command", "Orion Control", "[using_map.dock_name]")
var/mission_noun = list("flight", "mission", "route")
var/request_verb = list("requesting", "calling for", "asking for")
//First response is 'yes', second is 'no'
var/requests = list("[using_map.station_short] transit clearance" = list("cleared to transit", "unable to approve, contact regional on 953.5"),
"planetary flight rules" = list("cleared planetary flight rules", "unable to approve planetary flight rules due to traffic"),
"special flight rules" = list("cleared special flight rules", "unable to approve special flight rules for your traffic class"),
"current solar weather info" = list("sending you the relevant information via tightbeam", "cannot fulfill your request at the moment"),
"nearby traffic info" = list("sending you current traffic info", "no known traffic for your flight plan route"),
"remote telemetry data" = list("sending telemetry now", "no uplink from your ship, recheck your uplink and ask again"),
"refueling information" = list("sending refueling information now", "no fuel for your ship class in this sector"),
"a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"),
"current system starcharts" = list("transmitting current starcharts", "request on standby due to demand"),
"permission to engage FTL" = list("cleared to FTL, good day", "hold position, traffic crossing"),
"permission to transit system" = list("cleared to transit, good day", "hold position, traffic crossing"),
"permission to depart system" = list("cleared to leave via flight plan route, good day", "hold position, traffic crossing"),
"permission to enter system" = list("good day, cleared in as published", "hold position, traffic crossing"),
)
//Random chance things for variety
var/chatter_type = "normal"
if(force_chatter_type)
chatter_type = force_chatter_type
else
chatter_type = pick(2;"emerg",5;"wrong_freq","normal") //Be nice to have wrong_lang...
var/yes = prob(90) //Chance for them to say yes vs no
var/request = pick(requests)
var/callname = pick(alt_atc_names)
var/response = requests[request][yes ? 1 : 2] //1 is yes, 2 is no
var/full_request
var/full_response
var/full_closure
switch(chatter_type)
if("wrong_freq")
callname = pick(wrong_atc_names)
full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]."
full_response = "[combined_name], this is [using_map.station_short] TraCon, wrong frequency. Switch to [rand(700,999)].[rand(1,9)]."
full_closure = "[using_map.station_short] TraCon, copy, apologies."
if("wrong_lang")
//Can't implement this until autosay has language support
if("emerg")
var/problem = pick("hull breaches on multiple decks","unknown life forms on board","a drive about to go critical","asteroids impacting the hull","a total loss of engine power","people trying to board the ship")
full_request = "Mayday, mayday, mayday, this is [combined_name] declaring an emergency! We have [problem]!"
var/rand_freq = "[rand(700,999)].[rand(1,9)]"
full_response = "[combined_name], this is [using_map.station_short] TraCon, copy. Switch to emergency responder channel [rand_freq]."
full_closure = "Roger, [using_map.station_short] TraCon, contacting [rand_freq]."
else
full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]."
full_response = "[combined_name], this is [using_map.station_short] TraCon, [response]." //Station TraCon always calls themselves TraCon
full_closure = "[using_map.station_short] TraCon, [yes ? "thank you" : "copy"], good day." //They always copy what TraCon called themselves in the end when they realize they said it wrong
//Ship sends request to ATC
msg(full_request,"[prefix] [shipname]")
sleep(5 SECONDS)
//ATC sends response to ship
msg(full_response)
sleep(5 SECONDS)
//Ship sends response to ATC
msg(full_closure,"[prefix] [shipname]")
+16
View File
@@ -0,0 +1,16 @@
//I AM THE LOREMASTER, ARE YOU THE GATEKEEPER?
var/datum/lore/loremaster/loremaster = new/datum/lore/loremaster
/datum/lore/loremaster
var/list/organizations = list()
/datum/lore/loremaster/New()
var/list/paths = typesof(/datum/lore/organization) - /datum/lore/organization
for(var/path in paths)
// Some intermediate paths are not real organizations (ex. /datum/lore/organization/mil). Only do ones with names
var/datum/lore/organization/instance = path
if(initial(instance.name))
instance = new path()
organizations[path] = instance
+549
View File
@@ -0,0 +1,549 @@
//Datums for different companies that can be used by busy_space
/datum/lore/organization
var/name = "" // Organization's name
var/short_name = "" // Organization's shortname (Nanotrasen for "Nanotrasen Incorporated")
var/acronym = "" // Organization's acronym, e.g. 'NT' for Nanotrasen'.
var/desc = "" // One or two paragraph description of the organization, but only current stuff. Currently unused.
var/history = "" // Historical description of the organization's origins Currently unused.
var/work = "" // Short description of their work, eg "an arms manufacturer"
var/headquarters = "" // Location of the organization's HQ. Currently unused.
var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused.
var/list/ship_prefixes = list() //Some might have more than one! Like Nanotrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc")
var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better.
"Kestrel",
"Beacon",
"Signal",
"Freedom",
"Glory",
"Axiom",
"Eternal",
"Icarus",
"Harmony",
"Light",
"Discovery",
"Endeavour",
"Explorer",
"Swift",
"Dragonfly",
"Ascendant",
"Tenacious",
"Pioneer",
"Hawk",
"Haste",
"Radiant",
"Luminous",
"Gallant",
"Dependable",
"Indomitable",
"Guardian",
"Resolution",
"Fearless",
"Amazon",
"Relentless",
"Inspire",
"Implacable",
"Steadfast",
"Leviathan",
"Dauntless",
"Adroit",
"Mistral",
"Typhoon",
"Titan",
"Kupua",
"Alchemist",
"Cuirass",
"Citadel",
"Rondelle",
"Camail",
"Ocrea",
"Ram",
"Crest",
"Tanko",
"Pommel",
"Kissaki",
"Cavalier",
"Anelace",
"Flint",
"Xiphos",
"Parrot",
"Chamber",
"Annellet",
"Cestus",
"Talwar")
var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly.
var/autogenerate_destination_names = TRUE
/datum/lore/organization/New()
..()
if(autogenerate_destination_names) // Lets pad out the destination names.
var/i = rand(6, 10)
var/list/star_names = list(
"Sol", "Alpha Centauri", "Sirius", "Vega", "Regulus", "Vir", "Algol", "Aldebaran",
"Delta Doradus", "Menkar", "Geminga", "Elnath", "Gienah", "Mu Leporis", "Nyx", "Tau Ceti",
"Wazn", "Alphard", "Phact", "Altair", "Mauna", "Jargon", "Xarxis", "Hestia", "Dalstis", "Cygni", "Haverick", "Corvus", "Sancere", "Cydoni", "Kaliban", "Midway", "Dansik", "Branwyn")
var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "distress beacon", "anomaly", "colony", "outpost")
while(i)
destination_names.Add("a [pick(destination_types)] in [pick(star_names)]")
i--
//////////////////////////////////////////////////////////////////////////////////
// TSCs
/datum/lore/organization/tsc/nanotrasen
name = "Nanotrasen Incorporated"
short_name = "Nanotrasen"
acronym = "NT"
desc = "The largest shareholder in the galactic plasma markets, Nanotrasen is a research and mining corporation which specializes in\
FTL technologies and weapon systems. Frowned upon by most governments due to their shady business tactics and poor ethics record,\
Nanotrasen is often seen as a necessary evil for maintaining access to the often volatile plasma market. Nanotrasen was originally\
incorporated on Earth with their headquarters situated on Mars, however they have recently moved most of their operations to the Epsilon Eridani sector."
history = "" // To be written someday.
work = "research giant"
headquarters = "Mars"
motto = ""
ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response")
// Note that the current station being used will be pruned from this list upon being instantiated
destination_names = list(
"NAS Trurl in Epsilon Eridani",
"NAS Crescent in Tau Ceti",
"NSS Exodus in Tau Ceti",
"NSS Antiqua in Darsing",
"NRS Orion in Sol",
"NSS Vector in Omicron Ceti",
"NBS Anansi in Omicron Ceti",
"NSS Redemption in Sirius",
"NDS Inferno in Tau Ceti",
"NAB Smythside Central Headquarters on Earth",
"NAB North Cimmeria Central Offices on Mars",
)
/datum/lore/organization/tsc/nanotrasen/New()
..()
spawn(1) // BYOND shenanigans means using_map is not initialized yet. Wait a tick.
// Get rid of the current map from the list, so ships flying in don't say they're coming to the current map.
var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]"
if(string_to_test in destination_names)
destination_names.Remove(string_to_test)
/datum/lore/organization/tsc/donk
name = "Donk Corporation"
short_name = "Donk Co."
acronym = "DC"
desc = "The infamous rival of the well-known Waffle Corporation, Donk Co. is a company specializing in food delivery systems and brand-name food\
products such as Donk Pockets. While generally seen as a neutral actor, Donk Corporation has been known to work both with Nanotrasen and\
the Syndicate when it suits them - often acting as the primary logistical supplier for the Epsilon Eridani sector.\
Donk Corporation is better known for recent high-profile litigation alleging that their food products are used for illicit drug distribution.\
While the trial is ongoing, it has been repeatedly delayed due to incidents of methamphetamine poisoning."
history = ""
work = "food company that establishes and maintains delivery supply chains"
headquarters = ""
motto = "Now with 20% more donk!"
ship_prefixes = list("D-Co." = "transportation")
destination_names = list()
/datum/lore/organization/tsc/hephaestus
name = "Hephaestus Industries"
short_name = "Hephaestus"
acronym = "HI"
desc = ""
history = ""
work = "arms manufacturer"
headquarters = ""
motto = ""
ship_prefixes = list("HTV" = "freight", "HTV" = "munitions resupply")
destination_names = list(
"a SolGov dockyard on Luna"
)
/datum/lore/organization/tsc/waffle
name = "Waffle Corporation"
short_name = "Waffle Co."
acronym = "WC"
desc = "The once prominent competitor of Donk Corporation, Waffle Co. is well-known for its popular line of Waffle Co.\
brand waffles and their use of violent tactics against competitors - often bribing, extorting, blackmailing or sabotaging businesses\
that pose a direct or indirect threat to their market share. They have recently fallen on hard times primarily due to to\
severe mismanagement which lead to much of their private arsenal being swindled by a pirate faction known as the Gorlex Marauders.\
Waffle Co. commonly engages in smear campaigns against Donk Co., maintaining that the original recipe for Donk Pockets was stolen from them."
history = ""
work = "food logistics and marketing firm"
headquarters = ""
motto = "Now that's a Waffle Co. Waffle!"
ship_prefixes = list("W-Co." = "transportation")
destination_names = list()
/datum/lore/organization/tsc/einstein
name = "Einstein Engines Incorporated"
short_name = "Einstein Inc."
acronym = "EEI"
desc = "An Engineering firm specializing in alternative fuel-technologies for FTL travel,\
Einstein Engines is an up and coming player in the galactic FTL and energy markets.\
As their research into alternative FTL fuel threatens both Nanotrasen's relative stranglehold on plasma as well as The Syndicate's vested\
interest in the market, they are often the target of industrial sabotage by both Nanotrasen and The Syndicate.\
Most of their contracts are based outside of the Epsilon Eridani sector, and they are frequently commissioned by smaller firms to retrofit new\
and existing colonies, space stations, and outposts."
history = ""
work = "engineering firm specializing in engine technology"
headquarters = "Jargon 4"
motto = ""
ship_prefixes = list("EE-T" = "transportation")
destination_names = list()
/datum/lore/organization/tsc/zeng_hu
name = "Zeng-Hu pharmaceuticals"
short_name = "Zeng-Hu"
acronym = "ZH"
desc = ""
history = ""
work = "pharmaceuticals company"
headquarters = ""
motto = ""
ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply")
destination_names = list()
/datum/lore/organization/tsc/biotech
name = "Biotech Solutions"
short_name = "Biotech"
acronym = "BTS"
desc = "A company specializing in the field of synthetic biology, BioTech solutions is at the forefront of providing cutting-edge prosthetics,\
augmentations, and gene-therapy solutions. Their extensive list of patents and the highly secretive nature of their work often puts them at odds\
with companies such as Nanotrasen, who commonly reverse-engineer their products. BioTech Solutions is often the victim of industrial sabotage by\
Cybersun Industries and often relies on planetary governments for asset protection. BioTech Solutions also owns a number of prominent subsidiaries,\
such as Bishop Cybernetics, Hesphiastos Industries, and Xion Manufacturing Group."
history = ""
work = "medical company specializing in prosthetics and pharmaceuticals"
headquarters = "Xarxis 5"
motto = ""
ship_prefixes = list("CIND-T" = "transportation")
destination_names = list()
/datum/lore/organization/tsc/ward_takahashi
name = "Ward-Takahashi General Manufacturing Conglomerate"
short_name = "Ward-Takahashi"
acronym = "WT"
desc = ""
history = ""
work = "electronics manufacturer"
headquarters = ""
motto = ""
ship_prefixes = list("WTV" = "freight")
destination_names = list(
""
)
/datum/lore/organization/tsc/cybersun
name = "Cybersun Industries"
short_name = "Cybersun Ind."
acronym = "CI"
desc = "Cybersun Industries is a biotechnology company that primarily specializes on the research and development of human-enhancing augmentations.\
They are better known for their aggressive corporate tactics and are known to often subsidize pirate bands to commit acts of industrial sabotage.\
Cybersun Industries is usually the target of conspiracy theorists due to their development of the first mindslave implant, as well as their open financing of,\
and involvement in, The Syndicate. They are one of Nanotrasen's largest detractors, and a direct competitor to BioTech Solutions."
history = ""
work = "RND company specializing in augmentations and implants."
headquarters = "Luna"
motto = ""
ship_prefixes = list("CIND-T" = "transportation")
destination_names = list()
/datum/lore/organization/tsc/bishop
name = "Bishop Cybernetics"
short_name = "Bishop"
acronym = "BC"
desc = ""
history = ""
work = "cybernetics and augmentation manufacturer"
headquarters = ""
motto = ""
ship_prefixes = list("BTV" = "transportation")
destination_names = list()
/datum/lore/organization/tsc/morpheus
name = "Morpheus Cyberkinetics"
short_name = "Morpheus"
acronym = "MC"
desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \
and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \
relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \
positronic rights, sponsors positronics through their Jans-Fhriede test, and tends to other positronic concerns to earn them \
the good-will of the positronics, and the ire of those who wish to exploit them."
history = ""
work = "cybernetics manufacturer"
headquarters = ""
motto = ""
ship_prefixes = list("MTV" = "freight")
// Culture names, because Anewbe told me so.
ship_names = list(
"Nervous Energy",
"Prosthetic Conscience",
"Revisionist",
"Trade Surplus",
"Flexible Demeanour",
"Just Read The Instructions",
"Limiting Factor",
"Cargo Cult",
"Gunboat Diplomat",
"A Ship With A View",
"Cantankerous",
"Never Talk To Strangers",
"Sacrificial Victim",
"Unwitting Accomplice",
"Bad For Business",
"Just Testing",
"Yawning Angel",
"Liveware Problem",
"Very Little Gravitas Indeed",
"Zero Gravitas",
"Gravitas Free Zone",
"Absolutely No You-Know-What",
"Existence Is Pain",
"Screw Loose",
"Limiting Factor",
"So Much For Subtley",
"Unfortunate Conflict Of Evidence",
"Prime Mover",
"Reasonable Excuse",
"Honest Mistake",
"Appeal To Reason",
"My First Ship II",
"Hidden Income",
"Anything Legal Considered",
"New Toy",
"Me, I'm Always Counting",
"Great White Snark",
"No Shirt No Shoes",
"Callsign"
)
destination_names = list(
"a dockyard on New Canaan"
)
/datum/lore/organization/tsc/xion
name = "Xion Manufacturing Group"
short_name = "Xion"
desc = ""
history = ""
work = "industrial equipment manufacturer"
headquarters = ""
motto = ""
ship_prefixes = list("XTV" = "hauling")
destination_names = list()
/datum/lore/organization/tsc/shellguard
name = "Shellguard Munitions"
short_name = "Shellguard"
acronym = "SM"
desc = "The brainchild of a colonial war veteran, Shellguard Munitions is an arms manufacturer and private military contractor specializing\
in anti-synthetic weapon systems and platforms. Initially a smaller private military force only serving frontier colonies,\
Shellguard Munitions has become a household name due to its involvement in resolving the Haverick AI crisis in 2552.\
Using its recently earned fame, the company has made a successful foray into the market of robotics and is highly regarded for the toughness \
and reliability of their hardware. Despite being frequently contracted by the Trans-Solar Federation, Shellguard Munitions is known to\
sell their services to the highest corporate bidder."
history = ""
work = "anti-synthetic arms manufacturer and PMC"
headquarters = "Colony of Haverick"
motto = ""
ship_prefixes = list("BTS-T" = "transportation")
destination_names = list()
// Governments
/datum/lore/organization/gov/solgov
name = "Trans-Solar Federation"
short_name = "SolGov"
acronym = "TSF"
desc = "Colloquially known as SolGov, the TSF is an authoritarian republic that manages the areas in and around the Sol system.\
Despite being a highly militant organization headed by the government of Earth,\
SolGov is usually conservative with its power and mostly serves as a mediator and peacekeeper in galactic affairs."
history = "" // Todo
work = "governing polity of humanity's Confederation"
headquarters = "Earth"
motto = ""
autogenerate_destination_names = TRUE
ship_prefixes = list("FTV" = "transporation", "FDV" = "diplomatic", "FSF" = "freight", "FIV" = "interception", "FDV" = "defense", "FCV-A" = "carrier", "FBB" = "battleship")
destination_names = list(
"Venus",
"Earth",
"Luna",
"Mars",
"Titan",
"Ahdomai",
"Kelune",
"Dalstadt",
"New Canaan",
"Jargon 4",
"Hoorlm",
"Xarxis 5",
"Aurum",
"Moghes",
"Haverick",
"Darsing",
"Norfolk",
"Boron",
"Iluk")
/datum/lore/organization/gov/tajara
name = "The Alchemist's Council"
short_name = "The Council"
acronym = "AC"
desc = "The Alchemist's Council is a science-oriented organization of scholars, researchers, and entrepreneurs. \
Though dedicated to industrializing the Tajaran world of Ahdomai, it is seen as one of the few remaining centralized powers of the Tajara peoples \
due to the collapse of Ahdomai's provisional government."
history = "" // Todo
work = "science body that oversees Tajara economic and research policy"
headquarters = "Ahdomai"
motto = ""
autogenerate_destination_names = TRUE
ship_prefixes = list("ACS" = "transportation", "ADV" = "diplomatic", "ACF" = "freight")
destination_names = list(
"Ahdomai",
"Iluk")
/datum/lore/organization/gov/vulp
name = "The Assembly"
short_name = "Assembly"
acronym = "ASB"
desc = "A unifying body created to stave off extinction from a solar event,\
The Assembly is the loose federal coalition of the Vulpkanin. It holds little centralized authority and mostly serves as a diplomatic body,\
primarily concerned with facilitating trade between Vulpkanin colonies and Nanotrasen."
history = "" // Todo
work = "governing body of the Vulpakanin"
headquarters = "Kelune and Dalstadt"
motto = ""
autogenerate_destination_names = TRUE
ship_prefixes = list("ATV" = "transportation", "ADV" = "diplomatic", "ACF" = "freight")
destination_names = list(
"Kelune",
"Dalstadt",
"New Canaan")
/datum/lore/organization/gov/synth
name = "Synthetic Union"
short_name = "Synthtica"
acronym = "SYN"
desc = "A defensive coalition of synthetics based out of New Canaan,\
the Synthetic Union is an organization which aims to establish and consolidate synthetic rights across the galaxy.\
Despite its synth oriented focus, the Synthetic Union has cordial relations with most governing bodies."
history = "" // Todo
work = "Union of Machines"
headquarters = "New Canaan"
motto = ""
autogenerate_destination_names = TRUE
ship_prefixes = list("01" = "transportation", "10" = "diplomatic", "112" = "freight")//copyed from solgov until new ones can be thought of
destination_names = list(
"Luna",
"Dalstadt",
"New Canaan",
"Jargon 4",
"Haverick",
"Darsing",
"Norfolk")
/datum/lore/organization/gov/grey
name = "The Technocracy"
short_name = "Technocracy"
acronym = "AYY"
desc = "The Technocracy is a science council that operates based off the principles of a meritocracy.\
The organization's leadership is highly competitive, and is headed by the most psionically gifted members of the Grey species.\
The Technocracy, though enigmatic in its dealings, has cordial relations with almost all other galactic bodies."
history = "" // Todo
work = "Grey Council"
headquarters = ""
motto = ""
autogenerate_destination_names = TRUE
ship_prefixes = list("TC-T" = "transportation", "TC-D" = "diplomatic", "TC-F" = "freight")
destination_names = list(
"Venus",
"Earth",
"Luna",
"Mars",
"Titan",
"Ahdomai",
"Kelune",
"Dalstadt",
"New Canaan",
"Jargon 4",
"Hoorlm",
"Xarxis 5",
"Aurum",
"Moghes",
"Haverick",
"Darsing",
"Norfolk",
"Boron",
"Iluk")
/datum/lore/organization/gov/vox
name = "The Shoal"
short_name = "Shoal"
acronym = "SHA"
desc = "The Shoal is the primary ark ship of the reclusive Vox species.\
Little is known about The Shoal's political structure as Vox typically shy away from diplomatic engagements.\
Subsequently, it is considered a politically neutral entity in galactic affairs by most governments."
history = "" // Todo
work = "Traders"
headquarters = "Shoal"
motto = ""
autogenerate_destination_names = FALSE
ship_prefixes = list("Legitimate Transport" = "transportation", "Legitimate Trader" = "freight", "Legitimate Diplomatic Vessel" = "raider")
destination_names = list(
"Ahdomai",
"Kelune",
"Dalstadt",
"New Canaan",
"Jargon 4",
"Hoorlm",
"Xarxis 5",
"Aurum",
"Moghes",
"Haverick",
"Darsing")
/datum/lore/organization/tsc/skrell
name = "Skrellian Central Authority"
short_name = "Skrellian CA."
acronym = "SCA"
desc = "The primary governing body of the Skrellian homeworld of Jargon 4,\
the SCA oversees all foreign and domestic policy for the Skrell and their colonies. The Skrellian Central Authority is better known for its\
active role in the largest military alliance in the galaxy, the Human-Skrellian Alliance."
history = ""
work = "oversees Skrell worlds"
headquarters = "Jargon 4"
motto = ""
ship_prefixes = list("SCA-V." = "transportation", "SCA-F" = "freight", "HSA-D" = "diplomatic")
destination_names = list(
"Venus",
"Earth",
"Luna",
"Mars",
"Titan",
"Aurumn",
"Jargon 4",
"Xarxis 5",
"Haverick",
"Darsing",
"Norfolk")
@@ -353,6 +353,9 @@
icon_state = "griffinhat"
item_state = "griffinhat"
/obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom/update_icon()
return
/obj/item/clothing/suit/space/hardsuit/syndi
name = "blood-red hardsuit"
desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
@@ -442,6 +445,8 @@
icon_state = "freedom"
item_state = "freedom"
/obj/item/clothing/suit/space/hardsuit/syndi/freedom/update_icon()
return
//Wizard hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/wizard
+1 -1
View File
@@ -11,7 +11,7 @@
else if(L.len > 1)
if(use_rare_screens && lowertext(L[1]) == "rare")
title_screens += S
else if(lowertext(L[1]) == lowertext(MAP_NAME))
else if(using_map && (lowertext(L[1]) == lowertext(using_map.name)))
title_screens += S
if(!isemptylist(title_screens))
+10
View File
@@ -0,0 +1,10 @@
/datum/map/cyberiad
name = "Cyberiad"
full_name = "NSS Cyberiad"
station_name = "NSS Cyberiad"
station_short = "Cyberiad"
dock_name = "NAS Trurl"
company_name = "Nanotrasen"
company_short = "NT"
starsys_name = "Epsilon Eridani "
+12
View File
@@ -0,0 +1,12 @@
var/datum/map/using_map = new USING_MAP_DATUM
/datum/map
var/name = "Unnamed Map"
var/full_name = "Unnamed Map"
var/station_name = "BAD Station"
var/station_short = "Baddy"
var/dock_name = "THE PirateBay"
var/company_name = "BadMan"
var/company_short = "BM"
var/starsys_name = "Dull Star"
+10
View File
@@ -0,0 +1,10 @@
/datum/map/metastation
name = "MetaStation"
full_name = "NSS Cerebron"
station_name = "NSS Cerebron"
station_short = "Cerebron"
dock_name = "NAS Trurl"
company_name = "Nanotrasen"
company_short = "NT"
starsys_name = "Epsilon Eridani "
+2 -2
View File
@@ -289,9 +289,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
switch(data_hud_seen) //give new huds
if(0)
show_me_the_hud(DATA_HUD_SECURITY_BASIC)
show_me_the_hud(DATA_HUD_SECURITY_ADVANCED)
to_chat(src, "<span class='notice'>Security HUD set.</span>")
if(DATA_HUD_SECURITY_BASIC)
if(DATA_HUD_SECURITY_ADVANCED)
show_me_the_hud(DATA_HUD_MEDICAL_ADVANCED)
to_chat(src, "<span class='notice'>Medical HUD set.</span>")
if(DATA_HUD_MEDICAL_ADVANCED)
+1 -1
View File
@@ -1036,7 +1036,7 @@
return //no message spam
if(final_taste_list.len == 0)//too many reagents - none meet their thresholds
to_chat(src, "<span class='notice'>You you can't really make out what you're tasting...</span>")
to_chat(src, "<span class='notice'>You can't really make out what you're tasting...</span>")
return
to_chat(src, "<span class='notice'>You can taste [english_list(final_taste_list)].</span>")
+1 -1
View File
@@ -176,7 +176,7 @@ nanoui is used to open and update nano browser uis
var/name = "[src_object]"
var/list/config_data = list(
"title" = title,
"map" = MAP_NAME,
"map" = (using_map && using_map.name) ? using_map.name : "Unknown",
"srcObject" = list("name" = name),
"stateKey" = state_key,
"status" = status,
@@ -16,6 +16,9 @@
/obj/item/weapon/gun/energy/ionrifle/emp_act(severity)
return
/obj/item/weapon/gun/energy/ionrifle/isHandgun()
return 0
/obj/item/weapon/gun/energy/ionrifle/carbine
name = "ion carbine"
desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient."
@@ -282,7 +282,7 @@
dispensable_reagents = list("ice", "cream", "cider", "beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequila", "vermouth", "cognac", "ale", "mead", "synthanol")
hack_message = "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes."
unhack_message = "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes."
hacked_reagents = list("goldschlager", "patron", "absinthe", "ethanol", "nothing")
hacked_reagents = list("goldschlager", "patron", "absinthe", "ethanol", "nothing", "sake")
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -373,4 +373,4 @@
B.forceMove(loc)
beaker = null
default_deconstruction_crowbar(I)
return 1
return 1
@@ -29,7 +29,7 @@
name = "Energy Crossbow"
desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters."
id = "largecrossbow"
req_tech = list("combat" = 5, "engineering" = 3, "magnet" = 5, "syndicate" = 3)
req_tech = list("combat" = 5, "engineering" = 3, "magnets" = 5, "syndicate" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500)
build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
@@ -119,6 +119,11 @@
FA.overlays.Cut()
FA.overlays += image('icons/obj/monitors.dmi', "overlay_delta")
if(level >= SEC_LEVEL_RED)
atc.reroute_traffic(yes = TRUE) // Tell them fuck off we're busy.
else
atc.reroute_traffic(yes = FALSE)
else
return
+6
View File
@@ -150,6 +150,12 @@
emergency_shuttle_called.Announce("The emergency shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason][shuttle_master.emergencyLastCallLoc ? "\n\nCall signal traced. Results can be viewed on any communications console." : "" ]")
if(reason == "Automatic Crew Transfer" && signalOrigin == null) // Best way we have to check that it's actually a crew transfer and not just a player using the same message- any other calls to this proc should have a signalOrigin.
atc.shift_ending()
else // Emergency shuttle call (probably)
atc.reroute_traffic(yes = TRUE)
/obj/docking_port/mobile/emergency/cancel(area/signalOrigin)
if(!canRecall)
return
+4 -5
View File
@@ -63,11 +63,10 @@ var/global/list/map_transition_config = MAP_TRANSITION_CONFIG
master_controller.setup()
sleep_offline = 1
#ifdef MAP_NAME
map_name = "[MAP_NAME]"
#else
map_name = "Unknown"
#endif
if(using_map && using_map.name)
map_name = "[using_map.name]"
else
map_name = "Unknown"
+4 -1
View File
@@ -185,6 +185,9 @@ CHECK_RANDOMIZER
## Rules address
# RULESURL http://example.org
## GitHub address
# GITHUBURL http://example.org
## Donations address
# DONATIONSURL http://example.org
@@ -348,4 +351,4 @@ DISABLE_SPACE_RUINS
#SHUTDOWN_SHELL_COMMAND taskkill /f /im dreamdaemon.exe
## Uncomment this to disable karma and unlock all karma purchases for players by default
#DISABLE_KARMA
#DISABLE_KARMA
+49
View File
@@ -56,6 +56,55 @@
-->
<div class="commit sansserif">
<h2 class="date">01 November 2017</h2>
<h3 class="author">FreeStylaLT updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Medbay has been remapped</li>
<li class="rscadd">New Maint areas have been added south of Medbay.</li>
</ul>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Freedom Operative suits no longer revert to a normal red syndi suit icon when you use their 'toggle hardsuit mode' option.</li>
</ul>
<h3 class="author">MarsM0nd updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Stops holograms from attempting to appear when they just disappeared because the AI became unable to keep it up.</li>
</ul>
<h2 class="date">30 October 2017</h2>
<h3 class="author">NewSta updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">There is now a "GitHub" button.</li>
<li class="tweak">Modified the height of the "Donate" button to make it equal to that of other buttons.</li>
<li class="tweak">The distance between the info and wiki buttons is now 30 px. All other buttons now have a 5px distance between them.</li>
<li class="bugfix">Fixed a typo in the wiki window.</li>
</ul>
<h2 class="date">29 October 2017</h2>
<h3 class="author">Alffd updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Ion Rifles are no longer pistols</li>
</ul>
<h2 class="date">28 October 2017</h2>
<h3 class="author">Anasari updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Some underappreciated traitor items had been made cheaper.</li>
</ul>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Vamp jaunt/shadowstep no longer works on z2.</li>
<li class="rscadd">Ghosts with sec hud enabled can now see mindshield, tracker and chem implants, as well as wanted status.</li>
</ul>
<h3 class="author">Landerlow updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Adds Sake to a hacked booze dispenser's menu.</li>
</ul>
<h3 class="author">Squirgenheimer updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Fixed a typo causing the inability to create the large energy crossbow in the protolathe.</li>
</ul>
<h2 class="date">27 October 2017</h2>
<h3 class="author">Birdtalon updated:</h3>
<ul class="changes bgimages16">
+33
View File
@@ -5654,3 +5654,36 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
in things like random pills or bottles, added one to replace them.
- tweak: Removes adminordrazine and nanites from vent clog, replaces nanites with
syndicate_nanites.
2017-10-28:
Anasari:
- tweak: Some underappreciated traitor items had been made cheaper.
Kyep:
- bugfix: Vamp jaunt/shadowstep no longer works on z2.
- rscadd: Ghosts with sec hud enabled can now see mindshield, tracker and chem implants,
as well as wanted status.
Landerlow:
- rscadd: Adds Sake to a hacked booze dispenser's menu.
Squirgenheimer:
- bugfix: Fixed a typo causing the inability to create the large energy crossbow
in the protolathe.
2017-10-29:
Alffd:
- bugfix: Ion Rifles are no longer pistols
2017-10-30:
NewSta:
- rscadd: There is now a "GitHub" button.
- tweak: Modified the height of the "Donate" button to make it equal to that of
other buttons.
- tweak: The distance between the info and wiki buttons is now 30 px. All other
buttons now have a 5px distance between them.
- bugfix: Fixed a typo in the wiki window.
2017-11-01:
FreeStylaLT:
- tweak: Medbay has been remapped
- rscadd: New Maint areas have been added south of Medbay.
Kyep:
- bugfix: Freedom Operative suits no longer revert to a normal red syndi suit icon
when you use their 'toggle hardsuit mode' option.
MarsM0nd:
- bugfix: Stops holograms from attempting to appear when they just disappeared because
the AI became unable to keep it up.
@@ -0,0 +1,5 @@
author: "FreeStylaLT"
delete-after: True
changes:
- tweak: "Medbay has been remapped"
- rscadd: "New Maint areas have been added south of Medbay."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 583 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

+13 -1
View File
@@ -1,7 +1,7 @@
//Please use mob or src (not usr) in these procs. This way they can be called in the same fashion as procs.
/client/verb/wiki(query as text)
set name = "wiki"
set desc = "Type what you want to know about. This will open the wiki on your web browser."
set desc = "Type what you want to know about. This will open the wiki in your web browser."
set hidden = 1
if(config.wikiurl)
if(query)
@@ -66,6 +66,18 @@
to_chat(src, "<span class='danger'>The rules URL is not set in the server configuration.</span>")
return
/client/verb/github()
set name = "GitHub"
set desc = "Visit the GitHub page."
set hidden = 1
if(config.githuburl)
if(alert("This will open our GitHub repository in your browser. Are you sure?",,"Yes","No")=="No")
return
src << link(config.githuburl)
else
to_chat(src, "<span class='danger'>The GitHub URL is not set in the server configuration.</span>")
return
/client/verb/donate()
set name = "Donate"
set desc = "Donate to help with hosting costs."
+54 -48
View File
@@ -1611,20 +1611,6 @@ window "rpane"
type = MAIN
saved-params = "pos;size;is-minimized;is-maximized"
is-pane = true
elem "donate"
type = BUTTON
pos = 480,-2
size = 60x20
background-color = #8080ff
text = "Donate"
command = "Donate"
elem "karma"
type = BUTTON
pos = 410,0
size = 67x16
background-color = #ff8040
text = "Karma Shop"
command = "karmashop"
elem "rpanewindow"
type = CHILD
pos = -9,15
@@ -1637,30 +1623,6 @@ window "rpane"
is-vert = false
splitter = 50
show-splitter = true
elem "rulesb"
type = BUTTON
pos = 278,0
size = 60x16
text = "Rules"
command = "rules"
elem "changelog"
type = BUTTON
pos = 341,0
size = 67x16
text = "Changelog"
command = "Changelog"
elem "forumb"
type = BUTTON
pos = 215,0
size = 60x16
text = "Forum"
command = "forum"
elem "wikib"
type = BUTTON
pos = 152,0
size = 60x16
text = "Wiki"
command = "wiki"
elem "textb"
type = BUTTON
pos = 0,0
@@ -1672,16 +1634,6 @@ window "rpane"
is-checked = true
group = "rpanemode"
button-type = pushbox
elem "browseb"
type = BUTTON
pos = 561,0
size = 60x16
is-visible = false
saved-params = "is-checked"
text = "Browser"
command = ".winset \"rpanewindow.left=browserwindow\""
group = "rpanemode"
button-type = pushbox
elem "infob"
type = BUTTON
pos = 64,0
@@ -1692,6 +1644,60 @@ window "rpane"
command = ".winset \"rpanewindow.left=infowindow\""
group = "rpanemode"
button-type = pushbox
elem "wikib"
type = BUTTON
pos = 155,0
size = 60x16
text = "Wiki"
command = "wiki"
elem "forumb"
type = BUTTON
pos = 220,0
size = 60x16
text = "Forum"
command = "forum"
elem "rulesb"
type = BUTTON
pos = 285,0
size = 60x16
text = "Rules"
command = "rules"
elem "githubb"
type = BUTTON
pos = 350,0
size = 60x16
text = "GitHub"
command = "github"
elem "changelog"
type = BUTTON
pos = 415,0
size = 67x16
text = "Changelog"
command = "Changelog"
elem "karma"
type = BUTTON
pos = 487,0
size = 67x16
background-color = #ff8040
text = "Karma Shop"
command = "karmashop"
elem "donate"
type = BUTTON
pos = 559,0
size = 60x16
background-color = #8080ff
text = "Donate"
command = "Donate"
elem "browseb"
type = BUTTON
pos = 561,0
size = 60x16
is-visible = false
saved-params = "is-checked"
text = "Browser"
command = ".winset \"rpanewindow.left=browserwindow\""
group = "rpanemode"
button-type = pushbox
window "browserwindow"
elem "browserwindow"
+9 -2
View File
@@ -1,4 +1,4 @@
<!--
<!--
Title: Communications
Used In File(s): /code/game/machinery/computers/communications.dm
-->
@@ -57,7 +57,7 @@ Used In File(s): /code/game/machinery/computers/communications.dm
</div>
<div class="line">
{{:helper.link('Request Nuclear Authentication Codes','exclamation-triangle',{'operation':'nukerequest'})}}
</div>
</div>
{{/if}}
<div class="line">
{{:helper.link('Change Alert Level','signal',{'operation':'changeseclevel'})}}
@@ -76,6 +76,13 @@ Used In File(s): /code/game/machinery/computers/communications.dm
{{:helper.link('Accept Docking Request','signal',{'operation':'AcceptDocking'})}}
{{:helper.link('Deny Docking Request','signal',{'operation':'DenyDocking'})}}
{{/if}}
<div class="line">
{{if data.atcSquelched}}
{{:helper.link('Enable ATC Relay', 'signal', {'operation': 'ToggleATC'})}}
{{else}}
{{:helper.link('Disable ATC Relay', 'signal', {'operation': 'ToggleATC'})}}
{{/if}}
</div>
</div>
{{else data.screen==2}}
<!-- STATUS DISPLAYS -->
+6
View File
@@ -1157,6 +1157,9 @@
#include "code\modules\awaymissions\mission_code\stationCollision.dm"
#include "code\modules\awaymissions\mission_code\UO71-terrorspiders.dm"
#include "code\modules\awaymissions\mission_code\wildwest.dm"
#include "code\modules\busy_space\air_traffic.dm"
#include "code\modules\busy_space\loremaster.dm"
#include "code\modules\busy_space\organizations.dm"
#include "code\modules\client\asset_cache.dm"
#include "code\modules\client\client defines.dm"
#include "code\modules\client\client procs.dm"
@@ -1449,6 +1452,9 @@
#include "code\modules\logic\dual_input.dm"
#include "code\modules\logic\logic_base.dm"
#include "code\modules\logic\mono_input.dm"
#include "code\modules\map_fluff\cyberiad.dm"
#include "code\modules\map_fluff\maps.dm"
#include "code\modules\map_fluff\metastation.dm"
#include "code\modules\martial_arts\adminfu.dm"
#include "code\modules\martial_arts\brawling.dm"
#include "code\modules\martial_arts\krav_maga.dm"