Merge remote-tracking branch 'upstream/master' into more_ss_ports

# Conflicts:
#	paradise.dme
This commit is contained in:
tigercat2000
2018-04-30 09:27:11 -07:00
102 changed files with 1311 additions and 311 deletions
@@ -42,7 +42,7 @@
if(lying && surgeries.len)
if(user.a_intent == INTENT_HELP)
for(var/datum/surgery/S in surgeries)
if(S.next_step(user, user.a_intent))
if(S.next_step(user, src))
return 1
return 0
+25 -4
View File
@@ -102,6 +102,8 @@
on_CD = handle_emote_CD()
if("sneeze", "sneezes")
on_CD = handle_emote_CD()
if("clap", "claps")
on_CD = handle_emote_CD()
//Everything else, including typos of the above emotes
else
on_CD = 0 //If it doesn't induce the cooldown, we won't check for the cooldown
@@ -302,11 +304,30 @@
message = "<B>[src]</B> makes a peculiar noise."
m_type = 2
if("clap", "claps")
if(!restrained())
message = "<B>[src]</B> claps."
if(miming)
message = "<B>[src]</B> claps silently."
m_type = 1
else
m_type = 2
if(miming)
m_type = 1
var/obj/item/organ/external/L = get_organ("l_hand")
var/obj/item/organ/external/R = get_organ("r_hand")
var/left_hand_good = FALSE
var/right_hand_good = FALSE
if(L && (!(L.status & ORGAN_SPLINTED)) && (!(L.status & ORGAN_BROKEN)))
left_hand_good = TRUE
if(R && (!(R.status & ORGAN_SPLINTED)) && (!(R.status & ORGAN_BROKEN)))
right_hand_good = TRUE
if(left_hand_good && right_hand_good)
message = "<b>[src]</b> claps."
var/clap = pick('sound/misc/clap1.ogg', 'sound/misc/clap2.ogg', 'sound/misc/clap3.ogg', 'sound/misc/clap4.ogg')
playsound(loc, clap, 50, 1, -1)
else
to_chat(usr, "You need your hands working in order to clap.")
if("flap", "flaps")
if(!restrained())
message = "<B>[src]</B> flaps \his wings."
+1 -1
View File
@@ -793,7 +793,7 @@
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
if(check_eye_prot() < intensity && (override_blindness_check || !(disabilities & BLIND)))
overlay_fullscreen("flash", type)
addtimer(src, "clear_fullscreen", 25, FALSE, "flash", 25)
addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25)
return 1
/mob/living/proc/check_eye_prot()
+3
View File
@@ -268,6 +268,9 @@ var/list/ai_verbs_default = list(
shuttle_caller_list -= src
shuttle_master.autoEvac()
QDEL_NULL(eyeobj) // No AI, no Eye
if(malfhacking)
deltimer(malfhacking)
malfhacking = null
malfhack = null
return ..()
+4 -2
View File
@@ -29,8 +29,10 @@
if(malfhack && malfhack.aidisabled)
to_chat(src, "<span class='danger'>ERROR: APC access disabled, hack attempt canceled.</span>")
malfhacking = 0
malfhack = null
deltimer(malfhacking)
// This proc handles cleanup of screen notifications and
// messenging the client
malfhacked(malfhack)
if(aiRestorePowerRoutine)
adjustOxyLoss(1)
@@ -193,6 +193,9 @@
bots_list -= src
QDEL_NULL(Radio)
QDEL_NULL(access_card)
if(reset_access_timer_id)
deltimer(reset_access_timer_id)
reset_access_timer_id = null
if(radio_controller && bot_filter)
radio_controller.remove_object(bot_core, control_freq)
QDEL_NULL(bot_core)
@@ -527,7 +530,7 @@ Pass a positive integer as an argument to override a bot's default speed.
turn_on() //Saves the AI the hassle of having to activate a bot manually.
access_card = all_access //Give the bot all-access while under the AI's command.
if(client)
reset_access_timer_id = addtimer(src, "bot_reset", 600) //if the bot is player controlled, they get the extra access for a limited time
reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
to_chat(src, "<span class='notice'><span class='big'>Priority waypoint set by [calling_ai] <b>[caller]</b>. Proceed to <b>[end_area.name]</b>.</span><br>[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.</span>")
if(message)
to_chat(calling_ai, "<span class='notice'>[bicon(src)] [name] called to [end_area.name]. [path.len-1] meters to destination.</span>")
@@ -62,7 +62,7 @@
/obj/item/organ/internal/hivelord_core/New()
..()
addtimer(src, "inert_check", 2400)
addtimer(CALLBACK(src, .proc/inert_check), 2400)
/obj/item/organ/internal/hivelord_core/proc/inert_check()
if(!owner && !preserved)
@@ -151,7 +151,7 @@
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
..()
addtimer(src, "death", 100)
addtimer(CALLBACK(src, .proc/death), 100)
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood
name = "blood brood"
@@ -270,8 +270,8 @@ var/global/list/ts_spiderling_list = list()
else
ts_count_alive_station++
// after 30 seconds, assuming nobody took control of it yet, offer it to ghosts.
addtimer(src, "CheckFaction", 150)
addtimer(src, "announcetoghosts", 300)
addtimer(CALLBACK(src, .proc/CheckFaction), 150)
addtimer(CALLBACK(src, .proc/announcetoghosts), 300)
var/datum/atom_hud/U = huds[DATA_HUD_MEDICAL_ADVANCED]
U.add_hud_to(src)
@@ -22,7 +22,7 @@
for(var/turf/T in anchors)
var/datum/beam/B = Beam(T, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
B.sleep_time = 10 //these shouldn't move, so let's slow down updates to 1 second (any slower and the deletion of the vines would be too slow)
addtimer(src, "bear_fruit", growth_time)
addtimer(CALLBACK(src, .proc/bear_fruit), growth_time)
/obj/structure/alien/resin/flower_bud_enemy/proc/bear_fruit()
visible_message("<span class='danger'>the plant has borne fruit!</span>")