mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
@@ -31,8 +31,6 @@
|
||||
// /atom/movable signals
|
||||
|
||||
// /mob signals
|
||||
/// called when a mob speaks, to determine the size of their spoken font. currently implemented in megaphones and mechas
|
||||
#define COMSIG_SAY_MODIFIER "signal_say_modifier"
|
||||
|
||||
// /obj signals
|
||||
/// when a hood is unequipped
|
||||
|
||||
@@ -450,15 +450,3 @@
|
||||
#define ROBOT_EYES "eyetype"
|
||||
|
||||
#define BLOOD_REGEN_RATE 0.1
|
||||
|
||||
|
||||
|
||||
// Say modifiers
|
||||
#define SAY_MOD_MESSAGE "message"
|
||||
#define SAY_MOD_VERB "verb"
|
||||
#define SAY_MOD_SPEAKING "speaking"
|
||||
#define SAY_MOD_ALT_NAME "alt_name"
|
||||
#define SAY_MOD_ITALICS "italics"
|
||||
#define SAY_MOD_SPEECH_SOUND "speech_sound"
|
||||
#define SAY_MOD_SOUND_VOL "sound_vol"
|
||||
#define SAY_MOD_FONT_SIZE "font_size"
|
||||
|
||||
+10
-10
@@ -350,7 +350,8 @@
|
||||
/obj/item/proc/pickup(mob/user)
|
||||
pixel_x = 0
|
||||
pixel_y = 0
|
||||
addtimer(CALLBACK(src, .proc/handle_pickup_drop, user), 1) // invoke async does not work here
|
||||
if(flags & HELDMAPTEXT)
|
||||
addtimer(CALLBACK(src, .proc/check_maptext), 1) // invoke async does not work here
|
||||
do_pickup_animation(user)
|
||||
|
||||
// called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
|
||||
@@ -523,7 +524,8 @@ var/list/global/slot_flags_enumeration = list(
|
||||
|
||||
// override for give shenanigans
|
||||
/obj/item/proc/on_give(var/mob/giver, var/mob/receiver)
|
||||
handle_pickup_drop(giver, FALSE)
|
||||
if(flags & HELDMAPTEXT)
|
||||
check_maptext()
|
||||
|
||||
//This proc is executed when someone clicks the on-screen UI button. To make the UI button show, set the 'icon_action_button' to the icon_state of the image of the button in screen1_action.dmi
|
||||
//The default action is attack_self().
|
||||
@@ -903,13 +905,15 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
else
|
||||
maptext = ""
|
||||
|
||||
/obj/item/throw_at(atom/target, range, speed, thrower, do_throw_animation)
|
||||
/obj/item/throw_at()
|
||||
..()
|
||||
handle_pickup_drop(thrower, FALSE)
|
||||
if(flags & HELDMAPTEXT)
|
||||
check_maptext()
|
||||
|
||||
/obj/item/dropped(var/mob/user)
|
||||
..()
|
||||
handle_pickup_drop(user, FALSE)
|
||||
if(flags & HELDMAPTEXT)
|
||||
check_maptext()
|
||||
|
||||
// used to check whether the item is capable of popping things like balloons, inflatable barriers, or cutting police tape.
|
||||
/obj/item/proc/can_puncture()
|
||||
@@ -952,13 +956,9 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
|
||||
/obj/item/proc/get_head_examine_text(var/mob/user)
|
||||
return "on [user.get_pronoun("his")] head"
|
||||
|
||||
|
||||
/obj/item/proc/should_equip() // when you press E with an empty hand, will this item be pulled from suit storage / back slot and put into your hand
|
||||
return FALSE
|
||||
|
||||
/obj/item/proc/can_swap_hands(var/mob/user)
|
||||
return TRUE
|
||||
|
||||
/obj/item/proc/handle_pickup_drop(var/mob/M, var/picked_up = TRUE)
|
||||
if(flags & HELDMAPTEXT)
|
||||
check_maptext()
|
||||
|
||||
@@ -10,42 +10,59 @@
|
||||
w_class = ITEMSIZE_SMALL
|
||||
flags = CONDUCT
|
||||
|
||||
var/active = FALSE
|
||||
var/speech_sound = 'sound/items/megaphone.ogg'
|
||||
var/spamcheck = 0
|
||||
var/emagged = 0
|
||||
var/insults = 0
|
||||
var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!")
|
||||
var/activation_sound = 'sound/items/megaphone.ogg'
|
||||
var/needs_user_location = TRUE
|
||||
|
||||
/obj/item/device/megaphone/handle_pickup_drop(var/mob/M, var/picked_up = TRUE)
|
||||
..()
|
||||
handle_signals(M, !picked_up)
|
||||
/obj/item/device/megaphone/attack_self(mob/living/user as mob)
|
||||
if(user.client)
|
||||
if(user.client.prefs.muted & MUTE_IC)
|
||||
to_chat(src, SPAN_WARNING("You cannot speak in IC (muted)."))
|
||||
return
|
||||
if(!ishuman(user))
|
||||
to_chat(user, SPAN_WARNING("You don't know how to use this!"))
|
||||
return
|
||||
if(user.silent)
|
||||
return
|
||||
if(spamcheck > world.time)
|
||||
to_chat(user, SPAN_WARNING("\The [src] needs to recharge!"))
|
||||
return
|
||||
|
||||
/obj/item/device/megaphone/equipped(mob/user, slot, assisted_equip)
|
||||
. = ..()
|
||||
if(!(slot in list(slot_r_hand, slot_l_hand)))
|
||||
handle_signals(user, TRUE)
|
||||
|
||||
/obj/item/device/megaphone/attack_self(mob/user)
|
||||
active = !active
|
||||
to_chat(user, SPAN_NOTICE("You turn \the [src] [active ? "on" : "off"]."))
|
||||
handle_signals(user)
|
||||
|
||||
/obj/item/device/megaphone/proc/handle_signals(var/mob/M, var/disable = FALSE)
|
||||
if(active && !disable)
|
||||
RegisterSignal(M, COMSIG_SAY_MODIFIER, .proc/modify_say)
|
||||
else
|
||||
UnregisterSignal(M, COMSIG_SAY_MODIFIER)
|
||||
|
||||
/obj/item/device/megaphone/proc/modify_say(var/mob/M, var/list/say_modifiers)
|
||||
if(say_modifiers[SAY_MOD_FONT_SIZE] < FONT_SIZE_LARGE)
|
||||
say_modifiers[SAY_MOD_FONT_SIZE] = FONT_SIZE_LARGE
|
||||
say_modifiers[SAY_MOD_VERB] = "broadcasts"
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(T)
|
||||
playsound(T, speech_sound, 100, FALSE, 1)
|
||||
for(var/mob/living/carbon/human/H in range(T, 2) - M)
|
||||
if(get_dist(T, H) < 1) // within one tile
|
||||
H.earpain(3, TRUE, 2)
|
||||
var/message = sanitize(input(user, "Shout a message?", "Megaphone", null) as text)
|
||||
if(!message)
|
||||
return
|
||||
message = capitalize(message)
|
||||
if ((user.stat == CONSCIOUS))
|
||||
if(needs_user_location)
|
||||
if(!src.loc == user)
|
||||
return
|
||||
if(emagged)
|
||||
if(insults)
|
||||
user.audible_message("<B>[user]</B> broadcasts, <FONT size=3>\"[pick(insultmsg)]\"</FONT>", "<B>[user]</B> speaks into \the [src].", 7)
|
||||
insults--
|
||||
else
|
||||
H.earpain(2, TRUE, 2)
|
||||
to_chat(user, SPAN_WARNING("*BZZZZzzzzzt*"))
|
||||
else
|
||||
user.audible_message("<B>[user]</B> broadcasts, <FONT size=3>\"[message]\"</FONT>", "<B>[user]</B> speaks into \the [src].", 7)
|
||||
if(activation_sound)
|
||||
playsound(loc, activation_sound, 100, 0, 1)
|
||||
for (var/mob/living/carbon/human/C in range(user, 2) - user)
|
||||
if (C in range(user, 1))
|
||||
C.earpain(3, TRUE, 2)
|
||||
else
|
||||
C.earpain(2, TRUE, 2)
|
||||
spamcheck = world.time + 50
|
||||
return
|
||||
|
||||
/obj/item/device/megaphone/emag_act(var/remaining_charges, var/mob/user)
|
||||
if(!emagged)
|
||||
to_chat(user, SPAN_WARNING("You overload \the [src]'s voice synthesizer."))
|
||||
emagged = 1
|
||||
insults = rand(1, 3)//to prevent dickflooding
|
||||
return 1
|
||||
|
||||
/obj/item/device/megaphone/red
|
||||
name = "red megaphone"
|
||||
|
||||
@@ -1434,12 +1434,8 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
item_state = "akinyi_mic"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
contained_sprite = TRUE
|
||||
speech_sound = null
|
||||
|
||||
/obj/item/device/megaphone/fluff/akinyi_mic/modify_say(mob/M, list/say_modifiers) // not a foolproof update, but will avoid most of the oddities with the megaphone rewrite
|
||||
if(loc != M && get_dist(get_turf(src), M) > 1)
|
||||
return
|
||||
return ..()
|
||||
activation_sound = null
|
||||
needs_user_location = FALSE
|
||||
|
||||
/obj/item/fluff/akinyi_stand //Telescopic Mic Stand - Akinyi Idowu - kyres1
|
||||
name = "telescopic mic stand"
|
||||
|
||||
@@ -338,9 +338,8 @@
|
||||
/obj/screen/mecha/toggle/megaspeakers/toggled()
|
||||
toggled = !toggled
|
||||
owner.loudening = toggled
|
||||
owner.handle_loudening_signals()
|
||||
var/main_color = owner.loudening ? "#d1d1d1" : "#525252"
|
||||
maptext = "<span style=\"font-family: 'Small Fonts'; color: [main_color]; -dm-text-outline: 1 #242424; font-size: 5px;\">VOLUME</span>"
|
||||
notify_user(usr, SPAN_NOTICE("You [owner.loudening ? "activate" : "deactivate"] \the [owner]'s integrated megaspeakers."))
|
||||
|
||||
#undef BAR_CAP
|
||||
#undef BAR_CAP
|
||||
@@ -236,7 +236,6 @@
|
||||
user.forceMove(src)
|
||||
LAZYDISTINCTADD(pilots, user)
|
||||
sync_access()
|
||||
handle_loudening_signals(user)
|
||||
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
|
||||
if(user.client) user.client.screen |= hud_elements
|
||||
LAZYDISTINCTADD(user.additional_vision_handlers, src)
|
||||
@@ -275,7 +274,6 @@
|
||||
set_intent(I_HURT)
|
||||
LAZYREMOVE(pilots, user)
|
||||
UNSETEMPTY(pilots)
|
||||
handle_loudening_signals(user, TRUE)
|
||||
|
||||
/mob/living/heavy_vehicle/relaymove(var/mob/living/user, var/direction)
|
||||
if(!can_move(user))
|
||||
@@ -666,13 +664,13 @@
|
||||
if(toggle_lock())
|
||||
say("Hatch [hatch_locked ? "locked" : "unlocked"].")
|
||||
return
|
||||
|
||||
|
||||
// unlink the leader to get a new one
|
||||
if(findtext(text, "unlink"))
|
||||
unassign_leader()
|
||||
say("Leader dropped, awaiting new leader.")
|
||||
return
|
||||
|
||||
|
||||
// stop following who you were assigned to follow
|
||||
if(findtext(text, "stop"))
|
||||
unassign_following()
|
||||
@@ -708,32 +706,4 @@
|
||||
assign_following(H)
|
||||
say("Following [ID.registered_name].")
|
||||
break
|
||||
return
|
||||
|
||||
/mob/living/heavy_vehicle/proc/handle_loudening_signals(var/specific_mob = null, var/disable = FALSE)
|
||||
if(loudening && !disable)
|
||||
if(specific_mob)
|
||||
RegisterSignal(specific_mob, COMSIG_SAY_MODIFIER, .proc/modify_say)
|
||||
return
|
||||
for(var/mob/M as anything in pilots)
|
||||
RegisterSignal(M, COMSIG_SAY_MODIFIER, .proc/modify_say)
|
||||
else
|
||||
if(specific_mob)
|
||||
UnregisterSignal(specific_mob, COMSIG_SAY_MODIFIER)
|
||||
return
|
||||
for(var/mob/M as anything in pilots)
|
||||
UnregisterSignal(M, COMSIG_SAY_MODIFIER)
|
||||
|
||||
// For any future devs, you can add a sound here if you want, it just needs to be deep and rumbly - geeves
|
||||
/mob/living/heavy_vehicle/proc/modify_say(var/mob/M, var/list/say_modifiers)
|
||||
if(say_modifiers[SAY_MOD_FONT_SIZE] < FONT_SIZE_LARGE)
|
||||
say_modifiers[SAY_MOD_FONT_SIZE] = FONT_SIZE_LARGE
|
||||
say_modifiers[SAY_MOD_VERB] = "broadcasts"
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(T)
|
||||
for(var/mob/living/carbon/human/H in range(T, 2) - M)
|
||||
if(get_dist(T, H) < 1) // within one tile
|
||||
H.earpain(3, TRUE, 2)
|
||||
else
|
||||
H.earpain(2, TRUE, 2)
|
||||
return
|
||||
@@ -10,15 +10,16 @@ var/list/floating_chat_colors = list()
|
||||
/atom/movable/proc/set_floating_chat_color(color)
|
||||
floating_chat_colors[name] = color
|
||||
|
||||
/atom/movable/proc/animate_chat(message, datum/language/language, fontsize, list/show_to, duration, override_color)
|
||||
/atom/movable/proc/animate_chat(message, datum/language/language, small, list/show_to, duration, override_color)
|
||||
set waitfor = FALSE
|
||||
|
||||
var/style //additional style params for the message
|
||||
var/fontsize = 6
|
||||
if(small)
|
||||
fontsize = 5
|
||||
var/limit = 50
|
||||
if(copytext(message, length(message) - 1) == "!!" && fontsize < 8)
|
||||
if(copytext(message, length(message) - 1) == "!!")
|
||||
fontsize = 8
|
||||
|
||||
if(fontsize >= 8)
|
||||
limit = 30
|
||||
style += "font-weight: bold;"
|
||||
|
||||
|
||||
@@ -151,7 +151,14 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
return "asks"
|
||||
return verb
|
||||
|
||||
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
|
||||
/mob/living/proc/get_font_size_modifier()
|
||||
if(ismech(loc))
|
||||
var/mob/living/heavy_vehicle/HV = loc
|
||||
if(HV.loudening)
|
||||
return FONT_SIZE_LARGE
|
||||
return null
|
||||
|
||||
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb, var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
|
||||
if(stat)
|
||||
if(stat == DEAD)
|
||||
return say_dead(message)
|
||||
@@ -288,24 +295,10 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
|
||||
get_mobs_and_objs_in_view_fast(T, message_range, listening, listening_obj, ghost_hearing)
|
||||
|
||||
if(whisper)
|
||||
log_whisper("[key_name(src)] : ([get_lang_name(speaking)]) [message]",ckey=key_name(src))
|
||||
else
|
||||
log_say("[key_name(src)] : ([get_lang_name(speaking)]) [message]",ckey=key_name(src))
|
||||
|
||||
var/list/hear_clients = list()
|
||||
var/list/hear_say_list = list(SAY_MOD_MESSAGE = message, SAY_MOD_VERB = verb, SAY_MOD_SPEAKING = speaking, SAY_MOD_ALT_NAME = alt_name, SAY_MOD_ITALICS = italics, SAY_MOD_SPEECH_SOUND = speech_sound, SAY_MOD_SOUND_VOL = sound_vol, SAY_MOD_FONT_SIZE = FONT_SIZE_NORMAL)
|
||||
SEND_SIGNAL(src, COMSIG_SAY_MODIFIER, hear_say_list)
|
||||
message = hear_say_list[SAY_MOD_MESSAGE]
|
||||
verb = hear_say_list[SAY_MOD_VERB]
|
||||
speaking = hear_say_list[SAY_MOD_SPEAKING]
|
||||
alt_name = hear_say_list[SAY_MOD_ALT_NAME]
|
||||
italics = hear_say_list[SAY_MOD_ITALICS]
|
||||
speech_sound = hear_say_list[SAY_MOD_SPEECH_SOUND]
|
||||
sound_vol = hear_say_list[SAY_MOD_SOUND_VOL]
|
||||
var/font_size = hear_say_list[SAY_MOD_FONT_SIZE]
|
||||
for(var/mob/M as anything in listening)
|
||||
var/heard_say = M.hear_say(message, verb, speaking, alt_name, italics, src, speech_sound, sound_vol, font_size)
|
||||
for(var/m in listening)
|
||||
var/mob/M = m
|
||||
var/heard_say = M.hear_say(message, verb, speaking, alt_name, italics, src, speech_sound, sound_vol, get_font_size_modifier())
|
||||
if(heard_say && M.client)
|
||||
hear_clients += M.client
|
||||
|
||||
@@ -313,11 +306,7 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
var/image/speech_bubble = image(get_talk_bubble(),src,"h[speech_bubble_test]")
|
||||
speech_bubble.appearance_flags = RESET_COLOR|RESET_ALPHA
|
||||
INVOKE_ASYNC(GLOBAL_PROC, /proc/animate_speechbubble, speech_bubble, hear_clients, 30)
|
||||
|
||||
var/animate_fontsize = italics ? 5 : 6
|
||||
if(font_size > FONT_SIZE_NORMAL)
|
||||
animate_fontsize += 2
|
||||
do_animate_chat(message, speaking, animate_fontsize, hear_clients, 30)
|
||||
do_animate_chat(message, speaking, italics, hear_clients, 30)
|
||||
|
||||
var/bypass_listen_obj = (speaking && (speaking.flags & PASSLISTENOBJ))
|
||||
if(!bypass_listen_obj)
|
||||
@@ -328,10 +317,15 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
if(mind)
|
||||
mind.last_words = message
|
||||
|
||||
if(whisper)
|
||||
log_whisper("[key_name(src)] : ([get_lang_name(speaking)]) [message]",ckey=key_name(src))
|
||||
else
|
||||
log_say("[key_name(src)] : ([get_lang_name(speaking)]) [message]",ckey=key_name(src))
|
||||
|
||||
return 1
|
||||
|
||||
/mob/living/proc/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/proc/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/proc/animate_speechbubble(image/I, list/show_to, duration)
|
||||
var/matrix/M = matrix()
|
||||
|
||||
@@ -174,5 +174,5 @@
|
||||
if(healths.icon_state != newstate)
|
||||
healths.icon_state = newstate
|
||||
|
||||
/mob/living/simple_animal/construct/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/construct/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
@@ -334,8 +334,8 @@
|
||||
radio.talk_into(src, message, message_mode, verb, speaking)
|
||||
used_radios += radio
|
||||
|
||||
/mob/living/simple_animal/spiderbot/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/spiderbot/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/control_integrated_radio()
|
||||
set name = "Radio Settings"
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
icon_living = "horror_alt"
|
||||
icon_dead = "horror_alt_dead"
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/true_changeling/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Life()
|
||||
..()
|
||||
@@ -236,4 +236,4 @@
|
||||
mind.transfer_to(occupant)
|
||||
visible_message("<span class='warning'>\The [src] explodes into a shower of gore!</span>")
|
||||
gibs(src.loc)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
@@ -68,8 +68,8 @@
|
||||
..()
|
||||
check_horde()
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/faithless/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/can_fall()
|
||||
return FALSE
|
||||
@@ -78,4 +78,4 @@
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/CanAvoidGravity()
|
||||
return TRUE
|
||||
return TRUE
|
||||
@@ -36,8 +36,8 @@
|
||||
var/mob/living/simple_animal/hostile/hivebotbeacon/linked_parent = null
|
||||
psi_pingable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/hivebot/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/hivebot/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/hivebot/get_bullet_impact_effect_type(var/def_zone)
|
||||
return BULLET_IMPACT_METAL
|
||||
@@ -178,4 +178,4 @@
|
||||
do_teleport(src, random_turf)
|
||||
|
||||
/mob/living/simple_animal/hostile/hivebot/proc/wakeup()
|
||||
stance = HOSTILE_STANCE_IDLE
|
||||
stance = HOSTILE_STANCE_IDLE
|
||||
@@ -64,7 +64,7 @@
|
||||
. = ..()
|
||||
|
||||
set_light(1.2, 3, LIGHT_COLOR_BLUE)
|
||||
|
||||
|
||||
if(prob(5))
|
||||
projectiletype = /obj/item/projectile/beam/pulse/drone
|
||||
projectilesound = 'sound/weapons/pulse2.ogg'
|
||||
@@ -106,8 +106,8 @@
|
||||
else
|
||||
to_chat(user, SPAN_WARNING("Most of its lights are off, and its targetting vanes are retracted."))
|
||||
|
||||
/mob/living/simple_animal/hostile/icarus_drone/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/icarus_drone/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/icarus_drone/Allow_Spacemove(var/check_drift = 0)
|
||||
return TRUE
|
||||
@@ -363,4 +363,4 @@
|
||||
emote_see = list("beeps menacingly", "whirrs threateningly", "scans its immediate vicinity")
|
||||
belongs_to_station = FALSE
|
||||
malfunctioning = TRUE
|
||||
faction = "malf_drone"
|
||||
faction = "malf_drone"
|
||||
@@ -247,5 +247,5 @@
|
||||
spell_master.open_state = "morph_open"
|
||||
spell_master.closed_state = "morph_closed"
|
||||
|
||||
/mob/living/simple_animal/hostile/morph/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/morph/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
@@ -64,8 +64,8 @@
|
||||
add_language(LANGUAGE_SIIK_MAAS)
|
||||
set_default_language(all_languages[LANGUAGE_SIIK_MAAS])
|
||||
|
||||
/mob/living/simple_animal/hostile/republicon/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/hostile/republicon/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/republicon/get_bullet_impact_effect_type(var/def_zone)
|
||||
return BULLET_IMPACT_METAL
|
||||
|
||||
@@ -122,8 +122,8 @@
|
||||
..()
|
||||
stat("Held Item", held_item)
|
||||
|
||||
/mob/living/simple_animal/parrot/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/parrot/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/*
|
||||
* Inventory
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
/mob/living/simple_animal/shade/can_name(var/mob/living/M)
|
||||
return FALSE
|
||||
|
||||
/mob/living/simple_animal/shade/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/shade/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/shade/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
|
||||
if(istype(O, /obj/item/device/soulstone))
|
||||
|
||||
@@ -779,8 +779,8 @@
|
||||
var/can_ghosts_hear = client ? GHOSTS_ALL_HEAR : ONLY_GHOSTS_IN_VIEW
|
||||
..(message, null, verb, ghost_hearing = can_ghosts_hear)
|
||||
|
||||
/mob/living/simple_animal/do_animate_chat(var/message, var/datum/language/language, var/font_size, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, pick(speak), language, font_size, show_to, duration)
|
||||
/mob/living/simple_animal/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, pick(speak), language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/get_speech_ending(verb, var/ending)
|
||||
return verb
|
||||
|
||||
Reference in New Issue
Block a user