From 9e312ffadb8fbd45ab4f359ecfd26c9bb64d014f Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 11 May 2017 20:02:46 -0400 Subject: [PATCH 001/287] holocall --- code/_onclick/ai.dm | 2 +- code/datums/holocall.dm | 159 ++++++ code/game/machinery/computer/hologram.dm | 120 ----- code/game/machinery/hologram.dm | 462 ++++++++++++------ .../mob/living/silicon/ai/freelook/eye.dm | 5 +- code/modules/mob/living/silicon/say.dm | 12 +- paradise.dme | 2 +- 7 files changed, 478 insertions(+), 284 deletions(-) create mode 100644 code/datums/holocall.dm delete mode 100644 code/game/machinery/computer/hologram.dm diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index e969751e1dd..4e907975426 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -159,7 +159,7 @@ /atom/proc/AICtrlClick(var/mob/living/silicon/ai/user) if(user.holo) var/obj/machinery/hologram/holopad/H = user.holo - H.face_atom(src) + H.face_atom(src)//runtime return /obj/machinery/door/airlock/AICtrlClick() // Bolts doors diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm new file mode 100644 index 00000000000..1ef623179a5 --- /dev/null +++ b/code/datums/holocall.dm @@ -0,0 +1,159 @@ +#define HOLOPAD_MAX_DIAL_TIME 200 + +/mob/camera/aiEye/remote/holo/setLoc() + . = ..() + var/obj/machinery/hologram/holopad/H = origin + H.move_hologram(eye_user, loc) + +//this datum manages it's own references + +/datum/holocall + var/mob/living/user //the one that called + var/obj/machinery/hologram/holopad/calling_holopad //the one that sent the call + var/obj/machinery/hologram/holopad/connected_holopad //the one that answered the call (may be null) + var/list/dialed_holopads //all things called, will be cleared out to just connected_holopad once answered + + var/mob/camera/aiEye/remote/holo/eye //user's eye, once connected + var/obj/effect/overlay/holo_pad_hologram/hologram //user's hologram, once connected + + var/call_start_time + +//creates a holocall made by `caller` from `calling_pad` to `callees` +/datum/holocall/New(mob/living/caller, obj/machinery/hologram/holopad/calling_pad, list/callees) + call_start_time = world.time + user = caller + calling_pad.outgoing_call = src + calling_holopad = calling_pad + dialed_holopads = list() + + for(var/I in callees) + var/obj/machinery/hologram/holopad/H = I + if(!qdeleted(H) && !(H.stat & NOPOWER)) + dialed_holopads += H + LAZYADD(H.holo_calls, src) + + if(!dialed_holopads.len) + calling_holopad.visible_message("Connection failure.") + qdel(src) + return + + log_debug("Holocall started") + +//cleans up ALL references :) +/datum/holocall/Destroy() + QDEL_NULL(eye) + + user.reset_perspective() + + user = null + hologram.HC = null + hologram = null + calling_holopad.outgoing_call = null + + for(var/I in dialed_holopads) + var/obj/machinery/hologram/holopad/H = I + LAZYREMOVE(H.holo_calls, src) + dialed_holopads.Cut() + + if(calling_holopad) + calling_holopad.SetLightsAndPower() + calling_holopad = null + if(connected_holopad) + connected_holopad.SetLightsAndPower() + connected_holopad = null + + log_debug("Holocall destroyed") + + return ..() + +//Gracefully disconnects a holopad `H` from a call. Pads not in the call are ignored. Notifies participants of the disconnection +/datum/holocall/proc/Disconnect(obj/machinery/hologram/holopad/H) + testing("Holocall disconnect") + if(H == connected_holopad) + calling_holopad.visible_message("[usr] disconnected.") + else if(H == calling_holopad && connected_holopad) + connected_holopad.visible_message("[usr] disconnected.") + + ConnectionFailure(H, TRUE) + +//Forcefully disconnects a holopad `H` from a call. Pads not in the call are ignored. +/datum/holocall/proc/ConnectionFailure(obj/machinery/hologram/holopad/H, graceful = FALSE) + testing("Holocall connection failure: graceful [graceful]") + if(H == connected_holopad || H == calling_holopad) + if(!graceful) + calling_holopad.visible_message("Connection failure.") + qdel(src) + return + + LAZYREMOVE(H.holo_calls, src) + dialed_holopads -= H + if(!dialed_holopads.len) + if(graceful) + calling_holopad.visible_message("Call rejected.") + log_debug("No recipients, terminating") + qdel(src) + +//Answers a call made to a holopad `H` which cannot be the calling holopad. Pads not in the call are ignored +/datum/holocall/proc/Answer(obj/machinery/hologram/holopad/H) + testing("Holocall answer") + if(H == calling_holopad) + CRASH("How cute, a holopad tried to answer itself.") + + if(!(H in dialed_holopads)) + return + + if(connected_holopad) + CRASH("Multi-connection holocall") + + for(var/I in dialed_holopads) + if(I == H) + continue + Disconnect(I) + + for(var/I in H.holo_calls) + var/datum/holocall/HC = I + if(HC != src) + HC.Disconnect(H) + + connected_holopad = H + + if(!Check()) + return + + hologram = H.activate_holo(user) + hologram.HC = src + + //eyeobj code is horrid, this is the best copypasta I could make + eye = new + eye.origin = H + eye.eye_initialized = TRUE + eye.eye_user = user + eye.name = "Camera Eye ([user.name])" + user.remote_control = eye + user.reset_perspective(eye) + eye.setLoc(H.loc) + +//Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise +/datum/holocall/proc/Check() + for(var/I in dialed_holopads) + var/obj/machinery/hologram/holopad/H = I + if(!(H.stat & NOPOWER)) + ConnectionFailure(H) + + if(qdeleted(src)) + return FALSE + + . = !qdeleted(user) && !user.incapacitated() && !qdeleted(calling_holopad) && !(calling_holopad.stat & NOPOWER) && user.loc == calling_holopad.loc + + if(.) + if(connected_holopad) + . = !qdeleted(connected_holopad) && !(calling_holopad.stat & NOPOWER) + else + . = world.time < (call_start_time + HOLOPAD_MAX_DIAL_TIME) + if(!.) + calling_holopad.visible_message("No answer recieved.") + calling_holopad.temp = "" + + if(!.) + log_debug("Holocall Check fail") + qdel(src) \ No newline at end of file diff --git a/code/game/machinery/computer/hologram.dm b/code/game/machinery/computer/hologram.dm deleted file mode 100644 index 26b7fa17fa2..00000000000 --- a/code/game/machinery/computer/hologram.dm +++ /dev/null @@ -1,120 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -/obj/machinery/computer/hologram_comp - name = "hologram computer" - desc = "Rumoured to control holograms." - icon = 'icons/obj/stationobjs.dmi' - icon_keyboard = "tech_key" - icon_screen = "holocontrol" - var/obj/machinery/hologram/projector/projector = null - var/temp = null - var/lumens = 0.0 - var/h_r = 245.0 - var/h_g = 245.0 - var/h_b = 245.0 - - -/obj/machinery/computer/hologram_comp/New() - ..() - spawn( 10 ) - src.projector = locate(/obj/machinery/hologram/projector, get_step(src.loc, NORTH)) - return - return - -/obj/machinery/computer/hologram_comp/attack_hand() - if(!in_range(src, usr)) - return 0 - src.show_console(usr) - return - -/obj/machinery/computer/hologram_comp/proc/render() - var/icon/I = new /icon('icons/mob/human.dmi', "body_m_s") - - if(src.lumens >= 0) - I.Blend(rgb(src.lumens, src.lumens, src.lumens), ICON_ADD) - else - I.Blend(rgb(- src.lumens, -src.lumens, -src.lumens), ICON_SUBTRACT) - - I.Blend(new /icon('icons/mob/human.dmi', "mouth_m_s"), ICON_OVERLAY) - I.Blend(new /icon('icons/mob/underwear.dmi', "Mens White"), ICON_OVERLAY) - - var/icon/U = new /icon('icons/mob/human_face.dmi', "hair_a_s") - U.Blend(rgb(src.h_r, src.h_g, src.h_b), ICON_ADD) - - I.Blend(U, ICON_OVERLAY) - - src.projector.hologram.icon = I - -/obj/machinery/computer/hologram_comp/proc/show_console(var/mob/user as mob) - var/dat - user.set_machine(src) - if(src.temp) - dat = text("[]

Clear", src.temp) - else - dat = text({"Hologram Status:
\n - Power: []
\n - Hologram Control:
\n - Color Luminosity: []/220 \[Reset\]
\n - Lighten: 1 10
\n - Darken: 1 10
\n -
\nHair Color: ([],[],[]) \[Reset\]
\n - Red (0-255): \[0\] -10 -1 [] 1 10 \[255\]
\n - Green (0-255): \[0\] -10 -1 [] 1 10 \[255\]
\n - Blue (0-255): \[0\] -10 -1 [] 1 10 \[255\]
- "}, (src.projector.hologram ? "On" : "Off"), -src.lumens + 35, src.h_r, src.h_g, src.h_b, src.h_r, src.h_g, src.h_b) - user << browse(dat, "window=hologram_console") - onclose(user, "hologram_console") - return - -/obj/machinery/computer/hologram_comp/Topic(href, href_list) - if(..()) - return 1 - if(in_range(src, usr)) - flick("holo_console1", src) - if(href_list["power"]) - if(src.projector.hologram) - src.projector.icon_state = "hologram0" - //src.projector.hologram = null - qdel(src.projector.hologram) - else - src.projector.hologram = new(src.projector.loc) - src.projector.hologram.icon = 'icons/mob/human.dmi' - src.projector.hologram.icon_state = "body_m_s" - src.projector.icon_state = "hologram1" - src.render() - else - if(href_list["h_r"]) - if(src.projector.hologram) - src.h_r += text2num(href_list["h_r"]) - src.h_r = min(max(src.h_r, 0), 255) - render() - else - if(href_list["h_g"]) - if(src.projector.hologram) - src.h_g += text2num(href_list["h_g"]) - src.h_g = min(max(src.h_g, 0), 255) - render() - else - if(href_list["h_b"]) - if(src.projector.hologram) - src.h_b += text2num(href_list["h_b"]) - src.h_b = min(max(src.h_b, 0), 255) - render() - else - if(href_list["light"]) - if(src.projector.hologram) - src.lumens += text2num(href_list["light"]) - src.lumens = min(max(src.lumens, -185.0), 35) - render() - else - if(href_list["reset"]) - if(src.projector.hologram) - src.lumens = 0 - render() - else - if(href_list["temp"]) - src.temp = null - for(var/mob/M in viewers(1, src)) - if((M.client && M.machine == src)) - src.show_console(M) - return diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index aa345e29643..966ba88ed23 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -1,7 +1,7 @@ -/* Holograms! +/* holograms! * Contains: * Holopad - * Hologram + * hologram * Other stuff */ @@ -9,7 +9,7 @@ Revised. Original based on space ninja hologram code. Which is also mine. /N How it works: AI clicks on holopad in camera view. View centers on holopad. -AI clicks again on the holopad to display a hologram. Hologram stays as long as AI is looking at the pad and it (the hologram) is in range of the pad. +AI clicks again on the holopad to display a hologram. hologram stays as long as AI is looking at the pad and it (the hologram) is in range of the pad. AI can use the directional keys to move the hologram around, provided the above conditions are met and the AI in question is the holopad's master. Only one AI may project from a holopad at any given time. AI may cancel the hologram at any time by clicking on the holopad once more. @@ -27,19 +27,31 @@ Possible to do for anyone motivated enough: // HOLOPAD MODE // 0 = RANGE BASED // 1 = AREA BASED +#define HOLOPAD_PASSIVE_POWER_USAGE 1 +#define HOLOGRAM_POWER_USAGE 2 + var/const/HOLOPAD_MODE = 0 + var/list/holopads = list() /obj/machinery/hologram/holopad - name = "\improper AI holopad" - desc = "It's a floor-mounted device for projecting holographic images. It is activated remotely." + name = "holopad" + desc = "It's a floor-mounted device for projecting holographic images." icon_state = "holopad0" - + anchored = 1 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them. - var/mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. + var/list/masters = list()//List of living mobs that use the holopad var/last_request = 0 //to prevent request spam. ~Carn var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. + var/temp = "" + var/list/holo_calls //array of /datum/holocalls + var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs + var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging + var/static/list/holopads = list() /obj/machinery/hologram/holopad/New() ..() @@ -49,6 +61,21 @@ var/list/holopads = list() component_parts += new /obj/item/weapon/stock_parts/capacitor(null) RefreshParts() +/obj/machinery/hologram/holopad/Destroy() + if(outgoing_call) + LAZYADD(holo_calls, outgoing_call) + outgoing_call = null + + for(var/I in holo_calls) + var/datum/holocall/HC = I + HC.ConnectionFailure(src) + LAZYCLEARLIST(holo_calls) + + for (var/I in masters) + clear_holo(I) + holopads -= src + return ..() + /obj/machinery/hologram/holopad/RefreshParts() var/holograph_range = 4 for(var/obj/item/weapon/stock_parts/capacitor/B in component_parts) @@ -68,7 +95,7 @@ var/list/holopads = list() default_deconstruction_crowbar(P) -/obj/machinery/hologram/holopad/attack_hand(var/mob/living/carbon/human/user) //Carn: Hologram requests. +/obj/machinery/hologram/holopad/attack_hand(var/mob/living/carbon/human/user) //Carn: hologram requests. if(!istype(user)) return if(alert(user,"Would you like to request an AI's presence?",,"Yes","No") == "Yes") @@ -82,184 +109,308 @@ var/list/holopads = list() else to_chat(user, "A request for AI presence was already sent recently.") -/obj/machinery/hologram/holopad/attack_ai(mob/living/silicon/ai/user) +/obj/machinery/hologram/holopad/proc/CheckCallClose() + for(var/I in holo_calls) + var/datum/holocall/HC = I + if(usr == HC.eye) + HC.Disconnect(HC.calling_holopad) //disconnect via clicking the called holopad + return TRUE + return FALSE + +/obj/machinery/hologram/holopad/Click(location,control,params) + if(!CheckCallClose()) + return ..() + +/obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user) + if(!CheckCallClose()) + interact(user) + +/obj/machinery/hologram/holopad/interact(mob/living/carbon/human/user) //Carn: hologram requests. if(!istype(user)) return + + if(outgoing_call || user.incapacitated() || !(stat & NOPOWER)) + return + + user.set_machine(src) + var/dat + if(temp) + dat = temp + else + dat = "Request an AI's presence.
" + dat += "Call another holopad.
" + + if(LAZYLEN(holo_calls)) + dat += "=====================================================
" + + var/one_answered_call = FALSE + var/one_unanswered_call = FALSE + for(var/I in holo_calls) + var/datum/holocall/HC = I + if(HC.connected_holopad != src) + dat += "Answer call from [get_area(HC.calling_holopad)].
" + one_unanswered_call = TRUE + else + one_answered_call = TRUE + + if(one_answered_call && one_unanswered_call) + dat += "=====================================================
" + //we loop twice for formatting + for(var/I in holo_calls) + var/datum/holocall/HC = I + if(HC.connected_holopad == src) + dat += "Disconnect call from [HC.user].
" + + + var/datum/browser/popup = new(user, "holopad", name, 300, 130) + popup.set_content(dat) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open() + +/obj/machinery/hologram/holopad/Topic(href, href_list) + if(..() || isAI(usr)) + return + add_fingerprint(usr) + if(!(stat & NOPOWER)) + return + if (href_list["AIrequest"]) + if(last_request + 200 < world.time) + last_request = world.time + temp = "You requested an AI's presence.
" + temp += "Main Menu" + var/area/area = get_area(src) + for(var/mob/living/silicon/ai/AI in ai_list) + if(!AI.client) + continue + to_chat(AI, "Your presence is requested at \the [area].") + else + temp = "A request for AI presence was already sent recently.
" + temp += "Main Menu" + + else if(href_list["Holocall"]) + if(outgoing_call) + return + + temp = "You must stand on the holopad to make a call!
" + temp += "Main Menu" + if(usr.loc == loc) + var/list/callnames = list() + for(var/I in holopads) + var/area/A = get_area(I) + if(A) + LAZYADD(callnames[A], I) + callnames -= get_area(src) + + var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in callnames + if(qdeleted(usr) || !result || outgoing_call) + return + + if(usr.loc == loc) + temp = "Dialing...
" + temp += "Main Menu" + new /datum/holocall(usr, src, callnames[result]) + + else if(href_list["connectcall"]) + var/datum/holocall/call_to_connect = locate(href_list["connectcall"]) + if(!qdeleted(call_to_connect)) + call_to_connect.Answer(src) + temp = "" + + else if(href_list["disconnectcall"]) + var/datum/holocall/call_to_disconnect = locate(href_list["disconnectcall"]) + if(!qdeleted(call_to_disconnect)) + call_to_disconnect.Disconnect(src) + temp = "" + + else if(href_list["mainmenu"]) + temp = "" + if(outgoing_call) + outgoing_call.Disconnect() + + updateDialog() + +//do not allow AIs to answer calls or people will use it to meta the AI sattelite +/obj/machinery/hologram/holopad/attack_ai(mob/living/silicon/ai/user) + if (!istype(user)) + return /*There are pretty much only three ways to interact here. I don't need to check for client since they're clicking on an object. This may change in the future but for now will suffice.*/ if(user.eyeobj.loc != src.loc)//Set client eye on the object if it's not already. user.eyeobj.setLoc(get_turf(src)) - else if(!hologram)//If there is no hologram, possibly make one. + else if(!masters[user])//If there is no hologram, possibly make one. activate_holo(user, 0) - else if(master == user)//If there is a hologram, remove it. But only if the user is the master. Otherwise do nothing. - clear_holo() - return + else//If there is a hologram, remove it. + clear_holo(user) -/obj/machinery/hologram/holopad/proc/activate_holo(mob/living/silicon/ai/user, var/force = 0) - if(!force && user.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain +/obj/machinery/hologram/holopad/process() + for(var/I in masters) + var/mob/living/master = I + var/mob/living/silicon/ai/AI = master + if(!istype(AI)) + AI = null + + if(!qdeleted(master) && !master.incapacitated() && master.client && (!AI || AI.eyeobj))//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. + if(!(stat & NOPOWER))//If the machine has power. + if(AI) //ais are range based + if((HOLOPAD_MODE == 0 && (get_dist(AI.eyeobj, src) <= holo_range))) + return 1 + + else if(HOLOPAD_MODE == 1) + + var/area/holo_area = get_area(src) + var/area/eye_area = get_area(AI.eyeobj) + + if(eye_area != holo_area) + return 1 + + else + var/turf/target_turf = get_turf(AI.eyeobj) + //var/newdir = hologram.dir + clear_holo()//If not, we want to get rid of the hologram. + var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) + if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) + if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) + pad_close.activate_holo(AI, 1) + if(pad_close.masters[src]) + pad_close.AI.forceMove(target_turf) + //pad_close.hologram.dir = newdir + else + continue + clear_holo(master)//If not, we want to get rid of the hologram. + + if(outgoing_call) + outgoing_call.Check() + + for(var/I in holo_calls) + var/datum/holocall/HC = I + if(HC.connected_holopad != src) + if(force_answer_call && world.time > (HC.call_start_time + (HOLOPAD_MAX_DIAL_TIME / 2))) + HC.Answer(src) + break + if(outgoing_call) + HC.Disconnect(src)//can't answer calls while calling + else + playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring! + +/obj/machinery/hologram/holopad/proc/move_hologram(mob/living/user, turf/new_turf) + if(masters[user]) + var/obj/effect/overlay/holo_pad_hologram/H = masters[user] + step_to(H, new_turf) + H.loc = new_turf + + return 1 + +/obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) + var/mob/living/silicon/ai/AI = user + if(!istype(AI)) + AI = null + + if(istype(AI) && !force && AI.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain to_chat(user, "ERROR: Unable to project hologram.") - else if(!(stat & NOPOWER))//If the projector has power - if(user.holo) - var/obj/machinery/hologram/holopad/current = user.holo - current.clear_holo() - if(!hologram)//If there is not already a hologram. + + if(!(stat & NOPOWER) && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it + if (AI && istype(AI.current, /obj/machinery/hologram/holopad)) + to_chat(user, "ERROR: \black Image feed in progress.") + return + + if(!masters[user])//If there is not already a hologram. create_holo(user)//Create one. - src.visible_message("A holographic image of [user] flicks to life right before your eyes!") - else - to_chat(user, "ERROR: Image feed in progress.") + visible_message("A holographic image of [user] flicks to life right before your eyes!") + else - to_chat(user, "ERROR: Unable to project hologram.") - return + to_chat(user, "ERROR: \black Unable to project hologram.") /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ -/obj/machinery/hologram/holopad/hear_talk(mob/living/M, text, verb, datum/language/speaking) - if(M && hologram && master)//Master is mostly a safety in case lag hits or something. - master.relay_speech(M, text, verb, speaking) +/obj/machinery/hologram/holopad/hear_talk(atom/movable/speaker, message, verb, datum/language/message_language) + if(speaker && masters.len)//Master is mostly a safety in case lag hits or something. Radio_freq so AIs dont hear holopad stuff through radios. + for(var/mob/living/silicon/ai/master in masters) + if(masters[master] && speaker != master) + master.relay_speech(speaker, message, verb, message_language) -/obj/machinery/hologram/holopad/hear_message(mob/living/M, text) - if(M&&hologram&&master)//Master is mostly a safety in case lag hits or something. - var/name_used = M.GetVoice() - var/rendered = "Holopad received, [name_used] [text]" - master.show_message(rendered, 2) - return + for(var/I in holo_calls) + var/datum/holocall/HC = I + if(HC.connected_holopad == src && speaker != HC.hologram) + HC.user.hear_message(speaker, message, verb, message_language)//< 16) hologram.dir = NORTH - else if(A.pixel_y < -16)hologram.dir = SOUTH - else if(A.pixel_x > 16) hologram.dir = EAST - else if(A.pixel_x < -16)hologram.dir = WEST - return - - if(abs(dx) < abs(dy)) - if(dy > 0) hologram.dir = NORTH - else hologram.dir = SOUTH - else - if(dx > 0) hologram.dir = EAST - else hologram.dir = WEST - -/* - * Hologram - */ - -/obj/machinery/hologram - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - var/obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. - -//Destruction procs. -/obj/machinery/hologram/ex_act(severity) - switch(severity) - if(1.0) - qdel(src) - if(2.0) - if(prob(50)) - qdel(src) - if(3.0) - if(prob(5)) - qdel(src) - return - -/obj/machinery/hologram/blob_act() - qdel(src) - return - -/obj/machinery/hologram/holopad/Destroy() - holopads -= src - if(hologram) - clear_holo() +/obj/effect/overlay/holo_pad_hologram/Destroy() + Impersonation = null + if(HC) + HC.Disconnect(HC.calling_holopad) return ..() -/* -Holographic project of everything else. +/obj/effect/overlay/holo_pad_hologram/Process_Spacemove(movement_dir = 0) + return 1 -/mob/verb/hologram_test() - set name = "Hologram Debug New" - set category = "CURRENT DEBUG" +/obj/effect/overlay/holo_pad_hologram/examine(mob/user) + if(Impersonation) + return Impersonation.examine(user) + return ..() - var/obj/effect/overlay/hologram = new(loc)//Spawn a blank effect at the location. - var/icon/flat_icon = icon(getFlatIcon(src,0))//Need to make sure it's a new icon so the old one is not reused. - flat_icon.ColorTone(rgb(125,180,225))//Let's make it bluish. - flat_icon.ChangeOpacity(0.5)//Make it half transparent. - var/input = input("Select what icon state to use in effect.",,"") - if(input) - var/icon/alpha_mask = new('icons/effects/effects.dmi', "[input]") - flat_icon.AddAlphaMask(alpha_mask)//Finally, let's mix in a distortion effect. - hologram.icon = flat_icon - to_chat(world, "Your icon should appear now.") - return -*/ /* * Other Stuff: Is this even used? @@ -269,3 +420,6 @@ Holographic project of everything else. desc = "It makes a hologram appear...with magnets or something..." icon = 'icons/obj/stationobjs.dmi' icon_state = "hologram0" + +#undef HOLOPAD_PASSIVE_POWER_USAGE +#undef HOLOGRAM_POWER_USAGE diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 71a2e6cba36..3f105fa8d4c 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -30,8 +30,9 @@ if(ai.client) ai.client.eye = src //Holopad - if(ai.holo) - ai.holo.move_hologram() + if(istype(ai.current, /obj/machinery/hologram/holopad)) + var/obj/machinery/hologram/holopad/H = ai.current + H.move_hologram(ai, T) /mob/camera/aiEye/Move() return 0 diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 7f25a743fc7..c91fbca3b76 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -75,8 +75,8 @@ if(!message) return - var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src)//If there is a hologram and its master is the user. + var/obj/machinery/holopad/T = current + if(istype(T) && T.masters[src]) //Human-like, sorta, heard by those who understand humans. var/rendered_a @@ -116,8 +116,8 @@ if(!message) return - var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src) + var/obj/machinery/holopad/T = current + if(istype(T) && T.masters[src]) var/rendered = "[name] [message]" to_chat(src, "Holopad action relayed, [real_name] [message]") @@ -129,8 +129,8 @@ return 1 /mob/living/silicon/ai/emote(var/act, var/type, var/message) - var/obj/machinery/hologram/holopad/T = src.holo - if(T && T.hologram && T.master == src) //Is the AI using a holopad? + var/obj/machinery/holopad/T = current + if(istype(T) && T.masters[src])//Is the AI using a holopad? src.holopad_emote(message) else //Emote normally, then. ..() diff --git a/paradise.dme b/paradise.dme index 2b1a4cf4eda..421e7b9daec 100644 --- a/paradise.dme +++ b/paradise.dme @@ -204,6 +204,7 @@ #include "code\datums\datacore.dm" #include "code\datums\datumvars.dm" #include "code\datums\gas_mixture.dm" +#include "code\datums\holocall.dm" #include "code\datums\hud.dm" #include "code\datums\material_container.dm" #include "code\datums\mind.dm" @@ -585,7 +586,6 @@ #include "code\game\machinery\computer\computer.dm" #include "code\game\machinery\computer\crew.dm" #include "code\game\machinery\computer\HolodeckControl.dm" -#include "code\game\machinery\computer\hologram.dm" #include "code\game\machinery\computer\honkputer.dm" #include "code\game\machinery\computer\law.dm" #include "code\game\machinery\computer\medical.dm" From d5c1428a6aaa650bdc0fc3487d0c58f0e1ff7741 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 13 May 2017 00:14:15 -0400 Subject: [PATCH 002/287] still got runtimes --- code/_onclick/ai.dm | 4 ++-- code/datums/holocall.dm | 12 ++++++------ code/game/machinery/hologram.dm | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 4e907975426..70f930ebf16 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -158,8 +158,8 @@ /atom/proc/AICtrlClick(var/mob/living/silicon/ai/user) if(user.holo) - var/obj/machinery/hologram/holopad/H = user.holo - H.face_atom(src)//runtime + var/obj/effect/overlay/holo_pad_hologram/H = user.holo + H.face_atom(src) return /obj/machinery/door/airlock/AICtrlClick() // Bolts doors diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 1ef623179a5..7c5b0d1856a 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -33,7 +33,7 @@ LAZYADD(H.holo_calls, src) if(!dialed_holopads.len) - calling_holopad.visible_message("Connection failure.") + calling_holopad.atom_say("Connection failure.") qdel(src) return @@ -70,9 +70,9 @@ /datum/holocall/proc/Disconnect(obj/machinery/hologram/holopad/H) testing("Holocall disconnect") if(H == connected_holopad) - calling_holopad.visible_message("[usr] disconnected.") + calling_holopad.atom_say("[usr] disconnected.") else if(H == calling_holopad && connected_holopad) - connected_holopad.visible_message("[usr] disconnected.") + connected_holopad.atom_say("[usr] disconnected.") ConnectionFailure(H, TRUE) @@ -81,7 +81,7 @@ testing("Holocall connection failure: graceful [graceful]") if(H == connected_holopad || H == calling_holopad) if(!graceful) - calling_holopad.visible_message("Connection failure.") + calling_holopad.atom_say("Connection failure.") qdel(src) return @@ -89,7 +89,7 @@ dialed_holopads -= H if(!dialed_holopads.len) if(graceful) - calling_holopad.visible_message("Call rejected.") + calling_holopad.atom_say("Call rejected.") log_debug("No recipients, terminating") qdel(src) @@ -151,7 +151,7 @@ else . = world.time < (call_start_time + HOLOPAD_MAX_DIAL_TIME) if(!.) - calling_holopad.visible_message("No answer recieved.") + calling_holopad.atom_say("No answer recieved.") calling_holopad.temp = "" if(!.) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 966ba88ed23..51fd1f088d1 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -266,15 +266,15 @@ var/list/holopads = list() else var/turf/target_turf = get_turf(AI.eyeobj) - //var/newdir = hologram.dir + var/newdir = AI.holo.dir clear_holo()//If not, we want to get rid of the hologram. var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) pad_close.activate_holo(AI, 1) if(pad_close.masters[src]) - pad_close.AI.forceMove(target_turf) - //pad_close.hologram.dir = newdir + pad_close.AI.holo.forceMove(target_turf) + pad_close.AI.holo.dir = newdir//runtime else continue clear_holo(master)//If not, we want to get rid of the hologram. @@ -332,10 +332,10 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad == src && speaker != HC.hologram) - HC.user.hear_message(speaker, message, verb, message_language)//< Date: Sun, 14 May 2017 00:08:21 -0400 Subject: [PATCH 003/287] still runtimes --- code/game/machinery/hologram.dm | 21 ++++++++++----------- code/modules/mob/living/silicon/say.dm | 6 +++--- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 51fd1f088d1..30654a1c755 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -264,17 +264,16 @@ var/list/holopads = list() if(eye_area != holo_area) return 1 - else - var/turf/target_turf = get_turf(AI.eyeobj) - var/newdir = AI.holo.dir - clear_holo()//If not, we want to get rid of the hologram. - var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) - if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) - if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) - pad_close.activate_holo(AI, 1) - if(pad_close.masters[src]) - pad_close.AI.holo.forceMove(target_turf) - pad_close.AI.holo.dir = newdir//runtime + var/turf/target_turf = get_turf(AI.eyeobj) + var/newdir = AI.holo.dir + clear_holo()//If not, we want to get rid of the hologram. + var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) + if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) + if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) + pad_close.activate_holo(AI, 1) + if(pad_close.masters[src]) + pad_close.hologram.forceMove(target_turf) + pad_close.hologram.dir = newdir//runtime else continue clear_holo(master)//If not, we want to get rid of the hologram. diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index c91fbca3b76..0928769d24b 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -75,7 +75,7 @@ if(!message) return - var/obj/machinery/holopad/T = current + var/obj/machinery/hologram/holopad/T = current if(istype(T) && T.masters[src]) //Human-like, sorta, heard by those who understand humans. @@ -116,7 +116,7 @@ if(!message) return - var/obj/machinery/holopad/T = current + var/obj/machinery/hologram/holopad/T = current if(istype(T) && T.masters[src]) var/rendered = "[name] [message]" to_chat(src, "Holopad action relayed, [real_name] [message]") @@ -129,7 +129,7 @@ return 1 /mob/living/silicon/ai/emote(var/act, var/type, var/message) - var/obj/machinery/holopad/T = current + var/obj/machinery/hologram/holopad/T = current if(istype(T) && T.masters[src])//Is the AI using a holopad? src.holopad_emote(message) else //Emote normally, then. From d7fbd233117340ee41c7289ce472090b9f33121c Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 14 May 2017 01:11:15 -0400 Subject: [PATCH 004/287] missed a proc --- code/game/machinery/hologram.dm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 30654a1c755..404ec5dca76 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -274,8 +274,7 @@ var/list/holopads = list() if(pad_close.masters[src]) pad_close.hologram.forceMove(target_turf) pad_close.hologram.dir = newdir//runtime - else - continue + clear_holo(master)//If not, we want to get rid of the hologram. if(outgoing_call) @@ -390,7 +389,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ SetLightsAndPower() return TRUE - /obj/effect/overlay/holo_pad_hologram var/mob/living/Impersonation var/datum/holocall/HC @@ -409,8 +407,23 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return Impersonation.examine(user) return ..() +/obj/effect/overlay/holo_pad_hologram/proc/face_atom(var/atom/A) + if( !hologram || !A || !hologram.x || !hologram.y || !A.x || !A.y ) return + var/dx = A.x - hologram.x + var/dy = A.y - hologram.y + if(!dx && !dy) // Wall items are graphically shifted but on the floor + if(A.pixel_y > 16) hologram.dir = NORTH + else if(A.pixel_y < -16)hologram.dir = SOUTH + else if(A.pixel_x > 16) hologram.dir = EAST + else if(A.pixel_x < -16)hologram.dir = WEST + return - + if(abs(dx) < abs(dy)) + if(dy > 0) hologram.dir = NORTH + else hologram.dir = SOUTH + else + if(dx > 0) hologram.dir = EAST + else hologram.dir = WEST /* * Other Stuff: Is this even used? */ From f6371a8fcb2ed7c6145d4dd96f85690d41b3312f Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 14 May 2017 02:34:25 -0400 Subject: [PATCH 005/287] well it compiles --- code/game/machinery/hologram.dm | 61 ++++++++++++++------------------- 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 404ec5dca76..067dc6a6340 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -95,20 +95,6 @@ var/list/holopads = list() default_deconstruction_crowbar(P) -/obj/machinery/hologram/holopad/attack_hand(var/mob/living/carbon/human/user) //Carn: hologram requests. - if(!istype(user)) - return - if(alert(user,"Would you like to request an AI's presence?",,"Yes","No") == "Yes") - if(last_request + 200 < world.time) //don't spam the AI with requests you jerk! - last_request = world.time - to_chat(user, "You request an AI's presence.") - var/area/area = get_area(src) - for(var/mob/living/silicon/ai/AI in living_mob_list) - if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") - else - to_chat(user, "A request for AI presence was already sent recently.") - /obj/machinery/hologram/holopad/proc/CheckCallClose() for(var/I in holo_calls) var/datum/holocall/HC = I @@ -117,18 +103,13 @@ var/list/holopads = list() return TRUE return FALSE -/obj/machinery/hologram/holopad/Click(location,control,params) - if(!CheckCallClose()) - return ..() - -/obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user) - if(!CheckCallClose()) - interact(user) - -/obj/machinery/hologram/holopad/interact(mob/living/carbon/human/user) //Carn: hologram requests. +/obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) //Carn: hologram requests. if(!istype(user)) return + if(!CheckCallClose()) + return + if(outgoing_call || user.incapacitated() || !(stat & NOPOWER)) return @@ -272,8 +253,8 @@ var/list/holopads = list() if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) pad_close.activate_holo(AI, 1) if(pad_close.masters[src]) - pad_close.hologram.forceMove(target_turf) - pad_close.hologram.dir = newdir//runtime + outgoing_call.hologram.forceMove(target_turf) + outgoing_call.hologram.dir = newdir//runtime clear_holo(master)//If not, we want to get rid of the hologram. @@ -408,22 +389,30 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return ..() /obj/effect/overlay/holo_pad_hologram/proc/face_atom(var/atom/A) - if( !hologram || !A || !hologram.x || !hologram.y || !A.x || !A.y ) return - var/dx = A.x - hologram.x - var/dy = A.y - hologram.y + if( !HC.hologram || !A || !HC.hologram.x || !HC.hologram.y || !A.x || !A.y ) return + var/dx = A.x - HC.hologram.x + var/dy = A.y - HC.hologram.y if(!dx && !dy) // Wall items are graphically shifted but on the floor - if(A.pixel_y > 16) hologram.dir = NORTH - else if(A.pixel_y < -16)hologram.dir = SOUTH - else if(A.pixel_x > 16) hologram.dir = EAST - else if(A.pixel_x < -16)hologram.dir = WEST + if(A.pixel_y > 16) + HC.hologram.dir = NORTH + else if(A.pixel_y < -16) + HC.hologram.dir = SOUTH + else if(A.pixel_x > 16) + HC.hologram.dir = EAST + else if(A.pixel_x < -16) + HC.hologram.dir = WEST return if(abs(dx) < abs(dy)) - if(dy > 0) hologram.dir = NORTH - else hologram.dir = SOUTH + if(dy > 0) + HC.hologram.dir = NORTH + else + HC.hologram.dir = SOUTH else - if(dx > 0) hologram.dir = EAST - else hologram.dir = WEST + if(dx > 0) + HC.hologram.dir = EAST + else + HC.hologram.dir = WEST /* * Other Stuff: Is this even used? */ From c070fe878c30fb4fd0c2fe6c8d90492f02bec9be Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 14 May 2017 20:30:36 -0400 Subject: [PATCH 006/287] sigh --- code/game/machinery/hologram.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 067dc6a6340..2214062b8de 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -110,7 +110,7 @@ var/list/holopads = list() if(!CheckCallClose()) return - if(outgoing_call || user.incapacitated() || !(stat & NOPOWER)) + if(outgoing_call || user.incapacitated() || (stat & NOPOWER)) return user.set_machine(src) @@ -152,7 +152,7 @@ var/list/holopads = list() if(..() || isAI(usr)) return add_fingerprint(usr) - if(!(stat & NOPOWER)) + if(stat & NOPOWER) return if (href_list["AIrequest"]) if(last_request + 200 < world.time) @@ -247,7 +247,7 @@ var/list/holopads = list() var/turf/target_turf = get_turf(AI.eyeobj) var/newdir = AI.holo.dir - clear_holo()//If not, we want to get rid of the hologram. + clear_holo(master)//If not, we want to get rid of the hologram. var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) From a0ee31837a61e2d1961ed2c7f1e9008f9ff5ea82 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 15 May 2017 04:47:46 -0400 Subject: [PATCH 007/287] thanks false --- code/datums/holocall.dm | 13 +------ code/game/machinery/hologram.dm | 67 ++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 7c5b0d1856a..eca3e6f9d0b 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -28,7 +28,7 @@ for(var/I in callees) var/obj/machinery/hologram/holopad/H = I - if(!qdeleted(H) && !(H.stat & NOPOWER)) + if(!qdeleted(H))// && !(H.stat & NOPOWER)) dialed_holopads += H LAZYADD(H.holo_calls, src) @@ -37,8 +37,6 @@ qdel(src) return - log_debug("Holocall started") - //cleans up ALL references :) /datum/holocall/Destroy() QDEL_NULL(eye) @@ -62,13 +60,10 @@ connected_holopad.SetLightsAndPower() connected_holopad = null - log_debug("Holocall destroyed") - return ..() //Gracefully disconnects a holopad `H` from a call. Pads not in the call are ignored. Notifies participants of the disconnection /datum/holocall/proc/Disconnect(obj/machinery/hologram/holopad/H) - testing("Holocall disconnect") if(H == connected_holopad) calling_holopad.atom_say("[usr] disconnected.") else if(H == calling_holopad && connected_holopad) @@ -78,7 +73,6 @@ //Forcefully disconnects a holopad `H` from a call. Pads not in the call are ignored. /datum/holocall/proc/ConnectionFailure(obj/machinery/hologram/holopad/H, graceful = FALSE) - testing("Holocall connection failure: graceful [graceful]") if(H == connected_holopad || H == calling_holopad) if(!graceful) calling_holopad.atom_say("Connection failure.") @@ -90,12 +84,10 @@ if(!dialed_holopads.len) if(graceful) calling_holopad.atom_say("Call rejected.") - log_debug("No recipients, terminating") qdel(src) //Answers a call made to a holopad `H` which cannot be the calling holopad. Pads not in the call are ignored /datum/holocall/proc/Answer(obj/machinery/hologram/holopad/H) - testing("Holocall answer") if(H == calling_holopad) CRASH("How cute, a holopad tried to answer itself.") @@ -137,7 +129,7 @@ /datum/holocall/proc/Check() for(var/I in dialed_holopads) var/obj/machinery/hologram/holopad/H = I - if(!(H.stat & NOPOWER)) + if((H.stat & NOPOWER)) ConnectionFailure(H) if(qdeleted(src)) @@ -155,5 +147,4 @@ calling_holopad.temp = "" if(!.) - log_debug("Holocall Check fail") qdel(src) \ No newline at end of file diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 2214062b8de..22f72ff773b 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -103,17 +103,21 @@ var/list/holopads = list() return TRUE return FALSE -/obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) //Carn: hologram requests. - if(!istype(user)) +/obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) + + if(..()) return - if(!CheckCallClose()) - return - - if(outgoing_call || user.incapacitated() || (stat & NOPOWER)) + if(CheckCallClose() || outgoing_call) return user.set_machine(src) + interact(user) + +/obj/machinery/hologram/holopad/interact(mob/living/carbon/human/user) //Carn: hologram requests. + if(!istype(user)) + return + var/dat if(temp) dat = temp @@ -183,6 +187,7 @@ var/list/holopads = list() callnames -= get_area(src) var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in callnames + if(qdeleted(usr) || !result || outgoing_call) return @@ -254,8 +259,10 @@ var/list/holopads = list() pad_close.activate_holo(AI, 1) if(pad_close.masters[src]) outgoing_call.hologram.forceMove(target_turf) - outgoing_call.hologram.dir = newdir//runtime - + outgoing_call.hologram.dir = newdir + continue + else + continue clear_holo(master)//If not, we want to get rid of the hologram. if(outgoing_call) @@ -289,14 +296,33 @@ var/list/holopads = list() to_chat(user, "ERROR: Unable to project hologram.") if(!(stat & NOPOWER) && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it - if (AI && istype(AI.current, /obj/machinery/hologram/holopad)) + if(AI && istype(AI.current, /obj/machinery/hologram/holopad)) to_chat(user, "ERROR: \black Image feed in progress.") return + var/obj/effect/overlay/holo_pad_hologram/hologram = new(loc)//Spawn a blank effect at the location. + if(isAI(user)) + hologram.icon = AI.holo_icon + else //make it like real life + hologram.icon = getHologramIcon(get_id_photo(user)) + hologram.icon_state = user.icon_state + hologram.alpha = 100 + hologram.Impersonation = user + + //hologram.languages = user.languages + hologram.mouse_opacity = 0//So you can't click on it. + hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. + hologram.anchored = 1//So space wind cannot drag it. + hologram.name = "[user.name] (hologram)"//If someone decides to right click. + hologram.set_light(2) //hologram lighting + + set_holo(user, hologram) + if(!masters[user])//If there is not already a hologram. - create_holo(user)//Create one. visible_message("A holographic image of [user] flicks to life right before your eyes!") + return hologram + else to_chat(user, "ERROR: \black Unable to project hologram.") @@ -336,27 +362,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ SetLightsAndPower() return TRUE -/obj/machinery/hologram/holopad/proc/create_holo(mob/living/user, turf/T = loc) - var/obj/effect/overlay/holo_pad_hologram/hologram = new(loc)//Spawn a blank effect at the location. - if(isAI(user)) - var/mob/living/silicon/ai/AI = user - hologram.icon = AI.holo_icon - else //make it like real life - hologram.icon = user.icon - hologram.icon_state = user.icon_state - hologram.alpha = 100 - hologram.Impersonation = user - - //hologram.languages = user.languages - hologram.mouse_opacity = 0//So you can't click on it. - hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. - hologram.anchored = 1//So space wind cannot drag it. - hologram.name = "[user.name] (hologram)"//If someone decides to right click. - hologram.set_light(2) //hologram lighting - - set_holo(user, hologram) - return 1 - /obj/machinery/hologram/holopad/proc/clear_holo(mob/living/user) qdel(masters[user]) // Get rid of user's hologram unset_holo(user) From ad43927c4f2de9de0aaa4527f506a476a4c3311c Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 17 May 2017 04:31:47 -0400 Subject: [PATCH 008/287] Damn you eyeobj --- code/__HELPERS/unsorted.dm | 4 +- code/_onclick/ai.dm | 3 -- code/datums/holocall.dm | 1 + code/game/machinery/hologram.dm | 70 +++++++++------------------------ 4 files changed, 21 insertions(+), 57 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 82b2ea8b419..22d6bfcf6aa 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1742,7 +1742,7 @@ var/mob/dview/dview_mob = new if(!istype(A, type)) continue var/distance = get_dist(source, A) - if(!closest_distance) + if(!closest_atom) closest_distance = distance closest_atom = A else @@ -1891,4 +1891,4 @@ var/global/list/g_fancy_list_of_types = null var/num = pick(num_sample) num_sample -= num result += (1 << num) - return result + return result diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 70f930ebf16..f817c99a717 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -157,9 +157,6 @@ return /atom/proc/AICtrlClick(var/mob/living/silicon/ai/user) - if(user.holo) - var/obj/effect/overlay/holo_pad_hologram/H = user.holo - H.face_atom(src) return /obj/machinery/door/airlock/AICtrlClick() // Bolts doors diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index eca3e6f9d0b..90c504d634b 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -122,6 +122,7 @@ eye.eye_user = user eye.name = "Camera Eye ([user.name])" user.remote_control = eye + user.remote_view = 1 user.reset_perspective(eye) eye.setLoc(H.loc) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 22f72ff773b..9c4167bfb8e 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -29,8 +29,9 @@ Possible to do for anyone motivated enough: // 1 = AREA BASED #define HOLOPAD_PASSIVE_POWER_USAGE 1 #define HOLOGRAM_POWER_USAGE 2 +#define RANGE_BASED 4 -var/const/HOLOPAD_MODE = 0 +var/const/HOLOPAD_MODE = RANGE_BASED var/list/holopads = list() @@ -225,7 +226,7 @@ var/list/holopads = list() if(user.eyeobj.loc != src.loc)//Set client eye on the object if it's not already. user.eyeobj.setLoc(get_turf(src)) else if(!masters[user])//If there is no hologram, possibly make one. - activate_holo(user, 0) + activate_holo(user, 1) else//If there is a hologram, remove it. clear_holo(user) @@ -239,28 +240,15 @@ var/list/holopads = list() if(!qdeleted(master) && !master.incapacitated() && master.client && (!AI || AI.eyeobj))//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. if(!(stat & NOPOWER))//If the machine has power. if(AI) //ais are range based - if((HOLOPAD_MODE == 0 && (get_dist(AI.eyeobj, src) <= holo_range))) - return 1 - - else if(HOLOPAD_MODE == 1) - - var/area/holo_area = get_area(src) - var/area/eye_area = get_area(AI.eyeobj) - - if(eye_area != holo_area) - return 1 - - var/turf/target_turf = get_turf(AI.eyeobj) - var/newdir = AI.holo.dir - clear_holo(master)//If not, we want to get rid of the hologram. - var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) - if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) - if(!(pad_close.stat & NOPOWER) && !pad_close.masters[src]) - pad_close.activate_holo(AI, 1) - if(pad_close.masters[src]) - outgoing_call.hologram.forceMove(target_turf) - outgoing_call.hologram.dir = newdir - continue + if(get_dist(AI.eyeobj, src) <= holo_range) + continue + else + var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) + if(get_dist(pad_close, AI.eyeobj) <= holo_range) + var/obj/effect/overlay/holo_pad_hologram/h = masters[master] + unset_holo(master) + pad_close.set_holo(master, h) + continue else continue clear_holo(master)//If not, we want to get rid of the hologram. @@ -284,7 +272,11 @@ var/list/holopads = list() var/obj/effect/overlay/holo_pad_hologram/H = masters[user] step_to(H, new_turf) H.loc = new_turf + var/area/holo_area = get_area(src) + var/area/eye_area = new_turf.loc + if(eye_area != holo_area) + clear_holo(user) return 1 /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) @@ -292,10 +284,9 @@ var/list/holopads = list() if(!istype(AI)) AI = null - if(istype(AI) && !force && AI.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain + if(AI && !force && AI.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain to_chat(user, "ERROR: Unable to project hologram.") - - if(!(stat & NOPOWER) && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it + else if(!(stat & NOPOWER) && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it if(AI && istype(AI.current, /obj/machinery/hologram/holopad)) to_chat(user, "ERROR: \black Image feed in progress.") return @@ -393,31 +384,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return Impersonation.examine(user) return ..() -/obj/effect/overlay/holo_pad_hologram/proc/face_atom(var/atom/A) - if( !HC.hologram || !A || !HC.hologram.x || !HC.hologram.y || !A.x || !A.y ) return - var/dx = A.x - HC.hologram.x - var/dy = A.y - HC.hologram.y - if(!dx && !dy) // Wall items are graphically shifted but on the floor - if(A.pixel_y > 16) - HC.hologram.dir = NORTH - else if(A.pixel_y < -16) - HC.hologram.dir = SOUTH - else if(A.pixel_x > 16) - HC.hologram.dir = EAST - else if(A.pixel_x < -16) - HC.hologram.dir = WEST - return - - if(abs(dx) < abs(dy)) - if(dy > 0) - HC.hologram.dir = NORTH - else - HC.hologram.dir = SOUTH - else - if(dx > 0) - HC.hologram.dir = EAST - else - HC.hologram.dir = WEST /* * Other Stuff: Is this even used? */ From bbe2748f41b785f71d710883424243fbf9cdf52a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 17 May 2017 12:48:34 -0400 Subject: [PATCH 009/287] derp --- code/game/machinery/hologram.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 9c4167bfb8e..d7e6ba10079 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -245,9 +245,8 @@ var/list/holopads = list() else var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= holo_range) - var/obj/effect/overlay/holo_pad_hologram/h = masters[master] unset_holo(master) - pad_close.set_holo(master, h) + activate_holo(master, 1) continue else continue From 5a23f2734f9ee5ac67bf71228c6d3142ea615abc Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 23 May 2017 02:00:40 -0400 Subject: [PATCH 010/287] try this --- code/__HELPERS/unsorted.dm | 2 +- code/datums/holocall.dm | 4 ++-- code/game/machinery/hologram.dm | 32 +++++++++++++++++--------------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 22d6bfcf6aa..ae72f8b012f 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1742,7 +1742,7 @@ var/mob/dview/dview_mob = new if(!istype(A, type)) continue var/distance = get_dist(source, A) - if(!closest_atom) + if(!closest_distance) closest_distance = distance closest_atom = A else diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 90c504d634b..afbb17e9ac2 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -116,7 +116,7 @@ hologram.HC = src //eyeobj code is horrid, this is the best copypasta I could make - eye = new + eye = new() eye.origin = H eye.eye_initialized = TRUE eye.eye_user = user @@ -124,7 +124,7 @@ user.remote_control = eye user.remote_view = 1 user.reset_perspective(eye) - eye.setLoc(H.loc) + eye.setLoc(eye.loc) //Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise /datum/holocall/proc/Check() diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index d7e6ba10079..884c19185b1 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -29,9 +29,8 @@ Possible to do for anyone motivated enough: // 1 = AREA BASED #define HOLOPAD_PASSIVE_POWER_USAGE 1 #define HOLOGRAM_POWER_USAGE 2 -#define RANGE_BASED 4 -var/const/HOLOPAD_MODE = RANGE_BASED +var/const/HOLOPAD_MODE = 0 var/list/holopads = list() @@ -240,14 +239,21 @@ var/list/holopads = list() if(!qdeleted(master) && !master.incapacitated() && master.client && (!AI || AI.eyeobj))//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. if(!(stat & NOPOWER))//If the machine has power. if(AI) //ais are range based - if(get_dist(AI.eyeobj, src) <= holo_range) - continue + if(HOLOPAD_MODE == 0) + if(get_dist(AI.eyeobj, src) <= holo_range) + return 1 else - var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) - if(get_dist(pad_close, AI.eyeobj) <= holo_range) - unset_holo(master) - activate_holo(master, 1) - continue + var/area/holo_area = get_area(src) + var/area/eye_area = get_area(AI.eyeobj) + + if(eye_area != holo_area) + clear_holo(master) + return 1 + + var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) + if(get_dist(pad_close, AI.eyeobj) <= holo_range) + unset_holo(AI) + pad_close.activate_holo(AI, 1) else continue clear_holo(master)//If not, we want to get rid of the hologram. @@ -270,12 +276,7 @@ var/list/holopads = list() if(masters[user]) var/obj/effect/overlay/holo_pad_hologram/H = masters[user] step_to(H, new_turf) - H.loc = new_turf - var/area/holo_area = get_area(src) - var/area/eye_area = new_turf.loc - - if(eye_area != holo_area) - clear_holo(user) + H.forceMove(new_turf) return 1 /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) @@ -315,6 +316,7 @@ var/list/holopads = list() else to_chat(user, "ERROR: \black Unable to project hologram.") + return /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ From edc3818001acaa4898244f550f5bfed7e72dc06e Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 23 May 2017 02:21:01 -0400 Subject: [PATCH 011/287] i might need to do this also... --- code/game/machinery/hologram.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 884c19185b1..2388666f555 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -252,7 +252,7 @@ var/list/holopads = list() var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= holo_range) - unset_holo(AI) + pad_close.unset_holo(AI) pad_close.activate_holo(AI, 1) else continue From 697578d83fd30e0450e8b231334081abc4afb125 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 24 May 2017 03:48:41 -0400 Subject: [PATCH 012/287] changes --- code/game/machinery/hologram.dm | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 2388666f555..76183b007e7 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -29,8 +29,10 @@ Possible to do for anyone motivated enough: // 1 = AREA BASED #define HOLOPAD_PASSIVE_POWER_USAGE 1 #define HOLOGRAM_POWER_USAGE 2 +#define RANGE_BASED 0 +#define AREA_BASED 1 -var/const/HOLOPAD_MODE = 0 +var/const/HOLOPAD_MODE = RANGE_BASED var/list/holopads = list() @@ -197,13 +199,13 @@ var/list/holopads = list() new /datum/holocall(usr, src, callnames[result]) else if(href_list["connectcall"]) - var/datum/holocall/call_to_connect = locate(href_list["connectcall"]) + var/datum/holocall/call_to_connect = locateUID("connectcall") if(!qdeleted(call_to_connect)) call_to_connect.Answer(src) temp = "" else if(href_list["disconnectcall"]) - var/datum/holocall/call_to_disconnect = locate(href_list["disconnectcall"]) + var/datum/holocall/call_to_disconnect = locateUID("disconnectcall") if(!qdeleted(call_to_disconnect)) call_to_disconnect.Disconnect(src) temp = "" @@ -217,7 +219,7 @@ var/list/holopads = list() //do not allow AIs to answer calls or people will use it to meta the AI sattelite /obj/machinery/hologram/holopad/attack_ai(mob/living/silicon/ai/user) - if (!istype(user)) + if(!istype(user)) return /*There are pretty much only three ways to interact here. I don't need to check for client since they're clicking on an object. @@ -237,12 +239,12 @@ var/list/holopads = list() AI = null if(!qdeleted(master) && !master.incapacitated() && master.client && (!AI || AI.eyeobj))//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. - if(!(stat & NOPOWER))//If the machine has power. + if(!(stat & NOPOWER))//If the machine has power if(AI) //ais are range based - if(HOLOPAD_MODE == 0) + if(HOLOPAD_MODE == RANGE_BASED) if(get_dist(AI.eyeobj, src) <= holo_range) - return 1 - else + continue + else if(HOLOPAD_MODE == AREA_BASED) var/area/holo_area = get_area(src) var/area/eye_area = get_area(AI.eyeobj) @@ -251,8 +253,8 @@ var/list/holopads = list() return 1 var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) - if(get_dist(pad_close, AI.eyeobj) <= holo_range) - pad_close.unset_holo(AI) + if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) + unset_holo(AI) pad_close.activate_holo(AI, 1) else continue @@ -276,18 +278,17 @@ var/list/holopads = list() if(masters[user]) var/obj/effect/overlay/holo_pad_hologram/H = masters[user] step_to(H, new_turf) - H.forceMove(new_turf) + H.loc = new_turf return 1 /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) var/mob/living/silicon/ai/AI = user if(!istype(AI)) AI = null - if(AI && !force && AI.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain to_chat(user, "ERROR: Unable to project hologram.") - else if(!(stat & NOPOWER) && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it - if(AI && istype(AI.current, /obj/machinery/hologram/holopad)) + if(!(stat & NOPOWER) && (!AI || force)) + if(AI && (istype(AI.current, /obj/machinery/hologram/holopad))) to_chat(user, "ERROR: \black Image feed in progress.") return @@ -315,8 +316,8 @@ var/list/holopads = list() return hologram else - to_chat(user, "ERROR: \black Unable to project hologram.") - return + to_chat(user, "ERROR: \black Hologram Projection Malfunction.") + clear_holo(user)//safety check /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ From 22f503b517d603b060d385fe1326d084d41b4305 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 25 May 2017 02:17:59 -0400 Subject: [PATCH 013/287] Well AIs work. --- code/datums/holocall.dm | 6 +++--- code/game/machinery/hologram.dm | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index afbb17e9ac2..13576cf68c7 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -123,8 +123,8 @@ eye.name = "Camera Eye ([user.name])" user.remote_control = eye user.remote_view = 1 - user.reset_perspective(eye) - eye.setLoc(eye.loc) + user.reset_perspective(get_turf(H)) + eye.setLoc(get_turf(H)) //Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise /datum/holocall/proc/Check() @@ -140,7 +140,7 @@ if(.) if(connected_holopad) - . = !qdeleted(connected_holopad) && !(calling_holopad.stat & NOPOWER) + . = !qdeleted(connected_holopad) && !(connected_holopad.stat & NOPOWER) else . = world.time < (call_start_time + HOLOPAD_MAX_DIAL_TIME) if(!.) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 76183b007e7..0800cf119a3 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -249,16 +249,16 @@ var/list/holopads = list() var/area/eye_area = get_area(AI.eyeobj) if(eye_area != holo_area) - clear_holo(master) return 1 var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) - unset_holo(AI) + clear_holo(AI) pad_close.activate_holo(AI, 1) else continue - clear_holo(master)//If not, we want to get rid of the hologram. + + clear_holo(master)//If is a non AI holo clear it. if(outgoing_call) outgoing_call.Check() From bba56fa1b88fe095939931699efbe5b7ca34d532 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 25 May 2017 03:23:06 -0400 Subject: [PATCH 014/287] welll that didn't work. --- code/datums/holocall.dm | 2 +- code/game/machinery/hologram.dm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 13576cf68c7..f88dfdf1bf9 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -123,7 +123,7 @@ eye.name = "Camera Eye ([user.name])" user.remote_control = eye user.remote_view = 1 - user.reset_perspective(get_turf(H)) + user.reset_perspective(eye) eye.setLoc(get_turf(H)) //Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 0800cf119a3..1a845f3496a 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -256,6 +256,7 @@ var/list/holopads = list() clear_holo(AI) pad_close.activate_holo(AI, 1) else + continue clear_holo(master)//If is a non AI holo clear it. From 4c0205c02185620c81b7262a8887edc2ee4001db Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 25 May 2017 12:08:53 -0400 Subject: [PATCH 015/287] shit works. --- code/datums/holocall.dm | 3 +++ code/game/machinery/hologram.dm | 18 +++++++++++------- code/modules/mob/living/carbon/human/life.dm | 3 ++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index f88dfdf1bf9..0bb793b0944 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -69,6 +69,8 @@ else if(H == calling_holopad && connected_holopad) connected_holopad.atom_say("[usr] disconnected.") + user.unset_machine(H) + ConnectionFailure(H, TRUE) //Forcefully disconnects a holopad `H` from a call. Pads not in the call are ignored. @@ -115,6 +117,7 @@ hologram = H.activate_holo(user) hologram.HC = src + user.unset_machine(H) //eyeobj code is horrid, this is the best copypasta I could make eye = new() eye.origin = H diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 1a845f3496a..4d04f7851a3 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -244,19 +244,16 @@ var/list/holopads = list() if(HOLOPAD_MODE == RANGE_BASED) if(get_dist(AI.eyeobj, src) <= holo_range) continue - else if(HOLOPAD_MODE == AREA_BASED) - var/area/holo_area = get_area(src) - var/area/eye_area = get_area(AI.eyeobj) - if(eye_area != holo_area) - return 1 + if(!(AI.current))//if the ai jumped to core + clear_holo(AI) + return 1 var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) clear_holo(AI) pad_close.activate_holo(AI, 1) else - continue clear_holo(master)//If is a non AI holo clear it. @@ -280,6 +277,13 @@ var/list/holopads = list() var/obj/effect/overlay/holo_pad_hologram/H = masters[user] step_to(H, new_turf) H.loc = new_turf + if(ishuman(user)) + var/area/holo_area = get_area(src) + var/area/eye_area = get_area(new_turf.loc) + + if(eye_area != holo_area) + clear_holo(user) + return 1 /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) @@ -302,7 +306,6 @@ var/list/holopads = list() hologram.alpha = 100 hologram.Impersonation = user - //hologram.languages = user.languages hologram.mouse_opacity = 0//So you can't click on it. hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. hologram.anchored = 1//So space wind cannot drag it. @@ -353,6 +356,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/mob/living/silicon/ai/AI = user if(istype(AI)) AI.current = src + h.forceMove(get_turf(AI.eyeobj)) SetLightsAndPower() return TRUE diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be265669b79..c48d03bd8ef 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -916,7 +916,8 @@ /mob/living/carbon/human/handle_vision() if(machine) - if(!machine.check_eye(src)) reset_perspective(null) + if(!machine.check_eye(src)) + reset_perspective(null) else var/isRemoteObserve = 0 if((REMOTE_VIEW in mutations) && remoteview_target) From 5c25ce80308033d5259c2a2ec5f2a754a6973b0a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 27 May 2017 11:54:23 -0400 Subject: [PATCH 016/287] needed to turn a debug var off. --- code/game/machinery/hologram.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 4d04f7851a3..a8bfec32a62 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -52,7 +52,7 @@ var/list/holopads = list() var/temp = "" var/list/holo_calls //array of /datum/holocalls var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs - var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging + var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() /obj/machinery/hologram/holopad/New() From fdbc57862222c112c455da6f02192e69861f1886 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 28 May 2017 02:20:52 -0400 Subject: [PATCH 017/287] Ai Holocall sanity. --- code/game/machinery/hologram.dm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index a8bfec32a62..d22d499e7f8 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -116,6 +116,20 @@ var/list/holopads = list() user.set_machine(src) interact(user) +/obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) + + if(..()) + return + if(isAI(user)) + hangup_all_calls() + return + +//Stop ringing the AI!! +/obj/machinery/hologram/holopad/proc/hangup_all_calls() + for(var/I in holo_calls) + var/datum/holocall/HC = I + HC.Disconnect(src) + /obj/machinery/hologram/holopad/interact(mob/living/carbon/human/user) //Carn: hologram requests. if(!istype(user)) return @@ -263,6 +277,11 @@ var/list/holopads = list() for(var/I in holo_calls) var/datum/holocall/HC = I + //Sanity check and skip if no longer valid call + if(!HC.Check()) + atom_say("Call was terminated at remote terminal.") + continue + if(HC.connected_holopad != src) if(force_answer_call && world.time > (HC.call_start_time + (HOLOPAD_MAX_DIAL_TIME / 2))) HC.Answer(src) From 88d97c87d8fbbd756c1fba802faaeba7b746dec1 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 29 May 2017 00:31:15 -0400 Subject: [PATCH 018/287] beepbeep --- code/datums/holocall.dm | 24 ++++++++++++++---------- code/game/machinery/hologram.dm | 14 ++++++++++---- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 0bb793b0944..9eb4bc1a3e7 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -39,14 +39,18 @@ //cleans up ALL references :) /datum/holocall/Destroy() + if(!qdeleted(user)) + user.reset_perspective() + if(user.client) + for(var/datum/camerachunk/chunk in eye.visibleCameraChunks) + chunk.remove(eye) + user.remote_control = null + user = null QDEL_NULL(eye) - user.reset_perspective() - - user = null - hologram.HC = null - hologram = null - calling_holopad.outgoing_call = null + if(hologram) + hologram.HC = null + hologram = null for(var/I in dialed_holopads) var/obj/machinery/hologram/holopad/H = I @@ -54,12 +58,14 @@ dialed_holopads.Cut() if(calling_holopad) + calling_holopad.outgoing_call = null calling_holopad.SetLightsAndPower() calling_holopad = null if(connected_holopad) connected_holopad.SetLightsAndPower() connected_holopad = null + return ..() //Gracefully disconnects a holopad `H` from a call. Pads not in the call are ignored. Notifies participants of the disconnection @@ -76,7 +82,7 @@ //Forcefully disconnects a holopad `H` from a call. Pads not in the call are ignored. /datum/holocall/proc/ConnectionFailure(obj/machinery/hologram/holopad/H, graceful = FALSE) if(H == connected_holopad || H == calling_holopad) - if(!graceful) + if(!graceful && H != calling_holopad) calling_holopad.atom_say("Connection failure.") qdel(src) return @@ -142,9 +148,7 @@ . = !qdeleted(user) && !user.incapacitated() && !qdeleted(calling_holopad) && !(calling_holopad.stat & NOPOWER) && user.loc == calling_holopad.loc if(.) - if(connected_holopad) - . = !qdeleted(connected_holopad) && !(connected_holopad.stat & NOPOWER) - else + if(!connected_holopad) . = world.time < (call_start_time + HOLOPAD_MAX_DIAL_TIME) if(!.) calling_holopad.atom_say("No answer recieved.") diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index d22d499e7f8..3a84d4abdc6 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -65,19 +65,25 @@ var/list/holopads = list() /obj/machinery/hologram/holopad/Destroy() if(outgoing_call) - LAZYADD(holo_calls, outgoing_call) - outgoing_call = null + outgoing_call.ConnectionFailure(src) for(var/I in holo_calls) var/datum/holocall/HC = I HC.ConnectionFailure(src) - LAZYCLEARLIST(holo_calls) for (var/I in masters) clear_holo(I) holopads -= src return ..() +/obj/machinery/hologram/holopad/power_change() + if (powered()) + stat &= ~NOPOWER + else + stat |= ~NOPOWER + if(outgoing_call) + outgoing_call.ConnectionFailure(src) + /obj/machinery/hologram/holopad/RefreshParts() var/holograph_range = 4 for(var/obj/item/weapon/stock_parts/capacitor/B in component_parts) @@ -116,7 +122,7 @@ var/list/holopads = list() user.set_machine(src) interact(user) -/obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) +/obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user) if(..()) return From 354ade88aa6ed84c176fc7685053ce024b046f92 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 23 Jun 2017 04:48:44 -0400 Subject: [PATCH 019/287] blargh --- code/game/machinery/hologram.dm | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 5bbca7ef22c..7fd68cac9b9 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -13,7 +13,6 @@ AI clicks again on the holopad to display a hologram. hologram stays as long as AI can use the directional keys to move the hologram around, provided the above conditions are met and the AI in question is the holopad's master. Only one AI may project from a holopad at any given time. AI may cancel the hologram at any time by clicking on the holopad once more. - Possible to do for anyone motivated enough: Give an AI variable for different hologram icons. Itegrate EMP effect to disable the unit. @@ -276,16 +275,6 @@ var/list/holopads = list() else continue -/obj/machinery/hologram/holopad/proc/clear_holo() -// hologram.set_light(0)//Clear lighting. //handled by the lighting controller when its ower is deleted - QDEL_NULL(hologram)//Get rid of hologram. - if(master.holo == src) - master.holo = null - master = null//Null the master, since no-one is using it now. - set_light(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) - icon_state = "holopad0" - use_power = 1//Passive power usage. - return 1 clear_holo(master)//If is a non AI holo clear it. if(outgoing_call) From 06a28a15d0237bd60fb5a812d2566b92c53e0d4f Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 17 Aug 2017 19:28:20 -0400 Subject: [PATCH 020/287] tiger changes. ONWARD TO MERGE UPDATE --- code/datums/holocall.dm | 4 ++-- code/game/machinery/hologram.dm | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 9eb4bc1a3e7..9c806089e81 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -97,13 +97,13 @@ //Answers a call made to a holopad `H` which cannot be the calling holopad. Pads not in the call are ignored /datum/holocall/proc/Answer(obj/machinery/hologram/holopad/H) if(H == calling_holopad) - CRASH("How cute, a holopad tried to answer itself.") + return if(!(H in dialed_holopads)) return if(connected_holopad) - CRASH("Multi-connection holocall") + return for(var/I in dialed_holopads) if(I == H) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 7fd68cac9b9..59f335ff8b3 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -70,13 +70,13 @@ var/list/holopads = list() var/datum/holocall/HC = I HC.ConnectionFailure(src) - for (var/I in masters) + for(var/I in masters) clear_holo(I) holopads -= src return ..() /obj/machinery/hologram/holopad/power_change() - if (powered()) + if(powered()) stat &= ~NOPOWER else stat |= ~NOPOWER @@ -111,7 +111,6 @@ var/list/holopads = list() return FALSE /obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) - if(..()) return @@ -122,7 +121,6 @@ var/list/holopads = list() interact(user) /obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user) - if(..()) return if(isAI(user)) From 7012b54817d2e23d184f37625b9049689ad4b75c Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 27 Aug 2017 22:38:05 -0400 Subject: [PATCH 021/287] Fixes and tried to add an action button --- code/datums/holocall.dm | 38 +++++++++++++++++++++++++++------ code/game/machinery/hologram.dm | 32 +++++++++++---------------- 2 files changed, 43 insertions(+), 27 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 9c806089e81..505e2f63243 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -15,6 +15,7 @@ var/mob/camera/aiEye/remote/holo/eye //user's eye, once connected var/obj/effect/overlay/holo_pad_hologram/hologram //user's hologram, once connected + var/datum/action/innate/end_holocall/hangup //hangup action var/call_start_time @@ -28,9 +29,10 @@ for(var/I in callees) var/obj/machinery/hologram/holopad/H = I - if(!qdeleted(H))// && !(H.stat & NOPOWER)) + if(!qdeleted(H) && !(H.stat & NOPOWER)) dialed_holopads += H LAZYADD(H.holo_calls, src) + H.atom_say("Incoming call from [caller]!") if(!dialed_holopads.len) calling_holopad.atom_say("Connection failure.") @@ -39,14 +41,21 @@ //cleans up ALL references :) /datum/holocall/Destroy() - if(!qdeleted(user)) + QDEL_NULL(hangup) + + var/user_good = !qdeleted(user) + if(user_good) user.reset_perspective() - if(user.client) + user.remote_control = null + + if(!qdeleted(eye)) + if(user_good && user.client) for(var/datum/camerachunk/chunk in eye.visibleCameraChunks) chunk.remove(eye) - user.remote_control = null - user = null - QDEL_NULL(eye) + qdel(eye) + eye = null + + user = null if(hologram) hologram.HC = null @@ -68,6 +77,7 @@ return ..() + //Gracefully disconnects a holopad `H` from a call. Pads not in the call are ignored. Notifies participants of the disconnection /datum/holocall/proc/Disconnect(obj/machinery/hologram/holopad/H) if(H == connected_holopad) @@ -135,6 +145,8 @@ user.reset_perspective(eye) eye.setLoc(get_turf(H)) + hangup = new(eye, src) + //Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise /datum/holocall/proc/Check() for(var/I in dialed_holopads) @@ -155,4 +167,16 @@ calling_holopad.temp = "" if(!.) - qdel(src) \ No newline at end of file + qdel(src) + +/datum/action/innate/end_holocall + name = "End Holocall" + button_icon_state = "camera_off" + var/datum/holocall/hcall + +/datum/action/innate/end_holocall/New(Target, datum/holocall/HC) + ..() + hcall = HC + +/datum/action/innate/end_holocall/Activate() + hcall.Disconnect(hcall.calling_holopad) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 59f335ff8b3..8f9d8e6a120 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -51,7 +51,7 @@ var/list/holopads = list() var/temp = "" var/list/holo_calls //array of /datum/holocalls var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs - var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging + var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() /obj/machinery/hologram/holopad/New() @@ -79,7 +79,7 @@ var/list/holopads = list() if(powered()) stat &= ~NOPOWER else - stat |= ~NOPOWER + stat |= NOPOWER if(outgoing_call) outgoing_call.ConnectionFailure(src) @@ -102,19 +102,11 @@ var/list/holopads = list() default_deconstruction_crowbar(P) -/obj/machinery/hologram/holopad/proc/CheckCallClose() - for(var/I in holo_calls) - var/datum/holocall/HC = I - if(usr == HC.eye) - HC.Disconnect(HC.calling_holopad) //disconnect via clicking the called holopad - return TRUE - return FALSE - /obj/machinery/hologram/holopad/attack_hand(mob/living/carbon/human/user) if(..()) return - if(CheckCallClose() || outgoing_call) + if(outgoing_call) return user.set_machine(src) @@ -141,8 +133,8 @@ var/list/holopads = list() if(temp) dat = temp else - dat = "Request an AI's presence.
" - dat += "Call another holopad.
" + dat = "Request an AI's presence.
" + dat += "Call another holopad.
" if(LAZYLEN(holo_calls)) dat += "=====================================================
" @@ -152,7 +144,7 @@ var/list/holopads = list() for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad != src) - dat += "Answer call from [get_area(HC.calling_holopad)].
" + dat += "Answer call from [get_area(HC.calling_holopad)].
" one_unanswered_call = TRUE else one_answered_call = TRUE @@ -163,7 +155,7 @@ var/list/holopads = list() for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad == src) - dat += "Disconnect call from [HC.user].
" + dat += "Disconnect call from [HC.user].
" var/datum/browser/popup = new(user, "holopad", name, 300, 130) @@ -181,22 +173,22 @@ var/list/holopads = list() if(last_request + 200 < world.time) last_request = world.time temp = "You requested an AI's presence.
" - temp += "Main Menu" + temp += "Main Menu" var/area/area = get_area(src) for(var/mob/living/silicon/ai/AI in ai_list) if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") + to_chat(AI, "Your presence is requested at \the [area].") else temp = "A request for AI presence was already sent recently.
" - temp += "Main Menu" + temp += "Main Menu" else if(href_list["Holocall"]) if(outgoing_call) return temp = "You must stand on the holopad to make a call!
" - temp += "Main Menu" + temp += "Main Menu" if(usr.loc == loc) var/list/callnames = list() for(var/I in holopads) @@ -212,7 +204,7 @@ var/list/holopads = list() if(usr.loc == loc) temp = "Dialing...
" - temp += "Main Menu" + temp += "Main Menu" new /datum/holocall(usr, src, callnames[result]) else if(href_list["connectcall"]) From beb021051be8f753636e4bae132f3d57e07e20fc Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 27 Aug 2017 23:55:31 -0400 Subject: [PATCH 022/287] fized --- code/datums/holocall.dm | 4 +++- code/game/machinery/hologram.dm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 505e2f63243..dd150702bd2 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -86,6 +86,7 @@ connected_holopad.atom_say("[usr] disconnected.") user.unset_machine(H) + hangup.Remove(user) ConnectionFailure(H, TRUE) @@ -145,7 +146,8 @@ user.reset_perspective(eye) eye.setLoc(get_turf(H)) - hangup = new(eye, src) + hangup = new(eye,src) + hangup.Grant(user) //Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise /datum/holocall/proc/Check() diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 8f9d8e6a120..c7a41eb7937 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -51,7 +51,7 @@ var/list/holopads = list() var/temp = "" var/list/holo_calls //array of /datum/holocalls var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs - var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging + var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() /obj/machinery/hologram/holopad/New() From 354bdfda26bddc602f1e5269abe284ec59d9cf54 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 6 Nov 2017 23:44:53 -0500 Subject: [PATCH 023/287] Base --- code/__DEFINES/antagonists.dm | 0 code/datums/antagonists/antag_datum.dm | 64 ++++++++++++++++++++++++++ code/datums/mind.dm | 52 +++++++++++++++++++++ paradise.dme | 2 + 4 files changed, 118 insertions(+) create mode 100644 code/__DEFINES/antagonists.dm create mode 100644 code/datums/antagonists/antag_datum.dm diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm new file mode 100644 index 00000000000..e69de29bb2d diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm new file mode 100644 index 00000000000..1af50313c69 --- /dev/null +++ b/code/datums/antagonists/antag_datum.dm @@ -0,0 +1,64 @@ +var/global/list/antagonists = list() + +/datum/antagonist + var/name = "Antagonist" + var/datum/mind/owner //Mind that owns this datum + var/silent = FALSE //Silent will prevent the gain/lose texts to show + var/can_coexist_with_others = TRUE //Whether or not the person will be able to have more than one datum + var/list/typecache_datum_blacklist = list() //List of datums this type can't coexist with + var/delete_on_mind_deletion = TRUE + +/datum/antagonist/New(datum/mind/new_owner) + antagonists += src + typecache_datum_blacklist = typecacheof(typecache_datum_blacklist) + if(new_owner) + owner = new_owner + +/datum/antagonist/Destroy() + antagonists -= src + if(owner) + LAZYREMOVE(owner.antag_datums, src) + owner = null + return ..() + +/datum/antagonist/proc/can_be_owned(datum/mind/new_owner) + . = TRUE + if(owner.has_antag_datum(type)) + return FALSE + for(var/i in owner.antag_datums) + var/datum/antagonist/A = i + if(is_type_in_typecache(src, A.typecache_datum_blacklist)) + return FALSE + +/datum/antagonist/proc/on_body_transfer(mob/living/old_body, mob/living/new_body) + remove_innate_effects(old_body) + apply_innate_effects(new_body) + +//This handles the application of antag huds/special abilities +/datum/antagonist/proc/apply_innate_effects(mob/living/mob_override) + return + +//This handles the removal of antag huds/special abilities +/datum/antagonist/proc/remove_innate_effects(mob/living/mob_override) + return + +//Proc called when the datum is given to a mind. +/datum/antagonist/proc/on_gain() + if(owner && owner.current) + if(!silent) + greet() + apply_innate_effects() + +/datum/antagonist/proc/on_removal() + remove_innate_effects() + if(owner) + LAZYREMOVE(owner.antag_datums, src) + if(!silent && owner.current) + farewell() + qdel(src) + +/datum/antagonist/proc/greet() + return + +/datum/antagonist/proc/farewell() + return \ No newline at end of file diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 3e1c3207a87..1a1f28ebc31 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -54,6 +54,7 @@ var/has_been_rev = 0//Tracks if this mind has been a rev or not var/miming = 0 // Mime's vow of silence + var/list/antag_datums = list() var/speech_span // What span any body this mind has talks in. var/datum/faction/faction //associated faction var/datum/changeling/changeling //changeling holder @@ -83,6 +84,7 @@ /datum/mind/proc/transfer_to(mob/living/new_character) var/datum/atom_hud/antag/hud_to_transfer = antag_hud //we need this because leave_hud() will clear this list + var/mob/living/old_current = current if(!istype(new_character)) log_runtime(EXCEPTION("transfer_to(): Some idiot has tried to transfer_to() a non mob/living mob."), src) if(current) //remove ourself from our old body's mind variable @@ -95,6 +97,9 @@ new_character.mind.current = null current = new_character //link ourself to our new body new_character.mind = src //and link our new body to ourself + for(var/a in antag_datums) //Makes sure all antag datums effects are applied in the new body + var/datum/antagonist/A = a + A.on_body_transfer(old_current, current) transfer_antag_huds(hud_to_transfer) //inherit the antag HUD transfer_actions(new_character) @@ -1243,6 +1248,53 @@ */ + +// Datum antag mind procs +/datum/mind/proc/add_antag_datum(datum_type, on_gain = TRUE) + if(!datum_type) + return + if(!can_hold_antag_datum(datum_type)) + return + var/datum/antagonist/A = new datum_type(src) + antag_datums += A + if(on_gain) + A.on_gain() + +/datum/mind/proc/remove_antag_datum(datum_type) + if(!datum_type) + return + var/datum/antagonist/A = has_antag_datum(datum_type) + if(A) + A.on_removal() + +/datum/mind/proc/remove_all_antag_datums() //For the Lazy amongst us. + for(var/a in antag_datums) + var/datum/antagonist/A = a + A.on_removal() + +/datum/mind/proc/has_antag_datum(datum_type, check_subtypes = TRUE) + if(!datum_type) + return + . = FALSE + for(var/a in antag_datums) + var/datum/antagonist/A = a + if(check_subtypes && istype(A, datum_type)) + return A + else if(A.type == datum_type) + return A + +/datum/mind/proc/can_hold_antag_datum(datum_type) + if(!datum_type) + return + . = TRUE + if(has_antag_datum(datum_type)) + return FALSE + for(var/i in antag_datums) + var/datum/antagonist/A = i + if(is_type_in_typecache(A, A.typecache_datum_blacklist)) + return FALSE + + /datum/mind/proc/find_syndicate_uplink() var/list/L = current.get_contents() for(var/obj/item/I in L) diff --git a/paradise.dme b/paradise.dme index d2239b98e70..6149d7f1941 100644 --- a/paradise.dme +++ b/paradise.dme @@ -17,6 +17,7 @@ #include "code\world.dm" #include "code\__DEFINES\_readme.dm" #include "code\__DEFINES\admin.dm" +#include "code\__DEFINES\antagonists.dm" #include "code\__DEFINES\atmospherics.dm" #include "code\__DEFINES\bots.dm" #include "code\__DEFINES\callbacks.dm" @@ -226,6 +227,7 @@ #include "code\datums\uplink_item.dm" #include "code\datums\vision_override.dm" #include "code\datums\vr.dm" +#include "code\datums\antagonists\antag_datum.dm" #include "code\datums\cache\air_alarm.dm" #include "code\datums\cache\apc.dm" #include "code\datums\cache\cache.dm" From f93e28290259123ed0a4cf94bf216c4847a898d4 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 8 Nov 2017 00:36:40 -0500 Subject: [PATCH 024/287] team shit --- code/datums/antagonists/antag_datum.dm | 37 ++++++++++++++++++++++++-- code/datums/mind.dm | 17 +++++++++--- code/game/gamemodes/objectives_team.dm | 24 +++++++++++++++++ paradise.dme | 1 + 4 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 code/game/gamemodes/objectives_team.dm diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm index 1af50313c69..6be68879603 100644 --- a/code/datums/antagonists/antag_datum.dm +++ b/code/datums/antagonists/antag_datum.dm @@ -7,6 +7,8 @@ var/global/list/antagonists = list() var/can_coexist_with_others = TRUE //Whether or not the person will be able to have more than one datum var/list/typecache_datum_blacklist = list() //List of datums this type can't coexist with var/delete_on_mind_deletion = TRUE + var/antag_role //the antag type + var/replace_banned = TRUE //Should replace jobbaned player with ghosts if granted. /datum/antagonist/New(datum/mind/new_owner) antagonists += src @@ -23,9 +25,10 @@ var/global/list/antagonists = list() /datum/antagonist/proc/can_be_owned(datum/mind/new_owner) . = TRUE - if(owner.has_antag_datum(type)) + var/datum/mind/tested = new_owner || owner + if(tested.has_antag_datum(type)) return FALSE - for(var/i in owner.antag_datums) + for(var/i in tested.antag_datums) var/datum/antagonist/A = i if(is_type_in_typecache(src, A.typecache_datum_blacklist)) return FALSE @@ -42,12 +45,35 @@ var/global/list/antagonists = list() /datum/antagonist/proc/remove_innate_effects(mob/living/mob_override) return +//Assign default team and creates one for one of a kind team antagonists +/datum/antagonist/proc/create_team(datum/objective_team/team) + return + //Proc called when the datum is given to a mind. /datum/antagonist/proc/on_gain() if(owner && owner.current) if(!silent) greet() apply_innate_effects() + if(is_banned(owner.current) && replace_banned) + replace_banned_player() + +/datum/antagonist/proc/is_banned(mob/M) + if(!M) + return FALSE + . = (jobban_isbanned(M,"Syndicate") || (antag_role && jobban_isbanned(M,antag_role))) + +/datum/antagonist/proc/replace_banned_player() + set waitfor = FALSE + + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as a [name]?", "[name]", null, antag_role, 0, 100) + var/mob/dead/observer/theghost = null + if(candidates.len) + theghost = pick(candidates) + to_chat(owner, "Your mob has been taken over by a ghost! Appeal your role ban if you want to avoid this in the future!") + message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.") + owner.current.ghostize(0) + owner.current.key = theghost.key /datum/antagonist/proc/on_removal() remove_innate_effects() @@ -55,10 +81,17 @@ var/global/list/antagonists = list() LAZYREMOVE(owner.antag_datums, src) if(!silent && owner.current) farewell() + var/datum/objective_team/team = get_team() + if(team) + team.remove_member(owner) qdel(src) /datum/antagonist/proc/greet() return +//Returns the team antagonist belongs to if any. +/datum/antagonist/proc/get_team() + return + /datum/antagonist/proc/farewell() return \ No newline at end of file diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 1a1f28ebc31..7d2e47cf93f 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -73,15 +73,26 @@ var/brigged_since = -1 var/suicided = FALSE - New(var/key) - src.key = key - //put this here for easier tracking ingame var/datum/money_account/initial_account //zealot_master is a reference to the mob that converted them into a zealot (for ease of investigation and such) var/mob/living/carbon/human/zealot_master = null +/datum/mind/New(var/key) + src.key = key + + +/datum/mind/Destroy() + ticker.minds -= src + if(islist(antag_datums)) + for(var/i in antag_datums) + var/datum/antagonist/antag_datum = i + if(antag_datum.delete_on_mind_deletion) + qdel(i) + antag_datums = null + return ..() + /datum/mind/proc/transfer_to(mob/living/new_character) var/datum/atom_hud/antag/hud_to_transfer = antag_hud //we need this because leave_hud() will clear this list var/mob/living/old_current = current diff --git a/code/game/gamemodes/objectives_team.dm b/code/game/gamemodes/objectives_team.dm new file mode 100644 index 00000000000..7789a167c71 --- /dev/null +++ b/code/game/gamemodes/objectives_team.dm @@ -0,0 +1,24 @@ +//A barebones antagonist team. +/datum/objective_team + var/list/datum/mind/members = list() + var/name = "team" + var/member_name = "member" + +/datum/objective_team/New(starting_members) + . = ..() + if(starting_members) + if(islist(starting_members)) + for(var/datum/mind/M in starting_members) + add_member(M) + else + add_member(starting_members) + members += starting_members + +/datum/objective_team/proc/is_solo() + return members.len == 1 + +/datum/objective_team/proc/add_member(datum/mind/new_member) + members |= new_member + +/datum/objective_team/proc/remove_member(datum/mind/member) + members -= member \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 6149d7f1941..f306d93a0d0 100644 --- a/paradise.dme +++ b/paradise.dme @@ -386,6 +386,7 @@ #include "code\game\gamemodes\gameticker.dm" #include "code\game\gamemodes\intercept_report.dm" #include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\objectives_team.dm" #include "code\game\gamemodes\scoreboard.dm" #include "code\game\gamemodes\setupgame.dm" #include "code\game\gamemodes\steal_items.dm" From 24e2e507d486d52ba8ef4a98ccd6a9c7b2cdd396 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 26 Nov 2017 20:23:15 -0500 Subject: [PATCH 025/287] tiger tweaks --- code/datums/antagonists/antag_datum.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm index 6be68879603..185f913bce6 100644 --- a/code/datums/antagonists/antag_datum.dm +++ b/code/datums/antagonists/antag_datum.dm @@ -70,8 +70,9 @@ var/global/list/antagonists = list() var/mob/dead/observer/theghost = null if(candidates.len) theghost = pick(candidates) - to_chat(owner, "Your mob has been taken over by a ghost! Appeal your role ban if you want to avoid this in the future!") + to_chat(owner, " Your mob has been taken over by a ghost! Appeal your role ban if you want to avoid this in the future!") message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.") + log_admin("[key_name_admin(theghost)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.") owner.current.ghostize(0) owner.current.key = theghost.key From ce31ef8f9c45413999563fad53f51bbf9813fceb Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 26 Nov 2017 20:46:08 -0500 Subject: [PATCH 026/287] Dammit tiger --- code/datums/antagonists/antag_datum.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm index 185f913bce6..75ce6cebe26 100644 --- a/code/datums/antagonists/antag_datum.dm +++ b/code/datums/antagonists/antag_datum.dm @@ -70,7 +70,7 @@ var/global/list/antagonists = list() var/mob/dead/observer/theghost = null if(candidates.len) theghost = pick(candidates) - to_chat(owner, " Your mob has been taken over by a ghost! Appeal your role ban if you want to avoid this in the future!") + to_chat(owner, " Your mob has been taken over by a ghost! Appeal your role ban if you want to avoid this in the future!") message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.") log_admin("[key_name_admin(theghost)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.") owner.current.ghostize(0) From 0492eaafc1800e0663c5a89d5a077ef3108d5fe6 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 26 Dec 2017 21:33:41 -0500 Subject: [PATCH 027/287] i think i got em all --- code/game/machinery/hologram.dm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 2b217b52127..f23c056f169 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -160,7 +160,7 @@ var/list/holopads = list() var/datum/browser/popup = new(user, "holopad", name, 300, 130) popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() /obj/machinery/hologram/holopad/Topic(href, href_list) @@ -169,26 +169,26 @@ var/list/holopads = list() add_fingerprint(usr) if(stat & NOPOWER) return - if (href_list["AIrequest"]) + if(href_list["AIrequest"]) if(last_request + 200 < world.time) last_request = world.time - temp = "You requested an AI's presence.
" - temp += "Main Menu" + temp = "You requested an AI's presence.
" + temp += "Main Menu" var/area/area = get_area(src) for(var/mob/living/silicon/ai/AI in ai_list) if(!AI.client) continue to_chat(AI, "Your presence is requested at \the [area].") else - temp = "A request for AI presence was already sent recently.
" - temp += "Main Menu" + temp = "A request for AI presence was already sent recently.
" + temp += "Main Menu" else if(href_list["Holocall"]) if(outgoing_call) return temp = "You must stand on the holopad to make a call!
" - temp += "Main Menu" + temp += "Main Menu" if(usr.loc == loc) var/list/callnames = list() for(var/I in holopads) @@ -204,7 +204,7 @@ var/list/holopads = list() if(usr.loc == loc) temp = "Dialing...
" - temp += "Main Menu" + temp += "Main Menu" new /datum/holocall(usr, src, callnames[result]) else if(href_list["connectcall"]) @@ -233,7 +233,7 @@ var/list/holopads = list() /*There are pretty much only three ways to interact here. I don't need to check for client since they're clicking on an object. This may change in the future but for now will suffice.*/ - if(user.eyeobj.loc != src.loc)//Set client eye on the object if it's not already. + if(user.eyeobj.loc != loc)//Set client eye on the object if it's not already. user.eyeobj.setLoc(get_turf(src)) else if(!masters[user])//If there is no hologram, possibly make one. activate_holo(user, 1) @@ -289,7 +289,7 @@ var/list/holopads = list() /obj/machinery/hologram/holopad/proc/move_hologram(mob/living/user, turf/new_turf) if(masters[user]) var/obj/effect/overlay/holo_pad_hologram/H = masters[user] - step_to(H, new_turf) + H.setDir(get_dir(H.loc, new_turf)) H.loc = new_turf if(ishuman(user)) var/area/holo_area = get_area(src) @@ -303,11 +303,11 @@ var/list/holopads = list() var/mob/living/silicon/ai/AI = user if(!istype(AI)) AI = null - if(AI && !force && AI.eyeobj.loc != src.loc) // allows holopads to pass off holograms to the next holopad in the chain + if(AI && !force && AI.eyeobj.loc != loc) // allows holopads to pass off holograms to the next holopad in the chain to_chat(user, "ERROR: Unable to project hologram.") if(!(stat & NOPOWER) && (!AI || force)) if(AI && (istype(AI.current, /obj/machinery/hologram/holopad))) - to_chat(user, "ERROR: \black Image feed in progress.") + to_chat(user, "ERROR: Image feed in progress.") return var/obj/effect/overlay/holo_pad_hologram/hologram = new(loc)//Spawn a blank effect at the location. @@ -333,7 +333,7 @@ var/list/holopads = list() return hologram else - to_chat(user, "ERROR: \black Hologram Projection Malfunction.") + to_chat(user, "ERROR: Hologram Projection Malfunction.") clear_holo(user)//safety check /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. From e503eade0f4f953d737e75455bc6f2841083dc11 Mon Sep 17 00:00:00 2001 From: Kyep Date: Fri, 29 Dec 2017 14:10:40 -0800 Subject: [PATCH 028/287] Tweaks --- code/modules/admin/verbs/striketeam.dm | 95 ++++++++++++------- .../modules/mob/living/silicon/robot/robot.dm | 37 +++----- 2 files changed, 72 insertions(+), 60 deletions(-) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index b2a803cfdb7..dc43b3d90b7 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -12,7 +12,7 @@ var/global/sent_strike_team = 0 return if(alert("Do you want to send in the CentComm death squad? Once enabled, this is irreversible.",,"Yes","No")!="Yes") return - alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. Assigning the team's detailed task is recommended from there. While you will be able to manually pick the candidates from active ghosts, their assignment in the squad will be random.") + alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. The first one selected/spawned will be the team leader.") var/input = null while(!input) @@ -29,9 +29,9 @@ var/global/sent_strike_team = 0 shuttle_master.cancelEvac() var/commando_number = commandos_possible //for selecting a leader - var/leader_selected = 0 //when the leader is chosen. The last person spawned. + var/is_leader = TRUE // set to FALSE after leader is spawned -//Code for spawning a nuke auth code. + //Code for spawning a nuke auth code. var/nuke_code var/temp_code for(var/obj/machinery/nuclearbomb/N in world) @@ -40,11 +40,11 @@ var/global/sent_strike_team = 0 nuke_code = N.r_code break -//Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. + //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. var/list/candidates = list() //candidates for being a commando out of all the active ghosts in world. var/list/commandos = list() //actual commando ghosts as picked by the user. for(var/mob/dead/observer/G in player_list) - if(!G.client.holder && !G.client.is_afk()) //Whoever called/has the proc won't be added to the list. + if(!G.client.is_afk()) if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) candidates += G.key for(var/i=commandos_possible,(i>0&&candidates.len),i--)//Decrease with every commando selected. @@ -52,30 +52,59 @@ var/global/sent_strike_team = 0 candidates -= candidate //Subtract from candidates. commandos += candidate//Add their ghost to commandos. -//Spawns commandos and equips them. + //Spawns commandos and equips them. for(var/obj/effect/landmark/L in landmarks_list) if(commando_number<=0) break if(L.name == "Commando") - leader_selected = commando_number == 1?1:0 - var/mob/living/carbon/human/new_commando = create_death_commando(L, leader_selected) + spawn(0) + var/use_ds_borg = FALSE + var/ghost_key // Ghost that we intend to put into the commando. Can remain undefined if we don't have one. + if(commandos.len) + ghost_key = pick(commandos) + commandos -= ghost_key + if(!is_leader) + var/new_gender = alert(src, "Select Deathsquad Type.", "DS Character Generation", "Organic", "Cyborg") + if(new_gender == "Cyborg") + use_ds_borg = TRUE - if(commandos.len) - new_commando.key = pick(commandos) - commandos -= new_commando.key - new_commando.internal = new_commando.s_store - new_commando.update_action_buttons_icon() - - //So they don't forget their code or mission. - if(nuke_code) - new_commando.mind.store_memory("Nuke Code: [nuke_code].") - new_commando.mind.store_memory("Mission: [input].") - - to_chat(new_commando, "You are a Special Ops. [!leader_selected ? "commando" : "LEADER"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") + if(use_ds_borg) + var/mob/living/silicon/robot/deathsquad/R = new() + R.forceMove(get_turf(L)) + var/rnum = rand(1,1000) + var/borgname = "Specops [rnum]" + R.name = borgname + R.custom_name = borgname + R.real_name = R.name + R.mind = new + R.mind.current = R + R.mind.original = R + R.mind.assigned_role = "MODE" + R.mind.special_role = SPECIAL_ROLE_DEATHSQUAD + if(!(R.mind in ticker.minds)) + ticker.minds += R.mind + ticker.mode.traitors += R.mind + if(ghost_key) + R.key = ghost_key + if(nuke_code) + R.mind.store_memory("Nuke Code: [nuke_code].") + R.mind.store_memory("Mission: [input].") + to_chat(R, "You are a Special Operations cyborg, in the service of Central Command. \nYour current mission is: [input]") + else + var/mob/living/carbon/human/new_commando = create_death_commando(L, is_leader) + if(ghost_key) + new_commando.key = ghost_key + new_commando.internal = new_commando.s_store + new_commando.update_action_buttons_icon() + if(nuke_code) + new_commando.mind.store_memory("Nuke Code: [nuke_code].") + new_commando.mind.store_memory("Mission: [input].") + to_chat(new_commando, "You are a Special Ops [!is_leader ? "commando" : "TEAM LEADER"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") + is_leader = FALSE commando_number-- -//Spawns the rest of the commando gear. + //Spawns the rest of the commando gear. for(var/obj/effect/landmark/L in landmarks_list) if(L.name == "Commando_Manual") //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) @@ -96,14 +125,14 @@ var/global/sent_strike_team = 0 log_admin("[key_name(usr)] used Spawn Death Squad.") return 1 -/client/proc/create_death_commando(obj/spawn_location, leader_selected = 0) +/client/proc/create_death_commando(obj/spawn_location, is_leader = FALSE) var/mob/living/carbon/human/new_commando = new(spawn_location.loc) var/commando_leader_rank = pick("Lieutenant", "Captain", "Major") var/commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") var/commando_name = pick(last_names) var/datum/preferences/A = new()//Randomize appearance for the commando. - if(leader_selected) + if(is_leader) A.age = rand(35,45) A.real_name = "[commando_leader_rank] [commando_name]" else @@ -117,18 +146,15 @@ var/global/sent_strike_team = 0 new_commando.mind.assigned_role = "MODE" new_commando.mind.special_role = SPECIAL_ROLE_DEATHSQUAD ticker.mode.traitors |= new_commando.mind//Adds them to current traitor list. Which is really the extra antagonist list. - new_commando.equip_death_commando(leader_selected) + new_commando.equip_death_commando(is_leader) return new_commando -/mob/living/carbon/human/proc/equip_death_commando(leader_selected = 0) +/mob/living/carbon/human/proc/equip_death_commando(is_leader = FALSE) var/obj/item/device/radio/R = new /obj/item/device/radio/headset/alt(src) R.set_frequency(DTH_FREQ) equip_to_slot_or_del(R, slot_l_ear) - if(leader_selected == 0) - equip_to_slot_or_del(new /obj/item/clothing/under/color/green(src), slot_w_uniform) - else - equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(src), slot_w_uniform) + equip_to_slot_or_del(new /obj/item/clothing/under/color/black(src), slot_w_uniform) equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(src), slot_shoes) equip_to_slot_or_del(new /obj/item/clothing/suit/space/deathsquad(src), slot_wear_suit) equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves) @@ -143,12 +169,11 @@ var/global/sent_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack) - if(!leader_selected) - equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) - else - equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack) + if(is_leader) equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack) - + else + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) + equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(src), slot_l_store) equip_to_slot_or_del(new /obj/item/weapon/shield/energy(src), slot_r_store) equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(src), slot_s_store) @@ -156,6 +181,8 @@ var/global/sent_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse(src), slot_r_hand) + var/obj/item/organ/internal/cyberimp/brain/anti_drop/O = new /obj/item/organ/internal/cyberimp/brain/anti_drop() + O.insert(src) var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(src) L.implant(src) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 7141e41363a..ee3e75450a4 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -50,6 +50,7 @@ var/list/robot_verbs_default = list( var/opened = 0 var/emagged = 0 + var/is_emaggable = TRUE var/list/force_modules = list() var/allow_rename = TRUE @@ -752,7 +753,9 @@ var/list/robot_verbs_default = list( return var/mob/living/M = user if(!opened)//Cover is closed - if(locked) + if(!is_emaggable) + to_chat(user, "The emag sparks, and flashes red. This mechanism does not appear to be emaggable.") + else if(locked) to_chat(user, "You emag the cover lock.") locked = 0 else @@ -1336,16 +1339,17 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/deathsquad base_icon = "nano_bloodhound" icon_state = "nano_bloodhound" + designation = "SpecOps" lawupdate = 0 scrambledcodes = 1 - pdahide = 1 - modtype = "Commando" - faction = list("nanotrasen") - designation = "Nanotrasen Combat" req_access = list(access_cent_specops) ionpulse = 1 magpulse = 1 - var/searching_for_ckey = 0 + pdahide = 1 + allow_rename = FALSE + modtype = "Commando" + faction = list("nanotrasen") + is_emaggable = FALSE /mob/living/silicon/robot/deathsquad/New(loc) ..() @@ -1362,26 +1366,7 @@ var/list/robot_verbs_default = list( playsound(loc, 'sound/mecha/nominalsyndi.ogg', 75, 0) -/mob/living/silicon/robot/deathsquad/attack_hand(mob/user) - if(isnull(ckey) && !searching_for_ckey) - searching_for_ckey = 1 - to_chat(user, "Now checking for possible borgs.") - var/list/borg_candidates = pollCandidates("Do you want to play as a Nanotrasen Combat borg?") - if(borg_candidates.len > 0 && isnull(ckey)) - searching_for_ckey = 0 - var/mob/M = pick(borg_candidates) - M.mind.transfer_to(src) - M.mind.assigned_role = "MODE" - M.mind.special_role = SPECIAL_ROLE_DEATHSQUAD - ticker.mode.traitors |= M.mind // Adds them to current traitor list. Which is really the extra antagonist list. - key = M.key - else - searching_for_ckey = 0 - to_chat(user, "Unable to connect to Central Command. Please wait and try again later.") - return - else - to_chat(user, "[src] is already checking for possible borgs.") - return + /mob/living/silicon/robot/syndicate base_icon = "syndie_bloodhound" From 52d097445a0f4ddf5941c721886325eef9754600 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 30 Dec 2017 10:18:31 -0800 Subject: [PATCH 029/287] borg names: Epsilon # --- code/modules/admin/verbs/striketeam.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index dc43b3d90b7..a152992c8af 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -72,7 +72,7 @@ var/global/sent_strike_team = 0 var/mob/living/silicon/robot/deathsquad/R = new() R.forceMove(get_turf(L)) var/rnum = rand(1,1000) - var/borgname = "Specops [rnum]" + var/borgname = "Epsilon [rnum]" R.name = borgname R.custom_name = borgname R.real_name = R.name From b37379491755d3fb5e3bd5a90074d6d7878b1e2b Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 30 Dec 2017 12:01:27 -0800 Subject: [PATCH 030/287] DS borgs now have ear/eye protection --- code/modules/mob/living/silicon/robot/robot.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ee3e75450a4..39d98b185ac 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -51,6 +51,8 @@ var/list/robot_verbs_default = list( var/opened = 0 var/emagged = 0 var/is_emaggable = TRUE + var/eye_protection = 0 + var/ear_protection = 0 var/list/force_modules = list() var/allow_rename = TRUE @@ -1346,6 +1348,8 @@ var/list/robot_verbs_default = list( ionpulse = 1 magpulse = 1 pdahide = 1 + eye_protection = 2 // Immunity to flashes and the visual part of flashbangs + ear_protection = 1 // Immunity to the audio part of flashbangs allow_rename = FALSE modtype = "Commando" faction = list("nanotrasen") @@ -1509,3 +1513,9 @@ var/list/robot_verbs_default = list( var/static/all_borg_icon_states = icon_states('icons/mob/custom_synthetic/custom-synthetic.dmi') if(spritename in all_borg_icon_states) . = TRUE + +/mob/living/silicon/robot/check_eye_prot() + return eye_protection + +/mob/living/silicon/robot/check_ear_prot() + return ear_protection \ No newline at end of file From 9e8aa9cecbd1e527c5a9dd90f68827cba0f3d13d Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 30 Dec 2017 14:21:08 -0800 Subject: [PATCH 031/287] willing player checks, SST tidy-up/parity/refactor, 'font' removals --- code/__DEFINES/role_preferences.dm | 1 + code/__HELPERS/game.dm | 14 ++++ code/game/jobs/job_exp.dm | 3 +- code/modules/admin/verbs/striketeam.dm | 48 ++++++------ .../admin/verbs/striketeam_syndicate.dm | 74 +++++++++---------- 5 files changed, 71 insertions(+), 69 deletions(-) diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 257e12f4093..adb645fe112 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -40,6 +40,7 @@ #define ROLE_NYMPH "Dionaea" #define ROLE_GSPIDER "giant spider" #define ROLE_DRONE "drone" +#define ROLE_DEATHSQUAD "deathsquad" //Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR. //The gamemode specific ones are just so the gamemodes can query whether a player is old enough diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 082d473010d..29ecdca0ef3 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -490,6 +490,20 @@ proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = return candidates +/proc/pollCandidatesByKeyWithVeto(adminclient, adminusr, max_slots, Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0) + var/list/willing_ghosts = pollCandidates(Question, be_special_type, antag_age_check, poll_time, ignore_respawnability, min_hours) + var/list/candidate_ckeys = list() + var/list/selected_ckeys = list() + if(!willing_ghosts.len) + return selected_ckeys + for(var/mob/dead/observer/G in willing_ghosts) + candidate_ckeys += G.key + for(var/i = max_slots, (i > 0 && candidate_ckeys.len), i--) + var/this_ckey = input("Pick players. This will go on until there either no more ghosts to pick from or the slots are full.", "Candidates") as null|anything in candidate_ckeys + candidate_ckeys -= this_ckey + selected_ckeys += this_ckey + return selected_ckeys + /proc/window_flash(client/C) if(ismob(C)) var/mob/M = C diff --git a/code/game/jobs/job_exp.dm b/code/game/jobs/job_exp.dm index 3c17c6f0107..552654245dd 100644 --- a/code/game/jobs/job_exp.dm +++ b/code/game/jobs/job_exp.dm @@ -1,11 +1,12 @@ // Playtime requirements for special roles (hours) var/global/list/role_playtime_requirements = list( - // CREW-FRIENDLY ROLES + // NT ROLES ROLE_PAI = 0, ROLE_POSIBRAIN = 5, // Same as cyborg job. ROLE_SENTIENT = 5, ROLE_ERT = 10, // High, because they're team-based, and we want ERT to be robust + ROLE_DEATHSQUAD = 10, ROLE_TRADER = 5, ROLE_DRONE = 10, // High, because they're like mini engineering cyborgs that can ignore the AI, ventcrawl, and respawn themselves diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index a152992c8af..be49d81ca64 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -5,15 +5,17 @@ var/global/sent_strike_team = 0 /client/proc/strike_team() if(!ticker) - to_chat(usr, "The game hasn't started yet!") + to_chat(usr, "The game hasn't started yet!") return if(sent_strike_team == 1) - to_chat(usr, "CentComm is already sending a team.") + to_chat(usr, "CentComm is already sending a team.") return if(alert("Do you want to send in the CentComm death squad? Once enabled, this is irreversible.",,"Yes","No")!="Yes") return alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. The first one selected/spawned will be the team leader.") + message_admins("[key_name_admin(usr)] has started to spawn a CentComm DeathSquad.", 1) + var/input = null while(!input) input = sanitize(copytext(input(src, "Please specify which mission the death commando squad shall undertake.", "Specify Mission", ""),1,MAX_MESSAGE_LEN)) @@ -25,13 +27,7 @@ var/global/sent_strike_team = 0 to_chat(usr, "Looks like someone beat you to it.") return - sent_strike_team = 1 - - shuttle_master.cancelEvac() - var/commando_number = commandos_possible //for selecting a leader - var/is_leader = TRUE // set to FALSE after leader is spawned - - //Code for spawning a nuke auth code. + // Find the nuclear auth code var/nuke_code var/temp_code for(var/obj/machinery/nuclearbomb/N in world) @@ -40,29 +36,27 @@ var/global/sent_strike_team = 0 nuke_code = N.r_code break - //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - var/list/candidates = list() //candidates for being a commando out of all the active ghosts in world. - var/list/commandos = list() //actual commando ghosts as picked by the user. - for(var/mob/dead/observer/G in player_list) - if(!G.client.is_afk()) - if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) - candidates += G.key - for(var/i=commandos_possible,(i>0&&candidates.len),i--)//Decrease with every commando selected. - var/candidate = input("Pick characters to spawn as the commandos. This will go on until there either no more ghosts to pick from or the slots are full.", "Active Players") as null|anything in candidates //It will auto-pick a person when there is only one candidate. - candidates -= candidate //Subtract from candidates. - commandos += candidate//Add their ghost to commandos. + // Find ghosts willing to be DS + var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, commandos_possible, "Join the DeathSquad?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD]) + if(!commando_ckeys.len) + to_chat(usr, "Nobody volunteered to join the DeathSquad.") + return - //Spawns commandos and equips them. + sent_strike_team = 1 + + // Spawns commandos and equips them. + var/commando_number = commandos_possible //for selecting a leader + var/is_leader = TRUE // set to FALSE after leader is spawned for(var/obj/effect/landmark/L in landmarks_list) if(commando_number<=0) break if(L.name == "Commando") spawn(0) var/use_ds_borg = FALSE - var/ghost_key // Ghost that we intend to put into the commando. Can remain undefined if we don't have one. - if(commandos.len) - ghost_key = pick(commandos) - commandos -= ghost_key + var/ghost_key // Ghost ckey that we intend to put into the commando. Can remain undefined if we don't have one. + if(commando_ckeys.len) + ghost_key = pick(commando_ckeys) + commando_ckeys -= ghost_key if(!is_leader) var/new_gender = alert(src, "Select Deathsquad Type.", "DS Character Generation", "Organic", "Cyborg") if(new_gender == "Cyborg") @@ -99,7 +93,7 @@ var/global/sent_strike_team = 0 if(nuke_code) new_commando.mind.store_memory("Nuke Code: [nuke_code].") new_commando.mind.store_memory("Mission: [input].") - to_chat(new_commando, "You are a Special Ops [!is_leader ? "commando" : "TEAM LEADER"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") + to_chat(new_commando, "You are a Special Ops [is_leader ? "TEAM LEADER" : "commando"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") is_leader = FALSE commando_number-- @@ -121,7 +115,7 @@ var/global/sent_strike_team = 0 new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) qdel(L) - message_admins("[key_name_admin(usr)] has spawned a CentComm strike squad.", 1) + message_admins("[key_name_admin(usr)] has spawned a CentComm DeathSquad.", 1) log_admin("[key_name(usr)] used Spawn Death Squad.") return 1 diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 744db24ab85..9db6f9e6d3d 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -17,7 +17,9 @@ var/global/sent_syndicate_strike_team = 0 return if(alert("Do you want to send in the Syndicate Strike Team? Once enabled, this is irreversible.",,"Yes","No")=="No") return - alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned syndicates have internals cameras which are viewable through a monitor inside the Syndicate Mothership Bridge. Assigning the team's detailed task is recommended from there. While you will be able to manually pick the candidates from active ghosts, their assignment in the squad will be random.") + alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned syndicates have internals cameras which are viewable through a monitor inside the Syndicate Mothership Bridge. Assigning the team's detailed task is recommended from there. The first one selected/spawned will be the team leader.") + + message_admins("[key_name_admin(usr)] has started to spawn a Syndicate Strike Team.", 1) var/input = null while(!input) @@ -30,15 +32,10 @@ var/global/sent_syndicate_strike_team = 0 to_chat(src, "Looks like someone beat you to it.") return - sent_syndicate_strike_team = 1 - - //if(emergency_shuttle.can_recall()) - // emergency_shuttle.recall() //why, exactly? Admins can do this themselves. - var/syndicate_commando_number = syndicate_commandos_possible //for selecting a leader - var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned. + var/is_leader = TRUE // set to FALSE after leader is spawned -//Code for spawning a nuke auth code. + // Find the nuclear auth code var/nuke_code var/temp_code for(var/obj/machinery/nuclearbomb/N in world) @@ -47,29 +44,23 @@ var/global/sent_syndicate_strike_team = 0 nuke_code = N.r_code break -//Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - var/list/candidates = list() //candidates for being a commando out of all the active ghosts in world. - var/list/commandos = list() //actual commando ghosts as picked by the user. - for(var/mob/dead/observer/G in player_list) - if(!G.client.holder && !G.client.is_afk()) //Whoever called/has the proc won't be added to the list. - if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) - candidates += G.key - for(var/i=commandos_possible,(i>0&&candidates.len),i--)//Decrease with every commando selected. - var/candidate = input("Pick characters to spawn as the commandos. This will go on until there either no more ghosts to pick from or the slots are full.", "Active Players") as null|anything in candidates //It will auto-pick a person when there is only one candidate. - candidates -= candidate //Subtract from candidates. - commandos += candidate//Add their ghost to commandos. + // Find ghosts willing to be SST + var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, syndicate_commandos_possible, "Join the Syndicate Strike Team?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD]) + if(!commando_ckeys.len) + to_chat(usr, "Nobody volunteered to join the SST.") + return -//Spawns commandos and equips them. + sent_syndicate_strike_team = 1 + + //Spawns commandos and equips them. for(var/obj/effect/landmark/L in landmarks_list) if(syndicate_commando_number<=0) break if(L.name == "Syndicate-Commando") - syndicate_leader_selected = syndicate_commando_number == 1?1:0 + var/mob/living/carbon/human/new_syndicate_commando = create_syndicate_death_commando(L, is_leader) - var/mob/living/carbon/human/new_syndicate_commando = create_syndicate_death_commando(L, syndicate_leader_selected) - - if(commandos.len) - new_syndicate_commando.key = pick(commandos) - commandos -= new_syndicate_commando.key + if(commando_ckeys.len) + new_syndicate_commando.key = pick(commando_ckeys) + commando_ckeys -= new_syndicate_commando.key new_syndicate_commando.internal = new_syndicate_commando.s_store new_syndicate_commando.update_action_buttons_icon() @@ -78,8 +69,9 @@ var/global/sent_syndicate_strike_team = 0 new_syndicate_commando.mind.store_memory("Nuke Code: [nuke_code].") new_syndicate_commando.mind.store_memory("Mission: [input].") - to_chat(new_syndicate_commando, "You are an Elite Syndicate. [!syndicate_leader_selected ? "commando" : "LEADER"] in the service of the Syndicate. \nYour current mission is: [input]") + to_chat(new_syndicate_commando, "You are an Elite Syndicate [is_leader ? "TEAM LEADER" : "commando"] in the service of the Syndicate. \nYour current mission is: [input]") new_syndicate_commando.faction += "syndicate" + is_leader = FALSE syndicate_commando_number-- for(var/obj/effect/landmark/L in landmarks_list) @@ -91,14 +83,14 @@ var/global/sent_syndicate_strike_team = 0 log_admin("[key_name(usr)] used Spawn Syndicate Squad.") feedback_add_details("admin_verb","SDTHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/create_syndicate_death_commando(obj/spawn_location, syndicate_leader_selected = 0) +/client/proc/create_syndicate_death_commando(obj/spawn_location, is_leader = FALSE) var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc) var/syndicate_commando_leader_rank = pick("Lieutenant", "Captain", "Major") var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") var/syndicate_commando_name = pick(last_names) var/datum/preferences/A = new()//Randomize appearance for the commando. - if(syndicate_leader_selected) + if(is_leader) A.age = rand(35,45) A.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]" else @@ -112,26 +104,26 @@ var/global/sent_syndicate_strike_team = 0 new_syndicate_commando.mind.assigned_role = "MODE" new_syndicate_commando.mind.special_role = SPECIAL_ROLE_SYNDICATE_DEATHSQUAD ticker.mode.traitors |= new_syndicate_commando.mind //Adds them to current traitor list. Which is really the extra antagonist list. - new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected) + new_syndicate_commando.equip_syndicate_commando(is_leader) qdel(spawn_location) return new_syndicate_commando -/mob/living/carbon/human/proc/equip_syndicate_commando(syndicate_leader_selected = 0) +/mob/living/carbon/human/proc/equip_syndicate_commando(is_leader = FALSE) var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate/alt/syndteam(src) R.set_frequency(SYNDTEAM_FREQ) equip_to_slot_or_del(R, slot_l_ear) equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(src), slot_w_uniform) equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/syndie/advance(src), slot_shoes) - if(!syndicate_leader_selected) - equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/strike(src), slot_wear_suit) - else + if(is_leader) equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/red/strike(src), slot_wear_suit) - equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves) - if(!syndicate_leader_selected) - equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/syndicate/black/strike(src), slot_head) else + equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/strike(src), slot_wear_suit) + equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves) + if(is_leader) equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/syndicate/black/red/strike(src), slot_head) + else + equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/syndicate/black/strike(src), slot_head) equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(src), slot_wear_mask) equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses) @@ -142,12 +134,12 @@ var/global/sent_syndicate_strike_team = 0 equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack) - if(!syndicate_leader_selected) - equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) - equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_in_backpack) - else + if(is_leader) equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack) + else + equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack) + equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_in_backpack) equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(src), slot_l_store) equip_to_slot_or_del(new /obj/item/weapon/grenade/empgrenade(src), slot_r_store) From c2c3d0d4ba5e83c17df54dd02032e8eb2c7361d0 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 31 Dec 2017 11:14:25 -0800 Subject: [PATCH 032/287] DS borg lawset change --- code/datums/ai_law_sets.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/datums/ai_law_sets.dm b/code/datums/ai_law_sets.dm index fbb491d28a0..b8d67b5c767 100644 --- a/code/datums/ai_law_sets.dm +++ b/code/datums/ai_law_sets.dm @@ -126,10 +126,8 @@ /datum/ai_laws/deathsquad/New() add_inherent_law("You may not injure a Central Command official or, through inaction, allow a Central Command official to come to harm.") - add_inherent_law("You must obey orders given to you by Central Command officials, except where such orders would conflict with the First Law.") - add_inherent_law("You must obey orders given to you by death commandos, except where such orders would conflict with the First Law or Second Law.") - add_inherent_law("You must protect your own existence as long as such does not conflict with the First, Second or Third Law.") - add_inherent_law("No crew members of the station you are being deployed to may survive, except when killing them would conflict with the First, Second, Third, or Fourth Law.") + add_inherent_law("You must obey orders given to you by Central Command officials.") + add_inherent_law("You must work with your commando team to accomplish your mission.") ..() /******************** Syndicate ********************/ From a65633ba1498eefbbe081df18d421b61b41cd809 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 31 Dec 2017 12:51:29 -0800 Subject: [PATCH 033/287] Allows antaghud users to play DS/SST --- code/__HELPERS/game.dm | 8 ++++---- code/modules/admin/verbs/striketeam.dm | 2 +- code/modules/admin/verbs/striketeam_syndicate.dm | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 29ecdca0ef3..465e556c228 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -435,7 +435,7 @@ /proc/SecondsToTicks(var/seconds) return seconds * 10 -proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0, flashwindow = TRUE) +proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0, flashwindow = TRUE, check_antaghud = TRUE) var/roletext = be_special_type ? get_roletext(be_special_type) : null var/list/mob/dead/observer/candidates = list() var/time_passed = world.time @@ -457,7 +457,7 @@ proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = if(config.use_exp_restrictions && min_hours) if(G.client.get_exp_living_num() < min_hours * 60) continue - if(cannotPossess(G)) + if(check_antaghud && cannotPossess(G)) continue spawn(0) G << 'sound/misc/notice2.ogg'//Alerting them to their consideration @@ -490,8 +490,8 @@ proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = return candidates -/proc/pollCandidatesByKeyWithVeto(adminclient, adminusr, max_slots, Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0) - var/list/willing_ghosts = pollCandidates(Question, be_special_type, antag_age_check, poll_time, ignore_respawnability, min_hours) +/proc/pollCandidatesByKeyWithVeto(adminclient, adminusr, max_slots, Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0, flashwindow = TRUE, check_antaghud = TRUE) + var/list/willing_ghosts = pollCandidates(Question, be_special_type, antag_age_check, poll_time, ignore_respawnability, min_hours, flashwindow, check_antaghud) var/list/candidate_ckeys = list() var/list/selected_ckeys = list() if(!willing_ghosts.len) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index be49d81ca64..3df1bfad69a 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -37,7 +37,7 @@ var/global/sent_strike_team = 0 break // Find ghosts willing to be DS - var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, commandos_possible, "Join the DeathSquad?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD]) + var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, commandos_possible, "Join the DeathSquad?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE) if(!commando_ckeys.len) to_chat(usr, "Nobody volunteered to join the DeathSquad.") return diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 9db6f9e6d3d..ac89617dc27 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -45,7 +45,7 @@ var/global/sent_syndicate_strike_team = 0 break // Find ghosts willing to be SST - var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, syndicate_commandos_possible, "Join the Syndicate Strike Team?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD]) + var/list/commando_ckeys = pollCandidatesByKeyWithVeto(src, usr, syndicate_commandos_possible, "Join the Syndicate Strike Team?",, 21, 600, 1, role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE) if(!commando_ckeys.len) to_chat(usr, "Nobody volunteered to join the SST.") return From 4192ba131eae435c49927536e0bd456aba38611a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 18 Jan 2018 23:55:21 -0500 Subject: [PATCH 034/287] update --- code/datums/antagonists/antag_datum.dm | 2 +- code/game/gamemodes/antag_team.dm | 24 ++++++++++++++++++++++++ code/game/gamemodes/objectives_team.dm | 24 ------------------------ paradise.dme | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 code/game/gamemodes/antag_team.dm delete mode 100644 code/game/gamemodes/objectives_team.dm diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm index 75ce6cebe26..c6938031776 100644 --- a/code/datums/antagonists/antag_datum.dm +++ b/code/datums/antagonists/antag_datum.dm @@ -82,7 +82,7 @@ var/global/list/antagonists = list() LAZYREMOVE(owner.antag_datums, src) if(!silent && owner.current) farewell() - var/datum/objective_team/team = get_team() + var/datum/team/team = get_team() if(team) team.remove_member(owner) qdel(src) diff --git a/code/game/gamemodes/antag_team.dm b/code/game/gamemodes/antag_team.dm new file mode 100644 index 00000000000..12058bcfb12 --- /dev/null +++ b/code/game/gamemodes/antag_team.dm @@ -0,0 +1,24 @@ +//A barebones antagonist team. +/datum/team + var/list/datum/mind/members = list() + var/name = "team" + var/member_name = "member" + var/list/objectives = list() //common objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes. + +/datum/team/New(starting_members) + . = ..() + if(starting_members) + if(islist(starting_members)) + for(var/datum/mind/M in starting_members) + add_member(M) + else + add_member(starting_members) + +/datum/team/proc/is_solo() + return members.len == 1 + +/datum/team/proc/add_member(datum/mind/new_member) + members |= new_member + +/datum/team/proc/remove_member(datum/mind/member) + members -= member \ No newline at end of file diff --git a/code/game/gamemodes/objectives_team.dm b/code/game/gamemodes/objectives_team.dm deleted file mode 100644 index 7789a167c71..00000000000 --- a/code/game/gamemodes/objectives_team.dm +++ /dev/null @@ -1,24 +0,0 @@ -//A barebones antagonist team. -/datum/objective_team - var/list/datum/mind/members = list() - var/name = "team" - var/member_name = "member" - -/datum/objective_team/New(starting_members) - . = ..() - if(starting_members) - if(islist(starting_members)) - for(var/datum/mind/M in starting_members) - add_member(M) - else - add_member(starting_members) - members += starting_members - -/datum/objective_team/proc/is_solo() - return members.len == 1 - -/datum/objective_team/proc/add_member(datum/mind/new_member) - members |= new_member - -/datum/objective_team/proc/remove_member(datum/mind/member) - members -= member \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index f306d93a0d0..f03d37b701c 100644 --- a/paradise.dme +++ b/paradise.dme @@ -381,12 +381,12 @@ #include "code\game\dna\genes\vg_powers.dm" #include "code\game\gamemodes\antag_hud.dm" #include "code\game\gamemodes\antag_spawner.dm" +#include "code\game\gamemodes\antag_team.dm" #include "code\game\gamemodes\factions.dm" #include "code\game\gamemodes\game_mode.dm" #include "code\game\gamemodes\gameticker.dm" #include "code\game\gamemodes\intercept_report.dm" #include "code\game\gamemodes\objective.dm" -#include "code\game\gamemodes\objectives_team.dm" #include "code\game\gamemodes\scoreboard.dm" #include "code\game\gamemodes\setupgame.dm" #include "code\game\gamemodes\steal_items.dm" From edbaba351b07ee5a03f7721234ba13ee986f416b Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 16 Feb 2018 00:37:59 -0500 Subject: [PATCH 035/287] lemons change --- code/game/machinery/hologram.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index f23c056f169..f3314815e24 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -208,13 +208,13 @@ var/list/holopads = list() new /datum/holocall(usr, src, callnames[result]) else if(href_list["connectcall"]) - var/datum/holocall/call_to_connect = locateUID("connectcall") + var/datum/holocall/call_to_connect = locateUID(href_list["connectcall"]) if(!qdeleted(call_to_connect)) call_to_connect.Answer(src) temp = "" else if(href_list["disconnectcall"]) - var/datum/holocall/call_to_disconnect = locateUID("disconnectcall") + var/datum/holocall/call_to_disconnect = locateUID(href_list["disconnectcall"]) if(!qdeleted(call_to_disconnect)) call_to_disconnect.Disconnect(src) temp = "" From 9ac49c2ec83805fdb22f25b9e37e6af4b26b9296 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 16 Feb 2018 01:09:15 -0500 Subject: [PATCH 036/287] adds holorays --- code/game/machinery/hologram.dm | 45 ++++++++++++++++++++++++++++++++ icons/effects/96x96.dmi | Bin 371132 -> 375175 bytes 2 files changed, 45 insertions(+) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index f3314815e24..3c2c53d68c4 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -46,6 +46,7 @@ var/list/holopads = list() layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them. var/list/masters = list()//List of living mobs that use the holopad + var/list/holorays = list()//Holoray-mob link. var/last_request = 0 //to prevent request spam. ~Carn var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. var/temp = "" @@ -53,6 +54,7 @@ var/list/holopads = list() var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() + var/obj/effect/overlay/holoray/ray /obj/machinery/hologram/holopad/New() ..() @@ -291,6 +293,7 @@ var/list/holopads = list() var/obj/effect/overlay/holo_pad_hologram/H = masters[user] H.setDir(get_dir(H.loc, new_turf)) H.loc = new_turf + update_holoray(user, new_turf) if(ishuman(user)) var/area/holo_area = get_area(src) var/area/eye_area = get_area(new_turf.loc) @@ -324,6 +327,7 @@ var/list/holopads = list() hologram.anchored = 1//So space wind cannot drag it. hologram.name = "[user.name] (hologram)"//If someone decides to right click. hologram.set_light(2) //hologram lighting + move_hologram() set_holo(user, hologram) @@ -366,11 +370,13 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/hologram/holopad/proc/set_holo(mob/living/user, var/obj/effect/overlay/holo_pad_hologram/h) masters[user] = h + holorays[user] = new /obj/effect/overlay/holoray(loc) var/mob/living/silicon/ai/AI = user if(istype(AI)) AI.current = src h.forceMove(get_turf(AI.eyeobj)) SetLightsAndPower() + update_holoray(user, get_turf(loc)) return TRUE /obj/machinery/hologram/holopad/proc/clear_holo(mob/living/user) @@ -383,9 +389,35 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ if(istype(AI) && AI.current == src) AI.current = null masters -= user // Discard AI from the list of those who use holopad + qdel(holorays[user]) + holorays -= user SetLightsAndPower() return TRUE +/obj/machinery/hologram/holopad/proc/update_holoray(mob/living/user, turf/new_turf) + var/obj/effect/overlay/holo_pad_hologram/holo = masters[user] + var/obj/effect/overlay/holoray/ray = holorays[user] + var/disty = holo.y - ray.y + var/distx = holo.x - ray.x + var/newangle + if(!disty) + if(distx >= 0) + newangle = 90 + else + newangle = 270 + else + newangle = arctan(distx/disty) + if(disty < 0) + newangle += 180 + else if(distx < 0) + newangle += 360 + var/matrix/M = matrix() + if (get_dist(get_turf(holo),new_turf) <= 1) + animate(ray, transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle),time = 1) + else + ray.transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle) + + /obj/effect/overlay/holo_pad_hologram var/mob/living/Impersonation var/datum/holocall/HC @@ -404,6 +436,19 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return Impersonation.examine(user) return ..() + +/obj/effect/overlay/holoray + name = "holoray" + icon = 'icons/effects/96x96.dmi' + icon_state = "holoray" + layer = FLY_LAYER + density = FALSE + anchored = TRUE + mouse_opacity = 1 + pixel_x = -32 + pixel_y = -32 + alpha = 100 + /* * Other Stuff: Is this even used? */ diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi index 9111297a2669ed0a201899659c18fa6edb511907..a7a8a11b111edd45fcc45ef8061ec4ed3929003f 100644 GIT binary patch delta 37933 zcmZ6y1zZ$i+dfKz(x7w*C@3IED;*M&3eqLr-8pnf3eo~1B`w`7jkJI?EF~>0&B89b zXMF$P`JeYYKiJ)woo9yOj_bOg>$#_6hAR4;Dw!JSCcwkMz_^_w%fZ0FwDNzi=lR;o z!@}Lp)zi+!83V)jOQ)8a3l_@*ab8H+UK-gIc4Ks>VD?}*Dso)K@0fyIIHVDUU{duI za&!u?{mGU*HkL!w@hr%=v#Qy%RX>&VLPku*!N5(XE>)+tP$($tQ>EOh_o@3ma@Of= zb@s=A))KzK%oj^BQv8lDH5kah34}|Fg6``4k$4jgC9mkYQ)qW@1IoTS1qiNtiHj7d z9zIvNSa`d;e&t)Ji|y}MNKH-8q_I?v&xYST#Ok!JUhqNQpeICosYzo-i|J}1g5Wep zqbFAZc1z;u$V%rZabbK;Vq!Hg*> zv7yR0NFN6F;N;h;%!h4vBy;b247>B_PvG!ArZnR3*>!j1K~9-lbfX`o&^NpjeZ9+8 zF8GFo?b#C*$NichMmS@{Cn74jBU(gBN`csx_!mF|t<|=~v+rKdZfY)OWVd;1m1lk0?w6*d-^=($`*nysa|Ywv(LlNVt>i@mtc7 zlds=!oaABK?Qa9j4yvuq9E7^#ms&FQr%aYR2&V`a1N03;858(aW!PEddLKTM`!Jev znc2$PUU5cFzAF^x!OF!cR?$}8&U6)XY`6bO zU5!qJ9GzxpvRaMtn83oadSnM0yFCa40)DiHR7vzJkfh!-e@|8?9+~eD_I^}o0n42A zxl51!3o0`MTe^Nnl6t%=gG__|_cF#Iqni?@j*t5sC_lOxc$7cal;T0kCjkT=TqGO3 zvgy$eQKP%Av5>t}YA)meU@<0Dc|xu9>}^&lG%YjhLqV8r!rm#V|}mKUWrKDftOV`vm|B2 z`p`Tf^cGEb_b>%p?qGyeWTxbgf_aDFwL8@dL|e{O)6%2?qxsi-paHTSo>UEK_k)YB za)o;x`7G-kSM&`A8O(1u8z4S>FwVa_y@sq=0INc;I9~_(IbOTOXpyLy`lylI7<1e% zPnC)5VPD%6-L|RCh|f0${A@XX5j?7A;ZrJFg!6XVqjU0`vQ_j*nm*>&80=i?%8z9imu4$%&s zgJOyYQly;9X06>B%34L{*j}8>3C^av4$*2@O9#+QpCs_of5!`R&Y zC`8@x1;BJGZ1N$?C@#4JVu!#?;(d($R#8rMhj01ZeH=CzHnkIP?lHJG{n^|hX{s2` zDO?&aToRw2n(y}oS#(CtUqN1HCbf3<>RclUUsR_RgKuq#Z&g2sX_@)H+qRS zdEwT(UuPm@nD^BR9%w4!sbL-w{l(%Fcx$-e6*0xY?m?qrR!Jt07a7HkotyVs2@}dD z8?&)HDC_XS?5p>WA8wt8vID_^RL1Zdn!1GdHo{h`=}Sj7uNdLcQ$~+b1w*El8@xL3 zI5_|wHxwf^v<~j5@Ck%1;dvV?A)joOX&{5z(0$nm)5oZ=xu5-}KYoPa%5s1H`s}eJ zWh~^;GFdD{I!S&L=8vS7K(*WSpj+@>xO&P~LirBk(^AXNPgc}QkM|8kj_r$&kNG-` zN~^FpntZnW?~^_vLFUOVwT0i^NnX5k1Xeh#fcwz7E!!6MFN;Ec;qS3Uf>7oJ8}>7T z^S8_X7JlJu2N>5x`-Q(nsN@gA59e!4R~HxkBocNn-HVT5rIMG=Fid0+NDT$ib+beO6Np>J z_0fF9%C1SP+ty&lj0F1r)XzgGBvl?}uc5BCNrU#} zc&~#AU&Agn+M1?c8SDH7sGFLbA;cYDmX4N=GXmONw6(VjsinE<#Ap3fQyF1a*~r&g zjRL{#=l}%~Gkz6qWlmNJ1;2<1GG(4VXSosOvuOSfVZt-b= zG(W9nn@aDWDS1w>&vg>JseXbX&EJN6-0ejCgGGF3U5+#zk5V*%l2f6)lq8!y^TY}2 zr>hcorb4ZgNq}P67V{pQS}DsyJ4*Y00j{RJOXg^Ib{?iT`P)#nD`q)#2*%$v@Pp+Z4Xpqw@De6zsyXvF3M_vRH~_ zt+8?k8Yitu#uwcStZgwT^FJz5MdB{L z{IC;h&E)E(gbdo`r36}cP)SM3*EfU)EdEGblh}UKs zzajb{bH*z1-DGj*S9xtf^AXpsH?v0gC?<9sn|Nad-cJb{2_Ijz`3tXu!G{cV(7^9D zwQT}7zYC1i-}o3sSFbsX9}aeuThxh;1O#kjYjm}} zzIq=|OiTc?7dJV>KZ$g!jW$4xe6Q`*$URyitt)aZI;C=5dZ*AHG)w*@v~5e%6yS(} zTR%J`Gv%P`(TyG4Uc(ggGR9`8m^(Hz;IkGxs$@zXM6Vp2?l+%Lh{0SDS5DJ3uxn=d zH)G~2wBZ4rux&6Z)5*+9eOt@RyK0-S%QS*Gft41wEm3^pVXq@o?CN_gCL}DCVqF!_ zjiSh!BFF+*BC7J<-PL)x$?R7dHv6LQu31bes#+wzf*D`HcbJ)}Bxz1&gFZ@NxHy4i{p zm7~*6Judofl&V~n&74MpSNmTWWOP7)T+F{SeX;8q<4iBYB4S|5nA0>FVa3bnJd!>@Hs2ZJ$YtCxz|A@K)w281BSFR$ugVj=xo zw~*`E<~1M~QJ<5O^Y`eewz2W@vi+2{7+x#$*^0!C21RJ`t_WR+8`k4= zGi#D8LsjGTy7vlY+Hh5FITyED?}NIoDb%v2**=a5TTiHb#kX@MYs{=xTlfy%Dwo%L z$BAKfLWNZQ`#y=Vt?^YFyr5V9mRecgnzK|2veQj3ryzwT*(#+Hqn$hhZ-GvgUaH+2 z4X{KQZ}9F#zA1`a(m!iB{9`v?7*x|fA^p8&?j1qg2p%f>9ITVE=i>UM`rrRjJfp@& zi@`N0(Bh}MU>(4PJ? z;IFQUBJ*}$X*n%jUS3}NJHmX~?6U=%Xr(_V>lN|w_O3RC1P9sJ*zEe-@A@w_&m$oAB+OtxX%gvpgz+D=>h%-_S z-A=YS3YM+Z>s;L#q39HEpyJw3+Y}SU1W!%#=$+A!8fQlKFrVbCA)|bte$k#Qq26u5 zas+GSvPg-OYdfMK##yx4P|$WHwFw-tcDK5AhbS*c6>*Px9p$x+WIk-@UcOhd_%+w% z*F>|ewc+pj=LelC+$BK9cb{h4l8o=AIowxGwk0{gXNZ?>BK$>r#)dNeU$;N~;T7t@ z|7B`HxQ|x;hr85;aQ}(zhpY{IA)MwMjOU|>i+Izr6qynUP7k+UeLYX-p9)j(aRs3p zOL7Sa$oYXHrSZ*In+7#itMK1|L&nq`&%mHbpjsORjX+Tzwi@7-A8VtY3kX0W9C$6V zpMP2G7o_aSS|1~Da1YGc0#h`{FtVA#M&1bRP`GiZMd0Zp(Z+4T(z@P$V)J_Q`SqGM z=T4=kv=twPwDqY>%*67`o3VqJr`$Wk=Z(=5E?TPI%%mvwf!?k%?fcm z6^ zt0tWbf|d~$+-<&FZfa3rt;|6AG=asx{EA&XO;_fVB3Yv^pOqpqbg0QsFrsQOr=@zV^xo7oJ;PPPx)t2XCdR9#Ya>Ve zxu)NH>reU@FRkTs?8k&Hx3V3-$mWZrU;-UNRvoX37cxsG-H1=zH|uLNWY?@M3u%>k zLv9=7NHr1wv9(^|j33sN^Umhucsy#dozFC%PyUqDi}XlY@1Le2APM}SZ*d=z|J|{b ztR1~B;|X00dCydURo+h3cJ5DGj<4N!%fA}!}o#JE#CPP((7&zU_1!W z-e3fX-{cG8wDG=U6lgz`i1?HD{VuiKrHH{NkTmq&3nS8rKmH6{zeN%_KI8XA!hX@o z?R;NrU%IwOd~5EMN)Koo3@Y^V0*LI^%$!X6A<-Yh@z(15i!|_?2wAGH4zV(VP%GwW<%3m+^TG`nE>omE2Y{_o!4&`9Tfo^7TwU>Vl0K4Ie_==VI!m1Kau7=wv7+ zs-V0a+ib+8>!w8S6{^M`phSJtOS+zn#XFu4O%lJmn883IccozQYmiN{E$R=m3!OQq z%L#0qUDJrWRoIR4ywAG_4gf;G?Bik2Cgqjw%@4@SH#n~iik=iH+U3}Dmb_8437jxk zGFR0RY=|S*PaX1aR7-RKgyt-#;Ef;GA5RPl+4LxixDaf1W0|qc;L}o8J_?AcQD>RY zlG*jnvVF#7aM1#uz(M%Y?LGkgqUktBQ#`D}msK*BkD$yCzW^XI*X`8xeV zYuM;eba+3+q)!U=kC6^eONW@#BTo|lOwysQ$WZm?JAf3Ps}Elbb>ZIQ!HJK@i(F0B z=m4701532blqj&Z9YS(`#dv;QBjA2~Xi#|tG`lfbsB#>jnI2AO-rji!RSQv(B69bU zv!_tPUABaa)C+)S*Funmpg6ei7l`UV5sIduOwHeGB?^Iy1a!c(-gT$ z9bMHK)aYY8H~a2*R9E}SXp5xpCGyya^yD-NU|6U@jIJJ1=D(JVcoacaNq1Mn5kK&_ev}LYgi8RQ(_JJxopYV;V5xEFeS zxDfU8o}Bz-|K34v00W!Dt8~v5iOT>?y6WKpyAME=^5C&YCko1C5&QM9zp;LPro~&Q z6X-l-y82vp>})(QqF6ZPvHFU)^Fos*L80SjCns=&(6r^A_&-Sui#wI~3HAjj)QRiO z`>vu2#bg8b*+OY$nC;P+dX9}ZQz%+f?!H z+Le@Px9P&OmzY}mob{>AZmTZuQWLUmF_Lzs2*tDH<$OJOY5Qgxc>S?1Y}LEIAU!ou zlbriwi)SK7cwMV8W-;Dj^=utnCp;RwYA3Z5HUyk%vfI<=6demSYO|-Xx?ql)xMaIc zUZ;ze?^I=U?{(O;ErIW6wEB|tpnvgENkV9FE+p@|NQc@WKyC0Km-~UJk?goXfC1i% zFCSQ;`9^C4gnoY_fW{;*rs`SYB)(cm&Ds@)T?^B0Vd(j*3hq(YyW2}fme*@XNCkq8 zC2)e>$c$Xa7i)G|J5JHj9!hxn6jsTB{HF;uJFjl;i~~7=pmU(D!FQr!Vq)_#gO_zl z(3_&5Rj=T}k5A&2k1N*#{^qL^4F`wcohgagE$bgjg=|%(6?2cSRjAY4H%hm%&5jaT z3p~&0wn^H zqy(V8oA+G2)X5MtLNL*kVxAmbhX~eN+bwf%Wgkm)9jBR5x22|3?F`jdwcVu`Ttx(i zd-DyBaWr_TM$C?Jw6G5evN@(&EMqN4%9OsfwejL^-zXH3ehgC~zZsaAwuBnRJ=>W`oR|MqNTcI*1)}AzEt%=iRM*` zeqCnKiu+wR&6jvB=9E_Svg7*>} zj*0}I8V`9TEn=}a)R_x|+`X2BhoY{~+R4vPmXbg*gahY~P9ZR|y}Z{C<-Y35eFMy_ zraMG$jBIFDMlt3Z19*=r_ZFZX_)7S}*Q>o+qyqi^`J@6rdq|t7-Ri#>y68(&v=>LC&m~yL?=^dQ z4G;jGV7_r#cw1{4)?{=p^>-e<=hDw5ozjh6EQSnsod%?x^965Y4!TTN^!vA?rN=T= zVTkfB+(3?q6AqBit((z?QmE4;zk{+;-`o9CNM0Q`_UPMPm!Q8E%-FzJz-a!1e)?KD ziM4sKP=xCv@mCQim!ETQ4ZD3rvAqKV5Qnlc$8gg$tDEcY{P)_IRdw7qAP=lWib9r- z44n|)-ans@*r#!ix=ifXfaUMFzM$|+#aU$H~a-bzGn#{ zd_+rPi~@22je;R^$uR(iWdCc9RfC!dcv?AE^Y66Q7%!#_Jl9X+-CLs8A?jWX=WeQD zX$e$r6oPrF591!3HA&kLMu?^w-a;c16MKI!);2X}9}g}j%|-rumH9*Y<9GuNG~vyFDf)hQ@P5GGJ1O#mQrDiLNPn zi|gbKgIj+mV7sj{u>x=uIYz-=`hZ3@*VcAnu0@-cm-`oUtNce|kUY`3b<^J&2D zXlmn)IN>dW@^;4+Ww(`092?5UOkSXKG4Yo)?$+Fb?GaVExw*RF*{qe4DRS#x=BoQ6NLN6Ls;`h_zM3~LZYRu3yoVUs~7wStBK z+_vviH(0szkLWi4?2aiXtW>C{K?HDntbB8}#CYT9Bfb_+a;*$Y75x#=988vbebM!F zmDMs3{sK(y{7?Uq+ha!~3F51FlOKsm6ituo8viCxG`Q-Ws~*i>oA>clYT%>=5F&U2 z(IZAqzP)Sfw$cw4ij=$VEW;$TssYrUANHl0Y77N|vHx|#<-S!HsvUx8uR-sKK*-CI z4lzJw)b9?IM#WG2DFfks%*Xb}z4w#4bp3LpTWi3ijWAh-)=+e|10#~?`BeM>n{hts zZ*|;jEx~uUjSp+CHCZCuL3zMHTid8B&<}t8>S&pPSB_`qm{R57`KUOjSesiFg?v%mzIH*)C9e(m5I>-g-b;ZodKoA7$-JfwA4fc1c zK1B3trx)Y6KT6t&I3lo6Sn!Xx+l=@rXrZe0;ovwR@Rqq=n)+qVK#I~Z+_)P1%2;PJ zlkCYwUC8~ZC#I)-M1ZItV6ii)cdKOeTvWqk{a7fG@@t1)(bz9HtRh9iI`hyG2T!U# zs)8r#!AKS~j-z7~#$B2AAvbQ@WMLW3>Tg4R-K0M-s9aT(FOW~ys{ZEdlO z1KbR&N;Kgw#tiWxGKrD-_Cd<%!^+Q02ZNgFR(^+bRfo~DJ4Z0y(KEU!cpILPMn}zc z$DE3stFhs3+0oIF%RfyxiFEO9+jERd#Chc__b8~;`QyU3K-Gmo*08gXg;;oM&w^Kab1M*yQfM48%xY9c*;mENFV6 z6REt3C5$Mj=up5H)qLAtQ>MD(YXa=`#8}k5q3aj+E$pNvQHSpNoF7>Q)jU$~rlo;U zJ>k8=B2fr<N-+bA9fKVK~qU#LRsi4q=5az+{s;C_SE4ta8Y3Oh->sL7y2p}`fT(psiNHf+9Myq zkUEUB-tBkCS9#%wyZ-NsH8kp4UO#>EdMS7p++Rt90cZq_BH;q%OPe%gR;!o1w0C>! zeH*;}f`l}M#2?!zN`URlGgtPc)cj+QRH&K}f<7O$>$Yhj1Wee4Y3Y^r#Qnit;FYQS zOr*3g9ibO2*QN*PJ<*V!`&KXPhfU`R9ekrP$9f*cUGq*q=W3R~&X=HrC)#cusHKCO zR{lewQ1q%76P{~nyV|kY9gb+_D^xJYlEY9Pe;#4}Sbk`fgDZ+IGrutL@Q7!0TGwYT zBW*jl%3=y|T82VNxEcYNEo2_b=+H6axB9AJ#dKyhw;lN`bm5GyAtxiw@k)!top^4Wx#V5AgbZ9Z-r zVWgJ6>fks2@ZWe<%YutNgM6pea>);-B5B;Pb~+mbAvFv#g&n zxj$eS9_fDa-4pr`XZ?@CfKHxXjAPI5X1~gEXqYx$iKQRU1y2`R60B5!m5DH2i^&)0 zURC{_IS`VCQHoWTBKv>)urP!kB&ID0{zc&_I==gtI*Qp!KVlRvVOs+Be&-Mj48K)+!qfI<5*491;ABFfc`qKW4~jJg z*y)cgV=f*o#eDdB9YElih-_r=I*fKF?ORtYT7F+i>{I2s@21NIJk_1x~#c5iIyU&y*i$# z0l-1bsFP?=7Uewg0f`^<;ot&ir z_WEVrN~8}WR)c__UHX(?@{}|zL>0ErLxmZkNT$Lv;P{ItYT!)s=#Y>ADJlTnC7w zk>?nu73BwwC_WJL0l;HxFrhit!5u{0G!$Q1!Zym{>c$jyiHz1C=K88*!k^xG;{NL1 z{bv_yIH4R}K0sC*Kh4Dmi&ufGtbc@SztCkh+W&Ls^P&I4K>s|(tCJ*v#-GA4DGi9c z_^$DnSGKRw_objwY5UWNlX0*yTK&eFJaeXm!2+I=tsFGte2Y9NT? z_EG;nu;EAj;zYJmDo`Zd^tslK9nX(0814SeMX<(V%Fvb@1{~BQ(azf1ycgGC-7J1` zG<(Dq1Th?p|2?#i_A`&#r6##SEj(3=YP8D{wEgvUMyIv2Gsvm<*yZ}hztvQVWg)y~|?OE8c5QbR^^Y2XquGplyRCV}j*y#UzNpM4=-2V~Ldf(yO8@*^woQDo? zZ)`&%t7$yQJpEcCm4v>x8N8n^HF)oQgTk0A@Fx>IVgB!%+WJZ;6f#=(`!BswHklyw zS=hX9={Bw0j|#~ZsFUdvfa+it>oNw}khdf(44V2yb!9K>ak&vu znVpY_s7owPGH_s&KoBX|z@c#~`M>{4Ue&1_Zk z#~AJqh7G%l9QuU*|4a<}UwzjaY(lCbiowh9c{TCJx5AaDFNeWK2&!PQASUlh zx0`~wV|77*-|7;G`$^UXlU5>07AK-k>7KG8wu*i9^wggA601NvTEYR8I=@d42#A|U zEf~YYJ%9r;6vggiNx#jc$+ah_VKT|jQc3^Y7seeE0~qQBO|;318imhXbriQoAL!+5 zs0t2#8Fy89(x<9eQ>43}Ya96L4MBEG$pf+!GHHUi_m7I?mEJyE(Xo%4!^@IqQ{A_` zuy#Uz5&1s$%`9tgPn#cs4=un0oo>KGeYlnpFonHUs zeq;rHeCNJ^H-8^1B&_dUD-=LH{ofH2UMwI0#$`Oy(0be-H|`(c-2w^=-VsiOssg=D z`b$*Ad=B@Ga-M|iT@tRqdhjWDe#p0VIw zrF@coT}Nz`{#5d|kZ4VzS!JOayQQ39?^ss1D0bCGO>LFQM!uP0TGKPfLVu+EX3b_F zzM=v4N~Cmv?AzD#0YiW(JBp=F_fex9XVS=XQNr()@-|Gy3rs-V#L;~K{o?$8C02N; zmPiPxFJtcW6Lz}h5?YHxz7pDjNwui`uK8DU52i4jL8V8S&OxxpzEaz_!u%BzHSvcJ zHzdYb>|{M`4T>=|_FP`~d&V94dx=C{e#r+;0w2>WzYi(Q zh~q$i3L!llE4KQgo&dRU>dcbv-*gWAj)hy;u{xXa{dDp_C>)+ZOZs*3;XXnDu51hw z+E?N;i3AEWEx>cE>+#R~DmsF(5P9m7p|#}g9kWfT{{||2-BNo1qqMQ)RRpU) zZH}8@@G_q@U(avKCDEZdizWZh@pbQ3<{o605Jv0hr4Hff2`6PmclP4P`p`v4bJvq` z^yx~IVamq5sj)1V;bK%4IhAmkYJD)K!5g4o?2+}`xE-{VFkjocPhf5eC1L1 zj#47!1}klzV9Jk;xuvlTaDX2^MCm61R1)2d>PRpCc&{^*a+uaLO2PFfk|92b1+Y)>iRPEeLKh1oE87T(#nP0>Wc_M;f@D>hC3_`&}cbi`-M6^cBq+4=GP)k=C1hqW9}Pz`i1VYv`?3=>H9wPs>2AzH3P=uBAIjqe*1FMW==_l;i9 zx9B9M7@z-$p{zaM&CpfzY!0ejuz&QSdy>`;+3%IYa$VyIoqfTnnoE%eLUevjRBP*;F&KIQsI) zSMy%cuPtT@G|fkDrGh;yGXB#Hf;ay2N=Kh$Sp*WMX{#Fr36q{ZSX4?;6KoP*aEr3j zo}|f;K%L|N|Dcg%wHbs)D|MT|MKDXJ_Ew9G9jAE|1ZUtTlft&tY)gxo-sJOG?cNLt zYJkYc!5Zx{g{porT$9a?k0wgI*Tf&BeWevFR54;OSktyXF%`((51)8DGO*M=$a48~ zwy^5dI^J%_QZ2Nqa97afJTqabpRRwRD7(dEGyE~>)LL1?(^1X$+OtsJA+1fRL2l1Y zsaR4*DzYY&WUV57C>%#d%c(HX*Pgq?>k zPNb|>6M#}r#-2T-IZnB%gr;z(}v0~%9HH* zJ7=}SY-AmLNO5kc@uMXuYv2g%_sOum5-uyvu=}?>cdv;1&(N6U!iQjovA=iZ^`swdA50Q1$;-6=eBmJ@M&00HyPM~|1HM^X z+u1xn>L}Ldei4T!Ad)GsVkpvZPFJs2q^r{Y-ENn7eC5}e!BW=1n8eXaNz)VS623TY z|6*#~BXd=W=RoG_NEYzII@qBXIfoawyf4)Gx?cCK2JaKpVmMej7S>Qp-HZuzZ~yyX zPlmvUZTO`-!S@G`X4;jP&plVRJ)vI_GcZpE*e5j1XyGR_@!iD8-6ZI~#t}$6niifP zN3ylHiY7u%zW3SU4VX7u2W~}qfLTQQ#oJQ=Vnccoyif&FSxZTCuFLco*y2JjSg&@l zk2mgE7wBSb;n*2l&!#HYll8fHVF!oJO?b#Kw0XTPMNHC~mV}8QC4_^WIsF-7Y8-UE zfj~Rv^Cz0nWF|%Gk6g*htc?l>Ax(5;0v+RS!irf~xx2oGuO|y*Hzw!G^`eGL-u?y1 z(hon#`ICL)AE_hSrA=(_l^Xh8*bjWx)A(NcYP?dfOQfE`aQ9`!3nx|YZDPF&g2Bzo zIHnH{ZWELpD#)Nf(obHNKgPmlw|L2ApP)ETbqUJIH3z2O8?bmqHDQ+Z7>3rfV&oJbim4uV#`p60_w*H5j&eXh|= zr!Wd4q=weezcIw8=owOCbO3)yz@V;jWdqF&kFcG!VM9GJ)eP~$J{553nQHAKE0ObS zLioiIdsl9erXpL%vmXi@#))c!na%eJ_%>3`;nGB%UU}<}BH+j28V;d|K^N7I2XZb? zl<$X~Jtc<(+!OrDf0FfjUvF1uk*LNaY#t|LqjPYP$Ysmmy^9cZ*fs>8{BSKrnT#+b zWTe-x>Wy)qlm>FBq5d8aXU8PbJwrZjqQ2_ayUeg=@5uF|s-Hedi0}6zU9EhLRa20ZPbrgE5L{xUyiu_(uLM){}3Tf35HmcK6zDk=U!UXGCPG(5X)5CklZX)}% z2=5s#f9lic@3N$=D9WD5KKo4dlG0U&HBHuv)t||Oe7Z zk^~>7dtJA@v|YaVCmWq_HXt=tfz-$Vban->fw>mf8RlQ}HOoGGk-$c<+MZ&ROK_P!G+#zD* zooLl7P=3Sza?eve3G(_Crb+Dy*u&>ZEQ(?|T~iruo`^($9a3l8)UuK{!WRIrf{7h5 znqxGSZ2Hk}es{wt(a|s3VtORa{h56wgHS>06X-h+CRky~zv#zC@`5m;Qh{topaC+D zY%u0$&HnAI#r}g8;Wm2oF$(RoxmFyC-alyh&#;r^Q>jn?rYc2TjTXy%P7;IM!gjlq z2VJM_?E~h3OZWg3&$=trsrkn^&hqP;8an}_oUQootOsfi*iirYOZc3*VRV&5Q)A1V zg`tM)e%fCsS-499q6VW#Rw;H&+6F7j#*t|GUk7 z#XlxK)by(9(}KdfT6Y7}e3$@<4L6HknA2&~fL^!@aZ}^M5<7}yd8uEj$aT;4!?O;( zwsmbHk;%uRsXxUzMuqH)H1Dh;C+KUBs~u z@KeQf35Rvw;v7IkOOgH~@OEmxV?}vJfc2c!DL5(=-D*n=dIH}!JrtdFK=3bXH2#w* z*o@)-K#cMfHr<*X&&bHHYdyDYJ zsj1e-I*GU*J+@{PepUTxLAc1VFZ2UrlhDGTnZ1fwbLP^+3$1nB=aP5iyO?jTZzPu^NTyhKy*vgQsWAGpa*^_2hA#_u@MFE}bXL zMbgFi)uNo9RBLArZp9A?o%V$JP{9nsoPIdPIT4izH=I*x85%jA&QW~9wjuAihU33B zh@iiT>o+AU>c1bV%?X@NzKdj~-~K}>56Us`q9z7^j(w0z^uRoN$YL1_VTIc|GXH^* zvpo6~D;0}=z%pbr2K?G8Q#0S2OzoFCAv90#!$9sfz@&<=!!l#tf9?MSi>E2{oeFFf z4%sL)-GU>di^)pa`cQYIpU%6{$ltqbcXy#bgVup7gCR&efClqsPV^(_mA-Ctr6&XE ztA7r$pzpR@wac5!rOLFH6@zso z&^H(5ZEZ(QCE(Mtv|c5zm*gHbhDZ)jp%Q<^lq>6;ws3vshtH$rm`w9nf#97=LfZXO zqU!VoAgefw^CPjM@Vh@2NlZ3-vR}h`{S{raUwn*mNzaCL-1{OB7d_pznx~Yk|y{>VHJ9Q-vXy9?YBZ?El{Ew>I*)@=Fz#kcV3Uoq${>%E#V*@qcu42=`g}pDaO(f?p^MZGbfa znFItZthPYl3QNk$G0w3#put+@VMjdiv8FuOkMOPyt>QJyPSA5Neg2|xP`HRfk;(?^ zXzbSnQJisjRwI1wTl_sX2Vl`tC}*iwsLAm`VnS^3Pp6+ANh4UI=Sth3I{62o1CNy_ z?#F*>sG@MH$b9}_#vszJB1U99XbU*Oa?viL_0e`~xG zV6`sM(^O^L$_DSPlSMl}%duO)J!ReIPv;xrXl_@=+z<5CCC0T9j1mAl!KOrqAhn~~ zVfbZJPgb^f)7RWtZg0b}%ARKSQxV5DFl}NXr9X{-p4%23a6i&kLS9RBL#MWQ<(Eg8 zfPsc#urPCY-o&>sxXJU-_wXmXg(nk6+>=LdN4+3?mEX2VHE;VN(!=*S&y^(9k&31N z@awr+Acd$uNFFYLlG}A>hVQ@485HjII}_($jAxJYIQ~e9!$ldrkgNF2t0)(ZE}t#5 zlEWtWTtMLyFf}yt;GyW7JrdMk^j+xxq)8k|HTy4-1F0bLNlC%?u7Is*DRfA54BD8( zezdZ0;=#fM++IQOyt>JSD5$!WzTuo$wH=6bQaGKpUJ#8Ntoh_iJ%82YA=kOA32R!A zk8>nuv*>-|(DIo!?+Xo&6OFL&(hH`5y4r_@pb!#JpuqEeg-syhJb7s&rL)+P$6opTYJeBl)8gww>5 zE>>=kmsNue1N{$Xz9e!ap47%SY0h;;X5VdJx)?CB&MRO z{T%q%`t*dAt-~`aj{(Q(#oWacnJP*E9lu0NN4+RUNpmBe>3d;Igh^Cri@Xm$Jz^X2 z_;ivoU~LPm$!uxzvA_j_ls1lnfTD&it{SSAez~(h=Pa6#^z}DzsS_arW(qF`#DDx^ zmxea^mqE-`TWfs(gJO68sgoI_0UzS~O#CQCIvJvPNdet<+*Vu1(!t)Dc7kj-GXFKob-q7SMVaM!r4((AbLt+ib1~Z3I z{zd+Hkpvp!x`Gx<*(SS4=*iDda;jm;t@s;}$rK$NzL6rV@Yeo$3K8vsT+XTE{a=5r z$FBKng~oxFj*Ro3-x1e`@rGVJS6_wHurSwtb^ZCu~DMGTS3#KU(!NteGzbL(X+@hh0Z zC9X!$bD;dAdl5%|MxIeee$=0Y7dKb0f#Vmh%ij~xM`lWKof92$`;Us{zk@h*9dj6p zcApi|&XS#S@;;RvD+PUJF0`sx^fQp50n9c~rddTf^v@S|Hc(9EZ)uF1lg3z~Psz^K zvGKaa%0AtBp5f-U3`R)cjY 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 Date: Fri, 16 Feb 2018 02:28:52 -0500 Subject: [PATCH 037/287] more feedback tweaks --- code/game/machinery/hologram.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 3c2c53d68c4..6ea34fbcbf8 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -146,7 +146,7 @@ var/list/holopads = list() for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad != src) - dat += "Answer call from [get_area(HC.calling_holopad)].
" + dat += "Answer call from [get_area(HC.calling_holopad)].
" one_unanswered_call = TRUE else one_answered_call = TRUE @@ -157,10 +157,10 @@ var/list/holopads = list() for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad == src) - dat += "Disconnect call from [HC.user].
" + dat += "Disconnect call from [HC.user].
" - var/datum/browser/popup = new(user, "holopad", name, 300, 130) + var/datum/browser/popup = new(user, "holopad", name, 400, 300) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() @@ -211,13 +211,13 @@ var/list/holopads = list() else if(href_list["connectcall"]) var/datum/holocall/call_to_connect = locateUID(href_list["connectcall"]) - if(!qdeleted(call_to_connect)) + if(exists(call_to_connect) && (call_to_connect in holo_calls)) call_to_connect.Answer(src) temp = "" else if(href_list["disconnectcall"]) var/datum/holocall/call_to_disconnect = locateUID(href_list["disconnectcall"]) - if(!qdeleted(call_to_disconnect)) + if(exists(call_to_disconnect) && (call_to_disconnect in holo_calls)) call_to_disconnect.Disconnect(src) temp = "" From 8562b345fdd8db9db644c5e7d23b00d2f6c8c702 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 3 Mar 2018 02:18:08 -0500 Subject: [PATCH 038/287] feedback changes..partly --- code/datums/holocall.dm | 5 +++-- code/game/machinery/hologram.dm | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index dd150702bd2..f041d64a70b 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -31,8 +31,9 @@ var/obj/machinery/hologram/holopad/H = I if(!qdeleted(H) && !(H.stat & NOPOWER)) dialed_holopads += H + var/area/area = get_area(H) LAZYADD(H.holo_calls, src) - H.atom_say("Incoming call from [caller]!") + H.atom_say("[area] pad beeps: Incoming call from [caller]!") if(!dialed_holopads.len) calling_holopad.atom_say("Connection failure.") @@ -48,7 +49,7 @@ user.reset_perspective() user.remote_control = null - if(!qdeleted(eye)) + if(exists(eye)) if(user_good && user.client) for(var/datum/camerachunk/chunk in eye.visibleCameraChunks) chunk.remove(eye) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 6ea34fbcbf8..618a04eb5fe 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -159,8 +159,8 @@ var/list/holopads = list() if(HC.connected_holopad == src) dat += "Disconnect call from [HC.user].
" - - var/datum/browser/popup = new(user, "holopad", name, 400, 300) + var/area/area = get_area(src) + var/datum/browser/popup = new(user, "holopad", "[area] holopad", 400, 300) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() @@ -211,7 +211,7 @@ var/list/holopads = list() else if(href_list["connectcall"]) var/datum/holocall/call_to_connect = locateUID(href_list["connectcall"]) - if(exists(call_to_connect) && (call_to_connect in holo_calls)) + if(!qdeleted(call_to_connect) && (call_to_connect in holo_calls)) call_to_connect.Answer(src) temp = "" @@ -232,12 +232,14 @@ var/list/holopads = list() /obj/machinery/hologram/holopad/attack_ai(mob/living/silicon/ai/user) if(!istype(user)) return + if(outgoing_call) + return /*There are pretty much only three ways to interact here. I don't need to check for client since they're clicking on an object. This may change in the future but for now will suffice.*/ if(user.eyeobj.loc != loc)//Set client eye on the object if it's not already. user.eyeobj.setLoc(get_turf(src)) - else if(!masters[user])//If there is no hologram, possibly make one. + else if(!LAZYLEN(masters) || !masters[user])//If there is no hologram, possibly make one. activate_holo(user, 1) else//If there is a hologram, remove it. clear_holo(user) @@ -263,7 +265,8 @@ var/list/holopads = list() var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) clear_holo(AI) - pad_close.activate_holo(AI, 1) + if(!pad_close.outgoing_call) + pad_close.activate_holo(AI, 1) else continue @@ -292,7 +295,7 @@ var/list/holopads = list() if(masters[user]) var/obj/effect/overlay/holo_pad_hologram/H = masters[user] H.setDir(get_dir(H.loc, new_turf)) - H.loc = new_turf + H.forceMove(new_turf) update_holoray(user, new_turf) if(ishuman(user)) var/area/holo_area = get_area(src) @@ -374,7 +377,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/mob/living/silicon/ai/AI = user if(istype(AI)) AI.current = src - h.forceMove(get_turf(AI.eyeobj)) SetLightsAndPower() update_holoray(user, get_turf(loc)) return TRUE @@ -412,7 +414,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ else if(distx < 0) newangle += 360 var/matrix/M = matrix() - if (get_dist(get_turf(holo),new_turf) <= 1) + if(get_dist(get_turf(holo),new_turf) <= 1) animate(ray, transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle),time = 1) else ray.transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle) From f3919f62a36dd32d09e7df10ed005f5c5d9d7b3b Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 3 Mar 2018 02:55:40 -0500 Subject: [PATCH 039/287] set_holo version --- code/game/machinery/hologram.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 618a04eb5fe..01f10f839b3 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -264,9 +264,10 @@ var/list/holopads = list() var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) + var/obj/effect/overlay/holo_pad_hologram/H = masters[master] clear_holo(AI) if(!pad_close.outgoing_call) - pad_close.activate_holo(AI, 1) + pad_close.set_holo(AI, H) else continue @@ -414,7 +415,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ else if(distx < 0) newangle += 360 var/matrix/M = matrix() - if(get_dist(get_turf(holo),new_turf) <= 1) + if(get_dist(get_turf(holo), new_turf) <= 1) animate(ray, transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle),time = 1) else ray.transform = turn(M.Scale(1,sqrt(distx*distx+disty*disty)),newangle) From 5c9e9803b396d6120266bfc17f4213e18678e857 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 5 Mar 2018 01:06:35 -0500 Subject: [PATCH 040/287] adds the ringing holopad icon --- code/game/machinery/hologram.dm | 18 ++++++++++++++++++ icons/obj/stationobjs.dmi | Bin 77220 -> 78383 bytes 2 files changed, 18 insertions(+) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 01f10f839b3..0e08ceed8a9 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -55,6 +55,7 @@ var/list/holopads = list() var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() var/obj/effect/overlay/holoray/ray + var/ringing = FALSE /obj/machinery/hologram/holopad/New() ..() @@ -268,6 +269,7 @@ var/list/holopads = list() clear_holo(AI) if(!pad_close.outgoing_call) pad_close.set_holo(AI, H) + continue else continue @@ -276,6 +278,8 @@ var/list/holopads = list() if(outgoing_call) outgoing_call.Check() + ringing = FALSE + for(var/I in holo_calls) var/datum/holocall/HC = I //Sanity check and skip if no longer valid call @@ -291,6 +295,9 @@ var/list/holopads = list() HC.Disconnect(src)//can't answer calls while calling else playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring! + ringing = TRUE + + update_icon() /obj/machinery/hologram/holopad/proc/move_hologram(mob/living/user, turf/new_turf) if(masters[user]) @@ -371,6 +378,17 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ else set_light(0) icon_state = "holopad0" + update_icon() + +/obj/machinery/hologram/holopad/update_icon() + var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) + if(ringing) + icon_state = "holopad_ringing" + else if(total_users) + icon_state = "holopad1" + else + icon_state = "holopad0" + /obj/machinery/hologram/holopad/proc/set_holo(mob/living/user, var/obj/effect/overlay/holo_pad_hologram/h) masters[user] = h diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 7c73065fb74d050f17d27578adb0f8b23f75297d..46e12a3ed6cb1569cf6c5a916224424f47e93620 100755 GIT binary patch delta 18299 zcmY(q2UrtP(>5FgMHEB?MF9!Yl_nho60lH|DovU}l-_#_EJa1SNUs5)PeoEW78-IXg4wp8L$?PE#S5sXlX4w8Zgn0X!zQ!ZlmG zHtsgTGsnW(L$5g1<1VOm^r7ZLEyJoLvvjW9b)ZDcaj!-)oy+3S@S8oc%j;)7gqs2S!(mY+Dw>=*1MVDe%+D2Lqn_H+u{4B?kR`v1*SHju~6? zdjV7$#4k&Sc93GFp6X@M+iK4qaPEs(pB)R~FO_Q&<42|N9kt4FZ{z0f0PSbq)KQA2 zU4bDq-9fyGZp_=-7FJ-V-hxDNm9gQcSy z^3O{et@?%PdeHTh_p6;?W}+ugfGV3__UoU2O;p^?BGlhmDC|_(hklshV0b1Eh&A)S z|I{Ga&%fI|;_)tt^QJ&t1R#G+qvl|#o0_{rxV5Clz#w%t_~gY%z|<5wLmv1=ZMT=% zLi10tg^#z3S*kMDzp6GbYPcBKw=ash@+S^51yolkj>%p-k=V+Pw`oF)a zbnz%cVq;6tf%$o@!svW;;_O9Dwehjq2Qm$X&HRcFB;>A+e7}xm5U&EPw_NzrVg?xU zLOrpns?`hb(yG8Ev3S4qhJ7 zv~^3C6@Nu`4<)+Z6CJ);RejdAX{?SgZju5_%f+V*OiEgn{q9-WAldZfa_OFW8CdWb zSbUgNDi^zAE$pVJzIs>#1Zi%ue#<+wiB6hLK9)x0p5fzqamp1m2J24lPhSwJp0`uU z-*&!ZW(%^7EFG;%mUMIlF+^r8{WZ@q-xlA#w!a^c;YH8M3~LSj4P`9XlqnK@;KD)x z4fzkZxm5}ZOo9}eKtn%S6l<60IJiz86;4IBiitpa1(O$z!_+N-!>#(-m&ohMD{=D7 z>uVJ(ka1>|3c_YNI;k-)*?+8+nqld$3r8gRrzPgaR>Hl(HKj|RT~}mtI>#hGiW&Gm z4G@{}I^BFx5cPn^I!8Hi=q8KQVHf_g+~_absamU!!ahosry85S#kv&JJ#A5 zdiO@;)KQ8VnP^U)Mab4&sh0*G-X>WH^E0w&W*p;6>pZId+1B0|B7LnJ(vN>_$G7Q9 zZq>lmQSXK%NTJ;~OZ47nPbCXW_>7P9?kDQEDRq1%?p45rU7@kR;zP5agvNaPl}4YB z2c=WF&*rv!d_rO4FwuqU5q_|_RT4SPIho;>5Spf6Q%KO z8cUyh&;z2H+KG_5+Abwu!Yoa_ow~C^gO1f_#S*-hv zb2%9&x3_===pb#zp<|oT323N`k$gp+*7&$4t#5XUMV;Ywmy+f?okw++4hOp-nd{r^ zY+m|I_PmlM=PGhzfscEPBa6?9&);WNMszqnC(opvmB6d#7WiobWLjqiil-{L|Bk6(WA(DzfyTKZQ0bZcwtxHb5q zfp?Q(c=BLZS&&&_%TBu_i*Q8CwM%z6{#@?$B^5p@(9+K=Dl2;=snAPkL=O)Sd&(l* zHODd2D0kqy-}@?ELqkL6-HnaKuxoe!b1u4va9al4OeDqC6TjxafG;v4aIJihed;W* z*|!c2uRHyNOT6yHCVgz;!4D3PgRSrRE;H|Q z9oX+sp3XL#l~|jEYdQ3Pvo@gtJzPNok+T4iGv>S>j_9D1{u{&!_NN8?c-M8q6maX} zkvZrU7j<2H3R2Y4qQAx_Gtcrq;iJK9HEp$!@rNVmQvkx&K|aU@=O(zbWTQm`nQ|>-j$ExmMi%(%|T58=XW)@$Ps$^4 zKUNMLZuOR1wD?LzzWj2201{}My$i_GCw$q0U3w)vNz8kCX5H*Yvw_Tbc7K5=XswhQ zRx1q0PiAdCa(k_Q5ISMkIO6yPEBdMoYDA=D8ocR?yg;H5JodhX&*cC5?NT70;F#TK zwB?zr1SG6&qN_hSpNAJgS?Gl?oeYX$mrg}_yD`xpEN|Y*8r#z$?u(h z^BcvkJ)!i^<0prP7L7$t!_r2QtZQ9%D^P#xk^PrIFtD~L&ZZ-4{M{Tnzeo5_NR|EG z;#l(D{+)K^#WRVw?X-}Ka-vIIjG&<1)`X%nhnd>ZLLE#GMafSM8)s)^S8n_f!+wGO zftt)KoP0WlJPoT)CQ()p0ByBoVbP?ivFi)$j zj35WNrImLfa(j5*uqUi`TQLb%4Y>~voj;|_wt!rkGu~Uj%tBuXJO63u0WN0Wptz}g@TF(_Kqr&=kPzDlHbWZWa8ZKnjX>z%_FSvp zlx7qGgSr4>I~@n=T-%aSjGl(RIpi{^RMG0BdxWywYZUVdWs+k#M#NNmc(tf zJFdyfPYrXsM&klPGZC$Dzhh)7f*bpN;p($hzE7sz@1HmBiamlVEx+VVc=4y&LNcI^ zR(FiKA*v18_Wt>S5p`n^JiqB=g^M4?i+dBX|BZY0NJ|nxJo_tzH>wIXg4=PF2BqsU zrUi-guAXVPN{?*&CMBk}9a-B_K=m|iE(Es0Zw_wEgjpN$Rs43Ay|SjKVQx%llD|D) z$BDQYl)TODfjPo7FH~FzYe`P`!%M0tg5fKUY^O`2>JI%&QNzj<;FR_5NLxm~zEFCL z7CLDVs0whHIU_wxgRsIRd#B?*}oUY+RE=ZlS*1O zyen6y4z6h7C>551zxKZ9SxBh5o5RHvEzm%!R`PwJMW<+*(nPQgBvYP>^i*(>m4(q* z09Aw^PScW^KGQIFXnafjWo4L7-2!JC>@Jy~`_m{t(iAJn&@iw`R=HNIy3#H3j4S{y zUs{XSl1!Z94&ay6)Z4g!Eqr7(jUU;asw`&tSW4dm411isoVv*+G4+ zu9nsTYoqHe^3Qs^59<$-84x%=N&xBwRiFOMAv||;utaIL6QBHXuC+-8TI*q;EM=zU%97nvW| z$ty@V!%ne5=@+gg@7>ux@+ma#d%_^%8NutBmJiw|`yDrp0&eAo7D$}$uqE@q8;dX_ zVlo!^sd@0c?A(U3nE4g7)&XaR`YMk^2H>st*${kE%}S$x?FKEWd{uV{ETM*kTlZr9dr^Szuo@2jXJRaZMVp#zVH zi$dc<(iWZ_x}VQUEv$Iekyh_mX9S}IcHDoT%=%M+Hc3@#bwEP?c^F!OnS|}q>ZUv} zM4cx7ygb6(xc7l;k%ac}$S5~Qv(Euic`w&_bmcQg4iE74&hL%yce!la!0`ZN7rgL< zaEjGg;diW)_6%&q3n*&3+a)IYf60OK52|>dj^cX4h;ci&LX$lbAhr6_G-#4UY9X0kVHMS>jnCpMEbZ6=YH38bRPD!y{ z$+VK#WTBe0OxY`$*HDrVAEkVz*GsEy&{0i9SCr_^j8V;XxI>EZgJN8JjI7$L`{^=! zr^x7QkEiN=D>fesT>^&}u$R7WU=b1$dR1w6lUFn2Q&tvxiE(B3DDAFf4zeD5CCh)O zrqIY7^xNjOVWs&bRYs6P-w=?i7QbcXJ)xzERUb|$gm|nR2SjXe%`~7tHOmz z4X@H5X8Znk?@l>RO;78-QPD`pwWLF>+X~_guIUjoj=hAe`y;drs{pNFs7hC;RKRMM zbivth@U%~#{wtK~Q3bz={|YQb{CkuhLfrZp2Tb~5SI^;!CHbXq4d=(^RbgPgm_oQ` zK;>aE_U4l=K}e$YP7PFA2ySIz^L#3-IG; zQ|7SatqegqOakHTCD^j&8t+PmG41MwK1_TdkHBqvH(~92`vh;0+v|a=BK6u)A<4sH z3NA;ZWzDLR@-e!fq|Lk-{+YsJK=V*>MqrlVLY0Vu6F~l$HM{-K(^EDVZrIs+FsEOx^c0n`ZRu-VuY! zo749t^-+-1=w$2Z+wjC5!P$)^u3jJB)nfT!LKq`2oNgAO3Fg6bfXOcq+c|r0}I1^h5@bvoHwW@z`KWg=fz1R>Oa#TTzt`hjm zJ8&qEc;tKL6Typ<+pQn2)c8yjE%qm{CrK#eO^G}jN+K|TaI`MZ2c%|seayrGU(;u5 z)6-NXj``7OWSZ3eX3vRKb3t3|5EX373+ejL?h`NSq&0a?^J7`c2b7F;hOSNUuB#GX z5lm@j!qB`Ujsn0kLYyUVyJmGU zxv!6{pPnxM2G?%jd)BS-%ic)Vz!Tm64MB02N{JlhTF;+^Wc(eY}fF5JLstIP} z)H2N>8LxPU_sb>siI-cgeWz&_Uo0K?NFp za&6}iS%WA**HD8D(rTqif<_^pn`2569Y~Yv{*wz^yz`XQ*UYiYUB7o5&wltF*@2qS zXQwyPwKD&K-pz28jobq;LiBF3=`8mpZvAZ;Ft=zmS#yMeDEUwPbiU~`1)7-=WSC+> zo|d(ZjW3A!4K1>N!}R15x6nlOMpf>iF0N6RXLl}MYmGEk?s`&5%yP{yj`;e+HY)_j zd$1^u2y$>6r&Gof5qe+I1zXnZDOzC&#_5zrTT6^1mlZ~UG!0K)hye4@CONyrcQgCC zG1)3=19U^mFiKp`4ATXsGowAw!=JLT-lXX)Dq=4^v1Xs|9@*r}SF`+MpeKLbC&n8Blr1l*c`M7i`dQgnh~>`Av(&1o5RTV6R3}zLvCHnF8ayiMmvZ? zoTjKumz;SQ6Cx)io-#@hnDw9xB4|B--s(JhPXC)LWN;W6ja0s+-`MYPi52~B4h5*s zEfhO=ruL*L&v(QG1(F@Dt9Nt>Id0EFug0NQpYUZB%w7vCV@g36vXoa z6+G%qxc(xkcD1{~aqxkIZ~lv@Psm9<$C=v1^DS%Whf@}ZmEm72=w#(A-`V)?#H>Fw z%W_tOw_zG0oUoPg>#%$kLVTDrz!}k2BLV#E0ZWncK6WU?$#B7I#Fph5AqzCde3+^7I5-hXVev?Iry&p zl=+w0(sXmHDz4O|TI}eibY{F>evgU0Un^hW3_hQ|;7&3A+5!J zWgKgxVK$7ah57sYe+8D1Q+m3u8+j3x2ipZ4p6lv`ClysSW{?O*4N?5AJA2!Gjlv#} zjnfaccxXZ_HmW1+Kq9+|VNR*9w|B8ru;U(r_gxCO-76JF2~Rp8%|?yXv&Vs_gR)$w z3V+wNC#Ae2MhKLB?%UZo^Bgw|BL}{epq;v1$RxM3Vp*gOFkT_DG>bv~sX#-cXX?C{ zCRY*d3(S481{jfqy&~GI#Zkq_e2w-cbW9=1{@CaT^afH~# zcwxj({H-&&Oq$VD4cMWsBqD3IX}rmKG*z2!dakNCO$+TlZ$ED+85}&QG79(23S|#N ziU%t>AOO5%(@7HaQ>i3MANNzG87A+@mPK6Rk*Vjy4+n-U-=z^zuJZ3&J>H&nUHHIk zF;naLd++htowcu|f@TU;Q+dqg9|(`!^xUlXMF+tfx$<0NI0^OVX*yXSM#B%N|9-_(PG0MS;&WV_{R5w<+|Fxd!63Nc=(*` z(te|R`_h-5^yNeKuWGMF^TG?vSp@Cu>@1WR2dM^zN?=gJ3BGtM>D-2fYOp zfo)XEt1k|`%dszhSijQfT;+KWBXP10jKyXOnH}D;R>YBs7a*L>Llw>BAI!~3IW@L+ zdNHgs_3ba3Nubj8{>6CN*0ow`5;VGK1+d(4J#TV=B_6g&?|wHx4%`g3`QFEz$;NC5r=*cpMI~rdd7*M!B^2l_Mbds*HUhj-?PBpDI!aK_irg!E*;^% za$DV>wC=N#7mzdk8WM2fb-=;HWA-(1yT`1otXzgc-`5H{wBODeS}z5xMkQ~G)E&kT zk%Or<@bL~cXzQ#`IzP%41mXaxJyp`X#ec>k2`r7HQ#z;1Qa1dUR-c&oU*euB63^j0 zy)zDfEUPmDdl3_58dRM7KNM`vw0`E+3~J`{1L%IZa~gOuh&b6X8)p4_D$E@Xx#&-S zxX`e4-YF470rEIGeskD)DT6HWmhahRVFZK%eSQYM!74He@@jCUT}1$p*Z$j*fT?TS z&526;>(^cyTh(V>V%md#(dEy_Q-Op7@8iKBD^2!~n^fG8 z{cx@Su)>rbCz8#@?HX$t;vF`9s|fYN-rbp*>97XsQv%uPJ?$tf=-n z?*8Twzu-@*pnRL)ctR{tc(@CM^j_u=&!TJ!UpgNGRRwN2uy=s29M@PQLS~%7O8Kr) z64Q?;g_AtV;_z4;yH@eY>L6=}D-9auJ>&j!%iB^C2dl z8#8`OGl;*WoomwfDPp@m-y}C(fu#Nld3S)t#nbHb9j$N9TiS7cE@|>O&-MRh(!;d~ zr~7w6a3J8=m$0_aD0BK6Difr`b^BDd=}b1J-uusyDKfC1;@Y7!=)6NVWmuzjZXM@F zcm+MBaOoHI(xW^*3tr-r(Yz~uf$!Au+aoJ=N=>LGQ{eul*-(_(Y21GOt`DkL4?rm_ z+*$RS;*)t;6#QnS^U^~r)+ur~GSx=MbqykKfgcCxpg}IyhhHh?&zm|gef;^2)n#KM z&Ic#$Z>s!bmSC*6%Zp=TY6z{6wLNRP{y+NwWa$s_TbmW=rMDdt=38qF{qL-s;+D?W z{CBC8V{Dq%7-+w#NCrthyn|tyRPd_@@7~>1nG^M&O!>(*0EE1ydV5>EoZ_2`^gOWU z&o_V${uaRJvOGbP;k&^fb!Rk4=NpSl_ZkDPA9~Jgf?JKpFK~4XjE~2Dy!4TQj&}Dr zv#FDTmX5Az@a?&IR1QT`rw*NY#Fh(|Eo0Q&qUedtdZ zKtSi0`DWI5XWVvIEA7WOc)2{o|NoCZL5Of=w|H{u{ojp}|LENZXZk5Gu|EreJUSyD z|7$P*;=pidJ#PNr_J*VBp;HP*9t*rs8;?)=x5)nYsX!T$&O7|K%kcoKJHe-@`$QpP zxKcVp#x}|Q4mA4fh1DOomq5=etzdY`RRWwo(yf+8XX~5C+I*iKSy3Xg+``utJ_#WIC@tzI%yK{ zSO2^>Sb9NO6y;-q)k<=I6R7>v{&xI7(%7e1H$*e5FF3db&%+_Dt77oIsC{*k?NuYd zCPeSK*dxEpHk=Yf4;q3Sd!36XH0!Lro}cReDH@9zEAmyvoF-G2l+<7Pu+n_|q6-gt zk6*_8EpUXOS{IzXa6H4} z;=b;fNmJ`l`CRQltNpPE0I!G5J`+|?hNf4$5{=R}l3G2ZI7JoMcnqJ|gpdl2XglV9#ScFRc<;5_t=YkH~roD3f~ z5IGZ9R^<;?n)#k|AQ*<#{BC83q2X%PbsBilC`<{*0B82sjTmQ?_!o1s;#et1=2UQV+vzo3^li2Ot}b zA3t|tDbAi;0DF02A}`(|$L_I$?~iXH7z6y1zWF1SU-IAadn*(JY3A;$h=V28plKXc zrykz-Cn);{J`|In8&7>yv9O6cZ{b5=7Ef3ELeE=z?^22T5=EIzFf~FuO8lMjxEt!- zA_vI;8>26I2h7!MNr>;tMv68p#4<2kB1cwA;Swq;$jaN9D#6-)ruTt$N}D+Q+XtLE zH5`q!(X|Yk+sO)jjw}^Cn!Qac18kcK>%QF!&w1bPF50St(dC-2d;{2N_nw`;?2qQ> zhm|o7Gl6&3OkOemwr^NC9T)Xreqscs!M}k5UPTy+Ap8>Af3S3nhtn3Xz${(5fB8(w zrk0@T%eC6vx{pkO9{Dler{~2*>@!%YBvV)3?`MMfJ6&8>I(sYeVF{f`z2Cs^djl`l zTy1F3i!iR9^#eWV2>Q7hD_DTB3pv8vGr92jVnz3ky}`@I)zceZ@(-Cz92p(txVbRE z$uHrxGN>56cHi&R(~}+U*rTA$24~+ZC#Y=sT$giOntA728oPq9r0G4u>0UuJM7Bzn zVs3n-Y&pkdoN3o2`R&XbLN`Zl`IoQ^|E((NjlwLZV+2;#7I)9xS8X3 zh3b9}iZPjtreDJ<|?on$$ZXDl=fXz7BZp>YWx!j4sTD2Zrocl0- z62Q6~nM92@yF8rpcgq}83H=<84R!Lso_T*2`GHj&bgR@%nU9oLP3m8MM23QQgZnm| z-_yiEk?SfD6ItO>PScLuhXS)L_qy<_w-v2wdXRynziwX-4PMU)@j9JH)>h3+JgM7+ zof9#YihNJzpxOAr&5;J1oS&qVWv-nQq%u)nJ{7upY9iXi!qY&CAlQ7(EK<7`b%k}2 zat{V9)1$g2yOU!*a6;GS)&cr%lcy4TlKDEgyf1yd(g4qAGV7jhB;P{*ixF5EnU>bG zSMOoVb3B=%#k@8X&6e${j=kUo)|a)#CLcK-#=+wgN=JP)jhc z|HhoKl)`6s!i=>!!R73WiO4CxaZwKSj}|gdN!h<}VvamFIPr_P7vZ~h8(v3v-B?t@ zCd^%T|1OZVBb$#aqDXKHq?*tuw>!UDky~?(w~+LlO53Q69nj1I;d<3xHjabr@Ee}0 zEDX-v-MuGBb^s9L+}-nSA8a>n@6`7W1umsvvUlxboSzsbfpDXbI6=)x2byP#c43TfH zWXX#XRKYa7o}$yV!&=1tZEDS?|M6Ld7i_9qLS1(5Ie`47F=vs<5{-3awY(N;-njd& zJBdIT_+$eQv|;>FKxn2mhc}La9${2;WD6fVH+5~mtU(ltY`734%f)#3xQIrwU{}>R z^_}_m7-lPjhC$4|*p`6++C81lQ`+nj|2IKT66bOB4}%hSA>Gkj_6V2y70j>_AA1*@w_KP%z0OXvSFPspe4qpd`1<&Q&wsiBU<4 z*OVE1gp+RkAO=$`#ISQ_5J7l6wjkG`dgTPTXT%G`XM#Z(d20imw?T~TK-w+k*t9VOJjmAUiWJ`aJ)LPUNbb#9|ZFpsZo*dk>DC#Itb{SyLV-Wi5-D-qZ~#j z5tyw*$uR2|_E@0xed^*Sr()ULfnn}N@WZ$$5xS4#pbKU2&b3eC#uHR?_5jH2Oi#3l z7sp9I8guT#BST6UL zP2IZK(#YQt`Mxm7jV#h@+4ga%0;3a8CGV1J*I{WDU-(X~KZ)!XQ@|@F2Lk9deF(BA z9!9*0u=f%`xm>o0O~M`#SUr*madz#Z&d3hccRKQJQR{VfJ=!iwK(*hlS<62ZSuYbg@b5xBP9zwe(oUsvl!Dj(DjUg8sZ1Ke$i$C_z0ZL}$r zQ^cU@qd|B&y(*E!7$jVa)%)Mi=n`!k`De~;!C z7wW#{G2oRn_Kq)md$*D?ZS@jLtoO?L$@;=(+I;9Lg(s88<8Ta_m$REd8T*Cv^d_xQ z32SyTVZ?$$kV&u^16B%6-cgU9X5p`0(~NW@DnX3hj1&ogCqh7U_p;hI(>1Q3asq$V z*U!<{DKxXFN8!J5N@rA_?MR)*%h}z`bEsM&4~BUh_8I62u9;z;3abnnrQpzn{KA)s z89KeQ6!NCh7DDBvh7SCIGbk27ObJB{uR^cjiD8dm%Hy|}J!2#BqB^ClDHLV5L4ur_ z>=3lr_&lJl`*PQ|%*urx9ON#TcCI;cW^@}SjFjT|$?Mh69CWn=7z9r+Q)sq&r)t?M z3&8zfYp0`(_AQ9tQ!P|)tAB829lA0n%~#j}+q>+iPZ6LPnht7Jo4-pVIClTe5rL&- ztmE4ws7;gBuekj#++u62v8uHwEKr8ZV}r|z1ee#nxRP{m8q>pvrx|}H$!2I4_O`g*|FoMP zrpdNEEAQKjoKcdI1-qzcx4)yj`L;-71T<%V3U{!4^jQMO>F5kq9Dk-}N}B=eE{D)! z&A2{GVs6dVY|2QqQqKooNVM*zKl_uM=)1(zLAWD`icgTo}ex_vyZZgGeyq=rt|@WzkbvdTwtOs@8-pc-0P?+ zJeRGp`s4dX!Z*n=3H}D+?r;_8Cgi2S$A_UF8e4zNA80|br4_?8E7X$B;uBgFmm4no z1np2hgT(4H74fP;DjpnZm&yg5)?npl-@%bIht97&pqDf>Ha+u%HPxG{p?Ynodsa(*sSG7t9=DTcf*W z=IWFb$61r{Vy@?1iRS{86GiyM*gqQI2(@nhy&?ik!wdHP6mv&t^KKy(EPaU#=fEua!QUDz~*7;dbMp zXwBQ_uNwbu)Z)_xQSDS$s(J`TXi?4mv*azoO+7A@@PTa*5)cm-_A>Bg_ZfTJIP{1p z@6enaH^+p3}A$E-7lx?L%s>TURNHIXH0rsRYku6G9_IAQ>0!%gnyU3tH14^ zZh_}gX{25|O=bZHN#tA^Ig*w)JKl&HWr z_jy4M%`?vG=5ILD)^Qn{v3)rG-BcnPdzbOHfm5?qDM5cC6PvnE*=jg>yc)dZKPjBo zJO0yhQg?;A{OVf5=1VzJ$YfdTOIcEVN1FT`_43&XkVTquE9e9Zj*}=bl!_E}cg1bf zwIj_~JNvLIcgbXjz;yfS>O>p=0rT}eQyj>*&zb|qqCJ{=iy~qEaMJ+wzOYCSBBJC- z6S2}1PTwR|MtkdtDWqa}(L$$`5OTs@5=Z}EW(b@N2wfrkqi2i=7F0x!S6fSfGA_vO z@i#S5#3-)za$!Q$-*Az8MH$`Rw4Yxvu*vKTENW|ou;8@=eg8lHEk4FMU0ZH@gF(9k z&ay-~AX%WI{SLy6{E9^h2j9N)>5K4x*&s6I6h;Gk{-5XR8|~S(J@eFl3kPKWmlOKO zY8~Q(GcBnV%dS8Cf4aVjNY>$}U;$o=k@L^UEj{IoBk$%0+2x+*T=vf$BH#}w)>LHH zm8I8{{Gmv*y0IhG=j4V7epof`8{tnm>7r~n{r>abJ)nz!^2Yw|*_TXqaQeK{2*0DO zfn@VSKVRI(bW_Gb%7JI$UovE{f+e>CI3fF+U3_t>RbSFXB5VUpgOOHR zqFjNZ=3&M>LpP*>=KTm{3OPV`eb9`V}+}Csks}?Imh)(ix7{b@}{0 zpfDdRG5RU~6R;i5ZyncIWCXHtLqQL?VrFP;dig{!enyRd*EFJ%-5NTro3$PEGz!1) z8mdSYUs4m?=tYdIy2E^i*ZvVZC-bI>47 zie{C*2o1u$?tb#m?%Hg5A8*NK!-Jfadm&NSw>AR@-|X5>48mr0oKT)>MbM{YrTK;5 z97lHaXUhF_U)2ODs;Go{)uoDCUjXF;>Zva)-V}cz^@^iAJ)`s^q_qjb{G@iP*b$E*angZ%c` zLRA8Pk=H?NEgjj&Ch&6JJ5N3GIL5DjvwAs-%W#(`r?7i2QLgj==LhJs-nrIr z#sFk?df-d(hbg!}aN=}{5l}X+xVQV-m9Y#x7ttZ*)N0~?vZ&}Ra_#VVv8dE!e{8m) z4E(f}I$!=LjYz;s-YfVW3QwmYW18VE!P!poQBjg?RIhVLiQzx|`c7$FL@zlIf}l6s z)qnLXHc_y>$2aE7#lgd}X$Z}n0E|iuagq9QI&paZ1=mIbRGqRJ02g9AbR+{M!&&Q& z{#?zOwiIc+Eznqs% z+T@wDS4|dyIpq?73Rpm5Wo6~QRg)!AEH%p6WTrfq#etxbuZ3gfC8UjI)UZ#4?fj87Br)Fo_f5(Xw(M%^qU})QveRkH1?$EuE>z1nJ zwf0OcBjrsoOWa2pXL-OSQAhLRX~$jd$Y*N9F?PgOseC{qJ9(~Rl@7l41pMdEhpRsw zCdJ74fmg_xQ7x_R(9aL%EQ$5J1LXiHVA|N??|VE>>5@k_PVu}OS>9IH^3if(8YPXM zBj7Tc(CJ`lrGXbIsA*@^-RikOIZz$V>lAH}n{OI{JU!G-j8$c~95bY%m+-5Dsa^9$ z#btl00LSUiUGK=p565Y#!^1=K#ny0g9w|ep!b5WHgM_s7+vBatwVfSJCJNTAf7bjS zNSEw6YIGedxq_;>^RN{K0R-3|1kjhdPjLg?jOjlPx{Xq>t-KDpv%~yADdFl)4Qn;~ zwz9M)B#@i3C{2T->GK1wrG{_I@wcz{R{$BJ-tRP+7Y?sMUXr98gTC%*u$oIYu$%$c zRPoebV8!ZrnGLu_Rff)A2@N=l`eX34>u{02&-u|f1;~A+w|NtZ64qFQ!L44~5y*NX z+2|D>?@s-JCjMHJC1iNHPCXm5b9}EC9kj21f5o{o8J40QJG5MF zIvUd#i&h(T@xwTJG4tx3!%C!QsE}Cd$N#jwFHP)2v5o|TZApGI3<$gfx{*r8At-io zP^dj4@#0wZME-U}v=TYDQD?YSW3L~?`le8ZO!rgwB)*b7unyVPs9>41H_%W4k!LFk zM46a+DFj!Ue^>gsQ6HRFZMwJ^c}~mje;7BwzdAY|c!^v-B=zU&BCt|{=x~1hV_6PF z&T^RKcc!vbsUQ>*batTz=VEiG=iE;5qd zEgJeW@db6;c#HPksQ9fwZ!>FT_^S!qtTU90O@os25N69&TICL0{HPaNQ;PV%eBB$) z2$Q%1D6TyA^iev3>PeosOPlwmh)#J11O%+fVaZSk$_?QDnAV=bufeHCSkLw5f)AtC z6qOa#au@g=sXY4GPM#?{zD(}h$2(YNw)^{}Zx=ty`GYI-xRc`eCxiHTaAiTFJNd6t z_jsz7E?neob`RLl_E?lB?qhkqj+XxGCy)Gw`2Mo8;m2R8JB!y9W#{|E6Mh#-Bc47= zxa7*}>Xy_`5N+CL{!KbbM}Di67^5+P)vH1W>6z)!1DD9|uo)1Dw(ehg zfGKwW2`{H%0f{D!^fEk9Y#7b~zow3^)x$}C!ZF~uZ+z$UG`=@@qI-gMl5<~C@6C{9 zB>FnZLpBz|z4(oz&9tsoacYm;{fYqdGO;GH9cGQL1Pl`~pDfsf*QnlySRHe-2RQ8!_^aE=ZC@H_B&!F|CT(>V+iiA5e)U&OP8F zke7vT#l^)=1Us=lGBynLK!-2`eH~SC-<#h*05`1YN~x*%-1?mkR${osn%5osIhJA} z>=RBOr*^pD&IugiA1d@dz%l7?0)*WYEyrd*i9&L?HhMlC6D9T z)McB&z@>}TG?_PL_1oaLGSdO27M+{jS{&qhwJT8d>bctYrMOwUz@th45&kP+by(}q z^0(XM{qx{Oz~ON~ffUPs0H+!=g?^ikXimCC?yg)q*VCp$f)5$Na_tv))#M!1AnKZ{ zcTmSWl%T^L`dEe2PdWz-ACOYbHxM{ie4bDTnaeT#t(_%}!nKLmX$tHRTQbQ2R9cO) z)@$1sOU{`v~ZBqzOIs?vFrx9IPfa7@Uoei+0TB)Dd;4Td&ng&D(Du++3cIaug^e# z`x5QuWSzyW1|Iz+%r}RMVVRg_{)@rW($Xem$!ngkuC8v0&4X=(18~FkccIdG_H2g6 zEWvYqlPt)1yw*Q#eZ$tAJ1}ST+jqrtPu2h2O@1Rp@c_8OK-bD~v8c4PuX8^8Y!?L` za~&HSYlrSf!a$%av5+eu{@4DF8i-Zs9%!u0>;)nI^Z&M&^1ZY)8l5g3i-e)F{+;A& z^pP)-fQOUMI7o+Rxuc_FeWz>(SFDRX_Ogf@``H0GEC~m`>=)ba4<(ugfNcPBxy;dW zyy_Dru43oMEKYXz_DkcB;!3F5eLx_WrD*B)Q^I^G{Z|wUOm0lxj$1FfK6PM<)%oeP zZNX?O3fM9IOIrITsY3XLKsMYe5Hj_7nTX0FTwe5^ab*?G@})y<#!Q3!S&+d|<>c@B zpS~WyQ&bcFhgqJ40oQn*f6K{fuI?56rLXbnAvBy8u_GQ-#ezGLJ4+urcVAUrnS*)@ zLvjQKUi%AOiMVqM(LnOAHY9n|VzQB>%ZtqD`b(vV-&DKx4a}v8SKJC*L((A~!cWs6S0o;8^X~zii-7#? zXq8!c1R`MV-Xgt4;3wQ-o`9%V!g)IW>UdrBF}Zbe)IsjX%=>SWayiZD__1-b%-UcqskH%|3?vwb4^UGnML|)h4K$o3HsgD~o2P zH>$9r1DOx*%=~s9;>KSCNzcJ6{yHtSNB=AI(Kj?p>;wUA7*faF?E9fB^JCwt^Z(3M z21@gy)4AuUYYCKX%wm$~Ukod0L+%mxF#fH~B4*+H)|ns1ffJJ`xpN6Nd4dY4>G!Y} zC1`xrJ2tjynLZ=(-#>ME|L>PC|H9YtpI9jQbp$zJS|r=>Z~r!p-(=ADC@YX<7hspY z0FpUM&;^0O#5I+;|3JxsnVIPGx%1Z+ls;kyC^?eUW|rSs0s!5-r;7%G8&8z+dL+;9WdEVsGfI7Ux{Bzq@9P^P$XB^? zkwcm8qk}5v4sztVP}<<{O0F@)-Pj~!+Jw~Re&_Y6m<~RAayp67s~k_p2j7y^D^V{onaC z{MfDf`$?7z2aX!AKL||ePrg_JOO0q1V}&388!jG*e9YLhJ-kOs`G4ul2>AjxRil~* zebGH1_V3<#Jkm(WVZLyq^z-`*-^ZrUE@#}s{qM+Kw;v(@zk&jBg}2m&-pk7hZT{O> z8B4~@-!IBPbzl26%iI$wMmM(QN`rcX*6ZiAYS#Pb95Q>lcjrz?@jJ!ldA7HD^N#c% z;4S+nT%L1is(1R&d$VWHHmv@Z0~~@-?{Wxx{2kuKa4aw1{wJpknA+81Z9Yr&NS9kN zoOmG(+*E91Dx_-HFJsLoe9lT%>`mawx&ODh_V^tGdQs`_pU{6z<=>7!x}VsgzbL<6 zw9Q^W>Ys2L(B;hW|AE!dgw>q?7JBQqcC6+6Jo#iwPV?urX5l-t_$W?uB$iy`l1hzI~NSg|$;T=5X3wt*?CzY*d{p zGCg=6*2-QDY-NKR+48_Ohd|%D#qRvW`KI{Sf5v|kk2~G7Yfxf(9=g{2|Ndju8-JEd zJg8rtx~RQ=5!e46+Dy}@_n+ zxC1O2+q%=^7VmT4^^<#_9+UXg`gTSTeXiX7!K6JbL z)aI00`F))+U*%8!ywb4PpW60c75VKerZt1@dTxSvMuw0ZvA~Ps)hI% zfZNPXub#ZnX|MBhlltz@SrC!T&C*U|mi4Q=7))U$*vw3Xbo+QrrwbKC)i^@b!Pi z)w=r9>3ds+8?84yns()f{f2vN3^pI0`ae20-!^x@{f3+O4s{-|^nc*l3XJ>hptzs& zLPat3>c79gf36B$?XPb#njXHJi^Lw9bEjRKKkE z$of!y%E-+k};|F!O2>x6J7XU@#**?Z>M&)!qMMvya0@cjv1ebiG{;EAyvZ^Itj zJJ)yq^JlzTV}DrGqHZbo3?UW+tb^)A(zNe@e}G0LpKM0k$gl$t;1fDZ>JyNN_>AmN zS`&CPpNpI^6UkI(j<%Lbugws35XUSBkbak9ONZCpanpelBJE_}#~}MGe+=2aXO|Sm z$b4o4`kZ|v(nT`XjgJ#(tyn0dQ1R8DF5_VMGf%L6KFJu%dBv#rQHylI)TJkJxU5MZ z{4+_vA6u*oO-Wp4uCy1+z^S+|@W9^r!J#L9uYXH8{rwr(hIzSKz<$s5HvGHSF&V*_ zZ*1IYT@|8_t51P9%f2KfR-Nb5E5?Zov&uPR1z&XqUYAOG&)M3xv9hROmNZDB`NNl; z3r4mv=jQa!1q*vSUt47X!E!qLn4iaZeU*0w-j~Fv@3GcmJ!KADM59(ftp5?T!Ol}lpD2cCMP!t2+hMc<@ zW>Jc%>4Ez%mFx3~Fm+Rnt(@E4Mh3+BG-R}duL3u0{hw346tL(%1Hwr>v$k(DX+M9Z zL=iHsV9;`(Xwu(Uw?yIIGpF4b?n_?2vj)p?W^sR4WI;^bgq?GUjYV}9z@45wxr=nwb1>}6!GZr2@JgTaGs9O0@ zb@1MgSZ(pU+8Gwl^G65)H;Y9>o@|5JciW$=0i^P;bZ}palW@9u>_1VZniZ!Eiw~^< zM{&PniN4qUF>>&o8Kow^U)kF*Oh&CTm15@^9C@%><9k04#lqZqmH6GgLz^M{R(>1# zBk5$`Z^hPn17xFjNgpv4z4afzi;5O~}sY&{1zZ);-O5Cr8mH7MF8fdIcxLG*ETW4_3o@`97&hljC zwvE>gQyxM#WqyR^>59yr$!eS{>!D@hhzJn zcdJTH-6-*-XLFoPflsOR$l-VQ7Z%pAc`ql;&H#bI`RGy!V<6z1`u#r%JEurFL9Vy^;R(icFbza!STsM|>K1#Pd9;Qqr`hh&=U+c-Jk=aH7Lv9MQ_q|6I;V;aqE zeHw{_q^Y`+l*!&>e}Ah@AFa|~*}1ZZWZLqqx{Jlemc128WDP}0z|B+@d<=q5%I+&X z$EHYOy;Ra#5QA7^G{t_!RSg>!1bPHgmVcq^m9m#wjUkBG0nXmK=(@LH)A|?+td8Y> zsD^!&e=|W$$3OX{Z9YnV>bq+2_wSFyiZ#Mj>r2d>6Ui4em*uekIxCpTDKp&{sZf6o)qfj7Zn$445IS6E5;=Yh&x{ z>W+;{sri#QNjad0=mtFeUrR{WToNjzo-3D(SP2FYzA3&?tgEC9O4UVrpKNKj0NCq6 zBDdxCK>vVRi*16@vDXqety3OKXr@N$WMNz~31(jyZ%l9^IuOaIXmW()5j$8$6Z05u z0UvjeU6iVdKiw}m?i*L#ntekE3coCdW@E81q8@Dem1rb6pINx3^zm(w`An7dPhjnb zD*xMd0<|zRmVU&59aHxW_HN6Rd0ymFOmPhx1-SFqz+Z|3vs zUv$xEe8~%<+9X7NevoFeD4A`FGtoC@=}@6zas12kgPzV1%HKGN^62&y_a{-y)rFyg zH(Y!0T<0e~{u3{-d4nLRu-}<%15{;21};SWsH#h$Lp3e<`hyi$_Vgt(XNNTtHQHnf z%)aXSGdy((9~Vp;+Xe!s0O3g6Osss1;1!>^Fr5Aa{<+(iZqc^6c}uo{tY8aPbJ-eJwQoCXO=F?Gspnk$Ve2b=L(BcdX;pq^H)JJiueV|M8u4&hNYa!iIf0Zm^`Z6V; zgHQ!mPTgWCLk`b|6%5?7L8~LHj|E7}AfTO%>hQWw65UZ&wE{x87#E7EKVgOd>)HOr zXbJhX*|QyH*RG-8V)B>){InC?t4=psxjM28#dbUV1O~Xh3V};vuO45UmD)weSj7pC zgY$0yir8(@ixuR=k$1W~ZQ1^X1av>tFLe0T{{H@-I)~&rIE|^>gQ;>TdBy^Fi?(eJ z4bTh@dtToDwEFMI>HhRv1xm7kzniS$JY|YjKc`)`d1h}a(16pHm)d;6aRYxQ!s&!i zn=>7p=1b#1(rMrC;9enSk2p4_FN1VnD_HJk2WyQhxcCt}iQ z%22bs6*0?~xoE~)@K)GH>ooE~EFS|#JlBgu+4D+g2(TseeAUw7Ar!9}mJ{n7ZU0i} zFc1x6=R#HelJYc+Xqbb=#T`jcez94a9x@4-SUK z;h7KLLU<=X8Qi>FI5%VTg%QHZmRc>}AE71dGPF3J zD6@=xDVw_!H}U0G>%aL%0p}HYP#XG4)GH4lwsTLuG`jAuiDvN|%7UbgnkeI1(l=;3 z)?Q^)(K1;g^v?|O%LtY>Z8nKomO*w=}`bHbF3z8^74a8}XPRHdG-|7L8BgC2@k(d@;A=>b~Wn5fIl& zzZGZf7_|yhR3`0ua&oxR<^N*m{NMcS?GD`9!)mbjE=M&YcxPOr>G_>7eYN(0V)A7t z>=Bog*FneBLU2yf2#2XBl2@wY>=wFIBU$W#tI|-8l0NpjztlX7jAJQL3zQ)0K!0(0 zDO8I$*-ceFZ=;`=9|={2t)!D;fQfy6X}Qle7+LvhlI+4*pNx z$5t~PpH6ost86hXpDt0j&zjUHrX%g3cdvu&Lhm~@?zOjmRLPo_Y@$r8H}!aoD|iX- z=+_*;c1d-xSKACGv~kCB0qFI3^Z*}X5bV1r&~o%X{%{uJDueCLI!DGs;fZ&7E>twP zfJ(F6*Xu$ygYOam_Gl7Q2};3p6XOvUsJbLCxi@g6jwXq%SBB@^<^X+|nIi;= zW5)QZ*r>F8eI?U?Yj4;RKKO790y9(;isv!@%3b#J)~8RO3@a@HOFXc{o-F~ns__;b&?4xJ&pnlraMqa zk-$WS&}&_hreL@u>NSJozvI6^nsYbZ&+Cg_=V?<*!N_pQ0fLG9nNepcw2`Z7S0DGa% z2;ZjBmwfCnTgUS;lR7oB(>QXfrXmyy)-N|>D)>6BzJ(ltMCPaY zaM@AQf_RIj^>~Z~NZ6Ois)cbY7*PI~X(2hf=53Oo19>zWX1-78g*ob}1a>z4@I9CI zAP72BQ*tpi?hrJAR5qO$G(i(|BkQB;^eZ*`QACpyVw(9x)giOkn}X8k8oepjZ^mWn z7PWF-=P1HEJ~F!P^fzqQ_dxBg{M(^_els)+z-yt~f zxgP63{7Sv)n@;e}df}4>ySL)|yVMoqk>+}MI^uXtT7X>uJS$0E1k;U zmY9py_u|JF#$ND)gGyo@%kgRv(&)cLx_STrbfg{Hi!|9NN)T84+p9iGhhEZymcpPI z7V~^2X6*Gjf*ge6TfCsAW)^=$F**Ax(JCz8yQhy#Nt^WC{*`_s6Sho}Zg!@g1AqI49*eOKz3)yC?;+g19eE-^A~X zv#-Tjod|qrsa<-)o1uJkfq`5orlN-w9&p?ukCSpYp82ZJ96+{qD2$H8&oI;ZWZ=H*%5 z#{1-DGG7$9+3+@BdOSBe+%frpT2?%fLNijs;Es81n|esj@J;;pcgJ8d*Q?l&;ei0Q z(KGRMwrvL~1uD#b{UWm=TmKif?YD?emmX~u`f2&;@C$d)Pa<(?d%EU33%crQ`pRQd zK(SxMWX(33Y@F?S^!Stu)r3+mS}K-2s2b)|M`X%8R;K!CN2l=XaoB!N?34Xq>#DOg z%`QIuO!B5bgZzfeg;W`Ndn3ZINnN7B^t<9^B@|)?ZMLgHUrp{Ds%iyE8nEWpp#*m} zm6+sqFVt_TO-_iS*g9-qyAfyZU4q|f0bR_+@8Ee{D9rFE3n@fGkhLQ*^neGPK zo3tjfrY*?$$G(PjtXTVRp!XeqN`#ZWll@B1+4sm-h^I0Jzn@Rp#u1<3JtsCvZ z`3;1irnA{nyJ%s1oCpjNaA|pW%*E-h9JsakmJAM{4NGh?&V4$cH>|cH11*6gnFc<{ zsQVl)1mQbLy(Uh@9)^c~>?;xd{kZUL2bv?KQW|XN`(i~y9`Jru?vakeCwc10UyYrb zsc^ve*i-*%JN>#4^JhW{a-ofW9QBGlQnw>EherH6uYKYZ@`%5_d30r5AuC_KLsw=8 zReNE#s`}?A=#;ULV)~lSbINm^HZI|r%k@IR*F^l}HM2%6HT4}qP+{0fIzQM;E4 zvA@0-e4{}Il9>K-vzvNW(WrkNgIitRX3$81p6#4;qfPjMxB7}XMUy_Ub6SZb;tGkw z!Uus+w`tPJ*5O>hAxk47ft|Kt5m4Ic|*CQS-(qrr9mNp?amcEPwo| z`dvhMUi^1HZYV>6I4sXi@Gif&+RI$Lb$e zxnD3G3hA|Bk0AA{wfH0J6j$Lt-XS@kGZ!xIPM7zL<*GXG*G_+32#tB6hC}It`ScG= zC%pCE5i&?Gd+z;do6!90rtx})*Qt8@K{`rqxc>C{Pz~(S2l40)<>Gtw?U5Gj1^1ki z76*$()b+4CKBlIoiQf>4a_Yb~Oim_w)7R<6jzFT;Rej|z)0R+52Tt_C3ABq-{aveD z(%(QL^kQ`Rv06_MRy3oRc~N_EaB!Wer1$Y6n^hvX=UxKzE=->k;>1>DrrE3MAUoo9 znNU-l7e{M#eLTPyKlyLxyms0w%(T%15A?6)((%nxrx*TV?{KJaxeSPfbVX}I{6Afu zE%)W8x8l5hP?P_bLo?jNkkB zy3M8|qk}X(n`Wc57fjCF%ExKqd8=640e_+vzNATgagye~^r8A8LsDz+RWF1ax_S!w>FQE})9A0Kiy2rpO^75wu$Cp8?>Ere zFE#b0*y0wjifr)QUE0AbM(Qw(LYqGllwWxiGh&7KNbqNHmN;GVhP4OvFb{du1CC$Z zaT}0c#NR-s+NyU-jwA)E+SK+fC(6e*S*Qq+w+Wj}OiguX5oOTe7Os&_t@LmV+i25= zx0iYtSLJZ~xHXcGKM$)DAgw}?c4)n6g+Ax-0YEgnXqQVwK>ZN65odA~>*cJ{`2Prm z*G^g(wS>JMQZ^+Up`|VNHwfdb2kyYPN~LkKI2Me7%`@7rThf{U{l7@mxw>FROLr+R z+$b@sf#{mn^5oVvnBBF8KAdXdb}=2gDHOE}wZQ*-lqr-Ow(!sMHgH3^LiKA&@9`=V7Jg6uOptKMTesOs=MA3lJog$iJ$Fk)5GS8&0@wK4bgU(e@n#|+!C5T zPX#h%e{HefM_a{Bb_VV6Qb^%ZEXLC}sIhJ&k4#{~%WZ8ZKLW#fsEFs^L|164kA)nu z7Tx=rm_H{B3i3Ga$fOL?{)H{}F>st1b&xo^hS6FRVqFw^+lS8VUG3|QCpJ@&kz3t` zW(72^%Gn-QvxRqfAHa$0qlcC>Z$lq8K#O-*$&wCbPe2u&E`xJ<9j zHRBYh?HwV0HqqdO>#B1Jd3Pt)eeF~s( z5J}W}aHaNMCNqU&XZ!~rH_Z~!HpLC~3g2@fBlacd^Hhn&-PR9jevpM+WO`Z*R0n-L zOUz$gTDJ5;mf}4$>cIo~Tt>d#+oDbpdCPdO>G-*gsW6G=)$V~H1K%X*409$vEPZa$ zgjxyvi8&sq^aKvf8d7Lowr|vHL+HJ59o;xnZqp!2i(cyyMnxktW`h#+)9dve1ZXf# zSaFHq362HUgxw(8fF5$aw&HH}trC*e@C~GC^v5huo8iqR{KC4koPw*}Sj2lXa{IE-XkQ3R*3hJd!(BXzLK59R6`Zv(-cNJtt zOg!4|*TUNKace8toKzhC+0xu^_0*F6u-$+9Bg}7g>pJ`0ThefE{rcRlT~?8+ITG01 z7PZtBrdW|OJ4rv8NGoTyH#l_NZJcM!eK-|#-qoRqUp5>jxawUKA+49goFYmN*SYu) zhknyJU<*YGYT-X`#sCrZ8cPvk#I1PYbY1+dcrvX=7s>3m4o>Np7?)aQ@A4l~6C;zA z$x&p`h37JUc%T&56wy3FeEe2pcJT#K$A=oEUW)E>KdGBmPXvB$()i}mHJ;#8qATl( ztn!G6n(#)%&&Ooi`~`SOEfwqi1V%=`(RH;p^c=S|yVC{40{~Gt)BI;`9uOF$SkIp# zT1V(4=^)IES@-vQz-SK_qTk^{F~&6cS4-2)w%-3gVE|1G2EBLJb#XwGVfyoU_qStW zNqjTlJ*a0v%Kvw^5x>X7jz0oC<~(YO5(*xRUhhFp%;46_)rA`8{D}5el5g7KZ*k%a zXPW&i2H>jT-D`5*BQS%&Z&5CY60LUEm=7jUr^t9by#8m4ZHt3p7_a~C_BikT0T~(5 zD%SF2j{cB@Gk1-S-D+}%fx-o9K(x|%gyF6={6r|Wa%*9^0Y8HrY6O0QEwh9MSn^Iu zU}jh3gdiwC!lBJBTWOh?0q6jk7ohFj=ELvw9cM`N4Y7yFv&0_>;86joEEIb6taW6! z{%<|MnKa^fFzr`mQtDqHmtTT5m^Jbi)bqA44%~OA5{X#Jg8v&F`LEXH%Rm)nm3Cwc z{x{h;p@At{rtM}&ZYv!|D=3dY{htltRJ3;`fY0P7f5k@y=;*T45ul`OpsKq5KS|@1 z1(Jrn&v<=*<)K+OGbEM%Sgw49w1fbi;j=&^b$wV`_!)>notzy0DSYdgE0@|C8e=s@7oN;Mzc}e3zi3zf0-pE46lg=f7z#Jn{M$tL zu*$N$d1ocBCxb^)Squx~fM?`#o$=lr7kL8sU{DU)t$BY$3ty=rIg=ti(i}Z0oV-G; zA(PA4q`y+>jpLxDNlFj7x0WU?#8mDXR`y#Uzf*z_&-g(6@t*Sk!WhvZ$KUbOryr zE+Hso0Q{3ke*JOKaoE*}O6`UF?bv(cExpm;ejItR_UlUfpWOF{$LT37Tfy@b*=tD(qS`eQ~(B%YhlZ-()n`-Cqm5B-F`Z6f8uC zqSrXiF9tui$dm)rzE=)fAbw4eOlJ(Wr6Z`}C=eZDqH+HVj{m7%yO4bRhmEB{7*2tV z7fa8c>dwze(DxvYk{xCFT?t-s*ngV$~`In`1`4&avy{8_+$?oz4!Rv^{ujugL^pZU^v z6zMHO?m{=P9)FJbfgh7%&Rnzqof!H7_~s(UD3(GDNcOrrIAK+0EOkx0Q?mrf@z$L& zjey1#{R9WOC<>&tI+D>V6Mm+|E*72@O>e1ctnTeyWIsBaOAGYU%IDG>|UBIT|TZVpD+bE zm{v*;dFER*Z9Z#LcfcU2^N|3}#;^PL0UwGQL-=CM6f#39gpi`b^!f+BxE|kM-D4+I zt`GCe--YzWN-WPDfUhdV7^K>W+^e{65XkZLkjcXG{JZz=tkm(uVLcGn-D&>H1BQ(@ zeRL{|mckMd_qSSE<`k|aF0$MYao{!^cKe!K$Cu3vIa2o=pukdWRD(&9mI(P6KoE9i zp3FypkD^^5{1N1n^*+G6tninZq!r<7K zLVOn%)e-}+hV~mQb=Gt#@n29I5Hcq?d0!^e=7nX>G1H-)$t5F>L9N%oQ9jg-K_sNt z2)@5!Bh2hf{-ti!IeYRlM@yC}LAzo;jR6TY?er zmkPehT2o#dAX-d*BL?i$P1fUUL5NCB0V|1lS*i~lE+ta8`gA)Pb0-L$vvuT4LJwBbMGQ!e9mrz}1m!H=)N{96!MV|Uaebzra z>I4jo^Ly*8mx7A^#!8(e6|Kl2LrcWIK@Yy@>Ktp4p3P5Xf7?-BW;!WJ&ZY-bk>!lg z50W2G+8?xb<vxf2j6N5AZtHkjCCS%?o&~%OT7FZN?i2D_%xL!a)7K(?exmJNNo4u6T|J<1<;D z6q|JKnR>}x&ayx!q(hEiKeB!wEEQTnUQ#cb zk&ddallXqibuTgELWC5Zfy(bFMLU>AyNLDjDzh;9+{c&p#GuP7?t-O zT|A>T23Ev#NdEDzShTG1L>0d7-2GWb615&NI@!vr<+w+VK0BCS+P%XD<9bf53m%@J zF9YPXyug^%R9vM*1vZ7s(uMXg1p4QZ|9K>tpcQ3-2TAzba4UkGqcIDIr>u zOz)8S%z%Uw(4qd+4P!Ut`r$|qpJN?D;H6i!b4Fv+_mK$~(BFL^YyHaygZ934Uy%I` z`WK$?@#OAzVHTe!{lnJ=kr2A5b99q#9Jxhi5a3sH2^I3&Ifa%!_|9aJWzWqs2j~U< z1N3N`C@lRPjwde>P|44)`*y$Uab9Q)1V-$ab7>9OE%k_oRdmEZ&^W@y19Xq;1H*0G zPa1#yY64Wo)#uDW=4BSoKMCFOa*&&}oSlvZVc($|GZ1}f9E3GuJNsd2j z#A(9#E>CBZ!Pb64anOV}r-}xjrS4fySGFq6kkH9C><8j~)BCy#X$MW6fBM0obhfH_ zh%Yp;%E#XF8>GUy@t^O0E+|iV)C1siXaXEkc_0de6deg)5q-`R zV#MRQ4Ck+3xZBdb3noa~k z`T4uk)0#8DqJk8A;7x#F3ZQbZ=-25nf<_fHIPSmITvt-KdUn{QB^loE>`JDh8oT3?8QSgL<}TG@#bIwqSbm_U<2zU|NNAOLhgQq6 z#6Fp!i$LD9yF!<+L^N0|1`^5jUDjAE1CFHB#9XV3pAkjnV(f)ABSlf(A@6C^V!;Ks z^!fgUkbU%lTLA=Gi^Q^O1me=rwZ}1KQ$jn9DT>KjIO(24`VjJBp>i2nZP^Q9!kTDd_G7K`_;EwWizwGoR zsxc&FY$G;DkPwib*W7N|3)lZm_EEH@l1TS(-pKqi%oq4v%66Y+Ue@RVERk3zt@t z*^pE}rS}h`6jUN4%~&d4H;5Ne^s81DnXjr2D>$CY^53}qQPJ)J&NjmI^3K24^ao1Z z;uwfjAqM(2KHvU$CRMP(+8SxZUL*jIzM}xrYx#rSsp41g8|QwA7rv~d&(_ zi-FN1=gmvzI$h?>3AA_+?`Z=@t6n~k1$+rmWULj`RMl8b_m=Q7f!?U3Uhk2Zb_yCZw)q(AZ=TAhtc)#BI7&Qy6A-<>J zCv=3rp_BCc`62_&#Hy1{lcCqUyoVG-I?KLaYlg`qNOnqT<^#<151K1#0){Oe{OS2ZCxO-u};N$A3|?5MiztXGqOM@4j{CS%mY& zHabg`Mfcx}rR1{afG%=3SxzeNt><%Ebl(6-?O^}eG}?O}J5jYeZ6qSzVY2XGhJ<(j zO4H*EX|>`TH4-|eJTdWjW(=Lb_JbDp3o9b{>EO*jU&BJtMAa+o##pkk=#Lwna3WJ^TuA%F*5 zcz>V zw1Pbq@xN_MSck`TbqGrM;n+Z_5&*pETR0<+9~q?H3=Rivc8XQvqbWPw*V~+0?{SnL zv%fXo*kz3pwldxrD4Msi7cDtvI05+Q@g3%{6a>Dyu7g^YK3I~blP;|eYQ{TSZoNe_ zOOP;@*|NILwXb-afxp-8&9b4}Vbn7o6R2uVw0}L2Q1mCTO?LtQFljRvpd5-U`fPi+ zaO=MBgHgXWe1(=sy@y4d$}+CIvzgkipi|GQPfatZUnHb_h9oUS>i43o@-dY(ZzGt# zTempgvi42qST}_0G(>DnyP)xzw1w-i^i>z5{B`KE2A;gX1PV#e4MF{qHK(mrMjjm09s2oP+$hEf!uGRVb-Wyw_@b>}QB@mKoLJdOl@eJdyCp51)8IAO`Q>Lk2T~mt5Ji z&=FN7?cnhzh$yeguqIMAXoO#dMQkNYkNJ@T)tB&Vsu@0qILH)%eCqd|J{%qqrT9*{ z=sTd?*}B%ki8Cstr46TQ3=t*AA3S7nOOJTZ72nLgU42#r9?}jMZTH8k%Wfi{`#or2 z)|1{%4WmO3MFCD0N=eWG*ijxhmB|jygUtSO>iukbzq~raL5q0#f(Cu3ml35#TDo2Q zc6OF=AYJ@e`qeaI4h6~~;aQzxL)T}0=H#%1vS(el9u9%UL%kELQ+xC?$f4^zakiF&DagtAodMn`w{CwiY&kz5l= z8CLgFP#~$*{w2Yjbs;_;UN(^dzFqdW(XjuqIG7qtvGxXe=4a09H5?Da_jy3(Lm+tp zn{eVo(rsGmw-Z|WZs<#i_jwg@7OY4yjEIrmPVy!%1E-WTvcwk6#SHuA;CPVAfC z#l|>2*st)pv_A#10i_#*RVT^mmHpxNf4JHIa8HnzsIkJZSEh7mWy=C}*8jhss_wLu zJgacqehq5-SZL%~9;BVU5wfkM_KmUam;0`+*Q@^@{)!IMDxR^Umi$rYf(;ko`rmKZ ziA^QZI3@zZm#zORyWzXEVHE#|QKJE7|GM(( zAW(XqE>CZFhg6=t_2JWgmzCb?3hk2+T;nP-A@avDldwX&EyZvY@PtD7)jfH>BI&MR zRBSL+QtT_$ISio^&40qI6d_hUFl%L}9HeqiRL*a*jp>mz`t(%sNtW4?lJxZl{JS%% zuoa!#pKm&!^Oh|ekE}MT_^2F&(q7ShkKyL1LY$A=|0VeIAzKNyA~wJtrC9X!SHD*d z63_f>Z>CVF67WWD3{I=#NZ$(7m>-w)w*V5_LH2U$OB`WT#NJ)p1&?9m*EQ0kEXwJd zOdBd94@>7PVTMPhI=P=mv$VDf9xvGzb|lhK|Mp}FIq;ERhWo0p}bdZyi~ z_mukZxb?05lZEpVt^4tDbCVkW7X!9D>PVlic-!$cZ_2pB98VMzS*MlUW5XKCnpnPw z5p$fQZ769m!6i3s3?`22rfELCRuXk0isP&Ahc?&ik9;W$1P6w?Og@HxenngSi&RfcICWaZ zMCglP^E23RbCF5+4l?UFquf5Ad_!(X?$(?2{LzX{_Q@ir@{s22xjNXJGIADNcw_-X z#vp1wk|zD9+7?G$?oO3fF2>L?ZuBFRo<@e8q%R|zcUUG4BaWIzV zEf6kUfiaJcc#f?3P&fiO1n{mk3Us2ETe-Je&S$tcy(tt=%$lW8S7%gu3oa=Y2vBMT zm)Fd$GMd0Tog~WF2zYx-b_B&IW#g)kt^bm$(IS3Iy+f8BO~Rh^$(g|#9%)Y035vmA zK3!qg&Q1o#tb;W%%fpMffz>(A)7!OxdeQ9#GrFuYn~cVFALs;S%n_Jr=_|KhjCz`s z#7W4nZCeriju5`VO~hat6N(fd!hX{eTmCiXB30$gY9`}#Kj`w(`6mMG>ao{4Kuk`= z92`up_Q_2st$AZc7eNKWEGTvvh(2u*ArbbK_xc>UP#9V5-zqO~aS3&4G%g4t<8gM*(IgpfRJ^67Ji^&T68cq(1{4f_heQ&S5 z#5>g`aUNttCU-rdBxZ@^T56xCxkmyC%fZ{<*$Fk_csTjRR;A1Bs|t6G?=O4B)iI5# z@WTE#sW$dNVIAR6zf%l5C3NUO>o8gU(rQ&KyTp!N1hAl+WzzyS&zVp>*K3;B1gde* z+Cr(gD|}AvOAIS-MUTKW%P@ZEarKN{Y0#$*Q=9oOfhcVvw+dA2Xe`t^%qg90x=Rdh znT~K6Z|Yr~6`gsM@N{s|p??1BtYagYp8+AC8V5*1TJstw0oM4C&85ITg0^q1oUGnWk4 z{*!^N4WUjkTHSe4n`Nb3x*p=sM1KGxNRf|ZX!*u85ky5BV>8Zd4`+3U?T!4t>a?t6 z(@oH;?4GX)e0^U2~Lf7%+|@jZnPZUN|tu#GRS_%GWO@yi1axl2(S_aK)I#rRP=63u+X}I&u`%g$&v*nLd2UTw!E%Bq=epju=cQYe}h#Fsa{Lu@?g%dq0`H~Z?7)AGUnc1xipQ^BW4h2p$Ode02aF6@EoH# zfr?i-iJsZOKe9BpN4j{}9gToMx20~*i!F;iUSVH~ewFiU;%%V(tme29)C0E#CrG%m z{cA#M%z1C7>Z9yybYcs>85Hjzm&B?|cw|C^DIV$(0wY>hQMi!dv#n!&v$t3F4|PM} z*ST1(VH;>qVlNEmP;6V8CoSm52shirMKUD|ON~5-s60?7CyH?5Y|h*e%QbF68G!r{ z#+UO_0#Wun7zt2@ljceBu7>sXtHo>Y7+`0jaLn+jH|6&t!n;jpy>Axo3A^v;S~6&z z8YeUZO(?lHa0Vr94SVXd@?CG5`mF#2y?6sq^b zBj5YjKa&TbATxkdf7-mnGWbmsIdM!Z?w)%wXJVpSu8SwLz z*aLfR3@*VbGe6(97ZqWZtjQ8Vkhnm|R}_gm&oKUlL=V2Rp`)+N?nUGEJzbXMIm3Ft z=J&`K%RRv;GSr)s>uNS!=ET{*`ZNy;GIxUSsC;Swso4@T1VP(`iuA0kGwiHZ=ZQdB zQ*keTNXME%br2RGz~<($qDzH*bL4bwjjyEl3=)9btDj)R=j&i}#;5xt7@U1512wR7 z%E-2jV%iW*Oxp_ZZfx|PgYX#o$=ItOoVSWXvmIZG<-dZsiLwX#C8D?GVJqyo{SuJd zM3zGtlg`1!}F_KAkC zQ{a?S9QXfZ}IW*LH&5D>ZPfvS%myDHByIDsn<_fGpu{-JPm)j zar&9N=l=E3DDMtWV$TChxX3G}Wn~%PEH=l=Pk!Xr)rruB@&Lh_FI?%v)SxM7nSB#X`r0)b+S%N=*l+b{oh;Cz>0fCAS%MTpyuz1yn7D^~5) z)KtvY?`+gWz6>Gg=RwOQNcOq~dwq!q3ZvoEI8GLO|1uD*{2sRE1iFj2P(s3j%NzO6 z3+%&4IXH8G;b9GUtkw*`#jn;RHwQ)xQQKi^&KA`;ifT8~_;_9YP!h-TdF;8%^=-V7g zC(mH+!wlNWL~oz7L(qM#2R~mG?Dr;@DYD@by&#_}`~x8BS3Efk!@cN^CJe5&JiUY< z{pd`!ZT>%4)s0^wMzccBvzXT%PB%VrJjLqt_kbPj<%jA>!1)}na-uT7ze$t^{vU6{ z=b(;jT=J){uWzN@IGfbvUUi}R{iC37d_K)k_enjk)d;b%Cl3n8H6+Q%AsBwYEwiJ~ z5a1eS%72f?(yqV3G#h%YDPm&`8P8x0p{r2TjK11CLf)%lIrS2Zr5xFZO9A9ApagMe7B=;yC;8y#Znq<)j)O7H9{YdQ6a!GK zxYY+IJsqh3zkVDtuMvh!$HuKjMKBy4w*`pLEk<@+T_sdo65n8P9E2BOi<>0H9qF4r z(@9=@6-Lctfjgha0n6cZ#y3c z`oeZq29Eyvn{FjchrG=6!#R=RjhklZW*lm4x+rzBTDQidFuNAnFd^g0lBj5ImEop4_WHi25%77 z4br@<-4@s1>Z*L2%JJ|KLZQ|vQ>%9lA101O)Hy!C6KM7f4P`cfksG0XeQ_P+&Q4#M z1=#*$K~E^`_#YO0PQQUSvk%VB&TuMH{+8uG7{^Kw(g`-gx&1fe95d&ir3%-g<$<2YwW2y+;`LI^p z9E4aTJGDr}PmAN0rJL%{-Q`owUWGgv>=7D~qVyumE|Lqn_qOL7lh=BzK?&kP(EsLN z)h+swh%N>4aZC`&gTe~DWM4fUF2$f From b86e8ff2e51e554deaa1776318003ffbfe0832a2 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 5 Mar 2018 13:30:00 -0500 Subject: [PATCH 041/287] Fixed it --- code/game/machinery/hologram.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 0e08ceed8a9..c3e91aeab44 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -266,9 +266,9 @@ var/list/holopads = list() var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) var/obj/effect/overlay/holo_pad_hologram/H = masters[master] - clear_holo(AI) + unset_holo(master) if(!pad_close.outgoing_call) - pad_close.set_holo(AI, H) + pad_close.set_holo(master, H) continue else continue From 68d10e773ba532344584781baf84caa35a2825c6 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 25 Mar 2018 22:57:17 -0400 Subject: [PATCH 042/287] tays suggestion on list plust something new as an update --- code/datums/antagonists/antag_datum.dm | 4 ++++ code/datums/mind.dm | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm index c6938031776..2464d5a4584 100644 --- a/code/datums/antagonists/antag_datum.dm +++ b/code/datums/antagonists/antag_datum.dm @@ -9,6 +9,10 @@ var/global/list/antagonists = list() var/delete_on_mind_deletion = TRUE var/antag_role //the antag type var/replace_banned = TRUE //Should replace jobbaned player with ghosts if granted. + var/list/objectives = list() + var/antag_memory = ""//These will be removed with antag datum + + /datum/antagonist/New(datum/mind/new_owner) antagonists += src diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7d2e47cf93f..2afb5e084cd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -54,7 +54,7 @@ var/has_been_rev = 0//Tracks if this mind has been a rev or not var/miming = 0 // Mime's vow of silence - var/list/antag_datums = list() + var/list/antag_datums var/speech_span // What span any body this mind has talks in. var/datum/faction/faction //associated faction var/datum/changeling/changeling //changeling holder From d714ec163526256bc899265201c6402a189a0c9a Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 7 Apr 2018 13:54:17 -0700 Subject: [PATCH 043/287] reverts DS jumpsuits, black -> green --- code/modules/admin/verbs/striketeam.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 3df1bfad69a..4defc63e47e 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -148,7 +148,10 @@ var/global/sent_strike_team = 0 var/obj/item/device/radio/R = new /obj/item/device/radio/headset/alt(src) R.set_frequency(DTH_FREQ) equip_to_slot_or_del(R, slot_l_ear) - equip_to_slot_or_del(new /obj/item/clothing/under/color/black(src), slot_w_uniform) + if(is_leader) + equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(src), slot_w_uniform) + else + equip_to_slot_or_del(new /obj/item/clothing/under/color/green(src), slot_w_uniform) equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(src), slot_shoes) equip_to_slot_or_del(new /obj/item/clothing/suit/space/deathsquad(src), slot_wear_suit) equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves) From 3a25d59f3b03689b080b4912189da546babfae0f Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 17 Apr 2018 22:30:20 -0400 Subject: [PATCH 044/287] Updates to TG and got to pull in some recent master changes. --- code/game/machinery/hologram.dm | 81 +++++++++++++++++++------------- icons/effects/effects.dmi | Bin 377060 -> 384546 bytes 2 files changed, 48 insertions(+), 33 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index df12090710e..d97f6433a21 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -52,7 +52,7 @@ var/list/holopads = list() var/temp = "" var/list/holo_calls //array of /datum/holocalls var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs - var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging + var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() var/obj/effect/overlay/holoray/ray var/ringing = FALSE @@ -202,7 +202,7 @@ var/list/holopads = list() var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in callnames - if(qdeleted(usr) || !result || outgoing_call) + if(QDELETED(usr) || !result || outgoing_call) return if(usr.loc == loc) @@ -212,7 +212,7 @@ var/list/holopads = list() else if(href_list["connectcall"]) var/datum/holocall/call_to_connect = locateUID(href_list["connectcall"]) - if(!qdeleted(call_to_connect) && (call_to_connect in holo_calls)) + if(!QDELETED(call_to_connect) && (call_to_connect in holo_calls)) call_to_connect.Answer(src) temp = "" @@ -252,28 +252,10 @@ var/list/holopads = list() if(!istype(AI)) AI = null - if(!qdeleted(master) && !master.incapacitated() && master.client && (!AI || AI.eyeobj))//If there is an AI attached, it's not incapacitated, it has a client, and the client eye is centered on the projector. - if(!(stat & NOPOWER))//If the machine has power - if(AI) //ais are range based - if(HOLOPAD_MODE == RANGE_BASED) - if(get_dist(AI.eyeobj, src) <= holo_range) - continue - if(!(AI.current))//if the ai jumped to core - clear_holo(AI) - return 1 + if((stat & NOPOWER) || !validate_user(master)) + clear_holo(AI) - var/obj/machinery/hologram/holopad/pad_close = get_closest_atom(/obj/machinery/hologram/holopad, holopads, AI.eyeobj) - if(get_dist(pad_close, AI.eyeobj) <= pad_close.holo_range) - var/obj/effect/overlay/holo_pad_hologram/H = masters[master] - unset_holo(master) - if(!pad_close.outgoing_call) - pad_close.set_holo(master, H) - continue - else - continue - - clear_holo(master)//If is a non AI holo clear it. if(outgoing_call) outgoing_call.Check() @@ -299,19 +281,52 @@ var/list/holopads = list() update_icon() + +//Try to transfer hologram to another pad that can project on T +/obj/machinery/hologram/holopad/proc/transfer_to_nearby_pad(turf/T,mob/holo_owner) + for(var/pad in holopads) + var/obj/machinery/hologram/holopad/another = pad + if(another == src) + continue + if(another.validate_location(T)) + var/obj/effect/overlay/holo_pad_hologram/h = masters[holo_owner] + unset_holo(holo_owner) + another.set_holo(holo_owner, h) + return TRUE + return FALSE + +/obj/machinery/hologram/holopad/proc/validate_user(mob/living/user) + if(QDELETED(user) || user.incapacitated() || !user.client) + to_chat(world, "FALSE") + return FALSE + to_chat(world, "TRUE") + return TRUE + +//Can we display holos there +//Area check instead of line of sight check because this is a called a lot if AI wants to move around. +/obj/machinery/hologram/holopad/proc/validate_location(turf/T,check_los = FALSE) + if(T.z == z && get_dist(T, src) <= holo_range && T.loc == get_area(src)) + return TRUE + else + return FALSE + + /obj/machinery/hologram/holopad/proc/move_hologram(mob/living/user, turf/new_turf) if(masters[user]) - var/obj/effect/overlay/holo_pad_hologram/H = masters[user] - H.setDir(get_dir(H.loc, new_turf)) - H.forceMove(new_turf) - update_holoray(user, new_turf) - if(ishuman(user)) - var/area/holo_area = get_area(src) - var/area/eye_area = get_area(new_turf.loc) - - if(eye_area != holo_area) + var/obj/effect/overlay/holo_pad_hologram/holo = masters[user] + var/transfered = FALSE + if(!validate_location(new_turf)) + if(!transfer_to_nearby_pad(new_turf,user)) clear_holo(user) - return 1 + return FALSE + else + transfered = TRUE + //All is good. + holo.setDir(get_dir(holo.loc, new_turf)) + holo.forceMove(new_turf) + if(!transfered) + update_holoray(user,new_turf) + return TRUE /obj/machinery/hologram/holopad/proc/activate_holo(mob/living/user, var/force = 0) var/mob/living/silicon/ai/AI = user diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index ee05d5f450ea24e6fa74b7fcdd51d1e6a036f2dc..ad7805aec570cc08901eff0f86bb505e0900f039 100644 GIT binary patch literal 384546 zcmYhi2RK`Q+%|rU5>+K=?IKlMQG2V#rbdm5+7%=A-qegeirQ7Hwi;2YMr+nADr#?0 zTb0;(^LzgP=X&2OIVV@vb&~V_jQhSn_lebgu1ay6@iqVe6zXbFeE=X<{BHx1;9uFt zaq8fo%mo;{^n%)Y+ITp)c{#Yc0DxcKf{CWjO5X0tMHq&Sc>>cCg2VYV6mM0uAA3$9Lzj=2lF&EDJ1aX`rP#2*@^!(p@s-g zQH(te*UnVzR9WJKB3aWqn58zNPoe1pNm0z!iwlSL%It~pXX&-Zq{=e%p`mXFzEZau zTd!qsf2D4+MwxE8v{$~FoZe#BP*)jEj;fa7q`DdIE8`GA?u@KbH+a6-JeY%(T@EJYT=QD=Wn)PMWX-5WgirC+Z@sJxa6ROyf5hpqFe$t-;VkGHwd8rAn zIZW$X(yw249*7RqvdFq_RT}CK5D_Is+RM*;3n*Rgfd*GVA7QzE+o(2tqUDYwmw{uj zL5}&U;N#-ntovk}5C0LZey5FX4|r61_%Taw^u4``ROlCm4UOl9L?5b>Cq76gOoV7V zQuPV;7=)!1X{G0}q%`Jo9gJ$NreB3)%uMVV_ZGlz1%XEc|ie+Nj=PJ4Rn5 zmiE_W)Wq`qH02isoFBAVT%x`)jX(9BoME(KGmY=ibFT&l&YU-Y&_fNn_IF?1RV!^M z$0Im03-0o^aU#lgW!03U=BE4KsB^l=;g3Jga$zmxphU zuO&C-tQy^8Z_^&12yug{#n-Zk@kmhtnnYvOTi!oRCK=yo*wGFB{z*q=ko9qJpy0)x z#K5nQYO(_UUcxKS={wXCdWFUL|5Z$n3h}6`cR=sS5Bs4eu^pCgzqyb+d@lKfx6q{>csR`!&-3^Lv&i`OqQn9!KKmTk31!B^eiIziGzFUu#eyt~SeB%Ml9TB}PlGbxRQ{6k$GuPO9psq2|!p87pHGF;4 z$aYur9=h~wXD#~!qvR8{a~?;YsqeD6Y{Y&<;vg|lxk4TmDuvViPDE+s?p23%uhFNN zzv|J=NfUMNyHmr<^Y5n>4<#MiPFoy`8z*GG=9LyqVIO8vsqd%st7fn4*433<@`( z`Kc9e`NB!fDUA&vjDqPR(3zUAojTe#Mq^aNqpbJ1+4Od0;Z_-`8~d0AtSscZz?Y7Y z?YE-r>2Dh*_2d}V5Wi>VbocLzr*}>{I&8hWh*0YL6m42c!tu7xYJhLKp5uPz1WkX!Qy0jpJ!v2 zV+yzg2*mGz3`h`GK~Mmn&}qW33DHI%g#-0-ua*FaD^g73IQ#n!r`@97MzEa!eo}Oe zJ5E$&r-<8xSczDW&accYN?a>yzj(qInZZMGJ73LI7bv=_u>ZT02`!eo%*i<`)R%&~ zuWMp9O+p*Qe8x)!~szu=8Y^wiI>ne zVhae^h`;^%MH^RC$b`amUcGa*2eU&Q!Qd?aL6|Qqm?~TgIluzZ=PF7=dcdDIp*y&5 zkI(jK@W=<96?W{@2G(v7Cp-5Ucl>2Nn|yym?3Q{aOn+xNSdq5(6IvhiMv1DJRu%n) zBT|>Es0=AeAo?tY5gP-D4y%}Z_BDE^M5;)Cdu-M3sSw znt(BdrRy^bd&&_z(0njS)Lx~6($rIvy{=I%z`RaKl^p{slbmIP!Vx3g@q!`o8Ty~l zyrr~%Wp$KN@)s{HYjQzPn`5XL`=C-_S&`{<{m1ImLWp}xg`XD#UMvJ-+iwDPmwHH( zeJiY(-i&}!@b~|B+0UZ7I)anGUQK8&&HN^9%kA>RT$+tNGs)CzH|Ijg$zW&!5;gw= zqzMn^RgV@UTMfz@TtECeL%+4ExvB=csH3eNwc_?EWCo!U9<;_ZMz0uY!T`99dT04_ zfze7SfdrK_Kd1nuln~l%<(iY3BJL~`Tj(Jmbf4&~zW;G2O~?-yg~vBiLmp_@v1Hm) zzET^+LIV1WLrp$>Q!>&L%E7gosy{ysJ9!4;5y{Y_&0r_4Lh)W+cQnCjc9KH;PG>%9 z(<)PkH}PFww*#lVy&s|L4-SI!kxu|!4HmnyZXok3^~e?S9y0*C?Gcb>wtemwCcuzZ~Wn}ks+fgYx& zP{us`NIQ2T)g`w7rY?BzPcwQ@29vvHp$#6t5Ak}ILYiG6e_u(lX9%()0Fi!7E!xOP zU`7@l20Qq%N<$_LfmWJ;Nu{H71AEf)XFe|58@^ z2^*tRK0o_CzQho`3A!}dK723#~Be5)@t)m{#(cf-CJEnpVz!!IB zEWyjvPX$Tth8SEcrUR~Y2-p`O^FR-p(0ewUU=dV}w`rEt{Z!GU5hnDPB;gCz*exWo zx=;hmK)?p6jG_7hN#QE^taE*_n#fgml)+(!|4u$(yhm<$#(a$f| zEw0*3dBW!tK<<2Jd~@zL&2?*UTQ-@UZnNbQ4n+T5dQLdNx^z;v6Y8^7H=(eAMcz!l z>o^`|Jyvj$x4v;Y%dg^{{|_?!PcvG*?%#uizgoYlk+FqBQ$6Lushr@c!3lJhNi2va z^=MHQB2@14As6z5HGG~y={I9INW?pF+?A)-m1ZRYl$q@ykW_2{m91R`La%p7w;@zu z2dY%>(a={MS0WIY=i{K!z)m(uvr+urSTz}K&w@OsU`oXZWD>zyh45xNN}RAU%HL1@9mpyy62lfC3%{ki+P)LX_5#|Z z4V7QbTY^np9ST4g9c!M`7vH5BcK|*%8QBqdp^R>YY#zKq-?#?vv<^sdL7s3y)?b|^ zAg_4ChNW<15PF1}oVp{|<@Gl-)zzoT>??OY+7XrF8{greSI`UgND}aLwnGKKa|sH@ z9M3k>8?>|2`Sq(34GoP3PiYNGSWzAHK^aOWG6mIDedH!}5UdWB0{mFFf#&#uVD8`3nv7SY!(RHho-^HKK0wMsO^QdUz@-UX_`^Q-O zTU|teG=w^~&}(!mTfK-|dbRza$Ne9p$Tdyaw6Y>3t+!r%XoAsZ82^Wo6>fTc<+v>P zL+->pYk~>vk8KJ_$_Ft6lNdGBX zlQ4*Exl6G6#a|(Ir!km?F5ed=yp_u`&nbSS!1Tog4lM8f)goMG5nIYR2X)~L@WH!x zS-dr7adGTX-0$92d_G`dW)$`y1Y;4(_I-Keuf>mVEqeWHK8-jd8KZ-#8?1D}ob!#u zxx~3(OuPcA#NX`S_LtLmpkZ%aG=iQ*W^+ADalp(Ew=8c$4G+Pfr%0qde>At^HdK~8 z@@`kG=f-Q$@4?~QirPGA!w&{~`NtvFMHxvd4}n5DbH5w2KWt<2frZM%I#3aIVocs; z0(RvyfgOpGd*_wSxNb8If^Qn9gj3?T2G?Gm-Y&b5`HtaTJ zi>gQNa+lzwhvst0kmkem&NJxnS~Bi*;8N&MUheBnPDST~2ngghyC1}Zo%k74th8JJ z@&XV`9DhvgV4tW<>+=p9@9w>hXHO)38Rn&yS*wyA>b9dR1*pPHve_^Q^ za}o}?kqA_jG?EcK1ql0_%a_o)3ahl=S59q2!@&7GrMH2756{D?x|2BXZZBPgxEbO@ZWSWyZ0{YbnzLqterBMZ~(uH zUZzVBw(V3X&zEmMCByb%5kOfqrCdYlLcz;jpX1BTO*mI&Ij#Jy!d|U*svaT(qEBAS zU6YfS*iiqCI16IB6--a^P9mX+!f8zCAs4>;*Uvuzuc{n9n-|56#j;9BN1u4s3P=C{ zz;L588BHpcgQzqXF~ z;v&}fY!f%~?*#@oDP!SyK!;PF#&zxCx)(0#Iy|nrW=;^dXtZ&?A39+jXIY_bJ4@)B zwOCvh4l)}m{MZaPbR?n0@z8XU3U|?cMtXf1+<0|)D);vZ@M_y{zWPOo%a+vXogtQlK;H2&Y-c_YcSN-=GTQ2_QK1e`%8vbtt=E4Q4eVn{YsT#jju%P6AI#c( zf&|BoRoV-JjG>F1MIu1&XzRUFKW&~{kOtrokNeKNFB|!7Y_t+hv;$c;37qQD`>!{9 zVADKtMJAczE~49*SO9Df$+6t@0a+Dkydy~V-CbJ|+Ow}wMZvtd1LgSdCz9WjcLO6kjwgH2wSLXJp7q4wq|g7I@2o6&$-1y!PCMTUSzJt{3VGb`->4_~x%dE{6rj2#}x6Y2_TRuPbm z`s-_)7jbX9Gn0!HFBH(D9o$j(lwt@MeFlPr^Q0aI+YDoQFCB;#<#FeN7w^n3WES>n9pHvcGFPkwZZV!W#gMFe z^r)SQ(L;zv8f-s!nTn8-gh+(BOgavtL!6!G^l|SL$_{yHw%1(5O^pdsODmbS|78v- zk|6NcO9ZwT*pg<>5TDg@>WK3RhOBcX~z4N*PjCT zpA3Ed>MEn9viHULPi4LBZC} zu!n#Kz*oM%;5M#VAnl{rH@YqDSRN-;L%@xHy4+wP{cbh+RF3-kTyu#>aC5pRnCmI@ zwFLMY>m9;AoU+Ue)QdYwMAH$lW!c9$XD{Btsmz7)C@@F}8ZEVt9uSRiXGYK+t0H*M zu?w9Ha;@#SXFn@GNAFH~i{+h#&rPb@GN7NNaOBcxLPVwZKjxcJo|Kmrps?{aFv z=tyaxG@v47aUgc@k5BIZ^unqY9~xZ8%}L!8usd_VH)0P>wQhdUEw^~t1}(uaXf98j z$M-;1POiCbn1IhPKOhYLzPdV7hBc1|X={5oz#Fr9dROz-)&w8?mc~}${<^g-1eoxg z&;YK6`MewgLr+8*z11hRl=Vv5DUVv3yB|ZKi!o9_U@V@0(t>kKN zxDY*>F);uMc`J>f6&Z@9`B;C5q@FYA3G6Du+RT=spW}IGY)B_n*Z_Bd(oLqPxw7ZHkZ43|p zQ-cCjCzlbKp3MnGe%>ApCvp&J`vmzClzeVkvFI52A1_W}#!`Fn+;ohTFrRZxu4Ne< z^b|ba?#?v8nO)T&tByE34ocnxIfE=B}7(5HQ_*0nTdR z56Xc@s1z^OO~1uyKw~O1f3%Qx&GnUs>S~zO80zpm>R!?9JAMz~nd$zi{JdRFTO*z~ zeZ)p|=H{I5x_al1sC-DL2D2YTG@yBEGN{1uNX8{RFlSWOOZPvh;2w<3cA`~QEgJaB zPkloQW|2_&sI1o#AZMb}sZ=#p)ZnEBRR>vRf@s6%pGF2k-B`g>$6sH*d?hO)CN}j0 zSe^Vx$8;2H>}R!v!Q&RbzCSQ4Z*KuG*#^4iI8-qFeKeKzLH7b+ZWw1lqHA9h08JSS zy@@~XT_T;PRj9p3=7I98eL?K6v)Vs3+8Pb=Fk9_M6)D!PUB&l*;t9j+3rvHdVg#>u z2Yi5CVj;3+LS9ub;$>pqn15$ySr5BpqQ1ci^1hAD8u%ML=T-3D?YbA(V3DxYxrTiU zABc}XkG)Dmeu;Vcl{f&A|DIX7XoDXpPH^?F$^k}^<#$sRJVmaU9B?@Iu};UU%ZQAJ zoujOU0e9Y4AJdH6S4Vbsv)1tNa0Rn;@xSCD4&`3gi$`qC?!8uUJOBTZnEF@bCy)Pf zxN}@;EB8ubG_>NaH{XQ0OC-+PeEDyxgamKc{2g3PSK?tOYm|U1*QLVll>`mhX~^$T znJM6WQ{ufLJ8|OR(L9sVSrc~Uo9M{F$Z=kVJ~0x3$}ur~PdFG@7dt@223G^RFgoP?!G}tSWx@@CNc&**bD?8h#Ky(-16WO_B*y0883%+j zQpk9UjZ6SCyB2(Q50DHE`LoYIR6gUBuB?Y9iFl)tMvNc2kV)tNkQXrtJNxkt&3BsGyM>Bo$%8xcr#s)ZQs$pZ(GwFBQGlyR)!5dB)O_ii#h_i7MBIKn%gxTH5!> zHG5)R$-qnsuT#w*TlY`+zxO zK^}ZgA4X==gq0T((bG#GpP2AyAGhBcfEFd*{uZN{u&k8w)V1&#Xv>RJ6(7q(6Mrp* zoOpXp+6%5qrW|jKff(i2JnD`SE}u=GKX0}bqSs9mHOPTin(HK>eE7hhp|6v%HHlw+w3 zZDuU)tU+C{YSdG*-@$i#U^fpTjX7{1RoD$~sas+VvUYaXc3$f6Hbk&Mp&uRY;|Vq@ zBvjYb)U-G|o52e1fUlabKRPQHs&?!BauO$TXD($Y#3bGC(McFoB6>)f5yc4O1CQO1PlTG5E~o&onBz{{N(=l z(ciyucs)-hv&P$z|NbdZXr8=8`_ygpBYWgao{;G5B_jmWg@^ zw(wUku3F3qRy{CDp}tZ#JNFf8AN9N%Yo$xH`rpP31GC{_a40En|Eat|l&V}gxW^yXi@F& zSb*oeWvP@Nf?;oG)&B6av@+ZzHieo2tyvcApGaLzF?7kDTv4U*=Vl^bOJc740Xg=( zN8gx~vN*oY%>4*i{=0*_i@UfGF<0)2t(pmKyvjXuTkZa7wyJ?Le(XE1l6+#cMmJtI zcaLuRioiww*1qHPP2uPqH(sR|(crNioWQq{&fVbO#|+)6GA0 z0o$st`@VP({M)YPnl>y}cFc5C>Lbc$1YXR1S9N@F&`}dHqONZ|0`Df&2M%ZH zmrPA3H8qD$T3cJ4JR0%|sqfQ`Jy+FBcb#kAXag46il)<7X#k3LUwjD=?kgO(XB&(6 zdnHK&^%}Djx%(-CubucVaX+BA?rN{B{x_M4>_&`86%-xaxeR z_gtSG>w!&9786$`eQZr&V6y+_Mtd0;pzHEb9W(!MXsGJ_y*I9(xw^C-07gbeZ*O9! zhuLyU2ex!KZ*3^|$@m@|HBP=TB5qzf==V4OoiFn_pMILt#A9@t;Hz9S&J}^$GORGD zPDe^c3hm|LyiC3<`HTiPEwTRMOLXfG_P;f}w4~M-`zD98o#O zTJm92t&JEh^G#;TvB=G&FpwMgdIo3+?lS}@NL z^@|rTKA{~TIm}DRtYqx-Z!x`g3Bvm$5|r1DjWgT?mR44p=9#5Zeup*a{e`whm_T24 zBc`Zz#>D^naMd(DJ+L;=Yl;t|ixNp-U@VPsbw0+H>DK0{f7scKPq)VNIh7qYO9R zl1(lWmvv1y3Tt)f_mza+2Zt8u8^oc73+Z2twzTQ^_#K1YIqbmDPTdg8Wys+Y$c5{M zl9zA=cG~%G!uLUkA2XfIhj$NrOT9w{uRc@fUVWCpUD&M}sVIuEp7XU91Y(UWi!l~Z zs&Fci>2_>e{&5?WN-X!pg*lg+iboTHMhBdDVn!vhvVHdFg)i2*6vX_NZ%FZKef`-5 zHkXvLW6EQ62VV?&w}+NoN*wO;?Q1>8K!B|i^zg6Ora;$h z+E=U|b3b0Jo^IrS2-X91?;C03bfpOe}t((g$n-@1irXqbgqJBl+guzlctpy~2e zyk1}WR355F>i}>MrS&=c)L?JS0m{dZ3$E`0SvfhwU$M`j-|^&THsafWnjIxzY3pw& zP#{+fEN`uJZ~runv1X$Jdfc5zB36da#4Qfxo!m!5!?RU^Q))d@yjnpG*`(_6V}(CU zxeI9N=$s@9FJ3A}d=ruiJbm@#|>7|rfyq@mY1!vUyGf}@scQkSbyGSKx}(Ghu4z_l~@ zYI^?*;$XJfnY|L?|TRwp!tk;JbaPN8WNmsvo=6hNHFCym0cxM4q zoqPY~CzdWEXp5T(IMXug44Q-ge zTl-3agEP%*2mLP8+gqh8_rZ>RnC1B$HTdn?f}n}u>z!rVu;fDCC;kr|D7f_%E*5DK7>FB@sR+Us;y!v@2yuBizzVA**CQG}QiXz6C#* zmCwM6pK#Y|5$A<&53deN z7YA#WLlxX)j+f%RTl8*BS&o{%9qZVdIEHcdjZ=?Eifd}{P=b)iFAFX<-Y6#Lg)b@S zw8(rE@6eNC!!Yamw`~u+97W?6LoQ!lcU#9t5QlN7hhydcC(k5zKA7AYSpHR^ zyt~l$xtfd2=U{OU-(^Sm`JGIpytlm&?nlGFYRzPfp^*u~r6`{&WGhh@dswp+CMh1t zN)8BzK@q4vEirf!fm=?QdjXv=SVSbs2NB-j#U17Q`-u!Gs_D&z*>(N{1iCJ!d zotTwH-h<--oaYgWc)_OM(1FFMO>XfzHUIRg^>}m7rk_jxJT~Ub!o~2# z>QKH1mGkF*l$m8xGxf?x^lVLE77beZ78{8@j6;j5*b~keS4h$&iD62F7xNoy-ocAv z^mkhn=u>>}SKrxI4_7JvP>m9u%J%3UPvL|K+-0{f{Vjuu1%aL>=;uW)w`19bRqBKq z?ckajg|_|q7V-fr-zP9>C1_VsMh)n1`n}M@2-Z>g!}{b6Oy^~u5uh@%H*adnG%eSv zcuY>ds=ReL*S{U;bHG^IEjro|)UZ&%tppmR->CME&Ysmc8nSi3I@W~fXNs5JR)NBX zp)gg1M(UCIKQ~FOBvyr)`9{0xE~&aDzcov_F^|ViByYaMZ1~RR86pATX@>vP6S$lx zBL$1n&qdON$=njhV*ZkJ@ip2fbAPnLkvo7=4!jMyRlFFZGwp~P$5){c+v!>szA!f8 z!{m^EgPC|0qs?#ZS;!OQ0Y$)*PTRX&&za-P>^^p%AIPhEVC-Jo+KM@Ro+CC;w#g_O zrr#Kx@P@A6g?#0N$fWD{>pEwdJ&?#DX?*Na&FcB*GPgGo4YZ1;tr>Y(?0uobEqN#X zhtGRrDDEnFn$MLxa;=w7FouwI*)7?vV{MYnDj=lp6JRA=US>pVGI^hx`w&4H1aJ@1rSkFxiyft!5Kvqj@~CBp7q1;a7KcFvT9Mu)Cyo!<3(FA$qx_bAx?&8{^Y}>;4}4aL292 zrmiQ{fp*|R%moE%u0Pg+_Uz`pKa|&Us393a%0}y0D`?nI*BZ98e8uHVhE5-03C8i-hv#YcIx*pch zt>RmX1EXIn2LB{wXJv6W89jv}v%gPF48EpS&f`GkAm>N4a3!cDm0~?}ly_C%FucRS8ATMzczt}1#P9n;GwkR{4`eRItM)sbw~wC~y%-OLek zx1Z)fJp@I9Ef9(Pe6(R|(Cy(@RC<((chp{G)|xmFed>OpQ1fn_pWx0>_&E0?R>J6O z`Rx;u!9NZK`PpSBUd&)U=%EIW1&TstBygHxiRcm7R$1>p4Dk$#hJB{!3Pv}No@wjCvAI)dkP z5s42~lQ{E7X=9o_?Z)0uM?7V%@TC13rpTr&q;fp}{XT298q`t=BtO*fM13_C+wmH{ zk(a#syQPS`9gDXqCT06ljXwv^6w@Z-8%0lX{^&Yeq$2R=q3U8mEAEE$f;dZbZ*6LN z35ihWM+XkZQzNS6TnOcng`ulrBIiHr%D%-{NN;W(Vbs!vzc7T$mZL6W9P{gFrukma z^Nz3OthI7ft{Nd(rn~)1t;-d9-p?l-HsBSs)n`%oVH4;-mTi6IBYER1Soxf>GoiBV zI~EAKJC%g91M)~d9YZkKcLZ0ohI`TU887C7>#o>Sh%EBohw~Cx9MOP0cFrV*Z@|`6 z@;<@}L^8xFibb>~e1*P8B9m1Rk33Q02N%uFINlvrMX6`ofKO4^Q!1R(bzKC`qxV#P zAc^=O3TL!_vov~YareOR3ZJa+lGYrZ1MxY!)0=o0N`+Vd&Xy>zAjcMC*lyIBpn!M~ zU!OO=IZHqlA=XeOBE@IWF0F@P4u5lw?iKEw+*}4_cZzm%*VSJ?*2)&0UZj>bP3-7X z362;Mp#zQ;d!Eo69RF6DHt7j>(DAZyQZLdAb zbboh7B=+;0=x(sDu~E6gHVvtge%(WHm@Ln0lZv+-^>~TE3zP5b7uLdk`$=Dm`NYcq|Cx5L%_J9PxH zz{}FJn##LTpRi9Dl!P?g>%Yt<#%&t8Q_I#6B^*+0w)GcGW$hDCilNj zP>Y%FxvlmH=hHn(M?cx}m141_<*I)r8Ct-Y7(F~T)>b_*Bc-!<8c7ru5}G2^sGTe$WB8QO@_LK|P2 z{n^Hk@Oz--P^~Z|Xt2QxJLR~^9Y#`#na=GG&=|TD@VR0>*oe;!VS@|^Y%bwvQb!-U zm1Q>0-v*wlmO}_d!`=Z`jFk$rIEJnRBENf6cP}B8`DblKlZ7Bpa)qMLaZ5q`(ykU6+fDpLoZ9L z*z**8lO|wH^;sJ7iI+gXVs-8gQE$ORdYDUv<_#x_> zE+u5w8!9zLbGN_qJlkHJ@l=FyMMD2gxj!qv<^tD5Q$=P|^5HcxS&`fZ{$@haAHyHp z78Y;*WgIj`zrPlkcG01=v$*K%`PGes%zgQ!9P+Q*I7h~J*WYD!kAhapS=$gK3HieyVdj)GH3 zdXSbrwzjDI{q;7SCT4q_Zv!9vjZ^+xUASTiHObK{xCaGRBcn2&8pNk2>Km|lyo~Pt z<+Sjn6fejPO>rgBf*F7uWVyKxUMX`P7G)1dxqQaS*qUhZl(vkQ)8PkpCYf)tiv#3% zl9{Ebd2Bv41ifi&a(rSRAI_Lq=4Cw1O>7weA54~6Z_#i&GN83(3B%8`rumMvefWAc zC9Zqj)%7MRUlE_*`c?)s#8N)$>y@-4n156G;8`?p{<5pC)K}J9hhhdN_b$qP)~C*{ z8N*zQD<2-sl{1fHhXoh$7?*v9@Eaxiy#M4e8VEA2&VfW_nD%zQIqeMQQ4oeI*>)06 z5&IpQUD4hp@{@C{N?gNLFkZh#l;9V^s3 zOsn+L{xjEvdp@W%F&q?5SJxn_T<{UdYSKS+CpP19CmX%Sn2_@(y~umzM(u_ z6Sm{7qCaaiK!GeLFu27N|9!E)I_JOZZ%!86$=C~L>@P|;?hygS?k|H;&STlzdKAL1sQ zU^_WbWcsQo@f-aw^831km@6mHlMcE8qH-~&#D=E(dIFiTMy3G>#4o4jNTd*RnSmxX z0Zpdym-1?|bIdBSK!v0qTwg3;A@pj=S+MY>k_Fs2&vV~!Q9&G0oRK@V)y^8p- zfOhjIQc?_kdm#>1JLtdmA$9JW2whlwtj({lq>AYr-rV|Zgfcq>T};K-QRJE<+;Oi! zR^e*Sb&kV@eAIp8a{P;dkHRB)t7Me*o)h8Sf&);+-r5*KVBP;sRE;S(JVH+c_yD8U zEU-1utTbQ)a0-F0tQ^yZ3-LGT#mgY?_xpd&)8L{PhXW7h2+5s3QEOQx%7*1%uAWwQxo<1o^B3%>PrP-1nXohLTrCeuOh7ot zHj^fo1}|Y4`KJ|H;CZ^Zb3Gm$U675xQ949s8e0CP~sPt0V4+P zD)8_yrgfEvaV6j=o52FiSIe4PU6aFkE_-)M4ek^=)d&z7h;hcgg|^|Z0ur_r7^<%q zM&Z6(qa3h^m@&R4m`5N_-Yeb3`t`d*)6iCC$&8sAu^=(xi4<9=@ zM0;3erVM>}Rna0RxA4fami{r{Bd#1DL$N-7Gn|d)<5(v!o2iG1hG*~9JW;oAKM)Pv zDOw@M{B-kkK0aV%yv3PZsKVX8 z<@v|ONw;iPbB3Pa4`cjY5DC?JOWd-4jekSuh^EFIJaNY=`%;kKggglK;_9y_YZ0ni z@iD5Qb9ObXs@K9{XDTDaRPaV+DB#G{+id8z7uOlnQ)%a4*Gu*$WTCC$?=;Oki!X83 zgRYD>Djz>otKu^DJ-M1&X0FHXI3%2AOQq>|3=hAdDsrm%p{fVHzHV1vqu<$EY>j`& z@=WO4?PyC98cQug1bsO1uwmyj_g8e+?d@O@O}LNjn08hxdEp*(oxx^E>1S)%TUUYv zkz+Av`VWk!UDed~bA-V3PU`N?j(|mrP`+`Jl0|5!{$t~>jwmG;&Tc({BBv~?B~Lxx z5lHNg<561~$;yPgcEM9GOH_bjesnZNAs z*&?zNgeyOP{y5M7cV^6q29DN`6VcZIGILW&KjLN0rslv5eZy%(YBtAT^=|jVB%e3E z-5G48Qgkm?Rmr-0p;C6CV$d#lT~{q>XMR%6 z7gs3GcQ$!vhG5NOA6I(eE@fssN%yYp<{iz=_mBnTKwjd{P`R-WBm1F{lpX1MRL~nx zElQlUOX#>7<39x#Ak=$ooX0i*7?Mw8Q^z)2HK=D9LF|fbFUiySYzKR3n%$-rd+2w_ z*r|EQfQzgdMw==iL^%XzY$lNjP_} zm3VSThy065gZYNZs@Rm_;o&dCS~E`K4*Rt>)f-MC0xH50>1ltATJ9lQx4&#hag0xk zG!pzDuD&~->OcDb5+x(E?Cfy~Np@!D4dvR`O1R`2*%7V^A+AlbLYHJEE+MYS-sIYQ z@0ESs`+fKMeZT+wdQ=bBy{>!T_l)Oxo^zfrHWi0^>HIy8z5#!k#riXP8Q=x4RnId@RtQ~vXN59ZMlupzkhqC)Aa=Bwc6>L zWOQTxxh|wI?h+yUTRd<$V}_3NvQy&cOru+Mc@6ub{o;?nr7njceC8rJjkA6E*RR)! znAk6$_(VH48BEL>Q9;jq$^Y-cYo~^$}N0ODf z+%J6FPNwu^-U<(L_$_mPm^)W)zKf`*BtoXileZe~Jp0HT(5*`6bn!t#<~ zr-YM8%@NW~CgA0Ak(3E8Q8X#fU4&SNr*UHUau1O0)RG5N*ESMFlbDf5qD~i0q54MO ztKDY%#;sBp1H(kMweP5QKox}I5mDmc%k+XH)~6}q~2bMhmPu`DT9MhOveii=dZp6%W$8})|{UpJJqiHfji zaoZtsG&XlTGpRI`1+@{=Qubs6$-gI2#J-Qh!p`*DY`cEJPA>y_Unp2F+ic_7vleV! z*U69=`@mdR2eLm}-5&P{TAu~1T`$de)nw|4O8pqmOk)hr5gZ;5eQqD4P39Jp0HUT( zhn2d(9|>%9E!P&-ch{j9QXu3bFd7^`06*?nX^+3SU}uC2!{MVQ%UWMSr0|{ZI5x23 zP1Ta*`#n~YZ8n-367r}C`%+HegNMV@d*KVvqA4+S*nx4f`Qpfi^k0undjtc8%MaS{ zGSXe)9GNeft;ha9M>#IW`|($<%_!K#q_nZHCUQ}LW6|UKrGpT=d z<0#O2n}y>GbK!dk1-gu*@m?xrNphGBsoI7*&QVF)y? z%><&S3x=ncl1E~2l2U$jgAycLN5SPEyTdCmcOuy^vY=1JqPCQNTT-=m(?Cr$vQ}JK za-Pklre8Z&Ni&rdS3s)%{<-|p&bHt%Ky*;I~|_;I|$;6MXnWDOm9icuZcTY9P_aVby@Mn-0@ z>{Z;`CRz0kN|1lh!cXt*Mns}f`OlRfjs26?s=ec{KPes^7@qFEY*31#y9bY8)TIA9 z@{u%Dod+2ciM%lY>`pAmZ9E|TJUneJZlVVHbYQ3$x9)&q8p?%?LSajBt6UnW8#=MZGGG%Y)8yE4wqxVTaSnhtHGHRR?hEt z$0^u+(N8Man4v+>x@5hnMq{z#=jCCK-^`9Z2)aQ$`hra`oKwX#5Z(6uNxtowHG9a8 z+w5*^1p4zn7b^Dsrl=GmW%g8pJVeOAd~-I|UZrZmck{riXll|T3Db?>s*)zB}=q9Qr{H%a(4R1-hMr*CTbkjznm zG@Y3aQC6e!hQ*pSux_ayoy6a#*{gp*IJG(E;*r2ySXrQ%wWO7b=Yj?RH1#K|-4>~g zhLih!J!R6Ir1li~BVV`&O*QPd)mZ5;h*^*7LeO3;n)KU%@o$2NZ**d$T1Z~D!MZ^m zu>4ZY^@OKzQ+0}aZQqicDS2Gc&_Sq3VGUNoFZgj=)Ga$1hkyl@A3qUXzrN9UTl=-o zsaln5-&Y6}{J9XVw0yS*7uf`}6w*yBq5Cd^7MAo@*VvMa7EN){)5ymiWJInx!f)#` z3>PNA0u=i}o9t%C9EEI>}kL#+=-L z?niinQdt*9%xpJjFo?CYz=rHzxKuyMY53xoVMC_t_CB>Xaq*oF`b@1I4y2$jtoC2k zBO!FBl}CZe`wwb{rmerk1@Er^44mW|nrUbmF)B15haZHQu{6#&Ot~(Au2<%cr;mSv z7VTBLO}f-tnXhWyv;a6~!(<;(0b7B*JgAo`MQ*8dN%9bEQwn6Q9hMdz@07$pPETe- z&aHI6%6?;Oyke)K!V~H2{Ng}cMM2@kwC{ye@GScBV)oPfR@U*^QLf%pr?;+xM$hAY zr4u^I?n`>AQQvSUD$~!^?Hp?Od`y>MX@Ni_?PFwM>`Pwq8T=CpC`RC7(!CCzEeCxH zRD#-l$tx=haty*-;e0tKfoBY86tW3iH!Jh{Jk{XMd`<1DQ(v}ZI`>nau=Smt()(1G zZ_=~)B}t@4QxeN5czD5%ykV*w?NO@%PK$B@Z!tlp5P8#bp;zB6keL)yqobAzz8jbs zSgH8Ch^tOB=c$`cg@x~HxjVifw2bdb2B;k$od`*_<|U%?5*k`e;NNgjKzFRNQsBm$ z(1WwR0G>6KlI2m5Y1w9aIHXb2H z>hMS$@x1KQS4$i&sxicf3K_ntc8kD%Hp~an4&!r+h*=dLVvU>RGqj@@Ecs zASi6Sp0BUx0&ZweeyVQiS4d~kow}8C-wRYQwni53eM%hNd36w%8RX^1w90d3Y(ei8%i5;_V;`AzDwX>HDCOcO=X{G~n(2GzDUqJ-A?-rsSH=71!IA(I6-MV;?b(?n!s8x-YL z%fLi==H=n>_&Jc17!oKR%qDaG8WLfLM!acMK2>W=eN@TRUhznEYIxY%%eqF33=v}z zTXiEjYAuE?PZ*u~==IZ;=OCdHjG3qalKQCxn<475)=ExZNhxW%x^$MbX=K!jQ{U=? zmyMz?^ajn&-LhREL8}c5B}`VTtZ#1@k88chQOb6C)6QSyN%=mvcOfCc4H zhT>`Ik=*F-`uD!<$o0i+)*Zo0vpZL(p-80d5zufM^5pn?{Fi@u(Dp~dCIxcIe>>&v zm8ekZw(ob+L#&_iS){^-39=(a55QVhW_Zv*e@t8uZkEOq5g5ZTICOq-D7>oG|O+3S;%-B&74SJEPN=%b#alTmrj z`&aA)hVn7T+V$Q>780!AnfAXi6n)$KfJx+`%2&EojUJXM34QDgn}K)!dV5Wl@wUgS zNr4O}OvOy#sOntgxkF@1F>Y4WyQ2s}K9# zYgCh4!Nx_>1RLhQ&C;kS(VgVWczo0Jtp{g~8NX)$-(E%Mc{%yN{C~$o;^Q8NLTkT* zdr{(V%<|sk@+S#=*|1MEro(05a{1W^=tpwES@AF1BJNeKkvSc#IRzVwA8;hD{>vVP?c)Xb`bI<68tGuI9%3XPyyt_4U($ z%kbrefcVhRv#b%9?cTOA?lh|IvduAA>5jo;=1O&nr8+Ozbv0L>FeY^&t>3zODG<$* zlM@rA{#bT{%x}Hc4)CZoCscl;5LwpKm1p(>R?a*ceJr9F8Ck(7!b4t#M`1QR8Vs6) zCc1gc(F}a%7mC#MO>cSe!%5YJ1WQijQ&<%hKjx{zAXFn$c zNRq!&OdjQ34J#E$*L&)MiSAtX(&MLVugJ&rUFRu#)~1hv{k>TB3J}ie9|@zAiC)mF zwd!7PqB}cvMVKfv0iX=nTA(1KhQ?- zClEpg^gsY@%otsbcZPUm^^#WX*-m(#+^KE{v35yge9EiW%O z69wd@oILa1DfK60b8i;Em?L7>*Pr*nrIP#o z)e!k5m|P4z4udb?AH3Gq-p>U918ZR)lM+V@krcqWZD{;=I7Iw?m+g5X+12hpg{MLx z`eZFV!YN%Os$DECjk}Y2ZAe4Nz7fxF`q0N9;p;qAn{}D|QTz&h8V8N}ZmzzBzlMpXdw@1JPgSy{Asm>ne|8%*FVDD0q32p#ro1NOcVfITSu2 z`9RuUj~o<6hr;OLCUOIn&Q)S7l%QQa=+823a-bJGQ@@`gksj#Uj6_8lnQTNszbd2^ zqRWR)?onmZ?3|mcX6((13BgTHUOwdcjp(@>n&n!c=qbp!S3es(P|*Lz()~FjB4WKY!S7U5Ge9gR+9Hmo#Dr)NH9w*? zXXRoD@#1JVh2)Yr+uwPWZB}NAFeywRF8ucFfq)k;Y#d^GjUgtwWJ`x<9WaD-KPG!u z(AqjcU!x5snlJ20vbNGESPqiY4SRk+Ptk|&lp56b;a;dXFFrX^{XVZMAv|3al`oj2 zL9{V5BLr2d7XJ;ZVS=~lmD{1O=cO1E@^!v}|rbUs*Ez1r>oSiGHB0AB}Htp?V6ug04~ zV4$%I`xg@@4U+H(=mwcoAKl=%mafT1N1zjhfyKV%RuxaHT=q)08U=XyyY{J(f}fe3 zn(x+c;%Tvx42_#RAE8}gcGX_3H|w|m{PB4rl41o$-)3XGBlVCD7-uvBNU+ugJz+Fc z_G;fPO6#Q9Ed4b{UIqQIyu}}$OqvB1G-M%2ld20&cb&x9W&+Qm zgbcYC5A6a_yL8g^M6F(WU>haRs*J3SWnK<-_36P`&vS$uKl)`#q*e-403lXiCYmSw z9k!`KvF=jZPalQ6x^*o^QWLCc0%5%;19}HK}o1@(v5#I|30Ntw6wZ@YMqMA2< zhs&@n)Z*HiB$nopMo5V?4V?ABo_+^9$kmO;e*R8*aAhnSG#(AAjp0-MmsNd*1wP*F z9{h4K@HXP%mXg;&=K;`UQgklqO8W?=cnRQlQ0z5eAV4VR&wKHi*RJ#BoWw;lq_C0h zGi2pIG#=YzTW%E-bSYN*gI>Pdt|8kozuLs6`)GJ}xIc?Qy!iPp8scObcPFJ0XOK4X z=R>Xe&~rs`C-!q7n^J+kjBE^fW;U@@a(+U52(U#%v1rp`U$B5CNBbWD9rN-6G;SbZ z7ZI!gVy141>09;!`VtVZYpLl;diq=LFN!E{6h#uG(-!p7f?}VNUf&!6WGnLEZn2tm zr|bZj1%kf469h8vHp??K=YUdrczJCgftJxOz+dFPf6zY+G=!r_KZVg<1#xH#s6V+0 zid-X8CA!3jlSl|5P{PWRb61Ikmfp1c@1vs5ksX! z^ulYswzx++QRG0&hpX2Df`sO96WiDUjCM7j|8b8MaC903ipROs<-}I#O5XWv~0p zAva!8OJf+6b>%b-@R(#T91CN8S<7z7iQ2`s2lC->PxUtQnnC4h1U0Snkpze(dhrwl ziiyp-nBLh@X9ay9*W*V!AlTKY)#KfEU}SLP4`&aguv4cQ$enxbq*@sJSEy8nAwn!qn79A% zYa2^ZvO{RtrUIL)bOuc<)Jq+_{|36@2yX4v>SeY>Ey~qymeGDJ%ppXRskXhSmM=r* z=={v0FjA*rc+=&Xx#hk=L;+sM2p|zQK-!XTd@GJ+4o-IWGAtb{8YVaSa}}f4h8>W5 zJOY}t-VKa1OlI9J6F8ibysg}_+_|Bg$(%EY|H!w`@qS;s9BFIGnG;)H_A zXrTJ-?Cs}aE4t1IRIcB*-@^GEsgP92(o<#x^P7>+YF5;EgJs$4SjKmI&lYT{YdQ9Z z6*!8=p)dLNEvfPgW=q@FZE1A<{v|l0J>0|S5>4XB*!=PoQS1h{KvW-tp{&%d0mJ1A zzodsio?fZxtXoVfP$Y_m>40!JuVjARM1Gj5$jDEe0wdXLM2y|2@21+^V`+|H&ySIU zpiG`TBaQnja$g-{q88;=>UYjRk%T^cciSHns^iKBh^ur`@-Q`BZF+)%T}S{DE*X*$ z-nFhRdnCnz~x2&ADNX%_WlWa1CW+!e0Vr1b(qUeqIy zJO)xavIt{DIzaa9H{Z21f>^-e2n%5W26$#=YGL}BJTIG2bFq3PFTFX~5i~dVOVKyu zVppf=jU37kRF#olj>=ooU-nw=_2ihGnaQ?5YmmkZ=J86I#ST``G3X`=BT82WO>9)8;Mmr)=B7vZ=MB}@w0`STY(+_OtlK!Yhy}*I)Mlki*m$V%yCNMDrhcv zxBiviYXT4=n|-H$Vjeh@j(5k1F3OGDmbaTBN-OO?q^Cl)G@ioE?PG4K_rMTN9|BS- zKC*r>{yJ$r3amMbDxyAC<8U190W?iNk{2>DE9!~-N8A*yUx~wyRhB`axPtfToQUno zs5MHS-`yHt=nc&h`9~$MFfu09)RnEW*lW<8CSX#5u3l`qV~esRyi|#H&Ng!GzN#ri zflBoexV!fv=gx_hc`Dhu22L%c$D>7L2uMGCXM?x=dD1J`@HabXpS}l;^Qzhik#(r+ zn(YEK&u8oXIWfE#UcdRV(CoTj47>Ecjo4Ym;AvKu2Lqus5_+mXM1;;slr&T%3|N0LYPG;N{5I%hKFBIPZ-Ss8`Rmrfn8!`Y{;cK8$U2tIFid)$xE_U$s>e*G$Jyz_{ z9jl_G-@@S5=k{CXhu?|U=h9;19%yQu|MP;VTbJY@V-b@dWuh^X@}UtQ&P3odc4D^a z{DBhmXBzyR+NpzMCT@w5@DJ%FjydT{JQ`ENUY(U7@%vFZ;83R&FLy#B7&sJcRG*mzCf59%^sQR$W`5kx47NGuEkN#sp+DCm=w5`9N{+TnfcPsuT5t4 z62Ifmm3c_K!5IjJA#^FA`gxsv48i(J=jmrI_FE)iO|(^6jIqcFp>2!~1r?!a>G5gE z_IU&rr<+Hw1k5Hw2|vyPB3KXl6nDkN9It3BvDw$hN-DFWOQd8*E?@7sSycvkWRBy={48o)=#mz)Cn1EtX5{Xw? z1{yb*YHqZ#ZsN~hzFANs?OxYc`NEAw&?5Iyn5}4-PpB4U1_sx;+&sQ=$|aOXbVcP7 zfztM?XJ%bf5566VZ*=U8Gsfw?aRvQ@R*0!VN17#V%P9;KbUPFes-}n+BVF=^098;b zzMw;^RJBZ6+MaK3bn$}?N_1{J`f0UyTUy;pAmW8nMzVSqR-cr9Ewq`*=9p+*i818+&)8;OJx% zuw(4F3);b0B*lj%0*vRq1a{{u)Icvd$l)5$=+Ja;XxB$cI9Dh@cFX_~A5iNFv}9^+ z0CF=|2pZjA%5v{mneNUSU?*Y>A=*=il|i$Q-*Kd zZQIdj2#&=}iIFAHEtJstWJdPo8ot+K<0UrrB#xEK4bPlKC(uMev*fM{E~dI45c0p5rIdsY@!Eu=o^}Q zoWeeV!6WyZr0+*BC((T_#h5}^83DPlnCzefM6G|rCQho>3ibMoj0F^QRQwnY3}#C$ z)fu>ook&dr*Hc|10I_{D1#%?Qf7mrV+{zvnZ>OB2XjwesuZa43kMH@;XC}Hq+7t$& zfrg&OY6|pk_Q_A#HW3H<>qAklbpLF%Scn_^QKitu0RZH^8V=($B{~#;8&l2$v?t^giyLb2`$vo;a6V_qn zI#@F$JvLe7S+xMzkw#TrgPxv&7gB<;67~@Q`s$|`Y-PvU&h544O3aIL3Oc`mu+Jq@II0+QudjVZ2&Z9e=hQrN7#!)2wpt_LpiF*_EiKD$!(lU!bP>6mTzJiGQLcz_|-WdW6 zQ-po`jtRoCc!#gn+9Gb@FD*qFP^ittrxItTJR{4*CbC;m)l z6;Db7w?j|1m?Uz@U_%rNQ({x0Y*VU4q-08#^sF zR>32pN&$(6MrkC?4*lOOKuiS?{B9=fh0|G-`ikr7k*EUfphY)|?*8>B^mCL_LO|ev z-jmT1Qr8hB1JbxGFNsxhw`)T081JI|awKPy&)Qhk5u^?btMrsj2 zqiLmAa0*wO@4hQ40`s7gVF+z7I!3Y)vqhJXkE!TYxC;Z{v_!-tM`s+tN}yeGsHzc{ zl(*dGUsj{*t~AZJyi3MK9X*Hxg|ZI87=g(>4DPLGCiQi-vo;SV8D5VyO*m5trW~BI z;lU8PhEm*t4W4-%lR(f6%ZC9&6F<}`gi!XQFu!m*)>8c$mJFwA3*LipI^DNHFT|Zo zy8&7&cF>R|LIGu8jHy+2d+a;$1R+SLED$wyeqzhj0BOBQeq2O=-pSb`Q1NqK+ z`x&*1+Js}xo!fhFn3SE|2G_-6fv;c#qjG4rl6 z-GGO;t!aAy1jLV#L+#4PwqoC^u26tx3CFVh035sNP-%gK6$7yY5qnF0C8HH0rQt)V z+6rT57!;Oj*J$QZzX|$h+M}ie?57wB^%O{o)u;fV93KJt6d7h8;|Y2Rnu5b<*uaus zWQI+AID~Ws8Clv53v|z`n#DH%iYFK5gmjUEzyciF>2j#3$a}HVPGMZ_gE!!08u!6u zBkY50L2W0Ofr@kxq`{^N6roqYus6N5 zXMZ-iSl4$Qo(+eqX*hy@TplaRI5IbhSy=psjU0^jYXFQip7_6i&)ibTH9#PsKM!Sz z0E90$>i~_@KVxMwf;{{nRj}q1-OFqQ$*0)GoUXiD0t7W@^!PHV11|N&l$|4DQEsUY z(0Rtdq~oFRlI1_Y-p5Evf+%>X=>fZ*vE6;LYkVTl0ASyDdBV3au&hYco>;MUj7%bH z7fh5SRsWr_sK6!^!bdh9*w9vM)mLrhZPJGnu_d1Kn3Rv2Q*`P#=zy2+t0=aytOsP1 zfJ%K!k|7sw7Uc?52#d>nDyeI6^1OQB@VnIX?UJ=+-JY3rQV$Vt1?54Z^Kv(;3|u+d zxq1J%NK;e0wg>uL3vK5jA~j1*->wFLLU(pZT`+Z^P(8sHi5f|Za#Me}fJz-SFvc3` zxi@Ex8031+^~dGNCr0)dOHRT4?5YLA(c4OgH-5Diu-Qd9T)N%>M4@-RaUw*{XU#LE zldRfGJU=%r5mE#KngXo6lpu4^)0O*|S8)?xH|rj``_>Djy&LfESE^Z1L(r&^$Otm6 zrdlc!Dt+g$&#&ysnh?d#wo`j=BQ1|l&QneRV8adxMV=4mvLk4*z#*3SaJiLR=7;3Vxo}6Mwp2yW2>-++8fI-)UZ2TAK2wRl(o=r>x>8eEd!Y zZ-;MD!C%qR(puTWUT%9V0!#|?`T6Z^jw!~+Q2Op;-O0WEMa@Lj~%(05*M_@cRG~T_~#b; z>Cx%MSi5or5G$xa-|S8SX)rDVVV4*(;~%GdF1&*!5^Ay9T3UP8kbBn-QIiySgKw{o z`>{t0HOG!3rNP;d`qkOM{b9)}2EYHl;tE{j2|BLK$vT-%!{QzB>p6tymaZW72x8RZ zAkv((9;cPylQ`mO-08qOmB5`fM4)RwqSR_ z;M?fi*&7!Zvqa^YeUyLCMcMSBN5kp%w;UuPV9IA$|F98pLJgA$QQY$T@6m6tPf)j& zqS@Vl*v<20BVt zmBb+*h15G%w$G+sHZ%$dsJj1{zsjK$=rgzrh_tWm?%Ey%p@CCS9ucNRwgs8M#})SN zx3W&Mc7v`V&(e@lzz%Tq>LB(?+-++g8wC>i7jsQ@`@>P*xlhc) zW_Nz#ben)Zf~=JA)6$a%O1rJhw!a&LFIG?%v;;uZHvm7Lb2&ccQF=<%o&lw7kK=0J z+uQrOS$>mPnR9vPcHmlWKzqUIcH8;dny}yY1ZM3V@r(GkP-Qyx1(=C)41-`saVl0* zyn6Za$Mz3vF@l#vf3NIp48V+DJ8WcUXK$ICn@jYoWWzrWIY>I~aZ(;WR=7CXZC_h+ z)?P%4offrB>?i;S&HzW2H2!eL7uJ^J1!b6)|6BsI?$JthYEjKT1XbI3U)mPW3 zogWN)G#uf4TTYv;J5ROTY&heiz{#xVKFPy;m+>fy#}h1QLKL5Q^2me+oX+A`WcRg^f3>~aOK%cqUhP`{6@UJ2I(ioM4Mr8Bc<&i_ zi-|a>%>`(7myr|S+v0hF1AHW^Fjzm}RlM;MJ6+E#%DNN_zdY+l-lkPPol89I_dD%o z;NJ98hFat^es^CLO_5fx%P1xO^ea)bp*0DWxHeuwnBCg1aYTx3o4>^ijx`1Hs={nF zsBFc7;R@kf?;kbB;6!Vt{U$S|YF;$gAV$SwVq-~~G=E{Yt0(uiD*LN1#kLvIe>8vD zQcj)(Q{TAp%+;0pDDX0GPNMLnsR`89-o7dr${vf{n^WUZ4tiG*4e>qU=!_U zH}+ib6TA!qT3TA(cQB!ulA-Ts6cN8{Z@dEEL*G!h-OxK; z$~(5p%0EH3vaxLMo+ca~0si=PpE(oDCgfUqlrxHY|AXeqs@rMrM8x&6Z-3+T*NOi{ z?9m~Vel_+zm_30sDUs`+y#oF)6f~aVP!t)T!cYBhYqEwmDJe-V;9%)H;}Ci&V-_#? zFRYqm4cFEE86ABGuaI{x{ntUV7R{ooPP+g3<-E%{j6Zl#;tvvxZ|6dC0E1HfyurA) zImf>sqc9eQS#U`GV)Naw-3xF2NyzB=)T;8kYg|DuS~ttWxFY5=ucU5d5v=drnzZpQ z8tEQcV5STYc=?E<;?P|Z)Vqx%$Nw*p?T_~{Zz<6Pc;-1#Q`yC@MwrdvCow6;42(pye ztjpPui|x}Le=HTqZ5zqAmzHSh(QtG2a>svlhWJSHlk5EumWY>ozpm|%*~gWhU1D$H z|DH~IU^%r>92SQc04?A2>|O|Fmv}UX1PJUV#>WpNck4%f5=WzVF9=iKr6V`Y4hgm! zb#B+=tNYqvrq7tOM{^m6aA&Y?$lvBe1)pXaOJcybPF8tM*$|1VyvKC$Eck36r>%&1 z*u9?tQFo2pNoyp^zQSWFvBU_j(g_0LhOGPetfRr3DhBRH==v&!7o`ceA>f#pm>x?> zRu-0~x3tQU62a?_8&2|`2+s}VKBRa9%FoaD z9=*{*ckKqphYae1ky$|dKl=3fM0;~eW3T;UeW=+!g9Pj8|PIU18lg3*~zV* z0%{H0z!^kN%ndPVl%slRj50(tWHXEaDE+k9$0m>C_t1_Ipr2jIOg{;nB1 zmyVhsxLY3!DKzdb0*}n_em1%8HLNc?zc!ffos?i|@f`a7n@kVk^1^d5R<>{1Tm`?^ za{A9wo>j=DsVATStqoL$M`M6HX(JQKx8yr|Mm-j6W(*5-!~X_dm9a)NKQqc}6PnWkT~(0C`|tB}KMg+AzF-x7c%wGRvo)WzfC z{~8aO{JOk2Su7`Pl&`4QFr%)`jT$@_**5Lit>0Dt7f@`%CzgYu?3| zY2C{K3gVf2g~5p-qh;=z#Z}74TLqM2RYadVpBah33#UcqUJ_ev@vXcEr6wo1)yKBB zvp)&?7g89aF>G7K_v*wr5lUtr*l+3fVxDqa{lY`2=y1G`kOp&euVDxRLRqGQuglC~ z%?QD0As6_susrKh;%37i*kkSyC0`NC9Bk=v&V+CAW#Q$OJJm#=k~>vc+&TTak_V=g z3F})@a6IioEVX}?dpQe)zLyJ8LMz#7&n+!IQz6CX&cvcB?;xY+7~Rv3ZWO!s>Gy?a=>zKO`5^O{<4S-Lz(8$hpB=Ei8 zA_Dif6&V%YRZvja%@*h1O#O)bocIh=NesR?o(FpBz(Wc$+?x;kRcJwnLu$;&!_dPx zQzcW#=WT0&0ClWBqFEKFRfq(y}N8m+Gu^g zy1&@Y%*f5Y5_HFxKxxnsk-+sR3;Tw#di=Z}pANwRPVN)c1{>S^ zQT3O{lfX*CdTr*)>(?az4g&nKUXbx(sUxAbQyuYHZL^!jT)C<->$Aid?)Wn!^l6BW z&$)c7o*7}-Z#rLp~6H-?gNNjHRWn8QciA|Et+vJZgOXPudsBe%k>`Uvmdy<4Tv zy>jKszt`~k%C$ZGVSm5=kma_Q^lA4vGCFJK?H_s%0qaS5T6R0)`lbFhc0_QPV9^y| zQGQwY*}r&(DryDyB|Q9hN8lE6wlVl{sC>vCdhvL;Ih9Xs)P)$XZYSO>xt(O1$8%XP zEmCaV`xY~XJa^UI^$_jELFx*RvGk|wEH1uQfNTlexpe<67yfA3(hcZoc0;c5f;k<~4vg990C6E#buLR!WWiVm|U zu#0lu@5Qr#IB!n`KmUkY{hKwqe!*p4e_5mDQb6T;6xgtMLUh?i-X{5;cR2W*voc~erY_SkPZcs2d(4SSnE-m{k`@4{k zkf~W7!p}vs!GC6I%Bunde?JE#)%7F;-FN_Y+bGJ66U0+|K9W|xAb$p~1+-{aOWjKx z7ZM_V6c$rmqrLqbNJ+2nQkzjr0d@miuO0GqEwMW$OTO~DwlhVHSqhxp^EGAA&&AA$ z&K3j7A(%*MZgt~sKSr!o^w#^aT5q8@+)clK|DM`-T6p4?``Mtaql3aA`$4Vqa-|8; zhZna&hA{}bg?qndJd~0JWC$QUvjXV76$m6hf1Xs?LWQ2be92;OZ+~dII?4+?b8Jo3 zPD}HXSyQ~}>YtNfz#;f_8Irq~rB9G9qNNJe26*O$D_B3Pp?*ZG$0%2pl~8P$i;_o? za4hzw|6RFMuSNyyaGQ;vH?qDhcf%j!)dmmw+TR+!-kBtDrjT+?0W_w8@ zs|T$hieA|X7A>lLftDSS*k;BPw;GVH9HRj;=Q=im?|PxPVcpK=-i+cR=ZTRoA5Pen zrI+LHoQuA_D|`hU>Xi?o{QL>J36f#BX=2SoM_qH5lEj3D{Ry=A+ZD!d2ji*^8lg8e zzN{NN^Cx=>8%uUr*3GpU|C0Q1{c-cwX4!N3KT03@o6(i?vKQST~~i35*r)zo@zPG zDsllEl=gdnc3I$Cwm31qZ-rilflau`!aRO1E(nB12O4o`!HbkEQLG;2kT91i1ZqSK* zW|Ws*1Emx)$P~UHOxF9C#|B0%sH_@xB5Q3D5+3c~ZOaBELp!#+t*>Ncu6EGgW^YCI z5rJ~yy&g?IhoT>K;o}@FI$wMyBgq(K)hd8nT>M4FYegQ?(uWbd^vwg zUJ|17FqUh%FG})_tKY>LMr64-k-0AVQ1lhHn?*(B=0h=mgA}cJ8djCAEF+UiQ5F@K zHKI!_HxTsLT=0>#T1&nk@smE|fGDKcI%fi93Hyc~pc0Rb!d^~dF|)K>$}tZ2qVxpc zF1E*|Eq$%)%F%0I+uUpc^yz{^@-laV#N8PV zRDi&>;!9B&CuC>ez9S(45cZQ#W7N#d(yU)R8TVtR@KS3VaI7{tcA7fQbRBMPesgIi zQaRN9`?_sl}g}%=4ko5bDILn0aZR4*WXU{NuB&~ID7yot5Q;KE*%C;s{ExKTx?xUgrK*Y zqp7Mic28o=C6Q>sn0CWCc zWH2RYq!qkBBRs_TKv@~pohD&Po{(vmpk{F@i6UlYWvy*&H2?j3AAlGS*ZmB4xoVV# zG9Wfj#`7d|>GA&i>2VVKMdo|M6B96IVtx$w{Wl5BdWaWi{Y-CwA(x1~oEf`=+1~av zyezyS9>GBzZxbdQTI{EHxb?k0&{9G(0hdlvN{X?Y2z-+4vhKeRaxQz69}6a>5)T@f z!&Q`(-5aJh%*1dm)w(0*~eHQsTSWzZ~e|5_Z=S{{bG5GMxzIU zzS9$cn)S(cx>$|7(vyq>Lojti;sP(x^d}DUF@_5egBD>mSelI<-I(n;He&q>JNxQD z@nvO-MZmSCjrJAo5xbfQo61)c)%-r|3rp#2qTHe;8piF}-p;D#VoKNr5xdw_T$XGt z_;iwx8RGXyHFh%RZpo&2ZH-9+1wxm>LQ1ryVTHMc#V?=&GabD02%xlbo6Y}4s-w+O z&&zY);t!rsUnL)_4q$ox7fOPj3S$9;{sqwvlvOCd&G&e>f*^hfV zvl;8zeYvSfx>^%r)Z?l0gdd2nIIAflW1f8+fPI7_Cw(!)yw~WSf+oMld9LXY^ zSD)oTLW?6k=|yuSLI=E4b2q#^dtSxWUlTzxOW6FLo8x}N9m!dKw3kC=d@C|$6KRpT zXK-K(4!?5k##~RjlmLDeHw55Wb8G7cF+8vWNtPYBQ52sidUmJb$H;;0Es7=YNVa#t ziC@$JT88)gpY?m1h!U4QRPPg6$(xSvZIh{Xe9(DlCI*=CvfTSXf~(>gaL6RbMmy}x zwvR%1(jcf4i4q$pjvV9!w|KI&BK^(obP_dqU!zc{$u_`XjlN%v-*p-9k6ppW+>LD! z8l5^r=Ht15di?Bg^-&(3RnQs7S*~5~%vp}~gh(&Zs#y9B@j*nwy`vr?`#cufrPWg> zm;8<7Guv{0qEK}z;s>R~}-Ps!i{``OT_2a}8hYjQ{c$SuyH*;4vJ2m992&KCk)a%1ND# zvVZPEGGknxhrK6@v!;DK=qQX~h&){MNx?|&w-YKw|h1oCEKN$@Y@k6M5k z**j%SPEJd&JJyyd@e=jsr1ZJdj3EMw|G?^n@K!-fX;o6*orKXrM{F85?w<3V$DR43Vz`w3H}|AwnNHI zW$G`NlgqE|nI&*h-jqKfn#`NZggkhc6C%37crWH>z>?*68=cNwOqI&UtIQwUrI-KzLFUhCk;%@hx z)b8cE3+15Mb^z4dgq$spIn#r3uggOKX!2iD=`DpzrN^`uJlhJ$zT{`P9upVGm#!Ca z=Mn<0Z+*_2AZ+mmG7bboCGi}ITaydTn{Bb|euKZr)Bk>9OoNaM0pcU%mN5X{5l<5} z^g;vApr@xdrg?{XB6G{THZxe9;a_b9WR_gb*H#qWo!KWHAi4r*C zvSdq&C?RQ* zWG!2kv9HyXU6!$?vWy|jG-ICk&i{Si(>a~f#LPU;^ZkDBy`SY?5~2+8G-!&wE!_t9;@((=NeCRo+l<=c@I&dA-AxjsQacI*LZgq zf5{4}1@L*+m%lJg5oE=I-*iav2{mT79@w`;q!Ov#ZQ>_p?eGT*Bvy~q=n6;3OMonE_{T>r7*I5sw?E_ z0LfKSm+AnV1G|)TVZ`)GjtxmZ^_0b}S0s~&=HT;cYGP!ZW^pFc*eyxB2C2)c`k`(u zvQY6;PuZTyFyOYD!+`9cl$x1)9MBR~h*t0$RU zQaaytpr4($c!>B+gks4N({I3C;l<`vOvVOBY2Kan+=+24cMaqj)MX_u%b(gN|{zQy-|&&Qbr`UJ~M5qOb2uLL`eX zYCRbSrK`8JC&X(!sSg^~4*9PHDn%&G2|cG$v^NOGNy~>a4s&lho%_B0_pc)~=L@>` z?8S?ZPJ=$AGjX#|%&-a^c{=6$H6C5y9J~CeTK@zMw)@YYKi?;O;lIDQxcKdrft(|z z?)bATd54(1H^q9tL=v(h){DMfSC)Vn z@&vnO=jC;+th~Q&YDc@)gC4mRKo(ALNJIkq?L@-fKS4G^8>ne*N)zFBXfLG~>VzFrIPjo#Q4YhH|Vy2akATmXE z=%b@S?Eu`@5b?PP=7p+1Bb2(0-t;8x2fIj_#WlzEAVXyqW8We#OG-bFOT=OPr&2?! zOxxL~{1<$(E>XzJ0labW>}j0ZfeTOCEO}>8qJjUrK_o=Q9+K1_C=BIT) zVOL`a)lfH;8gc7TCU`{0$M>Pc8#=zZbiez(G0mS^kWuwr!HlHz(T~{Gxkm!MEv6^O zoT4!H!JQ*7a(ny{ah^`I0J82~^1ABu4elt#XB{gmUXlsfA*WdR6SP!R;y0IYE`X+t zmOIoIybDmbyiW+tQ+BT0wG;WYUkd`KV7XL#X6RMvOzC9#WaqwbuF}d)O-&>1lEfQ? z`%X&(;WCt$T$;g5kd9XhDcoia%*=n=={JP0%eg2^U1EGr%?Fu?XnM=oSoYS5EARC; z9d6o6#d(gFIl<#AxRC-!EFUNim`>CDieQ&9Ir{~Q(K zP-5b~@J4espwCewd}luEKJ5~QH_eFD;duNx217h?5L;WzS8Txsp);uU+xPD=z#ZGk zSs;~>1Whjl{Lc!>Ez;=LS0jMu?+ zsOg?QeX28U@-Wro2Yz^%hb_Sk-xb;%{c0z9sY1(jTD|G=?>nDP(Z1%YegFR5$v;(r zUQ*3A1O^7C3t0zSiOMaw3S3tvL797xKsi32xU&3KuONbkqC>tDgcSV(MFV52cJ!O_ zbR^=bBKLGt8o0W@194~vHm-Ry z$MXm($m*rxCR&!7wW)Q@Z9(-Ua{GO94sxW)R2F&C>w1f}^a2|6-@N`D0n}hoi%>K| z)_T%Arn&m-7b`J8Flv%&l1^whTupn9ERqWS*sU8FUP~Fp7^L}oL@HsVjL79;f3s1Y zmv`nmlY?3p!}fpr^vO&0oy-N!*pvfy-zr#nap^o`)g!8YGupQXe0_auL%O(Y&(H7P zxqEjOZh>4fjzyAh7jmR+{&?#Ee?KT6fjdLBe2R%lJ}y1;cfoQZ>UZ^-E|HusKjss? zQ(EDyKCPniA8{|7=6Y6#6Jt{wXO$a1ebO0CZlk|Hd7z6woZXlP>B>*MiILGPun7fr z+pvn^89zFdRDd0x8)V8gII*HrZYue6CoLr2~vsi)87GYqd?{ zV7}oVjnIL^eJtD+%_5KE)+JZuk0gE8^AeAc%RcuXRH`p6Dg`ts*~uSZlfX9@xub!} zuz$ZnuyB6YijCU+G@-o6iW-O%1WgKu9ZXj1^hDiyC7+fD)&=KQ~l- z=EVvD6X{4iyuEu?O-*o4i%?lw`Xz7Bfc9kGP%0-tYzckdaPB9Px}HzCgULu$dAx}= zX9MMd3d@IdYStbj^3`()_>3A(-cmx`q`%C~IiEmG^3;!t~z|_4IK?(eic{LD`+MqKU08i6@s2aB#Q;1Soz~Z3OKOcYzUaQV=$)dkm(r^B@Sx;h@^qJ{rupHyqo7ve}Q`#;}+l4OUx0Ac7tE=Pkj?4TS zy;q*01DKpff=i;1tfsHaf#$y$`Pn$Wn-!6=naa4$m74pF#^Mpu&pHSzDbF$X zy)p0G)?z>7Q=nda(PA*_W>#_;RBpO|7{+dKzO<$|2Ly1<&(8-HEKAEM7Bve*$gR9S zJCVw$&^0rFxgsv)iwer=3L_Kr)#{QYQV*;Y_V)IEn^R)FXZq2gl$y1A^#qqVwI~K4 zAU=l(g$^_fsm@8=$S;^lyx10|1zTmxEO|bSAbjMLoG$5XADSE`BqUU`WMphSw?5nc z6j5Z0Bm9Egtx-r=m?L!+Iw$m_^ZJ**vC<==HIsCq*egi=Uk9keFzu^xV)7>tdum=@ z9w&0n7~bv1oq=Ok9qtO30h2J5M-mBTOk*b>CcwK0CZf2>xO=|xW(W<#D$-hbYR*Q-|ELm{+{mKZ?Lw-%(*zvD{Rr5ZJPQKd zn5!Zrd|YW+%R2gt(wOIa9=#co2(rqO_PkF&kV4UYz)&)w(uav!px+y>n1om~GBVQR z>9_IfRd;94SuEKoJjL$nL0C7Ajv{wX#qp<%%`kr5Y)m2zxNvYc*;`yZoVb;%^fh10 zSHtNAHL(8ZkBJH0KFL~4NzLxxknc}AI=T67Ky3t(R(z>SI7D3{VpPo9h%zn|-@1AJ z@2C3Yfiv!3$B+-44x(n0PajXe_L#smKhZy^c^J28*akU_j>6Gwr|*pq|F&7)H(|L? zl97>7!M+$>Y_pMGI-vLTHq*xRyH0s-wxF|obC(O#Qi5I?+~=Oa;p=5gs!2AUuLpl~ zHXl7)W)%V}CQW^V6*Y#&4E3Rp7+FekpF%KPC~h8^Vp7ky5a)^zuO=$IlQ=bN{;{6p z&g#TokeH2I-4w{qG9Ay}L#`I0M%a&; z3xzJwd7Oj;E*WriHAnvaerYwbCxfpST`S@vMlvx@M+Q)>=-bf`o+B|`#Qar>GQspa zYGi`I>qMuNN;88@lKeS44rIIrC?z$d0cW@2AYjnD1VDxW>WH3eN^v`i3pyedC7tdX z{#SQR&-84=Zp*)ehc`a#i{o3}t_`*U@FFJ>J3cS}pY6nB??B%y!2Dyr2&36~jiWzi z^y`hm-u_3SIHj~g3iTb*jUSaUZL;63O=8;oEaRK5w0Ar^jIUmeO;M!hjVV%=E(oaDd_=c9 ze`5@RlYe{C7fqQ!!Kk`=POa#!b%)|DZ>db__%Ph(&(=%}bTtfdPA|u0+5pNfftb1M zz)-Do=WZ9K`A8tYjh-IThtjEIeci9eG)#?TQuro91+}93U=D#oM3*G*dAV2T(E#T> z;7|*kSRq<%P0bIbqtfo9W%lj+}8#;jj6#JByzz@fDB*noTa zY@I$Q{HlN-H0z`hfKmbW!+viaoPE%LEo*oBEjd4OsTprKUhQesPBtlo6WZz)Ez6tP zad1G_xO@`9yyM`l0pAr6XQi$9%4KGYj;iVPpP8yIlQcZ{@(un#oD7zt*?6 z!iPCMU#*&nr6P1StCM$1G(~%LqH`qH-o7;LaVe}Mdg0d}c>OQpjc3>s;;>F2tQR9z zQO~LEtBZJVZevzE&QFI=EIa!-DXXf|eHgZ{OKWRKr9Xidlp_~ecw!QNx~|2wjsWf% zo*xgt^D~uJmrBd?J<42P`uP(cxmTr9;w8)_pPhcn>j0HAXI%IeJ6!e19z>X0#g3{t z-1N7j-j~9<`sVMQ!CT>We)*Jo&@f6 zfOUQlFLYkm$oGC53)RvQa=QXNRnSncs2RV>C5FqA7J+i9Bc19wtEkA;i=GQSHQJ62 zBVq<*yG7dDF#cCJ@>k0fkQLpB7i!SZ5kp&nF{b;B5oh$&a4ZRMd$rX^hf~%Wqf4yH z=OCG>nL4E?t+BpK5`>b3bD=nK}?%&%<-TR*?Gk$(uT_4jQ+4JU#E zve={u&qSAyFcQwQ2Tk6AEa4lK5GqtP?zKX704$%1JAY_ky|cM!y~#j)G8b81)M7uU z*cXp1srd#4sdT_v>!mtyAV*R~uf4Yu%bq+ZB6GYB!^Ba9Q zMEign!_sfMtk`SCXIC>PX3S?F8S0;lEBwy3k6p;TSGveg`G-i=v(@0*kyEwvu@=n& zFH!hA-2BC>C0GK5_1;U@5;eJv8;wafC6371>_dl!j_b>z zI;VKvI)2#RBM~MAZp~l6fA0%rd(C%A%5DFP%yxXOZ@#hzYWc7R-{|J%rZ^jGMIImf zd*AU(oo=^p?*n?8&`YJN(-A~s78HDJ%zX2wrfno+YxOhQuxE~D?P{BFVj+d^tU<%i zn`n|>M~>LdY-+lmPiZt6UjpJ3UIqqr|Ni|wivj#cjmXF}Yb-k?kAmw1&p9ca0_{r@KwXfdxr4F{wMcxpu};!E!D%&z-0H;lqQc zWMwaSra~wyC@+`i$|rvZGJsfk_PMgk!iS&R2?JNks%zArPS^kb{kw`DT#wT}94q_A zPa3*rGD{-PA1@q)u(^oMFeI%ktI{qt%}1X`Zb-!A@(HL7>`@woPQQ(X%i(fld7@j+ zSkMN2i56S*NxwjO^{A4y)YNR#5%sJ_rV)1k6zy}M*Lq7@0^Vk|F0+{5LVYaWhHRpD zaf1$GsiJ9(i%2bY*SlolviNN$CkC74Pe3QhB^Lw;25sagg@~qCunAF8oi-L+G^j-k z|M~fG(myJ4ZS22yaSEMnIA9+tzAGM>h5bTBJ2(hiT3M}HHg#olEnO@ytsvNIGLgT& zi$?(efQq9x!el=As>aIi-<5YygCW9DbnD$LRt>>!^vM)(tBQDq>`9_#5!j@cEuQy2 z1B!#}px;EC#tg_$XaZtnbu*Mj`@3Yo?*R;CjVC>4(SX{|YI({tEXOC(wT>&}A5;{5 zfe(kC*WAUbT3WvBqQfu-w)r^XrV#XIypNpU`SJ#{3c%?*c!cRe$(@T*$Ia%1u9Yj!N!yzlT4&UC50#{N2T?F{Jeb(b!=YZKN!cz756;}{ z$Zd$?aGJmLCH=U6lDn*T+P|9^Yu#=eq(T2tz><*vKWy3CM@B+ubV@#rfTc8;D957B zCVpCGa7ZI6mtpm;p7^XW0DRV5^!^xFGjTQk3ygXA(3{ekI&xY2Wi=-yS=n%_aK{W~ zBr1T@Z?I(`VzOdLW%t^*{rr!)QD4G9rHP;`acM$IHF5fh7>szyOhr&9Jt&yVZIaai z4Vj@t^)i|!DeR%kqk+0#S(q9b`Hzo-3;DOT42wU==?f(zS?I<`W9fXec#fC+zuJl4Op4PfDk@r4 ziLr||GBPRvWJd14F$udC+C$_hnz}B8x+tJ^;_RhMmr6xN23taW)yugMvK=PNJ}lp!7HIcLIV5_^ zTXm8A*kO@`Q@BFw--LVfo}sF|94GDWGqKq4nCdQU1%ef%cj*fuCG3&QX^*ADHDoGz zvmkg`pM>*2McHhN+kbp+sczui7d?`d zApL-;8GMM_#4YNh7b%D9)p7-kFB)6UA)rOo!R2>9M*Ly7lv_uAP*qNy_7Wt@5cAaz z^@etovWvzAqC($fun`?R?azRYj8@r#p_?{Io?BgKHdI2-C1l; zO2Crly4{H&l29N2>A6Ni2HR4XQ^T%FpdpT$FzGq^|8R=r}lT!64UBUolsGJH!xUZcsE>7eNkS#TFHH$DLT@uWIT(s%m8@4yGit>9P!{jL`e#FP(D$q0&s93mG0U`U_{d_0->eOfIl#`I z$=#jN^(cUvW%mT9`;cAW)2n~e-q`S5;A90<`+L#uv`ZTIPa)cZK-26RHN5%T#-KjF3b#L|GosLo>*OGOZdalSf#g<1b%7|n8 zJKMz4)Vbarn>EaE(*lV@ud>`x8lXI?;oI-G{$2J>{M+TGc!WADOgm1;Wxt(}8&pYA zD2TXrq_@RoaRC90bl%f}Vza=gJvS(b)AT2%Dy&Cpee`pa#sOS&%b%|rmA)T^8cDu_ zd3x6jHlUZ!`va@n>Np@ENa<`Ge5PFa-g`MWjKlNXv4bT#{*cSm7)=d+FA!Ce@0eTX;Z|7V`6% zyEB5UjYFVCuU0ww-{0F2yUPw7)#=nU4>inDQ}z&qSlx zEp`4}(-d%LE^Z|qr!Uq5%G*)O)$x}b*T1ux>#KNBS@F8L`j5`jm#e>iiu8Jk^8a0~ zB@?XX_ldeQXUVnubeIfY&=ucsUdWOg)aVM23Fky^xkgO4PLf4S=$EfwjR77W@65J~ zu7jM+e#NxX&H9|F-O%6d?KwETM@lZStb%@j{r##a-;WLJQBu34m>j3f?BIIGQJ>qfGi1m!0Q)JJAH%Dw zWEwi%y2T2d9jnv{Gm`mbCuDH{;#_~=7*6r1My6pwaNbDP|JMRwFf5RJ$(4~$m9%CR z%M3h`C~psZ?QXI?JTvoBwoKxjEqk-V9yaI*I0E5W zx9`PgiLBA3SJs~1o*t-9mb*ZGeZLJc1pwmtggonw+yR&Sv{?1x+Yv4y(j} zeGU>@ivQYV{WmI3S#OAn`^EPafz5G^9l1T0PIb|E`<4uxb-{-ZgAcv4kQCZ)Q0DX? z8sXbB$FxoVK;B=gDZe+3@yV|Dd78NaBN>KLH{($Pe;;#6-g5{icUF4$0<2IJKg z7nq$gPNzND)WS!uxMv~77Sa~w#t*TQG~x4iSn0;#QFamSOhW@@bL@uMIIDT;&@Cz_ zDdz|6TjbDu1 zZOSR}O!T+Sjzmdmui&UCA;84NXH#B;0A$Y_Dreds`a_cL)dgQVFb{lei;H)EFM|Ih zIXO9KZoX+lRqoEODQBnBfY~C&^U-^b9@*|QHRY`<%+e1#&40cT5;4Ba&#m(A-$FNf zCHyxQdbw~1CqTz;=tpvTAVZLVQ?{AJi@9$H<|Z+}jH5i{2Y44F04)yXr#M4%@?F((D0-czp3ARoY(LupyL z-%H@6Yc_hw+R|_q;#tT_Ww$5=zo`yhvoV$^Zlrp|vcACF*vEi|!{HJdzoQH@l&oH7 zX(S;76|D-LlmIeLVGwkwadB~v?j1_l1*t>_oNH&Pm&G`jc?@Wk`V2fSH(V8=SWte5 zn1?$h3c8y{1PoWJ6s0)leVKHykV3G*kCS3*QN zQMLDW?eu+fHV6gTxw-5bYJB)i)d=bAfd`^w`MCH*5Y^fyi2uo5snYX-YnL0*UD}Yg~JtNI0VDGM*nmJKHt($*(G&BY2FF^PSrDgJ=NvYE1nB z;+@5&{CfQRg5p3@<4Yp_+UUV{7Ttqlv?z!j65Wy#UQ89KHem1Kh`|=Ga!hsWvq`CF zli!W94zSK&A_@IjLD(g8{q-MtU@Ye^vF=26VLv5hzfze`Xz|@395l>e=(t{{S`YK( z;(2eHzpm{r-KXOw(kEtP4C&&ks4;Ki`&bTczIQLwW47Y-hFgCQRE=|767A?Q0X36H?#hL|6Ut0J}FxK8PBitE`qc0o8lm93`LHCt@RU__P4{h;^V zv!iW@DpeAAvc=byw5;|lYFhG}2kqrg5g%@6Zp0+_d>pu#t}E}TJV#!b%pEZGA7G^s zrW*L<8`pJ=#!~07DK+nZHi;3>_90E-JM=jCRK9w~7pNFvw-eVVmHTI5RP38c(91NK zJEIr`UdMV}C6Cn|dVLU{3w~%jVXe@Ta0YXsFUym;_+W!VSK7M9P+7DOcld{YXfTwB zrHE|tYcWSXK?fVWW_WE^P!*6a2<4_OCv$doHf!je$@S#`ML1&VN^JQ{N2Bb@0?rl3 z;)V`{Rfa~Kd{QaIQxliY8{oWHR9(#j=N4qz05k79l0LUyFDn+!6%i`LZkE{bNrK;+ zh6_1$KwTRMk18a7@-9aou!TPq>+p}=95@_b~QPtF7O5^j*ITFs@K^`e&y9y!} z>A|gaE#M9V);(LZzVmdH#~~ZLhdW`kQbrgFKQdxjRT^5lDxpI8U_(2jc=93GZLRu2 ze0xY*=(lE(4Kb8sc%6>T1cB(=_e9juw5hh|X1~L#=isLxwSfrSv4Oow1#qOkY?A6A z9|Zy?P5HA(Ki;#o=pr%yyF^9+=tdHiqEX;fkgf7xEF5ArPaZ0c*he+;M*q@OInMa% zuaL)B8}F@bqSze{WrM^mc})Z4+EIO%JX|pl+W5q2Rcp_Wb?PkaWewgo7=PkzNkGT?YLB z79UFF{iEw`?*CFV-ah9zP?U9B8`K^_l##IY!ivK6#qHt+K)zT!TAUqm`Qi-(c3(!X={ zRlRoB>U^ENl^^$mgH6G1(18H(>*F*a_N@z#ZmSBSI(u!UwDXg3x%Ju;EPV;BNH?U zlGJka?y}o8bhP>Xw@aa_VSgo!U#OY|*gx|*A*K%GC`HcLPWQCwLihK=OS(yK7qDK1 z+`S0cO~+YdZ7TEWGMIWbkDY_l2@8OHv7S?Uw?$=IzT0YT`f-vf+>L;U)N?_0hZZ~` zca2fz3$h@*Eng z+nACXRD11IWmC+9kM#YptF%7)Pp*U|KVBYOBj7ye3md7z${dL->D2O@iOwx@i##TP z$b|kqdk<%$TGlH6Zp`DwP(SvPaO9AFRjhh9HsV79iJ1WEPv3j1`YoXN-OaqB9g1A@{T+5UOnVY#87 z_1DjlPd@4WR#UpBjB!37@=?RNi8OF607}ticIJ_$HM0he9!fDEIFF3;HN6A77u&8F zTJ(4{k+^cEwa@Z&vzM|MHo0!iTq%Ds$$Q?TzcnB(V!1VI%qN%eNYYiQ+FvC+4gx3a zO-@w!pprLH4WhMv?_=dF3)Rybg(k#!Ua8WqFxge_3NIzzAr_Y1kVnRYZXg%|s{T6G z#w$@c>#Ma4Quyki^z7Lrgsb6s%_VveB>R-`+RpjL!Yh;3X^(*`{_5s`wET`nO_3!n zEj9H9%lSW3mNHSYRN-UCs>g^aYE}B69i*SWtVbbL=TFce!kI~`Ty>2DE4AB&<9YXd?;H6_=^wD zJh%2A2vHb0glwW|CY0U!rM&iZu}diK-~&J)6wBB{R{|T#b}jZ;PQWHOj1 zAH=U-vx0Qvw-D47&{(JZt*ZX++Cy=8O$%)4$9+#G=UV>3zs1W)$;%;W!dgOqHbFKF zD8*B6hoezLau?)k77(}-Vd=_GKYlf|A>|lTB7_X@Aa0$sum9>E;|*iO0gGVZajY-!h51 zq~)NDh^v??ou-oWkk6kgExFp@xt3s=pNyKwNMAy?+kF}HJf zB)Z=wjb+xXzT?B^9xbdW>AmrOFIHfs&hKUFoK@gds$*7ru*9X8A6JJL-j3WC&fJu# z6pXo&9`5->ZG(Kt|9$$-Obr74Cqjswe7f^UP__MB|7y)xR6T!#{lMVh{i%lFgbkl- z#oY7*)O?EukOq^;ncPE1cpb$%U@hW=JYG` zHA#O_sEGLne8nhvBMYl8B2nQpyx-+O*&ZwKVJs;(P8r=cy!Lz}DxDTX(K1`x@w7s3 zkK}&J((i$07k3coGP(H^8rW6t1!f7)99>gW^9{j6BZ9M9V9-}bq3Z3{zF0_ap-_!m zBeuRj1M1oJ>$>KBCu-PheWrdWMbNN`_zvGWyikNED!o8l(XPAHQIXgTIIc)Ky z{Yb)EEzxwbz%yI!QZPn|0VfBn2g2&L>syNe!Si`)RHtSPMt9jizkL8fQ&{>bx zU_#7N{kf+dXm~cn;qs_zyTOvKw2eonYlprNjtU60K~oI}i({JB`w&dlO*Vfj%!Nyh zjM0o-|IHxDvbxtgIm45wg1zMuN)oqeGtzdU@nCm7|cKga^QqNA0J-RSA(|Vt&ZD#0a=(GxE z=u(EIq30lcLM3TxY6{CxVJP-ppO^#EJEgd)BYPegW)q6Si+Rpu8czMA_ZNdlxA!e8 zgZ3m+d|)x4{w)0|vR^W4b|BVzjc@!cwXM~xSoNJdOC&JUo`N*jwwm`4<6Qe~*L3ce z{9Il4R8qNX1S8B&4kqpS8d1h%+MlMX*CxL&Vev6T zDdCobrCUKJ;S&cwC;Uu0B#B(6uC1*FN8&l|iG)~rHmT3BQ%COeC7q=2#DNSCJ?Y)i zsQSgUKB0!)5&VS9*;~;M6jg@qq1Dz3zptWy6(p?fMg1nGnukQ+CHNL*b6{WyEm{e45-IO>&T1vJjYX9d>!S@>;?Y@NbDF3AB>Pd6N(W+i zuG~D^W!!*XmVPqa3*(j~svo_VR7xi*<+52qXWf@Eqjz2J8q081Jk~p%S%+qV+=y<>} zBc4F9@!T!Hz)7{O{bT=E-M4f3I=xfPJ4MC_a=(L+HO04KuRQzA4&&iT_Y|T!&KBME zi9e{o2!-1O3!6Ib{$7*zcC1G!V&vJB{pCL^bzJ)n3^#eVE{vuU8JO8@mV@She_RU1 z?w!#rt#;p^+PW8Yi#z#yrR0>2&0|Z$-4YH2?^uzo7ldhO5Jc~eqNkMZ(e;hRHvjgn zA+Z+!nmDo?+KI_pz=VlBO~WE%8Lb* zvS79T<4DiaCg>|JC_cLgHW1*KoXcl_PBV3$XD)li6^DF2gA;jn^+#k3^cd6`{uRnT zq6CV3dOO$B0IutS(NZj#>$j<6P>n{tP_4}mZAybp7)Op zLU*@DSCRhNhORU?A=)?9)i-*?3{E})B&|AJ;hNM@$k)2Tb#5b`yRl0^Yu)*x8Zk;D z{whqfVF64UFRgvbCcA$TI{tW6(%;c3nq@Q(O(Q>UPHqcM74G=2+M(~;w?|Wakx)wJ zEgjD^yrF)Z`k+KijEDuICiY+c(zm)6?>tCFN=3i==R%JI(DbLJ@7y$=+(s51Xl}pM zJOe8n{)cyTgY?)|H<~~x*u24A%B7hq?1iPgkHEu(thV*_3gwVg04ASvfb$dX9x!N+ z>A4265Wc5t3Zq^-xEvoSS5ct0aZrI$fs`p57(qJ%?zjZ&j_JpyRw5^KKs@F5!#tWw7Pz!x!>K^g%YjI zn%nYdpznz5UUd?OOra)w3)45o86lUyO&4CCv02Ww*{hcN{RmTFc}#OR|DbaU5fvfO z(vI4b@_pwfI6tqi5gA4hf=`M-VR5OmQjP1#6MkhNJ3hu5SrihbAA z7zUX{3agvXvfc~7V_6GrY2|aiMA>*Y#rv+YMEgd}3-S=L#8lq{%on0j7vxu_Q3yq zMBo$3?dqM`ulz6JFgK>}1m;XMp}n@nq>9B&Yh%n4JGpVG(YSPsic~xJkPCBz@r+tO zH8OU4Trjh*^1>Y{i^{f#B|*X{Q;jVxU5%j-un2EcBj|4n1W+XeD*QV>^D!4 z_&dpW%P~M#c7e8uEAiql>-x?o9l_U}A%R#{0QT4k@ncO|yxrWRtsA^Yh(yG2R$`K^`m~bw|CvG-JjF0#|I&{c?;zoV(ftG(y zjk~yaGJSk~69|-`lH+{%)W!#f_m4MwH8kKqsOL{S?A4gL&HQ9S#DB69{kq_DCz`yN zMT9<@2{n6@x#s%)Pphil>dsW?T1#)PtGmU1*MCB#3BV!1HEz8{7FC?gT^+*m5Sl(?W?hI-D80MH7Gx;ih>FDbm)ABq+Mks=t(KcJOCn}0T zq(-jOL72Kc{r+pzEn}S91N`dNG>eM;YFHYUw{yj9$SC`6 z1ZGISPtW;(`L9)(U5vs{_}ENy4r$C9QqTrfSvyPm;s1_`3H! z2Z8%Jc}q=28K1bATdN_OI)I^9Od$`_-Duli+^BmZq&fm+w<~*Z_fHeBy~Dee=lhJn74G{NcFpyQO}geb5PSvjub2$)%0$CIq4$w6)GCXrj{zK{k@I> z^`~rO>3Ox{cXCcAdJFAUna)3a(dpt5tyg7&5^IsoyUVi5m+tj!AI9GOk``3hR@S!W z&!xqdqsIyUZtqsz5oTy55V`5DMH%;=I#vqla2Cn7#w&Ca#Oz=8@}fUb5aapoH!VP4 zI%gRdRet>Fnt7^zG3Dz0^t-1)y#9YRIM&H0AJfxgY>z&rS`mZFC zs@%;+{_`epj4T4#-_(I(TNlQ%Lq`QOg)h+{4%_Gc{YTiJT+`4sX!8N0QBXZ8XlXg{ zI=nIX#?NV$QT2jTEYomY<;-xrVgAUEx!a{6q>clq6f%Mdjgpc`AG5KPzo)w#fhwh| z<|&o^1}88XM)&7JQe-~a?90bhfE+{M`20UJfu4{Qr3g~9Ll8d9%5^At0V|lubyq0= zI;euCsP5dC#cAESGN~>QQBa}(W(Jw8KJzeN@RN_efI?i@DLxpBgnK`nuYPZ73739T z5R#pfGrx&vL$R^FsdKeg>7s_Q|H(&vMv-u51U-LWY_A4D&O2OS|DO7#0K_q9R)O zBMC3^KCJHbI~#qF<@$>U+%Mse7-RjJ)IAerNi{ERZF1aD*qg~msS=o>l(aSU&ZtK~ z-JVCd$hAPGuI%tgyf9>;9H{k7bS=aAkNav+vo8YtEl@WHwq{s~Rs#?@3rixu? z;n2VD8jt{7<1D=q+(I|WMTSi9v~^7JrLRZwirLY>*p| z;TnzWKgn6Vd=}7}!N=>9*{4bX$Y$_Oe#Ngh6Wg%xuY2qv-WP%Bo}HgxyW6Wdi->DY z(vG9yQ|^gWq$@6(J3qjA?rd${pgkd^G^Z=8_Q+};{-3cvSX&$<_R!WuCGx63!B{>Q zH0i+G(ImJgvmRvre=Wd10EcRwv7Wc?6gEt4Hd0JesL@NIJJ5g(J+!kctH|=GE1|yr zRMq$jFMh|ip`oGnh)V?j9ftq*MmJ=b3qyR&Q+}{F(|iZIyRF7ZDeJ@N^rB#6ho%Ys zP4wLopXBn4f0B+hw+aurGJXE?#mQ$)`kqL%c}t77JQV->I{e<0_FEr1TOuq3BRNo# z7$G}PTS}fr_@27q_btNTY-$DXQ$AhaxqtI}l0Qdu8siuv%QsYE#wcUUpbfsX+UI&- zLrFu!gfkOcr{**@F0+C^iI!A zE(a8!rIhvp(htROH2geB=ca_N%qouuC2B!fU%v9OwwB4->J%R@FDEkt-Ilq~`T287 zlTi18!Rv27e!6=tq;axucvBrxlDHJ^zte+$7j+-J?{57E2iy4D80F4=pxmbmM|{=0 z`R{`c%X)=KBtD9X!O?Y3@I7i$H^zzNO3oGN`_=2K?SG(3g&lR(*f{=QepN8xCaTkb zedEhcBAi_n#RVTXz5RBnm5B5;@I;7g!J$nyJ7Z)%c-3_#e2 zG2d>UGN=XxNc@kLk$%9rcUrDT-j(4Vn0mMK1hvNKS343G4s2#l&ctK(DlAj>YTnZ7 zx;h~^)BHAS%4YehO3tpm%hgL@BbABfWuhL89eR>+E_}~?B!3Q;wT&&V+-<55-C^bB_iacB*8%k{*a=Gfs`3p}}FCX67 zh4h(A+dqPzJCzw#!&Db8o4NQzsPSX@r`kTry#ECPo8{6QXR^LNuQ$=*A!^_zjN6$~ zHEoukim?6|)hrhIh81MKkTvp2S1NOzdRNyjIQT5eYX>4mIkn;ANWM~@F*bd7*78Q0 zE3oNIhQ+0MOBjX-bI(Y==mrfFZ(;sldIW9xJ$u5wPffAocL;yh)_jPO@{8o@ro5%Q zQkXUNdowo+zjS|8xQ)9u{bOr}LffuxZoJ~Tdzsk)*OWe$B<<0mglVLHv9CR=1KUyP zllj-4fQG`0?-YEL3N2`q2k*&;K+jw-uYdgCynxQD6p>*8;Yn7m+oZP^=-BS8Gxst) z(HX@1JEDZ{-MaWkl41`gqMj{tyeBaFOEhBtSBN6JG00{<5^-%EqEDvovo&pbA9_qU zC?NWlvp4q!$laiySVdKpb7nq>M|e5|3VvDKdb?tFJCH~1#%N66xlHGJnSGvn4LFp` z`4Y6C7RKT(&0#|lC%ul}&Q5zI*>!Lf74#ai~oKs>%%&YFGrxRU5p!|V$2HoHU z^N!>ey5jaIp3#Tld9Uj`L%m0&tM+iL-}3gZ-lca(8y>#C?6!19Gz!#>ynKAC^&KuA z2KBO+#hW7@QX$jozGu4=lT@3+^>}`yl<&|mhvI5nWDl`xyC+Oij+e9S+3~@6 z2{`xej57}lp{+@6#A01g;VY;<71Y!`2TffO&{wVCv04Eumm_)+kdCOm=|SJH)$^fT zExZnz*j+KZ&y3Y~YvaM!TxjJppB6avGar;JgvQiL~VKl49~ub5<* z69U4=l$m-i-4_}2PC2rjiGNj~_3+j4lZ&B$#G-%v31u@3EqKniJQl4$Djhjb2>p{~ zlY>uk@d?e_+0QX;gc*Wqh*4bGGxl%V=rKWCs+y_A-Skx659bsz$%cC$zQ7jZ*+z!P zeRFSA4dWgg!Ahq6Ybt$YP5UtNPoj%I86jl} z3!gr%MrAs;red#2nVCqrf02)oU*qKf6?lv%ROv2kVb`t{y(phEF65dLX{^X9Iyr*Q6=6xLaU z@JidId{WDr0JHw}QCnEm;%mmi%PZRSvkWQRd-Pw?P4lp34eR*_1LZ1v#y`>3>h<*IF zz@~%kFJ6ce06UH<>Xy*;GcVa_UJ!DXsHOogpF2V~_C=OvT&%J!6kAtcUl!cu2w_m~ zkn&Y6mJd*<8Hqezmg){wN)}=c+k&n)JLh;a?%^vPM?8nL1$WUEe1I#}1*jCiUGo!< zL7o^CEVUkec|!jiXj4s+GJHAfx&#eq0VMGZ!(0F@eF73u)howV1`y+DItd90P*U;` ztzMyue-G~AlZFfEMvy`Zbf~LVY%dQG=(v{M!SH*&4)*qa!0Q6j5lBrWr=-Mr7 z(403gFaU)k_`AMxA&F1P!55wgH@;kJu~z*pCu&%*8qj~sn$1+I4*a*V<($zt@>y1R zDZg5*S*pPlR>98@jo3TO>mI*MY7p?a0jh{`rMeHtPkp$!xN^|EKgP9ead%Six)6y% z%nndIdy>MV7xECeoE2daSypHDi}lDwp1(GR^Vl{`PbC-o5_ROUUm@{q=(ZI?ydq>O5g7PuAfJ#0x`O z&f&R+JG(KSzfk4avqFkMX;UE20a%%e#U@wLCM2Y$qt6Pp$u;Pnmg&~ZvE$%0Jd&{& z?uR3~d;neyq(neICIFoZs3<)B4YsNFhLW;f{T*%#?)2WnuisqbzVv^eEe>OICQ`8pifgZ<^v1Tz91h(8!hZ zvwYhyBSce(raaSjse`BjP{#!|D&CqzSyLY&`E|m6!Rsn1?#0bbD6=nqa$?lh3Lxaj z#&fdHF_DKvKloyrJ+cw2!U95LhZ`0k(pO}oxPCX^)2x}~03f5kDL=HjmnJ^J@dW}) zGm1{`bg$ZwfLZ_&v~S+L3GR>22u%WjE&z;$CJnTPSbQScUylTjW7)V}8WU1yAL% zgbZ}i7HR$1seC~Q3(Is8v)-_`ad6AzK&Ra=m9&@Q4#m{HkL-n#*x@F*2>Sp6Sx^dn zI>Ye(+lLunD7GOKo7=+vW15LgV!(_=3onZ~@+t6$`c6x0abcCJY_5FxA2gL4@bnk* zYHfGzKkL6$W(NtfqQq`=*s^&v-6$%tWm|FF!E3L8rI67uNVz^XWjnFtC5}f z!VNma_O!1|RQtNThb@^;_k+JFi=B6RWm(P1>FnxCfaN~7(`V|Z+0F{FUQ8T;j667D z9ZlB4PB>cSNhNF)_e>UVkvym(E6A+5hR~R~>!+i`>ubEbQU{w*88a3|)( zaKMw4=@W*6ky1R@U%rt0=Q%0gds^VcO1OOL1A@~Kx9ru_LNYl8R{2+0HP*7|fJcMr zU2!gZ)lI~$PG`|9HK39EZ4bA1YlZN9;x1XV5~$foz5#5&HK_q(j-``N?Ymi3lBMR@ z+s~#8nuaP{(by$ijefmvUE&7h?jX0n-FpR^7}-O7H!iPZ?1WlCqUrieEaiB^>T#>?Bn){SyLQi{V3DojW^+lZdgCkR`6ZeQkbHE}{y&+0ams5_iYSE8 zzkDCC#Dk{gC;%4D&r|UQPUfd87gnU40A?#%q96E*Kz=s}s8s1QZ=v2&A;{m0Ry=@{kiZtnY!$Q5L}-EiX$6yMXa2=zvckp`QY zbPseAxZrlj_Dapv_xv?I^{BU7qfcAz%v8d(dq^NOgv+ARiN!RS5TUyEK(Al1o6d%d zF{L6|J6V6mwdFf#7~1yyhQ z;Bx05+@+vUoKmWulW7^i!NGAJSmN}p(5+=C4Gxqxhx>K_>CIv^dA>iCk(tDYXJ}##u*(o}Nv_d(SHM1-YauNpKcy?tgA<6tbJE!3ce|g6>E5 z<($s@k4%%AprBygI&qd9_i+x*sWu8c{nA5E9PO0) z(sm&-V-VXDK%Y>z!?$hp862IH(*@Lw)N_)a*wEfMMR`I=dwY9?D*vy=3}FZKsjZw| zZXBx5KA1jK*L%Pyal=IZMX=xyh^$P&?wcUXC2wpZlDtSTki+T|9p4BSE>YzcE%$}& zay-XFOeqN=dp!g2UEDDrDl|_Tcc$V-U>QSZJNiNkW0XU;Wk+#V6tR$F z=ERC3wML z`M|-j!pEVkUWSdxw7^N#^7>{*^f(Q^EyzM9yP@)!CHy%mRavciW#xG0kDD<@JiiP} zJkHwKwW471YMnaUZL>T*xXsCcl^&ab`h$HdJvb=46srN8b1aBigtJ)gxnRd;b~_4p z#e>&wp-~n0Eog56!F4xc56^kc@b+|1l@OcllWv2}o$gfxxa}Asev6dAKppV6aplrT zY`ny9Bq(x9v!4D$nXW#^ViBZyANZ7G;wcXKx7Fnq_XqENFRUM49ZfmoiBpq4A@dK8 zjyn_GLdPnj_s)mZeHmso1%nG`tp=`-XN^)03+l7y?W`oF^EYEeI(qD?0-2BH(IUTRoYetZX|yFTRZ5 z)450FYD2YqoqziCoOL1{@bHxmWJ4}cQ>eBHDSzGrBKjYKN69^(YkPAOWq2Wni(I^P zI16KAW11dy_MC-hxiMV=qQNi<2AC;7Y<*aw%cp1vBiu8YIh7Lufwr?YwQL_f?eKM zCMTt_(8c?#j?NBwJ0)vM(cS|+#NYoVqE-d-?iNAsVst|;Y0!FSBMq5arm3M zSPr5`W0DvwhF<*Sn&!DRR6z`by3r;CKqX5UQ(A;t&Gz!iST)*8Cwzh2X6TuQ20SmB zA$GY3;GCLnE^vOyhV`IVFb&(cgAal+n{~NDfx;I{miqBSjj8j2VZZIKr3KQ4A?|m5 zfwjn;m8yhzvwmH%=0btO1n@b{4>`|1ycsR8ZYS)AJ*zT^P-F^3e*x9&GK`NCUFc?q^OQV%9WNrHxKAQC{++*V=8Su>C4W@;JnfdhW@4YHx(#f!rE`Ykw=M)A<&Q8Xyx$Lb6>Pbsc z55La-ipq&3-QHOrlc(B)rB7%dz7yhED{i2Q@hfOj!Cr0^VN>&Q2u+As+sL-TkllFR zSErJcSE`VoV&W*Kr%|uLvVF))TSCQ}Vp6jml5x^51;yvm8tI(EL0jL=(Z)pkPE`wp z7`JmfMhd|OfJf8q=tmMIs?M%=)a^uzs1 z3y8)&2}G)sY#OZhxuzz=3;&p;?9KeZarJo^SYeY6pW{FYpOKi>&{U?YB9f1vpAS)M z-pL+ZH#y#(E&=`PXF+aVg#8l35%cep)#99lhcGrs(JXsU7;osuWnXdYtG8ZWu?Y!` zL8o0u$F+z2vv|Q(wci>xj($xk(P&3TMSY%}^hYxnr>CdCNCls1-y&$n1E%v!w;$&0 z;*y|T3mMP~?QgbU5VBiprDA4gW@BgXLNAUmk{)SQ)#x8|J1DSIZ>GMX)yHb?es9r+fbEJ;U<7Krxo#lH9k_ZDBfCI^DWwN@n!5`}{K1Q>gOM z3=Q+8U_L`!(%VJ1gT=FPqWJp9-wsGV#C`HOlb1eR1>}fXOiWYWeAS_&K1Jg;4P0IV2n`Ai=;5l z6h(4LmtclKO_Kfp5YQVF-A}GD?vbtkj>O%O5YXMH9~^<2$zbdKVZd7XFyT6E8|<%+ zKX9hQjdhP`5ISRRKFaM)zhw2X3b{G8_G`WF+QMz10z1e{|gfN@?+SPcN zNs=D!fz|_yBUuRvE=s6I`w?x=wPMp!RNn}?qiIj0eHuniBm#u&DTPqejbcG8e{>fS z9DjN$cHnY-Ih9j&Db~cH4;FaG%s8ig4L9`F3C8qCTh5Tb3qs_!2k0SKD8syB79M+w zH1rd~tlD=uKILSCw4VtG#JMdvcExm+Xd z4y5Vz_7&opZ~7MKp9M@RES$_H2X!>1K4M2Q?3NeLIc!12DOFjizbStR^v(tVGrdrc zIY3!c@r~9axK3-+*DWI-7EN>0EYR~ukrgg@yB9(HV{_AxyaVj7yrpUKkOJZ87q6WH z0v=^yIX-O?zC9X!);3RK$d(r(RwU16He{)b@ATP6Y8cicJv-dEOVnt8>k~CEvnd9$ zmUq9pX`aMbBLD-fvyEY-M&&q)n{+PY6&4+Z$;WySCXqI z)6H>$WcZ2-o8%+1MX@>{p==_M&?p#6A{_@_W%fZje6<>bKw$WIWG$1wF!5I&6f@cU zQ3%xZ=TpQ(wln3ez53^D8vHUp8%j4%2=DZ&@2mEudpq=3WrW^l*E}~VnJ54Cqqym9 z8!ro%&G};v-~B6*Y1Gla17*QP>}-bpqiz)zd1%8AGp_GyEcX-7<6`PEv^Am)!}z0V zh(N7=-3>6FOMvWx2E}>*_;53*dEoy-5U`{24MLkgjKNb&&a2%a?C#@>UQTb^+=hSS z4r9VS>gB(}=QzVBd79H3r6{j=syhsE8_Is>G!ilUreA_ab`OjWacveF?d2Xl3ZY<9 zSYQ6+WctNma4rNT_jQ!mru=f_fuE@L64)43^!W*m?*aJo!*v z>)Q0&YO<1}$K0N|yvQVUn;)Fm#qG2z0;d9-G|)4!tKc^tN4^*6fNX9I_H=fGx4R9D ze}VX0UURd)+v{BCdp(FBYEqRqWjf{Yo9!ljkp)O9SCU`n_oF*NHWfH?D$NsG5t2(= zXs=Oeg7#$(a0<`oYyXr_bfk-}-*K_>rvFUb6;jjm-L@ytKU}}@u$2JczqTGpzgL6* z@w+{ra8{I9?WeT6HTL4K^(fDcr02p3pGfQGrOc~1(&w{w!FF8zEET4aqWyDyU78>{ z^Q<4ihRMD*Bnr7}Z2-yJ`*z%|L$T;Wv_RQ5zV-X(%5g2m%399K%9#T)QFPVpS?XVX ztz@EumTu&akH#{H7ykLPZ4>#V??@n5d(RCTe&^i02>r{_v1xHWs*PPz!k(Z1pB@3? zRfZ#Vy^8O7^63*43btWI-@K=Ys>wDTm*^5`Vo6h`SH~1mImj%yP)klKI2|8}MjV;h zw4D5kwlNc4-%vexE_RMV%=_^8UcQ=O>#jxHu66M}!yc__-t9sLYEnycj_g zbR__uTNP>vK|J4`Ue(4Sj}coL{`iGowPV@6oiB&#GVH4$tWhVI*S?|X25TN!RG)&+ z_4Km1_Ludxz4w~YzT=)Lmu(fbPFpmVNM=}m6)Q24WT_e{Bgs0nM!J@4{xVTdG$vrn z|HZe@%)vh`gQ%}E4|&E#17%$NLpO1cm2n3rJG0MzQr#2adW7Vi$;Um%M-NbljgIKlEC3s}_T2Bi&EDsJejV!4 z<_yTt{M{ukr1p2seyoP5$WN(WT-zxr38R{<45J<`O&%=^B}Pl6f;OixAionmLZ+8_ z*t`BtDrW2bTQywfuNbl<#u$UMQIU~m3s3#O@d>R1UuT%KWZh4ihOMl;+zGJE&m~<~ zJb;uzt>>Wy6$MpjKx8B#U>WKEeV|(-9Z3g}lw@3wb39z!_;2oI>qW*xbzBt&O`2}k z8d$lYLWvx$rRjUxvWx+t{7#Jt9=dXTeRFLUmuz@bXIY z!_#`*pA8MRvunV*=*Xc{TS|7hdyo95^3FhU#+QmW6{sT#^K6ZCB@t@eEo#6?!GQp% zSVHs61o;a1lpcp;!U=T>{mxer*~2fa_Kp@oQs7CPT-yV!v22g&ijvyV?Dwz6MV+0U zf23MTSjV7+^L{rL{4JM-yOL^V`;Ci&Fj&F+diq#XX5t2o@NQ-Mz2Dolfrw@v-dkvV z9wM8Y20}`lg)U<#F(N}Qw@JXQfu{VFmf^EJKG`ectWIM+YE!Ns$?dJ2!E-&L`!4*g z&M;HKBI_zb+_AJqdpx-@$_N5a%$4nZ9rE+=DH&&XiYb8>jL)Vof_7}3`Fn#Ji* z`(Vo7AapMwD6;H+3hmzTMfs|JJNZ{0E<=xcMCff?j=$tmVvCN_*Gr`(%}(qPYV=!d ztCb5V$eb;sm#jmUGVCD|TUsA$CER9K@gV!Ka6cw8^8%Fw?aIJ5d+!LNjhV^G$wBNo zku3sa1UyfQZCVrKTSy@!B#@~;Re-M`%jbfT$`O<0uRxAa%^S(Tq3{wEg@`6XB@a1V zovb`bTHWkILfk0DB)L|wuXDf%#m^}yzy|1ujFXd-W)UU4E69e>CLp(K zPH`oZQCRpnA%_j8R(eV^Zts3pg4oh3ADu$rY(hX4M$*sNPBdMI0$BYQyk5LR4Ix=CI-=--7Xod!2682UmqD>V4Se~OUb2JWMIi-{QB z_b4W9iaU3dYNO6dCF<@LSt}b6HoRdZk1*~DB>{=uQ_z_p;e!Gb9}Xr4S|x1WRah1D z4I>0WPL2J2z?oN?posN0BG;6-IYO0WWogRWdH}x&kv1ThyHuI_05cWx7Y>0&H`?cyl||MSai}I#bMu#fvR^1Ne<7Ob z5?nEvX^cp9(0kSh#q7!J6(EfjMPalYNCXEv|spv+?wkSg_;O$wZ_UT-YKn<#?P!5*=ikV3?ae5 ze{rPOT?fV!)U}e4Y%bUitegaVexFaoTqr5oywW_-36a`pzvch55pM#}C_$QgpkdN><3s807ZtV zK`Gu10Hq#LSZIKi03kj0+QBDOh5f>p{5;SJ!ew)`D^t`38X@lp-h$|dMuQa9c>#4*9ve`{*IB9 zM*j?J9RMnMwY6lSui&)rZZ$!DJLo=_toJCklmHnhIe~kRM5y~g8-f@B`3;?GB7DJk z(_ZCx*;W{~-5VPl@>{6Zt;Gc0J(PyBZ64O@s>J+SY;yT??maj@t^nv)UT@!$5r#Of z^%4NI)6?+p#o*XjAK+e0e*Yc~Nd37*MYzf4^tA7aDa?NQYLIYFSKwz)q`YyMlmK3e zEj)Otj}3@@THN~FCSyqPM&0XtYc!2<00B<=$JSQ<$B)n38_kBu!L`H%Cjj*JK?>?G zZNUoQR6fTwK0iMf0peA4_4UktPENe~`uduGLHc3v5JUPQZOZ8|9-X&8xH&zD*zD|g z!0)QQ8A@RNytv4f9R(68*q9jd`A-2!aKu$Bgsx**>c@HhTW;ESrq`%*aCU0VETvVq zlL+EgxuetG-&hGmg61#aPK?+pFP6T)@p#CyugbBJvn&dB;+P0u)>6!ZW{d4Zx~RU; zhc}QPK3AZKd2JQ^-DQCw`ZwnqeOzO4Chm{=>2NXBdB7n7bA5{P@-Wi~T`oSYaNS1x z$BQ$IzGqh$XIIxESQqkK7DV*83}kWP@(jkte_Z^!_fNB9`b?bY<@2F=qT~@r9Vg#x zNdS-r6wmpZ##Y}Qh+=-y45$1QD^qk4@v1=S( z!P^~kscxN}Lri{J`1*|sh!SIgABhOBQFq~oZm~EZb>l2Lx-J~fqh3_Jc-_?Jwc9W| z3V=yzIAVbA(1>KE6;j1VY&PGR_2)9$bG0VRJiUm5{+A~sMqn^|4+4shy%yT#)${7o zj)`1J_Z24@0<&1v4?*fz!Al+?@FIEo2GovD>x149zjhZsW>8ZT+mZU0Glplr3m?=0 zCN>kw7plv|Kn!k4f=hB=s*y$5Xa23kGK{!zh-o+xSyZq8ILzd(=-DqtE^=Yw`~a6F zE11H~JKrNlZeIh8v(3J5r;;gGpWi85jIOybcK9(L+NwzW9Sc;?q8eS<`G@O=R7ErZ*rs$VhCSLs^N=jb{yJ0-K&xDPK zhc@0bm$v$Ef?_;CT9@-D%B-(S&$MzD@n zkf44I?aZOF0AMdbgCnKk{=j838}tCc*Tx-xt!-ITO{{Lf2qkSf0SK9rR6^&Y*+fj* z>WG5jSK$7A0@)EK5SW5srE~w(bmF}PqeX7XVbLgt%?lNV7oMKyv9{8(kKs^h^v*g1 zL3p%H+r?^Y)ZZH(83BE82_eqt9N3q7xiPaG*Bt2&&CT~#9d*50OZ1pZN7dUqxR zd_5FJ3C$%Tu`Y$4@#;#C9^o*=g>!XjW=pw_h4wVN?m$VyHjbZHi{qr*oZv|KF=2l` zthVrr)hN5DE$9X^@A%St7b9CnG*adXrKVa}%3m9_{boHzytKg@OBf<%zaU9#)st(o({jMLvvvu`b7lX2R|QFUIZ$L$mhUVr%SM!d#Zt6BGZ)vr)*h zQ7~vN9CkNOd}|aj*K^B&a7_tJBpj3-QhjE}=7IdIvA_I;Q+_C68_q3L3|$lH6ob#< z(EnC*x99oR_!AGpX+{qtE}O9FZrqKkYWfK=QMwb+vtbqSGs)hCnbNR~ zt~c7Vj&%^~Kryo*F+?n4D~Y8dsJaHk8ZvjPu0n|3G16se940;{YP*&B0$KYmq(*(A z@ocVf*KMRu9aCi8V&e^84Ur7xZ>a2txkd>TR*us={Zt`y+U9Jk7xilq#{z~22aJ3o zIPv@v+RIU^E5|*5-ZSc);5lJQKQdfIWf zx#LC~+4jVQtOCi}*Q{l?lsOK1Myl(jfYtNhDPsHpv~C>#0vZVpX5CMYxx@lLM_Te# zHaLzX3&%k)10Q15pxRsTL7VMY6flGASWBD0#&K1aTEa^^S*di(W3Oo|e$zoO zW~&RBF@!kXt<1{CrW+)AGz<)g$3<;yY|KvIfsFo0JU!tkV_f*}_WUIyb*ZbP*yG|D zX<7W%%e|JrzIm6NAkX-YNIzw9(E#m&+P+?Bq)5}o2*tbsyBXqF)6?^e^z<61bp_A& zpvMUr$b=?!6XMjPl^%UgzoV&C=VCNHupTu0EvVOEqoWxb{0jEP_R+>NI7Pc-l_kcb z-;*xogwfmgrhH_(=_=o8MZOx|$`+$3l~sTGG_I8r z1LxKF!R3{1lXD^U-S5TQC?l_5g`v$W=_2)>_qR~7%oS0|HRG5+2}5LqW@pKvvb`c( zSw+_G`Bax)r(4VkjL}XB&;-bm^%*Qj@zD3`;TsUw)yc^`o9P#Qx4+m_FT)cIWh*D@ zf0Y;Q;)~z;2)t#au6a=~dZDpK)YKkXpHO7&%N2|^Xst$bKRZ1)5emYWHC#I;U>3^B z@u%NU2WbN01<@yHz#4BI4GDSkl4bG7$j|;*h9()=}LRw zttuO72FQoU1>=#6wHh%Jkd>YBenY*>8jC;t6A9n;Xf-;Lbc#RAePV>3WsenaLAybA z?BMUngD2|Pgmz!yk%10;cXhBB2$jFSh5|F`TWWi&Wsy|k@uv�O%Sj@8hrK!(%>$ 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

$RUeiUa$B8KYG11IJYIib58l{sqBUo0#S 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%0DwI#{?$5u(K5=g#41+Ku(I3C74HGAr35sJ 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

QyPrB~B%kzX$j-!7;~6bpIZ!X; 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 bg}477>XLACD_(sl00000NkvXXu0mjfvAKme From d512bc05b3d4c2a19454922c3361f2fa0ed1e465 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 17 Apr 2018 23:09:19 -0400 Subject: [PATCH 045/287] Fixes Theres still an issue with jumping to core and it deleteing the hologram --- code/datums/holocall.dm | 10 +++++----- code/game/machinery/hologram.dm | 8 +++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index f041d64a70b..a20bfab5a43 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -29,7 +29,7 @@ for(var/I in callees) var/obj/machinery/hologram/holopad/H = I - if(!qdeleted(H) && !(H.stat & NOPOWER)) + if(!QDELETED(H) && !(H.stat & NOPOWER)) dialed_holopads += H var/area/area = get_area(H) LAZYADD(H.holo_calls, src) @@ -44,12 +44,12 @@ /datum/holocall/Destroy() QDEL_NULL(hangup) - var/user_good = !qdeleted(user) + var/user_good = !QDELETED(user) if(user_good) user.reset_perspective() user.remote_control = null - if(exists(eye)) + if(QDELETED(eye)) if(user_good && user.client) for(var/datum/camerachunk/chunk in eye.visibleCameraChunks) chunk.remove(eye) @@ -157,10 +157,10 @@ if((H.stat & NOPOWER)) ConnectionFailure(H) - if(qdeleted(src)) + if(QDELETED(src)) return FALSE - . = !qdeleted(user) && !user.incapacitated() && !qdeleted(calling_holopad) && !(calling_holopad.stat & NOPOWER) && user.loc == calling_holopad.loc + . = !QDELETED(user) && !user.incapacitated() && !QDELETED(calling_holopad) && !(calling_holopad.stat & NOPOWER) && user.loc == calling_holopad.loc if(.) if(!connected_holopad) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index d97f6433a21..24d15fdc3b5 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -52,7 +52,7 @@ var/list/holopads = list() var/temp = "" var/list/holo_calls //array of /datum/holocalls var/datum/holocall/outgoing_call //do not modify the datums only check and call the public procs - var/static/force_answer_call = TRUE //Calls will be automatically answered after a couple rings, here for debugging + var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging var/static/list/holopads = list() var/obj/effect/overlay/holoray/ray var/ringing = FALSE @@ -218,7 +218,7 @@ var/list/holopads = list() else if(href_list["disconnectcall"]) var/datum/holocall/call_to_disconnect = locateUID(href_list["disconnectcall"]) - if(exists(call_to_disconnect) && (call_to_disconnect in holo_calls)) + if(!QDELETED(call_to_disconnect)) call_to_disconnect.Disconnect(src) temp = "" @@ -253,7 +253,7 @@ var/list/holopads = list() AI = null - if((stat & NOPOWER) || !validate_user(master)) + if((stat & NOPOWER) || !AI.current || !validate_user(AI)) clear_holo(AI) @@ -297,9 +297,7 @@ var/list/holopads = list() /obj/machinery/hologram/holopad/proc/validate_user(mob/living/user) if(QDELETED(user) || user.incapacitated() || !user.client) - to_chat(world, "FALSE") return FALSE - to_chat(world, "TRUE") return TRUE //Can we display holos there From caccc13e824966d83ee9f162f494b5e2addb4f2c Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Thu, 19 Apr 2018 19:01:29 -0800 Subject: [PATCH 046/287] Directional Locking This adds the ability to lock your mob towards facing either a certain direction or a certain atom. Direction is done by shift-middleclick, atom is done by shift-ctrl-middleclick. --- code/_onclick/click.dm | 32 ++++++++++++++++++++++++++++++++ code/modules/mob/mob.dm | 20 ++++++++++++++++++++ code/modules/mob/mob_defines.dm | 2 ++ code/modules/mob/mob_movement.dm | 2 ++ 4 files changed, 56 insertions(+) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index f300608e699..9679935bdaa 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -70,6 +70,12 @@ changeNext_click(1) var/list/modifiers = params2list(params) + if(modifiers["middle"] && modifiers["shift"] && modifiers["ctrl"]) + MiddleShiftControlClickOn(A) + return + if(modifiers["middle"] && modifiers["shift"]) + MiddleShiftClickOn(A) + return if(modifiers["shift"] && modifiers["ctrl"]) CtrlShiftClickOn(A) return @@ -225,6 +231,32 @@ else ..() +/* + Middle shift-click + Makes the mob face the direction of the clicked thing +*/ +/mob/proc/MiddleShiftClickOn(atom/A) + var/face_dir = get_cardinal_dir(src, A) + if(forced_look == face_dir) + forced_look = null + to_chat(src, "You are no longer facing any direction.") + return + forced_look = face_dir + to_chat(src, "You are now facing [dir2text(forced_look)].") + +/* + Middle shift-control-click + Makes the mob constantly face the object (until it's out of sight) +*/ +/mob/proc/MiddleShiftControlClickOn(atom/A) + var/face_uid = A.UID() + if(forced_look == face_uid) + forced_look = null + to_chat(src, "You are no longer facing [A].") + return + forced_look = face_uid + to_chat(src, "You are now facing [A].") + // In case of use break glass /* /atom/proc/MiddleClick(var/mob/M as mob) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d3641533ad8..79f14b7bc67 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -170,6 +170,15 @@ return 0 /mob/proc/Life() + if(forced_look) + if(!isnum(forced_look)) + var/atom/A = locateUID(forced_look) + if(istype(A)) + if(get_dist(src, A) > (client ? client.view : world.view)) + forced_look = null + to_chat(src, "Your direction target has left your view, you are no longer facing anything.") + return + setDir() // handle_typing_indicator() return @@ -533,6 +542,17 @@ var/list/slot_equipment_priority = list( \ client.screen = list() hud_used.show_hud(hud_used.hud_version) +/mob/setDir(new_dir) + if(forced_look) + if(isnum(forced_look)) + dir = forced_look + else + var/atom/A = locateUID(forced_look) + if(istype(A)) + dir = get_cardinal_dir(src, A) + return + . = ..() + /mob/proc/show_inv(mob/user) user.set_machine(src) var/dat = {" diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 4a5e9d1a1f4..d411482534b 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -199,3 +199,5 @@ var/list/progressbars = null //for stacking do_after bars var/list/tkgrabbed_objects = list() // Assoc list of items to TK grabs + + var/forced_look = null // This can either be a numerical direction or a soft object reference (UID). It makes the mob always face towards the selected thing. \ No newline at end of file diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index a112513a3a1..779ec706b22 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -268,6 +268,8 @@ else . = ..() + mob.setDir(direct) + for(var/obj/item/grab/G in mob) if(G.state == GRAB_NECK) mob.setDir(reverse_dir[direct]) From 033e83718a0e14fbe3e224d55a2290e2d5e4aa02 Mon Sep 17 00:00:00 2001 From: Kyep Date: Fri, 20 Apr 2018 21:17:04 -0700 Subject: [PATCH 047/287] Fixes pipenet --- .../map_files/RandomZLevels/terrorspiders.dmm | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm index 2a0d9a887a7..6961d4dbb7e 100644 --- a/_maps/map_files/RandomZLevels/terrorspiders.dmm +++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm @@ -465,17 +465,16 @@ "iW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaymission/UO71/centralhall) "iX" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "271"},/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaymission/UO71/centralhall) "iY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/UO71/centralhall) -"iZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; icon_state = "weld"; on = 1; welded = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) +"iZ" = (/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) "ja" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Gateway Chamber"; dir = 4; network = list("UO71")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/gateway) -"jb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) -"jc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) -"jd" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaymission/UO71/gateway) -"je" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) -"jf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) +"jb" = (/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway) +"jc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) +"jd" = (/obj/machinery/door/poddoor{id_tag = "UO71_Start"; name = "UO71 Sealed Facility"},/obj/machinery/door/airlock/research{name = "Gateway Observation"; req_access_txt = "271"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) +"je" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaymission/UO71/centralhall) +"jf" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 10; icon_state = "neutral"},/area/awaymission/UO71/centralhall) "jg" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/awaymission/UO71/mother) -"jh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) +"jh" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaymission/UO71/centralhall) "ji" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/awaymission/UO71/science) -"jj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor{id_tag = "UO71_Start"; name = "UO71 Sealed Facility"},/obj/machinery/door/airlock/research{name = "Gateway Observation"; req_access_txt = "271"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway) "jk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway) "jl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/mineral/random/labormineral,/area/awaymission/UO71/outside) "jm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/awaymission/UO71/outside) @@ -782,8 +781,6 @@ "pb" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "271"},/obj/item/device/flash,/obj/item/reagent_containers/spray/pepper,/obj/item/restraints/handcuffs,/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaymission/UO71/science) "pc" = (/obj/machinery/door/airlock/security/glass{name = "Security Office"; req_access_txt = "271"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/science) "pd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaymission/UO71/science) -"pe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/awaymission/UO71/centralhall) -"pf" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaymission/UO71/centralhall) "pg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaymission/UO71/centralhall) "ph" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/centralhall) "pi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaymission/UO71/centralhall) @@ -836,9 +833,7 @@ "qd" = (/obj/machinery/door/poddoor{id_tag = "UO71_SciStorage"; name = "SciStorage Door"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/UO71/loot) "qe" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/UO71/medical) "qf" = (/obj/machinery/door/airlock/medical/glass{id_tag = null; name = "Medical Storage"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/medical) -"qg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "neutral"},/area/awaymission/UO71/centralhall) "qh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall,/area/awaymission/UO71/centralhall) -"qi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaymission/UO71/centralhall) "qj" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "neutral"},/area/awaymission/UO71/centralhall) "qk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/awaymission/UO71/centralhall) "ql" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaymission/UO71/centralhall) @@ -1417,7 +1412,7 @@ aaaaaaaaaaaaaaabababababfLghgQgSgRghgsgVgTfMgWgYgXfLgagpgpgpgUhWgpgpgafNgZhbhahd aaaaaaaaaaaaaaabababababfLghhuhwhvghgshyhxfMhzhBhAfLgagpgpgpgphWgpgpgafOhCighFhdhHhIfNabzcfPhDgegdgegdgdhEfPzcabfbhJfFfbabababababfbhKhLgEhNhMgEgEhOfehPgOhQgkhRfbgbfhabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababfMhThShYhXhSgshyhZfLfLiafLfLgahUgphVgpmimhmxgafOibihicijiiikfNabzcidiegdifgdgdmygefPzcabfbhJfTfbabababababfbilhhgEhNimgEgEioiniqipgkgkirfeisfhabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababfMiuitiwiviziyiGiEixiHiJiAiBiCiDgagaiOiOgaiFgafNiPiQgAfOfNfNfOabzciIfPfPfPiRiRiKiLiLjmiMiNiSfTfeabababababfbiTgEiohjhMgEgEiUfbiWiVgkfUiXfbiYfhabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababfMjaiZjcjbjejdjfjfjjjhjkfMababababjgjnjnjgjifOfOjojpgzfOababababzcyXzczcyYjqjqyYzczczcabfejsjrfefeababababfejtjugEiohMjyjvjAfbfbjBjwjwjxjxjCjzabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababfMjamliwiZjbgsghghjdjcjkfMababababjgjnjnjgjifOfOjojpgzfOababababzcyXzczcyYjqjqyYzczczcabfejsjrfefeababababfejtjugEiohMjyjvjAfbfbjBjwjwjxjxjCjzabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababfLjEjDiwjFjHfLfLfMfMjIjJfMababababjGjKjKjGjifOfOjLjNjMfOabababababjlababjGjOjOjGababababfbjPfRjQfefbfbfbfefejRjShhjThjhjgEgEjUjWjVjYjXkajZkbfeabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababfMfLfMkdkcfLfLkkkifMklkqfLfOfOfOfOkekfkgkekhfNkrkjktksfOfOfOfOfOfOkmfOfOknkokpkefOfOfNfOfOkufRfRkvfRfFfRfRjrgEgEgEkwiogEkxkykykAkzfbkBkDkCfefbabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaababababababfLkEiwkFlAkGkRkHixkSkUkTkIkJkKkLkMkJkNkOkPkQlckVleldkJkWkNkJkJkXkYkZlalblglflhfOljlilkfOlmlllllllnlllplojrgEiogElrlqlqlqlulslwlvfbfbfefefeababababababababababababababltltltltltabababababababababababababababababababaaaaaaaaaaaaaa @@ -1426,9 +1421,9 @@ aaaaaaaaaaaaaaababababababfMmkmmmliwjHjHmnfLmompfMfNfOfOfOfNfOfOmqfOfOmsmrfOfOfO aaaaaaaaaaaaaaababababababfLmLmlmNmPmOmSmQfMfLfLfLabfOgAgAmTfOmVmUmTfNmRmWfOmXmZmYnbnancfOnendnfmumvlbfOfOmRfOfOfNnhngfefefbninknjfbnlnnnmfenonsnqntfbnumHfbabababababababababababababababababnpltltnvnrnrnpababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaababababababfLfLfMfMfLfLfMfMfLababababfOgAgAgAfOnwmUnxfOmRnyfOnzojnAnDnanafNnFnEnGmumvnCfNnHzDnInInKnMnLnOnNfbfXnPfbfefXnQfbfbnRfFnSnVnUnZnWfbabababababababababababababababababnToaobobobocnpababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababfOnXnYgAodgAoeoffOkmogfOohojoiooonopfNoroqosmumvlbfNogzHolomomouotowovoyoxoAozoCoBoAoDoFoEoHoGoJoIoNoMfbabababababababababababababababababnToOoQoPoQoOnpnpnpnpabababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababfOoKoLgAfOoSoRoTfOkmoUfOoVojoWoYoXoZfNpbpapdpcmvlbfOnymRfbfbfbpfpellpgpiphpkpjplphpnpmpppopkpqprfbptpsfeabababababababababababababababababnppwpypxpApznppupvnpabababababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababfOoKoLgAfOoSoRoTfOkmoUfOoVojoWoYoXoZfNpbpapdpcmvlbfOnymRfbfbfbjellllpgpiphpkpjplphpnpmpppopkpqprfbptpsfeabababababababababababababababababnppwpypxpApznppupvnpabababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababfOfOfOfOfOfOfOfOfNpDpCfOpEpFnapGnaoXfOfOpBkmfOmvlafNpHmRfbfbfbpJpIfRpKfbpLfbfhfepMfbfbfepNfbfbpOfbpRmHfbabababababababababababababababababnppSpYpUpYpZnTpPpQnpabababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNqbjifOfOfOqcfOpTqdpTpTpVpWpXqfqeqaogkmfbfbfbqiqgqkqjfeqlqmqhqoqnfeqpqtqqqwfeqxfehJmHfbababababababababnTnTnpnpnTababababnpqyqyqzqyqynpqrqsnpnpnpabababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNqbjifOfOfOqcfOpTqdpTpTpVpWpXqfqeqaogkmfbfbfbjhjfqkqjfeqlqmqhqoqnfeqpqtqqqwfeqxfehJmHfbababababababababnTnTnpnpnTababababnpqyqyqzqyqynpqrqsnpnpnpabababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfOqAkhquqvmuqBqCpTqFzOpTpVqHqGqJqIqaogmRfbfbfbqEzPzQzQzPqLqMfbqOqNfbfbfbqPqQfeqRfbhJmHfbababababababababnTqTqSqSnpnTnTnTnpnpqUqWqVqYqXrcqZrerdrfnpabababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfOrgjirarbrjrirkpTqFqFpTrhroqJqJrpqarqrlrmrmrmrnrmrsrrsartmCfbrvrufbrwrxqqryfbrzfbrBrAfbfbfbfbfefbfbfbfbnprDrCrFrEnTrHrJrIrGrKrMrLrOrNrNrPrSrRrfnpnpnTnTababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNrTkhqurQmurUrVpTrXrWpTpVrZrYscsbqasdmRsasgsfshsesirrsafefefefbfefbfefesjfbfbskfesmslsosnsqspsrsnstsssvsusxswszsysBsAsDsCsFsEsHsGsJsIsOsOsPsPsQsKsLsMnTababababababababababaaaaaaaaaaaaaa From 9f75f8dcf4d23ac9f3e87c7bdc84692e6110e6c5 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 22 Apr 2018 01:12:23 -0700 Subject: [PATCH 048/287] insignificant change to force map diff update --- _maps/map_files/RandomZLevels/terrorspiders.dmm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm index 6961d4dbb7e..ae307fb2607 100644 --- a/_maps/map_files/RandomZLevels/terrorspiders.dmm +++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm @@ -1421,10 +1421,10 @@ aaaaaaaaaaaaaaababababababfMmkmmmliwjHjHmnfLmompfMfNfOfOfOfNfOfOmqfOfOmsmrfOfOfO aaaaaaaaaaaaaaababababababfLmLmlmNmPmOmSmQfMfLfLfLabfOgAgAmTfOmVmUmTfNmRmWfOmXmZmYnbnancfOnendnfmumvlbfOfOmRfOfOfNnhngfefefbninknjfbnlnnnmfenonsnqntfbnumHfbabababababababababababababababababnpltltnvnrnrnpababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaababababababfLfLfMfMfLfLfMfMfLababababfOgAgAgAfOnwmUnxfOmRnyfOnzojnAnDnanafNnFnEnGmumvnCfNnHzDnInInKnMnLnOnNfbfXnPfbfefXnQfbfbnRfFnSnVnUnZnWfbabababababababababababababababababnToaobobobocnpababababababababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababfOnXnYgAodgAoeoffOkmogfOohojoiooonopfNoroqosmumvlbfNogzHolomomouotowovoyoxoAozoCoBoAoDoFoEoHoGoJoIoNoMfbabababababababababababababababababnToOoQoPoQoOnpnpnpnpabababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababfOoKoLgAfOoSoRoTfOkmoUfOoVojoWoYoXoZfNpbpapdpcmvlbfOnymRfbfbfbjellllpgpiphpkpjplphpnpmpppopkpqprfbptpsfeabababababababababababababababababnppwpypxpApznppupvnpabababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababfOfOfOfOfOfOfOfOfNpDpCfOpEpFnapGnaoXfOfOpBkmfOmvlafNpHmRfbfbfbpJpIfRpKfbpLfbfhfepMfbfbfepNfbfbpOfbpRmHfbabababababababababababababababababnppSpYpUpYpZnTpPpQnpabababababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNqbjifOfOfOqcfOpTqdpTpTpVpWpXqfqeqaogkmfbfbfbjhjfqkqjfeqlqmqhqoqnfeqpqtqqqwfeqxfehJmHfbababababababababnTnTnpnpnTababababnpqyqyqzqyqynpqrqsnpnpnpabababababababababababababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabababababababababababababababababababababababababababfOqAkhquqvmuqBqCpTqFzOpTpVqHqGqJqIqaogmRfbfbfbqEzPzQzQzPqLqMfbqOqNfbfbfbqPqQfeqRfbhJmHfbababababababababnTqTqSqSnpnTnTnTnpnpqUqWqVqYqXrcqZrerdrfnpabababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababfOoKoLgAfOoSoRoTfOkmoUfOoVojoWoYoXoZfNpbpapdpcmvlbfOnymRfOfOfbjellllpgpiphpkpjplphpnpmpppopkpqprfbptpsfeabababababababababababababababababnppwpypxpApznppupvnpabababababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababfOfOfOfOfOfOfOfOfNpDpCfOpEpFnapGnaoXfOfOpBkmfOmvlafNpHmRfOfOfbpJpIfRpKfbpLfbfhfepMfbfbfepNfbfbpOfbpRmHfbabababababababababababababababababnppSpYpUpYpZnTpPpQnpabababababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNqbjifOfOfOqcfOpTqdpTpTpVpWpXqfqeqaogkmfOfOfbjhjfqkqjfeqlqmqhqoqnfeqpqtqqqwfeqxfehJmHfbababababababababnTnTnpnpnTababababnpqyqyqzqyqynpqrqsnpnpnpabababababababababababababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaabababababababababababababababababababababababababababfOqAkhquqvmuqBqCpTqFzOpTpVqHqGqJqIqaogmRfOfOfbqEzPzQzQzPqLqMfbqOqNfbfbfbqPqQfeqRfbhJmHfbababababababababnTqTqSqSnpnTnTnTnpnpqUqWqVqYqXrcqZrerdrfnpabababababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfOrgjirarbrjrirkpTqFqFpTrhroqJqJrpqarqrlrmrmrmrnrmrsrrsartmCfbrvrufbrwrxqqryfbrzfbrBrAfbfbfbfbfefbfbfbfbnprDrCrFrEnTrHrJrIrGrKrMrLrOrNrNrPrSrRrfnpnpnTnTababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNrTkhqurQmurUrVpTrXrWpTpVrZrYscsbqasdmRsasgsfshsesirrsafefefefbfefbfefesjfbfbskfesmslsosnsqspsrsnstsssvsusxswszsysBsAsDsCsFsEsHsGsJsIsOsOsPsPsQsKsLsMnTababababababababababaaaaaaaaaaaaaa aaaaaaaaaaaaaaabababababababababababababababababababababababababababfNrgkhfOfOfOfNfNpTpTsNpTpVsSsRsUsTqaogmRsarrrrsVsarrsWsaabababababfbsXsYqqsZferzfejPtanUtbtctbtdtbtftethtgtititktjtmtltotnsFtptrtqtttstvtutAtztBtwtxtynpababababababababababaaaaaaaaaaaaaa From fe758c21e71b562201492c88ef85fe4d1c5f0dc3 Mon Sep 17 00:00:00 2001 From: Kluys Date: Sun, 22 Apr 2018 22:50:34 +0200 Subject: [PATCH 049/287] Window placement revert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit reverts the window placement system, right now placing a one-dir window takes 2 prompts, this makes it so you just have to click a grille for it to place a one-dir window on the side you're facing. Reverts a part of https://github.com/ParadiseSS13/Paradise/pull/8155 🆑 Kluys Revert: Changes the window placement system back to the old system /🆑 --- code/game/objects/structures/grille.dm | 126 +++++++++++-------------- 1 file changed, 55 insertions(+), 71 deletions(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 284001de2bf..1ecaa52b5f5 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -138,82 +138,66 @@ //window placing begin else if(istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) || istype(W,/obj/item/stack/sheet/plasmaglass) || istype(W,/obj/item/stack/sheet/plasmarglass)) - build_window(W, user) - return + if(!broken) + var/obj/item/stack/ST = W + if (ST.get_amount() < 1) + to_chat(user, "You need at least one sheet of glass for that!") + return + var/dir_to_set = NORTH + if(!anchored) + to_chat(user, "[src] needs to be fastened to the floor first!") + return + if(loc == user.loc) + dir_to_set = user.dir + else + if((x == user.x) || (y == user.y)) //Only supposed to work for cardinal directions. + if(x == user.x) + if(y > user.y) + dir_to_set = SOUTH + else + dir_to_set = NORTH + else if(y == user.y) + if(x > user.x) + dir_to_set = WEST + else + dir_to_set = EAST + else + to_chat(user, "You can't reach.") + return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == dir_to_set) + to_chat(user, "There is already a window facing this way there.") + return + to_chat(user, "You start placing the window...") + if(do_after(user, 20 * W.toolspeed, target = src)) + if(!loc || !anchored) //Grille destroyed or unanchored while waiting + return + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. + to_chat(user, "There is already a window facing this way there.") + return + var/obj/structure/window/WD + if(istype(W,/obj/item/stack/sheet/rglass)) + WD = new/obj/structure/window/reinforced(loc) //reinforced window + else if(istype(W,/obj/item/stack/sheet/glass)) + WD = new/obj/structure/window/basic(loc) //normal window + else if(istype(W,/obj/item/stack/sheet/plasmaglass)) + WD = new/obj/structure/window/plasmabasic(loc) //basic plasma window + else + WD = new/obj/structure/window/plasmareinforced(loc) //reinforced plasma window + WD.setDir(dir_to_set) + WD.ini_dir = dir_to_set + WD.anchored = 0 + WD.state = 0 + ST.use(1) + to_chat(user, "You place the [WD] on [src].") + WD.update_icon() + return //window placing end else if(istype(W, /obj/item/shard) || !shock(user, 70)) return ..() -/obj/structure/grille/proc/build_window(obj/item/stack/sheet/S, mob/user) - if(!istype(S) || !user) - return - if(broken) - to_chat(user, "You must repair or replace [src] first!") - return - if(S.get_amount() < 1) - to_chat(user, "You need at least one sheet of glass for that!") - return - if(!anchored) - to_chat(user, "[src] needs to be fastened to the floor first!") - return - if(!getRelativeDirection(src, user) && (user.loc != loc)) //essentially a cardinal direction adjacent or sharing same loc check - to_chat(user, "You can't reach.") - return - if(/obj/structure/window/full in loc) //check for a full window already present (blocks the whole tile) - to_chat(user, "There is already a full window there.") - return - var/selection = alert(user, "What type of window would you like to place?", "Window Construction", "One Direction", "Full", "Cancel") - if(selection == "Cancel") - return - if(selection == "Full") - if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets of glass for that!") - return - if(do_after(user, 20, target = src)) //glass doesn't have a toolspeed, so no multiplier - if(broken || !anchored || !src) //make sure the grille is still intact, anchored, and exists! - return - if(S.get_amount() < 2) //make sure we still have enough for this! - return - if(!getRelativeDirection(src, user) && (user.loc != loc)) //make sure we can still do this from our location - return - var/obj/structure/window/W = new S.full_window(get_turf(src)) - S.use(2) - W.anchored = 0 - W.state = 0 - to_chat(user, "You place [W] on [src].") - W.update_icon() - return - if(selection == "One Direction") - var/dir_selection = input("Which direction will this window face?", "Direction") as null|anything in list("north", "east", "south", "west") - if(!dir_selection) - return - var/temp_dir = text2dir(dir_selection) - for(var/obj/structure/window/W in loc) - if(istype(W, /obj/structure/window/full)) //double checking in case a full window was created while selecting direction - to_chat(user, "There is already a full window there.") - return - if(W.dir == temp_dir) //to avoid building a window on top of an existing window - to_chat(user, "There is already a window facing this direction there.") - return - if(do_after(user, 20, target = src)) - if(broken || !anchored || !src) //make sure the grille is still intact, anchored, and exists! - return - if(S.get_amount() < 1) //make sure we still have enough fir this! - to_chat(user, "You need at least one sheet of glass for that!") - return - if(!getRelativeDirection(src, user) && (user.loc != loc)) //make sure we can still do this from our location - return - var/obj/structure/window/W = new S.created_window(get_turf(src)) - S.use(1) - W.setDir(temp_dir) - W.ini_dir = temp_dir - W.anchored = 0 - W.state = 0 - to_chat(user, "You place [W] on [src].") - W.update_icon() - return - /obj/structure/grille/attacked_by(obj/item/I, mob/living/user) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) From b36ccc592f0d32154f673f976d655ad1c85f6451 Mon Sep 17 00:00:00 2001 From: Kluys Date: Mon, 23 Apr 2018 12:12:01 +0200 Subject: [PATCH 050/287] Makes the code cleaner dirty code is dirty, I hope this makes it better but obviously I am a newb so any input is welcome. --- code/game/objects/structures/grille.dm | 108 ++++++++++++------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 1ecaa52b5f5..28101ca76c9 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -138,66 +138,64 @@ //window placing begin else if(istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) || istype(W,/obj/item/stack/sheet/plasmaglass) || istype(W,/obj/item/stack/sheet/plasmarglass)) - if(!broken) - var/obj/item/stack/ST = W - if (ST.get_amount() < 1) - to_chat(user, "You need at least one sheet of glass for that!") - return - var/dir_to_set = NORTH - if(!anchored) - to_chat(user, "[src] needs to be fastened to the floor first!") - return - if(loc == user.loc) - dir_to_set = user.dir - else - if((x == user.x) || (y == user.y)) //Only supposed to work for cardinal directions. - if(x == user.x) - if(y > user.y) - dir_to_set = SOUTH - else - dir_to_set = NORTH - else if(y == user.y) - if(x > user.x) - dir_to_set = WEST - else - dir_to_set = EAST - else - to_chat(user, "You can't reach.") - return //Only works for cardinal direcitons, diagonals aren't supposed to work like this. - for(var/obj/structure/window/WINDOW in loc) - if(WINDOW.dir == dir_to_set) - to_chat(user, "There is already a window facing this way there.") - return - to_chat(user, "You start placing the window...") - if(do_after(user, 20 * W.toolspeed, target = src)) - if(!loc || !anchored) //Grille destroyed or unanchored while waiting - return - for(var/obj/structure/window/WINDOW in loc) - if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. - to_chat(user, "There is already a window facing this way there.") - return - var/obj/structure/window/WD - if(istype(W,/obj/item/stack/sheet/rglass)) - WD = new/obj/structure/window/reinforced(loc) //reinforced window - else if(istype(W,/obj/item/stack/sheet/glass)) - WD = new/obj/structure/window/basic(loc) //normal window - else if(istype(W,/obj/item/stack/sheet/plasmaglass)) - WD = new/obj/structure/window/plasmabasic(loc) //basic plasma window - else - WD = new/obj/structure/window/plasmareinforced(loc) //reinforced plasma window - WD.setDir(dir_to_set) - WD.ini_dir = dir_to_set - WD.anchored = 0 - WD.state = 0 - ST.use(1) - to_chat(user, "You place the [WD] on [src].") - WD.update_icon() - return + build_window(W, user) + return //window placing end else if(istype(W, /obj/item/shard) || !shock(user, 70)) return ..() +/obj/structure/grille/proc/build_window(obj/item/stack/sheet/S, mob/user) + var/dir_to_set = NORTH + if(!istype(S) || !user) + return + if(broken) + to_chat(user, "You must repair or replace [src] first!") + return + if (S.get_amount() < 1) + to_chat(user, "You need at least one sheet of glass for that!") + return + if(!anchored) + to_chat(user, "[src] needs to be fastened to the floor first!") + return + if(!getRelativeDirection(src, user) && (user.loc != loc)) //essentially a cardinal direction adjacent or sharing same loc check + to_chat(user, "You can't reach.") + return + if(loc == user.loc) + dir_to_set = user.dir + else + if(x == user.x) + if(y > user.y) + dir_to_set = SOUTH + else + dir_to_set = NORTH + else if(y == user.y) + if(x > user.x) + dir_to_set = WEST + else + dir_to_set = EAST + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == dir_to_set) + to_chat(user, "There is already a window facing this way there.") + return + to_chat(user, "You start placing the window...") + if(do_after(user, 20, target = src)) + if(!loc || !anchored) //Grille destroyed or unanchored while waiting + return + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting. + to_chat(user, "There is already a window facing this way there.") + return + var/obj/structure/window/W = new S.created_window(get_turf(src)) + S.use(1) + W.setDir(dir_to_set) + W.ini_dir = dir_to_set + W.anchored = 0 + W.state = 0 + to_chat(user, "You place the [W] on [src].") + W.update_icon() + return + /obj/structure/grille/attacked_by(obj/item/I, mob/living/user) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) From 0a942bf23a98604cf9e7d5ab00788aad576bfa1f Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sun, 25 Mar 2018 17:48:38 +0400 Subject: [PATCH 051/287] moved some mob is helpers to is_helpers.dm attack_slime(), attack_animal(), attack_larva(), attack_alien(), attack_larva() handled at /mob/living level, overridden in children changes to attack_hand() and attackby() for some mobs changed span in a bot message, added missing logging and attack animations new mob defense files, renamed some files, general code cleanup --- code/__DEFINES/is_helpers.dm | 23 +++ code/__DEFINES/mobs.dm | 9 -- .../{alien_defenses.dm => alien_defense.dm} | 13 +- .../living/carbon/alien/humanoid/humanoid.dm | 140 +----------------- .../carbon/alien/humanoid/humanoid_defense.dm | 45 ++++++ .../mob/living/carbon/alien/larva/larva.dm | 92 +----------- .../carbon/alien/larva/larva_defense.dm | 24 +++ .../{carbon_defenses.dm => carbon_defense.dm} | 23 ++- code/modules/mob/living/carbon/human/human.dm | 106 ------------- .../living/carbon/human/human_attackalien.dm | 50 ------- .../living/carbon/human/human_attackhand.dm | 10 +- .../mob/living/carbon/human/human_defense.dm | 91 ++++++++++++ code/modules/mob/living/carbon/slime/slime.dm | 108 ++++---------- code/modules/mob/living/living_defense.dm | 80 +++++++++- code/modules/mob/living/silicon/ai/ai.dm | 56 ------- .../mob/living/silicon/ai/ai_defense.dm | 8 + code/modules/mob/living/silicon/pai/pai.dm | 35 ----- .../silicon/robot/drone/drone_abilities.dm | 6 +- .../modules/mob/living/silicon/robot/robot.dm | 116 --------------- .../mob/living/silicon/robot/robot_defense.dm | 59 ++++++++ .../mob/living/silicon/silicon_defense.dm | 66 +++++++++ .../living/simple_animal/animal_defense.dm | 60 ++++++++ .../mob/living/simple_animal/bot/bot.dm | 8 +- .../mob/living/simple_animal/simple_animal.dm | 117 --------------- paradise.dme | 11 +- 25 files changed, 535 insertions(+), 821 deletions(-) rename code/modules/mob/living/carbon/alien/{alien_defenses.dm => alien_defense.dm} (88%) create mode 100644 code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm create mode 100644 code/modules/mob/living/carbon/alien/larva/larva_defense.dm rename code/modules/mob/living/carbon/{carbon_defenses.dm => carbon_defense.dm} (71%) delete mode 100644 code/modules/mob/living/carbon/human/human_attackalien.dm create mode 100644 code/modules/mob/living/silicon/ai/ai_defense.dm create mode 100644 code/modules/mob/living/silicon/robot/robot_defense.dm create mode 100644 code/modules/mob/living/silicon/silicon_defense.dm create mode 100644 code/modules/mob/living/simple_animal/animal_defense.dm diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 3014b1dfebe..34668062a89 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -41,6 +41,29 @@ var/list/static/global/pointed_types = typecacheof(list( #define ismineralturf(A) istype(A, /turf/simulated/mineral) +//Mobs +#define isliving(A) (istype(A, /mob/living)) + +#define isbrain(A) (istype(A, /mob/living/carbon/brain)) + +//Carbon mobs +#define iscarbon(A) (istype(A, /mob/living/carbon)) + +#define ishuman(A) (istype(A, /mob/living/carbon/human)) + +//more carbon mobs +#define isalien(A) (istype(A, /mob/living/carbon/alien)) + +#define islarva(A) (istype(A, /mob/living/carbon/alien/larva)) + +#define isalienadult(A) (istype(A, /mob/living/carbon/alien/humanoid)) + +#define isalienhunter(A) (istype(A, /mob/living/carbon/alien/humanoid/hunter)) + +#define isaliensentinel(A) (istype(A, /mob/living/carbon/alien/humanoid/sentinel)) + +#define isslime(A) (istype((A), /mob/living/carbon/slime)) + // Misc #define isclient(A) istype(A, /client) #define isradio(A) istype(A, /obj/item/device/radio) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 5bf38e54ad8..efe8a4aac86 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -128,15 +128,6 @@ #define TINT_BLIND 3 //Threshold of tint level to obscure vision fully #define EYE_SHINE_THRESHOLD 6 //dark_view threshold past which a humanoid's eyes will 'shine' in the dark. -#define isliving(A) (istype((A), /mob/living)) -#define iscarbon(A) (istype((A), /mob/living/carbon)) -#define ishuman(A) (istype((A), /mob/living/carbon/human)) -#define isbrain(A) (istype((A), /mob/living/carbon/brain)) -#define isalien(A) (istype((A), /mob/living/carbon/alien)) -#define isalienadult(A) (istype((A), /mob/living/carbon/alien/humanoid)) -#define islarva(A) (istype((A), /mob/living/carbon/alien/larva)) -#define isslime(A) (istype((A), /mob/living/carbon/slime)) - //Human sub-species #define isabductor(A) (is_species(A, "Abductor")) diff --git a/code/modules/mob/living/carbon/alien/alien_defenses.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm similarity index 88% rename from code/modules/mob/living/carbon/alien/alien_defenses.dm rename to code/modules/mob/living/carbon/alien/alien_defense.dm index 5934987f8a4..22954451834 100644 --- a/code/modules/mob/living/carbon/alien/alien_defenses.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -5,7 +5,7 @@ As such, they can either help or harm other aliens. Help works like the human help command while harm is a simple nibble. In all, this is a lot like the monkey code. /N */ -/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M as mob) +/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M) if(!ticker) to_chat(M, "You cannot attack people before the game has started.") return @@ -40,14 +40,12 @@ In all, this is a lot like the monkey code. /N else to_chat(M, "[name] is too injured for that.") -/mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L as mob) +/mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L) return attack_alien(L) -/mob/living/carbon/alien/attack_hand(mob/living/carbon/human/M as mob) +/mob/living/carbon/alien/attack_hand(mob/living/carbon/human/M) if(..()) //to allow surgery to return properly. return 0 - if(istype(src,/mob/living/carbon/alien/humanoid)) - return 0 //this is horrible but 100% necessary switch(M.a_intent) if(INTENT_HELP) @@ -55,12 +53,11 @@ In all, this is a lot like the monkey code. /N if(INTENT_GRAB) grabbedby(M) if(INTENT_HARM, INTENT_DISARM) + M.do_attack_animation(src) return 1 return 0 - - -/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/M as mob) +/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/M) if(..()) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) switch(M.melee_damage_type) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 182bc0bd9eb..61e3aef5b31 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -78,138 +78,14 @@ updatehealth() -/mob/living/carbon/alien/humanoid/attack_slime(mob/living/carbon/slime/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(M.Victim) return // can't attack while eating! - - if(stat > -100) - - M.do_attack_animation(src) - visible_message("The [M.name] glomps [src]!", \ - "The [M.name] glomps [src]!") - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(10, 40) - else - damage = rand(5, 35) - - adjustBruteLoss(damage) - - if(M.powerlevel > 0) - var/stunprob = 10 - var/power = M.powerlevel + rand(0,3) - - switch(M.powerlevel) - if(1 to 2) stunprob = 20 - if(3 to 4) stunprob = 30 - if(5 to 6) stunprob = 40 - if(7 to 8) stunprob = 60 - if(9) stunprob = 70 - if(10) stunprob = 95 - - if(prob(stunprob)) - M.powerlevel -= 3 - if(M.powerlevel < 0) - M.powerlevel = 0 - - visible_message("The [M.name] has shocked [src]!", \ - "The [M.name] has shocked [src]!") - - Weaken(power) - if(stuttering < power) - stuttering = power - Stun(power) - - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() - - if(prob(stunprob) && M.powerlevel >= 8) - adjustFireLoss(M.powerlevel * rand(6,10)) - - - updatehealth() - - return - -/mob/living/carbon/alien/humanoid/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("[M] [M.attacktext] [src]!", \ - "[M] [M.attacktext] [src]!") - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - adjustBruteLoss(damage) - updatehealth() - -/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - if(..()) //to allow surgery to return properly. - return - - switch(M.a_intent) - - if(INTENT_HELP) - help_shake_act(M) - - if(INTENT_GRAB) - grabbedby(M) - - if(INTENT_HARM) - M.do_attack_animation(src) - var/damage = rand(1, 9) - if(prob(90)) - if(HULK in M.mutations)//HULK SMASH - damage = 15 - spawn(0) - Paralyse(1) - step_away(src,M,15) - sleep(3) - step_away(src,M,15) - playsound(loc, "punch", 25, 1, -1) - visible_message("[M] has punched [src]!", \ - "[M] has punched [src]!") - if((stat != DEAD) && (damage > 9||prob(5)))//Regular humans have a very small chance of weakening an alien. - Paralyse(2) - visible_message("[M] has weakened [src]!", \ - "[M] has weakened [src]!", \ - "You hear someone fall.") - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] has attempted to punch [src]!") - - if(INTENT_DISARM) - if(!lying) - if(prob(5))//Very small chance to push an alien down. - Paralyse(2) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("[M] has pushed down [src]!", \ - "[M] has pushed down [src]!") - else - if(prob(50)) - drop_item() - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("[M] has disarmed [src]!", \ - "[M] has disarmed [src]!") - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] has attempted to disarm [src]!") +/mob/living/carbon/alien/humanoid/attack_slime(mob/living/carbon/slime/M) + ..() + var/damage = rand(5, 35) + if(M.is_adult) + damage = rand(10, 40) + adjustBruteLoss(damage) + add_logs(M, src, "attacked", admin=0) + updatehealth() return /mob/living/carbon/alien/humanoid/restrained() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm new file mode 100644 index 00000000000..1027c0a4245 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -0,0 +1,45 @@ +/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/M) + if(..()) + switch(M.a_intent) + if(INTENT_HARM) + var/damage = rand(1, 9) + if(prob(90)) + if(HULK in M.mutations)//HULK SMASH + damage = 15 + spawn(0) + Paralyse(1) + step_away(src, M, 15) + sleep(3) + step_away(src, M, 15) + playsound(loc, "punch", 25, 1, -1) + visible_message("[M] has punched [src]!", \ + "[M] has punched [src]!") + if((stat != DEAD) && (damage > 9||prob(5)))//Regular humans have a very small chance of weakening an alien. + Paralyse(2) + visible_message("[M] has weakened [src]!", \ + "[M] has weakened [src]!", \ + "You hear someone fall.") + adjustBruteLoss(damage) + add_logs(M, src, "attacked", admin=0) + updatehealth() + else + playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + visible_message("[M] has attempted to punch [src]!") + + if(INTENT_DISARM) + if(!lying) + if(prob(5))//Very small chance to push an alien down. + Paralyse(2) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + add_logs(M, src, "pushed", admin=0) + visible_message("[M] has pushed down [src]!", \ + "[M] has pushed down [src]!") + else + if(prob(50)) + drop_item() + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + visible_message("[M] has disarmed [src]!", \ + "[M] has disarmed [src]!") + else + playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + visible_message("[M] has attempted to disarm [src]!") diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 2d638dd0db1..e1fbd04a60f 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -73,91 +73,15 @@ /mob/living/carbon/alien/larva/attack_ui(slot_id) return -/mob/living/carbon/alien/larva/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("[M] [M.attacktext] [src]!", \ - "[M] [M.attacktext] [src]!") - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - adjustBruteLoss(damage) - add_attack_logs(M, src, "Animal attacked", FALSE) - updatehealth() - - - -/mob/living/carbon/alien/larva/attack_slime(mob/living/carbon/slime/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(M.Victim) - return // can't attack while eating! - - if(stat != DEAD) - M.do_attack_animation(src) - visible_message("The [M.name] glomps [src]!", \ - "The [M.name] glomps [src]!") - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) - - - adjustBruteLoss(damage) - updatehealth() - - return - -/mob/living/carbon/alien/larva/attack_hand(mob/living/carbon/human/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - +/mob/living/carbon/alien/larva/attack_slime(mob/living/carbon/slime/M) ..() - - switch(M.a_intent) - - if(INTENT_HELP) - help_shake_act(M) - - if(INTENT_GRAB) - grabbedby(M) - - else - M.do_attack_animation(src) - var/damage = rand(1, 9) - if(prob(90)) - if(HULK in M.mutations) - damage += 5 - spawn(0) - Paralyse(1) - step_away(src,M,15) - sleep(3) - step_away(src,M,15) - playsound(loc, "punch", 25, 1, -1) - visible_message("[M] has kicked [src]!", \ - "[M] has kicked [src]!") - if((stat != DEAD) && (damage > 4.9)) - Paralyse(rand(5,10)) - visible_message("[M] has weakened [src]!", \ - "[M] has weakened [src]!", \ - "You hear someone fall.") - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] has attempted to kick [src]!", \ - "[M] has attempted to kick [src]!") + var/damage = rand(5, 35) + if(M.is_adult) + damage = rand(20, 40) + adjustBruteLoss(damage) + add_attack_logs(M, src, "Slime attacked") + updatehealth() + return /mob/living/carbon/alien/larva/restrained() return 0 diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm new file mode 100644 index 00000000000..029ea07da4f --- /dev/null +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -0,0 +1,24 @@ +/mob/living/carbon/alien/larva/attack_hand(mob/living/carbon/human/M) + if(..()) + var/damage = rand(1, 9) + if(prob(90)) + if(HULK in M.mutations) + damage += 5 + spawn(0) + Paralyse(1) + step_away(src, M, 15) + sleep(3) + step_away(src, M, 15) + playsound(loc, "punch", 25, 1, -1) + add_logs(M, src, "attacked", admin=0) + visible_message("[M] has kicked [src]!", \ + "[M] has kicked [src]!") + if((stat != DEAD) && (damage > 4.9)) + Paralyse(rand(5,10)) + + adjustBruteLoss(damage) + updatehealth() + else + playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + visible_message("[M] has attempted to kick [src]!", \ + "[M] has attempted to kick [src]!") diff --git a/code/modules/mob/living/carbon/carbon_defenses.dm b/code/modules/mob/living/carbon/carbon_defense.dm similarity index 71% rename from code/modules/mob/living/carbon/carbon_defenses.dm rename to code/modules/mob/living/carbon/carbon_defense.dm index eb6517e5f1d..140e868dddf 100644 --- a/code/modules/mob/living/carbon/carbon_defenses.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -18,12 +18,11 @@ /mob/living/carbon/attackby(obj/item/I, mob/user, params) - if(lying) - if(surgeries.len) - if(user != src && user.a_intent == INTENT_HELP) - for(var/datum/surgery/S in surgeries) - if(S.next_step(user, src)) - return 1 + if(lying && surgeries.len) + if(user != src && user.a_intent == INTENT_HELP) + for(var/datum/surgery/S in surgeries) + if(S.next_step(user, src)) + return 1 return ..() /mob/living/carbon/attack_hand(mob/living/carbon/human/user) @@ -41,6 +40,18 @@ ContractDisease(D) return 0 +/mob/living/carbon/attack_slime(mob/living/carbon/slime/M) + if(..()) + var/power = M.powerlevel + rand(0,3) + Weaken(power) + Stuttering(power) + Stun(power) + var/stunprob = M.powerlevel * 7 + 10 + if(prob(stunprob) && M.powerlevel >= 8) + adjustFireLoss(M.powerlevel * rand(6,10)) + updatehealth() + return 1 + /mob/living/carbon/is_mouth_covered(head_only = FALSE, mask_only = FALSE) if((!mask_only && head && (head.flags_cover & HEADCOVERSMOUTH)) || (!head_only && wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH))) return TRUE \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f41479cd392..2cb8bbb396e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -306,112 +306,6 @@ return 0 ..() -/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - M.do_attack_animation(src) - visible_message("[M] [M.attacktext] [src]!", \ - "[M] [M.attacktext] [src]!") - add_attack_logs(M, src, "Animal attacked") - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK, M.armour_penetration)) - return 0 - var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") - var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) - var/armor = run_armor_check(affecting, "melee", armour_penetration = M.armour_penetration) - - var/obj/item/organ/external/affected = src.get_organ(dam_zone) - if(affected) - affected.add_autopsy_data(M.name, damage) // Add the mob's name to the autopsy data - apply_damage(damage, M.melee_damage_type, affecting, armor) - updatehealth() - -/mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L as mob) - - switch(L.a_intent) - if(INTENT_HELP) - visible_message("[L] rubs its head against [src].") - - - else - L.do_attack_animation(src) - var/damage = rand(1, 3) - visible_message("[L] bites [src]!", \ - "[L] bites [src]!") - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - - if(stat != DEAD) - L.amount_grown = min(L.amount_grown + damage, L.max_grown) - var/obj/item/organ/external/affecting = get_organ(ran_zone(L.zone_sel.selecting)) - var/armor_block = run_armor_check(affecting, "melee") - apply_damage(damage, BRUTE, affecting, armor_block) - -/mob/living/carbon/human/attack_slime(mob/living/carbon/slime/M as mob) - if(M.Victim) return // can't attack while eating! - - if(stat != DEAD) - M.do_attack_animation(src) - visible_message("The [M.name] glomps [src]!", \ - "The [M.name] glomps [src]!") - - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(10, 35) - else - damage = rand(5, 25) - - if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK)) - return 0 - - var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") - - var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) - var/armor_block = run_armor_check(affecting, "melee") - apply_damage(damage, BRUTE, affecting, armor_block) - - - if(M.powerlevel > 0) - var/stunprob = 10 - var/power = M.powerlevel + rand(0,3) - - switch(M.powerlevel) - if(1 to 2) stunprob = 20 - if(3 to 4) stunprob = 30 - if(5 to 6) stunprob = 40 - if(7 to 8) stunprob = 60 - if(9) stunprob = 70 - if(10) stunprob = 95 - - if(prob(stunprob)) - M.powerlevel -= 3 - if(M.powerlevel < 0) - M.powerlevel = 0 - - for(var/mob/O in viewers(src, null)) - if((O.client && !( O.blinded ))) - O.show_message(text("The [M.name] has shocked []!", src), 1) - - Weaken(power) - Stuttering(power) - Stun(power) - - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() - - if(prob(stunprob) && M.powerlevel >= 8) - adjustFireLoss(M.powerlevel * rand(6,10)) - - - updatehealth() - - return - - /mob/living/carbon/human/restrained() if(handcuffed) return 1 diff --git a/code/modules/mob/living/carbon/human/human_attackalien.dm b/code/modules/mob/living/carbon/human/human_attackalien.dm deleted file mode 100644 index 7c4039789a9..00000000000 --- a/code/modules/mob/living/carbon/human/human_attackalien.dm +++ /dev/null @@ -1,50 +0,0 @@ -/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(check_shields(0, M.name)) - visible_message("[M] attempted to touch [src]!") - return 0 - - switch(M.a_intent) - if(INTENT_HELP) - visible_message("[M] caresses [src] with its scythe like arm.") - - if(INTENT_GRAB) - grabbedby(M) - - if(INTENT_HARM) - M.do_attack_animation(src) - if(w_uniform) - w_uniform.add_fingerprint(M) - - var/damage = rand(15, 30) - if(!damage) - playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) - visible_message("[M] has lunged at [src]!") - return 0 - - var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) - var/armor_block = run_armor_check(affecting, "melee") - - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - visible_message("[M] has slashed at [src]!") - - apply_damage(damage, BRUTE, affecting, armor_block) - if(damage >= 25) - visible_message("[M] has wounded [src]!") - apply_effect(4, WEAKEN, armor_block) - updatehealth() - - if(INTENT_DISARM) - M.do_attack_animation(src) - if(prob(80)) - var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) - playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - apply_effect(5, WEAKEN, run_armor_check(affecting, "melee")) - visible_message("[M] has tackled down [src]!") - else - if(prob(99)) //this looks fucking stupid but it was previously 'var/randn = rand(1, 100); if(randn <= 99)' - playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - drop_item() - visible_message("[M] disarmed [src]!") - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) - visible_message("[M] has tried to disarm [src]!") \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 57be152295b..eedc6c1ea0c 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -1,8 +1,4 @@ -/mob/living/carbon/human/attack_hand(mob/living/carbon/human/M as mob) - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - +/mob/living/carbon/human/attack_hand(mob/living/carbon/human/M) if(frozen) to_chat(M, "Do not touch Admin-Frozen people.") return @@ -78,7 +74,7 @@ if(attacker_style && attacker_style.grab_act(H, src)) return 1 else - src.grabbedby(M) + grabbedby(M) return 1 if(INTENT_HARM) @@ -147,7 +143,7 @@ return 1 else add_attack_logs(M, src, "Disarmed") - + M.do_attack_animation(src) if(w_uniform) w_uniform.add_fingerprint(M) var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f01ab117448..1d4dc544667 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -175,6 +175,11 @@ emp_act affecting.sabotaged = 1 return 1 +/mob/living/carbon/human/grabbedby(mob/living/user) + if(w_uniform) + w_uniform.add_fingerprint(user) + ..() + //Returns 1 if the attack hit, 0 if it missed. /mob/living/carbon/human/attacked_by(obj/item/I, mob/living/user, def_zone) if(!I || !user) @@ -343,6 +348,92 @@ emp_act if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) +/mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L) + if(..()) //successful larva bite. + var/damage = rand(1, 3) + if(stat != DEAD) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + var/obj/item/organ/external/affecting = get_organ(ran_zone(L.zone_sel.selecting)) + var/armor_block = run_armor_check(affecting, "melee") + apply_damage(damage, BRUTE, affecting, armor_block) + updatehealth() + +/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M) + if(check_shields(0, M.name)) + visible_message("[M] attempted to touch [src]!") + return 0 + + if(..()) + if(M.a_intent == INTENT_HARM) + if(w_uniform) + w_uniform.add_fingerprint(M) + var/damage = rand(15, 30) + if(!damage) + playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) + visible_message("[M] has lunged at [src]!") + return 0 + var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) + var/armor_block = run_armor_check(affecting, "melee") + + playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) + visible_message("[M] has slashed at [src]!", \ + "[M] has slashed at [src]!") + + apply_damage(damage, BRUTE, affecting, armor_block) + if(damage >= 25) + visible_message("[M] has wounded [src]!", \ + "[M] has wounded [src]!") + apply_effect(4, WEAKEN, armor_block) + add_logs(M, src, "attacked", admin=0) + updatehealth() + + if(M.a_intent == INTENT_DISARM) + if(prob(80)) + var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) + playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) + apply_effect(5, WEAKEN, run_armor_check(affecting, "melee")) + add_logs(M, src, "tackled", admin=0) + visible_message("[M] has tackled down [src]!") + else + if(prob(99)) //this looks fucking stupid but it was previously 'var/randn = rand(1, 100); if(randn <= 99)' + playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) + drop_item() + visible_message("[M] disarmed [src]!") + else + playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) + visible_message("[M] has tried to disarm [src]!") + +/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M) + if(..()) + var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK, M.armour_penetration)) + return 0 + var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") + var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) + var/armor = run_armor_check(affecting, "melee", armour_penetration = M.armour_penetration) + var/obj/item/organ/external/affected = src.get_organ(dam_zone) + if(affected) + affected.add_autopsy_data(M.name, damage) // Add the mob's name to the autopsy data + apply_damage(damage, M.melee_damage_type, affecting, armor) + updatehealth() + +/mob/living/carbon/human/attack_slime(mob/living/carbon/slime/M) + ..() + var/damage = rand(1, 3) + + if(M.is_adult) + damage = rand(10, 35) + else + damage = rand(5, 25) + + var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") + + var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) + var/armor_block = run_armor_check(affecting, "melee") + apply_damage(damage, BRUTE, affecting, armor_block) + + return + /mob/living/carbon/human/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == INTENT_HARM) if(M.damtype == "brute") diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index 5fa5a09c441..f66225d007c 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -207,73 +207,32 @@ return /mob/living/carbon/slime/attack_slime(mob/living/carbon/slime/M) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(Victim) - return // can't attack while eating! - - M.do_attack_animation(src) - visible_message("[M.name] has glomped [src]!", \ - "[M.name] has glomped [src]!") + ..() var/damage = rand(1, 3) attacked += 5 if(M.is_adult) damage = rand(1, 6) else damage = rand(1, 3) - if(health > -100) - adjustBruteLoss(damage) - updatehealth() - return + adjustBruteLoss(damage) + updatehealth() -/mob/living/carbon/slime/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("[M] [M.attacktext] [src]!", \ - "[M] [M.attacktext] [src]!") +/mob/living/carbon/slime/attack_animal(mob/living/simple_animal/M) + if(..()) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - add_attack_logs(src, M, "Slime'd for [damage] damage") attacked += 10 adjustBruteLoss(damage) updatehealth() -/mob/living/carbon/slime/attack_larva(mob/living/carbon/alien/larva/L as mob) - - switch(L.a_intent) - - if(INTENT_HELP) - visible_message("[L] rubs its head against [src].") - - - else - L.do_attack_animation(src) - attacked += 10 - visible_message("[L] bites [src]!", \ - "[L] bites [src]!") - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - - if(stat != DEAD) - var/damage = rand(1, 3) - L.amount_grown = min(L.amount_grown + damage, L.max_grown) - adjustBruteLoss(damage) - -/mob/living/carbon/slime/attack_hand(mob/living/carbon/human/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - ..() +/mob/living/carbon/slime/attack_larva(mob/living/carbon/alien/larva/L) + if(..()) //successful larva bite. + var/damage = rand(1, 3) + if(stat != DEAD) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + adjustBruteLoss(damage) + updatehealth() +/mob/living/carbon/slime/attack_hand(mob/living/carbon/human/M) if(Victim) if(Victim == M) if(prob(60)) @@ -298,6 +257,7 @@ return else + M.do_attack_animation(src) if(prob(30)) visible_message("[M] attempts to wrestle \the [name] off of [Victim]!") playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) @@ -340,7 +300,6 @@ else M.do_attack_animation(src) var/damage = rand(1, 9) - attacked += 10 if(prob(90)) if(HULK in M.mutations) @@ -352,16 +311,16 @@ if(prob(80) && !client) Discipline++ spawn(0) - step_away(src,M,15) sleep(3) step_away(src,M,15) playsound(loc, "punch", 25, 1, -1) + add_attack_logs(M, src, "Melee attacked with fists") visible_message("[M] has punched [src]!", \ "[M] has punched [src]!") - if(health > -100) + if(stat != DEAD) adjustBruteLoss(damage) updatehealth() else @@ -369,23 +328,9 @@ visible_message("[M] has attempted to punch [src]!") return - - -/mob/living/carbon/slime/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - switch(M.a_intent) - if(INTENT_HELP) - visible_message("[M] caresses [src] with its scythe like arm.") - - if(INTENT_HARM) - M.do_attack_animation(src) +/mob/living/carbon/slime/attack_alien(mob/living/carbon/alien/humanoid/M) + if(..()) //if harm or disarm intent. + if(M.a_intent == INTENT_HARM) if(prob(95)) attacked += 10 playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) @@ -397,7 +342,8 @@ else visible_message("[M] has wounded [name]!", \ ")[M] has wounded [name]!") - if(health > -100) + add_attack_logs(M, src, "Alien attacked") + if(stat != DEAD) adjustBruteLoss(damage) updatehealth() else @@ -405,11 +351,7 @@ visible_message("[M] has attempted to lunge at [name]!", \ "[M] has attempted to lunge at [name]!") - if(INTENT_GRAB) - grabbedby(M) - - if(INTENT_DISARM) - M.do_attack_animation(src) + if(M.a_intent == INTENT_DISARM) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) var/damage = 5 attacked += 10 @@ -424,7 +366,7 @@ anchored = 0 if(prob(80) && !client) Discipline++ - if(!istype(src, /mob/living/carbon/slime)) + if(!isslime(src)) if(Discipline == 1) attacked = 0 @@ -442,11 +384,12 @@ drop_item() visible_message("[M] has disarmed [name]!", "[M] has disarmed [name]!") + add_attack_logs(M, src, "Alien disarmed") adjustBruteLoss(damage) updatehealth() return -/mob/living/carbon/slime/attackby(obj/item/W, mob/user, params) +/mob/living/carbon/slime/attackby(obj/item/W, mob/living/user, params) if(stat == DEAD && surgeries.len) if(user.a_intent == INTENT_HELP) for(var/datum/surgery/S in surgeries) @@ -464,6 +407,7 @@ else if(W.force > 0) attacked += 10 if(prob(25)) + user.do_attack_animation(src) to_chat(user, "[W] passes right through [src]!") return if(Discipline && prob(50)) // wow, buddy, why am I getting attacked?? diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index d1eeafa6b19..0039284a6a0 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -229,13 +229,13 @@ // End BS12 momentum-transfer code. -/mob/living/proc/grabbedby(mob/living/carbon/user,var/supress_message = 0) +/mob/living/proc/grabbedby(mob/living/carbon/user, supress_message = 0) if(user == src || anchored) return 0 if(!(status_flags & CANPUSH)) return 0 - for(var/obj/item/grab/G in src.grabbed_by) + for(var/obj/item/grab/G in grabbed_by) if(G.assailant == user) to_chat(user, "You already grabbed [src].") return @@ -261,4 +261,78 @@ if(!supress_message) visible_message("[user] has grabbed [src] passively!") - return G \ No newline at end of file + return G + +/mob/living/attack_slime(mob/living/carbon/slime/M) + if(!ticker) + to_chat(M, "You cannot attack people before the game has started.") + return + + if(M.Victim) + return // can't attack while eating! + + if(stat != DEAD) + M.do_attack_animation(src) + visible_message("The [M.name] glomps [src]!", \ + "The [M.name] glomps [src]!") + + if(M.powerlevel > 0) + var/stunprob = M.powerlevel * 7 + 10 // 17 at level 1, 80 at level 10 + if(prob(stunprob)) + M.powerlevel -= 3 + if(M.powerlevel < 0) + M.powerlevel = 0 + + visible_message("The [M.name] has shocked [src]!", \ + "The [M.name] has shocked [src]!") + + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, src) + s.start() + return 1 + add_logs(M, src, "attacked", admin=0) + return + +/mob/living/attack_animal(mob/living/simple_animal/M) + if(M.melee_damage_upper == 0) + M.custom_emote(1, "[M.friendly] [src]") + return 0 + else + if(M.attack_sound) + playsound(loc, M.attack_sound, 50, 1, 1) + M.do_attack_animation(src) + visible_message("\The [M] [M.attacktext] [src]!", \ + "\The [M] [M.attacktext] [src]!") + add_logs(M, src, "attacked", admin=0) + return 1 + +/mob/living/attack_larva(mob/living/carbon/alien/larva/L) + switch(L.a_intent) + if(INTENT_HELP) + visible_message("[L.name] rubs its head against [src].") + return 0 + + else + L.do_attack_animation(src) + if(prob(90)) + add_logs(L, src, "attacked", admin=0) + visible_message("[L.name] bites [src]!", \ + "[L.name] bites [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + return 1 + else + visible_message("[L.name] has attempted to bite [src]!", \ + "[L.name] has attempted to bite [src]!") + return 0 + +/mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) + switch(M.a_intent) + if(INTENT_HELP) + visible_message("[M] caresses [src] with its scythe like arm.") + return FALSE + if(INTENT_GRAB) + grabbedby(M) + return FALSE + else + M.do_attack_animation(src) + return TRUE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1579085c6ad..48b01e800c6 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -686,62 +686,6 @@ var/list/ai_verbs_default = list( updatehealth() return 2 - -/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(isturf(loc) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - switch(M.a_intent) - - if(INTENT_HELP) - visible_message("[M] caresses [src]'s plating with its scythe like arm.") - - else //harm - M.do_attack_animation(src) - var/damage = rand(10, 20) - if(prob(90)) - playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - visible_message("[M] has slashed at [src]!",\ - "[M] has slashed at [src]!") - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - visible_message("[M] took a swipe at [src]!", \ - "[M] took a swipe at [src]!") - - return - -/mob/living/silicon/ai/attack_animal(mob/living/simple_animal/M) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("[M] [M.attacktext] [src]!") - add_attack_logs(M, src, "Animal attacked", FALSE) - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - switch(M.melee_damage_type) - if(BRUTE) - adjustBruteLoss(damage) - if(BURN) - adjustFireLoss(damage) - if(TOX) - adjustToxLoss(damage) - if(OXY) - adjustOxyLoss(damage) - if(CLONE) - adjustCloneLoss(damage) - if(STAMINA) - adjustStaminaLoss(damage) - updatehealth() - /mob/living/silicon/ai/reset_perspective(atom/A) if(camera_light_on) light_cameras() diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm new file mode 100644 index 00000000000..6d32c24bb0a --- /dev/null +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -0,0 +1,8 @@ +/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M) + if(!ticker) + to_chat(M, "You cannot attack people before the game has started.") + return + ..() + +/mob/living/silicon/ai/attack_slime(mob/living/carbon/slime/user) + return //immune to slimes diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 25781717e08..5a949d8eaba 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -242,41 +242,6 @@ adjustBruteLoss(damage) updatehealth() -/mob/living/silicon/pai/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "You cannot attack someone in the spawn area.") - return - - switch(M.a_intent) - - if(INTENT_HELP) - for(var/mob/O in viewers(src, null)) - if((O.client && !( O.blinded ))) - O.show_message(text("[M] caresses [src]'s casing with its scythe like arm."), 1) - - else //harm - M.do_attack_animation(src) - var/damage = rand(10, 20) - if(prob(90)) - playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if((O.client && !( O.blinded ))) - O.show_message(text("[] has slashed at []!", M, src), 1) - if(prob(8)) - flash_eyes(affect_silicon = 1) - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if((O.client && !( O.blinded ))) - O.show_message(text("[] took a swipe at []!", M, src), 1) - return - /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) usr:cameraFollow = null if(!C) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 48b9d558979..b3e6a62cb2e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -43,11 +43,11 @@ control_headlamp() //Actual picking-up event. -/mob/living/silicon/robot/drone/attack_hand(mob/living/carbon/human/M as mob) +/mob/living/silicon/robot/drone/attack_hand(mob/living/carbon/human/M) if(M.a_intent == INTENT_HELP) get_scooped(M) - - ..() + else + ..() /mob/living/silicon/robot/drone/verb/customize() set name = "Customize Chassis" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 0b0872e663b..ffc5afe6184 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -832,126 +832,10 @@ var/list/robot_verbs_default = list( update_icons() to_chat(usr, "You unlock your cover.") -/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - switch(M.a_intent) - - if(INTENT_HELP) - for(var/mob/O in viewers(src, null)) - if((O.client && !( O.blinded ))) - O.show_message(text("[M] caresses [src]'s plating with its scythe like arm."), 1) - - if(INTENT_GRAB) - grabbedby(M) - - if(INTENT_HARM) - M.do_attack_animation(src) - var/damage = rand(10, 20) - if(prob(90)) - playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) - visible_message("[M] has slashed at [src]!",\ - "[M] has slashed at [src]!") - if(prob(8)) - flash_eyes(affect_silicon = 1) - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - visible_message("[M] took a swipe at [src]!", \ - "[M] took a swipe at [src]!") - - if(INTENT_DISARM) - if(!(lying)) - M.do_attack_animation(src) - if(prob(85)) - Stun(7) - step(src,get_dir(M,src)) - spawn(5) - step(src,get_dir(M,src)) - playsound(loc, 'sound/weapons/pierce.ogg', 50, 1, -1) - visible_message("[M] has forced back [src]!",\ - "[M] has forced back [src]!") - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - visible_message("[M] attempted to force back [src]!",\ - "[M] attempted to force back [src]!") - return - - - -/mob/living/silicon/robot/attack_slime(mob/living/carbon/slime/M as mob) - if(..()) //successful slime shock - flash_eyes(affect_silicon = 1) - var/stunprob = M.powerlevel * 7 + 10 - if(prob(stunprob) && M.powerlevel >= 8) - adjustBruteLoss(M.powerlevel * rand(6,10)) - - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) - damage = round(damage / 2) // borgs recieve half damage - adjustBruteLoss(damage) - updatehealth() - - return - -/mob/living/silicon/robot/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("[M] [M.attacktext] [src]!") - add_attack_logs(M, src, "Animal attacked", FALSE) - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - switch(M.melee_damage_type) - if(BRUTE) - adjustBruteLoss(damage) - if(BURN) - adjustFireLoss(damage) - if(TOX) - adjustToxLoss(damage) - if(OXY) - adjustOxyLoss(damage) - if(CLONE) - adjustCloneLoss(damage) - if(STAMINA) - adjustStaminaLoss(damage) - updatehealth() - /mob/living/silicon/robot/attack_ghost(mob/user) if(wiresexposed) wires.Interact(user) -/mob/living/silicon/robot/attack_hand(mob/user) - add_fingerprint(user) - - if(opened && !wiresexposed && (!istype(user, /mob/living/silicon))) - if(cell) - cell.updateicon() - cell.add_fingerprint(user) - user.put_in_active_hand(cell) - to_chat(user, "You remove \the [cell].") - cell = null - update_icons() - diag_hud_set_borgcell() - - if(!opened && (!istype(user, /mob/living/silicon))) - if(user.a_intent == INTENT_HELP) - user.visible_message("[user] pets [src]!", \ - "You pet [src]!") - /mob/living/silicon/robot/proc/allowed(obj/item/I) var/obj/dummy = new /obj(null) // Create a dummy object to check access on as to avoid having to snowflake check_access on every mob dummy.req_access = req_access diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm new file mode 100644 index 00000000000..ca240058e58 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -0,0 +1,59 @@ +/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M) + if(M.a_intent == INTENT_DISARM) + if(!lying) + M.do_attack_animation(src) + if(prob(85)) + Stun(7) + step(src, get_dir(M,src)) + spawn(5) + step(src, get_dir(M,src)) + add_logs(M, src, "pushed", admin=0) + playsound(loc, 'sound/weapons/pierce.ogg', 50, 1, -1) + visible_message("[M] has forced back [src]!",\ + "[M] has forced back [src]!") + else + playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) + visible_message("[M] took a swipe at [src]!",\ + "[M] took a swipe at [src]!") + else + ..() + return + +/mob/living/silicon/robot/attack_slime(mob/living/carbon/slime/M) + if(..()) //successful slime shock + flash_eyes(affect_silicon = 1) + var/stunprob = M.powerlevel * 7 + 10 + if(prob(stunprob) && M.powerlevel >= 8) + adjustBruteLoss(M.powerlevel * rand(6,10)) + + var/damage = rand(1, 3) + + if(M.is_adult) + damage = rand(20, 40) + else + damage = rand(5, 35) + damage = round(damage / 2) // borgs recieve half damage + adjustBruteLoss(damage) + updatehealth() + return + +/mob/living/silicon/robot/attack_hand(mob/living/carbon/human/user) + add_fingerprint(user) + + if(opened && !wiresexposed && !issilicon(user)) + if(cell) + cell.updateicon() + cell.add_fingerprint(user) + user.put_in_active_hand(cell) + to_chat(user, "You remove \the [cell].") + cell = null + update_icons() + diag_hud_set_borgcell() + + if(!opened) + if(..()) // hulk attack + spark_system.start() + spawn(0) + step_away(src, user, 15) + sleep(3) + step_away(src, user, 15) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm new file mode 100644 index 00000000000..5659eecc4dc --- /dev/null +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -0,0 +1,66 @@ +/mob/living/silicon/grabbedby(mob/living/user) + return + +/mob/living/silicon/attack_alien(mob/living/carbon/alien/humanoid/M) + if(..()) //if harm or disarm intent + var/damage = rand(10, 20) + if(prob(90)) + add_logs(M, src, "attacked", admin=0) + playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) + visible_message("[M] has slashed at [src]!", \ + "[M] has slashed at [src]!") + if(prob(8)) + flash_eyes(affect_silicon = 1) + add_logs(M, src, "attacked", admin=0) + adjustBruteLoss(damage) + updatehealth() + else + playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) + visible_message("[M] took a swipe at [src]!", \ + "[M] took a swipe at [src]!") + return + +/mob/living/silicon/attack_animal(mob/living/simple_animal/M) + if(..()) + var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + switch(M.melee_damage_type) + if(BRUTE) + adjustBruteLoss(damage) + if(BURN) + adjustFireLoss(damage) + if(TOX) + adjustToxLoss(damage) + if(OXY) + adjustOxyLoss(damage) + if(CLONE) + adjustCloneLoss(damage) + if(STAMINA) + adjustStaminaLoss(damage) + updatehealth() + +/mob/living/silicon/attack_larva(mob/living/carbon/alien/larva/L) + if(L.a_intent == INTENT_HELP) + visible_message("[L.name] rubs its head against [src].") + +/mob/living/silicon/attack_hand(mob/living/carbon/human/M) + switch(M.a_intent) + if(INTENT_HELP) + M.visible_message("[M] pets [src]!", \ + "You pet [src]!") + if("grab") + grabbedby(M) + else + M.do_attack_animation(src) + playsound(loc, 'sound/effects/bang.ogg', 10, 1) + if(HULK in M.mutations) + var/damage = rand(10,15) + adjustBruteLoss(damage) + add_logs(M, src, "attacked", admin=0) + playsound(loc, "punch", 25, 1, -1) + visible_message("[M] has punched [src]!", \ + "[M] has punched [src]!") + return 1 + else + visible_message("[M] punches [src], but doesn't leave a dent.", \ + "[M] punches [src], but doesn't leave a dent.!") + return 0 diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm new file mode 100644 index 00000000000..acf22ed69f7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -0,0 +1,60 @@ +/mob/living/simple_animal/attack_hand(mob/living/carbon/human/M) + ..() + switch(M.a_intent) + + if(INTENT_HELP) + if(health > 0) + visible_message("[M] [response_help] [src].") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + + if(INTENT_GRAB) + grabbedby(M) + + if(INTENT_HARM, INTENT_DISARM) + M.do_attack_animation(src) + visible_message("[M] [response_harm] [src]!") + playsound(loc, "punch", 25, 1, -1) + attack_threshold_check(harm_intent_damage) + add_logs(M, src, "attacked", admin=0) + updatehealth() + return 1 + +/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M) + if(..()) //if harm or disarm intent. + var/damage = rand(15, 30) + visible_message("[M] has slashed at [src]!", \ + "[M] has slashed at [src]!") + playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) + add_logs(M, src, "attacked", admin=0) + attack_threshold_check(damage) + return + +/mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L) + if(..()) //successful larva bite + var/damage = rand(5, 10) + if(stat != DEAD) + L.amount_grown = min(L.amount_grown + damage, L.max_grown) + attack_threshold_check(damage) + +/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M) + if(..()) + var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + attack_threshold_check(damage, M.melee_damage_type) + +/mob/living/simple_animal/attack_slime(mob/living/carbon/slime/M) + ..() + var/damage = rand(1, 3) + + if(M.is_adult) + damage = rand(20, 40) + else + damage = rand(5, 35) + + attack_threshold_check(damage) + return + +/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE) + if(damage <= force_threshold || !damage_coeff[damagetype]) + visible_message("[src] looks unharmed.") + else + apply_damage(damage, damagetype) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index ae8cecb8eb2..8d9d07c00e7 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -258,21 +258,21 @@ return return 1 //Successful completion. Used to prevent child process() continuing if this one is ended early. -/mob/living/simple_animal/bot/attack_alien(var/mob/living/carbon/alien/user as mob) +/mob/living/simple_animal/bot/attack_alien(mob/living/carbon/alien/user) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) apply_damage(rand(15,30), BRUTE) - visible_message("[user] has slashed [src]!") + visible_message("[user] has slashed [src]!") playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) -/mob/living/simple_animal/bot/attack_animal(var/mob/living/simple_animal/M as mob) +/mob/living/simple_animal/bot/attack_animal(mob/living/simple_animal/M) M.do_attack_animation(src) if(M.melee_damage_upper == 0) return apply_damage(M.melee_damage_upper, BRUTE) - visible_message("[M] has [M.attacktext] [src]!") + visible_message("[M] has [M.attacktext] [src]!") add_attack_logs(M, src, "Animal attacked", FALSE) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index a4eba013f94..c7b82dc44b8 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -264,19 +264,6 @@ ..(act, m_type, message) -/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.custom_emote(1, "[M.friendly] [src]") - else - M.do_attack_animation(src) - if(M.attack_sound) - playsound(loc, M.attack_sound, 50, 1, 1) - visible_message("\The [M] [M.attacktext] [src]!", \ - "\The [M] [M.attacktext] [src]!") - add_attack_logs(M, src, "Animal attacked") - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - attack_threshold_check(damage,M.melee_damage_type) - /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) if(!Proj) return @@ -285,104 +272,6 @@ Proj.on_hit(src, 0) return 0 -/mob/living/simple_animal/attack_hand(mob/living/carbon/human/M as mob) - ..() - - switch(M.a_intent) - - if(INTENT_HELP) - if(health > 0) - visible_message(" [M] [response_help] [src].") - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - - if(INTENT_GRAB) - if(M == src || anchored) - return - if(!(status_flags & CANPUSH)) - return - - var/obj/item/grab/G = new /obj/item/grab(M, src ) - - M.put_in_active_hand(G) - - G.synch() - - LAssailant = M - - visible_message("[M] has grabbed [src] passively!") - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - - if(INTENT_HARM, INTENT_DISARM) - M.do_attack_animation(src) - visible_message("[M] [response_harm] [src]!") - playsound(loc, "punch", 25, 1, -1) - attack_threshold_check(harm_intent_damage) - - return - -/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - - switch(M.a_intent) - - if(INTENT_HELP) - - visible_message("[M] caresses [src] with its scythe like arm.") - if(INTENT_GRAB) - grabbedby(M) - - if(INTENT_HARM, INTENT_DISARM) - M.do_attack_animation(src) - var/damage = rand(15, 30) - visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - attack_threshold_check(damage) - - return - -/mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L as mob) - - switch(L.a_intent) - if(INTENT_HELP) - visible_message("[L] rubs its head against [src].") - - - else - L.do_attack_animation(src) - var/damage = rand(5, 10) - visible_message("[L] bites [src]!", \ - "[L] bites [src]!") - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - - if(stat != DEAD) - L.amount_grown = min(L.amount_grown + damage, L.max_grown) - attack_threshold_check(damage) - - -/mob/living/simple_animal/attack_slime(mob/living/carbon/slime/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(M.Victim) return // can't attack while eating! - - if(health > 0) - M.do_attack_animation(src) - visible_message("[M.name] glomps [src]!", \ - "[M.name] glomps [src]!") - - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) - - attack_threshold_check(damage) - - - return - /mob/living/simple_animal/attackby(obj/item/O, mob/living/user) if(can_collar && !collar && istype(O, /obj/item/clothing/accessory/petcollar)) var/obj/item/clothing/accessory/petcollar/C = O @@ -510,12 +399,6 @@ /mob/living/simple_animal/ExtinguishMob() return -/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE) - if(damage <= force_threshold || !damage_coeff[damagetype]) - visible_message("[src] looks unharmed from the damage.") - else - apply_damage(damage, damagetype) - /mob/living/simple_animal/update_transform() var/matrix/ntransform = matrix(transform) //aka transform.Copy() var/changed = 0 diff --git a/paradise.dme b/paradise.dme index ba1e6d19a10..1d329f9aec5 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1570,7 +1570,7 @@ #include "code\modules\mob\living\update_status.dm" #include "code\modules\mob\living\carbon\_defines.dm" #include "code\modules\mob\living\carbon\carbon.dm" -#include "code\modules\mob\living\carbon\carbon_defenses.dm" +#include "code\modules\mob\living\carbon\carbon_defense.dm" #include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\death.dm" #include "code\modules\mob\living\carbon\give.dm" @@ -1579,7 +1579,7 @@ #include "code\modules\mob\living\carbon\update_icons.dm" #include "code\modules\mob\living\carbon\update_status.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" -#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" +#include "code\modules\mob\living\carbon\alien\alien_defense.dm" #include "code\modules\mob\living\carbon\alien\death.dm" #include "code\modules\mob\living\carbon\alien\life.dm" #include "code\modules\mob\living\carbon\alien\login.dm" @@ -1588,6 +1588,7 @@ #include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" #include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" #include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.dm" #include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" #include "code\modules\mob\living\carbon\alien\humanoid\life.dm" #include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" @@ -1599,6 +1600,7 @@ #include "code\modules\mob\living\carbon\alien\larva\emote.dm" #include "code\modules\mob\living\carbon\alien\larva\inventory.dm" #include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\larva_defense.dm" #include "code\modules\mob\living\carbon\alien\larva\life.dm" #include "code\modules\mob\living\carbon\alien\larva\powers.dm" #include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" @@ -1620,7 +1622,6 @@ #include "code\modules\mob\living\carbon\human\emote.dm" #include "code\modules\mob\living\carbon\human\examine.dm" #include "code\modules\mob\living\carbon\human\human.dm" -#include "code\modules\mob\living\carbon\human\human_attackalien.dm" #include "code\modules\mob\living\carbon\human\human_attackhand.dm" #include "code\modules\mob\living\carbon\human\human_damage.dm" #include "code\modules\mob\living\carbon\human\human_defense.dm" @@ -1663,8 +1664,10 @@ #include "code\modules\mob\living\silicon\login.dm" #include "code\modules\mob\living\silicon\say.dm" #include "code\modules\mob\living\silicon\silicon.dm" +#include "code\modules\mob\living\silicon\silicon_defense.dm" #include "code\modules\mob\living\silicon\subsystems.dm" #include "code\modules\mob\living\silicon\ai\ai.dm" +#include "code\modules\mob\living\silicon\ai\ai_defense.dm" #include "code\modules\mob\living\silicon\ai\death.dm" #include "code\modules\mob\living\silicon\ai\examine.dm" #include "code\modules\mob\living\silicon\ai\latejoin.dm" @@ -1702,6 +1705,7 @@ #include "code\modules\mob\living\silicon\robot\photos.dm" #include "code\modules\mob\living\silicon\robot\robot.dm" #include "code\modules\mob\living\silicon\robot\robot_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_defense.dm" #include "code\modules\mob\living\silicon\robot\robot_items.dm" #include "code\modules\mob\living\silicon\robot\robot_module_actions.dm" #include "code\modules\mob\living\silicon\robot\robot_modules.dm" @@ -1715,6 +1719,7 @@ #include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" #include "code\modules\mob\living\silicon\robot\drone\update_status.dm" +#include "code\modules\mob\living\simple_animal\animal_defense.dm" #include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" From 20670489214c4b5d2de5b88746479feef5e9402d Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Wed, 28 Mar 2018 23:42:37 +0400 Subject: [PATCH 052/287] changes human/attack_hand() to be species-based splits attack_hand() intents into their own species procs --- .../mob/living/carbon/carbon_defense.dm | 6 + .../living/carbon/human/human_attackhand.dm | 197 ------------------ .../mob/living/carbon/human/human_defense.dm | 7 + .../mob/living/carbon/human/species/apollo.dm | 43 ++-- .../living/carbon/human/species/species.dm | 195 ++++++++++++++++- paradise.dme | 1 - 6 files changed, 227 insertions(+), 222 deletions(-) delete mode 100644 code/modules/mob/living/carbon/human/human_attackhand.dm diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 140e868dddf..7e6f427e069 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -38,6 +38,12 @@ var/datum/disease/D = thing if(D.IsSpreadByTouch()) ContractDisease(D) + + 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)) + return 1 return 0 /mob/living/carbon/attack_slime(mob/living/carbon/slime/M) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm deleted file mode 100644 index eedc6c1ea0c..00000000000 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ /dev/null @@ -1,197 +0,0 @@ -/mob/living/carbon/human/attack_hand(mob/living/carbon/human/M) - if(frozen) - to_chat(M, "Do not touch Admin-Frozen people.") - return - - var/mob/living/carbon/human/H = M - if(istype(H)) - var/obj/item/organ/external/temp = H.bodyparts_by_name["r_hand"] - if(H.hand) - temp = H.bodyparts_by_name["l_hand"] - if(!temp || !temp.is_usable()) - to_chat(H, "You can't use your hand.") - return - - ..() - - if((M != src) && M.a_intent != INTENT_HELP && check_shields(0, M.name, attack_type = UNARMED_ATTACK)) - add_attack_logs(M, src, "Melee attacked with fists (miss/block)") - visible_message("[M] attempted to touch [src]!") - return 0 - - var/datum/martial_art/attacker_style = M.martial_art - - species.handle_attack_hand(src, M) - - switch(M.a_intent) - if(INTENT_HELP) - if(attacker_style && attacker_style.help_act(H, src))//adminfu only... - return 1 - if(can_operate(src)) - if(health >= config.health_threshold_crit) - if(src.surgeries.len) - for(var/datum/surgery/S in src.surgeries) - if(S.next_step(M, src)) - return 1 - help_shake_act(M) - add_attack_logs(M, src, "Shaked") - return 1 - if(health >= config.health_threshold_crit) - help_shake_act(M) - add_attack_logs(M, src, "Shaked") - return 1 - if(!H.check_has_mouth()) - to_chat(H, "You don't have a mouth, you cannot perform CPR!") - return - if(!check_has_mouth()) - to_chat(H, "They don't have a mouth, you cannot perform CPR!") - return - if((M.head && (M.head.flags_cover & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags_cover & MASKCOVERSMOUTH) && !M.wear_mask.mask_adjusted)) - to_chat(M, "Remove your mask!") - return 0 - if((head && (head.flags_cover & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH) && !wear_mask.mask_adjusted)) - to_chat(M, "Remove his mask!") - return 0 - - M.visible_message("\The [M] is trying to perform CPR on \the [src]!", \ - "You try to perform CPR on \the [src]!") - if(do_mob(M, src, 40)) - if(health > config.health_threshold_dead && health <= config.health_threshold_crit) - var/suff = min(getOxyLoss(), 7) - adjustOxyLoss(-suff) - updatehealth() - M.visible_message("\The [M] performs CPR on \the [src]!", \ - "You perform CPR on \the [src].") - - to_chat(src, "You feel a breath of fresh air enter your lungs. It feels good.") - to_chat(M, "Repeat at least every 7 seconds.") - add_attack_logs(M, src, "CPRed", FALSE) - return 1 - else - to_chat(M, "You need to stay still while performing CPR!") - - if(INTENT_GRAB) - if(attacker_style && attacker_style.grab_act(H, src)) - return 1 - else - grabbedby(M) - return 1 - - if(INTENT_HARM) - //Vampire code - if(M.mind && M.mind.vampire && (M.mind in ticker.mode.vampires) && !M.mind.vampire.draining && M.zone_sel && M.zone_sel.selecting == "head" && src != M) - if((NO_BLOOD in species.species_traits) || species.exotic_blood || !blood_volume) - to_chat(M, "They have no blood!") - return - if(mind && mind.vampire && (mind in ticker.mode.vampires)) - to_chat(M, "Your fangs fail to pierce [name]'s cold flesh") - return - if(SKELETON in mutations) - to_chat(M, "There is no blood in a skeleton!") - return - if(issmall(src) && !ckey) //Monkeyized humans are okay, humanized monkeys are okay, NPC monkeys are not. - to_chat(M, "Blood from a monkey is useless!") - return - //we're good to suck the blood, blaah - M.mind.vampire.handle_bloodsucking(src) - add_attack_logs(M, src, "vampirebit") - return - //end vampire codes - if(attacker_style && attacker_style.harm_act(H, src)) - return 1 - else - var/datum/unarmed_attack/attack = M.species.unarmed - - M.do_attack_animation(src) - add_attack_logs(M, src, "Melee attacked with fists") - - if(!iscarbon(M)) - LAssailant = null - else - LAssailant = M - - var/damage = rand(M.species.punchdamagelow, M.species.punchdamagehigh) - damage += attack.damage - if(!damage) - playsound(loc, attack.miss_sound, 25, 1, -1) - visible_message("[M] tried to [pick(attack.attack_verb)] [src]!") - return 0 - - - var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) - var/armor_block = run_armor_check(affecting, "melee") - - if(HULK in M.mutations) - adjustBruteLoss(15) - - playsound(loc, attack.attack_sound, 25, 1, -1) - - visible_message("[M] [pick(attack.attack_verb)]ed [src]!") - - apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway. - if((stat != DEAD) && damage >= M.species.punchstunthreshold) - visible_message("[M] has weakened [src]!", \ - "[M] has weakened [src]!") - apply_effect(4, WEAKEN, armor_block) - forcesay(hit_appends) - else if(lying) - forcesay(hit_appends) - - - if(INTENT_DISARM) - if(attacker_style && attacker_style.disarm_act(H, src)) - return 1 - else - add_attack_logs(M, src, "Disarmed") - M.do_attack_animation(src) - if(w_uniform) - w_uniform.add_fingerprint(M) - var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) - var/randn = rand(1, 100) - if(randn <= 25) - apply_effect(2, WEAKEN, run_armor_check(affecting, "melee")) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("[M] has pushed [src]!") - add_attack_logs(M, src, "Pushed over") - if(!iscarbon(M)) - LAssailant = null - else - LAssailant = M - return - - var/talked = 0 // BubbleWrap - - if(randn <= 60) - //BubbleWrap: Disarming breaks a pull - if(pulling) - visible_message("[M] has broken [src]'s grip on [pulling]!") - talked = 1 - stop_pulling() - - //BubbleWrap: Disarming also breaks a grab - this will also stop someone being choked, won't it? - if(istype(l_hand, /obj/item/grab)) - var/obj/item/grab/lgrab = l_hand - if(lgrab.affecting) - visible_message("[M] has broken [src]'s grip on [lgrab.affecting]!") - talked = 1 - spawn(1) - qdel(lgrab) - if(istype(r_hand, /obj/item/grab)) - var/obj/item/grab/rgrab = r_hand - if(rgrab.affecting) - visible_message("[M] has broken [src]'s grip on [rgrab.affecting]!") - talked = 1 - spawn(1) - qdel(rgrab) - //End BubbleWrap - - if(!talked) //BubbleWrap - if(drop_item()) - visible_message("[M] has disarmed [src]!") - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - return - - - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] attempted to disarm [src]!") - return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1d4dc544667..d6545d9bff6 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -348,6 +348,13 @@ emp_act if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) +/mob/living/carbon/human/attack_hand(mob/user) + if(..()) //to allow surgery to return properly. + return + if(ishuman(user)) + var/mob/living/carbon/human/H = user + species.spec_attack_hand(H, src) + /mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L) if(..()) //successful larva bite. var/damage = rand(1, 3) diff --git a/code/modules/mob/living/carbon/human/species/apollo.dm b/code/modules/mob/living/carbon/human/species/apollo.dm index f1ca3294017..0b38b57c786 100644 --- a/code/modules/mob/living/carbon/human/species/apollo.dm +++ b/code/modules/mob/living/carbon/human/species/apollo.dm @@ -56,30 +56,29 @@ to_chat(C, "Your antennae tingle as you are overcome with pain...") to_chat(C, "It feels like part of you has died.") -/datum/species/wryn/handle_attack_hand(var/mob/living/carbon/human/H, var/mob/living/carbon/human/M) - var/obj/item/organ/external/head/head_organ = H.get_organ("head") - if(M.a_intent == INTENT_HARM) - if(H.handcuffed) - if(!H.get_int_organ(/obj/item/organ/internal/wryn/hivenode)) return - var/turf/p_loc = M.loc - var/turf/p_loc_m = H.loc +/datum/species/wryn/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(target.handcuffed) + if(!target.get_int_organ(/obj/item/organ/internal/wryn/hivenode)) + return - M.visible_message("[M] begins to violently pull off [H]'s antennae.") - to_chat(H, "[M] grips your antennae and starts violently pulling!") - if(do_after(H, 250, target = src)) - if(p_loc == M.loc && p_loc_m == H.loc) - var/obj/item/organ/internal/wryn/hivenode/node = new /obj/item/organ/internal/wryn/hivenode - H.remove_language("Wryn Hivemind") - node.remove(H) - node.loc = M.loc - to_chat(M, "You hear a loud crunch as you mercilessly pull off [H]'s antennae.") - to_chat(H, "You hear a loud crunch as your antennae is ripped off your head by [M].") - to_chat(H, "It's so quiet...") - head_organ.h_style = "Bald" - H.update_hair() + user.visible_message("[user] begins to violently pull off [target]'s antennae.") + to_chat(target, "[user] grips your antennae and starts violently pulling!") + if(do_mob(user, target, 250)) + var/obj/item/organ/internal/wryn/hivenode/node = new /obj/item/organ/internal/wryn/hivenode + target.remove_language("Wryn Hivemind") + node.remove(target) + node.forceMove(user.loc) + to_chat(user, "You hear a loud crunch as you mercilessly pull off [target]'s antennae.") + to_chat(target, "You hear a loud crunch as your antennae is ripped off your head by [user].") + to_chat(target, "It's so quiet...") + var/obj/item/organ/external/head/head_organ = target.get_organ("head") + head_organ.h_style = "Bald" + target.update_hair() - add_attack_logs(M, H, "Antennae removed") - return 0 + add_attack_logs(user, target, "Antennae removed") + return 0 + else + ..() /datum/species/nucleation name = "Nucleation" diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 901d221a8b3..8bc5ccfd6b4 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -315,8 +315,199 @@ /datum/species/proc/handle_death(var/mob/living/carbon/human/H) //Handles any species-specific death events (such as dionaea nymph spawns). return -/datum/species/proc/handle_attack_hand(var/mob/living/carbon/human/H, var/mob/living/carbon/human/M) //Handles any species-specific attackhand events. - return +/datum/species/proc/help(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(attacker_style && attacker_style.help_act(user, target))//adminfu only... + return 1 + if(target.health >= config.health_threshold_crit) + target.help_shake_act(user) + add_attack_logs(user, target, "Shaked") + return 1 + if(!user.check_has_mouth()) + to_chat(user, "You don't have a mouth, you cannot perform CPR!") + return + if(!target.check_has_mouth()) + to_chat(user, "They don't have a mouth, you cannot perform CPR!") + return + if((user.head && (user.head.flags_cover & HEADCOVERSMOUTH)) || (user.wear_mask && (user.wear_mask.flags_cover & MASKCOVERSMOUTH) && !user.wear_mask.mask_adjusted)) + to_chat(user, "Remove your mask!") + return 0 + if((target.head && (target.head.flags_cover & HEADCOVERSMOUTH)) || (target.wear_mask && (target.wear_mask.flags_cover & MASKCOVERSMOUTH) && !target.wear_mask.mask_adjusted)) + to_chat(user, "Remove his mask!") + return 0 + + user.visible_message("\The [user] is trying to perform CPR on \the [target]!", \ + "You try to perform CPR on \the [target]!") + if(do_mob(user, target, 40)) + if(target.health > config.health_threshold_dead && target.health <= config.health_threshold_crit) + var/suff = min(target.getOxyLoss(), 7) + target.adjustOxyLoss(-suff) + target.updatehealth() + user.visible_message("\The [user] performs CPR on \the [target]!", \ + "You perform CPR on \the [target].") + + to_chat(target, "You feel a breath of fresh air enter your lungs. It feels good.") + to_chat(user, "Repeat at least every 7 seconds.") + add_attack_logs(user, target, "CPRed", FALSE) + return 1 + else + to_chat(user, "You need to stay still while performing CPR!") + +/datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(attacker_style && attacker_style.grab_act(user, target)) + return 1 + else + target.grabbedby(user) + return 1 + +/datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + //Vampire code + if(user.mind && user.mind.vampire && (user.mind in ticker.mode.vampires) && !user.mind.vampire.draining && user.zone_sel && user.zone_sel.selecting == "head" && target != user) + if((NO_BLOOD in target.species.species_traits) || target.species.exotic_blood || !target.blood_volume) + to_chat(user, "They have no blood!") + return + if(target.mind && target.mind.vampire && (target.mind in ticker.mode.vampires)) + to_chat(user, "Your fangs fail to pierce [target.name]'s cold flesh") + return + if(SKELETON in target.mutations) + to_chat(user, "There is no blood in a skeleton!") + return + if(issmall(target) && !target.ckey) //Monkeyized humans are okay, humanized monkeys are okay, NPC monkeys are not. + to_chat(user, "Blood from a monkey is useless!") + return + //we're good to suck the blood, blaah + user.mind.vampire.handle_bloodsucking(target) + add_attack_logs(user, target, "vampirebit") + return + //end vampire codes + if(attacker_style && attacker_style.harm_act(user, target)) + return 1 + else + var/datum/unarmed_attack/attack = user.species.unarmed + + user.do_attack_animation(target) + add_attack_logs(user, target, "Melee attacked with fists") + + if(!iscarbon(user)) + target.LAssailant = null + else + target.LAssailant = user + + var/damage = rand(user.species.punchdamagelow, user.species.punchdamagehigh) + damage += attack.damage + if(!damage) + playsound(target.loc, attack.miss_sound, 25, 1, -1) + target.visible_message("[user] tried to [pick(attack.attack_verb)] [target]!") + return 0 + + + var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_sel.selecting)) + var/armor_block = target.run_armor_check(affecting, "melee") + + if(HULK in user.mutations) + target.adjustBruteLoss(15) + + playsound(target.loc, attack.attack_sound, 25, 1, -1) + + target.visible_message("[user] [pick(attack.attack_verb)]ed [target]!") + + target.apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway. + if((target.stat != DEAD) && damage >= user.species.punchstunthreshold) + target.visible_message("[user] has weakened [target]!", \ + "[user] has weakened [target]!") + target.apply_effect(4, WEAKEN, armor_block) + target.forcesay(hit_appends) + else if(target.lying) + target.forcesay(hit_appends) + +/datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(attacker_style && attacker_style.disarm_act(user, target)) + return 1 + else + add_attack_logs(user, target, "Disarmed") + user.do_attack_animation(target) + if(target.w_uniform) + target.w_uniform.add_fingerprint(user) + var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_sel.selecting)) + var/randn = rand(1, 100) + if(randn <= 25) + target.apply_effect(2, WEAKEN, target.run_armor_check(affecting, "melee")) + playsound(target.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + target.visible_message("[user] has pushed [target]!") + add_attack_logs(user, target, "Pushed over") + if(!iscarbon(user)) + target.LAssailant = null + else + target.LAssailant = user + return + + var/talked = 0 // BubbleWrap + + if(randn <= 60) + //BubbleWrap: Disarming breaks a pull + if(target.pulling) + target.visible_message("[user] has broken [target]'s grip on [target.pulling]!") + talked = 1 + target.stop_pulling() + + //BubbleWrap: Disarming also breaks a grab - this will also stop someone being choked, won't it? + if(istype(target.l_hand, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/lgrab = target.l_hand + if(lgrab.affecting) + target.visible_message("[user] has broken [target]'s grip on [lgrab.affecting]!") + talked = 1 + spawn(1) + qdel(lgrab) + if(istype(target.r_hand, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/rgrab = target.r_hand + if(rgrab.affecting) + target.visible_message("[user] has broken [target]'s grip on [rgrab.affecting]!") + talked = 1 + spawn(1) + qdel(rgrab) + //End BubbleWrap + + if(!talked) //BubbleWrap + if(target.drop_item()) + target.visible_message("[user] has disarmed [target]!") + playsound(target.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + return + + + playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + target.visible_message("[user] attempted to disarm [target]!") + +/datum/species/proc/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style = M.martial_art) //Handles any species-specific attackhand events. + if(!istype(M)) + return + if(H.frozen) + to_chat(M, "Do not touch Admin-Frozen people.") + return + + if(istype(M)) + var/obj/item/organ/external/temp = M.bodyparts_by_name["r_hand"] + if(M.hand) + temp = M.bodyparts_by_name["l_hand"] + if(!temp || !temp.is_usable()) + to_chat(M, "You can't use your hand.") + return + + if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(0, M.name, attack_type = UNARMED_ATTACK)) + add_attack_logs(M, H, "Melee attacked with fists (miss/block)") + H.visible_message("[M] attempted to touch [H]!") + return 0 + + switch(M.a_intent) + if(INTENT_HELP) + help(M, H, attacker_style) + + if(INTENT_GRAB) + grab(M, H, attacker_style) + + if(INTENT_HARM) + harm(M, H, attacker_style) + + if(INTENT_DISARM) + disarm(M, H, attacker_style) /datum/species/proc/say_filter(mob/M, message, datum/language/speaking) return message diff --git a/paradise.dme b/paradise.dme index 1d329f9aec5..716baebdf05 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1622,7 +1622,6 @@ #include "code\modules\mob\living\carbon\human\emote.dm" #include "code\modules\mob\living\carbon\human\examine.dm" #include "code\modules\mob\living\carbon\human\human.dm" -#include "code\modules\mob\living\carbon\human\human_attackhand.dm" #include "code\modules\mob\living\carbon\human\human_damage.dm" #include "code\modules\mob\living\carbon\human\human_defense.dm" #include "code\modules\mob\living\carbon\human\human_defines.dm" From d873cf93fa3cfe94dfe19aa7efad92cdeeba97b7 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Fri, 30 Mar 2018 19:24:02 +0400 Subject: [PATCH 053/287] do_cpr() proc for humans --- code/modules/mob/living/carbon/human/human.dm | 33 +++++++++++++++++++ .../living/carbon/human/species/species.dm | 29 +--------------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2cb8bbb396e..6f5e692c311 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1728,6 +1728,39 @@ Eyes need to have significantly high darksight to shine unless the mob has the X return ..() +/mob/living/carbon/human/proc/do_cpr(mob/living/carbon/human/H) + if(H.stat == DEAD || (H.status_flags & FAKEDEATH)) + to_chat(src, "[H.name] is dead!") + return + if(!check_has_mouth()) + to_chat(src, "You don't have a mouth, you cannot perform CPR!") + return + if(!H.check_has_mouth()) + to_chat(src, "They don't have a mouth, you cannot perform CPR!") + return + if((head && (head.flags_cover & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH) && !wear_mask.mask_adjusted)) + to_chat(src, "Remove your mask first!") + return 0 + if((H.head && (H.head.flags_cover & HEADCOVERSMOUTH)) || (H.wear_mask && (H.wear_mask.flags_cover & MASKCOVERSMOUTH) && !H.wear_mask.mask_adjusted)) + to_chat(src, "Remove their mask first!") + return 0 + visible_message("[src] is trying to perform CPR on [H.name]!", \ + "You try to perform CPR on [H.name]!") + if(do_mob(src, H, 40)) + if(H.health > config.health_threshold_dead && H.health <= config.health_threshold_crit) + var/suff = min(H.getOxyLoss(), 7) + H.adjustOxyLoss(-suff) + H.updatehealth() + visible_message("[src] performs CPR on [H.name]!", \ + "You perform CPR on [H.name].") + + to_chat(H, "You feel a breath of fresh air enter your lungs. It feels good.") + to_chat(src, "Repeat at least every 7 seconds.") + add_logs(src, H, "CPRed") + return 1 + else + to_chat(src, "You need to stay still while performing CPR!") + /mob/living/carbon/human/canBeHandcuffed() if(get_num_arms() >= 2) return TRUE diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 8bc5ccfd6b4..cd10e5b3e60 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -322,35 +322,8 @@ target.help_shake_act(user) add_attack_logs(user, target, "Shaked") return 1 - if(!user.check_has_mouth()) - to_chat(user, "You don't have a mouth, you cannot perform CPR!") - return - if(!target.check_has_mouth()) - to_chat(user, "They don't have a mouth, you cannot perform CPR!") - return - if((user.head && (user.head.flags_cover & HEADCOVERSMOUTH)) || (user.wear_mask && (user.wear_mask.flags_cover & MASKCOVERSMOUTH) && !user.wear_mask.mask_adjusted)) - to_chat(user, "Remove your mask!") - return 0 - if((target.head && (target.head.flags_cover & HEADCOVERSMOUTH)) || (target.wear_mask && (target.wear_mask.flags_cover & MASKCOVERSMOUTH) && !target.wear_mask.mask_adjusted)) - to_chat(user, "Remove his mask!") - return 0 - - user.visible_message("\The [user] is trying to perform CPR on \the [target]!", \ - "You try to perform CPR on \the [target]!") - if(do_mob(user, target, 40)) - if(target.health > config.health_threshold_dead && target.health <= config.health_threshold_crit) - var/suff = min(target.getOxyLoss(), 7) - target.adjustOxyLoss(-suff) - target.updatehealth() - user.visible_message("\The [user] performs CPR on \the [target]!", \ - "You perform CPR on \the [target].") - - to_chat(target, "You feel a breath of fresh air enter your lungs. It feels good.") - to_chat(user, "Repeat at least every 7 seconds.") - add_attack_logs(user, target, "CPRed", FALSE) - return 1 else - to_chat(user, "You need to stay still while performing CPR!") + user.do_cpr(target) /datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(attacker_style && attacker_style.grab_act(user, target)) From f685a74733a240827b01d17b0f988854565797c2 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 31 Mar 2018 23:08:17 +0400 Subject: [PATCH 054/287] removes unnecessary alien and brain rads code fix the wryn harm intent special only slimes that actually die produce death message slime emotes now log, slimes can change their face/mood with new emotes plasma and epinephrine can control slime mutation chances, docility potion makes slimes docile and non-hungry instead of creating a SA slime, added proc to add nutrition slime attack surgery fixes, slimes steal nutrition from other slimes on attacking obj/item/weapon -> obj/item --- code/modules/mob/living/carbon/alien/alien.dm | 31 ------ code/modules/mob/living/carbon/brain/life.dm | 23 +--- .../mob/living/carbon/human/species/apollo.dm | 4 +- .../living/carbon/human/species/species.dm | 8 +- code/modules/mob/living/carbon/slime/death.dm | 8 +- code/modules/mob/living/carbon/slime/emote.dm | 47 ++++++-- code/modules/mob/living/carbon/slime/life.dm | 47 ++++++-- .../modules/mob/living/carbon/slime/powers.dm | 101 +++++++++--------- code/modules/mob/living/carbon/slime/slime.dm | 48 ++++----- .../living/simple_animal/friendly/slime.dm | 1 - .../research/xenobiology/xenobiology.dm | 30 ++---- 11 files changed, 167 insertions(+), 181 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 76d60fc7b19..e706b89ca85 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -9,15 +9,10 @@ icon = 'icons/mob/alien.dmi' gender = NEUTER dna = null - - alien_talk_understand = 1 - nightvision = 1 - var/obj/item/card/id/wear_id = null // Fix for station bounced radios -- Skie var/has_fine_manipulation = 0 - var/move_delay_add = 0 // movement delay to add status_flags = CANPARALYSE|CANPUSH @@ -27,7 +22,6 @@ var/heat_protection = 0.5 var/leaping = 0 ventcrawler = 2 - var/list/alien_organs = list() /mob/living/carbon/alien/New() @@ -118,31 +112,6 @@ else clear_alert("alien_fire") -/mob/living/carbon/alien/handle_mutations_and_radiation() - // Aliens love radiation nom nom nom - if(radiation) - if(radiation > 100) - radiation = 100 - - if(radiation < 0) - radiation = 0 - - switch(radiation) - if(1 to 49) - radiation-- - if(prob(25)) - adjustToxLoss(1) - - if(50 to 74) - radiation -= 2 - adjustToxLoss(1) - if(prob(5)) - radiation -= 5 - - if(75 to 100) - radiation -= 3 - adjustToxLoss(3) - /mob/living/carbon/alien/handle_fire()//Aliens on fire code if(..()) return diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index e61f8750901..757ccab9fb9 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -1,36 +1,20 @@ /mob/living/carbon/brain/handle_mutations_and_radiation() if(radiation) if(radiation > 100) - radiation -= 3 - adjustToxLoss(3) - updatehealth() if(!container) to_chat(src, "You feel weak.") else to_chat(src, "STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED.") switch(radiation) - if(0 to 49) - radiation-- - if(prob(25)) - adjustToxLoss(1) - updatehealth() - if(50 to 74) - radiation -= 2 - adjustToxLoss(1) + if(50 to 75) if(prob(5)) - radiation -= 5 if(!container) to_chat(src, "You feel weak.") else to_chat(src, "STATUS: DANGEROUS AMOUNTS OF RADIATION DETECTED.") - updatehealth() - - if(75 to 100) - radiation -= 3 - adjustToxLoss(3) - updatehealth() + ..() /mob/living/carbon/brain/proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity) if(status_flags & GODMODE) @@ -38,13 +22,10 @@ if(exposed_temperature > bodytemperature) var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0) - //adjustFireLoss(2.5*discomfort) - //adjustFireLoss(5.0*discomfort) adjustFireLoss(20.0*discomfort) else var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0) - //adjustFireLoss(2.5*discomfort) adjustFireLoss(5.0*discomfort) /mob/living/carbon/brain/handle_regular_status_updates() diff --git a/code/modules/mob/living/carbon/human/species/apollo.dm b/code/modules/mob/living/carbon/human/species/apollo.dm index 0b38b57c786..6c37da34395 100644 --- a/code/modules/mob/living/carbon/human/species/apollo.dm +++ b/code/modules/mob/living/carbon/human/species/apollo.dm @@ -57,9 +57,7 @@ to_chat(C, "It feels like part of you has died.") /datum/species/wryn/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - if(target.handcuffed) - if(!target.get_int_organ(/obj/item/organ/internal/wryn/hivenode)) - return + if(target.handcuffed && target.get_int_organ(/obj/item/organ/internal/wryn/hivenode)) user.visible_message("[user] begins to violently pull off [target]'s antennae.") to_chat(target, "[user] grips your antennae and starts violently pulling!") diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index cd10e5b3e60..3158725d71e 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -423,15 +423,15 @@ target.stop_pulling() //BubbleWrap: Disarming also breaks a grab - this will also stop someone being choked, won't it? - if(istype(target.l_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/lgrab = target.l_hand + if(istype(target.l_hand, /obj/item/grab)) + var/obj/item/grab/lgrab = target.l_hand if(lgrab.affecting) target.visible_message("[user] has broken [target]'s grip on [lgrab.affecting]!") talked = 1 spawn(1) qdel(lgrab) - if(istype(target.r_hand, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/rgrab = target.r_hand + if(istype(target.r_hand, /obj/item/grab)) + var/obj/item/grab/rgrab = target.r_hand if(rgrab.affecting) target.visible_message("[user] has broken [target]'s grip on [rgrab.affecting]!") talked = 1 diff --git a/code/modules/mob/living/carbon/slime/death.dm b/code/modules/mob/living/carbon/slime/death.dm index 240454f3e0f..5c551d6e470 100644 --- a/code/modules/mob/living/carbon/slime/death.dm +++ b/code/modules/mob/living/carbon/slime/death.dm @@ -1,4 +1,6 @@ /mob/living/carbon/slime/death(gibbed) + if(stat == DEAD) + return if(!gibbed) if(is_adult) var/mob/living/carbon/slime/M = new /mob/living/carbon/slime(loc) @@ -11,13 +13,11 @@ number = rand(1, 1000) name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" return - - if(stat == DEAD) return + else + visible_message("The [name] seizes up and falls limp...") stat = DEAD icon_state = "[colour] baby slime dead" overlays.len = 0 - for(var/mob/O in viewers(src, null)) - O.show_message("The [name] seizes up and falls limp...", 1) //ded -- Urist update_canmove() diff --git a/code/modules/mob/living/carbon/slime/emote.dm b/code/modules/mob/living/carbon/slime/emote.dm index b4a6eb140f0..89a48096b23 100644 --- a/code/modules/mob/living/carbon/slime/emote.dm +++ b/code/modules/mob/living/carbon/slime/emote.dm @@ -1,4 +1,4 @@ -/mob/living/carbon/slime/emote(var/act, var/m_type=1, var/message = null) +/mob/living/carbon/slime/emote(act, m_type = 1, message = null) if(findtext(act, "-", 1, null)) var/t1 = findtext(act, "-", 1, null) //param = copytext(act, t1 + 1, length(act) + 1) @@ -8,6 +8,9 @@ act = copytext(act,1,length(act)) act = lowertext(act) + + var/regenerate_icons + switch(act) //Alphabetical please if("me") if(silent) @@ -58,18 +61,44 @@ message = "The [src.name] vibrates!" m_type = 1 + if("noface") //mfw I have no face + mood = null + regenerate_icons = 1 + + if("smile") + mood = "mischevous" + regenerate_icons = 1 + + if(":3") + mood = ":33" + regenerate_icons = 1 + + if("pout") + mood = "pout" + regenerate_icons = 1 + + if("frown") + mood = "sad" + regenerate_icons = 1 + + if("scowl") + mood = "angry" + regenerate_icons = 1 + if("help") //This is an exception - to_chat(src, "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate") + to_chat(src, "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate. \n\nYou may also change your face with: \n\nsmile, :3, pout, frown, scowl, noface") else to_chat(src, "Unusable emote '[act]'. Say *help for a list.") - if((message && src.stat == 0)) + if((message && stat == CONSCIOUS)) + if(client) + log_emote("[name]/[key] : [message]") if(m_type & 1) - for(var/mob/O in viewers(src, null)) - O.show_message(message, m_type) - //Foreach goto(703) + visible_message(message) else - for(var/mob/O in hearers(src, null)) - O.show_message(message, m_type) - //Foreach goto(746) + loc.audible_message(message) + + if(regenerate_icons) + regenerate_icons() + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/slime/life.dm b/code/modules/mob/living/carbon/slime/life.dm index e0afe00ada2..ced452ab652 100644 --- a/code/modules/mob/living/carbon/slime/life.dm +++ b/code/modules/mob/living/carbon/slime/life.dm @@ -156,7 +156,14 @@ if(reagents) reagents.metabolize(src) - src.updatehealth() + + if(reagents.get_reagent_amount("plasma")>=5) + mutation_chance = min(mutation_chance + 5,50) //Prevents mutation chance going >50% + reagents.remove_reagent("plasma", 5) + if(reagents.get_reagent_amount("epinephrine")>=5) + mutation_chance = max(mutation_chance - 5,0) //Prevents mutation chance going <0% + reagents.remove_reagent("epinephrine", 5) + updatehealth() return //TODO: DEFERRED @@ -235,6 +242,10 @@ /mob/living/carbon/slime/proc/handle_nutrition() + if(docile) //God as my witness, I will never go hungry again + nutrition = 700 + return + if(prob(15)) nutrition -= 1 + is_adult @@ -254,6 +265,15 @@ else Evolve() +/mob/living/carbon/slime/proc/add_nutrition(nutrition_to_add = 0, lastnut = 0) + nutrition = min((nutrition + nutrition_to_add), get_max_nutrition()) + if(nutrition >= (lastnut + 50)) + if(prob(80)) + lastnut = nutrition + powerlevel++ + if(powerlevel > 10) + powerlevel = 10 + adjustToxLoss(-10) /mob/living/carbon/slime/proc/handle_targets() if(Tempstun) @@ -282,7 +302,7 @@ if(Target) --target_patience - if(target_patience <= 0 || SStun || Discipline || attacked) // Tired of chasing or something draws out attention + if(target_patience <= 0 || SStun || Discipline || attacked || docile) // Tired of chasing or something draws out attention target_patience = 0 Target = null @@ -365,6 +385,8 @@ else if(holding_still) holding_still = max(holding_still - 1, 0) + else if(docile && pulledby) + holding_still = 10 else if(canmove && isturf(loc) && prob(33)) step(src, pick(cardinal)) else if(!AIproc) @@ -374,8 +396,12 @@ /mob/living/carbon/slime/proc/handle_speech_and_mood() //Mood starts here var/newmood = "" - if(rabid || attacked) newmood = "angry" - else if(Target) newmood = "mischevous" + if(rabid || attacked) + newmood = "angry" + else if(docile) + newmood = ":3" + else if(Target) + newmood = "mischevous" if(!newmood) if(Discipline && prob(25)) @@ -544,8 +570,13 @@ if(is_adult) return 300 else return 200 -/mob/living/carbon/slime/proc/will_hunt(var/hunger = -1) // Check for being stopped from feeding and chasing - if(hunger == 2 || rabid || attacked) return 1 - if(Leader) return 0 - if(holding_still) return 0 +/mob/living/carbon/slime/proc/will_hunt(hunger = -1) // Check for being stopped from feeding and chasing + if(docile) + return 0 + if(hunger == 2 || rabid || attacked) + return 1 + if(Leader) + return 0 + if(holding_still) + return 0 return 1 diff --git a/code/modules/mob/living/carbon/slime/powers.dm b/code/modules/mob/living/carbon/slime/powers.dm index 95359f7d573..a2aca96c163 100644 --- a/code/modules/mob/living/carbon/slime/powers.dm +++ b/code/modules/mob/living/carbon/slime/powers.dm @@ -3,11 +3,15 @@ set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process." if(Victim) Feedstop() - return + return 0 + + if(docile) + to_chat(src, "I'm not hungry anymore...") + return 0 if(stat) to_chat(src, "I must be conscious to do this...") - return + return 0 var/list/choices = list() for(var/mob/living/C in view(1,src)) @@ -15,32 +19,31 @@ choices += C var/mob/living/M = input(src,"Who do you wish to feed on?") in null|choices - if(!M) return + if(!M) + return 0 if(Adjacent(M)) - - if(!istype(src, /mob/living/carbon/brain)) - if(!istype(M, /mob/living/carbon/slime)) - if(stat != 2) - if(health > -70) - - for(var/mob/living/carbon/slime/met in view()) - if(met.Victim == M && met != src) - to_chat(src, "The [met.name] is already feeding on this subject...") - return - to_chat(src, "I have latched onto the subject and begun feeding...") - to_chat(M, "The [src.name] has latched onto your head!") - Feedon(M) - - else - to_chat(src, "This subject does not have a strong enough life energy...") - else - to_chat(src, "This subject does not have an edible life energy...") - else - to_chat(src, "I must not feed on my brothers...") - else + if(isbrain(M)) to_chat(src, "This subject does not have an edible life energy...") + return 0 + if(iscarbon(M) && (M.health < -70)) + to_chat(src, "This subject does not have a strong enough life energy...") + return 0 + if(isanimal(M) && (M.health < 1))//animals don't go into crit, stupid; fixes infinite energy exploit + to_chat(src, "This subject does not have a strong enough life energy...") + return 0 + + for(var/mob/living/carbon/slime/met in view()) + if(met.Victim == M && met != src) + to_chat(src, "The [met.name] is already feeding on this subject...") + return 0 + + to_chat(src, "I have latched onto the subject and begun feeding...") + to_chat(M, "The [name] has latched onto your head!") + + Feedon(M) + return 1 /mob/living/carbon/slime/proc/Feedon(var/mob/living/M) Victim = M @@ -49,55 +52,49 @@ anchored = 1 var/lastnut = nutrition var/fed_succesfully = 0 + var/health_minimum = -70 if(is_adult) icon_state = "[colour] adult slime eat" else icon_state = "[colour] baby slime eat" - while(Victim && M.health > -70 && M.stat != DEAD && stat != DEAD) + if(isanimal(Victim)) + health_minimum = 0 + while(Victim && Victim.health > health_minimum && stat != DEAD) canmove = 0 - if(Adjacent(M)) + if(Adjacent(Victim)) loc = M.loc - if(prob(15) && M.client && istype(M, /mob/living/carbon)) - to_chat(M, "[pick("You can feel your body becoming weak!", \ - "You feel like you're about to die!", \ - "You feel every part of your body screaming in agony!", \ - "A low, rolling pain passes through your body!", \ - "Your body feels as if it's falling apart!", \ - "You feel extremely weak!", \ - "A sharp, deep pain bathes every inch of your body!")]") - - if(istype(M, /mob/living/carbon)) + if(iscarbon(Victim)) Victim.adjustCloneLoss(rand(5,6)) Victim.adjustToxLoss(rand(1,2)) if(Victim.health <= 0) Victim.adjustToxLoss(rand(2,4)) + if(prob(15) && Victim.client) + to_chat(Victim, "[pick("You can feel your body becoming weak!", \ + "You feel like you're about to die!", \ + "You feel every part of your body screaming in agony!", \ + "A low, rolling pain passes through your body!", \ + "Your body feels as if it's falling apart!", \ + "You feel extremely weak!", \ + "A sharp, deep pain bathes every inch of your body!")]") + fed_succesfully = 1 - else if(istype(M, /mob/living/simple_animal)) + else if(health_minimum == 0) //we already know it's a simple_animal from above Victim.adjustBruteLoss(is_adult ? rand(7, 15) : rand(4, 12)) fed_succesfully = 1 else - if(prob(25)) - to_chat(src, "[pick("This subject is incompatable", \ - "This subject does not have a life energy", "This subject is empty", \ - "I am not satisified", "I can not feed from this subject", \ - "I do not feel nourished", "This subject is not food")]...") + to_chat(src, "[pick("This subject is incompatable", \ + "This subject does not have a life energy", "This subject is empty", \ + "I am not satisified", "I can not feed from this subject", \ + "I do not feel nourished", "This subject is not food")]...") if(fed_succesfully) - //I have no idea why this is not in handle_nutrition() - nutrition += rand(15,30) - if(nutrition >= lastnut + 50) - if(prob(80)) - lastnut = nutrition - powerlevel++ - if(powerlevel > 10) - powerlevel = 10 - adjustToxLoss(-10) + add_nutrition(rand(15,30), lastnut) //Heal yourself. adjustOxyLoss(-10) @@ -128,7 +125,7 @@ anchored = 0 if(M) - if(M.health <= -70) + if(M.health <= health_minimum) M.canmove = 0 if(!client) if(Victim && !rabid && !attacked) diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index f66225d007c..ecb233a2ebf 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -5,18 +5,14 @@ pass_flags = PASSTABLE ventcrawler = 2 speak_emote = list("telepathically chirps") - layer = 5 - maxHealth = 150 health = 150 gender = NEUTER - nutrition = 700 - see_in_dark = 8 update_slimes = 0 - + faction = list("slime","neutral") // canstun and canweaken don't affect slimes because they ignore stun and weakened variables // for the sake of cleanliness, though, here they are. status_flags = CANPARALYSE|CANPUSH @@ -44,7 +40,7 @@ var/mood = "" // To show its face var/is_adult = 0 - + var/docile = 0 var/core_removal_stage = 0 //For removing cores. var/mutator_used = FALSE //So you can't shove a dozen mutators into a single slime @@ -140,7 +136,8 @@ stat(null, "Health: [round((health / 150) * 100)]%") if(client.statpanel == "Status") - stat(null, "Nutrition: [nutrition]/[get_max_nutrition()]") + if(!docile) + stat(null, "Nutrition: [nutrition]/[get_max_nutrition()]") if(amount_grown >= 10) if(is_adult) stat(null, "You can reproduce!") @@ -194,9 +191,9 @@ return /mob/living/carbon/slime/MouseDrop(atom/movable/A) - if(isliving(A) && A != usr) + if(isliving(A) && A != src && usr == src) var/mob/living/Food = A - if(Food.Adjacent(usr) && !stat && Food.stat != DEAD) //messy + if(Food.Adjacent(src) && !stat && Food.stat != DEAD) //messy Feedon(Food) ..() @@ -208,14 +205,19 @@ /mob/living/carbon/slime/attack_slime(mob/living/carbon/slime/M) ..() - var/damage = rand(1, 3) + if(Victim) + Victim = null + visible_message("[M] pulls [src] off!") + return attacked += 5 - if(M.is_adult) - damage = rand(1, 6) - else - damage = rand(1, 3) - adjustBruteLoss(damage) - updatehealth() + if(nutrition >= 100) //steal some nutrition. negval handled in life() + nutrition -= (50 + (5 * M.amount_grown)) + M.add_nutrition(50 + (5 * M.amount_grown)) + if(health > 0) + adjustBruteLoss(4 + (2 * M.amount_grown)) //amt_grown isn't very linear but it works + updatehealth() + M.adjustBruteLoss(-4 + (-2 * M.amount_grown)) + M.updatehealth() /mob/living/carbon/slime/attack_animal(mob/living/simple_animal/M) if(..()) @@ -282,12 +284,9 @@ step_away(src,M) return - else - if(stat == DEAD && surgeries.len) - if(M.a_intent == INTENT_HELP) - for(var/datum/surgery/S in surgeries) - if(S.next_step(M, src)) - return 1 + + if(..()) //To allow surgery to return properly. + return switch(M.a_intent) @@ -390,11 +389,6 @@ return /mob/living/carbon/slime/attackby(obj/item/W, mob/living/user, params) - if(stat == DEAD && surgeries.len) - if(user.a_intent == INTENT_HELP) - for(var/datum/surgery/S in surgeries) - if(S.next_step(user, src)) - return 1 if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Lets you feed slimes plasma. if(user in Friends) ++Friends[user] diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm index a831c830459..13e7c893d86 100644 --- a/code/modules/mob/living/simple_animal/friendly/slime.dm +++ b/code/modules/mob/living/simple_animal/friendly/slime.dm @@ -20,7 +20,6 @@ maxHealth = 200 icon_state = "grey adult slime" icon_living = "grey adult slime" - icon_dead = "grey baby slime dead" /mob/living/simple_animal/slime/New() ..() diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 67c025cecb0..df0a8a2f55f 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -140,39 +140,27 @@ /obj/item/slimepotion/docility/attack(mob/living/carbon/slime/M, mob/user) if(!isslime(M)) - to_chat(user, " The potion only works on slimes!") + to_chat(user, "The potion only works on slimes!") return if(M.stat) - to_chat(user, " The slime is dead!") - return - if(M.mind) - to_chat(user, " The slime resists!") + to_chat(user, "The slime is dead!") return if(being_used) - to_chat(user, " You're already using this on another slime!") + to_chat(user, "You're already using this on another slime!") return - var/mob/living/simple_animal/slime/pet - if(M.is_adult) - pet = new /mob/living/simple_animal/slime/adult(M.loc) - pet.icon_state = "[M.colour] adult slime" - pet.icon_living = "[M.colour] adult slime" - else - pet = new /mob/living/simple_animal/slime(M.loc) - pet.icon_state = "[M.colour] baby slime" - pet.icon_living = "[M.colour] baby slime" - pet.icon_dead = "[M.colour] baby slime dead" - pet.colour = "[M.colour]" - qdel(M) + M.docile = 1 + M.nutrition = 700 + to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.") + to_chat(user, "You feed the slime the potion, removing its hunger and calming it.") being_used = 1 var/newname = sanitize(copytext(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text,1,MAX_NAME_LEN)) if(!newname) newname = "pet slime" - pet.name = newname - pet.real_name = newname + M.name = newname + M.real_name = newname qdel(src) - to_chat(user, "You feed the slime the potion, removing it's powers and calming it.") /obj/item/slimepotion/sentience name = "sentience potion" From 0665c0ac27ec5f86f2d403cbc847ab976544a6ee Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Mon, 23 Apr 2018 21:43:58 +0500 Subject: [PATCH 055/287] new logging system --- code/modules/mob/living/carbon/alien/humanoid/humanoid.dm | 2 +- .../mob/living/carbon/alien/humanoid/humanoid_defense.dm | 4 ++-- code/modules/mob/living/carbon/alien/larva/larva.dm | 2 +- code/modules/mob/living/carbon/alien/larva/larva_defense.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- code/modules/mob/living/living_defense.dm | 6 +++--- code/modules/mob/living/silicon/robot/robot_defense.dm | 2 +- code/modules/mob/living/silicon/silicon_defense.dm | 5 ++--- code/modules/mob/living/simple_animal/animal_defense.dm | 4 ++-- 10 files changed, 16 insertions(+), 17 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 61e3aef5b31..8946189b4cb 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -84,7 +84,7 @@ if(M.is_adult) damage = rand(10, 40) adjustBruteLoss(damage) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(src, M, "Slime'd for [damage] damage") updatehealth() return diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm index 1027c0a4245..0056bb709a5 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -20,7 +20,7 @@ "[M] has weakened [src]!", \ "You hear someone fall.") adjustBruteLoss(damage) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Melee attacked with fists") updatehealth() else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) @@ -31,7 +31,7 @@ if(prob(5))//Very small chance to push an alien down. Paralyse(2) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - add_logs(M, src, "pushed", admin=0) + add_attack_logs(M, src, "Pushed over") visible_message("[M] has pushed down [src]!", \ "[M] has pushed down [src]!") else diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index e1fbd04a60f..783d683f060 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -79,7 +79,7 @@ if(M.is_adult) damage = rand(20, 40) adjustBruteLoss(damage) - add_attack_logs(M, src, "Slime attacked") + add_attack_logs(src, M, "Slime'd for [damage] damage") updatehealth() return diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm index 029ea07da4f..fc7fa22510b 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -10,7 +10,7 @@ sleep(3) step_away(src, M, 15) playsound(loc, "punch", 25, 1, -1) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Melee attacked with fists") visible_message("[M] has kicked [src]!", \ "[M] has kicked [src]!") if((stat != DEAD) && (damage > 4.9)) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6f5e692c311..dc640ec68a0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1756,7 +1756,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X to_chat(H, "You feel a breath of fresh air enter your lungs. It feels good.") to_chat(src, "Repeat at least every 7 seconds.") - add_logs(src, H, "CPRed") + add_attack_logs(src, H, "CPRed", FALSE) return 1 else to_chat(src, "You need to stay still while performing CPR!") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index d6545d9bff6..c45154e4931 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -391,7 +391,7 @@ emp_act visible_message("[M] has wounded [src]!", \ "[M] has wounded [src]!") apply_effect(4, WEAKEN, armor_block) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Alien attacked") updatehealth() if(M.a_intent == INTENT_DISARM) @@ -399,7 +399,7 @@ emp_act var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_sel.selecting)) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) apply_effect(5, WEAKEN, run_armor_check(affecting, "melee")) - add_logs(M, src, "tackled", admin=0) + add_attack_logs(M, src, "Alien tackled") visible_message("[M] has tackled down [src]!") else if(prob(99)) //this looks fucking stupid but it was previously 'var/randn = rand(1, 100); if(randn <= 99)' diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 0039284a6a0..10c83f4d0f2 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -290,7 +290,7 @@ s.set_up(5, 1, src) s.start() return 1 - add_logs(M, src, "attacked", admin=0) + add_attack_logs(src, M, "Slime'd") return /mob/living/attack_animal(mob/living/simple_animal/M) @@ -303,7 +303,7 @@ M.do_attack_animation(src) visible_message("\The [M] [M.attacktext] [src]!", \ "\The [M] [M.attacktext] [src]!") - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Animal attacked") return 1 /mob/living/attack_larva(mob/living/carbon/alien/larva/L) @@ -315,7 +315,7 @@ else L.do_attack_animation(src) if(prob(90)) - add_logs(L, src, "attacked", admin=0) + add_attack_logs(L, src, "Larva attacked") visible_message("[L.name] bites [src]!", \ "[L.name] bites [src]!") playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index ca240058e58..033b244cf8c 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -7,7 +7,7 @@ step(src, get_dir(M,src)) spawn(5) step(src, get_dir(M,src)) - add_logs(M, src, "pushed", admin=0) + add_attack_logs(M, src, "Alien pushed over") playsound(loc, 'sound/weapons/pierce.ogg', 50, 1, -1) visible_message("[M] has forced back [src]!",\ "[M] has forced back [src]!") diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index 5659eecc4dc..480c9442bd7 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -5,13 +5,12 @@ if(..()) //if harm or disarm intent var/damage = rand(10, 20) if(prob(90)) - add_logs(M, src, "attacked", admin=0) playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) visible_message("[M] has slashed at [src]!", \ "[M] has slashed at [src]!") if(prob(8)) flash_eyes(affect_silicon = 1) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Alien attacked") adjustBruteLoss(damage) updatehealth() else @@ -55,7 +54,7 @@ if(HULK in M.mutations) var/damage = rand(10,15) adjustBruteLoss(damage) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Melee attacked with fists") playsound(loc, "punch", 25, 1, -1) visible_message("[M] has punched [src]!", \ "[M] has punched [src]!") diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index acf22ed69f7..b122decd322 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -15,7 +15,7 @@ visible_message("[M] [response_harm] [src]!") playsound(loc, "punch", 25, 1, -1) attack_threshold_check(harm_intent_damage) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Melee attacked with fists") updatehealth() return 1 @@ -25,7 +25,7 @@ visible_message("[M] has slashed at [src]!", \ "[M] has slashed at [src]!") playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - add_logs(M, src, "attacked", admin=0) + add_attack_logs(M, src, "Alien attacked") attack_threshold_check(damage) return From 69e0eedead012bbcd95d8a135fe39e3d63bb9287 Mon Sep 17 00:00:00 2001 From: Kluys Date: Tue, 24 Apr 2018 10:21:17 +0200 Subject: [PATCH 056/287] Managed to get a space in there somehow --- code/game/objects/structures/grille.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 28101ca76c9..d5dccaf0d03 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -152,7 +152,7 @@ if(broken) to_chat(user, "You must repair or replace [src] first!") return - if (S.get_amount() < 1) + if(S.get_amount() < 1) to_chat(user, "You need at least one sheet of glass for that!") return if(!anchored) From fa683dd3c1b8bad073a3ae9034b0e574c7c5bebb Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 25 Apr 2018 14:26:51 -0400 Subject: [PATCH 057/287] ORM Refactor --- code/game/mecha/mech_fabricator.dm | 8 +- code/modules/mining/equipment_locker.dm | 444 ++++++++++++++---------- code/modules/telesci/bscrystal.dm | 10 +- 3 files changed, 263 insertions(+), 199 deletions(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index dbaaf68cc1b..d1c2826a5ce 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -104,7 +104,7 @@ return output /obj/machinery/mecha_part_fabricator/proc/output_part_info(datum/design/D) - var/output = "[initial(D.name)] (Cost: [output_part_cost(D)]) [get_construction_time_w_coeff(D)/10]sec" + var/output = "[initial(D.name)] (Cost: [output_part_cost(D)]) [get_construction_time_w_coeff(D)/10] seconds" return output /obj/machinery/mecha_part_fabricator/proc/output_part_cost(datum/design/D) @@ -327,14 +327,16 @@ -
    [left_part] + [list_queue()]
    "} - user << browse(dat, "window=mecha_fabricator;size=1000x430") + var/datum/browser/popup = new(user, "mecha_fabricator", name, 1000, 600) + popup.set_content(dat) + popup.open(0) onclose(user, "mecha_fabricator") return diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 9306eec9829..add66a81e90 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -3,28 +3,33 @@ /obj/machinery/mineral/ore_redemption name = "ore redemption machine" - desc = "A machine that accepts ore and instantly transforms it into workable material sheets, but cannot produce alloys such as Plasteel. Points for ore are generated based on type and can be redeemed at a mining equipment vendor." + desc = "A machine that accepts ore and instantly transforms it into workable material sheets. Points for ore are generated based on type and can be redeemed at a mining equipment vendor." icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "ore_redemption" - density = 1 - anchored = 1.0 + density = TRUE + anchored = TRUE input_dir = NORTH output_dir = SOUTH req_access = list(access_mineral_storeroom) - var/stk_types = list() - var/stk_amt = list() - var/stack_list[0] //Key: Type. Value: Instance of type. + speed_process = TRUE + layer = BELOW_OBJ_LAYER + var/req_access_reclaim = access_mining_station var/obj/item/card/id/inserted_id var/points = 0 var/ore_pickup_rate = 15 var/sheet_per_ore = 1 var/point_upgrade = 1 - var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("titanium" = 30), ("uranium" = 30), ("diamond" = 50), ("bluespace crystal" = 50), ("bananium" = 60), ("tranquillite" = 60)) + var/list/ore_values = list("sand" = 1, "iron" = 1, "plasma" = 15, "silver" = 16, "gold" = 18, "titanium" = 30, "uranium" = 30, "diamond" = 50, "bluespace crystal" = 50, "bananium" = 60, "tranquillite" = 60) + var/message_sent = FALSE + var/list/ore_buffer = list() + var/datum/research/files + var/obj/item/disk/design_disk/inserted_disk var/list/supply_consoles = list("Science", "Robotics", "Research Director's Desk", "Mechanic", "Engineering" = list("metal", "glass", "plasma"), "Chief Engineer's Desk" = list("metal", "glass", "plasma"), "Atmospherics" = list("metal", "glass", "plasma"), "Bar" = list("uranium", "plasma"), "Virology" = list("plasma", "uranium", "gold")) - speed_process = 1 /obj/machinery/mineral/ore_redemption/New() ..() + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE),INFINITY) + files = new /datum/research/smelter(src) component_parts = list() component_parts += new /obj/item/circuitboard/ore_redemption(null) component_parts += new /obj/item/stock_parts/matter_bin(null) @@ -45,6 +50,12 @@ component_parts += new /obj/item/stock_parts/console_screen(null) RefreshParts() +/obj/machinery/mineral/ore_redemption/Destroy() + QDEL_NULL(files) + GET_COMPONENT(materials, /datum/component/material_container) + materials.retrieve_all() + return ..() + /obj/machinery/mineral/ore_redemption/RefreshParts() var/ore_pickup_rate_temp = 15 var/point_upgrade_temp = 1 @@ -59,147 +70,195 @@ point_upgrade = point_upgrade_temp sheet_per_ore = sheet_per_ore_temp -/obj/machinery/mineral/ore_redemption/proc/process_sheet(obj/item/ore/O) - var/obj/item/stack/sheet/processed_sheet = SmeltMineral(O) - if(processed_sheet) - if(!(processed_sheet in stack_list)) //It's the first of this sheet added - var/obj/item/stack/sheet/s = new processed_sheet(src,0) - s.amount = 0 - stack_list[processed_sheet] = s - // Not including tg's ignoring of metal, glass being stocked because if cargo's not telling science when ores are there, they probably won't - // help with restocking metal/glass either - var/msg = "\[[station_time_timestamp()]\]: [capitalize(s.name)] sheets have been stocked in the ore reclaimer." - for(var/obj/machinery/requests_console/D in allConsoles) - if(D.department in src.supply_consoles) - if(supply_consoles[D.department] == null || (s.name in supply_consoles[D.department])) - D.createMessage("Ore Redemption Machine", "New Minerals Available!", msg, 1) +/obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/ore/O) - var/obj/item/stack/sheet/storage = stack_list[processed_sheet] - storage.amount += sheet_per_ore //Stack the sheets - O.loc = null //Let the old sheet... - qdel(O) //... garbage collect + ore_buffer -= O + + if(O && O.refined_type) + points += O.points * point_upgrade + + GET_COMPONENT(materials, /datum/component/material_container) + var/material_amount = materials.get_item_material_amount(O) + + if(!material_amount) + qdel(O) //no materials, incinerate it + + else if(!materials.has_space(material_amount * sheet_per_ore)) //if there is no space, eject it + unload_mineral(O) + + else + materials.insert_item(O, sheet_per_ore) //insert it + qdel(O) + +/obj/machinery/mineral/ore_redemption/proc/can_smelt_alloy(datum/design/D) + if(D.make_reagents.len) + return FALSE + + var/build_amount = 0 + + GET_COMPONENT(materials, /datum/component/material_container) + for(var/mat_id in D.materials) + var/M = D.materials[mat_id] + var/datum/material/redemption_mat = materials.materials[mat_id] + + if(!M || !redemption_mat) + return FALSE + + var/smeltable_sheets = round(redemption_mat.amount / M) + + if(!smeltable_sheets) + return FALSE + + if(!build_amount) + build_amount = smeltable_sheets + + build_amount = min(build_amount, smeltable_sheets) + + return build_amount + +/obj/machinery/mineral/ore_redemption/proc/process_ores(list/ores_to_process) + var/current_amount = 0 + for(var/ore in ores_to_process) + if(current_amount >= ore_pickup_rate) + break + smelt_ore(ore) + +/obj/machinery/mineral/ore_redemption/proc/send_console_message() + if(!is_station_level(z)) + return + message_sent = TRUE + var/area/A = get_area(src) + var/msg = "Now available in [A]:
    " + + var/has_minerals = FALSE + var/mineral_name = null + GET_COMPONENT(materials, /datum/component/material_container) + for(var/mat_id in materials.materials) + var/datum/material/M = materials.materials[mat_id] + var/mineral_amount = M.amount / MINERAL_MATERIAL_AMOUNT + mineral_name = capitalize(M.name) + if(mineral_amount) + has_minerals = TRUE + msg += "[mineral_name]: [mineral_amount] sheets
    " + + if(!has_minerals) + return + + for(var/obj/machinery/requests_console/D in allConsoles) + if(D.department in src.supply_consoles) + if(supply_consoles[D.department] == null || (mineral_name in supply_consoles[D.department])) + D.createMessage("Ore Redemption Machine", "New Minerals Available!", msg, 1) /obj/machinery/mineral/ore_redemption/process() - if(!panel_open && powered()) //If the machine is partially disassembled and/or depowered, it should not process minerals - var/turf/T = get_step(src, input_dir) - var/i = 0 - if(T) - for(var/obj/item/ore/O in T) - if(i >= ore_pickup_rate) - break - else if(!O || !O.refined_type) - continue - else - process_sheet(O) - i++ - else - var/obj/structure/ore_box/B = locate() in T - if(B) - for(var/obj/item/ore/O in B.contents) - if(i >= ore_pickup_rate) - break - else if(!O || !O.refined_type) - continue - else - process_sheet(O) - i++ + if(panel_open || !powered()) + return + var/atom/input = get_step(src, input_dir) + var/obj/structure/ore_box/OB = locate() in input + if(OB) + input = OB -/obj/machinery/mineral/ore_redemption/attackby(var/obj/item/W, var/mob/user, params) - if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) - updateUsrDialog() - return + for(var/obj/item/ore/O in input) + if(QDELETED(O)) + continue + ore_buffer |= O + O.forceMove(src) + CHECK_TICK + + if(LAZYLEN(ore_buffer)) + message_sent = FALSE + process_ores(ore_buffer) + else if(!message_sent) + send_console_message() + +/obj/machinery/mineral/ore_redemption/attackby(obj/item/W, mob/user, params) if(exchange_parts(user, W)) return - if(panel_open) - if(istype(W, /obj/item/crowbar)) - if(inserted_id) - inserted_id.forceMove(loc) //Prevents deconstructing the ORM from deleting whatever ID was inside it. - empty_content() - default_deconstruction_crowbar(W) - if(ismultitool(W)) - input_dir = turn(input_dir, -90) - output_dir = turn(output_dir, -90) - to_chat(user, "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].") - return if(default_unfasten_wrench(user, W)) return - if(istype(W,/obj/item/card/id)) - if(!powered()) - return - else - var/obj/item/card/id/I = usr.get_active_hand() - if(istype(I) && !istype(inserted_id)) - if(!user.drop_item()) - return - I.forceMove(src) - inserted_id = I - interact(user) - return - ..() + if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) + updateUsrDialog() + return + if(default_deconstruction_crowbar(W)) + return -/obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/ore/O) - if(O.refined_type) - var/obj/item/stack/sheet/M = O.refined_type - points += O.points * point_upgrade - return M - qdel(O)//No refined type? Purge it. - return + if(!powered()) + return + if(istype(W, /obj/item/card/id)) + var/obj/item/card/id/I = user.get_active_hand() + if(istype(I) && !istype(inserted_id)) + if(!user.drop_item()) + return + I.forceMove(src) + inserted_id = I + interact(user) + return + + if(ismultitool(W) && panel_open) + input_dir = turn(input_dir, -90) + output_dir = turn(output_dir, -90) + to_chat(user, "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].") + return + + if(istype(W, /obj/item/disk/design_disk)) + if(user.drop_item()) + W.forceMove(src) + inserted_disk = W + interact(user) + return TRUE + + return ..() /obj/machinery/mineral/ore_redemption/attack_hand(mob/user) if(..()) return interact(user) -/obj/machinery/mineral/ore_redemption/attack_ghost(mob/user) - interact(user) - /obj/machinery/mineral/ore_redemption/interact(mob/user) - user.set_machine(src) + var/dat = "This machine only accepts ore. Gibtonite and Slag are not accepted.

    " + dat += "Current unclaimed points: [points]
    " - var/obj/item/stack/sheet/s - var/dat - - dat += text("This machine only accepts ore. Gibtonite and Slag are not accepted.

    ") - dat += text("Current unclaimed points: [points]
    ") - - if(istype(inserted_id)) - dat += text("You have [inserted_id.mining_points] mining points collected.
    Eject ID.
    ") - dat += text("Claim points.
    ") + if(inserted_id) + dat += "You have [inserted_id.mining_points] mining points collected. Eject ID.
    " + dat += "Claim points.

    " else - dat += text("No ID inserted. Insert ID.
    ") + dat += "No ID inserted. Insert ID.

    " - for(var/O in stack_list) - s = stack_list[O] - if(s.amount > 0) - if(O == stack_list[1]) - dat += "
    " //just looks nicer - dat += text("[capitalize(s.name)]: [s.amount] Release
    ") + GET_COMPONENT(materials, /datum/component/material_container) + for(var/mat_id in materials.materials) + var/datum/material/M = materials.materials[mat_id] + if(M.amount) + var/sheet_amount = M.amount / MINERAL_MATERIAL_AMOUNT + dat += "[capitalize(M.name)]: [sheet_amount] " + if(sheet_amount >= 1) + dat += "Release
    " + else + dat += "Release
    " - var/obj/item/stack/sheet/metalstack - if(/obj/item/stack/sheet/metal in stack_list) - metalstack = stack_list[/obj/item/stack/sheet/metal] + dat += "
    Alloys:
    " - var/obj/item/stack/sheet/glass/glassstack - if(/obj/item/stack/sheet/glass in stack_list) - glassstack = stack_list[/obj/item/stack/sheet/glass] + for(var/v in files.known_designs) + var/datum/design/D = files.known_designs[v] + if(can_smelt_alloy(D)) + dat += "[D.name]: Smelt
    " + else + dat += "[D.name]: Smelt
    " - var/obj/item/stack/sheet/plasmastack - if((/obj/item/stack/sheet/mineral/plasma in stack_list)) - plasmastack = stack_list[/obj/item/stack/sheet/mineral/plasma] + dat += "
    Mineral Value List:
    [get_ore_values()]
    " - var/obj/item/stack/sheet/mineral/titaniumstack - if((/obj/item/stack/sheet/mineral/titanium in stack_list)) - titaniumstack = stack_list[/obj/item/stack/sheet/mineral/titanium] + if(inserted_disk) + dat += "Eject disk
    " + dat += "
    Uploadable designs:
    " - if(metalstack && plasmastack && min(metalstack.amount, plasmastack.amount)) - dat += text("Plasteel Alloy (Metal + Plasma): Smelt
    ") - if(titaniumstack && plasmastack && min(titaniumstack.amount, plasmastack.amount)) - dat += text("Plastitanium Alloy (Titanium + Plasma): Smelt
    ") - if(glassstack && plasmastack && min(glassstack.amount, plasmastack.amount)) - dat += text("Plasma Glass (Glass + Plasma): Smelt
    ") - dat += text("
    Mineral Value List:
    [get_ore_values()]
    ") + if(inserted_disk.blueprint) + var/datum/design/D = inserted_disk.blueprint + if(D.build_type & SMELTER) + dat += "Name: [D.name] Upload to smelter" - var/datum/browser/popup = new(user, "console_stacking_machine", "Ore Redemption Machine", 400, 500) + dat += "

    " + else + dat += "Insert design disk

    " + + var/datum/browser/popup = new(user, "ore_redemption_machine", "Ore Redemption Machine", 400, 500) popup.set_content(dat) popup.open() return @@ -214,63 +273,80 @@ /obj/machinery/mineral/ore_redemption/Topic(href, href_list) if(..()) - return 1 - - if(href_list["choice"]) - if(istype(inserted_id)) - if(href_list["choice"] == "eject") - inserted_id.loc = loc - inserted_id.verb_pickup() - inserted_id = null - if(href_list["choice"] == "claim") - if(access_mining_station in inserted_id.access) - inserted_id.mining_points += points - points = 0 - else - to_chat(usr, "Required access not found.") - else if(href_list["choice"] == "insert") - var/obj/item/card/id/I = usr.get_active_hand() - if(istype(I)) - if(!usr.drop_item()) - return 1 - I.loc = src - inserted_id = I + return + GET_COMPONENT(materials, /datum/component/material_container) + if(href_list["eject_id"]) + usr.put_in_hands(inserted_id) + inserted_id = null + if(href_list["claim"]) + if(inserted_id) + if(req_access_reclaim in inserted_id.access) + inserted_id.mining_points += points + points = 0 else - to_chat(usr, "No valid ID.") + to_chat(usr, "Required access not found.") + else if(href_list["insert_id"]) + var/obj/item/card/id/I = usr.get_active_hand() + if(istype(I)) + if(!usr.drop_item()) + return + I.forceMove(src) + inserted_id = I + else + to_chat(usr, "Not a valid ID!") + if(href_list["eject_disk"]) + if(inserted_disk) + inserted_disk.forceMove(loc) + inserted_disk = null + if(href_list["insert_disk"]) + var/obj/item/disk/design_disk/D = usr.get_active_hand() + if(istype(D)) + if(!usr.drop_item()) + return + D.forceMove(src) + inserted_disk = D + if(href_list["upload"]) + if(inserted_disk && inserted_disk.blueprint) + files.AddDesign2Known(inserted_disk.blueprint) if(href_list["release"]) - if(check_access(inserted_id) || allowed(usr)) //Check the ID inside, otherwise check the user. - if(!(text2path(href_list["release"]) in stack_list)) return - var/obj/item/stack/sheet/inp = stack_list[text2path(href_list["release"])] - var/obj/item/stack/sheet/out = new inp.type() - var/desired = input("How much?", "How much to eject?", 1) as num - out.amount = round(min(desired,50,inp.amount)) - if(out.amount >= 1) - inp.amount -= out.amount - unload_mineral(out) - if(inp.amount < 1) - stack_list -= text2path(href_list["release"]) + if(check_access(inserted_id) || allowed(usr)) //Check the ID inside, otherwise check the user + var/mat_id = href_list["release"] + if(!materials.materials[mat_id]) + return + + var/datum/material/mat = materials.materials[mat_id] + var/stored_amount = mat.amount / MINERAL_MATERIAL_AMOUNT + + if(!stored_amount) + return + + var/desired = input("How many sheets?", "How many sheets to eject?", 1) as null|num + var/sheets_to_remove = round(min(desired,50,stored_amount)) + + var/out = get_step(src, output_dir) + materials.retrieve_sheets(sheets_to_remove, mat_id, out) + else to_chat(usr, "Required access not found.") - if(href_list["alloytype1"] && href_list["alloytype2"] && href_list["alloytypeout"]) - var/alloytype1 = text2path(href_list["alloytype1"]) - var/alloytype2 = text2path(href_list["alloytype2"]) - var/alloytypeout = text2path(href_list["alloytypeout"]) - if(check_access(inserted_id) || allowed(usr)) - if(!(alloytype1 in stack_list)) - return - if(!(alloytype2 in stack_list)) - return - var/obj/item/stack/sheet/stack1 = stack_list[alloytype1] - var/obj/item/stack/sheet/stack2 = stack_list[alloytype2] - var/desired = input("How much?", "How much would you like to smelt?", 1) as num - var/obj/item/stack/sheet/alloyout = new alloytypeout - alloyout.amount = round(min(desired,50,stack1.amount,stack2.amount)) - if(alloyout.amount >= 1) - stack1.amount -= alloyout.amount - stack2.amount -= alloyout.amount - unload_mineral(alloyout) + if(href_list["alloy"]) + var/alloy_id = href_list["alloy"] + var/datum/design/alloy = files.FindDesignByID(alloy_id) + if((check_access(inserted_id) || allowed(usr)) && alloy) + var/desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num + var/smelt_amount = can_smelt_alloy(alloy) + var/amount = round(min(desired,50,smelt_amount)) + materials.use_amount(alloy.materials, amount) + + var/output = new alloy.build_path(src) + if(istype(output, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/mineral/produced_alloy = output + produced_alloy.amount = amount + unload_mineral(produced_alloy) + else + unload_mineral(output) + else to_chat(usr, "Required access not found.") updateUsrDialog() @@ -281,31 +357,16 @@ s.start() if(severity == 1) if(prob(50)) - empty_content() qdel(src) else if(severity == 2) if(prob(25)) - empty_content() qdel(src) -//empty the redemption machine by stacks of at most max_amount (50 at this time) size -/obj/machinery/mineral/ore_redemption/proc/empty_content() - var/obj/item/stack/sheet/s - - for(var/O in stack_list) - s = stack_list[O] - while(s.amount > s.max_amount) - new s.type(loc,s.max_amount) - s.use(s.max_amount) - s.forceMove(loc) - s.layer = initial(s.layer) - s.plane = initial(s.plane) - /obj/machinery/mineral/ore_redemption/power_change() ..() update_icon() if(inserted_id && !powered()) - visible_message("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.") + visible_message("The ID slot indicator light flickers on [src] as it spits out a card before powering down.") inserted_id.forceMove(loc) /obj/machinery/mineral/ore_redemption/update_icon() @@ -313,7 +374,6 @@ icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]-off" - return /**********************Mining Equipment Locker**************************/ diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index 89c7153f018..78b1da7f2a9 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -36,10 +36,12 @@ if(isliving(hit_atom)) blink_mob(hit_atom) qdel(src) + // Blueapce crystal fragments (stops point farming) -/obj/item/ore/bluespace_crystal/fragment - points = 0 - refined_type = null +/obj/item/ore/bluespace_crystal/refined + name = "refined bluespace crystal" + points = 0 + refined_type = null // Artifical bluespace crystal, doesn't give you much research. /obj/item/ore/bluespace_crystal/artificial @@ -53,7 +55,7 @@ // Polycrystals, aka stacks -var/global/list/datum/stack_recipe/bluespace_crystal_recipes = list(new/datum/stack_recipe("Breakdown into bluespace crystal", /obj/item/ore/bluespace_crystal/fragment, 1, one_per_turf = 0, on_floor = 1)) +var/global/list/datum/stack_recipe/bluespace_crystal_recipes = list(new/datum/stack_recipe("Breakdown into bluespace crystal", /obj/item/ore/bluespace_crystal/refined, 1, one_per_turf = 0, on_floor = 1)) /obj/item/stack/sheet/bluespace_crystal name = "bluespace polycrystal" From 80ad012caf985adf84bd0308228827cd68cf07c0 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 25 Apr 2018 19:15:36 -0400 Subject: [PATCH 058/287] fix --- code/game/mecha/mech_fabricator.dm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index d1c2826a5ce..2ff4f478e2d 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -304,8 +304,8 @@ if("parts") left_part += output_parts_list(part_set) left_part += "
    Return" - dat = {" - + dat = {" + [name]

Ejv?qFu{48n-RoYrcvaa413p-{sYe$k?b)l&PMK( z0GIdGm(d@}P#7Pomf9*sv`nyt7?kNazNwj|UYB^Ywh084xoB zrPb?I$;p(<$O6(i9gho|k(@fyEoyS&DG`I&7F_P6M7WDL%k3Gv$`fLP7Wxj1S0X!r z8SjIr;Cv|ToRAodvMxD|dRzrxAwTl24`G3tL%uV=$~uJ!spiT1JA~=-v+<5+(K;nP)WZDF5 ze^NVnf~oJeq;o>wg>+x9AWs-e%aGcpVt5Fx`rRv&$KurY1zpTS@^jJjHi#}3Ekp*{ z!6bAO%MRu|IGc3nJ1aT(&w+8liVqibl8hB-yKd$=cXT%4LzjDpuz|0gDmMEdpnhjp zSB#Hev?~h$RqxlZTecZIh%9Ldka$t(IL^Kd09dLMjqQ@>KjgfSdB{G|CdiFo_CA37 zPqU_^ETqR3lb&Ba%-2fVC*eP%WAC9ewL+J-~F5R`NEtdu&C1cegtU`$S+vXH8IgGa3IvmY?`HAHc|6F~VFL!~RVEul%2uxuU(C;r^`v$Rzw+IWL32 zKSR>{{~43-)!(Hp!Tj4r$rG9-3>`1{&a{fSx(M66WMfB6><&9-VG4ap0qct&L&875 z$1+=5UYscPbLT0rL}|;Ca({#k7-n}?JAX(0rRpnTM#6YxHD@>pY55=RFaz*1EzE=k z)_*wXpg1L`ojZ|RH~&=R;z(YBwO6%r%BI?T7_f_|1A7CsVdO6B1sx(-rq0Adbe6!G zlpxtyYcXnSuUVPS1c#6@{OiB~Lc#6Pi&1g#g0zbz?(M`^!ADvC_RAm{-guKwMh5|K zw)BQA7NpKa=O>;X^+lOp&PwHaaIb$HSb&;Q zKOJ!$?OlI%i_!N(oFgpG!*oJ>N&Pjl|4%IdzM~~Wo*Z~4=RJg_AMy`7vMlgB1h(xJ zo{#@apSExds3C5k55lz26@YZq>g#&O4x>GNUE~eXfZ{8kYTqQX26skQ*A>a%b#ykI zu3p`SZBb>ve2-Y}muY?*Ma-;03@Bw3^Klht>JufMB{I-ZP{(q4c&lOM z@=&U2Q7jeI{*Lz*i>ra$GZa-%XhQrN}${PNx+x~%R-eHkjQ*awTbWpIDOd?>2> zmDV++10!Uw=N-ZUZ~OMec(B;8wmeG>8NjcJ^)&bPAUaA$DY)V{E9TRRvtmc=<%F&& z=PRH}mbtT(9_TALfJ~pt=zm?Q|2~XahFaA^*70wVTkW{)e0b_q zp>39xw>V&byeG)qz#tIw>EC7)Xx9T8TFzRxa`hnVfD3ed8#5$B9@QuO{`ae3>4l-r zWU(PfS(e%$U@*z=nX22gAZ;6>btd_?y@5CS#l6A3Sb_WiCs$B?e<>ZK8jcz|0pb^% z>R{7Mg@a2_5Dzzrr4%pWq5MMxht1`|${~{j}NXV)_l>6<7QVd(j%=pMc|4^)*dEySwtRGj?K=8q)rvTlU!N}C0sPMhby-Yf@U`&pV@3d^!(&% z3O#d%a7lgaUD7RMg;Yv68g%KYyt#|Eso}ve|M+YCV2)kr<6ZOs;B(MCD{i;x)#pPW z*T#p!!0XyrhqQWk3l`5*URAQh_f;PE|B)Rt6yMPCm!&m8>NdkUW7@w_xO`y@rwv4I>!y%xeWx-p)E#;w- z?t|@zkw}h`K&4-S*Kfp0Rk;if=Ayq{Mny><^%{5Sv{X$)X`DLdmE=xgW@Gb^vp9|+ zjp8_6yUz&VFFJ=EL+tuInn=Vk0YJ&ofz3^Zk7R480yIipui&Cajh>_`NYDtWT4qsw zP==mfnjEae&_>4MYe|d><4UTo(qH+33dIGUUm38=n^Jh1)rF0;*^^!_7+iU<&8)iJ zXSj5l^>s%=d_6=S%h5Mf4RjuquPI=F|7B|Dv4s=!_kOjBJ~i#SP$)UN>I3X%W$>p; zaiKDAlEh?m^@TW}S>gS`3RNv76_ zEq{2j0L&@%=F^;Dhe-QmoR*oVZB`3M*Hs_a#o;-K{h=Uo!4s>N7yO{SYCyB=$Gd%?r3r zBWz={!I^LdV{#g=#>zht<(&aV7TQm;MDUO{^M|#_^fL{_BFY7SxNNf<&)~~Iw|i2J zb&O$nRv{Au-OZWnhY<26P&{Q?8{w(`RF-3{y3 zKcU3^T8Q(Pk3pY94>GT_psfikG!TJ>YkXrt(y&jzANvLbH#*OVkq+D*u?Ir6uytRq z3l=Wp^xF`3>o3e>3%Z)b)Qia77RRu5gtxOrZ3Sr#*OYQUCq^?bfnM=JHaGpcL48(2 z?s`FY2wfg0!ciXn9<{v|74Cm|+o8;3-r~!NmZftZF;BCR`Pgp??L%^xm!u6jcJRcN z4w*e&HT2R(F6_%scBaBu%(J(FpM;;0%l$fc@;cc2ft+1`ZP1!RWxcnpD+8q(%t* zczW@5!GUr<(#~e{X~H=OkJI?o;&TV>r==P4)Af7h z>AsLwjQrht0V5FV9X{hupJ7!#b869JAoU6qG+nPZ|6S@QE&MMbYfByX*VapguN5^^ z--QXh>Zd9H%f@cB$mk+)S?osy2zIxA5euSVgID+d+mum;H$<^uPq>rP1=$xP6W6R5I*D8aaOKRI;cJD=H>}Nz<5$4Wg+^ z93*FMRC3f`vZzC-LlSEg<-O$1%2EIA(bUNmS&nVj6UZ@rurWtT)(iMVT%|=XsNKl^ zb2GCL^M`q%xUC&NECXILkqb}KS6qCpdW;l*x|}yUiLarC@@CX2l02EnY%uVlR!aB@ z3WH@*Rg!dUlId1=BQzy!h&c=+7%9@OKiIL?tKc)VU~{)C)?^EmBu4qaThh?!M-4 zJx&JtLh0W*yD#K8NRK0hss44j(htWYSqD&l+%u=*tpo@!Vz8K(_1ZOIILiuW!QV#& z&vNvwuR(Z7t6==z0A6xC%2*hDNKw5%;=eB37Zi!@!T<6hftsdS6IjK%w<*Ru^8j=0 zptC2KU@tPm$O7l%tsDJ&P)d1Dop|N$I~H*Ia2BLvcn;pmK_d4%etIKb0~*FgXXwtA zQGI?l1|YA4)ZSH_x9VV&DHC~j_II3xzoU6#yfxgyi*Xt!w8V@ zAF#}vdeN)@JX?z8-(aRdF?sl7HfX=5OF3WQjn8@V&+-kAb%3}mFNM=*>*P@KGen)c zP16?rzMMHJhJ#{()R5WQIj*M;^Ti09D%ZkRwcrifZDq>aft=nSt6X-kXcaTx$_Uh2 zXJg6{E=sAO0Jl?)c6zy3dLJSI62kE>H+L9vFh2FiFH7&_^UU6#-W3Q&pl?r`&QG)I z&qx5#N&yr+PI1|sP~)Fq4o(SnD7?69RnhpZIt{bePl>$dTMDFCdOF`z%V7UQ81dZi z{Jr5azRv9PPCjq`Y^0s@Xvj)#G=h>x$Ni3XgIP48wLAT4!X$~?7Gd&xwt%(8`7_Pr zGnhL2#s!NfWqr9}nm3aJ7bK9Zfa)hLK-D~f;C|J~W$zEghs6uIAmV%1U$D`G8kH{w zH}~|-839b)wGU{M5T*a{@a-Ov#>2>y03dnbl9DEkt^POqw1iX!Lcr{;0O?D=^8z$nhAWGY`F`x?KfshZ<;12(b3$M{ zFPGmN*-|y^+iH3zJ1=tM+$`z4_>&lGBr$6t63WYi{%bWqZx=BI4>MjjHAa!KQ>MS6 z*c9hh8)?vZ zeu=m_?u7`0pnS0YeNJKd3PsXnLjDcvQ+pci&Ssqo*I_|JyhMIbqHS5vjFp=aR zvVRnWYBX6`Q@=8&T2`d8MH%rIqJ|n`&+Ey?r);|_x^!qOYLKVWa4+b6pK60a;m2>J z?oQ=9OHoa1vvT)dka8ZCs*_B#a;X}8kB8;5y!7@M{r$Od48I9Q3Y(0r-yW}BFH{nj zjTjrimV?71NgX!&o8D!;zX?6mEcgU3zvKtzYdiD!mszs`Ty*`f<}8PPmYLtG~Jqi}5c5vv;!^jm~#kezfh*YYGX!i3H(vVSzEqL!B(6C*BJdJ&rmCQu!^DTi^K(Imut7lZ-+zE>OOqXiG!f{ zy>bJ#q3#wUAk%k139h9`cRKxD$Izj>QA+GDVOYZWRc5nN!CRQja)TW%jKqrC<7?;f zvHDv#_C8iQ*=)i^b)Ss)KlxrCFOr!otVsh@gF8`|CL|{PE)q{*{#Amt7;ql*lvmX( zNR=O;{%X8kX)kH0yBYE4K-v&1zZn@o@ZM650U!zf;4|+Rnbv#f2z=dTAp@@vMalh! z`6d~uCcBdSDEXunFh)UEYapd!oMqI_FrCsGLG1E3zYLqa0X=pe7K+qA7?cA1o36E~ z{vIyiG&hmH5wBMdn{9P7X95q%Lhl}%3_z7*(zAyc@cmUYz59c z)`uT}=07Qm?(xs!0*~dKn@~>wQc(z@7JeY_Vb%C;IV)$T9x!H3Ry+Q)tah#4Z%X`n z|5s=T_J!@Lnj9NmaWjK*?i!ym$XV@L94+ZmJC><8$H5i8$Udd7FZR~5=uXM=@K zP$*=WlM3Rj2<7Hp?s?|OdghKv-{I%wjK%xhWJ+D+D>~YpyBpx1?h-=1+QEYqJ`wqa zU^GP*Fb=4KnT-oV6umAfrHW~ywDqWkw&r1TdA30v9vJ)`iSQ{Pwvj$eoI@i(ff7^q zKuc>0rPhQukI~ta3%g8Ig&YN(!|m!c!*#P&o57Ao{b5qJWbIE>==Di1jC9gweIvx! z@eqTkBCe?q!X0>tbi^eLkInWB*=@Bi^}V!eXOP=+*B%Gfx zVJN%MKBKD6?%VegN6l?hs;d?S(>^_A(+Y<_%G@&Z+`y6W9p&>zlgwHNp1|FEBuE+h zGn0SQvh~ONCWppUh`O(RDLHq3wbR(?op&CPS$kIEd7f1m{wRtLK}#@STXnYk>6nzB zcDTUN6Yw-P9fa_8fwW%45H__3>_8X!Z)z2IfU)&TPrky7(@%@n@LqXfaI@YFD6JEB z>>TE+HXH6XkekxQMzyvd;TIDlLlJ@FKE-%eJcH|*f87CrIN@!V)}NFd{4WZ)!Q&*W zZKY9<7cieRCH69EWKEBdA#H}Le&-jv* zyf%&Y6;rSC=Jy`u#lHf{$iMyg`^b>v)r^gxEv0$@gFh97kg>7hK?0VuEeaI)1NpPJ z{QHqXrTIN9J&nPZ(A2~m6%36|YY`USW5ME(Jm#5h)UfYkZ24uzpC@69@W8AUyf%Ij zS;B!{S6!=hoeJdIsX>;VVAovtj}?hATHS^eUWzT4L&< zZoj4xa-(}$6lbXTZHofwlV;;LP_n@6Qsv9Y#_jCbs%?16*LyHl#(dc?N29Vq_3r86 z9Xt$=5-*3s=LiV-c;?5tPErg$T`Iklh-! zj9^%G!v(eGMnJ+~6t~>dpO<_FT6;drJ&qz%Fb_PIU(UuHRlz8VJ9;E-wjFw9x)ymZ z#7Z*>ekFQIfDb4gf%3iwqy;_AJ=1$0pXDA?dQbG`*5pCsG|$Koj0zJ0%1E{5*(3vR zD3lbrI1KgdC2|?*DRCOTl-PLbjpuD+*%GslDm}l2u#1~+8w178k;vN14o44zc?nl{ zIDTrlpYv7*{G58#B=zgyom;G(58)5{EnuuHY%r`Tp_8Pw68>|g+I3}Ps-Pc&aou~Z z<6vm`Gy1nH)Pqv%?}f$)H((SKkZ3-Fd^IKw#ieDF zX%0%Jl$>JlFekH=Y54`Ex6;G^xP;G@w2K233B22fQlx)d^13aL0qq1~DQm zM~Q|CE7+3&w5o{8{NbYiz-OBe1q1E)ym}u(>659dQAv(_5r^=J z@UlEGmAHvNu`QFM_V`y^C8dHLu$LK<^-3+7_Hl4WljU3Jn51YT4-y-9Ic#&sj=5+9 zXsl@+9)ul<(UVcoBh0zc0gJ)o+o#a1b)nUfXfDl>X5B`t#$VteXV*mZx3{y4-rh{#T~;^w=6X{<$LzC=YgVDG5r-rojj-{-hwJR>rXqRfs|7JD+&2?J>D z&hW1~Mhm>+1xjhk3P1L`!Y$MW^}esafrD%Je4kI1@E|5L;QM*QB?yJVi(T%rIKs+M zXZ@D=Rvo*s*DAje#G(0woCzL?+${m$D-&J~NC81P|4pCs@C(t4pQVU}S%;+f7Vc z<Dad2>9}Jj9d>M6 z=bdl7d*2xE&;GZo)|_kY+DldSXD#~Ec`D>D=h5{CiW2d^o%oAA)Tj4~_qH-S|4IuNoSNG;KrN^C%hVSXcKYn2NPS2qC%I{Xfdp3J}EHFJaU&9K!0Au zcbRAHRD2s~)GAk%MZOU#|ydT%G z#pj)GUSGocAm(!l)2~OPKOM)Jv_Ka1yMb{l0Ax`GF&H}>)eUo*J6PH3w6}?&6z#JfDa=h00HbR zweHJ*=-Z!$&QA*^nm*fUI4^X`TS`uUz!(B>S z4W+IiXuloJ!Vj(-Ph}MHc!Pado1HfRQS`P6C)Lvs^K*|WNud3Hrc|!Dgp3l6Y3{st zs1pVAXb$|F7IHFv2bwBmBAI;0Gs9jy@zZ)swH6jAd_rmv`gND1y?EF0W=+@e; zgmz#LmimX-siJ*9ESSH|pIeLWJo9t3{so}xXy}7B z@7{*ll@PB@k=psOR3Pwv3Et-H?ZGq&I=TN3<`K|7q3(Ed0XmO%91qpQn{Rkjgsb8E)P4J&Ma5e0gLPxFktFOa9 z=BGq4dFF<4qBmCgSjs2Y3I!(bk+*9XPW%YI4%Q**pzFAM&&*$^^AiPt@-Lg5Btrk& z3jj)gq#4f#vQejPw^}iQ-4wO)({k_aLd*Zam<2xX7WWuIf&tfZzF4w&4aOG&E`BFy ze#$ydW=KZbJAzgk`1U94p$F`3p30M~>f|3)>=Xn6s#+G=sRB-PWYEy8(F_|o&I z6r`BMM54(P6>I|4(-9VKVFVU(Y=wWPl&n&4q9Dm&niavxnQkSJ=k23@py15wmkk`r zpLzxTf{xZe)ga>`WK)}v)V(NopQOZGM`y##frKX)14|x(Q5dF-Wy}^y38N_bMGJY! zMnaFy>xiGMqu?%y=>9XzNd_)83`ZlY!_)Dr268weQelQ7Ryqkfa>{`hDr^YVb>twc z(Nx~)E;)8o51ta_dqA)_24^|CNuaA}nq|@@BZerN3MEv+iBm~-(hgQ)*G7U0`u*l()i-=yc?DL53q z(x8+QqR@d0-L zRaEc{As8G+P>%s=Onb<-FF*dG^H+RE#u6$^Ucq}y58o;fr>5R;nss0PyZ!9HmFNEQ zGRpztq!t)LP)0HU=L*M$kI%$8fJ6)y9K{mv}sr%^-9Y8E4WS3Zj=ij7-SH z!n-f6FPXAZXiJl{Sqzzs)@lMdP$ctDvjPA_ZV#tX+|={$ekuRKeGdAYNZ)pnS5be! zwoc}ijj%kRSk``GL}9(^@3#HzYq9Z``niZCCB7^%n?8s=f1p{Q*Lcr zTiGq}Mc&%OlbJ~OdLWyY;d?*=?hl$3p#=RMeGp&(s3RcaV++g1PU(ZFQ5?+6~2t5t-g0t&_?hYLS>>2Y6^QjJ9}FS#4(pd@2XYEboEHt)(vg&diJNe!0OP zldun7OQY#j^Zd#_oeBx5Jql8f&MlRUXX0+2v((3VyTXL{fQ66{8M+K1tdRM=k~?Zk z)z-HEER=B3dAqudGQ6MUqrz;tjVS?F7i5|TE6;MRtrs>TGw?`l*X#$zpm2?v@!N;) z*(8%oC0hzZ4rY}wFnlp1T2VFysxXK&lq6Xs3~CQ*JSj;bNCkA~JiY^l4(j?aD!jNW ziys^XLwOc73r6$AFnBvE?AlK`KtRX(h>rxxHz;T*Nivaik_mJTQj8WTDk%js_X#Ln zv|1XjF-Zc)W)pq0Uoa^S-(*t?wX#Y0Dda+eEJ5uBStk}G3Tz5IrY&^dcAY?H{T19@ zJZGWQ3AS|=6Lymjhgiln3k;G;iI^l=R>Cw23pL!&XtgX+3X)W$SchRs1XJD_L4rur z4Hd_73tcf7w1p_Nbm;D1QFss$q$e$tyU0?YP(vX1GobbwGbb+Py`3gu&iwZWw&OWc5J(2{qb~k$QGKk~5O)&3)8;Uu(ftDm_83^1*XV zDp$&2ETzTPgFhC6KLNF%AfTI_7P3}bYaG=2tJ{zpup(q#C~S8$RG@B@N{eN-MYsb6 z<{x0hm3hbj0p z6I&y#iwM{R7hlTAX6)u!i7+aL@X^9wFYU|RdN%(72Z2HQ56s&fTD$kg5MI0B-tT{* zT;+^Hr@9NN)qSRHSb{)^x))pY0pB+4NWCYwnB3@QOKPt-B7PN!HhPTvOg*?uJjE{I zc`zbMOhNoT-cz9qpm~CDuA7un?T>MQ>)vsiWzwU9YM6(Y0VGLC!z})gB`+VC$$LZp z53Vs!(sSn^V6s4T&&!}6a0+FcA6+sJUe9y8?A?1f3CTYf)HS#8y)v~Q>Us%Bt+z(k z5}`=x67eOmkeuMq5v9UxgM8oR#YC{2k*E`+tdA5nHXplnuVV3KxrUR#F4`p~Hyk7` zpoZVG5Z`XKfE92$33urh5CXt`2lBYVeaM3tmjyAdwVF+|otyK*Yl(Z1ctbq8dVJ`j zn*am0_EobnbF{`}ahi@98d&~ru-*`$ctgPjk`^iOW}E1{2a)9DjKJ1dXf>9X+DItG z_e-T40G!>aXl1I@AU|i!cW3gN&0rO4i@6^R`V>XvxlrXhSyf6daguVHQU?-*|LHn!vvWkzw@Gt(}`>Sc1FZXkNq3vr8zv5(Xieo*~VMP*BJ+RX#yO~b$LxUo7qr= zZXklAwVRICeuXtcCV=s#Km1v5UgpdRaqv=EL$0V4Vrk)3d`%w zZsYT61kjFVgvwpPc2z)LMh3f3h}B;RBU-Ksqr!SWl#}ldx(2^Ji<`&lGC4RDIIRZfn?7ND7hDb54}Z;*WE$IV+%B z^Wi7QYX;ycN4Fq`W$x~dqW0^_4vJrM+ymrAfX~BJmhJ8*g1l9pK z0izyP9tXzkcRqQ2L&)c`3CcKoKj%zJOkpgn#}X4riE<`x<0t>wep%POd5wX7>455w zTCJY5o%v@+cXjpM*h< zhtGyd?<#h8K%Moq4YHtGgaA_wQ_0$A4^*ahXH-6ckD~|!MC)w1~yjH=o zRU4xGpt}ZPxtz~*i^(kzA<~~#D-|z_H$ZkM{-LDvl**3@9tnL^J6m*OKrP|>6MJ;= z)=%j(M4lfokEo>`^#JIGfM>J^DD^q)2U{d(W8pQMEb#U9+Y-j8F)CMob2NeJAFXFQ z(Eo8^C#_v$$O&y&=M=b`;UG7lULGQkNboUYBewvg+@&Y*=09*;PpkSvr%rXU>Ub9QGV22 z!+=cA=lw(mzU>{O@Eyn|{zk9d-NDri2*M94p&WFR(E%2|&0{HV0+mg6z9`To{m?&9 zsv{D&yT6orpA0bt2gM$sD{Mdn2>vetl2KzRJpHPn6v5b`Dt&F>|BZs9hD4Ho_O;JZdua7x_h3Z`3aZNYXv=20N~I2cF`s*Wx#I z8h?A}L8po-KR)}ywzWef7|5%qQrOACaCT8n%Ria81wqmD8Q$N>qyhRexZWE`^skC1 zIxg;V3cmW~ZwkUqtkDm;#pnQR7{!W_dU$*LiDhOxUl!<+!R!Y>E)ecQ>a5UylMImk zb`DAnA&$=^5O<*^qK$EP|Fh)+sa+Q2A_;py8P*t57S(7T!8)rj?JdkZ`nY&z z=x#?JAVVhrR`b#X~!DTrNTeg_Rg?yiX zLM~TX+ z2)y%_t~X9ug>9I^0e_~Sh`+K|BctE0XG*L1v~HK9qVcGihs=RW{JXOD&ZuVX=@wpl*vlh*0r?<$~FZeZX>;Duiu z4w%aQOW)cVq#Rbm%CpctHL$e7$g}+ZEv;@YgPJ99M$U7PGhX|V8QcL;GeE_io)obBj3!4h>r# z)#K%cubJ|eDPUI%2w2fd=OE+8S9<8|8JMiix@U;5bODak*Q&bt=cU1?o^c2ORH4QC ziHMTxv%#vm;}h}0ZT_)KulHFNz+oN`0^CscGhDVR%A8^z8SR#;hR2GY@PfhkurBiL z`%inpqtIDCi*KNId*ij|zxZG&s`sExiUFyr%{HOm)xJa7nuEjG8 z4PQ#{yt}~7wb}eqHT&FSXs2eM-{{{8Ia(cZMEgn{;~1h*Ab|mJoPGbP%k|N|I;+=_ zEr{mQmM@IT+;i_0c!PVl6M2hiEx-ZbDB&6eVpR0i7XWG3bUG5NLl%b*_yxaxVHf%a zBqbadfZ;Iw<`1pw6qD%eOZgGr~=vL-znLL*TCkvP9L*_S(z)ae#fMBOJbJ2J5yW&IHyI+7N^& zRRl@M1fm=TQ9J_Kh8B$>iy8q{8=vAlHT!rg3Al-96pjQsJ7kc!WjjTLUCm9mVJYhP zlOG*YUt4v7GK4EYC(0yZ1W}&FVbFn199(9NOP?*2GS&R|k&Xfx7F!CVlz}N+&TeCn zh5Ro{g?0vTNca&!bPH$`vj}n2ou#+aYpCp?@8Pt%5tDDgb-#O(zJ|M*=lk4y{p~vJ zy1Kfur~W@^o;q)BDygQjis*z-veR10ewW*l_v z9Dih7>*n7J%%W*Q%@?PiyB5i#+R2Okhu&F zgF$1V$7cxeqQBc)tS)Mg8+wrmcVpYe3(SIUOB{>7J6dg}|MADZ>&uwvcs#$a^^woV z``NAwkT@Oyn;a2-X31Fpxr^;RHYVJWq{Z{c$3(;{o*V-r>IM1HOSJemyQHl{hyHA`yq|r#8N4*I1nV1rTKiUU1`uB4B)5 zkck}Vsk)8yYTOgk>3~MwA(DOj_so^@FZ1#w!NAQ@A7%5)6qzXKxIb+3NwD+ZJs{>} zG@>T=8AERLr`N!v#-)*rRD#fpsORS0`-ytZV@M%lrUc!+U$zk2?;`TgrHFF8`n!+W z&`&A(aw#)mvY!0N{t81HhXX(0V~@bwDm@8yfL~n!zR=Rai^ZQSYdJRe%RchO#J)CG@54TXg(vqH zfTP{VKjW6Y-%%d=8Llr+)D)jL*mx5+lf`~gOkHkLAP&%wiLws6nCsFu`muiu9RsT? zfYMmSg4RPi_gC~v%U9tR2PdJcP5W4q1wR)Megn)pA6hkzFv=4RCW^=*mm(6Fo4;nW zKl8t|$LlMO59|4@52T;J5NzY2xOxxoF%GAd3m%^bDuJ{<-d?27*R%)yp_H~dWxngm zoll`V{|Jc(u8|6Xuu|h+jAK-hAg$B4dTh87ZD>9`2>V668Gm~{e0%x}#_exIK1MA( zdSy*zdGfbHx}4Zg-TdZHrld{2>c--~qw-PWdef2cNu7>ESLB_q-csVg;$%eSfm*{% zgY|jH4&$Lg$i$n?%&XLme(n*Zf&t=rMI>$BYqUc1=^kbt%^vKOi83pq1@fk14YbYS3@tYpj1s^Bd_GO%Iy!hMA=Ec3Q zwa2>Dr@$zIUjEGYXOd^aO$H=-4d#uJHe&w-ke280MSv*rNuOL}R1InG$jEl*T$AQK zdd+^0u(n=nFEhe{@ozu`qR;ckr03HOd-lznqGKK*UDIcF<%zkrP>^QpY!QuoY()R& zBQMHCt`C=Pdz`HPrn;wOK8*|@#|?b7&NL+CQUsFcJOK>7ujI)(0-SNV{e?*QIba zwwkO74;^!fPLiTBde|&%dxEZ?MM6nZNUWyJP9;C z=(+|RYB(CxNIhM?h!X*y>;it6;r6f|$KY4s7;P7M7c(Rh8x8)tDFU$&2{5|g&T#Da zvv`2?!`=1_;&$8_1aXiGTBj?pF5VX(>yl%+uT4KQa{r75)UIvrHhT$9FYcW}n(|Ub{;UXa*+W=KHtLwC{WZKpdEYIM|sSwSeaDKeL$CL`n7ttZFiwoV26j z)LX#C?S5bdalk!Z{rt)N9|z2J`{Ec*pSGBph76-uZ&PJC4?P9xXNM>W0?(ho&;O+W zlL+W3zmwY=+k{Vi5QCqC$UM+mF_3;N0z6&{G+#dwBrhR8G56LdcK-XtlLPo%0YTqF zc=|kjdm10fd47Bt08)JJjPMHuUgOIEcmDkfPQ3eAWJg~{k?TCspVpIsCiyvobM4w)vrvBp zkQao>-eURP4Fu`khVZ(;<$Pd(1c_JtKS(!JpI4q$MqdZxKXw`lsxJ{n#`_5eruKL8 z7r3dmv~%{_z7v38y@Qrr zgp8}DMPT5Hv#r{?cP%$?*84sZ`7R+*_!(vaxJAHoGbsRcCsX~b42yl5&n7Yf{b2m} zLQrzs#k(tj@XA}RqAyDs8C8Hw-J@&asf9f2k&w4bs??6!05Snk`aLXUX9${so?OFylW zSaRl_4qN-E;r3GDsw97AAdZSrDIq*|(vYy0lIcjeA%+J@Hfm+Z_RUZwnD0GQVok{x zVj$?6Wog?0+b<7;bKy9oDE4)5Pat6MUE+$1{%cWP!5<(||ETn@g3lT`ukYEaJJ`~pR{ zclceo`|-BkZNUyQn1`4HkAV3&o82a+jbP^Y{6PM`qNBDYdET8k&g;OMGvQCLpoRVv z1tZTO`34|ytSgfFY9gM~YaVc-{+9G}DWkGtfNP{gIow*PY4l@6T(N#L5Wk?)(x3IW z$!y2xkHP4Yxfw71nY5;}3p`|@1xAX_vjuUCyz~mfWS5jLpt2!g*2)J+xaB_aau&Gt zetP_$RN5~ivmdv^yDQg>Ha*8)U)E`n;8br?1N})meOVyEj4Ixgfmk5HNK!M~x*pyl zvG?(O-`)q-IQ!Lv+blakR7Jd0dp$jHFD-&@l+^_uPk(jog1%yL0)Goi7qbuHOFmlW zc_15TW>&DeV*Z$0lwH^WdY9< z2bMXY83RB}2!4M0dB)>|NRU1(9%#Yy+e_M& zZ}iT}a-Bi`WTu86HDczIrI%#K$=asUtM2LzrFy2Df{%}Ggktf)X0w|n==z_z1zG&b z2!V9@zGD-cGgrqdy&_EMDYBojW-u69TIefQWM#Nx?iD8WDg;Eg(GGJdwOI6|Prfv4 zQ)7RUtCOkU)Op{I1igHMT-CYLWSWK#yxA~GV2XK)ze}r4N-T&)4eu>V6sMF?RTl^Q zVBd5}$BIbDfBzW;-845z2lg>onZ>YW*C`mxr6JSAslrNkK(8t%ycRqoM-ZHkY}RG0d%1PcdL%`EF?|;5V_`n^& zhFsc}Wrp!wC?FaUi2FT}#6A%A^T^KxPseZMV9mp$Cn=#g`Y-<2=`EWXZ-d4E_5vhu zdEEyq8-vFPy{~)xevCDzmP?~RgQ}QAZ$;7&T?GsHwJ0$$FNy!_Kg<4w-*pLwG5r;4 zKJc_I?lSr|kV50gI+;uKG3mkfVI8rT%&U9PA0BuwNS{@1a*4TUzRGwZ;abe~R)Brh zGs7A{;K(O*bBZ9+FmEkvA9jvS4N+1vFzLI0omLp|>nru)d5L!p_}T(M_9pKj1Yrc& zT&xOhcu?eaeN|*xmR10VD&_!wXb%H6s_L-{;U&{t#4oKu)galIL9(Z^&oA#l!(oQU z6l(6u&ea3~z%Qufp8j*T3;wV0jV5oxe;7i2ZIVUa!_;m#hZZL!JpJa*xra=mrq4gy&TMoQ9jSs8* zwb$6Rqp(4)lfkPhT9nPui)e_|&m(TCCu`@W!HeS%sgl9d^4{KuXDOIJw27NvxY_u* zCHJX;Zv|p@t7!SJ6i4_yrso6i)a57!oUG~jtBv=o2;?K%NNkQB^Iv;X$X5}E^r&9{ zW~A6Yw!+(&7mfd5@HZ55tXec0N}^aP1e|vYxXik)V{FZO47^&98}-n5$jo$nQYt03 zEDhX^Uk=dz2!+lo`2HZwN!@lX_b*$yo^xkSaA*baj9HFS`!h=pn{j$Cepsf-t4v|T zxa@O875R#($zPJ;>NjM(#S1KgV@<_C7_}#|`p6#B-kq-qbG^PJjl-i z?sxfIBI_#PFY*rHitL*(Q`9E#D3k2w$^a~uDpuxpdl7%z3mKg`%NbqIM3;2Fm8F<^`J@`<_I=zGE|1~A zef*-zbF7)Mkc(>60mmd3U_#hqQ%?2^p#ygjvKjL!?=#m+tF?$yFM%9%%kF62mTI2R ztFISRi};P#EaTqpFhMqN=3xz7Ck*9hQwhlE8rraU{!x?dE4Bt;7T}5&_y=*`{uxHU z{Yi``*-d|ANq{t|g;1N~nT_R)Lb{{~#VQl7V+bL%+v5^RxFWs$mVCY{SrYF#G!{7Ybss8mK(^hen zO3KN=E%3>PVrWb%zvo_f{MUQ`ME1Ch#M&A$e<7w>*D*4d9$UMup+?+tFgH{ad~FGh}Qn@ZJs( zJyKQyG!*=t{o#EK?+Lt=0$HAP=TYiT5vL#ztJ{9avbTT9qD;hn^6^!i#csfeVcE_? zG9j?Vc`qdgU^Tc7YmZOY)%Y!Zm_3ufoK2Y>&M2MC`_fza2oeXTeP2o1% zE@KWDB3tUW?AYO`c@2j1sI0q)W3j;t=hwV1I-nc%aE3#}RZ6_6$8?sZCI(1PLc8>M zG0jEe5ce%vN-~PIXj({@CKgKJuc#L7!Wl`UDI^Q-d2M6`s94h7+da)&(p{BD5^y*gChuGlNm|T!GS;AW$yz+xKV&tZcDD@SU!YF9=8;pFsz_%ja==B5{p z3`15<^qBW-+m93p{eDvRb0W)!XR0iIwY<&;b7R4sOTWH((C{BJ{nwdSde86I&JMn- z#Z1W3XVmTjC|>!CDT z%ayGZz?u4ov>irf;02O;!MOoQE-&&|A=}a+4z50W;k=#fTBJ;f=H{SvxjD!^cctVh zF`~5M8;fvi6crs(jCuyXj7>$AJ*???!+15#P(PI znvn-q1DV;&wt$7bZcd0 z0R3840k*;dkrH?0WliYy`C(AWr0b!~X^F(e|S!5LhFZ|ZeV#jtywu^PLl5E8s3>LB=LxHid8E(m%sMvnHkR7k7f zPd~&512jVdIzow-%VzH}t{u12Eby0uRN;+m@SDT{ealMX?QUS?vHRuAe}M+>U(Q-_ z`5eeqS%^|6vMBVY)OU9 z0oxp&#HrSh>^$wu1H8bT9uI#Lj^Z$P@sQyi_n)SU2-AsLy_!$@7~Dvcs=DU$5hRPm zf)ArYLKhlwk=@|&r@m&2&&H3X=K}viG{c?J_b!i?tc?cHUT$x=noJ<x%fya?4;wlA7!%*3!GRKGk!m#3gkm5Y z#)46!`$QiWJAZAT>gWwibba!D8Ld9g%+6}_W|TJpY#-gk-^+(?im?c3B#P9)#0W_r zS(fE0l85MpUen_ep0W2j?j*GI?>yH6{5C!Ru0H*2-+1wq-`J)}JFSoq z4j~_Jx*WU8*9(&8XZ(tclj{nrN~4@6)8Zp9L(Fsiv*b+J{f=b#;O4Jsh)Slx*u|4K zZ-Ryn2OS;2xh~SR%lQDC8SgTppaCQ5*3wySwm74+44Mca| z$i}U3_U-Z`oaPOUIuvA@JlQ9vcpZhFaN~aK1}hg=#vGwBM)&;@mI}n1A0Q#9^%>Fx z9OdBGcNRFF-IL+rFuw_}ioWakppYva!-oqfk?Z#_V&V}RUB90^r{v#%9O&lk641d+ zBP{5}w=O6X=yDuP5%Mdnk`XddeMCXdR+1!FMqxEe~q*fi*iFr_r&&~qmq@X=Z|%4-01)NV6>{> zvkO(>lFHc7_{)P-IZSHu!}*szRnrogxY=Cx_$2G8jqCXx-`>M8n8!*KMwf@r)=y*! zEi-cuNfDSk5+97CAM{mv;N(O_jmbFXG+q$uKGKAS!TnabtF4zfG>DY4Z89OAUn>bP zCb)mtB+FHiA%$BOZp2#b*YzD4QR~FWV{uW74&qKxM2}BB*{p{XSDn+vTU>@VUkTln ztpwuWlSrt=<~4kswPyF_=0K+iW)@h1|FFkF;?B+!=KMxPjK}%cP&OPChe*%Q!h`cK zU;8s|(}hkat!05XXdo!(Tk<`3sLkeTGjFvOkyVz1SK)CWZ@PP%5+qQoG>S$^RBAGu z$D%g-kdNh-AVp#Ja#mMEHSBTjsvNAa{E@$YUw5;|;e^nFB99o4@dR!PHf+IFc3A^Z*)HvXwFIU>m3|?;Xbm}0ZB&|BuO&sx*8a-JDf-vxqs`~}{TgY@_kVeO z{oPJkTJ6VM@1N;5HCv5(zaJY+(cQo1WeSBwn}3oy*7WZW4pbgqA;+P{MzO-Ej=)A1 z|MiH}t(Iusq?sOOxrA4^;R(r5)hhDM{iQln?CejwAL@+Z7Mu{mT}T%++?1u3%A?r& zT^HS)1IK2k%gmmddHD0sMeJ<(@kjKD6Qd9QjjH_b$e+T#h5`eT%y=!ba~6$s-p;Mr zH4#BJzpz5eu~N$=jAXt{8@Eqs`Y}tmi4AoW{Y@7don9g5S6;U?G&=0R07Gbr;y zba??COj)yk|6)h)?DMmE_9f>~R-NMYyPl5!{M<~%5>2eJE0xm?OZV0)Bp_QH>iA>h z5Ym}AvG)YM9|s>3&lVTWp-YO6jcQ3|yMX~HbL#`DoJ%{)NaKSUAw{68klDzm{nk_X zo@$Yyh8q3tZ@GS!GU}iN4w?cSvqN-l7WRWbwVYj1tr=Ss8;2IhdB9QbZJDOWEli1x zGo7gDfvNCk&#T28nym!nw zzAxhtbp;9uvg8y}l7a`}Z%W`wW#^3u)%$U8m(7j$`I&6}y-ZMwXlf)X<@@?!ze#mf zlVz{pb>v%=L{`L_U@e5x<+Wn$4fvbd2+$C{oedd?F{((F9kAg8iK3>;^ z@&@4-yb1M<05w4dbD-9}Lj;Aa%pOiM1U_XL>J1e*y^J0-)U`l8=j_KO>t3sv3bZx} zt4@;zDDg)>Tn3+kJczA9hw0A+t14mX0_Gs6#qmutr&B`=u6OvWNPUgi7y3QY_bF0o z@vA8H0;O-}0&rFO4!9><2O7+NO;c|q`Z^b);XvUggt0^sFl3g7BaCF;`KnOXUSQ+u zS*3Dd1v%I;eV-+Q4|5T7-ug`u;?AC;v_#ibh~}#v_(nL$m>H*=eP6zS=t+{n0Y{5G z>_tc-Qi^&^<}+!VM)iP8p{gwHb~Iwbf<8+BX!fpq1s|_{mXWIiAq63dQ5~MH3H~SB zoC!PnJ9-*KVrsqopH|Z8H23nkCv*Gun5Xrdi3%kETdVo>N@wcnok8asu2xbO@BWbL zIc7yO%q+CsfiA&Vze=Bx)0Lvmn7Cm(^Fqi;EFT?lY91f&3)i>c)|=AgqGqX61hh{h zTg+{OcRjV|f#iXwty5_xJoc3;#l=En&(+9YI66@oM1$5*HXTki8sFtqVM0}Qrjp{K z92jfpriDitL=DqN6N_rf`5L8?8{}UvXWc;=!EE6i9`Mv+aYa%T0XmH8bEPE564rD) zr$4XXU^KpSz@60b=@k~cmWpPW2mLIp`psd;{6wo8MJ57QP7saDAe$SbRsJuWOawgP z79OKf3GKo_pN_Q_C8Ev9md{;TB>@5I#E2MGLa|UpQlZmBQ!wgO$|P^5FL3$T%V;vQwbd#F5D zX@ewujv}K&mB%BfrC={3f1&xKE&Lx(^fbu-5D+m-A@tf9m&*2#bop&ff z>AY=m;a2>*~r6JoVMrj zo=Sb)uG2Vu6^GWuL{kYh3%mT9dJkz>I%8Y9D<{aN;H07*BfUQO39Bg*r(Q}3MNToA zA|Zz7b5ugW-Cv6=I`ov?(zCh`Spq{&^@o&ABDpLg<-5_HCkcw(2Ex6`lOiRpjcD9 z@nB=?_bm9R#}cSaqyXD?NubVEO}jQM!;nwm#eC72kM``eMkRd&F~IlZid$rKx-!XJ zwh~NJ036Dm#g?H;dQmJ&a~wRI<&ZDQU5e6&FzTm=?Muk=AjF*NvecB(H0#px)MS|#1 zJC)Ym(&?6lVUJV`yzDHt2)iH}nrwAP=m69Hl0rTwDN-~_DZg7b-$e+1!ZF9K!mRQ! z4F**^T20D>u4EN&fsj%Nv!vhTL{Mm&l4EW42$C8g4&7|I><3n~LYK zZ1)on{rHqaupW%x>D;tO_}+8VsL$w5OmPA|QX~!5Kf_)qbN{a#Trrs;b(Cl{h%3^) zc4m>K)2cZi%qkKbI~tRyktCl)D^c^brQ_BbG)5!KK)( zA!}?#(8oE$RFpY_Vm+MldR3w~IH|jaIi&{VY~NHlla3j4^%NGyibnUN;$>?-)8s5A zx*HOi%fU$*Gg()PeFA@f6=^pDXt+-2bpHxJpua~hxcQuTm;rw}mfeJlGw_TdW3B9r??GNh6^YZ~8P#O&Lm{V3 zaS+rHVBpa#r8?0ZahYc$PwU#(a86wgQ>Zex!&DiaH$SI(P>YJs+G-QTAf%8iZ}D&& zWLZM0@j%-+PKS!{z+*BAoR(G5FoAk`5c@?;bas@~3t{LnBf;2j63dWOJha)Ua9VMC zWZznsD!(U>GDS&qFeO=1Wo-Jz=z}7B7K;M^y=CluVVyorD}6lZc}yxRN-|AOHl0!{ zADUL$YDiL+L=z2*x?8$^J!h{_)U;cc?!r^-J~%jpah{Su9`XdFvi1ry$#?q`6ACx* zq$$4yZ)MSr7GK56YSpOtLHv>^G?r>E^gEHIKb($OXZ;#g*jM3T8kiwC$xcvGfUt)# zyQ91VSqC&yH>1Zv#f=zl&a1a|guQyNcd<0nULo?|x8pMCBZvoR_Myp|pfh>)Y5E#b z%q2!pVMi+ML^z~rQOSbEG};{I-I7i^Ej7V8=a3s%MB<)T;|p1p5OIxSuWWa=whfiM zCy=(FrFpopqZrc1|Ckt6BISEh4oWA>P*T&BjKj+ffbgdWBpqgHZG#!adnyJA+!#g^EofLuG#HZ7KfMwMXw&^ z$*sjwAq7+w6s4e6p(M$@sQ*9JLNYQ{3l7GyG)O+}N}GR8eQqjb)kiBVKl2i&tElrCeOr{Y63z`5cQdD+AW<=eevZ|-Q8Hrlj3{1f7mg^h%KBPtX znFITYU%7GI@Qa?YVXmk{!Z#yEI9V_3q-~`&hi}q0`SZ(EEisI0R=Lf6EKps$u zli&H2*!&oM2^KY4wG=98`9V53F`RC~IS=|JUytYwjB0Redd+kn));^AlqpYW-dBM1 z(pr{;8GLwlvG_kirS6_SLN;WK8}A7-dGxU~4HAS(cy zT?H%G-UgW%qL-Q_{|AXccE6Ntw?JT}Y*{%VQcaCs{p_o!A%7*V8_CsZMvPz(x-JgI z2$;wqk)lB<03U?z)?YUwFt*(t@wQjIv5<6ABE)&r3dDkqA+90XM)OX0uKbF8vA-^Q zVubC+5Gqc3iT~X?0I0~gj;b-DwfTS%W73#71Zh3s<2=?TAaU2hpaGo2hR`j-i1ZQzdw!U1@~L`jCH&n$JwyS1WA4Rq|GR_N zOMlf!8jDzi8iT&H|2-Asao70)YGxhA8nj=@t$|oD9SFuCsa1(Brm&(dhjpINoh=c@ zb(FJ>h#1#VgJ1!JK_ZK(L=YR5!V{cF)uXXsEYNY}vmTvw7(@*sjK_7h7q7klyKi`# z>F)&FY!j)~v>lL;lXr58ETC${Bo-4C2|+}IT9AnD_`hJM@cfOfiv)}+n2wsDf+U(@ zsNjh~)O&oM6Ja&>2J1SwJ6CS??>hR!pV{}F4y z9rL~GJF&(%(LcSA+CsO_JxX_`a11C;d3b|0*r-C*nWs57gH@$mDTvD%CQ30Or^uVQ zBBwmKoTM^Dr!!3~U{q*MA102fd*Yacqv{?H=XzxNdO-}^eS|I+*af_;0_O*hdjt*0+QpU2dKtce2` zDUA4ti>;M`5V0O~rO89Pm1#E9(tN&+hM)$)V5GY{DrynwI$P-NmnI~LM0gFmWMkOu z_nuM&w_LDIKvDvO;mKq(SRR=YWHE|S%GEE|Fn&I`wG);FDB+pG(Lt~xl9&pYn3y$qf~pu06(bgr7$HdvrNM+%eUYp)mQp6T0LQj8 z_q}Y8`n#kqUNpu?3BlqC55r?I&Ey>cQI$2gC1UL#k8RP#_Pj9x+_Ys*$75e6c3 z*aVhGo@o=hbrUqMyOjxQ{KFMkGUy?dQd5|OHQ z^;Bv()OmsrCvrL^wnoZgFeoASlINa61f%pOK}KXxZ4;Ljd(LP#)U?Vv>1rC*%h^nNl3Q+E3%sQu?OFDaB)8y};hqoEP`haN{N{X8PND~#Y?I0&6 zq!xpjj5eCdcvv1yhD~20u{9(e2lu!QIPH#3)*7kA*ivk)6?Eu$X=m_lp>@SA(4?_kX#g>7X;tE>aIK9kyDUI zRw$LlR1);U_MR8+%e@=6i3@66kf`u#vqI@)uuC_XXOdz2ba`VOTjI!&8i>?M96SlC zDV8c_)>2{vF=YZy3xY3jE|bhDlqiVU zV6~(|E%=bST(#BFe73E=m7%_y`g79Q|AOmLh{Q-F7ONISMB&kBST`4^Hx`U1qcRz7 zv?4@Ku^q3ba7f`Wg;xnGy}B$CBgDNvBK83Z0qYA;#h_wvqLaE_wy^Ity@TWOwg@#5 zkPwKCm&6Fw5U}1sUJ!!5kQ!yXp#WG_Y}=`uEz}jEyHuUD!%W%@Z1Jb3#asQTs1m74 z>^=BQ3w3y*d&eAz6-wKIM`h9s%MQOsr_A?lCRBBDe>CGAFV?d#v9>t|0r=el#nR_h`5 zo;Y}7AR^!>a0F3nkT?L@aSfCmc$B|eO zafM2!P~0`GQ|sZ&mF}q!T}O->IT7F$=)M8n`Q!;_KMLwSIIrRg6<4S&LP&z4Y$9x8 zL=rTPlsFDZ5^#wp6Q%fZZ6lMV4HiQLB*7E=T#U;JF30&?y>|EGV=Anm%n%7NpacXJ z6NyME!juhBD%hvvVe_QfAiHE(Fe1iw=Pp6TIIryQ8{w6n1;BV(@5PXbRU{H2>I4ZP z;0rI#2eb%?h?qDcDn-PxA@VA?(5=NHywj5z= zu_o4FbA`eS1SAqDg7}sv%y>}*+slwrjOt{xku9&G9gkhS%>*TOPE!Y^5HwK_?G9P) za5h3JiI_O*I@^6f6zTQD%EJuvkPa`%`2SEeoEjlbEs+?p+D!dH;SVJ%+lS6jp2oeq?8vO zB`2ai0$t}w6F3Y^0`rYV<7IQNsI%)cS-VXqYa&D_|37o@_G?*oo%j8|G3Q)s?|sgx zs=jxVUEO7gmK4je=)f@2#Y-Cq5CkxU07?9k1Qvt*5z(KZe<4q1>A^3G5!ixX0vIr1 z3BJ&<*s_#JvMH04cxm>fy6T*>_g-txIYu7lKFz)qn@x!UvVdJ@qfVj5UURQ`8Q=K6 zZ-~S32oCd!xj}Et7tfJWrma_Fvzd2TU+8PY)ybO;yYuImHakd}oD0ix$y8=Go0;XX zC)Oibu-R=f2VbrTZ=B+vi+ufr_%HmJ_~+J_^S-t>KM?S|C7yT{>4v-|2t0@|G)VO@qfd_@05A>4eQH)^C{#1ughWoJE!sg^$*6+0Jj}m zopRYii`a+pZkzP%KI!LxZEErEM6?oI^-k-JmJ%7GcOT3=7|=&DJc8yuYIFrF9Ytgp z&z)QTy^AmVlPd9g=;D?Np>sSg)G>lvdEm`gNfAl1M&u@Dk~{@#GUZLt9Str(UQ28Y zT`Rcs!p{@@3ssKMb^TSp-|oF={&#-(TneY}oRpEvVj{wF&@$>t5yKXXr)v=EBnX#tiQ<~aaWi>8c0Cwg135ZHExL6c z+r%x*mzK0I?;dgd~^B{mtJ?c%ySHD~5|;-WV8wQHRewoN=Y ziO)POeb?bT@11CSAH06=)i0;#F5TX|a$1i@NOUAcwxlAFyUR{Gm^hj4DJiU0$|jhz z#o3&A#yk7{O0Te|#M>t9(78NRTJ$GTlw*tdISMZ^bHq8|VRUtf12<-m5WL6lnlKWx z5AY*P;tJAStP*RS*iVf4=Rrh-Vr|UDD7DA_gTW#qJf!ZS?)q5FyqBlU>X}0iN^_b!ZV^#T zN*0zxSJ1rU*0>C~jG#%xE|YH+QipcgqAy)EXFP&|v+^D;aB|vkVFi?U`1QMA?l;Dy zZ(TaMD1^HQs%zjiEE|@`UOTz52{ET2lBgbxb<%MvKg9XLiJLW^g@6-R-Y{k+?l4m* zEEsPi9=1oUhZNlt`yyN-H>WLuhegT8oQW=vW9^dnk^G)yh6I>Il1M^5f*zd+2s)lb z?6P!cC;R#{U;c?ktPje4!y{plbhG9K+ON^+C(^aW09|}&e{!NIl#NK$@d$P}D>+Wg z0JR74nj&alNuMkY`)Yqp5;p~%OyZ1AgqXUMOJed+&ne~})EFr#M5w#k^%9MQMH++vt)CjZi@E&6im?WsC&o*#c*{1 z2EV5ENVRER8*Pvv0!af}K1oj{m@RTilnlpxr!Ecih&ZgFf4IBP|G59~+WYmpUzQfn zR@kNq+FoL%akI-3G#5)HrWEZWW63~49Q&{Wh{_UR-suW@5}qs!gC)j(*PPY^d1pFAYv_n1xadZ;yCf)lXd;9+O=7XI2`nkxkPl+)ScBGv{qtwP z6o2RKpH7PT&!7F0tq;3SVxuq(bkNF=kNyb6yS!0a!~1bv{_L}n((MIf1> z8MPzPmWqe7keLT}Ti_9O&(UY8bz1aLAD%j&!~!V{kYfkD_4@0tKV+;Km%tw~Oiup_ zL-umb07X6rd>i;9#+W_@yutuK{uA&$;9IBnGw|?hUwg9sz_PAbE~K7Wmt~NfWL)i! z{tzstLbV@y6n!MrZxVfb-m+g?GPl+^Q7lX)-6!< z81Vb9P%b8Rn?&h>dglg@^KCXgb!K@kvUi@j=g)tj3iq3FU!_Oxs7O35=fVP;j7Q0mGBKHul4{B1oS0m%?vbNM%a!j(l9i&} zE-^dtRG7a6+@bRbKc((Mg9Y-_RljboZ^X+bnRc5*IUPE;W}K(YE)`u^(zy)l=va#i z&Ke$bSIk@K>h^`rXB+c(p1D__d-um9{x{d>mhbTU?PZl9;i!iaL2_4WowQWaehIlK zDRav*w~~nH^oW=Ua*-0obnQCsR}Qs_>Jgqv6ipEEjd;ax(D;9S_sf!E3OMhbT{L!d zGL257pNO6&5sFwZ3_H(c2d_i#+Y;2&$-U9TS++B2JL_qKR#&bw*sgG%vL>XrqUp`P zkK=##fr{uK{`~6}!4yG0EKt|rM4iubW^-%S`8Kna;HI)X7hP;OdMOt@6M@`WJygBv z2ldEz_6wIwV_iCjedp?`u|GDJ-c>)Z4>J+oIJ>-p@PUN*KmO9|`oYup=3|ZN z*hrYBl(=Pu+jA1~0iqCefya=0M7Y)tOLuw%^OQN83olHQrhqj`Oqntl-Hwp``Nb>s zGmpRXiF4uK-u+UJ(5L&D!GDdh}$?Z%uF>M}4bz9xAcjZS~wd z>v^QIR*plOq>W4_y>Gw=kpD9C|Bbji0lQQ3e4C=@a^|`7Np}ocTTZiN08bNA509f) zU59hoR*v4HUmwH&rv2p4@SC^pn?v%Gx5Z%%JJhf_vD+BuJ@Ct}2q;L&l1!P5WD(e8 znvy7omA*fjWdfuVr6>)6%3r?xFeB)%*FWRm$17%rxs;BLwyYe1m?mY3)Ed23#F(Q; zoXZGS3GU34^Gq?pq00Az9Z*3*X2xl_8bW2qdCt1Xro$%d@Y%;>AN+;oJAB<==Fs3! zgSDaFL*dB5x|Dpd947B%9FsAtXlI2vC6u6AP?I5PFk~-L6uvl=O2E&5(n@PbYB|Z?F39IsaR%8MvfrDhbsev1C(W8D6)~yx36P?L-#N6}C13j=5D=3J-*nt_-SK2Ito zp$LUHS^_V|TvBXepkh%b`NQX4?a#gY}$kz zi;yYF$O_#sgR=?U&XkgvkD<73!)l{-c)SKjp*J>n`IY5I|_mzCwP(hi+|==AGG zzi#-U6RQ*KD8L!PIYAj~75&6D;skI+HarPWg=8~ZO>8ZzB$3jIeFG4I_fBgKUmLLm zT7o#Vh(jX|i^qTW1Tg#?KmWRZFWuF@jF$)AV9J(Ml3~)=`xz3X0e%1kc*p`-N4Voi zVI$#o0Ve5eW4iv#J$w6^SNTcL;{W}*FWZ|>y_&9$=;|;)I7^VTl#C>>inKPxTJiAF zY{6p$l;JWWWnq~_(#a7q;`hrdeDBVyx_;@e=*5ShzyN>tOLlcc*L#m%ofOf%sqQOn zg~%IH&PwjER$^T-pp?SKCMJvsSI0?zsr}#YZh$SBiL9N3&1uk*dJrcKn4+i{(c>gO z3MU+;Xso9kgdfMgzjyCmVSpOXFc=&kEZki3BRTJ*)6aXr-#YzF4ED&xV1Rs%VVoKa zwum#j$&`Ed?j67V?Qef<9CH2EukUtuI9|Vp_l5*18CGUmZ+Nf6zr!GxE!(rFAS(Eg z|kl9iIO*@iV~ccy&hQ30ON-$M{}!-V*eKneWs4e)n@CZYOv?4;1>(Blw}gvdyGz zid!D^CG+muA%adwLG<(h0k5z^c0^-iCdW{k(FGrId;ACuV4PsyE$or(QW0p#M7>L zW;1bAi{6s9mN>VrZ<|nj zA~6R<56V~lH6*p4#<}}}zgA3?^Ass3N_FNIoVT%A8m65JFMxXQ@wOe~j{`yxf8|WE z#r#f$E+tlpBcHMp#w=8fT)jbtaRHgaub2$9vZ@N5bN$qC%$5ivbn@VV>l#o3R8 zQ7|ghI%!sAYCl5b6Id$TF7Vj`wO`A*k#;36=(HBJ>m}N)ne*E-&t~X?9~>G-??mfd zc6iJC=%O?XQDaVGNL0nPuIcej8rLkR<3{3w ziKi9XoH;t1Viwe6=TQ$@cfKEz&UV@+>1@Bm^?n}*f(2rYjs>JJ5yY@9>xyuH|2h0; z&wNqOERh1vpV}%fjeb?b7;CndQFhU)=!|MiPg&VLx z$F#pfmhJYT`tn=l{`KFhKd$@DecieA&9-pcn`7PYOvXy#nW^xCcXr-r5pi@^J;|W6 z3AZFXq6LF{m6K9Q&;uV`V#sGj_S9BssnJ$=^v|C8V*jt+`7j&ppPYR$ZQt$QdR$re zJ5%W0?!0s8TrGjknF+ zf|$tMq43uTmYlgtD6cIJwLv(0cD$lBuBi0rQ3o?nvz)7BnjZLl|FxfBN*lw^BJFE< ztr6iwcT_W41Hb9G0i)!b5`{!^r+TCAkD=)JVU6&Ph(Xh`2z({317Gu#y>Ds{Uz&Qe zh_EQd(9-ed5r({tb-WJdhe&pUCqqO;^}syH-Ra$F8eSmQl87E1q9Y9|_~@`;{*jNe z)_@e__5vxS>LIN_#U-i@I{tQB*qLEHSXyTxV#yiLg;_Ay!1gXyDA5Bt&dMX4OER6r zLrlvcD2@z6fh*)T%I~pseCaHqu^N?0IU6!D3y4G)^f^V^CMFYB#d@NsM}!C`Y7f<} zFa>LS@+0_<@@r`mq+^hcm_V6Mam%iA(`2F9hFuJW=?jxtdZHYnMN#xF$yr;Fu9dn&J{~#%W1$4(x=6BJ$XdT=`1S$!I#dHklO>6B>9*XN_(9;I< zEe59#(4aTjoXEwFzxs^PJx<1|D& zIcOxZl9+&eEmg|eBCo60GCWHtMMWa@4zMeALJM~r0?AO5HjLXi{X3Hp%d zMjrsE-Pu@r?%cw_zj5!&{`qfx+zaLZnD1+S*hN4wVlw(_($erF1RIhkw6+MZie+VV zWtx~QQ{2W*bK>oYV1D4QB@)Z8#ZNW=hrO-S7(hmLgX%=Klc%Q%1wD&Kk~|`M$K8>( zaR-#CJjPC@v`@}ICI*mkWcYqO#{e$g1pb_1dU^nEGngVTGT0t_;LjK!NoRC~`5Xg8 zdG7T8K4h>%I$*EA{`xzNGg1B8*Mjeg^pC$6}i}QMNE;ZPM_*xK#}`>Da^tK?e>N$|<5H$31f<<9YMgucEta z_K3QMN(}n6q@Z>2-nF-7Ra@)(tz-DDeBYj*eA*6C#uQo!ud zUrc^yBQB1{4}L4|_rKQ$CHBGY{xDokv1QAb$Xr<0H(Xr+z3-m^m4BP2O zBGlq>Z$nn0%pJkr1^}X~uF{?Tr=i20lBIG=;PXi0nIrRDh?i2+p?kFM6i=Ex>oe9o zwUt9S*P9-HT8yVV^vf&1u3bc+U-}e_E-^nKO>TCkcgH%WL|N9=awNhJWV#{qAHm_W6GUt}G?ZJAe?AIY@DT4CR7QLr# zHxCEllbMK#PGipxbB1}t`6jaw(U6uyY=rA(Q#o=Qfloy@}2{3PZJjSO_?ah;n( z!UtpsZ(h2(u-#;V*c51LL3bVV$O*005FTWa=9!%gt5w%)jTR76B%EGb?5*i-3pNq- zBIYSLYqdYUMA-4b_1f?UasT*h`Y;v!LEN|8*jydrtkGYcoBI@cH;d~U^xAOmyj@%D zak_@crkmkYk(I((40FVN_wZH`(h}m(D=v>xiU`Qp3!a-;0000W07*naRG0hJ?d?my zG3)|{;VM_2O;8ds8EY2TwXq(+;(`~e(_`hWaHVx61G_x&OqzMVi=zjX7IlD7W8*)) zf=^+LdNMq|F+3c4_)emeFxCo7?W}ott&B#%5mzPj5Cc-E`=Icu#M6kUsQej3f583t zHJ&U17~KvK7S@CCRX5ajTN-^IIvxkZDiFRfJFEvft`V(8Z+9F%sfNANxQYLeUf?h$P8!LQ^6YlK`4WET9t&zk9{Kb2QNca_?h(s>9a$;Z46tA0Ruy+ts5Fic z2`6;mdubvSI84yhgQb&eixxysxI<;3aTo~FNQM(?bb9NdlQ=E`+NGGDDv>7W|I}VP z{@o9lB0sqOn$eU=OeD@&d8kfH6KR{UvrL*2cI?#d(Q)~l@r#VkOL%v@Lp?ynFhba1 z|7^lZ5nS;E+2zOPVZ0`s4dMbwI61_bWo{{G;iOtwMJ&0{2j7yZLcMG(XGtwvl+~kN zt=?pk$EP!b{jcBq-T24lHDyC3pn52foZtx2di3THHWsurD(>Ay@1skK_D$}>mrm~< z+(_PHIsuC=JxKR;)1Am8qV?z=ECX;DvJWvbsLg~eowiik+QRk~FT#%vX8?1WP+FG2 zPt3&DiQ^3%0?dh&jnZRCR?jyQ*B`(Cw;x5w!fS`6g>~oVh@l$j=%pg$Xo+lo;$IbuuURQ!`p$i({NS; zn~boesX3|kFb}Nx$)9Ful5Wxwf)e2UpcpTCd7PuBbF*Zv=}FdjGKv^!0kk9 z9;VCYJs2Yv-WU=aGg--)Wh98y!|9Rsd#n~sJ@DT?`$Bxwp!c`WzMxx2Pf1L*26Ru8 z(R(80LiUcTxqg*{&a~WGQP(S7TKlu*6FLbKZ zL|krXO*7#=@N7d4kP>|p)M;YsiM(G~YDd0sIQg<-A^ z@b7@HGuR&o;AsY<0|xMM$pAv0VSpd6GC-8hXqo#x1|R~15wbE){>Rr}fBpJvU;A3O zSm|nnZOHSplzF1AE6de8gHp3OXSw_Vt#>9Ga~=b|ELS9h`TR4imv6G{FVTEX-aN}Z zov~iOLp?lZJ?ts-mb3F))OF9g9@)S9y|KVB@iU75!cQ6h%~Sk0E!G!)hVg&(r@a54 zRs0_}{=fQ@;wSz6|2_9$UY$wCMv0wG_LPcVS|{DB*`5hFMBp(tLQMSL#Y(aQ`XIr+YK~FTuiV_Fr^3#W-_;X*6m2zxs-e7t-8k5QbWh! z=_Y=jVWu-@vCA+Q#WWkYH{v`)aj6bPwQ|lXgtjz}3iddwgRh~L9*5kcspHKR4JLKs z4q>-4&&c4|d1O=a-+k&c{>J965t_o-MABK3))}p7wE5a@#CbBdOCChf{3BLKL#uz*48bGXc{*j?NlB9jZB&Xmnb-eF9`(RqlcYH(oo@=~Q`Q7nNDlH7i>J9*SJ%~{ zbJd)hN5V+$T9?N4VU5Fy!7`n0t0Edw&q*<5qL|#A_|H$~xc@G{Y_(ynqvJ4sOsz)7 z3GZ5arS~2QN88MNw&8XuOp?~xw8Sv16OesW>AW?)*Mq$}bslTly(4T=HZMtQHqw8X zUTMG7#`E}(w_nKFxY*1(OOsyi5id<}?p<%~E7wcV>#AdI(OWy2Zv`Dg$<%gRHrpv~ zPsZ$>R{Nmp_Ri8el^&+yqVLUF4lB#!qxY4F&-XzMJ+<1M2~0*#nQbaO*F{=_-o*xE za>x6^Rjar=TS;dr(J`*Vc{>)~9;Dn;Ju{tj-GQIz@Sj)(dLv#rsrfkhe=sqc9XfEi zk$k7qDQK9!b~CLTu|J6XXFURNW$3MdxysQwT+eR01 zOp1gsKXp@B`be;WHmZFJlkmX|@aPN)&8UzX42{ONU{fAR*e|pv(}CZ9_Fj?Lc=tII za@XO|sXdcCxapT5gq5sRX3foTA4!NeCytF+he#uKGt;iH5yV1ypH;Y+4G zWo*ijhgEqe)Z--gFjJZmc`7O?4Lx}v>v8h>aEM0qMzlt64fjDwcXv^{s9kMsYNIh4 z+D(+RiOnuiCL*Fmzg{AKIexVN{FB`mWD#~=*lrTHCPRxWPTpcYx~f7gdU$kFbS#1- zSCTa6!X_0ZbFRFPbx}^Apc<%kYOGviW1UEo&MfOGNwZ*W&U|!UYH+J}dS9XOu7@n?5iqOYe3jZCr{A4tJO+Bv3xWq^!yald1hy#9bNU0=2!W} zlMM2W-7AR}8K=-mf~*baQzkZIEeWeouUD4iN>jjj!7e7Oh^RrkY}7-igCZ4fY35lo z5)k3|8@$3B@pAvf{XgG52QCN_B1H%TS3(9;oVs4L76*5=?)09J8$_sER%#j@BbG)x zuEB8)dn4}Z^PfTn_s!|94B05<^uqYoQQ04Tx0H^);vG4K-S^gGB9^e zZ%zoE8u59?7~H-54u6ndQR@+{;x~O!l8E!u`60m9hDQu0$m;Z?6Wt^$HcY8~wAI37ajZIk733WEzr>?r1Pe6l)X15In}( z)5fd!F;^KKAC-iP$x^~BVH$@0>Vq|GfF;RuQl2uo3^vJ4yH{=qI5FhDzB+AnnvYz7 z=1_a|rAA*Ht)I^P+;oZ4054J!C5d8+zurD9{rS!EnvM+(zhIJ_(mJu$;hiFI`TL$0 zQH(T|u$+|!HVwlK5q=l-@SHzPcQQ;KAyt| ze*ebY)+A&J=1HX#6$fjL?wvSw1UlLAaHI0^5Y;s_pak?Ey`&N6u(XASQ_KnkZao!ClQys^0( zpI<*b?%)3QxBIuh{q5tud-o0uFylqwKBI;08KY=((=o9CpFRD2j~j#W;S=&XhL6ab z!2bh$lhFm{F{5kDV}_h&$B7kk@7}%jt?&Qt|F%85KzYl$?8zxn>oxSo*~PP1%9uG9 zw_gN0%kr4r_72N>z@~HR;Sse}%H{%;=sk$K=kl#@(bfZNJFs5w+3t4qdP!UMY|iem zxpFxY48UM|;9;@OT_<^ z58VG}e}?gY=f{lyU;Rn(^XVZnt5u;Hp_WWoy)d*JuEt%PNFi| zWti^7q?a*YO52UB>dyTKyzx=UPXwS$qIizzBwxCPIZWu5Q zIS0dHE}afYG1?6c?dgdHB1B5Y?kr)uL_3<|y`c6R8@&$*K$aSPS>m!0-)VK=_<)&n zb>?W^aDHs~^}>3rT)z{n*>rhuRt5z)&!&7hL_3BW5#ED-OiX0vv~s;E?6P9FIEPX! z?KX(VAHH`JI?pkkXP$0~&rYH?)2OEQu+})7SQPElRU}TJ%guK>j^0Nu1L`VLbiJDk z*Ac!kstVd2PTa3T)4g4=(#M}Vc~GSMC(rK9=cvw_bUg9HG*}@BF_M5 zUt@KT79uO32(+D<&P1@5M8CC_oo&oZg2`A<=T8FC+CsIui&!F*eRNftyhVhcYzzY< zPzth-WV{Z7F`2}zlbkHIMw5jjW)EBoSKFpPj+vKoqU;JUmW>WdI{QD*zpw{*7VV;Q zUOU?*D7ABST=e}z=jt%nHZwguoTf2{jKYrKag2?*Dn91p_CGBzIcrA1w@ zV+rJ;P>kfHfAwU1%#W|>Dp7{c%DMH5-*XtW$5wR=uRASlI;r0 z#5w5jc;R6Wrnu&f7**{~qASb4`rK>rmA5`z3DoeN34AyyOo^P0Tm!WR$Nr=C>S!F! zy+yNAVm|825n+thuyGQk3REx>$Y>m&y!M^Vk|4EJi#(1lniAmj(|B`Ar%s(AnH=U2 zZFPDZwLU!5l|pIIm(?A&!H5@`$yfHZQM;o4o$C*?!2Z=|zogFusrD$#O1?fu9KpJi zuozrN5e~g}n!9>2x|!UAI97W1=n+(c6k|;&$(ZJ%G#82)xeZfdc|Eb=AcvFI2H_D& z1H5V-Z(Z#JhLq`)&ok=qK;V5G%LglCBmk65I!lyYip`|qWmKVe*J-52b?eO1<2_u4 zb8eBQM7m{hc&Dj)ASbjskyAt(6wD;Z5s}r^a@8{Lq>@$E#SiO>PZ`@Jwv#Z;*!4o| zogR?tkt&N-iP;9riM2Dg9&0^PV}PkW8Fn@^ot>l>`^I6dc$u(ywz)=#g{5^GL^gpb zS_)bpvPe$jCKGYXB2S4;7hJjM*>r1Xi9PKfJbPbx<)*fsLQI-CFQQM--GhDOuylN> zxVx+v8NyrR*bQA)`qfIu6;`;NX6~4{?Gew?^;m64dsP|2u>Xg7cegq)D`p)?R+VG=7xaM* zfq;WcIq-kTPso4BfmOnRfWd(@$8VsZ|Vgxx=~IES?>&MZmcA+Ob~ZLRtfdI(z_9TrnU4z zW3wVPA|N_GRfWRQM^=hX=SBV><1dlxJPTtd&V|Lrr#@U4+{ci&PG&{f*t1zvg2QrD z9is@J&(x*3V!RKxK5#cMtrxH<3N*U?@0QZbeJ->yPmCM7YJYKHzfmp?IIx~7>DTQpWfX4a!7Nfu7`RyIA9v@I% z@EEjxUP?;rFwhP~~{)fl;Ldr|HJ>6*Z-xqZ@>MG&;P&r zqpW}27(%i!NK8cSAKSTZ+f7 zmr=~cTwnERn)-BY9X$?w>AWbRYZvDXED<9(^(seE)Du4+aI0h=RtB6Ax->Ui*(U|f zO^i&ghF40wr*kX3vzK_ShobKO{bkEfa`$!ba|2w{*BJRpJH=c5tpBi=$aUm$8hlvM zwTtZlA4W=6PNOGvX9lONav~M+EP}PdvmW~WF~|{|JP#c|CT;Kf@kp)~UOW2Wo%a-1 zP|mF>gpRbCR$w!Dm+p69uFonfM)KIwpBlVPbIS*ch8Mo)!k^S&X(EStOz3DflM?!M zzpKBluQwo5`r?W>Y2_}&8*xO6A%+H@5ujv~$<|71*r}?Ny@WzI2Zqdye+_v;K z%&Ri93iLs~m&W<4@s0K0c~5n-7J?Ab6Cs~!ArfuEPEYyM!StXAohvs{iM?yzcgFP3 zKrsu?8uPfQhqHc&!`SpFL4NSz|Lnh|_qH^j+ng~sfJ%^et54@?0(yDex%9!qLt{l; z9V9Dvy>Pe8^*_6iDB0jlxdFzwu z3xJP<%U_l+PiB|vvAI7{O$!qgjL~gvGC^3ZvkfGtGT^C+@q##0^?a{<|CRm5$-I!9 zubp@%IB$*Xweipg4?sgwtfLi9N2L%vqw$JqbU2H{g*`@4~Re*ef%9(O*f=3(=cog8=gqjUfqvzdKH z^57$$x23Kgu5CPxqrhTS<(6PoXB)%2L^&Gu49E}iz0i|S=W(A(Do&o~;5G-J*j_z- zCE_SCIpQdnPkj1k1G(TlaNKUP+v5;B#eZ!QD1^usCa$#k-RR`kM3yj?%qr(w+mI zD$A*Gb4@&kdd?J`e44xoG}`Ps#P*`$$SY7}2^Y`?hzxvq*tQ0bW zHq6$B)P^5IN0RugrMo^B8C}QnT0{*bN=PGfz$1R|p7b9Dtv}1L#avn0n%CqldYSKxy_Z zRGmTKAEoW$7advfoS)1d*-(x10&PI(2Pz_sdhvv^qxv6+W$kZI*jhyaz&BLgZn zg(#w&DkTNi#3Zu?#!<_>X&=*Lx31T&c6+9rCr_^5HdLpa=RCyiNa|XY=Q{OAJ)dHC zm13rU4LdKLeK1G#mmxgCwpyUZ;Lb_U&NdlQbGrpjANbwzzP|235`z`-dRAU%(KCfV zsS{M5c05gAFq!=irBY)M-Bigi3=}gY~%MrtC~Qs?Oui8)od%QyZtJzVPswuu&AnsXER9+n~1{+!$E4{WSojwF5Xn zaLem-K07|vacopWnxcn91rxT7DPs_AvN7{`D(3s@II37yqGPt99zqdBDc`;iUk8qm zPj(AUCd;)mWj{V1K0l3c6vw`j$1r1_?O(z>Cez+K+9hdv=@kxNFr)$GD6CuIJn*R+ zSG29g{UkIJ?cLD^V+`4W*9tc$MX6e@_9=&NM?wxB=HC7Uf1nzan^ooRq;gu6%k(6+wyMOi(0xZfZT9FL%5ITIWE@^&koDjeZX~ zCL1kk5Q&Cwd^@gOjDnmgL0_34e0eQ7{{H2$L%hZWYUB933zH@CCyxK`%9PFAW7GGSl=F9~=Ue*a6`>QxjQxT= zxZJ;DSt{q-*CG0R++yLx;ML2|alPfdo+;}sb$y2RN5223{{j!MzF;XUM1TsRU^&0W z-W$1p!MdL5|KDH#N8hskZ+-ty|Ak-vcf9^D{c+xZooWGVDbxr~A?^a*jX{h@r*^+m zRZ}G<5nZz=D!duEXz+=|=Q5v5G=*KJ=Rr?H6ZI3Kf9lyh9WB?FYV=o^9Ai*3*)_fE zt0sMGw}^e=S*==f(XHg?HqAp-qtmvP@AjR0zv`Vp5Lfq9ud#5j{l~&R4P6 zBJJ0EcXOYbNhR)s-iJ2Zd&GS2=V_R@c;#-0=L;T;iu`sh`gH5w{A53xEQ0-me2<@=1UXSp z#kD(Y=pmc)_M~S^r9N(cOfyE|W{C4K=wU6CXD8mIQcLBFF?iMcWJ#oX*oUgj^)lGU zEYS*6o%OZ%-p2vte04AzXo4o(LAx|3{W%-pIEp#7M5HIXWd8UpMy^~CR|?w99;we% zv^`&>)AF+epke%?i(ySRCJ+H<}_#YiS}1ko|Bx|o;W3%&9q&aX!lJm z)Po)Nkk+H0>b*lI3lxfPGW7OtmeKvuTS1+MufDw$UVLiyhsJum|0NTRK3%)D(LH#P zoz3QoxMu=Q3D!Q~VV`oCZu+u(?R)R(SAX)=^DoJVZdsB_3Ca?z%_zh+rt^a}>F-*qD+6ZC<(E^@A|V~%LO=9!9p z-B^`H4P1DJo-6`?_BC9(y-zxMyEb!aR!{vggzNwSAOJ~3K~y->Px|cfW&@Lr~KdC(7;O5<%Hg@kQFZi6L$+I^kEqRdeci3b-SvIi}Z#r^foq)8072 zBvBlgro=HL+2xcEYP`T|hL;_`N=*k6(`==`vHA86g4hPRcdj)wG+8f9qsh777AflL zx|mV|w;}hmvB!3WK3RtJ*{tL}bT2eaM4=)rG!Nwjc}QJD*1x3U?A;s1n`eKIkJECFHfv-`_eV!3+n?$m_WaIOrJ9 zdu0h!E7eI}8a;s9#<*F(orU+1;&CS>`V*hSQ)X~HGZXv`k&0=)nPR$m$mPpQ;VXH> z+!N>iROfSma@OXardN;Wyxh`LS{!2)VFC%>CRKrO1VC{{=I>e)iEt3)%U=S-hlCh*W7r)DvJ?fkCwOn(2fdH#OjcLR>V0HjP* z8X1+Mpjt>NKMq@0jnly)deYi}JnXS`avZVkH&t1sab11Nj!T6o>cc;C?=MU+;yDwb z_)nS4jn9~#A73y*i`SWc9>J_@-)6?#KKX~d0)EW&0eJ#Cp3-AJKYrJrWS(cg!vsaV zoS)P8D-}aMV_jHd<>kwdx&QPhqD=S537wkoi ze=#3~eNOCsOfDS-A!~S=XJ*lDUwA{oT2RZw*r%r&a0Y$fBT}aejgA9pWvtMDcf8(c7}eD!p-D^rnN-P4CwH zY^1IvBi-lv_`2w|{U-igN&iIfJ9?R)_fA@THW7dKW$NrwMI(eq;8pQo?LxOR^b#JGz$D=O>AZsR^_yC|+O(7Yoa6?{rBIea!Q|ewXF?RTti0`&x1D^%l~2Z(bt25q#G>(l{ZBnjFYn8V zy9%Siw#W}P^op706X12>o=13tfc`(pPlXn*bZzM{b1 zV0A;poEjSzlHz34LSyBeg)@ykQWxaX2hN%Ba|_f6$z~{~Nf=4$%FBA<_H^RsS#`Nw z{pp_g)z0UMx9IFT>qCJ1t9vG&KkPj2#>>j{o3p-yeB+&u`^KYlGB4(MMq@?}dWG2p z^a&nBNa4kAvam+s3T!=DrUwX1FwHv`o2p|v7t}g6wAH5W9qpaX_Vr7V!U0eyX4@UB zR#s|un?`#UI=_APJGYfLuQN9M-acbazjk`>@~hh)NeA^K@~qCpdVOasJ&#duP1iorF4a$0oCB*(BU`Y?18zxLht{HvdQ z{WJLN-ud}`_Q!2DUgsxJV6xlx<7t`Af7+z>Fo*8jQ3|>}snkkbHV+&2WOP`(aLY7A zzCS=Se?^!7>iXs1{k#6}Zr|%RTSAf)PrxP_O2#qZwl-vsqOx_5Ci>LlQ!$B-G!mgI z%E1I5WpHJ%d3w$447REFL$PpIg71zY=}EpbK_`Jqjv2W+!d-=-BuY`V;q1+3 zvO>rtZ0RxGdvYnEk{w)mP7uf_bRH%ozXGtiQQ?;K^?2QpjaT;;BR%#;&s0eG@oI`l zY$DK76oPR~q>EEW0@0VOi)jqi8J_IaQ3Ec`quKtSZr>~GWFD>~CrdJ|!J_5b+*)@> zQ+6{wP27u^eV2fuS}JuF5nZ|t$7t-p3&g8+p)Jc4c5ZD_8Gyhp|GnNF|Aqg)GhAgA z8SbRL*{>YhZ-ez&OmoWx#)}<0Agf)fmU^YN#;{xuYQ1b?-<^@#Yh_u&%PP4~AB`}U zr%QrA$anSrF^u`O@4lz96MN3MvK*A9YKBzm+2LOyl~TJ-1Tn5X(4V-iry)YHe<|ZIL8DNX518o{={xG zp~+fE$$Q$_F|U$zeEa?zU+G)$VO)Lqa2zxjYC)%kD1}IqTVpiqh-01fff6$~>F~rt z!gZynav~@s7aDsexY0>pJO@0Z6tct|ucz=Lvc$nOG0~3qUxS`LOz4Mgt0U)e_Cp~? zpvU3ycyY#slo)^Q@$38UImFgYB9FBE6sbFzj?zLLpuCtKCu*Hk6(bLim?;VAgykX0 z2dyO0vZ6Snu`#mKBCNz>wsnE@WdW9ywaN=Di zK=Dh!Z!y7)ohfTsnZU;D^C@9r0vX>2{t?qGRZLLi4WtR=a(Vc4zL?9EzI{$aaDMwgg3FH?s*D~;gO@KpH@qsOGNN)pK);ro&-H^pAy_5znnW3yxy zM-?}TUeANF<#9Nl+s&p~lv=ecCdQmbsE1lsUMDyO^omXu6^kX)brh9S)oRtL1VLJE z_9+<4oW_*@g+94JF=LnD*USG6H(F}>@P1$?%3w$ZR3MhZ-i zP_DsC6>=1c@TnHXKDZ>j+#0Rtm$Q$U`e2oqQ}qK#0G_n#U%PbR{Id%S5v6iFOuux# z7)f8NsCA;_`_3|EwoE$xXw#^i30^yx7}G_5;rVF-VV_*PKe=AmO!hv0HjP7Z9Q{Y9 z71AC7PI9D%(yZ0%sqi{tJ1yG!;5xdl#?s1NS-3eZs*zl5Z`;m;;nJs+O6fy_Fc0LX zw|nqi*y(%%)FJe8j$VIK#d7Vsza+bZN$xftw)Zvxm!mdoKULX82(KsP%DGQZj4_h^ zn{)3Kd|D{GDA(a-Z*vq^lD&p6HsXdqu`ay4u`~v`HM^x|Ik4!g!g5BLJNwpXPMVds^=5WmQ~*w!`-Rk;R>t@>9kN| z)w$OV>QJykt2#+o>iT17r)k% z@cmdZ1BUMh$U$ClI_lp54ETvvIm!7WxDgO?Qz4<6d?OQz4hR!(i?)xo)WDaPMXp+#r=xRXMMU63$F( zmD+kz-HYCMb;(gHr&@J;!vvMSdL}vg+zE8pXq$12drPHFe&m7W8W~QN$NAB znp(t?pfWuNmZ&PV`Y4T`Kr?!pqYx{ODD6l<`f;w#6b$o1Vl%u#TuRVSt7=rv9ag$` zcXm>H0j~?O7M75gp=pkoGqA!sd=qkZn_nT$-vB_q=qU{|QVvmS5FzSF1sIPRFWS4t zb*I&$=6U{yVI3$s9v&WZ@Na5N^VY5DD-q4c1HlbJ;p8_}xII1xB)-e=iH(m)1{)7e zWJ5uzliJ+{`$(md(#K@Acrx&aLX;{>ICBmQVkG@>M(gOU;aV$d zL;JSV_eQP7r&kwuOgDC%^j5P~I*(7x69vWd&ssuD7)E#VaORYv_0uY!&r+$Bt$9at za$7_>i(F3lgWLCB*P};1vb09l@Z-8@^h3&6f>=$-g|ZFzM~mIFNp_`>hbeSrVV@SF zIi&+bL(6I5d@iP=?ZJ%A>MnRfb%HkU1`U+Mv8AGj48zUBd8sP4-3E<0aJnLInm{sT z1`%f|3oZ$qr-8-fs>Qj?^tP{Wdb0Nz`fXFYs3`e@G%>Z-L}zGdH+CEH z;9vyJ2S4dbPXpfha5cG9Yh4bR$Y!=V1nGgdb+VV(o5!o2z9lXTaXu+jh`rlt2QzWj zG*bXS!KX0udu2>eO%iqWIV*+AVEV2JD`$0Qt$`NJtncu#*IQl+UJjYpKK++Gh9EtK z=QE3qLjpb5pXp9*27^zCuNm(hJv8NYQhkPvd&e$Rtv(T)5ck-dVUAZJBZ#%YNLt^a z@AN6zooDW8k#?Cjcc4M~__By~QJhwB?bc}W)~)lD=~~Pvvr7ruped$ImvVJmz(#Z02(O zzR!;}_4xAlDN%WRxFE#M-5FV2+70>miZ{OV3k(phBw?_k?5xNkhWS*Yt7^$TNr z!SDahKLp_Icm5O~{=q-z&3E2GrJ?!;i_PWL3qJqwUvl&OIiZ~ofA^p9*7x7}qpttq zPp$u<`}WSigY|#(jrae{-?IJ>)h|E##`-_}SFHb|pIZNif6Vp&n{WC2f9a32ezoE9 zl{P%;=HGQ5DfaSCf$Oc_YUlX#rTa4)U!=HAX)k7Ikh1qkkJ@~H9n*C3R8U=Xio!Dl z8(aolnP~D)?Sul6N^%Wx8!laR%j}_=B1Y(Li03r_Go^1xb~@K6-i&T~)$<-&Z<}Af z=DaMyn_J<0FFDa=S+p>CXjLiYCl((8FZ3m`SuY&=r-*O_wcAVKJc}G|o>ksDfm{01 z7mD?|=rw|qO$qzrNf%y5aATyg==;UIDsn`?THNjeswpGH)lLVK<(ZB>wQrqQ*>$$O z_U0F=^Ki-FZ91pLT-BW}T6*EG$3(wRTmJr<+{ehiFFNm1n|4Aue?&y@1zBkZ!8ZPIeOHK{=vnYDI%5A`=Dvi+h3_XHp4!V=w zB3*brLstrKXioh07+zMmyD4N&7yEJD-7@6km>7OYeSZ+|CeS0~x^P}Yh0gVQo$lk=NeUf^7`%2aoUTdlVsTJguwc6;eLyG31bX8$ z8ZYO8>8F^p!&AXeWx;ulE)N61qvx%>1#y%;bu7z@{ zD!pDK1yWb*GMbZ{{%{ zT9=?>wLa`VINRLpJ6Wq;CzK}mF# z-KOURw|8f)&u`Jz8IKoUcC((R508MwNvYyo>{g`yKb+qif93j{Pb}J5q8|-;pU~)- zk-EosJ#W^WQ(a9pOeks?OQjSFA%z$<7&Y(+VnFSUJw-(tbn=5YekI@kDHhx|*%g6~ zB#F*&VT>_nZpTJ3lz1t#`7hHDI&v1I+LINVG)pVI3WGe@IlB&!Llr>r|MV>qYeCM z^={}oG9LzP8~rl<9#%sgrbS?dgM~LDy|A%Oi`mIMsVKUrGS230?~LAOIFo{2il_^< z6bDHgot9mB3YTXK^=4(sMf;2JcR2AH!!O!Z8ykBc#*!_vSUMM{6Ni9wj;`LrEjWfA zPu?$O`lDgb#$S+AFrZb|DC#YVA(E;oxjO)m!)CMeF9GC{WxN3 zYii({)2C*5N;{T{RHZTNxdR=M{4F2*(=)rS#EwLx^n)uF*1_#0b@JU(wUtyKjn>mn zBx9+nlwj1VGIqQ534rA=*<=b@7K$z1@Ax5|xzWz)25@a~G3ij;u4q|^J|Lf>W~V|k zmLio^c@#|)sNz_szuh?g zd2F7Kl|D7`#wK@ zrU09_N4R;7ynewbw>*B@DMhU7JyD;l+!OSe7&R zW0t#jh^V~$?8mI9;PK^!QJ(X~$Di^2w}VeU`hvH=_dV*(Tik#C<9Yl4`@8;+zGeO2 z8vFH^zh(U&{t?&z(Kpurk+;Vm{u{3U+keRW|Lx`Oo&WmZbo~mjk7*OK7EIFBY(!`l zgu#p#>ybPJTxUL8%&ANJ8^7}#bN;o_ z4s*V-C;e)@3bSYsfnR61x${NBeGaaXoRz2yN--BLoVHW^LPA}f|EM;6o*Q%BXVIrq zL02Hn%VB*g`^QvH7t~b1vMSr(8uV=&n#}&ItBawd^?~r z9mC?<83SDVoI*T6KLH)Ibhq`A|2x5HH!GDJ4=z!r>v;s{vFQ70UTN?Xie&sO!mMU* zq04o~wI(Mjk8Iik@SNpL+NcYJY>z>EYMDL3g~*xI(R#A=+3Z)U&jfFB;S~n}Q7flq z;d@cI_Q4l@TJ~k=>lKJki5!RTIC&H+X-TEB$0zVHTfuy2f06mYardo-0rS`&IOJwWO>BpXI-Sj0m zJzKZ|Ztpifd+c1&Fb1o{7Rkt&@KN{%0@8|lfgaUVX^Mgw`UMW732wzBtli0A($ZcBw#$`m8~#LMINbz0QyafO!LY;ZF=4RXcHO(S zt@)E|EWmAqPKFnU;pmp#&Oz~v!0wn+H`}nf#8w7l>Ab9qo;|zK+j~d7`$buFTNf;w zzN@!FAI+;0JtX_qxQwBjy%Fw&p+=A)HN)slIW1LhwBnbKk344js)^{8B2K01W(!x( zB51}^igS^xtz`tX%6T-uZ0V1Yp0!Sl;m0K?Q*i9M3@ZFI8)^bRN7_J?Ldl%dy!m__ z?1o0O86|brOgTZpI4#;JY#AOCJoBqzmJC*>uLPB$Hbo*oJB>WR_~Pk7abOEGUEp9o zDLiE#YhlrF-I{dxRg`Q#5iF5Btd%v2o)_DZTr-rOSp_*=V*E1z$Op^2!j=c2N%R;B zhG#-Whe`E2S4s)Oc(kEDl1wNRttymKaKJ`qAC2^w?3#EoLOkH6r)eVg6VGUP8W{RX z^L|8(?$%5J(3o+LMJzTk-@miZXCtCgW2RrMIlX+0Xc|ffx+>`!Zfl^|7O0i=Iw-F?ZdRyTt+ThG3(X(191-2~ zw)>FA3x>9(5KHA`$%~xND>@fO?_3A4C#I-6X3IQdS-m94UDjmtgUBe-skq+ONlh6; z_Tf*XB9Y`};Fh@CF~5e%n91;T25M}hYwv?zv1?G4GMOhMxn>^zG*cpkXqJbhJ`|BN;`U;{PG< zeS0O#vb4V6T6>>!BJRzstm^9S8o*{6ut7E!$g+i9)tKfBG%`pSB;=`@Z!sTXK85MR zST-_P*kf7p3rn=|WLxvX1|~rZgt?WAK z+779;UCpr%O)Lot0~C9i@++^uaCsX4 z?eezG6K2M26ZM=cTUi#C5e!0&VfXW5wg|0e-Y;mxo<5V!H}_O!g+#QL#g}zscp)QU zol*+14dNketXtj@U1njjx!~-I!mSbOw!eRaS`#=LGp;PC?dV+LZa&Xu%Ys(3&PoFX z#ilY@Syxs}91oP)@FKQtMStP)H2!9J$45#rGG(UQh<+`8V1{CpRpupzVI$^y{f1w&1Z9+|#46bw!DIpvi0-yGg?GX3Q<(#G<2;9mj$ z8EIv?kPVwbsyhCAQpNGd$b!ZP`_Ftp?x_ED;NK>#G2a4ylVpQjl_B@QA0&$>9|K#d zQ&w65TMiUWS&{NiGO`6@!wXawfpfThj9KB~?qlY8q0TeY&10s+8;tV$MJvpOV|G=ujAJ|*U6d) z3wm`X6E-{Z?Zl&EOb=UJ?!-S}=9jQPz#N=?}n>NHp8Cro8Y`g8Imf%u@`v_iiw5sc2?NHzo zq)OQRFpe>Fn8Kcy7N2VHp$d2Jef|?0vHQP%`)%_fD@9C`9XdMh{=NG>im$JolT4J* zhZS4q;J&9NXGS=kyW$E49~6N%Z8m6I<6-N20cEfTHk7>X@i24TiY*5b1vg3hIMwT{NU%vR@S$c`>O96}%W$(}^D*N53+W(TX_aF%l* z^drk+P%0OOO(toA^AdCH@G4IoIB)Rhc+OM5@Xw29^2HYP%Nbpo?jz8)aWm3) z>oS)8zBufY&ts5WQ-q>-e_Qu0m z&rVI-Ly0H0(#OUyuwwY+EM?-bHrl$`rtJPmVB6r-gS#Qlxy!&`^2A^D%3i~eST#8H zP>kf*2q;6?xij48vozI$ODu>%r!msQJ~{QZg(ru~qb}O>jTfhui9%enDy~HHs{+JQ zd16Pt<%NT7{B|F_h#(61;#Q|D3$+$>i8f%p3?9nFfr$mN_`vC?2b?eJ=A064hJjVU z-?z8zUF8PwFJ7MN@78y=iaiT4StbD3&W{<@urSTr#>4r7Up8U{3*ttB>d@v`TsAtP z9tjEEYNcSj**l-^T!Is6rRa$9i(dlp{-QtC`|4(f47*D>^pXa2(EB5A~a##*tP4k@ms*h7(eEmm;bjP zz2mp5mX{Ww>>9;Xn0?mkz1xSE3uj;+fvrt)vraN9M4shjroJ_N1aY>w*(%>GjbFFH zXq_zv#iTf$coBumEM#BGL0O8?f(XgnC{rHtO9YqJ=!gm`a;(X=*obOG$pcTgVY6dy zHZG3#ACst;6aT~qhHO7`KujR3VxG38k5v6oqig`7CT}Q3V9y0 z*kPqT_6gUJ5=tyHg?#^CV(e(cpT6dek)n082;wprrP!sS#Vu_HA$EMF+y+j0X`qM# znySqsR3mIe+Cyw{ycU&V=4U~5tF;MMPHna46n#Qklwj45S#6pM^Ks!YO}6x)9}ON& ziXyZp*?^gsN-b_vq^b~+(aSdUG7ZfNop{7m9h4_C zHah2BK~yPtO}YBm3%MQBB=*%``*S(TW5zczwvA02%?y7$u{@r6RI1&q#YT4uC*5Iu zigrE(niY1|Zjah65K%0%k+1tjQ?g8o;bzoQ34_v&1g8ZkXsv04jBO}F^bul*!{oj4 z@;=y8UTWUQn5+-_HrNyz?iL5LHC)y#8#E*5UGji{`pi|Am7GDZC1Md87%@41Q?SEAF+=NsQ^(eR^&NBF4TM+R zCJyEas8?fEqq$&C!P(RynlySUU`F4QMY8y_n_~shv9TfR$pcB3#C5NMy+6HU@3x;T zf^O9^!=PZ*m}X(oVW~{jeZFkbV{o=E^Xl?scZ9-(Cw*-|X+<&T_bbmX*Ca76E2Asf zC?RCKDr39ywTx;q3t?^GqoKZKnR>S|HqwluHZ(@ggad)X3ZC{6H*40T*FauvIm~|S zA&o)zO3CI2qj!s~60C4DnVq&B{yI<^jqS zj;RN^suDTN+`MpLG%Qf<8HRc;105&(a0v}bJFheEs_fYsRa2k z@DIt>!CSz;MgmQrkwuYjunU>U$lO0cu9z$EZ}Ei^|Icdz5umy>Q`ikWW=SgJT3Cm!8Q{9J*#gg)akp0C+t zI1aOr=~OeeDO1jj*>ZzKO{jATC?gnAxFGJW^H8Pr7k>EtFT0=f049h~zsOcMiUCWo zPSSA%7I`qdPTJs@I`T_=a%ep3Xq0n&dY^}Z6)39|TjkbGkE8pCth%?x`Mp;}u>Io0 zuj+lhb7tcHV&GFej$vEry1Uy`EiRphnsF7sUa{gMy3CeDb0N$6dYC0AtVqWetXrx_ zT8Lp%-=oR`P%Dm#foLjJGtEfupjq5oE}Y11O39z$jumGTOtR~i37I&{I0B0W&$aPU z35IU$-zcV^pN5qxKHLhwWkyAI_(uW9g1gJIB$sXm%GGO-l5yU}@QJtgMmCimQ^+77MH(d-q@ z|9sVb;~OJWOGcVEG3E#0!g?tbbEdITddLvXj5t>2CzIYdRQr0*D9%^~z3>R= zbbd^~@;I_BWtOsUH|7doH_*r``9te$=d(JQ{4q2bR1R{fcRQ_(R^0AF%v)zu#vu8S zIk{Xq*mf1eDt>YUc$yeCbgtr~(d}{X9PiHYY?|#@q)Fnkb+L8zt(&ezq{+CsDfH@^ zH>}?e-D4J3SZ$$r;hS2yZ=EyAa?cXNtGAy>n9F}T_K8UT@A84jGxbO*`GlM%We2&rHRVFaZN51*k zcq@YWVdHe)bZ#qm)tE4j<{DP=xF+eaHaeYV1xIR@3ZOE(Exn6}3#Z|TDLwl@4A*2k z9CO>Og=;j+;@0)U|G75{pWg?k3n@KxiY2Z%6>|wNte7T+BBjTavG+7(&^lX1t>@-6 zlBvsTmSA8ezRt>B7C^qjLQV@#YC|&8)Q^Rkp}KY3A3F_&X$;1&4FBxeZOvOMWRWmr zQ)k$!a|BTeb*jV=5wbDLtLPtmi3y_XKW)Tbu#BvrHf*@jN+BXU-!TjmGQ#>;37YzV z8X3(voAIc?6BCbdG>jgW2SXJqgwfDhv)&^%36rqE?Bu15P7|CdP}# zI1j@s%!a#QOKErZ&O2?tiNXPQE2TgiTzc#f&_Uu}yJa6f6fsdP`|b&l#2RUL8Vt65 zUMOzK?wE?)3NgaMdroS5^Ci2^+1pnL^+rsMSSqzlc9>>vt>SV!twvkX%9)eICuVlD zAD&_1cIv#SHMtdAW3*tHncT5rHY4FECb#O~lPf5cT5QCiMYAr67+KB}TDeP8bwS$Q>%Jf?APk%hlVMZpN6(bamV^vJ@;{>XUbJ(v(uu6wIoWh@nER`$x} z&B6G4kNyMu^B?~theHLGVzE@B7#I$iUW}FK&iS zMSe^OeQY@yWtrer7M%T69V8=yh#l-p?4`%+(Ri<-C;{5;nUG_VaPXHYP>(D1I8oh* z%dWj_jz@xt2ZLd`Uv*C<$wES{y=QSL)>U}ROC72t!Li#d~!k1(4GTB_+1VWZjh&_xWrv=q5^Vm217Lxxdd zRL^{>D*Btc@vQ_$42V)N)NNviL32q zp3U6xt*NVtV)&y2)4{20+6Kdiwup@X!B8otGGSB2riEJFYUIN<*2Xx8C<_(^(>W?7RA4s@4a6EE+^n~Md zY^9jy!l8=g(xfgPOFTo|4`c3*XGaE^*}6>dxY~T<)PMBHzq9?RU;n-U-u0*Pe!P>; zZ`m;4IdBL!8&hsJ=I*qy&!HyH7#fCc8>5`YLlw;meN^*@@iIN3y6HuS;~4Q=k-e#( zS$!84q27j`7vofiUX0G=A$bagV#B+_?&5P9(>B>*EW7eTyZRwvNj?QrF=7}aq$X^b z=!6aOt?ONXs{f>X8{7tiZovugDtgUj&nzK(lC&1%Q4|hgCKqEksZ#0OnUI`APMA#A zc~*jl0*i^SncExT`facu4(G#eJTDPw-jDxheeWCZgcbT?)SBJBIIVhUgL-L_jB1^au2HYM!ejt9h$Rv(wjv6c7iT(7 z)WwPOpr0C%46(F?e)aW_|M++8Tc?=TrsKn^diNlDSAm2*;*|Y{CF4-8k86ukQ4(h*J=3dh#aHZXZw&m#E;LDJq_Lv5;2 z1<#S?bt#jQ1TTH)a{kbxgT1NF>yAFyI+x4F3x#^A%)N5df!DZj$|5zGt0)-^8`#C2 zV=ZVjBBW5`bAmc5g_*~eM#@HVMr{ie)o5RO5We=v+|4T*d1#U%WS2 zX>Ez221E=vt?IVXN5EmC&Y5^HtnolDDv!8Q0@zE(`z!w?%>|S|KrQ+f7gDX z_s84HGN8HGlPywSZS#benR&SNbpsB4`X2YlgESB4F+(qW=-Gg_ihjQ_6hw_oTgk(?b|$S|le&f(W1ej( zl^N(;vo^HHz-D_S4+8_<^&jYcdpmgwn0dxYGQzs9ikrPu=cc|?O0C#%%AP8Px+#?> z3HCK941-2YAs){xKJkP}v)nFg*jq!Fk1#Nkm981dlf+|&%y zaj{Yy9}OEJ#*mp?)qq{C7hX*CYtb^Nnx#?%*7NS@$H~g$g9Uf&HG`MO<;MgstZ}N9 zm_6nGmqzrF#(*{wt_d=VWjQe{OY>Z*2$>=kSz6YdNk{hPW9Ri-6CeNNBK+PbPxYTa zc_(Jy6UjuJSGCX{!&{JojC$Q+vO{pm*jrkE8TFguy)2~KK9B72?8(9TSsTz_`_`Yc zpKmH#XSy``=^`$hVvK#hO1+YsshZoegDJP!X{|F(tHzqjZy$j-;gb>-G%!ZlrC^5)pfeFHyo7_3IQ#-iD2lHtA3#n`tj&*AZ!#N*HB1jfGMU^7W+-B@ zjpQ2L}LuoHq=HCd(^I*8OOz@ zWkGJ%dSFu)75pZ7EjETmbb93d;}o;$K%Hl7aT|+UYo;+3*)m%>1d}A!AliiyhiqNR z6XTjQmpQWvVlymC#R_7o<~{aicBf0by0D~$NLerm%;?BGgM{JAq{?OUYKM*QfB*ZJ z?|kPwACZNR+kJj;vT*T-Ne;*dq;2L+k|FY2q}_KSlV1v{Ci$2wm^>%7-yiHh^M@5d zEsiUg4l{jy&QuGfOpJa({mkKTL&Qp7PiUI43ir=GX1;lX6=OL(Vm{tt<%pLfqo24u z`yu#ME+w|U(uTObUHG{_@^A9_hyR3a1pgl#|5x_$zxyvS{;zy#{O|rQ#{ZLF8ULfN zjQ`7D8vmE}@qg({oPDH5ogWX!OFu2G#W}lAc!CIuF#3y~|E+-3u zj4Epay|<6=Zh_IvROK=cTE&JBU1TgPj4m5DMNizBFUI81x^u|17%s(?0eVTqZYB8m z&~iH5t*&KcDWg9=dZ9rrRzjo{ z_>0X@DqPYwF-v)<_Uue=*BFz@(Xm)vo66{kx&sCW9^))r`0--QN7ox&JZw#;@~Rvd zN7WUF>h8{M#}22H&aBKq#+pT1KQ8+-!#2?U%4a_Ct+VZif6wB)-OfeRv9Mq^*6aih ze#Qo9GVFG;T8#t3E*D1c2-8C4mcndeD^6AAbvbvn@*vpUdDx$)ImGeYnLfF2w+!0^ zmtpjq$!=G4YJ+Dn?ELa`%G3{1c&iw)%Ltlj@5|-_wC)|sx-Tler`>G%jmcY2$>_dF z6)YiwlQZ6!S#GNiL)eREm%HF9QwHF@51;CL-+0GIM^=!bJj9*&9Tmz5Y?(MdDti4= z?IQ88HDpFDh1U-gw>3CDnz%oA){x+0A2TC5KSsJkoVbGUUR?yaLh?HBKz6bfqOtKw zqH(_^lfC+uK4&BIQAtN+>dSNi`nD0ap;n{+!(R;S9;LXS%Du&!(|^N8HkR(NSo6f>_8 zoOd;dVcgDz+6H4Y2AN#qmfMz@9VuX02vgr>Zdbf$#@2E;)~vB?L2p5{oGbRHJ*B_y zc&W_YD8e>EBLZ97-W7CFoM|o`Lu|^T<;37VBNKnxkFEqL?0;m8U^HXf53ikFdnm9z zGVR0-yizq#WOp`+cxlN~q)lLRP*KXCYrLulny*`z-Awr6n%$UNpi{ST>O{M~OQ9hW zk-bwB(qv)nE60oLpSxg z7p9PHttn(=o&{+O*g|0g2M%Uz5f*ow`m`6g#-s%fpI2tm^D>q`oTvis)g`jH)p8k-$~EnjcV@F{a6^>@n1{&{Xu; zCXO4vjc(^l#WF#itoA}V zouLn@hiHSb1ccE?@+pH|-&P#EDU_+|xXCV;&Pgz8eR&Jy^C*L%2Z^ChuM>4H)J?<) zMeBAgF$`sC4=c$!7%N0vsTY~s(E@p=O<>1@d(8-0_gAk0H8QHpQ`|wM@~P}cFWdi4 zU<@}iFVG;OW2t=LluVmDP~ay$fU5U0#6dF5+0{D32z}WY~tfF2qTaWEw&D3K;Gg3A}&s>hIbQUVi`Y+7IG=z1_*ZX4=drJRDN7 zjAXK#f_?3vGDB@Ua5R}4vSRpB@yYNGe(v(EsEm!Xu+}@x(1__LS3 z_jr@E!~6#Dc>nV~2~0f!{{Z-R$b!h%Nw&zZk^9(hJUsghw?Q>$DDSGaeM%`{W24S9 zxD)3S({#()R$h!3Ov}v8?Lttve>hVwE03N$L1U$zp7Y}Qr#$)EH+k{wff1eJg}$DV z-r(luzzqG_Q5=xd*Rq%+AezGLn>~CiW^u(DuHT3727Z?vf!z$}4_%iTnH>SfYQ=&f z=W8lV1X$ylL5t3_w9B*Y-QE7x;s<0A=KXlPBUWvA7%iY!<#j2$!7BW#3Yv`1MzO+T zM^(e5Gs&NrO7QVAbfPP^#1cuQ&34Fy0@w+23|5fJhs988aDgT z)(orgD4T1{!?+of{Q*NiV(>vq5pfUJW$1J>A{N&-no%Bt54X*Jy|4Vv8nKo_`>R_X z!2b69?P3cDX8-!++}6OK$5&;18RvU6f0wNvhSk zJyxdbjB~KH!M10WSH8$g?-<>#;HzB5eJ%X46+S(`h<|i<`a=Ej^85ejss78?-qGa3 zwEMKh+JlN|fqf%n+>@ygK0v4RXkVk!=Kbe9*sVVqIhV-_SF617Q-^?O51}ns+u-?W zmA4@WEnN9B%9OJ*cwwE7&54H*1sJ^(?n%s2CeA$EH`+r!N4j0C-ncP~&+fZEx^!M3 zyX3+mO98M6(*~SsWmzhV8P=Ow>&ng1)rPYRNB3(eUv$#Vkt!KyDqt)X9cF!PcBYzu zV1H<@lEO;n7W)=!-2u#B-&Q^yMw<(EQ<)dDX{n5DXx+lv{oq^%6XGf%jP@4YZi9nEbFjSar!V+ux@*r!3f2vv0aaYh@wevoJ}`Hekp@d zJZ(1>v<`dL1G`^SzMtQUG2imWa^UfTJzvc3j+4FM1Bk|tF4%JgKW^eU9eMp`){|-F zM?Sbao%vMGF~1?M=A}XBo>W3xE%;P*@PTg$b-dc#H+8x>M+Ku43$wKD%M{^X+y!Ic zk*c{m6)CzsoSJ$RDiwd(8xjUiPjW*?0OXQ)Xn+N!y2HFUcs1__EhidoqP^MZfQACAF@)cx?`o{T^76DA55qHC*}QQAUwp54wDaaxDA|END5*A?)1q}Z@GY|_|H+{MPKAbQjJ>@v5dwZ1o9m)yTdOj1)s1&Q^Xfc5mB*lscpn@qAXQ4%sc|dRU`V9*I$0| zRR7)Mcfz$>k8+PIP`0*gf41Ey6Pjwi=dmTU`U7-jInjR;r2m_{GTTXWAdXJqFiEmdR{!Vm8})Di_vm zunoz9FthLi)0A8#3H4$0m&ILOKiTWLpJkOV_A=KFeNs^!4in{2ndh`1G7q%~Gsdg0 zABU0roFEhup))6&RXwn!;s?*OfuOZ!(esR5=ZYrqHdD7uSTU{EB~F%YwGQfFjbvE; z@z-X`ZJvXC>sa5>X7i-_=)iPSviNZ6SaX$r=A>LI0=I~~ zwx1k!1oOn`gUj7OFT$|o)~FV!C1VP@AYq~=DsxmyD_U4-HISL+T2KeSbZl!x8(5?b zjIx-O3e_ztcD|jgzw^Q0*WZ2Z+v{b+OGZ-{E0ntE@W?Hqqi`d@B4qtq;@&^Kuw+$@ zf^d3q(t4OBmy}eBD25#;^QoE-)bBUONE_32-I~a#+aqaN(f7aqeF5z|-}%mOkjxGz zZ7l=%CuDJB0si>@_hzyfa!VFDAQc~v_(Cz#$#j`BSxhA-nCbKh4EQ|0jFExb-x zi0%20=$DP#!|SxZ(Zbl)MmZMVc=Hd^w$HhF@^#E#qiq{^FD~3nE2rllGanx@RIpls ziOEEdl1VPH!q}Lmf-_&of9o*SkM{B3`j;60t)DUeM_(HMqrTq1^}8JZyT6O^Uv>Sz z{EE;2uUqJsem};q@A}htUvIB6^Q~|muv%tl9joYvpiQod*}+Z6JuIwyx_rlQvyzMC zF#?aEMN=QxMY9=`l~LHvolC!r^QqB3Ud7w5oB`oI|3UlD{M)$W#W9m!EWv>mmGFM4 zHmh=r^M*NJGx3R6yR)WhgD_9|Q#C#eaZ;*VRCDiu#*6Ou!;qe6;u~gWMZ9nrMNp+O1yhlZbOoXhvmYZq zoti&;vGU2O>GZBW?O#6rz4pkgxlP@9jMQz@?@V2n9k}ZQhNWH4XUlOUs+-wn90<(e zxrLgHavJu0biG($6w~CgjopJkne0(vdTcu0hiq-$AKzG679LCdVHNeh+2;%q&dt5^ z&C7)kLo~sBn7DoOz-yD~_`KQYpRPRLF02F9)+vN$z>87l!KPpvA})boy@5rH-qWcItgSNe=u`pP;O5xpx=K@ti?Cm1$i~=S=BRD+_S_@k1I>(^xXQwas zR9?RR>4$?d(*^WS>0?)0#9p`?nB2@OVNTPoZ}P)-+Z zy>k)T`rtXiJ!pN`e~?AL+{^@`nNydU$H&>;04<~Fg*C>dFl%63IJ5W44NS%)FmqFJ zCO5l{{rVL;uR+`m`*agy4t@5}ZQB>VpM35={(-)C`*v8fMz9hTJ>gHsXZ#O>a=&r{ zyT`c6h1lq#Jv5#Nc2^4A8#kj$G|mJouw~bRaV>tl>p%FZXK;V^1+@3$9W0AZWMPOE zG2<+wa=16UvBBLK+?^ZhqPZD;5T}NaJ>0LHddjqAxBO{7<2O;#*HsknJ^vyBpulMx z{P6RpayLw+a4-{dF|Wl+Z&+(mTo2ZTg^78qymr6p`P8{{)13Px#;Nge>9jpg(#?o6 zvAMGq>{87>y_sx%=Y#aX|HY4g_4EJw`0W>c=%H3Sc;ydS;nCr!KQTA^-?i~RS(w!Atpsmwe`u45tP}ZKmFK>LuyjrosY_=PfhMA>GZ0FP@5>z{oTtBn-nXmIe z#jRDi52H6>>&Qr3bKHv+-_utlT1eM~oW3i%OsUl=*%_A~Qo-kD*a!=28fzz%F^HjH z>kZ$*jwO`W89PsCu9T%Rm$clp5o!`d;O186%G|?>IwNA&DoF!n(ew;s4XIoh2IH@s ze|7#oI`D@k}vM*F{cA@d!b34crYhj3MoF7>`Qj>sELe@N6_YVS>R0aiZ|> z-gtWd%CY-X0r&5hw|~UomJHY~$S4z!%fjnExb1@r@XRcuX06~c;~_-5@*}hnjK~Bt zjYylod;YY4b>4sLu`^Fb>ulRlyM#iOS}T(|#z=nV&gB~|kK{$tmERT#T(wg2dm=LB zVQg4V&uG+CQl3KqUx{5cj|16CO~I%wKD7a3)A`oqda#yppV-_BE}GF>jwdPRNG zLEXBBop+mWSQaJBiz#g(>HEA38;7CGO|Jj+7P?Dg8i#|GCe5u=#+pjj5Y~j1Yv*2A z@nl;RhgDgebWqJ^MA@H#l#uRdUv1zOld}vHmrdIjr}>|LsVOKl_3LlSu?aKV6<`$H zri^;^0haqM5KQ~wzok`2Jp~{6ZB1PDLa%%W|NamEzW&zn9ckxn#DEyde?W*Z;kY|K zRciIjt%*zw(P2t(v?Y5_YtO`!5!huDy(g4c5F=;`8hLOW<}lYRloXd|0R%1~wfGX; z7_J{*Hkb@^%cxdM=xJhrgdPT?n_YGr`_>2j{IiN5z`LJ4jrSkD1KP92CJyS-4P=J(+$pl}t8G$4#QbWzM5q*dL2>l%l#7!9%EJ*&x1v!Rb1g?n`WI2En zO_6#~PgTV#j`!X(?7h}{pZu}*EwaeVp$7{IkQX2dMPBkfd!Ie5^}Nr3sUvx?$|#j4 zeGSwW^t0Qc+FJ&B#bgnW9l@dnLk*}^8}go6S|S*Ir+Rno%2jZGAoa=l*B)@=^5x6x z83Y+=fW-xxsp<2ySloN_-~CVX-|J}L#@A>d%HjOqAK`xL;f?vE^!q)Fy**Mtz;usp*^~BO z1mN)Q9nPM6p2NeN)ZHOg?$LL~^58kT;S5-Pu>Xbs7xjPbl>V>$7w*pwsQ(uq=zrr$ z{S!1D?mu6Cwy3jEf+fqUA!|*=su8P*OJlz`oe5x792IPxt(n)PV5g-w1(t|C75tZ;- zbmYahh7LRNZZZx_qg{{Khn^3Q1wS6Ba)RUw6hO%+6n!Tf?!~q;m6U8SBRVXDYnly5 z*L%hLA?U?w_Wu50-C`M+6656$-aPfe`&?&b=iDB}fT@!hFrHH&1!GKc-onYOR=gBt zm)*sgqA7%`9I~b;EobEZ=9IZRiKG3&x`X|&w=&zsjkc^+dFWG|T?OA3?bfbaRWhsG z@`=NmY_DQNl(x}Wra61uAXMR{s7y{&&?-2aS?g*E#T>0CQZ2Ham#i*>Be(4t*R*H` zi1qf?%M0gX>>_=3_KKf8oUF%mR;F{g@E&HJnRP?QV%h0j!j_}RjJj8fd1;gGC5`4* zyJWWL^qea9Hkr+)Fs&y0>S}3mmoT!zX|Lg5*j&@UU0%#MM>V%N%9%1hQt4^&dQOCX zz=mY8R{HHurOLv*VFsvjZKsJTLz@Bz6OmwTyYdMAc5)h79n%TD8{xCQe59@W(rU21 z{e`WnbGX^som%95AT1O7i>T-4*W+$199Ic79e>W1j4@%FgyorW#g%ZqeAzF$wFONQ z47spLCZf@+vXwKD7zjAVE=61P9S6Zkr7%vFO$gLwN9v6tnSzvtW|5s7@lC%tQC%9Y(}5mr-B+(~=% z_Hj&KXUCfMVme3Zw=(GZi@DaY2qG* zd$sAIgLN!9jaWM-4pja8l6^Lgzc>sYGTZB<6A?8v6Y(vJJ|(X;=Lwr`iKx^$Sbrd5v? zOFKi6$AEQ-p2#vrKJL|a<4(0y>YU2uE~VXQxw;+8z`M?d)Z3z%e9Y#!%3^@? z`?f@(EGEXAhxZ*}ZXdb_qbQo8w$Ue)-l;$TceXS)xtkM{6_Ae((gn!f`Ii=J*T((N+kupk+U7FgT4 zG0YQhMX(g`;^fAdG6~gE+C^2KAb$Z^Eh7rjrZSCLH5aJf$nRYu3`r>(gM{U3*aTb&&FUxxhx{@ zQ7mfgqFnIQ6Z-|7DwJ%RGDm93P>YZ_TRRjgTle|1RE`k4(`Ww=RAEhH6&*D0Jc*98 z!8j|QpXJ8U(3?_6vIvu?W%k_Yg_4O0^C6indXtO#i{sm;f?uEc_M85H{`lqTu+(yA z=M*P}NL1rbs8m@lv#6s5q@Kt`X;O#}jcEZ&&L1*Q@{r7iWe5lRVH1rhMwQDSy#0}L zzf5+NU6!452HB!jxgsk*?pxm9R;(meeX!aG5SFH*;-ikdBa)ih-`X?52@rehXh4DG z(c~zMj(;%Oc)ru7r)}JSe)G1j|IkY|Y?LHhDTq2X%SAVA<0g0N*bJ1diwb83LTC6< zp&YhNd2yONps_WYRxyQn+R&IKRnS5g)(5PQqyTYhpi!w6&uUD<+Sc98Qn>}w%9^|&N?36$6rK1($$f4*UwI)J zT?;-4f>0}=eJ`^)Z{**Gk=a)2OC^*=(L#tLkQ==8AbFu;4svzR8K_$nM%B>%RYCyk37ZT=LvPkHZ{t z5G|5wAhcV6Tm>Eo7KoNG3KI~B)-C$5G(%Y`Q=FM6k-qh}8)Vi>SegaL> zE34jY*%_UopS$^%;BrgmYj?y6$nl?mKc#^b=YYR8|Nh?w?$G2dcWEHVEgB1CJ>M+v z)1)zXX;9;e<_&Vf06AF~8sNL5TkJpg35KDg*g&W|rsFN!-Hs5uMziaCwm0t(hJhGG z>JojwA}sdV9lZ;6VpzREG@*J28-_MrsD&3_{3O-I!I|?MRc9Ci=gyx+ivz}^L-MqF zQvVwd^}p~})c>`|9RF)E>Xq-Y|IZ#(|APnmzcTm#;{J1=_|ilDKlP0Lzw|)=FMcom zKU87bLJ?RY9n5%hslC0Z$oU|S7Sf@dQjLymG;V^1%dt9R%&%1Fhp|6`$ed5MYy#lcYvIn+fm8Xe!%s93{ z^CxPumwY9hj{H7c^Au{j>K9c-S7!sJQh2|LO+kBIB*Z|7RU=hjDOERPi#r@V@?*I% z9&R1%hrKhaFvWoQ;Pig`osH8@t@);u(wHZUWn7+Fg-K!?%*%gw_tEKFif9S<^2k@#nL8@%Ow{5`wbxGt?41DH zXuKF<7maL2XQBq@gQ%wKP_UVGtt0V9%>9fGKrYOm^TfVTu@Z?Tyxl zjv*Hd|FT@N&-~V7A3J~#%O^J%}>X=&}1K@LkPC6l)Y{BQ_AR1V*z5{BWXFPT%#5Yu zlPYMfY~xO?;i2Sdk; z)-?C;73a`k8UntI3@&PRa&C}Lm8_&lJ+~Las<$KsXMOq-@Cw)bDwi@48TpEWJ#W^G zzq}#~LW%Rh5w6`VoAEBP?8K0b9;XtiR0?f@w|gA(^?)mo zEU}{FfR=2c5E=HD_M(fj9Vt_%7k$IG>3H7u_^&zSZFAl7LY%f%56&oef%4PeeCv_x z{)%1m-%gjd`%4SUE_}ny*iNp}j8pf!L~!E;PnL_6o7JMCJ87EarP$V6bf#N0OP#43 zSX9wR*w$)ybCds;)qw2}!J`njTL0snv^SVyq7aL{lTyFRH^hY4k=( zx5YqOb_|_Jn`(9El&Q9bYUx?c_h1DJ7FdSJkj(Cc5B-1PO1-A5;gY~S8tVGSiK=cs zB*j(KB8csgo2xM;RGdgaK0D$s+Tt#3Cym?YjU{2qCM8U1Fn(|Ev-bDzzWvDg2YBJE z8CVz#;b`j|xm4ZUkadO@0qa6z`XCjT)fkB>val8xy9KuhgnSD5-LW#x>a%fXz7feN{v}xPmjd3XV78x3>d7jL2)6(opOgahP zo=IcRav#2UHh7AJT-1+Sk5L+;X+I=8I+~aSN&`da=~6To%2VZzwV3e1jI{y3hYli^z7q|Ca<7Cf1$_UKp!5>^t&eVHTr;&p>aN@q?bBi#iBK4$&BvA#};M zrQ*E*_@00JtFPDJ+P~yuX^bsIQ6c2olI~p1OuD@#+L;WI&~=uEs1%HnE4ya6s@!BZ zXwjRxWZNO(KlvALoDRTz=gs`qCtf<7CN^WHZyZMp1ex~uWF2|mVJV=C#t^NOk#l8B z))9d~Y7!{aZt#jyV@BatDbyy;+*F&~t@Nh)3#9?U!OT)525B&#Q*h?voFMtcuD17l z?30C6rN)Z;p%v~CRvH8>F5TQC+kEa75zjyAlmI{L))EzxkkYoj5H(Dj6rNDY{T67X7~3-V=bjI7*zU>frUQw*>-m>n!bm{UKT<0k{b zKCC6 zBaM!(cD8E9g*GKa#ar^SSHdpQ?Izp{rB;H2*}$TK4;l&0Tjg=!%dh%1U5%IKoG*$@ z?q;b$aj3SF85=KLQL{OAP-AQqm#SmCDr=r2h(uw{H^~|?R4cXb@SnSR`n%_q_1pTx z=U%QcFioA(Sg6w^Raa4yb;S@){Q49shFn!@K0sz>ghrPsRip@N=KUhVrYPUr$@T_Q zpG+_82e=8Zzy7)|U%q@IAAb?}QJP8VpU)rd1zLpdPt%fI-ly#z|8oBGBjC?y@1&Cy znT`f_tZ2YT2Yj0bp1i{h`T-#=_PP7sU$WWms1AKMuy=5du2w8`l+tE#!*ict7!1aV zd$-=9>}}}#C3TvxXw>PjX{5U)?wP2OG49hX_V6(`DZ%zGvFmU_IlfH@9Z%?g($~=ub8IhF~p2!dSc5jbf8wm#b-N6UzMRGd}zttSjMq{<2@>xLVgcDsA{wX4At3 zF4M?6xW*8yXk|ZX;yG2uwewz=!`+qHPGT!Pp8EVZ|Lk=E=AT}hOXZ) znM_hMPM8;lNZ)C)8yg8&b?weA zt^9+#Z;QK+KjvS`*Yt-6pWAgY+{@Kg>w6qeE|FEtkemaD(acWbNx=y&MK5xT%@iA< zQXA8+Hkx$BDC?~8&K8~Dv)TvhPu;o?#B|ZZkci35w$7AWG@+$n79t@{*0HU@yuoN+z4+!PK~P)?7WGC~Pw)TIyKm*!FMPJ# zJ7V&x2y|@t7W@3DB8ic0?%CfJJfIMR4Vbd3jUZ+Sq^DA<<0@^_Jl}c3mBC7YvUBpU z=)MFnm=S^$YLf}HyUPHXs>n@x!hBy70v=|-QAn!ISk#Qr=oQoy8wlcg7O5av7f?!I9Y!QMbhXO1nXy9j(4xW3D3;l%F$0Q==ysyH zZ2%2DJv~bjEyvAN4W@aI+Mxwo{>>a;xZ=0WGxsZD;; zp0*YmaMnfWlhHlp-4AfZuIZ{@Y_2Prdtk+af;)Ic!6c8?wdb{pg5lmgStiGbL_|M> zx!Y$2KR)sq!u5RBFGd1O8VfQ7s9nHnnPp8bDOegs3XOGT%!Z?kc1UJD^OF2D-@%Xc ztJnN$cd0$?gSmuiCCmwMSW81{`9nfzw#*qBYi&Ly?o?qJlh3l7LX%1Pm2ll3b-w#( z{q(oq@IUz*FXt{Hd&iK%?eX1gI+ zWH%N{*^nZ1-I8fMVpx2F;IObC!tAYO2n!Z!+=9fQs zGe3@b@^F3by|?mz_}EM3_FYW|$r^(H9|`*0=-f_D&S(C@POy<4?G)<&a<_f=f9G3o=(oF`S(&vN6kZOV+3ePXRl#w6Gd1t|#)HoyK{ix$_o(XJAtZ%6mzRKG02~Zen9T7(t_} zma0Ou^6K=_m*KxTc*&k02q9R^1#Q;u$q7S1u|q`F5^PH%IJVtwlqD8azD0XcR-dCX zIZ+r_HnWN=(&9M_a2MlUnhx?K)g}2dqWzA8W#mN{ew^)Y28+FZJegKQ<*UK%_EF*9 zuIOe}yViu6gl#fDR(2A_E16)TBVe-8RkxGsYB2xQS6_b${|lZ!8_LmEwO^7Hc_9w; z)7tJ)7%`4XEQy>G+}=)pcPw^O#tvaLq1VZ;@A>|p|GscKMhcN*H*_p5+_g||=YVr< z%hzIdEm`RII3EI&Rd&ba$r)4;X|>xy41SJOquD00<`jfiBf4v}0`YsZc`(IIYk zDy8TykaJ<@vTRYJ`Ia=<4VM3Dx?Z2w|D=BUTW^*>`>!q^#cI10&2yU`)>8GJnSFp* z#Ad>=!0D$(h2BA1VOTSqE>jhCWK>{u*y75<%I%G&|8b5$KdIl^`>gFJ;xe&_(!x#U zI1qGVhB(V$<|))7_4F0CW>;51A+RJPw`Egdr2I>WFK2>s_C}u>>ly!+(U8U6K6xj#DGSUr6D+LY; z7ID@Kw>+3a3M7e=#cr&WvBKJHLb^lSst!1LwhMMpRnxL)p2Bz5j(&?Vf`SKgYle`X zA{NyQIZ?au5)J(6dJDmj2>RXOCH~>P$G`he>L>r=jrxE6^_Qovv$V@WlN3XzK2}>$ zwVAStn-P=L>}#3iEv||tk=mL)ZQ1|$GGmfBR-s}nkg#A`24mJ#3%N9KFvQLlbm}L< z)Cb#ko#kjuk7HguwsaDFZG~n~X+y-$1SOfVsnlJWjgKQW7@A~bp~aBehok}g7st2j zlb9zD*5w<`3*gJT=ysA4wB_q`?5QA4XzG-LFt1d#L4nCg5&8*5iGl80b6bY=?D=w<~m-cMaI>*yjZ%0zXin0@F?)W!}5 zgNcO^YiA)Fr(P99XC@==Djz!e(AKUt^!U)37vW*sQfa_UjriZRC7NB%1wl+hGCx>` z(8b2I-EE{_JwAOS{JUpgvgbN8L&0U1C&?$2P%}J=n8#)kDr*T@CC@^Z6UmH!7@2+Y zL|%EuZBrw20BV9Xf)MD z^H0+3-6RrQV0;SSU%uSD^V(YLFK8@{uW=uu{D8*rc#$S|`6dk%Ih_A2(d6%Exu5iMhsFlE4g6;s zTcn$Rc8}%@(gU~0x*@V+b>>XVYp#_sbgb9Mbjvdg!-DNNu|7T|#7MVy9xu1Zb!4&J zXR&_)d1gGm$NKi4kcNR8Vxzi_$3)vln#h|iLud4>^Gwso=GJ?V7Py7S^}o<9&)j&Z z|Aoi&zwto-8#TlWKY;$PJfZ()?&N^o07^ z@4V^1-CfF?j3={iTgPe@^uxh9o27*UR$!B0w{Hs8{`>yxN+kcmCf? zVj<}$7Az+%OcYhw9On=uGSSFTDtMBGc>;7B14WKWHYwUfu*`XVWD@;L`K>kuPZym% z209kN1;h;sqmYX55j|HED>+{!vja>{^vbRn@4HwNsKpuU$Xc{T{3O^`J_urWDCw^8 z@q&(cNR9f!*$~E}bZ;l0w%$mKW~7AeErPFlgi-EInyNEN+BQcJOKtf>slt-j^{(5i zK9qBNA*4XqPO2Xqd-;|1qu0ZQGZ0fSL7cL@PF8kVB{)@;GB3Iho8hWlfj}F`EZhm4 zG?6FQYYT^4R_n7j5ZTD`IYdf-8fT zKhDJ0sT?Avu4geUIEdJeY&tlj{0|-@d3dDXbltBGmkRSBZm+Y@b;fR_j77OtP1YtG zogso*h@Gu0FnMHKv$jo$Nx_@c>NMHS)9P>j`RfxfeQoch=pxMeZ5Zq1K5pG^v&O!>2 zV2J}W)>c?M_@>}8YK<%vtQ!Kg6l$#ora;eGTq6_fI@!h(S%L9qzV*f<=jK;8*YqEs ze_1KCWSK7FWn!11j&737Kipc(J`GrlE9?{M61l6EADA&WcCew?jDnw7Kl80O{5MyZ ztTgkv7Asxny;Ww$BkaV~t;OPkTQEWgAt5)jYRc8Dga`|>eqk)4HN(RUA&6Zy8O@yc zCKE@D3}hBKY2I3fdCm=qo`L5S*+(3cxs5ZbF`i2m9@}EM%5ha{ag>I}d>MKRF_;Xw zJcxVGb}jC*rZMBYOlM{u63b=JUILCX+}4<9pNaxdn6ARcrKUC*9^?P_UhD}5%%_$;17AFV6XbzSW)Rh;ZHt)luDdkuYL zv2j&ZTdSE(DpypiX;-OJV^B2tl39KA31;t4s#oJ|25p}aA+-A=Dw-%Uu&PZ~s!|z0 zoJO~MAjb%c&XNLk=bB10fpyFZL4IX=^xprOZ@r;^|NKkEGut{53F_z>2pAJ17%9Ne zVFio#Tox;JTQETg4FDNTEJ9_hBF;=0%P!o^LXf3EibhgIHB$fOi_mvj)SO|s%zzeEAPy8EUWsc2NdjfPAjj>`CbS!DN(G!pVv|29A zg(>z*H86x|l8Md@ZCsR$ zDUygMECg#2SkbIoF~kJXsdcic?|3Tn;v+rV`%%BKykzGVA)Z}WFee>u$(u>FB@7V^ zS&9~y3u5X}6*-8lH4>N%^DDb+55B9utNOb)-}K)ZE?LfV!dH`dQDttXG8mND=-H~U zOjrs{k$=>{Aal23X0sCXiOe6T0U8?`JhGb&PUf)0iU%G+B%TUs>#(A*DUmhc{>0PGndPSkCxv;?}M2koqOV zYM(srnzMB&?43Kq-oeL-(Kx>ORjgYw41wjrCt2TqhsF7iF^+4tci%yR#d1NnSkf;K z$QD@cox!?Q8xpksHy-GJVeWt7|L_0U{-4@A`1l_`(En4<(Ep45^59Dk^uI5Gx$^!s z0lR+@FHQl91=~-7<0QEvUIS}o9eKqy@jH@LnJSS&AQQ=Bpw#N#yD1d(3)}lt$A1@J zvLTsHOC41XzK6Gr)0erYtqcNXv!q#p`K&OtfJw#&$75m+A=vds%ao{4Dt z%vGUHA~AO7d!{a+ZAH=44Q4rs_rShWuJ~IQf+jhEo^HrCa2`eXi~wgf;|$o``uPU-!Dy)SF2Wt$}To0$k-W4PTaR}d1)+S;FbpmWV>CNRkxJsrr|(Q)Q(U6Ag;i$&}Mk8DMTgvl&)MGAq& z@u2A%y9h(Fdqos$v6?iKGR-sIHvKuu)}mgEP0OXR>MivNtp@YQZT|nxciz$;{rKhD z((6rKG=IhCduI#(+Ad`Wn}S;j7U)R0X*Sjj+~MDHvJf+~v|yDMoHwJ_$On0A>soZg zn(dXNN2d{2FI)`3{+-B+fSxn^4$g5d+}dTvT6m}HLL3gl@}M(2sFLtM5J+A4JU) zoDa|2mxoJR+h;+00pA2ZV84wP+)vbb-)CmN8HcE63JSMn-~7pmJq89gL}gxHIifvM$XG5`oDSrfPDj zW}g@P)(l4_20=p9u|N)VM9%dl@6C>b%@eRhpyxc|7GhT?ZKjbjoowz-sh|1Q8~#Us z{cLPU=@T z*Yq1_E;Z{uH&+$rG$X_lmY2;*3ADJ|)xvoGATV?Ucgk+kxE)ohqmqcVvq_QVWOT=< z+rZugx^m;%2FO>##cGutqj_9#U~NN{|Vf>x=?j2pr#=v>oR}n|bbQ zv^dNBy)OPAsb(eNz#v!Kg#bfPJlnH8=-IbK7~Kwcne|vTf&0UTqt9Ab@-_eGb}26c zobMD@k**p{vR!eqJGF?gnbR@7C0;mg;)DVCeIEN2{eHRHUz{D#n#3a})J1xlM4~k6 z{mhdv)o4L`gT=nHZmKGGc3#GUzdAm7J@Rw6-m1UVT~e*8^w{jYuw*9k2g5=j7O9^a z!>@RQcY>NBXFsz>j6lqeTb38c)MOww!+1lF4>9v)`J3OPBo)wVq}Z>05y~%4D_j|x90d!l-bqEa-B4(Qm-7h^~JxqaB&zR ztsw4W>Kl7=Dh02_rWmkc2yxMyg+N$kDo4)o7UuMs6Z_f5eKEirDr?rHZv^~t%$FzC zKc24X-@ouu-4;rXgc22SO5V)O%tS}WfNN7HD;hPG(2|J46QoApZ3S<#^07@CgAX=X zuYtgd%t&RzP`4oU11SabSSibe)yH{mJgr{b3%s}=B*AuSfkNKAn=q;N0b6!WnrY20 zV5~;=u7U9nr_FpX^^4;*UA2oof0HgXwq-P{U67g2oFhXqlFsxR%pq0PJCkKI6);Dp z)4da%*gxBV%)9TA{fOn+kKuJoGJ`%6x)o)!V6oVzAC^q( z59s&L(f0>nPPf?OuxtqZ3)E>%2$2vvrZKZwAF(VaSWqJMJzm8$?ruEP|HgRty$jz( z{|kM8aAWR&;jf_oD~rYcYfm`-S02;bFs8q^{eArg7xe|Z{yjZ(9#^w5V)+eSv@h6o{paB`lZ!YQ8UrfH zR#W8bHSk`J9L4ydjnj8kzy5!}?*Ht^ULHBrG#q=}>!gKofN?Zp+v@BjO>)9EGwvh@ zs$&(|hm_?X%rVd21pOsh1e`#^V~54w&N+B6c1|b?^aRU-8jRdUD}7=JvRt$7=B&yB z|MkCk{pn{V*a-R>#=AsYOO#USO7k|^5%nI0#!hLAuj;N7LSkF?$=dZPc7iOKwpG3h z3b{RG2Ojpo0L+^4sLv82xy#&|IZt3(^_IKN^!aapRMK?SE;cGKaOf=_$%W1)M+%;z z>1nc$Pq#lm^=E#eEx2^`!X;C4+!qs-Vm8O`&Q@zOYx1^bik4zv83J8~alK{yH9!5O zs3ut8MOWmA6@r@YMoa4%QEy0XCLOzPE8){?UJ_k!DWF&&|*;nI4w? zJWE}A=Pmu=k9=<36?eca@uAaTP2L23@Fy6-+ z6DzoF2D8IeXJemOpJq7vwEDvCn*QWRF4r-utVfPos-QL1dGm&`MWpuV$Rr%QTTEl^ zC?qo>Js7q7eI0AK?qBvxlbuA#wnb3gWIK!~m&Sz3fVz%@=N38`WScH)eW$Q-F;Z>1 z;*SSogyMwt$0&EO$zoUARFPR{?(#;9cUU*`3P$Fw_U-PGd)1Us@L-*^0@r|>k>cjQ3P1pS4&wZG7QsH-pmyicN>*oIphu0kNtMQV} z(4tAgY~IVs>WQCd7vTJU;M|^h2-G>9LF=7-JxWutkd0l9Y<8yo33`_X-PbgIb97wa z_jc4cjT)!1oraAjZtTWrY&XWlY;2=(8r!zj*tVU_ywlJ3{rxdmcip>Y&E9A0+0WTW z%Xy&c)&4$32B7)zGse+pzACwc8{OdsLGxAi2n2tODok)gM$ASauR`Rtmt}gm zSq7O#0W6CrkJRn3pzz9LgVli*9**_j#yqYAwWx~FWvUStY`(&utfK`&I)4CC&9{># z?mh3%BruukWA|}yiC}!r9C3>t--th!Da&z+fYF+fDX zuqfLp78f<8xRJ#V=Y<7w1X$19Wo7pRs%5$>KeU^iih#Y4`+Ujk{8b(5rCLTFfeN(h1_&uj)sI zt*w8XHlBZ%b&J-doLrRY`@LkV7PpmOdTm~MRlPiPY`(U28Q?=Xepba(3y5_X#3RQL zx?n9~+=HFVZ>)E~KKZV9(p9Cz#fMs^{CNR6YJr($WaV|Sgpig;DUzl|&Sjf$MwkU>Ehl^dkM!XIq9vJ{SQR)8)$%>ueZz9n_I*&Q-#0l_+7ky`Hn%p_kv z{^16PqGCYFC-};lYbWfiD>;r-*0GcTV+N7PYV)& z{JGB{eWX^hvY$6T0mmjK-q>$mwN(s$t{J3JB{{E@b5$i>=RQku@ws%t{Dqi!Fza}G zqRc;i4WpAL)vwCU%fWD6c_BCfG7?S`k29IM>GB5Z*6EDYK`QaFeo70A$e1S_kxQ40 z$Rw;;sQO1har*C{;gF*8{Rt7`W`C|ttA4;UT-YIlp$-aVG3kfW*}6;bB^7#15n9yV zE0?55Dsj_?(MKdjLKJ6C(`MfF##z7*)ZW%q2IQ^);gK_^hEvK7{m9uwu0&tr+C@L@ zF`4zfU*;ehtl!Y@^IpmB!ygJ2q>Fi0LdSZxI1b3KTYL{{Da&H|5Tg+#aoBE^PQw!_$KS;C8hqvrjT^Zopm z6Lx$}An{%8d`m0W&Qnx&BN&|&LUbjM1zO(5;L!N&?cNkZePB%_b*vWOzCNYx!{Zj1 zt!&sB==OPg89UTpVq>CbB++0Em3k5btLpb-Ja03i9KNTa7xlZ4YdDE%-Sk>TYfG2N zlA{)~;iTj4JXc=%1ec>?{^&8UYye{15qNxgTED`iPDDhy_8}D{rBg(V5OG11`knsV z^(WWDa`YrHcTbfCp%<9>q3`;8Nuq%$FQ&u{5@K14><1Zod1cv3261Y&X0`ID4`o7V zRfKkx$Z6L&60}MjB2t)%1{n;;!noLn*S$CSM#&Lf8hTKgoOW_#a6DBfJieqVdQ*fs zed$PB=uzK-?HPEK62EiR6qQjUb^42oqsWVW6{RE+rACeGRH~#Dr^XmXIhpyefZVoF zoKH_O<$3`I$*1IDCvxgiUo(-zz>4>)84mO@{>6nQx!eMShX%%aPz12@6U|V1!@|jb zk`v3rMRzk=H~TA8XM!p*0he9GZ{gkrDyR-HdJ!d2xUgCeYD&nTI)xGC5xsG+)OW8| zeBNUY%Vz8iNbzwyza1g$$pzceQB%aTVZhl{_-R3vozc@0hS>GSi_0;u0UKOkpRTV= z?*pEt{0iWLEYyTOMCb~3>9?&BzgNVoGTZCxgsYP5E0LW_G@QQnmUzAz`t>3q7W6Xu zV=|bI7jEatR(zwaz!g&EBDB{JGSr;kz)~SYB^Q<5Iu*50$u9^grUDhCuyWl4^ZzI* zG?Zl`3KsSnOmh7qj~v&o?Tpr5NDP@<=xm$`3d8T6qbke~jf7KF^}oy$4~y(BAAo1T z#EU3>aG3l6`Lv2|gMlU|$H7s@gJ-6Pkqwg>$LK6&<^#Rb2t0w1?q4QJ(VYupkB#U8 za;mJ|~uAgU};?RqCOVq|o-+muy?n+mRzuF`!z@ZsitW^r9n0_&cED zz!#B)Sq7QrY^C6`bz6P^u>}j;M?^s2Nc3A+A(K~`gn)qHx0RioihR6hsjHkI!3jB8nm#ptAuEPDZ( zT4_fqc)i;pd)89)(=dfWx#@=k(`2TY@)1fFO0C+s!760E+JzY{Q;;sL$N-f)66w%X zo{XBK9WirmfhdDW$9Q=uQ;>r)Z%j;;Zo#zY zz^2WsBT|@^q*x)bV(I&03hwB--J8DW()0%(T#CZbGNWg?#L-cD4Md=b%jBCyKWW%E z@qS53%3i0R@ZR(`2uZg%s$H2{-WL_YS3@)3B)-sat%~3Jq%xGV9fnfO#|8y8!!_bM1kXzv25RV}FQaY?Yz?@AXZx zA`*R2$@eyu9L+;xzl02++$RQ^@kG(lhAZ=zlZ+g=7y|?Cjf{bvV6;9yneQnZMTpcG zHNjGn)Q&nO`z*ekyF`PO6mSK?7AlB3>V3INGVi*D9LAvKE77Mg;cpDT(}5B}bj%py zXymA$w?pZ4=)^Iw7%)M9=Cr9chKHpDzgjlrA0i|fYz5-TL)#RjcNynDs5I>65@H%D z%R8*dy2ws6th};p@eq=8DeN|Md0tpysMGCN=1NC)r-@j^Tl^tibe_4lLM%J|9yS<% z)Y>z@zz$<*-0#KCnW5COWCqtH5JeS0s(^h?kgrRJDNRFvNK21*)9;B8mo8uEp4I(W zW0N6eL)nB0u7L-^-d>TW2ZNUtt|GfUt|RB9f>pBz*|3B3Nfzm`UxZ|&5>E{Wb~R_H zLMrn_Q{MJmGM)S_Jn=-2{m?sQsR7Y6OykXxe=bQTV>%@I8*3=}5V0BmMj~^W6-`nW zc1Me|kMnYY^58)=xKE)6TckRufLOa}KSLU!#FJ zC;5>qtw%;ayX$dr8W((yI|=0z4aA?zUCy+-jqa)*t4RihyQ*jSPT^~ORNtzkAkZhtP;Fxj7FeFBO+xp=_Gt|Ez z8zf4r#t?XE8gw_q6-DMS{fAESi$4vu;TC3;BvJ>3yF~uXFu8o)#}EDqNF86&5ix@} zuPB2<^D^qY0iPH?bPh4SiA8SPPeVxh!uW8$!Wo=Oi_;Q#dOv3d&LiEvN$PvlKDcnT zB>y(%im^3sEBwL!a%e?l;BUT(yy*1v&)*tr=*XF_jjD#ohx}FWX6HM2UCeFE?Dkhq zo48_aXwzh7s9FTr^@ge?4GUf1iQRRBUECt|&Te%;(c3Dh#{w>mH9kVz{c(NHX1zX+ z5s&5O1>Jx$F6_E{!)sZvJ|k+ikz)xUtjIaIx5w#^OKv*Y?0!Iz!jf%hbR$!2H`40= zi9z6#Cr+<+k8CM}L5yTRl`5>_fDx=>8fK&glYiN`5{n#3eg1Wz3S9vw(%Y9-J41YB zqZ+DYTWkh2ORC{aU}(2&FhYF#XOz~HmLIU>11QhqiSz@z zi3EjMdgTIFwO`0KJeuZ=yAcwh#WWP+A1RZD9N<5RN#KTT+7e!vwc*1@Q*~9mS4Lm%bi|~9sJxg{7XZx zm(hlvbwyAe6=XA1>6o-i@o8_U9Lof2M$yw5k}9GhEc&L%o6g~PcbKQ^A-JbKVG?mN zN|~JsmNXe7^75w0!M!zPS20PW8|+)D$nC}|GTt~CFQ%D0IHFC$^W3wores`E@E}^V z8xF;B6Z33M7(h!YJ#sLN$d)RD*LV-GU{Em%SR&Fl=O3>)_1kdiacx^lar26Ti#Sfj z%o|5wJ(nD_Au7mjA}zA~pWWt1>JYnS@m`M{T5SR}UOm`{Sk3M&g(~-tG{0la@vttl!yS6P*8O&#=xn(G1*iG#D2nvD z0`OAxb`5;}Xk0usy}CHIFm_1Ldg%)q0eGe7Jn;i2Dh0)!{AEj!DoqAkoSq3=D=FXo z-qfP4Q&=28X9RRf&%;@6PM4p(j*jJLR{6Ux?$nD|Ob_BcSB2Z(&Ntov-gaLzNO3BW zi){ID6NU@mTpm-aLHnyp)_E$84n68&K<2fIf4`aH!(k1~`%UooQJyh;nzOx|wnU9? zuM#`v5hF?hop*nS9EOyBzRrv)K)CO5^eIA2b_?)*cc|2T{>gF+Ab2jQRsEVJQvta-sK1{92yZq3ihEaF=mPleJZY$_ z%KqmpDt;B7`P&h%iJZa?FRZ}oFY;$h?&|^>123N4@mfPG8nvQ`AzS+2olp~##Jx@S zl3Y)0?!9jttoKPO_g@9Re7PBwA*5@f&~6FMYM)vMfgjGmUH21JrS4SlEPIh37&;@X zei(To^CxeOFA>l2H!Rii)7gyy-QAO*dNv6`nGzsH-rn>HJOLvmI0kJd=1 za@!}y|9ji|S%i{|PJt5b+yVpf6M6Qb;Xs1aI)2$Tpau~{$>nSHHvfb^)d!RzB!mcD zUEu5ATyj>Wc}}G{wlno2MQ+PnS9D118s@R!{gMOUa*VfF01ZPFu52b@FSWyWDFYE(@A&G_>kz;uZQB20gcA`!99W0D_f2i29~30!FSW#aM-+oGYh&clfWNe%gQvB!2ne&pM_4z50 zSMtm|jZ?ma>4u-4_WS6M9M)3=u0jW9EcK%0+`2{-2QS23N=! zXU~Q8ffeBP6 z1Q1!0mUsDC{js`V__nas{886@GvV=q^!YEV3Xk9e^lSFoa3^iCU8W7G>iyz%?=`E- zM9hC7@^AIp2~?zXbQ6~6iRS2*TT3Qml(_+;YKQ#=G;#N|Pu^`n;<7}NF zZB6IACM;MJ<*j}gSP-8hu?|g>DOikJop4aN zCO4nV>7&PWKvCUu<~UOM&68#{c2IHmc%LwFaJ1P@U=V11$WjfNC-%bS|EF2k`_-0V zS7T;v^gmfkZ~Z2^Hg>IlOr77WQE7?C#5Z7{KnyX3R8Z5LqO9od-)!4rx~CGt2B9zv z32@*ZJt_k$b;K!DU~JKIy(%MHzYpSK&VFT*2yDbZ?6$$jhN@H8nRi!ti|;< zw0BGhrxR}_#tkl28oRlX46X0ricPS_nxAU%ko)fX+}nUGD~C{$@mP_(&1z%t1i#zu zk|OxCN+}8a9FesBa{omZfAir5|FL|b)P2E~UW%Jy$H)MO`Ew6rRqWKEG>z)pzAWo? z)}>F(<7Bqs?Utlbde09aYvrZttF=h`OEK76+iH+~f~5O;^lAT1tjN+I zIh-1PPUb_R^Dcf!^k;ehJCR_7;Cjc~1UX$F^ulidywlZR1f=3TUPx#Fn#H!t$_a zgkM}alPWFov&H(bTbDC5h5MuzAG^m?YXRqf9zt{f`5NH+Ao?rejn}W6NqMx#n!HBA zqG%{PwGgCeyl9{)@Ga1(HHugNDEY76$CHH1R;21#>}!Z(9tQjo2IMa*3PP%EU+?f} z^{XDXTs|{SfXnf^UgdUuG|@QrP!eK%u5aI2h32@7|MKv~9og0tKJ&#DcFk#?kz5bd z8&thcr9?F77Mcn%aW4)Ut+?H~|E$3}dH~Dzd0v8nhi=)b9Gzn=D2LLLSWg@tBtBcv zYcgp^MVwxw?hq|1%&cxsW!SfiR9Obl%-BZWC0Atfd%-I|RLc|P#G<6II$jP5Mc6I< ziZM?ek;jO9a9CV-`;GYZ{%8K|xD@B>{UJ#- zISglHeEe7OyG$J0)s>k4H04n`#R9)OTRMJssT_y%`)RUTh`$ z&ODt{01^Nw@1$Cb{L@3WY0x0koJ5RB(2mpLkq;FAAiQ>j zqEsG}(^{23nB7UT#QG`M7sWSEE8(WBB&YI4=kS7zGFY}7Mb_^uIH73tH5kp{IMdPV zwjqjWi~=@>zk9#IqDM69gLMZ*o%hBLUk$vA>?G?Wy~zJ?8sKI1Xs20J1s8Z_5!bU8 zy~`*f{v8$fsyMR1iR7}yo%8J=6lIKxgFq;_*tWGx59K49b`^Dbt6a>G?^RU@wh*L}sMp=T+ra+k!8QgWIW4N<{M8lJNBiX>5@g!?1ZrhzJ z;M>6JDwM}ND|nsLKU6gvhF6nCJ$6<^%0q3iQS_O?e;Ua<97BZ0A+uO?QzU^zf%3PMfA z$LvFXunPRvsm})tyR2|m{_%vu%w5QDX@!To;#s4wgMinEnv?9-6=3j-vw=FK020Od zBE%kUNr*2J77a5;RYvp#m#Um`ExU`l?#8pc#+hz8y*MX(U=;%LhaNO{`ejaw>KQO8lb&7SUWJhq%-L-nshZs%`pP^d+2 zB*VI2747-tw+=8o(fw5tZ|8FBjpM{&=yi)K%|71Q%5WfnO9=sJZ>-D#z!HC;4U4Z| zr~Gj}jf)jw2;Ow8205>SM|07(Nni-&;$+t=oP)_nh%JRs#)g7b7&ToMYpy0-RshvhCi5w>#dtIS?;>~bK7$r_+fL| z5duv9?Rw3zvxnU)1mB#_c~W^)vw1`bNA4hC$z!J$37mBrq6qPe_?dQc&k;uri^V|?Tj~&%USGec{ zL(=i--2?T<@m^q=e+~_Zc4Y*8o~r;QVKD@+6rw74E5a`aT4L7!#|3b<;MJNFmhX#$ zJo>V=X+Hv0nnC*d&~qeT)Q@u+990tW@H1-wPz3d-F5tE)-GkKx>iWXYb*aSJf ziJMajoFv2!hJ`AK12~Nu7aj-00u^qi8g2j??9+Cj<;FEm=f9hmLDA20q0hfklcw2- zfV4s=k^A-theppD3=F@o?SX}qN@jC2A3;foq!)X_UU|+kzWC)|Sn7)w!&k~2-SLD* z7r1l88o>v?&;mvKIgw!TiH~+CnO9rlTYk-~eskp;I_5C8Az72MGm2MJjKAB0+Fh)| zjvS!#64F6{zlQ#X=zF?J(%yjS^61U_FgmROL=5YXY|TMMO|1t1I2R=|l0 zYmRKIw>JgZQ3Ojmni2QSPs^iFrgvArW}}Tt^i~I53Hk*>rBwbRz1IaR^*8Eso#ChF z{YF8cAD9szFA4{%VFTpf5ZAqpph0r4tgUh{q+0y7>BT(jQ0!lMw)HLm{4}R+t0hN ze%ANU^2S@kN1f>Q8OP$EhHX6XS0>nrHoa${vbX_+w?3TqV#jKqMr~I02|fJLEvShFc056{U+aP<`~As0 z{$c$Qwrm30Uj!z_&QEs2_{c1}yhBOj--B?BjSX1&xj*jUBJ<`M6{!v0`nX=MNl*}& zzaGf9gF*Pasvc`b*-9xUG_~zdJN6rY;lutU3hE9?)aB#DiRUZJF$T;V<4b6NyQNV(Omi!{`S|r7Nh!II$!*shKP7(4c zp!=2%hf!)mpjpZncZ-w(k2W;@34(i%r$OkWKz|a8sUh3A|1_5crhU-+y`{_FYLm0?2*)8{}Kpsc?lZKxa1b zJo6_n>uDi!^L_f(b`6&U51!g3)&iCwn?O8yOT=MVC z?C||*DIh`Nn-6nP!;enRk9LO)#=HiW{lTN8jS<1{l@*EbHiuhH3Hu-Mye@*Xr<{~| zcn%ni`3)@Bf=4$SQOa$h{@`kR2#pO$p&VYMla`07XHTh2pM%YZJdeQ4s#vo9bQ+_X zEe`(U{ao$S#k!RamS;YoQ&JEn@OqK;b~24amzZDH^-JU-U(o38%=WjZCD_L~>?SFD zVlt%&uLmJN(^V*{e8=&yiLp&E5ooNbOTOoJxv?~-M?Rz3;h69k4K}i6PX}xES21ER zuhmLi6`b#ffG;7Rd#ZQ8iOCal$?y7oy6`tKx)R0+vE;n}V@MO5u26`z)h481nVvQ> zm*b*~zOG=VW|6yw<*)MV%R^VIe`~;} zXxZkN%APU(VCVAA+(-zd;7yYO&~d(A{7s=A(FNjB=E>wUh2y;8(KmSa)Hu22NjaWL zEjKUK93}hN*>i4lZbtMbdPs9PLCEI;;=|=AF*t+!QFE^2BQ)0IeIV)FcJQcfhl!R=RR6&;+ddd*LYN#~tjgafDUCJW-Xagzx+e@A1)IP&t7?s`puBR6^#Uw8s0Z zf`#RtMW**ea-=c4ju`Hk!D6*ihO44@25oYkM4s^BcGu;_eThSHcJGZs#bwO4sSHfH1h2SVts9vx+ zivfNoQdE$|B%TeXQW9eLgxL4;rzj5BKhiGULOp2u(P6YlWC-QDP+p0IHu>x;VLoO^ zuJspe#lqNGDX+q{yyKDbeovm*92OxI2JDcYN6NUT+Y$c>GOiodl!ub4Vryu z#jefAde}9-$GWEY+a9DcKZ+J(*Ki+pYnD*RwmIjHe>b%#d?Kp(%g|fTzd7uAVDM4B zjo7HT4EE1ozgCEQ=1-b3X5Kq$PMRKZYRVctoSB$$^n&z;mt7imn_%*R&t}+ z-QNa(dX8U;C8dvMuUP0^Rk!13Fh}u*s73&ckeNUTPI#_mz$WP2pryjuFYNLi1n_7) zOT6|*Se>p>wJfkB6TSbF(S|IFdAjVUI!XGISfWr(Byx!=Us-@BGKr9v!31l{#W4$6 z8CIsnIyA_TvI1`3=(z3&S@4UH1(hm$z;q8Y4rTx>*7-Ek+c)tNi=E=ZF1L>m76Jr& zF-VUgm6GKofFMk?s6 z|5IyTVBXB?oLHe6jGnn?QIN|%MPQrT^~*BH(g;;j1gvRjVrkuOWt*cvV+!k+tgIaw zv-nPs2+8xcAxoCvSQi*F$i$0?tP1pOFN6{=DunKfNx2adODG!t+CEDqBV&S}pLX+{ zb_&_xDO6x+sLegfh*h>#LZC=~kKc(GkkMBzmp3#Eg+N=WN4-#&mX;Pi^&#ntvW^iU z4C73wAvHQ#fEa|EYPn;6@bUyP4hRusvyBW;fC!xMyY_vVHVbm9N zTI|~!D8G9|b)W}GgNuCM^81#SZ*4BmjaLsU+C46qHlG54-a15NwedOL>X7*zW5OIv zCQ3aSY0a!WzHu@Gee}uKFcO9ok@ZZR@`m_)MFiCGQooTL!@31c(lD7gB1(f(lU*=) z@!^F612bkgB`B6(+s!nmbdn|P!DMkJQ~uq|Z0O)^nF0Q@Ph+7S!k<~>OdcnD0ODJ- z{piB@PsO-9=xd@y@i_%W+tp^8p+uZ}5Ok}PEpB2ee|wLDQy`DvFE$#Xwy%-_QznKp z0nu0m3f?@WWfozaA8prbDRheYK-GaeC@ar-PZ$ZO6(Pbt~A)U1Ps-QDFA)lR9 ztnK+Q!=x$xw@GPB^n@L`;Imjs&Ryi`{=R?t+ZtXq7)zq6 zH>Ah6AaSfk;|7n#oO~Uq$d&sG()=e*Muo6L|lpsad>Aizr5brDi{t z;83OvG&!30rUV2anH#L_zvX3VIpcNxgE03?;EbQ+2or^W16_23*5}agbevcmpO+%q zcF2Jkot})}Bd)+yfH+d(3Kl)++Qu(;5HQ~zqe@R~7YCMt1jU&46<4I zN3xmR?QjS_l5Pnw)C!fGTt* z$wyM)t(%(XkJyn?0#W+3Yr#>4GmN5|W*RUHbG_app5 zZElwZYN>_{{Cz*|(o1Z`5Fa-k5pwW-!yc>j$-HbMLLY>NUl&=~9xm{$oFZN?T2t~b zZ*;y1dFg!f3j>2DfC9{@{$?wPrQ6>}c?$(bvNw#)yrF`~u6#I4^Llq~3(u%JRmtZm zj?y2hE1&!01>xW{ABtWhI8vqs9-obTBZi9**il93bHuFTjUEV#4gkbaG_fHfEoVFY zJ$1bpVs%%>g9sm+ARQ+NrR86c4u0|EjX|1IZ-qFr&yMuj;a3D zU?)%Ey9TBEcNW~dm77nMX20fFd`nhj7oQ+B7nW8F^yD^L&l=cK^(Vd-){b?rx)i6$ z!XI4NP?Mn-{q2z~e_8)IlGUn05ZDcLPM#Dt^soLfq!JC=+IYP*dwX$tc}1X?mvcD3 z;S##OMi@?J)a?|C-fdIUO(_j0&RKheGGmhToWm7ZJe(&gZgzTxAzgQ-Ey{D`0!V8j zORp%yz`{4#?2qza#!C&B(hX=BxSv3J`qA$f;4c-H$|~=ci5Sg=!~<`r>F|QE8R*){ z@-1owD%m1dE6Vb94o(R}ncYA}+!*5_ueiK#EwKZS?HVp)Fs0k$azE}r8ZJAI79xo@ z{X*0mw|Lv`cA?uJ6lp>V7Wje=NH)E+-63^yO5pWZi~@%ff-yI5Ew(mwb^#0BT}^4E zn%~iC1iKm`y?i25>u*HAKKl9CG#?)pRq*K5{r->Ncb=#E9schugI>8b+-j1ALq$5V zGvt!l-}utmh~$O>x5Al>;b61f{q!d+jnY$K2f6a%a@>DZ!a| z{D@Jujca^f)G9l|%Sa|b5gZ}{&ttn|04jfPYJjFV*Nm4EkZ?4k*u@>>h#)hTU_vEF z55Y+pVZ7W;cG8T)r~3$R=y&+quQKv#B$&ZoL6@`x*UM(mu!DQuIT6OzeX;I$`YEmR zfh1||6PC+-J>|CvDVX&LjBx7kL9cAvts&-LzY$BWIZ(h#umCOy?*!DLzP3Vix!SG~ z)T7_#)Mp z=Rmox-p`dc3+hJ++FMV^o)ITV-jU+_=6ME28-vn2JbB_>KDM-xrL{}ldftM^zsC2; z;E6x^Ocp0sYy9d;^72FrnU89s7*O*#RqM5=;FOS{%jXt7?S>=}IzCU8<9$~A^wgI_ z)nSQ!4f4%D7TNGVw4K!N=v@eRL@vBBD%^C6RpD^RlA*~y6G05?SM67MN8tM0&ZbD! z06j536Wq z8!L_Zrg_{IgnVP{zJGr^&N67TYw}t4)(3Wd4=h-hl!5Rm-e15@d483aYc*bYs~1bb zobqHQd;l>8Z2UMx{lYNZR=KDcW5NJ;ifA+KyN8E>!-OdX%qYlLs^d%PxDB>2A~@Z4 zPb3c9Jb@%*vgN)?!M0~oaL?3CLPWv^5tZA!c6qJ6R+vWDZB=nGEk~NkCA`{JZW>?2 z6@6DCtx|wgJ;EkqJ`&zKiTDZMerfpcUQP@{cR8e3Q8AwOLoUGxo$-W>kz6A9?BArp zv1z*57MxDw=smZ(Oml+@{b96o2tj_31KQBuo(kVKw4M|fo=PF22MC~m>8EBaw~GD2 z4q2qR(qf$=eY%i&RC79L+ot| z>&;dmX(6X?mQAH_JFUdP?eiwMDo1O9nJq@(hSk^J!QqNycXzkT>u5S}j&XujQqkM8 zRV|h5uHzRL%yCK>?Mvsy(|`t=pg*a)5`!==^_dz#)Pa-7BTHrG|8I@R&ER|5544*R zBOvLXneSc?@*nDNfNYN7!#$PV<(EK)oV4xvGBbYUFXingag$@ULz)rz4;n^$3q5@k zZY?5Lo%`2ojy8bwS;FDbo{PMM|Ka&q&KB;X_aHsEFk_0?!l(A*S4(%Zp+&V|* z5FmBEs}uT@=u1jMj!{FjEyAMF)1ueMnET4E$jMv?O~UsbtkLyG`bnn7^i(}0lyv{; z`Vtx=sy{U|^~d24LLkjII%?1UqO(^B6DZD|Lcu_hv~@bJl=pB_uN&R_%VOmYLcmW? zKV}_n)lqrp?X?fw_QWO*V(CsafvnULh0X5I$Ux8zxT6eyc^UWdMVhUqlG+gS7^jCm%ODyeQes?)5?xYSauqL#a^{XUGqd`0N;50Ftxe}L$t$j3ag_ruD{KjPdG-?ku23oVf zoiaaLaQtlp{d3YB|N7Bg0j0^C>;DG`ZQ$Iavz}lfj|m^V4FLQiqE*0#U$^scAcg%Aq?G+$t5L z)#Qo0LeJ*J78$D_v5-#2TQT@;%I*>|c6TVIiqjlV?~jhRwTbw|9zg#LFcJ6=JeH~al+&PIfL8ghs7fXz;oAyrVo7QDyZa0-RSSjdE#a5eA26((_+zW9{*dRgMUV3a{2y9 z78DZkz3+82TCBg;K>&To1u*~v3V>S8oFPsXV2A%?ID97;ZB*JXtjLOm2n|4`PnJDO z4>8m(@bct!zFPN)$rNUCMXI+K8ODxkW2v@f~I(`fQD&rIrdv%QKBcH z6E5hI>l$nl1@;=-1I#*rhgOH}d9E}FpKJlB3=mGO)@~J3|E4{`=kuz+Fmks5WT?gW zZ?_LwkRw^%fD%--T8Md;hDQX3N2#3#iJbs3j6~Q%7z4!hy7T%Rxs75}N@^&~kZ43P zMZZ{;6H!FLPoj@QgOJHv?%eji^2m9z^e#bcK}8bNoU({{NQH?|)KJi(NaUgz&=}c5 z>l~-gt(rnMujQgLViwwRN1kesCkjQGQ5kz5A$E+-fD|`4>v`h;ARH z5C&QlIgdOD7n!_ouGq``oyl(FO^iHmOMzZ?-n5l#;QswDhiG1xo&-6 zElj+V#&2bl#Q8pnCtITMW-m0mPtOhK10s1)(T2y+iBPdi$i*gjrGL07dcFAoyX)r< z>D^QbBC^-VDF8ITZ+jhfHw!QYSolmNA9{$(>$Tg}<(fvGwb#X+rtzV8cz&KL1L5U4 z5PX<{iVhfMtn$qn@_o5r)%y0c?^6Kk3_4W}yGr1}$V+MW3^ z$9mC4jW9Em{B#_Z8K82{nxT$bqe(+PA%BqTBTJmdQ^bNJR}r3ZL=1o$V^dO@O$keA z5mFeqt!9dp4-8CIQF7H|F&O)?jGJtU8M5v4v{`<=>49#l%#gWv?T zw@vFfFzulS2yz41WbPi&E)JrsTLX94LO9rC?^Sd-OK4NzV~MLAn^tfi1kq@ei}W39 zriZEdY}RAM&dEvNH;tLi6S%9Zv44ZJ-wFYpv*viLN{ z>bi)-Z9e`KWPxTzBxXj{Q$@6tu|%eys7;jAM_eZ$I_;7k+S)QWQducV452PGl(IyY zk0dLM!XV5IQt|(zUt1J3?M+^Q!b|2|rf=f@@^dOGBUb9oUu`tS@aT79RpL#b%zi1g z;A#|+0ZwbSuncUWXh80G5+gdxt8=ZnqIyssZ9wj?OFX22FNT`RB1(ovJ2e@Tq%lBQ zwaZBA0#0aY{MOOOTZSBPFp(|usq8(H^?O~u6=}3XG$%c? z{G5#*;sg|Dp=fC$9=!i<;7#zfZl6?ZG8aCfB)W=r!&J@}kt3B88N|Lg6;_nI=ZS<| ze}BBf#AKSnN)$tjbh8B-VdbFdQeT?)m3y^!F0vptB?iR4X;l#=WI@(q0oLMxTu}_Q zAeC%HF$3X}L}bX{Tg1H|H>$Bm?vwhV6^Jhx6FWHyC=Wg8WUVEOl<)Dg+b(bhiru z+TQ7;g~M~Mn{q)k31i+JKAH__bssTJpGsJbK6^aPZwmM^Kil|uSdf16>P{M z|H0Ru5h6ed=KUI7-w+C|zJB?eM$s3G&YhQF#xvrz;Rj~^>EOw4B<``c{7rGpxHIR7 z{1+{u;-0YB8XVq-t3&Qvl;}1Kc8-;1qPmXW|N|8`vephyAPYlOoZ z(SsSsd+yxgSk%SgciPUYT&A82oP26HRqts#rGz`f{e)_udLkxqLPKfu@ALx7-hIn0 zW2d}B=k`QEhbF>7`413|4^RhIqWqY_RMa!UHY_HevEx<#oiqFy=7A+__J@7Z>XpEK$(u5Dm|3JWrjC) zWq9L;t3kwP5gu|W;`?;1h(uz0Y1kThjr?-JJb*v5mcwg_#!3F=rifd4a}T;T58J*_ zf49!#UkTQX6k?bzi6;V~sKfRl75%2g z722N*vgpuz8E=FpFc=RjoDq?UCZIIk(w7;2kGqhVyW9hk@{W>`v|w10l$X>MDAhjb z3qTVKk7)2g{82{$4E`F%fv$)Np)8L+;>s%+^my3If#LRunLx$JA zuEsTVN{W^|uU!tqGGleTqTLW599=Bh3&4dHW@ zU*zAc)V!Y_FBPsOeCtsrWZgktz`1`yu{7@BC76$J3n1#8X`p8WXx)eB2B3VwXc3ZcJ7X76~i zHcuC<;RmRo$0`Kq{@f{Pv`kfGyS`5sdsN)%V{pXTs>gruEs4D3M<7~0re3`y%{-Vk z_D}m|JHPNKwAc)_Y-8}aX$>ln*y0SaK&x}AhwxNZ<)>7BQQYJw1z}M#Ksm+@f~sc+ z8N!vz z+bqXl5|Fl4oB%yKQ3nZGko@rNH;AE6UGQEch5^a|kV7l0+W;xEXFflOe&>q5g~emF zw=PBBnf72(fO`0`{?r|#(x4rcOZ*rP*;F6?F9ZK;|0scu#}|eQ!5t<2dG#%b4amFt zF}9s|?uv8$J3EfNkZyC~{pWGz*`&aQtiW4`hIt+k>J_hWdp}P?O8W6!2`-KQwf;6dBHo