From 901325d8ae5d425405aae9c828ede6f45580dfc8 Mon Sep 17 00:00:00 2001 From: Nerd Lord Date: Thu, 14 Jan 2016 12:28:49 -0500 Subject: [PATCH 1/2] The speechbubble a mob uses is now a var instead of an argument on say() --- code/game/gamemodes/blob/blobs/blob_mobs.dm | 1 + code/game/mecha/mecha.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 1 + .../mob/living/carbon/alien/humanoid/queen.dm | 3 ++- code/modules/mob/living/carbon/alien/say.dm | 2 +- code/modules/mob/living/living_defines.dm | 2 ++ code/modules/mob/living/say.dm | 4 ++-- code/modules/mob/living/silicon/ai/say.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 4 +++- code/modules/mob/living/silicon/say.dm | 2 -- code/modules/mob/living/silicon/silicon.dm | 1 + .../mob/living/simple_animal/bot/bot.dm | 6 +++--- .../simple_animal/friendly/drone/_drone.dm | 2 ++ .../friendly/drone/extra_drone_types.dm | 2 ++ .../simple_animal/friendly/drone/say.dm | 5 ----- .../living/simple_animal/guardian/guardian.dm | 2 ++ .../living/simple_animal/hostile/syndicate.dm | 1 + icons/mob/talk.dmi | Bin 1007 -> 3296 bytes 18 files changed, 25 insertions(+), 17 deletions(-) diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 5d0e61a3b11..24abe73e2b8 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -8,6 +8,7 @@ icon = 'icons/mob/blob.dmi' pass_flags = PASSBLOB faction = list("blob") + bubble_icon = "blob" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = 360 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index a664b6227c5..3b329800ea8 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -344,7 +344,7 @@ if(M.client) speech_bubble_recipients.Add(M.client) spawn(0) - flick_overlay(image('icons/mob/talk.dmi', src, "hR[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) + flick_overlay(image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) return //////////////////////////// diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 4e444378c6f..1d78e69955a 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -12,6 +12,7 @@ ventcrawler = 2 languages = ALIEN verb_say = "hisses" + bubble_icon = "alien" type_of_meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno var/nightvision = 1 diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 25f8bf1f9bd..e8e94b0f044 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -5,8 +5,9 @@ ventcrawler = 0 //pull over that ass too fat unique_name = 0 pixel_x = -16 + bubble_icon = "alienroyal" mob_size = MOB_SIZE_LARGE - layer = 6 + layer = MOB_LAYER + 0.5 //above most mobs, but below speechbubbles pressure_resistance = 200 //Because big, stompy xenos should not be blown around like paper. butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno = 20, /obj/item/stack/sheet/animalhide/xeno = 3) diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm index f66c3c8794d..dec01676dd5 100644 --- a/code/modules/mob/living/carbon/alien/say.dm +++ b/code/modules/mob/living/carbon/alien/say.dm @@ -1,5 +1,5 @@ /mob/living/carbon/alien/say(message) - . = ..(message, "A") + . = ..() if(.) playsound(loc, "hiss", 25, 1, 1) //erp just isn't the same without sound feedback diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 27bd2ccb751..4d70e5f0a6a 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -50,6 +50,8 @@ var/list/say_log = list() //a log of what we've said, plain text, no spans or junk, essentially just each individual "message" + var/bubble_icon = "default" //what icon the mob uses for speechbubbles + var/last_bumped = 0 var/unique_name = 0 //if a mob's name should be appended with an id when created e.g. Mob (666) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 471cec390b6..c273cf9371f 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -142,7 +142,7 @@ var/list/crit_allowed_modes = list(MODE_WHISPER,MODE_CHANGELING,MODE_ALIEN) show_message(message, 2, deaf_message, deaf_type) return message -/mob/living/send_speech(message, message_range = 7, obj/source = src, bubble_type, list/spans) +/mob/living/send_speech(message, message_range = 7, obj/source = src, bubble_type = bubble_icon, list/spans) var/list/listening = get_hearers_in_view(message_range, source) for(var/mob/M in player_list) if(M.stat == DEAD && M.client && ((M.client.prefs.chat_toggles & CHAT_GHOSTEARS) || (get_dist(M, src) <= 7)) && client) // client is so that ghosts don't have to listen to mice @@ -158,7 +158,7 @@ var/list/crit_allowed_modes = list(MODE_WHISPER,MODE_CHANGELING,MODE_ALIEN) if(M.client) speech_bubble_recipients.Add(M.client) spawn(0) - flick_overlay(image('icons/mob/talk.dmi', src, "h[bubble_type][say_test(message)]",MOB_LAYER+1), speech_bubble_recipients, 30) + flick_overlay(image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]",MOB_LAYER+1), speech_bubble_recipients, 30) /mob/proc/binarycheck() return 0 diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 014dd45b84c..b43ef3552f4 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -49,7 +49,7 @@ var/obj/machinery/hologram/holopad/T = current if(istype(T) && T.masters[src])//If there is a hologram and its master is the user. - send_speech(message, 7, T, "R", get_spans()) + send_speech(message, 7, T, "robot", get_spans()) src << "Holopad transmitted, [real_name] \"[message]\""//The AI can "hear" its own message. else src << "No holopad connected." diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 51ffa99333c..bfcebcb0ce5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1,10 +1,11 @@ /mob/living/silicon/robot name = "Cyborg" real_name = "Cyborg" - icon = 'icons/mob/robots.dmi'// + icon = 'icons/mob/robots.dmi' icon_state = "robot" maxHealth = 100 health = 100 + bubble_icon = "robot" var/sight_mode = 0 var/custom_name = "" designation = "Default" //used for displaying the prefix & getting the current module of cyborg @@ -1109,6 +1110,7 @@ scrambledcodes = 1 modtype = "Synd" faction = list("syndicate") + bubble_icon = "syndibot" designation = "Syndicate Assault" req_access = list(access_syndicate) var/playstyle_string = "You are a Syndicate assault cyborg!
\ diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 00cdfcc10e4..2d8e31e3c97 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -1,5 +1,3 @@ -/mob/living/silicon/say(message) - return ..(message, "R") /mob/living/silicon/get_spans() return ..() | SPAN_ROBOT diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b4604dbc0b9..fb71eca98c0 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -7,6 +7,7 @@ verb_ask = "queries" verb_exclaim = "declares" verb_yell = "alarms" + bubble_icon = "machine" var/syndicate = 0 var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS var/list/alarms_to_show = list() diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 71d2a7213e3..1b9d4437220 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -15,6 +15,9 @@ sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush + speak_emote = list("states") + bubble_icon = "machine" + var/obj/machinery/bot_core/bot_core = null var/bot_core_type = /obj/machinery/bot_core var/list/users = list() //for dialog updates @@ -288,9 +291,6 @@ say(message) return -/mob/living/simple_animal/bot/say(message) - return ..(message, "R") - /mob/living/simple_animal/bot/get_spans() return ..() | SPAN_ROBOT diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 54a6b86c314..ebc51360660 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -35,6 +35,8 @@ status_flags = (CANPUSH | CANSTUN | CANWEAKEN) gender = NEUTER voice_name = "synthesized chirp" + speak_emote = list("chirps") + bubble_icon = "machine" languages = DRONE mob_size = MOB_SIZE_SMALL has_unlimited_silicon_privilege = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index e17a9a0dcb0..597b528ea9f 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -17,6 +17,8 @@ health = 30 maxHealth = 120 //If you murder other drones and cannibalize them you can get much stronger faction = list("syndicate") + speak_emote = list("hisses") + bubble_icon = "syndibot" heavy_emp_damage = 10 laws = \ "1. Interfere.\n"+\ diff --git a/code/modules/mob/living/simple_animal/friendly/drone/say.dm b/code/modules/mob/living/simple_animal/friendly/drone/say.dm index b8152458ea6..5bd5dbb8eb7 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/say.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/say.dm @@ -5,11 +5,6 @@ //Drone speach //Drone hearing - -/mob/living/simple_animal/drone/say(message) - return ..(message, "R") - - /mob/living/simple_animal/drone/lang_treat(atom/movable/speaker, message_langs, raw_message) //This is so drones can understand humans without being able to speak human . = ..() var/hear_override_langs = HUMAN diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 55e68b5ffe1..5f126ff35b2 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -3,6 +3,7 @@ real_name = "Guardian Spirit" desc = "A mysterious being that stands by its charge, ever vigilant." speak_emote = list("hisses") + bubble_icon = "guardian" response_help = "passes through" response_disarm = "flails at" response_harm = "punches" @@ -647,6 +648,7 @@ picked_name = pick("Aries", "Leo", "Sagittarius", "Taurus", "Virgo", "Capricorn", "Gemini", "Libra", "Aquarius", "Cancer", "Scorpio", "Pisces") if("tech") user << "[G.tech_fluff_string]." + G.bubble_icon = "holo" colour = pick("Rose", "Peony", "Lily", "Daisy", "Zinnia", "Ivy", "Iris", "Petunia", "Violet", "Lilac", "Orchid") //technically not colors, just flowers that can be specific colors picked_name = pick("Gallium", "Indium", "Thallium", "Bismuth", "Aluminium", "Mercury", "Iron", "Silver", "Zinc", "Titanium", "Chromium", "Nickel", "Platinum", "Tellurium", "Palladium", "Rhodium", "Cobalt", "Osmium", "Tungsten", "Iridium") diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 7e037b9b5f5..27719e385dc 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -126,6 +126,7 @@ mob_size = MOB_SIZE_TINY flying = 1 speak_emote = list("states") + bubble_icon = "syndibot" gold_core_spawnable = 1 del_on_death = 1 diff --git a/icons/mob/talk.dmi b/icons/mob/talk.dmi index 7f0efa39cbeb3c010f2ebdb34035f6db2f004997..7246d1a64251fefe5796bad8de0ad6567977f6c7 100644 GIT binary patch literal 3296 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 literal 1007 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo?NuQWB`&GO$wiq3C7Jno3=9=> zg2M`mO22;zF8KKMiI%sn*10q1gExd4Tr__0Nawtd=E(pc$L!IgGahGs&TBLlba@MT z2Z`p0PBG${vcn?SsJjcu;n`_%xl5=xSTUzX$oY_$OsB!Ii4w&<9IH8%4y{vAdZTnq zYfjb_(U`w6A~7|#I~khVQ$$Ut?rmUTU{>~YaSW-L^LFmqyvGhAZtq->YBmCclabNM8H{~j)r%FGqdM8=^=0%mv zt6kgXtXjo)ZPB{dq1Cg+L;k!?E3c@ljmb6N?e}NP-=AL#zx?Ic*#J~xc_DIeded%tA$A-r$e3bU=G+Qa>?&$82RZ<;0OW=@^J(JhPcYoji=D+@} zoMnmI_Uqey>^>|D_N%`8?@mO9z&QoBhntlb0A0y(@KTVJQQfXHcj{}SqHg{F-eH}e zf1)~yqC!{7+ql!Hp?_ zBx2Ssg;jQSS|5MU^Uio2C|4Xd&1uTBrxQM|US*{t)_w5*d_Q$@#^TNYepPI)Z(aF% z_wQ%Ma-9-g^S>RmwmW&|&7Q!OI@VLuo}c`XRTE#c`SYoi^FLJPI$D@oi3b+7e|l1V z{h5E`%$r}Q?vE2aRC|B6JmW?L-gmeA znOy^j|7YL5x$>fMs-MJ9U*4PFpyzn}d!3!*dG-S@wkt?*HcVt7iI}ldGF z=E>#N9s9EKf;GqVcYkXyTz)qFRZDZY Date: Thu, 14 Jan 2016 15:50:12 -0500 Subject: [PATCH 2/2] Adds swarmer and slime bubbles. Also removes a duplicate line~ --- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 2 +- .../mob/living/simple_animal/hostile/alien.dm | 2 ++ .../mob/living/simple_animal/slime/slime.dm | 1 + icons/mob/swarmer.dmi | Bin 15396 -> 15498 bytes icons/mob/talk.dmi | Bin 3296 -> 3923 bytes 5 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 6b3591cb4ef..52575f01545 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -34,6 +34,7 @@ icon = 'icons/mob/swarmer.dmi' desc = "A robot of unknown design, they seek only to consume materials and replicate themselves indefinitely." speak_emote = list("tones") + bubble_icon = "swarmer" health = 40 maxHealth = 40 status_flags = CANPUSH @@ -59,7 +60,6 @@ speed = 0 faction = list("swarmer") AIStatus = AI_OFF - projectiletype = /obj/item/projectile/beam/disabler pass_flags = PASSTABLE ventcrawler = 2 ranged = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index c7f49bf27a2..8bd71dd3313 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -19,6 +19,7 @@ melee_damage_upper = 25 attacktext = "slashes" speak_emote = list("hisses") + bubble_icon = "alien" a_intent = "harm" attack_sound = 'sound/weapons/bladeslice.ogg' atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) @@ -125,6 +126,7 @@ icon_state = "alienq" icon_living = "alienq" icon_dead = "alienq_dead" + bubble_icon = "alienroyal" move_to_delay = 4 maxHealth = 400 health = 400 diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 12243cf713a..af6de1b80bc 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -17,6 +17,7 @@ response_harm = "stomps on" emote_see = list("jiggles", "bounces in place") speak_emote = list("chirps") + bubble_icon = "slime" layer = 5 diff --git a/icons/mob/swarmer.dmi b/icons/mob/swarmer.dmi index dffd6b2490c25cdcfa963bd11f26e2797cb1fa44..f8ff43f3b9f8a79c66ff54173413913b0ac2160a 100644 GIT binary patch literal 15498 zcmb8WcRZY5_bz3IKlJW4oD?q z{G>Jm4$puez*8OaE`y5ocl=TCt*aK~$?jI!m4}y?S1>!F60Uy^mjZ?Iff9ZsJE7Hj zR4hQL?fH(K5MU8ZhsesOsXoHb*CPXhZA!w#HXOXK8SedzwuNlI|+ajD!Zjh^%_gY*g9A5A09l4&m!E4?aCEBnCdSv8wpB2ky=CVF5t0 zOW0(@rN%>@6fJO6i+ee{76qr&BcZx@LoICqKAj`z87AH#?jTwMc8T9?6c(5VMHNoB zk1#25j9WZ^MT1mb++jA&H_z3+pG(6*M`?B=K&IeIzbuK9NQ%c!rHju#x0kbMmlONm z@!CZZiKF0k{ks;@cRPdEyJ_j+vsX0BNd}jHgPv}*Od;xZ3PM!2+8u);9C1>df;P-V z%CKjN>C9y}ZuiBI+P2gfn)cI`q*yG3W?|gTgJ#n-w?kS;ZM@PS3fzTWHHiGVL3TaS zaOsPhcDS5EebYGmuuV$5&&2eZlnAKpqVW|n_M3~?M$?tKW#62>y$R4OgXSP3P8ME{RQ^X=fm zO*bDW;uvrqT;kSxlc=!}$Wb;vBqUp(7Kr@%a{xhCBwUThr!LR$&+vrjJAUQIhP47oc%cTrB zRAyMpyIVW+V{>0X%bD^3-gX20_-bBQk>xkh(}%pNR=&lhGl^pR-FPqcFLu+}8K4GB z5hJy749g1-IwF?vey@{utOD!yc=vj4Zytj4T(eTVR0tgq01b`%wC1gaNGSVToZqHm zY%+d2e_OIS8vLI;Ia=;~&j4-xhJ2QZq-$$~(~fn%C&>Tug$n5Ci($e797Z$n08LHJ zN@(ip`$W{a^g0}?8tp^hIJ^jHh`^&3i$U#CdwRU?57w*W@S z0WdnyMq#c{^ zBkh(7;$u3sK2uld|DZ;QUj5;u5d1u|wblbZsqeFqmbd)lQ4y?!xW`Sn21O?#_#NTs zN_1oYFcV{_B;{1lV#Y9mr|h*1I0~ZXQ_7wb+tOj^$-s7wh#bi{oX+g#_0Rn!&X@X4 zqVCzv#DL6hYulUVdNnsz=?!9>VFT1;_i=zZ#M9@Ad^Eyua~^J@ z!e`|-C{rN?cNFyK6c!E#KE5zT1fE1hEPtP*Ik9zso#L&#-5^l0g*Fx1=TEnlpX1sR z#c#kCSP2n!4R6kAi`t6FxUTERw%E3@gTH0<8@Acs4;VQQl~CGot{Z!U$*fNysd0j>47mtO%ZBU%3cQ= zKH2@}H|*jy)I}yNUT7`h{37Mc46)tVlt9j4W?`c&g^O(E(_*(`93b&)k~Qzc=pzVS z*OeJP5ovC1>D{`ex*u-EPrzOOG9Kc;D3oHbZqqMIF>^QCUtNh+Ml4zX%^#d56AAe! z9H<=4^($@pcC9Frgu~dP#qKM!&*oq1jOl%Ry8YI24{rX>5e*g~qj;eTBk#f0Bmkad zTkS2>n>{}7<8SX=WD+w2Dr<|!3grxS;rIaZlAwty-=dzlPxz;v{P<;Io56kDS<95Y zOw#34f2tkv5-uL~c!FnDh``=@>fy9Y=CNPbGBKC1y%b*!ym7e0B5&)b{_cg#s_bw% zabcdzWheq zA`)`P0mGg(Kg2S<{WsS*oVQOuY$!^f*x>9SPqbeZbmHTl7R;rx6};&MqSWQJpK27g zC)5-aile;{2ZFlw&$DuSi(gw`*ir1YNe3N#fl{vvrI?jvDX>!{Vk4^7;IpJ>DNMlf zed#}|E0Z1t=u)<=9Qhn_Zv!Fp`#7t9oX-rF3L`Lw-;DYEhmbIYIKS?$8L{OJ#FVjh z)8yPc8VOT+W6bq;#0*i7O+~Ds&9fpfyGcr_I9(xwANuPIb$agDpx%o$sV1<#*l5PtTOa<0*9I20}j)cpqR-l4?sU;+MT zbBF4_Ul)M1<8OaCd^%?*}G3SIm(y56qDm1yZnlcCsZmy>6XWVEy)GGWkz$jFp#>fX3B-Ud>5e=SB@mMf zu=?@rf)Bq$?O)*o&)Y?lcP@*qB)Vvc-h~!Of##eXN#My}4>Tzh$xwQVUzZ}Ph&E-q z_OHu|9RvA=ef_2t32aiNe2x{V+(+f8z)ySyPSGOd5?cw+&|&Jg(qIv%#fz4S+pvfUl+(+RUCB985RtO3zU!G)@AT zMcxl!d`9|t$?G9S`?9tf!=B5Eqh&&ZX3bcL5@pI^{ zbAH9bM)DZ?;Uw;{RORt!pBCiSnNMh(J3) z`2QVR@n1>$XDrVD^|IA#XZuk0>V)kXhFyStoJXgI)Fe`kg81_^&O2)ZnVJgnVtMw= zeT%YMm*9plqN=64w_CQ{%t8-hwj ze~w2;AQT}Q_>S`jf>gi|~N?Xggq@DPXH@|8@#M)^sy1IDQ;IuJj6V7F?7qcvfkw>CWD?gM@s= zJTirR<0b!tZxC#6|UVp-8pVNdo}V1=NzMV*|&hHy1H zb=iyIf3?XYj&(<=>)Dtau(Ow1{M8yS2R7 zoFc7Xd8@^={{ntd@rHh7! zlD*nK;FEd`oz&V-fv?_h=R(zSqn^{!lE2!{SnqluOPe)KP%9<@#<07%hacFoY9|=g z3M!_DYun73`&{F)f0mB>1o1(SH=rAfaqeYTO{)$g@K1A0Hz0Dn@;~SL^HrSBwT$3Q zZ74D?r{d+!c&4|>hMWG=8Q_?97ul$B^S4^{53X!mPD1#g1=7oH{8yLtrU5nb?#x&5 zRq*rsuZ#*ZgH2F7*nl;0h%f+g6XMs-vPJE5jn=jqFsDFF=Q*BA-9B^@CaoX#Rv@js zOARA?hu2<kYF z&0M3kQK=9;^%5kQ)1qen&KqwTIjsU;HKVW zKGrNi?;mIzaq<9gpAqL9FlI`Py!aC|dpj;4-{PQKYnreW#pAgJRuNfoCuLa8(yk5E zB%E#k>db`sz1oja=iS9X_@AxGifI^#+bMT~@ROkSzuACtUsA8r%Z>J3v$Np_hH;4( zHzdD_DRT{)$v&sO9m+w(k4fPNgPAn9(If?JX7Dd0HBHAY{y&FJP&;z$);LcTX>SM{ zwAbjFJI;!&~K+= z;Te#p8V=8j%WS(3LyNdXx4izD4BjaWPM65cXfuO6gPEl0-^`U{l1=1iP7wUc89r+A zT5wlBd$OUOr>+hQo8G~pZp2BFkLN=^GXPndVzV{H|4Pr;ag-^-ME)CV`wy2zYQ>5v zX9*gx-nHcw=61^YjHhO*Prezj1Yy5eg`;Y=4X615(E*(dt!T8lJ(C1%Ck82C{P zrRsZ64UZDO)eX{?Fj=Dq3b%n3GyuzH3tHsaU7KBQP0*Dm{tk*Kl{w9cvbm1`Qeu0a z-sxg?eGl-Pei!vYsoU@5!jz%$P9xG+?5savz=R zg+t%WbTYAb1ghv5-h;&LfgT<>d*L~hC?jKxIYX^VYq(|w4yz--A8K7`4HRbPSAltu zXb>dIqyvJ}fpl(lPLgf(1(CveaYp=fKlVvAqF(xX=PGO4He1{F66Y72Lh2YnE%u7R}AL9B5G z*$0aIl4;f-#$@<2!zp0s1Bgi=(lo!2+-WdX5x!Q~8%YE)MF*z;Vf(CBu55RIqT;k1 zkDZD2=M%d!-#0_9Nj?lLH5+aYs42l^Fm%a*i!;Pz2@oFoa2~gD(v+R)+PwyFjjDL$0Zoj1(Tj_~?>lKbtKUBOWIe~|I2tu#fqTj;$p3Nz zLN5Fb*u*Z~AVv~2J#@yj>O-01uhn<_ND zYD>;uN2&G!l0)!$4$1Tl&)Jn6H%h7d6K@=n>PR>_#I1gy9o(03&o)Cbl3W_4-3XQ! zZ~_dK-?~-DZp>*va=#QA08cjmf)SQws37n0eWEvBaVH>f&;H$7QrAT&V02zcrjVY# zCSowyo-^@A19h9ph%3fvdtKHLuv1(C*g5C+soJ8U@CkzT4y0DOkF@|<_vFzQx~v} zK>-FWXin=&QkuiElCL2+N_oo_Wx2OS+_A)#*Gh}$V_^AzLc}do^1b*Ap;TQk17m|F z>g{Iw3dLQqOI3{G6HYmaeu_ty$PbPn=l_!RlJprjVojl3T=KVVIj;Eaw{Fo{?EG6+ zVah19WcKAva2>Lw0#q^;(B0x7Ov{AP?_t^2%fae4o6Uh8FmcpGyvL~U5J$}c9uEch z-%avp$+K@M>iNC897fas*Q}YAZ=v|-&nK~VlP~Gv?KGa$QW^MY=zX@DR7wM^R1v1c zX|1w|M>Q7$B<5_N#aXmREj-Jv0;1*G<8+H@6ojv13%AxfcIQJ(+JBZ(f{?4D3s(j6 z#Rv0*?0qr$@>2)NEE{e-Ilp0hIJ_*VVgd>=wN?{yc1X#+sDI5U3j;g=ch;;D#AT=$ zey9Quz$;+@a*h|Hm*!x8D+BN0Wlrw**!sof;f(eDsj6u3L3ym_G?C>={6Q9VZpY&u zxOBS&8GJ?eRcFyJXE0?2iIikeO@uZ-SpeJtjstv8p*KK>ic9Bn2=>{&8B~E1X*om_}qnZbbub zy+xRr@U=@z|MA0RdOTJoG|qq;in<)<)1$?Q7Vp%4QheNJ$=Heg6tF^XOxSBq{w$l^ zr22;mvMs|yb7*{ z#(6{tQX4yX4UxaP!*gz=-d>Jny$bry=%@SI^;qioObSsx8=5fOq5}CTqLgAtapZGo z@k(AZnwp{G76VtVh4M@@EeK2O0$+o}Za*2Ur5w~pfqEeL*7{MFZ66^nc8H}zp=?s0 zi_wtdEeS1p_@t}=);H+z7_+b7g({2SX+qa1Ksk#oz?@itPcX}?P<};8`7}HvILMi4 zB3vr=pREYr@Er%L()BH({EnQ)Q1irZqpTB)XiGqiddN& z_jLpe&s0sqN^12r_mCF}eH5rS!zHK-wh^P)LG#UE=Fz@E{)G}(F^?#S`Wsk1`ESJR zKk&8x-^=uW8N^MO&m<<$Iw)(Nw8>F91u}tH;eV)7Id<`lrM7QYTa z1svDm+{}-qs>^4x$_b*o6@rA!BGuYiO;84Hc&>AR9VgC3*H--xyZO(Radz*(1qUIj z#UEW(+oQ<;M9c$+Q4Mnsxce_SFR0D4h`Ob0lHT|=-lqw{=wr{HTG7)6T|Voi7G$^R z|G@YLeF&Ng<`$;`7t?P`An33K*KW2yN7WRgQ`^kb$Gg5@sncRf>(I%xw|asG4SG2q z#PkbD!N90KbEY&_y_4F2b^0#^0Ufvc&a2T}I&NYfAvzfJ_}Q!GAklq^m0Mo=zk&1M z4f*-1Bnbrt^?B;v^(VIphX%Ciw}rEYRe{B>S;^k7kw^HNTi1otqtl43`bhjQ$?rha z_QtOyRK5v#4C;VJGnIAp00?S{pNf3TXrxS}u3bttLE<|&Q>yGgMFb#5@?3l;{tKty zX)^DP8Gfkyw|06kmsf-!$m&Bny%w z`RW6JX+gu6bFH|`L^K-_DZjM!-#Q+8z|M3PRnQcjET0*he)W^TIrIS3MZupYU_ZS3 zy1vZ-Rnv;joquvwTRziuBw%!_hQt&8;J4!Y;bwWZ{*NGkuZ|-<=xSl-%_1NOI~f

t=G^u2rO+l1#U>TFh%M0WTuB_bGM_&zY(}i24?_32l4Z0cGpYK7$yZ03X zh+KE)6CP&5=+Z}_H~5-$8+u@>e+w1Pmmouzo*eCO2LnW0T|lkn7Pu0HY$@&a;Pj@B zpWB9!42O!>6NHMVNC2{I5x2ke`PE;_W#2coq2`nIk5IK%YQn!T|K_7w#uibaMk;}O z$vt26iQs)Z*8aZ|3jdvBHDN5wTZRjtD0DMOzh$@Hy>YvyDMG%7-jP9wET8tF>`*3F zMxv@gH&}MBJ}#n3S`pe$QCNRK9+`?ecGbrpevF63yBH@24DVN}WadM&lb|a3(&bF$ zDoQv#KkM;U`4y@Od8f&7zPic?f>g5C2!pO%z~o%&K2w92`Y8{HKP#22PQYc*O#||F8Mmx z=y6Sf&-XgJ1Y93D8(2%IdUO7@0f{qbdV?r6ddpQhkGICpp7v(ht-Ro<;Vq7%O0Zcj z*>7Gjw#K=sPlE(>u$gTIgzetZ?~~z=w*vY1{*B?L$SIJ?3E20Km(S$w_|k37B!fEK zTh{NsLIfh2AgAq1oU9On*4_ATAyQflcg0NpjrV_&3d;6BcROCr$3w)y)bGcgfKMQx zqjI3Vk&J93!-n8S-|i?h`)j*_iJuoK1sL2slhO8E9fzd0)7UkNhL&<%e?g%7s%2=E zhxtlH&=0BwllEdbx5bM1Pi;~{!3U&-3Rn0;$|$VI*Ej87;*3!svgLn=cwe5Nf=hoP zSR;oqAl8dIht6iz&Po0dHM#N0%Ph>z*LwzT5t9p5XeT!Z$S9n~325yvnK|nPh-%H$lC>6k*EKFl4-`IbK+zlTOu#9_nabokC z)%EjCcBv1Y^G3Tlde{-?n1)wxqk>@4q0D@GL%si+;GQPbAh|t0{No)`9j_|0g=%O5 z_`A45(@u&AD*mf8F$A3gIv(-B<% zKsZqvL<#_ycy45XZOY15%R*UU!&Xzuazhxq!T+iLQrhuyd4Nr36k zoWB*!%@SU$WXk#es$g|ik4Q%aF!sjcdK=Lo9Dh7hCG?CDxn<@de$Kk(Qyl6JrTUMB+9d!OE8`Cr3Y6ZDQFz z9EmXRl?2NOFc<2D*iB!)&uu}doJniEaSwA%6kIcE#kX@v*;>?24qhm%DVE}d7a8j; zg;XhoX{In-vVvtw<>E1k>^uLDEc@R;HKKdJy!!ei2DeJ*VncYIZo}s}ad;qLR9E~W z@?toR;_~Vbtp1)G!TK5`R zElGRS+i-m_lv?^oX-70wv(a-)y#2bn&)vm+2Bd6KSsyYm)i1{9pk)r=p$aRM&lTy^@usPj4Dr$Os$aF-6iS8S-p{o!c4{-S&rvMkp!rZPI(p$_bF741 z=3-k+30ol8M|BiJ5M2ELoC`PlV2DA_0g^AMp{0IgP_URu#`roB^h_1O+ktm3*olGXn z;{s^7-Z_q1CglSgg%pcZsMtbV5EHrF1-snEGS1#?6%IIAJfPH~oi$@;=LhA-{pU^$ zY||S}s7``Ul!Nxwmb99OQmu2MH3uFmJS;e?1l}{^fuxIzitCD9-}Mgu@~-i(=mPlz z?*d5-Suui~JnBiiLtRbUzxv({p}OY_a=&>0h#?2i$PMy0;z|~hNTt2fX|`8!(iQJW z$$eYL87f0VHyQ#jAN2M2)2vYwh3n|+=UrSzwO>S~cw{N}eJJ#Uzj)#y(xs;@OLKzX z`CGVMlfPKd64dwI?reDej+vz$E}iO*j-&ar`wlbx|@ z@=@R_0U0~5zeCT>(A!VtyF5o_36g&&ja^8l*WB)#4$GUzbD|Wj&ND(qIXT$PzK8e# zvpj^k*=PR?X1DmMGRB@G_$$+wp|1qXn&l9ew? z%A1@6{Qrb_`BITDU_|857hDUNa6g+w-fPvB{@@`-wp^6K^udpDBCgb%+&I+TwaJAA z62R|#(YMNem=Sq?zP4+Dk?K=@dfY7LKvEYtyDTQ%znd0B=Q2}n_QJ-7ODS6?8mqXp zw5K~VtsS;LvF z$9Dv0J0a12sTFuO=Rg>4ZNX$*_nL;0iRq2goee6m>x1n|chp|gCRd!SC-%fV`AFxF ze44ICt-|=8AGwGd`pm_6t-Z)8Q1$6kQbC>CLC}Qni$8jV4H%Rfg=A-QY%Gk8QQZDd!*9R~8IHYU*C~*) zw3n3k*4M~uhD82=G6+PYwSwg-8>x6|(8tVP^g(8!r&SC?<%d=#Eg7k&N+u#}V&1+) zzcn`UF>#l#{D$b}ea+09nDu-MMI`=w>}(|ZQ+7pV?_eL_uHLqFJ6-6EtHsYmwj7Wy z(fk+J&@r8+r-PoEr_=6uf*-1al{l)UriikC`r~3Q(bw|VY-pP!%t}{3Cb|l3dNCdc z2|GSU3RcoHGIrsR%TTPHbrB0Mhtruydc0c>A+U~4U;xDxabJ$-_01u>-04qMd9)gQ zAIC-eI5nJCGdxgTSW9=yf7OUIT@G7dY(g}&aQ-D;&fabW+g_A2+}RJk|M`1Ap+6YG z#-_5g24uvM>&3mil5Oy}?LeSd#cmAt&w=9O*i;(CWZCjLTkoI4=Qj2MjNuwzmnAY| zdV0OVH=bplycg@_>_GxdQqXO~+5R@gDEn#WeU_S!-%^#U{<}xDHpt z-{}#N1K(IrvbPSOoJd&V-0HR&C&^m%VYi!#Dv;6)icC4WydwP8OHuNVkKUk1yD|K5KDhqHUd?Et0a>u*S~r@a?^zSYarRa_^9*MIi2NMn$5AB4 z8XsFJ-F&7$3R>2BwmjWG1V1lrq^LToi9)bD$_EQSvbJ1?9XHxAU&f>8p6bI_%{Vx?7>#Vdd&@L)vzJh>d9!3v&nNR_T zgIUJ6ECTTP-TUy@?>EPRXe-<2`X#+ z?Or+yTp;kMlYlT>so}8gO2EnXSiq?2nQvxnbE9wPAK_%gE$;@K*4D)&`>-{ zeQ0w2s9o0=PM!oSwab2qHKkgvvuk6;{5xeiq;s{hpTOcSH1TB zShxK+4`nweNk;`*j;$gfd6?;zcnfk+xQ`T5@C?~~OH%2eAYQ4KZc6z%LGRDQ6oPP2EL&OkMZEQm6rb z{N*&B{F#`0HWL^b=$mB==xx3I>>JVVl10w6-jp3!l>F0(ZdmRxrjnswuM>vIm;;+Z;TEjz?7`+N9tQV6}r zX>ahb>p1-JLWjEkDGVFf3v{8o$<`=W07HSJg^y;VYDu+dwEpT!KS2T`NB<(nt0IiF z{+X*{`k|s4<+GPq_esJdjyEQRt>zGRgrni26Hpw99VkKny5$$UD_p|;PFI{#B93HMZpp@nMaTPw z!qw6)dOlynaOI*)eWQW(Bxyf`1scg$UR_mAYgtMqw#N1B3xc5XLkSLBGK8fZIv>*# z$m1Ftlf$vxyN6`{eu-G$aG7WBS`m5W26&2DDR)uo!wkchP7GHvmLk=Rx;}^#9QSHN z3$`VhV}HcTfkj@-DWHmSvzqgw2_^)xMk~y+?YMeIR4QGXh`6pLDoI|7t}xs;E+I;h zK%n_DZOg=))t)-@M8WXVJ~h!XcuAmDl)L#i{!E^@^olu?9>1U7Yfqhy3t$Gz*e^&3 znEF?m^@>oF@9P2?8Cjz}Yz~02w+`fB4~?#b!JO;A#DTaq_~obXrBqKjt<=7Rx%-iM zdRFURp66hI{ypBV8p>$-6Baek4tJQAX6#aL&$gMGm8H`*mq7F7;b+c{p+#d&ElryS zH~JU!^w&4!lo@xp+}={K(YdKg%6w3}7v0$SSnY+f*uGl}g6UPGmwIY!Yt6c=PcJInsvFII!9jvr-#;ZaHR7HM`?KJ8J8U8?*8H3+gbVVrpNj6EudYP}H8@N;{3tIAeaN%2*WoZQ zI@%A7RBO1pG($o~BCE1Tb=ztg@kTN9HlCD{n+F|1Co?J7Vog*C#KU%maIit9L-4M? z_I{0!ZYEU0ljH~Y_Qzd>Kw6uG&#_fLlP|%lspa{SDVYMqE>!RVx^LfY+3@DVfaX2J z1?N!xgJe)a2@E8}dH?=XHn|YRT0(D)r3&{VDU?$8+^o{e`V8#n_MNC*I)1QPaq|YM zerSE1q*WsQ#U+T$;v?1^J;LLovh9=JCYyw*W*wOeXMjvH{rM2B=5hvNgYYzn=mIK4 zz!*sN(wScr;>;ZG`CC*>jI<-<*EjjDiQWDccgaK%7P7fzr+lcRqfXJE35}|XiOLUA z4y}e_ivngYP5_2t=YXs)%v4vGrEs+Up_C+VoY{5po*}R*pZnI~S0UJN!p~nyY|yN$ z3y=M^dwiU>4Vxwaj85!H(GdA^^CV~?LWtf<_@AIeIhG&o1bI_2lP1EpJ((K9vvX28!O{)TI6nwpw zNJOa)3Nr`AeD=7klc9%Hz_kGlpD4^kkAV#UXIw~+x_J|1)TY*kS2sH#g@fxZ;TL*% z-b2rvd*i}6HQ3js<4aOdaG)A@@9q?oDHzvb+pyyr8rdw{4u}beWsWSf`rbK$L5Tof z0rO8)+ThXxh>Pm5{3ZF2lRl5I!)vMU=TIEqcd?yT%f=PrHdBi%`uKs=WeuC7-o6Aj z(G~HjA~*TE(xlf)7Zhf+L!t0tb31VNbM*}?^zjQyN({N%JM5KrOZb`M0^IfYpE{G^ zekRD>XeZ>x>>sWdkO5D-?|w3E>m2^7Qdz(8Y)Jp0Z>SX-)+(s2^o280ne%fV;U~4a00#yD2MzV34xIZbDJdPx%VoHRg|Uu7tdQk& z9^G)GnIrLTSYF1S+@}rxWT%X)U)qq+FRf6Lj*v|BIn2c#3Xw8$G!xjRK#dG=z z^~9S`L?_LW_nP`jZw8A47MjL!*nO@xl^F#pVs;#GZYi|HyZm$4WMkiJV-d=u8g{Vz z?w3w|a4Bl#)QMJ8fULfm@3`71)Trk(7FASkZtfE=X2Q?`-HG#Y>rnQ{d%W+*7%sR= z3#1D(4bp8M{JaUMd> z8XdZ5uwq1S63KfiEpAEz<{Ge!soOrJw{-4bccq4<5H23zef$H(#+A3VHNYLUa39LO z2+-*D`(WalKAg1iKGrw)xu3t|CDQ$p|hz5`5%r+|C^w@a5 zQ&@GV_|CN63BS8|dDJan{!2}=WHU133-iNyRSH^>hxqG8)ES>xY4f*TC9TnWNvlTe zDlgn6N?D#L;*PXm%0PU|S=@idI5o2|!~hBxqlekF+=}HriXWh<7Y`eTuy^DD_qU<-SUq4 z$<*{;lq-HLGR42O|>)aJ0H*sTU&J)DwL^@7>an? ztz92&Sp@a_@!w;?7co68BL1l`&V{;L(cH5xV^9w0;w0EDHEoZ_#TuA*Vd57O**K@BKkMbg!#Eh$mgF2g z66&@xq^QZZpv07S)^8Bm+Cv_3YqLCkzm)e-0T8t!zbTb{_&E%VCjmDzD%(bzOWoO zuDN1uGm+4-j=g5RJhvE^3_P0}b!xb~MD%*(WyC|wNHV2wC_6IS7(C+=rdY!Zo;rCV zssLKg5!mb1d28##`zM*@j;`ct7G@`r$SLtSHT2AlK+}izrp@?DR7r?trgVmgyFe~t5I`qBF z8A;$?w6X8}Bi%-Y%kj1J8y*)SXML6sJ$UlvKlD)jA6#A>^@v3CK7uE-IRRX#gRpgYF5gglCaaSsrMhNr@T~;1z4yO07@)~82lyV7%eIool0G3-_dzPVqCFM2N z{Q&H5MWw30PK7>G=BoDD=}w>r7~kQvNLp4X){$5vXT6b>3)v_w$!O?D`uEvF6!B5EYerg4l@E!(7KzgDU{i8#JHi7$ z7p#cAhtukC_gnrTR*noMQMDgi{Q4A09gKWtktY|=;COr1DNNC=oBIE@$t^nUFqE># zy0Ed)*z4|F#@AT?pHoc#dD8?WrwP6}&wwwL{`YDu4-|SrIbZv|#`;WYf(sV$X-S4I zUTyD5dS}Y!?wZ+lpNZY-|vVf*Y<1Y&qaYr zoNH{MSTaQReS(G{M{^eKXCuw};MvKW?Rr(P=g?~8al8CGZWHVl{K*-q+c!Es8 uYXJBdPRj|p*Z+L1>_2bF|E`_!0^@19>ew{EC<2}_2A-)rS1wnw4E-Nx6m1Ov literal 15396 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 aVy1f^im#v1JOg+C0*WtGWQ(7h2L3NIHA!p$ diff --git a/icons/mob/talk.dmi b/icons/mob/talk.dmi index 7246d1a64251fefe5796bad8de0ad6567977f6c7..e5074d3d03fd0af6ced61a63497e1428b32f9d50 100644 GIT binary patch literal 3923 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 delta 2479 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 Nfd843)yKnc{|D1-TK)h4