Merge branch 'master' into upstream-merge-34773

This commit is contained in:
LetterJay
2018-01-24 13:58:12 -06:00
committed by GitHub
38 changed files with 95 additions and 70 deletions
+1 -1
View File
@@ -387,7 +387,7 @@ Do not add any of the following in a Pull Request or risk getting the PR closed:
* Code where one line of code is split across mutiple lines (except for multiple, separate strings and comments; in those cases, existing longer lines must not be split up)
* Code adding, removing, or updating the availability of alien races/species/human mutants without prior approval. Pull requests attempting to add or remove features from said races/species/mutants require prior approval as well.
Just becuase something isn't on this list doesn't mean that it's acceptable. Use common sense above all else.
Just because something isn't on this list doesn't mean that it's acceptable. Use common sense above all else.
## A word on Git
Yes, we know that the files have a tonne of mixed Windows and Linux line endings. Attempts to fix this have been met with less than stellar success, and as such we have decided to give up caring until there comes a time when it matters.
+1 -2
View File
@@ -3327,8 +3327,7 @@
real_name = "Sergeant Araneus";
movement_type = 1;
response_help = "pets";
turns_per_move = 10;
voice_name = "unidentifiable voice"
turns_per_move = 10
},
/turf/open/floor/carpet,
/area/crew_quarters/heads/hos)
@@ -1267,9 +1267,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -15170,7 +15167,6 @@
/turf/open/floor/plasteel/vault/side,
/area/crew_quarters/kitchen)
"aCY" = (
/obj/structure/closet/secure_closet/freezer/fridge,
/obj/machinery/light{
dir = 1
},
@@ -15180,6 +15176,7 @@
name = "Kitchen RC";
pixel_y = 32
},
/obj/structure/closet/secure_closet/freezer/kitchen,
/turf/open/floor/plasteel/vault/side,
/area/crew_quarters/kitchen)
"aCZ" = (
@@ -29411,6 +29408,7 @@
heat_capacity = 1e+006
},
/area/hallway/primary/central)
<<<<<<< HEAD
"bgh" = (
/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -29418,6 +29416,8 @@
},
/turf/open/floor/plasteel/neutral/side,
/area/hallway/primary/central)
=======
>>>>>>> 2d5c3d5... Merge pull request #34781 from DaxDupont/please-make-waffles-for=i-am-belgian
"bgl" = (
/obj/machinery/vending/cola/random,
/obj/machinery/newscaster{
@@ -77523,7 +77523,7 @@ bed
beI
bff
bfL
bgh
aYc
bgU
bhI
blv
+1 -1
View File
@@ -158,7 +158,7 @@
SSticker.mode.servants_of_ratvar -= owner
SSticker.mode.update_servant_icons_removed(owner)
if(!silent)
owner.current.visible_message("<span class='deconversion_message'>[owner] seems to have remembered their true allegiance!</span>", ignored_mob = owner.current)
owner.current.visible_message("<span class='deconversion_message'>[owner] seems to have remembered their true allegiance!</span>", null, null, null, owner.current)
to_chat(owner, "<span class='userdanger'>A cold, cold darkness flows through your mind, extinguishing the Justiciar's light and all of your memories as his servant.</span>")
owner.current.log_message("<font color=#BE8700>Has renounced the cult of Ratvar!</font>", INDIVIDUAL_ATTACK_LOG)
owner.special_role = null
+1 -1
View File
@@ -133,7 +133,7 @@
SSticker.mode.cult -= owner
SSticker.mode.update_cult_icons_removed(owner)
if(!silent)
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like [owner.current.p_they()] just reverted to their old faith!</span>", ignored_mob = owner.current)
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like [owner.current.p_they()] just reverted to their old faith!</span>", null, null, null, owner.current)
to_chat(owner.current, "<span class='userdanger'>An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.</span>")
owner.current.log_message("<font color=#960000>Has renounced the cult of Nar'Sie!</font>", INDIVIDUAL_ATTACK_LOG)
if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client)
+2 -2
View File
@@ -200,10 +200,10 @@
/datum/antagonist/rev/farewell()
if(ishuman(owner.current))
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like they just remembered their real allegiance!</span>", ignored_mob = owner.current)
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like they just remembered their real allegiance!</span>", null, null, null, owner.current)
to_chat(owner, "<span class='userdanger'>You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...</span>")
else if(issilicon(owner.current))
owner.current.visible_message("<span class='deconversion_message'>The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.</span>", ignored_mob = owner.current)
owner.current.visible_message("<span class='deconversion_message'>The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.</span>", null, null, null, owner.current)
to_chat(owner, "<span class='userdanger'>The frame's firmware detects and deletes your neural reprogramming! You remember nothing but the name of the one who flashed you.</span>")
/datum/antagonist/rev/proc/remove_revolutionary(borged, deconverter)
+1 -1
View File
@@ -108,7 +108,7 @@
new /obj/effect/temp_visual/bluespace_fissure(get_turf(src))
new /obj/effect/temp_visual/bluespace_fissure(get_turf(linked_to))
user.forceMove(get_turf(linked_to))
user.visible_message("<span class='warning'>[user] [slip_in_message].</span>", ignored_mob = user)
user.visible_message("<span class='warning'>[user] [slip_in_message].</span>", null, null, null, user)
user.visible_message("<span class='warning'>[user] [slip_out_message].</span>", "<span class='notice'>...and find your way to the other side.</span>")
/datum/brain_trauma/special/psychotic_brawling
@@ -54,7 +54,7 @@
var/turf/T = get_turf(pick(GLOB.city_of_cogs_spawns))
if(is_servant_of_ratvar(AM))
T = GLOB.ark_of_the_clockwork_justiciar ? get_step(GLOB.ark_of_the_clockwork_justiciar, SOUTH) : get_turf(pick(GLOB.servant_spawns))
AM.visible_message("<span class='danger'>[AM] passes through [src]!</span>", ignored_mob = AM)
AM.visible_message("<span class='danger'>[AM] passes through [src]!</span>", null, null, null, AM)
AM.forceMove(T)
AM.visible_message("<span class='danger'>[AM] materializes from the air!</span>", \
"<span class='boldannounce'>You pass through [src] and appear [is_servant_of_ratvar(AM) ? "back at the City of Cogs" : "somewhere unfamiliar. Looks like it was a one-way trip.."].</span>")
@@ -28,7 +28,7 @@
var/turf/T = get_turf(NewLoc)
for(var/obj/effect/blessing/B in T)
if(last_failed_turf != T)
T.visible_message("<span class='warning'>[T] suddenly emits a ringing sound!</span>", ignore_mob = src)
T.visible_message("<span class='warning'>[T] suddenly emits a ringing sound!</span>", null, null, null, src)
playsound(T, 'sound/machines/clockcult/ark_damage.ogg', 75, FALSE)
last_failed_turf = T
to_chat(src, "<span class='warning'>This turf is consecrated and can't be crossed!</span>")
+1 -1
View File
@@ -8,7 +8,7 @@
/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0)
. = ..()
var/atom/old_loc = loc
forceMove(get_turf(src))
loc = get_turf(src) // We don't want to actualy trigger anything when it moves
pixel_x = old_loc.pixel_x
pixel_y = old_loc.pixel_y
invisibility = set_invis
+12
View File
@@ -4,6 +4,18 @@
icon_state = "x2"
anchored = TRUE
invisibility = INVISIBILITY_ABSTRACT
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/effect/landmark/singularity_act()
return
// Please stop bombing the Observer-Start landmark.
/obj/effect/landmark/ex_act()
return
/obj/effect/landmark/singularity_pull()
return
/obj/effect/landmark/New()
..()
+5 -5
View File
@@ -124,17 +124,17 @@
to_chat(loc, "<span class='warning'>You see [user] reach through the bars and fumble for the lock switch!</span>")
if(!do_after(user, rand(300, 400), target = user) || open || !locked || !user in occupants)
return
loc.visible_message("<span class='warning'>[user] flips the lock switch on [src] by reaching through!</span>", ignored_mob = user)
loc.visible_message("<span class='warning'>[user] flips the lock switch on [src] by reaching through!</span>", null, null, null, user)
to_chat(user, "<span class='boldannounce'>Bingo! The lock pops open!</span>")
locked = FALSE
playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE)
update_icon()
else
loc.visible_message("<span class='warning'>[src] starts rattling as something pushes against the door!</span>", ignored_mob = user)
loc.visible_message("<span class='warning'>[src] starts rattling as something pushes against the door!</span>", null, null, null, user)
to_chat(user, "<span class='notice'>You start pushing out of [src]... (This will take about 20 seconds.)</span>")
if(!do_after(user, 200, target = user) || open || !locked || !user in occupants)
return
loc.visible_message("<span class='warning'>[user] shoves out of [src]!</span>", ignored_mob = user)
loc.visible_message("<span class='warning'>[user] shoves out of [src]!</span>", null, null, null, user)
to_chat(user, "<span class='notice'>You shove open [src]'s door against the lock's resistance and fall out!</span>")
locked = FALSE
open = TRUE
@@ -162,7 +162,7 @@
to_chat(user, "<span class='warning'>[src] is already carrying too much!</span>")
return
user.visible_message("<span class='notice'>[user] starts loading [target] into [src].</span>", \
"<span class='notice'>You start loading [target] into [src]...</span>", ignored_mob = target)
"<span class='notice'>You start loading [target] into [src]...</span>", null, null, target)
to_chat(target, "<span class='userdanger'>[user] starts loading you into their [name]!</span>")
if(!do_mob(user, target, 30))
return
@@ -172,7 +172,7 @@
to_chat(user, "<span class='warning'>[src] is already carrying too much!</span>")
return
user.visible_message("<span class='notice'>[user] loads [target] into [src]!</span>", \
"<span class='notice'>You load [target] into [src].</span>", ignored_mob = target)
"<span class='notice'>You load [target] into [src].</span>", null, null, target)
to_chat(target, "<span class='userdanger'>[user] loads you into their [name]!</span>")
add_occupant(target)
@@ -11,6 +11,7 @@
canSmoothWith = null
buildstacktype = null
flags_1 = NODECONSTRUCT_1
bolts = FALSE
var/static/mutable_appearance/nest_overlay = mutable_appearance('icons/mob/alien.dmi', "nestoverlay", LYING_MOB_LAYER)
/obj/structure/bed/nest/user_unbuckle_mob(mob/living/buckled_mob, mob/living/user)
@@ -88,4 +89,4 @@
if(user.a_intent != INTENT_HARM)
return attack_hand(user)
else
return ..()
return ..()
@@ -13,17 +13,19 @@
icon_state = "bed"
icon = 'icons/obj/objects.dmi'
anchored = TRUE
can_buckle = 1
buckle_lying = 1
can_buckle = TRUE
buckle_lying = TRUE
resistance_flags = FLAMMABLE
max_integrity = 100
integrity_failure = 30
var/buildstacktype = /obj/item/stack/sheet/metal
var/buildstackamount = 2
var/bolts = TRUE
/obj/structure/bed/examine(mob/user)
..()
to_chat(user, "<span class='notice'>It's held together by a couple of <b>bolts</b>.</span>")
if(bolts)
to_chat(user, "<span class='notice'>It's held together by a couple of <b>bolts</b>.</span>")
/obj/structure/bed/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
+4 -2
View File
@@ -193,7 +193,7 @@
/obj/structure/chisel_message/examine(mob/user)
..()
to_chat(user, "<span class='warning'>[hidden_message]</span>")
ui_interact(user)
/obj/structure/chisel_message/Destroy()
if(persists)
@@ -201,8 +201,10 @@
SSpersistence.chisel_messages -= src
. = ..()
/obj/structure/chisel_message/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.always_state)
/obj/structure/chisel_message/interact()
return
/obj/structure/chisel_message/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.always_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "engraved_message", name, 600, 300, master_ui, state)
@@ -5,7 +5,6 @@
/mob/living/carbon/alien
name = "alien"
voice_name = "alien"
icon = 'icons/mob/alien.dmi'
gender = FEMALE //All xenos are girls!!
dna = null
@@ -295,7 +295,7 @@
to_chat(src, "<span class='warning'>Your eyes burn.</span>")
adjust_eye_damage(rand(2, 4))
else if( damage > 3)
else if( damage >= 3)
to_chat(src, "<span class='warning'>Your eyes itch and burn severely!</span>")
adjust_eye_damage(rand(12, 16))
@@ -1,7 +1,6 @@
/mob/living/carbon/human
name = "Unknown"
real_name = "Unknown"
voice_name = "Unknown"
icon = 'icons/mob/human.dmi'
icon_state = "caucasian_m"
appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE
@@ -1,6 +1,5 @@
/mob/living/carbon/monkey
name = "monkey"
voice_name = "monkey"
verb_say = "chimpers"
initial_language_holder = /datum/language_holder/monkey
icon = 'icons/mob/monkey.dmi'
@@ -1,6 +1,5 @@
/mob/living/silicon
gender = NEUTER
voice_name = "synthesized voice"
has_unlimited_silicon_privilege = 1
verb_say = "states"
verb_ask = "queries"
@@ -35,7 +35,6 @@
sight = (SEE_TURFS | SEE_OBJS)
status_flags = (CANPUSH | CANSTUN | CANKNOCKDOWN)
gender = NEUTER
voice_name = "synthesized chirp"
speak_emote = list("chirps")
bubble_icon = "machine"
initial_language_holder = /datum/language_holder/drone
-11
View File
@@ -26,8 +26,6 @@
var/computer_id = null
var/list/logging = list(INDIVIDUAL_ATTACK_LOG, INDIVIDUAL_SAY_LOG, INDIVIDUAL_EMOTE_LOG, INDIVIDUAL_OOC_LOG)
var/obj/machinery/machine = null
var/other_mobs = null
var/next_move = null
var/notransform = null //Carbon
@@ -72,17 +70,8 @@
var/in_throw_mode = 0
var/music_lastplayed = "null"
var/job = null//Living
<<<<<<< HEAD
var/radiation = 0//Carbon
var/voice_name = "unidentifiable voice"
=======
>>>>>>> 3f10f29... Shifts vars off /mob and to the correct subtype (#34773)
var/list/faction = list("neutral") //A list of factions that this mob is currently in, for hostile mob targetting, amongst other things
var/move_on_shuttle = 1 // Can move on the shuttle.
+4 -12
View File
@@ -254,7 +254,10 @@
to_chat(user, "<span class='notice'>You take [O] out of [src].</span>")
/obj/machinery/photocopier/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/paper))
if(default_unfasten_wrench(user, O))
return
else if(istype(O, /obj/item/paper))
if(copier_empty())
if(istype(O, /obj/item/paper/contract/infernal))
to_chat(user, "<span class='warning'>[src] smokes, smelling of brimstone!</span>")
@@ -297,17 +300,6 @@
else
to_chat(user, "<span class='warning'>This cartridge is not yet ready for replacement! Use up the rest of the toner.</span>")
else if(istype(O, /obj/item/wrench))
if(isinspace())
to_chat(user, "<span class='warning'>There's nothing to fasten [src] to!</span>")
return
playsound(loc, O.usesound, 50, 1)
to_chat(user, "<span class='warning'>You start [anchored ? "unwrenching" : "wrenching"] [src]...</span>")
if(do_after(user, 20*O.toolspeed, target = src))
if(QDELETED(src))
return
to_chat(user, "<span class='notice'>You [anchored ? "unwrench" : "wrench"] [src].</span>")
anchored = !anchored
else if(istype(O, /obj/item/areaeditor/blueprints))
to_chat(user, "<span class='warning'>The Blueprint is too large to put into the copier. You need to find something else to record the document</span>")
else
+1 -1
View File
@@ -222,7 +222,7 @@
var/start_with_cell = TRUE // if true, this fixture generates a very weak cell at roundstart
var/emergency_mode = FALSE // if true, the light is in emergency mode
var/no_emergency = FALSE // if true, this light cannot ever have an emergency mode
var/bulb_emergency_brightness_mul // multiplier for this light's base brightness in emergency power mode
var/bulb_emergency_brightness_mul = 0.25 // multiplier for this light's base brightness in emergency power mode
var/bulb_emergency_colour = "#FF3232" // determines the colour of the light while it's in emergency mode
var/bulb_emergency_pow_mul = 0.75 // the multiplier for determining the light's power in emergency mode
var/bulb_emergency_pow_min = 0.5 // the minimum value for the light's power in emergency mode
+4 -4
View File
@@ -159,7 +159,7 @@
if (user.has_disability(DISABILITY_CLUMSY) && prob(40))
to_chat(user, "<span class='userdanger'>You shoot yourself in the foot with [src]!</span>")
var/shot_leg = pick("l_leg", "r_leg")
process_fire(user,user,0,params, zone_override = shot_leg)
process_fire(user, user, FALSE, params, shot_leg)
user.dropItemToGround(src, TRUE)
return
@@ -178,9 +178,9 @@
else if(G.can_trigger_gun(user))
bonus_spread += 24 * G.weapon_weight
loop_counter++
addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, 1, params, null, bonus_spread), loop_counter)
addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, TRUE, params, null, bonus_spread), loop_counter)
process_fire(target,user,1,params, null, bonus_spread)
process_fire(target, user, TRUE, params, null, bonus_spread)
@@ -437,7 +437,7 @@
if(chambered && chambered.BB)
chambered.BB.damage *= 5
process_fire(target, user, 1, params)
process_fire(target, user, TRUE, params)
/obj/item/gun/proc/unlock() //used in summon guns and as a convience for admins
if(pin)
+2 -2
View File
@@ -159,7 +159,7 @@
sleep(25)
if(user.is_holding(src))
var/turf/T = get_turf(user)
process_fire(user, user, 0, zone_override = "head")
process_fire(user, user, FALSE, null, "head")
user.visible_message("<span class='suicide'>[user] blows [user.p_their()] brain[user.p_s()] out with [src]!</span>")
var/turf/target = get_ranged_target_turf(user, turn(user.dir, 180), BRAINS_BLOWN_THROW_RANGE)
B.Remove(user)
@@ -215,7 +215,7 @@
. = 0
for(var/obj/item/ammo_casing/AC in magazine.stored_ammo)
if(AC.BB)
process_fire(user, user,0)
process_fire(user, user, FALSE)
. = 1
@@ -351,7 +351,7 @@
/obj/item/gun/ballistic/revolver/reverse/can_trigger_gun(mob/living/user)
if((user.has_disability(DISABILITY_CLUMSY)) || (user.mind && user.mind.assigned_role == "Clown"))
return ..()
if(process_fire(user, user, 0, zone_override = "head"))
if(process_fire(user, user, FALSE, null, "head"))
user.visible_message("<span class='warning'>[user] somehow manages to shoot [user.p_them()]self in the face!</span>", "<span class='userdanger'>You somehow shoot yourself in the face! How the hell?!</span>")
user.emote("scream")
user.drop_all_held_items()
@@ -44,7 +44,7 @@
/obj/item/gun/ballistic/shotgun/blow_up(mob/user)
. = 0
if(chambered && chambered.BB)
process_fire(user, user,0)
process_fire(user, user, FALSE)
. = 1
/obj/item/gun/ballistic/shotgun/proc/pump(mob/M)
@@ -182,6 +182,8 @@
if("eject")
if(beaker)
beaker.forceMove(drop_location())
if(Adjacent(usr) && !issilicon(usr))
usr.put_in_hands(beaker)
beaker = null
cut_overlays()
. = TRUE
@@ -29,9 +29,11 @@
else
icon_state = "mixer0b"
/obj/machinery/chem_heater/proc/eject_beaker()
/obj/machinery/chem_heater/proc/eject_beaker(mob/user)
if(beaker)
beaker.forceMove(drop_location())
if(Adjacent(user) && !issilicon(user))
user.put_in_hands(beaker)
beaker = null
update_icon()
@@ -129,5 +131,5 @@
target_temperature = CLAMP(target, 0, 1000)
if("eject")
on = FALSE
eject_beaker()
eject_beaker(usr)
. = TRUE
@@ -59,10 +59,13 @@
else
icon_state = "mixer0"
/obj/machinery/chem_master/proc/eject_beaker()
/obj/machinery/chem_master/proc/eject_beaker(mob/user)
if(beaker)
beaker.forceMove(drop_location())
adjust_item_drop_location(beaker)
if(Adjacent(user) && !issilicon(user))
user.put_in_hands(beaker)
else
adjust_item_drop_location(beaker)
beaker = null
update_icon()
@@ -169,7 +172,7 @@
return
switch(action)
if("eject")
eject_beaker()
eject_beaker(usr)
. = TRUE
if("ejectp")
@@ -201,6 +201,8 @@
if(!beaker)
return
beaker.forceMove(drop_location())
if(Adjacent(user) && !issilicon(user))
user.put_in_hands(beaker)
beaker = null
update_icon()
updateUsrDialog()
@@ -0,0 +1,4 @@
author: "Dax Dupont"
delete-after: True
changes:
- rscadd: "Beakers and beaker-like objects now get put in your hand on ejection from chemistry devices."
@@ -0,0 +1,4 @@
author: "Dax Dupont"
delete-after: True
changes:
- bugfix: "Fixed missing wheat fridge on omega and removes a duplicate pipe."
@@ -0,0 +1,4 @@
author: "ninjanomnom"
delete-after: True
changes:
- bugfix: "Pointing at squeaky things doesn't make them squeak anymore."
@@ -0,0 +1,4 @@
author: "CitadelStationBot"
delete-after: True
changes:
- bugfix: "Emergency lights will give off light again"
@@ -0,0 +1,4 @@
author: "CitadelStationBot"
delete-after: True
changes:
- bugfix: "Fixed eye damage not being applied if it was exactly 3."
@@ -0,0 +1,4 @@
author: "Dax Dupont"
delete-after: True
changes:
- tweak: "You now need to examine engravings to pop open the menu."