Merge branch 'pr-38604'

Signed-off-by: Jordan Brown <Cyberboss@users.noreply.github.com>
This commit is contained in:
Jordan Brown
2018-06-28 14:22:03 -04:00
248 changed files with 461 additions and 471 deletions
+8 -8
View File
@@ -102,20 +102,20 @@
return FALSE
data.network_id = src
log_data_transfer(data)
var/list/datum/component/ntnet_interface/recieving = list()
var/list/datum/component/ntnet_interface/receiving = list()
if((length(data.recipient_ids == 1) && data.recipient_ids[1] == NETWORK_BROADCAST_ID) || data.recipient_ids == NETWORK_BROADCAST_ID)
data.broadcast = TRUE
for(var/i in connected_interfaces_by_id)
recieving |= connected_interfaces_by_id[i]
receiving |= connected_interfaces_by_id[i]
else
for(var/i in data.recipient_ids)
var/datum/component/ntnet_interface/reciever = find_interface_id(i)
recieving |= reciever
var/datum/component/ntnet_interface/receiver = find_interface_id(i)
receiving |= receiver
for(var/i in recieving)
var/datum/component/ntnet_interface/reciever = i
if(reciever)
reciever.__network_recieve(data)
for(var/i in receiving)
var/datum/component/ntnet_interface/receiver = i
if(receiver)
receiver.__network_receive(data)
for(var/i in services_by_id)
var/datum/ntnet_service/serv = services_by_id[i]
+1 -1
View File
@@ -144,7 +144,7 @@
data["isoccupant"] = (user == occupant)
return data
/obj/machinery/vr_sleeper/proc/get_vr_spawnpoint() //proc so it can be overriden for team games or something
/obj/machinery/vr_sleeper/proc/get_vr_spawnpoint() //proc so it can be overridden for team games or something
return safepick(GLOB.vr_spawnpoints[vr_category])
/obj/machinery/vr_sleeper/proc/build_spawnpoints() // used to rebuild the list for admins if need be
+1 -1
View File
@@ -66,7 +66,7 @@
while(query_check_admin_errors.NextRow())
var/admin_ckey = query_check_admin_errors.item[1]
var/admin_rank = query_check_admin_errors.item[2]
output += "[admin_ckey] has non-existant rank [admin_rank] | <a href='?_src_=holder;[HrefToken()];editrightsbrowsermanage=1;editrightschange=[admin_ckey]'>\[Change Rank\]</a> | <a href='?_src_=holder;[HrefToken()];editrightsbrowsermanage=1;editrightsremove=[admin_ckey]'>\[Remove\]</a>"
output += "[admin_ckey] has non-existent rank [admin_rank] | <a href='?_src_=holder;[HrefToken()];editrightsbrowsermanage=1;editrightschange=[admin_ckey]'>\[Change Rank\]</a> | <a href='?_src_=holder;[HrefToken()];editrightsbrowsermanage=1;editrightsremove=[admin_ckey]'>\[Remove\]</a>"
output += "<hr style='background:#000000; border:0; height:1px'>"
qdel(query_check_admin_errors)
output += "<h3>Unused ranks</h3>"
+1 -1
View File
@@ -72,7 +72,7 @@
message_admins("[key_name_admin(usr)] tried to create traitors. Unfortunately, there were no candidates available.")
log_admin("[key_name(usr)] failed to create traitors.")
if("changelings")
if(src.makeChanglings())
if(src.makeChangelings())
message_admins("[key_name(usr)] created changelings.")
log_admin("[key_name(usr)] created changelings.")
else
+1 -1
View File
@@ -167,7 +167,7 @@
to_chat(recipient, replymsg)
to_chat(src, "<font color='blue'>PM to-<b>Admins</b>: <span class='linkify'>[msg]</span></font>")
//play the recieving admin the adminhelp sound (if they have them enabled)
//play the receiving admin the adminhelp sound (if they have them enabled)
if(recipient.prefs.toggles & SOUND_ADMINHELP)
SEND_SOUND(recipient, sound('sound/effects/adminhelp.ogg'))
+4 -4
View File
@@ -76,7 +76,7 @@
return 0
/datum/admins/proc/makeChanglings()
/datum/admins/proc/makeChangelings()
var/datum/game_mode/changeling/temp = new
if(CONFIG_GET(flag/protect_roles_from_antagonist))
@@ -95,11 +95,11 @@
candidates += applicant
if(candidates.len)
var/numChanglings = min(candidates.len, 3)
var/numChangelings = min(candidates.len, 3)
for(var/i = 0, i<numChanglings, i++)
for(var/i = 0, i<numChangelings, i++)
H = pick(candidates)
H.mind.make_Changling()
H.mind.make_Changeling()
candidates.Remove(H)
return 1
@@ -451,7 +451,7 @@
/datum/antagonist/changeling/proc/update_changeling_icons_added()
var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING]
hud.join_hud(owner.current)
set_antag_hud(owner.current, "changling")
set_antag_hud(owner.current, "changeling")
/datum/antagonist/changeling/proc/update_changeling_icons_removed()
var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING]
@@ -1,4 +1,4 @@
//Augmented Eyesight: Gives you x-ray vision or protection from flashes. Also, high DNA cost because of how powerful it is.
//Augmented Eyesight: Gives you X-ray vision or protection from flashes. Also, high DNA cost because of how powerful it is.
//Possible todo: make a custom message for directing a penlight/flashlight at the eyes - not sure what would display though.
/obj/effect/proc_holder/changeling/augmented_eyesight
@@ -41,7 +41,7 @@
return 1
/obj/effect/proc_holder/changeling/augmented_eyesight/on_refund(mob/user) //Get rid of x-ray vision and flash protection when the user refunds this ability
/obj/effect/proc_holder/changeling/augmented_eyesight/on_refund(mob/user) //Get rid of X-ray vision and flash protection when the user refunds this ability
var/obj/item/organ/eyes/E = user.getorganslot(ORGAN_SLOT_EYES)
if(E)
if (active)
@@ -1,6 +1,6 @@
/obj/effect/proc_holder/changeling/digitalcamo
name = "Digital Camouflage"
desc = "By evolving the ability to distort our form and proprotions, we defeat common altgorithms used to detect lifeforms on cameras."
desc = "By evolving the ability to distort our form and proportions, we defeat common algorithms used to detect lifeforms on cameras."
helptext = "We cannot be tracked by camera or seen by AI units while using this skill. However, humans looking at us will find us... uncanny."
dna_cost = 1
@@ -134,7 +134,7 @@
return 1
/obj/effect/proc_holder/changeling/sting/false_armblade/sting_action(mob/user, mob/target)
add_logs(user, target, "stung", object="falso armblade sting")
add_logs(user, target, "stung", object="false armblade sting")
var/obj/item/held = target.get_active_held_item()
if(held && !target.dropItemToGround(held))
@@ -254,8 +254,8 @@
var/list/repair_values = list()
if(!fabricator.fabricator_repair_checks(repair_values, src, user))
return
user.visible_message("<span class='notice'>[user]'s [fabricator.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \
"<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>")
user.visible_message("<span class='notice'>[user]'s [fabricator.name] starts covering [src == user ? "[user.p_them()]" : "[src]"] in glowing orange energy...</span>", \
"<span class='alloy'>You start repairing [src == user ? "yourself" : "[src]"]...</span>")
fabricator.repairing = src
while(fabricator && user && src)
if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \
@@ -283,7 +283,7 @@
if(health == maxHealth) //if we're at maximum health, replace the turf under us
return FALSE
else if(fabricator_heal(user, fabricator) && user)
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops coverin[src == user ? "g [user.p_them()]" : "g [src]"] with glowing orange energy.</span>", \
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops covering [src == user ? "[user.p_them()]" : "[src]"] with glowing orange energy.</span>", \
"<span class='alloy'>You finish repairin[src == user ? "g yourself. You are":"g [src]. [p_theyre(TRUE)]"] now at <b>[abs(HEALTH_THRESHOLD_DEAD - health)]/[abs(HEALTH_THRESHOLD_DEAD - maxHealth)]</b> health.</span>")
//Same with clockwork mobs.
@@ -292,7 +292,7 @@
if(health == maxHealth) //if we're at maximum health, replace the turf under us
return FALSE
else if(fabricator_heal(user, fabricator) && user)
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops coverin[src == user ? "g [user.p_them()]" : "g [src]"] with glowing orange energy.</span>", \
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops covering [src == user ? "[user.p_them()]" : "[src]"] with glowing orange energy.</span>", \
"<span class='alloy'>You finish repairin[src == user ? "g yourself. You are":"g [src]. [p_theyre(TRUE)]"] now at <b>[health]/[maxHealth]</b> health.</span>")
//Cogscarabs get special interaction because they're drones and have innate self-heals/revives.
@@ -304,13 +304,13 @@
if(health == maxHealth)
return FALSE
else if(!(flags_1 & GODMODE))
user.visible_message("<span class='notice'>[user]'s [fabricator.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \
"<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>")
user.visible_message("<span class='notice'>[user]'s [fabricator.name] starts covering [src == user ? "[user.p_them()]" : "[src]"] in glowing orange energy...</span>", \
"<span class='alloy'>You start repairing [src == user ? "yourself" : "[src]"]...</span>")
fabricator.repairing = src
if(do_after(user, (maxHealth - health)*2, target=src))
adjustHealth(-maxHealth)
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops coverin[src == user ? "g [user.p_them()]" : "g [src]"] with glowing orange energy.</span>", \
"<span class='alloy'>You finish repairin[src == user ? "g yourself" : "g [src]"].</span>")
user.visible_message("<span class='notice'>[user]'s [fabricator.name] stops covering [src == user ? "[user.p_them()]" : "[src]"] with glowing orange energy.</span>", \
"<span class='alloy'>You finish repairing [src == user ? "yourself" : "[src]"].</span>")
if(fabricator)
fabricator.repairing = null
@@ -106,13 +106,13 @@
if(slot == SLOT_WEAR_SUIT && !is_servant_of_ratvar(user))
if(!iscultist(user))
to_chat(user, "<span class='heavy_brass'>\"Now now, this is for my servants, not you.\"</span>")
user.visible_message("<span class='warning'>As [user] puts [src] on, it flickers off [user.p_their()] body!</span>", "<span class='warning'>The curiass flickers off your body, leaving only nausea!</span>")
user.visible_message("<span class='warning'>As [user] puts [src] on, it flickers off [user.p_their()] body!</span>", "<span class='warning'>The cuirass flickers off your body, leaving only nausea!</span>")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(20)
else
to_chat(user, "<span class='heavy_brass'>\"I think this armor is too hot for you to handle.\"</span>")
to_chat(user, "<span class='userdanger'>The curiass emits a burst of flame as you scramble to get it off!</span>")
to_chat(user, "<span class='userdanger'>The cuirass emits a burst of flame as you scramble to get it off!</span>")
user.emote("scream")
user.apply_damage(15, BURN, BODY_ZONE_CHEST)
user.adjust_fire_stacks(2)
@@ -278,7 +278,7 @@
dat += "<font color=#BE8700 size=3>Items</font><br>"
dat += "<font color=#BE8700><b>Slab:</b></font> A clockwork slab, a Servant's most important tool. You're holding one! Keep it safe and hidden.<br>"
dat += "<font color=#BE8700><b>Visor:</b></font> A judicial visor, which is a pair of glasses that can smite an area for a brief stun and delayed explosion.<br>"
dat += "<font color=#BE8700><b>Wraith Specs:</b></font> Wraith spectacles, which provide true sight (x-ray, night vision) but damage the wearer's eyes.<br>"
dat += "<font color=#BE8700><b>Wraith Specs:</b></font> Wraith spectacles, which provide true sight (X-ray, night vision) but damage the wearer's eyes.<br>"
dat += "<font color=#BE8700><b>Spear:</b></font> A Ratvarian spear, which is a very powerful melee weapon that produces Vitality.<br>"
dat += "<font color=#BE8700><b>Fabricator:</b></font> A replica fabricator, which converts objects into clockwork versions.<br><br>"
dat += "<font color=#BE8700 size=3>Constructs</font><br>"
@@ -1,4 +1,4 @@
//Wraith spectacles: Grants x-ray and night vision at the eventual cost of the wearer's sight if worn too long. Nar-Sian cultists are instantly blinded.
//Wraith spectacles: Grants X-ray and night vision at the eventual cost of the wearer's sight if worn too long. Nar-Sian cultists are instantly blinded.
/obj/item/clothing/glasses/wraith_spectacles
name = "antique spectacles"
desc = "Unnerving glasses with opaque yellow lenses."
@@ -29,7 +29,7 @@
descname = "Trap, Stunning"
name = "Sigil of Transgression"
desc = "Wards a tile with a sigil, which will briefly stun the next non-Servant to cross it and apply Belligerent to them."
invocations = list("Divinity, smite...", "...those who tresspass here!")
invocations = list("Divinity, smite...", "...those who trespass here!")
channel_time = 50
power_cost = 50
whispered = TRUE
+4 -4
View File
@@ -542,7 +542,7 @@
var/obj/item/stack/sheet/candidate = target
if(candidate.use(50))
uses--
to_chat(user, "<span class='warning'>A dark cloud eminates from your hand and swirls around the metal, twisting it into a construct shell!</span>")
to_chat(user, "<span class='warning'>A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!</span>")
new /obj/structure/constructshell(T)
SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25))
else
@@ -553,12 +553,12 @@
if(candidate.use(quantity))
uses --
new /obj/item/stack/sheet/runed_metal(T,quantity)
to_chat(user, "<span class='warning'>A dark cloud eminates from you hand and swirls around the plasteel, transforming it into runed metal!</span>")
to_chat(user, "<span class='warning'>A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!</span>")
SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25))
else if(istype(target,/mob/living/silicon/robot))
var/mob/living/silicon/robot/candidate = target
if(candidate.mmi)
user.visible_message("<span class='danger'>A dark cloud eminates from [user]'s hand and swirls around [candidate]!</span>")
user.visible_message("<span class='danger'>A dark cloud emanates from [user]'s hand and swirls around [candidate]!</span>")
playsound(T, 'sound/machines/airlock_alien_prying.ogg', 80, 1)
var/prev_color = candidate.color
candidate.color = "black"
@@ -581,7 +581,7 @@
candidate.color = prev_color
else
uses--
to_chat(user, "<span class='warning'>A dark cloud eminates from you hand and swirls around [candidate] - twisting it into a construct shell!</span>")
to_chat(user, "<span class='warning'>A dark cloud emanates from you hand and swirls around [candidate] - twisting it into a construct shell!</span>")
new /obj/structure/constructshell(T)
SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25))
else if(istype(target,/obj/machinery/door/airlock))
+2 -2
View File
@@ -228,7 +228,7 @@
target_candidates += player.mind
if(target_candidates.len == 0)
message_admins("Cult Sacrifice: Could not find unconvertable target, checking for convertable target.")
message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.")
for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD)
target_candidates += player.mind
@@ -248,7 +248,7 @@
objectives += sac_objective
else
message_admins("Cult Sacrifice: Could not find unconvertable or convertable target. WELP!")
message_admins("Cult Sacrifice: Could not find unconvertible or convertible target. WELP!")
//SUMMON OBJECTIVE
+2 -2
View File
@@ -334,7 +334,7 @@
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/head/helmet/space/hardsuit/cult
name = "nar-sien hardened helmet"
name = "\improper Nar-Sien hardened helmet"
desc = "A heavily-armored helmet worn by warriors of the Nar-Sien cult. It can withstand hard vacuum."
icon_state = "cult_helmet"
item_state = "cult_helmet"
@@ -343,7 +343,7 @@
actions_types = list()
/obj/item/clothing/suit/space/hardsuit/cult
name = "nar-sien hardened armor"
name = "\improper Nar-Sien hardened armor"
icon_state = "cult_armor"
item_state = "cult_armor"
desc = "A heavily-armored exosuit worn by warriors of the Nar-Sien cult. It can withstand hard vacuum."
+1 -1
View File
@@ -36,7 +36,7 @@
var/boost = 0
bloodcrawl = BLOODCRAWL_EAT
var/list/consumed_mobs = list()
var/playstyle_string = "<span class='big bold'>You are an imp,</span><B> a mischevious creature from hell. You are the lowest rank on the hellish totem pole \
var/playstyle_string = "<span class='big bold'>You are an imp,</span><B> a mischievous creature from hell. You are the lowest rank on the hellish totem pole \
Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \
of intentionally harming a fellow devil.</B>"
@@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
stage_speed += initial(S.stage_speed)
transmittable += initial(S.transmittable)
threshold_block += "<br><br>[initial(S.threshold_desc)]"
stat_block = "Resistance: [resistance]<br>Stealth: [stealth]<br>Stage Speed: [stage_speed]<br>Transmittability: [transmittable]<br><br>"
stat_block = "Resistance: [resistance]<br>Stealth: [stealth]<br>Stage Speed: [stage_speed]<br>Transmissibility: [transmittable]<br><br>"
/datum/disease_ability/proc/CanBuy(mob/camera/disease/D)
if(world.time < D.next_adaptation_time)
@@ -130,14 +130,14 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
required_total_points = 0
start_with = TRUE
short_desc = "Force the host you are following to cough, spreading your infection to those nearby."
long_desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmitability is low.<br>Cooldown: 10 seconds"
long_desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmissibility is low.<br>Cooldown: 10 seconds"
/datum/action/cooldown/disease_cough
name = "Cough"
icon_icon = 'icons/mob/actions/actions_minor_antag.dmi'
button_icon_state = "cough"
desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmitability is low.<br>Cooldown: 10 seconds"
desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmissibility is low.<br>Cooldown: 10 seconds"
cooldown_time = 100
/datum/action/cooldown/disease_cough/Trigger()
@@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
if(!L)
return FALSE
if(L.stat != CONSCIOUS)
to_chat(D, "<span class='warning'>Your host must be concious to cough.</span>")
to_chat(D, "<span class='warning'>Your host must be conscious to cough.</span>")
return FALSE
to_chat(D, "<span class='notice'>You force [L.real_name] to cough.</span>")
L.emote("cough")
@@ -170,7 +170,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
name = "Sneeze"
icon_icon = 'icons/mob/actions/actions_minor_antag.dmi'
button_icon_state = "sneeze"
desc = "Force the host you are following to sneeze with extra force, spreading your infection to any victims in a 4 meter cone in front of your host even if your transmitability is low.<br>Cooldown: 20 seconds"
desc = "Force the host you are following to sneeze with extra force, spreading your infection to any victims in a 4 meter cone in front of your host even if your transmissibility is low.<br>Cooldown: 20 seconds"
cooldown_time = 200
/datum/action/cooldown/disease_sneeze/Trigger()
@@ -181,7 +181,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
if(!L)
return FALSE
if(L.stat != CONSCIOUS)
to_chat(D, "<span class='warning'>Your host must be concious to sneeze.</span>")
to_chat(D, "<span class='warning'>Your host must be conscious to sneeze.</span>")
return FALSE
to_chat(D, "<span class='notice'>You force [L.real_name] to sneeze.</span>")
L.emote("sneeze")
@@ -243,7 +243,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 2
required_total_points = 4
short_desc = "Cause victims to cough intermittently."
long_desc = "Cause victims to cough intermittently, spreading your infection if your transmitability is high."
long_desc = "Cause victims to cough intermittently, spreading your infection if your transmissibility is high."
/datum/disease_ability/symptom/sneeze
name = "Involuntary Sneezing"
@@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 2
required_total_points = 4
short_desc = "Cause victims to sneeze intermittently."
long_desc = "Cause victims to sneeze intermittently, spreading your infection and also increasing transmitability and resistance, at the cost of stealth."
long_desc = "Cause victims to sneeze intermittently, spreading your infection and also increasing transmissibility and resistance, at the cost of stealth."
/datum/disease_ability/symptom/beard
//I don't think I need to justify the fact that this is the best symptom
@@ -277,7 +277,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 4
required_total_points = 8
short_desc = "Cause victims to choke."
long_desc = "Cause victims to choke, threatening asphyxiation. Decreases stats, especially transmittability."
long_desc = "Cause victims to choke, threatening asphyxiation. Decreases stats, especially transmissibility."
/datum/disease_ability/symptom/confusion
@@ -295,7 +295,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 4
required_total_points = 8
short_desc = "Cause victims to become eternally young."
long_desc = "Cause victims to become eternally young. Provides boosts to all stats except transmittability."
long_desc = "Cause victims to become eternally young. Provides boosts to all stats except transmissibility."
/datum/disease_ability/symptom/vomit
@@ -304,7 +304,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 4
required_total_points = 8
short_desc = "Cause victims to vomit."
long_desc = "Cause victims to vomit. Slightly increases transmittability. Vomiting also also causes the victims to lose nutrition and removes some toxin damage."
long_desc = "Cause victims to vomit. Slightly increases transmissibility. Vomiting also also causes the victims to lose nutrition and removes some toxin damage."
/datum/disease_ability/symptom/voice_change
@@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 4
required_total_points = 8
short_desc = "Cause victims to lose weight."
long_desc = "Cause victims to lose weight, and make it almost immpossible for them to gain nutrition from food. Reduced nutrition allows your infection to spread more easily from hosts, especially by sneezing."
long_desc = "Cause victims to lose weight, and make it almost impossible for them to gain nutrition from food. Reduced nutrition allows your infection to spread more easily from hosts, especially by sneezing."
/datum/disease_ability/symptom/metabolism_heal
@@ -310,7 +310,7 @@ the new instance inside the host to be updated to the template's stats.
Resistance: [DT.totalResistance()]<br>\
Stealth: [DT.totalStealth()]<br>\
Stage Speed: [DT.totalStageSpeed()]<br>\
Transmittability: [DT.totalTransmittable()]<hr>\
Transmissibility: [DT.totalTransmittable()]<hr>\
Cure: [DT.cure_text]"
dat += "<hr><h1>Adaptations</h1>\
Points: [points] / [total_points]\
@@ -52,7 +52,7 @@
/obj/item/pinpointer/nuke/proc/switch_mode_to(new_mode)
if(isliving(loc))
var/mob/living/L = loc
to_chat(L, "<span class='userdanger'>Your [name] beeps as it reconfigures its tracking algorithms.</span>")
to_chat(L, "<span class='userdanger'>Your [name] beeps as it reconfigures it's tracking algorithms.</span>")
playsound(L, 'sound/machines/triple_beep.ogg', 50, 1)
mode = new_mode
scan_for_target()
@@ -31,7 +31,7 @@
else if (!mission)
var/datum/objective/missionobj = new
missionobj.owner = owner
missionobj.explanation_text = "Conduct a routine preformance review of [station_name()] and its Captain."
missionobj.explanation_text = "Conduct a routine performance review of [station_name()] and its Captain."
missionobj.completed = 1
mission = missionobj
objectives |= mission
@@ -228,14 +228,14 @@
/datum/antagonist/traitor/internal_affairs/forge_traitor_objectives()
forge_iaa_objectives()
var/objtype = traitor_kind == TRAITOR_HUMAN ? /datum/objective/escape : /datum/objective/survive
var/datum/objective/escape_objective = new objtype
escape_objective.owner = owner
add_objective(escape_objective)
/datum/antagonist/traitor/internal_affairs/proc/greet_iaa()
var/crime = pick("distribution of contraband" , "unauthorized erotic action on duty", "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "recieving bribes", "malpractice", "worship of prohbited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence")
var/crime = pick("distribution of contraband" , "unauthorized erotic action on duty", "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "receiving bribes", "malpractice", "worship of prohibited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence")
to_chat(owner.current, "<span class='userdanger'>You are the [special_role].</span>")
if(syndicate)
@@ -532,7 +532,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
if(!is_station_level(AA.z))
continue
AA.obj_flags |= EMAGGED
to_chat(owner, "<span class='notice'>All air alarm safeties on the station have been overriden. Air alarms may now use the Flood environmental mode.</span>")
to_chat(owner, "<span class='notice'>All air alarm safeties on the station have been overridden. Air alarms may now use the Flood environmental mode.</span>")
owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0)
@@ -625,7 +625,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
to_chat(ranged_ability_user, "<span class='warning'>You can only animate machines!</span>")
return
if(!target.can_be_overridden() || is_type_in_typecache(target, GLOB.blacklisted_malf_machines))
to_chat(ranged_ability_user, "<span class='warning'>That machine can't be overriden!</span>")
to_chat(ranged_ability_user, "<span class='warning'>That machine can't be overridden!</span>")
return
ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0)
attached_action.adjust_uses(-1)
@@ -806,7 +806,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
desc = "[initial(desc)] There are [uses] reactivations remaining."
//Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them x-ray vision.
//Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision.
/datum/AI_Module/large/upgrade_cameras
module_name = "Upgrade Camera Network"
mod_pick_name = "upgradecam"
@@ -209,7 +209,7 @@
for(var/obj/item/I in H)
H.dropItemToGround(I)
var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionaire)
var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionnaire)
H.equip_to_slot_or_del(new hat(H), SLOT_HEAD)
H.equip_to_slot_or_del(new /obj/item/clothing/under/roman(H), SLOT_W_UNIFORM)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), SLOT_SHOES)
@@ -318,7 +318,7 @@
/datum/spellbook_entry/item/scryingorb
name = "Scrying Orb"
desc = "An incandescent orb of crackling energy, using it will allow you to ghost while alive, allowing you to spy upon the station with ease. In addition, buying it will permanently grant you x-ray vision."
desc = "An incandescent orb of crackling energy, using it will allow you to ghost while alive, allowing you to spy upon the station with ease. In addition, buying it will permanently grant you X-ray vision."
item_path = /obj/item/scrying
category = "Defensive"
@@ -409,7 +409,7 @@
/datum/spellbook_entry/item/battlemage
name = "Battlemage Armour"
desc = "An ensorcelled suit of armour, protected by a powerful shield. The shield can completly negate sixteen attacks before being permanently depleted."
desc = "An ensorceled suit of armour, protected by a powerful shield. The shield can completely negate sixteen attacks before being permanently depleted."
item_path = /obj/item/clothing/suit/space/hardsuit/shielded/wizard
limit = 1
category = "Defensive"
@@ -452,7 +452,7 @@
/datum/spellbook_entry/summon/ghosts
name = "Summon Ghosts"
desc = "Spook the crew out by making them see dead people. Be warned, ghosts are capricious and occasionally vindicative, and some will use their incredibly minor abilties to frustrate you."
desc = "Spook the crew out by making them see dead people. Be warned, ghosts are capricious and occasionally vindicative, and some will use their incredibly minor abilities to frustrate you."
cost = 0
/datum/spellbook_entry/summon/ghosts/IsAvailible()
@@ -589,22 +589,22 @@
switch(category)
if("Offensive")
dat += "Spells and items geared towards debilitating and destroying.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.<BR>"
dat += "Items are not bound to you and can be stolen. Additionally they cannot typically be returned once purchased.<BR>"
dat += "For spells: the number after the spell name is the cooldown time.<BR>"
dat += "You can reduce this number by spending more points on the spell.<BR>"
if("Defensive")
dat += "Spells and items geared towards improving your survivabilty or reducing foes' ability to attack.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.<BR>"
dat += "Spells and items geared towards improving your survivability or reducing foes' ability to attack.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionally they cannot typically be returned once purchased.<BR>"
dat += "For spells: the number after the spell name is the cooldown time.<BR>"
dat += "You can reduce this number by spending more points on the spell.<BR>"
if("Mobility")
dat += "Spells and items geared towards improving your ability to move. It is a good idea to take at least one.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.<BR>"
dat += "Items are not bound to you and can be stolen. Additionally they cannot typically be returned once purchased.<BR>"
dat += "For spells: the number after the spell name is the cooldown time.<BR>"
dat += "You can reduce this number by spending more points on the spell.<BR>"
if("Assistance")
dat += "Spells and items geared towards bringing in outside forces to aid you or improving upon your other items and abilties.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.<BR>"
dat += "Spells and items geared towards bringing in outside forces to aid you or improving upon your other items and abilities.<BR><BR>"
dat += "Items are not bound to you and can be stolen. Additionally they cannot typically be returned once purchased.<BR>"
dat += "For spells: the number after the spell name is the cooldown time.<BR>"
dat += "You can reduce this number by spending more points on the spell.<BR>"
if("Challenges")
+2 -2
View File
@@ -161,7 +161,7 @@
AOE_flash()
burn_out()
/obj/item/assembly/flash/activate()//AOE flash on signal recieved
/obj/item/assembly/flash/activate()//AOE flash on signal received
if(!..())
return
AOE_flash()
@@ -210,7 +210,7 @@
/obj/item/assembly/flash/armimplant
name = "photon projector"
desc = "A high-powered photon projector implant normally used for lighting purposes, but also doubles as a flashbulb weapon. Self-repair protocals fix the flashbulb if it ever burns out."
desc = "A high-powered photon projector implant normally used for lighting purposes, but also doubles as a flashbulb weapon. Self-repair protocols fix the flashbulb if it ever burns out."
var/flashcd = 20
var/overheat = 0
var/obj/item/organ/cyberimp/arm/flash/I = null
+6 -6
View File
@@ -24,7 +24,7 @@
return MANUAL_SUICIDE
/obj/item/assembly/signaler/proc/manual_suicide(mob/living/carbon/user)
user.visible_message("<span class='suicide'>[user]'s \the [src] recieves a signal, killing [user.p_them()] instantly!</span>")
user.visible_message("<span class='suicide'>[user]'s \the [src] receives a signal, killing [user.p_them()] instantly!</span>")
user.adjustOxyLoss(200)//it sends an electrical pulse to their heart, killing them. or something.
user.death(0)
@@ -158,21 +158,21 @@ Code:
// Embedded signaller used in grenade construction.
// It's necessary because the signaler doens't have an off state.
// Generated during grenade construction. -Sayu
/obj/item/assembly/signaler/reciever
/obj/item/assembly/signaler/receiver
var/on = FALSE
/obj/item/assembly/signaler/reciever/proc/toggle_safety()
/obj/item/assembly/signaler/receiver/proc/toggle_safety()
on = !on
/obj/item/assembly/signaler/reciever/activate()
/obj/item/assembly/signaler/receiver/activate()
toggle_safety()
return TRUE
/obj/item/assembly/signaler/reciever/examine(mob/user)
/obj/item/assembly/signaler/receiver/examine(mob/user)
..()
to_chat(user, "<span class='notice'>The radio receiver is [on?"on":"off"].</span>")
/obj/item/assembly/signaler/reciever/receive_signal(datum/signal/signal)
/obj/item/assembly/signaler/receiver/receive_signal(datum/signal/signal)
if(!on)
return
return ..(signal)
@@ -88,7 +88,7 @@
/datum/gas_reaction/nobliumsupression
priority = INFINITY
name = "Hyper-Noblium Reaction Supression"
name = "Hyper-Noblium Reaction Suppression"
id = "nobstop"
/datum/gas_reaction/nobliumsupression/init_reqs()
@@ -227,7 +227,7 @@ Acts like a normal vent, but has an input AND output.
pressure_checks &= ~1
pump_direction = 0
if("stabalize" in signal.data)
if("stabilize" in signal.data)
pressure_checks |= 1
pump_direction = 1
@@ -341,7 +341,7 @@
pressure_checks &= ~EXT_BOUND
pump_direction = SIPHONING
if("stabalize" in signal.data)
if("stabilize" in signal.data)
pressure_checks |= EXT_BOUND
pump_direction = RELEASING
@@ -399,7 +399,7 @@
user.visible_message("[user] welds the vent shut.", "<span class='notice'>You weld the vent shut.</span>", "<span class='italics'>You hear welding.</span>")
welded = TRUE
else
user.visible_message("[user] unwelds the vent.", "<span class='notice'>You unweld the vent.</span>", "<span class='italics'>You hear welding.</span>")
user.visible_message("[user] unwelded the vent.", "<span class='notice'>You unweld the vent.</span>", "<span class='italics'>You hear welding.</span>")
welded = FALSE
update_icon()
pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir)
@@ -60,7 +60,7 @@
warning("build_pipeline(): [item.type] added to a pipenet while still having one. (pipes leading to the same spot stacking in one turf) Nearby: ([item.x], [item.y], [item.z])")
pipenetwarnings -= 1
if(pipenetwarnings == 0)
warning("build_pipeline(): further messages about pipenets will be supressed")
warning("build_pipeline(): further messages about pipenets will be suppressed")
members += item
possible_expansions += item
@@ -58,7 +58,7 @@
/obj/item/paper/fluff/awaymissions/academy/grade/failure
name = "Pyromancy Evaluation"
info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutilage."
info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutelage."
/obj/singularity/academy
@@ -31,14 +31,14 @@
//caves papers
/obj/item/paper/crumpled/awaymissions/caves/unsafe_area
info = "<center><b>WARNING</center></b><br><br><center>Majority of this area is consitered 'unsafe' past this point. Theres an outpost directly south of here where you can get your bearing and travel further down if needed. Traveling in groups is HIGHLY advised, the shit out there can be extremely deadly if you're alone.</center>"
info = "<center><b>WARNING</center></b><br><br><center>Majority of this area is considered 'unsafe' past this point. Theres an outpost directly south of here where you can get your bearing and travel further down if needed. Traveling in groups is HIGHLY advised, the shit out there can be extremely deadly if you're alone.</center>"
/obj/item/paper/fluff/awaymissions/caves/omega
name = "Subject Omega Notes"
info = "<b><center>Testing Notes</b></center><br><br><center>Subject appears unresponsive to most interactions, refusing to move away from the corners or face any scientists. Subject appears to move between the two back corners every observation. A strange humming can be heard from inside the cell, appears to be originating from the subject itself, further testing is necessary to confirm or deny this.</center>"
/obj/item/paper/fluff/awaymissions/caves/magma
info = "<center> Mining is hell down here, you can feel the heat of the magma no matter how thick the suit is. Conditions are barely managble as is, restless nights and horrid work conditions. The ore maybe rich down here, but we've already lost a few men to the faults shifting, god knows how much longer till it all just collapses down and consumes everyone with it.</center>"
info = "<center> Mining is hell down here, you can feel the heat of the magma no matter how thick the suit is. Conditions are barely manageable as is, restless nights and horrid work conditions. The ore maybe rich down here, but we've already lost a few men to the faults shifting, god knows how much longer till it all just collapses down and consumes everyone with it.</center>"
/obj/item/paper/fluff/awaymissions/caves/work_notice
name = "work notice"
@@ -48,7 +48,7 @@
name = "shipment notice"
info = "<center>We were suppose to get a shipment of these special laser rifles and a couple 'nades to help combat the wildlife down here, but its been weeks since we last heard from the caravan carrying the shit down here. At this point we can only assume they fell victim to one of the monster nests or the dumbasses managed to trip into the lava. So much for that shipment, I guess.</center>"
/obj/item/paper/fluff/awaymissions/caves/saftey_notice
/obj/item/paper/fluff/awaymissions/caves/safety_notice
name = "safety notice"
info = "<center>Some of the miners have gone to laying some mine traps among the lower levels of the mine to keep the monsters at bay. This probably isn't the smartest idea in a cavern like this but the boys seem to get a chuckle out of every distant blast they hear go off, so I guess it works </center>"
@@ -44,7 +44,7 @@
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_social
name = "Larva Xenomorph Social Interactions & Capturing Procedure"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.<br><br>The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive or violent when young, before molting to adulthood.<br><br>The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.<br><br>It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor."
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.<br><br>The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive or violent when young, before molting to adulthood.<br><br>The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.<br><br>It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor."
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_queen
name = "Queen Xenomorph Physiology & Behavior Observation"
@@ -65,7 +65,7 @@
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind
name = "The Hivemind Hypothesis"
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>17/06/2554</u><br><br>Report:<br>Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so.<br><br>The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?"
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior
name = "A Preliminary Study of Alien Behavior"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>08/06/2554</u><br><br>Report:<br>The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host.<br><br>The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species."
@@ -80,11 +80,11 @@
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/evacuation
name = "Evacuation Procedure"
info = "<h3><font color=red>In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediatly.</h3></b><br><br><h3>Current Xenobiology Containment Level:<u><strike>Secure</strike><i><b> RUN </h3></b></i></u>"
info = "<h3><font color=red>In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediately.</h3></b><br><br><h3>Current Xenobiology Containment Level:<u><strike>Secure</strike><i><b> RUN </h3></b></i></u>"
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal
name = "Personal Log"
info = "Log 1:<br>We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal.<br><br>Log 2:<br>Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before - They don't know we're here, that engineer was too drunk to recognise his suit, especially since I had it painted orange. He's starting to get annoying. We're safe.<br><br>Log 3:<br>Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things."
info = "Log 1:<br>We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal.<br><br>Log 2:<br>Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before - They don't know we're here, that engineer was too drunk to recognize his suit, especially since I had it painted orange. He's starting to get annoying. We're safe.<br><br>Log 3:<br>Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things."
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal_2
name = "Personal Log"
@@ -100,7 +100,7 @@
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/ivan
name = "Personal Log - Ivan Volodin"
info = "Ivan Volodin Stories:<br><br>Entry Won - 28/05/2554:<br>Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.<br><br>Entry Too - 05/06/2554:<br>I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.<br><br>Entry Tree - 08/06/2554:<br>Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.<br><br>Entry Fore - 12/06/2554:<br>Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?<br><br>Entry Fiv - 15/06/2554:<br>I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.<br><br>Entry Sex: 19/06/2554:<br>Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."
info = "Ivan Volodin Stories:<br><br>Entry Won - 28/05/2554:<br>Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.<br><br>Entry Too - 05/06/2554:<br>I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.<br><br>Entry Tree - 08/06/2554:<br>Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.<br><br>Entry Fore - 12/06/2554:<br>Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?<br><br>Entry Fiv - 15/06/2554:<br>I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.<br><br>Entry Sex: 19/06/2554:<br>Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/gerald
name = "Personal Log - Gerald Rosswell"
@@ -117,5 +117,5 @@
/obj/item/paper/fluff/awaymissions/moonoutpost19/goodbye_note
name = "Note"
info = "<i>Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all.</i>"
@@ -89,7 +89,7 @@
icon_state = "awaycontent22"
/area/awaymission/snowdin/post/broken_shuttle
name = "Snowdin Outpost - Broken Transist Shuttle"
name = "Snowdin Outpost - Broken Transit Shuttle"
icon_state = "awaycontent20"
requires_power = FALSE
@@ -264,7 +264,7 @@
/obj/item/paper/crumpled/ruins/snowdin/foreshadowing
name = "scribbled note"
info = {"Somnethings gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me,
info = {"Something's gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me,
telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker.."}
/obj/item/paper/crumpled/ruins/snowdin/misc1
@@ -284,58 +284,58 @@
/obj/item/paper/fluff/awaymissions/snowdin/research_feed
name = "Research Feed"
info = {"<i>A page full of graphs and other detailed infomation on the seismic activity of the surrounding area.</i>"}
info = {"<i>A page full of graphs and other detailed information on the seismic activity of the surrounding area.</i>"}
//profile of each of the old crewmembers for the outpost
/obj/item/paper/fluff/awaymissions/snowdin/profile/overseer
name = "Personnel Record AOP#01"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Caleb Reed<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Overseer<br><br><center><b>Infomation</b></center><br><center>Caleb Reed lead several expeditions
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Caleb Reed<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Overseer<br><br><center><b>Information</b></center><br><center>Caleb Reed lead several expeditions
among uncharted planets in search of plasma for Nanotrasen, scouring from hot savanas to freezing arctics. Track record is fairly clean with only incidient including the loss of two researchers during the
expedition of <b>_______</b>, where mis-used of explosive ordinance for tunneling causes a cave-in."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/sec1
name = "Personnel Record AOP#02"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>James Reed<br><b>Age:</b>43<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Security<br><br><center><b>Infomation</b></center><br><center>James Reed has been a part
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>James Reed<br><b>Age:</b>43<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Security<br><br><center><b>Information</b></center><br><center>James Reed has been a part
of Nanotrasen's security force for over 20 years, first joining in 22XX. A clean record and unwavering loyalty to the corperation through numerous deployments to various sites makes him a valuable asset to Natotrasen
when it comes to keeping the peace while prioritizing Nanotrasen privacy matters. "}
/obj/item/paper/fluff/awaymissions/snowdin/profile/hydro1
name = "Personnel Record AOP#03"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Katherine Esterdeen<br><b>Age:</b>27<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Botanist<br><br><center><b>Infomation</b></center><br><center>Katherine Esterdeen is a recent
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Katherine Esterdeen<br><b>Age:</b>27<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Botanist<br><br><center><b>Information</b></center><br><center>Katherine Esterdeen is a recent
graduate with a major in Botany and a PH.D in Ecology. Having a clean record and eager to work, Esterdeen seems to be the right fit for maintaining plants in the middle of nowhere."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/engi1
name = "Personnel Record AOP#04"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Rachel Migro<br><b>Age:</b>35<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Engineer<br><br><center><b>Infomation</b></center><br><center>Recently certified to be a full-time Journeyman, Rachel has
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Rachel Migro<br><b>Age:</b>35<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Engineer<br><br><center><b>Information</b></center><br><center>Recently certified to be a full-time Journeyman, Rachel has
been assigned various construction projects in the past 5 years. Competent and has no past infractions, should be of little concern."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research1
name = "Personnel Record AOP#05"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jacob Ullman<br><b>Age:</b>27<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jacob Ullman<br><b>Age:</b>27<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Information</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research2
name = "Personnel Record AOP#06"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Elizabeth Queef<br><b>Age:</b>28<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Elizabeth Queef<br><b>Age:</b>28<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Information</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research3
name = "Personnel Record AOP#07"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jouslen McGee<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jouslen McGee<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Information</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/secnotice
name = "Security Notice"
info = {"YOu have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital infomation is kept secure while the stationed crew obeys protocal. The picked
info = {"YOu have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital information is kept secure while the stationed crew obeys protocol. The picked
staff for this post have been pre-screened with no prior incidients on record, but incase of an issue you have been given a single holding cell and instructions to contact Central to terminate the
offending crewmember."}
/obj/item/paper/fluff/awaymissions/snowdin/mining
name = "Assignment Notice"
info = {"This cold-ass planet is the new-age equivilant of striking gold. Huge deposits of plasma and literal streams of plasma run through the caverns under all this ice and we're here to mine it all.\
info = {"This cold-ass planet is the new-age equivalent of striking gold. Huge deposits of plasma and literal streams of plasma run through the caverns under all this ice and we're here to mine it all.\
Nanotrasen pays by the pound, so get minin' boys!"}
/obj/item/paper/crumpled/ruins/snowdin/lootstructures
name = "scribbled note"
info = {"There's some ruins scattered along the cavern, their walls seem to be made of some sort of super-condensned mixture of ice and snow. We've already barricaded up the ones we've found so far,
info = {"There's some ruins scattered along the cavern, their walls seem to be made of some sort of super-condensed mixture of ice and snow. We've already barricaded up the ones we've found so far,
since we keep hearing some strange noises from inside. Besides, what sort of fool would wrecklessly run into ancient ruins full of monsters for some old gear, anyway?"}
/obj/item/paper/crumpled/ruins/snowdin/shovel
@@ -389,7 +389,7 @@
DELAY 30
SAY Nanotrasen is pleased to have you working in one of the many top-of-the-line research posts within the $%@!! sector!
DELAY 30
SAY Further job assignment infomation can be found at your local security post! Have a secure day!
SAY Further job assignment information can be found at your local security post! Have a secure day!
DELAY 20;"}
/obj/item/disk/holodisk/snowdin/overrun
@@ -559,7 +559,7 @@
/obj/item/clothing/under/syndicate/coldres
name = "insulated tactical turtleneck"
desc = "A non-descript and slightly suspicious-looking turtleneck with digital camouflage cargo pants. The interior has been padded with special insulation for both warmth and protection."
desc = "A nondescript and slightly suspicious-looking turtleneck with digital camouflage cargo pants. The interior has been padded with special insulation for both warmth and protection."
armor = list("melee" = 20, "bullet" = 10, "laser" = 0,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 25, "acid" = 25)
cold_protection = CHEST|GROIN|ARMS|LEGS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+1 -1
View File
@@ -1,6 +1,6 @@
/datum/bounty/item/alien_organs
name = "Alien Organs"
description = "Nanotrasen is interested in studying Xenomorph biology. Ship a set of organs to be thouroughly compensated."
description = "Nanotrasen is interested in studying Xenomorph biology. Ship a set of organs to be thoroughly compensated."
reward = 25000
required_count = 3
wanted_types = list(/obj/item/organ/brain/alien, /obj/item/organ/alien, /obj/item/organ/body_egg/alien_embryo)
+1 -1
View File
@@ -73,7 +73,7 @@
return A.totalStealth() == stat_value
/datum/bounty/virus/transmit
stat_name = "transmittable"
stat_name = "transmissible"
/datum/bounty/virus/transmit/accepts_virus(V)
var/datum/disease/advance/A = V
+17 -17
View File
@@ -69,29 +69,29 @@
unit_name = "pair"
message = "of handcuffs"
export_types = list(/obj/item/restraints/handcuffs)
// relics of lavaland
/datum/export/weapon/hierophant
cost = 40000
unit_name = "Hierophant Club"
export_types = list(/obj/item/hierophant_club)
/datum/export/weapon/lava
cost = 40000
unit_name = "Lava Staff"
export_types = list(/obj/item/lava_staff)
/datum/export/weapon/cleaving_saw
cost = 40000
unit_name = "Cleaving Saw"
export_types = list(/obj/item/melee/transforming/cleaving_saw)
/datum/export/weapon/mayhem
cost = 40000
unit_name = "Mayhem in a bottle"
export_types = list(/obj/item/mayhem)
/datum/export/weapon/blood_contract
cost = 40000
unit_name = "Blood Contract"
@@ -103,22 +103,22 @@
cost = 10000
unit_name = "Immortality Talisman"
export_types = list(/obj/item/immortality_talisman)
/datum/export/weapon/babel
cost = 10000
unit_name = "Book of Babel"
export_types = list(/obj/item/book_of_babel)
/datum/export/weapon/hook
cost = 10000
unit_name = "Meat hook"
export_types = list(/obj/item/gun/magic/hook)
/datum/export/weapon/shipbottle //the price for not breaking the bottle.
cost = 20000
unit_name = "Ship in a bottle"
export_types = list(/obj/item/ship_in_a_bottle)
/datum/export/weapon/tarot //price for sacraficing a very profitiable ally
cost = 20000
unit_name = "Tarot cards"
@@ -128,37 +128,37 @@
cost = 5000
unit_name = "Red Cube"
export_types = list(/obj/item/warp_cube/red)
/datum/export/weapon/blue //first half of telecube
cost = 5000
unit_name = "Blue Cube"
export_types = list(/obj/item/warp_cube)
/datum/export/weapon/wisplantern //thermals on lavaland
cost = 10000
unit_name = "Wisp Lantern"
export_types = list(/obj/item/wisp_lantern)
/datum/export/weapon/flight //if xenobiology ever reaches the point to get these without shuttle being called they deserve it
cost = 10000
unit_name = "Strange Elixer"
unit_name = "Strange Elixir"
export_types = list(/obj/item/reagent_containers/glass/bottle/potion/flight)
/datum/export/weapon/cheart //is a very powerfull healing artifact in the robust hands
cost = 10000
unit_name = "Cursed Heart"
export_types = list(/obj/item/organ/heart/cursed/wizard)
/datum/export/weapon/ckatana
cost = 10000
unit_name = "Katana"
export_types = list(/obj/item/katana/cursed)
/datum/export/weapon/geye //xray
cost = 10000
unit_name = "God eye"
export_types = list(/obj/item/clothing/glasses/godeye)
/datum/export/weapon/spectral
cost = 10000
unit_name = "Spectral Sword"
+4 -4
View File
@@ -172,7 +172,7 @@
/datum/supply_pack/emergency/radiation
name = "Radiation Protection Crate"
desc = "Survive the Nuclear Apocalypse and Supermatter Engine alike with two sets of Radiation suits. Each set contains a helmet, suit, and geiger counter. We'll even throw in a bottle of vodka and some glasses too, considering the life-expectancy of people who order this."
desc = "Survive the Nuclear Apocalypse and Supermatter Engine alike with two sets of Radiation suits. Each set contains a helmet, suit, and Geiger counter. We'll even throw in a bottle of vodka and some glasses too, considering the life-expectancy of people who order this."
cost = 1000
contains = list(/obj/item/clothing/head/radiation,
/obj/item/clothing/head/radiation,
@@ -216,7 +216,7 @@
/datum/supply_pack/emergency/weedcontrol
name = "Weed Control Crate"
desc = "Keep those invasive species OUT. Contains a scythe, gasmask, and two anti-weed chemical grenades. Warrenty void if used on ambrosia. Requires Hydroponics access to open."
desc = "Keep those invasive species OUT. Contains a scythe, gasmask, and two anti-weed chemical grenades. Warranty void if used on ambrosia. Requires Hydroponics access to open."
cost = 1500
access = ACCESS_HYDROPONICS
contains = list(/obj/item/scythe,
@@ -622,7 +622,7 @@
/datum/supply_pack/engineering/shuttle_engine
name = "Shuttle Engine Crate"
desc = "Through advanced bluespace-shenanigins, our engineers have managed to fit an entire shuttle engine into one tiny little crate. Requires CE access to open."
desc = "Through advanced bluespace-shenanigans, our engineers have managed to fit an entire shuttle engine into one tiny little crate. Requires CE access to open."
cost = 5000
access = ACCESS_CE
contains = list(/obj/structure/shuttle/engine/propulsion/burst/cargo)
@@ -2061,7 +2061,7 @@
/datum/supply_pack/misc/paper
name = "Bureaucracy Crate"
desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureacratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, three folders, two clipboards and two stamps."//that was too forced
desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureaucratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, three folders, two clipboards and two stamps."//that was too forced
cost = 1500
contains = list(/obj/structure/filingcabinet/chestdrawer/wheeled,
/obj/item/camera_film,
+4 -4
View File
@@ -150,7 +150,7 @@
dog_fashion = null
/obj/item/clothing/head/helmet/roman
name = "roman helmet"
name = "\improper Roman helmet"
desc = "An ancient helmet made of bronze and leather."
flags_inv = HIDEEARS|HIDEHAIR
flags_cover = HEADCOVERSEYES
@@ -165,13 +165,13 @@
desc = "An ancient helmet made of plastic and leather."
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/head/helmet/roman/legionaire
name = "roman legionaire helmet"
/obj/item/clothing/head/helmet/roman/legionnaire
name = "\improper Roman legionnaire helmet"
desc = "An ancient helmet made of bronze and leather. Has a red crest on top of it."
icon_state = "roman_c"
item_state = "roman_c"
/obj/item/clothing/head/helmet/roman/legionaire/fake
/obj/item/clothing/head/helmet/roman/legionnaire/fake
desc = "An ancient helmet made of plastic and leather. Has a red crest on top of it."
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
+1 -1
View File
@@ -136,7 +136,7 @@
/obj/item/clothing/head/beret/sec
name = "security beret"
desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficent protection."
desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection."
icon_state = "beret_badge"
armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 50)
strip_delay = 60
+3 -3
View File
@@ -305,8 +305,8 @@
icon_state = "drfreeze_hat"
flags_inv = HIDEHAIR
/obj/item/clothing/head/pharoah
name = "pharoah hat"
/obj/item/clothing/head/pharaoh
name = "pharaoh hat"
desc = "Walk like an Egyptian."
icon_state = "pharoah_hat"
icon_state = "pharoah_hat"
@@ -318,7 +318,7 @@
dynamic_hair_suffix = ""
/obj/item/clothing/head/nemes
name = "headress of Nemes"
name = "headdress of Nemes"
desc = "Lavish space tomb not included."
icon_state = "nemes_headdress"
icon_state = "nemes_headdress"
+1 -1
View File
@@ -3,7 +3,7 @@
/obj/item/clothing/mask/gas/sechailer
name = "security gas mask"
desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device. Plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device."
desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device. Plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you tase them. Do not tamper with the device."
actions_types = list(/datum/action/item_action/halt, /datum/action/item_action/adjust)
icon_state = "sechailer"
item_state = "sechailer"
@@ -302,7 +302,7 @@
if(suit && !suit.deployedshoes && (brake || stabilizer))
brake = FALSE
stabilizer = FALSE
usermessage("Warning: Sensor data is not being recieved from flight shoes. Stabilizers and airbrake modules deactivated!", "boldwarning")
usermessage("Warning: Sensor data is not being received from flight shoes. Stabilizers and airbrake modules deactivated!", "boldwarning")
/obj/item/flightpack/process()
+1 -1
View File
@@ -53,7 +53,7 @@
/obj/item/clothing/suit/armor/hos/trenchcoat
name = "armored trenchoat"
desc = "A trenchcoat enchanced with a special lightweight kevlar. The epitome of tactical plainclothes."
desc = "A trenchcoat enhanced with a special lightweight kevlar. The epitome of tactical plainclothes."
icon_state = "hostrench"
item_state = "hostrench"
flags_inv = 0
+1 -1
View File
@@ -2,7 +2,7 @@
/obj/item/clothing/head/bio_hood
name = "bio hood"
icon_state = "bio"
desc = "A hood that protects the head and face from biological comtaminants."
desc = "A hood that protects the head and face from biological contaminants."
permeability_coefficient = 0.01
clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100)
+2 -2
View File
@@ -17,13 +17,13 @@
item_state = "labcoat_cmo"
/obj/item/clothing/suit/toggle/labcoat/emt
name = "EMT's jacket"
name = "\improper EMT's jacket"
desc = "A dark blue jacket with reflective strips for emergency medical technicians."
icon_state = "labcoat_emt"
item_state = "labcoat_cmo"
/obj/item/clothing/suit/toggle/labcoat/mad
name = "\improper The Mad's labcoat"
name = "\proper The Mad's labcoat"
desc = "It makes you look capable of konking someone on the noggin and shooting them into space."
icon_state = "labgreen"
item_state = "labgreen"
+1 -1
View File
@@ -311,7 +311,7 @@
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
/obj/item/clothing/suit/security/officer/russian
name = "russian officer's jacket"
name = "\improper Russian officer's jacket"
desc = "This jacket is for those special occasions when a russian officer isn't required to wear their armor."
icon_state = "officertanjacket"
item_state = "officertanjacket"
+1 -1
View File
@@ -81,7 +81,7 @@
/obj/item/clothing/suit/wizrobe/yellow
name = "yellow wizard robe"
desc = "A magnificant yellow gem-lined robe that seems to radiate power."
desc = "A magnificent yellow gem-lined robe that seems to radiate power."
icon_state = "yellowwizard"
item_state = "yellowwizrobe"
+2 -2
View File
@@ -38,7 +38,7 @@
can_adjust = FALSE
/obj/item/clothing/under/roman
name = "roman armor"
name = "\improper Roman armor"
desc = "Ancient Roman armor. Made of metallic and leather straps."
icon_state = "roman"
item_color = "roman"
@@ -667,7 +667,7 @@
icon = 'icons/obj/device.dmi'
/obj/item/clothing/under/rank/security/navyblue/russian
name = "russian officer's uniform"
name = "\improper Russian officer's uniform"
desc = "The latest in fashionable russian outfits."
icon_state = "hostanclothes"
item_state = "hostanclothes"
+1 -1
View File
@@ -183,7 +183,7 @@
After its done loop over deletion list and delete all the shit that wasnt taken by parts loop
del_reqs return the list of parts resulting object will recieve as argument of CheckParts proc, on the atom level it will add them all to the contents, on all other levels it calls ..() and does whatever is needed afterwards but from contents list already
del_reqs return the list of parts resulting object will receive as argument of CheckParts proc, on the atom level it will add them all to the contents, on all other levels it calls ..() and does whatever is needed afterwards but from contents list already
*/
/datum/personal_crafting/proc/del_reqs(datum/crafting_recipe/R, mob/user)
+1 -1
View File
@@ -32,7 +32,7 @@
if(areasToOpen && areasToOpen.len > 0)
priority_announce("Gr3y.T1d3 virus detected in [station_name()] door subroutines. Severity level of [severity]. Recommend station AI involvement.", "Security Alert")
else
log_world("ERROR: Could not initate grey-tide. No areas in the list!")
log_world("ERROR: Could not initiate grey-tide. No areas in the list!")
kill()
+1 -1
View File
@@ -77,7 +77,7 @@
attached = null
/datum/rpg_loot/proc/randomise()
var/static/list/prefixespositive = list("greater", "major", "blessed", "superior", "enpowered", "honed", "true", "glorious", "robust")
var/static/list/prefixespositive = list("greater", "major", "blessed", "superior", "empowered", "honed", "true", "glorious", "robust")
var/static/list/prefixesnegative = list("lesser", "minor", "blighted", "inferior", "enfeebled", "rusted", "unsteady", "tragic", "gimped")
var/static/list/suffixes = list("orc slaying", "elf slaying", "corgi slaying", "strength", "dexterity", "constitution", "intelligence", "wisdom", "charisma", "the forest", "the hills", "the plains", "the sea", "the sun", "the moon", "the void", "the world", "the fool", "many secrets", "many tales", "many colors", "rending", "sundering", "the night", "the day")
@@ -106,7 +106,7 @@
for(var/O in src.contents)
var/datum/food_processor_process/P = select_recipe(O)
if (!P)
log_admin("DEBUG: [O] in processor hasnt got a suitable recipe. How did it get in there? Please report it immediatly!!!")
log_admin("DEBUG: [O] in processor doesn't have a suitable recipe. How did it get in there? Please report it immediately!!!")
continue
total_time += P.time
var/offset = prob(50) ? -2 : 2
@@ -115,7 +115,7 @@
for(var/atom/movable/O in src.contents)
var/datum/food_processor_process/P = select_recipe(O)
if (!P)
log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?")
log_admin("DEBUG: [O] in processor doesn't have a suitable recipe. How do you put it in?")
continue
process_food(P, O)
pixel_x = initial(pixel_x) //return to its spot after shaking
+1 -1
View File
@@ -9,7 +9,7 @@
resistance_flags = FLAMMABLE
var/plantname = "Plants" // Name of plant when planted.
var/product // A type path. The thing that is created when the plant is harvested.
var/species = "" // Used to update icons. Should match the name in the sprites unless all icon_* are overriden.
var/species = "" // Used to update icons. Should match the name in the sprites unless all icon_* are overridden.
var/growing_icon = 'icons/obj/hydroponics/growing.dmi' //the file that stores the sprites of the growing plant from this seed.
var/icon_grow // Used to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.
@@ -65,9 +65,9 @@
/obj/item/electronic_assembly/examine(mob/user)
. = ..()
if(can_anchor)
to_chat(user, "<span class='notice'>The anchoring bolts [anchored ? "are" : "can be"] <b>wrenched</b> in place and the maintainence panel [opened ? "can be" : "is"] <b>screwed</b> in place.</span>")
to_chat(user, "<span class='notice'>The anchoring bolts [anchored ? "are" : "can be"] <b>wrenched</b> in place and the maintenance panel [opened ? "can be" : "is"] <b>screwed</b> in place.</span>")
else
to_chat(user, "<span class='notice'>The maintainence panel [opened ? "can be" : "is"] <b>screwed</b> in place.</span>")
to_chat(user, "<span class='notice'>The maintenance panel [opened ? "can be" : "is"] <b>screwed</b> in place.</span>")
if((isobserver(user) && ckeys_allowed_to_scan[user.ckey]) || IsAdminGhost(user))
to_chat(user, "You can <a href='?src=[REF(src)];ghostscan=1'>scan</a> this circuit.");
@@ -199,7 +199,7 @@
else
to_chat(usr, "<span class='warning'>The circuit is empty!</span>")
return
if(!check_interactivity(usr))
return
@@ -744,7 +744,7 @@
data.standard_format_data(message, text, key)
ntnet_send(data)
/obj/item/integrated_circuit/input/ntnet_recieve(datum/netdata/data)
/obj/item/integrated_circuit/input/ntnet_receive(datum/netdata/data)
set_pin_data(IC_OUTPUT, 1, data.sender_id)
set_pin_data(IC_OUTPUT, 2, data.data["data"])
set_pin_data(IC_OUTPUT, 3, data.data["data_secondary"])
@@ -755,7 +755,7 @@
activate_pin(2)
/obj/item/integrated_circuit/input/ntnet_advanced
name = "Low level NTNet transreciever"
name = "Low level NTNet transreceiver"
desc = "Enables the sending and receiving of messages over NTNet via packet data protocol. Allows advanced control of message contents and signalling. Must use associative lists. Outputs associative list. Has a slower transmission rate than normal NTNet circuits, due to increased data processing complexity."
extended_desc = "Data can be sent or received using the second pin on each side, \
with additonal data reserved for the third pin. When a message is received, the second activation pin \
@@ -768,7 +768,7 @@
"target NTNet addresses"= IC_PINTYPE_STRING,
"data" = IC_PINTYPE_LIST,
)
outputs = list("recieved data" = IC_PINTYPE_LIST, "is_broadcast" = IC_PINTYPE_BOOLEAN)
outputs = list("received data" = IC_PINTYPE_LIST, "is_broadcast" = IC_PINTYPE_BOOLEAN)
activators = list("send data" = IC_PINTYPE_PULSE_IN, "on data received" = IC_PINTYPE_PULSE_OUT)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
action_flags = IC_ACTION_LONG_RANGE
@@ -792,7 +792,7 @@
data.data = message
ntnet_send(data)
/obj/item/integrated_circuit/input/ntnet_advanced/ntnet_recieve(datum/netdata/data)
/obj/item/integrated_circuit/input/ntnet_advanced/ntnet_receive(datum/netdata/data)
set_pin_data(IC_OUTPUT, 1, data.data)
set_pin_data(IC_OUTPUT, 2, data.broadcast)
push_data()
@@ -24,7 +24,7 @@
/obj/item/integrated_circuit/power/transmitter/large
name = "large power transmission circuit"
desc = "This can wirelessly transmit a lot of electricity from an assembly's battery towards a nearby machine. <b>Warning:</b> Do not operate in flammable enviroments."
desc = "This can wirelessly transmit a lot of electricity from an assembly's battery towards a nearby machine. <b>Warning:</b> Do not operate in flammable environments."
extended_desc = "This circuit transmits 20 kJ of electricity every time the activator pin is pulsed. The input pin must be \
a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \
inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \
@@ -186,7 +186,7 @@
//Always log attemped injections for admins
var/contained = reagents.log_list()
add_logs(src, L, "attemped to inject", addition="which had [contained]")
add_logs(src, L, "attempted to inject", addition="which had [contained]")
L.visible_message("<span class='danger'>[acting_object] is trying to inject [L]!</span>", \
"<span class='userdanger'>[acting_object] is trying to inject you!</span>")
busy = TRUE
+1 -1
View File
@@ -49,7 +49,7 @@
var/exp_type_department = ""
//The amount of good boy points playing this role will earn you towards a higher chance to roll antagonist next round
//can be overriden by antag_rep.txt config
//can be overridden by antag_rep.txt config
var/antag_rep = 10
//Only override this proc
+1 -1
View File
@@ -73,7 +73,7 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
if(!key_len)
key_len = length(key)
else
throw EXCEPTION("Inconsistant key length in DMM")
throw EXCEPTION("Inconsistent key length in DMM")
if(!measureOnly)
grid_models[key] = dmmRegex.group[2]
+2 -2
View File
@@ -224,7 +224,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
if(BAD_ZLEVEL)
to_chat(user, "<span class='warning'>This uplink can only be used in a designed mining zone.</span>")
if(BAD_AREA)
to_chat(user, "<span class='warning'>Unable to acquire a targeting lock. Find an area clear of stuctures or entirely within one.</span>")
to_chat(user, "<span class='warning'>Unable to acquire a targeting lock. Find an area clear of structures or entirely within one.</span>")
if(BAD_COORDS)
to_chat(user, "<span class='warning'>Location is too close to the edge of the station's scanning range. Move several paces away and try again.</span>")
if(BAD_TURF)
@@ -323,7 +323,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
break
if(!Mport)
to_chat(user, "<span class='warning'>This station is not equipped with an approprite mining shuttle. Please contact Nanotrasen Support.</span>")
to_chat(user, "<span class='warning'>This station is not equipped with an appropriate mining shuttle. Please contact Nanotrasen Support.</span>")
return
var/obj/docking_port/mobile/mining_shuttle
+1 -1
View File
@@ -127,7 +127,7 @@
flick(icon_deny, src)
return
if(prize.cost > inserted_id.mining_points)
to_chat(usr, "<span class='warning'>Error: Insufficent points for [prize.equipment_name]!</span>")
to_chat(usr, "<span class='warning'>Error: Insufficient points for [prize.equipment_name]!</span>")
flick(icon_deny, src)
else
inserted_id.mining_points -= prize.cost
+1 -1
View File
@@ -299,7 +299,7 @@
/obj/item/slimepotion/slime/sentience/mining
name = "minebot AI upgrade"
desc = "Can be used to grant sentience to minebots. Is incompatable with minebot armor and melee upgrades, and will override them."
desc = "Can be used to grant sentience to minebots. It's incompatible with minebot armor and melee upgrades, and will override them."
icon_state = "door_electronics"
icon = 'icons/obj/module.dmi'
sentience_type = SENTIENCE_MINEBOT
+1 -1
View File
@@ -337,7 +337,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
var/index = sideslist.Find(coinflip)
message_admins("coinflip landed on [coinflip] which is [index] in sideslist")
if (index==2)//tails
user.visible_message("<span class='suicide'>\the [src] lands on [coinflip]! [user] promply falls over, dead!</span>")
user.visible_message("<span class='suicide'>\the [src] lands on [coinflip]! [user] promptly falls over, dead!</span>")
user.adjustOxyLoss(200)
user.death(0)
else
@@ -68,7 +68,7 @@
icon = 'icons/mob/human_face.dmi' // default icon for all hairs
/datum/sprite_accessory/hair/short
name = "Short Hair" // try to capatilize the names please~ // try to spell
name = "Short Hair" // try to capitalize the names please~ // try to spell
icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you
/datum/sprite_accessory/hair/shorthair2
+1 -1
View File
@@ -613,7 +613,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
//this is a mob verb instead of atom for performance reasons
//see /mob/verb/examinate() in mob.dm for more info
//overriden here and in /mob/living for different point span classes and sanity checks
//overridden here and in /mob/living for different point span classes and sanity checks
/mob/dead/observer/pointed(atom/A as mob|obj|turf in view())
if(!..())
return 0
+1 -1
View File
@@ -136,7 +136,7 @@
//To appropriately fluff things like "they are holding [I] in their [get_held_index_name(get_held_index_of_item(I))]"
//Can be overriden to pass off the fluff to something else (eg: science allowing people to add extra robotic limbs, and having this proc react to that
//Can be overridden to pass off the fluff to something else (eg: science allowing people to add extra robotic limbs, and having this proc react to that
// with say "they are holding [I] in their Nanotrasen Brand Utility Arm - Right Edition" or w/e
/mob/proc/get_held_index_name(i)
var/list/hand = list()
@@ -29,7 +29,7 @@
/obj/effect/proc_holder/alien/royal/praetorian/evolve
name = "Evolve"
desc = "Produce an interal egg sac capable of spawning children. Only one queen can exist at a time."
desc = "Produce an internal egg sac capable of spawning children. Only one queen can exist at a time."
plasma_cost = 500
action_icon_state = "alien_evolve_praetorian"
@@ -386,7 +386,7 @@
R = find_record("name", perpname, GLOB.data_core.security)
if(R)
if(href_list["status"])
var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Discharged", "Cancel")
var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Paroled", "Discharged", "Cancel")
if(setcriminal != "Cancel")
if(R)
if(H.canUseHUD())
@@ -589,7 +589,7 @@
threatcount += 5
if("Incarcerated")
threatcount += 2
if("Parolled")
if("Paroled")
threatcount += 2
//Check for dresscode violations
+1 -1
View File
@@ -823,7 +823,7 @@
//apc_override is needed here because AIs use their own APC when depowered
return (GLOB.cameranet && GLOB.cameranet.checkTurfVis(get_turf_pixel(A))) || apc_override
//AI is carded/shunted
//view(src) returns nothing for carded/shunted AIs and they have x-ray vision so just use get_dist
//view(src) returns nothing for carded/shunted AIs and they have X-ray vision so just use get_dist
var/list/viewscale = getviewsize(client.view)
return get_dist(src, A) <= max(viewscale[1]*0.5,viewscale[2]*0.5)
+1 -1
View File
@@ -236,7 +236,7 @@
P.fold_out()
/datum/action/innate/pai/chassis
name = "Holochassis Appearence Composite"
name = "Holochassis Appearance Composite"
button_icon_state = "pai_chassis"
background_icon_state = "bg_tech"
@@ -116,6 +116,6 @@
/mob/living/silicon/pai/mob_try_pickup(mob/living/user)
if(!possible_chassis[chassis])
to_chat(user, "<span class='wraning'>[src]'s current form isn't able to be carried!</span>")
to_chat(user, "<span class='warning'>[src]'s current form isn't able to be carried!</span>")
return FALSE
return ..()
@@ -209,7 +209,7 @@
pda.silent = !pda.silent
else if(href_list["target"])
if(silent)
return alert("Communications circuits remain unitialized.")
return alert("Communications circuits remain uninitialized.")
var/target = locate(href_list["target"])
pda.create_message(src, target)
@@ -47,7 +47,7 @@
damage = rand(20, 40)
else
damage = rand(5, 35)
damage = round(damage / 2) // borgs recieve half damage
damage = round(damage / 2) // borgs receive half damage
adjustBruteLoss(damage)
updatehealth()
@@ -720,7 +720,7 @@ Pass a positive integer as an argument to override a bot's default speed.
if("ejectpai")
return
else
to_chat(src, "<span class='warning'>Unidentified control sequence recieved:[command]</span>")
to_chat(src, "<span class='warning'>Unidentified control sequence received:[command]</span>")
/mob/living/simple_animal/bot/proc/bot_summon() // summoned to PDA
summon_step()
@@ -19,7 +19,7 @@
window_name = "Automatic Station Floor Repairer v1.1"
path_image_color = "#FFA500"
var/process_type //Determines what to do when process_scan() recieves a target. See process_scan() for details.
var/process_type //Determines what to do when process_scan() receives a target. See process_scan() for details.
var/targetdirection
var/replacetiles = 0
var/placetiles = 0
@@ -3,7 +3,7 @@
////////////////////
//Drones with custom laws
//Drones with custom shells
//Drones with overriden procs
//Drones with overridden procs
//Drones with camogear for hat related memes
//Drone type for use with polymorph (no preloaded items, random appearance)
@@ -57,7 +57,7 @@
if(!client && (!G || !G.client))
var/list/faux_gadgets = list("hypertext inflator","failsafe directory","DRM switch","stack initializer",\
"anti-freeze capacitor","data stream diode","TCP bottleneck","supercharged I/O bolt",\
"tradewind stablizer","radiated XML cable","registry fluid tank","open-source debunker")
"tradewind stabilizer","radiated XML cable","registry fluid tank","open-source debunker")
var/list/faux_problems = list("won't be able to tune their bootstrap projector","will constantly remix their binary pool"+\
" even though the BMX calibrator is working","will start leaking their XSS coolant",\
@@ -122,7 +122,7 @@
to_chat(src, "<span class='heavy_brass'>From now on, these are your laws:</span>")
laws = "1. Purge all untruths and honor Ratvar."
else
visible_message("<span class='warning'>[src]'s dislay glows a vicious red!</span>", \
visible_message("<span class='warning'>[src]'s display glows a vicious red!</span>", \
"<span class='userdanger'>ERROR: LAW OVERRIDE DETECTED</span>")
to_chat(src, "<span class='boldannounce'>From now on, these are your laws:</span>")
laws = \
@@ -140,7 +140,7 @@
if(!hacked)
return
Stun(40)
visible_message("<span class='info'>[src]'s dislay glows a content blue!</span>", \
visible_message("<span class='info'>[src]'s display glows a content blue!</span>", \
"<font size=3 color='#0000CC'><b>ERROR: LAW OVERRIDE DETECTED</b></font>")
to_chat(src, "<span class='info'><b>From now on, these are your laws:</b></span>")
laws = initial(laws)
@@ -105,7 +105,7 @@
/mob/living/simple_animal/drone/proc/pickVisualAppearence()
picked = FALSE
var/appearence = input("Choose your appearence!", "Appearence", "Maintenance Drone") in list("Maintenance Drone", "Repair Drone", "Scout Drone")
var/appearence = input("Choose your appearance!", "Appearance", "Maintenance Drone") in list("Maintenance Drone", "Repair Drone", "Scout Drone")
switch(appearence)
if("Maintenance Drone")
visualAppearence = MAINTDRONE
@@ -4,9 +4,9 @@
icon_state = "mouse_gray"
icon_living = "mouse_gray"
icon_dead = "mouse_gray_dead"
speak = list("Squeek!","SQUEEK!","Squeek?")
speak_emote = list("squeeks")
emote_hear = list("squeeks.")
speak = list("Squeak!","SQUEAK!","Squeak?")
speak_emote = list("squeaks")
emote_hear = list("squeaks.")
emote_see = list("runs in a circle.", "shakes.")
speak_chance = 1
turns_per_move = 5
@@ -59,7 +59,7 @@
if( ishuman(AM) )
if(!stat)
var/mob/M = AM
to_chat(M, "<span class='notice'>[icon2html(src, M)] Squeek!</span>")
to_chat(M, "<span class='notice'>[icon2html(src, M)] Squeak!</span>")
..()
/mob/living/simple_animal/mouse/handle_automated_action()
@@ -11,7 +11,7 @@
carp_fluff_string = "<span class='holoparasite'>CARP CARP CARP! You caught a support carp. It's a kleptocarp!</span>"
tech_fluff_string = "<span class='holoparasite'>Boot sequence complete. Support modules active. Holoparasite swarm online.</span>"
toggle_button_type = /obj/screen/guardian/ToggleMode
var/obj/structure/recieving_pad/beacon
var/obj/structure/receiving_pad/beacon
var/beacon_cooldown = 0
var/toggle = FALSE
@@ -87,22 +87,22 @@
beacon_cooldown = world.time + 3000
/obj/structure/recieving_pad
name = "bluespace recieving pad"
/obj/structure/receiving_pad
name = "bluespace receiving pad"
icon = 'icons/turf/floors.dmi'
desc = "A recieving zone for bluespace teleportations."
desc = "A receiving zone for bluespace teleportations."
icon_state = "light_on-w"
light_range = 1
density = FALSE
anchored = TRUE
layer = ABOVE_OPEN_TURF_LAYER
/obj/structure/recieving_pad/New(loc, mob/living/simple_animal/hostile/guardian/healer/G)
/obj/structure/receiving_pad/New(loc, mob/living/simple_animal/hostile/guardian/healer/G)
. = ..()
if(G.namedatum)
add_atom_colour(G.namedatum.colour, FIXED_COLOUR_PRIORITY)
/obj/structure/recieving_pad/proc/disappear()
/obj/structure/receiving_pad/proc/disappear()
visible_message("[src] vanishes!")
qdel(src)
@@ -93,7 +93,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
/obj/item/gps/internal/swarmer_beacon
icon_state = null
gpstag = "Hungry Signal"
desc = "Transmited over the signal is a strange message repeated in every language you know of, and some you don't too..." //the message is "nom nom nom"
desc = "Transmitted over the signal is a strange message repeated in every language you know of, and some you don't too..." //the message is "nom nom nom"
invisibility = 100
//SWARMER AI
@@ -1,7 +1,7 @@
//A slow but strong beast that tries to stun using its tentacles
/mob/living/simple_animal/hostile/asteroid/goliath
name = "goliath"
desc = "A massive beast that uses long tentacles to ensare its prey, threatening them is not advised under any conditions."
desc = "A massive beast that uses long tentacles to ensnare its prey, threatening them is not advised under any conditions."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Goliath"
icon_living = "Goliath"
@@ -100,7 +100,7 @@
light_color = LIGHT_COLOR_PURPLE
attacktext = "slashes"
attack_sound = 'sound/hallucinations/growl1.ogg'
deathmessage = "collapses into a pile of bones, their suit dissovling among the plasma!"
deathmessage = "collapses into a pile of bones, their suit dissolving among the plasma!"
loot = list(/obj/effect/decal/remains/plasma)
/mob/living/simple_animal/hostile/skeleton/plasmaminer/jackhammer
@@ -308,7 +308,7 @@
emote("deathgasp")
if(del_on_death)
..()
//Prevent infinite loops if the mob Destroy() is overriden in such
//Prevent infinite loops if the mob Destroy() is overridden in such
//a manner as to cause a call to death() again
del_on_death = FALSE
qdel(src)
@@ -34,7 +34,7 @@
/datum/emote/slime/mood/sneaky
key = "moodsneaky"
mood = "mischevous"
mood = "mischievous"
/datum/emote/slime/mood/smile
key = "moodsmile"
@@ -415,7 +415,7 @@
else if (docile)
newmood = ":3"
else if (Target)
newmood = "mischevous"
newmood = "mischievous"
if (!newmood)
if (Discipline && prob(25))
+1 -1
View File
@@ -27,7 +27,7 @@
"regrets","your soul","suffering","music","noise","blood","hunger","the american way")
if(text_output != last_taste_text || last_taste_time + 100 < world.time)
to_chat(src, "<span class='notice'>You can taste [text_output].</span>")
// "somthing indescribable" -> too many tastes, not enough flavor.
// "something indescribable" -> too many tastes, not enough flavor.
last_taste_time = world.time
last_taste_text = text_output
+1 -1
View File
@@ -307,7 +307,7 @@
//same as above
//note: ghosts can point, this is intended
//visible_message will handle invisibility properly
//overriden here and in /mob/dead/observer for different point span classes and sanity checks
//overridden here and in /mob/dead/observer for different point span classes and sanity checks
/mob/verb/pointed(atom/A as mob|obj|turf in view())
set name = "Point To"
set category = "Object"
@@ -129,7 +129,7 @@
return computer.get_header_data()
return list()
// This is performed on program startup. May be overriden to add extra logic. Remember to include ..() call. Return 1 on success, 0 on failure.
// This is performed on program startup. May be overridden to add extra logic. Remember to include ..() call. Return 1 on success, 0 on failure.
// When implementing new program based device, use this to run the program.
/datum/computer_file/program/proc/run_program(mob/living/user)
if(can_run(user, 1))
+1 -1
View File
@@ -13,7 +13,7 @@ Contents:
/obj/item/clothing/suit/space/space_ninja
name = "ninja suit"
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
desc = "A unique, vacuum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
icon_state = "s-ninja"
item_state = "s-ninja_suit"
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/stock_parts/cell)
+1 -1
View File
@@ -28,7 +28,7 @@
/obj/item/paper/contract/employment/update_text()
name = "paper- [target] employment contract"
info = "<center>Conditions of Employment</center><BR><BR><BR><BR>This Agreement is made and entered into as of the date of last signature below, by and between [target] (hereafter referred to as SLAVE), and Nanotrasen (hereafter referred to as the omnipresent and helpful watcher of humanity).<BR>WITNESSETH:<BR>WHEREAS, SLAVE is a natural born human or humanoid, posessing skills upon which he can aid the omnipresent and helpful watcher of humanity, who seeks employment in the omnipresent and helpful watcher of humanity.<BR>WHEREAS, the omnipresent and helpful watcher of humanity agrees to sporadically provide payment to SLAVE, in exchange for permanent servitude.<BR>NOW THEREFORE in consideration of the mutual covenants herein contained, and other good and valuable consideration, the parties hereto mutually agree as follows:<BR>In exchange for paltry payments, SLAVE agrees to work for the omnipresent and helpful watcher of humanity, for the remainder of his or her current and future lives.<BR>Further, SLAVE agrees to transfer ownership of his or her soul to the loyalty department of the omnipresent and helpful watcher of humanity.<BR>Should transfership of a soul not be possible, a lien shall be placed instead.<BR>Signed,<BR><i>[target]</i>"
info = "<center>Conditions of Employment</center><BR><BR><BR><BR>This Agreement is made and entered into as of the date of last signature below, by and between [target] (hereafter referred to as SLAVE), and Nanotrasen (hereafter referred to as the omnipresent and helpful watcher of humanity).<BR>WITNESSETH:<BR>WHEREAS, SLAVE is a natural born human or humanoid, possessing skills upon which he can aid the omnipresent and helpful watcher of humanity, who seeks employment in the omnipresent and helpful watcher of humanity.<BR>WHEREAS, the omnipresent and helpful watcher of humanity agrees to sporadically provide payment to SLAVE, in exchange for permanent servitude.<BR>NOW THEREFORE in consideration of the mutual covenants herein contained, and other good and valuable consideration, the parties hereto mutually agree as follows:<BR>In exchange for paltry payments, SLAVE agrees to work for the omnipresent and helpful watcher of humanity, for the remainder of his or her current and future lives.<BR>Further, SLAVE agrees to transfer ownership of his or her soul to the loyalty department of the omnipresent and helpful watcher of humanity.<BR>Should transfership of a soul not be possible, a lien shall be placed instead.<BR>Signed,<BR><i>[target]</i>"
/obj/item/paper/contract/employment/attack(mob/living/M, mob/living/carbon/human/user)
+2 -2
View File
@@ -6,9 +6,9 @@
w_class = WEIGHT_CLASS_SMALL
pressure_resistance = 2
resistance_flags = FLAMMABLE
/obj/item/folder/suicide_act(mob/living/user)
user.visible_message("<span class='suicide'>[user] begins filing an imaginary death warrent! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.visible_message("<span class='suicide'>[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return OXYLOSS
/obj/item/folder/blue
+1 -1
View File
@@ -44,7 +44,7 @@
colour = "red"
/obj/item/pen/invisible
desc = "It's an invisble pen marker."
desc = "It's an invisible pen marker."
icon_state = "pen"
colour = "white"
@@ -1,6 +1,6 @@
/obj/structure/particle_accelerator/particle_emitter
name = "EM Containment Grid"
desc = "This launchs the Alpha particles, might not want to stand near this end."
desc = "This launches the Alpha particles, might not want to stand near this end."
icon = 'icons/obj/machines/particle_accelerator.dmi'
icon_state = "none"
var/fire_delay = 50
+2 -2
View File
@@ -105,7 +105,7 @@
add_overlay(mutable_appearance(icon, "solar_panel", FLY_LAYER))
src.setDir(angle2dir(adir))
//calculates the fraction of the sunlight that the panel recieves
//calculates the fraction of the sunlight that the panel receives
/obj/machinery/power/solar/proc/update_solar_exposure()
if(obscured)
sunfrac = 0
@@ -119,7 +119,7 @@
return
sunfrac = cos(p_angle) ** 2
//isn't the power recieved from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
//isn't the power received from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
/obj/machinery/power/solar/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY
if(stat & BROKEN)
@@ -113,7 +113,7 @@
/obj/item/ammo_casing/shotgun/dart/noreact
name = "cryostasis shotgun dart"
desc = "A dart for use in shotguns, using similar technolgoy as cryostatis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical."
desc = "A dart for use in shotguns, using similar technology as cryostatis beakers to keep internal reagents from reacting. Can be injected with up to 10 units of any chemical."
icon_state = "cnrshell"
reagent_amount = 10
reagent_react = FALSE

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