From 6764c54989c3e052a70135b357aabab8978be4c0 Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Sat, 26 Oct 2013 16:52:14 -0400 Subject: [PATCH 01/70] making a generic version of the AI's visibility code so that it can be reused by the Cult Spirits --- baystation12.dme | 10 +- .../AI_Visibility/_old_AI_Visibility.dm | 68 +++---- code/WorkInProgress/AI_Visibility/ai.dm | 10 +- .../WorkInProgress/AI_Visibility/cameranet.dm | 24 +-- code/WorkInProgress/AI_Visibility/chunk.dm | 2 +- code/WorkInProgress/AI_Visibility/minimap.dm | 24 +-- code/WorkInProgress/AI_Visibility/util.dm | 14 +- code/controllers/verbs.dm | 2 +- code/datums/visibility_networks/chunk.dm | 179 ++++++++++++++++++ code/datums/visibility_networks/dictionary.dm | 7 + .../visibility_interface.dm | 46 +++++ .../visibility_networks/visibility_network.dm | 135 +++++++++++++ code/defines/obj/weapon.dm | 3 +- .../gamemodes/malfunction/Malf_Modules.dm | 6 +- code/game/machinery/camera/camera.dm | 8 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/camera/tracking.dm | 6 +- code/game/machinery/computer/camera.dm | 2 +- code/modules/admin/verbs/mapping.dm | 4 +- code/modules/clothing/spacesuits/ert.dm | 2 +- code/modules/clothing/spacesuits/rig.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 6 +- .../living/silicon/ai/freelook/cameranet.dm | 20 ++ .../mob/living/silicon/ai/freelook/chunk.dm | 30 ++- .../mob/living/silicon/ai/freelook/eye.dm | 10 +- .../mob/living/silicon/ai/freelook/read_me.dm | 2 +- .../silicon/ai/freelook/update_triggers.dm | 29 +-- .../ai/freelook/visibility_interface.dm | 10 + .../modules/mob/living/silicon/robot/robot.dm | 2 +- code/modules/mob/mob_defines.dm | 1 + code/modules/mob/mob_helpers.dm | 5 + code/modules/mob/mob_movement.dm | 3 +- code/modules/mob/spirit/cultnet.dm | 8 + code/modules/mob/spirit/movement.dm | 40 ++++ code/modules/mob/spirit/spirit.dm | 42 ++++ code/setup.dm | 3 + code/unused/AI_Visibility.dm | 30 +-- 37 files changed, 668 insertions(+), 129 deletions(-) create mode 100644 code/datums/visibility_networks/chunk.dm create mode 100644 code/datums/visibility_networks/dictionary.dm create mode 100644 code/datums/visibility_networks/visibility_interface.dm create mode 100644 code/datums/visibility_networks/visibility_network.dm create mode 100644 code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm create mode 100644 code/modules/mob/spirit/cultnet.dm create mode 100644 code/modules/mob/spirit/movement.dm create mode 100644 code/modules/mob/spirit/spirit.dm diff --git a/baystation12.dme b/baystation12.dme index 2a699386a9..74dea3f7ff 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -153,6 +153,10 @@ #include "code\datums\spells\trigger.dm" #include "code\datums\spells\turf_teleport.dm" #include "code\datums\spells\wizard.dm" +#include "code\datums\visibility_networks\chunk.dm" +#include "code\datums\visibility_networks\dictionary.dm" +#include "code\datums\visibility_networks\visibility_interface.dm" +#include "code\datums\visibility_networks\visibility_network.dm" #include "code\defines\obj.dm" #include "code\defines\obj\hydro.dm" #include "code\defines\obj\weapon.dm" @@ -950,6 +954,7 @@ #include "code\modules\mob\living\silicon\ai\freelook\eye.dm" #include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" #include "code\modules\mob\living\silicon\ai\freelook\update_triggers.dm" +#include "code\modules\mob\living\silicon\ai\freelook\visibility_interface.dm" #include "code\modules\mob\living\silicon\decoy\death.dm" #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\life.dm" @@ -1018,6 +1023,9 @@ #include "code\modules\mob\new_player\preferences_setup.dm" #include "code\modules\mob\new_player\skill.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\spirit\cultnet.dm" +#include "code\modules\mob\spirit\movement.dm" +#include "code\modules\mob\spirit\spirit.dm" #include "code\modules\nano\_JSON.dm" #include "code\modules\nano\JSON Reader.dm" #include "code\modules\nano\JSON Writer.dm" @@ -1291,7 +1299,6 @@ #include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen.dm" #include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen_external.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\LaserComputer.dm" -#include "code\WorkInProgress\Cael_Aislinn\Supermatter\SuperMatter.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm" #include "code\WorkInProgress\Chinsky\ashtray.dm" #include "code\WorkInProgress\Cib\MedicalSideEffects.dm" @@ -1300,6 +1307,7 @@ #include "code\WorkInProgress\Ported\policetape.dm" #include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" #include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" +#include "code\WorkInProgress\Yinadele\Supermatter.dm" #include "code\ZAS\Airflow.dm" #include "code\ZAS\Connection.dm" #include "code\ZAS\Debug.dm" diff --git a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm b/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm index 9b50c74f68..831d20f229 100644 --- a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm +++ b/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm @@ -16,15 +16,15 @@ var/image/dim /turf/proc/visibilityChanged() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) /turf/New() ..() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) /* /turf/Del() ..() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) */ /datum/camerachunk var/list/obscuredTurfs = list() @@ -73,7 +73,7 @@ var/mob/living/silicon/ai/ai = usr ai.freelook() ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), ai.eyeobj.z) - cameranet.visibility(ai.eyeobj) + cameraNetwork.visibility(ai.eyeobj) else usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.z) @@ -81,26 +81,26 @@ /mob/dead/verb/Open_Minimap() set category = "Ghost" winshow(src, "minimapwindow", 1) - client.screen |= cameranet.minimap + client.screen |= cameraNetwork.minimap - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src + if(cameraNetwork.generating_minimap) + cameraNetwork.minimap_viewers += src /mob/living/silicon/ai/verb/Open_Minimap() set category = "AI Commands" winshow(src, "minimapwindow", 1) - client.screen |= cameranet.minimap + client.screen |= cameraNetwork.minimap - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src + if(cameraNetwork.generating_minimap) + cameraNetwork.minimap_viewers += src /client/proc/Open_Minimap() set category = "Admin" winshow(src, "minimapwindow", 1) - screen |= cameranet.minimap + screen |= cameraNetwork.minimap - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src.mob + if(cameraNetwork.generating_minimap) + cameraNetwork.minimap_viewers += src.mob /datum/camerachunk/proc/update_minimap() if(changed && !updating) @@ -325,11 +325,11 @@ dim += t.dim - cameranet.minimap += minimap_obj + cameraNetwork.minimap += minimap_obj -var/datum/cameranet/cameranet = new() +var/datum/cameraNetwork/cameraNetwork = new() -/datum/cameranet +/datum/cameraNetwork var/list/cameras = list() var/list/chunks = list() var/network = "net1" @@ -340,7 +340,7 @@ var/datum/cameranet/cameranet = new() var/generating_minimap = TRUE var/list/minimap_viewers = list() -/datum/cameranet/New() +/datum/cameraNetwork/New() ..() spawn(200) @@ -356,11 +356,11 @@ var/datum/cameranet/cameranet = new() generating_minimap = FALSE minimap_viewers = list() -/datum/cameranet/proc/chunkGenerated(x, y, z) +/datum/cameraNetwork/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameranet/proc/getCameraChunk(x, y, z) +/datum/cameraNetwork/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -368,7 +368,7 @@ var/datum/cameranet/cameranet = new() return chunks[key] -/datum/cameranet/proc/visibility(mob/aiEye/ai) +/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -389,14 +389,14 @@ var/datum/cameranet/cameranet = new() for(var/datum/camerachunk/c in add) c.add(ai) -/datum/cameranet/proc/updateVisibility(turf/loc) +/datum/cameraNetwork/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) chunk.visibilityChanged(loc) -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) +/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -410,7 +410,7 @@ var/datum/cameranet/cameranet = new() chunk.cameras += c chunk.hasChanged() -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) +/datum/cameraNetwork/proc/removeCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -452,18 +452,18 @@ var/datum/cameranet/cameranet = new() eyeobj.ai = src client.eye = eyeobj eyeobj.loc = loc - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) cameraFollow = null /mob/aiEye/Move() . = ..() if(.) - cameranet.visibility(src) + cameraNetwork.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) + cameraNetwork.visibility(user.eyeobj) else return ..() @@ -477,7 +477,7 @@ var/datum/cameranet/cameranet = new() else if(direct == DOWN && user.eyeobj.z < 4) dif = 1 user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameranet.visibility(user.eyeobj) + cameraNetwork.visibility(user.eyeobj) else return ..() */ @@ -492,23 +492,23 @@ var/datum/cameranet/cameranet = new() /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameranet.updateVisibility(loc) + cameraNetwork.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) /obj/machinery/camera/Del() - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) ..() /obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) . = ..(W, user) if(istype(W, /obj/item/weapon/wirecutters)) if(status) - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) else - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) /proc/checkcameravis(atom/A) for(var/obj/machinery/camera/C in view(A,7)) @@ -545,7 +545,7 @@ var/datum/cameranet/cameranet = new() var/obj/machinery/camera/C = D[t] eyeobj.loc = C.loc - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) return @@ -570,4 +570,4 @@ var/datum/cameranet/cameranet = new() else eyeobj.loc = locate(src.x, src.y, src.z) - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/ai.dm b/code/WorkInProgress/AI_Visibility/ai.dm index 7dcbf54e67..a8c5470036 100644 --- a/code/WorkInProgress/AI_Visibility/ai.dm +++ b/code/WorkInProgress/AI_Visibility/ai.dm @@ -29,17 +29,17 @@ eyeobj.ai = src client.eye = eyeobj eyeobj.loc = loc - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) /mob/aiEye/Move() . = ..() if(.) - cameranet.visibility(src) + cameraNetwork.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) + cameraNetwork.visibility(user.eyeobj) else return ..() @@ -79,7 +79,7 @@ var/obj/machinery/camera/C = D[t] eyeobj.loc = C.loc - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) return @@ -104,4 +104,4 @@ else eyeobj.loc = locate(src.x, src.y, src.z) - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/cameranet.dm b/code/WorkInProgress/AI_Visibility/cameranet.dm index 3b46844e6b..d234142511 100644 --- a/code/WorkInProgress/AI_Visibility/cameranet.dm +++ b/code/WorkInProgress/AI_Visibility/cameranet.dm @@ -1,14 +1,14 @@ //------------------------------------------------------------ // -// The Cameranet +// The cameraNetwork // -// The cameranet is a single global instance of a unique +// The cameraNetwork is a single global instance of a unique // datum, which contains logic for managing the individual // chunks. // //------------------------------------------------------------ -/datum/cameranet +/datum/cameraNetwork var/list/cameras = list() var/list/chunks = list() var/network = "net1" @@ -18,18 +18,18 @@ var/generating_minimap = TRUE -var/datum/cameranet/cameranet = new() +var/datum/cameraNetwork/cameraNetwork = new() -/datum/cameranet/New() +/datum/cameraNetwork/New() ..() spawn(100) init_minimap() -/datum/cameranet/proc/init_minimap() +/datum/cameraNetwork/proc/init_minimap() for(var/x = 0, x <= world.maxx, x += 16) for(var/y = 0, y <= world.maxy, y += 16) sleep(1) @@ -39,12 +39,12 @@ var/datum/cameranet/cameranet = new() generating_minimap = FALSE -/datum/cameranet/proc/chunkGenerated(x, y, z) +/datum/cameraNetwork/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameranet/proc/getCameraChunk(x, y, z) +/datum/cameraNetwork/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -71,7 +71,7 @@ var/datum/cameranet/cameranet = new() // have a proc called automatically every time an // object's loc changes. -/datum/cameranet/proc/visibility(mob/aiEye/ai) +/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -101,7 +101,7 @@ var/datum/cameranet/cameranet = new() // anything else that would alter line of sight in the // general area. -/datum/cameranet/proc/updateVisibility(turf/loc) +/datum/cameraNetwork/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return @@ -115,7 +115,7 @@ var/datum/cameranet/cameranet = new() // creating a camera, allowing freelook and the minimap to // respond correctly. -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) +/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -137,7 +137,7 @@ var/datum/cameranet/cameranet = new() // deleting a camera, allowing freelook and the minimap to // respond correctly. -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) +/datum/cameraNetwork/proc/removeCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf diff --git a/code/WorkInProgress/AI_Visibility/chunk.dm b/code/WorkInProgress/AI_Visibility/chunk.dm index 8a6886a1ad..134d6097b5 100644 --- a/code/WorkInProgress/AI_Visibility/chunk.dm +++ b/code/WorkInProgress/AI_Visibility/chunk.dm @@ -88,7 +88,7 @@ dim += t.dim - cameranet.minimap |= minimap_obj + cameraNetwork.minimap |= minimap_obj for(var/mob/aiEye/eye in seenby) if(eye.ai.client) diff --git a/code/WorkInProgress/AI_Visibility/minimap.dm b/code/WorkInProgress/AI_Visibility/minimap.dm index c97b01e0f8..e4d4f7274f 100644 --- a/code/WorkInProgress/AI_Visibility/minimap.dm +++ b/code/WorkInProgress/AI_Visibility/minimap.dm @@ -28,24 +28,24 @@ var/mob/living/silicon/ai/ai = usr ai.freelook() ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) - cameranet.visibility(ai.eyeobj) + cameraNetwork.visibility(ai.eyeobj) else usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) /mob/dead/verb/Open_Minimap() set category = "Ghost" - cameranet.show_minimap(client) + cameraNetwork.show_minimap(client) /mob/living/silicon/ai/verb/Open_Minimap() set category = "AI Commands" - cameranet.show_minimap(client) + cameraNetwork.show_minimap(client) /client/proc/Open_Minimap() set category = "Admin" - cameranet.show_minimap(src) + cameraNetwork.show_minimap(src) /mob/verb/Open_Minimap_Z() @@ -54,26 +54,26 @@ if(!istype(src, /mob/dead) && !istype(src, /mob/living/silicon/ai) && !(client && client.holder && client.holder.level >= 4)) return - var/level = input("Select a Z level", "Z select", null) as null | anything in cameranet.minimap + var/level = input("Select a Z level", "Z select", null) as null | anything in cameraNetwork.minimap if(level != null) - cameranet.show_minimap(client, level) + cameraNetwork.show_minimap(client, level) -/datum/cameranet/proc/show_minimap(client/client, z_level = "z-1") +/datum/cameraNetwork/proc/show_minimap(client/client, z_level = "z-1") if(!istype(client.mob, /mob/dead) && !istype(client.mob, /mob/living/silicon/ai) && !(client.holder && client.holder.level >= 4)) return - if(z_level in cameranet.minimap) + if(z_level in cameraNetwork.minimap) winshow(client, "minimapwindow", 1) - for(var/key in cameranet.minimap) - client.screen -= cameranet.minimap[key] + for(var/key in cameraNetwork.minimap) + client.screen -= cameraNetwork.minimap[key] - client.screen |= cameranet.minimap[z_level] + client.screen |= cameraNetwork.minimap[z_level] - if(cameranet.generating_minimap) + if(cameraNetwork.generating_minimap) spawn(50) show_minimap(client, z_level) diff --git a/code/WorkInProgress/AI_Visibility/util.dm b/code/WorkInProgress/AI_Visibility/util.dm index da576cbd40..0e32f8dec8 100644 --- a/code/WorkInProgress/AI_Visibility/util.dm +++ b/code/WorkInProgress/AI_Visibility/util.dm @@ -4,31 +4,31 @@ var/image/dim /turf/proc/visibilityChanged() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) /turf/New() ..() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameranet.updateVisibility(loc) + cameraNetwork.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) /obj/machinery/camera/Del() - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) ..() /obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) . = ..(W, user) if(istype(W, /obj/item/weapon/wirecutters)) if(status) - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) else - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) /proc/checkcameravis(atom/A) for(var/obj/machinery/camera/C in view(A,7)) diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index d659d2fa68..3b2d9697bf 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -72,7 +72,7 @@ debug_variables(paiController) feedback_add_details("admin_verb","DpAI") if("Cameras") - debug_variables(cameranet) + debug_variables(cameraNetwork) feedback_add_details("admin_verb","DCameras") message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") return diff --git a/code/datums/visibility_networks/chunk.dm b/code/datums/visibility_networks/chunk.dm new file mode 100644 index 0000000000..4abc1340b0 --- /dev/null +++ b/code/datums/visibility_networks/chunk.dm @@ -0,0 +1,179 @@ +#define UPDATE_BUFFER 25 // 2.5 seconds + +// CAMERA CHUNK +// +// A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. +// Allows the mob using this chunk to stream these chunks and know what it can and cannot see. + +/datum/visibility_chunk + var/obscured_image = 'icons/effects/cameravis.dmi' + var/obscured_sub = "black" + var/list/obscuredTurfs = list() + var/list/visibleTurfs = list() + var/list/obscured = list() + var/list/viewpoints = list() + var/list/turfs = list() + var/list/seenby = list() + var/visible = 0 + var/changed = 0 + var/updating = 0 + var/x = 0 + var/y = 0 + var/z = 0 + +/datum/visibility_chunk/proc/add(mob/new_mob) + + // if this thing doesn't use one of these visibility systems, kick it out + if (!new_mob.visibility_interface) + return + + // if the mob being added isn't a valid form of that mob, kick it out + if (!new_mob.visibility_interface:canBeAddedToChunk(src)) + return + + // add this chunk to the list of visible chunks + new_mob.visibility_interface:addChunk(src) + + visible++ + seenby += new_mob + if(changed && !updating) + update() + +/datum/visibility_chunk/proc/remove(mob/new_mob) + // if this thing doesn't use one of these visibility systems, kick it out + if (!new_mob.visibility_interface) + return + + // if the mob being added isn't a valid form of that mob, kick it out + if (!new_mob.visibility_interface:canBeAddedToChunk(src)) + return + + // remove the chunk + new_mob.visibility_interface:removeChunk(src) + + // remove the mob from out lists + seenby -= new_mob + if(visible > 0) + visible-- + +/datum/visibility_chunk/proc/visibilityChanged(turf/loc) + if(!visibleTurfs[loc]) + return + hasChanged() + +/datum/visibility_chunk/proc/hasChanged(var/update_now = 0) + if(visible || update_now) + if(!updating) + updating = 1 + spawn(UPDATE_BUFFER) // Batch large changes, such as many doors opening or closing at once + update() + updating = 0 + else + changed = 1 + + +/* +This function needs to be overwritten to return True if the viewpoint object is valid, and false if it is not. +*/ +/datum/visibility_chunk/proc/validViewpoint(var/viewpoint) + return FALSE + +/* +This function needs to be overwritten to return a list of visible turfs for that viewpoint +*/ +/datum/visibility_chunk/proc/getVisibleTurfsForViewpoint(var/viewpoint) + return list() + +// returns a list of turfs which can be seen in by the chunks viewpoints +/datum/visibility_chunk/proc/getVisibleTurfs() + var/list/newVisibleTurfs = list() + for(var/viewpoint in viewpoints) + if (validViewpoint(viewpoint)) + for (var/turf/t in getVisibleTurfsForViewpoint(viewpoint)) + newVisibleTurfs[t]=t + return newVisibleTurfs + +/* +This function needs to be overwritten to find nearby viewpoint objects to the chunk center. +*/ +/datum/visibility_chunk/proc/findNearbyViewpoints() + return FALSE + +/* +This function can be overwritten to change or randomize the obscuring images +*/ +/datum/visibility_chunk/proc/setObscuredImage(var/turf/target_turf) + if(!target_turf.obscured) + target_turf.obscured = image(obscured_image, target_turf, obscured_sub, 15) + +/datum/visibility_chunk/proc/update() + + set background = 1 + + // get a list of all the turfs that our viewpoints can see + var/list/newVisibleTurfs = getVisibleTurfs() + + // Removes turf that isn't in turfs. + newVisibleTurfs &= turfs + + var/list/visAdded = newVisibleTurfs - visibleTurfs + var/list/visRemoved = visibleTurfs - newVisibleTurfs + + visibleTurfs = newVisibleTurfs + obscuredTurfs = turfs - newVisibleTurfs + + // update the visibility overlays + for(var/turf in visAdded) + var/turf/t = turf + if(t.obscured) + obscured -= t.obscured + for(var/mob/current_mob in seenby) + if (current_mob.visibility_interface) + current_mob.visibility_interface:removeObscuredTurf(t) + + for(var/turf in visRemoved) + var/turf/t = turf + if(obscuredTurfs[t]) + setObscuredImage(t) + obscured += t.obscured + for(var/mob/current_mob in seenby) + if (current_mob.visibility_interface) + current_mob.visibility_interface:addObscuredTurf(t) + else + seenby -= current_mob + + +// Create a new chunk, since the chunks are made as they are needed. +/datum/visibility_chunk/New(loc, x, y, z) + + // 0xf = 15 + x &= ~0xf + y &= ~0xf + + src.x = x + src.y = y + src.z = z + + for(var/turf/t in range(10, locate(x + 8, y + 8, z))) + if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) + turfs[t] = t + + // locate all nearby viewpoints + findNearbyViewpoints() + + // get the turfs that are visible to those viewpoints + visibleTurfs = getVisibleTurfs() + + // Removes turf that isn't in turfs. + visibleTurfs &= turfs + + // create the list of turfs we can't see + obscuredTurfs = turfs - visibleTurfs + + // create the list of obscuring images to add to viewing clients + for(var/turf in obscuredTurfs) + var/turf/t = turf + setObscuredImage(t) + obscured += t.obscured + +#undef UPDATE_BUFFER \ No newline at end of file diff --git a/code/datums/visibility_networks/dictionary.dm b/code/datums/visibility_networks/dictionary.dm new file mode 100644 index 0000000000..3877332985 --- /dev/null +++ b/code/datums/visibility_networks/dictionary.dm @@ -0,0 +1,7 @@ +var/datum/visibility_network/cameras/cameraNetwork = new /datum/visibility_network/cameras() +var/datum/visibility_network/list/visibility_networks = list("ALL_CAMERAS"=cameraNetwork) + +// used by turfs and objects to update all visibility networks +/proc/updateVisibilityNetworks(atom/A, var/opacity_check = 1) + for (var/datum/visibility_network/currentNetwork in visibility_networks) + currentNetwork.updateVisibility(A, opacity_check) \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_interface.dm b/code/datums/visibility_networks/visibility_interface.dm new file mode 100644 index 0000000000..7d8efba41d --- /dev/null +++ b/code/datums/visibility_networks/visibility_interface.dm @@ -0,0 +1,46 @@ +/datum/visibility_interface + var/chunk_type = null + var/mob/controller = null + var/list/visible_chunks = list() + + +/datum/visibility_interface/New(var/mob/controller) + src.controller = controller + + +/datum/visibility_interface/proc/validMob() + return getClient() + +/datum/visibility_interface/proc/getClient() + return controller.client + +/datum/visibility_interface/proc/canBeAddedToChunk(var/datum/visibility_chunk/test_chunk) + return istype(test_chunk,chunk_type) + + +/datum/visibility_interface/proc/addChunk(var/datum/visibility_chunk/test_chunk) + visible_chunks+=test_chunk + var/client/currentClient = getClient() + if(currentClient) + currentClient.images += test_chunk.obscured + + +/datum/visibility_interface/proc/removeChunk(var/datum/visibility_chunk/test_chunk) + visible_chunks-=test_chunk + var/client/currentClient = getClient() + if(currentClient) + currentClient.images -= test_chunk.obscured + + +/datum/visibility_interface/proc/removeObscuredTurf(var/turf/target_turf) + if(validMob()) + var/client/currentClient = getClient() + if(currentClient) + currentClient.images -= target_turf.obscured + + +/datum/visibility_interface/proc/addObscuredTurf(var/turf/target_turf) + if(validMob()) + var/client/currentClient = getClient() + if(currentClient) + currentClient.images -= target_turf.obscured \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_network.dm b/code/datums/visibility_networks/visibility_network.dm new file mode 100644 index 0000000000..99fe810a6e --- /dev/null +++ b/code/datums/visibility_networks/visibility_network.dm @@ -0,0 +1,135 @@ +/datum/visibility_network + var/list/viewpoints = list() + + // the type of chunk used by this network + var/datum/visibility_chunk/ChunkType = /datum/visibility_chunk + + // The chunks of the map, mapping the areas that the viewpoints can see. + var/list/chunks = list() + + var/ready = 0 + + +// Creates a chunk key string from x,y,z coordinates +/datum/visibility_network/proc/createChunkKey(x,y,z) + x &= ~0xf + y &= ~0xf + return "[x],[y],[z]" + + +// Checks if a chunk has been Generated in x, y, z. +/datum/visibility_network/proc/chunkGenerated(x, y, z) + return (chunks[createChunkKey(x, y, z)]) + + +// Returns the chunk in the x, y, z. +// If there is no chunk, it creates a new chunk and returns that. +/datum/visibility_network/proc/getChunk(x, y, z) + var/key = createChunkKey(x, y, z) + if(!chunks[key]) + chunks[key] = new ChunkType(null, x, y, z) + return chunks[key] + + +/datum/visibility_network/proc/visibility(var/mob/targetMob) + + // if we've got not visibility interface on the mob, we canot do this + if (!targetMob.visibility_interface) + return + + // 0xf = 15 + var/x1 = max(0, targetMob.x - 16) & ~0xf + var/y1 = max(0, targetMob.y - 16) & ~0xf + var/x2 = min(world.maxx, targetMob.x + 16) & ~0xf + var/y2 = min(world.maxy, targetMob.y + 16) & ~0xf + + var/list/visibleChunks = list() + + for(var/x = x1; x <= x2; x += 16) + for(var/y = y1; y <= y2; y += 16) + visibleChunks += getChunk(x, y, targetMob.z) + + var/list/remove = targetMob.visibility_interface:visible_chunks - visibleChunks + var/list/add = visibleChunks - targetMob.visibility_interface:visible_chunks + + for(var/chunk in remove) + chunk:remove(targetMob) + + for(var/chunk in add) + chunk:add(targetMob) + + +// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. +/datum/visibility_network/proc/updateVisibility(atom/A, var/opacity_check = 1) + if(!ticker || (opacity_check && !A.opacity)) + return + majorChunkChange(A, 2) + + +/datum/visibility_network/proc/updateChunk(x, y, z) + if(!chunkGenerated(x, y, z)) + return + var/datum/visibility_chunk/chunk = getChunk(x, y, z) + chunk.hasChanged() + + +/datum/visibility_network/proc/validViewpoint(var/viewpoint) + return FALSE + + +/datum/visibility_network/proc/addViewpoint(var/viewpoint) + if(validViewpoint(viewpoint)) + majorChunkChange(viewpoint, 1) + + +/datum/visibility_network/proc/removeViewpoint(var/viewpoint) + if(validViewpoint(viewpoint)) + majorChunkChange(viewpoint, 0) + + +/datum/visibility_network/proc/updateViewpoint(var/viewpoint) + if(validViewpoint(viewpoint)) + majorChunkChange(viewpoint, 1) + + +// Never access this proc directly!!!! +// This will update the chunk and all the surrounding chunks. +// It will also add the atom to the cameras list if you set the choice to 1. +// Setting the choice to 0 will remove the viewpoint from the chunks. +// If you want to update the chunks around an object, without adding/removing a viewpoint, use choice 2. +/datum/visibility_network/proc/majorChunkChange(atom/c, var/choice) + // 0xf = 15 + if(!c) + return + + var/turf/T = get_turf(c) + if(T) + var/x1 = max(0, T.x - 8) & ~0xf + var/y1 = max(0, T.y - 8) & ~0xf + var/x2 = min(world.maxx, T.x + 8) & ~0xf + var/y2 = min(world.maxy, T.y + 8) & ~0xf + + //world << "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]" + + for(var/x = x1; x <= x2; x += 16) + for(var/y = y1; y <= y2; y += 16) + if(chunkGenerated(x, y, T.z)) + var/datum/visibility_chunk/chunk = getChunk(x, y, T.z) + if(choice == 0) + // Remove the viewpoint. + chunk.viewpoints -= c + else if(choice == 1) + // You can't have the same viewpoint in the list twice. + chunk.viewpoints |= c + chunk.hasChanged() + +// checks if the network can see a particular atom +/datum/visibility_network/proc/checkCanSee(var/atom/target) + var/turf/position = get_turf(target) + var/datum/visibility_chunk/chunk = getChunk(position.x, position.y, position.z) + if(chunk) + if(chunk.changed) + chunk.hasChanged(1) // Update now, no matter if it's visible or not. + if(chunk.visibleTurfs[position]) + return 1 + return 0 \ No newline at end of file diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index b84388f583..36e5100750 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -422,7 +422,8 @@ /obj/item/weapon/camera_bug/attack_self(mob/usr as mob) var/list/cameras = new/list() - for (var/obj/machinery/camera/C in cameranet.cameras) + + for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) if (C.bugged && C.status) cameras.Add(C) if (length(cameras) == 0) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 104fbf1cdb..60bb93912e 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -122,7 +122,7 @@ rcd light flash thingy on matter drain mod_pick_name = "recam" uses = 10 -/client/proc/reactivate_camera(obj/machinery/camera/C as obj in cameranet.cameras) +/client/proc/reactivate_camera(obj/machinery/camera/C as obj in cameraNetwork.viewpoints) set name = "Reactivate Camera" set category = "Malfunction" if (istype (C, /obj/machinery/camera)) @@ -143,7 +143,7 @@ rcd light flash thingy on matter drain mod_pick_name = "upgradecam" uses = 10 -/client/proc/upgrade_camera(obj/machinery/camera/C as obj in cameranet.cameras) +/client/proc/upgrade_camera(obj/machinery/camera/C as obj in cameraNetwork.viewpoints) set name = "Upgrade Camera" set category = "Malfunction" if(istype(C)) @@ -156,7 +156,7 @@ rcd light flash thingy on matter drain if(!C.isXRay()) C.upgradeXRay() //Update what it can see. - cameranet.updateVisibility(C) + cameraNetwork.updateVisibility(C) upgraded = 1 if(!C.isEmpProof()) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index daea3219d6..38dc530fb0 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -39,7 +39,7 @@ assembly = new(src) assembly.state = 4 /* // Use this to look for cameras that have the same c_tag. - for(var/obj/machinery/camera/C in cameranet.cameras) + for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) var/list/tempnetwork = C.network&src.network if(C != src && C.c_tag == src.c_tag && tempnetwork.len) world.log << "[src.c_tag] [src.x] [src.y] [src.z] conflicts with [C.c_tag] [C.x] [C.y] [C.z]" @@ -59,7 +59,7 @@ icon_state = "[initial(icon_state)]emp" var/list/previous_network = network network = list() - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) stat |= EMPED SetLuminosity(0) triggerCameraAlarm() @@ -69,7 +69,7 @@ stat &= ~EMPED cancelCameraAlarm() if(can_use()) - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) for(var/mob/O in mob_list) if (istype(O.machine, /obj/machinery/computer/security)) var/obj/machinery/computer/security/S = O.machine @@ -92,7 +92,7 @@ /obj/machinery/camera/proc/setViewRange(var/num = 7) src.view_range = num - cameranet.updateVisibility(src, 0) + cameraNetwork.updateVisibility(src, 0) /obj/machinery/camera/proc/shock(var/mob/living/user) if(!istype(user)) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index d5408d3330..c4afc34edf 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -100,7 +100,7 @@ C.network = uniquelist(tempnetwork) tempnetwork = difflist(C.network,RESTRICTED_CAMERA_NETWORKS) if(!tempnetwork.len)//Camera isn't on any open network - remove its chunk from AI visibility. - cameranet.removeCamera(C) + cameraNetwork.removeViewpoint(C) C.c_tag = input diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index e088103fab..b745cd37f8 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -4,7 +4,7 @@ return var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) + for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) L.Add(C) camera_sort(L) @@ -168,9 +168,9 @@ return 0 if(isrobot(M)) var/mob/living/silicon/robot/R = M - if(!(R.camera && R.camera.can_use()) && !cameranet.checkCameraVis(M)) + if(!(R.camera && R.camera.can_use()) && !cameraNetwork.checkCanSee(M)) return 0 - else if(!cameranet.checkCameraVis(M)) + else if(!cameraNetwork.checkCanSee(M)) return 0 return 1 diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 1b21ecac95..2392eed994 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -36,7 +36,7 @@ user.set_machine(src) var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) + for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) L.Add(C) camera_sort(L) diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 76f1b42046..19edf26e77 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -58,7 +58,7 @@ var/intercom_range_display_status = 0 del(C) if(camera_range_display_status) - for(var/obj/machinery/camera/C in cameranet.cameras) + for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) new/obj/effect/debugging/camera_range(C.loc) feedback_add_details("admin_verb","mCRD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -74,7 +74,7 @@ var/intercom_range_display_status = 0 var/list/obj/machinery/camera/CL = list() - for(var/obj/machinery/camera/C in cameranet.cameras) + for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) CL += C var/output = {"CAMERA ANNOMALITIES REPORT
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index 90ae7667dd..efbee3cfd6 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -13,7 +13,7 @@ else camera = new /obj/machinery/camera(src) camera.network = list("ERT") - cameranet.removeCamera(camera) + cameraNetwork.removeViewpoint(camera) camera.c_tag = user.name user << "\blue User scanned as [camera.c_tag]. Camera activated." diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 027a2e3a57..a898df5bcc 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -97,7 +97,7 @@ else camera = new /obj/machinery/camera(src) camera.network = list("NUKE") - cameranet.removeCamera(camera) + cameraNetwork.removeViewpoint(camera) camera.c_tag = user.name user << "\blue User scanned as [camera.c_tag]. Camera activated." diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 42c4b0745b..937ed92874 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -318,7 +318,7 @@ var/list/ai_list = list() unset_machine() src << browse(null, t1) if (href_list["switchcamera"]) - switchCamera(locate(href_list["switchcamera"])) in cameranet.cameras + switchCamera(locate(href_list["switchcamera"])) in cameraNetwork.viewpoints if (href_list["showalerts"]) ai_alerts() //Carn: holopad requests @@ -548,7 +548,7 @@ var/list/ai_list = list() var/mob/living/silicon/ai/U = usr - for (var/obj/machinery/camera/C in cameranet.cameras) + for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) if(!C.can_use()) continue @@ -566,7 +566,7 @@ var/list/ai_list = list() if(isnull(network)) network = old_network // If nothing is selected else - for(var/obj/machinery/camera/C in cameranet.cameras) + for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) if(!C.can_use()) continue if(network in C.network) diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 7d52fbd7a2..8264f705a1 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -1,3 +1,21 @@ +/datum/visibility_network/cameras + ChunkType = /datum/visibility_chunk/camera + +/datum/visibility_network/cameras/validViewpoint(var/viewpoint) + var/obj/machinery/camera/c = viewpoint + if (!c) + return FALSE + return c.can_use() + + + + + + + + + +/* // CAMERA NET // // The datum containing all the chunks. @@ -145,4 +163,6 @@ var/datum/cameranet/cameranet = new() if(cameranet.chunkGenerated(x, y, z)) var/datum/camerachunk/chunk = cameranet.getCameraChunk(x, y, z) usr.client.debug_variables(chunk) +*/ + */ \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index 33dbfd0966..da1cc370f0 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -1,3 +1,29 @@ + +/datum/visibility_chunk/camera + +/datum/visibility_chunk/camera/validViewpoint(var/viewpoint) + var/obj/machinery/camera/c = viewpoint + if(!c) + return FALSE + if(!c.can_use()) + return FALSE + var/turf/point = locate(src.x + 8, src.y + 8, src.z) + if(get_dist(point, c) > 24) + return FALSE + return TRUE + + +/datum/visibility_chunk/camera/getVisibleTurfsForViewpoint(var/viewpoint) + var/obj/machinery/camera/c = viewpoint + return c.can_see() + + +/datum/visibility_chunk/camera/findNearbyViewpoints() + for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) + if(c.can_use()) + viewpoints += c +/* + #define UPDATE_BUFFER 25 // 2.5 seconds // CAMERA CHUNK @@ -165,4 +191,6 @@ t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) obscured += t.obscured -#undef UPDATE_BUFFER \ No newline at end of file +#undef UPDATE_BUFFER + +*/ \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index c82fbb7c76..44081bb636 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -6,13 +6,16 @@ /mob/aiEye name = "Inactive AI Eye" icon = 'icons/obj/status_display.dmi' // For AI friend secret shh :o - var/list/visibleCameraChunks = list() var/mob/living/silicon/ai/ai = null density = 0 status_flags = GODMODE // You can't damage it. mouse_opacity = 0 see_in_dark = 7 +/mob/aiEye/New() + ..() + visibility_interface = new /datum/visibility_interface/ai_eye(src) + // Movement code. Returns 0 to stop air movement from moving it. /mob/aiEye/Move() return 0 @@ -43,7 +46,7 @@ return T = get_turf(T) loc = T - cameranet.visibility(src) + cameraNetwork.visibility(src) if(ai.client) ai.client.eye = src //Holopad @@ -136,7 +139,8 @@ if(client && client.eye) client.eye = src - for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) + + for(var/datum/visibility_chunk/camera/c in eyeobj.visibility_interface.visible_chunks) c.remove(eyeobj) /mob/living/silicon/ai/verb/toggle_acceleration() diff --git a/code/modules/mob/living/silicon/ai/freelook/read_me.dm b/code/modules/mob/living/silicon/ai/freelook/read_me.dm index 53e68ff137..aa3d99bdba 100644 --- a/code/modules/mob/living/silicon/ai/freelook/read_me.dm +++ b/code/modules/mob/living/silicon/ai/freelook/read_me.dm @@ -43,7 +43,7 @@ WHERE IS EVERYTHING? - cameranet.dm = Everything about the cameranet datum. + cameraNetwork.dm = Everything about the cameraNetwork datum. chunk.dm = Everything about the chunk datum. eye.dm = Everything about the AI and the AIEye. updating.dm = Everything about triggers that will update chunks. diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index c1f6331372..224d22f506 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -9,7 +9,7 @@ /turf/proc/visibilityChanged() if(ticker) - cameranet.updateVisibility(src) + updateVisibilityNetworks(src) /turf/simulated/Del() visibilityChanged() @@ -25,25 +25,25 @@ /obj/structure/Del() if(ticker) - cameranet.updateVisibility(src) + updateVisibilityNetworks(src) ..() /obj/structure/New() ..() if(ticker) - cameranet.updateVisibility(src) + updateVisibilityNetworks(src) // EFFECTS /obj/effect/Del() if(ticker) - cameranet.updateVisibility(src) + updateVisibilityNetworks(src) ..() /obj/effect/New() ..() if(ticker) - cameranet.updateVisibility(src) + updateVisibilityNetworks(src) // DOORS @@ -53,8 +53,9 @@ . = ..(need_rebuild) // Glass door glass = 1 // don't check then? - if(!glass && cameranet) - cameranet.updateVisibility(src, 0) + if(!glass) + world << "Updating visibility for [src]" + updateVisibilityNetworks(src,0) // ROBOT MOVEMENT @@ -72,7 +73,7 @@ updating = 1 spawn(BORG_CAMERA_BUFFER) if(oldLoc != src.loc) - cameranet.updatePortableCamera(src.camera) + cameraNetwork.updateViewpoint(src.camera) updating = 0 // CAMERA @@ -82,23 +83,23 @@ /obj/machinery/camera/deactivate(user as mob, var/choice = 1) ..(user, choice) if(src.can_use()) - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) else src.SetLuminosity(0) - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) /obj/machinery/camera/New() ..() - cameranet.cameras += src //Camera must be added to global list of all cameras no matter what... + cameraNetwork.viewpoints += src //Camera must be added to global list of all cameras no matter what... var/list/open_networks = difflist(network,RESTRICTED_CAMERA_NETWORKS) //...but if all of camera's networks are restricted, it only works for specific camera consoles. if(open_networks.len) //If there is at least one open network, chunk is available for AI usage. - cameranet.addCamera(src) + cameraNetwork.addViewpoint(src) /obj/machinery/camera/Del() - cameranet.cameras -= src + cameraNetwork.viewpoints -= src var/list/open_networks = difflist(network,RESTRICTED_CAMERA_NETWORKS) if(open_networks.len) - cameranet.removeCamera(src) + cameraNetwork.removeViewpoint(src) ..() #undef BORG_CAMERA_BUFFER \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm b/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm new file mode 100644 index 0000000000..b55598c609 --- /dev/null +++ b/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm @@ -0,0 +1,10 @@ +/datum/visibility_interface/ai_eye + chunk_type = /datum/visibility_chunk/camera + +/datum/visibility_interface/ai_eye/getClient() + var/mob/aiEye/eye = controller + if (!eye) + return FALSE + if (!eye.ai) + return FALSE + return eye.ai.client diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 611243f654..8740c4a4f9 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1201,7 +1201,7 @@ //Disconnect it's camera so it's not so easily tracked. if(src.camera) src.camera.network = list() - cameranet.removeCamera(src.camera) + cameraNetwork.removeViewpoint(src.camera) /mob/living/silicon/robot/proc/ResetSecurityCodes() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 5f7c707635..fd0f6be901 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -204,6 +204,7 @@ var/obj/control_object //Used by admins to possess objects. All mobs should have this var + var/datum/visibility_interface/visibility_interface = null // used by the visibility system to provide an interface for the visibility networks //Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything. var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 314a4026ab..66c665644f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -114,6 +114,11 @@ proc/isobserver(A) if(istype(A, /mob/dead/observer)) return 1 return 0 + +/proc/isSpirit(A) + if(istype(A, /mob/spirit)) + return 1 + return 0 proc/isorgan(A) if(istype(A, /datum/organ/external)) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 1ea768d005..399e7b9a73 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -176,7 +176,8 @@ return if(mob.stat==2) return - + + if(isSpirit(mob)) return mob:Spirit_Move(direct) if(isAI(mob)) return AIMove(n,direct,mob) if(mob.monkeyizing) return//This is sota the goto stop mobs from moving var diff --git a/code/modules/mob/spirit/cultnet.dm b/code/modules/mob/spirit/cultnet.dm new file mode 100644 index 0000000000..9847a80b0c --- /dev/null +++ b/code/modules/mob/spirit/cultnet.dm @@ -0,0 +1,8 @@ +/* + +This file contains the code necessary to do the display code for cult spirits. + +It reuses a lot of code from the AIEye cameraNetwork. In order to work properly, some of those files needed to be modified as well. + +*/ + diff --git a/code/modules/mob/spirit/movement.dm b/code/modules/mob/spirit/movement.dm new file mode 100644 index 0000000000..a7b05856ff --- /dev/null +++ b/code/modules/mob/spirit/movement.dm @@ -0,0 +1,40 @@ +// spirits are not moved by airflow +mob/spirit/Move() + return 0 + +// this is the main move proc for spirits, it uses their 'setLoc' function to handle all the visibility shenanigans +// this, like most movement code for these guys, is cribbed from the AIEye movement code +mob/spirit/proc/Spirit_Move(direct) + + var/initial = initial(sprint) + var/max_sprint = 50 + + // if we haven't moved in a while, we stop sprinting + if(cooldown && cooldown < world.timeofday) // 3 seconds + sprint = initial + + for(var/i = 0; i < max(sprint, initial); i += 20) + var/turf/step = get_turf(get_step(src, direct)) + if(step) + setLoc(step) + + cooldown = world.timeofday + 5 + if(acceleration) + sprint = min(sprint + 0.5, max_sprint) + else + sprint = initial + + // if we're trying to move, we want to stop following our target + follow_target = null + +mob/spirit/proc/setLoc(var/T) + T = get_turf(T) + loc = T + //cultnet.visibility(src) + +mob/spirit/verb/toggle_acceleration() + set category = "Spirit" + set name = "Toggle Acceleration" + + acceleration = !acceleration + usr << "Acceleration has been toggled [acceleration ? "on" : "off"]." \ No newline at end of file diff --git a/code/modules/mob/spirit/spirit.dm b/code/modules/mob/spirit/spirit.dm new file mode 100644 index 0000000000..d03a679c57 --- /dev/null +++ b/code/modules/mob/spirit/spirit.dm @@ -0,0 +1,42 @@ +/* +This mob type is used for entities that exist within the Cult's spirit world. They share the same visibility network and are intangible. + + +NOTES + +- make chunks generic + - subclass them for camerachunks and for cultchunks +- do the same thing with visibility networks + - cultnet and cameraNetwork etc. +*/ + +mob/spirit + name = "spirit" + desc = "A spirit" + icon = 'icons/mob/mob.dmi' + icon_state = "ghost" + layer = 4 + stat = CONSCIOUS + status_flags = GODMODE // spirits cannot be killed + density = 0 + canmove = 0 + blinded = 0 + anchored = 1 + invisibility = INVISIBILITY_SPIRIT + + // pseudo-movement values + var/sprint = 10 + var/cooldown = 0 + var/acceleration = 1 + var/follow_target = null + +mob/spirit/New() + sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF + see_invisible = SEE_SPIRITS + see_in_dark = 100 + + loc = pick(latejoin) + + // no nameless spirits + if (!name) + name = "Boogyman" \ No newline at end of file diff --git a/code/setup.dm b/code/setup.dm index 62515d050c..a689ec7011 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -529,6 +529,9 @@ var/list/liftable_structures = list(\ #define SEE_INVISIBLE_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. #define INVISIBILITY_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. +#define INVISIBILITY_SPIRIT 50 +#define SEE_SPIRITS 50 + #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 diff --git a/code/unused/AI_Visibility.dm b/code/unused/AI_Visibility.dm index d218f4409b..0769f8ca87 100644 --- a/code/unused/AI_Visibility.dm +++ b/code/unused/AI_Visibility.dm @@ -5,7 +5,7 @@ var/image/dim /turf/proc/visibilityChanged() - cameranet.updateVisibility(src) + cameraNetwork.updateVisibility(src) /datum/camerachunk var/list/obscuredTurfs = list() @@ -180,22 +180,22 @@ dim += t.dim -var/datum/cameranet/cameranet = new() +var/datum/cameraNetwork/cameraNetwork = new() -/datum/cameranet +/datum/cameraNetwork var/list/cameras = list() var/list/chunks = list() var/network = "net1" var/ready = 0 -/datum/cameranet/New() +/datum/cameraNetwork/New() ..() -/datum/cameranet/proc/chunkGenerated(x, y, z) +/datum/cameraNetwork/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameranet/proc/getCameraChunk(x, y, z) +/datum/cameraNetwork/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -203,7 +203,7 @@ var/datum/cameranet/cameranet = new() return chunks[key] -/datum/cameranet/proc/visibility(mob/aiEye/ai) +/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -224,14 +224,14 @@ var/datum/cameranet/cameranet = new() for(var/datum/camerachunk/c in add) c.add(ai) -/datum/cameranet/proc/updateVisibility(turf/loc) +/datum/cameraNetwork/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) chunk.visibilityChanged(loc) -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) +/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -265,17 +265,17 @@ var/datum/cameranet/cameranet = new() else client.eye = eyeobj eyeobj.loc = loc - cameranet.visibility(eyeobj) + cameraNetwork.visibility(eyeobj) cameraFollow = null /mob/aiEye/Move() . = ..() if(.) - cameranet.visibility(src) + cameraNetwork.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) + cameraNetwork.visibility(user.eyeobj) else return ..() @@ -289,7 +289,7 @@ var/datum/cameranet/cameranet = new() else if(direct == DOWN && user.eyeobj.z < 4) dif = 1 user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameranet.visibility(user.eyeobj) + cameraNetwork.visibility(user.eyeobj) else return ..() */ @@ -303,8 +303,8 @@ var/datum/cameranet/cameranet = new() /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameranet.updateVisibility(loc) + cameraNetwork.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameranet.addCamera(src) \ No newline at end of file + cameraNetwork.addViewpoint(src) \ No newline at end of file From d370c6f81ecadda331cf2ce85e2684d1e7c8d8cb Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Sat, 26 Oct 2013 17:33:53 -0400 Subject: [PATCH 02/70] * fixing the visibility update loop through the dictionary * moving the standard turf and object update triggers to the visibility_network update_triggers.dm file --- code/datums/visibility_networks/dictionary.dm | 4 +- .../visibility_networks/update_triggers.dm | 55 ++++++++++++++++++ .../visibility_networks/visibility_network.dm | 2 - .../silicon/ai/freelook/update_triggers.dm | 58 ------------------- 4 files changed, 58 insertions(+), 61 deletions(-) create mode 100644 code/datums/visibility_networks/update_triggers.dm diff --git a/code/datums/visibility_networks/dictionary.dm b/code/datums/visibility_networks/dictionary.dm index 3877332985..426a8bea1d 100644 --- a/code/datums/visibility_networks/dictionary.dm +++ b/code/datums/visibility_networks/dictionary.dm @@ -3,5 +3,7 @@ var/datum/visibility_network/list/visibility_networks = list("ALL_CAMERAS"=camer // used by turfs and objects to update all visibility networks /proc/updateVisibilityNetworks(atom/A, var/opacity_check = 1) - for (var/datum/visibility_network/currentNetwork in visibility_networks) + var/datum/visibility_network/currentNetwork + for (var/networkName in visibility_networks) + currentNetwork = visibility_networks[networkName] currentNetwork.updateVisibility(A, opacity_check) \ No newline at end of file diff --git a/code/datums/visibility_networks/update_triggers.dm b/code/datums/visibility_networks/update_triggers.dm new file mode 100644 index 0000000000..78c8f9fe03 --- /dev/null +++ b/code/datums/visibility_networks/update_triggers.dm @@ -0,0 +1,55 @@ +//UPDATE TRIGGERS, when the chunk (and the surrounding chunks) should update. + +// TURFS + +/turf + var/image/obscured + +/turf/proc/visibilityChanged() + if(ticker) + updateVisibilityNetworks(src) + +/turf/simulated/Del() + visibilityChanged() + ..() + +/turf/simulated/New() + ..() + visibilityChanged() + + + +// STRUCTURES + +/obj/structure/Del() + if(ticker) + updateVisibilityNetworks(src) + ..() + +/obj/structure/New() + ..() + if(ticker) + updateVisibilityNetworks(src) + +// EFFECTS + +/obj/effect/Del() + if(ticker) + updateVisibilityNetworks(src) + ..() + +/obj/effect/New() + ..() + if(ticker) + updateVisibilityNetworks(src) + + +// DOORS + +// Simply updates the visibility of the area when it opens/closes/destroyed. +/obj/machinery/door/update_nearby_tiles(need_rebuild) + . = ..(need_rebuild) + // Glass door glass = 1 + // don't check then? + if(!glass) + updateVisibilityNetworks(src,0) \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_network.dm b/code/datums/visibility_networks/visibility_network.dm index 99fe810a6e..72f73a6d49 100644 --- a/code/datums/visibility_networks/visibility_network.dm +++ b/code/datums/visibility_networks/visibility_network.dm @@ -109,8 +109,6 @@ var/x2 = min(world.maxx, T.x + 8) & ~0xf var/y2 = min(world.maxy, T.y + 8) & ~0xf - //world << "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]" - for(var/x = x1; x <= x2; x += 16) for(var/y = y1; y <= y2; y += 16) if(chunkGenerated(x, y, T.z)) diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 224d22f506..05aa5ef317 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -1,63 +1,5 @@ #define BORG_CAMERA_BUFFER 30 -//UPDATE TRIGGERS, when the chunk (and the surrounding chunks) should update. - -// TURFS - -/turf - var/image/obscured - -/turf/proc/visibilityChanged() - if(ticker) - updateVisibilityNetworks(src) - -/turf/simulated/Del() - visibilityChanged() - ..() - -/turf/simulated/New() - ..() - visibilityChanged() - - - -// STRUCTURES - -/obj/structure/Del() - if(ticker) - updateVisibilityNetworks(src) - ..() - -/obj/structure/New() - ..() - if(ticker) - updateVisibilityNetworks(src) - -// EFFECTS - -/obj/effect/Del() - if(ticker) - updateVisibilityNetworks(src) - ..() - -/obj/effect/New() - ..() - if(ticker) - updateVisibilityNetworks(src) - - -// DOORS - -// Simply updates the visibility of the area when it opens/closes/destroyed. -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - // Glass door glass = 1 - // don't check then? - if(!glass) - world << "Updating visibility for [src]" - updateVisibilityNetworks(src,0) - - // ROBOT MOVEMENT // Update the portable camera everytime the Robot moves. From 99321389f27b42982bd173ca857852c4b46430a8 Mon Sep 17 00:00:00 2001 From: Kilakk Date: Thu, 14 Nov 2013 21:45:25 -0500 Subject: [PATCH 03/70] Fixes #3886, ATMs no longer log you in automagically Silly security level 0 ruined everything Added a tiny sanity check as well to avoid runtimes --- code/modules/economy/ATM.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 32dc6cbc9d..398d311c18 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -97,8 +97,6 @@ log transactions user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005." return if(get_dist(src,user) <= 1) - //check to see if the user has low security enabled - scan_user(user) //js replicated from obj/machinery/computer/card var/dat = "

NanoTrasen Automatic Teller Machine

" @@ -223,7 +221,11 @@ log transactions var/new_sec_level = max( min(text2num(href_list["new_security_level"]), 2), 0) authenticated_account.security_level = new_sec_level if("attempt_auth") - if(!ticks_left_locked_down) + + // check if they have low security enabled + scan_user(usr) + + if(!ticks_left_locked_down && held_card) var/tried_account_num = text2num(href_list["account_num"]) if(!tried_account_num) tried_account_num = held_card.associated_account_number @@ -363,3 +365,5 @@ log transactions T.date = current_date_string T.time = worldtime2text() authenticated_account.transaction_log.Add(T) + + view_screen = NO_SCREEN \ No newline at end of file From 734d89c669e1f078e40a589b91a8dabd5250ab64 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 15 Nov 2013 01:00:25 -0600 Subject: [PATCH 04/70] BugFix: Cult Ghosts...after a bit of professional advise from chinsky. Problem: Cult members can't use the rune to see ghosts, then beat ghosts over the head. it was being intercepted by _onclick and processed there and only displaying an angry red notice that you hit that ghost. Ghost didn't become visible, it disappeared soon after moving off the rune. Solution: Made an attackby for ghosts to check when they are being beat up by cultist with books, now they appear. Minor feature change: Now if a visible ghost gets hit it will give a different message than the standard "Ghost is pulled through from the other side". --- code/modules/mob/dead/observer/observer.dm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index ae544c43d5..e06d7ed263 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -63,6 +63,23 @@ real_name = name ..() + +/mob/dead/attackby(obj/item/W, mob/user) + if(istype(W,/obj/item/weapon/tome)) + var/mob/dead/M = src + if(src.invisibility != 0) + M.invisibility = 0 + user.visible_message( \ + "\red [user] drags ghost, [M], to our plan of reality!", \ + "\red You drag [M] to our plan of reality!" \ + ) + else + user.visible_message ( \ + "\red [user] just tried to smash his book into that ghost! It's not very effective", \ + "\red You get the feeling that the ghost can't become any more visible." \ + ) + + /mob/dead/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) return 1 /* From 4ccf7d0a08c9429065e6c0512ca61ef96a6fba9f Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 15 Nov 2013 22:01:35 -0600 Subject: [PATCH 05/70] Bugfix (3778) Power cells in exosuits have the same amount of power as a highcap cell Issue: Mechs are created/spawned with a high-capaciter cell that is named "Power cell" and confuses some of the less bright roboticists and their beards. Solution: Shave the roboticist, and also renamed the cell that spawns to properly reflect it's higher capacity. --- code/game/mecha/mecha.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 1b47d6f9a9..65284a054d 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -115,6 +115,7 @@ cell = C return cell = new(src) + cell.name = "high-capacity power cell" cell.charge = 15000 cell.maxcharge = 15000 From ab06251c32a489d5705778e5afc5ada22e534a36 Mon Sep 17 00:00:00 2001 From: Nanai Date: Sat, 16 Nov 2013 02:01:16 -0500 Subject: [PATCH 06/70] Event Rebalance! As per request, events have been rebalanced to be a bit more even and vastly less appendicitis. Event timers have been increased from 15-25 minutes to 20-40 minutes. --- code/modules/events/event_dynamic.dm | 30 ++++++++++++++-------------- code/modules/events/event_manager.dm | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 93142e0261..8a5b3b61b2 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -44,39 +44,39 @@ var/list/event_last_fired = list() //see: // Code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events.dm // Code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events_Mundane.dm - possibleEvents[/datum/event/economic_event] = 200 - possibleEvents[/datum/event/trivial_news] = 300 - possibleEvents[/datum/event/mundane_news] = 200 + possibleEvents[/datum/event/economic_event] = 300 + possibleEvents[/datum/event/trivial_news] = 400 + possibleEvents[/datum/event/mundane_news] = 300 possibleEvents[/datum/event/pda_spam] = max(min(25, player_list.len) * 4, 200) possibleEvents[/datum/event/money_lotto] = max(min(5, player_list.len), 50) if(account_hack_attempted) possibleEvents[/datum/event/money_hacker] = max(min(25, player_list.len) * 4, 200) - possibleEvents[/datum/event/carp_migration] = 50 + 50 * active_with_role["Engineer"] - possibleEvents[/datum/event/brand_intelligence] = 50 + 25 * active_with_role["Janitor"] + possibleEvents[/datum/event/carp_migration] = 20 + 10 * active_with_role["Engineer"] + possibleEvents[/datum/event/brand_intelligence] = 20 + 25 * active_with_role["Janitor"] - possibleEvents[/datum/event/rogue_drone] = 25 + 25 * active_with_role["Engineer"] + 25 * active_with_role["Security"] - possibleEvents[/datum/event/infestation] = 50 + 25 * active_with_role["Janitor"] + possibleEvents[/datum/event/rogue_drone] = 5 + 25 * active_with_role["Engineer"] + 25 * active_with_role["Security"] + possibleEvents[/datum/event/infestation] = 100 + 100 * active_with_role["Janitor"] possibleEvents[/datum/event/communications_blackout] = 50 + 25 * active_with_role["AI"] + active_with_role["Scientist"] * 25 possibleEvents[/datum/event/ionstorm] = active_with_role["AI"] * 25 + active_with_role["Cyborg"] * 25 + active_with_role["Engineer"] * 10 + active_with_role["Scientist"] * 5 - possibleEvents[/datum/event/grid_check] = 25 + 20 * active_with_role["Engineer"] - possibleEvents[/datum/event/electrical_storm] = 10 * active_with_role["Janitor"] + 5 * active_with_role["Engineer"] + possibleEvents[/datum/event/grid_check] = 25 + 10 * active_with_role["Engineer"] + possibleEvents[/datum/event/electrical_storm] = 15 * active_with_role["Janitor"] + 5 * active_with_role["Engineer"] possibleEvents[/datum/event/wallrot] = 30 * active_with_role["Engineer"] + 50 * active_with_role["Botanist"] if(!spacevines_spawned) - possibleEvents[/datum/event/spacevine] = 5 + 5 * active_with_role["Engineer"] + possibleEvents[/datum/event/spacevine] = 10 + 5 * active_with_role["Engineer"] if(minutes_passed >= 30) // Give engineers time to set up engine possibleEvents[/datum/event/meteor_wave] = 10 * active_with_role["Engineer"] - possibleEvents[/datum/event/meteor_shower] = 40 * active_with_role["Engineer"] + possibleEvents[/datum/event/meteor_shower] = 20 * active_with_role["Engineer"] possibleEvents[/datum/event/blob] = 20 * active_with_role["Engineer"] - possibleEvents[/datum/event/viral_infection] = 25 + active_with_role["Medical"] * 100 + possibleEvents[/datum/event/viral_infection] = 25 + active_with_role["Medical"] * 15 if(active_with_role["Medical"] > 0) - possibleEvents[/datum/event/radiation_storm] = active_with_role["Medical"] * 50 - possibleEvents[/datum/event/spontaneous_appendicitis] = active_with_role["Medical"] * 150 - possibleEvents[/datum/event/viral_infection] = active_with_role["Medical"] * 10 + possibleEvents[/datum/event/radiation_storm] = active_with_role["Medical"] * 10 + possibleEvents[/datum/event/spontaneous_appendicitis] = active_with_role["Medical"] * 10 + possibleEvents[/datum/event/viral_infection] = active_with_role["Medical"] * 20 possibleEvents[/datum/event/organ_failure] = active_with_role["Medical"] * 50 possibleEvents[/datum/event/prison_break] = active_with_role["Security"] * 50 diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 89347a299d..52fbc8220a 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -2,8 +2,8 @@ var/list/allEvents = typesof(/datum/event) - /datum/event var/list/potentialRandomEvents = typesof(/datum/event) - /datum/event //var/list/potentialRandomEvents = typesof(/datum/event) - /datum/event - /datum/event/spider_infestation - /datum/event/alien_infestation -var/eventTimeLower = 9000 //15 minutes -var/eventTimeUpper = 15000 //25 minutes +var/eventTimeLower = 12000 //20 minutes +var/eventTimeUpper = 24000 //40 minutes var/scheduledEvent = null From 057eaba09e51110678952fe1b6f318bc94c58a36 Mon Sep 17 00:00:00 2001 From: Higgin Date: Sat, 16 Nov 2013 17:45:38 -0800 Subject: [PATCH 07/70] Changes to how projectiles work: take two! -Embedding is now a function of armor and projectile base damage. -Chances to hit varied body parts are modified via miss_modifier. Less likely to hit head, extremities, etc. Distance is more of a factor. --- .../mob/living/carbon/human/human_damage.dm | 11 --------- .../mob/living/carbon/human/human_defense.dm | 12 ++++++++++ code/modules/projectiles/projectile.dm | 23 +++++++++++++++++-- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 6b597920ff..40db476eba 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -251,15 +251,4 @@ This function restores all organs. H.drop_item() W.loc = src - else if(istype(used_weapon,/obj/item/projectile)) //We don't want to use the actual projectile item, so we spawn some shrapnel. - - var/obj/item/projectile/P = used_weapon - if(prob(75) && P.embed) - var/obj/item/weapon/shard/shrapnel/S = new() - S.name = "[P.name] shrapnel" - S.desc = "[S.desc] It looks like it was fired from [P.shot_from]." - S.loc = src - organ.implants += S - visible_message("The projectile sticks in the wound!") - S.add_blood(src) return 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2d06c5fee7..f34ad036d4 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -88,6 +88,18 @@ emp_act return //END TASER NERF + var/datum/organ/external/organ = get_organ(check_zone(def_zone)) + + var/armor = checkarmor(organ, "bullet") + + if((P.embed && prob(20 + max(P.damage - armor, -10))) && P.damage_type == BRUTE) + var/obj/item/weapon/shard/shrapnel/SP = new() + (SP.name) = "[P.name] shrapnel" + (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." + (SP.loc) = organ + organ.implants += SP + visible_message("The projectile sticks in the wound!") + SP.add_blood(src) return (..(P , def_zone)) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 97fa5b1dbd..3012a095cf 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -50,7 +50,6 @@ var/drowsy = 0 var/agony = 0 - var/embed = 0 // whether or not the projectile can embed itself in the mob proc/on_hit(var/atom/target, var/blocked = 0) if(blocked >= 2) return 0//Full block @@ -91,11 +90,31 @@ // close distance, actually RAISE the chance to hit. var/distance = get_dist(starting,loc) var/miss_modifier = -30 + if(isorgan(def_zone,M)) //modify chances to hit based on the area you're attacking. + if(def_zone == "l_arm") + miss_modifier += 10 + if(def_zone == "r_arm") + miss_modifier += 10 + if(def_zone == "l_leg") + miss_modifier += 5 + if(def_zone == "r_leg") + miss_modifier += 5 + if(def_zone == "head") + miss_modifier += 20 + if(def_zone == "l_hand") + miss_modifier += 25 + if(def_zone == "r_hand") + miss_modifier += 25 + if(def_zone == "l_foot") + miss_modifier += 23 + if(def_zone == "r_foot") + miss_modifier += 23 + if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew miss_modifier += -30 - def_zone = get_zone_with_miss_chance(def_zone, M, -30 + 8*distance) + def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance) if(!def_zone) visible_message("\blue \The [src] misses [M] narrowly!") From f42ac118aaece3c2cfc1041a7c066f564d52b891 Mon Sep 17 00:00:00 2001 From: Higgin Date: Sat, 16 Nov 2013 21:21:40 -0800 Subject: [PATCH 08/70] Fix because I'm dumb. --- .../mob/living/carbon/human/human_defense.dm | 20 +++++++++---------- code/modules/projectiles/projectile.dm | 5 +---- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f34ad036d4..16a4733b27 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -88,18 +88,18 @@ emp_act return //END TASER NERF - var/datum/organ/external/organ = get_organ(check_zone(def_zone)) + var/datum/organ/external/organ = get_organ(check_zone(def_zone)) - var/armor = checkarmor(organ, "bullet") + var/armor = checkarmor(organ, "bullet") - if((P.embed && prob(20 + max(P.damage - armor, -10))) && P.damage_type == BRUTE) - var/obj/item/weapon/shard/shrapnel/SP = new() - (SP.name) = "[P.name] shrapnel" - (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." - (SP.loc) = organ - organ.implants += SP - visible_message("The projectile sticks in the wound!") - SP.add_blood(src) + if((P.embed && prob(20 + max(P.damage - armor, -10))) && P.damage_type == BRUTE) + var/obj/item/weapon/shard/shrapnel/SP = new() + (SP.name) = "[P.name] shrapnel" + (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." + (SP.loc) = organ + organ.implants += SP + visible_message("The projectile sticks in the wound!") + SP.add_blood(src) return (..(P , def_zone)) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3012a095cf..1598a261fe 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -49,7 +49,7 @@ var/eyeblur = 0 var/drowsy = 0 var/agony = 0 - + var/embed = 0 // whether or not the projectile can embed itself in the mob proc/on_hit(var/atom/target, var/blocked = 0) if(blocked >= 2) return 0//Full block @@ -86,11 +86,8 @@ loc = A.loc return 0// nope.avi - //Lower accurancy/longer range tradeoff. Distance matters a lot here, so at - // close distance, actually RAISE the chance to hit. var/distance = get_dist(starting,loc) var/miss_modifier = -30 - if(isorgan(def_zone,M)) //modify chances to hit based on the area you're attacking. if(def_zone == "l_arm") miss_modifier += 10 if(def_zone == "r_arm") From 08a3226f0794405984e74c522b67ab0b86d1a675 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sun, 17 Nov 2013 15:03:50 +0000 Subject: [PATCH 09/70] Fix for the config .gitignore. Signed-off-by: Mloc-Argent --- .gitignore | 6 ------ config/.gitignore | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 config/.gitignore diff --git a/.gitignore b/.gitignore index 0dc17248d0..7daab15618 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,3 @@ *.rsc *.dmb *.lk - -#ignore any files in config/, except those in subdirectories. -/config/* -!/config/*/* - -/baystation12.int diff --git a/config/.gitignore b/config/.gitignore new file mode 100644 index 0000000000..ec7ed9b452 --- /dev/null +++ b/config/.gitignore @@ -0,0 +1,3 @@ +#ignore everything here, except subdirectories. +* +!*/ From 1583eb437fa2909b95bf3e31dde21edd3afc9f5e Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sun, 17 Nov 2013 17:28:50 +0000 Subject: [PATCH 10/70] Updated HUD Icons Was using some rather outdated icons. Copied the icons from mob.dmi and named them appropriately. --- icons/mob/hud.dmi | Bin 2660 -> 2902 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index b13b296cf1075606e11bfc457faa67ca471c75b7..0502c01147dccacc311e72977314974e725be839 100644 GIT binary patch delta 2617 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 E0T4^!eE|59*YkNk@39~GYWYa8Le&8<(lA%T zX0t&A0lGl~_T9#2xN3tyAaJ}V)(eE5n+OGgq~veY!J5E|m%6Y;gIl*Z`R%1}v$dwK zQ_r25{pX5KxMGV?;`thgb&$--4FF{*_NRI1{nC9WoUA9WrnHDTUG6i%2t)517f}xj%Y0PE zMtxjV=j%A{!yj^t%xbWE(rmDu$QQ$B54j1hQx_v%_?H~sJCR*o(t*_^zTspto8h>h zo_<^eE*$$6XP6N%gK>2j`IP1*bKzBoe?N7Na1;Vieu}t_r^4e=hW!WHw0z%X;B}b#fulSAY zM4Ov2{P#VmDr2(lUbI&|s`ahNV z{SbvJ3tDJ3m=M_*`?iU~cJz5idv;Xpi;%~(oUiw;k3zRD9gjkPj0kzu41nJg{OZTY z$9R;bhA_S$Ff}At4>2;noErQGWHNrK^S08w-)x7mmrT4QH)$2@kgMh~yX9CwSvqtX zZ4vejp5>>z3Oh&+Z7=aV2GmXj?BDr}|4-3#rJb~SzHQ0o#(0U5F<$A(+*K?#@?}?OWA|S( z&%Zf+1&hlHl;(?bLL0Ut9ZxdeTv!xNP#(` z*m4P?Y8{dt1udAy9P^G;%^$(U(C@Hl^krqh-05yI)oQ+uJ6AG>WPBxh^uO;N*B?dP5RK)gezo2b-IYp6N=WwvSglUX)`1G3Di)Rd3sKF1 zbjqZdvsjOi=e4}q{praS31u-@$A}>&rUc4`zm!2fCVN=-p^8=U?uN!JzOWOb>t~>& z{TeNN%EL?wptW}T;8(2VQ&ZFNl*}Ni-J@v8Eo=HadA&+2`@6J4xaT>_UAXB6JdyR; z+0Jd3kJiO5?K3ptiqBU*}ur`&joMZOv8nh=Q!dJWW^ zzQu;3q;yRvb{6PWn3c8}$ZNOM2t@Z5Bw`8#Y^ zos)YF-1CM{0cHNz6KQGiQ7ImFM3!&Sw>Vvyf4r|x#y)+H@xg`!s(E$x=|S0=VN7y> zBAstFXs(???oqzFDF<$A9zdR%L=v>MFT;DH32m<+-!m0n|2Fez4Op+%TY1Y2u+>AA zCQNPdhL$PR2S|R}vZr447@Bi}9rz_x!~Kb$u80W>~F@ zt(*w9B~DrXdA$kI7Ye;_!0d}Ocm)ioB%E=44aG&`>xKIe9voTTEF=PMX(@Z=Bx7!S zXo$S?|1&ddYipeD39*uJJ7aOXH&MO6mn{!^78equrNSj>)3`Ec!xQU9@`b?q3V!n3SB4Q>JO(;tk2lZGfXpS_NBC* z<8qq{%(lHM4);iC>OER}zjb&WrQJn0>OPixW{TRQ8S+0{dOF38cJ~K9Bx_NIo(9jV zJ`U$z>Uwp}`cw2YF&~J(=Pv3wGprwCLvPHu@PW0N46`4-e^ToEQ*7|L)YPS8GnK5% zO0s(b8d=OVk?}$=kYV@niHtyUr>;6XTLnnFTpc5~K6tlt`X=3w|3mU-UcbSb;Omi2 z7Rxm}@v5%AsphV_)8VFq+~E}V8?SrrozE+0fDqrC%F5~7=6(2Mk_iY8azybNo8tM} zwk{(LKG_f(JDv`2x<7E3;2cep)4E0MZ3sli(8=n-afpk08Y6UDYH}}&B_*$Crripu z)G7MHXw%3UmOiR_qr?)rTW*kaaZY%@oHlo;v*|X|v`-L9H?h>d^l_~4+HXl3HG6&q zlAdVcF4uhPUuH`z59gYGj}7u6&i)oCuG8oyo9LU8SL@!vbhH(3sDs#~M{Za=rTKzC;Dg()Rca%NZa4vD1fx2R;cDVU|F)ygl?{>K_w5KO8t)!$ WH&IcnHN%hoyVb=3Yu|7x==wi6xMHOM From dbf24606bd87268e8f5487afcd5bb03282db5d6f Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 17 Nov 2013 08:24:23 -0600 Subject: [PATCH 11/70] The Ghost AntagHUD Feature. Created configurations for Server Admins to be able to toggle it within default config. Modified my previous AdminVerb that allows respawns to bypass the limitations of the restrictions while also letting the admins know if the ghost has used AntagHUD Created restriction checks for various forms of joining the round and if administrators/hosts have restricted AntagHUD users from joining the round they will not be able to. To Do: Create Adminverb for toggling restrictions to also be able to toggle everyones ability to use antagHUD for a round. Create a method for "Job Banning" users from using antagHUD. --- code/controllers/configuration.dm | 8 +- code/modules/admin/verbs/randomverbs.dm | 18 +++-- code/modules/mob/dead/observer/observer.dm | 81 ++++++++++++++++++- .../mob/living/carbon/brain/posibrain.dm | 2 + .../modules/mob/living/silicon/pai/recruit.dm | 2 + code/modules/mob/mob.dm | 5 ++ config/example/config.txt | 6 ++ 7 files changed, 114 insertions(+), 8 deletions(-) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 42ac1cdc97..f2b5f01ce3 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -43,7 +43,8 @@ var/Tickcomp = 0 var/socket_talk = 0 // use socket_talk to communicate with other processes var/list/resource_urls = null - + var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. + var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. var/list/mode_names = list() var/list/modes = list() // allowed modes var/list/votable_modes = list() // votable modes @@ -385,6 +386,11 @@ if("ticklag") Ticklag = text2num(value) + if("allow_antag_hud") + config.antag_hud_allowed = 1 + if("antag_hud_restricted") + config.antag_hud_restricted = 1 + if("socket_talk") socket_talk = text2num(value) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 3447d70e67..6a5af5cf25 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -229,7 +229,7 @@ Ccomp's first proc. /client/proc/allow_character_respawn() set category = "Special Verbs" set name = "Allow player to respawn" - set desc = "Let's the player bypass the 30 minute wait to respawn." + set desc = "Let's the player bypass the 30 minute wait to respawn or allow them to re-enter their corpse." if(!holder) src << "Only administrators may use this command." var/any = 0 @@ -252,14 +252,20 @@ Ccomp's first proc. src << "Hrm, appears you didn't select a ghost" // Sanity check, if no ghosts in the list we don't want to edit a null variable and cause a runtime error. return - var/mob/M = ghosts[target] - M.timeofdeath=-19999 /* time of death is checked in /mob/verb/abandon_mob() which is the Respawn verb. + var/mob/dead/observer/G = ghosts[target] + if(G.has_enabled_antagHUD && config.antag_hud_restricted) + var/response = alert(src, "Are you sure you wish to allow this individual to play?","Ghost has used AntagHUD","Yes","No") + if(response == "No") return + G.timeofdeath=-19999 /* time of death is checked in /mob/verb/abandon_mob() which is the Respawn verb. timeofdeath is used for bodies on autopsy but since we're messing with a ghost I'm pretty sure there won't be an autopsy. */ - M:show_message(text("\blue You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead."), 1) - log_admin("[key_name(usr)] allowed [key_name(M)] to bypass the 30 minute respawn limit") - message_admins("Admin [key_name_admin(usr)] allowed [key_name_admin(M)] to bypass the 30 minute respawn limit", 1) + G.has_enabled_antagHUD = 2 + G.can_reenter_corpse = 1 + + G:show_message(text("\blue You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead."), 1) + log_admin("[key_name(usr)] allowed [key_name(G)] to bypass the 30 minute respawn limit") + message_admins("Admin [key_name_admin(usr)] allowed [key_name_admin(G)] to bypass the 30 minute respawn limit", 1) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index ae544c43d5..9df4b8a84c 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -16,6 +16,8 @@ var/started_as_observer //This variable is set to 1 when you enter the game as an observer. //If you died in the game and are a ghsot - this will remain as null. //Note that this is not a reliable way to determine if admins started as observers, since they change mobs a lot. + var/has_enabled_antagHUD = 0 + var/antagHUD = 0 universal_speak = 1 var/atom/movable/following = null /mob/dead/observer/New(mob/body) @@ -70,6 +72,60 @@ Transfer_mind is there to check if mob is being deleted/not going to have a body Works together with spawning an observer, noted above. */ +/mob/dead/observer/Life() + ..() + if(!loc) return + if(!client) return 0 + + + if(client.images.len) + for(var/image/hud in client.images) + if(copytext(hud.icon_state,1,4) == "hud") + client.images.Remove(hud) + if(M.antagHUD) + var/list/target_list = list() + for(var/mob/living/target in oview(M)) + if( target.mind&&(target.mind.special_role||issilicon(target)) ) + target_list += target + if(target_list.len) + M.assess_targets(target_list, M) + + + +/mob/dead/proc/assess_targets(list/target_list, mob/living/carbon/U) + var/icon/tempHud = 'icons/mob/hud.dmi' + for(var/mob/living/target in target_list) + if(iscarbon(target)) + switch(target.mind.special_role) + if("traitor","Syndicate") + U.client.images += image(tempHud,target,"hudsyndicate") + if("Revolutionary") + U.client.images += image(tempHud,target,"hudrevolutionary") + if("Head Revolutionary") + U.client.images += image(tempHud,target,"hudheadrevolutionary") + if("Cultist") + U.client.images += image(tempHud,target,"hudcultist") + if("Changeling") + U.client.images += image(tempHud,target,"hudchangeling") + if("Wizard","Fake Wizard") + U.client.images += image(tempHud,target,"hudwizard") + if("Hunter","Sentinel","Drone","Queen") + U.client.images += image(tempHud,target,"hudalien") + if("Death Commando") + U.client.images += image(tempHud,target,"huddeathsquad") + if("Ninja") + U.client.images += image(tempHud,target,"hudninja") + else//If we don't know what role they have but they have one. + U.client.images += image(tempHud,target,"hudunknown1") + else//If the silicon mob has no law datum, no inherent laws, or a law zero, add them to the hud. + var/mob/living/silicon/silicon_target = target + if(!silicon_target.laws||(silicon_target.laws&&(silicon_target.laws.zeroth||!silicon_target.laws.inherent.len))||silicon_target.mind.special_role=="traitor") + if(isrobot(silicon_target))//Different icons for robutts and AI. + U.client.images += image(tempHud,silicon_target,"hudmalborg") + else + U.client.images += image(tempHud,silicon_target,"hudmalai") + return 1 + /mob/proc/ghostize(var/can_reenter_corpse = 1) if(key) var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc. @@ -153,7 +209,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients usr << "Another consciousness is in your body...It is resisting you." return - if(mind.current.ajourn && mind.current.stat != DEAD) //check if the corpse is astral-journeying (it's client ghosted using a cultist rune). + if(mind.current.ajourn && mind.current.stat != DEAD) //check if the corpse is astral-journeying (it's client ghosted using a cultist rune). var/obj/effect/rune/R = locate() in mind.current.loc //whilst corpse is alive, we can only reenter the body if it's on the rune if(!(R && R.word1 == cultwords["hell"] && R.word2 == cultwords["travel"] && R.word3 == cultwords["self"])) //astral journeying rune usr << "The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you." @@ -162,6 +218,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp mind.current.key = key return 1 +/mob/dead/observer/verb/toggle_antagHUD() + set category = "Ghost" + set name = "Toggle AntagHUD" + set desc = "Toggles AntagHUD allowing you to see who is the antagonist" + if(!config.antag_hud_allowed) + src << "\red Admins have disabled this for this round." + return + if(!client) + return + var/mob/dead/observer/M = src + if(config.antag_hud_restricted && !M.has_enabled_antagHUD) + var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") + if(response == "No") return + M.can_reenter_corpse = 0 + if(!M.has_enabled_antagHUD) + M.has_enabled_antagHUD = 1 + if(M.antagHUD) + M.antagHUD = 0 + src << "\blue AntagHUD Disabled" + else + M.antagHUD = 1 + src << "\blue AntagHUD Enabled" + /mob/dead/observer/proc/dead_tele() set category = "Ghost" set name = "Teleport" diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index f8c014278c..fa02150ab3 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -27,6 +27,8 @@ proc/request_player() for(var/mob/dead/observer/O in player_list) + if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted) + continue if(jobban_isbanned(O, "pAI")) continue if(O.client) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 93271aadaf..270e2ba763 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -191,6 +191,8 @@ var/datum/paiController/paiController // Global handler for pAI candidates proc/requestRecruits() for(var/mob/dead/observer/O in player_list) + if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted) + continue if(jobban_isbanned(O, "pAI")) continue if(asked.Find(O.key)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 8f9623565f..c82489cf35 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -348,6 +348,10 @@ var/list/slot_equipment_priority = list( \ return else var/deathtime = world.time - src.timeofdeath + var/mob/dead/observer/G = src + if(G.has_enabled_antagHUD == 1 && config.antag_hud_restricted) + usr << "\blue Upon using the antagHUD you forfeighted the ability to join the round." + return var/deathtimeminutes = round(deathtime / 600) var/pluralcheck = "minute" if(deathtimeminutes == 0) @@ -358,6 +362,7 @@ var/list/slot_equipment_priority = list( \ pluralcheck = " [deathtimeminutes] minutes and" var/deathtimeseconds = round((deathtime - deathtimeminutes * 600) / 10,1) usr << "You have been dead for[pluralcheck] [deathtimeseconds] seconds." + if (deathtime < 18000) usr << "You must wait 30 minutes to respawn!" return diff --git a/config/example/config.txt b/config/example/config.txt index db1702b67c..fb320da581 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -121,6 +121,12 @@ VOTE_AUTOTRANSFER_INTERVAL 36000 ## players' votes default to "No vote" (otherwise, default to "No change") DEFAULT_NO_VOTE +## Allow ghosts to see antagonist through AntagHUD +ALLOW_ANTAG_HUD + +## If ghosts use antagHUD they are no longer allowed to join the round. +ANTAG_HUD_RESTRICTED + ## allow AI job ALLOW_AI From a56103c151310efd04d319db3e0190b132d54f9d Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 17 Nov 2013 10:00:12 -0600 Subject: [PATCH 12/70] Added Adminverbs for turning off and on the various items needed. Also added the proc get_ghosts() with 2 versions of output, it defaults to returning a mob list but can be set to return a list for use with an input window. --- code/modules/admin/admin_verbs.dm | 2 + code/modules/admin/verbs/randomverbs.dm | 96 ++++++++++++++++++---- code/modules/mob/dead/observer/observer.dm | 19 +++-- 3 files changed, 94 insertions(+), 23 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 606a6e82ff..1158633bf8 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -70,6 +70,8 @@ var/list/admin_verbs_admin = list( /client/proc/man_up, /client/proc/global_man_up, /client/proc/response_team, // Response Teams admin verb + /client/proc/toggle_antagHUD_use, + /client/proc/toggle_antagHUD_restrictions, /client/proc/allow_character_respawn /* Allows a ghost to respawn */ ) var/list/admin_verbs_ban = list( diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 6a5af5cf25..010e99e23e 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -226,26 +226,38 @@ Allow admins to set players to be able to respawn/bypass 30 min wait, without th Ccomp's first proc. */ +/client/proc/get_ghosts(var/notify = 0,var/what = 2) + // what = 1, return ghosts ass list. + // what = 2, return mob list + + var/list/mobs = list() + var/list/ghosts = list() + var/list/sortmob = sortAtom(mob_list) // get the mob list. + /var/any=0 + for(var/mob/dead/observer/M in sortmob) + mobs.Add(M) //filter it where it's only ghosts + any = 1 //if no ghosts show up, any will just be 0 + if(!any) + if(notify) + src << "There doesn't appear to be any ghosts for you to select." + return + + for(var/mob/M in mobs) + var/name = M.name + ghosts[name] = M //get the name of the mob for the popup list + if(what==1) + return ghosts + else + return mobs + + /client/proc/allow_character_respawn() set category = "Special Verbs" set name = "Allow player to respawn" set desc = "Let's the player bypass the 30 minute wait to respawn or allow them to re-enter their corpse." if(!holder) src << "Only administrators may use this command." - var/any = 0 - var/list/mobs = list() - var/list/ghosts = list() - var/list/sortmob = sortAtom(mob_list) // get the mob list. - for(var/mob/dead/observer/M in sortmob) - mobs.Add(M) //filter it where it's only ghosts - any = 1 //if no ghosts show up, any will just be 0 - if(!any) - src << "There doesn't appear to be any ghosts for you to select." - return - - for(var/mob/M in mobs) - var/name = M.name - ghosts[name] = M //get the name of the mob for the popup list + var/list/ghosts= get_ghosts(1) var/target = input("Please, select a ghost!", "COME BACK TO LIFE!", null, null) as null|anything in ghosts if(!target) @@ -268,6 +280,62 @@ Ccomp's first proc. message_admins("Admin [key_name_admin(usr)] allowed [key_name_admin(G)] to bypass the 30 minute respawn limit", 1) +/client/proc/toggle_antagHUD_use() + set category = "Server" + set name = "Toggle antagHUD usage" + set desc = "Toggles antagHUD usage for observers" + + if(!holder) + src << "Only administrators may use this command." + var/action="" + if(config.antag_hud_allowed) + for(var/mob/dead/observer/g in get_ghosts()) + if(g.antagHUD) + g.antagHUD = 0 // Disable it on those that have it enabled + g.has_enabled_antagHUD = 2 // We'll allow them to respawn + g << "\red TheAdministrator has disabled AntagHUD " + config.antag_hud_allowed = 0 + src << "\red AntagHUD usage has been disabled" + action = "disabled" + else + for(var/mob/dead/observer/g in get_ghosts()) + g << "\blue The Administrator has enabled AntagHUD " // Notify all observers they can now use AntagHUD + config.antag_hud_allowed = 1 + action = "enabled" + src << "\blue AntagHUD usage has been enabled" + + + log_admin("[key_name(usr)] has [action] antagHUD usage for observers") + message_admins("Admin [key_name_admin(usr)] has [action] antagHUD usage for observers", 1) + + + +/client/proc/toggle_antagHUD_restrictions() + set category = "Server" + set name = "Toggle antagHUD Restrictions" + set desc = "Restricts players that have used antagHUD from being able to join this round." + if(!holder) + src << "Only administrators may use this command." + var/action="" + if(config.antag_hud_restricted) + for(var/mob/dead/observer/g in get_ghosts()) + g << "\blue The administrator has lifted restrictions on joining the round if you use AntagHUD" + action = "lifted restrictions" + config.antag_hud_restricted = 0 + src << "\blue AntagHUD restrictions have been lifted" + else + for(var/mob/dead/observer/g in get_ghosts()) + g << "\red The administrator has placed restrictions on joining the round if you use AntagHUD" + g << "\red Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions " + g.antagHUD = 0 + g.has_enabled_antagHUD = 0 + action = "placed restrictions" + config.antag_hud_restricted = 1 + src << "\red AntagHUD restrictions have been enabled" + + log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD") + message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1) + diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 9df4b8a84c..7febbd4561 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -79,16 +79,17 @@ Works together with spawning an observer, noted above. if(client.images.len) - for(var/image/hud in client.images) - if(copytext(hud.icon_state,1,4) == "hud") - client.images.Remove(hud) + for(var/image/hud in client.images) + if(copytext(hud.icon_state,1,4) == "hud") + client.images.Remove(hud) + var/mob/dead/observer/M = src if(M.antagHUD) - var/list/target_list = list() - for(var/mob/living/target in oview(M)) - if( target.mind&&(target.mind.special_role||issilicon(target)) ) - target_list += target - if(target_list.len) - M.assess_targets(target_list, M) + var/list/target_list = list() + for(var/mob/living/target in oview(M)) + if( target.mind&&(target.mind.special_role||issilicon(target)) ) + target_list += target + if(target_list.len) + M.assess_targets(target_list, M) From 59bb2357b67cf35864a6b757c685ce563595cb52 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 17 Nov 2013 10:41:07 -0600 Subject: [PATCH 13/70] Included JobBan menu and systems for AntagHUD --- code/modules/admin/topic.dm | 10 +++++++--- code/modules/admin/verbs/randomverbs.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index f1c911488a..f545283038 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -515,7 +515,7 @@ //Non-Human (Green) counter = 0 jobs += "" - jobs += "" + jobs += "" for(var/jobPos in nonhuman_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) @@ -533,11 +533,15 @@ counter = 0 //pAI isn't technically a job, but it goes in here. + if(jobban_isbanned(M, "pAI")) jobs += "" else jobs += "" - + if(jobban_isbanned(M, "AntagHUD")) + jobs += "" + else + jobs += "" jobs += "
Non-human Positions
Non-human Positions
pAIpAIAntagHUDAntagHUD
" //Antagonist (Orange) @@ -2594,4 +2598,4 @@ show_player_info(ckey) if("list") PlayerNotesPage(text2num(href_list["index"])) - return \ No newline at end of file + return diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 010e99e23e..55322914ed 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -257,7 +257,7 @@ Ccomp's first proc. set desc = "Let's the player bypass the 30 minute wait to respawn or allow them to re-enter their corpse." if(!holder) src << "Only administrators may use this command." - var/list/ghosts= get_ghosts(1) + var/list/ghosts= get_ghosts(1,1) var/target = input("Please, select a ghost!", "COME BACK TO LIFE!", null, null) as null|anything in ghosts if(!target) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 7febbd4561..a72fe75ef9 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -229,6 +229,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!client) return var/mob/dead/observer/M = src + if(jobban_isbanned(M, "AntagHUD")) + src << "\red You have been banned from using this feature" + return if(config.antag_hud_restricted && !M.has_enabled_antagHUD) var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") if(response == "No") return From 340532dc55cec30ae31dee86ff650f6ce5c202ca Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 17 Nov 2013 13:16:55 -0600 Subject: [PATCH 14/70] String fix on adminverb Added holder checks so admins can use antagHUD regardless of restrictions. --- code/modules/admin/verbs/randomverbs.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 24 ++++++++++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 55322914ed..812a4b51d6 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -293,7 +293,7 @@ Ccomp's first proc. if(g.antagHUD) g.antagHUD = 0 // Disable it on those that have it enabled g.has_enabled_antagHUD = 2 // We'll allow them to respawn - g << "\red TheAdministrator has disabled AntagHUD " + g << "\red The Administrator has disabled AntagHUD " config.antag_hud_allowed = 0 src << "\red AntagHUD usage has been disabled" action = "disabled" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index a72fe75ef9..29148682b4 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -10,6 +10,7 @@ blinded = 0 anchored = 1 // don't get pushed around invisibility = INVISIBILITY_OBSERVER + var/tempdir = 1 var/can_reenter_corpse var/datum/hud/living/carbon/hud = null // hud var/bootime = 0 @@ -94,26 +95,27 @@ Works together with spawning an observer, noted above. /mob/dead/proc/assess_targets(list/target_list, mob/living/carbon/U) + var/mob/dead/observer/M = src var/icon/tempHud = 'icons/mob/hud.dmi' for(var/mob/living/target in target_list) if(iscarbon(target)) switch(target.mind.special_role) if("traitor","Syndicate") - U.client.images += image(tempHud,target,"hudsyndicate") + U.client.images += image(tempHud,target,"hudsyndicate",,M.tempdir) if("Revolutionary") - U.client.images += image(tempHud,target,"hudrevolutionary") + U.client.images += image(tempHud,target,"hudrevolutionary",,M.tempdir) if("Head Revolutionary") - U.client.images += image(tempHud,target,"hudheadrevolutionary") + U.client.images += image(tempHud,target,"hudheadrevolutionary",,M.tempdir) if("Cultist") - U.client.images += image(tempHud,target,"hudcultist") + U.client.images += image(tempHud,target,"hudcultist",,M.tempdir) if("Changeling") - U.client.images += image(tempHud,target,"hudchangeling") + U.client.images += image(tempHud,target,"hudchangeling",,M.tempdir) if("Wizard","Fake Wizard") - U.client.images += image(tempHud,target,"hudwizard") + U.client.images += image(tempHud,target,"hudwizard",,M.tempdir) if("Hunter","Sentinel","Drone","Queen") - U.client.images += image(tempHud,target,"hudalien") + U.client.images += image(tempHud,target,"hudalien",,M.tempdir) if("Death Commando") - U.client.images += image(tempHud,target,"huddeathsquad") + U.client.images += image(tempHud,target,"huddeathsquad",,M.tempdir) if("Ninja") U.client.images += image(tempHud,target,"hudninja") else//If we don't know what role they have but they have one. @@ -223,7 +225,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" set name = "Toggle AntagHUD" set desc = "Toggles AntagHUD allowing you to see who is the antagonist" - if(!config.antag_hud_allowed) + if(!config.antag_hud_allowed && !client.holder) src << "\red Admins have disabled this for this round." return if(!client) @@ -232,11 +234,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(jobban_isbanned(M, "AntagHUD")) src << "\red You have been banned from using this feature" return - if(config.antag_hud_restricted && !M.has_enabled_antagHUD) + if(config.antag_hud_restricted && !M.has_enabled_antagHUD &&!client.holder) var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") if(response == "No") return M.can_reenter_corpse = 0 - if(!M.has_enabled_antagHUD) + if(!M.has_enabled_antagHUD && !client.holder) M.has_enabled_antagHUD = 1 if(M.antagHUD) M.antagHUD = 0 From b75380985e273f172653cd9115b77a31e216c62e Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Sun, 17 Nov 2013 11:54:43 -0800 Subject: [PATCH 15/70] Using a better method to handle autotransfers. Old method was silly. --- baystation12.dme | 1 + code/controllers/voting.dm | 1 - code/game/gamemodes/gameticker.dm | 14 -------------- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index a5cf03ea1e..aaf9eab8af 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -75,6 +75,7 @@ #include "code\ATMOSPHERICS\components\unary\vent_pump.dm" #include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm" #include "code\controllers\_DynamicAreaLighting_TG.dm" +#include "code\controllers\autotransfer.dm" #include "code\controllers\configuration.dm" #include "code\controllers\failsafe.dm" #include "code\controllers\lighting_controller.dm" diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index 452c174b35..92f55a3fd6 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -50,7 +50,6 @@ datum/controller/vote initiate_vote("crew_transfer","the server") log_debug("The server has called an Autotransfer") - proc/reset() initiator = null time_remaining = 0 diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index a03068371f..ea9fbaec4a 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -36,8 +36,6 @@ var/global/datum/controller/gameticker/ticker var/triai = 0//Global holder for Triumvirate - var/initialtpass = 0 //holder for inital autotransfer vote timer - /datum/controller/gameticker/proc/pregame() login_music = pick(\ /*'sound/music/halloween/skeletons.ogg',\ @@ -63,17 +61,6 @@ var/global/datum/controller/gameticker/ticker current_state = GAME_STATE_SETTING_UP while (!setup()) -/datum/controller/gameticker/proc/votetimer() - var/timerbuffer = 0 - if (initialtpass == 0) - timerbuffer = config.vote_autotransfer_initial - else - timerbuffer = config.vote_autotransfer_interval - spawn(timerbuffer) - vote.autotransfer() - initialtpass = 1 - votetimer() - /datum/controller/gameticker/proc/setup() //Create and announce mode @@ -166,7 +153,6 @@ var/global/datum/controller/gameticker/ticker spawn(3000) statistic_cycle() // Polls population totals regularly and stores them in an SQL DB -- TLE - votetimer() return 1 /datum/controller/gameticker From 9936a9251facf2a923c0f5a53984bf6450488f0a Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Sun, 17 Nov 2013 11:55:57 -0800 Subject: [PATCH 16/70] Helps to add the actual new file. --- code/controllers/autotransfer.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 code/controllers/autotransfer.dm diff --git a/code/controllers/autotransfer.dm b/code/controllers/autotransfer.dm new file mode 100644 index 0000000000..c69290c7bd --- /dev/null +++ b/code/controllers/autotransfer.dm @@ -0,0 +1,13 @@ +var/datum/controller/transfer_controller = new /transfer_controller() +var/timerbuffer = 0 //buffer for time check +/transfer_controller/New() + timerbuffer = config.vote_autotransfer_initial + processing_objects += src + +/transfer_controller/Del() + processing_objects -= src + +/transfer_controller/proc/process() + if (world.time >= timerbuffer - 600) + vote.autotransfer() + timerbuffer = timerbuffer + config.vote_autotransfer_interval \ No newline at end of file From c6ec4329046bc94116e3b12308b446f071c9bef6 Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Sun, 17 Nov 2013 16:23:36 -0500 Subject: [PATCH 17/70] - major update to all systems - creating the mask entity - modifying the code for cult icons - updating the camera net - adding visibility network updates to all mobs - unifying the culting and deculting process - adding "Make Mask" function to Player Panel --- baystation12.dme | 3 + baystation12.int | 3 + code/__HELPERS/global_lists.dm | 1 + code/controllers/verbs.dm | 5 +- code/datums/datumvars.dm | 14 +- code/datums/mind.dm | 8 + .../datums/visibility_networks/NEXT THING.txt | 7 + code/datums/visibility_networks/dictionary.dm | 6 +- .../visibility_networks/update_triggers.dm | 49 +- .../visibility_networks/visibility_network.dm | 8 + code/game/gamemodes/cult/cult.dm | 137 +- code/game/gamemodes/cult/ritual.dm | 10 +- code/game/gamemodes/cult/runes.dm | 1802 +++++++++-------- code/game/machinery/doors/door.dm | 4 + code/modules/admin/admin.dm | 1 + code/modules/admin/topic.dm | 9 + code/modules/mob/living/carbon/human/death.dm | 7 +- code/modules/mob/living/living.dm | 1 + .../living/silicon/ai/freelook/cameranet.dm | 168 +- .../mob/living/silicon/ai/freelook/chunk.dm | 175 +- .../mob/living/silicon/ai/freelook/eye.dm | 1 - .../silicon/ai/freelook/update_triggers.dm | 18 - .../modules/mob/living/silicon/robot/robot.dm | 5 + code/modules/mob/spirit/cultnet.dm | 74 +- code/modules/mob/spirit/mask/mask.dm | 171 ++ code/modules/mob/spirit/movement.dm | 22 +- code/modules/mob/spirit/spirit.dm | 52 +- code/modules/mob/spirit/viewpoint.dm | 195 ++ code/modules/mob/transform_procs.dm | 64 + code/stylesheet.dm | 1 + 30 files changed, 1735 insertions(+), 1286 deletions(-) create mode 100644 code/datums/visibility_networks/NEXT THING.txt create mode 100644 code/modules/mob/spirit/mask/mask.dm create mode 100644 code/modules/mob/spirit/viewpoint.dm diff --git a/baystation12.dme b/baystation12.dme index 74dea3f7ff..ccda06046a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -155,6 +155,7 @@ #include "code\datums\spells\wizard.dm" #include "code\datums\visibility_networks\chunk.dm" #include "code\datums\visibility_networks\dictionary.dm" +#include "code\datums\visibility_networks\update_triggers.dm" #include "code\datums\visibility_networks\visibility_interface.dm" #include "code\datums\visibility_networks\visibility_network.dm" #include "code\defines\obj.dm" @@ -1026,6 +1027,8 @@ #include "code\modules\mob\spirit\cultnet.dm" #include "code\modules\mob\spirit\movement.dm" #include "code\modules\mob\spirit\spirit.dm" +#include "code\modules\mob\spirit\viewpoint.dm" +#include "code\modules\mob\spirit\mask\mask.dm" #include "code\modules\nano\_JSON.dm" #include "code\modules\nano\JSON Reader.dm" #include "code\modules\nano\JSON Writer.dm" diff --git a/baystation12.int b/baystation12.int index b82874fded..aefda4d8d7 100644 --- a/baystation12.int +++ b/baystation12.int @@ -1,6 +1,9 @@ // BEGIN_INTERNALS /* MAP_ICON_TYPE: 0 +LAST_COMPILE_VERSION: 501.1217 +DIR: code code\datums code\datums\visibility_networks code\defines\obj code\game code\game\gamemodes code\game\gamemodes\cult code\game\gamemodes\malfunction code\game\machinery code\game\machinery\camera code\modules code\modules\admin code\modules\mob code\modules\mob\living code\modules\mob\living\carbon code\modules\mob\living\carbon\human +LAST_COMPILE_TIME: 1384721250 AUTO_FILE_DIR: OFF */ // END_INTERNALS diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 956e6be255..20bb1bedeb 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -7,6 +7,7 @@ var/list/directory = list() //list of all ckeys with associated client var/global/list/player_list = list() //List of all mobs **with clients attached**. Excludes /mob/new_player var/global/list/mob_list = list() //List of all mobs, including clientless +var/global/list/spirits = list() //List of all the spirits, including Masks var/global/list/living_mob_list = list() //List of all alive mobs, including clientless. Excludes /mob/new_player var/global/list/dead_mob_list = list() //List of all dead mobs, including clientless. Excludes /mob/new_player diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 3b2d9697bf..777fbbd3fb 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -28,7 +28,7 @@ return -/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras")) +/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras","CultNetwork")) set category = "Debug" set name = "Debug Controller" set desc = "Debug the various periodic loop controllers for the game (be careful!)" @@ -74,5 +74,8 @@ if("Cameras") debug_variables(cameraNetwork) feedback_add_details("admin_verb","DCameras") + if("CultNetwork") + debug_variables(cultNetwork) + feedback_add_details("admin_verb","DCultNetwork") message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") return diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index dc3a3b36db..7c1dbb0f8c 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -263,6 +263,7 @@ client body += "" body += "" body += "" + body += "" body += "" body += "" body += "" @@ -724,7 +725,18 @@ client usr << "Mob doesn't exist anymore" return holder.Topic(href, list("makeai"=href_list["makeai"])) - + + + else if(href_list["makemask"]) + if(!check_rights(R_SPAWN)) return + var/mob/currentMob = locate(href_list["makemask"]) + if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return + if(!currentMob) + usr << "Mob doesn't exist anymore" + return + holder.Topic(href, list("makemask"=href_list["makemask"])) + + else if(href_list["setmutantrace"]) if(!check_rights(R_SPAWN)) return diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7adc6a9679..d41a521ac3 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -589,6 +589,11 @@ datum/mind log_admin("[key_name_admin(usr)] has de-cult'ed [current].") if("cultist") if(!(src in ticker.mode.cult)) + ticker.mode.add_cultist(src) + special_role = "Cultist" + current << "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie." + current << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + /* ticker.mode.cult += src ticker.mode.update_cult_icons_added(src) special_role = "Cultist" @@ -597,6 +602,9 @@ datum/mind var/datum/game_mode/cult/cult = ticker.mode if (istype(cult)) cult.memoize_cult_objectives(src) + var/obj/cult_viewpoint/viewpoint = new(current) + viewpoint.loc = current + */ log_admin("[key_name_admin(usr)] has cult'ed [current].") if("tome") var/mob/living/carbon/human/H = current diff --git a/code/datums/visibility_networks/NEXT THING.txt b/code/datums/visibility_networks/NEXT THING.txt new file mode 100644 index 0000000000..0d2cd53750 --- /dev/null +++ b/code/datums/visibility_networks/NEXT THING.txt @@ -0,0 +1,7 @@ +Next Thing To Do + +- sprites! +- follow! + - can we hide inside cultists? +- cult names! +- powers \ No newline at end of file diff --git a/code/datums/visibility_networks/dictionary.dm b/code/datums/visibility_networks/dictionary.dm index 426a8bea1d..3dcb1bc427 100644 --- a/code/datums/visibility_networks/dictionary.dm +++ b/code/datums/visibility_networks/dictionary.dm @@ -1,5 +1,7 @@ -var/datum/visibility_network/cameras/cameraNetwork = new /datum/visibility_network/cameras() -var/datum/visibility_network/list/visibility_networks = list("ALL_CAMERAS"=cameraNetwork) +var/datum/visibility_network/cameras/cameraNetwork = new() +var/datum/visibility_network/cult/cultNetwork = new() +var/datum/visibility_network/list/visibility_networks = list("ALL_CAMERAS"=cameraNetwork, "CULT" = cultNetwork) + // used by turfs and objects to update all visibility networks /proc/updateVisibilityNetworks(atom/A, var/opacity_check = 1) diff --git a/code/datums/visibility_networks/update_triggers.dm b/code/datums/visibility_networks/update_triggers.dm index 78c8f9fe03..f1835eeeb5 100644 --- a/code/datums/visibility_networks/update_triggers.dm +++ b/code/datums/visibility_networks/update_triggers.dm @@ -47,9 +47,48 @@ // DOORS // Simply updates the visibility of the area when it opens/closes/destroyed. -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - // Glass door glass = 1 - // don't check then? +/obj/machinery/door/proc/update_nearby_tiles(need_rebuild) + if(!glass) - updateVisibilityNetworks(src,0) \ No newline at end of file + updateVisibilityNetworks(src,0) + + if(!air_master) + return 0 + + for(var/turf/simulated/turf in locs) + update_heat_protection(turf) + air_master.AddTurfToUpdate(turf) + + return 1 + + + +#define UPDATE_VISIBILITY_NETWORK_BUFFER 30 + +/mob + var/datum/visibility_network/list/visibilityNetworks=list() + var/updatingVisibilityNetworks=FALSE + +/mob/Move(n,direct) + var/oldLoc = src.loc + . = ..() + if(.) + if(src.visibilityNetworks.len) + if(!src.updatingVisibilityNetworks) + src.updatingVisibilityNetworks = 1 + spawn(UPDATE_VISIBILITY_NETWORK_BUFFER) + if(oldLoc != src.loc) + for (var/datum/visibility_network/currentNetwork in src.visibilityNetworks) + currentNetwork.updateMob(src) + src.updatingVisibilityNetworks = 0 + return ..(n,direct) + +/mob/proc/addToVisibilityNetwork(var/datum/visibility_network/network) + if(network) + src.visibilityNetworks+=network + +/mob/proc/removeFromVisibilityNetwork(var/datum/visibility_network/network) + if(network) + src.visibilityNetworks|=network + +#undef UPDATE_VISIBILITY_NETWORK_BUFFER \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_network.dm b/code/datums/visibility_networks/visibility_network.dm index 72f73a6d49..4361d8ef14 100644 --- a/code/datums/visibility_networks/visibility_network.dm +++ b/code/datums/visibility_networks/visibility_network.dm @@ -86,6 +86,14 @@ if(validViewpoint(viewpoint)) majorChunkChange(viewpoint, 0) +/datum/visibility_network/proc/getViewpointFromMob(var/mob/currentMob) + return FALSE + +/datum/visibility_network/proc/updateMob(var/mob/currentMob) + var/viewpoint = getViewpointFromMob(currentMob) + if(viewpoint) + updateViewpoint(viewpoint) + /datum/visibility_network/proc/updateViewpoint(var/viewpoint) if(validViewpoint(viewpoint)) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index ee16e21a77..401644c631 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -134,6 +134,10 @@ mob.mutations.Remove(CLUMSY) + var/obj/cult_viewpoint/viewpoint = new(mob) + viewpoint.loc = mob + world << "Spawning viewpoint on [mob]" + var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -174,6 +178,8 @@ return 0 if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind + var/obj/cult_viewpoint/viewpoint = new(cult_mind.current) + viewpoint.loc = cult_mind.current update_cult_icons_added(cult_mind) return 1 @@ -189,29 +195,134 @@ cult -= cult_mind cult_mind.current << "\red An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it." cult_mind.memory = "" + + // remove the cult viewpoint object + var/obj/viewpoint = getCultViewpoint(cult_mind.current) + del(viewpoint) + update_cult_icons_removed(cult_mind) if(show_message) for(var/mob/M in viewers(cult_mind.current)) M << "[cult_mind.current] looks like they just reverted to their old faith!" + /datum/game_mode/proc/update_all_cult_icons() spawn(0) + // reset the cult + for(var/datum/mind/cultist in cult) + reset_cult_icons_for_cultist(cultist) + // reset the spirits + for(var/mob/spirit/currentSpirit in spirits) + reset_cult_icons_for_spirit(currentSpirit) + + +/datum/game_mode/proc/reset_cult_icons_for_cultist(var/datum/mind/target) + if(target.current) + if(target.current.client) + remove_all_cult_icons(target) + for(var/datum/mind/cultist in cult) + if(cultist.current) + add_cult_icon(target.current.client,cultist.current) + + +/datum/game_mode/proc/reset_cult_icons_for_spirit(mob/spirit/target) + if (target.client) + remove_all_cult_icons(target) for(var/datum/mind/cultist in cult) if(cultist.current) - if(cultist.current.client) - for(var/image/I in cultist.current.client.images) - if(I.icon_state == "cult") - del(I) + add_cult_icon(target.client,cultist.current) + + +/datum/game_mode/proc/add_cult_icon(client/target_client,mob/target_mob) + var/I = image('icons/mob/mob.dmi', loc = target_mob, icon_state = "cult") + target_client.images += I + +/datum/game_mode/proc/remove_cult_icon(client/target_client,mob/target_mob) + for(var/image/I in target_client.images) + if(I.icon_state == "cult" && I.loc == target_mob) + del(I) + + +/datum/game_mode/proc/remove_all_cult_icons_from_client(client/target) + for(var/image/I in target.images) + if(I.icon_state == "cult") + del(I) + + +/datum/game_mode/proc/remove_all_cult_icons(target) + var/datum/mind/cultist = target + if(istype(cultist)) + if(cultist.current) + if(cultist.current.client) + remove_all_cult_icons_from_client(cultist.current.client) + return TRUE + var/mob/spirit/currentSpirit = target + if(istype(currentSpirit)) + if (currentSpirit.client) + remove_all_cult_icons_from_client(currentSpirit.client) + return TRUE + return FALSE + + +/datum/game_mode/proc/add_cult_icon_to_spirit(mob/spirit/currentSpirit,datum/mind/cultist) + if(!istype(currentSpirit) || !istype(cultist)) + return FALSE + if (currentSpirit.client) + if (cultist.current) + add_cult_icon(currentSpirit.client,cultist.current) + + +/datum/game_mode/proc/add_cult_icon_to_cultist(datum/mind/first_cultist,datum/mind/second_cultist) + if(first_cultist.current && second_cultist.current) + if(first_cultist.current.client) + add_cult_icon(first_cultist.current.client, second_cultist.current) + + +/datum/game_mode/proc/remove_cult_icon_from_cultist(datum/mind/first_cultist,datum/mind/second_cultist) + if(first_cultist.current && second_cultist.current) + if(first_cultist.current.client) + remove_cult_icon(first_cultist.current.client,second_cultist.current) + + +/datum/game_mode/proc/remove_cult_icon_from_spirit(mob/spirit/currentSpirit,datum/mind/cultist) + if(!istype(currentSpirit) || !istype(cultist)) + return FALSE + if (currentSpirit.client) + if (cultist.current) + remove_cult_icon(currentSpirit.client,cultist.current) + + +/datum/game_mode/proc/cult_icon_pair_link(datum/mind/first_cultist,datum/mind/second_cultist) + if (!istype(first_cultist) || !istype(second_cultist)) + return 0 + add_cult_icon_to_cultist(first_cultist,second_cultist) + add_cult_icon_to_cultist(second_cultist,first_cultist) + + +/datum/game_mode/proc/cult_icon_pair_unlink(datum/mind/first_cultist,datum/mind/second_cultist) + if (!istype(first_cultist) || !istype(second_cultist)) + return 0 + remove_cult_icon(first_cultist,second_cultist) + remove_cult_icon(second_cultist,first_cultist) + + +/datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) + spawn(0) for(var/datum/mind/cultist in cult) - if(cultist.current) - if(cultist.current.client) - for(var/datum/mind/cultist_1 in cult) - if(cultist_1.current) - var/I = image('icons/mob/mob.dmi', loc = cultist_1.current, icon_state = "cult") - cultist.current.client.images += I - - + cult_icon_pair_link(cultist,cult_mind) + for(var/mob/spirit/currentSpirit in spirits) + add_cult_icon_to_spirit(currentSpirit,cult_mind) + + +/datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) + spawn(0) + for(var/datum/mind/cultist in cult) + cult_icon_pair_unlink(cultist,cult_mind) + for(var/mob/spirit/currentSpirit in spirits) + remove_cult_icon_from_spirit(currentSpirit,cult_mind) + +/* /datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) spawn(0) for(var/datum/mind/cultist in cult) @@ -239,7 +350,7 @@ for(var/image/I in cult_mind.current.client.images) if(I.icon_state == "cult") del(I) - +*/ /datum/game_mode/cult/proc/get_unconvertables() var/list/ucs = list() diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 2d408a1a4f..69bd5cc42b 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -25,6 +25,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", icon = 'icons/obj/rune.dmi' icon_state = "1" var/visibility = 0 + var/view_range = 7 unacidable = 1 layer = TURF_LAYER @@ -67,11 +68,18 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", blood.override = 1 for(var/mob/living/silicon/ai/AI in player_list) AI.client.images += blood + cultNetwork.viewpoints+=src + cultNetwork.addViewpoint(src) + + Del() + ..() + cultNetwork.viewpoints-=src + cultNetwork.removeViewpoint(src) examine() set src in view(2) - if(!iscultist(usr)) + if(!iscultist(usr) && !isSpirit(usr)) usr << "A strange collection of symbols drawn in blood." return /* Explosions... really? diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index e5be5d60a7..d17f9022aa 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -1,197 +1,196 @@ var/list/sacrificed = list() -/obj/effect/rune + /////////////////////////////////////////FIRST RUNE - proc - teleport(var/key) - var/mob/living/user = usr - var/allrunesloc[] - allrunesloc = new/list() - var/index = 0 - // var/tempnum = 0 - for(var/obj/effect/rune/R in world) - if(R == src) - continue - if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && R.z != 2) - index++ - allrunesloc.len = index - allrunesloc[index] = R.loc - if(index >= 5) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" - if (istype(user, /mob/living)) - user.take_overall_damage(5, 0) - del(src) - if(allrunesloc && index != 0) - if(istype(src,/obj/effect/rune)) - user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting - else - user.whisper("Sas[pick("'","`")]so c'arta forbici!") - user.visible_message("\red [user] disappears in a flash of red light!", \ - "\red You feel as your body gets dragged through the dimension of Nar-Sie!", \ - "\red You hear a sickening crunch and sloshing of viscera.") - user.loc = allrunesloc[rand(1,index)] - return - if(istype(src,/obj/effect/rune)) - return fizzle() //Use friggin manuals, Dorf, your list was of zero length. - else - call(/obj/effect/rune/proc/fizzle)() - return +/obj/effect/rune/proc/teleport(var/key) + var/mob/living/user = usr + var/allrunesloc[] + allrunesloc = new/list() + var/index = 0 +// var/tempnum = 0 + for(var/obj/effect/rune/R in world) + if(R == src) + continue + if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && R.z != 2) + index++ + allrunesloc.len = index + allrunesloc[index] = R.loc + if(index >= 5) + user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + if (istype(user, /mob/living)) + user.take_overall_damage(5, 0) + del(src) + if(allrunesloc && index != 0) + if(istype(src,/obj/effect/rune)) + user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting + else + user.whisper("Sas[pick("'","`")]so c'arta forbici!") + user.visible_message("\red [user] disappears in a flash of red light!", \ + "\red You feel as your body gets dragged through the dimension of Nar-Sie!", \ + "\red You hear a sickening crunch and sloshing of viscera.") + user.loc = allrunesloc[rand(1,index)] + return + if(istype(src,/obj/effect/rune)) + return fizzle() //Use friggin manuals, Dorf, your list was of zero length. + else + call(/obj/effect/rune/proc/fizzle)() + return - itemport(var/key) +/obj/effect/rune/proc/itemport(var/key) // var/allrunesloc[] // allrunesloc = new/list() // var/index = 0 - // var/tempnum = 0 - var/culcount = 0 - var/runecount = 0 - var/obj/effect/rune/IP = null - var/mob/living/user = usr - for(var/obj/effect/rune/R in world) - if(R == src) - continue - if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key) - IP = R - runecount++ - if(runecount >= 2) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" - if (istype(user, /mob/living)) - user.take_overall_damage(5, 0) - del(src) - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount>=3) - user.say("Sas[pick("'","`")]so c'arta forbici tarem!") - user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You smell ozone.") - for(var/obj/O in src.loc) - if(!O.anchored) - O.loc = IP.loc - for(var/mob/M in src.loc) - M.loc = IP.loc - return +// var/tempnum = 0 + var/culcount = 0 + var/runecount = 0 + var/obj/effect/rune/IP = null + var/mob/living/user = usr + for(var/obj/effect/rune/R in world) + if(R == src) + continue + if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key) + IP = R + runecount++ + if(runecount >= 2) + user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + if (istype(user, /mob/living)) + user.take_overall_damage(5, 0) + del(src) + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount>=3) + user.say("Sas[pick("'","`")]so c'arta forbici tarem!") + user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "\red You smell ozone.") + for(var/obj/O in src.loc) + if(!O.anchored) + O.loc = IP.loc + for(var/mob/M in src.loc) + M.loc = IP.loc + return - return fizzle() + return fizzle() /////////////////////////////////////////SECOND RUNE - tomesummon() - if(istype(src,/obj/effect/rune)) - usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - else - usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ - "\red You hear a pop and smell ozone.") - if(istype(src,/obj/effect/rune)) - new /obj/item/weapon/tome(src.loc) - else - new /obj/item/weapon/tome(usr.loc) - del(src) - return +/obj/effect/rune/proc/tomesummon() + if(istype(src,/obj/effect/rune)) + usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") + else + usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") + usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ + "\red You hear a pop and smell ozone.") + if(istype(src,/obj/effect/rune)) + new /obj/item/weapon/tome(src.loc) + else + new /obj/item/weapon/tome(usr.loc) + del(src) + return /////////////////////////////////////////THIRD RUNE - convert() - for(var/mob/living/carbon/M in src.loc) - if(iscultist(M)) - continue - if(M.stat==2) - continue - usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!") - M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ - "\red AAAAAAHHHH!.", \ - "\red You hear an anguished scream.") - if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument - ticker.mode.add_cultist(M.mind) - M.mind.special_role = "Cultist" - M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - M << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - return 1 - else - M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - M << "And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs." - return 0 +/obj/effect/rune/proc/convert() + for(var/mob/living/carbon/M in src.loc) + if(iscultist(M)) + continue + if(M.stat==2) + continue + usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!") + M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ + "\red AAAAAAHHHH!.", \ + "\red You hear an anguished scream.") + if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument + ticker.mode.add_cultist(M.mind) + M.mind.special_role = "Cultist" + M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + M << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + return 1 + else + M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + M << "And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs." + return 0 - return fizzle() + return fizzle() /////////////////////////////////////////FOURTH RUNE - tearreality() - var/cultist_count = 0 - for(var/mob/M in range(1,src)) - if(iscultist(M) && !M.stat) - M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!") - cultist_count += 1 - if(cultist_count >= 9) - new /obj/machinery/singularity/narsie/large(src.loc) - if(ticker.mode.name == "cult") - ticker.mode:eldergod = 0 - return - else - return fizzle() +/obj/effect/rune/proc/tearreality() + var/cultist_count = 0 + for(var/mob/M in range(1,src)) + if(iscultist(M) && !M.stat) + M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!") + cultist_count += 1 + if(cultist_count >= 9) + new /obj/machinery/singularity/narsie/large(src.loc) + if(ticker.mode.name == "cult") + ticker.mode:eldergod = 0 + return + else + return fizzle() /////////////////////////////////////////FIFTH RUNE - emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist - if(istype(src,/obj/effect/rune)) - usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!") - else - usr.whisper("Ta'gh fara[pick("'","`")]qha fel d'amar det!") - playsound(U, 'sound/items/Welder2.ogg', 25, 1) - var/turf/T = get_turf(U) - if(T) - T.hotspot_expose(700,125) - var/rune = src // detaching the proc - in theory - empulse(U, (range_red - 2), range_red) - del(rune) - return +/obj/effect/rune/proc/emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist + if(istype(src,/obj/effect/rune)) + usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!") + else + usr.whisper("Ta'gh fara[pick("'","`")]qha fel d'amar det!") + playsound(U, 'sound/items/Welder2.ogg', 25, 1) + var/turf/T = get_turf(U) + if(T) + T.hotspot_expose(700,125) + var/rune = src // detaching the proc - in theory + empulse(U, (range_red - 2), range_red) + del(rune) + return /////////////////////////////////////////SIXTH RUNE - drain() - var/drain = 0 - for(var/obj/effect/rune/R in world) - if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) - for(var/mob/living/carbon/D in R.loc) - if(D.stat!=2) - var/bdrain = rand(1,25) - D << "\red You feel weakened." - D.take_overall_damage(bdrain, 0) - drain += bdrain - if(!drain) - return fizzle() - usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") - usr.visible_message("\red Blood flows from the rune into [usr]!", \ - "\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ - "\red You hear a liquid flowing.") - var/mob/living/user = usr - if(user.bhunger) - user.bhunger = max(user.bhunger-2*drain,0) - if(drain>=50) - user.visible_message("\red [user]'s eyes give off eerie red glow!", \ - "\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ - "\red You hear a heartbeat.") - user.bhunger += drain - src = user - spawn() - for (,user.bhunger>0,user.bhunger--) - sleep(50) - user.take_overall_damage(3, 0) - return - user.heal_organ_damage(drain%5, 0) - drain-=drain%5 - for (,drain>0,drain-=5) - sleep(2) - user.heal_organ_damage(5, 0) - return +/obj/effect/rune/proc/drain() + var/drain = 0 + for(var/obj/effect/rune/R in world) + if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) + for(var/mob/living/carbon/D in R.loc) + if(D.stat!=2) + var/bdrain = rand(1,25) + D << "\red You feel weakened." + D.take_overall_damage(bdrain, 0) + drain += bdrain + if(!drain) + return fizzle() + usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") + usr.visible_message("\red Blood flows from the rune into [usr]!", \ + "\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ + "\red You hear a liquid flowing.") + var/mob/living/user = usr + if(user.bhunger) + user.bhunger = max(user.bhunger-2*drain,0) + if(drain>=50) + user.visible_message("\red [user]'s eyes give off eerie red glow!", \ + "\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ + "\red You hear a heartbeat.") + user.bhunger += drain + src = user + spawn() + for (,user.bhunger>0,user.bhunger--) + sleep(50) + user.take_overall_damage(3, 0) + return + user.heal_organ_damage(drain%5, 0) + drain-=drain%5 + for (,drain>0,drain-=5) + sleep(2) + user.heal_organ_damage(5, 0) + return @@ -200,98 +199,98 @@ var/list/sacrificed = list() /////////////////////////////////////////SEVENTH RUNE - seer() - if(usr.loc==src.loc) - if(usr.seer==1) - usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") - usr << "\red The world beyond fades from your vision." - usr.see_invisible = SEE_INVISIBLE_LIVING - usr.seer = 0 - else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) - usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." - usr.see_invisible = SEE_INVISIBLE_OBSERVER - usr.seer = 0 - else - usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") - usr << "\red The world beyond opens to your eyes." - usr.see_invisible = SEE_INVISIBLE_OBSERVER - usr.seer = 1 - return - return fizzle() +/obj/effect/rune/proc/seer() + if(usr.loc==src.loc) + if(usr.seer==1) + usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") + usr << "\red The world beyond fades from your vision." + usr.see_invisible = SEE_INVISIBLE_LIVING + usr.seer = 0 + else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) + usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." + usr.see_invisible = SEE_INVISIBLE_OBSERVER + usr.seer = 0 + else + usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") + usr << "\red The world beyond opens to your eyes." + usr.see_invisible = SEE_INVISIBLE_OBSERVER + usr.seer = 1 + return + return fizzle() /////////////////////////////////////////EIGHTH RUNE - raise() - var/mob/living/carbon/human/corpse_to_raise - var/mob/living/carbon/human/body_to_sacrifice +/obj/effect/rune/proc/raise() + var/mob/living/carbon/human/corpse_to_raise + var/mob/living/carbon/human/body_to_sacrifice - var/is_sacrifice_target = 0 - for(var/mob/living/carbon/human/M in src.loc) - if(M.stat == DEAD) - if(ticker.mode.name == "cult" && M.mind == ticker.mode:sacrifice_target) + var/is_sacrifice_target = 0 + for(var/mob/living/carbon/human/M in src.loc) + if(M.stat == DEAD) + if(ticker.mode.name == "cult" && M.mind == ticker.mode:sacrifice_target) + is_sacrifice_target = 1 + else + corpse_to_raise = M + if(M.key) + M.ghostize(1) //kick them out of their body + break + if(!corpse_to_raise) + if(is_sacrifice_target) + usr << "\red The Geometer of blood wants this mortal for himself." + return fizzle() + + + is_sacrifice_target = 0 + find_sacrifice: + for(var/obj/effect/rune/R in world) + if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"]) + for(var/mob/living/carbon/human/N in R.loc) + if(ticker.mode.name == "cult" && N.mind && N.mind == ticker.mode:sacrifice_target) is_sacrifice_target = 1 else - corpse_to_raise = M - if(M.key) - M.ghostize(1) //kick them out of their body - break - if(!corpse_to_raise) - if(is_sacrifice_target) - usr << "\red The Geometer of blood wants this mortal for himself." - return fizzle() + if(N.stat!= DEAD) + body_to_sacrifice = N + break find_sacrifice + if(!body_to_sacrifice) + if (is_sacrifice_target) + usr << "\red The Geometer of blood wants that corpse for himself." + else + usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." + return fizzle() - is_sacrifice_target = 0 - find_sacrifice: - for(var/obj/effect/rune/R in world) - if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"]) - for(var/mob/living/carbon/human/N in R.loc) - if(ticker.mode.name == "cult" && N.mind && N.mind == ticker.mode:sacrifice_target) - is_sacrifice_target = 1 - else - if(N.stat!= DEAD) - body_to_sacrifice = N - break find_sacrifice + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break - if(!body_to_sacrifice) - if (is_sacrifice_target) - usr << "\red The Geometer of blood wants that corpse for himself." - else - usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." - return fizzle() + if(!ghost) + usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." + return fizzle() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break + corpse_to_raise.revive() - if(!ghost) - usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." - return fizzle() - - corpse_to_raise.revive() - - corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed) - //This means, should that player leave the body, the original may re-enter - usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") - corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ - "\red Life... I'm alive again...", \ - "\red You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ - "\red You feel as your blood boils, tearing you apart.", \ - "\red You hear a thousand voices, all crying in pain.") - body_to_sacrifice.gib() + corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed) + //This means, should that player leave the body, the original may re-enter + usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") + corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ + "\red Life... I'm alive again...", \ + "\red You hear a faint, slightly familiar whisper.") + body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ + "\red You feel as your blood boils, tearing you apart.", \ + "\red You hear a thousand voices, all crying in pain.") + body_to_sacrifice.gib() // if(ticker.mode.name == "cult") // ticker.mode:add_cultist(corpse_to_raise.mind) // else // ticker.mode.cult |= corpse_to_raise.mind - corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - return + corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + return @@ -299,111 +298,111 @@ var/list/sacrificed = list() /////////////////////////////////////////NINETH RUNE - obscure(var/rad) - var/S=0 - for(var/obj/effect/rune/R in orange(rad,src)) - if(R!=src) - R.invisibility=INVISIBILITY_OBSERVER - S=1 - if(S) - if(istype(src,/obj/effect/rune)) - usr.say("Kla[pick("'","`")]atu barada nikt'o!") - for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3) - del(src) - else - usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") - usr << "\red Your talisman turns into gray dust, veiling the surrounding runes." - for (var/mob/V in orange(1,src)) - if(V!=usr) - V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3) +/obj/effect/rune/proc/obscure(var/rad) + var/S=0 + for(var/obj/effect/rune/R in orange(rad,src)) + if(R!=src) + R.invisibility=INVISIBILITY_OBSERVER + S=1 + if(S) + if(istype(src,/obj/effect/rune)) + usr.say("Kla[pick("'","`")]atu barada nikt'o!") + for (var/mob/V in viewers(src)) + V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3) + del(src) + else + usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") + usr << "\red Your talisman turns into gray dust, veiling the surrounding runes." + for (var/mob/V in orange(1,src)) + if(V!=usr) + V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3) - return - if(istype(src,/obj/effect/rune)) - return fizzle() - else - call(/obj/effect/rune/proc/fizzle)() - return + return + if(istype(src,/obj/effect/rune)) + return fizzle() + else + call(/obj/effect/rune/proc/fizzle)() + return /////////////////////////////////////////TENTH RUNE - ajourney() //some bits copypastaed from admin tools - Urist - if(usr.loc==src.loc) - var/mob/living/carbon/human/L = usr - usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") - usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ - "\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ - "\red You hear only complete silence for a moment.") - usr.ghostize(1) - L.ajourn = 1 - while(L) - if(L.key) - L.ajourn=0 - return - else - L.take_organ_damage(10, 0) - sleep(100) - return fizzle() +/obj/effect/rune/proc/ajourney() //some bits copypastaed from admin tools - Urist + if(usr.loc==src.loc) + var/mob/living/carbon/human/L = usr + usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") + usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ + "\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ + "\red You hear only complete silence for a moment.") + usr.ghostize(1) + L.ajourn = 1 + while(L) + if(L.key) + L.ajourn=0 + return + else + L.take_organ_damage(10, 0) + sleep(100) + return fizzle() /////////////////////////////////////////ELEVENTH RUNE - manifest() - var/obj/effect/rune/this_rune = src - src = null - if(usr.loc!=this_rune.loc) - return this_rune.fizzle() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in this_rune.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(!ghost) - return this_rune.fizzle() - if(jobban_isbanned(ghost, "cultist")) - return this_rune.fizzle() +/obj/effect/rune/proc/manifest() + var/obj/effect/rune/this_rune = src + src = null + if(usr.loc!=this_rune.loc) + return this_rune.fizzle() + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in this_rune.loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break + if(!ghost) + return this_rune.fizzle() + if(jobban_isbanned(ghost, "cultist")) + return this_rune.fizzle() - usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") - var/mob/living/carbon/human/dummy/D = new(this_rune.loc) - usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red You hear liquid flowing.") - D.real_name = "Unknown" - var/chose_name = 0 - for(var/obj/item/weapon/paper/P in this_rune.loc) - if(P.info) - D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) - chose_name = 1 - break - if(!chose_name) - D.real_name = "[pick(first_names_male)] [pick(last_names)]" - D.universal_speak = 1 - D.status_flags &= ~GODMODE + usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") + var/mob/living/carbon/human/dummy/D = new(this_rune.loc) + usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \ + "\red A shape forms in the center of the rune. A shape of... a man.", \ + "\red You hear liquid flowing.") + D.real_name = "Unknown" + var/chose_name = 0 + for(var/obj/item/weapon/paper/P in this_rune.loc) + if(P.info) + D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) + chose_name = 1 + break + if(!chose_name) + D.real_name = "[pick(first_names_male)] [pick(last_names)]" + D.universal_speak = 1 + D.status_flags &= ~GODMODE - D.key = ghost.key + D.key = ghost.key - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(D.mind) - else - ticker.mode.cult+=D.mind + if(ticker.mode.name == "cult") + ticker.mode:add_cultist(D.mind) + else + ticker.mode.cult+=D.mind - D.mind.special_role = "Cultist" - D << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - D << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + D.mind.special_role = "Cultist" + D << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + D << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - var/mob/living/user = usr - while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc) - user.take_organ_damage(1, 0) - sleep(30) - if(D) - D.visible_message("\red [D] slowly dissipates into dust and bones.", \ - "\red You feel pain, as bonds formed between your soul and this homunculus break.", \ - "\red You hear faint rustle.") - D.dust() - return + var/mob/living/user = usr + while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc) + user.take_organ_damage(1, 0) + sleep(30) + if(D) + D.visible_message("\red [D] slowly dissipates into dust and bones.", \ + "\red You feel pain, as bonds formed between your soul and this homunculus break.", \ + "\red You hear faint rustle.") + D.dust() + return @@ -411,629 +410,642 @@ var/list/sacrificed = list() /////////////////////////////////////////TWELFTH RUNE - talisman()//only hide, emp, teleport, deafen, blind and tome runes can be imbued atm - var/obj/item/weapon/paper/newtalisman - var/unsuitable_newtalisman = 0 - for(var/obj/item/weapon/paper/P in src.loc) - if(!P.info) - newtalisman = P - break - else - unsuitable_newtalisman = 1 - if (!newtalisman) - if (unsuitable_newtalisman) - usr << "\red The blank is tainted. It is unsuitable." - return fizzle() +/obj/effect/rune/proc/talisman()//only hide, emp, teleport, deafen, blind and tome runes can be imbued atm + var/obj/item/weapon/paper/newtalisman + var/unsuitable_newtalisman = 0 + for(var/obj/item/weapon/paper/P in src.loc) + if(!P.info) + newtalisman = P + break + else + unsuitable_newtalisman = 1 + if (!newtalisman) + if (unsuitable_newtalisman) + usr << "\red The blank is tainted. It is unsuitable." + return fizzle() - var/obj/effect/rune/imbued_from - var/obj/item/weapon/paper/talisman/T - for(var/obj/effect/rune/R in orange(1,src)) - if(R==src) - continue - if(R.word1==cultwords["travel"] && R.word2==cultwords["self"]) //teleport - T = new(src.loc) - T.imbue = "[R.word3]" - T.info = "[R.word3]" - imbued_from = R - break - if(R.word1==cultwords["see"] && R.word2==cultwords["blood"] && R.word3==cultwords["hell"]) //tome - T = new(src.loc) - T.imbue = "newtome" - imbued_from = R - break - if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["technology"]) //emp - T = new(src.loc) - T.imbue = "emp" - imbued_from = R - break - if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["destroy"]) //conceal - T = new(src.loc) - T.imbue = "conceal" - imbued_from = R - break - if(R.word1==cultwords["hell"] && R.word2==cultwords["destroy"] && R.word3==cultwords["other"]) //armor - T = new(src.loc) - T.imbue = "armor" - imbued_from = R - break - if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["hide"]) //reveal - T = new(src.loc) - T.imbue = "revealrunes" - imbued_from = R - break - if(R.word1==cultwords["hide"] && R.word2==cultwords["other"] && R.word3==cultwords["see"]) //deafen - T = new(src.loc) - T.imbue = "deafen" - imbued_from = R - break - if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["other"]) //blind - T = new(src.loc) - T.imbue = "blind" - imbued_from = R - break - if(R.word1==cultwords["self"] && R.word2==cultwords["other"] && R.word3==cultwords["technology"]) //communicat - T = new(src.loc) - T.imbue = "communicate" - imbued_from = R - break - if(R.word1==cultwords["join"] && R.word2==cultwords["hide"] && R.word3==cultwords["technology"]) //communicat - T = new(src.loc) - T.imbue = "runestun" - imbued_from = R - break - if (imbued_from) - for (var/mob/V in viewers(src)) - V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3) - usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") - del(imbued_from) - del(newtalisman) - else - return fizzle() + var/obj/effect/rune/imbued_from + var/obj/item/weapon/paper/talisman/T + for(var/obj/effect/rune/R in orange(1,src)) + if(R==src) + continue + if(R.word1==cultwords["travel"] && R.word2==cultwords["self"]) //teleport + T = new(src.loc) + T.imbue = "[R.word3]" + T.info = "[R.word3]" + imbued_from = R + break + if(R.word1==cultwords["see"] && R.word2==cultwords["blood"] && R.word3==cultwords["hell"]) //tome + T = new(src.loc) + T.imbue = "newtome" + imbued_from = R + break + if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["technology"]) //emp + T = new(src.loc) + T.imbue = "emp" + imbued_from = R + break + if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["destroy"]) //conceal + T = new(src.loc) + T.imbue = "conceal" + imbued_from = R + break + if(R.word1==cultwords["hell"] && R.word2==cultwords["destroy"] && R.word3==cultwords["other"]) //armor + T = new(src.loc) + T.imbue = "armor" + imbued_from = R + break + if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["hide"]) //reveal + T = new(src.loc) + T.imbue = "revealrunes" + imbued_from = R + break + if(R.word1==cultwords["hide"] && R.word2==cultwords["other"] && R.word3==cultwords["see"]) //deafen + T = new(src.loc) + T.imbue = "deafen" + imbued_from = R + break + if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["other"]) //blind + T = new(src.loc) + T.imbue = "blind" + imbued_from = R + break + if(R.word1==cultwords["self"] && R.word2==cultwords["other"] && R.word3==cultwords["technology"]) //communicat + T = new(src.loc) + T.imbue = "communicate" + imbued_from = R + break + if(R.word1==cultwords["join"] && R.word2==cultwords["hide"] && R.word3==cultwords["technology"]) //communicat + T = new(src.loc) + T.imbue = "runestun" + imbued_from = R + break + if (imbued_from) + for (var/mob/V in viewers(src)) + V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3) + usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") + del(imbued_from) + del(newtalisman) + else + return fizzle() /////////////////////////////////////////THIRTEENTH RUNE - mend() - var/mob/living/user = usr - src = null - user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") - user.take_overall_damage(200, 0) - runedec+=10 - user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ - "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ - "\red You hear faint rustle.") - for(,user.stat==2) - sleep(600) - if (!user) - return - runedec-=10 +/obj/effect/rune/proc/mend() + var/mob/living/user = usr + src = null + user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") + user.take_overall_damage(200, 0) + runedec+=10 + user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ + "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ + "\red You hear faint rustle.") + for(,user.stat==2) + sleep(600) + if (!user) return + runedec-=10 + return /////////////////////////////////////////FOURTEETH RUNE - // returns 0 if the rune is not used. returns 1 if the rune is used. - communicate() - . = 1 // Default output is 1. If the rune is deleted it will return 1 - var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") - if(!input) - if (istype(src)) - fizzle() - return 0 - else - return 0 - if(istype(src,/obj/effect/rune)) - usr.say("O bidai nabora se[pick("'","`")]sma!") - else - usr.whisper("O bidai nabora se[pick("'","`")]sma!") +// returns 0 if the rune is not used. returns 1 if the rune is used. +/obj/effect/rune/proc/communicate() + . = 1 // Default output is 1. If the rune is deleted it will return 1 + var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") + if(!input) + if (istype(src)) + fizzle() + return 0 + else + return 0 - if(istype(src,/obj/effect/rune)) - usr.say("[input]") - else - usr.whisper("[input]") - for(var/datum/mind/H in ticker.mode.cult) - if (H.current) - H.current << "\red \b [input]" - del(src) - return 1 + var/obj/cult_viewpoint/vp = getCultViewpoint(usr) + if (!vp) + return 0 + + var/displayName = vp.get_display_name() + var/cultName = vp.get_cult_name() + + if(istype(src,/obj/effect/rune)) + usr.say("O bidai nabora se[pick("'","`")]sma!") + else + usr.whisper("O bidai nabora se[pick("'","`")]sma!") + + if(istype(src,/obj/effect/rune)) + usr.say("[input]") + else + usr.whisper("[input]") + + for(var/datum/mind/H in ticker.mode.cult) + if (H.current) + H.current << "[cultName]: [input]" + + for(var/mob/spirit/spirit in spirits) + spirit << "[displayName]: [input]" + + del(src) + return 1 /////////////////////////////////////////FIFTEENTH RUNE - sacrifice() - var/list/mob/living/carbon/human/cultsinrange = list() - var/list/mob/living/carbon/human/victims = list() - for(var/mob/living/carbon/human/V in src.loc)//Checks for non-cultist humans to sacrifice - if(ishuman(V)) - if(!(iscultist(V))) - victims += V//Checks for cult status and mob type - for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards - if(istype(I,/obj/item/brain)) - var/obj/item/brain/B = I - victims += B.brainmob - else if(istype(I,/obj/item/device/mmi)) - var/obj/item/device/mmi/B = I - victims += B.brainmob - else if(istype(I,/obj/item/device/aicard)) - for(var/mob/living/silicon/ai/A in I) - victims += A - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - cultsinrange += C - C.say("Barhah hra zar[pick("'","`")]garis!") - for(var/mob/H in victims) - if (ticker.mode.name == "cult") - if(H.mind == ticker.mode:sacrifice_target) - if(cultsinrange.len >= 3) - sacrificed += H.mind - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." - else - usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." +/obj/effect/rune/proc/sacrifice() + var/list/mob/living/carbon/human/cultsinrange = list() + var/list/mob/living/carbon/human/victims = list() + for(var/mob/living/carbon/human/V in src.loc)//Checks for non-cultist humans to sacrifice + if(ishuman(V)) + if(!(iscultist(V))) + victims += V//Checks for cult status and mob type + for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards + if(istype(I,/obj/item/brain)) + var/obj/item/brain/B = I + victims += B.brainmob + else if(istype(I,/obj/item/device/mmi)) + var/obj/item/device/mmi/B = I + victims += B.brainmob + else if(istype(I,/obj/item/device/aicard)) + for(var/mob/living/silicon/ai/A in I) + victims += A + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + cultsinrange += C + C.say("Barhah hra zar[pick("'","`")]garis!") + for(var/mob/H in victims) + if (ticker.mode.name == "cult") + if(H.mind == ticker.mode:sacrifice_target) + if(cultsinrange.len >= 3) + sacrificed += H.mind + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining else - if(cultsinrange.len >= 3) - if(H.stat !=2) - if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() + H.gib() + usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." else - if(cultsinrange.len >= 3) - if(H.stat !=2) - if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - for(var/mob/living/carbon/monkey/M in src.loc) - if (ticker.mode.name == "cult") - if(M.mind == ticker.mode:sacrifice_target) - if(cultsinrange.len >= 3) - sacrificed += M.mind - usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." - else - usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." - continue - else - if(prob(20)) - usr << "\red The Geometer of Blood accepts your meager sacrifice." + usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." + else + if(cultsinrange.len >= 3) + if(H.stat !=2) + if(prob(80)) + usr << "\red The Geometer of Blood accepts this sacrifice." ticker.mode:grant_runeword(usr) else usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere monkey is not enough to satisfy Him." + usr << "\red However, this soul was not enough to gain His favor." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() else - usr << "\red The Geometer of Blood accepts your meager sacrifice." - if(prob(20)) - ticker.mode.grant_runeword(usr) - M.gib() -/* for(var/mob/living/carbon/alien/A) - for(var/mob/K in cultsinrange) - K.say("Barhah hra zar'garis!") - A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need. - if (ticker.mode.name == "cult") - if(prob(75)) - usr << "\red The Geometer of Blood accepts your exotic sacrifice." + if(H.stat !=2) + usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(cultsinrange.len >= 3) + if(H.stat !=2) + if(prob(80)) + usr << "\red The Geometer of Blood accepts this sacrifice." ticker.mode:grant_runeword(usr) else - usr << "\red The Geometer of Blood accepts your exotic sacrifice." - usr << "\red However, this alien is not enough to gain His favor." + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, this soul was not enough to gain His favor." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() else - usr << "\red The Geometer of Blood accepts your exotic sacrifice." - return - return fizzle() */ + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(H.stat !=2) + usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + for(var/mob/living/carbon/monkey/M in src.loc) + if (ticker.mode.name == "cult") + if(M.mind == ticker.mode:sacrifice_target) + if(cultsinrange.len >= 3) + sacrificed += M.mind + usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." + else + usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." + continue + else + if(prob(20)) + usr << "\red The Geometer of Blood accepts your meager sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere monkey is not enough to satisfy Him." + else + usr << "\red The Geometer of Blood accepts your meager sacrifice." + if(prob(20)) + ticker.mode.grant_runeword(usr) + M.gib() +/* for(var/mob/living/carbon/alien/A) + for(var/mob/K in cultsinrange) + K.say("Barhah hra zar'garis!") + A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need. + if (ticker.mode.name == "cult") + if(prob(75)) + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + usr << "\red However, this alien is not enough to gain His favor." + else + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + return + return fizzle() */ /////////////////////////////////////////SIXTEENTH RUNE - revealrunes(var/obj/W as obj) - var/go=0 - var/rad - var/S=0 - if(istype(W,/obj/effect/rune)) - rad = 6 - go = 1 - if (istype(W,/obj/item/weapon/paper/talisman)) - rad = 4 - go = 1 - if (istype(W,/obj/item/weapon/nullrod)) - rad = 1 - go = 1 - if(go) - for(var/obj/effect/rune/R in orange(rad,src)) - if(R!=src) - R:visibility=15 - S=1 - if(S) - if(istype(W,/obj/item/weapon/nullrod)) - usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!" - return - if(istype(W,/obj/effect/rune)) - usr.say("Nikt[pick("'","`")]o barada kla'atu!") - for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3) - del(src) - return - if(istype(W,/obj/item/weapon/paper/talisman)) - usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") - usr << "\red Your talisman turns into red dust, revealing the surrounding runes." - for (var/mob/V in orange(1,usr.loc)) - if(V!=usr) - V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3) - return - return - if(istype(W,/obj/effect/rune)) - return fizzle() - if(istype(W,/obj/item/weapon/paper/talisman)) - call(/obj/effect/rune/proc/fizzle)() - return +/obj/effect/rune/proc/revealrunes(var/obj/W as obj) + var/go=0 + var/rad + var/S=0 + if(istype(W,/obj/effect/rune)) + rad = 6 + go = 1 + if (istype(W,/obj/item/weapon/paper/talisman)) + rad = 4 + go = 1 + if (istype(W,/obj/item/weapon/nullrod)) + rad = 1 + go = 1 + if(go) + for(var/obj/effect/rune/R in orange(rad,src)) + if(R!=src) + R:visibility=15 + S=1 + if(S) + if(istype(W,/obj/item/weapon/nullrod)) + usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!" + return + if(istype(W,/obj/effect/rune)) + usr.say("Nikt[pick("'","`")]o barada kla'atu!") + for (var/mob/V in viewers(src)) + V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3) + del(src) + return + if(istype(W,/obj/item/weapon/paper/talisman)) + usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") + usr << "\red Your talisman turns into red dust, revealing the surrounding runes." + for (var/mob/V in orange(1,usr.loc)) + if(V!=usr) + V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3) + return + return + if(istype(W,/obj/effect/rune)) + return fizzle() + if(istype(W,/obj/item/weapon/paper/talisman)) + call(/obj/effect/rune/proc/fizzle)() + return /////////////////////////////////////////SEVENTEENTH RUNE - wall() - usr.say("Khari[pick("'","`")]d! Eske'te tannin!") - src.density = !src.density - var/mob/living/user = usr - user.take_organ_damage(2, 0) - if(src.density) - usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens." - else - usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space." - return +/obj/effect/rune/proc/wall() + usr.say("Khari[pick("'","`")]d! Eske'te tannin!") + src.density = !src.density + var/mob/living/user = usr + user.take_organ_damage(2, 0) + if(src.density) + usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens." + else + usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space." + return /////////////////////////////////////////EIGHTTEENTH RUNE - freedom() - var/mob/living/user = usr - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current - var/list/mob/living/carbon/users = new - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - users+=C - if(users.len>=3) - var/mob/living/carbon/cultist = input("Choose the one who you want to free", "Followers of Geometer") as null|anything in (cultists - users) - if(!cultist) - return fizzle() - if (cultist == user) //just to be sure. - return - if(!(cultist.buckled || \ - cultist.handcuffed || \ - istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle) || \ - (istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) || \ - (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ - (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ - )) - user << "\red The [cultist] is already free." - return - cultist.buckled = null - if (cultist.handcuffed) - cultist.handcuffed.loc = cultist.loc - cultist.handcuffed = null - cultist.update_inv_handcuffed() - if (cultist.legcuffed) - cultist.legcuffed.loc = cultist.loc - cultist.legcuffed = null - cultist.update_inv_legcuffed() - if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) - cultist.u_equip(cultist.wear_mask) - if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) - cultist.loc:welded = 0 - if(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) - cultist.loc:locked = 0 - if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) - cultist.loc:locked = 0 - for(var/mob/living/carbon/C in users) - user.take_overall_damage(15, 0) - C.say("Khari[pick("'","`")]d! Gual'te nikka!") - del(src) +/obj/effect/rune/proc/freedom() + var/mob/living/user = usr + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current + var/list/mob/living/carbon/users = new + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + users+=C + if(users.len>=3) + var/mob/living/carbon/cultist = input("Choose the one who you want to free", "Followers of Geometer") as null|anything in (cultists - users) + if(!cultist) return fizzle() + if (cultist == user) //just to be sure. + return + if(!(cultist.buckled || \ + cultist.handcuffed || \ + istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle) || \ + (istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) || \ + (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ + (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ + )) + user << "\red The [cultist] is already free." + return + cultist.buckled = null + if (cultist.handcuffed) + cultist.handcuffed.loc = cultist.loc + cultist.handcuffed = null + cultist.update_inv_handcuffed() + if (cultist.legcuffed) + cultist.legcuffed.loc = cultist.loc + cultist.legcuffed = null + cultist.update_inv_legcuffed() + if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) + cultist.u_equip(cultist.wear_mask) + if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) + cultist.loc:welded = 0 + if(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) + cultist.loc:locked = 0 + if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) + cultist.loc:locked = 0 + for(var/mob/living/carbon/C in users) + user.take_overall_damage(15, 0) + C.say("Khari[pick("'","`")]d! Gual'te nikka!") + del(src) + return fizzle() /////////////////////////////////////////NINETEENTH RUNE - cultsummon() - var/mob/living/user = usr - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current - var/list/mob/living/carbon/users = new - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - users+=C - if(users.len>=3) - var/mob/living/carbon/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - user) - if(!cultist) - return fizzle() - if (cultist == user) //just to be sure. - return - if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) - user << "\red You cannot summon the [cultist], for his shackles of blood are strong" - return fizzle() - cultist.loc = src.loc - cultist.lying = 1 - cultist.regenerate_icons() - for(var/mob/living/carbon/human/C in orange(1,src)) - if(iscultist(C) && !C.stat) - C.say("N'ath reth sh'yro eth d[pick("'","`")]rekkathnor!") - C.take_overall_damage(25, 0) - user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ - "\red You hear a pop and smell ozone.") - del(src) +/obj/effect/rune/proc/cultsummon() + var/mob/living/user = usr + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current + var/list/mob/living/carbon/users = new + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + users+=C + if(users.len>=3) + var/mob/living/carbon/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - user) + if(!cultist) return fizzle() + if (cultist == user) //just to be sure. + return + if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) + user << "\red You cannot summon the [cultist], for his shackles of blood are strong" + return fizzle() + cultist.loc = src.loc + cultist.lying = 1 + cultist.regenerate_icons() + for(var/mob/living/carbon/human/C in orange(1,src)) + if(iscultist(C) && !C.stat) + C.say("N'ath reth sh'yro eth d[pick("'","`")]rekkathnor!") + C.take_overall_damage(25, 0) + user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ + "\red You hear a pop and smell ozone.") + del(src) + return fizzle() /////////////////////////////////////////TWENTIETH RUNES - deafen() - if(istype(src,/obj/effect/rune)) - var/affected = 0 - for(var/mob/living/carbon/C in range(7,src)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.ear_deaf += 50 - C.show_message("\red The world around you suddenly becomes quiet.", 3) - affected++ - if(prob(1)) - C.sdisabilities |= DEAF - if(affected) - usr.say("Sti[pick("'","`")] kaliedir!") - usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust." - del(src) - else - return fizzle() - else - var/affected = 0 - for(var/mob/living/carbon/C in range(7,usr)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.ear_deaf += 30 - //talismans is weaker. - C.show_message("\red The world around you suddenly becomes quiet.", 3) - affected++ - if(affected) - usr.whisper("Sti[pick("'","`")] kaliedir!") - usr << "\red Your talisman turns into gray dust, deafening everyone around." - for (var/mob/V in orange(1,src)) - if(!(iscultist(V))) - V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) - return +/obj/effect/rune/proc/deafen() + if(istype(src,/obj/effect/rune)) + var/affected = 0 + for(var/mob/living/carbon/C in range(7,src)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.ear_deaf += 50 + C.show_message("\red The world around you suddenly becomes quiet.", 3) + affected++ + if(prob(1)) + C.sdisabilities |= DEAF + if(affected) + usr.say("Sti[pick("'","`")] kaliedir!") + usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust." + del(src) + else + return fizzle() + else + var/affected = 0 + for(var/mob/living/carbon/C in range(7,usr)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.ear_deaf += 30 + //talismans is weaker. + C.show_message("\red The world around you suddenly becomes quiet.", 3) + affected++ + if(affected) + usr.whisper("Sti[pick("'","`")] kaliedir!") + usr << "\red Your talisman turns into gray dust, deafening everyone around." + for (var/mob/V in orange(1,src)) + if(!(iscultist(V))) + V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) + return - blind() - if(istype(src,/obj/effect/rune)) - var/affected = 0 - for(var/mob/living/carbon/C in viewers(src)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.eye_blurry += 50 - C.eye_blind += 20 - if(prob(5)) - C.disabilities |= NEARSIGHTED - if(prob(10)) - C.sdisabilities |= BLIND - C.show_message("\red Suddenly you see red flash that blinds you.", 3) - affected++ - if(affected) - usr.say("Sti[pick("'","`")] kaliesin!") - usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." - del(src) - else - return fizzle() - else - var/affected = 0 - for(var/mob/living/carbon/C in view(2,usr)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.eye_blurry += 30 - C.eye_blind += 10 - //talismans is weaker. - affected++ - C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) - if(affected) - usr.whisper("Sti[pick("'","`")] kaliesin!") - usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." - return +/obj/effect/rune/proc/blind() + if(istype(src,/obj/effect/rune)) + var/affected = 0 + for(var/mob/living/carbon/C in viewers(src)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.eye_blurry += 50 + C.eye_blind += 20 + if(prob(5)) + C.disabilities |= NEARSIGHTED + if(prob(10)) + C.sdisabilities |= BLIND + C.show_message("\red Suddenly you see red flash that blinds you.", 3) + affected++ + if(affected) + usr.say("Sti[pick("'","`")] kaliesin!") + usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." + del(src) + else + return fizzle() + else + var/affected = 0 + for(var/mob/living/carbon/C in view(2,usr)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.eye_blurry += 30 + C.eye_blind += 10 + //talismans is weaker. + affected++ + C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) + if(affected) + usr.whisper("Sti[pick("'","`")] kaliesin!") + usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." + return - bloodboil() //cultists need at least one DANGEROUS rune. Even if they're all stealthy. +/obj/effect/rune/proc/bloodboil() //cultists need at least one DANGEROUS rune. Even if they're all stealthy. /* - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current */ - var/culcount = 0 //also, wording for it is old wording for obscure rune, which is now hide-see-blood. + var/culcount = 0 //also, wording for it is old wording for obscure rune, which is now hide-see-blood. // var/list/cultboil = list(cultists-usr) //and for this words are destroy-see-blood. - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount>=3) - for(var/mob/living/carbon/M in viewers(usr)) - if(iscultist(M)) - continue - var/obj/item/weapon/nullrod/N = locate() in M - if(N) - continue - M.take_overall_damage(51,51) - M << "\red Your blood boils!" - if(prob(5)) - spawn(5) - M.gib() - for(var/obj/effect/rune/R in view(src)) - if(prob(10)) - explosion(R.loc, -1, 0, 1, 5) - for(var/mob/living/carbon/human/C in orange(1,src)) - if(iscultist(C) && !C.stat) - C.say("Dedo ol[pick("'","`")]btoh!") - C.take_overall_damage(15, 0) - del(src) - else - return fizzle() - return + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount>=3) + for(var/mob/living/carbon/M in viewers(usr)) + if(iscultist(M)) + continue + var/obj/item/weapon/nullrod/N = locate() in M + if(N) + continue + M.take_overall_damage(51,51) + M << "\red Your blood boils!" + if(prob(5)) + spawn(5) + M.gib() + for(var/obj/effect/rune/R in view(src)) + if(prob(10)) + explosion(R.loc, -1, 0, 1, 5) + for(var/mob/living/carbon/human/C in orange(1,src)) + if(iscultist(C) && !C.stat) + C.say("Dedo ol[pick("'","`")]btoh!") + C.take_overall_damage(15, 0) + del(src) + else + return fizzle() + return // WIP rune, I'll wait for Rastaf0 to add limited blood. - burningblood() - var/culcount = 0 - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount >= 5) - for(var/obj/effect/rune/R in world) - if(R.blood_DNA == src.blood_DNA) - for(var/mob/living/M in orange(2,R)) - M.take_overall_damage(0,15) - if (R.invisibility>M.see_invisible) - M << "\red Aargh it burns!" - else - M << "\red Rune suddenly ignites, burning you!" - var/turf/T = get_turf(R) - T.hotspot_expose(700,125) - for(var/obj/effect/decal/cleanable/blood/B in world) - if(B.blood_DNA == src.blood_DNA) - for(var/mob/living/M in orange(1,B)) - M.take_overall_damage(0,5) - M << "\red Blood suddenly ignites, burning you!" - var/turf/T = get_turf(B) - T.hotspot_expose(700,125) - del(B) - del(src) +/obj/effect/rune/proc/burningblood() + var/culcount = 0 + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount >= 5) + for(var/obj/effect/rune/R in world) + if(R.blood_DNA == src.blood_DNA) + for(var/mob/living/M in orange(2,R)) + M.take_overall_damage(0,15) + if (R.invisibility>M.see_invisible) + M << "\red Aargh it burns!" + else + M << "\red Rune suddenly ignites, burning you!" + var/turf/T = get_turf(R) + T.hotspot_expose(700,125) + for(var/obj/effect/decal/cleanable/blood/B in world) + if(B.blood_DNA == src.blood_DNA) + for(var/mob/living/M in orange(1,B)) + M.take_overall_damage(0,5) + M << "\red Blood suddenly ignites, burning you!" + var/turf/T = get_turf(B) + T.hotspot_expose(700,125) + del(B) + del(src) ////////// Rune 24 (counting burningblood, which kinda doesnt work yet.) - runestun(var/mob/living/T as mob) - if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around. - usr.say("Fuu ma[pick("'","`")]jin!") - for(var/mob/living/L in viewers(src)) +/obj/effect/rune/proc/runestun(var/mob/living/T as mob) + if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around. + usr.say("Fuu ma[pick("'","`")]jin!") + for(var/mob/living/L in viewers(src)) - if(iscarbon(L)) - var/mob/living/carbon/C = L - flick("e_flash", C.flash) - if(C.stuttering < 1 && (!(HULK in C.mutations))) - C.stuttering = 1 - C.Weaken(1) - C.Stun(1) - C.show_message("\red The rune explodes in a bright flash.", 3) + if(iscarbon(L)) + var/mob/living/carbon/C = L + flick("e_flash", C.flash) + if(C.stuttering < 1 && (!(HULK in C.mutations))) + C.stuttering = 1 + C.Weaken(1) + C.Stun(1) + C.show_message("\red The rune explodes in a bright flash.", 3) - else if(issilicon(L)) - var/mob/living/silicon/S = L - S.Weaken(5) - S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3) - del(src) - else ///When invoked as talisman, stun and mute the target mob. - usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") - var/obj/item/weapon/nullrod/N = locate() in T - if(N) - for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at [], but they are unaffected!", usr, T), 1) - else - for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at []", usr, T), 1) + else if(issilicon(L)) + var/mob/living/silicon/S = L + S.Weaken(5) + S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3) + del(src) + else ///When invoked as talisman, stun and mute the target mob. + usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") + var/obj/item/weapon/nullrod/N = locate() in T + if(N) + for(var/mob/O in viewers(T, null)) + O.show_message(text("\red [] invokes a talisman at [], but they are unaffected!", usr, T), 1) + else + for(var/mob/O in viewers(T, null)) + O.show_message(text("\red [] invokes a talisman at []", usr, T), 1) - if(issilicon(T)) - T.Weaken(15) + if(issilicon(T)) + T.Weaken(15) - else if(iscarbon(T)) - var/mob/living/carbon/C = T - flick("e_flash", C.flash) - if (!(HULK in C.mutations)) - C.silent += 15 - C.Weaken(25) - C.Stun(25) - return + else if(iscarbon(T)) + var/mob/living/carbon/C = T + flick("e_flash", C.flash) + if (!(HULK in C.mutations)) + C.silent += 15 + C.Weaken(25) + C.Stun(25) + return /////////////////////////////////////////TWENTY-FIFTH RUNE - armor() - var/mob/living/carbon/human/user = usr - if(istype(src,/obj/effect/rune)) - usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - else - usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") +/obj/effect/rune/proc/armor() + var/mob/living/carbon/human/user = usr + if(istype(src,/obj/effect/rune)) + usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") + else + usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") + usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") - user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) - user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) - user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes) - user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) - //the above update their overlay icons cache but do not call update_icons() - //the below calls update_icons() at the end, which will update overlay icons by using the (now updated) cache - user.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) //put in hands or on floor + user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) + user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) + user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes) + user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) + //the above update their overlay icons cache but do not call update_icons() + //the below calls update_icons() at the end, which will update overlay icons by using the (now updated) cache + user.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) //put in hands or on floor - del(src) - return + del(src) + return diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index d3f276abe0..2d86981ebd 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -262,6 +262,8 @@ /obj/machinery/door/proc/requiresID() return 1 +/* + /obj/machinery/door/proc/update_nearby_tiles(need_rebuild) if(!air_master) return 0 @@ -272,6 +274,8 @@ return 1 +*/ + /obj/machinery/door/proc/update_heat_protection(var/turf/simulated/source) if(istype(source)) if(src.density && (src.opacity || src.heat_proof)) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 056ad2d932..5664ff20d8 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -108,6 +108,7 @@ var/global/floorIsLava = 0 body += "Is an AI " else if(ishuman(M)) body += {"Make AI | + Make Mask | Make Robot | Make Alien | Make slime diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a95b9d625e..813a0bfbd7 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1174,6 +1174,15 @@ message_admins("\red Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() + + + else if(href_list["makemask"]) + if(!check_rights(R_SPAWN)) return + var/mob/currentMob = locate(href_list["makemask"]) + message_admins("\red Admin [key_name_admin(usr)] made [key_name_admin(currentMob)] into a Mask of Nar'Sie!", 1) + log_admin("[key_name(usr)] made [key_name(currentMob)] into a Mask of Nar'Sie!") + currentMob.make_into_mask(0,0) + else if(href_list["makealien"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 95ebdf2011..bd7d4fe3a8 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -58,9 +58,10 @@ var/datum/organ/external/head = get_organ("head") var/mob/living/simple_animal/borer/B - for(var/I in head.implants) - if(istype(I,/mob/living/simple_animal/borer)) - B = I + if(istype(head)) + for(var/I in head.implants) + if(istype(I,/mob/living/simple_animal/borer)) + B = I if(B) if(!B.ckey && ckey && B.controlling) B.ckey = ckey diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index ddfd7d1606..828b952ece 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -327,6 +327,7 @@ return /mob/living/Move(a, b, flag) + if (buckled) return diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 8264f705a1..d857856b7f 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -1,168 +1,14 @@ /datum/visibility_network/cameras ChunkType = /datum/visibility_chunk/camera +/datum/visibility_network/cameras/getViewpointFromMob(var/mob/currentMob) + var/mob/living/silicon/robot/currentRobot=currentMob + if(currentRobot) + return currentRobot.camera + return FALSE + /datum/visibility_network/cameras/validViewpoint(var/viewpoint) var/obj/machinery/camera/c = viewpoint if (!c) return FALSE - return c.can_use() - - - - - - - - - -/* -// CAMERA NET -// -// The datum containing all the chunks. - -var/datum/cameranet/cameranet = new() - -/datum/cameranet - // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). - var/list/cameras = list() - // The chunks of the map, mapping the areas that the cameras can see. - var/list/chunks = list() - var/ready = 0 - -// Checks if a chunk has been Generated in x, y, z. -/datum/cameranet/proc/chunkGenerated(x, y, z) - x &= ~0xf - y &= ~0xf - var/key = "[x],[y],[z]" - return (chunks[key]) - -// Returns the chunk in the x, y, z. -// If there is no chunk, it creates a new chunk and returns that. -/datum/cameranet/proc/getCameraChunk(x, y, z) - x &= ~0xf - y &= ~0xf - var/key = "[x],[y],[z]" - if(!chunks[key]) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - -// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set. - -/datum/cameranet/proc/visibility(mob/aiEye/ai) - // 0xf = 15 - var/x1 = max(0, ai.x - 16) & ~0xf - var/y1 = max(0, ai.y - 16) & ~0xf - var/x2 = min(world.maxx, ai.x + 16) & ~0xf - var/y2 = min(world.maxy, ai.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/chunk in remove) - var/datum/camerachunk/c = chunk - c.remove(ai) - - for(var/chunk in add) - var/datum/camerachunk/c = chunk - c.add(ai) - -// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. - -/datum/cameranet/proc/updateVisibility(atom/A, var/opacity_check = 1) - - if(!ticker || (opacity_check && !A.opacity)) - return - majorChunkChange(A, 2) - -/datum/cameranet/proc/updateChunk(x, y, z) - // 0xf = 15 - if(!chunkGenerated(x, y, z)) - return - var/datum/camerachunk/chunk = getCameraChunk(x, y, z) - chunk.hasChanged() - -// Removes a camera from a chunk. - -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 0) - -// Add a camera to a chunk. - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) - -// Used for Cyborg cameras. Since portable cameras can be in ANY chunk. - -/datum/cameranet/proc/updatePortableCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) - //else - // majorChunkChange(c, 0) - -// Never access this proc directly!!!! -// This will update the chunk and all the surrounding chunks. -// It will also add the atom to the cameras list if you set the choice to 1. -// Setting the choice to 0 will remove the camera from the chunks. -// If you want to update the chunks around an object, without adding/removing a camera, use choice 2. - -/datum/cameranet/proc/majorChunkChange(atom/c, var/choice) - // 0xf = 15 - if(!c) - return - - var/turf/T = get_turf(c) - if(T) - var/x1 = max(0, T.x - 8) & ~0xf - var/y1 = max(0, T.y - 8) & ~0xf - var/x2 = min(world.maxx, T.x + 8) & ~0xf - var/y2 = min(world.maxy, T.y + 8) & ~0xf - - //world << "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]" - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, T.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, T.z) - if(choice == 0) - // Remove the camera. - chunk.cameras -= c - else if(choice == 1) - // You can't have the same camera in the list twice. - chunk.cameras |= c - chunk.hasChanged() - -// Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0. - -/datum/cameranet/proc/checkCameraVis(mob/living/target as mob) - - // 0xf = 15 - var/turf/position = get_turf(target) - var/datum/camerachunk/chunk = getCameraChunk(position.x, position.y, position.z) - if(chunk) - if(chunk.changed) - chunk.hasChanged(1) // Update now, no matter if it's visible or not. - if(chunk.visibleTurfs[position]) - return 1 - return 0 - - -// Debug verb for VVing the chunk that the turf is in. -/* -/turf/verb/view_chunk() - set src in world - - if(cameranet.chunkGenerated(x, y, z)) - var/datum/camerachunk/chunk = cameranet.getCameraChunk(x, y, z) - usr.client.debug_variables(chunk) -*/ - -*/ \ No newline at end of file + return c.can_use() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index da1cc370f0..89c88c1aaf 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -1,4 +1,3 @@ - /datum/visibility_chunk/camera /datum/visibility_chunk/camera/validViewpoint(var/viewpoint) @@ -21,176 +20,4 @@ /datum/visibility_chunk/camera/findNearbyViewpoints() for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) if(c.can_use()) - viewpoints += c -/* - -#define UPDATE_BUFFER 25 // 2.5 seconds - -// CAMERA CHUNK -// -// A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. -// Allows the AI Eye to stream these chunks and know what it can and cannot see. - -/datum/camerachunk - var/list/obscuredTurfs = list() - var/list/visibleTurfs = list() - var/list/obscured = list() - var/list/cameras = list() - var/list/turfs = list() - var/list/seenby = list() - var/visible = 0 - var/changed = 0 - var/updating = 0 - var/x = 0 - var/y = 0 - var/z = 0 - -// Add an AI eye to the chunk, then update if changed. - -/datum/camerachunk/proc/add(mob/aiEye/ai) - if(!ai.ai) - return - ai.visibleCameraChunks += src - if(ai.ai.client) - ai.ai.client.images += obscured - visible++ - seenby += ai - if(changed && !updating) - update() - -// Remove an AI eye from the chunk, then update if changed. - -/datum/camerachunk/proc/remove(mob/aiEye/ai) - if(!ai.ai) - return - ai.visibleCameraChunks -= src - if(ai.ai.client) - ai.ai.client.images -= obscured - seenby -= ai - if(visible > 0) - visible-- - -// Called when a chunk has changed. I.E: A wall was deleted. - -/datum/camerachunk/proc/visibilityChanged(turf/loc) - if(!visibleTurfs[loc]) - return - hasChanged() - -// Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will -// instead be flagged to update the next time an AI Eye moves near it. - -/datum/camerachunk/proc/hasChanged(var/update_now = 0) - if(visible || update_now) - if(!updating) - updating = 1 - spawn(UPDATE_BUFFER) // Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - else - changed = 1 - -// The actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. - -/datum/camerachunk/proc/update() - - set background = 1 - - var/list/newVisibleTurfs = list() - - for(var/camera in cameras) - var/obj/machinery/camera/c = camera - - if(!c) - continue - - if(!c.can_use()) - continue - - var/turf/point = locate(src.x + 8, src.y + 8, src.z) - if(get_dist(point, c) > 24) - continue - - for(var/turf/t in c.can_see()) - newVisibleTurfs[t] = t - - // Removes turf that isn't in turfs. - newVisibleTurfs &= turfs - - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - obscuredTurfs = turfs - newVisibleTurfs - - for(var/turf in visAdded) - var/turf/t = turf - if(t.obscured) - obscured -= t.obscured - for(var/eye in seenby) - var/mob/aiEye/m = eye - if(!m || !m.ai) - continue - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf in visRemoved) - var/turf/t = turf - if(obscuredTurfs[t]) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/eye in seenby) - var/mob/aiEye/m = eye - if(!m || !m.ai) - seenby -= m - continue - if(m.ai.client) - m.ai.client.images += t.obscured - -// Create a new camera chunk, since the chunks are made as they are needed. - -/datum/camerachunk/New(loc, x, y, z) - - // 0xf = 15 - x &= ~0xf - y &= ~0xf - - src.x = x - src.y = y - src.z = z - - for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) - if(c.can_use()) - cameras += c - - for(var/turf/t in range(10, locate(x + 8, y + 8, z))) - if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) - turfs[t] = t - - for(var/camera in cameras) - var/obj/machinery/camera/c = camera - if(!c) - continue - - if(!c.can_use()) - continue - - for(var/turf/t in c.can_see()) - visibleTurfs[t] = t - - // Removes turf that isn't in turfs. - visibleTurfs &= turfs - - obscuredTurfs = turfs - visibleTurfs - - for(var/turf in obscuredTurfs) - var/turf/t = turf - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - obscured += t.obscured - -#undef UPDATE_BUFFER - -*/ \ No newline at end of file + viewpoints += c \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 44081bb636..69af9a18aa 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -40,7 +40,6 @@ // It will also stream the chunk that the new loc is in. /mob/aiEye/proc/setLoc(var/T) - if(ai) if(!isturf(ai.loc)) return diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 05aa5ef317..e88d4c28eb 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -1,23 +1,5 @@ #define BORG_CAMERA_BUFFER 30 -// ROBOT MOVEMENT - -// Update the portable camera everytime the Robot moves. -// This might be laggy, comment it out if there are problems. -/mob/living/silicon/robot/var/updating = 0 - -/mob/living/silicon/robot/Move() - var/oldLoc = src.loc - . = ..() - if(.) - if(src.camera && src.camera.network.len) - if(!updating) - updating = 1 - spawn(BORG_CAMERA_BUFFER) - if(oldLoc != src.loc) - cameraNetwork.updateViewpoint(src.camera) - updating = 0 - // CAMERA // An addition to deactivate which removes/adds the camera from the chunk list based on if it works or not. diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 8740c4a4f9..030a3db08e 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -106,6 +106,9 @@ camera.network = list("SS13","Robots") if(isWireCut(5)) // 5 = BORG CAMERA camera.status = 0 + + // hook the robot into the camera network + addToVisibilityNetwork(cameraNetwork) initialize_components() //if(!unfinished) @@ -143,6 +146,8 @@ if(T) mmi.loc = T if(mind) mind.transfer_to(mmi.brainmob) mmi = null + // remove blown up robots from the visibility network + removeFromVisibilityNetwork(cameraNetwork) ..() /mob/living/silicon/robot/proc/pick_module() diff --git a/code/modules/mob/spirit/cultnet.dm b/code/modules/mob/spirit/cultnet.dm index 9847a80b0c..df0cd57ff5 100644 --- a/code/modules/mob/spirit/cultnet.dm +++ b/code/modules/mob/spirit/cultnet.dm @@ -1,4 +1,4 @@ -/* +/* This file contains the code necessary to do the display code for cult spirits. @@ -6,3 +6,75 @@ It reuses a lot of code from the AIEye cameraNetwork. In order to work properly, */ + +/proc/isCultRune(var/viewpoint) + var/obj/effect/rune/test_rune = viewpoint + if (test_rune) + return TRUE + return FALSE + + +/proc/isCultViewpoint(var/viewpoint) + var/obj/cult_viewpoint/vp = viewpoint + if (vp) + return TRUE + return FALSE + + +/datum/visibility_chunk/cult/validViewpoint(var/atom/viewpoint) + var/turf/point = locate(src.x + 8, src.y + 8, src.z) + if(get_dist(point, viewpoint) > 24) + return FALSE + + if (isCultRune(viewpoint) || isCultViewpoint(viewpoint)) + return viewpoint:can_use() + return FALSE + + +/datum/visibility_chunk/cult/getVisibleTurfsForViewpoint(var/viewpoint) + var/obj/effect/rune/rune = viewpoint + if (rune) + return rune.can_see() + var/obj/cult_viewpoint/cvp = viewpoint + if (cvp) + return cvp.can_see() + return null + + +/datum/visibility_chunk/cult/findNearbyViewpoints() + for(var/obj/cult_viewpoint/vp in range(16, locate(x + 8, y + 8, z))) + if(vp.can_use()) + viewpoints += vp + for(var/obj/effect/rune/rune in range(16, locate(x + 8, y + 8, z))) + viewpoints += rune + + +/datum/visibility_network/cult + ChunkType = /datum/visibility_chunk/cult + + +/datum/visibility_network/cult/validViewpoint(var/viewpoint) + if (isCultRune(viewpoint) || isCultViewpoint(viewpoint)) + return viewpoint:can_use() + return FALSE + +/datum/visibility_network/cult/getViewpointFromMob(var/mob/currentMob) + for(var/obj/cult_viewpoint/currentView in currentMob) + return currentView + return FALSE + + +/datum/visibility_interface/cult + chunk_type = /datum/visibility_chunk/cult + + +/* +RUNE JUNK +*/ + +/obj/effect/rune/proc/can_use() + return TRUE + +/obj/effect/rune/proc/can_see() + return hear(view_range, get_turf(src)) + diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm new file mode 100644 index 0000000000..87bf07cd45 --- /dev/null +++ b/code/modules/mob/spirit/mask/mask.dm @@ -0,0 +1,171 @@ +mob/spirit/mask + + +mob/spirit/mask/New() + ..() + spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src) + spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src) + + +mob/spirit/mask/verb/go_to_follower() + set category = "Mask" + set name = "Go to follower" + set desc = "Select who you would like to go too." + + var/obj/cult_viewpoint/cultist = pick_cultist() + if (cultist) + follow_cultist(cultist.owner) + src << "You start following [cultist.get_display_name()]." + + +mob/spirit/mask/verb/set_specific_urge() + set category = "Mask" + set name = "Set urge on cultist" + set desc = "Set urge on target" + + var/obj/cult_viewpoint/cultist = pick_cultist() + if (cultist) + var/newUrge = stripped_input(usr, "", "Set Urge", "") + cultist.set_urge(newUrge) + src << "You urge [cultist.owner.name] to [newUrge]." + +mob/spirit/mask/verb/set_cult_name() + set category = "Mask" + set name = "Set Cult Name" + set desc = "Grant a cultist a name." + + var/obj/cult_viewpoint/cultist = pick_cultist() + if (cultist) + var/newName = stripped_input(usr, "", "Set Cult Name", "") + if (!newName) + return + cultist.set_cult_name(newName) + src << "You grant [cultist.owner.name] the secret name of [newName]." + + +mob/spirit/mask/verb/set_global_urge() + set category = "Mask" + set name = "Set global urge" + set desc = "Set urge on the entire cult." + + var/newUrge = stripped_input(usr, "Please choose an urge.", "Set Urge", "") + for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) + viewpoint.set_urge(newUrge) + src << "You urge the entire cult to [newUrge]." + + +mob/spirit/mask/verb/set_favor_for_cultist() + set category = "Mask" + set name = "Show your favor" + set desc = "Set the favor for a cultist" + + var/obj/cult_viewpoint/cultist = pick_cultist() + if (cultist) + var/list/favor = list("Pleased", "Displeased", "Indifference") + var/emotion = input("Pick your emotion", "Mask", null, null) in favor + switch(emotion) + if("Pleased") + cultist.set_favor(1) + if("Displeased") + cultist.set_favor(-1) + if("Indifference") + cultist.set_favor(0) + + +mob/spirit/mask/proc/set_name() + var/newName = stripped_input(usr, "Please pick a name.", "Pick Name for Mask", "") + name = newName ? newName : "Mask of Nar'sie" + + +mob/spirit/mask/proc/pick_cultist() + var/list/cultists = list() + for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) + cultists[viewpoint.get_display_name()]=viewpoint + var/input = input("Please, select a cultist!", "Cult", null, null) as null|anything in cultists + var/obj/cult_viewpoint/result = cultists[input] + return result + + +// SPELLS +/obj/effect/proc_holder/spell/aoe_turf/blood_speech + name = "Speak to your Acolytes" + desc = "This spell allows you to speak to your flock." + school = "unknown evil" + charge_type = "recharge" + charge_max = 300 + clothes_req = 0 + invocation = "none" + invocation_type = "none" + range = 0 + +/obj/effect/proc_holder/spell/aoe_turf/blood_speech/cast(list/targets) + var/input = stripped_input(usr, "Please choose a message to tell your acolytes.", "Voice of Blood", "") + if(!input) + revert_cast(usr) + for(var/datum/mind/H in ticker.mode.cult) + if (H.current) + H.current << "[usr.name]: [input]" + for(var/mob/spirit/spirit in spirits) + spirit << "[usr.name]: [input]" + + +/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman + name = "Create Talisman" + desc = "This spell conjures a talisman" + + school = "conjuration" + charge_type = "recharge" + charge_max = 300 + clothes_req = 0 + invocation = "none" + invocation_type = "none" + range = 0 + summon_type = list(/obj/item/weapon/paper/talisman) + + var/list/talismans = list( "Armor"="armor", + "Blind"="blind", + "Conceal"="conceal", + "Communicate"="communicate", + "Deafen"="deafen", + "EMP"="emp", + "Teleport"="teleport", + "Tome"="newtome", + "Reveal Runes", + "Stun"="runestun", + "Soul Stone"="soulstone", + "Construct"="construct") + + +/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman/cast(list/targets) + + var/talisman = input("Pick a talisman type", "Talisman", null, null) as null|anything in talismans + var/imbue_value = talismans[talisman] + if (!talisman) + usr << "You choose not to create a talisman." + revert_cast(usr) + return + + switch(talisman) + + if ("Teleport") + var/target_rune = input("Pick a teleport target", "Teleport Rune", null, null) as null|anything in engwords + if (!target_rune) + usr << "You choose not to create a talisman." + revert_cast(usr) + return + summon_type = list(/obj/item/weapon/paper/talisman) + newVars = list("imbue" = "[target_rune]", "info" = "[target_rune]") + + if ("Soul Stone") + summon_type = list(/obj/item/device/soulstone) + newVars = list() + + if ("Construct") + summon_type = list(/obj/structure/constructshell) + newVars = list() + + else + summon_type = list(/obj/item/weapon/paper/talisman) + newVars = list("imbue" = "[imbue_value]") + + ..() \ No newline at end of file diff --git a/code/modules/mob/spirit/movement.dm b/code/modules/mob/spirit/movement.dm index a7b05856ff..c6e6fb3a09 100644 --- a/code/modules/mob/spirit/movement.dm +++ b/code/modules/mob/spirit/movement.dm @@ -27,10 +27,30 @@ mob/spirit/proc/Spirit_Move(direct) // if we're trying to move, we want to stop following our target follow_target = null + +/mob/spirit/proc/follow_cultist(mob/living/target as mob) + if(!istype(target)) return + var/obj/cult_viewpoint/currentView = getCultViewpoint(target) + var/mob/spirit/U = usr + + if (!currentView) + U << "As a spirit, you may only track cultists." + + U.follow_target = target + U << "Now following [currentView.get_cult_name()]." + + spawn (0) + while (U.follow_target == target) + if (U.follow_target == null) + return + U.setLoc(get_turf(target)) + sleep(10) + + mob/spirit/proc/setLoc(var/T) T = get_turf(T) loc = T - //cultnet.visibility(src) + cultNetwork.visibility(src) mob/spirit/verb/toggle_acceleration() set category = "Spirit" diff --git a/code/modules/mob/spirit/spirit.dm b/code/modules/mob/spirit/spirit.dm index d03a679c57..ce85f4175f 100644 --- a/code/modules/mob/spirit/spirit.dm +++ b/code/modules/mob/spirit/spirit.dm @@ -1,13 +1,5 @@ /* This mob type is used for entities that exist within the Cult's spirit world. They share the same visibility network and are intangible. - - -NOTES - -- make chunks generic - - subclass them for camerachunks and for cultchunks -- do the same thing with visibility networks - - cultnet and cameraNetwork etc. */ mob/spirit @@ -22,7 +14,9 @@ mob/spirit canmove = 0 blinded = 0 anchored = 1 + mouse_opacity = 0 invisibility = INVISIBILITY_SPIRIT + universal_speak = 1 // pseudo-movement values var/sprint = 10 @@ -30,13 +24,53 @@ mob/spirit var/acceleration = 1 var/follow_target = null + +mob/spirit/is_active() + if (client && client.inactivity <= 10 * 60 * 10) + return TRUE + return FALSE + + mob/spirit/New() sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF see_invisible = SEE_SPIRITS see_in_dark = 100 loc = pick(latejoin) + + // hook them to the cult visibility network + visibility_interface = new /datum/visibility_interface/cult(src) // no nameless spirits if (!name) - name = "Boogyman" \ No newline at end of file + name = "Boogyman" + + spirits+=src + + ..() + +mob/spirit/Del() + spirits-=src + ..() + + +mob/spirit/Topic(href, href_list) + world << "Spirit Topic!" + usr << "Topic: usr [usr], src [src]" + src << "Topic: usr [usr], src [src]" + + if(usr != src) + return + ..() + + usr << "Spirit Href = [href]" + for (var/tempref in href_list) + usr << "Spirit href list [tempref] = [href_list[tempref]]" + + if (href_list["track"]) + usr << "Got to tracking." + var/mob/target = locate(href_list["track"]) in mob_list + var/mob/spirit/A = locate(href_list["track2"]) in spirits + if(A && target) + A.follow_cultist(target) + return \ No newline at end of file diff --git a/code/modules/mob/spirit/viewpoint.dm b/code/modules/mob/spirit/viewpoint.dm new file mode 100644 index 0000000000..56f5b154b5 --- /dev/null +++ b/code/modules/mob/spirit/viewpoint.dm @@ -0,0 +1,195 @@ +#define FAVOR_PLEASED 1 +#define FAVOR_INDIFFERENT 0 +#define FAVOR_DISPLEASED -1 + + +var/obj/cult_viewpoint/list/cult_viewpoints = list() + + +/obj/cult_viewpoint + var/view_range = 7 + var/updating = 0 + var/mob/owner = null + var/urge = "" + var/favor = FAVOR_INDIFFERENT + var/cult_name = null + + +/obj/cult_viewpoint/New(var/mob/target) + owner = target + //src.loc = owner + owner.addToVisibilityNetwork(cultNetwork) + cultNetwork.viewpoints+=src + cultNetwork.addViewpoint(src) + cult_viewpoints+=src + //handle_missing_mask() + ..() + + +/obj/cult_viewpoint/Del() + processing_objects.Remove(src) + cultNetwork.viewpoints-=src + cultNetwork.removeViewpoint(src) + cult_viewpoints-=src + owner.removeFromVisibilityNetwork(cultNetwork) + ..() + return + + +// VERBS +/obj/cult_viewpoint/verb/check_urge() + set category = "Cult" + set desc = "Discover what your god commands of you." + set name = "Check Urge" + set src in usr + if (src.urge) + owner << "\red \b You feel the urge to [src.urge]" + else + owner << "\b You feel no supernatural compulsions." + + +/obj/cult_viewpoint/verb/reach_out() + set category = "Cult" + set desc = "Reach out for your gods presence." + set name = "Reach Out" + set src in usr + + for(var/mob/spirit/mask/currentMask in spirits) + if (currentMask.is_active()) + owner << "\red \b You feel the reassuring presence of your god." + currentMask << "[get_display_name()] has reached out to you." + return + owner << "\b You feel a chilling absence." + handle_missing_mask() + + +/obj/cult_viewpoint/verb/check_favor() + set category = "Cult" + set desc = "Check your favor with your god." + set name = "Check Favor" + set src in usr + switch(favor) + if(FAVOR_PLEASED) + owner << "\red \b You bask in your gods favor." + if(FAVOR_INDIFFERENT) + owner << "\red \b You feel nothing." + if(FAVOR_DISPLEASED) + owner << "\red \b You cringe at your gods displeasure." + +/obj/cult_viewpoint/verb/pray_to_mask() + set category = "Cult" + set desc = "Pray to your god" + set name = "Pray to Nar'Sie" + set src in usr + + var/input = stripped_input(usr, "Please choose a message to say to your god.", "Pray to Nar'Sie", "") + if(!input) + return + + owner << "You pray to Nar'Sie: [input]" + + for(var/mob/spirit/spirit in spirits) + spirit << "[get_display_name()] prays : [input]" + +// PROCS +/obj/cult_viewpoint/proc/set_favor(var/newFavor) + favor = newFavor + check_favor() + + +/obj/cult_viewpoint/proc/set_urge(var/newUrge) + if (!newUrge) + src.urge = null + src.urge = copytext(newUrge, 1, MAX_MESSAGE_LEN) + check_urge() + + +/obj/cult_viewpoint/proc/can_use() + if (owner.stat != DEAD) + return TRUE + return FALSE + + +/obj/cult_viewpoint/proc/can_see() + return hear(view_range, get_turf(owner)) + + +/obj/cult_viewpoint/proc/get_cult_name() + if (cult_name) + return cult_name + return "An Unknown Servent" + + +/obj/cult_viewpoint/proc/set_cult_name(var/newName) + if (!owner) + return FALSE + if (newName) + cult_name = newName + owner << "\red \b You have been blessed with the secret name of '[newName]'." + else + cult_name = null + owner << "\red \b Your god has taken your secret name." + + +/obj/cult_viewpoint/proc/get_display_name() + if (!owner) + return + if (cult_name) + return cult_name + return owner.name + + +/obj/cult_viewpoint/proc/become_mask() + set category = "Cult" + set name = "Become Mask" + set desc = "Sacrifice your life and become a Mask of Nar'sie." + set src in usr + + if (!active_mask()) + var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent") + if(!active_mask()) + if (transformation_type=="Subtle") + owner.make_into_mask(0,0) + else + owner.make_into_mask(1,1) + else + owner << "\b You cannot become a mask of Nar'Sie because a Mask already exists." + mask_has_been_found() + return + + +/obj/cult_viewpoint/proc/active_mask() + for(var/mob/spirit/mask/currentMask in spirits) + if (currentMask.is_active()) + return TRUE + return FALSE + + +/obj/cult_viewpoint/proc/handle_missing_mask() + if (active_mask()) + mask_has_been_found() + else + mask_is_missing() + + +/obj/cult_viewpoint/proc/mask_has_been_found() + for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) + if (viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) + viewpoint.verbs-=/obj/cult_viewpoint/proc/become_mask + + +/obj/cult_viewpoint/proc/mask_is_missing() + for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) + if (!viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) + viewpoint.verbs+=/obj/cult_viewpoint/proc/become_mask + + +/proc/getCultViewpoint(var/mob/currentMob) + for(var/obj/cult_viewpoint/currentView in currentMob) + return currentView + return FALSE + + +#undef FAVOR_PLEASED +#undef FAVOR_INDIFFERENT +#undef FAVOR_DISPLEASED \ No newline at end of file diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index bb5ed93e2a..e5101faf89 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -133,7 +133,71 @@ . = O del(src) + +/mob/living/carbon/human/make_into_mask(var/should_gib = 0) + for(var/t in organs) + del(t) + return ..(should_gib) + +/mob/proc/make_into_mask(var/should_gib = 0, var/should_remove_items = 0) + + if (should_gib) + var/mob/spirit/mask/new_spirit = new() + + if(mind) + new_spirit.mind = mind + new_spirit.mind.assigned_role = "Mask" + new_spirit.mind.original = new_spirit + + new_spirit.key = key + new_spirit.loc=loc + + spawn(0) + src.gib() // gib the body + + new_spirit.set_name() + + // let spirits identify cultists + if(ticker.mode) + ticker.mode.reset_cult_icons_for_spirit(new_spirit) + + return new_spirit + + else + if(should_remove_items) + for(var/obj/item/W in src) + drop_from_inventory(W) + + icon = null + invisibility = 101 + + var/mob/spirit/mask/new_spirit = new() + + if(mind) + new_spirit.mind = mind + new_spirit.mind.assigned_role = "Mask" + new_spirit.mind.original = new_spirit + + new_spirit.key = key + new_spirit.loc=loc + + spawn(0)//To prevent the proc from returning null. + src.visible_message( \ + "[src] disappears into the shadows, never to be seen again.", \ + "You disappear into the shadows, never to be seen again.", \ + "You hear strange noise, you can't quite place it.") + del(src) + + new_spirit.set_name() + + // let spirits identify cultists + if(ticker.mode) + ticker.mode.reset_cult_icons_for_spirit(new_spirit) + + return new_spirit + + //human -> robot /mob/living/carbon/human/proc/Robotize() if (monkeyizing) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index fda3fb64e2..9a0b8f14cf 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -63,6 +63,7 @@ h1.alert, h2.alert {color: #000000;} .skrell {color: #00CED1;} .soghun {color: #228B22;} .vox {color: #AA00AA;} +.cultspeech {color: #B20000;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .interface {color: #330033;} From 923a969eaf27bcd99d8abf191668cc4ffdef6e3a Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Sun, 17 Nov 2013 16:25:20 -0500 Subject: [PATCH 18/70] - removing unnecessary planning document --- code/datums/visibility_networks/NEXT THING.txt | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 code/datums/visibility_networks/NEXT THING.txt diff --git a/code/datums/visibility_networks/NEXT THING.txt b/code/datums/visibility_networks/NEXT THING.txt deleted file mode 100644 index 0d2cd53750..0000000000 --- a/code/datums/visibility_networks/NEXT THING.txt +++ /dev/null @@ -1,7 +0,0 @@ -Next Thing To Do - -- sprites! -- follow! - - can we hide inside cultists? -- cult names! -- powers \ No newline at end of file From 457835db38d50ef8b5ee001b134d22c73a0d3580 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 17 Nov 2013 18:16:42 -0600 Subject: [PATCH 19/70] Admin request: Jobbans for IA and ERT --- code/modules/admin/topic.dm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index f1c911488a..6f25d8b05a 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -510,6 +510,12 @@ if(counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + + if(jobban_isbanned(M, "Internal Affairs Agent")) + jobs += "Internal Affairs Agent" + else + jobs += "Internal Affairs Agent" + jobs += "" //Non-Human (Green) @@ -583,6 +589,13 @@ else jobs += "[replacetext("Wizard", " ", " ")]" + //ERT + if(jobban_isbanned(M, "Emergency Response Team") || isbanned_dept) + jobs += "Emergency Response Team" + else + jobs += "Emergency Response Team" + + /* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment if(jobban_isbanned(M, "malf AI") || isbanned_dept) jobs += "[replacetext("Malf AI", " ", " ")]" @@ -2594,4 +2607,4 @@ show_player_info(ckey) if("list") PlayerNotesPage(text2num(href_list["index"])) - return \ No newline at end of file + return From 513953b92716f6ec71cfa0e8a6067c9b81f2e7d0 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Tue, 19 Nov 2013 01:10:59 -0600 Subject: [PATCH 20/70] Cleanup: Removed unneeded variables and a debug variable. --- code/modules/mob/dead/observer/observer.dm | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 29148682b4..a54b8ad96a 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -10,7 +10,6 @@ blinded = 0 anchored = 1 // don't get pushed around invisibility = INVISIBILITY_OBSERVER - var/tempdir = 1 var/can_reenter_corpse var/datum/hud/living/carbon/hud = null // hud var/bootime = 0 @@ -83,39 +82,37 @@ Works together with spawning an observer, noted above. for(var/image/hud in client.images) if(copytext(hud.icon_state,1,4) == "hud") client.images.Remove(hud) - var/mob/dead/observer/M = src - if(M.antagHUD) + if(antagHUD) var/list/target_list = list() - for(var/mob/living/target in oview(M)) + for(var/mob/living/target in oview(src)) if( target.mind&&(target.mind.special_role||issilicon(target)) ) target_list += target if(target_list.len) - M.assess_targets(target_list, M) + assess_targets(target_list, src) -/mob/dead/proc/assess_targets(list/target_list, mob/living/carbon/U) - var/mob/dead/observer/M = src +/mob/dead/proc/assess_targets(list/target_list, mob/dead/observer/U) var/icon/tempHud = 'icons/mob/hud.dmi' for(var/mob/living/target in target_list) if(iscarbon(target)) switch(target.mind.special_role) if("traitor","Syndicate") - U.client.images += image(tempHud,target,"hudsyndicate",,M.tempdir) + U.client.images += image(tempHud,target,"hudsyndicate") if("Revolutionary") - U.client.images += image(tempHud,target,"hudrevolutionary",,M.tempdir) + U.client.images += image(tempHud,target,"hudrevolutionary") if("Head Revolutionary") - U.client.images += image(tempHud,target,"hudheadrevolutionary",,M.tempdir) + U.client.images += image(tempHud,target,"hudheadrevolutionary") if("Cultist") - U.client.images += image(tempHud,target,"hudcultist",,M.tempdir) + U.client.images += image(tempHud,target,"hudcultist") if("Changeling") - U.client.images += image(tempHud,target,"hudchangeling",,M.tempdir) + U.client.images += image(tempHud,target,"hudchangeling") if("Wizard","Fake Wizard") - U.client.images += image(tempHud,target,"hudwizard",,M.tempdir) + U.client.images += image(tempHud,target,"hudwizard") if("Hunter","Sentinel","Drone","Queen") - U.client.images += image(tempHud,target,"hudalien",,M.tempdir) + U.client.images += image(tempHud,target,"hudalien") if("Death Commando") - U.client.images += image(tempHud,target,"huddeathsquad",,M.tempdir) + U.client.images += image(tempHud,target,"huddeathsquad") if("Ninja") U.client.images += image(tempHud,target,"hudninja") else//If we don't know what role they have but they have one. From 7be20c098614d02fbdb2332d4a11a39b5bd7b04e Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Tue, 19 Nov 2013 05:36:40 -0600 Subject: [PATCH 21/70] AntagHUD's player verbs will now disappear from the players view if disabled by admin or by configuration options. Poor guys won't know what they are missing! Admins/Mods will still have the verb viewable. --- code/modules/admin/verbs/randomverbs.dm | 8 ++++++-- code/modules/mob/dead/observer/observer.dm | 3 +++ code/modules/mob/new_player/new_player.dm | 4 ++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 812a4b51d6..1f5b3181bf 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -290,15 +290,19 @@ Ccomp's first proc. var/action="" if(config.antag_hud_allowed) for(var/mob/dead/observer/g in get_ghosts()) + if(!g.client.holder) //Remove the verb from non-admin ghosts + g.verbs -= /mob/dead/observer/verb/toggle_antagHUD if(g.antagHUD) - g.antagHUD = 0 // Disable it on those that have it enabled - g.has_enabled_antagHUD = 2 // We'll allow them to respawn + g.antagHUD = 0 // Disable it on those that have it enabled + g.has_enabled_antagHUD = 2 // We'll allow them to respawn g << "\red The Administrator has disabled AntagHUD " config.antag_hud_allowed = 0 src << "\red AntagHUD usage has been disabled" action = "disabled" else for(var/mob/dead/observer/g in get_ghosts()) + if(!g.client.holder) // Add the verb back for all non-admin ghosts + g.verbs += /mob/dead/observer/verb/toggle_antagHUD g << "\blue The Administrator has enabled AntagHUD " // Notify all observers they can now use AntagHUD config.antag_hud_allowed = 1 action = "enabled" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index a54b8ad96a..c74a0e0fcc 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -25,6 +25,7 @@ see_invisible = SEE_INVISIBLE_OBSERVER see_in_dark = 100 verbs += /mob/dead/observer/proc/dead_tele + stat = DEAD var/turf/T @@ -132,6 +133,8 @@ Works together with spawning an observer, noted above. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.timeofdeath //BS12 EDIT ghost.key = key + if(!ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! return ghost /* diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 77b4dbd884..6237803638 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -114,6 +114,7 @@ spawning = 1 src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo + observer.started_as_observer = 1 close_spawn_windows() var/obj/O = locate("landmark*Observer-Start") @@ -129,8 +130,11 @@ client.prefs.real_name = random_name(client.prefs.gender) observer.real_name = client.prefs.real_name observer.name = observer.real_name + if(!client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + observer.verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! observer.key = key del(src) + return 1 if(href_list["late_join"]) From 46218e71f182a47ea70443c277144509ff7dc879 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Tue, 19 Nov 2013 05:44:39 -0600 Subject: [PATCH 22/70] Bugfix: AntagHUD, need to remove verbs from correct object --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c74a0e0fcc..086e7949db 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -134,7 +134,7 @@ Works together with spawning an observer, noted above. ghost.timeofdeath = src.timeofdeath //BS12 EDIT ghost.key = key if(!ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. - verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! + ghost.verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! return ghost /* From c13f57613cd7b700294fc532fb255776653cf9fa Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 19 Nov 2013 19:23:51 -0800 Subject: [PATCH 23/70] Changes Telescience to Projectile Trajectory! --- baystation12.dme | 1 + code/__HELPERS/game.dm | 38 ++ code/modules/research/designs.dm | 10 + code/modules/telesci/bscrystal.dm | 38 ++ code/modules/telesci/gps.dm | 26 +- code/modules/telesci/telepad.dm | 37 +- code/modules/telesci/telesci_computer.dm | 477 ++++++++++++----------- icons/obj/telescience.dmi | Bin 2080 -> 2171 bytes 8 files changed, 363 insertions(+), 264 deletions(-) create mode 100644 code/modules/telesci/bscrystal.dm diff --git a/baystation12.dme b/baystation12.dme index 35a7237aa1..ab063aadea 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1241,6 +1241,7 @@ #include "code\modules\surgery\ribcage.dm" #include "code\modules\surgery\robolimbs.dm" #include "code\modules\surgery\surgery.dm" +#include "code\modules\telesci\bscrystal.dm" #include "code\modules\telesci\gps.dm" #include "code\modules\telesci\telepad.dm" #include "code\modules\telesci\telesci_computer.dm" diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 0b535a44c3..8da220bf67 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -327,3 +327,41 @@ proc/isInSight(var/atom/A, var/atom/B) spawn(delay) for(var/client/C in group) C.screen -= O + +datum/projectile_data + var/src_x + var/src_y + var/time + var/distance + var/power_x + var/power_y + var/dest_x + var/dest_y + +/datum/projectile_data/New(var/src_x, var/src_y, var/time, var/distance, \ + var/power_x, var/power_y, var/dest_x, var/dest_y) + src.src_x = src_x + src.src_y = src_y + src.time = time + src.distance = distance + src.power_x = power_x + src.power_y = power_y + src.dest_x = dest_x + src.dest_y = dest_y + +/proc/projectile_trajectory(var/src_x, var/src_y, var/rotation, var/angle, var/power) + + // returns the destination (Vx,y) that a projectile shot at [src_x], [src_y], with an angle of [angle], + // rotated at [rotation] and with the power of [power] + // Thanks to VistaPOWA for this function + + var/power_x = power * cos(angle) + var/power_y = power * sin(angle) + var/time = 2* power_y / 10 //10 = g + + var/distance = time * power_x + + var/dest_x = src_x + distance*sin(rotation); + var/dest_y = src_y + distance*cos(rotation); + + return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index e861826e0f..f2bd04a785 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1575,6 +1575,16 @@ datum/design/bag_holding reliability_base = 80 build_path = "/obj/item/weapon/storage/backpack/holding" +datum/design/bluespace_crystal + name = "Artificial Bluespace Crystal" + desc = "A small blue crystal with mystical properties." + id = "bluespace_crystal" + req_tech = list("bluespace" = 5, "materials" = 7) + build_type = PROTOLATHE + materials = list("$gold" = 1500, "$diamond" = 3000, "$plasma" = 1500) + reliability_base = 100 + build_path = "/obj/item/bluespace_crystal/artificial" + ///////////////////////////////////////// /////////////////HUDs//////////////////// ///////////////////////////////////////// diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm new file mode 100644 index 0000000000..d9e968f4da --- /dev/null +++ b/code/modules/telesci/bscrystal.dm @@ -0,0 +1,38 @@ +// Bluespace crystals, used in telescience and when crushed it will blink you to a random turf. + +/obj/item/bluespace_crystal + name = "bluespace crystal" + desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate." + icon = 'icons/obj/telescience.dmi' + icon_state = "bluespace_crystal" + w_class = 1 + origin_tech = "bluespace=4;materials=3" + var/blink_range = 8 // The teleport range when crushed/thrown at someone. + +/obj/item/bluespace_crystal/New() + ..() + pixel_x = rand(-5, 5) + pixel_y = rand(-5, 5) + +/obj/item/bluespace_crystal/attack_self(var/mob/user) + blink_mob(user) + user.drop_item() + user.visible_message("[user] crushes the [src]!") + del(src) + +/obj/item/bluespace_crystal/proc/blink_mob(var/mob/living/L) + do_teleport(L, get_turf(L), blink_range, asoundin = 'sound/effects/phasein.ogg') + +/obj/item/bluespace_crystal/throw_impact(atom/hit_atom) + ..() + if(isliving(hit_atom)) + blink_mob(hit_atom) + del(src) + +// Artifical bluespace crystal, doesn't give you much research. + +/obj/item/bluespace_crystal/artificial + name = "artificial bluespace crystal" + desc = "An artificially made bluespace crystal, it looks delicate." + origin_tech = "bluespace=2" + blink_range = 4 // Not as good as the organic stuff! \ No newline at end of file diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm index 79897c7e6e..3850d439d2 100644 --- a/code/modules/telesci/gps.dm +++ b/code/modules/telesci/gps.dm @@ -1,5 +1,6 @@ +var/list/GPS_list = list() /obj/item/device/gps - name = "Global Positioning System" + name = "global positioning system" desc = "Helping lost spacemen find their way through the planets since 2016." icon = 'icons/obj/telescience.dmi' icon_state = "gps-c" @@ -11,9 +12,15 @@ var/emped = 0 /obj/item/device/gps/New() - name = "Global Positioning System ([gpstag])" + ..() + GPS_list.Add(src) + name = "global positioning system ([gpstag])" overlays += "working" +/obj/item/device/gps/Del() + GPS_list.Remove(src) + ..() + /obj/item/device/gps/emp_act(severity) emped = 1 overlays -= "working" @@ -24,6 +31,7 @@ overlays += "working" /obj/item/device/gps/attack_self(mob/user as mob) + var/obj/item/device/gps/t = "" if(emped) t += "ERROR" @@ -31,7 +39,7 @@ t += "
Set Tag " t += "
Tag: [gpstag]" - for(var/obj/item/device/gps/G in world) + for(var/obj/item/device/gps/G in GPS_list) var/turf/pos = get_turf(G) var/area/gps_area = get_area(G) var/tracked_gpstag = G.gpstag @@ -46,16 +54,14 @@ popup.open() /obj/item/device/gps/Topic(href, href_list) + ..() if(href_list["tag"] ) var/a = input("Please enter desired tag.", name, gpstag) as text - a = copytext(sanitize(a), 1, 20) - if(length(a) != 4) - usr << "\blue The tag must be four letters long!" - return - else + a = uppertext(copytext(sanitize(a), 1, 5)) + if(src.loc == usr) gpstag = a - name = "Global Positioning System ([gpstag])" - return + name = "global positioning system ([gpstag])" + attack_self(usr) /obj/item/device/gps/science icon_state = "gps-s" diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index 1ebc1a3572..c54d079afd 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -8,10 +8,6 @@ use_power = 1 idle_power_usage = 200 active_power_usage = 5000 -/obj/machinery/telepad/New() - ..() -/obj/machinery/telepad/Del() - ..() //CARGO TELEPAD// /obj/machinery/telepad_cargo name = "cargo telepad" @@ -23,39 +19,35 @@ idle_power_usage = 20 active_power_usage = 500 var/stage = 0 -/obj/machinery/telepad_cargo/New() - ..() -/obj/machinery/telepad_cargo/Del() - ..() /obj/machinery/telepad_cargo/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) anchored = 0 playsound(src, 'sound/items/Ratchet.ogg', 50, 1) if(anchored) anchored = 0 - user << "\blue The [src] can now be moved." + user << " The [src] can now be moved." else if(!anchored) anchored = 1 - user << "\blue The [src] is now secured." + user << " The [src] is now secured." if(istype(W, /obj/item/weapon/screwdriver)) if(stage == 0) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You unscrew the telepad's tracking beacon." + user << " You unscrew the telepad's tracking beacon." stage = 1 else if(stage == 1) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You screw in the telepad's tracking beacon." + user << " You screw in the telepad's tracking beacon." stage = 0 if(istype(W, /obj/item/weapon/weldingtool) && stage == 1) playsound(src, 'sound/items/Welder.ogg', 50, 1) - user << "\blue You disassemble the telepad." + user << " You disassemble the telepad." new /obj/item/stack/sheet/metal(get_turf(src)) new /obj/item/stack/sheet/glass(get_turf(src)) del(src) ///TELEPAD CALLER/// /obj/item/device/telepad_beacon - name = "Telepad Beacon" + name = "telepad beacon" desc = "Use to warp in a cargo telepad." icon = 'icons/obj/radio.dmi' icon_state = "beacon" @@ -64,7 +56,7 @@ /obj/item/device/telepad_beacon/attack_self(mob/user as mob) if(user) - user << "\blue Locked In" + user << " Locked In" new /obj/machinery/telepad_cargo(user.loc) playsound(src, 'sound/effects/pop.ogg', 100, 1, 1) del(src) @@ -76,9 +68,6 @@ desc = "Use this to send crates and closets to cargo telepads." icon = 'icons/obj/telescience.dmi' icon_state = "rcs" - opacity = 0 - density = 0 - anchored = 0.0 flags = FPRINT | TABLEPASS| CONDUCT force = 10.0 throwforce = 10.0 @@ -94,18 +83,20 @@ var/teleporting = 0 /obj/item/weapon/rcs/New() + ..() processing_objects.Add(src) +/obj/item/weapon/rcs/examine() desc = "Use this to send crates and closets to cargo telepads. There are [rcharges] charges left." + ..() /obj/item/weapon/rcs/Del() processing_objects.Remove(src) - + ..() /obj/item/weapon/rcs/process() if(rcharges > 10) rcharges = 10 if(last_charge == 0) rcharges++ - desc = "Use this to send crates and closets to cargo telepads. There are [rcharges] charges left." last_charge = 30 else last_charge-- @@ -115,11 +106,11 @@ if(mode == 0) mode = 1 playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) - user << "\red The telepad locator has become uncalibrated." + user << " The telepad locator has become uncalibrated." else mode = 0 playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) - user << "\blue You calibrate the telepad locator." + user << " You calibrate the telepad locator." /obj/item/weapon/rcs/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/card/emag) && emagged == 0) @@ -127,5 +118,5 @@ var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() - user << "\red You emag the RCS. Click on it to toggle between modes." + user << " You emag the RCS. Click on it to toggle between modes." return \ No newline at end of file diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index 471473ed2e..85232a4106 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -1,20 +1,52 @@ /obj/machinery/computer/telescience - name = "Telepad Control Console" + name = "\improper Telepad Control Console" desc = "Used to teleport objects to and from the telescience telepad." icon_state = "teleport" + var/sending = 1 + var/obj/machinery/telepad/telepad = null + var/temp_msg = "Telescience control console initialized.
Welcome." // VARIABLES // var/teles_left // How many teleports left until it becomes uncalibrated - var/x_off // X offset - var/y_off // Y offset - var/x_co // X coordinate - var/y_co // Y coordinate - var/z_co // Z coordinate + var/datum/projectile_data/last_tele_data = null + var/z_co = 1 + var/power_off + var/rotation_off + var/angle_off + + var/rotation = 0 + var/angle = 45 + var/power + + // Based on the power used + var/teleport_cooldown = 0 + var/list/power_options = list(5, 10, 20, 25, 30, 40, 50, 80, 100) // every index requires a bluespace crystal + var/teleporting = 0 + var/starting_crystals = 3 + var/list/crystals = list() /obj/machinery/computer/telescience/New() - teles_left = rand(8,12) - x_off = rand(-10,10) - y_off = rand(-10,10) + ..() + link_telepad() + recalibrate() + +/obj/machinery/computer/telescience/Del() + eject() + ..() + +/obj/machinery/computer/telescience/examine() + ..() + usr << "There are [crystals.len] bluespace crystals in the crystal ports." + +/obj/machinery/computer/telescience/initialize() + ..() + link_telepad() + for(var/i = 1; i <= starting_crystals; i++) + crystals += new /obj/item/bluespace_crystal/artificial(null) // starting crystals + power = power_options[1] + +/obj/machinery/computer/telescience/proc/link_telepad() + telepad = locate() in range(src, 7) /obj/machinery/computer/telescience/update_icon() if(stat & BROKEN) @@ -28,267 +60,250 @@ stat &= ~NOPOWER /obj/machinery/computer/telescience/attack_paw(mob/user) - usr << "You are too primitive to use this computer." + user << "You are too primitive to use this computer." return +/obj/machinery/computer/telescience/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/bluespace_crystal)) + if(crystals.len >= power_options.len) + user << "There are not enough crystal ports." + return + user.drop_item() + crystals += W + W.loc = null + user.visible_message("[user] inserts a [W] into the [src]'s crystal port.") + else + ..() + /obj/machinery/computer/telescience/attack_ai(mob/user) - src.attack_hand() + src.attack_hand(user) /obj/machinery/computer/telescience/attack_hand(mob/user) if(..()) return - if(stat & (NOPOWER|BROKEN)) - return - var/t = "" - t += "Set X" - t += "Set Y" - t += "Set Z" - t += "

Current set coordinates:" - t += "([x_co], [y_co], [z_co])" - t += "

Send" + interact(user) + +/obj/machinery/computer/telescience/interact(mob/user) + + var/t = "
[temp_msg]

" + t += "Set Bearing" + t += "
[rotation]°
" + t += "Set Elevation" + t += "
[angle]°
" + t += "Set Power" + t += "
" + + for(var/i = 1; i <= power_options.len; i++) + if(crystals.len < i) + t += "[power_options[i]]" + continue + if(power == power_options[i]) + t += "[power_options[i]]" + continue + t += "[power_options[i]]" + + t += "
" + t += "Set Sector" + t += "
[z_co ? z_co : "NULL"]
" + + t += "
Send" t += " Receive" - t += "

Recalibrate" - var/datum/browser/popup = new(user, "telesci", name, 640, 480) + t += "
Recalibrate Crystals Eject Crystals" + + // Information about the last teleport + t += "
" + if(!last_tele_data) + t += "No teleport data found." + else + t += "Source Location: ([last_tele_data.src_x], [last_tele_data.src_y])
" + //t += "Distance: [round(last_tele_data.distance, 0.1)]m
" + t += "Time: [round(last_tele_data.time, 0.1)] secs
" + t += "
" + + var/datum/browser/popup = new(user, "telesci", name, 300, 500) popup.set_content(t) popup.open() return + /obj/machinery/computer/telescience/proc/sparks() - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) + if(telepad) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, L) + s.set_up(5, 1, get_turf(telepad)) s.start() + else + return + /obj/machinery/computer/telescience/proc/telefail() - if(prob(95)) - sparks() - for(var/mob/O in hearers(src, null)) - O.show_message("\red The telepad weakly fizzles.", 2) + sparks() + visible_message("The telepad weakly fizzles.") + return + +/obj/machinery/computer/telescience/proc/doteleport(mob/user) + + if(teleport_cooldown > world.time) + temp_msg = "Telepad is recharging power.
Please wait [round((teleport_cooldown - world.time) / 10)] seconds." return - if(prob(5)) - // Irradiate everyone in telescience! - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) - sparks() - for(var/mob/living/carbon/human/M in viewers(L, null)) - M.apply_effect((rand(10, 20)), IRRADIATE, 0) - M << "\red You feel strange." + + if(teleporting) + temp_msg = "Telepad is in use.
Please wait." return - if(prob(1)) - // AI CALL SHUTTLE I SAW RUNE, SUPER LOW CHANCE, CAN HARDLY HAPPEN - for(var/mob/living/carbon/O in viewers(src, null)) - var/datum/game_mode/cult/temp = new - O.show_message("\red The telepad flashes with a strange light, and you have a sudden surge of allegiance toward the true dark one!", 2) - O.mind.make_Cultist() - temp.grant_runeword(O) - sparks() - return - if(prob(1)) - // VIVA LA FUCKING REVOLUTION BITCHES, SUPER LOW CHANCE, CAN HARDLY HAPPEN - for(var/mob/living/carbon/O in viewers(src, null)) - O.show_message("\red The telepad flashes with a strange light, and you see all kind of images flash through your mind, of murderous things Nanotrasen has done, and you decide to rebel!", 2) - O.mind.make_Rev() - sparks() - return - if(prob(1)) - // The OH SHIT FUCK GOD DAMN IT LYNCH THE SCIENTISTS event. - for(var/mob/living/carbon/O in viewers(src, null)) - O.show_message("\red The telepad changes colors rapidly, and opens a portal, and you see what your mind seems to think is the very threads that hold the pattern of the universe together, and a eerie sense of paranoia creeps into you.", 2) - spacevine_infestation() - sparks() - return - if(prob(5)) - // HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONK - for(var/mob/living/carbon/M in hearers(src, null)) - M << sound('sound/items/AirHorn.ogg') - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs)) - continue - M << "HONK" - M.sleeping = 0 - M.stuttering += 20 - M.ear_deaf += 30 - M.Weaken(3) - if(prob(30)) - M.Stun(10) - M.Paralyse(4) + + if(telepad) + + var/truePower = Clamp(power + power_off, 1, 1000) + var/trueRotation = rotation + rotation_off + var/trueAngle = Clamp(angle + angle_off, 1, 90) + + var/datum/projectile_data/proj_data = projectile_trajectory(telepad.x, telepad.y, trueRotation, trueAngle, truePower) + last_tele_data = proj_data + + var/trueX = Clamp(round(proj_data.dest_x, 1), 1, world.maxx) + var/trueY = Clamp(round(proj_data.dest_y, 1), 1, world.maxy) + var/spawn_time = round(proj_data.time) * 10 + + var/turf/target = locate(trueX, trueY, z_co) + var/area/A = get_area(target) + flick("pad-beam", telepad) + + if(spawn_time > 15) // 1.5 seconds + playsound(telepad.loc, 'sound/weapons/flash.ogg', 25, 1) + // Wait depending on the time the projectile took to get there + teleporting = 1 + temp_msg = "Powering up bluespace crystals.
Please wait." + + + spawn(round(proj_data.time) * 10) // in seconds + if(!telepad) + return + if(telepad.stat & NOPOWER) + return + teleporting = 0 + teleport_cooldown = world.time + (power * 2) + teles_left -= 1 + + // use a lot of power + use_power(power * 10) + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, get_turf(telepad)) + s.start() + + temp_msg = "Teleport successful.
" + if(teles_left < 10) + temp_msg += "
Calibration required soon." else - M.make_jittery(500) - sparks() - return - if(prob(1)) - // They did the mash! (They did the monster mash!) The monster mash! (It was a graveyard smash!) - sparks() - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) - var/blocked = list(/mob/living/simple_animal/hostile, - /mob/living/simple_animal/hostile/alien/queen/large, - /mob/living/simple_animal/hostile/retaliate, - /mob/living/simple_animal/hostile/retaliate/clown, - /mob/living/simple_animal/hostile/giant_spider/nurse) - var/list/hostiles = typesof(/mob/living/simple_animal/hostile) - blocked - playsound(L, 'sound/effects/phasein.ogg', 100, 1) - for(var/mob/living/carbon/human/M in viewers(L, null)) - flick("e_flash", M.flash) - var/chosen = pick(hostiles) - var/mob/living/simple_animal/hostile/H = new chosen - H.loc = L - return - return - return + temp_msg += "Data printed below." + investigate_log("[key_name(usr)]/[user] has teleported with Telescience at [trueX],[trueY],[z_co], in [A ? A.name : "null area"].","telesci") -/obj/machinery/computer/telescience/proc/dosend() - var/trueX = (x_co + x_off) - var/trueY = (y_co + y_off) - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) - var/target = locate(trueX, trueY, z_co) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, L) - s.start() - flick("pad-beam", E) - usr << "\blue Teleport successful." - var/sparks = get_turf(target) - var/datum/effect/effect/system/spark_spread/y = new /datum/effect/effect/system/spark_spread - y.set_up(5, 1, sparks) - y.start() - for(var/obj/item/OI in L) - do_teleport(OI, target, 0) - for(var/obj/structure/closet/OC in L) - do_teleport(OC, target, 0) - for(var/mob/living/carbon/MO in L) - do_teleport(MO, target, 0) - for(var/mob/living/simple_animal/SA in L) - do_teleport(SA, target, 0) - return - return + var/sparks = get_turf(target) + var/datum/effect/effect/system/spark_spread/y = new /datum/effect/effect/system/spark_spread + y.set_up(5, 1, sparks) + y.start() -/obj/machinery/computer/telescience/proc/doreceive() - var/trueX = (x_co + x_off) - var/trueY = (y_co + y_off) - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) - var/T = locate(trueX, trueY, z_co) - var/G = get_turf(T) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, L) - s.start() - flick("pad-beam", E) - usr << "\blue Teleport successful." - var/sparks = get_turf(T) - var/datum/effect/effect/system/spark_spread/y = new /datum/effect/effect/system/spark_spread - y.set_up(5, 1, sparks) - y.start() - for(var/obj/item/ROI in G) - do_teleport(ROI, E, 0) - for(var/obj/structure/closet/ROC in G) - do_teleport(ROC, E, 0) - for(var/mob/living/carbon/RMO in G) - do_teleport(RMO, E, 0) - for(var/mob/living/simple_animal/RSA in G) - do_teleport(RSA, E, 0) - return - return + var/turf/source = target + var/turf/dest = get_turf(telepad) + if(sending) + source = dest + dest = target -/obj/machinery/computer/telescience/proc/telesend() - if(x_co == "") - usr << "\red Error: set coordinates." + flick("pad-beam", telepad) + playsound(telepad.loc, 'sound/weapons/emitter2.ogg', 25, 1) + for(var/atom/movable/ROI in source) + // if is anchored, don't let through + if(ROI.anchored) + if(isliving(ROI)) + var/mob/living/L = ROI + if(L.buckled) + // TP people on office chairs + if(L.buckled.anchored) + continue + else + continue + else if(!isobserver(ROI)) + continue + do_teleport(ROI, dest) + updateDialog() + +/obj/machinery/computer/telescience/proc/teleport(mob/user) + if(rotation == null || angle == null || z_co == null) + temp_msg = "ERROR!
Set a angle, rotation and sector." return - if(y_co == "") - usr << "\red Error: set coordinates." - return - if(z_co == "") - usr << "\red Error: set coordinates." - return - if(x_co < 1 || x_co > 255) + if(power <= 0) telefail() - usr << "\red Error: X is less than 11 or greater than 245." + temp_msg = "ERROR!
No power selected!" return - if(y_co < 1 || y_co > 255) + if(angle < 1 || angle > 90) telefail() - usr << "\red Error: Y is less than 11 or greater than 245." + temp_msg = "ERROR!
Elevation is less than 1 or greater than 90." return if(z_co == 2 || z_co < 1 || z_co > 6) telefail() - usr << "\red Error: Z is less than 1, greater than 6, or equal to 2." + temp_msg = "ERROR! Sector is less than 1,
greater than 6, or equal to 2." return if(teles_left > 0) - teles_left -= 1 - dosend() + doteleport(user) else - dosend() + telefail() + temp_msg = "ERROR!
Calibration required." return return -/obj/machinery/computer/telescience/proc/telereceive() - // basically the same thing - if(x_co == "") - usr << "\red Error: set coordinates." - return - if(y_co == "") - usr << "\red Error: set coordinates." - return - if(z_co == "") - usr << "\red Error: set coordinates." - return - if(x_co < 1 || x_co > 255) - telefail() - usr << "\red Error: X is less than 11 or greater than 200." - return - if(y_co < 1 || y_co > 255) - telefail() - usr << "\red Error: Y is less than 11 or greater than 200." - return - if(z_co == 2 || z_co < 1 || z_co > 6) - telefail() - usr << "\red Error: Z is less than 1, greater than 6, or equal to 2." - return - if(teles_left > 0) - teles_left -= 1 - doreceive() - else - if(prob(35)) - doreceive() - else - telefail() - return - return +/obj/machinery/computer/telescience/proc/eject() + for(var/obj/item/I in crystals) + I.loc = src.loc + crystals -= I + power = 0 /obj/machinery/computer/telescience/Topic(href, href_list) if(..()) return - if(href_list["setx"]) - var/a = input("Please input desired X coordinate.", name, x_co) as num - a = copytext(sanitize(a), 1, 20) - x_co = a - x_co = text2num(x_co) - return - if(href_list["sety"]) - var/b = input("Please input desired Y coordinate.", name, y_co) as num - b = copytext(sanitize(b), 1, 20) - y_co = b - y_co = text2num(y_co) - return + if(href_list["setrotation"]) + var/new_rot = input("Please input desired bearing in degrees.", name, rotation) as num + if(..()) // Check after we input a value, as they could've moved after they entered something + return + rotation = Clamp(new_rot, -900, 900) + rotation = round(rotation, 0.01) + + if(href_list["setangle"]) + var/new_angle = input("Please input desired elevation in degrees.", name, angle) as num + if(..()) + return + angle = Clamp(round(new_angle, 0.1), 1, 9999) + + if(href_list["setpower"]) + var/index = href_list["setpower"] + index = text2num(index) + if(index != null && power_options[index]) + if(crystals.len >= index) + power = power_options[index] + if(href_list["setz"]) - var/c = input("Please input desired Z coordinate.", name, z_co) as num - c = copytext(sanitize(c), 1, 20) - z_co = c - z_co = text2num(z_co) - return + var/new_z = input("Please input desired sector.", name, z_co) as num + if(..()) + return + z_co = Clamp(round(new_z), 1, 10) + if(href_list["send"]) - telesend() - return + sending = 1 + teleport(usr) + if(href_list["receive"]) - telereceive() - return + sending = 0 + teleport(usr) + if(href_list["recal"]) - teles_left = rand(9,12) - x_off = rand(-10,10) - y_off = rand(-10,10) - for(var/obj/machinery/telepad/E in machines) - var/L = get_turf(E) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, L) - s.start() - usr << "\blue Calibration successful." - return \ No newline at end of file + recalibrate() + sparks() + temp_msg = "NOTICE:
Calibration successful." + + if(href_list["eject"]) + eject() + temp_msg = "NOTICE:
Bluespace crystals ejected." + + updateDialog() + +/obj/machinery/computer/telescience/proc/recalibrate() + teles_left = rand(30, 40) + angle_off = rand(-25, 25) + power_off = rand(-4, 0) + rotation_off = rand(-10, 10) \ No newline at end of file diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi index 1f3344f2e489b37a9af7af606c3fbc67b99937b7..4e8251beac3fdf48bf7e083c7ec4e82cea642f1c 100644 GIT binary patch delta 1817 zcmV+!2j=*o5c?327Y@J(0{{R3WdfWv0003su_Y$~C&0kKK5zeKng5y0|5K^|0A~M~ zp4vhH0004WQchCn$AirQryFx>G zq(upTZ;K{Cgpj%HPG%-MO{1a-{&dCjbBj8A(JzRCt{2nu%81Mihp%v~^ok#A1oiCatoOvV-d-A*oYp z473dtT3R<72xu2w5lhvm_(^v)o@ZqXSnM#`R)eb9*<9X(A3x z{wWYkFCzvD4j!;9tpn4<9AG09l)6$(S0a-E6EScDqhs-pIs%h#ngWVRbYl~16a)Hu zjIIJR@pa8uhG}WmF%M5S1g4lqxdb-?R{Ad{Y?ok0Q%Dh^e;M25W%9Mg z}kw*J*fW&)KOfqxC{=~h&KE|LTq6RAj_O6s>=?+)k|sCPW~wyOR#lPv@te|}e` z-*cS%pgn;7z5{29`VW!zvHoQ`6mZ$*EqP0ie0KE26^VWq(I4pa@0T7uMCxPx%XC%( zPI(Df<$(@Yr1}h^&m#I9qGSC_bzXvBgxThZpA`BuqTfSw3(>Lu<+>4EV>rQ=>!uo* zY~5hjJa2iKi_6QN$G%IYi$co`e<8+7Ou8O-vMjw`7MS4;XfzoOwE?cH#I1UZ>#gDpG~0}((m=EQnCS|2t1jy6e+=kzs}`1@ z*XpAfXg_H`&R}5V{QU3>4*vR5Uw^a_c#>%Zg8aMUJ?aSg`HG{_!9al8KvTB}z(9c9 z0FT=Ck^DU9>i2v|eOSZ|cnUQ%i&zUR;ubuGTEmNYkbn29z9v7vgXmD-Vfs!=9~i)% zLYM*RQz*>8KlPq@3;qHef88Bre%_bn?;VNm4D$Dpf##1L_^784WGGPN@Inc(vzT-*No(AK+ks_20>0AgDiNK;+;3h;)7)W=_?Q z!_MP+kh+gG03UbQfS5v!j8mvJWFT999?#zk0}Zi=$2HIri#Tl{f1ZE$k^KBvdgLJE zFQZ!_LrRo?hnb$v=OeH~Hu9^QQFa z@6sC}2!bHW49lr#l8cki?$5h?FDtttMF%n_yWMW5)9H4*B{cx?XEvbC&*!c0cK5ix zr#67L-|n<~%Iq-ce?5>p8odJzAbL-!?{-D@S!qD%%J%U9S^qkNnBHS#GSJf-X!r0D zPzJ#6a1R-QUgi-{-v9&4&*!a!fdI7ur2T?{MZ5=3p*_tao@_>V3QaaJg@XKli46q# z|MD6r`xM#}i+Hc321@_SC_xYeK@bE%5ClOKNTKfsu0u!ifA59sy&m#@0Lj1SuJ?MG z>IeDvOabce5OxQ%j!?nx2eRt~K@bE%5ClOG1VIo4K@chS_xBGD4i1r0h3EH``r$9X zG7b)ZJLH?9K9*g^)8|-rTl?SVn(Xt7qvPLCPX9PQKK}FU_^-2Lxr4&r4={gngD;N$ z7Mz{2?MT(Yf26*l>G%IhpfE7O`TwJrj90Jv{nxMi{l2n|$>#9o8{_Ty`P-u77@wmz z#>KmL7e$9LJ}?3o=jSCh0F-+KfD54L7zlzO2!bF8f*=TjAkw^lUvvc7IQ{T%sU4ht zIJqpfgVU3f%S$p)Af=x|#(yPW#NeRh@e>3=5ClPd7gYQYcJIJT;N>|200000NkvXX Hu0mjfa`k|> delta 1762 zcmV<81|9kP5TFo{7Y?8Z0{{R3ZT6FI0003au_Y$~f4$V|2mk;80d!JMQvg8b*k%9# z0Ks}xSad{Xb7OL8aCB*JZU6vyoP|-#3WG2ZJSSff^s1$`_Sj2Niii3S(QGyNNJv7Z zf8WFwRI12ac88f^C-KQGy=OT|9vOat(p>c9O5(#2qk%J1+vOZ#R0FSS^If!|2JGlb z%EAI@f9GMuxYCw7Vf0kA12b%!5uc=aGJf#~jDv%}*g?&T000Hv zNklB)YYUHH!iLJw{i7nfO{TmSI|&baZEJYK{SkOUFT{>X+*UIeyE5HWv}I7fAR%J_tAS8RC^e@p0}3q9?C-*wZrzp!oT5SXI=m!iHrK6U@I z>4s6MR^);RxUy17oW}!Xfq!LH44HxOxl>uKMCEVPzvxq|Gi*mU0HCkgsVh-De6!bW z={gP1>zVtW&GYn^?u)3hGcW?v2K zCv~iUt!~%cDwAEW=50A!aCBLbs#~)|eKpe8B7G&M-+|+%dl&TeukY6Gx|^WfiRo5U zei1mlKIj&x_dWNXs{SgIPXrx* z{y?Qabeu<^J%;^}180i*PmuPp{$)B8aM|WSO)O zbXEdRc?nqMfeu%s`Wm9IBl-rSWBp5YUV>kQ+2)9!6#6QnKSXp3(XsyJx)EGsIKh|e zrW#mo-C)-|uU_Y3z3zGJyHvU;RA&f(F;-&P^|+I|^mZeB_%)h^k z<=;=@`FWq~uO|8V7c4*TPjn~Le{#IqE3Th7e)c?T{aXm=g#~Of-J8eKrp;pEzbUbAsTYetT-wOjRv54n2a4Z&a+CV&i|L!CC`MLDS zLB?N3k3y!DDE|&KLz|yRbw{e_&LsctBl-FH^!yFvoWIXMe&d$%_j!|l{yuN=&)?@w z>C@k(H$V^sL6jMmQ_&TWe!rv!ApXn-wE6kG^jKBpuPbHmY>gC2Ll0W14#P?1B-Y7PoaTk5id70JcX7Um_kARzr+TD z{C{~3lzj>f#3CM))IjNf86^mUAP9mW2!bGp0x9(Uz#?=c|6aI%J{%(N2ax=G?)q?; zseX`u&lI5k4qj)M6ejvL}5ClOG1VIo4K@bE%5CoCp^z`)X?CcyVRd{}1sh|Jy zE930^w{yNJ>SNhuJbjL3x3&L$uE{>Xz8L-f$De-oFy6i$kKer;kH^Y3mYef8?~M;vS09RwV}35) z8`mE{UKbt4{J;oYUtN{h08s7`0Iq?eV;~5EAP6Ghe`3$G9$@}B!2kdN07*qoM6N<$ Ef*1y3Gynhq From 06719b5aa9b25a4566206d0d79ee1861094edbf1 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 19 Nov 2013 23:00:07 -0800 Subject: [PATCH 24/70] added a fuck ton of small changes --- .../items/weapons/implants/implantfreedom.dm | 2 +- code/modules/clothing/spacesuits/rig.dm | 6 +- code/modules/research/designs.dm | 208 +++++++++++++++++- 3 files changed, 209 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm index 0d31eb2e5c..58d73d835a 100644 --- a/code/game/objects/items/weapons/implants/implantfreedom.dm +++ b/code/game/objects/items/weapons/implants/implantfreedom.dm @@ -1,7 +1,7 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 /obj/item/weapon/implant/freedom - name = "freedom" + name = "freedom implant" desc = "Use this to escape from those evil Red Shirts." item_color = "r" var/activation_emote = "chuckle" diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 027a2e3a57..ec789c4892 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -12,7 +12,8 @@ icon_action_button = "action_hardhat" heat_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") + // species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") Commented out to solve the issue of "OH FUCK I ROLLED NUKE OP ALIEN AND THERE AREN'T ANY ADMINS ABLE TO FIX IT ON", as it made nuke rounds a pain in the ass when one of your squaddies was unable to join in. + // TODO: Make nuke ops hardsuit sprites for Unathi, Tajaran, Skrell, Diona, and Vox so this can be uncommented and shit can work again. attack_self(mob/user) if(!isturf(user.loc)) @@ -47,7 +48,8 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") + //species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") See comment on respective helmet. + // TODO: Make nuke ops hardsuit helmet sprites for Unathi, Tajaran, Skrell, Diona, and Vox so this can be uncommented. //Chief Engineer's rig /obj/item/clothing/head/helmet/space/rig/elite diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index e861826e0f..ab8b95e111 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1341,6 +1341,43 @@ datum/design/nanopaste materials = list("$metal" = 7000, "$glass" = 7000) build_path = "/obj/item/stack/nanopaste" +datum/design/implant_loyal + name = "loyalty implant" + desc = "Makes you loyal or such." + id = "implant_loyal" + req_tech = list("materials" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 7000, "$glass" = 7000) + build_path = "/obj/item/weapon/implant/loyalty" + +datum/design/implant_chem + name = "chemical implant" + desc = "Injects things." + id = "implant_chem" + req_tech = list("materials" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/implant/chem" + +datum/design/implant_free + name = "freedom implant" + desc = "Use this to escape from those evil Red Shirts." + id = "implant_free" + req_tech = list("syndicate" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/implant/freedom" + +datum/design/chameleon + name = "Chameleon Jumpsuit" + desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist." + id = "chameleon" + req_tech = list("syndicate" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 500) + build_path = "/obj/item/clothing/under/chameleon" + + datum/design/bluespacebeaker name = "bluespace beaker" desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." @@ -1350,7 +1387,6 @@ datum/design/bluespacebeaker materials = list("$metal" = 3000, "$plasma" = 3000, "$diamond" = 500) reliability_base = 76 build_path = "/obj/item/weapon/reagent_containers/glass/beaker/bluespace" - category = "Misc" datum/design/noreactbeaker name = "cryostasis beaker" @@ -1406,17 +1442,17 @@ datum/design/decloner materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40) build_path = "/obj/item/weapon/gun/energy/decloner" locked = 1 -/* + datum/design/chemsprayer name = "Chem Sprayer" desc = "An advanced chem spraying device." id = "chemsprayer" - req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2) + req_tech = list("materials" = 3, "engineering" = 3, "biotech" = 2) build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000) reliability_base = 100 build_path = "/obj/item/weapon/chemsprayer" -*/ + datum/design/rapidsyringe name = "Rapid Syringe Gun" desc = "A gun that fires many syringes." @@ -1642,3 +1678,167 @@ datum/design/borg_syndicate_module req_tech = list("combat" = 4, "syndicate" = 3) build_path = "/obj/item/borg/upgrade/syndicate" category = "Cyborg Upgrade Modules" + +///////////////////////////////////////// +/////////////PDA and Radio stuff///////// +///////////////////////////////////////// +datum/design/binaryencrypt + name = "Binary Encrpytion Key" + desc = "An encyption key for a radio headset. Contains cypherkeys." + id = "binaryencrypt" + req_tech = list("syndicate" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 300, "$glass" = 300) + build_path = "/obj/item/device/encryptionkey/binary" +datum/design/pda + name = "PDA" + desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." + id = "pda" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/device/pda" +datum/design/cart_basic + name = "Generic Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_basic" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge" +datum/design/cart_engineering + name = "Power-ON Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_engineering" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/engineering" +datum/design/cart_atmos + name = "BreatheDeep Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_atmos" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/atmos" +datum/design/cart_medical + name = "Med-U Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_medical" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/medical" +datum/design/cart_chemistry + name = "ChemWhiz Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_chemistry" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/chemistry" +datum/design/cart_security + name = "R.O.B.U.S.T. Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_security" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/security" +datum/design/cart_janitor + name = "CustodiPRO Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_janitor" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/janitor" +datum/design/cart_clown + name = "Honkworks 5.0 Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_clown" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/clown" +datum/design/cart_mime + name = "Gestur-O 1000 Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_mime" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/mime" +datum/design/cart_toxins + name = "Signal Ace 2 Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_toxins" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/toxins" +datum/design/cart_quartermaster + name = "Space Parts & Space Vendors Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_quartermaster" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/quartermaster" +datum/design/cart_hop + name = "Human Resources 9001 Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_hop" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/hop" +datum/design/cart_hos + name = "R.O.B.U.S.T. DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_hos" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/hos" +datum/design/cart_ce + name = "Power-On DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_ce" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/ce" +datum/design/cart_cmo + name = "Med-U DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_cmo" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/cmo" +datum/design/cart_rd + name = "Signal Ace DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_rd" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/rd" +datum/design/cart_captain + name = "Value-PAK Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_captain" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/captain" +datum/design/cart_traitor + name = "Detomatix Cart" + desc = "A data cartridge for portable microcomputers." + id = "cart_traitor" + req_tech = list("syndicate" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/syndicate" \ No newline at end of file From 2be70afe8b3c9b9fac1f5de5d023a11cd1fe4a49 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 19 Nov 2013 23:12:41 -0800 Subject: [PATCH 25/70] changed it so that only syndi-hardsuits only restrict vox --- code/modules/clothing/spacesuits/rig.dm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index ec789c4892..05411337bc 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -12,9 +12,7 @@ icon_action_button = "action_hardhat" heat_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - // species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") Commented out to solve the issue of "OH FUCK I ROLLED NUKE OP ALIEN AND THERE AREN'T ANY ADMINS ABLE TO FIX IT ON", as it made nuke rounds a pain in the ass when one of your squaddies was unable to join in. - // TODO: Make nuke ops hardsuit sprites for Unathi, Tajaran, Skrell, Diona, and Vox so this can be uncommented and shit can work again. - + species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") attack_self(mob/user) if(!isturf(user.loc)) user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities. @@ -48,8 +46,7 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE - //species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") See comment on respective helmet. - // TODO: Make nuke ops hardsuit helmet sprites for Unathi, Tajaran, Skrell, Diona, and Vox so this can be uncommented. + species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox") //Chief Engineer's rig /obj/item/clothing/head/helmet/space/rig/elite @@ -92,7 +89,7 @@ armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60) siemens_coefficient = 0.6 var/obj/machinery/camera/camera - + species_restricted = list("exclude","Vox") /obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user) if(camera) ..(user) @@ -118,6 +115,7 @@ armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) siemens_coefficient = 0.6 + species_restricted = list("exclude","Vox") //Wizard Rig From 9015b815b3e2455338aa46ce690aaabc09736d91 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:18:38 +1030 Subject: [PATCH 26/70] Uncommented the original Heist objective code, removed one-of-each testing code. --- code/game/gamemodes/heist/heist.dm | 38 +++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index e98d128559..a3f44a5202 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -139,10 +139,8 @@ var/global/vox_kills = 0 //Used to check the Inviolate. /datum/game_mode/heist/proc/forge_vox_objectives() - - //Commented out for testing. - /* var/i = 1 - var/max_objectives = pick(2,2,2,3,3) + var/i = 1 + var/max_objectives = pick(2,2,2,2,3,3,3,4) var/list/objs = list() while(i<= max_objectives) var/list/goals = list("kidnap","loot","salvage") @@ -163,13 +161,7 @@ var/global/vox_kills = 0 //Used to check the Inviolate. //-All- vox raids have these two objectives. Failing them loses the game. objs += new /datum/objective/heist/inviolate_crew - objs += new /datum/objective/heist/inviolate_death */ - - raid_objectives += new /datum/objective/heist/kidnap - raid_objectives += new /datum/objective/heist/loot - raid_objectives += new /datum/objective/heist/salvage - raid_objectives += new /datum/objective/heist/inviolate_crew - raid_objectives += new /datum/objective/heist/inviolate_death + objs += new /datum/objective/heist/inviolate_death for(var/datum/objective/heist/O in raid_objectives) O.choose_target() @@ -181,6 +173,7 @@ var/global/vox_kills = 0 //Used to check the Inviolate. raider.current << "\blue The Vox are a race of cunning, sharp-eyed nomadic raiders and traders endemic to Tau Ceti and much of the unexplored galaxy. You and the crew have come to the Exodus for plunder, trade or both." raider.current << "\blue Vox are cowardly and will flee from larger groups, but corner one or find them en masse and they are vicious." raider.current << "\blue Use :V to voxtalk, :H to talk on your encrypted channel, and don't forget to turn on your nitrogen internals!" + raider.current << "\red IF YOU HAVE NOT PLAYED A VOX BEFORE, REVIEW THIS THREAD: http://baystation12.net/forums/viewtopic.php?f=6&t=8657." var/obj_count = 1 for(var/datum/objective/objective in raider.objectives) raider.current << "Objective #[obj_count]: [objective.explanation_text]" @@ -252,6 +245,29 @@ var/global/vox_kills = 0 //Used to check the Inviolate. feedback_add_details("traitor_objective","[objective.type]|FAIL") count++ + var/text = "The vox raiders were:" + + for(var/datum/mind/vox in raiders) + text += "
[vox.key] was [vox.name] (" + if(check_return) + var/obj/stack = raiders[vox] + if(get_area(stack) != locate(/area/shuttle/vox/station)) + text += "left behind)" + continue + if(vox.current) + if(vox.current.stat == DEAD) + text += "died" + else + text += "survived" + if(vox.current.real_name != vox.name) + text += " as [vox.current.real_name]" + else + text += "body destroyed" + text += ")" + + world << text + return 1 + ..() datum/game_mode/proc/auto_declare_completion_heist() From 542104478f1cdf59b9453a2e1b974a16ed2cd01a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:18:55 +1030 Subject: [PATCH 27/70] Commented out the Sec-healing component of sprinkles. --- code/modules/reagents/Chemistry-Reagents.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index bf29dc863f..e24a0cd03e 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2177,12 +2177,13 @@ datum on_mob_life(var/mob/living/M as mob) M.nutrition += nutriment_factor - if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden")) + /*if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden")) if(!M) M = holder.my_atom M.heal_organ_damage(1,1) M.nutrition += nutriment_factor ..() return + */ ..() /* //removed because of meta bullshit. this is why we can't have nice things. From 32b2009c25743e8ce590549a7eea506b667fe6e8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:26:55 +1030 Subject: [PATCH 28/70] Diona will take five times as much damage from plant-B-gone as previously. --- code/modules/reagents/Chemistry-Reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index e24a0cd03e..e512da7d59 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1681,7 +1681,7 @@ datum var/mob/living/carbon/human/H = M if(H.dna) if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage - H.adjustToxLoss(10) + H.adjustToxLoss(50) toxin/stoxin name = "Sleep Toxin" From 249cd0d0699eb1423a5e8614522f5bd366337ec9 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:32:00 +1030 Subject: [PATCH 29/70] Increased REQUIRE_LIGHT min level to 5, removed burn damage from healing from RAD_ABSORB. --- code/modules/mob/living/carbon/human/life.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d9354dccd6..957ed014d4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -242,7 +242,7 @@ var/rads = radiation/25 radiation -= rads nutrition += rads - heal_overall_damage(rads,rads) + adjustBruteLoss(-(rads)) adjustOxyLoss(-(rads)) adjustToxLoss(-(rads)) updatehealth() @@ -887,8 +887,8 @@ if(nutrition > 500) nutrition = 500 - if(light_amount > 2) //if there's enough light, heal - heal_overall_damage(1,1) + if(light_amount > 5) //if there's enough light, heal + adjustBruteLoss(-1) adjustToxLoss(-1) adjustOxyLoss(-1) if(dna && dna.mutantrace == "shadow") From 71416e543e09d46845cdc5f0f76be7b0dd4ecf6b Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:33:39 +1030 Subject: [PATCH 30/70] Changed diona evolution to use nutrition rather than nutriment. --- code/modules/mob/living/carbon/monkey/diona.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index 1d80763fdc..442d33e2ac 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -68,7 +68,7 @@ src << "You are not yet ready for your growth..." return - if(reagents.get_reagent_amount("nutriment") < 5) + if(nutrition < 400) src << "You have not yet consumed enough to grow..." return From 222a544d5dcc96e29ab22e4e7742dd1dbf3552c3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 Nov 2013 18:47:37 +1030 Subject: [PATCH 31/70] Raider state display compile fix. --- code/game/gamemodes/heist/heist.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index a3f44a5202..4dfff4fc4c 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -245,16 +245,15 @@ var/global/vox_kills = 0 //Used to check the Inviolate. feedback_add_details("traitor_objective","[objective.type]|FAIL") count++ - var/text = "The vox raiders were:" + var/text = "The vox raiders were:" for(var/datum/mind/vox in raiders) text += "
[vox.key] was [vox.name] (" - if(check_return) - var/obj/stack = raiders[vox] - if(get_area(stack) != locate(/area/shuttle/vox/station)) - text += "left behind)" - continue - if(vox.current) + var/obj/stack = raiders[vox] + if(get_area(stack) != locate(/area/shuttle/vox/station)) + text += "left behind)" + continue + else if(vox.current) if(vox.current.stat == DEAD) text += "died" else From 2a95cdd2966830b2a9a7617c6c970ebd58db55ca Mon Sep 17 00:00:00 2001 From: ZekeSulastin Date: Wed, 20 Nov 2013 17:07:05 -0500 Subject: [PATCH 32/70] Scalpels also mangle gloves for nonhuman wear. --- code/modules/clothing/gloves/stungloves.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm index fde681a4ea..7b52f3e4c9 100644 --- a/code/modules/clothing/gloves/stungloves.dm +++ b/code/modules/clothing/gloves/stungloves.dm @@ -32,7 +32,7 @@ else user << "[src] already have a cell." - else if(istype(W, /obj/item/weapon/wirecutters)) + else if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel)) wired = null @@ -43,7 +43,7 @@ cell = null if(clipped == 0) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user.visible_message("\red [user] snips the fingertips off [src].","\red You snip the fingertips off [src].") + user.visible_message("\red [user] cut the fingertips off [src].","\red You cut the fingertips off [src].") clipped = 1 if("exclude" in species_restricted) name = "mangled [name]" @@ -78,4 +78,4 @@ if(wired) overlays += "gloves_wire" if(cell) - overlays += "gloves_cell" \ No newline at end of file + overlays += "gloves_cell" From ab43cc9cd6179a50395854c59eccfb43a651641b Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 20 Nov 2013 14:56:49 -0800 Subject: [PATCH 33/70] made head PDA carts be in lockboxes. Added Abandoned Crates! --- code/modules/mining/abandonedcrates.dm | 147 +++++++++++++++++++++++++ code/modules/mining/mine_turfs.dm | 6 +- code/modules/research/designs.dm | 10 +- 3 files changed, 161 insertions(+), 2 deletions(-) create mode 100644 code/modules/mining/abandonedcrates.dm diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm new file mode 100644 index 0000000000..72ddbffe4a --- /dev/null +++ b/code/modules/mining/abandonedcrates.dm @@ -0,0 +1,147 @@ +/obj/structure/closet/crate/secure/loot + name = "abandoned crate" + desc = "What could be inside?" + icon_state = "securecrate" + icon_opened = "securecrateopen" + icon_closed = "securecrate" + var/code = null + var/lastattempt = null + var/attempts = 3 + locked = 1 + var/min = 1 + var/max = 10 + +/obj/structure/closet/crate/secure/loot/New() + ..() + code = rand(min,max) + var/loot = rand(1,30) + switch(loot) + if(1) + new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src) + new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) + new/obj/item/weapon/lighter/zippo(src) + if(2) + new/obj/item/weapon/pickaxe/drill(src) + new/obj/item/device/taperecorder(src) + new/obj/item/clothing/suit/space/rig(src) + new/obj/item/clothing/head/helmet/space/rig(src) + if(3) + for(var/i = 0, i < 12, i++) + new/obj/item/weapon/coin/diamond(src) + if(4) + new/obj/item/clothing/shoes/clown_shoes(src) + new/obj/item/clothing/under/rank/clown(src) + new/obj/item/clothing/mask/gas/clown_hat(src) + new/obj/item/weapon/bananapeel(src) + if(5) + for(var/i = 0, i < 6, i++) + new/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake(src) + new/obj/item/weapon/lighter/zippo(src) + if(7) + new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) + if(9) + for(var/i = 0, i < 5, i++) + new/obj/item/weapon/ore/diamond(src) + if(10) + for(var/i = 0, i < 5, i++) + new/obj/item/weapon/ore/clown(src) + if(11) + return + if(12) + new/obj/item/seeds/deathberryseed(src) + new/obj/item/seeds/deathnettleseed(src) + if(13) + new/obj/machinery/hydroponics(src) + if(14) + new/obj/item/seeds/cashseed(src) + if(15) + for(var/i = 0, i < 3, i++) + new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) + new/obj/item/weapon/reagent_containers/hypospray(src) + if(16) + for(var/i = 0, i < 9, i++) + new/obj/item/bluespace_crystal(src) + if(17) + new/obj/item/mecha_parts/mecha_equipment/weapon/honker(src) + new/obj/item/mecha_parts/chassis/honker(src) + new/obj/item/mecha_parts/part/honker_torso(src) + new/obj/item/mecha_parts/part/honker_head(src) + new/obj/item/mecha_parts/part/honker_left_arm(src) + if(18) + return + if(19) + for(var/i = 0, i < 4, i++) + new/obj/item/weapon/melee/classic_baton(src) + if(20) + new/obj/item/weapon/storage/lockbox/clusterbang(src) + if(21) + new/obj/item/weapon/aiModule/robocop(src) + if(22) + new/obj/item/clothing/under/chameleon(src) + for(var/i = 0, i < 7, i++) + new/obj/item/clothing/tie/horrible(src) + if(23) + new/obj/item/clothing/under/shorts(src) + new/obj/item/clothing/under/shorts/red(src) + new/obj/item/clothing/under/shorts/blue(src) + //Dummy crates start here. + if(24 to 29) + return + if(8) + return + if(6) + return + //Dummy crates end here. + if(30) + for(var/i = 0, i < 4, i++) + new/obj/item/weapon/melee/baton(src) + +/obj/structure/closet/crate/secure/loot/attack_hand(mob/user as mob) + if(locked) + user << "The crate is locked with a Deca-code lock." + var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num + if(in_range(src, user)) + input = Clamp(input, 0, 10) + if (input == code) + user << "The crate unlocks!" + locked = 0 + else if (input == null || input > max || input < min) + user << "You leave the crate alone." + else + user << "A red light flashes." + lastattempt = input + attempts-- + if (attempts == 0) + user << "The crate's anti-tamper system activates!" + var/turf/T = get_turf(src.loc) + explosion(T, 0, 1, 2, 1) + del(src) + return + else + user << "You attempt to interact with the device using a hand gesture, but it appears this crate is from before the DECANECT came out." + return + else + return ..() + +/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(locked) + if (istype(W, /obj/item/weapon/card/emag)) + user << "The crate unlocks!" + locked = 0 + if (istype(W, /obj/item/device/multitool)) + user << "DECA-CODE LOCK REPORT:" + if (attempts == 1) + user << "* Anti-Tamper Bomb will activate on next failed access attempt." + else + user << "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts." + if (lastattempt == null) + user << " has been made to open the crate thus far." + return + // hot and cold + if (code > lastattempt) + user << "* Last access attempt lower than expected code." + else + user << "* Last access attempt higher than expected code." + else ..() + else ..() diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 83077154a8..c410a51c00 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -486,7 +486,11 @@ commented out in r5061, I left it because of the shroom thingies var/turf/simulated/floor/plating/airless/asteroid/N = ChangeTurf(/turf/simulated/floor/plating/airless/asteroid) N.fullUpdateMineralOverlays() - + var/crate = rand(1,30) + switch(crate) + if(1) + visible_message("After digging, you find an old dusty crate buried within!") + new/obj/structure/closet/crate/secure/loot(src) return /turf/simulated/mineral/proc/excavate_find(var/prob_clean = 0, var/datum/find/F) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index ab8b95e111..7b1c2bd22b 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1746,6 +1746,7 @@ datum/design/cart_security build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/security" + locked = 1 datum/design/cart_janitor name = "CustodiPRO Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1786,6 +1787,7 @@ datum/design/cart_quartermaster build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/quartermaster" + locked = 1 datum/design/cart_hop name = "Human Resources 9001 Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1794,6 +1796,7 @@ datum/design/cart_hop build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/hop" + locked = 1 datum/design/cart_hos name = "R.O.B.U.S.T. DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1802,6 +1805,7 @@ datum/design/cart_hos build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/hos" + locked = 1 datum/design/cart_ce name = "Power-On DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1810,6 +1814,7 @@ datum/design/cart_ce build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/ce" + locked = 1 datum/design/cart_cmo name = "Med-U DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1818,6 +1823,7 @@ datum/design/cart_cmo build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/cmo" + locked = 1 datum/design/cart_rd name = "Signal Ace DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1826,6 +1832,7 @@ datum/design/cart_rd build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/rd" + locked = 1 datum/design/cart_captain name = "Value-PAK Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1834,6 +1841,7 @@ datum/design/cart_captain build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/captain" + locked = 1 datum/design/cart_traitor name = "Detomatix Cart" desc = "A data cartridge for portable microcomputers." @@ -1841,4 +1849,4 @@ datum/design/cart_traitor req_tech = list("syndicate" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/cartridge/syndicate" \ No newline at end of file + build_path = "/obj/item/weapon/cartridge/syndicate" From 7fa80e799a9884477d99e1ba330cfbfa20a00c2a Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 20 Nov 2013 14:56:49 -0800 Subject: [PATCH 34/70] made head PDA carts be in lockboxes. Added Abandoned Crates! --- baystation12.dme | 1 + code/modules/mining/abandonedcrates.dm | 147 +++++++++++++++++++++++++ code/modules/mining/mine_turfs.dm | 6 +- code/modules/research/designs.dm | 10 +- 4 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 code/modules/mining/abandonedcrates.dm diff --git a/baystation12.dme b/baystation12.dme index 35a7237aa1..2aadb62ced 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -819,6 +819,7 @@ #include "code\modules\maps\reader.dm" #include "code\modules\maps\swapmaps.dm" #include "code\modules\maps\writer.dm" +#include "code\modules\mining\abandonedcrates.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" #include "code\modules\mining\machine_stacking.dm" diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm new file mode 100644 index 0000000000..72ddbffe4a --- /dev/null +++ b/code/modules/mining/abandonedcrates.dm @@ -0,0 +1,147 @@ +/obj/structure/closet/crate/secure/loot + name = "abandoned crate" + desc = "What could be inside?" + icon_state = "securecrate" + icon_opened = "securecrateopen" + icon_closed = "securecrate" + var/code = null + var/lastattempt = null + var/attempts = 3 + locked = 1 + var/min = 1 + var/max = 10 + +/obj/structure/closet/crate/secure/loot/New() + ..() + code = rand(min,max) + var/loot = rand(1,30) + switch(loot) + if(1) + new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src) + new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) + new/obj/item/weapon/lighter/zippo(src) + if(2) + new/obj/item/weapon/pickaxe/drill(src) + new/obj/item/device/taperecorder(src) + new/obj/item/clothing/suit/space/rig(src) + new/obj/item/clothing/head/helmet/space/rig(src) + if(3) + for(var/i = 0, i < 12, i++) + new/obj/item/weapon/coin/diamond(src) + if(4) + new/obj/item/clothing/shoes/clown_shoes(src) + new/obj/item/clothing/under/rank/clown(src) + new/obj/item/clothing/mask/gas/clown_hat(src) + new/obj/item/weapon/bananapeel(src) + if(5) + for(var/i = 0, i < 6, i++) + new/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake(src) + new/obj/item/weapon/lighter/zippo(src) + if(7) + new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) + if(9) + for(var/i = 0, i < 5, i++) + new/obj/item/weapon/ore/diamond(src) + if(10) + for(var/i = 0, i < 5, i++) + new/obj/item/weapon/ore/clown(src) + if(11) + return + if(12) + new/obj/item/seeds/deathberryseed(src) + new/obj/item/seeds/deathnettleseed(src) + if(13) + new/obj/machinery/hydroponics(src) + if(14) + new/obj/item/seeds/cashseed(src) + if(15) + for(var/i = 0, i < 3, i++) + new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) + new/obj/item/weapon/reagent_containers/hypospray(src) + if(16) + for(var/i = 0, i < 9, i++) + new/obj/item/bluespace_crystal(src) + if(17) + new/obj/item/mecha_parts/mecha_equipment/weapon/honker(src) + new/obj/item/mecha_parts/chassis/honker(src) + new/obj/item/mecha_parts/part/honker_torso(src) + new/obj/item/mecha_parts/part/honker_head(src) + new/obj/item/mecha_parts/part/honker_left_arm(src) + if(18) + return + if(19) + for(var/i = 0, i < 4, i++) + new/obj/item/weapon/melee/classic_baton(src) + if(20) + new/obj/item/weapon/storage/lockbox/clusterbang(src) + if(21) + new/obj/item/weapon/aiModule/robocop(src) + if(22) + new/obj/item/clothing/under/chameleon(src) + for(var/i = 0, i < 7, i++) + new/obj/item/clothing/tie/horrible(src) + if(23) + new/obj/item/clothing/under/shorts(src) + new/obj/item/clothing/under/shorts/red(src) + new/obj/item/clothing/under/shorts/blue(src) + //Dummy crates start here. + if(24 to 29) + return + if(8) + return + if(6) + return + //Dummy crates end here. + if(30) + for(var/i = 0, i < 4, i++) + new/obj/item/weapon/melee/baton(src) + +/obj/structure/closet/crate/secure/loot/attack_hand(mob/user as mob) + if(locked) + user << "The crate is locked with a Deca-code lock." + var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num + if(in_range(src, user)) + input = Clamp(input, 0, 10) + if (input == code) + user << "The crate unlocks!" + locked = 0 + else if (input == null || input > max || input < min) + user << "You leave the crate alone." + else + user << "A red light flashes." + lastattempt = input + attempts-- + if (attempts == 0) + user << "The crate's anti-tamper system activates!" + var/turf/T = get_turf(src.loc) + explosion(T, 0, 1, 2, 1) + del(src) + return + else + user << "You attempt to interact with the device using a hand gesture, but it appears this crate is from before the DECANECT came out." + return + else + return ..() + +/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(locked) + if (istype(W, /obj/item/weapon/card/emag)) + user << "The crate unlocks!" + locked = 0 + if (istype(W, /obj/item/device/multitool)) + user << "DECA-CODE LOCK REPORT:" + if (attempts == 1) + user << "* Anti-Tamper Bomb will activate on next failed access attempt." + else + user << "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts." + if (lastattempt == null) + user << " has been made to open the crate thus far." + return + // hot and cold + if (code > lastattempt) + user << "* Last access attempt lower than expected code." + else + user << "* Last access attempt higher than expected code." + else ..() + else ..() diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 83077154a8..c410a51c00 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -486,7 +486,11 @@ commented out in r5061, I left it because of the shroom thingies var/turf/simulated/floor/plating/airless/asteroid/N = ChangeTurf(/turf/simulated/floor/plating/airless/asteroid) N.fullUpdateMineralOverlays() - + var/crate = rand(1,30) + switch(crate) + if(1) + visible_message("After digging, you find an old dusty crate buried within!") + new/obj/structure/closet/crate/secure/loot(src) return /turf/simulated/mineral/proc/excavate_find(var/prob_clean = 0, var/datum/find/F) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index ab8b95e111..7b1c2bd22b 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1746,6 +1746,7 @@ datum/design/cart_security build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/security" + locked = 1 datum/design/cart_janitor name = "CustodiPRO Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1786,6 +1787,7 @@ datum/design/cart_quartermaster build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/quartermaster" + locked = 1 datum/design/cart_hop name = "Human Resources 9001 Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1794,6 +1796,7 @@ datum/design/cart_hop build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/hop" + locked = 1 datum/design/cart_hos name = "R.O.B.U.S.T. DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1802,6 +1805,7 @@ datum/design/cart_hos build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/hos" + locked = 1 datum/design/cart_ce name = "Power-On DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1810,6 +1814,7 @@ datum/design/cart_ce build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/ce" + locked = 1 datum/design/cart_cmo name = "Med-U DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1818,6 +1823,7 @@ datum/design/cart_cmo build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/cmo" + locked = 1 datum/design/cart_rd name = "Signal Ace DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1826,6 +1832,7 @@ datum/design/cart_rd build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/rd" + locked = 1 datum/design/cart_captain name = "Value-PAK Cartridge" desc = "A data cartridge for portable microcomputers." @@ -1834,6 +1841,7 @@ datum/design/cart_captain build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/captain" + locked = 1 datum/design/cart_traitor name = "Detomatix Cart" desc = "A data cartridge for portable microcomputers." @@ -1841,4 +1849,4 @@ datum/design/cart_traitor req_tech = list("syndicate" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/cartridge/syndicate" \ No newline at end of file + build_path = "/obj/item/weapon/cartridge/syndicate" From 34fb26a64954ccb36eafba38c4cd809b367cb777 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Wed, 20 Nov 2013 17:11:21 -0600 Subject: [PATCH 35/70] Ravensdale request: Detomax cartridge use will not create an admin message saying the name/key of the antag that tried to blow up the target, and if it was successful or not. --- code/game/objects/items/devices/PDA/PDA.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 1cdd99d133..5367de7d95 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -715,8 +715,10 @@ var/global/list/obj/item/device/pda/PDAs = list() U.show_message("\red Energy feeds back into your [src]!", 1) U << browse(null, "window=pda") explode() + message_admins("Admin [U] ([U.Key]) just attempted to blow up [P] with the Detomax cartridge but failed, blowing himself up", 1) else U.show_message("\blue Success!", 1) + message_admins("Admin [U] ([U.Key]) just attempted to blow up [P] with the Detomax cartridge and succeded", 1) P.explode() else U << "PDA not found." @@ -1193,4 +1195,4 @@ var/global/list/obj/item/device/pda/PDAs = list() // Pass along the pulse to atoms in contents, largely added so pAIs are vulnerable to EMP /obj/item/device/pda/emp_act(severity) for(var/atom/A in src) - A.emp_act(severity) \ No newline at end of file + A.emp_act(severity) From 7dcb47ec2acdd0271d4e56c50a8ee2df7d59373f Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 20 Nov 2013 15:19:24 -0800 Subject: [PATCH 36/70] R.I.P H.O.N.KBlaster 9000. You died as you lived. Hidden in a crate. --- code/modules/mining/abandonedcrates.dm | 23 +++++------------------ code/modules/research/designs.dm | 8 -------- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 72ddbffe4a..d55c7e329a 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -30,9 +30,6 @@ for(var/i = 0, i < 12, i++) new/obj/item/weapon/coin/diamond(src) if(4) - new/obj/item/clothing/shoes/clown_shoes(src) - new/obj/item/clothing/under/rank/clown(src) - new/obj/item/clothing/mask/gas/clown_hat(src) new/obj/item/weapon/bananapeel(src) if(5) for(var/i = 0, i < 6, i++) @@ -40,12 +37,9 @@ new/obj/item/weapon/lighter/zippo(src) if(7) new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) - if(9) - for(var/i = 0, i < 5, i++) + if(9 to 10) + for(var/i = 0, i < 10, i++) new/obj/item/weapon/ore/diamond(src) - if(10) - for(var/i = 0, i < 5, i++) - new/obj/item/weapon/ore/clown(src) if(11) return if(12) @@ -58,18 +52,9 @@ if(15) for(var/i = 0, i < 3, i++) new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) - new/obj/item/weapon/reagent_containers/hypospray(src) - if(16) + if(16 to 17) for(var/i = 0, i < 9, i++) new/obj/item/bluespace_crystal(src) - if(17) - new/obj/item/mecha_parts/mecha_equipment/weapon/honker(src) - new/obj/item/mecha_parts/chassis/honker(src) - new/obj/item/mecha_parts/part/honker_torso(src) - new/obj/item/mecha_parts/part/honker_head(src) - new/obj/item/mecha_parts/part/honker_left_arm(src) - if(18) - return if(19) for(var/i = 0, i < 4, i++) new/obj/item/weapon/melee/classic_baton(src) @@ -92,6 +77,8 @@ return if(6) return + if(18) + return //Dummy crates end here. if(30) for(var/i = 0, i < 4, i++) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 5e7c4ce913..abc4b66868 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1859,12 +1859,4 @@ datum/design/cart_traitor req_tech = list("syndicate" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) -<<<<<<< HEAD -<<<<<<< HEAD build_path = "/obj/item/weapon/cartridge/syndicate" -======= - build_path = "/obj/item/weapon/cartridge/syndicate" ->>>>>>> 60f644c4014e7ae0ca8267e271c8985574039f2b -======= - build_path = "/obj/item/weapon/cartridge/syndicate" ->>>>>>> ab43cc9cd6179a50395854c59eccfb43a651641b From d1ca50f384b1d33b1526790d121e548480bc146f Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Wed, 20 Nov 2013 17:24:39 -0600 Subject: [PATCH 37/70] Bugfix: Yeah variables are case sensitive. Lesson learned: Always compile before commit, unless attempting to pad your commit count. --- code/game/objects/items/devices/PDA/PDA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 5367de7d95..0fbac7f2b7 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -715,10 +715,10 @@ var/global/list/obj/item/device/pda/PDAs = list() U.show_message("\red Energy feeds back into your [src]!", 1) U << browse(null, "window=pda") explode() - message_admins("Admin [U] ([U.Key]) just attempted to blow up [P] with the Detomax cartridge but failed, blowing himself up", 1) + message_admins("Admin [U] ([U.key]) just attempted to blow up [P] with the Detomax cartridge but failed, blowing himself up", 1) else U.show_message("\blue Success!", 1) - message_admins("Admin [U] ([U.Key]) just attempted to blow up [P] with the Detomax cartridge and succeded", 1) + message_admins("Admin [U] ([U.key]) just attempted to blow up [P] with the Detomax cartridge and succeded", 1) P.explode() else U << "PDA not found." From ac4e42bb2a7bcc6392476dc557967ab4573019fb Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 20 Nov 2013 15:29:33 -0800 Subject: [PATCH 38/70] After a very prolonged set of Syndicate budget cuts, Detomatix PDA carts are no longer buildable --- code/modules/research/designs.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index abc4b66868..b9d25c2677 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1852,11 +1852,3 @@ datum/design/cart_captain materials = list("$metal" = 50, "$glass" = 50) build_path = "/obj/item/weapon/cartridge/captain" locked = 1 -datum/design/cart_traitor - name = "Detomatix Cart" - desc = "A data cartridge for portable microcomputers." - id = "cart_traitor" - req_tech = list("syndicate" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/cartridge/syndicate" From 7d545437a3e33062719d3e5739b654a20d18095c Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Wed, 20 Nov 2013 17:49:11 -0600 Subject: [PATCH 39/70] Spelling mistake. Commit_Count++ --- code/game/objects/items/devices/PDA/PDA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 0fbac7f2b7..f8aebace5b 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -715,10 +715,10 @@ var/global/list/obj/item/device/pda/PDAs = list() U.show_message("\red Energy feeds back into your [src]!", 1) U << browse(null, "window=pda") explode() - message_admins("Admin [U] ([U.key]) just attempted to blow up [P] with the Detomax cartridge but failed, blowing himself up", 1) + message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1) else U.show_message("\blue Success!", 1) - message_admins("Admin [U] ([U.key]) just attempted to blow up [P] with the Detomax cartridge and succeded", 1) + message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge and succeded", 1) P.explode() else U << "PDA not found." From d72d845cbaaaf070631e435c35ef77f800cff18b Mon Sep 17 00:00:00 2001 From: Higgin Date: Wed, 20 Nov 2013 16:00:07 -0800 Subject: [PATCH 40/70] Fix to fix a fix that needs fixing. --- code/modules/projectiles/projectile.dm | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 1598a261fe..d8ff676708 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -88,24 +88,6 @@ var/distance = get_dist(starting,loc) var/miss_modifier = -30 - if(def_zone == "l_arm") - miss_modifier += 10 - if(def_zone == "r_arm") - miss_modifier += 10 - if(def_zone == "l_leg") - miss_modifier += 5 - if(def_zone == "r_leg") - miss_modifier += 5 - if(def_zone == "head") - miss_modifier += 20 - if(def_zone == "l_hand") - miss_modifier += 25 - if(def_zone == "r_hand") - miss_modifier += 25 - if(def_zone == "l_foot") - miss_modifier += 23 - if(def_zone == "r_foot") - miss_modifier += 23 if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim From 43bde0598dcf568614cad56f8637c6d90a830e18 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 20 Nov 2013 18:10:14 -0800 Subject: [PATCH 41/70] Uncommented the dressing up corgi code! Have fun replacing the condom! Also adds a player requested item. http://baystation12.net/forums/viewtopic.php?f=33&t=9120 Rainbow Belt --- code/modules/customitems/item_defines.dm | 9 +++++++++ .../living/simple_animal/friendly/corgi.dm | 2 -- icons/mob/belt_mirror.dmi | Bin 1781 -> 4681 bytes icons/obj/custom_items.dmi | Bin 49877 -> 50623 bytes 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 98331e8fcc..457c64dbf7 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -921,3 +921,12 @@ if(istype(A, /obj/item/ammo_magazine)) flick("leamas-reloading",src) ..() + + +///// Custom Items coded by Iamgoofball are Below ///// +/obj/item/weapon/storage/belt/medical/fluff/honkbelt + name = "rainbow medical belt" + desc = "A somewhat-worn, modified, rainbow belt." + icon = 'icons/obj/custom_items.dmi' + icon_state = "nashi_belt" + item_state = "fluff_rbelt" \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 54431d86f7..0141d9c5c1 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -27,7 +27,6 @@ regenerate_icons() /mob/living/simple_animal/corgi/show_inv(mob/user as mob) - /* If you're turning this back on, scroll down and uncomment target_updated user.set_machine(src) if(user.stat) return @@ -43,7 +42,6 @@ user << browse(dat, text("window=mob[];size=325x500", name)) onclose(user, "mob[real_name]") - */ return /mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob) diff --git a/icons/mob/belt_mirror.dmi b/icons/mob/belt_mirror.dmi index 36392855550c53268241e45c78d2d6742ac7436c..9358ba3cd92eb28f36a08756abcc6658e5961a18 100644 GIT binary patch literal 4681 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 E0G8c3Jpcdz diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index 0b82c58bcca70b1aa1d9c129e5dde9400c94c9db..5cc07c12b3862ce5e38d623391c54610c56fbec0 100644 GIT binary patch delta 11533 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 From 48150acc5a0224b67c028e08b38d2a9dc855598b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 21 Nov 2013 12:21:50 +0400 Subject: [PATCH 42/70] Removed earrape --- code/game/turfs/simulated.dm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 6432f1bac7..500eb25a9f 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -23,16 +23,6 @@ if(M.lying) return if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes)) - var/obj/item/clothing/shoes/clown_shoes/O = H.shoes - if(H.m_intent == "run") - if(O.footstep >= 2) - O.footstep = 0 - playsound(src, "clownstep", 50, 1) // this will get annoying very fast. - else - O.footstep++ - else - playsound(src, "clownstep", 20, 1) var/list/bloodDNA = null if(H.shoes) From c50c401a85164e583f2af88db7fdad4c1a5939ec Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 21 Nov 2013 13:46:16 +0400 Subject: [PATCH 43/70] Walking on tile makes it dirty. Takes 40 times for mob to enter tile for dirt overlay to appear. Mopping resets dirtiness level. --- code/game/objects/items/weapons/mop.dm | 1 + code/game/turfs/simulated.dm | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 27935c4f87..a3e71cd8cd 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -21,6 +21,7 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A) if(reagents.has_reagent("water", 1)) A.clean_blood() + A.dirt = 0 for(var/obj/effect/O in A) if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) del(O) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 500eb25a9f..2598a63244 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -8,7 +8,7 @@ nitrogen = MOLES_N2STANDARD var/to_be_destroyed = 0 //Used for fire, if a melting temperature was reached, it will be destroyed var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to - + var/dirt = 0 /turf/simulated/New() ..() levelupdate() @@ -21,6 +21,11 @@ if (istype(A,/mob/living/carbon)) var/mob/living/carbon/M = A if(M.lying) return + dirt++ + if (dirt > 40) + dirt = 0 + if (!locate(/obj/effect/decal/cleanable/dirt, src)) + new/obj/effect/decal/cleanable/dirt(src) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M From 69dbec4920cc1fdf1ad9ed8d3469417b45c0d3c4 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 21 Nov 2013 09:08:30 -0600 Subject: [PATCH 44/70] Custom Item Request Confirmed with Apple that this was acceptable. --- code/modules/customitems/item_defines.dm | 24 +++++++++++++++++++++-- code/modules/customitems/item_spawning.dm | 19 +++++++++++++++++- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 457c64dbf7..afbbc43b8b 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -924,9 +924,29 @@ ///// Custom Items coded by Iamgoofball are Below ///// -/obj/item/weapon/storage/belt/medical/fluff/honkbelt +/obj/item/weapon/storage/belt/medical/fluff/nashi_belt name = "rainbow medical belt" desc = "A somewhat-worn, modified, rainbow belt." icon = 'icons/obj/custom_items.dmi' icon_state = "nashi_belt" - item_state = "fluff_rbelt" \ No newline at end of file + item_state = "fluff_rbelt" + + New() + ..() + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "bicaridine", 14, "Bicaridine") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "dermaline", 15, "Dermaline") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "anti_toxin", 16, "Dylovene") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "dexalinp", 17, "Dexalin Plus") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "tricordrazine", 18, "Tricordrazine") + new /obj/item/weapon/reagent_containers/syringe/(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle + icon = 'icons/obj/chemical.dmi' + flags = FPRINT | TABLEPASS //Starting them with lids on them. Safety first! + New(loc, var/stuff, var/color, var/labeled) + ..() + name = "[labeled] bottle" + desc = "A small bottle. Contains [labeled]" + icon_state = "bottle[color]" + reagents.add_reagent(stuff, 30) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index ffcc19b7b7..8682f6f69e 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -57,6 +57,23 @@ del(C) ok = M.equip_if_possible(I, slot_wear_id, 0) //if 1, last argument deletes on fail break + else if(istype(Item,/obj/item/weapon/storage/belt)) + if(M.ckey == "jakksergal" && M.real_name == "Nashi Ra'hal" && M.mind.role_alt_title && M.mind.role_alt_title != "Nurse" && M.mind.role_alt_title != "Chemist") + ok = 1 + del(Item) + goto skip + var/obj/item/weapon/storage/belt/medical/fluff/nashi_belt/I = Item + if(istype(M.belt,/obj/item/weapon/storage/belt)) + for(var/obj/item/weapon/storage/belt/B in M) + del(B) + M.belt=null + ok = M.equip_if_possible(I, slot_belt, 0) + break + if(istype(M.belt,/obj/item/device/pda)) + for(var/obj/item/device/pda/Pda in M) + M.belt=null + M.equip_if_possible(Pda, slot_l_store, 0) + ok = M.equip_if_possible(I, slot_belt, 0) else if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back Item.loc = M.back ok = 1 @@ -70,4 +87,4 @@ skip: if (ok == 0) // Finally, since everything else failed, place it on the ground - Item.loc = get_turf(M.loc) \ No newline at end of file + Item.loc = get_turf(M.loc) From a9bea16ac873c2b149294adf7dd49568ac5c5669 Mon Sep 17 00:00:00 2001 From: carnie Date: Thu, 21 Nov 2013 18:54:01 +0000 Subject: [PATCH 45/70] Bygex - Regex implementation for byond. Source-code for the dll can be found here under LGPL license: https://github.com/Carn/bygex It is merely an interface to boost::regex. It uses perl syntax (non-recursive). Guidelines for use: var/datum/regex/Rgx = regex_findall(haystack, regex_expression) for(var/i=1, i<=Rgx.matches.len, ++i) world << Rgx.str(i) The implementation is different to the one other regex-in-byond library I found. This implementation only returns a string containing the position and length of each match and submatch. This uses far less memory than also passing back the matched strings (especially in large files like dream-maker maps). Note: Regex indexes begin at 1 (since byond lists begin at 1), unlike traditional regex. If we are using a procedure such as regex_findall(), with 3 sub-expressions, match 1 will be the overall match. Match 2 will be subexpression 1, match 3 will be subexpression 2.... Match 5 will be the overall match of the next match...and so on. To ease use, there is /datum/regex/var/anchors which is a numerical value which can be used inside loops like so: for(var/i=1, i<=Rgx.matches.len, i+=Rgx.anchors) world << Rgx.str(i+1) This will print the first submatch of each match to world. --- baystation12.dme | 1 + baystation12.int | 3 ++ bygex.dll | Bin 0 -> 809984 bytes code/__HELPERS/bygex.dm | 107 ++++++++++++++++++++++++++++++++++++++++ code/__HELPERS/text.dm | 30 +---------- 5 files changed, 112 insertions(+), 29 deletions(-) create mode 100644 bygex.dll create mode 100644 code/__HELPERS/bygex.dm diff --git a/baystation12.dme b/baystation12.dme index c20a1002eb..ea0c104902 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -16,6 +16,7 @@ #include "code\setup.dm" #include "code\stylesheet.dm" #include "code\world.dm" +#include "code\__HELPERS\bygex.dm" #include "code\__HELPERS\files.dm" #include "code\__HELPERS\game.dm" #include "code\__HELPERS\global_lists.dm" diff --git a/baystation12.int b/baystation12.int index b82874fded..9a8a0843bc 100644 --- a/baystation12.int +++ b/baystation12.int @@ -1,6 +1,9 @@ // BEGIN_INTERNALS /* MAP_ICON_TYPE: 0 +WINDOW: code\__HELPERS\bygex.dm +DIR: code code\__HELPERS +FILE: code\__HELPERS\bygex.dm AUTO_FILE_DIR: OFF */ // END_INTERNALS diff --git a/bygex.dll b/bygex.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7bdd9f9a78e154b5d47e7d5405f4f980a0c3160 GIT binary patch literal 809984 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∓p*i!flL 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%0AMm3ZRd!TP% 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 bdNA-bCO(XwJ3}zl5X2ti@_$}`G6VkyXU6 Date: Thu, 21 Nov 2013 15:10:03 -0500 Subject: [PATCH 46/70] Cloning scanner saves languages in records. --- code/game/machinery/computer/cloning.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 3adeccdf91..184cc8e867 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -313,7 +313,7 @@ else if(!config.revival_cloning) temp = "Error: Unable to initiate cloning cycle." - else if(pod1.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"])) + else if(pod1.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["languages"])) temp = "Initiating cloning cycle..." records.Remove(C) del(C) @@ -323,7 +323,7 @@ var/mob/selected = find_dead_player("[C.fields["ckey"]]") selected << 'sound/machines/chime.ogg' //probably not the best sound but I think it's reasonable var/answer = alert(selected,"Do you want to return to life?","Cloning","Yes","No") - if(answer != "No" && pod1.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["interface"])) + if(answer != "No" && pod1.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["languages"], C.fields["interface"])) temp = "Initiating cloning cycle..." records.Remove(C) del(C) @@ -370,6 +370,7 @@ R.fields["id"] = copytext(md5(subject.real_name), 2, 6) R.fields["UI"] = subject.dna.uni_identity R.fields["SE"] = subject.dna.struc_enzymes + R.fields["languages"] = subject.languages //Add an implant if needed var/obj/item/weapon/implant/health/imp = locate(/obj/item/weapon/implant/health, subject) From dd77eae4056f047eee34f405090ae4b860a65948 Mon Sep 17 00:00:00 2001 From: Nanai Date: Thu, 21 Nov 2013 16:54:01 -0500 Subject: [PATCH 47/70] Custom Belt Fix Edited issue with chemicals spawned. --- code/modules/customitems/item_defines.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index afbbc43b8b..05bb2a30dd 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -933,20 +933,19 @@ New() ..() - new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "bicaridine", 14, "Bicaridine") - new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "dermaline", 15, "Dermaline") - new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "anti_toxin", 16, "Dylovene") - new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "dexalinp", 17, "Dexalin Plus") - new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, "tricordrazine", 18, "Tricordrazine") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, 14, "Bicaridine") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, 15, "Dermaline") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, 16, "Dylovene") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, 17, "Dexalin Plus") + new /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle(src, 18, "Tricordrazine") new /obj/item/weapon/reagent_containers/syringe/(src) new /obj/item/device/healthanalyzer(src) /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle icon = 'icons/obj/chemical.dmi' flags = FPRINT | TABLEPASS //Starting them with lids on them. Safety first! - New(loc, var/stuff, var/color, var/labeled) + New(loc, var/color, var/labeled) ..() name = "[labeled] bottle" desc = "A small bottle. Contains [labeled]" icon_state = "bottle[color]" - reagents.add_reagent(stuff, 30) From caee3a81e27bddfc88d4aa7ce4d2c43ec4840635 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 22 Nov 2013 09:52:04 +1030 Subject: [PATCH 48/70] Adds sprites and skeleton definitions for species-specific Syndicate hardsuits. --- code/modules/clothing/spacesuits/alien.dm | 48 +++++++++++++++++++++- icons/mob/head.dmi | Bin 110889 -> 120155 bytes icons/mob/suit.dmi | Bin 230696 -> 236516 bytes icons/obj/clothing/hats.dmi | Bin 52913 -> 58103 bytes icons/obj/clothing/suits.dmi | Bin 75862 -> 79516 bytes 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index a6cdefafc4..f09f3b14e6 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -213,4 +213,50 @@ examine() set src in view() - ..() \ No newline at end of file + ..() + +//Species-specific Syndicate rigs. + +/obj/item/clothing/head/helmet/space/rig/syndi/tajara + icon_state = "rig0-syndie-taj" + item_state = "syndie_helm" + item_color = "syndie-taj" + species_restricted = list("Tajaran") + +/obj/item/clothing/suit/space/rig/syndi/tajara + item_state = "syndie_hardsuit" + icon_state = "rig-syndie-taj" + species_restricted = list("Tajaran") + +/obj/item/clothing/head/helmet/space/rig/syndi/unathi + icon_state = "rig0-syndie-unathi" + item_state = "syndie_helm" + item_color = "syndie-unathi" + species_restricted = list("Unathi") + +/obj/item/clothing/suit/space/rig/syndi/unathi + item_state = "syndie_hardsuit" + icon_state = "rig-syndie-unathi" + species_restricted = list("Unathi") + +/obj/item/clothing/head/helmet/space/rig/syndi/skrell + icon_state = "rig0-syndie-skrell" + item_state = "syndie_helm" + item_color = "syndie-skrell" + species_restricted = list("Skrell") + +/obj/item/clothing/suit/space/rig/syndi/skrell + item_state = "syndie_hardsuit" + icon_state = "rig-syndie-skrell" + species_restricted = list("Skrell") + +/obj/item/clothing/head/helmet/space/rig/syndi/human + icon_state = "rig0-syndie-human" + item_state = "syndie_helm" + item_color = "syndie-human" + species_restricted = list("Human") + +/obj/item/clothing/suit/space/rig/syndi/human + item_state = "syndie_hardsuit" + icon_state = "rig-syndie-human" + species_restricted = list("Human") diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 49853620773e2fd0de2a60f069a1ff91efcef729..0396dd6ce08438191b0f096532f70825604407f2 100644 GIT binary patch literal 120155 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 literal 110889 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 Nfv2mV%Q~loCIE+EX%PSb diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 2b1a47ac9de7c427e0228958e93a18496a423afe..cafdb88f336331aaaaa772f3fc9094ab0da0f099 100644 GIT binary patch literal 236516 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

xV-5u{u{R}?K)*^1ny1mVtT< zEKxw99Ugv{I~AlERg7B$dlUGCK-}$HNl7y!);ErqKcb80{+rTCEd<$J5L8W>%YLpK zo_&n8NVGmqv*C6hPlcBvi4k@rAe2!M>=c-j~x<;QaK+d%1!;o)JRvjM)T zKUduqscp0bq`=m90Wcx}5dt@~2jLLrSCh1~wieQ1!seNnmBkLt(`K|8Pom-P{GBdg z9CV#}r#1Qc!N7beF^cd)IT`*>8Z3I}??cmjG>-|bM&G#CS#!R5v($~Z8G13>C&O)I z*4sXo^G~Cj@G(K>PjzZOdRQ$wCz>V28#JV%2xG__o}SLKK-%`rabDLFbLPi^Sv=>?L%zMlRm`{s?r z(Gg;8q9-CmhU#GF@WVy+7XCXB$$I$kA;#EmhC+RS&*$#`3`e0*YiEz0TD~40I*a}} z4LJ-x!TNqG0koB!>53xHg9VH^mp*C`a;^MuVu?;cv}7mZU0Y3^yirsnxG@g_!B?&u z4CCtjAc^qXF9tt;$0srM(F)_rzG=;KS`H1841Vm+FpFvY?NS6n%FmMh`*l(3+JhhRp0LIN{B&1Hh-x1f$Cn<#XkECx1ap!kz}k#AIpuaVP1 z7DeiE^`FY?vJ<(!2K!DS^X?P82;2NNOPA72rtm73fm}nHN{p?=&rkU5kC}~omy-vW zlOusUw=L%>sz=ZuDo&O`r^ZrA&(PS|SnmVKssO$tTlFXB`}0B`%PaRHdhXoDEY)vt z>_))0V~!P<&adPO)LKwyvwDUqDlw$$j9)Bt6}Vrgc#{(qE!y$iyJJ%GSGqJZ1#nn- z38Rd%z~la7&$~x%{tHXh@phJc!JW`9oBmhMdiYi8tlMp&G{gvy)P))NUyz_**B-ZW5z{LjE|8kbmKGX(t4{{qFG6Q7WX|F524!>@1;FZ;j0yJ<{+ z_W8Eze~$8>E+Zt8n9pyH`QIN{;nCfC_`ml)*4+Mz@qb>&$1U?L{>!f?YdLFJVt-y{ z4Dq%mA9c5I6BbPrixA-i*^JJAIJcZfgmQvT7BPKYpPX8f-e$yEbbKE)ub58zx>8Pe zO)Gi9eocnPhe9Bxg+j7U$c!HBTFpR>2gAxj=q!VJO~DigZigHR0c**b|M1dxx6vws`)1sVyzR>zR2Ll{TP=O-KY=kE{N^b}=d!c( zLc^h$2(mXGOPCZU3Q|-yl#7>deu*4g<0z-+R?m zzu=2I7N;fp&6gTpf91Y8K_RzH#B$tVy?j!sK0}gne^EmZvADMO0WSs`ox5EL2YI4W?-qx4rdq{v|F=hKA;a6tfR58M+Li=1Fcj62y= zGA_|s^9)5lD{=XWBd-`dxCrl|clO|^*OLbPB4wh8#E7Zly2x3dmvsV$T?#aB9UL&Ru;9n_bDP?>7jtSXn!L()Kiyu*aktfFM=e(oI9vk{2B=*P zLPAw~WvA!oE3S?2C#l$Qk_M$&5SD_{F~n-G>COM?GXkt&Hku_F3PCmiJp~`-0x_xHMh?EEO%s zkw?$~OT}s+F3nPTo{TO?^BUw`WSfCoLrq(F;4SMrf$u8+LA_#dT%I_BQ5v+c|D^kP z^C`ZMYhDepCnmjgSSfFgK5oYnYCIkw9wmpsQ6*@+Oqe|9-Qx=sW_9Wtb&|+GF~Wuk z+42`$T`t6gng(!e1m-rd&3y0P|v%h=Z3?mvNUm&TVkNYP$4!5xt!6uUCa0%U zeP{ok|IXoop^zSP32To_X2i#jbL!#C$Wsi!%lNG zBU{dtc&>o>!dIm0GxsY|-$%0 zZn>NFdKo6@;1Cf=XCfS{5zPu8x;WAg7+ruwd{><;jaqcMUJ;{%wp2jr_M?OfU+jSL@|TGRXsZuBwJ@Qz6)^+o zsE?NR6yk#iCa~x}8MJRhXgN2U%y16_TCpaZAtb%mRzXJ}K$j8e_KKp1tRbQO<`}tO z?fSmQa%)fvQ*Zv$8JJ*%&0}knYIOIYQ3{)tEOdbIuDegtdJj!YTQMCW_~`It6FQ#n zIo8zfh8=lbdui8Q<)D&UeXWhxR;0e*GdpHMCE_66xw-4-ehb39Yubi%{o4!EnjTtk@2_S zox<)lYh!GBD(4wQyz-+v8KKhMK^^r?{q^h%PlfQYG6 zu?+}*6JJLe!fW4)IJ=^!r;T4(qRb|62!=ex)UQ<{lxRP~k&iSnMnwl1b$bmty{}-v z&`Um9W3O3j+<5-tMdzM}I&=Vy^k7{TKjhNO0xi)`kMrNe#|tYkF#ZpjgN;Rlv~?S;zm8eDMbBSjBM$j zi#Q~HmF6K_5H}I?_+Ps?B*r0ie9yj3i7w^iSocFP-1sFgVP%wCq%Q0>)&^{LS5=gZ zx0L{WJ{oy8TF@Rfc80f!xb+#EVcH1f#diHGR(CdsON;-l4=NF%kaxsNDK9@RG)7N>JBTtOoDanATX^y zK>+q{2B3YCOv(&(mQnv8@=*-hh?+W7#p7R41;r*LAc2Gd8i6&*B95-Xd+B9ptZ!z- zxN9A816Gj`76-MD@9INc0(l&wmPk&_UO6N@xhe}rU0(4Xl80d3?Y$H)Emoay_&wql zpq(7CNcSE2+5?Ekt`rLerHrGe%UIqW7^xu7VV{stvr}WtqA)^#AARO`orAc%zor;R zz$mAD=PT87J9TkltNkB#GaUH$3hZP`w5GLo*7o)HS6a0fifSfgEZ zlKZtq4J{)@L;In6?2>`bVgatGLV}5(R5&8|UAIMt*A$G~-?`mLV%1 zCZJ)v$S#4nSr{V{meeCvO7r8MLw*HN5L6CdVQbjY2dK2X($Okz$)|z|D`z84#X`Z| z=0#wdyr<--Z1G4_T}IU?xE(^L<>qwf9CI)+2* z_i)G5E&(W4u4S4G_^-1NVFZVLAv+ndyDC{vrB&a1N9EJvCi|ybX-d zF!WbFkXb6-#IPRI;I4Ojlvp2@O7(BD$!PszT3UoLdZ8VSdG_0y=P5}^eSI>Ec>sYC zF=$!yjyDZ2w5!{cgRQ&@=-)E`+nV~1-2t8KLst=E@gJ|AO)bLH%E@wNW#XCJvD<8s z3dEI5JMvnsOFJi<>>}cUDq%8${|a|Po+DU%J|EO(oqbR4Lfk^mB&>QvGjJ0dH#^wX zH2RrCGYzs!u18U_%m2+)lozIEd^h8=HQQ~IeL}7e>vgm%*RdoUb5<{Z&BNTYM%blp z+PKa?rC{*u;WLLRbw2n;SGy?7z034S=<)$ZpCR_cc$@=g{#uJnIB!M9hYf@11_cWL zOyk-x@LgFd+VvA7P_RS0a@_BjNlj`C^iA~4osj;To{e5Sm>#%q+*;3Fn~8h@6zQ=q z5m}nl0X-J5cMAeZ6N}TI|JsZ0hin%qczEyv5*2it^m>MyK*S(AmK5u`RnVK9FXdzm z_|T*O!$#A-4=mB;lRY@FZ^Xp1j$JM0gQnrlackP5fLLG{<66->6nr1(d|`1^bbRaz zs>s$|No^NY9KT27BpP2n|JB@j5p!mLRG`FMU zzn0g%xZCUK0SXmC++)DEwQI?A#Mi6~{vo_jnB`Qm7uMGgi2Xa&0QoFOHNhL>E37B#h;ki6gwhP{t5`8cOMXN^Y51G z)rFIhDr2W^0vDA6rb@y}GzLv0EGAx-p|h7LM}S?gXvm&eeGkm#4r8Wb-Iv zkSQ8qf>GwjuFcMVQuY*adJ5bRcW{D!Rx7?D2P^H^#6+Ib1AbSCMy{fU~utD z_*-g|n6X#$5tjTv-o&@X!?`v($GEB)Ykp!B zsmLk#!-9k-y>C4uoOrJHVq8zm3)Y$$^i*$WmRaw`Q51u6}(&;^OI8ZB<%s0ZDyVktf$_+`C~!h3rZh&ktXkV@shFFTa;^F<;k1{iwnY z3X1B<)Jr0)$V3u2pe)1Fcyn9#arN23uNOwCv}a#W$!~gpsL237?bWx_aYL~%Q3tK+ zkNc~su=<&NEL|Y@z2)}`=jCFRtnSYSe18Y;Ifrd#~9UQM^t~MPHkM>*Yeyydke?4KTafumys`amE z=PffmQjhAun4#GRzt*Nm=ATbkZExkDvQoIHTR)^qibk6XkVcz6wpyk-(GX9G-W%OB zoi8ZjMV-d?hDU^l*AmY;14TA1s*ATHx|amk^m1B>y4t*tX5 zaEZa~GsRd%#;*)=K8s+Imt}~3J8br@VYbeU_RekKlcSg*L9+mT8@3^|nA6sl2@sik zV(ktM^NCte54%4HJ+fiJncCt(! zFgl!$s;A%w6mgOrbQm2o3RvsR=1=ZK*|h|rVEmtJq#Mshc@}ae`3|4OVQ};reH5;;BT2!&>`GuBGu2AX9qK(MMTq%eCI3Nt&N-<|qk-O~4#J!3 zJzTlSO#_vKNRgaWh3}rWZ4C8i+kWTJDbt$Qf>9DKLqBy!7$LhXua732a--q`w%nav zgE6{U%zo~H8;7q@%ZQZRGf#Mz#j7!TW~OWJfO2z^@`2>lZ|~dAX=bO&Cr$4Rat3PL zT^IR!Uj&%Py{^1?$Z3GEfX~> z#fo{fhpHxY#q!-o!S)@q9be(7P_?`@F|s^0z{YCu`24Zx*Y|`N%`7>;X)ozXTD>ee zRvM`;4kO*upI?d=bA^~9fMsKH^e60t3hIoWDFcJo?V(Rqlovx_dc0h3tX}K5gCwVX zvIAq2HKG3wE%xAf&|Z+DWN|NGhSk>UPHUzqd?#e|Tr7p9gSbC@KCZgiY{NUe8JM<7EAM~Z=D z9vj7YMHySiaBQt(w`~~?LHCLw14&uRgO+1?#)L!=RH-efoJ4*Me0BlKHMu z(=f&?MPY2e@eU*vOERHqCR;lSLN_;=cTr~bBaFq}pmTY5gCiIa}! zuWM+D%wIxSCb3^mfb@&8X{^v2vriUAyr&}i6Z``=NxTaB9ueOfWFf;Dw=G-1{>tHU*4Ew7?&1ew9 ztLJIHep@k{Whj48Ve8Md3}+(U*rQKW1q+%cebyYR+|NRT4(i2~rQeJ>$N%Y1-TZXB z)^YcGXa+V!W;GWQV)79!fgXAmz?GTIw4wT$$Fawp6D&KgD5Eem$Qkbu_kkcj1M-1R z-djsy4wZ$Q2vzhzB-48T<-<7I5vCV1a{bJv&uQC92C9CN5>(%^`y=n!qVI{yS$!)W z9WPO(pnFWp2V5&}Pc~U8OrX|TPNa>hdpO%oDvKRrFVF+IIrw?~=72ptCUyI?%TT_Y zOjsZ8wF<*$%b(CMwV$I0&nTn78d588ps9(NIUd!r6Pce+LBPL#3rbIa-qT}i#-*-3 zeN}vAY~+~JB#5h8m|xq_U?=x=VaUrg^LXKm_ynTk_kRBn^4vTSYtMqNH@G3_a(3_o zVp2Qw!l|ISIW5VH*$iEw-w+Lwz}^}dlum-bwgY8f`C8q#B3d@f~OIXcCW%TPS#sTET^wYStDy z>!0bFzKlOao58)Mz6CL}74V6{Bq3vC&4M}z8F-e}4`9sSK3gjjEeD=C;dqPTLxY3; z#pN`cD6uFs{O-;x2#zB3I_lY?zlN|WY$4bP?G)5iQlU&$0F9bl8Ebcz8wywff8H1x zS1>^F3`%k|WDRm{&G`F{?yKy(Iu@>b3^kH4{d;l!;u~nAkMs9mT2x)5cio$)aWxmG zsop3LBzN}K?iE&kjpqod5Rj}D>n+enOwvYoJpXD~%=$UbPnq`$=J)v$X7C)#zRA{4 z8l~-?Z~Cp#Jy(mCpOU`}mEpYWIx-Qlw!Li&Xl$LE=V!PdATa+d1lBB$TR&`=Rnkp~ zO&pP^h9 zX!$W!#;PBz)NZ39NdWw)1aEB>F`Iw|L-aQ`=>MsC3tzzy%Y$ntPUSi4skXu!<`0fv z2s+@#H&-_7YdPZ39!npk$0-f-Ob-2M{8U10Tt4Wcico-Omp0kldCnZMxTA7aF_q+> zqpFP>zvC%mtvmbi;4|^!ecDOmVv~W^2QG^B)_8i1$xvTNwOMrt^SN?9lI2mV|KJR1 z=X??0$#F1!KsD>c++1nGGdVgcWm;Q;+n9gs>+iGBZ*@5Pi8pT*%7a)IZ<>-2%jWbt zlldoSe#I9FbW}uUylE2)Zj9{RTIV9CUf=rY)TsjwVGRG#j9~Zv6Bn(xQT?pKM+YE3 zyJ%~R{^$3tm9i}7C&nUXR|?Hw?7P#RqPxz10oE{Nc##sJ!w(V1-&^KD{xx@T6b zpU6^~`Z4T?6j!5rWa^N{rH@Br`$I8)6zrPx#&lHGTO7A$;c>7+{>8p4-xKC8S3>`| zoLeectv@(fErMNRu*1wKSp27A-=eU^K75AxSw3qBexrxNC&CrGp5o-4gT$o~nlyf1 zO$L6Wp3H17P5lpIM{9}y#5YSj+8ku>SM@cXw;57Ifl&30@WG6(`7(y$7)3=jJuF%9 zlIHhro29|X)gHWLOIUTL`=44CSUny)S- z^c*KVGfCx%08}t>D_0yb71VR+d4=qQ9b+q?c`!`nG@}o782>H>5POyB7)|4y!)go% z^4G07ZUg|?44H)~NbbO2j0;Rd zMXz;1a8mP5uIc`ewG|F>LVju~^3s=j#N`w9F=@5Q8r7IID%4TP-;e%&v|b@%Qmsdh84E|GCCS3ctlc|7O+9_lSlRGoNrVhqTc2 zjj4J$5&t%RJ1%{?#r3Na(x3YKbJ;!w#y(DA!gl+RS@a$=e>Q`k1TzbF^|ND#wzCD2 zOTMJC{+}EdGd>EdUbSQa22gOVL+gH*K`lr;rN12Y^pTmwy$IpqI)G#l#DmjGf;Kh> z7$&H2xgfc3Ph%3#h|1aBkMoeBYq%x*6NXU2X2t4`LPpC(;pS+ARILO1l8JU&E+l`d zeM~q7AJh@Lev9hjz-O3*+l+wYc-hcbOtb>XI}HKm_q0b zcu;PpaWNHimh){@C3N^e_{27S8J_9LtHf+-&z6WW;iD>JWK$NB@{^;(wB*NC z1vr@GoIaXmkG~!4?T;&g+e#FQC6gIcYR`uf70b!Ir`8?J*7vcYNGLDQ*_I%)#h1>H z!(87~k~K$FcAEV6>VbX|rWg(Xh#2qT@F)Go`9r%*rTKwfdbs66+-$r9Bp5NAQQ1{8 z`Z@kP48grby8{fJLsikhKTB=~q)UO07?{MXCsU57)6hQ7ew-7_&XBdrDm>nUfCg9g zwa0(;FAf95{&Q+FC6Af`zR(h%McVs=9iQ6{^p(&f#hHm(P6zXn>ba?|>eN0+gH=+3 z=${CWy8B1G+njU-+exGeSogSJ;Cli~x?cC}ippZjTQgmm}6gS|ud$to4PwA95P~ni9UUL}6F2zw;6LvxU_GF2d-x~)Ewt!79GB)(J{FC@ukfzb zDQ|V>z|ii4l%~mVrWoNx(s%0Jh1P;p^ds#h7Kjht(b52ECb6PAdW}^Ib@2T!1QIVX}9U4)!*#{mBv6;Wn$b!U=4&$Rw0*)TU4pnh^uQ!y$7{>dvw22+c!?` zpWy<)lKJD~cLrp%bMujl8+{pjz2>~p$&}vT^PgqaYk22cDSYL8_G<@c8}W;lMnUg* zdM&THG3{E7m^Up-Rpqu-z2Oaz!r5{b4H~`bn+)nbF!Q|ksC6?^#;_kf=_o7N+_R-`$i5xa z!(nQ>sdF0C`>|G%-J12u6RU#BVuUw1@iVr|9Z^}CF0F7DtADPIpS@#DPBb>Z3+NH> zs$jo8xDQ-8JqcV})gODlvyI~j9V zb>6P2<^4KWqc%;_ZRd7~IjD*AN^TP7KR#(6{>N*hY1Rhe?LPSsO?<3-1@Y;|+=WJ+ zA&7Bj98%wdlGVlS&~{DsoR8~PE8eNlCv0e%$UZwNXnIY3=+>8T?Ee^F+iTO_I#|9^ zko8{p+Y{r7HPoU2!ru2s8+B>NGH zhDKzHwtrWAy;G~4T|>Ni#X?%an%#WHv-E~_-`5oF$cWk|yU#@icZh{kK5 zKSo9yb;)}pCob>{I{qU_@!mJ4vG~VWBO*<*(PqAT0}=Heg7okS^V~Lrx<_v zXP=&~2+kR3Ju1<1-LTs@OsMeK{Qf~0g1ooilnWlaY1w-bS*`kXLIfx43kUri z8ahfpI0C!5DB{hMmPSvJ_{EauGwaP|h(iYB!BKv!1w9UYgX3y z$B}^=tie5H*JB6Pf5KVd1OcBLzV47J)Bkf|nAQBEh2y-I1eVEIebtXW87ePG1q*wN zH~Vts`*svP-bL`ND0)0iDYdZ((BaOFKvx}N;}m6{dA!Id^ClP=+*oo+z8P}gyTTS< z<(VTbGjf`=OpWR1eTQJ)O5v#s3Gc5na8u7a)8=SQ)K%BNu%4f)-LQHiHX0{$h(4%- zv-FI^;f4z6W8n`J6WUc3USEKqey|9NBAd?WV|i@9yKqQixnn;x^>@xgT~qpfsOzkf zX6nK|A$vhj^|CnM*&}2W#&@gn$(lj;7?BZQ{ovMlJ`DLc)eToTYATDpprNUcW+P+A zaoRsQ62W@y>~|i)PUCsI9rZ7wX`8rca>qiwySMOj)S-4#;a17dm}jT)iYrl0zF)Mo z5M9QG1LL%FeGM2A*X%A(S`lT7b9yGco6Q-e5mUjrHh1sq+#TuAlh>% z-U*AtYD(C{X?{3e_e7e_D%D&#Y@Cfy8C6^Gs_9v*Ad`0<9Sc+3RkN>N0-U`abmI43 zdcG&r>}>w(*8Aj)+JoJHn}K;lDLllmMU&&A9tNwk;B%pA$84(!{8|VxfpPO;v!*yf zOO;F{`0DOA(fw)mbCIV`t%$@kFEb`zcwu1HUPV6W{@c4PnPXmWl&rCEhj~b5AqQ2F zWx28>C~L!E5t~+_+llK09~z!!rKn4{i3K*WLJBW}3oLS`%=9UdmIkx&s)9@V`$2jc z6?tJd-A7^;pH)Hv;nkee=35kjx zH4aY9QMe;(bxAKSI-rduu(cL;emQ%VSZ!XNcGGG5Y{!$td>q?Ii8i}$RzgOGmw=IjGY(h|1xFQvfrE!9Cp&sjsIqI`l-gmwT)Lw zi}*L!0$A^8N}E*FU>LU)z4Ah_#QdlOAn$WZqB#`1FvZ)!H_3eZy|{rCD=@c{c^QFEjIRn4;bVEyoF(prth ztYukgtZ||WT>>3tIJMn5llc#SSTpCGDfi>2ou5ODBe9qkKuTU?PovosZS)86C#16X z@Go!&T)dmT|Ng4eRlvNW_v>36C*O=Y{kk^v?t1lT=7=|yAUVp?*9cBh)RWsINP5g$ zmhbXl4DH|;(dG7hI?b>H^Xvnu+Vy(IE8_6QmblEoV>hgdR<^d-F<5E7|KodDw#ul| zQ)g5|sl4A5$FW`Af%eqw7^=V(wRf;qd%g6B($ z`46yh7r#ztdG3FryntEFDsR6t#WFE=H{xkg2FEYGUy1*N1%O*M4-<6onovq5)ZC~; zKxHzr41 z<=06sfXtL=+Nir`N42$^G}i3BVsG=%QNVoMw9;flRFos6Y~lZs>*Wsvp#{bo?2<`E zWBt}+h6tqyhf>AMHvzglM(Yos8+Y0fT_oIZ4>L+v{+2?x^o%^XlA|-VwO~#S2Uhpw zb-x$;NNKyvIgAteWsndbXS90#Lwrv=K}f=Ywf4Jb?9qk}FIS zGf2IcQK&zKwsW~6cX5M>Wmf5@p~@m7?tNz27tcXP^yj`6+1T!{SLf+x%ttv$#-iYH z`);n6F_N!Y3d>z)PJUN6)P@?i@0YxKU~XaYj+^r63YA~#@`5q( z!3nq7QR28qevm9IGEeNcC(qasB&b<$q5E8*NOrJA+ul8oI7LQ)cJE8Iz|=Ke zG&F;st$j2$U>z)Gcv%!=!arcTg>fZ}uj_d3GJid9Z?8s5tJ`Wr$vEn{MA12>OAp801iTA=1F-P6?G3jPRM^+@)`*GR<2{>CK zp}&_1PfGYPCo3twLmAsp^zN!L`==Np6|?c+dEsipg-xL(l{Q39IeOG@o$gXWpzhja zDtn4pETF8OB0iD@juH!5AzqRgqI7 zv|o<-Y5?q@2`T2#WAJzBrPsz9T>PCNFVY~S0vZl_#70y+&n%;4elc1thBZ+!igPS6<>%*=P-d~_h zUZ7^gj-u>}?g`BF;x~IYS~R(`S$A_K9mJ!Yq>D_hwNDlYcn_E`QtKUj@k-E@F+1#+ zbmO7gE~BuN_hHMiKJu$@HZ^HC+B+1DPsz>G`|{Y{m<(o0bT?oJWcfCJ(W*$&PFJRJ zea_?vHPCm@^vx&>k!nJ!tUbL8cen^~dOryF8DLieZ9wKlPe>y#qaFd6gh!4Kk_Lp- zm_PNtcYobs)pU1B-_X$Jz_YL;d$x5f7}~l)s$}s&D*V{L?Ri(6`F{?mab8o$Ak?UJ z#S`Z5wClsP72M5l8S9ru)&nOzK*hdFLkQrPZI`s1?+JdV$4`#8V_LFc6c*zsDOr`)s6J$U;kCZoAN2gR_t)ef9a5rE1V^HT8sYJs17ZRpGV zGQ|MNp5P}#f>9V4KhlYWFR?Y^S*8Qn8m=~>8IjV3{5et+M4`y^!Hi7xuqcscQ z@^BVFq~H{8mzbjx(r%z-V(v!m^)nsETxiobST&2MzqOe?I_>)1TxQDjGAO5ILKDmm z$Cqt%?1^5m47g9?d@Ft4XX=)3Ll||d-KODK@7N&RJw3!8Af84>3M*AFpQ1Zrwl97K z3q6m1UV>`zo`;_l;CVVD-mfX-{FhB;_sooa>b)THh12{oejE2P(RTvc9K*SVU_l8?rTUdWj;w>GpyI)@#Y}RzoAdgjf9S+xxr`Vd33bm*7-h zZd4!DJqD?rM1Fu_wvVkkW+Xjz*!_ zjvwKYsv}p=->>o1{f#XnRTep2=4QU z(~;6YX!|<+dE|V!zmyVYugKvo^gGPfLeFp@QEaje;xo*{O(%wjSFTa-*!dQ_rq% zfEPR&mtt(Dpk|u=!mKnMMc>9r#?oX_^ymit*T|X=PLF3BoUG6)3A8ET@aCK~(_-Gu z&46GEC;OW{Ux`*(?l=4MZ)?4UmM!zhm(n@=2hR7-0Fx15EJi=wF}urxI|y@dEaFK; zUn`PC^l(#~CAt!9$2Nyaz2WBOy*ZPzgxP~C+0RY+xfVle(G3mF5ju+S;*q@NlgrIr z4U(1~7ATQ#!7E4vEnu_8CzKF!OHfG29l9>LI=S+-LB>AiQxYR5C=wBi>s|@k^Bsp7 z4T2oij`~mbbXB*hsgdQ~IAi1EuNe|e^d)$mT8?lc&?kE0A1aQ#)(bPfU;D0!T5eF( z+F_hKi6j}fExm)L-0JKwtTrevE(iQ5qUe9u#HC_l6_4O_4#FhA*93x{oJ^Icmy~Oi z?N+p@qkF{mo$ILEKCaTeW|d4sNjQsz@+E+(K8GY>z z4bp;iBM3;hv@}Qw2uKSE2uPRY&|QL((v752(hbtm-QAtT+{16(@B8k$|J}9jEM;ci zd6^kz_St90v!Cbr)7f)XiyB9*g&oac5)WOEvA;t$!l(t2w<(n>EfmG&hrWe|EMG~o zaDmQ6g1hET+_RV-41h>HO*Bf9b5-D1DIf@$Q`A!VemEwM5dC0Zp71R`sN-`N7)CPq zs_c{HIH?yU2csr?8Yb-RN+oRq{;<&dcnh)g;sP>BGu!cr>nXRGHVsW zDMiT!{q*ps+2*cnu5vsdiKEsm>AK>Hr>x3J_s;t>hDD!Oe-W-OO5;~}RasT-Dy(N+ zJ7#~!Fl!1)9p_!;GZlXlz&r1QLA`%JRyb!>z?y6BTAJ>dqYgaKEHkFu!e!f#_$c^= zKc7mye=5&TlYcO^3#^W*R@nWzztp($vT@no()aPk?7zJZqnz4@XC)aZsKj5?hJ#Bm zX|{{R(?H<`_gll;E4W&H>Ps#0{>1Y7O^xISl!~>(!GEA7Wz@V$1}ZE2q3-7t2u~jh z9;aJ<7w^Sa(2W5_fiB%M%O|Eo+P1G^zs7?u)4+{lld#_V@p?3SfFmsIaNir)7iFy2BJM^io@RU!!B%XlANg{E;@ z*5>r0<0Cn?OX%RNic_?|OOr9IPyOF0PaejLR74>cMP*&O3)K)JNAZ#w7jzTmX&3ZE z3qH8BCGACn-dE(k}p^?QPzvNKO@Edza;+{E>2eO^^VtZ5e-JQu( z7@RM`l-*T3BXWz|IhF-rXKZoYzsqw3w!FOj*q<_QOd>VC+A_5?lCyn{k@?)#Lpea} zg5ZSYJx+W+$H#ADa~{$+;+Yv6oS&v(JEGXa{Uoi+>>bPO^iRX^qGT&Ihv{Eh2yI>p zSYqlrJeQm%NGA8LdGW{ox#Vw@(xka18t~}%-7nHPZ|UMfiHyF#ZRt|=5xa`bWmG@e zi3mFsk+}FB=IpEuQbt~(KP5%!{BheuNSy^7R3~Jj7qGaY-=9kl&UJ@3ObJ}Dta;BR z_MI!X*XCqc`UYy5QP4UguediU=NT6ctn8nx+CfPrcPA%@yma6Lf0jz?YZ5%NTwJ@c7f zR;~;UbyM$jQtz1Qk4hg@3Ja%JeH~EkAl2r@SEW)aNiKwKyz6$qxTqE}c{qy9K=A3j zU;0;4Ud~X?{hcV_g=!dEJeC2f==uCv;3|gXuxRc>$dF5h$McEN2(@(~guq zqqyD4((Yfre8chXiV~8yayO)^_|6u`)n`1FEX44 z$v1ybTi%@)Y`r$be>`?ne?Fys1B@l_OWei%3f$soU@fP32oA63iGR zrWyU7QjG%l-M|gZ!O8Ye>1oZpuv*j6l(k`BnlMks)*??oY8z#~?!jG%* zBZ#S%1wZe5nAO8ImvqrbaF1)^eJJtl=E~zKN9le=Ly~Vzu6GX?2HO6OU6=Jmb;lby z9el&Ab>!+z~f{DovnZ295hpr($fC69iHeKMl1XzHi?%S*TE;TAE3 z6>gMStSQ>R*3a}as$ehR#zJ0i)f!Uq_I|#OT+?&D&R(w6!z0RnI&ptuijJw#W?Gxs zK^#QVQyc0sDRE#c8N$KxoU8F>XzSW}nAn|p>*eN{sL}GEn;5YkH^j=>vgRe<2f+kx zIr-m3K-&VUz9}K)g!1qUhS}%_8!0(V=QuK0>b$qOBet|GTV7r6VI;yXEsZVL3CTyx zkdU%|`8ScmoJ?15^n95B9DQ+ppVP0LL5=2%qd9edLp!=L#^>uJft59V^~U?2qgqTH zrwE?+02e!lXYN68IxAK>mbb~={o}L>{20|S_eftxFK{&8&;>$NNM}nws|6L^Zm!ph zNaUg(O!9YPjdctPN{<$B2Koh@10~KOgk0;xZ)`XGW-lNg-!y-e6%&u<418^kE4&_w zhsc1>f%F98rt~qy3rAXumGc8(#fAi}7F_8%p0=EN+Z9PTrc&y)p2t!!n<(Vm=FVl! z4`VP$huL2&ghJkqIq+*4$C#e|$pl)l)FixIOl@%f;cJ)#PUrW}NDyfcNM~q?wNjs~ z#Z{{m#Y83JHXWAb&sYBCot(6txTVAXx0^!JK`)nGt1`rE$8gx7;Qn(`KV7>z!P}+}>+`nXU2toLAZ_CLoL6GOyVID#!NxSWTM(j@~i4Zf0t*j|X!7nW0bFx}D zHNcLX@vI-`ZeX|6IpZU8c2_l>wbq{}b96mDipf%!Mvt`kvsrH%CKFPph{&LMA2=!i~~it+2gQ zgr*q=73I~Yy30~TKADu7BYzX4tuKzpx4(~irau=nV)yw7PANC%Ot*(-{b0Fi7D;J` zlWfj8HQ0m-Ii6U|p&hlh{2X*|m#Vfj9vNJazB!wc?un{!BFlS!`f&8PAbxt|zcViH z6#t$|_0&KtW+UHpO@JYE{!cXrV_f}s4_tlkY%TWIXcvAY1<$BO&>X!OMz_A*hPBNG z1%uv$I&R^x9dSG-U+Sl^^Av-6MfN}DoSO07c==lGYlOp)lA4mbV(EfeG|M;=m+Zvx-cY&9nM-e&|yJ9+F}OQ#F>H6<4>=vb%-K ze`i(%5z{1>4YehezNrFcZ_hs&;&gU1Aw`GijJ!M+D;HmW(r5?ESk~zEi6w=$_aq|H zOH+App~vafnsgU`qaB7Qz&I{i#^Fmb4=tIrnZfHib(B=@qGIj~-r}{oKZwFPUnQh) zPXBCwm$|m)SZ6FBE#u~idoPBlee@5)9)igd^@RIXKqv_ttIMhp#@kQt(5F60pud*O zxwekR4xT!YarVc->S$fu!JB{}wi>uC1OYxxK>lNEAPDL0>wB%KNeBj+F862X!(D+& z?BSn1_Wik9T#zXO2?mIxnw}nD89}brjRMH8wMRB!D8*Zo%t#;%9sfc#cxtcf?x+Pf zne|+1*o>R>r`AiK)A$UDEVbqB(VT2D2?%HIR{O*PPRkrd?XM#zsw`@pWOeL!(pW;| zoeoR3o@iJ*_1jiu{!3dybBk@&FFSH*<6q)^QVPgBjb*y^(wxbx^4cCI^*$kflK5bohsy31j7;$rh8$ zRDH!~LG*_#_3gju$gmQv)tMOaHq?`kNbdYDbmkn5WDVOVNjz_ym5bn`1JHwBwOkh!kKQ^|8z0iQa&?!bb}se~Rq#Ni*Noe_+NEQ|*>t{JVg0(@4q5nR_U#ZA zaVRyE!?G|w2Fi(*Cd%$UZ`gJb@PPz1Wswi9Bd253J{zBOj}Z^TWW;Jix@cS&ElDr8 zn$*1Fij%6rJD9lmaVzEbPo(SwXevUs8N^)R^-VW+p)*7gao-8a;*VbrH zcEgi8a0;ic0pS{9{#;`@1Gk+Gi4b4n#=KP*r7;iFLjayeNN z_dC_J1jKmbV08#h_m;?$bu|P*)glV3hnQvWQCLD~Hpv9~R_j~hN(Gd0Y2 zXuK;|AU}3}R6$;zN0OWpr#67C*~HrP1;xzIeWThAq|eTRPya>AQ~d~3uv5Y}lYBA} z6K3l6)qUm*)jbvs(7NUWMI4nb z`H&()0gk8n=ovIv&a{+Lcg7c31h2&D8&@G%ZnHI4)w<2Z53|g)V2kcw$~pQKlt1a1 z#0_Ltlej3~qcs0~q%88T7VRPLU@8x@L>$jz7V1m*#r|hXlPEX2`$ZY2lKdffv5NCj zcW&C`2@f-VLD=I7`N|Z7eMf9``C(3Ru{ZRV7Yg>m)5D&gn5l=KKATL@I0@T~?8e7} zhmyL7yVkFWFdQigeU$!@K%kKoT}B>%gpnTpT_)vn`S0Qe_K${52Gdu}4Yk?|BbnZQ zlP7C|e28QAMpZ`c{@fTBD3ed~=^l|}tbF}kk370{1JCYxyQ!R$yj8osS?+Tri54uH zri{3+k>i0Y?)#R}nLW$t!!KgNz0jz)jsjx$m*8gImeWad0NNPV$JgKWTst!^+|dWq zN(H_?s(*gj_y)!^=EHFFa&nMlbMUndzc7HgTrP`}iVVN;XQuK#K4NaC0(k7T)EnK(#)~d1Lu(F2zbEowVN@4q&2RyPO_#OR)FSR-xesl?c#RCn*<9&DW zuHM+phA}#3!8}AUM^al);1A6{-iWa`8m>A-I8bI@FM#ujxl{eplTpEAPVsF4}i+rEf@EhaejVt($g#oskx98QmY&cXRBqRA_J9RCA6iI`}(RDoJ0 z&lqt28sFJ`CicBgu5R*feZU(-mWNS?j>FaAzDBnhJNi@4HEo{$pO-|gMDvyBK<)Xz zFJZCtq!Ryq4+A5N8vQFmLhS!suKj5K|DO>4h7uYGE}a{1POGpGAwY#Q)7Nd`lsee9 z<+3T`E8vHNKwx^cjcGeqlEezP8QlZ{ZBW?N!K*E6mAgGwlS&=6n{}?X^MK^46Gcb+ z6<--oSOl#m7XwE>4bsJd@qx)UZVemZEptDQf|;3_gx*e02z#GrTO+@~vW~NhOP2YJ zLYryw#pOkAK>-?jBBoCZHA9Tof~skIgf?EX66!Zalv1q-(Uxgi9g29PK6*e{)F3`` zvPq4ZryiDr`wYW}BHu1uSx8uD*|7m=fAD2?uWO%%lFV9oK6Ca}`!6iOL0|bge(E6V zH+2jHXWq+&yPJ;}3(p;H+MUa+g^tiT48KZ09NDEFmxzl6tS(V3FPgpQP-gJGSsT0F z;yCL0!*`M0bVJ0UK=)->G{8c@wjHtIhcyQ}ZqE_%VoY{HI?=m~Dvu51ub12O^5Fs| zx_1|e=N&cT=4eHBR*Qjm8O_CSvV#;02G}-cG{ox}c0yJ>ZXYnE4*Irkk z8SaD#0fVX#s8q}BOLqz$!wdrZDgsK%LDQL-Q= z_IkM4%1&wpud)7TuS`loq3;XnKQ+#S@?X7y7z7ngTPmYUcyK!C@ZQ1I9fvlPG#4Cc zM->o>goTC8*8~TndYuglWbbOIf46X4k|OAi3E>i>Lc^gzugBmmA7s!dP?2%cAW)2^ zT$>HzhrZt{z=y~yE2BWbaM~4*-}wCrH4>x?_lVk&b$mLnpa2QN^717D1cP1yVI80^b+FReiKn_l>mhM>mQ@!clYHvzO?Q zpA;7%KIPsupCwPEZyeh>_xsOW3i+3N{=W5XWNnUzYYW;TU5D&`Gdrvi7y*g9yXzWb zVqPS}QTL)} z;E$loN5G6;xrzKZpiz*{00gTGi;EFk&5b%kX|FhV6eJ}PL5v-YON|4nSUX z3Z|`x(q198EX9D)>(|Q5kyBf-K!cML3#rL4rlNuq=wpAKOHWS507g?&!;dEkI%c#f z822aNt?P$d49n5@48<26*=|mw4QO|Ki)ErL_4Jn9vSPWAQ(FKZ6a*p$JJ*0n0G`*` zxj6(H<5V@q*pwFV>dtO%rl;$D5Gcq4vP()LJoSML5H}AG0)&BqA-2y9n5=*5qrp8F z6Qjb%$M5a!l~7Q4WQ>Y*aIm!fH<3j_RET-r(Mu>H{;F{^Io(177Ws{2Gsv zGAcWpPH^AV-CK-l{S<0S$N1}eoa$EG^-Xp)zghia7sReEvcPuv}w=%yH>+AA1P792SX0cA#vZ|Z%b-5aj-qN0>m z)hS~}@oB7e2=`50Px0goKC`vEJLKl)J0A2TQsDol?k??P>|-Ptx8k#?Kxkca4X7FO z_MJ4wn}@KM>b%ZZ&3JrE+e=gDo(DA&IafPtfdjGzR-k0Udxi!His8T>0Zx<{CP%ZE zR}^S@tU*B$+7OvIdz25h6a`&jB4xYWs+TZOK9~_ zRu8&O2Wv6n!CECU`uY@|L+zs^Wp%4hfWSd!K|z5Lt7NK#)x&mTx_VLI+`*%>;^yX7 zGc*JxRpgIHxU>t52^hJX9Q^!5kU9d~@~M7N#%r@&pe;*CAU|lNrA0KQrLT_#to%bq z@N4$OwI=J@&{=rx{+|Fqeg}r)d(EnRDk1I3|1mfQ1{6Rwk|gB90=D`(Ry)9}Y601q zut=d?toclyos;ucLxU%m;AE7;3_oWy6wF9lR_hjOvOu6J1pyr^%TxuUmLoGW7!dn< z{q3C{1aHHcqi_^HI%Z~OKx+(v0Mn-rP7Jf%7UefdZr#_mz=LGwut74La_DK&v#8FD zA5FL6sF@r@G1u$ys+>-nN|wB26k^Vyo=PgV?0~uK@^B%dq`a97xL2U@D}Wqk$_X>> z{D&J277xnRq9?}_OiYKFtG;Dm&y06{AZ!VPdsUe3x9v(vKR=C;n-G*31{~#$-n@>T^HS?E$JSji3tcIwM zQA2_P_+qdhWn+u0!pGbt`RZ!Uo!P%9%m!S~mxkz;5;-p=YW<{%5xpdNWV_AG0AFg1 ztzMHybtYr%t`q6z7@zUF_Z-HD*soTINSVdOPk?Y3eplc_*M%FmX*bsT#)iXZz>-4C z=hwDr*XEBhUjx=NAraB4c5%ayaIh1R-}}brVFNnVPfwriaVj5l@>UawC%+Bo^wg`H zQ#BvApId)9`2kc`bQ+(38mYV`Mx0nW(sUw&)WHLej@*h-Cbq^#X2XlCIkJyW^4!nH zRFTdzW*7Z?Y)fRF7nJ??)U)?&>0%bNq6%t$Nf{JA%!&WOx%*+YpYA3AD!?ccxtlNf z_@3p+Mj^Hu?tm`|sg;cVwvB?%icnocgUe<1H*_V%WV`1DBi*F2#DA7Yg7KNQmR9gW zgWFnhNm+Z?KXo9-Oa@qc-Lt*wEn#rr_yHAY)M$>}n)D~;vOl{l`-@HF04@Z9T9?(M zf=JN6E4JS1sl`KrB7?;#_@Tt8A%51g^gT8fI`A$&m{4vgnA%}eHA@YdL^Md!FV(pV z;qz}%u$BP1Wbe!|ecLVF^!>!-WOiL03Hbg97?q$CR$aYu^bY-H!qR(iJ=cZTve6V6 zB@^Ko1dOdV{5jyn>L#hoPd4|g8)|X=8}>p!1nrk077wU7m6iB_e*oB4pgz0!o+$_F zEmdS>C?Ju0oz@14k`3q$4TWA6kgUTFSP*HJJEu%4TUF5`Pfj?yd(cRDD&>{rm(TA5 zfh3CkoTUw~7Ofh~Hzp<~32$$22~V&#+}42nS_}}kZo4(%gtg)6W=MwkxH>x<52o-v zz6C2QE4ABg+WcYx`uMc8c{{`O*rch=uj}h(5DBm-6sbi!$H&K)Tm6s#gEqDRVY;}I z3zJ!ChHU5(ZpLs3-Fv#(*;x?GL&4q)YxohLZ3O5VOOvZsEmD;S?Ch%AcWy*g?5B?x=@ALZ3{~9)8$;Q7w4^uKN$brql3q0rBVKtzN(Y4OBp=JomX4 zE0k8wKW*~3NIy|mzqKuD+ARO`hYZLH`0t(-Z7B1xFfp|PCCb>8lyKnb!!DDlBf)jt z__!vk?r(IkWRSYu#nQ$gjNRSsS0P=;un$}*R9=X{bR)U(Sse}iWQJZsAba68#w{9A zpsle?l{)R&dFh>gJIc5g}@C-})WQ)#h}Ww1IsLY4#-xOPx*H z$Sq)y?*W>x_Qp$MjpzT~0QNr~LysK>is@S12G@i3+lxJ!QC#!;>yyHwBEOca2!6Xw zB?@sLeNAPto)~Jm#erl91UP=6-4sbJZm1ST{@{ce78x1XXXdX}(xq+W{mi~P-VT)+ zNc>#ymXv2sSOJXcW9$r0?3eL=We7h?4bv@^1-en1EYH9={mA^h!1zsYD1FkkF_vwp zV0$&6fIto)duRFfq_VP7tz@F^VM!q3bYpF_&0cdqkLCMgxo)GEo+DtQ#BwmK>L`yz%5eB^0V;;4yZ zVc;Aa-?Pr34k1m38k4k zctg4<&L>}=eBV0(s|y4GT*y8eyqUj zx}U?(B?g0m6!Lx#C4Ij^HKuK@cF}(hg zd`7wrkBKA~z=3%B^V`k~E<5Lmb0rXosbY2FlL~$MhS)xA+8y|Pho6~VkAgusCRB1 z_>D_k_z+>_V-TWr0IdpqO3H*-7-ZeyD z%-s4SLUrw-D!p?FlqET_IzIX>*b4BHDYqVvEKk+zfPMj>fwl73qUtx}-gXvx)XJ=O z8+M7)b% zpZA7R!d4s_kj@9Kox<=sXg}eT_=rekAb9?4rW!sSQs^`T`GOYO$D8ZBG?3Ctqth$? zvV&Auj?yV*i2dMk!z5yDJ>BT~lNa(XhzJ(|<_ zka~yROXUsz0&{jGEsr0zle-Ps|7I~$UbDPz_x(dtyf=mSklHVMO=<~om>)M3G`jWi z32D#KB0@3{(x{z%>R0;ck;LCa{Ea+)(CV<3L4f5{+eCXUHYVUHBZKmo0>Ir4W`h99 zA8_BR+|Zdg-ND%8by&s`U37I~)X9;sI<*`ZpvQ_z zDCN+w;0|sfPvtdUOzJHscCd4B^Z*?lGCYDPhr;6so8u$2R8a^*zB4H9F$G{3)GKHY zB#SqWbtboh*oOFANXn0_6y&zHmc?@i!E*;h2Y=}yc#?vY#cx7PFh4z@w(nigy?RCZ zHZCsh=8e3(gu1%AM1xxJOLt3-Rvfu+eP+N3g17@@so*EL4Q?Re2vcsmum^+uq7B3* zq!KMlxXDVvg}w5&OE;uem6o=)o6&BXX3s$i4k%R;5r6^{3BOGejjpQL>)Fcu=e| zzIKX1&2DT=OGT;${A40G>+u%ejU%@pVD{fdGp*E#O-u{{Ud+FRP&x&@g>TEhoD}R+ z;0PTDhbre8E+j_t9c|tv4LYs@se zFnLt1LR0}4{BT=rD}0-y zrltnHj7WNLnKbHo3>mHj7%VIKO;Mq~pQ@o_VOt?E%r#qtvLuL?fjUCt6-RF4f_C!W z0kuI$-3M8vG%z{SvYdoEj&_SRZA{u4;?dKSk-~#%fVhn&Wkd`yS4x4bQ4^V_kR>fm zqOQ#|iNIr(1uK6Ur;(#%V(aA~w1#cAd~QFqQ-nZ;wIrR^k3T>JEl}|wi714+;zP#Z zc5Frv;ZqOCFLiFz2+Ip@ODK>?N?{_1=U1=0gW8Di2#?U`GWsoAZ16SfHT*#xR&TI6@?| zmbsx6O`Et!ya+8ZxYN06OoFDiyks1T;$VLT3ibq?#C@~E=k}me?Qf~iWHFTHH(?b7 zGSSs1Lr?=&mT%z=Rf;7KMVc(v7_UvGq$KkD*DmNl2EBX&S$3{x_mDRMudlu6&1otp zj`omQvf@~u=E=@R!J`RWEGWvH0EuPC&p=ZXU4sQoAxID2pPbxzS=v}a)${yibNu=@ zB=z*jL1b(Xa!xaIb5zY<$|u7jX9F_gi9>Jd_lh#$!@FqlAl(Fh9!fg}A`BA{9*1#> zJ+KZFQVF4PetD0Y1zY;}&mUAK%Sgu6zKDZ;kF)WLE@kN`WYGLE%mo6O&1E?HRQ}vv z*Y><6V<$eS(1>0|tbEn14jPb-f++g3p_e#wIJJgT^ZI0bVlum`>M3B*Efw^Njv$ac zt=FTj*bh)F!kV}6Gbt)8Y@M%nLa69x_tNPc5+;uXnIh{Xo0%>9pC2PzAI7`(sKvZu z$xj>ytEX}bw_mQWEA3pRKBc0<0a-1*Tr`xnb%lP(Sa;Ex)6DV~>7*g=4Vq0$(*9gm z`>^C`fjI>R7DMMb@f)*i7t3*1?4+aT+4rHz+D99~srPAW$V&P@zs><*Vz zq}t!$pVX0?3s=YAmSTjXRs?UqQ{T=0s2eht_?ceXTYpR0RQRryh$JQHXJY=>kO`Y- zBQRHCS6$Ymhixg6yo8lObKxp8?zUhkq77xHlV84EzZRR*K@^+W+)M>X#je)LU1VkJ67kTFjM`K+z#v7`e6jGQZ zQCLijoQ1^;P`UxDBy(!7jZ;ZHe(&t&F}fG9>$TF*7=uP=8L|GpmeTb=1us%j!%Gh; zpJY*};Gcnkfm)F!33wj-s#~U3E$NB93-B%wW(qDZU9lo~=(rU_ivONM5uZtIm~4$= z@Zs*N@1c!>|5*gIEK*Ycni*jG0?kF`O|?MP>|Xc1dh#AUxcv2!sk7zw5gXBbb(zBXtE_LT zRHhHjg6SgUzZa>aq~sr57W4uRahqDz)zlz941b+Ok0htP_d*cLe^Gjd>XrtV{vvqW z_+hvPBqI}6c#_BR=aQRodc;p?mtqnU2tguFZrZN1go^iQVB>CWxRkOkFw zv_S~J=oMDGw!!_o4yQN}@0%EgdwWEZ39}K=Fa-501tS($kD0WcC$-Y?O5!4vmXygl zTCwcz?$$+8x010vcxQ6Z0~MD@A-}TFUvccVguQZ91(*IrjkX0?K7If7Xu-*`TW3j#HQ-%jbY z_=wgrrr?3Z2Ut2_=(X>T5ufLD-~IqVHCU(tH1C<9KkmLIBy^SvXd4(rP0`2uF+eI1 zB#@!#&Mxnqx+H-!Mdm;z1TLvzVF=p=(c_K%)C9`UH{F~AG8Ur4vS4FZR8*|H1AP)u zfkhw|0vgGnOu=YLi&r}r(91-bbZ9F`@rW-G47i=#yO3PaOED_Nkdu~1p0{0zew3yG zzlu;h=RHZ=buLOwO8R9~DrQ&~_HcaYFIeIaU>4JN^4SV9~c z11Kw>YT}3xxj{#$?F9WJVg&W#@MG;|d)Ae(R0|XI4*{WFv?$DF2o*t*Y34?uI zC=z845X1%Pt)`Y%`==DdWf~C8*yjuMPYJc+31;2qoc5UxJT7$0$r!`+oPKT*YtChM z+Q1RpMN)@xZw4K|wM0qW`Y4d;tSF`D<3|RIT_0FCDc9 z`t>rB?U0d)ovi&;W5ejh_!!gW9ha!=ps1?+_EXIJB%kx+j_E~m)zEwDf{UCG>Td15 zDYX6ak$#Eazia4T@qOdbmUEY)L2JkWwn*f+DwycQDY=K+eM0a;O;fY;<2sWw&N6n6 zIcBl8rslZn(WIW;GnXOSE?`hnyF>5BgT$hZ*nJDt&g8Hc>z_0LN=D3LaXj|K2vK|o zp?W%2NL^4k*Lxk&;%6d_{Tq&9CW1GhLfx@bLC>nx_EAJGhHCIL$IF*eZmPI++0OPt z(;qScFQpWRU-Oq-u?)c2Q)-k&@Zepq&mMk5&Tm5kLWV!WcbkMdDP)K&3I9yh0icIR z@!h*;Q^WTrs*d#(+kAPv{8^h29O;EqM@F#o*MsDxz6J!sf!4&z*H8DRScUtr5|p#0 z#yeRbc=0p^l0dZnda4EZdShHcLgr$@g%pq2H-2&cP8gF=@b%^3bO-(VNQUG;&bzQWas;NqUSrbXe>T3u3?Z!!20p7pSk< zHQz8oj2mq&TVNK-6W*0IaWhkgoz1QCBvP^KR6!iD`Q$cG2TgoujYna2;{uaXN zxZVrZ1I>mOen{Fwy3sz~PwMUa8nF4)%)6D-j_q9}ftLYYII#0^f#~gRS*y>z?_APK zM+gu{rw2+28u?0ohUHsW7T_xp5MZuTob7USUrCHC{Y9w~LJ2nG((gndf3NfMuz2@h zSO9%?+lNn}CpaZrD@^G+Ei}jBas481->pjt$UuUi0>~cM?FTH_hJc2gZYfS(`Ggfv zG?mDpUk|J3Sb1#IfuDIr2;cKjfz4FwVt-TY`p5{vaFmI>1Xx*8R=Mg0=)REzudJ^0 zFwt^ph68`3c9vM}Lk5OagL@8wK@T#2@$Xb>cT~XeRzS~zESRp<7EOTb({chI25R&q zpne8|4n)#m1X^TJCyV{@gKbwR5^U+9E}wQo-eUWND|K+b5}o1kIc97&zt0qToss~d zaWv&4d919Pkz>+&kRhS5xqbzuTj8Tdjo*AHhQFI+yU!n*k@hQ8AB-R*uUIJegapDp z@OO1=8CKxFK&*=vgh$3Y`AH)y`8zv1b-TqSw_Q$Ik!ubZFpWSNRQQJMP5wNfsmfW1Ab~R<%qb ztwVfSGKPRNUqD)3eogLG-Eqr6LX`GXD4!oz2MxebfKNrx{g?()Bf02n%Y;`7hdW6j zoQ=g0;iaIY0b>Pb@YcwPn)7~RxgGw52#L=DfHI_nW_6Lmi;=YhUF!8mWMngs(^XN% z3d~uoVZ4&)ev(;`4$d^Os1Uq%9GQ0|93Im%GlI8j`0-UD@tv23#-=2}dRPsh+1(!* z{^5biIWz+RU@Ja!)YU@)h5sHLY-8iB!pw?T&XynTYd%+89;J$9_(cXMb%@`PZC2L@ zno|s-O$$n9VOQ*(zB?zH79tva*bJ*YT$BLhte}A%OzyZeG129X3f{d8N4E=zTg`7b zXUxEVWJoQcG|0@KpcvY2+Yr)G<*cqsm}Z`gkVp~9Go279^_!MJYuub^7===Jd=Hv> z()%UDvG{Zq6chjwL&ngM>QN8O`k*PB`p(Gu=p(p?{=@A(h)YcC?APS#Gy6R5KjQ7{ zEe0>F1$p<+;aSauV2&CY*LED9nD{MFaeG5_YV*@qdS3IyN|p(@i*Z5FLutAA`OUcY zXR9$m6=*)n2z~RexW(bGQ1|Fq05BDhNtzta*N^Ntr`-s9T~`!t#&DOz$TmS-(mOEF znZjqCIkv;;cBl_d%x-F;j83PrNvl#h7u;4Gi7?nYG6C>BOAzV;j|W^FC_mT3_4M>m zO0Hj#jOzr2gwO*!0Mj@;zC;l+nrCu1!`LWTl!xxe%dY|C@-AUBClTUcH$2X;ZQJ(_VRgFi(b1U|Bi@oiSs*~P`-JaDQQIp;G0(=!`x@c-+{ zy>#}dr5ZqNjau^dy8F;&&2^^ux)ojciN$|3OnsBkB!w?Zg)2g(+6%;;19rKwkn+^~ zNY%O4GACqB1A<9gi{i+aNixm(y}U_rz(MV91|PcGq012Uk+Y< z`1!wo6M|wsz#7yp@$z$#vi38$UPgRaXJTPNq(uf@CrfKPIZru|xy;o^7=d|k0>0p& zzrx8NVSfCOHgS!wM91Gr6d8gfomds%5Qtcg8Z)n2QP{qYkIX)~S>n%XE+WNN6^%OO zyBJtyP{`e>w}>UQlkVU+YKcv3FlGl3|7e)VuNj8+Dx|G!>j$s>BZK4gZbFu86zy%8 znq$$q(SV2Fm(feIS0Lmr_QY&cJ9{yX*tjJHRPS-9#Ug>8hK(=W8v-3WkOheiRhS2j znYeU_PjzA+tbZU@t38J_3CLLzE}k*-tX;f%E+mvdW08sd%H}~Q2tH3g;>G^qpHNXx2P#2lBbc9BW3~D)`!$NYkMd5f~8zKXv7^zPL zJzz;UH-YBc-IrV&h@ga6cl!4w0J=QNaDzzpNzKF7OfQ8n5s&$R1b|RTaD7kav2Z*v z`TF&HFo0-b*Ohiz$=KSK72bOJ-x(F6^bDhc>NMcupdNwqzGNrD>R3*<19SyVLA|w!^0IB-xCO~cUtsmHX7 z_95$3#e7YC>3N&Xreqv!&ALgy0+irGf`SYxZjjhVApc%LPqs_=lR-jujXm6fw(?TV z(DwFT@E?^ovcic?_ew@fBef3C@hy!BXp+3FyR=J%KrWOATXk2y`v?+)s__#}P?k9O zvwR`Ly1UWex3JgjXF4Q-fTJjeF0vp*}L6qyq;n=XwP; zP$#~H2aaEafp)L5a@6*0vT4sMXcEtVyDltba-OycAj-oFe`GYj-p+}s8>WOekq{Ae zSAzrMJuPsU-CNTvC-t2^bEcL%ru%p}X!pfhrr#e5A96HZXKAt^&2o8<6yPSOECzM0 z1!GIe*-?XNOj=GRtIKMmCd40{-(L*Bc@q%YN2rb6945c@T{p}3g-e88BZyGGDl>x6 z&(ZoQ8dM-%s;lMslQXq2wY`q@!IJ=6GO1CY|G6~-8qghE-@YMq9Cy)8pBrqu(z-w2 z)lTd>o&>9zG}O0uI9x5*NuE?<*0qQmnl-uA;|FjKPizvyKFl`-f% ze?iqzIeAAgwjUdAfUOS>;{a*1Wd3ju5O)JIuE-FZnJSra?p~oEI2qoTq}nD%Qw=yV zDg{zszPtixDWusT*__ek>ytImEd}0a-poz+9H`FGXBx25(b1`CXdnTcV#7i-z{@~g z@TC+$Mhcq3J#24jwKm4uJ;kY=ZNCkgBheyfc%5QQF`jcauC<5`L>dVMkwkUB#-td1 zS@noAn4S@T;N;a!lCc5JU|-K9Qm_IMD`q6faQX60MyKZ^yEE5-iWd+lx~-1L8;18! z;o1_Xa+!A92l)c&TN!c>VZ6s$C4en{4Gl#H&{oj93KP5M;^uy;DkpE7SW9!=>yzQ9=n&CYBbq_vFmUFSbgtPzO=$qoTm z=aqwB)e$I5W}|SaSNHLfe4ns@tI6i@ejRfl@s4r0Mj8FOD+Gd!^(E(pc$>9)co67} zfB@OBTuw$tMxHky>wU}H9NDbWQZ_SUTF{z>K4Ln7p0BzXRt2G9@r;o6XEcp8-hmPsj*o}= z_;YeANeQ$|JAYC8`eU#5qaNGrN)H&i^SO?$aanvX^bn5n>@7Xp%4z(GwbmWE!eV>K zdr0d{d#blJ+|!^}`;?2t!O+TEOg4ura~ZuUC?DdN@0ObZY z3T8UGi!=(PM=t@y4|Lf?*@?1@7}%39&RB8 zD34`lAy5=S1pw&UIm)V2I9U{<#2cG2Z`#0Yjx-gEmf_aCY@nE%`yvx5nYEepu6Yjx z^==O`Eo$cQ>y$^d_3@uflgg_y)uf`-Qw&&CQF%F9YcmkR{93n^j&$Wq`?nHM$CM6? zE8omBA^U7{Ff)hgk!!Jfi#cb!W0`n0mHP~{xJ12Z*|EOvAvU%SZ|H7-&!vk*vi#N_ zg~Jir-n8GTb{l+OYJySp(1Fn=9{B$@(vpox@jnAC)4PfH4|oATx_;*cC&{F6-Zm{?_MVMkB*HYm1>b6Uzbyp%#t|=e5lq1-%D`aBKQ2s z$;ot!uQ+3q$PY-XK+EC_E4T(FKq7q_%Xc^c{pfjhWJ#WzZz3iDQcXaB6eWuUu&^wP zUL^nm6c`i)2+=daANz=Dm!oERx-S@M5U&i{=ItFF^;VhZh|vCx)x`)<_MnPEGo3Pv zKawu~TL3aq^&(^L@QIj=S)~3ZKea9Rk#?|K7eSzES|sFO7N zp?~}jY90dKL5KGi(*9K}z#2~NJ=^%@Tfcpll>%~m*9K9uKZFmJ=(xBcpsCq}SkieF ze@b5W02+xq%fnY$n4|J(Y7{$!h#gw3)FFJ%(Jc1xVcC8_>K|ov9J#>FJVYWYA3FK#iHs59yJ1^42 z!ouT<1$H69o=6XR_W+fdbaPeGx7Z+tUkbkgG;^`s6cLe*pp<|hT|q!Z=}i$3 z5R?v~7g6a&=^dn_QUwA?6X{41klsW(p#+k1H^1+G_s(6j=C4^ZS*)DoWG5tNx3@gc z^Qx+lUGPmW(0KqPa{@rpQ8b&%@4P)o((GsA`0OH~A z=H`Vxmlhu%3?lkHD{gIyXDQJEVuq4qjY_bMvSj6XDj(lK$^ppFQ&Qrol)k#nA%pt{ zSV~|&29~}xr8@X}Gd?Eg%#gZ0U5M?7=<2jyAJg5iAaD!Sl%O!eU^4z&Q+S`XFCz-{l4a#%`!?OIBnF>iSpYt>G@qG`c2|oJc&X(5C zSOv+U0&tz@oQ-1`0_E0&I||1lC&tjar#!f7Ooi@dqYYgAJpY&59wO$Xv|9^+yZ_hC zlu?6N@6P|eEs_M=Li~LH`xe0c|3QOAeG=}A@AdLD{+n1qIWpreP$d+~k{3t~5Hq-Gu1O_w zUTI&66pv&vaD}_Qo2oWt=G>l4v`EE$5xjz@fkl?ov)jajo#UI;?Fs3O2?8d-o;g3; z93PWh`+QF@GoXt-J1%F$6;5el$BXe_-Ozu~N_x>|G=hII`6`teqecCWLYDT?V>Z=W z+if}l-nVaIHvO@$h#i?e-ZF9FD>u4+@+83`^S*TiWk=CLT|_=YpcSmeN`gnnex!Hh zI}@~e+byuHpmHJCz}YiI23)rVM*^5&&{-?Zjc~9n_7;r6JQo+_?bN)|CYJ%oCK3aB z6WDBKUX9)Zu5Q?rQx^%B-$iYDP>|Y7p7T4dn)oW`7^yY>2rQNP)_4N%G~855Mur#2 zKY_Ggdk-ydeRuk8|BsF`tnYReyhw|f)T6EOFM!!;o-u7fzKsKYv7x~iSF^B%GYZ+S zz*D@3KZ*4peAhI%p|VEZcc*`JoVfc?>BDCh=faxgP;trEg(_2#VwMY#w9b3& z(DXPSNuzKpb86i0nPcMm!Q$|TwBZTm0Vk1M>L%YMRiab)X!ArEAu$P^u#o#CMsRiF z#alz$1BaQ%%S)bdp5=YedEn^!V+kLU@~nO1j4%2XFa3P~6P~BjmC-=^S zIfALm0d4@27)|V3NyYf^z2Q2{Zfar!J4En@K+6M99;|36z^=P&EcY_az(|oBmuCp~ z&)|VP^}XMd)u00ryR)8NpO2X@O~HPLE@gag;tn9_kHPeAJH6*(%c|;XWf$>&)7l&% zGL8A_f}cO+`jBG@_o(3A8jeXj%i7ETCF;0*CG$1Kiy}Ch(!#OID|FRu6S-6JVg_#8 z$`Q+9a8MKN@}ms97!PwN`XaC925*r7>dkpcUL4}Jlp3FarK&Z)emFG=luyC+o;{2D zlQWUwESc>(x@YecV@D*)_zB^hivOWnB6af<&72qULHv~l6Tc-E@YMBlGx1XRHNs!i z?>md5JKvIC-R_B04*o=6?Z&d|@5QD$FhFBS_>2=XK-RXS8v$@W^io#lm0mM^?qMFme>k>5HxYN{@2YWqC z-sN1^;dIlT_}@i~wx>E}%qOdZPB%li5{ASlEqX$Mo%IuGW5at4lXsHiK>*cy!KgFl z1(vTRlE=O0H?YA5e%TBU4M70O4SF14k(Ba=xg{jxo1ROtI;Zum1OwQNJKDHsWuK>; z=B-viuvS5PRHwuc{Yz+O4iGgWk2td{`zJuB%T^nAb@EGTg8=pyI68~%8=L~*#k=I@ z5cn@Ky6IjIu<*(EsN5sCX|&MnCKlfQ@;n!f81mdNUzex4yY{j;!fxJku=SG9ekEse z+Y5uY=@UDAkL~?0UK;6gmkDTM#xQhjMn?(h5Pjw0(7_N`j&KEnMPeC@4C{tx94eA3 z*6kA`t<~{EvSZ<|irWpb6gf1zG00RbLjYJ9PG%2W@W~5f=M-Rpi|3@Dv&f#q*VP6# zo5G6WjZL+PKH0507{~fvx+I9m;Ev~?W=pbXID7Wtg_=O-3*?GY%c8OxJK+tSidLAKf`7II(x*#^9!&_DJ^$~wiT*S(h=i6Je3!^lyYzhiYy{H7Z)6uun7pFLOi z9wZ&(;PffU1ceW_J)GP@qD%GE+L7`1_SPrSz*&&e4%j zGil;yy8Bbb zLHVq7$-!g!!2|yv1V8vZXh5uoGwwdfSAu#yfO5ck9~>H~t~?muZq*HvBh z(}mQxPp&q=Z=c9yFTuRikoWmcMh)viKgmMLpBVdQ{00FMMtGXnzImItcN(vJViqNW zt5c74bmM+f8Cc|lXiuZg_5ATy-2YGPjq$6s0@c;ReI&@%Pdi=0pTVhC$d}4s-&Z3Eu+d% zJ|~jtE|L%Ew$7t#9O2}#b zQh8mKtSI#kZbh^vDF+masumY7mUSlv2m40s4Un|#eXW^&7nJR;?>wc=?D^DD;Xh*f z>`t|#1>Kpd5r^~30K%qOMJJYSt?eWEn*e&f6--YHENoNp21whGg~#K!F9#8OPJW3mEw`u(Pwh4P;gBg2Hyd=y%J^5dA3X z)65C7UBKc8cq#nAz#R(%lk3lEF0u;-CVi~}zX7@kyr`iIq{1ti?mD92qu4WFU*8Au z^6Bta?wQM{G6JzLaN&>Je_J(hG2!#`E)ok>>FS|vgrYirV!}*(yGQMzq#>86`n-Fk zS-w)0`C9(|^|$*bkvu-M>9HG>%D&?LFO$D!gUIId8BO^k6pM7)T=Kz^U+?QM)`8-w z$noozpU=9^y;X<>kU;H3Wxyi&z@HZ`yr`}1w3b!BpST}OW2Tzv>-4G)OOc9_PFGO-<)p7AzV0(n>hN}M)_WN zQFh*7B!7b-8aI31O;GArlL#Ej`Jji2WlbaR7j+vXG=c#8X>c=abS1dg_72EkwBRs~ zxR_p^fLGt68bNwrY zbt=g`^+ELgFe3CD66Am}@T?++?N!apH~_DgfsE*aJ~BMqhCB|Z;KGF9yNPeqO%KN| zETKW+Wtz*EiGV8wz>FYt!u(F{OI-xjZxP}FBv-n~GY$B_|7rd&4)qonK^VKkGzHg_ zzl$t)4y-6*5*OlsrO*tXD9wbaLG+vO*QcMCaTbm@`xX&2lV^+emF&NK*|(B%(d{~4 zaGjQsF^Sq*H*Z*B9h-;?Exx(U^KG|y4}?`R{oQo>7n`oFON1%=bS*3V6D zAP(IuWd zyQ^`Pu1lYFm(p-SauWGE`ET`y{`}#j@r!LBg_sgeiz||K*qCpj60bv);dYO!%KS#$ zHt}X+JFeFJ&GwO_g-+Dlue0fD-DZ!c@RrAgs8_A$U440P^O45Dk3|^jQDi^h$fK1+ zZd0SE&G}P=E2R(C%)i-4{kXER=YtAyXs%p_s|yL+im zlX1?6QlH;XIQGo{m_Il@;p7GwO|MI8w!rfdK9uH_xI%ZTD48tf{qk7?llI4NJ;xtt zS!koe6ur+M`F`uEC{qu)#yORQ*7FT-xg_uvp7_{5Isa-g2!wp&;&|SSyMjXy2`g(= z+s60*bUt}VWx(_<@4KD=x=@hj&l&RI2)=!VQ^B9$5<|0?W+BsCz0#seqQ8+|U{8sv zIQS_lv)h)^za26Vz*#mO6kdUPpiXI~RpqRXdikkh)N3_`jc=GF&>x8<3uCMJ-qIRC z1jVmYcOqdiIz;o5`Q*QrSTqkw{=f?lt^l9z=93++_gjUiSiEc@Ay)qC85;HY1$PSr zE=8|h9*Fd`zOp0+@rPx*E$rptPr}Vj!C&?rsU-Irtrtb$|-MelzXHeB8g3G{gz95BoB6 zxX>7lL-e}~=*k9RUk$Jv!hazv*G0@f?p_o*mu15PMxzCaqb2gdzH zgl}UXM;5Kz%xiQa`_xz1Gs3oW;N#u=yuq~c8Njj*WGX~=L{QrR(TUtc=p{~$__VcT zQR;o^XcaFnJ)*DY`}?;#4B`e=CDz$(3iGWhbg<2s(3m=F_KWB0{`q*-AC+QO4znyZ zHDddb(equ`x!=K|!$;qu&@I~ckV9*K6XvVZBbp*gm*z9C-QxMZo#`PfytXiOH41au zdV=0GMs{fN<*z_cSw+x7r`?UlK=lP&=oj{~R;!izh)${^uCg0p0fHL%>2>DQQCWXp zitZ@8KF$xd-}tw-H!8Q?X;QgGsM+OSP2uhPZ^|O$DdU!D8|U`!6?qS#e?BD1Mh|n` zdg)$W&FTyxFIoz2V4)UCe{T{$m*B>84XVculwxEQ4j{f-gl`39?=H*Fv-j;KdLt9F6Yv*2qjxz?@lpTjQbdm4`R*0 zSvmOeWB2nv!x{H;nMwbf?5!bE(KV~hU((H>`IKj^oeCd$Co?kMqzJL;#ivDI)6@j` zUweC}@4x!DOds=uLKg=m#Vfh3ty~~i>`KO(tW^-t70>$``ncysWzw|uGqxo&g$Giw zFyn}gI65(bB?v3!V?f|)9B--{_YPfgFkKV3D7q-HrA)s^Swwr$4(tsHW@5^n3cr@FMkhFm9D{4DXcwvhI>Rm~?Lyq(#H7 z7Y`>Vjp0}=nabxiPiV7ZBO`kR$I>g8`((|3)G|ntdx+R9(Ju~<{vrVTqjdz?4Hjn| zsi88uQ)-I)*SHQ=chuRocL;y(6yKRAC)Ym6jOLis}9T-Q|MHzXa* zly>eEZHm-9VW)Aa z@7DmdrIv}fZ^U$59Nc%H)<{RCq0`I@#k`45w zW`}5qv)LY<9|bCi^(cS%&;8w7(w)&06tUcjsM}*&ICl0jNxV%Huo_0rlX}ODjG4TFw z*@N#^IU*@+v~dqCeSC+3F3q+i^|m*ka*l{j3<$~Bn{F$2zXi~32E&IB0iaTOR_ahM z1#Ak0TB@qwvmFzd0im$nesQ}-T~#gUfuPlwhK1VQt%<1;FWF6Sm^~2i( z$T}(9qkAkqQ&~90Q!K(tYQK43u}B`rm7&N1d6vrv6`&E!8CZFC%mz>0al}b${mdbo z3ykKkKJgV~b%CXMJ0)oDygE8?RqI#tZz9-4exc=RIg>~&o*ME<>igR&w$3}fGQ{5vMZ(Wu*L=uyFz35hi zDBrys+WfvnwPo+pEd_1WQu)1ZwNkR+$e;T~a?e)kwkkWmI0JCMIJUMlh;|1Eh`(j* zlT}Eh4R5>U{h8)&H1}5_pu;rAoxDJpKldkk4+;Uw-Tpnz^N8_&wU0q}hb!WrK1p^` zt1!p@+40fQ;yI1-ht#)YeX^!3-R1r`d8xIaB1Z4M={GKT(9YIubnCzAh!{l-X<$8h zT*Tr^Vv6flq3DNg^}^GM4ikyx+;wZW^;&9`ii6|bm;BK7Vpdj`=#!zVswW>DC$p;5 z-?O*HAYKyaS&ufNY|uUmRI^7p#dhmkTVZ)~KxrpzTZk)A5fCv$=8)Snx3bAdV+`Ad z2Z``m-+8&m_1@Y+`wY*{Qsxaa$KuRSo|G7Bjhw^)vWTy*oKI8P`AzNU4_v`ift3jd zYn@z-Mg|5U8@O;7-=DXa-8RFQW}iQLOL z@G#Qbg0`QU@DE#~qdFE;^XxI9NPlNe-w{+lLh?lNT{T5WR@(GSgO3CV?Q1A>_x)TR z1-xVUgjbWbZ4lldadI$YQ#5acM5P%Qus$5PSO)4Y1dtX+sJkdzFyTB)>s9mw8SWG- zY5YY|Lr*vdt?o?^h@q<=)eOVGDW_qzE9D0!7^Dafx%py6D@cvi4!n<}Qh(*dj*#~) z>p+D4^m@uk?mER0LeJ&h{73nq1E7J|graXzxZvRB&(P4?j@^|ffM6%eq#1bSXcvKB zLhhCqZN)5dD<<2Vg4nqQSAvui(qdu!XL@rU8S&!#Qr=Q7$vM~3t}f3Qj3>~JmwD(^sHJKz0iJCAz|8<79(raQG$dqcViHyO8Y}tlHumvw!CjKNiLioajhWWUuMyiee;!k*gKjW#9J(F9OJ*ppy>OZ z9!HB<_LK}E(`G#%bY!bjKs)FAiXMZ%L?vu#_YsT?*;TptNf{ZkC5F~P6Vd-BjTy{e z5|LdO+U>3oae`maAB6aCPQ{FGad_I%VBwkM4iTW7mQ_@c2j1uIpE3Ef%bH{~N}s3* z>G+yMCyaromk%cN z4DjYkn>M62@nvIOr6LS!eJ37h_gHv+XgIm0L%96?SKb2T zM3v@!<3QDn?>}@XmG>Fb?bh2fG4KxR^;Hg2VHmNZ`vTh{y@oAp}a`E*UO6UMUP@#-mRZ z*oM{}pBwc^A|bSKI~6qr^`6)bwO~z1P<6e767gHGk1~*Y&fi-D7QG3vS986*=nuqX zUFO%>SM-Wzp9Q#227F8XXoCFm-{UZjCr z40zQ3hRm{=Wt30+G<5HUUE{&KUnFVC;|!SZ z26ymB3=Ht*CYcI2s3gV)miDrN@d;4pyQh9&@w*5>&7ECQ!%xpC_B|9H1quWpfRSuB zJT`X0#{(o36;S*8&k0FA1Rh)fD1d60y@LaOUk#ABh?mCU1)}kumuzV0h=m;@#M?r@ zjJ>KFnbgG|OFqC61YUJG;jd8p4aZdIu7jW>74{H?y88W_Y6-C~M&mRsT=!PX0 zZMkpWw*sqf&_}``&}2DwTg-t2?0Oe=QoLg;`uBa=!%=UuXJh|fo+3U4<#Ux!_l<4O z#jGFCb#pZ}o@`Acr@vb`;U<5Dfm7-$@%;4%eP^m${%7{H<^ubp9h0Z00fGs6u|WC2 zQgN@;jTou{Myi0i)!N$G%fD|vgIv~j!TKX`a z7}+iXjj!r@oZmm2w@l%JX@-o5q)d3fv5~Hae>a8adOyyqz(K+rq>RF>>h)xG~j?(jk}Zc z4gOpMQe;`%VOB5LC>*D4wN;5+H7g^X{Tn@hMwiDVpU+Oz3}%RQ{A!-jrv@DW5uabJ ztlU<3w{|~;2YLK8p&fSo_;FWHo1D|(dE6{A*Y}=5!ZOZ4Evo5ke<)jrRpjrduOd@{ zL@H&kKchA~8*K?{S}|Jj+~3RR$6+~xE@1F4po!!&uazo$I|z*Q3Gq<|%R5{ic@s^$ zhved2gcZZp``>jVk8##htOcrlc}9CH8rMZu`|jlE3F=!~1Q6G5JFBX>P08}|@>*?f zuZF0UXuvN>KE<#eiB{1{U_&T;m3b3ay2BH=v07surWbzrN+*1ZmKw$NiXWyvU zx5i_s#>N+TIM3J9C-Ztj<}S}!lHf}1bV_FCUD(B-Fx&7Nd}Sz9zkm*zCUMsYzQ*ul zrK6ZP+$6WXy0V0t97TDSPCI~Z?WNcv=TJ#Wfo;oR_^1f=Q~pmc8-Ec_(tHKnB?4;fS5{Mlz5+MVQi;1Ztk$0xqmUpD5R&fB|= zj*dMxJvCz6)CR6TrC(&0Go0X>6%lgQMC=30!QGHTct zH;}LRu|HTh@YW<;hdPCg_=a3#>fIq-7lqzs=Rq5K8}%ck%@fx9E^&i!>%9-bt*3p0 z1%)(=2<{k|K}%5MsLwvJ?>1pF;1f_m3756F9yMwCVKV$brG^zr`^f&4MD^=l8yhWhx2BHUc(fB=2-V*AL z35UvXv5!788%u5D+I($q>A#K_?XiY(+G((IPz_WT%0s14J!e#P+V|eGX{PFQmSKlJ z&X@=I);zhy5h(wa6ED*&GN&!Pf>4GO{w?n=fw#? zY4-k5)y&rn@s`H0cY&82&gO~hR0?keIy7-Qkk%kDlFC{QgsR1ut5X7+G|YK*y2Y^m zUxFa=a&;0SQ>HY3_iuKQYPVY79e$6;G97s5kwIBLuUN?;4l1rIC{zh_<-EF9jbN<4 zc?c7jU}<%P(K}j~I$G%du05u7Sn6-?1x=2{1^QYl8>QW*+uL?FJo~n8`&gd8CO}Lp zyzQ;A2***nv2^CAjn2YnPphG-O{OA#>{agDqkhd^vhMQ{$4#84zC0JxZtxuLeFlo# z0{-d+wgVv9z#bBS1W12?e#V@g0W_aDjNE@LKEczpSof$J7;*p(J4meQ;|~Jitx`e% zkqzv++}ix6+-sgqv!VkGB_KBk^s&xsLH#CM`OFS{rL9`Ycyl=FJ-~P;Bb&_vH?i?T zETm{;VDCDDdkf({K;U6_#GXs52eTDr`2g>rCnxvxfUb+voD>F zJwKcH{5#K6<_ht6%}3|oY<#(}?c2K8@S)1^zx_qg*Hk|v=fi_>zPV(yKBDFoo|dDM zpN&g`QTGOaS~E%dPo@^C#F&Nc+-~?Y?yg`i)wI5=OBQxTxL!yy`-1NPXp zfeaO(%u}ed5T6B{OneBCQJ(%x4Jxf@Bm-CEqP6ddg(A!G>)khV=ABPLgsc39ScA5^ zyCf`s^QJ46$DKRD`N|MVy8iWT4j@4}fLs%8J*Q)dS*y|~!n-(tWE0TTlAb$zg**4w z^bIVAb3O>;42XHvvpuhE8i;VIQ9%Bd)kQC|9ZiU`$2pjt3{8Bk-VWtWE~r&^P`--x zR3;lIDOXH;g+kGI4~u;qMTd+JLu9P&X2XCRo^$5iOp zboe~s8d$6@HlvF*Ypb+VtY-4I}eoM->EoBmX+=4MSZswAePC-DHnR1<9>u}`vSyq~gZ zziN8)FVWOxvWC4Sh5z+%#zB3)-IVM6T}H^f^|VF#cE=XI2~swHEbHIQFZ3BZb^0<+Yg;UdTzv^MsLDc+8#0G z{CUdtU#3cKib}Dr$WdF2{$Kj|x_dS*jkpLXQ1W5X@J^LgfV1Ks_(U{b1{K`r`strw z`>Wxe-j5)EksO2>RK^zJbUolpuirfkG1oN$%ZGeutYu^-oDvSh#cOaez7n0^V_`;S zJWI3#5I3Nyt1Va;G$nnV%xddJ_??_UWqJ|-mJYE{93Tm(RosRJ z1!h8z6`5p6c`;^3Mu0^K7$ZOu72HDrxEu^X#z1cMj?SlbOq<A8pS{YXb>`2c9{s2kr;M!xO=>AyKWnWEMrb8R1@#GYnjb{QVcIo_iVO#Fi_>1$6-8yy|E=CX#1D`yq%{?*?X_ngGq`CK9D>M$ zD<`cN;GUZr*<5er^JqI6$vqwmr;d*f*^@;33a= znc#Qu2}!DwhAhtJIKlCX#f+l z!}F5mU~?o3E89HF@^WOTHgIheHp3Wf4(CUyfdWF*@1snF(~e3RpvM z5mcmytsTF^K}USWkRX?P0u%?fx5- z@#}FIPp3g(<-gy$6@S)x_-hh^Q(9QBm%`oKf4?oCBRn1z@%gmjii&KB4l#K1b@x2r z%DJZd`*ZN-afQv*c6ci~Ui~%B#UfF-0e1Noy%l8xCL(|E*L-moazf z9W>FghRi^Rc=&B2zrUWjxe!p&OAvT3EzqpVR-YoD5SOXcRy+7C<9qpZ!7r@exTdY0 zErh=npY0a;4#+))h-M9TlbAp>|B?2f0+a*bJcAkrG2PccDgMVp2Et=t0|Eo#zZA$U zA2WhJ7VgW~;f#scVM!#5F2@5s9-+IfikoQyl*Txk1mTiGns6)2O-G`>nv?ypKEYH^ z8Tm{j)%EX)v!??;Rm^5ncD*n6q(6atEiV5RG0c-GjA$kGFrJRJ)e8F)8wR>jPtZU0 zmO(n)qlamii-A08leH`~jK(j6-Xet970(%s%1*9bL2vkZ_k4q{@vycx#70oJh9!>i zefeT|<@zSs1GI$XsGi5Fte-g%9aaX@W7cg6<85!3-q}!j`t;*E#{HS7YIH$>2CNw? zRM-*=-iecwxtS{NIq)rzN0WX5X=Za-tM&RqpMVF8$Xz&Q_E+F(13@=?6DbeFe`5if zN)s@m32@_$XY-Sp^t;V?N_8s~bX@n-4RJ;J0z`gDr{>~BR-14yrEo-ijZX3be3bm; zXSb5?ricHHc)E>K1S1@=g~xEza+%!oe9Hy(dg5iX#e`XR^N|6?p3g!kM!HSzQRQlI zE0CqUIT2Zma5zWvuqnS5xoo>$P+m!--ZD#BZq!F&~rdW$uB>M__&~+HaJu{}b09VN(Ot=ZmhY_ra;z ze>JU)9=sZ+Z*QEu647R^faHCnWe#M}L$vs}sfRuxaH-NCYT_~jr2qbPq%HB>SD;+Z z)fI_cO(u4hwe`O-GFlnloA~Y_@_euUFH+FoYKaS4U0c=8<$Cj{MJ<#~AA-gQ+;H8o z=QP^)Y(j1+je=DgB9+O{uB&`tSRSl!eQGBCZcqQ?&_>J?2uv}kxU`bUTemGUY3UQ3 za~QF2;e^%uIoQv|;1{oc3(MpXA(X;w`UxlMFMV^qzM!&8AGX__1KGbLD}sv^!=*8H z?JG4KU`X+!v;5}ta0I6QJsXGy;w&M#AJmtUK7tKk;Kjqe#(XAciH!eDxA(rInaYE( zI0oSa)juBind^g%GsUlpqJ*XH=hD}X`H7iY!18#FQZ9?J>PPvFnFZn`xKudfEot&_5o zyHI}j0PmX?qtYO?JUqy6uU`b{P*UUZD}>@|ef~ z>&vYH%sFqD?^GZm{lzeMW6vS{d_Fe%9gx({O5o}!>@H;)(H2Mw*p*Lg>=M#Mhk@%B z(VIvK;ki>Ue)>u$FF5&i79JP#$<2S_IUy>=DlJ#Uvc>`Ypfw1hx``6 z1tVyf5}*X}cSvXF=cw+@V{v^9(r<~jYi5LI1nI6#@ZLqfT_+S?mQi|tE3jLJ)2iny zGIs!$*LYejQ7;)V1!p!EYAG`#u?1OL~r z_5`t-9<{Z^iuit_X69zP~oYaq|ZBGhznL(WQ>yz}rP&-<& zd>}W{zIL#uqM*sG5uT492s#xM0tX~Sq$hNKECBFmf=Piuj%sji>2-rn@#5cf1rv&* z&qUJFXuRp({AX??#|{K(IC~y6&jg2(rE7*ZUP)`zK2i`Hch2?K zf2p9l?QK1?$Y^@3b{n!n=V5NLRk6>qj~ua2;9~84XIRs}=Pzt@iWQyw9M2DX+H!LD z;+UBd0xzaht{mc7{yxHRpMF7X?5?P&O$@l$JzL1#bd6i216|kFPFrtHy{A&9-d$bp z_5ZJnOI>kL4MzX<)A6kvIx_%fYc};3atK;C|CT2Az5z+&vo-n2GhgTxI+*` zQTngU@Z{@V?ku~{Y1auR@UH^s41W3cWjU681y4<}WdM0YZF7>MZX#q{Q9_l+Kgo{@asvU+~7l-!X&YJ5x z3qE)q_3Mtn;(T24Imky|cy9BF;Xc{^+Mh5%e|&bTmuu!!N%!99U@9HU$a?T^j+}iT zAwg}1WA>7SINTpTB%+$b;T=!Ghs=RNYL_N>d1uXx@jrNq8Ll=g$8@Hh-^X(4?B0Hq zk`B+^qq^9+$-9q)e|ilNs1JSf{o5)_IFV=Kx|Cq+&w#mqWKn^Oz?jA-i7W7vPwbd= zYc)`DqWFVY29RY;x|{ln@Z6VYmcGss9#R{$=^i1OaNb&Olcoa-jsL{KF;2!)$WRPVtU#yUi8??)j7LZea}4B7(e&LuAZe*l9=0CcvTT?)}6#A zO3{#h?0@?0SneU}rS%5a$zpZjpnrh24Qf{x3{tR_M|AK+1&H}lU)~?IXgyUFaC5&> zi58ugaM$V#ClIY6=)3Rg8MytMXY2SfU179Z#MgIR7^UsoaaN>OjrLP$K$Er`r6y`v zQv1P2V*9U^-IG167{J7^kF;eeK8U5m^g%P6&_1Y<+>n1h_Yq3lBFwE*%j@uYwJf9c z-S!YM_PV0ux5w03*0&d|Z0x3{4!8)RJY!R>HF$NIaPo()rMsKd?H}u>2qTdn)r2Pz zkMMy|qLTHM77 z_%Ni`q#mg5U0IQ*;Nd$n`O|*4X8jWAWo_Tj!kE?MaL8YR{o$tqn(&Yl#29|Ber#s^ zg=>M%!iYv^(kvoh9isYyoOU>$!6#u{f}=$hY}+)WV+3!U4(`Ql!;za1v4N>cAJLP7 zf*I21a<*_kEqNS}_r`Z?NxX0~VU#%iCt zQFvJqMTcd#k>t;(+uK0lr^`KUMQ#u100K>rEOfjr!R3Lzg!m9M0)>F4%^Bgo8ocHl z{VNoQfZ#hcHy1PUkvMmO+K0|=OcCxO7;wXYt_`*KbwQN-B8BS-3+CC_BabN$b^ zxXLAIuJh1eY&9oc5n~-l$eEPv!*RBZtyMn>Vxf;$I4$vKMza_S23GVBo<826iW)Vv zKkin+e6;PVC!jou-7#XRq$L*jO#au^uTs=#q%}4MRI&rwo6!ZCJ7Fn(Fr&7D#oV$B zFyNmE@Bci`{D(uhE3@pMBUgjJXuDj>S!?ye#Wa%a4w~pVDP{Klev)0w*r|k~8A7;- zSF2Dauv52TRLZ>sl3Hl2vhTL|-g|LlAH*o!@(qbWO@+k}5|USVN);<2Pyn{sUvBKA zte)mN;|zItT)`+gbh3~IOj`>=^8$S$zMQy^kNzr@8I=-scxCIC>^6~n-0L`7At&sA zDtXkJ9S)cq(_3AePbvFqgs*humlLFnQgP!$C(@^(ZCrI0oc_SV1%bi9PubX!;X^O! z1TYn}8P9(?dKTD3RuByb*X!Vy;xnEu)nk2sky{Fle|nen zOYqw@`C@rL>+wddRuvjFa!Uu2tewBR#!PEyZ}+IY3!C)SIHwg|G&LAQstt-+#& zJ`0W+eiJaqJs&5=Tc-mWG_a@C#$I&EpO>e|2k%+lnND72_hSh;((Y8qNd*CHsgNBGz z7>nUokK*$WU{XgThQ)(N^-2Z<*(oR@GgOoT*TP|gR=Ob?#fVb3;j*SbeH4QS zffbVqFaP#!sTHwoV*g_Nm!JZ6L*wwqkUlsP4A?Rit#B^)Yh$L7-cPm?`-mkDe1%O9xj6 zjH7jMrw?C^gAdQwXgZJ}9;o)8JwfKi*=1x=_lnzIOuqVVSFk#t_MMsqRP?`(m&1TM z0Wej8z9V250C&M}XX$Tgon|KC-6Dhiw#vTF^0*#_A9YmOTAfKefKuWBFCtBKi@!8( zJZAx_2CL!Nd^?JUEw^9PA|%k%TI(gA-);e(P)NYx@;NQLmgALxNT8W?bp|%NHIao@ z!LDWFA_8s{9jPV;DPgIxPwsC;2@)*0?IKORO*D_Rp&Ah)6m$hlp(m)G9bUmh@BHb*BL(GC_3(gs8rVJf~Xwx!YsWqGMzR zfx}x})Y7ZuzFffT3-2Kn*)6Ak+jym|>dps&k^n6Sy2{I1bA3M~NgjC-WP@dNbs&!S zsyny)+Rux)g7VESieBjwnEgM|Nu;G58s?gSqaDPN_SMgm zd4{g(d!h|;*x~$aC417EMQTp3;x(ztbC!2%41K$^Nm?Q&JO?<)`7tqY2|St>UTMi) z?cXFq%sc>a;DszV9hE~b;}#OS`Bl~1>{KoCZop{(EFch?1VPD#Jujec#f=u64Dg-K zUdyS~EU%QYC0gI4d|b0mekmp@_MRi(vQVFfrg{E-{5)H!rQfdy5<3K;op8c^!dM(75xPI3n9(g&)@$fMx>jk*7kTQ~6i0UV|Em@uN z3ESRKtehYRN_fYSnwK{4UNx8kW*o&N@H-97{Xqpj0`L z2QvRqN@P)GC3T$Dh@**IA1ysSeSO>uz^6+xpQ)7o^nzh{VU@*};`jaVxgK$nS69#~ zNjAk2n*FGBHmh6tcDb9#TyQD`Oobwx0lcCn41cKDx?!CZ<;L>)VxVIlhJo6K~jPg2dBU%9$vUGmCULy`N4Z&g*r-KRouq zv*+CZE0^$pCK=Xm|NoPM_(%eVFEsko709{5GJRimlb zZq5$h^$xIQ;^sO&PbT@|Am}9E;LRm8oNz7TF?4c1khLVEo00rQSQ6>ZPYzwwU4mCV zy~@+5X4;L6jPRiWT&oNJb%NomcHA^CO3;@M%#GXem3onW(m8+VmxTrkLuS4T$n{5( zRQSbAV7BTUr+)a5LzWW`8x_i`T#){~m*+>}$y7K%X-oDb zbx;**f z?7%&_KQ0WR&bZ*aHQY+Z@I_wZC}At%7xLO>K(T~QB24Im)6G1{BD9z&Vy0<^#egiz z!t`vn;I?>Gb8~Z5`QxA%wlhBR_B$K&%R^V4&d}^0aW^TT`7aH$wVU34t=>cjy@?%V zrfuBA7~3CKwa8KIkXk7o)D6&O=P4t8#~)f7;`x;y0o~Amqt97ZzrQ>$1{GtpMVkp1 z6t4w~<+K1!FW|`>gGCugPilP9?eX>qKxG_BQfFHCcHN*{{>NTQFnX`K{`3j8 zIZ`)j5JORHVbN=g6w50A_5fU3`+}|hr*Q931f^rMABR6vo=V53_y;LAhIsQMv!#<0 znD{FH2W~xG2p-@Go4l7-gOzBQIC>q6SSY?BmU%-LeA$^uYX^?=!@hMXkR>6*N7nZajDUx!x$5 zJ*><62c;zDD&j!RuKo<9NaUVgR`zVPjD-Uao5k|GuTK82)C#Pc3F~9vi`jYol~uij zCJ7`sd(NCJYVjUms1E^jH(Im>HNz2u54A|k=`E}?Nt2R~lb}d~_)d5=a&)=dvZ~l! z0w#iPRpO{G-X+>{a%Z2jO}CK!Y1Fu&`f9~~>&+&^d9)@BBT`a6#& z#A9@&E*@hKM|I;;Q%M8K-*8+waxv@5+?QJDtgj3`-C77KE5+%d0uBzYJT1lojcZdH z4e&(`G3{<(56%D17E42q2gyEiX@iqqhm3`cDRU3k|D`7SckIS1-oeFC_tn?perG@GNPvYCKwcu0O=Q-;5sP^EB{V z<@Mue@f3bzxKUCILgA(!DcfzV#T+nqR27~BR>qv$HxR2#z_$6-O7r4JzQ>1DjmDSW zu|3&6xEj9~VIjSMP|OOi=~U-OBaS!yj>3|DeOqnyv%ll%!CE&u9`^k=r>PG2?L~If z|IEf%pXJ(ubc>RYmJ!Mf37yx1;R7;cEEhri|H0H(fJG5@Z7(g|B}fT^(hbtx(%m5- z(%rkXbSaI1AdPf)BOxFuNVkB1bngG~e&2h2|6F@9JF_!;F*|3TbDneVbKjsq^d%;l z;l>4(P;o@H%er<=#Sax!QmbevI(h>*0eWf* z|NCW+gS+4U9VcjzXS002zg2#cj-Q6dd=pYP2n>cVLr6pMUY9!npAbZD?4|g(GcT8` z3o0e?wfy0d_-(`)2(?*0(W_d9kmubUF%MI%Wm`UA+x}xj;yqt^a zjSbO#vF9AdhBYoKBKNW7$yZ!R126N0_hB$>RTU$kr@?gG99u-RgVI#@Z1w9?X2%@D zh-M+Geo|BapskVAQz@>m;$(MYOD9Z^pQPHAU$q3kCo)Yh2+13aaOfmCYK_3?F!4LA zhgpVJ0u5;YW#@^{`j@{ z4AFwl{mR6#puo4={&iE#y@?||*u(Uyy$kA8Qr)@}H1p2c?JX5w`8gs4{8`@~7Or}& z(p9DW@`~mJ!#}|r1;V!b9NK+bKqGL)T|e_hh!z9hu>vd9p1iu=FYz{iTVHUB)Hs*c zw0d-|#ZwVA(0Rn43l1u5F!&4GWva85rnwEd&SwMg7&B|@r^7!eA_Ac9{3 zjfMd~k!1hK;CvvNeDQX#sv&4pg)rI-o~&FVpzZnb=p2k_Jz$KI=lVLl4Ry9`tYq?& zyo(1TRs>Dby@nKz{Ly2y%oahB4v*T+ho85T9DK(h@nnL>!!er70n1y$(A7bkG zzxTxQ``u`bw%lR%jHvuRe?Q_2{V0-DywfHU!@$IbltP-#muSwtN3?&p84xiup`OE+YnUr6aBO0QA&;q z%jId7yWSz`{hSSwROQ66A~ij;!J&YV9O!@F-e!?>{6RN8GuN}{zD}yy{`iABoh9#d zru_+<+LJa8U>)+qxG1O8-9p<>4!_8}h=FYk?E{#I%nWY-;}g3^Oq$#Ug>unr*?}i? zKFfZ`LxDZ3%E$uW2o5oGe78E1Xr;K-$^DD%D_nX|O^w_+D=$}r;9d=Rj{7=CSld&p zfl54YTWyOVL~RE;eXUJ94lh0}vl4&X4^y6^teps(_`-)mILs% z<1;w~qEm!WHnn<4Y4%syahduTs&lW{Ws&mW!WVretu1rtu)E8dDnp2e&)Ot&cj+fs z@_tb06sAtaWT*J%QYheMiR&yxF!AdToHZy_yi7ua)4VX7v}p>->X!Izpl|h_?R|l$*}W z=W`3tMx^1vBQN9hW$yf|K#VRxT8{?q3r8bQE+~1)zJg!F+ow=qtF3?Dkc#g(#qf)m zj13)vj_%dnV<)1ZkJAOP*Qry`)t>_JjjWJ+e#5JLUX%}a{w8yLWO z{h3mi!>g1@L{qx6Y&;D4@;LT=(PH#BQPLO!a~v2YO`@go%vPT zco4>e_)Z*@cI_v#bGQLxU+X2(EQ;eOpRUPij}}JDtte^%9Cpvm+(Z6e#&$eNf4 zoN?|NZbd8uYWM}JNT*A#x)R0w) z#B--ptfgW?L(>oWih#FQ`+tvW$S+^@;KLt0_Gf9o?mnShT3-qyLDhUd#!HAwYk^`;SV0{F6a&ay_uOA! z(^S>g653D+GeokPFSU61ugW-fBsM32CX!?CJ_?+yM7+2!KQV{opWrq_;jvIGpWgQc zm$5RPb%lfu&-m#3WN>}_4I@;v?$zi+nGq3{-p5<^1dG4N^_m*AI1K7v2#E=Go?eji zo?;T50J(|&hfJZD5MPLtG`bk>@u7Wg=(&XyjGogCuD< zKPxewZkKDjKmoZrX%DpT{^b;CFUHzKXlwRHH7(pN1&=`o>G2`uw>JeAf0dyD)Td6i zM^f%8XcsmrgAXQvhzm|fNGQMhRMdZ8CP3{FL@FDDa^5H+-K@@&|&lU z`N@L8i)inh`7K&~@+r+4XAq&4Pq#xJOKVBKxamI5?cN4bGtU)nBzz$V$amC3Yal2i z*faL(;VgTy+u}BTM8V$ukdzym8PD$?u3ViaWJ48xDt0Y&l9XdKyaSiM68rT7{%l+< z-tVXt7qB7r|Jdf&BiMzAzrpdkJUtBPTD)!ANxASmaPRD1_CFna6ahTGU4fgp-}91v z^X;D@{aJ)IaoFDxaI5wYJJscHnAjbH_NPxkIk*=vqs;XW#5&bpGC2~S!_69x94@x9 zf`onmTYz*Kdo6{*udc@tAg2Hbdl}yE@|HMgRXL+J$5ddwUS{+l6Bq;rAaG51>(&h) z<{#xC>Zt+nc*1%XT=r`#We>sGOYB=gCDatNU9W4zq|PVY!5yc`8%Z}Sv-_AsHP@!5 zCSrLHm?JgUM{pJcef#&Soa%2!^uu&f8uBph!w~{RxSMDuIGxmRb4`p9{q!*s5SZGG z^wu(d&IuIY=Q>{R6W7Sv$@ zMK(KH?|MaIjspdG;8*QtWCDJt?N&8h?{qVC=>#HXCWCK&aX%ph8<8jb{p4f*93$D! zE6lIYN@FY}?ik@n1#>}IQpr>BrZmKl3-%x4wtZJ#L@A9yUp9aI0gpU}a(#wl*VjMl zk%$5`-O==#Fnl377=TIrxl}#|xwyCZ@{>C-| zsT159@s}_({Z)PVKV19pAk2qCX~@_*w!+(g8eI)8-PwF!?1wgPrj5o^*?-ZLiaxsR zzqjv*#7!{tQgMwPjPC+}A~l&3Gqmu1$>-n~u0pF)8hgv|_Mb)5;un({nQ@=CU34Uc z!f6SqTmXSfQZ6CARksX26Zl$WW&Zad?CzMknvffaE`B;A5*5`bPMO(IWs zCQS})i%p_mn6llQy~qdk0qRxPim0C6DWyX!4KN~{0X%m;P4E3m8pVvQ?tuVA5)ZGK5?kdWn%hJ zT=pe6wK6!WtECvzWS-dAn0?jvx}rSVOGgJm-Ru{!gp58)Vp+8KSD1L^1c{5rrM@9A%T)_pz9dP$wOv%wip&z1oNZwqyL>I#{w;r15)dPD19n^H0RGwGOSPp&KpON4Ak z_5mXy@?Ke0tI`#!ZELjJlkhyI(qh6E=y34R9V<=Sq@dQsYuwd8d3V0B@f!ulj=RB3 z-xg%dCt~>bh=}HSm0@;ySfi#EDn4GV3_4d zSH9Xu=e3seIJY$}YWYT&dnVcizbgBd?AfO3r+js$Q*$3wDF{isId@-oe;ww%nfByn zv31r>7f=*Q4z{b@`@YT#IAQenWj<|%#)brnd)~2_8^A!TgB33ISZblzh$9sVr~5(P zRlO0@92_kzYh&RK&X02=k+NTT2Osger^d7(*i8<58W8b^(G|-p2Gj{0TMr19x~%ZoVnq`C znQ%c%{Ov82F|h>-m(xqdqJfta>s=#2R?Fn5u|H@la;=altZ!@x{bqde0yW(!hMuLx z{Gvhh?KGNhGE(Obe7w@sj{;v+zA`Zn4S6QFWv;S4);|4$SkBV2{UFf28g^JYux~(^b$cy(NnsEpZu-vSW$bfL=SebEzB-7l z<3PA7%sCa?{F_~q-05us50XXv^z$?6mw9_X8B@l~dbp9=cB#e4AYvDQFh38v((V1C z4YA|tJLUur>70VV9*BK&v48VNB_9`>JVMckh=`2}MUl@Ro312nCM<}YwEvupLMk~B zJX}sV3pZB$O^ClJeM4H;Oce3wDcygSAd&^&k7jGe;WhF32G#I?m9(yj^on}e93p89 z9sJs=9_VgVY4rFG-^4ZhU{0*WX%P;$Bd-*5ez=31?#_wLOP^y;HMFv4S12fM%q-q~ zyvz|B9t+sgKs=TmF+&;{lv|h8T6@cAn$|;<0~6!mfPNIa^JKofjAz7GdbYB4-S3R) ztiToMeLM+sfgXuL&)N{iFb^o2x z%E65w_0jOf_X7Kp8yhk^lv1hC>Pg&|q#9RBRu)MGeV;C0!QyXacy;k4B;P$RsaK)M z|9-_g1N^ygx^vzZ;}0y8&qvwt->77WFFR6 zx@-~U)p2>s3+|4E6?L}R1J0F}@)-3NZs*eQv*Q!fMRp+-a7x6^Q4s={ex|9T^z zqCrBQU(dyGQqVcKIAI;kka&CX<&}m@^$sbiY4>)w)}mk7VZOPHm8ghXy4o2SjBX0A zW#ifHStFl8KBz=yi7i&(rt_3z)jVbFN&q|RsgE9!`XH4W`9@ShUwb(*N zn1_KRi&|g{+3XAMsL!vv^fO19#Kux(i;_KR*Uw70fpSD~NeTKyWl0I3RQq_y=IkKNQ<(&mI^;}iaHg;dpW=%DYlU`6$u(S7l@Tz4P zlaKS}&s6L689u;QrkbhLE^!$?fOnEnzHAO;TJLz%*OT~Z-rI+kM3#guY3S-&wN8&r zf9QRDx%BV3$R$yo#vA)EAjv~|`0jiFm-F>QMdJ{a=u^-*U9&4LwThD3;I+ zA=G?cn#diq5|5&(nkr76!tTzG9sZ3Jqno40N~hbsFRBogF~v!dXhFu&){uSWn7Mhy7{+p&$5b5#&^P5^Al@($TFe{ z-|1NYM-&lu!g`}iQLD*)-H42tFLnP9LxW!VwFJc~;l;d=jRA6jh$FN&icTvhJ)r|%+x zaBONe5ckYs*0>m`0iKw`5h3R5UO<`7mELd?&zUj;SK&RKcp61jR4f&*4vt*eFC1Q~ z*iYzx90DK$9jl~{yXzw#K;Na5lvL)SYb*kNC^FH~mvN9Tk7K|3I#+9jfx(hXEHAX+ z=z(QUJru89MTgOplKATovCllh!;PrrwtJkHtt5qy4k$RHgkeV2rA83kAf0N92@U&{}%=n zo?u1rw`2$~AQnI$y)9k$%ih-BUV1WTb3e+xn#=vJt+IubV3Pc7E-NBn`h ztSO5>IdZ9Mg%V@Vm1F)H$8Kc7O?NdJHsv?+C4(minTM1=ZjR8l;EAzp3_B_h21W#! zzq#_xEzNcUi8CsU#hfkzNQfSnhjG{Yg~g%zITK9KKOG#5I6Xa$OvVYw|A0mn==TIP zSg6WxSie31w%NrcMqy#f7s=@Pa`7nuM$;;C{KLuLUzq19Hjwg3ct|x5{e-RzAK@SX zl2kyC8Bhn#+gE7ghFEHt$vII}EYIpTd8gIUrK{z;6pM#V&4_MdY0|>UoM6S*LdJ(u z{=>XYe0~wfqA!)nX2i5|Q71CaNk}uBYdV{*a3T(rbF6L-tKB*=CS@Ov1Cn8eFT792 zJaGh_UJ&ZM;Mf_nl8jx+L*&IFKHjIuY&AX8;)DUkIShB{=oEUlw%c85kHq zjwl3{&QUz7^LV?2wFh({y)nuXNc*zMxgF1raNl!mx%fQ_szM^iMhW^)c<=R zSU1V5Vda8r`0vsq6Knw?{*OWY&mT4do}HShq-2FnwV0j`_(Ae?-6Nl;rZ0;o+yo1kAP3 z>$9|1tjq{VR-^`B#IX)GgDW*^yCX}KhS0#tBm*1S1ky_Xl(~CD4!kDJY z8m#`!3v-JuOlLT~4;fN%BFQV;@Ur%EmLY#jdUO-rLI4`|JUD4t|6G#EEp#29YMMXoi$UReWzgg z^y(K9GK5Pu770T1Y<_9rP7R4}84aR%1g{&ct}CjH7NkGe;IIk#6lmk}VR5Z67+0bA zT!Y4OV=NtabEz7o{^D;3!eHhG-^HlY?_6StJ%?hk+mI2cm=#Y#lLeSDR+^wgN_j^?#smTa)K| zc=gUMErj>V)!~JvbT?vGnB2)NU$)*5sM@F5|MoYzgFD%EL{7W-jz$@c^L#dkj?qFm z1h@%JmzNhF8lgVyFIiZSyJqns$KqtCGFtz63-`DQV(D*FJXZk2%BXd1E^8xxfdf!r z1sXOXfY8sef5Mzp&8~yb@f|Nzb9PkLx|1$O-;>p6ZS%d=Xw7>Cu>E+KDT>(Td>Fbv z^45Y#0}29u4n4TIIz8X0-k6j8Q>>5hpDpy*s1WZe z(G-v(5Fu<{_bAl&j+k!u+uPRW<`paIl?hNjsvE!7!;~Lz`))iuDb}B#^=Q~Ma?TYA8{Tobv>g*Qi1A=Ef2L;35)1f< zRK5LZ42QTXAsb;u$Mz>9HT}-j1nui$1unBolyuwZ1JU17xx-;Q_@@&B`;KwiSm1$e zPX5X{U(1NidVXJJqiWFQd2$2xBxP2b-5&~Rn!js6AGydbQ9kcy0Z*amwPY+vVlbK( zS8rMoG+%ERaXqxJ)fmH1j<6Z|p;=0j{XL4O*&nRfAy>jwT^l&_+s*{u!Z?twuTF7v zTRBEA_9njkQ)SaMzS(91l+mm1JYR;FKR6v~euqA5Omwo>l&>8|${8faV`SDK#i1RU z%}_sFJJ#Mf-`wBM{GPh~{(Ga!+=%CWr$ftU|92fJ{!9Mc*QF=E8i#9D_7&tMm=PS& zK|q$^8Jm`_u4P}+2)Z$7(0B1}C440*X}wcGa~hjS|NJ=;IXO9Cyp>Z{j;R7_=^>7m zU)kdxg@YdzkqE0ke|2=mIunegWo9lj8njlUbC1T6>8&{lb(iH*30!)O~JI5Yaf;ct~|M$Jb|?351$6SINu&=_`gk$I~XvLX_Sy&$a3W3 zrFZ(h7jUuH;09(#zf2S(>UxSFJ>^Nkv-SegRWxguW(qCML+4+sTS9#= z%_91c#lHfMR94QN*V~Ml1EG~<6TRM`xjO&bX$EsewOVbmIQez*+&5FDor=@%U@pqDcsB_4jMS!UN+dw4+t{ z;G^BX^h@oj;HE9d&53+Z25n)E5V7Ht?SRE5vLCa@oKz?s^P%L<%%rNx%Yt;vRR7sP?A7k+NTKMEC%i`NMe34 zyd2z{7D-BhWwcoMA`IA?e4A%Rf`{T$0iwvcH&TBl?0FuXkZ>rEkOGWpKa4ZFXMR-d zthp+#I&9foN)xfe{id|cT3*H?`l_TO?P49TQ6{nRP!}x@7|THLcneyUi}P{ge74#w7zJi6T07{VX7=66L#!> z{%7VwArn5S8bglaRV4Z6zy%b5%T3x}Tg51I#M&nxMwy&YBTmUTw9wtNRoKXH zwDTGjUnC$cY){`+OWJoB*uR0?3ACxz&1WTLKH~125chgC#E5uOl5PIv;o^pj?S;?$ zwQn>o7_jr|*>;zrrV0n2gq>Ok&8vYh`0g-=_sJB5IirXGqBqI)$+j2PKk@_By+3*Q zL+I-tWk+*n-~ZKKjR-NG%zb_9eShDO<5ON^4tVECFyVgt*{Xl4T#=lIXG5nPaXcfU z!>k~l5tv0wly81zfDfpVAbKn*u!~d-JKuEzf=~~r?*UK7y~Bik^{Q(8N$2GT0f8A` zCO$PadpbFW=#S|V&9G5ZpgRt5MVuagw5)7wkRWb^wtSf=_bsnG4x^)@jt5D5r3RQ8 z&gP;1oRmP%5ds60@3fyUMqT9U-a~90-_Vu~;tTVdp*t2kEU}K7OQiJ%zkF}Kp%#=e zj&U=m?pUn7R{LG4iYCQud;6m!@6hPjORHYO#S;yN9@`R->K&K zqi#=mTD+N2lDyNkbKaAsg&ENs6t!_T-&&j|AU#b&^Xdf-M9t+64|GnAD%2nQw997; z%ee;BD>B$#s;+UYVc^~rIZI;MeNuD{7@jQpCt!Goch-7MOJ;|;I(6tUMFK|0^qBVi zkIV3vy2ie3Dy_Hfe&)rj;+>h)!K{H#;zU0&9$xj<@!&}w4^TMemX~80HrRJ>_4{up zi>9QeTAr-;LttRy6oR++a2R}!&}ChVB3v^~%I(RLb3HmT(tEZy#p!vV_uFeFfJwgz z0!fR*EEr@1?=F|TsKMko8Vr@s+1c4?__nW9aE*O?{j>Q61{*TgKlmJ++s;n%B+aED z*s<9b#*-ML%VwclNo0RT@zmYjj9c1z`;D41nl^YYkG$(*LB`G&H9@p!XABWcZgSw^ zbb~GcY3}VO^Gxg2s^+cM7j-11l*dshc*8*Krr_p|n0j#Ijyrd+C%BAEu&o5+He5gHNGq99shSqmCZV8642mMS4TgSzHfO zL~6Q|p)ulns5f9fsQnQ})BIm7z{&KCKk3B4<@Kc^42*sxeg8HnNcm2d#NPQm;k;c8 zC9Z3KsddXdqQzow5C!btQi3Ij%`zaq-u9yWyAkfE4F39yx)+ePy{q#g2k*=AqT_wl zMdatwjb+nzw3;(ZEJjTCwn$EVf%oqyhMCbD;N=n^Zmkq^z?^3bduZ-MLT(5%LT(i5 z+RlP&)qM~?pVoxHd``E`f&MA*(nyfD(~HHXF9Os@ZTEbTWp`tb8STg6P9Uy#O7*gh z*_tUJZUcErF0bb9;}GDrsOQYaDHY!eA-1}r~Nqa&?4DZtU`agry$hn zj1q9cF!QOfhp0TmUfz3}_kMCi;)bpHiWA~AJrkGa$({Tc?}*kZYP52*oN3anH0icz zjoTWTzx#&8aka|j#`SR&YfR_s+VWxLuukWKSr~nubIyE+l!K7fK^aXUAQ1KUqx4b! zibFSjFB(l~uB)#g8UzGxiLZGmKwDgne;&}(C7wkP-#T-R!wXgj$MrQzp#LZun>Wux zdRxbyJI|v#kz&x9?`=!D-jEQjcKBmG3jmS`ZXb?H+BSeUYHhs$;``#HY`w1*xQu0@V6_;oGR96+t4QjBDecK zMdju#7OJ*NwSSg=?I!bwo*(GxG!tTHt2|`ELPWoOK2j zKo_WNW*vA$P!$LQzjRHV#_3huv!;V%^WS>f#Ad>d?dP+6m$tgtp+wU6bQwbX4Q$qByPrPCUniW`?#Az?~~m|Nm=!Y z13Y@D$#D-&iW_!$J&uVkdKL8#Z~G_?T^#sOD;wXF)vB!~zuSF?H}_wm#E2tq|ErE5 zBu^wv3v?2ja!{qs-! zQx6~59+EfVuCqWwYARz%Ak$}`i(j6N?e`apX<>d}iLvrH?e+HA$JW;^h)78>E75RM zu0lhqDUs$Xq83&{^y0PG zQa|x)ySDlKvseqRg|&MaK5(usoL#K6I(O@DQg1lvd3u!=0Cg#oSc&MdIQanS)}wdT zzZj;R;>E=D87L`W93;5AZ6FZbc8_)x@H^RIEUR)pVMwwA8Ev3AP{2khdFC6iFK|%D z)3oFWc(Z`mdN5uvkc2-oxqILXbP9POB0PBd~Su{@j82ADfy}R>kHN2 z&$Jbv(1IpYK$!~+mxBz;fh&gv|2;Vts$PW-cvyf;7yuC~)T3%^uT`*h6ivggQsDO@ zGwg@{jR`kr_Zt6xuJuAD3ROVsq`#HTy%l1Yv5f=~R##FJa(LJH zK*&0^vZFlmmx1gxLa{Io&kSTM0`~9=rij8bhtko#zkXSp9+XFT z!^=lEY#NIV$#_bUH?>DUhg%4RKQOVe4eanY#+?cW6G%dd9tUJw-?H#XzO6{c&s{03 zhN09J>w150E)aTNouYqep$I=hAC(L{LO2K_ewDtLDI1(~ty5M+~V63ob*JEP#?FgJ=zN^hXL))HJ{VN$g z7Pd%zP4I#cTH6Xj+&*|ZH90vt=sOq~khQ5Q*0Q>#j_KJBV&!SQX-g5^|F*9vzpT-4y|_U2~4GHf*G%IDZm zZ!c%xuRz-VuK33cv*Qz6Lf_sD;`Ihpm~m~#4#e!=9sN)3TAVCP;)yErxhI7F9geFQQ_VeCl;JPXp@Jqgcm+D?R*1 z-*QarS;ahM)M`e)3TEWFJ)01_-cRDR%ToJ@ygEj+RMaY?F4u$y$rQ&w- zoz#vfa~oqI#_{MtU@11DL297bh3vL-?nwYnT|*e*2xDM0089<7|Cbz!Dx~@lA+zF|GHr)iE1#Kyw^3ipJo!`|E0GFOseO_L!-aRl&p( z7pR%2tE+Q7jqMR=dlbrjy(3oKC{SfNX8c%H_dSUbC(ElR7`g$Tv{nGn}MmH%dMn$Q#`9is{Nkwn+Giq!Zy{7XS=kLN?zxdozIw47|V=um^ z`3`22O?Tp^1YQAJ52FV72|pAa;JL(8m1o@xW@hL(j5dE0F{aMMp<}U{+~p zG>LLdD13YQ?et@<6gmL2c!5PPzGPRmM0RC5Mj^FLu` zy-f9@U72hkwPk-I6)Jbar$b(auf)dqSAvh|_b{n6S@ovt&&$Gqoo&avSUrg1K)5=o-t;J*^}K)SQ?@6?<-JOy-0JkY!TwjU&4 zug!<7zNq+dP$rY+Dhxt~e{Z|L>3FTAB(9!zF{@OeG6;V+ZIsEDTPLm@J@$hKRZ3c* z1X6%4)X&zVc;0At;BmQgb4sWlhy`RInts?wAlOM(8R!-(+qnElb?{Z~yicbLD z$Rm4UiPjU$jX`sR3Z1q4I_DTIdbkfHGA?f5PyfcMD*|`UB7;>2V9Eh*xG#KyP#W=16d&ZTWTUg>x1=(K?F9+*7^)gC#&s$)xg+t8&?8_ zo>EW%W`&lIL4QgELE#uM`;Nd$Xd0YWei%`&w)z1L3G~5nP>00VMXe|)F)vj44mK2& zm5H#-ioI?h&2&;n|?|8@2Zxt$@;Ypcr zaTa`ojhq_n6A^tr#~bYD3ZMS&_GqRMGhm*Ow9!`5s26S`V9gnatRH_pChM6cPqU~Dl`dK6n0t=zA=rI{)WCL6#S;^$1t)_ zJ6rLLzmCHHK>Bu@I#>6|dV1$|gK=;*Ew`eG5%xPg94#&y^{T59l#B&JCtjl2ZmZ-^ zihtDz!b1cs6oBzNO#&bpdc>Y>P4w>Vu~qojS0AfZV%(g0N4AoF-yw)gOCy8iR-sruCR?f!NA^0Oc`P_`e24HyDqirO>OG`F2UGHc+Otn6 zvibPuo`Jb;#jkR~TbziH^gtjp9u*bEVcvsWP*{kuUqU`QG}L7d%_AW>$T$~Cy&jO4 z9K847T^tC$y1Ih7d@$yOb_vEIV96fZ64bnDi8+^i5%p4(8jl3wy@%k_)5g4$R@|Tz zU!K5ATCjDp&CY^oD>}jw%H6D;)%e#B;!pA>-~f$GxHCfMl(GkIV`10U#~BJAN3Pfw zeB668k1HuVVR$JrMV2vo4yr=EJbca>=u`7TVGb;L+w4TUVJFG*6=PDzEIAqS{5*2+>-y;wBz-wCEXQOlR9b+CgQHMtve+>^dlBv32f z0Gzz$QGl&479eZD49C0O#M*N8ru}0#Db2rlFDzW#2*Aw;2yJOYue1CuihqH05||zJ z@K8E73eo5Y;+fuVvT5ZUu*v2p=A;ySk<^Qkef~v8X3ZC=xdp0N;qj)C<(pC9GkuX% z8u&cO!$-Dq^aWCG*^bF$S5wQ;hOdvKkJH(ZId9$0CBnxZBx>M&0KP{UdRr^Rcp7@1 zA_!k+4&%$&iZvY&=&~LFz`gH@gE*Y`8ppBa<|f(#fYL0Um|ke@A(#-z2-OXh+ne8A%3|i?FNWXz zMTQhdyBF&<#m|ke9=-mGO&PU7h@yPf4=Pns*d71$Joa1y|B9r)f@s*H=wzH1+^_0O z2v933MXT!>Ao8y5?iM1 zb3+{dgwQq*hG#%2Bzdla!E0ne_`lTq|57pN$*~O{G=f^;UzBMVWjF9`s08B(u}Wm~ zC5~-si6)|o#P^8^*Y}ESFIcz2BntkqGbleWYMPKqgRl{)!}8sWqyhRk%~yTK&lW>G zgJM8k7r+D}KN{1P1cCxtQgX67(76JvSYSrI<^h_6x$n((S6Z_QE1&ynz;?3SX0HdY zBHx&H?Ob_FiS_;6#oR=!7P|RDuF}Nn6Ji#w2Z|DG_AIJvI}dK*WVXy1$fA|f3(d}b zX``>Y+K5#k0Fu~efBXV3Gfg2}n&WdO!Q}L6XtgoeaD?V8bCvU+&lW?y=4@WHn{2i06tCh-WXDm0s|D})4s*hOS6TVt!|HE2_q zZg3PrwMeaSz63*679N-a6m5QTdZ%*h4gz!nG2LNZeO&k0hb1zU?NUbOmnKlc2$k zAjPj3SNP=`F7ja1mH&l34XOjb_~JGI?MxV3WgR4LaKqdV1B{_hVDAAGXLuU>OMjf{*ePV)ZS9(Pu9og6*NFH5j`#~DcEB5cgtxnl)^^WUOJ-39{+l*JtA!U?)skX@bhqRC_;ML$=Pz( zCoe=tXzKn}#JOGvmHa)>jJ%g(1RP;-a&m$;sK5WnhS*{aJbX+-bag3RM{{&ZQNUa_k1T3){tkOt0aa~2 zp4R=}d6j60diR98hcwFCQE2!z<|&zmZkK`0!KSgu^K*V~d}6`~5KjCV|Aqh|lYNKp z_1)cE&H~ymCls~ba9b&vX*Aw?OshhwYyLwl@06U-_ zk>sd@VDYv+jeU_zhCT6+Hu~8WWM7+5yD$|L$ZnRr$S`P_`vQd!{0GfgfH-t@q?kXM z2gEjF`Ze6LZTH$h))Iezf1mTL^=P3ScLt~2yS^0T*hXJUzn!{OfaDxL+ef?Ad1l`# zt#?U=;E&^A$Nk&veama9G9R43nzDMT)v=Z!PvpYQUzG5Gio*ffB6)Z-M;1$dk4+6> z3w%~qg2!hgI=WwUb7Ywb!2t_Kwc3fpE@0xR2SKws?Jw+6Ll7G*Q1eKbPK2%{FQ zvUY+0!6+8MJR1uv$8CAl;xDGKQ9%&s*+YCAYb_)>@^7(WNX<4V6b|F?87Q} zu%`Bqp8*Rjn~AEbs)E^5VrIQ5GHcrtj^QDcZ~dSs0wmwwa`5fcipt=Gc(KWo%N3zI z_mpN1AvJzPgv4nrNA~pmKib|pEXt^BADxkw79^!a!9coOQUwGAX{5WmVUUy*k#0~x zrKGz%96E)eQ*!8-`EB0!`_6UFf9L#hxQ1(1DtLBDvj9vLFYoqqQ>gyk0Kr?Np zM-u%rFTp>sgDT1Z{}I#w)yWDctbuYsjqE`LakW`=FhivxJBIDvN%BOGTYjprU4F<5 z)Dt7@&3x+jcpB?FR*J^Qpl(3yYWvH}+Zw^b8PGXP552_8yOi`9G?G%d{Ck6kEzd&0 zBo1P1QQed5VaIM(R!`q3Y&DPiLbU82pl)7JI*K*~F-rBIGvqgKk=o$>T~E>N)v$`8a{RxZ7MExG-~5x--^yE{U3Dff8U%t{Feo95#Im%7lORg z1$p*=gW2jm`u_s6{eOp^CC4cIf8uYcB>(sM;5{S~Q%Tc3(^E7K(psIvr>9x{8fyXq zYy3NTQs-3+*WNbxr|!=MgGlz%vCdXH$K+diEg>y0-<~)g^ zFi?sJ@b<`iyzwXOe$kQ{Zjh$PvQ*b)j5qCZ_V0xv8oT7&@y_eluiGf&HM1xKY&>l1 zV?oGac_XZbC%Qmc`yLd=V>MytDm=?_e?-0;KLA63_~7nNi&zdtra;WJ(+9nH{DjBI z_}=TscBM`}J8R=T?IFnwH{s4V)XoMi$F@Z}mO&p;<4?ij7DFC?bPh&a_~2kLsDL6Zje*NVRdem#-jDfK%Z=xR~EOKiUDo1I}ZDnR#wE_xB zkPZ9%C64gW=Fp#wK-FPKtq|`!`8t|FH#7ynSO%!HQP{RMNbje;6j7xNqwg_%-|9cq)LlCthp2v0b*{(KAWjL4 zl!4vK$9EqPqJ`X6vTrj8iy}aUl>v)h<5w39it#x$HDYzul*wdTt?&YP0dEBY@)Cdq z1Rb->NTjkyEI)t#46CgbOjgY2rHf+WHxY6*~^~)4m4R?JbA~ zU7WP|APMf#(ni{7EW82-!2_OkGRLUCx%~P#t}lrQqcyEmDD)GQ#)W|FwM#KR!~xTa zU*%ch1&=AUQ7?CUa(0)P$#}c5;_%(MJ?cE7Uh+3|J?Ddg$znahGcJm?7PI%EDat?K zBIIrB`TTj6v8_ejka8iFH(4DV{ipuk=!i{XC9igUujkR@E;4DFLN^TyX>%xCk4otAFaignE*Gu)N(O@83&d5P zcX;m91wmjD5qDQNHcZYBmU{d9+h-~)xEvQH^H~n|hIo2g12LRV|7n|=nHk+4hr{J% zWw9WO#T!HqU!cmqv3yRIux|Xq(iNC0_6A7ub^J0WGs|~8@-&H^C36VLV5TP&0=Dv5 zh8LgR%PiHs;+br!AzoR*d2R0r$4ZUUKU)wl(w&=q{N_R49g#njWYe@MElXB%f3-EG zHn~NIo)lbr$r~#Qh89pChX49_f#_f^xeGoI?@V@_d_=bwVX`$OTM5ial>?7Vc z{L-eVI%oMASs^7u`F!1<1e>cIdn~}QrHuL$8P@@7&$#D&`zAA8GGTp-Lp4ObdGn^s zW{N%P0k-Ic2nTSZumm`H)Xc6Wo_LUgO1hhr6coAn`S~4ZAde`!tW0HiYRk3O>_-2K zeo}copnV)n)6CAvd8t)8wG)?+5HdRY?#H*;@0FG0+S=Ms15ZF!mh6R$fKh!9rYTaA zk8Sg=r3Uig91@O!wDRrDyk+(UN4g-~7a++yS?D5qDu!fn#;M2Qu>;yqS`}_`xN@1;oSVy!<=O z$z&@K20x}%ASQ{OXR~?mbvajR$xA=)SCH8EmqkpIiDY>r)8=txsVCeZ0OnGcZO;3c znKs@+91l`n6R72IG{}l!y#0)hrWNMoF#riKw{yAHt`>3?O-Dox7bTNx*Bah5z8!p< z*?FlSXfCNOT~XH5!(GXzn=|>_n5YmBlaV{XMcA8+?A@MV8#RAZOpZvB;pU&m&eH`_u!yUDw9G2%4&Pup3;34_cY58a3_hgt*~j%gxDW%U zf~2*7iT*x~*Rean8&-#5hr@PR?dBB#rpzoR)-<=_!w!VY2mrUBa35grCZ0ciI=W08 z7NvBzQ(t1L_=Xw`4ZQVdR_`7FT}f&!OrR|n70d9*H1AvQors>B7Y62dPp1s~HG^j4p~8Pz`kHgM%bf{Gjn5;<7-hP4s{lt$Nz0WL)|E-B zt9Z3dx3GVF3V&((6;B|Mp3(JF6!%Lq(hi+^!l|43kmP$~AydR0ElG9xS{+}LV|M)K z+lz*RDjdFYNcdNDOu=}yYfq1%lAy$ZX!&pp)g~`S@{Yj!np5rZA8maYSs}XBiuG)I zCB5Trr({|7N$(_*!=R$+J+#e@q9`GVZ?9a5bmAKHpy!Blh0Sn{5(C%4c|ChKVR4FZ zzAjjsCCa?1C_YOz8*gP&Z;z~R6Cz^pJAs&A zubZ%4boAUZTzrx6jk=ZN?dLS6chJ zbSYOt;nA@l)$Gk;=Ve`8#)jAR>wehTiHyV};u`TGjNnQ{M@DCNM58FK_DEP;_0@BS z=0AR71A-ri4EC9tw~-uFLob7{Z*iv$9{UvaUZYm@lc)n+jhm_H)zy20=&K1_e0*uy zE+?Y~u-e$0ZwOg&4Fma+m6es*g@w3)Wbti*+VtsOeS@%XDKLgqRpT5VJO$+H;b6^Y zX7;^o@83)X1eSpK)86l}rBm%;oOwRSwsZl|y|)t+fbB4q0E-*EzpgAAlD?*{V$w>h z4ocGyiJ=mnZUM`{s?d48<4=dd&84hVda_z)^o9@vQ!|}i!O=K8+Y-0KF0G?4cz#*q z|DHU-8s^`6WN{iD<3@hq0i9QcH{%~&z-s4McZq(Q-dPJYN3V0t#5_i_8lt}JwqM2< ztb)aoq!ocPGkusqK%aY*-ysD^o8CyHBBL*VRzY5Ak$XD@)u2yfA?E~tlNeg44evll z#xau_>ri!!A^sLzb~=E)b^+i3^#TxCvw@5Ej&j_6UR%+ijS>@?shnUB~{6Oq`+FB*KjQht>;`8SvW z|H9T-PfstcodW`(%fYrQYku>u!aud|Nv}pwid`7T>J6~vn%rD!S$@o(&_{fC-< zpChZT{)@iHi7IK{!1=~$=H_rBXHvHb;7b4qm@0{esYrpyA+)XwkNs!XD#(?J*BBZx z=A^{mK#KZUIR6q%9Fq*kFRiS}_|8PS6PkMW&S%8ePb;4l8U%Qu&5+mf6RbNl`hy#J z$myX%E~K2xWh4S>Zo#^*@|os0G^aF(2S)j9cj#nFms*kwHC=yvf#Ac~ENxH0f&G!K z8Pe!b8dO+q2wi`9$)5DkIY=!arf%KCy)!zCUCG0S z8*h0QeVSjA434qWs0Ljy_bw03dpu}}IY?M=XAq7okbCp1=1N8ALCh<#w#6wfm6iJ` zibdi+o?v)nR6IOE2AQOBcNwcb(&zCQPbk~+csi+!s}BjWxA?&j;h&v$$UumpQ$F1GcxM0ppC*D{$$iRhu z$m!Qx^ZmqbV}(qba9F1DtvdT-vRLFit!xEnWeSvugEBce=~XqMS7CdRnOJHuLqGOU&hvZ8Nxg0~Hcl2jQLyYz z_#=PLdEKon_fe_)!W2gS%?w10>i)<3VaMVp;k^1vGLBN1qU`70Y4qmX*Ck`!DPDg! zzfX|}@5AfJ-F{TQE>QlhQ_M+qe*C2_WZ#|K1J9uqsM^C*wQEt|j_PB(GpcuzZntw> z&ee-(`3E~8xGx}NdYBDmaiD2Nf=?-WSEK-QGa`vC)(^(!XpL+N%6ct-Oc07Tc%4Q zz0baKCnZESh&j)hSv(?@fd@8(^=+c8_sgQ|D_p$5;79iu**4DPPkxB&>(9?@tK%H` zXBK4b>C`tnOl+y?BfOO}Fbc24Z)A3?LluHU5lYzDgxgU90>3tr%KMQz@xvn>-n2Ad zCMB&)9}>{;;+}Cl|FVFov1>JP`9T>OkLn`wYpFn;5TPR<)1TLEZM3QExLDiRj9k@0 znZyv=J{k^hMWgv)ax*Q4$f3@;-7w*U#u4X~7hFl>iBECQVw8HlWXkP1HSSQ6t*fx= zNhV;ie6{qG@wlcTMlau+w7;z4S4NN{mkb&s%>wKrS2iu`{SkXUT>An^cTOR*dGf@f z?)za{ryJGN`}_tB5NuX*!v%*<7FIMd#8G-t$l?<$&z_%+&}8=BOiiqqO_SJ##d%c;`t{fH82%#Pn7M>!GlO*cRg;vt@&}d z!q$hhO zt5N?;IWB@mfAzfT0`(U!?1m%A+M6;Wsm$uPb?vbUsi*bLk;;Fr9npe`TDFZWRGo&h z*k3I55B?$WU1}_mwM(xv`0myHa)-iVsl85z4h8+MYoBV@(jusPypJ~nB}AKtlnrFY z(ep>YpFDrg^8#OR^@Nm-U!$q2!FI_bbf*Y4C?eVcs*H!+DDUxCu@iauVK%H$>?7%k z=j;0&o4h!F5Ho<3tu&gT>6u7XGWca;+DmEd#H5+)c$4vwh>7lBk2@tR+0Ccu%wV%K z11dh4{i1Ybjy&%)yy%|`AOHR*Ah^|Qe=6HT%5*b?(EreCoHw5K4$UqMojFt#E>Anz zou?D4ckdMUAQX?-!qe<)3TBc;T!u=`GEBCarhe?wL?jsXebkqQJ%CO3EDi^}))T95&;>9UQUC#9fSD zBjxc2^`*;Z|53j*k1hMs;(G+4M|CxbuPY2f7C5!|i~=rJp%D2Sfnmi&b41`^C7LkV zZsk&;Vjr@Ij!M$8y7ftX}Q>5xkA9rBx1mu_<}f@p&F}@DKU-0IKTCE~7HunV^HnOw zCm-HRW7w`x1)mHXlD*6F2gxRI(UD^;?m+V`mrg2A;%~57rbtwBFIB*22a(}J3LohS zhEl`N&_}or85^nB=zhhgEc|ub8pWEcwnL^+PHjc~XmW7A!Aet`S;|YGkGD|NE8w9T zE_nVSW4N+yBdCpV;`SQL%HsjEht}cdpW~;aK_(5}N5&{lZcz;)OvLEsNELJcuOct( z;eLX}^%HIJ4qD8e-7g+*oj0#C1lQ&g}a2-%d!Z0XJ{jO#{=Kxe~k( zM@9KTeyTDTcHYg#`hMuwv??lEYgiu;zzE|W9bHhx#-E&ZTRI|!;!gBi#LvIKg;NMO z$L^D62xqHlQ8oXGpTby6Uc#GAhLuR0&2p0VVN7Jc6bb1{7KZpSqLA1pvEsREIJHCx z7bopjSX^}QoE<*8I6!7;{paV5rno59OOoK3qRnCXluC;lM07!bk1(3x1nHTxSg<`d z{afCTyglLu{iM3Zf%?^+8}DH&JV6?Jl5IHgjQ{0=oLuH%&kZ-( zd@F_CKdytW1x=>?U|^$|IHq_rvoCoG)1mlFqWc?x`I1CtM-GAaDS<9K_+5*;_2aP} ztklE{g6tWt|H^g+@u1({gW!Pc1IDH6#2~hSjIX$WF>OYe5*Kr>ION6L_bHt5s0R?W zljvpA=(57T=xjygQyK|~_>4r#EVw`BOFc0aGL?^vAInF!=JKZgFuWlwI6)4L?|Vm| z)#3QX4`fJu#n!jyPmsu%ItA2Q5v9nxe#T6=9~p5!S`vH(J?tYRjm#Oq6=E|5ogkw@r_!Jb6vfh46-`QYc2>5NeX2zz?)lz&0_y($onsyth zL4E_dOKH)|gGS=G!qTuE4qvQRD>sDKgSd^G=-)FknVKii*i$P9Au4K@+qU8SNWchw zz>@qbhghf--G&yA1mu7S)~EbyANB{9KIv!hv6-Iw(mU$7=Ov%`;+m)W!A zV~TzYf8RNrp7R>mCpKr^Ec>VqaOz4!vR_f^;wIl5oY? z+mGAm$SiQRv_qXD47$?uplobT=irT!9V)lWy~-^JY=h#4{*)uHimb`U7)$qhIRFD9 z-tTXaaZz=t(bTXN5EXbV(f=WA+stg%oq6NL(4%08Qy&qojWFddXvEgFu z^^X8p21BF~gmbqIr_#$<^q0NfGg*meW8KSkzdd)WrVh-m`Q71SXO;uv*9X##r?WPm zR{D{do6K6`aIr7b97|FKhl1$KXw@0Qr< zYP|At2eE{Vkr7j-_x4kQ*Oew$>2#yVdE9nvU~btIzHMT_&HB`g`avFuSWrTFUAL5hWGR2sg3T6`9TqGo>dJlns02_CzswBLQo7-=84 z;J%+OVKpo9#qGk&jm0cGk%Rg=KO0l5OwN<`ujO-SxPK`wRw~jW`%r5a-IlTh4=)K8 zBU*e*!-qt=^0S7x!d3Uhb0+t377irPINIhEdeV=(ui_FgBAz{0V}Rspped#2s{M7q zS#72^IHUJsBk%WQ^&?uYr9Zu2Lo1^22_PTd`c5h{PjgpzULF|dd-iLOFU_`^HKw08 zj&pmlps^+klo=q~Zt&f;A48*RKNAzN_0DS;>}=-)@?jGBq48RhLzZIlbFSo2o;!%h4)ELm5iJ(XQA6;cIOzo&8qQMXPOAJ?AyzX zIv|Dl`1>G^|7rz!C|!)MAFHs4&m&SG8pM(&n<)Oi4F8rlVXWO zdUGD0yO81ba!LHP1ynL7;KESt{BsMk8E``tJ-sLZ4N+TJT#rYef?^PkOYK;CwT{r; zxf*#uDaNN(4YFu^xpPD*B>8fHYoyk3>EqVb+^`@(<_|af`5bSKV7x6LgVn8};fl0r zIt1BNl8-sPBCM-JTj!{wEaj^2OdkuuN+8RD>7I-0=AC&{IFQvJENX-Pc35Rw_aPl( zJc^?N506-Ar5i6V9>YZfD28o|C9lVjw5!;TOf8h}2-MMt2_Xu@@djm1nQMZ=3;r@_ z_yx7&sAt{N%cV~X)KwP?@TE@>3`b~dm#-CN+jfZiLlWk{;bf;%cgdbuTlS=@>0*rc z&jdU}Uk)Iwi`dW>M+SyZpFVXId=QR8y!D?etzBVr5zd%y_G=&~J3n6PvTgf_1%Yw2 zT;KEZT4=EE2qW(K_B!72;>Zk)v0tN#iy|AE6%{|q>=W?_E(sU~lnWK*YmpFDNhfSRbS_E2{H7wrv5M;IZmWnQXVmaotd04RmFm~7`1j^zU->UcjhTj~bA1mySFUF!dQar zDU4X->NNm=1OOr6;o;>cpwm+L`P~>A*A;rX4=oU=A8?triVxo}n|@rSin9gAp;n*% zycm=4ID0aF5nqs8;2^WAlxgRsxYbVA95jMf8}*Wx;SG>pw2J9hDyLd`AMBnp^BelS z=UOr82bZdZX!}*fMT++le8VFKQZMsrkb<#K5h8ys|8WQeKsW%pYl^F(} zrV2W7Up{)&x=_QB>1`djb(s!`1+BBD%q&do<*-2|Q2y?9er=9IX!?l~O9N0DsWXK| z>Kxvgy2n0^zaQcoTq6xUO=Kx<_p{dY8{}3>es~y93Zx7PlLQ{ug`TrZBf@F-ZfFGl zUh$po&4KVReO5fvgs+oaLDU3yF3cMDY;Ufh%Zy+2YKrgKodni5ykxbTr=C$eQ&7+$ zrUnhxKHYPTj%clF@=0}P>OZM#!+_P}Q>uC_}B`S!7Th+2qIo%MvA%npAoaoYAon z9b~~KYEKbxWZU!TMyb?u2thJ`m8X)F_Pvz#sIg$H02MNPjQ!IJHGnqjf*ortC7E&7 zw%Yd!=WhvM&ah-x%QYPkDPul-2y?Vig1H|ulvuB<)>tc+R~BCTjU)vWmStbpT_}{z zfg~7C<`+sfyX{WG8Od>p`3sm;b4maj;GZ)`2zgb@5B0m(Sc=&&`>0}gH?+yY;3>=3 zj*0;GBzzw8LCJ`XWZnr({#r_vg~7PAB4kwor-VsNBGwp(K-y(Bhi(=#Ki68fX1W8G z)mT1MrOwau>AS%-Anq%qrj z{mDU@HxR-**0VG)G)cKdKB>wRc>Uh}-;>F`l8#Acw^3Ii-Pm!X-96#2bRyei(zhbL zYt#E;v|CM8H4vmh0rnuP^}P+70#3;J#q86lw9fK!?(xaVR1}*IprK>es~ygESh_NZgaSIU6daOwQ+R57*qI~xQmCI5HQf*j?n!$PXy5_H~nPZeoS6Jf4c?0%-`k- z1s;+2V-mW$J4pY^vf*D@pCR3=dPJDB==^)*5Q_QjUCVD^S_Z@Aq_5Vj)PNX5#qY`4 zUBN|_!9Cd%9FB0fD|gw(sf!4Q8|QH$^mhfa1VpOt`2Xz@={DRKKcP7D_23haB+SgQ zVpC1wPZV{9Jo{x`CV?oXX0yN3B5057yOx!8?MC?ufX_dRx=L15IOd{aWqY9KX_8_R z6m$Yg5>#MZE;`q#fKf&_TO+M5W6^lL#ii{`!{O&mph}uClH(_mMP=Gr;Q&$5(wffR zKR6leZFjl>kPy2DIqY~^^%8hRf<|ijuTLim3JJIW{c+5s{BF-sD-)Vr&slLensBRJ zikp63fcfhu-rrw;0=8rgHQo~49=|>BnS9K6^#u71J*+z877+nFq!R~l3Bk zvU77w(E(+De8&74Z7PYI+3VI6A~;gnd|M#m0QU#lBfU_Owxa(UiwzB{Tt2EvEu~aQ zB1!ZAGt?^yGHY^f=`$ri&c}THN<#kH0#qW_q$6b33 z$CE9b4gx>1=dtNB{;%oo`M61bh<%i0meUJ4%6yCTe#G=!6K6GP+-NQC^6i)Curv8cWKxZaC--EXiu=cbO*$V1b;dWObqpmX8j9&YmS*iEO$1q4(e zIt*s7(5Kq1{C2ZoYAempT7ET>=ys%M;Ciow$M@Jx%r&jcANPhI=(WXEYGQxuE$uwGX%!b2OY#!e@F+75laC!Sze_D%fHJ$0{@XssxdVbvY$Uqkm-B$nt)cA z+~;(+W2dxbVR3&bl~3U+lfcj3wRUTamb>D3C(>%-=lgtzmZ!W`=^wd>GL7!LB2O_| z$=$puoIl6s`LEOEG@6uUF=7+~al0nx6sDFp~ zesF>th0L>o@)NgBZ|$hdO}bD{_)wk06qLA;Nj?d=E6g}yQV*ZV-rkcZ3=86n#eN{) zfq41+8CvCFSJ+T7cl-zrhxdH@L3HM&PpuV9l16Z1iN*RHX$=1Yq45GRAuXBQ z8JZMW2AyWXh@$!UG+4*C2velmp@Ugq!K^;N7uY}ts;5`8PBj74#YOc_Pa%dHF?AUW z(*kEIKLxHVL_E8ddBuSyty-c!cf@r+woF8IF8_XW!X0n}M4P9kCGUE7Cmd{Ez1X-U zGx9GGT~;A>Kb9;giy?qjZtO=b>VUpPlMrXs5;#~mb2kEp4yOqkq%^-GX!l25dx7E0 z8^kXYyy0WMgE1T$z}c>N<86{EK-=dK&GjJp1HYaNyfH)k>Pq;7!1rt7mv-V$|EypK zpGo$S;+Rea6bMn*GC_#&$8@1l$Ye<|W*2AQ!Dr}ZZS3JC$Hk2F2Q4=~^3yF$pGAle zm*2lfG#8AdB_%!+z#jvinST=7b!z_KRUG)&=GIy}r)bb(JjZY!`|}KB%ONWdzGz)~_0g$6o<*5XaTu zGd+CvCe1+YeF)g)}P*Z2zavC5=0@12C)1QRY$H(XKlI`OlAQA%AOd$ zru|QgV%Fo*pc?Y@^7ZUHvT6^6cve)NpoBWWi)*0>7AXqu6Q`da#RgnsU|XQh8;6hjdi#ZutiY5rSI$u`=UHxgLKj~@SkHy;g-WqOI+ zUzm9#EfQfBBc9D40&w`l>#UC+y_&*?rPA!AUhv;f;VPGf*yE58N7dVW<43LiS=Qe+ zT&0Dg_kO1m?OU#&AFfbU+EBXRz4Wd{4N`h6E%wG)Yc7H1)n?`dPnwcQW0w3p-#r5* z&7N%@9~IB$Aytp)&OdYwocCL$AQNbd{5SYvT#&VeNjKy5umpvqQtw5=$JTZ%LAj9d zLp?|j4Cj%Eh)JbimREUNfRtb7!%gRu9#~QfiYv?^2}3|JiDkg*aLs`!&>x3;<>`|r zxU=|{FJD4Q5}qm0hvEOF;$d<8)y{w)1JSpS%O{5TIItN``HdMYWvRu1ieQA`*dO{(w#w>@Za0+YMG#x^#7|_jZPMGUSbdFVNp9vYPo*=!AHr?8JQLT zj`aQr^?N>x%CqHBXApf$_!(fgpSejsN&248di{s=mAj7GFhgXF!UTi3Z!P@P0XPXY z&Uzws_6xkcyhaHZ0lqr>$=%RLv#Rf1u)!M41R-{qaq2VGV@csla*TmP#Q5;x9f2FK zJ6A0TTMhe5BqlZlhv>mD_QTTshdDx*4{oFcYbSsm~!0jPpo&4xsJ7_)}cf(^|$&aOZ-wJxoqUA3D-`VVs-gVPm!i= z6u$&{6O4l4`ODI2sv=u7R~oQ+D~uU0S+jia!K@oau`z+l7#9%@(mr6x0y033RQ`Nw z2^xj)V#Uq2m!Z@IGR&O+t6FjJO~2Im;;bnB^Li*T-_p|3?11I$-Ov}bUFXQ~7f|X$ z0!&VV?R~$Zw*6-oyk*El{a)%_^!)D>ehRQA=vYL=DM(+ak&tl^y@KOpJM_ELD6I9y zd6I5(ed@2|(zi(0*-tmOKzG`0`#>goT&f7MjASO5pOf34cfw_MBn=kSQNgb4JjIm5 z{bL1CNuB`T`sNRB(gyw!@!SWF0f4|Cx`tYxj?H(*7}EGopytnRXET925dWV)y8G0s zGA%}a-b{8xD@A-)y@WU(sTZGWS2y?StL=}AyR2B;@W4KF%sl7E_E2h4v*!2)%nElq zhpM!b_sx(iQ>n1Sm?%^Lg30tG%~78%-zkz5u-r=tBn$WymyoPY$?@S=- zWVOaOH2LV#fFfjv(j~%5eOAt)nx=k`O$roie9i;QVJR}fNf-0@VB=5yM(TU%{y7Wy z#j>j3_+Mg;lMxEE!&;~ll|bln62t7e;!}}4aaDn)_R0cg5b-(vv)LL4hA%hkz-oQP z*Ss5Iaj?$6?BlB_KI0)%oNoco6bwtWsO` zH#e8ZquwZTB^-ee4Wsv^d4yd*S;{nQ_{hZ#eQY}V^9$r=Up&U2NnNCdCmLhw>WG4; zo4-T2_;F`mjqz|Cjr=P4;gnbM=z?(v!s&3Dr&TQ_@vl@*22=!bE1Gu5RD4VKyc;Zc z*v9Z>%KXILinOfBv@)Gmum|5TcV`KZFO7k9igi%iK+MZkF#8UK<&g~4c#0Nrh5}yZ zC+w&DTP(uDv-be19z6~xz8@I#$#zI3O5zoW>5z0LC7yqwcO`L$f`Y<&W%qu|=TaH7S*iem?Nseh|1yicA}V|pV2lw! z*x)GW!fy^JOd`yR$^~dOaO_QBJ$7lMRFa}ftzcOH% zKn!{*rZ)GcwiH*{wnXEqQw$_EKYQ8zYijR0(0W^WE$`x&{xnLBOWH=UAIG zZ2DjMdC2u=J;NQhl`N&N;*Yx0GL5i5c#k0d9c)pG?W9Z~3qAzgQ;+Wv_5KTEzkZ;S zUnmyX|DOnF_^(gc)ROjs&6mq+Lyoo*o0AJ_*fUGwM-ILxT?L*TH{vp8DK?=peyY0H z>D;~SN(kKNr*q+kW=u+IoU}0O%1-?KWGXk&PO!={0lzMvxQhg6>D&wa&c1loxb$>3 zzbCk@9$E46@mxNdEEVmzN9DjDO{7JyVU(~%SjEDs9$G4H+Vhx5tn9w^snyuV!dkqT zxnp{5^QV=OCJ--b42plPGDJ^y42b>@+hqK>u5dihbV&&gD5Vr9aFpT*aRnOWX7Qm> z-ZAC3K~0$(-d;%cTs`T&Of?q7*F(y4@<+xj)`dW(7iAticX1yr*-%UyIJdyh@hSrq zQvOgWD*(k(pT>J5*}LGtd?zu)wAw+lN07@pw1-CpII>StEAtOC!kv|-jopKqtd~SWo z`sU=NTlSR^_6~8@9b4U5t%Pna--vy#vkCV1&8b9xk5C*`DUzVeJ*0~G=QIFf&;Nae zC%#Nm!I8Wj-~V}OVNlmV5Y@4_s;IH&X=3i%_?I(W&!3=_XqUI-FN_@0&+IfghG~ z593x3+WIxU&Ate(Q@Qx1)BZ#L@*-c{_s^%#e%E%H-0XZ$(5>KhQ#+Wc%E|Z%E%FM2 zQ1yw>(=&?ud-EQ(t9t>fK0h^1ZcsFBi7CaUQ+T{toRrT3ViQ%+ztXf3Uw?l8u7o=3 zp4Q_BuHdwVJ=bMm+jr;DF>v27IbA{*- zW*U)TL8KO!_;eee`$ zCTvJeQo*z93dPQNG}vY7ez;SESndy4Uj6*FMXTxybg*v#Hg6wxf2|}e3%#*w7Cy!N zS>?trrUk!yt+Yz&vmT0_YAPV*GQH3-jWxz}_x|=JNB5WXBA#HDk>!3wHcD3&WxVz# z6yN1Yt_pT3aktOd@Cypvt|iMF%gJRDE>XIHr2m#nonBEQm7@J|)5dbzY~&wFpRuDD}2|689dh zd}PJn&?W*9Qn6%ek6c;5qyd|wD96{sQ+Z}+*WZecCx&tdc13VWT zWf#be4tt!x_5vW1R9=x$OZQ_|7=&3HG-s>U?9Y5fD^{`0l*?d?A|fd$95+QP!JJFxk1BY13uC{aczh*tTD-Wc@a=CTJnP9 zs|qSte7MJ<$w5OZqPaKSo!XP<<^`lRURgA-!2$$8I&v~SDk@$yVX$SQMf{I3o4r;D zA+3L-2q5s({I%i$2fP!BxzcNGVY2NkU8$P@g+er{cl7L~AoNj3h^m*1VU`iG(+xvN zMhD{5{JS3H%i!4IWJ^u(<-P$bX)HwrJ;)KDion&reCRSeG%|s1(0z5YU-%2X-WDqn ze7V8Y=<|J$_hUe?LbxJA^`gr-5r z9Fn%QxcJ12gN<$cnC#xY*5nI;!1c<3);(9)cZ?Mx@j$?t+`8mw*^}3aWGhj86A@Wu zvIoLZCfx*4BIlS|!et`*(Id9^f{%z@W1f=tOAO2ER2++~!B61c{TVF`RoT~2F8~Jm ze4lnAAVFw%-OxiALje)(gu|n&as$T%oAX-)pxL_CL94FV-*`-G zvMb}%nRFk2oEJ%a+br<>gb!CONTSv*zEwz z?8{QA6N8X#bb=;2Edx3TT%W*iU1mN+bA6g(k=h_6@kK0u`}9NP&X6-uaJfZn$a2TN zk3STMn}1gSRrHgf51ifOe(uOW{zi}8@=)|B{9>+VZnw9$SMqFc9wXCJ5QMY=fuXz{ z@SA%;=PIp&Kzfb!B|sOP-4ckp{|=odN`R>>>+iYKpwlqsBkluBsas)B zno_rYn_8?0nTzqx{a-AA7NIl8|xbj;Kzqg!Zo3Gzp`oafK zhp&ZXekYAR(Lz9@!j;+fPYg>;AyqG%hjGF8;Bs1)fwT^Mfy~0<+LmZb)O# zNxb#^?DMqi4QLx901|<~`qWTlZ#Vd(sJKQqz7ZD&fcR)e5a1AMhs~GlJH|6(-L=VV zCJjWH4mDp<5FBb3USIoWk*ONzdWob1=kn|NBVu=B%7K6{uh#03lySEOD>igPL9J8TG(oIb}*($UtY&dbju zr@52aTU?a)92`=c#gAM3da~CrY1wf}v5uQALGP&I$~-rCgZUIYJ$Hqp_R2OdkNjQ? zoP-zN!3}S$gGC4Y$Ch!I5)$edI{Z;!S}<@6F6Nin(%Zusq#YcJ5=sS<^K06pWxs|G z2;6`@co{6B8AT&FJp^qLs-||UDZq!z=w95A;&8h>-E;gLK7`$6q~zeh6V4!JS>y1s zAH$e~uHwo;tD&lHTWwb%H}{&vBiMt$MtmFrV0qeEe;PME-y@D81gllLymsqiu?wv&#tHps1)g z+Sjg0k#__gg~M~u`N}8{`SDd{lyJ}{LO%zcWQ0jFhwQl53hf%{>(c|epGI>nG~wT7 zPk%h?z!G`d+puP={v&(F&^8IzPI_EJ=0|n-*N+@o5Ka`IYzI?yvv^W6bTs+pa31({ z%f4iqeG@CN&;eNWYr5MWI>^_tBgJV#1_l}{N2CzctxL1Fqc?Ngn?SKO&>KjzqcZ@P{$eyXr8&-5qmTyC}1THo@}jnwn6nSw&&u@5OfP=Eb+ zURH@SyYdxwDz7rtyy4dT*NGVlWdaOq%C}`~PYXG20-91DK|B7s~dFHF}a|ZBM!F^ zs+AQZF^%RdLOTLaXp!8)tU-7Jdo#&y-z*!ShsIB>?O^E2XNY4p5G_2Be-H@KSO@eMzCDySfk{cQd*Lx}Qul|#-|y)w#ic4eOS`{C(xB;s8hB0-<;pF-k) z121bvMMhAt|DPDGx{Mj;9{}b$KpTAh|Gk3>?af`s?!@wBW&)!rK@S|TD4u)0hMl*^ ztC3jSE2YrUV*)Ah+ED*D;QQ|gE$XJ2^H3> zpZ>PZ0Z-#R5MmFeCzL8115z3z=cH;M9YuULG>Wi;!RXD{z1B1^M%I2fQNmuB%PQDC zk9kgZ1`ABr-j{4fH~}K@l+8ubn+zWc#}3S@3&{1Dk3euIg^b4*xAjwU4kAM&v)Y+A zy0y|Wtaesi{go9HMMb@aPDnq8@B$KCb_EZ|K|e>Xh>FrU|9j8JilPuz1=^pC&c zpEvLzsu4{e6q43x`!V#Cb_tUg8>vJka{7(0``5VQE_l?8@LrD&4Y9$!K(I~cw(4j9 zltx+6`0F`-fYBKnPIdpn{iD4E(ViP#RNsF{YGQ+g$5h$hmSCKSoT)P2_c%2E*OBGP zp}M@E?~hmwJpV2ui7}hWY}=!!h&Yn`E`$E-xO5dQVDjd!ex%uJpBj5RUpx2|#? z{v@E|HRpw$FRBvEy>dfUL1kp_V0+A#_w8^RYC`kUcdIgve6St|?7;e4&NTg+KR_H$ z&qmmO4u5ZtIDv3`TS;1rLkIAM=J+i2qUqg)-Wacn${I_{|B4)fF)7JG69^nzoLwveCBGUnoIH3 zkG>6vkwPLLuRgr(hoTj7bT;kd6gxN>{`uIXPCAJU@=>N;LD0k-H8m`!($KGmS1O%- zuTGxn?Zy3C%Bm-j_@k~j_H)3Tk$JhnOk{(&2vmhPBXtz?jScaP|3+z-f8_(xh=-=` zwFXJQx(L3s_3yZwHICP3ZoTQKC_P@j81HuJ3 z?OiAbK&$sSR4su3alutzUvbvdIJFZVa3F6;<$qmTm~p|mE7DzU_uC4Va6zfYZUSme zr)(GhbVla(C!{5`3}HQBG4Qbu?X`e70nnfs+6_t_>C9XcsO6vfl6=>xs6I>+5q+?- zr&n1PDa;Ns@eG3uF>IO97j_Pg)|+rO{nzOnpHkX~{9ax{fNblWl{rzB!KRa zY;NWw+1#mN=oh}kCSau686uIIcaI0`6KzBmQ{}YrnX^LL-Mm)6PYWc^Jf)8F$(`p{ zOEWV^A0Pe1Ps-+PqnKmLIjdb0*^jfDx3I?h!s7kdH(V61aRqzae3?WSY~3INjAYX6 z8ElC*4SsW^lL{>SEjm2$R-hq5?FH`#kBz{I@52>Zo^g`vxBsG|;&Y25EXID2#8+D5 z^o_+>7lRQSnf3NIjxgMmSe$2)FIn6Ra7fNx8OmmrR5nI5jpns0D%lG!=ocJ3T{9gW z4~(u)cv_A`PW8DM9kI(BF$Gg7j@qmKV>~mUbKgbs3fzru$%{=AMY;`XSW^|b6H+Fto%m9+CG>^LkklXnpt zw>;%zov2s5Nm@Wy3D0HwUp(X4WMX2tkBFycmmN-H1iV?#UE#kY^J3!-j$^KWLh}ZS zvSS(9-p&@sId3A!{xT&#-_kA(SYbpiIvE?d|H`B>E=9vf4p{2Yc#sShUKX52_2G)@ z^DVILaY8K+7*{#b=jQshLH6nk2D{u@r?&DdA!6BLl#r#YrGfxFvnJbDfjKz1Ic^?Y z2mCTWO@fr-Wz747z>B8XDU#D4bl&xjeP|(Ez9V7A#@Il)x>7I6BrIVgK7)~sXgz!u z%Na5>r+d<>LErcdCkmmlWV;wc1fTxys4q+cI*Pr1BY9ea8vJ7a+JF7BuASv6Y0g=f zzGBor4x#&K^TS%a)|G+a%=m}=%PY0Qy6_t}L&C8j&9%o(tK4rCsP`Jd3$XrA?(rm< za->(e+TcFc99Oae%6T}>Mn^X41D}$~K#cId%vk+Ug-rE1(e3WJ;8@*T_`$-R^!{_P zo4*9EXE1XstU|xOuSu!haRFb|quBh@9bd3Kvq3crud{sx-KcTAYb;kV>vsl766j!WH>)y{#-!awl*@=3-=nV?`G&G}Tb5cy#0;W$~#~@pwwN3vi z?9u%{ZYoAI{`&<+3RLgB>;ul(LbuYy8GP%bvsc#f7ZaWKF%e zsriSQ$l*^qIX^cXf1{HyrK5MpS$~L8N>I$}VX{9_OtWWTzn#K3*=;r0fp$RX5(Dwv z-?1NU@XKB5xaUUYPJbddbi(uYkZ%SUbVl< zyQL+YjJ`{5sPTm&9874rI*oqgQfWqf^e^Cn*_Bd<$^yVd zrMvQ&T$VA5>2TCLB+K|HZ@K`Jb&nqIQHK}WHEe>$(Lqta6pB>69?qyD@&au)&C zk9J#O>Y4bw0`1H=L;z4H`orN~1}ElC-IYf-H|E0!-0RCnYU(+Rzgyq6kwHP#_y?j@ z=sx9b{o)u_3N=XyEHHBYLCSif%4)Oc*@hUWe>%?4hVPiyfA(!c{@Vt7TZu7Sh2V4a+ijX-F{uxcvRU9#`&$1~FX?(3feS{32Br3hPWe~G9F&ai zCBWH<=&1pl_XOH1QtwG2jiw$Ek%{+07JA2xD!A|lkN3k(beCNHzju9dQRFNZ!&>Sw zN@x3Cb}SM;p$$Q^DZ49J4sAO_WF+g51{N~2w8Oj2pQz%z0gh663X~|)ESeg|sT=AX zfA+geHd%tachF|uqZhI=Z;$c;=5+TiUK{o5yM)4?TE|~Bhkm$EATyDo+%}{gV!yGL zY5lWee{LTZ=jJ{Cpo|u*ySi6(g>`hIh-W#D$#VZ;s=3A)#xU$4?}ar`b1)xG6a6jb z0h3mb-N{pN)#@!;LVd1MzGJdFzoc8U+HSo9Moq`(k8k^rQzsNMJ z|B>H**u&zfWJ@JfQKeaDS=E8+5T`Cp-8ZBb9>mPs0kXh=@2JpEa&~c+;>l?%$Y_0J zd*jvS)yM8s%cHg4w_maJ%C_wvkf`s?S!6($<1|KsJ`N;ENn#2MMj;~w3!t$DBq2Dr zyxUE7qeI-<%`0s}OPg+o1vU4c;Mn^Ww(_5LW=|#+BR<)@O1w%8^hVn;h>Os8UiF!a z`>~h!28O|w-C3-DNi1A2)y!&3Ot-oF;H~M^=6dB;uIIB03)CFhryN+pO+ zCg&f`&u6Fvj5*MI9|4x(v@h0OBj<<{ozu(=t(faZRpc}FKrL$8E7Vq%p}QQCT!^l} z!>`tb>{dOO<%Gde$VuJ8b=yH2ca7{UEG;2n;e?QxC(KTkBX-ztb4v}rqS-k}Z`|v% z4f~We@w&hc`(}>pzE%j;Qq3KQ7&^CxYi`k2aOmjaec37eGx~Pa^-)a(sIQndK1Z&; zex3b_TM#Umz!xA_DLrk&E^H1-vj7~kkgDlIQk=gVhiDL(vWkh(IaJXB9P!DD^ZqBX z^+P72WpNzJ(3u(if1pCP^lR-PfPGpd`s<>bys^F+po57*D@8S95Dg8PSy?v7!AH+E zFjX;BxH}(R)IZNrS8;HTbTW5__l9mJn}b`rvKg?GDMGL4Gz0{;|sg$ z^IjXRO1U6U3X>dI9q-CcgO8@~eO^^UFwpE<<{B{wb$SUyidcm{SKdlR*%oFgJ&37K z)6K1~3z)13Dw4|)=!8t|xc9u2m;TZc06@C!`cnVShO_DaK$3D+RnvT+c<*hXDQ~`E z=hqA5a26QrzH?aVMy7DCLfv~v5o(%iVdhJL?ifNxhbaI~%9H$yNV5H3h$N)2p|!R3 zUhCh+&Z17IM%l|^kBHrVFvRTegLyieu$WpeB3JBdlKpZAEy zIaG?~!k2(RN>KCNtId;EtW9LQ^j+C@{q1)ZJe_UT=lo_I1Zca2vvc)9(&R@|SdG)? zUqt%X#k43dP)q%@qp6ZMI>h>0zy{!(IIkc+{`^Vf&15I)AH&br|4{|4p8hjSSe4{d!>=8d5P~KLO)cl>_2V| z+OEl=ss-SapqpN!rx&Hy6>YEG-G2#P1x@d?8Ftj4Ia26b>hh-7UDkfo7wW@t(>2E6o<1}yIDM|3nunm-D@zG1lmP;EJp;P$S--1$#@GUg zYhtY+=X~qeoHg4Rd@-JcldDVuVWaU6KEZ(lrxl&;Xec%EQtm@l@dNA|-iF3UqI9!Dt{( zb@ZO+67S%tHBe7+UqsDa;eZQNb?fl&cis2Wt+)o>wI5BDRVMlOWQOhe{P>?(v`OVP z79E0+fGvS08WAVTDiV^np-1G}0Op))VZ>Fp}tv#jyX*ab-XLK3-$lU1NRu(56s( zp%L6ncAPbL@jZUF`M~JWb4_Bzfa}tc2vt69k>1yUV*NbHJ*1lBg`r=6+x7P*e*k?$ z{~~&;sV6&3)6Go~l4-Kw2=^Acj)YbYObuKGs?pa+FwyYh5YeUkvs9+gak~j%GoOseq04xKtOxBSBTmsf5goGrxs-$)RovhCKgKb5iXabAyw9xz{32Xp0@Bf9N6F9 z0SQ-x%@nQ8#UB`nK=Jo!8?G!;oO_fg8Ms+oQd3=roV4HH8x?Or)zJL!!K8*Z9$_5L z9tH|(RJD&dKRZucAzZQA#^tMQE?Y3&58LLIbyu8kRl~NpUc>Sd_OF+L9+Eas?3ooS zmZO?_d1%_pao!6KUwx^@r1K@qP^%vo2Da@WEF2OuBos`l5*ggn^?6wizYj1}r)9Y+ zR^1A z{Xc_!Cq71J*R#D0Iv?6PvJBTx>yHMT(b_wQH@hDlwbL->wlyLPr#vLMJ8>xh@6B7~ ze^NZw2Ql?GV+e;SG0J(qURAqA`%FcKC@E*{%;{UEB~Pc@UeU&{4-npo%gjK13?=W~#Eg{=Y_mO($-Zi?+{lh zVTxCQf;82U4kZ`K;eyDg|XNl_SOxUT3G|w=Fymgi^=n>Fu_W>o}hJMa|xP@08gi~DdOV|Hovrg&0_k{yN}QK z_xgWo0ouH8W@WScqne$Jq^B;59kU3DD*c#W%%-ysRQMJ~R0&rymAL8*F-{FJEgagIkP{{>5yRqrvm z_;smbN7lM1vJY$z6d@8nx>I<@y9A_huX%k4itIDQzSk$)F$=>%CBg_R{xkAhIt};s znc+>b2HY2A0^dL>UzXjc|IV*jPb%|Xv)}ytRfzi!b77dyBLEg@9$PH~)BpnA6`E+@U?;QRiyor}N=7mjg2}{t)mSgTJY- z+P5aj5GX@J0q&%&xcNVueW{~aVs4us_Lwlx?&J2N#E!1+?#hioq6VT@FuLPSk||MU zA)&j|mavE1;iSU3Ye|fhEGiXeC24Q=*6>Qoc=NF!?=V*Ab9R@*9b$<7t9jYGi*= z7$DWw97?P&9Y#3M2&s6h7SbKpQfXm7HA0(MdougCiZN}heOf*AL~X_>Ka`61r&MXj z7qh`B=wpcILDT%XJruCHAOr7#8p*&Mh5gUUr8aQ_ZCH=U+w~t#KzCfAH=F_ElK`;y0i!QETB(rCFSS;#ok{abyYN8 zUY^#`91?zsxA2~}J*D2qwp;l2owr8@kRh@ej!|3}{+l1>>~!xC2^)eEnfA;Ossj{! zXP}}8lQvjjU+XU7yod`Cl~ou){0*WT$k*bv*8vi$4VSxOxfjWx)hm`HwtsI8v{<%) z@{UA1?4%g13nR}v4SPJx4&Szz$hO~_+oDPm2>ecF#=yZZhu!Af~sJ5_u% zY+NH3rt|@^Iu?=^?E|--I9>T{x-XO)z{Kay4P80jbT?YV3pyHTXxtJM4Mju7&;em( zVQqaw3|Qkd7Ia}UwwOlq_{b`#Ve4Yi=i#gfl$*jOS0DUxNyDzspged?qx$1azA;#n z`hz-z7nvxf<$JyoR}BUGH?cT$NFR+Wy?G=1;>8Onj<$}@=j3F1o{P|91TVR+p58%v z=LafNv+J;Ud3kvvrDYnoOo4+%RFozd5MN#_@9Y$MGR2?2Rv>2B7q@JFgFegpVQHO# zTtQV|BtmP%8(`DrGm7c7FlrJS5xJi%!r!(l6B@4g#FWBSv$pLfRah(g#_(C66t3Om zhx=PU(YJu~yZ0%3A)|YrR}_~T`ABEq!TR0kw`0+pxnP35vPS`F;Fw=l9#S%Cx4yag+{!9@(G1~x?xL=) zZVce9vkfKqm%2J}w`sc}(Oq5cuV26J&w9-NE$ily1|31jajxJcRDXk=mGyg35ouFX z(~ueCML6tpSXgU{$J}S&H}3KBk^zmt17~LfVQQxboJ4_w0WF3%j#G+*E^p$r^o-Z| zAx24=D^I;%Z(L&MJZ(S9XYRvSf1P$u7)}Cl5Kf4Uj%J}50{rr7^UcxX$4-d{uCBI~KB-p+#wKh* zG%8-u-ykA=c5Zg=we9sf>E5aGo}X~m&UY=6ThNto0dl$y#& z@c!)ZJ#%_?Ha<|lNJ&X?a&?t9HcmIa2!DKJRX&-)We$1?=oQX{WY6%m&-3-Cfp`Xx zqit!Cc9uwa6U?pmYr6w!*^;FZ)FdY0%Dtp*@n28`0NmFn< zY*V>-zLq9uX~_n3rd%{F-+uWLf&~ErEuD13c*q*MllzaW40#e81IpgFWHLxiil*w} zG3%P32q8DkBUUD%?d^*7YfM_zWRSE;9p!9o zIS;WOV0Uco{4`70bRu+o`>d(jd0qREhG!GiMhFp*l(e>^2-Eo%L8hz{khSl0*4dC! zPkzkGi2DZajr*6IJLmA=nWD@M@s^gqryf{gNhgc<(>{7`=>za`B=vI@5 z?d{0qM35ymw;Y&h+ zk7HNNN_y^d;@ns`7U5k^kn<8!SET1JhLtX~+;e67;rsJ(Bn_u6kBpaVjeN9-KJ4Uo zcmnjgx7qM%2YNTyJSku5!6h{({gw`T$J|`~og1^WsPNj_+Lq~QI^bmpZr)rRBa21Z z+H0Ji!k9txWO6Y_JW)PL>{%8Rp5|=gsNnIRXWnPkgjduCZ$*aq)&nYfDSRyhNRW&2p{+kjOedMX)sRQ7XcPmL&L)qOjN?_Z1Wc5CVv0&d% zFttQ7Oyq|`#OLbnaIL8*g0Y6RTk@94Y!Co42}Ovm%-mcB(+I7tU;I6 zImc_eq!HA$`mN@Xp!rUn=6CbrB#mz?$0D|C^*60`Tpu289wjr@I!?jFGw~l3OGe1k za3pDsfuVnK;hoJI!F8!+WE637;;ycxHJu=oc}xcs?{{}efs5+vdjn>`YhMWFzTMqj zAPJn;@ zUWrlWETQ4o)z#Ir{s6kX27VV8m+B3&Kgyv@X6k!5)TPE)*x8EGEv07ulc4~TEb;cW zD)Dwh%&p1LiwW6*l9sHdVlAVF33)d+0YDy|k!HtZ2sT7sd8Y~M!>k_gX!}pR9X5XI zPK@7|9Ho#u_2I(@<_8aO!7Aw2mKu6@c1FO+cl*`{ypNNWqa#}K_JYV!DH;Uy1xq2O zn94ty5Ov86w%F?AXM`%>dqvz4&1FfT=kQASWb>6f4<*eGYNQw5$U zwl2eML@Xu{tWw_S@;>WjqLvcRhpm%key^d96&qqc2Iud2=_Ea$eLA5)?E0QhbbD@& zjq1BGyxq2z(vhdpoZU|!-eHbuE=^V{_6RIDk2BoEtD#cOBX-IuZpkMeoJ_9$L_l`? zu1l2bs}~>ey`x>N9Ua$%sPwUin-?(v5Ph%*=i+UWEG^>U@@W8Qwqb)X^qcc=eM)C`nP5K3Et`uh%oF zni^$=F1Kb}?BZUu{6W%;fUl&ed}2~($nW1z#nqMlzeOnd$BkoERKfy-Z{FPhW%!YB zztNvHo#k0y7nkB;n?OJ>&YvyYfNxN-wKcLX2w>ABpyD+O&mSxLHsyj5CY3X!%1-mE z)S7JN&_pl74$?v>v#RL!=o0xn@-Hd5T&RS4_g5@qn{loor>jNfUpE{spCWBll zNrYR$zI^%=xw?`oV{gy>h?Dc6WshvKe!kX&4mWd^-CP2Nt%~vL+TgRSqwgh$#N16- zxU(KskZlBEl!PPu+m2&4L=s`QO&~VPI~Ba*pclv{Ro)rxt&C57k`jWKbkyFXSB58& zDNF!6y1M9+NKiQ*z|p#!AlT!yA|((d&1XDa1%dWQTGc>0LNnu$x5@(QWz|7SaAch!(n10Ud zwTy0iQCP@4;aPr5O6X1by!HbQuX{Zw7e4H>4PTmd@RS?Y+r&0XrrDL>!eR+WtOeeb zzkj_Uw&e3EX|Q}8UUur5Yl){!y4602@RKqXGSL=oT`$vXzClApfD8$}&C7u5vyh>DqptJS zaU<(w`(h`U0}p!E$0)22aJ$@B9;n^kMb;+`bRV3YvZNyt;}zAuX*Ie4nxy*SNm186!mEs1W6*7OzCX68u-Y+eKT;syp@-kE2JSt z$G1BqYs^Hxf7GDbvS}~asGp7^AMlDy^K1G3N=o%^sBGzBNCNa3xw5Wqn*r0hBak@! z!)q{2hDA6o`xF-b_3Yx}$A0w9&{}ohnKP}+hLn(3Or)7xhk|XDpPMb>4A?4nCQ7Ak z)^a7jUSw5z(OPK`Y-}vP0}>>G7Rn)wJ#YAJ(cTBciB+KfblaWdz}dI*)aUxUz^@ndI^pw}4n4Knly4GG zeZo~cs0^_d4keYAL%KSs@>J-oLS{H>7Q#5esvB>#=z+^{`A&~eZCZFc;mV**<-k^o zQQ11uVaO&_9638XJ2*Sb{f&Op?de--r@0Hrw&q<$Z}&v71`GW}uySf7Mn^%h*cB3v z`kPDB@Q10il#ig6ZN%ZKrHD|*&W^Y_Za)Qn*J-fk?^+`_2gih$P#;Usp&9!M*jhpHG~}Ej1jH8sk%JuMXz;;tIOWljX0xOp&oj~Hi{hp$R{@A5o_=l=5 z&iO2_mMxNB8zY!Z(g;mMn)l~on|c-XJ!Ko#yI%HVxsf4*>Uv_=?o#8>6!;Vw6n#1O zJ_xrG2u~`q(y*B1?r9D=YBE0DW=ZnVv@KmQcYHX~3C4bwc=RKP_gmHhBAS{FQ#Ed` zSVoQVNMM^1?LYNoEzQjtXk2`JS3TlD`;J`&cCcpN+1VMw+pc>Jfx%#z3i-?gs(8vj z2ODQ+8Nh6=FAt%CB`~vSFOGM2hh%5q>fr``gR>c0;XbbJZ4bUlr`2wklz&2`XcS&< zx1hYrNY)AQtL-e%scvTOP+Tb5YjuZsUKlOjXkrmg5_CBdrXOzq1Q{S6yn1$`rkFQi zB|-!_!y?d9NwZ)WojgHp?{6#FE6z&>au)mE{ruTLkZE2oO+J_j4i57g1*iU2#Tbt;X?LzC<_2`i4J=7GXbC zUG4uS6rmv{$I^rAAXZK?C^?uH5B=eYPD=`gwS`D9avnh#)+V-)4uGh*idaK(FA^!o zO}Poy&4MSaxXczlD>RJ&L3r!xS!sOXU(GcCk_(%q-!siVB=qm1b)G?jo#Coa1`^9B zFni>=n*Irv@A7Jc0@Fa;x$CG9_44IqCkZ}g(h;TNF=Y?G&z#sF)l7EP4jZ%Ms~sJw z(6Wh6;+0!oGa$GK|J0_myd2?Zdil$0XKLg=6oEHgB@q%0ZP=)Ad>y54KK39B=ko?? zt){b^CqdMF?J(YF++g^TMfEZp@p^Bcvyf@0j3o)b;WplJSWAZV)f(Lsk{Y2}(IVxp zBmm5an|>qbojV9!jmH0F-EozR&rdI5aB|c?VJ5hWRVG0oCMK4dR0n&&!DZ*K%ITO! z1dt{UF7>^94-juP89zRr_M9nQ9JjUBIbQBIOTo2}(lI5&SZ_(l&b#TC6)o6c=NB`HLFTxFccNs|TgU)zsY3Htb|9 zKbkl?7(LI2lC#5oDXUK71zF=fZqDz9J~LfRi;So4D%_4~3f=2un*Y;>*OA?Rp+^t z9^G$-GKY8X-pyPZmro|g`sY>NwDj;0o|&1+kbuZN!r>sm{#{$kdX#-4>3=;CtqgZ= z0AER6hNX|akWy?cOr=cHMp9<*c6lW&e1}D*k>G9K0RuC?=-JJ$e>rOE)SQsRyW(!7 zmr2!8V*r2V|L)@Iap30TIQCt}gj}{#v*I&arlRl=9b_CjpOlc;nLydG~x;T?+dlSJDzp z>k{h`A-~umukQ*`OHP0<&w_P4j)>+ent~;S(=|Kx0CLe^uhMcX`eXI-UE8ZkLvxlU z>kdfQDF(=Bj1s5&7O`#xPSG?91@qF&dUM`3wRTFt=?HlZ!N{cj{ffEbJ>&i2@@rhn zMAXaqjj(a#xN#$E= z^r_X^hhT2{o`~g@?0p;&+6yW2KNBrr)vW04{YOJ}UUHJE*WKIH>orA-#VRyjS zc_lSm(kY(7{>xyCrD?m-7oWs40pvW|E{AliQ1D`pTM7UeN6bC+NXm` zBP!1Ou4LlRSDue_p0?dx#)<)y3Evu6>W=X@Bk1R*l|t{ro{QqyL&#u`ytsG|ATdh?|)M8{J%eV?=GVBW-gwsgGpFWu&F{wiNB7AB-Gjdhw^V8L|Rb3 zJL5%BcXG&~1!3yFnPLh4|I`8ifn*I!e!q^s*eNdim)6hI*0E#P(rDpBboBXEZtgo0FL)28s9Ue3D^Q$4D*#Eq_(FgF> z*=HfjR}TTy&VjyveYUpv#Z|C6b|Sbd1R_^frmUtHvQ<<|3i3$OUb(K#)j}%T2tNtP z1W6tJSc4zx0?XjS35oQU0NHJz!p%AhUcZlT)oh4;jfx7m{!hWmN|CSMZlv?F*+_x6 z!}+fde*M;J;GJ*74KKnuXfV&{8b_#xKGM8>`zazMu&|a6Kt(0Gh1VNLfHZhqlTm}O zC`kL^L-tQkgKITIz{NM*UB_+y?(LC5CIAOrEU!_KHk2ND4K|c&gN5PtaVh98Fh1I_ z>zfp4a?Z@onr!XL`s&kLW@P3b%K88E`Tu>0e~fYcOlgP%rWh;*U|H%gS%{R1Gv75- z4iNJv{QL)3NBu1}mDnXpYNS;EqVMT-b^10wIq49Pknu%b0ZS}?e~-NZl+;Ck*-c`n zylGd2GslcsmGD*S7J8!3*P;><2%|ecTzkbIi>46&LF;X;xWWgwG3C<#-69t0*H*b~ zPn+dHw?a73kXCrf0n-S5V+}WkqM*3=8)I#rSeQZF0}cZsF3i3T*IjWJM~1fcw#A0Z<4ebJVRv}JpLzG4`W!_CnT`$0<4Y*s5~icl znR<_Hq36_6++gI{!Jb9IpS0d8oIhm>Ul1>)rCZWhnMr@+3P|#hf`rM}$9vvdL1VKF zkPLNO!!8CXWm;8V@tvtjFL5OPYpkOok03B^8sDd-riPzYi|i);WJM3(WyO9QcTa3X zv)26!)JRtT>PU50>Q9Wk6H>j(-Bewft zdKDwG2M8y@ehV-b0@{uHvpCFew@L13_ zuI27{Q=0@9b(#j{<*lAc}sjW?SHKnk^dr8}B@hZ|j4I--UmK$i}s6DG}Olyo?q zvI+?vQofRty}ln9mvpz`e*fzb<7(C63KM~P1Zm!R2^sFp5PW;b!3@w ztY~{A0Fte!DTCGk;s0_wdjzd%WVhiIz}^1W8K`=Y-F0oze=)Tkg*@xWGLI(JA#rla zihsYH;*EEq@4oTdx3)98Xo^<=CfX4hTsy#UcN)L+|N6+qE71b6811M3u4n_6cIz8fe z;%viV1MQmBlZT#@sAy&mQ`*oV$~d95C2DB6C^tE^5NL-V2?v0Z)P{~c?<<73sLJno zr+&)3Ht51=d&Ysz)0K*mBK0d^TYA1C#oMpPS57Z47xPfhhncoQkIy118iuTCg%W~~ z|A5DT?(O|FugCH#GKIVHNWdR@>6xIc=lJYpBqQd0MYDHu>f5SELjH%Jlb3uF7Nl>M z&0p=PMGrSlVPYEsE`yDCS8qIz>&1hJxQ)Z*j-@>|pnmru{=u3dux<~|u{gSu84mLd zx{UVPCzq1hL7yIHbSP+_%#O=bZ9o>z>d00R&~?8Q#d(TMB!dYRhObRIw=kmuPb!T< zy&Lz*QF~~bSz63vEGs%puMU4^d-pJD#KsvvOHM4I`Dz3Wl<@%Hf6D`{>-27WUjCPL z-->vChQ%|_YCjHMesh@U(OfUN{{P|ZE90Vyy1ftGCDIK_!_W;wgMc6)p>%gE zAT=l;ozjg6NQ1O=Bi$hlQqm1W%soE$y}x@uzhCCe*=L{JYpwlXYp>YT$mXK};(Yn^ zG+&CIRl63l6qO8qYHc{sy02;cX&VFp8hw?NNn~%2KlrmRO?%FKKUlnt0fjRF__We4 z3sJ>DQ`w?D{^IO?0@s@(dy#=PHwLLmxcfyZDOho9i=WPk%NGEW@m9aXo3xt=kXq-c ziJ8@0MgQfd0RqwS=VX}5Av>cp#9&D1x+uPq*l#4jMdE{xa=IKl(o25^BOs9J&71GV z<-PCcj6$QLqVig%MfvaWPEmxxuMSLHRA;ngW%bLgzV@V?(%xRPy$Vo!sV>(rZfEnT zW>wU*$G`1tO#e--?J0P)!@-cA`=MVWc-5-n3E1ADGgnQ}K4kdZ5FVR@X}pR2ZzQ#t zO|YNeopjz`3pVqOi0C-W*{Zd?)1ErBubBWmbO)sP)}O?{QlHm$iF`W z#1(29;b?&4;yvB{Y6c?IDFeZD8A`#M?7x9E#oB8B@gke%t_Lng&H8v%#p{24xa_^N z?C%Y3wP2}4+We2IMVZMfHQ=CzK`qV_emp){8Th&^$9JDRwTFerYr3mkjbb zK9sQIY(r96TDKRRb#zFZ+i+7p99v_alMQ<;v@d;W8jwsY{a(nyr6g%HY{EkTj`ORF z{|u(Q|W&>wgdCRLW>)rUMz%WEItf8x~d?V$>(dF#0U05W{v*E&pb;{iNZ4& z8J}y5=%X9`2Wb9F)d#{`&>i95l40pg1nB3-2!X_^vcJ2ciVOzRc9D0Po3e{X&)c3- zxmdRV%7@w6&r=`z7}qM}%U4|WF$kNE?ka_tOx4|j-4uNvdBl@96wEHE zxBInrnO85^&?69MwcV5c9#$rIA+)g0k?tdwNQ71-PG-j=ulm-~xVKB|b#?wR&Y;r8yo?c#GYdlI>B z=N*#QE0G-ltSrDW`YYVM{JlmQ22kej7(L}ijy0>-#=0vZS#7>WcRJT#LKbk0FzAIp z6E*={#Z0CAYLCs}4r8ha$ECWrnfR#$Ya)SC#DzWYzw`Tl>rii(+?ri!ZyVen3O8yu z4pYzgwBd}h@p~9_uEO~FakhsOm4!PfV21Id7xSxj`*^|@ONzJgXvg;g()lt zS@)fChog^fnf2G9IX*cYg}7e+ zpdut+i@mBREi{2!-m`DIUeZ**1>492K~g%lL7w3W9-D6EmZ0XOl(4=(YPvSQm=`m} zBnX-{T6mB4UW|s)epOa_;L!81JbY!+pDtA8&*$F_xl?D=y*uUb%yZ8)rP&QH~LJxyzZARFyd)5a@EWJOHoYepW!`T4LBV zW~QsaKAsu2Ix6;V^c426Rv>NB<_;%yx%bq(70sfv!0p{%l}D=ARk+v!am>lq3#e%( zEunC&F93HPBZFGuFn-r1EB%lce;(Y2;@TkBH)?(p0uec zK$&4sWw}SPTm62`@=DXN=D_FX4&E_46W+2!{jOHX%ug2C&(Citan{7BR>u3?CFQ+$ z2~fQZy3>(Cc+wVh-j0!oWwHDdaX<&i0-s^6=R!V?G`0>-3h$k0Dt>}N*4HblU2+W9 z9OeKv-3Yjjea66PjuS_Kd1QBz{P4jhww0+qx8{;|PgLTL zF+kdAh`mwFrm?o}Kt}lyoyGrCR$;&lZLd`9*=c)a<5AfTbd5j8;QpASB8YqR^5XNT z`Iim2J361ITl7mH@Y-hwHJc-d8!0+AQm(NxaClhlnTr}RB_(C!OCPKAWk7j>EBV2^ zFjlgHCxvm+G&sXIHZhOVnRGO%ZRs8kzabX^IBEYP08Qq`xrsnl8;8(w)vveXe2(M9X@7nBW)b8^x6+22}vAW-o z_iDm;PW5CFj#1e+r3NAO;E=1Ss~`h^wzn9Vm{6RYoJy|D1iEm4n+QpEZ(Z{9@jb&6 zG+lrKRYC%cYINb*Ok<|9VfbBMLqy(F_?aKPC>Vo2jeB44zOLu)c$5@BIWMi~{>d_% zf+vhKS86g_O82lCe(bha_Qus?Zap+V?d1BXn=g#LS3 zm!r(fa+2zJv!uE@9U|Vo@4E>!HMy(L;yw2-xo%13N^ z%>Fj0q0n>Df*+l4FpJJfk=^gPgp8w=h&zdP9UENLxm?|ze%Cv6BonMwceT{cEmRjX<>-;jL=_!MZ zkD5kW&>ow|_{0RmG6B|PewSecsA@QXou1B&jYJ$BD26NZ2fMTo(7UUXV)O^ImlrGdm4_ATOc~89{Q+T{p~jxc4_cxlh-fD4%%P8 zBSFkTi34Z(PCsCu!FP77-A6B57^dvrr!Q0Q-Q@F{98j_RiEIKBlhFURm9L$cAB#Fz z0JA>hv}eZhSQILv#}$3fWZBfC$niPDYI(ed(cf80`Q(1A%z+|H_8jLTU{Z=K0L{Xk+)AHXavV^vjF+cCy;r=aE`*@$z zSY>5Gcp5Y?2g$?FsgUA{r|6R>sNan5nYc}~I4-sAKy|A4!{99Mn&?;)mf|M z3;e@lH~DPu{uXE3Z0x9&yMdLwr0wk()!+TW8V`F*V2iS4g#(Zvy~JPwBs|tGCv!V; zZB;|*%v=7Bule(C$oe3#gi<Bc83pCtnYL0D9H@4Z)LVidE1x7E>C(fR9WefI&}d9dv% zqlNi|;cD<~{klJK!3?}>Q59pA9xCpiTlpuROS$`%)+$B0Qx+Ial1S5laPmTK7e~T zkv#fp7VX#N7%8GwWb1P4TQ5oM&l{JP=1QoF*sJ=KtW7DHdpAq_@j;Ws1;)AI^E3%7 zzFCFJdf(+bD~&5It#7h+h54U1?-H+-UeMw{mb=Ma4k5Q7-Sh!8%l;Vt7OymI6%C5; z`qlrKzU)DXpy07))H_~&MQJvk@_tb)pNcXgZ=b8zzUuA73bXaI#oywc-S0uaA zrIA93QWWhaxPg|9o*~D?=^6Q^hqggGA`se1Pf!i(MW$LMSKBS=YfJAzi&a=QrWb!6 zy(25|g{3W~rKKg{dG3oBF9u$(-_`#jHtD}kJ*v$r3NRR=)#pTJAIACi!K-?I4#zlr zqpnXmF%VhW=~C~g0%_g8t$xeKv%G@2*5Aso^ZngVEh=7V0{m-Uo5bA33HBofYlcOdv)^y+8kX>T z#~fekA!=1v8a_a1co}JxKnk?n%-Ix3o%*!9OMzvDfZWpjV*^D34T8*K$H2PJCRmi4 zY6UkVQ^n@K{=m{@7FWf(2!R?`Dwb>T4l+H^yBc3jiU{z*r|7802VtMy{b_)XF6DcL zl=326%2?Z6;zC6_%wG+ik_eOU_Q)66l2y9XtoDz8Bq-Vk8}r~>S_Ub$5<#DOu~XfQ zS5649gK}Vi#Jg;XZ(A3o4g@$eOtOSK?Vhz9?I+XHs6JTU^VdF2w?U&{R>>19hK@@` zYVLLHU64$x^&4F}R*Dct?G~#a5$Go&A(Z+;7v(2*Z)+6uK|9L#Zrxmc0oxW`z{=;} zV1b6S4uP#w|A+@oXC!i^Kc^-R)sSw((3p{TXBbk7~_loYgP`h=JwhACc<;&RgsC8V{-nMl&H$m40k0--jNE^P3XIBPV zSdQO1F$u~^!NYG>6Q2t((+WOUz{JJtnWSKt+=RqVoA1qL-MB9#1RNfGc$JH)Q86|s z%>)e8XMdp$MgIP#US88*wCq0S(oTS36o*6pg?IHz&OQ@$4-XFZ5$o6KheLO@ z_FCMQGB4GeJ`bpKhk8n6qX#0SGNXoQ$GT#4+)DO%y-h4*b^Y}g*-uuk$KpTgGNRpF z+m!XK&O8PLEnkljUABwSqWU`D8g{Edu9wc5tU>E9G5}f)y2CR$Q%hB!@!M8#yTPfS zUoJ53Ivz0ur9lfWv(^Q<2@Cl{PAJL3s>U(x7&1Xya;Gn`_f^0@BPFV}NVhDLY4LXj zgJu%YHi^V4jB&ErbZkqCFj@-b;(6V2<7s#s&)`C)I)NS9N|0d)>sslKgGe1W61HA= z@2j_%@M{zKiz?N;#KgPkyhzk2(K@PuUR`mHz*1@6y8;)FVP> zJ}PAbD_{prt+z~9FFvYtOgu%DZHP?l^0v^lZSDED>|>giYbu(I>PNLReJN7wV~UkR zHCcU}!cWgIXmUh`{?<3R`c}p5Q`c8Losjm=8fiGFfoQdi+=gehlQL_hIob%kfo5KY zW3>HNx0IUyv?X3zeY)&`1W+CSBxk->^;SiZu2tNO`R!AU-7z;uH*TAE{!|sx?C4hy zGY8!z%^k+^*Z;(_ka-E}r8(an4o*!J<@A7~^l#jUv-mSgrRYZ$5;NM3c<+MqSvW|c z2fh!&7+*ZlSbp(-qE}=K5(+HCO&mc|8&xCLZ|?F(F?IRs^YhO71K*UeV3W%%k$AD61WW5F=RSDwRebz{h( zJFHlXi7kD<8SBEy5a!n3zdgM%eY{(0&w_)S1gyAgnSh-B8}Z0?znK>+rvx|qC_8>` zs;4`78wjfZ@ddDvMd~1*f>M&uY&$;yd~@r*XK zA(qbiS-<~-+cKH-uZ0{9!k%3-Wr~iE!?X~lf!$rB&o>$V8x3pF?7{x8O_2qjf;>rC ziZa#S)!MHdyMi0_z1_?FQ?wuD^Q`}$vG?7(cO4*th&&ZDpaTaW?s47M$LDKFNrW#Q zXo4rCI)>si%-C4QzLsBaA_b)xllLUdd-wKU4Y zTSjtf+Hh;(EU|6xJUw$Ox{ID9i$$)15mcq$KS^PxNWj&0Bcd$R_4c)A8h4{{`}sbz=+`@V4BU5S3R=@jcderosgCFqo}IenGV{A7de(n*%EG zj!t0Da0;z%>5TfSJsxNt$+dqYawXN>-L0vkBY5(Qy83Oo7M*vj|L$y-NR1=bcJ8rk zj{ownsLr%Obhqpk!wRE#+s}>bcgmendLx*7LnCx9o>sR^Oy!;2kG5o$AO4)KCT&%| zy*G0R@yqv~G3&#*Cu?_$Sh{!Xdvj$6LUBxjx$bJGW3J}LWa*ehDf$ZK!3%edZF6uT zqa+Rb!9*XbPp1#_zREAoqs0(w;SxLN2CArkEn!G=M*9_urlyq1r<7xeLL(wy`NIw{ zW)1hYww~9WZ)Y{ECLPg1Qn4id*cao4S!+b}Z0?G=nlrKJZZbQ$6Oe#!0cxM=`K)E>GJh?G;MXUHc zaKXT91A1<~VOx&{-E*Q+l?PbsP9actd53+i2k1k^7j4sWB7Vf1_o{$?6$gxY(%$o5 z-#5t%z|&gaS)PjN zIhPH58M%K8YSq)%^CBIbujz9@?|*HGdM`M!6w}!!b^sk`t)Xs9c}~Aqx|J1HsU@-p zhM+WyN)b^SUYn|iPnPnuw)a8e*N5*p>jO{vO<04{NH=;oA=+Tn3-U%f$+lh ztt%v8uLzXnVqx`6nrn1~yl{95;_8d=_t_ zp^Iz&d$?XN9Oekz22$O%W?4v77{$vcRWhiKN$6;fERJ%Zl{RfaXP(Co{HZ+HJ&ukU-u2Tf#^|74r_ z*8!LA|75SR_`j)a{=asD&#jqmCc4Dws8IF#ogWI`W%L3y+eqmR;Nc5XF_tHBe#&7pmPs(J-2Qt|TVEgVaOFx&W zwEIySxUbOxH5$mu^teXMv416ZpV_nd$2^(F^*4{FU`Cz)cu>av`%KCjE#TrB5@78e z(+%1vfetE-?Cq;V1WG?0DH!8MRO7)?h}`&I+oW(Ey!Se4AXu`Ckcj9bnRbq53!NHb zFgYug6!)I#Mrdz7>Qe&}kaKr3g%Nn*f`>dc;(O<`gnI|BK(2sq_lQQnCsb|XHPafM z7&3Tm=X9l#x8x{ukX9N01k>=LR4V$AjxyMh!<4d}ToYY#w!raEA*^@0lJ~vD$!urF zH;bvRRTRL_?Ng2v@bs1vwb1wP(6y^v*@H+F>LOGClP)#zg{q6Je*;Ft&2j8JJJ4Zp z4EtDC79{fcD*IbJ+%O?7SqP_L)f){kRo~(}g2#YqeGf3Y7rallPi>e47X=?B&#spu zd5YXAQXnJ<8;FwN*=05{#Wtr4*y`JjjFCCy!@ zs}OC=htp`w5zlB??7ieQ53oAf3G0d@}}VD0zgg z+0a3zfZZ1kKhc2PtlAe5;VqRa)f=&z$iVdDJLbWcGdJ6h{*(IZAEB1=BgYf>x}w5a`TQ#TgXJb|m1X!e3lPzMUAMpyGXEVjb&$jD9|33r zaZl#GBo?vn=jqeqzys7bkEkmHH!0@+ar-G5Tw#2>L{uaUG|-a=EJNN)2kO#|{IN!l zxe;VwxXqFs-w%d7(%*I@Oxl8%CviT|x9s)XyjTNx3Ol}Is>iP3Hu&7t!l|$J+Ko$26Tmz4&dIFp6U^!xH=?KyN#{wa}COqWg1 z){~+&UK~$>L?-ZQ_y&m(>|*=JVr7wReI+T@KJlpABxZ!T0x?rJ06pc3*?D8O7qdqO zYxTv_`hpxU@}A-GVVxx+ou}zh`&g$r3Xv}y;x=K!dB5YhzB48H?Rw8q!kbdY`hJ`W zcAI*ArEt@pZ$wG!KY#WjoM-E|(rNF=%5iu!GFDh_ie@8UMg35Rws+MU#+(psNrO)qMsc47N2-0KM=hO9pzqWm55T-t( zOKryo@052ETntDws{zp*Hii+;UUFp*vA>!QE4#5stl}KR0IGCLm0mlNgCwl1sw}N* z#xVKhNiKw~d$?W;=$JhtHuF0wW?Uy&&j(+;6C-y}Kih9GXfyXLHqvD(9F`x)^W?D8<`59YaPG+rvp zfmvqtc{Z`ts+rf5KJAbQnzi3==68+xCxecWnEtpRGq9GGNZZR&#*kSv2r}RuJ@-*7 zZFvfuz_<*WQaeN;Mhx<)g&R`cIcC|$f%UC;4}BI@imv0Uv&*1+43F>Rv!{1=NPqw( zUdy5ZZ(cF!mwt^-(EZ^l1Sv!FLZQe}BIw{($@>r=e^+L&z_vC(7x>z=KAEDT#BY>ya!z2lmN z=PsdGz5kQ&XkS)ZJJ`m+UIp`XY}~c5Fcl*EN9({V?YSsDA*qnsVk~c~P3`Z+4(PzM zX9b;(+<{U;pPK`IPon}~Z`aDf2t>#VtMLUK6@B3$@j8?x7Evq<1cIkgUS-q3zlIBc z2ASgAevsBp;izuI zMTU2*^?q7kcLl@p1MFo*u2PiN^DP4AO=zE|O~l6Bg8Vcvl5@B5JZ$>T0v;^wUH1@n zchvZX&${Ji)#BRr@p@je%in8>Gp${@6}m(Q>3oI|h!Sp(yu{dMTM7L~%Tq6Ec%*(D z|K{Lgkoh?y(9j{mfb}B%?R3cV%|VJ3_6j-?!TcPlyEjuy$N)JV#mA0fiimxbucr|N z!WRw@u7R5USV|tQLM|4mCHge^=c(tDBwe2<^g1M30XL#kEnj=t^mnCB6*7NKvTs={x?LJ8=kqLd`PHrjdzM-<$rE6Wa=ccCB7zP-yyX=7>_^XP9WT;>KTr=ri_ zc*=Q6YRt&3RY@Jnu#|-9=yNFfPb7cE_4##Em2oUkeUV_5d!+I-r(dpp$uU00Du+Gp zi2niRf_SU>5b*FJ4~xzSj8v~)i!OCT?3PrX4&c0u*k7)*X)@(a0s!puAK$Kagj>VX ze_Bhl?2xXxv7MMSl8JbY37J#-wk{ zE`h+Wlk9B7NpQm_4UrwwI|-=ChwSVmL-Yoee>GE6LcS8Sob1?`$Y|P;;M)8pxw|?~ z9;+aV*$H2D{F8H|YhPLHknD`>dGDP~(%|PA&A7=E_xM;R-n7pz1|{mh_qOBlJb*^u z6R&|})@;MeKy&MhS@8X&pzfG}YvI@9-=&333O{+zf(e0+9VPsA-H-qTdj41pxVl~R zU8QW+x0g$K@DZtFHrDG!n)36J6sAbybdIVrmLU<^E50rtb24K$oFDu7PpT$ImzCN8 z;He(z0u9tS)$01jGS^nwi|!T~l&IZ8W+;1eLUYQ(=;9TLZA=9^3SpUq(RN8GDxllI z{11!f#Bl1e?Oa_X$;pYB49Y{u*^%*=<>T1a1TglmO&t6F6^3DW)=i6+01Z*Yvb7g} zM$WYyPGG)D$>Kgr2T|B>?Lsw81(VUoGJHeQJS2863kYc##V=zf^sudxmTh_|*L$;% zBbOEhRY^%nsdKedDGKvdP*q?p@B4PCwh3AQ%98J~BqnC1ER#ep=h9@x!6=8Y0U_Zd z;vnmT;p?r(eyEcCb3#ILMe>CnE-Ss$bdIzSFArEYe1^`_t(yw1l2zYub9s*7P1QQ< z?H3lWzx-NEITQrjb-BNU{vtsP-GJS41lix#X^<2VZ zG;{1$Dw1ZqosS@F{v%D!QHQVBN`g^)at+!m5V0LD2mK6?ltMdU%nc7$P=7SF{VB%O zZ`uRoHL;gVg}D@QZuwFTW(kCh{DKhv2!K$U=Xa2q&~>Z*a&SL=!L8UkrbdAF!+9gJ zGFEd6BN)dSA}mfx=04B`V*S|1@a`^Km?XutmXK!6Dv zKVm!MW0XMsZAG_tD>hF{4WHr>^o5t|0UW~eI(kUx=Q6{XfF-hYG3^4`SiY?{kD&i+ zJq8w43_Bri?F`7SK@*Z*_`lAU6m_Fq5`B`_Ba!z^onrUym#AyV_qsG8s{w?w4tj>t8|Vz@ zNzrP#PX}7Pabi*Tdya?7W9{kXGH`_J$f%t%U%fUCb95@qJw{$*x117IGF_pU*P;IG z5bHefvK?)Xb~#QjE7+z_ts|{xy8+2j7u{95U%k<6@r~o-twj%Jz|LEffUA=1`_a0# zjeTpS3E}@cx&N?+;P%T&ZetU;7&$evBD0+ew$}5s7tfFSR%^nD z_iYPrI?WguFDyO*55Bn^ZKB?`Q77mf-pjk$*tbw*W-_1hF;pIu?kT+7;5(x@%bK<9 zp7q-uL~}e~`s?ED!hz_W>*sM@Tl-1C_1#w#{Nn>JM5(WhKP@3fOnUjw&wSx)yej}W-NYfiL4JnUK28p=`x(VA`)NYzXh z3b?U@6S{_qQgUq;Vx}q{^FRAT`6qUWYiM#cXDALTy7#3jHH)oggbVgvO%3Co4=07@ zY}39|uyS>;idU_WQGT#-;6TE($~K?3fs)bmp}nC@QgzUe=ZPga(Pio|hz1EA*OO#e zF|dJB=21!{fbZYNoLJ5Lalq?sMu@$#i9v4nek^y#?H%hoi@pZ$pS z!wRAX)eWNIoL98{8iT8sT~Ey)V{)QMhcbH@qDK~ug8Yo!EHdn$WO&AG(2VtTo~ltl zF>;FEWvAW;$v5&PB+F5}`JXmjH2nHz*f&NP&FC)l^q}D`=Xu}v&n-iYK)Nj z$cl3fEp1Ds*~mnQjmH8J|TgXsfl%8e+7jH{(@e%wusqrv6T zVE|BO(2O5gCDGLA%-zP%XS1$$iL}X_TL_O%>zzGOP{R{@gDp&|8|9=|Ikrr;>aV0k z{@&^(xtlnpTviDZki{wLN2JZvyq&ZuojZdcH7D7bSC4Ff`|{D44NeJEoh>s0gvoQd zrY%QU+~f8b71Txfu#*fiVn!!qpOXxW*B38eGzSpuXe<-25~C>IG)`%}3)a+|-L4(W z`59Wff34O&Y2R`m!Vu#bd(R^5;lpYSv!G=ZD(}B9;8@=(>;pGM)pnBqTCG8bIf_U8 z0Zbn!lXiVtQDNnp4ZF|o_e%xqj4D(9wE`VVBT;rr7Yfhbh<=5!JZ6RnI4|(nzGx6P zdrb(QAJSS=s+l$(oXYKMqc@yM8-bPo$5<@jt7N-ck-9|K7+52O0A!>TzizRkUd@xc%pz)%)#5R+wNnt zFlHs8@EVH_=_cY>`!1oBm_Gh>FQ>8#k0e^BPr~_V%*TB?mzvX&CdwB zj*ohy1Qsp}a8F3zQnjucMW3ReGtf8S#!#TqTRoAotJU;){T9qb3FMRa5s(L8HHzudO8qv`<8T7+OLlt5 zO}@ihzenLB7>jyHTx|+4ou+X{op6;<1~1$lMPRVlL@PaRNn%nEMu@wyzupr0nD~p| zf|*=U$%%bLN?CHqIg-E}IcIFn%+Z|^%r)q?RB2KZWQ+f-nbd&s0*2Jj1c7K6s;iDI z`PvbW_ers^NYXX2SOX1+SI;SVKIwA{tVO|wKz`|cxX({l8dLfs2q0RCVsw1FPgkjA z5!lfNF2mW)xIkP2n&9zn;wr8UEU~@c_O(PCC2M z-`ETQ86}8_EgAYP*&w!Agn$p!_lR%)^#d7jVzFdoi(^Ft>exL2&Vg}G@RJ9cuX{to zvk`qe-Pc~z4n7O~qwgF>x-ahJP2>~y7~v*dt#2JD8#u{p*;Q26wvJ=drsUlIypw3V zfs?D?xJM5LGf(2K{R2$#Q(am0*=`AE32Z2s(g!=}m4)wHh$8_dG6SdRr1GrY0`Xj~K z^`tx?t@M%soF~Q)vrQuT14qOh5}0!XO;M57?A_dqpdEE>_wA;cY>s#@c5uglY>Bxf zm}gkrn`X?lJDpMhDAg@jG&D3qj~T{NRxI{&PLOa@zPvX6X*o^(Pj&a)Dj8mVLS?-#kg185z)hx?v``n_4yhHCdbAY5y>?jAP`Ynxt_8bDA_FZ z6;A8=r@x{l#Y|vWKr%3oh-;QE4f1WVCgSf!JJge$t-Xj!FqCsPW&O?~H2#Y}jYIq4 zpfA#i>obEhf*7>_@ddDJYGV^E2+FIDRk-tBSI_AuG1cgg-hh{7N|bG7chD|8jjqnQ z!VUg>gzW3-)Kj%jvay?g{i!ToTWtP5#X$LEp2jknNZ(i{Ew&AT*Hg=o*&zUX$i;kg z4z}|TYjt+t@rW*sKYRb?{J3Y^3er<|yq^Dm887nRrsw zJbvOTQF>SFW1obkiSMRZa(k0XaOYKGbrVnJ=O#d`etcJ`eUk)9=W<=oT@=mwEUPXTIzxijwF)?|c z_Z}N@mL>%Rql{L|;e!(jP!@L`n$$(nq0*Q~zVKV6MW>D$3GEmOcoO0({bL5Yr*So% z=NeE|8iy1mk{{Hk%O%u2z4tB^dQZDC6*7kAU23%-YORhi#6MZzI_$7AB@EmI1pQ?P zW?iFbXg(e0__JBx1y5)kBgG;osY``vsPskze~>8OqgVc-n}CFRM(FY;LIrat6YLod z&Q*cs>(Xm6eL^#qPgE}lMvFUMVNw*49h0m%$q~y#l4?YD2gI+jU2oKwPin`XPK>Bz z6HR=B$JlHTR#f*b9%h}+G5NfEG-Gwv`>Tn`fZ{DuB_yU`<`qj#=sNd$02e##icS@^AX(Lf#AA&}=nU5Giw)0phpov_>$ z$a%91`LVkiu5Fh2UW6}mg>MijVE|orr-lE)J90NO7KyQEn4fDga!1zl>fKSw0#!JIsayPncNJEfhDl44nFbCzoE$!1(Jg#YiI zZW&p+%mprHUqCl5?!$pv!=&Gjh+xsHZ}61O&9%kmP>~H*dP`(TKTEESG|!PS4{iK; z(`+ci*S)_{tFd~yIaxB@XjKz`qqo=cvDnTt?~ye8<(6wsDoa!_p1#VJK5-ibo zpxK|p=&rU*178*aXBXfX)}Fk#!*||d6HB? zx2G|WnVeVQ8PgGGF8U_=2zWjYDibCHKWjr<;;up{?`*C@dMmp3wOkKH`8eHJTyf#T zQ-J{!o;2Ae+a7YYnw*J9d=%)=7a|arF^(3efI5u)1q!am2@$`RzNf*!FvVXGExC(K zVNGp~LnvuEqdbxex?wEyNG=G}7XBwFSCdmLhQrDjD->7{=Y8imQrAZ0$EliuUG`?C zV(I5Vwy}3|2E4M`&uqcTa&=Sl&tX)nMvl;A&6LLGsV8z()1^;)3NxedL$XMbaj_io zSDGhrc_Snkl5Vx{yIia^Sr1bJm2g+ZFD87PCmlFG)c$y0Qv3+&I`S4Qxq_B|w4h|! z8kNL+fqeU_ns{*Nd{IEmQlf!00r|#nFp6^|(oZLbIHCmYd~WHZP5QEP*V6YKtv{KV zQfQx$m_F}(f4^*-0w-o!Lomi&u#NZfU~f;fupng;LLs365fl$#68T*XTR z7f$Z4GKFSw$ryc;6Eis?NMmG34_Nf0x#cN6jKX$4oq1}NR>H$cD#DBNpL-D&Q`&(20drj78OucMZ>^=U#^vwgsK5QRh?*hB7)~YUrZ7S9J$4lTkTGj$K%o! zFEMRgZp@dU~#?by5JhQmXT7Av`a!a0{h0xaKc^ivWLTWiuZb-#sXn zsb##M$03N;ug#SIVBEi3xHG&FXj$GyMJ9gah%`3;Ov;{wUDK_E<$v%hdgO@kT~0ekTH9oBr$A zoxd^V3RTRwrB2a_xbkote$P0`ZYj!xghbiHd)*DZeXgY6S~X6*#+5tkDxQ5v=ZF;b z^NOQ-IIXA5-Z`y&&`iA?p7O5Ulv!$wk4dA$Bts1!su&H+Vo6-fZTP zQYs2jEFdlV1b}G>zfaF!zkBAjbjJS(A2CQhKJzTyv~}=jvy5p!DeC)2^o9|O95G_p zKqY$Lt8zp++Og}+5xw5>YIR{UMuLlIZo3ke4?*h3ePNgNlk2XV18Cbxq@x>k$#Q2u zOM$uE8ou)(gvpz4FQt;FkrUnTn%sw)l>ujd!LsH9-%{(Sv(zs{U~i$-X?t0Re?pG;BLmVCsr ze5d{O<-3=gUov*uKE#iWZ+96SM&LSeBe!5M@@{^*Spj!jwWSL55X^AYf{S0&uxCRJ zwmU3-#d4oS2#04=jGgPRP+WilHK|8xMBzS`J}J^njP!r8_SR8xHA}zn#vu?S1PufY zlHl$T2oPKY1P$)NgEJ5kNN|D%cXxLQmf-Fd+jH-t(Sw|N7Ql>#oHxvwL^< z?p@Vg-TkZTsy$xgCeVO`8QX*XN{)h}IYAfgpA22Agjs3hFnaVeSZM^Ks{M{_yjST* zRQ34-(aAU?4w=NWzxCbCI%0G#4s|vjOd|&@j0-Y627;wesMRPhB_DZ<|Gd)hi=~N-qTAno!a$RYfJ< z@n#+|281T6&Ee;q?)xEGQ`q<}HJkpocWv$^C|sf_K&JSttpZM9*>B-%-9XqlPKG+ne>8`8Rg%iE=)G=Ks1q+XQ6a+j zcddC!LPFkIXAH^5^H&T$56WbNJ?;tR&~qK8het|p1JEF;z4cplx>G?FWSBg^U&FS9%0t zR#oo(`HNBZnJw9+gsNB%^OhP>@Yr}>o~FudjQ|PW*aiJlsXpitY^9y) z%;CFt!pP>e7wjU6%*D0cDl^3=6VR7B#8{ln(&~ehU>O7LI=I}HN)crDGuJ$7xK!#* z@h8-NxGG#sd5-GPiL>@8iH3sld;0D-$ye?a9jlywb*h~O(Qzrly3Ms40#Gnahx#{3 zMHncKj|C(QR_3~vO4_P}h220U*2URXADDmE^KB3=|4_$59%cLa=*UA}Lpc1Q7X8UH zJh)i|h^f-fWU8o0cXID_Qjo%fALWyzZSp*S$-*+6!OA?oG=&!U@|b)Vuc#&TsH{H)0nkj; zRS2LUU49DLOM18s{xb1plAeW1pJ+9&E&ei1sh=k@p4p^yYUUI%Xjy$P`1|cjwKG2W z`)O#vfs4bfzt%pykjo#axPOXoW%0x9g_2H2;0GZ0m>JsafNuhi%w>kUa z(H^;zA1*_r@BPIt-?of55y&QYEzQgK)Q|_R?|l>+A%Ag9Q4vnVt1JJEoolZ^Go6L; z{KbtDPq079iH;SIm<#gVOqBtV!uiXVO|LS1z7FmA6)*(_5?ElR3r$2VL zpZms*%=4v#>e%uA<|_Mr6-&U^3z><_kdGd-U|78uC;S2!Ci-bqRzp_J@?>yZF7<56 zBf%jO&2;|nA{y)`6|*l!mf`(vqzCF$g!@xYDHNaQ1j*@1Z0)X@aOWhj>u;U+(Qodz zH#Lc-dC#HCarPTrw{beWG=bnJz4tkVa^jF#lcJ(YSg1d7L*aw$$`?@BS6Xa3o8Iqc z=8(}pN%$jhD23udE`vOzC@%@-GECyZDQFx?Fr&|IA!b)1XP8DCIrrGiox$g=zBxbS zO>n^V!S3LYev|R{W|0@TP-#;;oeKKCtq=}X3u|C`wG+~RQWQ2J#`7lllNRvu@r0(n zRGrp)sYEry$I5!&QEtD&$~V7SbI6F6hP4R*avuy3;<;SLpdxvOSNw78rFfXuAm$4T ztA&^6mc+Hy@+Ellb}lDD3H@aCypk>h3!Q;ZgT3TGn~?p_m=gayH~d|D7)GE1M-$)1 zav3zlgp1?2Fn87wwr5p{-m3{9Wtb)?OH^{m{%xn!e5*F$;APX#ZbQ=2Q#e|mgW3tg z6QHzuz*405Br{bED@c&-&}sD&=Caf{lBLpQpU~R7I9hi)J%I9hNO!g#)S7{CJpQ`K z+%lDl`aM7bv?{Xl8Jcu&$FC|12dtx2SrXe#(X@6J zl^dJOzu+#4wvbId&m8WZQ=P{-@kI4TSliY7FgaqH{FBA- z9&c91ovRG5f0B$tLYrRSV|%BjK~Ik)@Cmvihd1qQJ zb2x8r#{#$G-Ntu5?f^mYW(n?+BjttDm@!bgyv{3=NQt1{ie*}9S zs_J<3tb6ulae7Q{7axWL4k)A)?H3-eB^D0J8Vy9uZmov@V%g*xn`=_k*L9@WdyL|A z`qg37T{zcsggk?t)7v+)6I87T7|s?J_yzHi3c+6Zg6uleNU4 zHFF`}B=jbf8C9sh8DnAA#tBZ4TM=H0j*i0lwf|C_hZo}SjGjZo`T`ozBnCR?LADcG z3ba2E?J$@lwKF|N3JgeRXZC)?X~`4IL4_CMr)TrzvNd_+N@pF*vA=I@dUItOW?v{b zd)9yKb26R5SBSXI(M0tqRtqNt7&3%bQIRu<8SV3xKs~ax$I6NFs7fGypt>doX5dit zpRIDs?Uz4%>F#XDZ2ack2?x7*I`2r#x)=4`<-tSU89NHR*-y1gRW#j*R7(|KaU`%n z8ZLK&R*JGSgb`E)NDtjo+WhN|gCH*Gjan_TQ$Jp%a4@~lA{wXNUwnv~!#lxs(+T(O z4-p{dY8xj#J15;0_j>#!YEL1dRbI|W-omc-8l*;Vf~riy$=;8$y99j23?AYn3c=Ah zS)QmT@2>#GW!Yz9vU1`tp3EY?{!_AaNxJ=cRm2J*RbAy3Xpuu^@N3?{;O74QXRO#> z$(Yk~Q!DmA&VaZ;;Yg~F0U`lE6^ zJn@tpXe@2hmxsdK?P;Hr>(fawnDKN)sLr3XyBQnV8O)Nbe`X2qhk(lb-%Z=5hFR*k zZ_=%jr^UYq#J9!v&nvINo1iCM+YYGASqdIvTQA_}{GV614jFqh-`uOU-ciK$*o<-rmSCd*&E;fL!voX4-6m^jg>I_2Yqh`=#Fxkf&1+34azv~+ z!L<TNk&mm^xy%u>;xyA^YR}k57n$Cdd%$wr zwzU8NmZlc~k6%C0DQBz%?>Uu;ki+(ivql%VP$TM;9czftKhu_b>ji!AefN~tm$^3e z=!0=P>q9SqXq0yM=_`i1A)cZ~B{tFjsd^e?x$D(9G`jr4;D(-%)djY}YtL=bG%`XS z&uolrWH275!fBOMj7N^IkwClqF+PvqFTN~c0f!Ro0V>SA(_Hx~h7)|IdAA}%QaX8G zu=JaYU!~`f@C;31JnofM{_B1??;kS$1dPgvQQlTf*+=V+0z^n3^%fu7^>u%DQB~9Z zY|za2`(w~UW`5ra#mR^WF|!&mAy^b?R~}xx8ow!6=Go!#V&ki)WA_xdg6hOB+hzVW z%3v*de5lvwob0Cqy~}}hZ-Zy9;#XaR2&Y9~>HC*@*KsRb3jBq(z8EFmt*|=~onsG5 zkM#TwVG~f9TyCB9cv`d++8oL$LXskTZ{o95of>}WzJ7Wcvh&?2-^u3^rq7tH#Er9-RSvrI$n8T7?T5)xQ z9G9`ou#=h5TR^y3b-}^q?f$R1Ikfzg1E;k;BE_;yeiT$rBkLu<*J`hkfYrI-{qVHV zM~|YW4@n-Xh3p6teAQw;DWNc{SqA0fqf+&g%7`Yc{E6>P^kQBoS;W9YcLEW+mvP|qPrls*=(ODmAxxmpXl3U2)3+w;0l$%V3(@7Jgild+bxS zIM9p@@}?Gpdh)ycCURU+nV1#m@T}qtAE@ao`JU}~XU3DoZrGV4czzN&f=gp2LG=KQ z6Rf16JNBJKX^TrTP7S~Q4P>?(`>4N!J8@#rpk%$^94$q7Hly8BBRF+D-_CAhrapnP z<2%U|AmW1k-xKzIGsjmbgbOzn5HNU_d(|-F8n%Y$0IwVpvSzYd9s3M$es(sRs&aq~NC(eF)Us|R61*vL3*?IJ{EJ(5pL@=;KVd~oBl@>C`CLhUH|;x*P3q^zVidsY!jgs$q?nJ2$|UOmmZx7KU{wGiy4*9w zn8&_d`hj#JaNlP?^F0;}?m&uz9{BLpf0}QF-2b2Ju<0%w>VNM1lR<=@1LgOB?&4t$ z0$l$tiqk8F%0K5tsr+|~lF;)J0`1a96d*VOT3oCt zr}SIhWJXTAIHOwNHv1}g0;40dnkw0qZirVf`^>4Qu_2bfq8;0+s*uGM5e}l1CSnna z0*b6b4>hMPv(4@_r|QL5`MbM0Nq#iUyoT$_q|w4=xX!xG>4IRiTXv5cC|GH?)8B1e z;S+PlZu8oxB}V#X3H*Q>=xvJ=7k)N`uWVn0vdqt!iNS@{qs!0X1pD~#<{FXbbP>K zl3B8!7-;nLHyPt}+_K7NbU1U;FVO!(L+&lp{h^$=EH}CY6Bx%#2Q~GcPgbW}b-6}l zu;(qdW&Ut@8^Xw9Bke;Q$bgr&udM9s-<;18fAJFyo0*-LFt`7D7Vx&5nmnJhb-_4k6jB`Sy3w6F51k>?rt3SoxAiodtV>EAzYNL~#N;STQyp753r@G>aHzjNaU# zX}EWJ?m$Qo+Uj*9SwvR~dFE{ivNlT>4`i75_I-Zk&A}o@5!^aKlsd5l>;V!hZ^7!>9m(;*{0BHB|BR=M|sar5~s~zeFV3YVeR~8Ak|!o)wXRZGH&t zn5>Y2Ja#-e2&(v&*%D~Ue|_VT725g%IZw$;^3pjfDK)X0dF|LgQ5<~4*f#}nc6S`G zzOeqElbstC_$TDNu^a*Px59!fZ|)A|APF^);7A>}jM`lW)1+N>uJfyj1A(LbIVXLs z%;!Dk?)W=nwMvQ~c4oS+B_hk1*qQ@NBt_rq^O(?(%>A+M3HMXpEXi}Gk!N%Ljy?tw znMJUa)Ueg3&;T33{ zm;x&qM`khrW}MoPdfV z0Kj6~RwK*qtLGC2fVug>t=>_V3)A$?18}4&QNb!lUY;?Qq*s2HG8VyUikv;v>(Aye z)KNC@o}gklmZr;dMX$)TNYCT!52%)JSQR5BV@(nPn92(|VS}B&tw4@)!opHu8*AzM zJA^VgP-%Z7s?*QA29!m?diXhM(3&Kj$T%V0n3{`&aRwT?%fl}j z#}0_zX`|pPX4VXDwjptVEb>wD!$9)$1v(0rv1;}L?%>~%(7v1{Ob4q!-FXyVHMW8N z@LZcDx+~Q4E|^!M0e>DurHG745*Gg1f;Ay@v^@A!J)5kaBYNQFWOhbQO3_Etr?Ihg z#i|aI7nh*aHRlc3STouz2{LNGt*?q+Kz+;Z>V~FEN4d)laEj?Nd>9SOB&~JKD){Ni zyV*w4!{gZ^%gR;$s8m98*d|O@KT1$}wFq%k*lfo9@LyLG;k=vt!)*Htz3|`m zveNzZZh*A!1>=&2`)RisZ!Y}1U`#dq`%N*^%(LCM=>bhJ_o)VrVnj(>SJad{DL~D? zZBe}6K1bG(btWmo4H{~9fYyWH$dvp%;0b>H64*b{LYoi~LUH60sYg==RE<48O3h3n(D;CrORVHeN;xuIZ0B+=C*aLEAt#z zMkagB;$ty4tucX=C!1_&VDuQ~$v&OoT{1WDM!cgO56lrbFxDR*P1fqh@lYclG4ZN% z4ftm={ZPYO8D-`{>zD>R78X_TZqE0z6mUR>Fj#@oUBKg0*SE~JtW)YCiOoC-Z7Ww4 z|HZH`aVT5Usgg~e@8B%? zLO(%#eOdEK**5d|@ejuf|FX2sXOy*x?LTf`C_CH|_d#@(mGrbTq&=+zqOmv(AYhJ8 zsB?@bFB&)!|IUmA*i8SS_}EN&bACH)0(##Aw6xfg!s`+ z^|Bv2x(}6MP?eW%d=BPTRV(Xz;Vuq7FBTW~YhP~q*p&qrTjOo#yLDVpM3nXm@!dXJ z9_y7GgvSZduSS2M1TF6X0EEZ?{@BDj48dmop6luQ2{~o)>vo-_+=Mwg4fZy$%BMfK%Ga%H*wX?B3D15?pq~lA}L2GqJbj8<=pL)w4iKT zQCR_$tAXaEin2IRqQ}8ceo_}sKQMDHu2-hNtu~4!sal>xJLe|fI{tfNJKJR{feWAX zooEdowrpE^vbI(1Zmh+sVzR&Cz;7vVxx@n7idz2S=;mZ|{tPf%QL4`1si-{qW=aC# zUqC&d?O8E4U5YLe8+9a{tg}fX2M28P&uky!RSRWKw{ylJxVfPcK{6m;%?5CM+Q3Mx zyEMOW@+JPMtzkBR{NsSC@w%PrxfpSloa$PZzIFx?H$bnDi<;BY7jfrbgj)zP@#s|{ zLZ{#G+b0$Nj~f9 z>O+3-8{D}*KBAfQSzamE_kdF~cE1NSvgzL%FT%+HHSa~vDUJ^|zDSwB+gl#&dV`Pd zAi7T#HSlqQ2_1zsIB4s+kp!6eFhiEwa`9Ft$$0IfkV+bl`*fu??y6I)Wu%gPX-ICy z^U~=FU$64+5l4nGPcbsYk^(>O>AdK%1xyOcqi^iO+hSuvO#}_IiPiS%t4ug}U zrmV3D*Iy3HBF1nue4Iz+YU>+WI`7x0gCeaM^OyZ=eWHV&ENl%m(q*;hdQpxh>;A%4bIcnyt^UY&W4g;AsD0bT6ciI$+`mZtEbkc)H8ZrWd z@}-^Ng0`WTOWOIYf7D?133clxt;t>0s zJOw_?HDt5S%YeqKOGh`Eli(p|-d{^cD+-|dADQbgn^8n9Q=-M#vMvYhVd<`|+{2Cm z8`!zV3`<)8G7$#Mz%AczU>=1jm+$29?ro3l)z!o>dh=`(%{ ztA9Q((0^}LqG*-%#*^?j56XVTS7XGUN`=Xqmya8i6@XU19v>Mfg@{j6VrOTu=eE=U zuNcbuj`-WUt_xq5BsM(1)rQc<2al&LU$TB`Kc&=C)L+SAv9`6cxvwY6fm^E^>QeJH z8o0BR4DF{+dTvcU-Ge^t8&c+OU)8ZAo|}9VZsN(4a5;1@spd&TVV{~&=86)sluxwja2V2W393J`%4!E zr^>^Ow^Wg0w(@pbYX0g7oT+{nWSCXN#wQVEsjwZ%vCt0~KYFhmW(vxt5;DOjp|0I( zXS(DgU+Dg}JUKr>0-fJCwVSyrHkxoO4TExziMiF@tRrVgJa;9!%O`mOZ(_y2@FqrM z<>|!ABp2qn%1h&p98N&;-r-_txYO}C;F784%66^r4WVkr@EwS|zwwlgGr3d(Z6@Fn0$qr#r_O>ix+M=3xEe>j+{V9?4pdT15Se zn!u9})FiAYRjhq&?)O)Z%vNzGBoe92t4&EZaX$31p`+-e%b40BbuTu$X@GIWqU;iQ zZY8TE%vA9u(n?UtmPTE1#m2AtU01PpnKGOWW0T3%GuQ|jm$v^H(*U^xj#ceu_{7#* z(cScx=%b6DzU8GyGJ@l4k{fb$>t_p^YN&HBtD?sT5%AY5?LJ0&K^?TBZ&#zZ`dhT~ zu7g@7;C zpr-Q3N|S--iV}Y>Al6+fNRN$>iI-%khx`dQtywsW(yqw^v$+d+yCbR|h{cry{dtrQwJ`|YM&wuT*r!BZ(KNM4%!L+=jy+Cxd z?J+vF)e6$%#E;yZbtyo*7}F>bxj7|Bk&gbNqctfZKpNawfh*)5MPpkhEkPR2n-Ht5 z!EjXO*6X(T=-}>+SCe_4Il{wZgL&v=unW--nc2xdleRC5f>>Oux7T+WRV>AApV;BY zbHq^xM#cp9Vi;e3(Tc_n3)S&H02Wdh7cv>L+JHoavcm<%&KOZ9ikC)e47;nuvDd&` z5&Hl^dl%0BaBIZNT$yE5@?ltwxyG9pSM994&&DmF2*;^*YlP4X*a880e_gG)#^m$? zqlNf)hEyPZt^zBrblq`JhS$#J{21v6%)5qnUgV3uO3vuge7IUQb zF?V5ELj?zk(Gu^^7XrVBUX_sGDcPIU4e~bPfc;TrdLjeF8nCooRP{e$0FEz;0kjvJ z(B%YeO|>aJxP$-fHoJ!&aQxRS7@SZ;c%@#D^{(0@-4WGDojCNKqJDDE)IygqNT;)2 zp?jgGt0E7segz2lfowH~WFb{0TTc7sSyhpm4&vMa-I zJFH^IdXtLy{z1v+0#H9v{1G4jgARyi%2UPkKzx*+funy6!UEgi>V}I~lFl4aIw7wIsUPPM zM)##Cy*>@sgKmA!_9S3wJ>j)SF6x#Rutt`TQWnpMMWS|ko9r*2j51Dv_G1!pJi`^8 z;w4oAF#+O=AfK%#RC4#J3b@nl)eyiQFIw(<#Fg!`T=NYh*~J$e)bnreFcu42Y8twL8dZTf_ID(=!{Deian`|{g0-)R zxbr|D5=(C@P}Ps*`Mct5}f%3CLpNU8>m#gRdeooD(P?wd@(RWb*L@Y=j079dP1}C?p;<18#T^n+NtAN z>AwIy9VF{16T5%brs_Ldt1L|uzuj<5`6%-8kYvybr{*c6HUA8c%Euhvqa5Fk*gZT; z8{pe+j%qibkuNomB?8LuU*y*J95~p^Dm-0j_zEr?!5Of0M-vn8Ney>;UQ{D7 z**}2oonW-R`uTW2-)~9L1J?s&8WbI1aX4rBj*w$e)I(Tf^i65j*3A3O$&5dA_iI*k zLrsZ%eRi+re_hvnwUFDjuiVYg&V6x&>{#CyW~Ce9kP|iVWv1W%y=g_@LL8!u%-+L; zo-6ycWYZJCa}TWsx5BH=u~gCF17qY$e}4UgU9XQw6*G(sOk4b#t6~Rjm!zY$3WZnS zL6e2G;xGrO9{IXBG0h^>a_IaQLJqw_=&LO&4;^@OE=$c2<-_I-e?MpN8ca>I(=1}_ zHEqDm&sCw$=5Q9&Jt42P>WKY_JWI?Or6xwn%8CRK9|~m1c#J4aPkbiTpRj0hjAjVK94EZ1E{&YKAdO`wcj<~5Xf$|jUz7s26qerJcINNN~*pGcb*TCZhwvK{b zSFHC$-a;LYt{p;Q5Y-6Ci#;m*JrCDOlWHLlX6A2DX8RUYi2FY8;wJqP&i6H_{|oxo za4YJIve)EI(=-FIWeAMTJ4A&(;_*E152_m5ocH0q(|@GPukN2s9Yfn7$%yB0?Z(yQ zeg!He0}wKIiQM`aGXY6iIgogOGuF2$HXptXc#jI0W>A0&FVQtHDXF!Sp+aPr2p)6g z*NY*XwiL0f%8mgC-0UnoOva95LdFm; zU&{LR+wSkz9T4t%u$r{^GUhh}`aefQXh2Pb*u5(oOvR^W`IrT~S{@$81zJ}!8drn@ ztPq!n<`<-!@`t1km^uiY105^cc%4awmKEThB+4`ztY|9&0Vxv&qtq(?G3yiWSx=ut zoF*nv6|6%JzNrAC#fS$~_5mE4{PmrQowWnpf(q;kfiOEzP_L})TW;7kN@OKXi99CO zdZ>q!#2E{EHkw2IkH)yP8EQ;EY(p~PAU4asC;E09 zvI@C{mCxM5?|KcqGd?+Yugz6E`W>lc^=25*-LQI#1=m$z4r~qgPVxVMZ(roCcwj~+?-_=w2M%XdQ!np_DIFwoHcUhGbgCa%%h zQjqv)c!EC1FLuUIz$mZ4hf6mtEv@RB?iXpbogkQG5o>&q3H~w8l?*6h506-nZ0|0*K3&q!2m^C(?^vFpc<`rVF z-jTQ7xklXX(VXmW1LR~JpYE`uVB*iu&rsa&s3JXo>fRFuy0^o$1&cwX4yUnNt$PRm zahB9`v-i%roGo5A{bedqN#b$UBWl|I;U`% zG5^%`TS8f3lt+{NkXOqqnAVCsRT&_eUxVJzqlD+Q++z6<7g@y#-*7{#s?zT95Dol$CZm1~{22Hc;fs`7jXUS)946sdIgfUaG zFvcy#;d60LA^Hhv*PIavgL`l2S?(wJF-arJJ*_(cfOt-g=e?z&64D2XgcPvYMAmtG z3UuYixp*mz>Iq3Wjnf$LyyU!{hfQ!dt*Kag`yZH`9Ws#U({ks_Qg?8pZ+9kF<-iW1 z!X8N6s?W16^Sg;2Xb^Uah=wnLb|QWoT<`AvOs87R72B*h%G;v5OLqug#-s86MW^0u z%Tg&&Q;g@l+2Pk>)f3@v!(NxGi%b;P;F-vOR{Fr%u;X85-vjJ|6I(z|0Ue6u9bbZX{{yc27CW0ScG}0Xw+5HEK74JD!E6mSZU1a}@Qvx%=#BXOINBYtxBT63RD+ezitt;$dw;4(p8Y$jlXU`+ ziXu>Nkzur8>eEv!%ufDKiStE-r1u$xS%us@Lga-Pm+ICq?6~NHD^uYym2p6#_FF)EG>{so$ z&o*NbrTb!TABm1tLpV~Juio@nQibeW+2m8skeid(ek#SFCQW;g&!EOkeS&ePPb?I? z3dsxWmUt^%wzHU*I*hma1V?`Lh|cIvcb0B6EP*&D=wiL~ zytU0!n~JtTfE|a|d1O=2&AObIc+aPy)$NNy$>PZ}jxxL$6%-OQQ zt!R-@&MqUTNDe&rJwK4h=Rlb^q!&C`%$!9Qoh?Xfy_HDJS1vcl3QpS>p^E`E6`q=k zVDr=PetwbYGpU5j#j9h10zbt3BO6;I^)?9OlM5m6Ksx=+?ut%!(cqzTPD6~K1@rui z1faA5`++3rw}3Zp&UynKkviUy)liJ$>Gd`C=ft#!0CH&4J--D1u<0tGRo8G*>d zVTl5tgm=eZy>4Uy&Igmii1J6_Jmhy@ADR@wqY#Voi*OLHqF=MAL}=`w_$!i6w1t0uXyE z-oo42TCr|QL-!W8^1gS2PW6f?F4-^eQ}_m}=~)lXhhumrrk@Fp*A*Tyw?8;BOeUEo z*&31;+=hT2<>v}Stms(J&*&0{;_FkCjAg^gK`8(p(5tuF)CDB8wBi%(2m1RZ_aZ2F z#&fZWOZ7uR_c?HJ@9pO#?@|$n86*X#sL+l@%D~ zX3>x~@_POJf-|x!#l^z#`1}UP!|>b>B1ZKZ-n3kG?KIZ%=VFPtT;HDmD9QrZZR>fZ z-L-8J?yYix0cDn-wdhjM#<5%Z<7(%9IPx0-r)~QKLF(AWT|tL3-YVyr>Qd;1yKEQd z+I6?Z>|QT*mD60t|DA=aREkap_5P~Dv0J~>00=NT6MUhM&)VC+F~U9A{rkb<6Xy`b zvStsoSu!PB$bJkzIc^6dQ4gn<_li!`8LOAfB5qc$j*k&8*elhS2t&KuKE*s; z$h8@9#PMv<-7)*x)Dk-~(@xam0~Pqm9~Q-1G`;XG1qN&Mad96mY>21dV-p9m2r#JY zVJ06B@e8H;S53E9?d=&5#QX8l55+R?n?!M&`LB*w5CP5zOV3-khT59dASv{_vr=;p z=#6;;K}T_OfD!yG!Q<-G&Fc1?T<4QLQd)X;gP*UjD9^E-1T2zw7HKtj(cv&6AE6Vt zbZl4gia_(nvz0jjb=D|h^Kd2;Y4q-xcB8!(hu`lE>tv>)H5w_3pdwkKq*WKl-+Vu9b?O^;D;m36|5!8s=&`*ae zsVfNU9Cggp>8nfkJodh+<92meL>M{Qw@N=q)jnc`t!=ry9dQOv=VbfBWbZ?nK-_Tt z$2C7sCCy30S!QrJp3l)-?ETR1-QDa%{E-s=+MIU9ia9gaMv7o{0WBlf?c??z+$Nv2 z?*Hx`vlWvGwzjqkce~sc!S8PoF71fySP_W)H=Sp)A|fIgQ#NWwMv;2?`D+U(=~7^1 zY74U&;=F2qnUZk2`TTTrU@^t-7t>Uld_xpnvsbr-;wpHY~AvU$T zUlUL%2aAgHH z+%SEM;EBDxKORVOmM@W=`Bxo2H=zh33-eO762xs)UdogGF=%~T(s41Wc>S%oW!NAL zb3Zf`30Qf4O#xK+-Fv-}k;zK@nt`%EQ;sppiSqWUn%=~o!igvG;gxh@kHvU@s_N_G z&{t7n+#CjsjOn}!KrJN>PBjyb(?^#~b4unhPBB0~k>SVNosB$XRY&JAm3i5AbCh#2 zPkD8yCT|oaj`wKv@APRTEt7<00#XW(v3}%*w>>bGbT~=|g(e)dp{d($iFQEi;cabV zOG!+h(IO5r<1HY@)*mZwFW(J~WEDH;@un?HtYEM zHZQ2IT7bgs=2#qYZ%HQW-v9Ew#qTmA-=e>yk-BrQwVNVNnTKl6uIk&NH!F~tf>Zv{ zI0BQ>0k!l}UiO$Vn$CvpJ(0id@KhOK_2)YWFxnD{p`oFbo!uKy8ZGPG;{dCzh~;}{3T`F&fw#q{TM&wQmxK5zf0)#-%8io~|-Ge4)% zsw-7s|J}L>l*s4063a{Hf^XXa-;2(cUGuz@>&4YU~W{&-PCBL=sS}{Y@s7wip z^p^8NGd;ooKQ9*%CX2^Py+2(lWok_|O+Y>9L!ea02?;%&e>= z0P}QZ2NOrJEm!ryKyO$-dT$PwnrDs#d=1sq0^SvCLEolZ{ue`KgXZjdO(R9o0ZdFx z02oXaCh7C@#&_8smVWaF6__>O0)s8LcvR*XsH>Z}`)m#VRL8NXZj?P9`afPB37H*f z^FNe8LjG^Yb4#qENByh+JTL$q^S>!G3#b*Tqil%xAxD1v&NP_?DEV^7{pCKjoQU|I}=`>eM&hO5X`P zZwluISE_Zc>`4Cl07mJp7x-pNU&tS;s60+eX8j~X=Qp4!d4*!97`?dT;bpVBy&e3w zOVsJqgnMsqkKSGj#uF4ztj5U2^$1W^Q~RSo^Pb{jdvp{ZkZ^J$06My)CdwI9vCe1G zVFc_i2ufG1!de88fvDtGst%}STEVHpTX_^91(AuG*Tg-u|Q@X@s*$4$J*ed4}qIsG0JM;>Fbt_#XABGGO27$o_h z?PV9oZ}n(XT^tb%7w^*JLzkoLP~T(JN$vBK11aRMy~>`<q>zaN98;;U&n|8R z8X$x_jrULNsNRYqsxJ7C&!gF~3=S=GkNrfb>kT1ry;S^_a=xM3RDQp&2~XzCW&u(8zWB*o zzXhU-X{wz?Tb|sc|i-+rptGJT@s(`RQrKo0%kmc&6OQjQ(MU zUB1d*n&-P4RhZoKgj1z~QC#$}qY;PZU)^AYje7oOx@q4ESC;m}M_b-?oKyK`rSjC8 zggcNfX8s=F046PGbz_9=ADog{;+}ByqH)KU`Gd;EspaZqp~iS+LxaF-yEHgFBb-#N zm^b>6Fn+gg?H2hEZ|Dw~Z6);7I@o!{h`@HTNqKFa4yOtSt7Xf`^%1k`eks+HMtK{V zD(sF6oLsddTJ;zz7GgRUPwVVilzeUUMXVtq7lzUBPR0OgO&69#^rY6<*ze;~ zX#|?;E78`h#EQ0+Z)LFYt0PVOmOr1a_q{CJ#z{h=5WXZ9CQP9ZjYO+wxL4ngbu#}DH_#vXXCPQ+6SK&$zqpm;1 zSxqZ8^p&_l@9z_)#J%ATO?UKd2vhW6I>Zt5|30yzz|*C7M05HFkLII2`8hmNFIi?S zh6Y#F;7<%^K&Ov^V_0%;RaOp?h?hGeh3K`;GnvnduV38w z6MplpqvTAh`-4k#!e<%n|(Xos5QpWflJKPQ8X1Jr4KU-gI}X6Y_bE;x`k zQpfyv6h?i#?)!B*yBqW&0HC9zW2*Y@&eQ91R^3PqTOUtNv+LLheGpV8Xj`Ma1tOdT zVCr2%U!Sedbz}c^7q%%E0(_l@Ef1}|JXe|Qd0hNEJQ6mZ<*Y5x@SL1{d?D=l;^*&b z4L!Y3U*NlLnuT3hWMsGF{tZt=5gMrTL4^+hpc3!DIW;cYA(kUpSy}nf*60807h~(G zhd1rBH5*uh>*5kv8{@@IZh12^JIj3ah|EFsv^cJNj32s zXV*q!=MG6p$2^&i@vX9>0c|^-FbDsbtd?~->&B2$igNXKq39?jw-zv=vy7?)W#gLX zSt2u>%M`e!D!H|;v`M_0_OWcyd7D%=r>1MK)$p}_!=l5ec1_GH6(`(Azsu;h!7iz(#Y4Q9uKJJJvC#L(nlR?KrK^4Iy?26{UmSS zX|u;GR^3$wt(kRCwp>6Y<6-X*x-om2=H2mhlnTy)Zqm-+bL-sftao% zEwNQ7C7tH=rLI_QR9u*w;db0?;OFg8BF>l!dhl3gaia3BxY2n4To!u9Kg5A=n|jlO zMWPziZ^|zPw@YB4(5CFD5EK@6ytQa>=rE_KQG1Q6md308tkuqimkYmGs6S3?C#Q6X zC$ne=D{I@3<$^kBQ%}CJFFq*1Xip&mKzY2k#r+)_RTqCD0D75ip#$l)18F0WP28lov0?^hraIG1VPF1^z z_*lZY;vSH?$;R@%>*RO#$@zH#RZqy*{JJ`Lzj{r9Q{hOm=d|nF_H~Z2-0JcFhIHH0DC~`(c7o{>g%;Y1dK4C6I z)F24Nokuz_kTC}<*4Zg0Iud-=h|&d!D~D5=i2nBVz* zLh$`$wWOhmbiH-Ur*;_Axp&kfLOV1&Ok|vc8}xhxUfV=H-WbuRSs^PrEU0_hFQLs* zvghJev!*(PSTj-8{xO=DYAIZ4?yJD+l#@nUo^@2Gu<0kskYu+O@%woU(wPf^Z^S~( zrtq4((CK%COPzYp@|9(~$6qlrQQsf6K6ZTf3hCL1fwt?FsW0fi)0uXNVDpKBdjU>6 zy&Q%>A#7^qerV~O%7NMY9L`FTW$i-T7I(~jl ztC)XfWtHoNF`v{w%h+URWEZ3WRUBoRe2)gu|4y9*G} zOm`Fjb0@q|Baz2%=6ziQPu{;TVJ3jEP;g#-z08oWhdZW(Tm-55>>@tmI-%c>62wHJ zzxhd_3d-(U501T`k$-^J^ygxW_k}kwX)smoJ32}N2S6U3Kfi%F&m3D4PvG5U13Jmc zJo7xVnqs%N%zLs*wx6oZcNcgvNd|7~6(WP~PrX1_D)i>35%C+55fqOdw%??^ThUtx z9A~d3FO{u(sTDJWL48&?smxA9oL60gj^?|0M;LJXvOf?p?ASVLZ@~fDq#dJ#U4c}y zCe}2-;yw2-oU9P_*Bf|v+BDH&@ct9l*oa{3p9UQZ<}B&n1&geJ;^=2dZd^($+oM6v z@z+qF4C;w@gw;p8PQ+u%kU4Mr;>Tk+?M&HS{b6|)_k|^xk8bv|w#AjrWWFR|kOG&^ zX^ySub8C7wg@1ZnE(Ds=;bfM5C*q^q_>{wogoFfIRDY8@#tRP>75tjo+S6VFrHw`N z9MgCt#NICp8$SaMuU<1SJmm`)X0^_=N^k^< zppx)q;_!KGO^s*8TAX*Ff##r;9) zvuq(|LJ|@gGU+-VQ4;bnaOqJ5Tr4tgz=*$ul?&g(CiYz{sLjIVgX6FN82}WnE|{dzg_KwOIv-Ha<`Rs5w8)qaQKA22`?SIhzr>65HwOH)sKsrvMg$|< z0#G`2=_hXfq4|jjOqXdmspR5_a(T`4e)J|!DBiILe8CTy;UpiWJhT-bEeQs-yzQYlmJpKP(*cNKu&lW~4_Rn`8ZIFT1P>V2Spvsb3EP3<}?-RgLBDAR$`(-r1SokJNZbE`0^U z1uiZw7VP21w_}-4*x=;&@08P>KRi8*>>cM$VoC&5*NopqSG&7gOc-TdPJ^Nf3Z{jf zos@+I>YF!jiX7six9F1ISLT6j!LJl^o~XbEQ=YzNwP;jS7uO>K(dr`Sn9= z#Fz5kfSN`-{kKN|ag_SzDF)J|>KJuz_104tDJ9Q5w=7wgy|oULU%g7d5}G$Zl@c5B zQ`-yRS&md{)_#KKvNs#TNWLlR(hq|Z)mwb6fgSN^U$I1;fM6X5HZtomiKrK?w+BM$ zaSg277{_X2tuo%t(bvA6^6A7?Qe1u0_cDj59&+MNiwbCONjfA4eOgYe=1J3aU}wU; z=|N&5zO5*c6&oc6+K8X>?eSQ8XZhMdEQ}V^Gji=DsMqGB_59N!E66*4yfD(~WLtMg zehmr0XW0g3?IFA;SXf#@PZ&h>1NfU6Xqxa)3++HLv%PgJzW`;aw#f^nT4f( zzxc%7lx@L+%cw7$sOfe)<8-e$2Oh{TC=kqSH0(hJr=j5D4%2_w`SWMPY~Q|lY_|b! z#*1CXeXIo&QTNPn%>T6t*~=`#{^4Pao5I%PCC)iJC`we+CYC;k@dDbGFQa7kOleB; za*YpV<=zUcsw5ckWE{wH-Iw7km;oTAs7d!KB3Lz)b=Up<0Q1J)^k(A`D0DwG z(o>TWhPj!O>7PSXu5`nbihj6cN&Q@0o8azPA8wQ3mEhC1_tP@nTTc z32C#c5FJ$|qjq9xdkT%~Uc@ICUP*NIHPgBCN?YM3iZ}6w69xJGy;J8Tu2%8r&2dBp;LvQ}I;|GMs)oVmzpReQ*D9}Km zP|dD~SOW{7mjWUVN{u8#j>D_Vhv8R9TnKy!x4_bya^G{5)6`Qs=8DJxjB8=P@wHnN zc9GKZ#(m;5Qz8LQGDp?q%MBQs>}d32hACy@j9Ve!j+_hvu${FyYnS#2O|}EUs9GdZ z<`h#y#J|IDLg{;MZv+Hx(P>zta%T=w+coFJWW1#scv}&E^vzsZed@e~9a?*Ftdb8j z5KX@7T%@c%(rquh_u?}S(QP$1HKhgJtao35AE5AIr-=>BUna9r-7Oq>i*$?Cn2%Ha z+1a7v;UO+b9x3@BF2Hng1i>U157)-D5+q2mxCcK6sXIP|n2~nfZ(`zOVsi45u0Gt* zE7g?@{9oBBps8GKb)y3bX1?Cq>z#J2$}RAYwabp@ z-?XlMG=XW8#aTx8DB{{qE(GaeNZ&g-ZRCl!?ubKU03$&s?yV$sFnsG&h|6M#n-t>j zJn}_EcJ%#WOZPv9x!dq6W7O}d-cLuwHC*LR$9M!GB1GDvwTt`vog20GCWnzp%SRG5 zmPn#w!*30QSHFpcI~cye=1C7QxL99D+3EL>GjUv1c3x5%w)Y$8-(-!T zy6TlI@;>8^pf3Z5I}qxP>A)k){mx*ZCdOzam4lJ3ar|m$XQ!a8?ZwyYqrUdqZ>{e2 z@Ax=pG1sN_3b6;Qs;Tgq<8Km*5BJg~=rR`1q$klBkkPNSIrNLW5ZWJQdE0 zsITdO_!@GMV3u)#gIzNWsL;8V4*JGZUoDQVm0nLZXWmW|oxK~W$=3;#d@X$kyeg1j z2+14I+Pi+A5PiRoU8ewimEbY?#ZJEu*AGIUT<0=a48Byl$Co@*_FxcJQ?A_PwTx() z;|1q>ODcH#G~B2lx;R@RG9JE|_LLe+)5?P3Ed_eZzcuP1(Vy=NL>K`*+Ml3fR(cw| z>Sv{ZT@eJj#%pIm$vCd|l zkkPV04khvt5FQ#HKK+}bpAYsT7X^sdL~GWXam*rTDmglCbir|PbLW9)jyqu@=cM5g z5gcYCq~LeIyZjJFE|Wp;_C<=L`}tfHJPXR|4?_enx;g=eCXxX14?&DBRZkOO)FrCP zfX8Sm&>=PJRPIJfF;NzxF2aqoq!i2nbNz5X$Zq&o^&AK_Eq;n4;1JwON#!zp!I~PS zV)ha34?*=rMe+wu`F9j&EG&Z$zi$crRS153eB9i8`Ec@pCbmTqxpAT~h&j{4RM*P|P9Fyek61JVM}oHKoc%;5e86Zkquri%}3MMK<3Jobvc#5@Q1UT~Mv-v9gE zn05*Awj03L8E`KdEWi;Rffu-1t{_7BbPS{cUd<%1doAq+NA-#oab8x#5HU zMZ#cUS=pOR{+_4fE;gT246nPr;@lP_f}uk9KajVhD#u8mSRnOIP4tA|Y=PDwsm9w` zUujnvZTF|gV)sgnSsYYzSj3L}7Huq>MAy8ws9vhu`}db3v~z0jF7g1ya4_9k?2fFW z*S)BsAH^}5@KITh#&mHvkkQZB=%e0^LdZO0DGqQsYmUcvM{FU~uI!zM?Z{cmP1v?k4Y>jE_VG}{T|vWtK>S6X;{t^ zQ^u$E(d|KI?aEZSk`$4Xq~nt)k(Sw-49}GfsA?fj8XTumJzXSt^&<&*=MGy z+}zwHrKNDdA7-JKugnzVHgDYL?%}z8z&tKII#CJ=kjd|aY(AFx)3Ht5f~jof#&lG$ z>%s1L%hoCI`%Z)Ge24WsD?n3gK5oW>CCZFeL?+TqTgbOOPbN%-&;+XSZZLTt2f9kk z?piuut12t8EoY}c-Nzg+_jzo%806?a+dQo^zT52jTSYMawNFnulRO5iHX1!IzlBVHy{I;Vt(%huIt7?cX)K=;jk zgE|V*@`up_0~N*e4qK z#93tbx!wWZ1_UKTv66(FRnBF<|PWP-HUUOe?7_lrV$m!cO^%lIYf^*M1;+Fnw&JIhm zAt8bf>+72IAHOqaa%Me|lI&XLQ>axF5)r}4Ef5?u-oJh|4r5Pwx!TcivOjv6CzKZ<Mxm_vy&Bw$N6KOLJ%{w4`N1*doXtM^qfxb|4$;RlRkvWG z3FsZ6iKx&w|0sbSISD!QIJ%>aDB8`H}VIQ|k_;KuNpinPhcU+&)U*Z z9a+Zw>WgJ{Xv8$a9Ebg^g>8fMfTl#1`iMaKfqbskM+K{n$A^bcOkyl=hYs11W65dJ zxxYHE=wB?{*rrgqehy}e2_XM?dywm0)QY?ZKJSzx?&D`QGU6oPxw&uHhf2-aqk85O zX%M)KQ>{=9Df&qD-|7iA0o_2hzz z;xPE-P5h+-IPUu$4|&zW%uHT>ez&DOGovSux`i#V9OYgh9Z)Ev3?cxND z@Y#JfnX!uYYz^v!>jTipBT}_RM3xcfE$&G*Z8r}p?pDDYpjW!w*BgGrq8eti zqD?vSc{8!K{V&LjHTW$W2Em8Rw?h~LCS=y-Lxm0=6&Fm--o3x1mkE!pqG1Vi zF?np(tXGIFPg%8(ASZ;q!&5vr4bo$I%4x~BT7O$GQ9(r$eO#b@>%U!xSl^lZy7;rX z9Q%wmijz&)KMtLeM>t3eo{lZM(XUv;*p$L29e#l`Z1*6<0uY8JWjeCXAdM*SwSgEv z_Lq^h$ZJ0(C*cesZiT#Jx zF)in53cziEtbwG+g833M6qe3H(-6nq8^O5=q~CvEr#K>%Azuhs&PACnmcIoP#qk~S z)~v2UoC&|1s(3LvhxaO+s|8<|fMUa9m8Sb2Hj~CgIsOF5H2THFD5WUI{~@?9|7HY9 z$kW2l>aY4UB`JJdr|Z`b4W?+YkvzAymVlzCc%Jd(E`J3hE32dCKgQ(VvXn3x4-74`JuQ`_c(9>`8Bop&~1Q*SV#X-oax9Dw(27YQ8O}EPfHo1nZ>^R zcIOB-=|(@}R*S95gQymyvj#N;J;_HAqS)a4=dmhLz*psVu;7=NNciXPU&HZi;Z$yG zVzuvDMMKc;=jQ@NFf)yL^}&}%oQPl-HlpxKlmc$lz|MJ&9>PE+T<6Q2W+ql& ziuV@M7P)-%6<%q)l^Qs?XuHSb-s}8v)-znf!)-Lk6|o5op$1zEk$$GLG=Jjxr3g81 z6l*%{V0doh&R!OL3qwfj#1i+oH`(*#rJO3s$5>c0nx@6F$VqHe`mk*`OBOKv%wmeh zzbHd=K3ZuG1*7?Yv*m_7V7@MbgzbZY8NAusNuV4o}Fv2tH02boJ^w?*m95t>?)*5m;=94rjtP14T`i; zbD3B1q*kkQ4{xi)-21rY*QOezk>do{$nYdZ9H6P}Ek*n!ITI5j*EfXIXT4@cg_!ho z|8uS<00{Ly%eeSdiWU8+M(O<@k+_qs`oAfJFUBsVs$@m~m$?|?^!O8t=D%r-;06=7 z>HlUN{{P2V3lw{#1peoDrisGRR71BqGJ~W7pF)EQMA~3U5*7;u^LDS$(v2DD|h=`EDpD30m`G_npQs9#>%SzOMWA3Bfs-@^4$tlK%}poY(_b zyek*MUSBPlHhF8TahiSP~S2NW0Lc@*tC~TKfil_wM0V& z;0=7-Ne6Y^69>&{I(kKcuEQ>njt0&zaDf8=9(bO8%RS2L#)=|BmjRPsn*5Wqstvv$ zlcMy2%^sIvHq#J5R20>Z235G@$`-2ep@UG&%gbwHYl|-J`_T*4@Ta*H>p|+XM`jmF zS=|O#3xk0 z7N#r!5)+ff*RZW(Q~86yH*^>>g&zpN5T6}QlAv;uGWCw$^Yk@x{-mTh3CX-AY=3hz zcT&=oU55EW+qJ)|O$44ru#XL1+$XhAEPL%%w1 zD$Jy+vV9r(zN?ylGrkf59uGRo6fxt9y2Inc6{AxH;`1wH%=3HyYy76JRLY#-|aO!?Ac&P zDkJnnE(iWuyM1@ozYmT>m3zK?FhVwP51q|r z{JxhDgWGqdxrSD^Y>$U;2uri2b@FJ#T6MGN(5453X8X1`2PE6Wl^sMG%#m^ z`C=Cr?lCbgI@xth!GEfUGc%uB~8Okv}>o4~y|RfiW_OAJd{Rf!_rO4oRmQEDb_?wMA#>?XYROGaqtvkB!f zQR1OuE7#MSF7mlLZ+mI_MYqBt=Myrt7JDZ;3|~#&+~n6xAPyIKeyrU(o!2mG{uDDL zPQWG7L25xi;k{=z1vV-zZwUv#oZh!vXOI6xoc>YWh3Jst1O9bU#v%pw?WkK;Q=F|2 z9Midxo6gUS6YM)UT)V4BlNk1WALKj7hkk@^{?kWglo@)2R|;)DXK$tH17C}$mdrjO zPGqB}Ccx!kTgZVEbcAud39Ee?FvS)v5$v_Fu&`>u%EAsh`UEua z^b{9)l*$V$vHHjl1v6Ay--$mY-~p{qIKw$nH4D0wn}9F4i6=9hgE!l&hf{*nfhIh>ZM_ogFuYP5)?b`66sMg)Jc2 z>+a^JHS><^W?ov0x#0N@tfF20DTjiWXXQkUR3Ju7us>d+J6?k&&L__sk(a*fcAf1I8Xrhq=%=ZY&eV1)Ci~rC^ zntBBRvJ_Fe%=qN#3BZB%QCBxAHI1ue!w4YY!>oEJ68GhpHenuV|l zG?H9GcAqxakl}^6$(cjJZZ&cvv~irnXRSLoe?6DqvO9^));@mP?vCug_-2j|p0 zb7VmW%yOYd*s(&B7B)TfPcR^|COy|0vr&hG=e5HujO$)1Z`=cRP0f6lW2VmtN_c5$ zskDMZJw<@j^<;)25N=|qvxmUbBiYD&(HhVuJd+RFX-i8>6>Z$fy8sOsQ&8AD2OTV4!|{1L=mU)8J22{ywvR@BqT(P=*thz944JjUo3oRAoU`+zZPZfOKvf$WYu19-!GpxxQ`4FuX@U#F zcpYb0^{UJ_ke@o#Bl>11MvRx1iQE-OYhJKMY0qw6Tao8G^e+D3J0LTi6=VeVaiVw4 z0}Z{s8|UK?6o84~8}hS4iwX<-sV_ThuWd;-Cbnp8oAU&h?i|NX8WG1U$yN^mb~}Fo z@CbRJmiDz(sPQLgL@(1%*d+WaWL~RxuvTxGeuGft`mL&nQ&+FS+~j#_HE);CP8@+G5rX|$*KKzq@0mDJR)n%9*UOx^5@>0*l#QbZ zA3LB3olv;)j9wPw{rP0($HDtP)W%*S@Fuh9w%{Ydf~yP{^piGLo0rwEvova>-$$4$ za2s9}VmDaubJmC^V-L6|rL<8gAK0xCs)CJ-JQ$?7ymL|{oV58)Jen<#*9ZOPcYha7 z3aSVbkp9KN^8Fe){+qKL&BXADaRw2-OSpbqtl%6e|3PyQ&Ws~LMV(3HavWY7wf7w- zWYNQ=VXJ;{bKHm4cVa%UqTtEWA!piAkQ30)b*=Ef!=9nnUcXM|!;a~HU5^rQ)`~r| zXom#Y;J_Unhm++-*aF!6P|FyHFHkxG7MBZN?1?9onZ2(JTFm!QANQt2o5AX%g6;9@ z5k=en%yvbvbU2Ui~ z7v)eOWVn$Z2sPvkT?8m& zAruu(U6ptGb~=bz%I3TxwXGKx#1oYx$iwly=WHpcT+?RN8Xq4H(0*s!!tla#gbf?@ zM_quuk-|r1qWGYP}(pas$f>*3KMUUv-JMHpGFk*P8gG`QR*t0;z z4%apmH%fz|^;lSdh8LRT>0$<4hJSf^Gp=cHVQ)hJM1-Qf>@a}K`{Ij@l-Z`f-(-&; zER$&5Sh9qdE9O=AnPPMzT;aCTx%5lif1~nCWKo>Qc({LYz+rhkBNFn}D#y4|#--%e zIPLNaBM)knAZ9mKNH5B5lDjHPW-d%QoQ7;R&zji-iub7Atp$q9WEK7@lVwv zdEA0)lUh^LRTHvA%qcQra0R3Gwkwky*nFgWi-DW~maY&wUn#`!BT?Q#7gF5vTUy9L z_mSZ2@j2WZ$b^?P+j1_VCLl28MUGYU&#&vCyL*tdSR_Lzm<;{a+RMA?&}4RpqZY zNrj#jaq7_X02DRaeQ&bGhrE4EgY`dL0ERF#Mkbq=iY=5WW5#(nz|!?a?}a|4-J23T zwE{u{+~u#ozK2TqAh9!M?g(bpS}B zjA+;CFG2L#ROm>26f|Fzs@3+8QttSaPp^h<#8c^5d=JZ7*8A$v?egOR~=t7*E!WGi9DvV77QBl+PIzpzw!O&_&FEKlJ%Em;{XA!EH-P}D|y-APjD42{J$o-E~ zImk+%rO2S*D`ChFhc;V)(_&|&XU3 zWtAhdCfuxEP5S3fy~Zy=W*{z+2XFB{T5dbW3`KKSHCW!MLthWM3^}@}*iol%fu!wa z2I`z5%A1N{x*=-R(+_5o`}wB{wXOnf7Yaie>?jD~j8KkqDJ(o=ge4}mbMxC4!c-3& zRVL8FHcY7}|IJaveKO$|a;#M~hw2QTno}|c@HGsFHN4RzCD~`jfZ{h=r2_Cxt%u?n zG=NQK4W!}S{K?jSz=Ai%>j$(fRyX#K_v?Rs)N~MON#OWQOw_l@my!;k9)rdP2D!So z47&c|wwAZF?Y#2Ul_~S{_#f5pF3bf8USfEgx5YBg@eLd2534k_@T#HTPLVh>7dp4g z3>pdl@HZ_112^B;-ZB205Vm45t!_ssf5pX}y1(cn-Ggbs^N z#D5y43llX(I1jUEyYl&fyUAiH5K-*lgUI}a?OY$Bq%r!rG*{TwDznzH}BeDmM?7KCq4jECka1C z@6s$#Hs($e#H!f}q24C6XqcG2=^SjRt7)G(z=V{c=`FQ17-2uz$(rRX7jb%<6I3yN zXAAi^P2pp{HR(u9Wq76Oz8j(6nv|5Z_-Kpa@7sFZL2)+dkQnKA-5Hf*47(lz9FeIE zJ3P;f<6PRb6$WH9b{D!R3VMqu66fYSiWwxnxqM&u42`-iSOH(__w{hd^gH<$E+jc! z{+V568xNrh`4TYF`8jXym#?J}c^OMVJuJxIfF@(xiYBYnJGG8H!fBAR6dk|{&UCB5XvaEnw;NS3h z9ZNI=EYw#k4g#(6qKP`}Ai4GgH6fg94F>6a+IcQX)j7W?ey&^1^iy0@(Z0GwvJNX! zEAOMO`NBEgYiDx(+G0&bIPZ0;uMIxt5OqyW>Oa*Iyu5jDY|$3>p_e&-daGer)!J#G znSo93H>8H2N(|YQT|uudP?outq;bV_*)(SMpN>ySp9_+eGd>(k!*SC2rOoXC>>`6c z|ABVRR*)x8KGsUkuTUT{itL4Rmh7cdQ$;_!pI~ThB3Pga(XDQ;BV=Uhv-!A_P8nt! zLEmKyqIbYkY|{7ihOw5l7u?$ag;sT|LP+~nhZI{jF|As_D4FK+8Qn|WAF>2pQcT=s z@hEH8S1l~*6IAmt6etJ{uAV;T?2rAv|6R~~e!lVIJp%InRc827qZn7l%!N%O>xfTA zI7b(`1oWj6@9LkEOm1T1>bhQk(8n=QcK>-fHqqB7RuF;6?ftB0Kaim5>SS7R0N`F} znV!@a;iJ+Rf0~OUg0BAq*bclt@98<^_GQ`IbG>f_;Uen=d0Oj7r(Fxt*@=_^F>bgG zex&)eeQY~yZ-Q}47hK?lzxUT4y&w+Bo-Ggrf^Dw%Tai^=?*9@u_m7&V+|2&xy4=TK zMxULTp0E4!%LssvEIvD2Dkwg||M(wRneT;S@fR7TMs0u!mtg}0`>^>c2Kzth^W1M? z%yHk&Ot{T3Gcp3?sjNPmgz)~izwtt&!;U7Xn8P?bHtS$pC+IU4-eqi^THa4DtJywH z9Oss9nk!<%`Q7`W6h0l>96SA=()2w-bKbV-2q#$P<-KZxN{diVU^_7ae0~eu-tpD3 z-Q&|tA>$&f4KeY*-~3i07;31fXoZ6|t~HGW&OzV-+ygPnrBTANSD+)(Qna2`|1Z(k zsvitKng)9hTCyCBO0!?^rr}W%9M%bI;OZOEz$v9TFFk>u3;%l+^<$O3#vs@nPv7X( zT~Jc^1?2zKb7x|M%miBPsp+`5?C8r@H$h?Z$D`F>(nrPRAFpc zLgqQFdWJ_q7!E{r6vvq&R*^t&IFz%ayAUS4O(+VJ{80Q@1%^gcPUxQwpP>YC5ZY^^ zbQi6Ea)X=z-RC=9?$<{m*O33MO6LnoPR~LRNbE?Hr_T&HKNBk2J$SSf;=<<6P1g@N zbP){j&Ha&!tB=4=R@7l2fXCS0@2bn8m3aYetxmNR)DZB1dcYd@!#@vNDUV*M78@KD zKiN%Z`D;_(=ddCEPeD4EcR@hZgCF`&75RUX0RL6N{@=2MZSMQOGX4J{2~kNw|0Sbr z$bbFC*f`O1h5Ucre;$dTLE$wB6qKcRp)G%lw_bGC+dp-v6h^*u1KMdhoMc0AJf1^I zXm7VN^&0GPV7oDYaB~1du&%!Rk@-TGa-Yqc+c~S37O-$zP#}ir{ko8A_gjOF8STbA zxe-f2`@3&FIKjkx&G8cy?fJ*nACG>}@RDELx^)UNPn>Iju*G>J6z21h;AZt08zXv$ zNkLQ;_z+1-o2FQ{xIW=-WNfUgsye;?+rE+xq%;KE<~;oURbX;^_7^y?YudxQwXSLp zZXGLTzb}g2Pf1MddWkxL>mM45T9U`ssW=3}ME9d!^1m`==bju`mX?>rP=B5g4Tk|@ z21Mg2<`*WnPxb)o9ppQqTNKZaeQ4VMJI~RPtoBA&zXQ^ye+QxEl(Y}fzF+z(JD~_n zVKc*CM*d+H8tMfy&(L3o@L=}*`Ax;=T8-rEUMpiKzV~FQ#7$dSEq;2Hd*>wX?eMLX zs2~LEXRJ2<NS}415$PFFChDaKk~Y=n=6m2TAZ-o zK58ECq9Ja4!LmQobiMYCIh;!fHUr=@_7AXXU3bw?HxAJrSlZ1wT<*yxkXY00?FM`t_?Tg)ZiujF{lR9d!TI#D@qyICh-(#TNj ze}9~)4$en)R`12aHC95#tU`fYkw9Z?D!}9*{m4E;_xQJy! z!@A;&m|Ji*0Re%Qp6Z;44js9t*kkk3eNqYaQ^vlw3I=I$ad@yp!4$4C2*hq|7+_Kg zeDXv@L0P6$0)+u=K^PYF?|8kFy1KgBJ?{XMyzz^qwe?#dx4xbzO1oh*sD?8%Dyk2Z z8lqV@lipA~Fexl*Ys(4_M?4A&knfE;E2m8N^5v_?l@*=$@827MP2?}W!8Dcp5dhrs z#oa$I?4tIa?z(^EW$hn(^wRhO61JbT7W<7`FAIk-PoWyt%+s(h5g~mpf-mP&pUj2x zwsGJ;ni3ly4Bop813vs`jA1b`17M*b_ykzr)iAn}gC?!&ODZe-!SC>>sjHgM3Jw0k6G3A+y=fI3{K#;K>P7irfh)5?{ z<#1I&2XZg(Utl)B#ydA#d2MP4Jj=&S+io;9?Azx9v($g{oxFIUiio=~ubX)mt`UpU zxC<#93je!n`Zr~4G2rsGx?jW|zY-{)=d%ocSPtNhpk{joY&gihtkkH|q!AsBI4Xfc zUv`w*!2yP#u-eF4f|{cbZsCp^pf7|nOt{bNLc`le;jCeuyvjo(HSGE8Bd{2dMY?-- z16DqTc6W=Lku^Qd!C(jNP_Iw3X^!X`ga`nXpKq|z@T@fN6YZ{8Eqs?hWu%F!O? zf6!?>Bf3;YubWHKt%t1Were=haIJ4>8oooQXL(vsL##z5EDCEN73YGWzKY{WlZlo0 z5oLY3c1-P-&AGGIEMpe`)%Im(W0k|Z>$T?NolJA-v9H-XLO8h*-=~X}3LcJxE5R)V zqWSIWR~^OBF8_5xE3OateQgS^OZM}v>vNzYIc@BGjFMa~D=UkQjRo4O5ulyM3@82A zuU@?(9fKX(K_#rL{>4g?o~jlqeE!__-I5P(%SK7GXF0w9{cmut2AkhIV#?B=Kj$%` zgF0toX(@bePR-fbnTCU75)aS)Qgz-sEG%qych}&7iHYeWAyQe{=3D(+^oUPOL3Qs9 zCe?KeyF(CB!ytBo6CSdi{fdNN<|GyOWiT1xRq_4jmof37!tJ8_#h?>}A0;kdi28@$ zU3tw@rLnY_*AtH~7ijx8cuO9Z4N`m8?OD0GiKt)j`-4+LfGaY<9KdH)fQk5 zw0wT}Yr-bi^VLj>4B&{cgJ1nR9R2Q#^^vHIrx14LfuwOtxcM4mPYa|o;xk*4`1HX& zrZkMgh8ETd8=4K~l4p2Sa?*>Zis{Te=&QCR8b3h2)#oB+)B6%C#G==x!M9_7o^VsH zrT-h=x9pOr5=7sn@}s>M6EZR)!2JLP*9cMB{XeQAaJfErTn~!(@R!rYWYNV%Mb%s% zTW{bD`XkAnCu<3#=tN#=8gZYD8n)l;ugdG_c%H^3_<9lT?ktVn^*{sglx19OI%-Wp zzh|zvKPn=(aeJv)lgCDJ*fmEaq8^|gbM#$f!>F5qMOi7})u~jKetXZ_%&!GffHl{v zeVjWMH8KKeX8gc}H@x%gQbhgMGv_VO2NFGP_1&#v!jYrtE64L)k?&3u4|ckF<5FMb ze^pvY8obBr`t!#GFu)jVXy76CuoQH~ggP}Z7^QZuv7S62hI=Z@(m>a2eMHyKKWx6^ z=TBp4yKT0|2iuTd|LzHi%gn^YA96jG;k<|L5lnM9ZOhly)$NMkgzZJ&ucNJ)6)?CQH=? zual=v7?d8JDF6HS@4rSzO>v4blrTvkXe`}()5V%ImV7FrpFj8QP4^QOFZSmd-T9sU z=(H&-dkIdv0(Lbm8(YjMTwYNT(lkyYPFibO89F$|1=PKT3H&Yq19t_yUu|tdg@uK= zWo1^scyK`n5-X?nKWuuZe)mZVLHht-Oy+JZRuWL*^i*@2kCFB-E-el9=4GWO6XW~a z??LQze>+WP^Wnd0AfQWpLPN~Cm-%^cPz}LK>{ss);p%{C7esUk>YrMGU7bI_OjY+8 zmp*d3Z?)Vla9f1uLt{`SlYSM()L8bfqs1zqa2LamI8!c#_1U~>X=$C@Y{eMwH+GH^ z_aF-9v#UM4y4g*^7iQCKnQ?uR?ivqLwE%k!EceS84I+M+&qIRMV*EdBy=6dDQP(zn z=G7j7-qiB{XF;kzCXV6 zgUK_)?0wc+*SfB~*1qg*9^q&p8^MB)d49A8{F#Z&d}CVk@2T7Qu&yEOohN6_Yhj%q^DsnhE9eDtS?`Yg`C2zD znW~i)_r>ec;-^;&`AEsgBppXZtkUf~y}iSg!tsnYg-t0aCUT?>YQtCY-9%^0>ISn^|mlnhTSG5 zIbL94K+td)89*xW9UU4W1H5S(kub=9Z=-*B=tyubqr_J_`eq^*jT(7lDVeEXPIA&+ zl}(aMuhaEC`ujCo@z4`v|GDuobHap1>k*=gsaMMXv5 zyvuw&{%bB-DK#~9yeUAT%6ZBzg{-iJtRz+H#bVim_?(&==GfTSs<_vW25EXgDO`wG z%i@``3>GN{4}5)CQhHM9YBToT?0)3sant4ZA2uA$CloEMwW*gBhd;t&b=+n@d`?F%qVO3@gYDaR z$yD|4Wp~}N8lA&bVYZh-Lbwog+pXB7^T#ZuG0Ur`uEJtE(J#on6;LtePl|Esm{~kt zur0nYvb^ujwui!Jd_DQ};fk8uAj~k3V_#Sp$zJ!svtP>wSMC#&rR^a%J?p^vo~Bb@ zTAh(1YhDaQp*nTjFZG*x*b#!5w+%aRda>`Jiy>00npj3~B)#%I_;;6{ki)PtAGX&XK-OTYU+Dr#b-MbZv4{dl%usOy<5gp!;@F zQIVxgByG_4_O^YNG6gYdJ&TlGc3vJH$ZW!iudx>rXN+wUeA2^nqU9~r%L*Uce7>F` zkiCF-EJF0<%U-jvOL*NS!+rcG_!6R`6w$fkZM`8Hf1IxWwB+T4iy z*AIs{O6*3RT3dW|`$mBG0o6Z5J?h)m)8oZT!N6Ap_o&SOI7u?)(u94wO(FU%heu9& zXDFoZ!B_K!(G$tT_XI*41ZzUCg<#6v4|fDWKw`9v>H{y_^nh%w^!WHo%>(`1;k88cl96oQHAOZf#+C_hoIm z$U#wtj;y2u7 zwxcgu6|16RGM=+L#Fo;*FZnFFT7TQ9;H0FcIusS(Rf{-zIw-|n7@YwubkKx@8v!cz z#?|Rz@k2uomD&g`Pqrqs@7=R@h>)i8er&m@dde?$L;I%xi4)Y)8bW07>?MK*X|@>` zdN#Lvx@2i)KgSNk){nBUFX^7_!F)FB3Fof$a`vuo8 zZ2!!;7~EO;WRep8!mBbS+8N$hR6LF^>f75N z3Y@O>)x(=b>=K7*Omz(uJg8np;D4V~zGQg&?p>;q9k(EEN4Hizc;Mc>?K3~Inssa3 zo=Ap)U3LF~mfH-~_s*WwUsjm0ya!$Vtv#tyWgDG*4TpJ;OE0}7(K=Zvaru1Txd!OC z6}JA#=6(CtYx!=1Q(7Qqw>&wyrC-(^G}>8;a~@lm;cO0pHISkYO-}Z=Bk$tqZumFb zE%&v=y@UjgHRX&f@mp?Ke=L~-h+vm^Ui@x+H(5NM!#b0dg+~!f^$a?6xA?pFAv_>P2aZS%LO%m9{rJ4PtCaOnAlv)# zM@%Z;k&@xCN@NI{_gqjLSUdCl6BkF>%`?Exex9svF2 z8u+>SqMJR}AGW6-V*at?GW~ZgK=V$bV+f{tmkffOa{L|c(TW8iIH6MF4iKZOP(;Br zQS^w>3AVS>nkf`}+_TZ)atBe$NM2;R39>H+elaica1qY~kDGNd{D_v;7FvOawL7>!6fPY`}f8gUgsH!b2YUq^?A zg0Y#{e+dG`us{#eOyWR}4n4BKuecK4)t2+_e@w7)UvhF<6Xup))t1`+qTTB>*s4%H zhlP?2VzHiUScl|KdO2DB%a)LWDC5x35#%wV88+Z z@3c!N+9QPfToy*Phy~_XBYmA@tl?0gD{TZLxj|dFrm2l@<$PwA7kBLvb~11iGn=UJz<`2p;OkX za0!GWwUhZorH^cd2oojG>EkX?zu$Y8B{4$$=w}M zIP&c8Nz%`cVXZi{PGGH?a=@FjYy0&jYtT|c=1v7sLaD%xFE)F4kM1Snp0vjbMItW{oZhJ&;Dch zP;Y^~qvJ5fdrqM$;LtVffukl5P=-}KFUL`q&iQY~{y`w)0E3`@xL+i~W)*+7glXM2v7f}Z60=K>#pWIs0wEX!Y z!hdG6Z)BJ3j2ujf$wJr)0!)d*1m@Lfd_ryHbfE*d=0icjuhA6bziUooyC9t z`lYI)Lk5z6NkH|yVUvwx-~n`6>*J;ahQELR5-$lD;32nfIXO6}f_xG1?goa2wq!6( z_Ro{6Wj5U@6!@UfTwVHM5(@7qa%Du%tYkk?4>wBX$2vfXfKUWfl9QtMxQwYkB$TU3 zV1*pWRJlj?%?Y~s=*Y%9#8qALp(Ha~9xW1j(p*cyCS$q3zxkwJX(LvEm9I|5W%?)M zQiFsSZpUL&)2*K=y(tq)bQWt$t^2XAYq1}59K_%}ne{0C>@vo2q)!>@X4b5SI9ai5 zrhUTNWQ~X4Pb?)djDs&U#`Tq5kKMn_KO=pru7sDd%aB_O&FtGFU%|(wof_kPZ*Mlr zn&`tnb7Dqr-nL;%LE*hYw~no;UmK^0ZrD3qs31;ZRA8MW?K?YcjZ9y2Rzw($I7u*BtO}D7t8fi(@Wgi1u@~=w$;&8l*wFCs;PiBlhMr$tds-V* zHKu1k50G}t<}u}K@!12|Y*(m-k>l%qk%X;U>G zbpxYBcJy=jJ$oqExG0uD4&mxWsB- z>J6&Zm+|t4MJbn~=+?1bY2_7Dh4(wQAMxWdn`7}>=r%V^wfy^j$cvKzn*XP+dFefE za>mCnuSV}H>bkeL7cf9UU%trs=+1@f25*9Hiuy(j09M$$xG-81?LRsf$c{+|l$N29 z(G?x0^mE022XS>OAJ1oBipnZq>@2K)O?Ax2)3cNaGV$ZML%Mi#3Tm+wo}gL_PVHja zo`!O|cH3!i_y%T`qam4BosmM@kCIgUz25gTFe$tmh6S}wFpvBI-S}hwOE<_hIZw$r z%{662sTptu3gc|x!(55naa&vw7baT1B+VSBj_4EF=1$NEcW>is$;RP+KUM@yg#m!3 z?9$6}NY?c}Oc?DqU9vw#^;YsXLBn}- z*BNz`BdxXmTaNxO;#sTqZ=%DmI>EY3kfH}uB-m*>!C=aN*q7=Me2yP zA%ONhXcnoqvBFBe&I8!KvtT(dtk3N(oq_CyR@oPBnCj|Fbqfh`4AE^DfpfYP_$_UL z`3_%RRh#PHJP2L%^Of$)jFAyBTECSuE*iPNm%fIt%S#r;6*(` z&u!5**G zV@UbF0Ku7dYgGN_M2cp9Ag%V3XxbF-tLP*OeZ!}kBQ}!`PeaJblW55pI}FS8h7$I= zH*!}_`RI3H zWZ_|0HQa&^aYsr>vbHxaXn{md(3}!+IW0sZSXheOP{~kM;s{mdqYc4f3sM;A%GNQmxHp%mcjZ{Ye8RC8NkER z{B~Vg>c05NaMxGVD%l2u0Dn(@E=Q#tv@8kU^~vK?;y^s?U<``t!t$XsD){CD^e%U{ zPMTl$b4I~v4FFm8n2!ancBm%vw)d4@b|`x`@!V+G*iy^U=OVy!A!pxQg1h(8AfH)) zDPO+d&Z=BSG&}%^LLF={@}wdW#^LaLRbSF&S`Kbn1DPXVk* z2&@Pk__m0)zh2zbfSl*>e6KVx=c%eIf)aKy(JxYRHqjp#4)$SjnyTtO(L@>P^^JLN zPlhcnE-DYRUk1WJzlt)@<)m8!2?VW^?J4&wO$|7rlqMlP!QG<=ufMOS9aLP|3LJYe z*DVYZzvc(<^VO>lssawCQ}26Azl(3@!N;tbJ<{kb(;(-pV(KNVmzF--*7sZp*j^s$ z7sGgEpFGXl=|$OP(_=U6lyIs0s^=;iyFv~}?25A5#kiRZB`pp{i2mA8E8g=#V0uv6kyJ^8$(sx=tW)7%lYnQFo zl;uN!qylR!0aN;ru<2K}Z{8`^$M|u5I1k4ALsIP;$J|r1?K*z$@cqn-mFlny>{)#M z_!0=uV&-UyWNgqtbJ(RYC+=A&#%zyg@9OzLa$4GuP7s(sEw8Nb{LexYD}UU>gM*eV zm|M&2m%o3ozG)v45|ChJ#%RLKn|A_w!Qb5<;t!={&<62g?3)Tu9+bSbB#PO)vFMHA zK>{8gU7P~La==xG7c^B?RxW_Ht!l%A=k>4&b#FPG#p$Mi`Xz@HR%t`d?_FRj2UlJ+ zQJ=TkVw$BJu;xJeq#S)(_+l~)v*WslEoi%6`fnOjH|}l{bcXekTf}yC-I4AS!huYW zE-b8Akk#?79mR5&ub=LgAm^~8yYRy)Uo8Y4^$T%qw}5{cd86+I>W;0Q-Qso^HLTHm z^gO(H5VM2J$~IWDCT1I*^Do=yb-;_kYGl`)YxUo5zC*64My*ZFHq~VhCne-0YR_Wl4y8pAgBpdRDUks9o@B^ZkpY zQapGJL7*#p&<*z!uUTD8Q{Q2KZsLazcG{XsuMhI`E}(B+3hDk5;`DE9_q8HN?>v6- zSuaVH_WwP2i77p)-T^iI{~XLD3Ap-d|MytL4WdW>zo#$}=R-;V=j{mzH7Z;L*`fdU z=peuqg02He{lAA8wKk3*pwIq$xCe19-r3_N5kCQqs_L6>orKZMeN0T;f{F@vB5a zD8hKhvp2vm$GFU{BnBqaFnTvK{HVFn&FjNCPg6?A80H|JoTj=dZi-@&MM_zIYx+eY z8Z16jSX*6S%+Q^@xg7D76@sJN>m)KUeG|P@kV|zMI~6|e){8_m)9rk$xDz^ewHoX* zqHro9(-Fp)R*=E5og2eJ0Ko-Luyium4l3xe`RnTnm{uar(k#sbx_b)8ow6{Z_NYX= zc1#y2!MyZ8|nF{7B+M&h53{pP%| z|NI2e;SX7C2@Nue-qdAa-H8@`6qr)* z{Q2`^{|8`aL90X;S->OTT%#ez9}j_vMQ0^czy2-*2Iga`mb5Fv)K+hHrB>}SEBzX# zlZ-0y5cUwQ=dqpNOcYEfa|s4#^8I7;sOvf(o@845uqC-l_d>MkI-3Dc0pDvS+EVS- zI5_m44)7uSUbmqqxP4?F6x?HVaSfmJX62A>y!VI^qHV^fnwZmnnlPTRx;3vi0RAQD z#m>^BTek&1azc{|{XCK`(*6n5w7sr`{aIk#c+u``iqB5|?T5=#hk;@HJAHPh|D!yJ zoXW6zXf@YkXPE5P$Tx_ELvUikZFTkZ^|s~NdnBo*JKh6jGjc&v!|L1^oX&6J80UZ0 zKfaQn)_E5P1uV5(XSS*LwytBP?K}mG~+yaADd0U1#O9AiA8R# zBB5*GTHd-Qj{Zqme|AwGk`*tx^lsnb(B&V>oc@3)yUXLN_uX?IysQbv`fis>l#F;O zZ*7-upqd44i!KJ^^!e-8kg09PA8T%S!L1R`v0fE!ndBP)tT7b7yKIf`0%Zj7dE42eT z=pB~wf^;>o#4Fl-B!fW@r6X`@72rpI$UzEKYQuMy)g=!I>@JWLEO^)R9`su7x6hTd zQ2Bgl2HD|3o@Z>5lJf5wzbj4V zV=Z}M@ma1G;hgCCuc#Wd$G=&#$esOEC-dSJ4ZaUeHL<i;58`$&aJ$xU6alT6JB&uPDLpqd3IOH2bd^Edb5i!BlB zV6uVNMyTM1oJcZPz1CTOY9!TrnY}||dZV_&FRC=SA$!QzPw68Ys_yXV-`^C|bXV_% zV$fTnzW4P)4C!0CtiXqmlE$PNM0FD$A)0no@!@Wv*IFUWr34hnB?ZfW8 z&-Ma_Mw-LKM~LUG#)8poL4uc@MhyDVRjIu0aMDlODe}q+%P-pcNiZfh7H%WbbHAGi z(j|nLvW_!}qpXRXAj|nQ@bFuuxQEOnQ$T*CmYEqlGJ!a|F_05m+SjRNj}A0@Gi)7D zlp7gJ*+0i*zpsaOsh*NF;D6}*RJCH9cK|)yK*_gL#7q{TD@KpaDv6wWl@(5+x<69E zS(zon<=^-CqM_-e5sO!667=S5>oVhO*0m#a+L?w59uSu2>sBb|-#Vlq zZz{Md*ydw5n>VegW2 zWIuE7=NgBvU#)x1nXx4jN*2aJh@#8x&(uE+Q^~`T{O>)jKA) z-EGFEdkxND_m9Zuv8|+uO)6Q<_GpW=%a2DeoMlz06Bz)2gG&Tm#&o>2?x8!Mth&i^m zY}!qg8bxfa)lBHttA=Uy0FBAJm>Btj@U7;>W#5m+puPoxc)Te;r9>BvaG-q#x2;93MbYzHsW0hoP@y3#dOpR{(KPM zslXZDw_QTnGUiSQe4YD+PObWRfPE)ohQX!bFlWCU(-(mQX2<_0`YQB{aKOUAytwVg zI*ixcS1oZkR#@ulglzZJ z;U^dBogW*&t2{4g+H*NrCy=1u+!u;w+d;zv^bDQ9iLUz)Vz>?hsB()=Bm-K%ejzqA zzPbw>pzRp>2ZTeXA6OMC=tAHUudG|$-OD({;CNEEMpINAnk&d%Mi$ywMR(~w_+%Yt zEd~)t9&N%zp(8ws_y#ODUGNP*@G^amM+OM!Bs0QHp?S2t*+c_KuJ;9@_I(`#vUDtW?h7mTIN@Sg`i zGZi_~%w5{L-m`37+a}=~@B$Fk>a2m>Q1+O3S=L4ngnGeOK41bTGryRNWF<#F5Z@eB zxonCG_Z(j60`rvrV2CMfXFO)VJ9;3w{m<(4#Sy&iluXw4E=?m--dOw}1k1x@l~;4~ zlZd+LZ@VxKsx5BfDHO7EYjc^WHzOnV-r8rR-$n-REp@#I1V{GTEn}hTA@hZuuxv8o zk#{)PYj&eGR5~A+wD0JUx#9MP5o`SJ6vr@B2P4HH)W=}|HBTC92R^s_vt|;LW4d(g zx)k?i2`?*FivdTZ#7VWi%ZKKdC8RVo7Ldydo@mpGm}}pe@lP{ zACIl@iWyJas@=o75@-4(%huJ&aJo}eGXHWrOdC{E9=3e6`a8l5Rne*&y|(9ocl)vO z)?)XR(kzF;Z>>hbU=5x(D(lHe1Gs@I^I^c&%BrMcpvQ6Fs_SR(2YRup*{dE-rm0r1 zvtY*QmSHc#@kV-;2wSxxr{)I*HNE{_l4mv-e2o2C{&#h8*d#AV0md2h`<~J{t;ktP z9fSA%e~Zbb1JzICPi~zZN!Rdm0=u!!aXn1fVcR3fCN$hK*>hBiUUbCG-jyOl;fnBR zWD8RF5-6>u%j0jE2-?w*G=*%oM{}550VdN{mZc!ocjOBOYo^&goXkqhn zxuY6*gKKZs{h-5TzG9!5p)J)r)tup$!02MEOzsb>q#(KxyeUD_08L0UL|jJgqBoq5 z4>vs;qAXl14VK3hWCgB`wjHktdK2maT$knNxFm1+YiK?d%|jwTWi60owAx#~%UL7u z#VhE%jWbC^656#B*O)SKvJvEMWpFS0hrR)6=XQ8BG@VJ#4Syq>&4c7OCcon)j0CN0 zjGy3Z9}9&)L>q83b90v}Sxnb3Zq;i|RnLz(IdAs$N0fXXl{kSu61uiS`ZM>KlLdIE z+)5qR&N9d;{UktCdHdN>I%+^r zCAhy=>$l`>F)F${>@k71GzWQrBz<~&sS$2>6U1{ZOuDez*uurfBI$wO;RYXYU3+|I zClw`_ZtcgkjKL3i=5k`0tvdURicD4Zqmw)kI&Y)>e1V(KRKf7b%& zYC;iY0cX{r4$;alRcg8amwx6H85ejmZ=c2*O@F+;^hZrZ$p2%|5A-@XJAG z6euUx`u;hrHmr9+2t8I98j5La@YONUyr8+8;0&PEKyI5@PrsK`(2Gi{x72HA*TP=! zk3SlrVZ6i(H_i^vRdmrK{ECd^=bSd>CLPSyl&xe(vgy+x1$fz-KDCmuRn1#ix{I{a zy_9Xqn7idu?kF_sh^|p;6-*`ez4^mxQ(_(3n_ZZo?J@gfISxNz4(S5I(^iLF1oWV6ixsT?)0Ddml?vG z-iglMvlx(wJ&EQf;k)g#8(T+Bb_DP1AU|H?e7g2o4sD6sl1@lmFJqRidaM%hm+ z9jjiCYYb-owx6&a1e|YmU^YO?R>uJ;v7L{_IMK?EfF$+ykFMc?W zA1r@)8>r3IZH#A5`&1G%^NwFCHSwRYr(GPW#eTWnH{%s!Ty}Kbn;ph^G`Yh+-@x9X z9;PcH>)AVPR&DS3y?LK}lyDt;*pD?JQ=vuJSo57m!-hLTBpWd63xWS-Mi>-WNa+pF;#b11=OF6Pwz(Rs`a?+cWIw^Pp z+^m0gzno0?@DcKiT1W;wo7-URfz{)y$*;MEHr@8e5=Co7{bPEK4N^&jwJ~?4p6l!D|rghj6|J+FR zZlpX;X3UMGx1!!;FyVo=xl-!By~s}#OR`%w9+6qQ1l?M}8h4u7sMCFDZS71nG_riP zu~`DOG|IRyBb_;t_K78AyzP*2w4dwoh!Zz=U)tgz<38ko(^I)BIy-bebXfKm>Yx{gB zgn~z|XFUm^$SVv2s082D_A3JD=Kgy?`{Z!fvM>IL#?G=0i<~tp`@G#o8)swu_%wuY zwW)qgxtP}p^lMtXxsLoQ4Ghy&sTg0Q`eLFAP@vd|Gorr|a}|DK9&Y!z<&xTE6<~d4 ztR4Rf(}KE@{pUxB4%~#$h^J_Se~zA}nH-m|h~esnSL)~KZto!mIrnD`)PTmWaciBtd9;777IJEWU4He7a(X$oO(Tn?A!WZKJ`Ci8j4RhI z5nd30P-Q>aGRpn3GOm!uFu#x*iX;h>s`Oe>ao;8p+<-ThO6&VY680PUqv^pTW~W8x zO18h$)3mLG^SOf-ysx?k{;78kC7;vd>IQ2f&JSW@6EIYZiU(H?Y|{Vq=`Kmgn(v`r zv)0=SvYbKjU~W=odTaVHPtuMDxpc(a1oZ4U|7xL9YdPIGiz^Oxu`Re{i5$-U;>l5r z#^~&qcU$S&rtk80#Z#%Jez)kAtTzzrOEP;MdjR#@7w- z?P1eb;m!V_Y$N%ecU37a7ybs3mT7b@^gvl;+$a8y|E`9+4t7&+4$bLBDo6s0_G>&V zoLl-h@d%2H4a8~bv^nba8tcgnZYT2Dlp%2Dp3(>@FptxdG1MS9VkFPyMZTw~`-9pj zJSwMK0;U9}Xs-ptHMl-s&o!J1Hj6CB9;bz~i~2qn0EvPCm9-GX83S%osZCOnxssBJ zdJ*9F5t^WICB54QwC0yLy}Kb2 zE8_WNsn!Uj#>tH?=qCt^XK!)GieggbHkA!xug%3&DIiy|=yDEw3pk}~S`!KAYiCba zBp3*d!`#1pknf}$4RP&3*=_;AnL7zf*|*kUyI|Y7c+s=4lus@Ucy*6HNgm&pp`6v+&uVr;}($|6q59gI~7PWQ6m$EWh@otON zQUBf+Uw&E3QZ|0{ica{pjhHeoD_r%O-)zlIypab=YTbG?gkK4~5vzSnn5LTae;m4) zg-qxnGyx1+a`H~}brWeD|& z*C_T7LUEJ-(E!{7Lr#*G?K*e{4&|??5o!g%-Lf7Ng+l0 zj;0eiSPO-2d7Ru5zfvJCxxdIz2Sf=c=8DsD6!Mr?gDqnG${IAVj1^p-(+;35YKn8V zhwjAxd=Vy?#~cEN(i;7!R)521TtrQv@MQ?CDi$;IMc zv2v*~8|uc@fAgP%<3A_D*Gtb^o{8SNHDW-6dQP1lPn5~JFY~{jNG|>#c?LCP^{2t2 z4%GdWKF^d=QsH!%JSw0uwjj*8@jp6@B>X>Lx~LNcTA*tAayU%pU&`4mC4cH)`S7~g z^DfQ*N;ZQ`wwx+pFmTGQzVofUN&c87nRzIKqG=J1%Ffs;gG;+xP&Rr{Nz4Gv_X!kP zF4+E+e5T0Zd+%Z`FW&8JIT;UX+HCUCn3OlX?`QccrABFgcxiR{$@MnwOL6eONP3zo zP7`XxJQZhhfZXhtb;qul_p8(zWz+7M5o)iERfyO6DC1zVayg{g7Sq8DsU?o!huO6ka((gG{gy``GYnLo!N>moWoAsf(#AT5 zCni|D#l*yP z5}T$LTjTih<-pSoh22Z#x24(c86Tt-$jlymgOG7`b`7$tPqp9@tBnd3D3Jj6o07Z) z&P1DpqPQ0fNRKS@qT0hlz&sn?YGE8VChNJ^>yqotK7(=) zF&$8Uq4}fQVf!8DDkJJ|z#NvsW@}=)B-tV_z|&jsQRks;Hs2j_a4G~SE&a1Lj%@XDj23O7SZSLV-HckV|EpiVU+$p>^G$VsYFsQo<&6vAxtZ%r%>ztmHGc{8@&Goco$bU zwj1Cuzhmw4V-k2egoi<#phTo-u-qtjw1`as-_ zn0m#1mX$!47P2yH$N%G%wa1flZgGr8&Ux=k+nEmp(0#aQtz**2hH#POa*L5g$LY7IWMp^#V;Be*G$&&U;RTc<_M2t|ui3_#1lMCrU5rNplL< z`cfoAM8mgMWTz6}y=!+`(@TgXjQaj}z9ELy-vYC`oq+M-&^?2>glK`)AU4?94C$zmQ8*G?s*3;jFj2uD*VP_wD9(1=zPWV!x|%orPImUS92WFIv&Z$ER8!BfmS7 zBl__+nPk+y_Q#Ac*DjdD{Fxp4-Ls)Bkq*8to58HrsEA^rXoV#C+)5UP27K9a($fHV9_ zS1Ld3PIMpvm!?wEmJ`$}sIHIS<5#PlN5pxC16@}DY$ICv(O({d{t|q{OU$Q8B9q8R z{{)yReuT_9{Q>IBmE01(s~bXW$-`G8QB8YSeR*ZK*JEfA*6t(lKO{@}mATw8u@5{9 zpo){j9#&2K>fNnh(zNuuf18v;?62_*Ep0CSUJi5Me&uG~J=X2gJQTO) z+5Prn*1G$L%b&K|%T=f4xtqJm->)1j9iuL>f)=jRwC2(^nxGXyJ`#N?evx$K2+`=| zTZ}`T^wys5-l-UqaXf2SYGvis6k=wV+bH8PyF)vga+;a96%-P|V)o2T4oJo9<&8RN z3a{3CrAkUlS4|dPybvI@G860&(;i#))7LLc zmf%M)tF};*wVjE3WGKfnk1}+tmV3f+?4@QbXEe0pnb*79y^|M_0Q@F!j?`K2#SHNuZoHUkz0KF#*9Kl0SUHvQ_hsYlL~2?d_{>H@ zaN?E-ey5R6BwH78B&!55O?5w>tm63QQ_gMX_Jp!>?bQ=}URX5S4Y=y;K%n?6NB=DD zmHJlr>L*(9MoiVK^+<{QYi-VTa+a=MMpdV==E5#TES5B7pMo=Tq*d4=GRn${U3{;^ zB3~yJ?CJ$a=oC}KZ1`DWzeT~SB$Rjt^WW{Q3c&bEGi+Zg!<2}O-{`<9YU2+b9*1S+ z<$FkdEHRH=IrzMlJ|h>fBi&^tO}ToK)$V?cN&$g>e#xA%G_1Pa5-%lFmw;0|?f+t2 zeC#O26GXUDVyk(l7GoEVuPz3At7FHm0a3%GxnGj1Dk?z7bB5+&>HJUmYbEO}Irg7t z#__UC3kb4$Qd;pLsKW7%Pe)hR;?TL@7L9cnjZ?9_e2au;5WMx$?H|+N{3Vvp2krBb z{}M*-)^_EeCl@c#t})HE2x(>iOT)P;m6dC27zqf$IVCadHR&a-hsGq==S z{fQ>|&)vammaRma(h8(`duY2oGz2CT5BUvkH|@Sm;d>HN{q!H`f=M}=1HAgpTO%%> ze{V_Yc7a+tm9g$M$ISC~B(B8$BYdWd=v*%9z1Hm$$gNz-z?+QbnWykiyBM>PZ!O(nwP_aBC8{#PYZHJA>s71+a`R+^1nI}Xnskjgom1Q;a2-!nP@Wm3>42u?3Qez8|VO}kUrgL z4xOCKirVda687j;a$apU%g$h(wi1}}m^O;%7S}WzZo_u5Q_kh{yb7ymzo3&@r3`-5pXwIJb{Dv4rZkzt-}d#|i#>^j?bfD5!4AiP@BUWB7?4v$O8qj# zir`r&xCpY#%in1Rh0`){gA`|YD7fw1j~^Gbi2-^^px=WSEC>vsNLKzC%K<#}s2Lyf zZ8Yb{peod_COM2x(%Of9pkXY|Ndkta&h*@vM%rBaAj|?3fPi)@mMjDnCh%vPoKb1j zQP_v@>@tnu*%L}&pf;0#9mWHWsFOmY?r-e}Yu!zW1TWlAyG>!HG;=P`RB>@Ja`~6=0E?EB++_r$))82grP}8ju;=4N}@0O*t?krZshz8UmDmnuW>s#m9^D zjE_@Gb~Xc@QPEclqPAv>_7V0ZPAg@#xrCsqs2_QRu%%u`C~s)0 z^^o#KuHCNZF#z3d*0#2!BNa1;$!T+q$EfhlCH9y85oA0?Q>?xyFE5w6k3V$&W=@zm z^yCZWo%DycvDtk0Z5`s_*Y86jw}x~FE(MowDhp>AHS=LYh#@VugrsyudkjJBrgXH+ z+Y~$`0g?Kk#tpREA{DXb^4e4Sk3R3&%)9xz$`@scpzKW>e)#8mLP79~>_KK0b_v{{ zxg-Fb;=X^MeJ?WTo>BuXQhY0Arc)Mb#HJ}Iu)QD9%*^yFRO#KzCNaTT}Q& zVTP&xa&-3sO$@(hk8tK8#H;I9x!5SyD2$9w*QI~GPQ`~gr<+iZt@~(IIbT3bB}&{I z!==EKm-&&^7kbi}L2D)kw{}y|C7Q=-3LnG|2JE#Usi}|rMj~hTheo3E&`Mgm|-XJ21@DQ)zey(ohE!O{|uaX;g za{gJMUgXRtk0nOJQJ*Iv_c`C9FJY8_~Vk820>f>3aWV3-qEkREB{$vg8D%O+fO=q z>^^MF#E7r6U4Kka&Z@6U_7ayfV^R2KG_C5Oo58;bd~*1M@Cp^Lg#FKn^H_NFiIvjf zf9zmh-TA~Zq^aZxffYn}#&2>WUU8b7nIhhC_BY~xIQeD4bll53Pl(Lr6d%KVfd_iK z{@uw202sj8vcts3Vfk>7Tzt6oaW($k1K=LvjZZo~#3$GJ*UINou5IC#3} zmUHKu@Ya0!v%QbaX0loiTc&RgE^0r;v4(Z^<@0rDxC9%-ZZ%|l9kgH zMMq|)ELPU{5WboLqjA{4|EOJW>|GhyT~#!p2l`4m0haoB`ZJ_4&}Ze&0b<1)_`H1h zRck9t5IZ`2zR^^#PXz7Z)LMGVv!s) zxs9G7t!@`t1!u1?g+K?B1)B^F6A1i)&+;rq z<2?YPOb+1u(-%UM`aTE%@}~(wt5!wymHwz{*QW$?sqH9nAm7 z)K@@N88vGky1TnWlm_W;q(cypE@>pCyHlh~x}=mwx}_WG4ru{t`1kp~d;fLU!V`P% z^Lk>>o|$K!nF+KL1kgm)?Q@&CZjXee_Yppf@2yzI_3t6}N3j|a_uJf4HzeXvDN9Sn z!{&hw#;(5WGBS`S;J0XGwYyglpm)yq`t{=5m@s%E!O zZ~l(s#eE|9wFHn5J3#HaquvFSyQh|d{tF+TFKcl7((nnrIRdn30l&!==y}SOxj>Yb zSsuw=j$dgIGhJs%A?{WUqk_|7kxnZ-dL9wE#5rpnH>T+dO-_@lz}Yu+mP zo6nY35%p6jefqF&4~ zMk2p0)=PMla{R9+r998Yw;uy4S;8Dzw!PU5#Vg-wd?V`nV1sZavP~B-+WL#LGEYaI zEGn(nQ^|JUV)L_S86REbI`5mP-`;mNnB(!hEHLsf{D4PJ$@<}Mtt9!w69*31=wRob z@y?QZk0HneR4W)^U%dD@*==KD01Yu@WWsfVP#AH$3Ed>H+72f0Z&wlxKu6Tz z_B8KTxfafsiTSJr6dO-fv5S9aW<=VbsgUDuVhd?0^3Rpox<3QjZr3xd_xM#`*V36X z(ha+-f%Vg#4CwOvs$05}Sl)bRd%MOrfIjPJcYI_d1QZkzfl&z2utjDOHe(W7i9WF+ zOaUI%D}vd>E7QyU$%ZpM6L5D1^5GwopWEI@Ci|Vdd60pN;yDir>`l4tI!#|ny$yLI z@|$3;m_{$5l>6ek!Gjw3$=;U@9wFyRy5uac-~ScS>6t{7qL1Cn-@Tx48+~QUjH)m+ zgvjQX%iyS)xfUN*fRVB}9uomitu3sjoy;n#%?mO2)FttGw3_{gxZJB6?Jsp1IkC+h z0cpJjVFnEC03PRyi>_TsYEMd0i^RrJ<7$kArw)$CH6wflRS)uqd%Do%2zqBJb+MPV zW+gW~@mq<-${Ft-U=l|ok-t4$3)KS;nB)kD0A|GILv0Mi5(PiYw`&<`?8UZyPQ_&R z5_gPmXGCV>z>6{Y_-J6B>ON-{yot&u{+D&$2HD!&)D5)}6q}*^B-QZzAg%0VkQ3X>gA_c}_JQXr;AyeW9KCyV^RG)DfP{0N# z?~WehQ!yJ+)y?YBQ=%!X8gQz7nNu`?eyjS>(>%ne(3`5DDoF*+pXXLG9$od4j+8#_ zY+Yj`Ym=`IW}Q|70231i5wZ#4@eSt<5h|xiPxH<+H~yvS^g{V+mNZFj`h+dl?my%g z0Q{Ec?Z^l4gFn~4Qh}eyX$x#8bJjG+{+A07v@1~;8``xeojS|~o3{Uvq)Ld&d9!5T zy*Gr>{fC|&hufDYrkSBO<6d638RlSCZ)%5UvQz(;{|PEG;hb+=KiM=NYu`ne=5>b?P^_q zwjEO}fNdB}#Ep;A3a}Y#A>9E=KGlv4ne01n|2mEmi@%BdSLQ_C5ag{!uV=L`w3jxG zz_I%wdqh7W9SG0pJZX@?I*BaSoj_`Vv1dp-Te*MV5SH+lk67#5??bK<7+mRMam-#$ zk9pRN>8FGzzD=KtXDDtCg?4{L6gjV%?tG7dsJJ#ey|=BHK#h3_nn(BJJi+%75b)%)wZ1n93-b8!ecgrn4}|#95#hjp zZ=>)Trbfhr{-5qIiyGpn_aN`#Kltz8k8f{6DIc6CzqTdx%H03G@r|JEa>1d}rj4y@ zvEo@rD^;5*8$GqkHv{OF(#_eXRcY*m0{>syxcG)iO8zLH^xFepP!*vRJN7r@-R~31 z2w~5_50ur(_KDQxEMLDNhiUf~4IvSTG6xZLMQt`H)obFnkrvS*pHyeG9umg>%f}$v zJ!z4t(7pRSd{QR|etRTmnA_(860-M$kP!lo`wGtwjW-KWXeuZijrZD`&o{F zx^IJ?{7cmDc^#(QDsN?#;}ztTRWSgl$#IhJTzXI@akuLFbM`(Z;T*10=tbAxc|vV* z56_?uJa}2TcLam$w(XEXCT`GqAjfYgmuz3u{cOOsFFfiie1+lSkR#$6t|@R& zJ?|=yb$Q%UB+k@b$JkUTXJE}J2W0*M&4p~6f?oiTi67h=WVBDeVxoN1&at9it0kgC zgQ`?bKz|66c%i}a+(H8?T!!Ot{hCus3}w-`j~eDM*sw;(AuJ#B zhr$u=PbQ_0+O`1sZAI5V6 zaX-h$e*cE7Mm_(=T5Z_&2M|l>-wvqJ6xjhVw{Pz>VgL|VJ3yhc8UP;r&T;=`2DNE( zqA8)@Rz(RJKw*3G%YNkJe#Jo%m!jhA6WoatbGWAEU%VGc%#h!*NG7>YBT`?chxOE# z1~oIti9SD98YiEm;T;+XPRaK=6$Z4(wQf+dilUC59{;IEEgcjw)|88td`hG{s=u`= z(SU?k+{pW5+iMp3B|lM7@|$RSct|U_gEx+y)ZTLlvJ=ii8S~m znO6t~JZ^+gLlA{SeKTnQe5y1^o7*bxzlkxQ5z%)80$rmQnqquRyE%KwP*sQp;T7SvKAF`dFWa;LSior8CJJZKdyB+S=(T0FNcPzo9HFM@>M(} zA>^JHruk%z%7oQj@+_szOz8dTe6-HUs?hyA?^9%usi~KX;PV(>O&>S##&3|TmfEcI zJ1H6Gnw_kyHUZ^l`2=-si$;SHPGep=I(|N1LC69lY^prq4F2H&$>*nBeQ%8^p2bI1wp4&eO*>QM!reOMg8H_zl`+QX%iY1x`HlyKpLJLDiGfXtA_HF)pvWZl#C&CYa19QMTI_`Y&21Qj{KD3fzpvlCYOON$2RNhYT4mEs&z}zs5g(q4nI9n#3T-!cMmq3c z#3{9$@H;5kA#$?haxf>Oxn$zf1Jk`n zhG?}h>&H{>S%#hOx?Sm(e2lKDi?(7;lU{QNK;O@Q-_|)?R~vT;*MHvOe@3<%y3ncr zcecy;LEIQI;eXb48T+v7{`7tFaFiT7B^iPI|5wGF3P(4N@73j*jKH@b|DVfmc?bRy z>tq#NlS}$kU~l<VMu$2&2n@Qq_9u zT8qVBi++#j@U@QAq&F7(2R}^5@xp(5bYfr^)Z0fpFW_@@+V4@Vh2YYA+NNxx}>pNoYq2zO?f;)5-AR0g(;CfBQ72vZSBXu|+a0iN!4=Ojk=0TTe=c?2DHUX|!rovu+dviPRJl1wU@$ARmZe?2Mb~x5& zpqC4CA2Wx7v94H;&Y*!|=($_EzV`vlWaYKslD;R$#P}ygMk+ghkV#s*JWOWZmT>pL zV=wECgg%>m_CCX+QQ28LbSZXy^Z26qQ|-C?@GGNj&}O4YW=D5^;m{Y$VG-ic^fTRi zKQEl)(2jiN{P(-$7)#XJgKc>T zy7cMs-f{R-Q?_u6$8UbPvyF1P=f4A^5L&~WF;?9g2;^*(Zw*?>4ifP2;KO6rKGF_{ z-rvC?Aa}aW#`}qydle0QC4EuN63nH<(n|Xr4X;G|o}Qzn-QzN*_cs&ftU4c#-fWGz zY%~y8NtXxawP@he$zEd2CNoD*(GIG{&7Dx*WoVTky<-m(RUq#;WIWrWdKO|bXK8WU zGsT2}ZvnIcWv!05%FECm6W0GwA{KVswVsV-R0ymTKej($c_vjuDzk`lF)?xud>+^W2 zlb;Qr?|*u}H37q)oD?k7XeYrN(Bm+H6wvsiho1uC56OmE^v;N#fd2UN&xE_77cb6|hm33W4i0Z!_V)KerabJ>p4+zk zxEmOpA!=XVGyb_Yrp-RAAJ+!IjmmY0aTlyl(|)z`O?+*!@x}s;k4_RuCvZhpUWD3JD~CL`7vmoSdDtNNuq=NgH~Bk80lU z-L>qejZgP)S}MA^_l%}gvWQ>PgzVmB{pn@XbEg)hlj0nPgYRl1XbA7Q&EN)pGxkS% zR`Vl^)~^=}n#P60Z*r>JE7$7l_}nh9|MsNYB)ona_y*gxC^MD4??mvu`tECe>%fVn z$N9fogM?i2rQ*x{IrAJ2h8FFcgXt?=>RJtED_LYn(8D%l{hvcAR);@35~Omaq2rTj z20KLlko&82c~@T7lkICunFUgnLrP2QQKAaZmUSL#7eruX<&fPxC1fHjtho;!_d>3v<8OR=9Y#&M_-A;- z!@NF>`2TJikYEo72j?juN}1Vc*JTAcS^kc|J}^MXNDax$%S!|MN(CKH_7cWe$4B_J zj@E=*>+;v}`OOPY83Z23j@agNqsa1Ms}mu#<^j3*XN&NE-*Du&CfkOaKz)3hS6p0N z5C~xf!OPXQB%zxN&CfCR3I^)#>E?Z{9v?j{*aE7RWX0Zyx>PXQ(LUzq)7CXM!a;cb zw?%%-BKum|(}40*>akcl6p7|`Z#H>IF~BMRl8X;C--Qvl_SqV6EJ)bp+uS)Y09i?1 z-rgp)x(T4wgxop44yddNI!i5$CiWF=&0oq zyU!FOr_wsRipco!ax)$gyJ7E85>wv%;rYy`GNf7u9ci)17Qq6q$vheqd}!B`&^i*P~Jt%VMMu@qK)*(?9^5$-Hq#pE(FNL>}=?}AC@Lk`xg$)Pu09_L)jwUgs7n)Yx3%k_R(TJnyT>$PMqE`U#foB2XDEp=H<-mt#@IbSlIYsGH?K0W>oiBf27T z;mgyrkbZ|dn5EceAw258j(%izvYnPG4JQU8C>HGz>3S3#@UEU)YG39Ygef`wE8xP^ zmaOz;MLjBxop}6Ph5En!TD8dO{620C8$p*Yzha@^*xG|v(W4zO#Os^?5~AX zY7Tm5is0?-ZI{1mCfElBz^MUqolCz>g5Hj79D2CB3(lS%9}_6&a$IMJ8aO(#13CKI z*hmCeWD5jT@mi3~mn_h!d>zybAa4#XG6)(b+y!8Iy-{KCweGjK=H}+qbaZfp70HYa zq{{RW2eoao8r-`#Bzadb;$>Qk3;~KopB>l>!I^n;ud1SuhsdqQ7TRSj4$|_K_j{?$ z^l?)`P4?if0P*H8q?%KNeq^CR#5te@x$Y~%FDWUo5YXj-15~;OwVGfcpw2H;l2TKV z+9hxm{edRE+0ArZKR%8HT#Z*i!&?3zK_h%6uBwXlv#sqz>O|{F%Nq_Lt_R1*2+$7p zl9g|J>|UFJBHHf#O0Ra0nldv%G3^mc?im|iXor>szh{(Bt0=ub6k>klM!r`BqE9zw z!v7Y`(gfXDUfV4Mlxdc1)(%kiK#hXx_B+&pc&Y)R)1Oj!LU~thV7DzTML*tOZ>@N& zK|6_nr)Z9jj^!OLdn#R*w-0wCf+vsHYjOY;=8x;imjO|zxmQ0y$yCpSqSP~=--wgd z&leVCO{s=nDD3Sww3ee8p)%2gfm{5b_3%1)s_f13u8#Q(>&xBu9z}21{Xem*)hx9JHr3w3>9OkI> z-OUC<)yevNWs@m(dsSD_#lYEGuHjcw4M#_2eAJN8koA*ZapA18V%c{}tNfWmB3Whq zE0KZ7Xefb_c>yy^nK`-7PnWQ4*a z%0T+ZwkQ7w91#h*%O?+bE}MTY5qfVDE|ZV=%2eWW>RfNwMkQ7C1eK{2?uMVUD(>h% zY@OOdFTV0X_uw#V1HHeapw1laPe|X=Ugyu>c@U&De0?9ZjEL zZERrz49Wb+vMGYOt85`_W0+f0fEGwh;Q@Gw&Fe+BuYQTr`(R&IA?4&J+AuQ<1rdO#=#o*z+tBn?N%02M7wlI5 z{JC7EEScU3)g4)49+)yRGCUTb2x54jjf|uzZNve}mp6$CY5WeEKG8xQ{)b z!i~8|587eWFb3cg?98}Go%v4_-rS8Xc8iJTXD22GekvH!2Pyl?dj_+vA;b7T zrutKY5`G9m4w68&!Twg)(^JFed*;K--9?=)WS& z;&+x*^R)uv(rwKH{v?YuK$$dES7k{|J!KhJ6>Min=Ptm{ zMSP>9PP*JzINKiU;BEupP&Zaf+`6(^Lm=-L?Odm#ansdRQR*-pXooo>vvtop$bTwFsW;(hlL=9 zBRZcQzIBZW*>tLPLgWWNQaWyu6WcPDg}R=8a#ykJU=dfZ(yTaJ^5lsJ7|TMt4t~L@ zP&4%ab?&^Trql_GLi1WaGfDs*Wa{Xg$BGdIvNN`Nz!XAeYvtuRvR(ND;eE{8k}a&E zo0mY)#8slMN^)_I@2bTf(TN5XXi^vbkOtqVEY^o+75K`&1h#qf)Bv5qTnwfTji5nj zvQ2t+^Bf=VB7;%DXhcF)w-4TClshovT2#A%O7cA189xheYdxPE&Ye7k+>QXBt5rz& zy&tjozr%&&ByuL>H!_hZu0*{Lm6$c@LLcoT&UZ4!pPHTfF&F}Z(Fl!seus8+h=Id3 z<<&cAf3jEazQbGoNGGjnpF9o?sb2g28wK?50=1GrHzjId?Lp_%I4@DgV@NBz5YVu* za^qK54Gr3CycZ7^c(s%w=4LB&z>#V@Uu^Z~5B&74(=5(VLN6YYs1Ul8uZVo=%jj8D zu~0F>QPuF=?%WKlA`KKUj_Ko0EQPC@syrB85hw5S5bX5rjJ~~1O*To?cmy6-3Vz{p zmm~X^4c!fen;Vb`ZXaaVyafA6?7mZ+0ylye#W$x`t|F#_?5Px@zfh-P6eaT z*Q*c?F0P=eDmI|O(ZQht?QwB-#sSJ>!$3fpS7J&^Sx~PNBo;UwEpWQJxtW-oOV_-{ zegtnro*vip)2CPv`qkUm*+GZ|jG|S;a(2YJ>*x+K5QX^qwt^E}yQ@n={j#cWeVtlX zRu+t@tEq`UKYf0U+69#rT3T9ceBzLd7DpUX-0F4o{-((K zdsvUopTPDfKd@9HPt7<=3$>t6HGwn0{K)7gl#BRK&pHnS0XC=sOg1HJZURp~9OvUb~+`BLCS+{5%YL*_NKq=t0$H@|fgI8=R z8Nd5N2wm`}3bD(T0)wKN?V&bptic7L{dQR7y>f-4$`{BT+bHg;{GWEl5;#e(P` z+=cW6tX1U!0M)R-Trmp`GJ0%iD(_awOf!sS8yhP%)Iw}ZfqV{Pf{3>-g1F>N2+Y^r zXkw1<*$$T%e7=SAlh@bRaymLhEiEn7iSqj$Lsa54R}_;l*6(T{-zVq6_E!Tv!jct3 zf%Hf`->CG0n$L-#7Zex)wf}`Rb*$zYSKO|hw!V2@tBl#yOBPIuuNn782Kg{2D?+tS z#-KcUY>YS_N#w=em_(V@rnH3UC59z%H+1C&P*IE4=BC5(5N;<_vQdEuLDVj+N~^=& z|7c|~56bDQ<{IDmh#I&_f6S+*8bDRuT<&A3ySm(1LbKp;)8`ReVJpIiv(j5LWR}ub zr5bzxt-H26iC;Z|J?%Vpye;_R>Z+(ud+<>DtPwnv0e%fzw!hrt)==}+Hgfy3DIPHY$lH;WR(OZeE(itAn>-U zW*ZC-?R*5j+H^P;ZsbLEiZrbRAnblCz+%|`D3BxAJXdt_9IZL-!j&HL2MZH(6BKxo zu(xN`)7N(f-b!6VLw-X8VfD|ysE9~NW$j9gct6QXhs?Y2RD}bNmm1BSoUnoKNlZc# zn3|fJz{MAmno0!31)G#K3dj$r?nwc4c9a;Cz6!Saw((eSHSlaWmEkk}#e##3C^rmz z2amSEKz|A&q`~}KqiR|>j=5M5TtmkNJxq+oOu^2yf%J<%A7B@NSG5ty);f-&;BgPZ zZ_kU+TI#1@{P2j)!cC)P*}b9hVs+?H?!8XodP_)4mHf}7`S_k9jq=RGD>#UBx!Kn< z3>lC60AsJ>UU~r9Z17)`7{B?+Q;wY>d;TJN$~1QpRnzqIusr}W1I|&Xb0d|uD%I{h z;r|g50r)L`$8gm>Sq?`3dI4a0dad630ytuioq-pDl?#!-k_|bjgu#z z;ne{@sP0$s>C`KraljR@J`E`V^DKXsZ|Fw8GX;6|&rK^)jsS}Q_h>GoK0uIWZj`=2 z2z9i-GO=bCyIK|Bwras!o^q)kt>}exU|>w2)E5f9;w%9srC@#m%tBNjjR|A^&Kd% ztti(>gxl^1HUmB?0{Ckq(PG92{62i;Tr3h7T?}I@tr=Z1p+2qp@alSQmMC|zE06YD zRw%f%{4)mK>jD7+{2LYgZ8`x4gs?lWyQHkoK~M>?w)1}&R9+A^#39PNj3>w`WK4Ll zE>YE&oS4CFwXs2@)v^0scE8VKf3j59-d)*B($R zPvwE)F*P-H0xcSBlpJ+nkrzfzKs%@pts#s&JorGr@OwT}MowBwtEpj!g@-%;J9-D{ z1pNRxg@t3jex>H&fiQsSvYz|=z~m~J z&3qRJNY1n@ET~D0%923s03g)q&&&&Sbo9>Yi!j^r6|S6|9AaYPPT(zZ@bH8Hj87?p z2Sr_7J;)!cqw-tc{O>6tcsD2J6XoNAGNbo8^vZCj%E!Ti{P-z`OL%)A7DvnbaXqC~ zy50G8(wkUvac_MgAd7-6_v@VR0@cz{lET@4_mhP6b}su7fX6^0f(FbHz`QY6`ot>Z zQ82%1B)bOB@g))@&d54gQ2@cC7iq#>nX;X}l#S~9Gq?m85HHFK+9I-hZ=}$w@>ED1 z=J5;uAj->X4Z_pHUs_<7_+C`&f4KlM9!il4GiUpmq?|)N!S2sIS~?m%C2^=>Ku-wW z8*mp4xBY}d&Z$c*6H~VN@5uv!R2}5}p0e%UX+XVur=zek8<6|S%Xo#H0>H4kCp-2Y z2J|?KJTtG-4t^5e70cR@+7w4(ZH%?U=%KiQRerk%8yc|kQ8n9Of1hBg+B^Z%&*YXC z>*Xxhx6FbbV2-7*|D8xmQBhupPQ%|OOFO=Oj>}N_BJ*LRl?M%6GvU)IqatLluU~3y z26?UM9Y6OdmB)UYt}cUO{#bCxS|@wvj-=kGIQMva`4kMIAD7NP2)Xj@O+p}Ujz zX%o!A1KpO7^?s07H`9&kZCk>I9;~(Q55%t9+Z&rv(r>@#nAOX)c#i2J$vA_7r~xZR z_eZ7r-`V{=bX$W8g%4nD$;XdJmyeH+A2`#(!Vp2#kbK}5Jv}|S-+>u}xegp)wO|ty zBLfEt9Ub}l5>QPM5!X*o<2yUW6Us|Xd#IKqKR0cE!M~IG%xATPR*4mmA^z9p+u1g6 zBM~gH_fA^(p4Frjc^19yIzK6xaLh>g@1Tz5ig{#j+ht~Xu%B767U%=Wu5cKQHoSsKH=iYkK}HRR;%5` zL7kmcw%-nafeYm0>+7fwyMK82rXu0*5(7QJ9eR3tAa)(zKyRFP!eOn0vUH$rRyU|$ z2YqVnb8~~@0tq=eao|0+R3Z%mflUO@pzr{g1PvMkhRh{F8PFKntt*d@!Sn-6W_mM9 zx?bUG4ef6~wr>g_pWN(G_#;6cJ`JpWNbS8K*i#2HT&y;XZ^v{ts5&ZpEl=ki6}*33 zAKnZ&zDy()2#|L}|1~$SsHaa>wm}MTw+wcZPP(v+ytz5qFO}8FuCCWznww~DYB>5R_HSZucLehnre*1Zsl?45^LLlkJ97) zOW+J8lD#u~j}|AY&-~%|Brj|)7#r*8evSQHA_9q*&fE(bOhT5F4=WjIe0)DX-X1b3 zLWZt9v~xREC*PJ^aA@h6x^-gnruO20k>>@n6q~`f<|1>FG4u15GR6B-fpmEu-#x?{ zL4^w=>_@{IYOgVA`AcW(np{TzIBi4T7XA!)O46f}EuMXZSeHL>mVSUVChM_-< zpU2+ zVfEMj%oY4u{Q>(M%k0>s1c8(Ghrh$Ni~&Y|w?)(AD=gK@{_p+@xy5CRLQ1>4&o)zy zHWTG2yP}Q!P_)x3qajAQ&jK|2$H#p-wsV~?#i+O&c@^jEY`=UF@mJI^G>ik?4jY*Q z?CtFVB|+}@MG3ua1Fxc`gY6g3*bKM4e%KeX1GgmTVUs%g^KYo0sezeRA}0DI0f7YP ztvYyzM$4Mh`o_uzn}sqR#Di@vlRFM|hJFoq6fq_!$%yyMATlSPou!2URVBpz3g5hg zk}?UKqgZ&f6-37uK*!mqcs^5z3jbX#@mF#zn5lLF>A+WtVa2)6CcQ-QA&R2=jXd z8f6m`6aRtqIs@S*4qTxs>-J*r{B|!FNHbhVrLRog;q%g>4nGzame14e9>4#SFgTpP zP9Hd}cfu%T3le~qd+yVpn_v|ZBrO=B@&^U5xwne*Ry|RGs{(-QuIYEH&^sUpe_~TP zxE)B}KKN3m=6?upek>oBEj;J10l+lSRW}EDeam=ncwJc{m}Nw;af87vW~yQyYVu}e z5$VI_gejYVXnL`$B%#HDO;Z3Ac{_=qdU>O!?H%Y2BVwht>C;D&x83jDzKPD8mB)ow zZZptN{`qx%)*U=j*eRYlIyK3g`sLwF(lXU1*+qmCAask5M|fi?einPB0-uAL1Sw#iyo zq=z9_PznJkhhNFy^{6xEuR76SYZU6{6Z%NT1EE_n9Ez$S04vf(Mt0K�eX!OHA_( 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 literal 230696 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%0AEPTHc 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 z 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 literal 52913 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 z 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 Q69oK|msXZ4l`szcKQ946FaQ7m literal 75862 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%0Do~nnp{)DWDdfUDi2^s7PIlY)2&VIe=8MwdU~EZ zacJ8(>ZQ2E*C;r!2QVK`fK%oCHQXw}+AWoGn=@22jCPCmg%m~taM56#?_6L#IJ9n6 za_774jf`8-2y3iCa#!Ji>=0nDpFVY3uuQ@C6PAVIpN($T^Cq9s! z_`o%9!v*2StMr8URq~(scsr^xDz96u7UVLa#KRl@$}J&P&}r#mLqM=f6?SoW580Wi zd(mM3jC$;aO{xrB#ntW(TJW@|)x-zAqmtFIMNCDj7-=Bh>A|Iha0pb`|^7w z;(w{4^l0l6_uAq$J5 zQA5ad-CjY;my$*dugReR!J)Lal)5u19{0F20wpP#A<6?Kj&Fwvl2C6^)aS$HyH!(o zc)vlQr-jKH4k9cpjK3$j;o*(;HI=cB73O$(FyzV^p1opy71P4!vfAHDYltCr`rzj!F<9Ja*<9bI7 zy9Ms+)0LnL5s{6b4nP#naW3}?4|eZZ39)Y7KSV_h8ySS`ar=K?$6eh!penJNt;Pf$ z`dUiLe3ojlQbZIU@5Be&w&D80m@bIm1?8rbMrAs%B&$fiYD^M!j_mJhJv+SD;C!okvc*k*Z0*?AH|9H*KG-?<4O=~4$;(4}mK}%0>$Ae! zVhjyuw-tfw9K)k!p?sh%iy zR3j9T3#ATutVWqEG&s1a;%gTzBAVb~Bb56SqedDO+zuvG^}BwX>#@r4%Ar-GIL@o^ zqoAsu+Jl+T=nh8b->wEp%F@juy{wCjH8^bhb$V*3`~$=F$IMaJhcbZ>tB zKp*UJjrrge5y12guj5sN!io(Vc+=CRb$gu}l?$6(850GIBe-w!Ht?nzJ)aY$%OnZU~qIY-~68D`QsM@PowCa!AqBi4)G^% z#y)lf0}_(1F5jH}VU^v}WIOcUweutVaer_PTbrn~vw76^XS~?Y%iu{58TuAY_?lR$ zmz92T6vD^$jjmp&$;&e2ciYtR=3g?ti>q|FK#;(MFfCsfO097x+WiEt z@RufZRgUty9vMQEC3>Xlo7XNE6eO467}QVV44u-ZC!e0_$h2_qOoQIXRs9UVY`e}S zqtcL#y2I<$byS~D^v9`+U;*FP+U7`_xWS58*xj{ky~v17JDUPBeR{7dc7@Ec9>5uR zjG37w(x5O!bos4EW60R&2DaLAyZOWBs8^-r-o9e_Bay%$gmfcshs*iK_FOH$!D8Ry zm*G+X#&asREbj*rH>s|qxhTJel}{59{x$ddRrmH?okATQ@^f*WM{FcpV^B}eki9tA z!3*H&kYL|-nsGPH3Oz%AD@;K+KhJ+`!;t-gX4VDs5C-8#y*Tg|^+p4M*;l>v?_Hf; z>?Zjj|9?dJ7;PS&K)947ETm^6wy7S`a>aCj+?gc%KrmL_rE!<()gBK@G zsC^$3b+Wirj6RsR@9x@j??f7%EIm9t3b~cqE#fF9QbkIJw&K2)jRXl3mm}M89d6+h zN8-BFXLBGoE>=u@`zqSVTa4*`@KgcF()OkC*!; z2h}8xClp#ynJH0GqxmSbEipZw&*1`ZSFGg~O41t7?GOEU;*}0Rgj$ohmMMMV_~}A` zC@lJ^B(TqHs_^%rH2PC7k4~1&`T8~*7v$)`7jM-l@t4x>Q@A_UaeXb$WgGpG+S;b3 ztjB!jl69oYT48RugqY3| zcwRV71{1!7jYTQaG*vl%@l8vWXun+@oHrFo>EkuG9sSuDD##eAFG*Q)^Pw%#Uv&p% zli(4lS}5p9)$i(pDwo;!x}yZ{*nU#}q{4+-_@_3*wVJHt@`yTPxYYz#MxRgzvW`u( z6g0xh*h)#M{22Yff(jmw#I46*c@u+k2A(}$y+%U!&|NNRH0j>n716r!MW_-`ef*oB zPX^8Ka$DO=d?%mE^UkUUZv>~y-;Kmks2Rx`&7UXw(?1Ow=N+VRZHwj4qpzu!2#OMp zC7&|fpnQj-7Iv#qVBagVIop35xnGlph*@xe=wLqk9p_d`A}qc6@ilUiH1RMe6ZA!M z9}~3oWUZU{Q@K2Kf?-$V0_tt!(Bb#L@d-OHSbwSy?9jxm+>+fgiTI9rR~?d><{q9d z-%P!yqPzrAXKJE7$B*vh(!jX8D0y3LHG5Ry)T%ydjx#lP>XqdZF_6*^>@BbPoBmsO z%eVX~={VRWdvH=08Mw@Ly$?NEtdMmTwhvajVuO!&+-Bii%zUlsuGC>$bN2zYj-yV? zSZ3k4HX2y{$vnRrA0JJ)rO5Qx{Wusj(^D$ZPMb&DNinfszfczs4G)au&sYtXo|Jg; z>>B_xk$4PCBB=682b2A3sO&p!Rsv5PhI2Z3BXh*c%RjVvbe&yo@d{3{!28Y0xH}~= zG|{K_pc<~Z_@?nrh~?xY$)0MbNQtJD8kkP--oMzY7RqbDbZY$d%{p@w~v$M~b$hGB5Ii2RqpZzTltB;CmsI$aj zuTFz4$OUq0HHj8XQHs}w)F*A(SwpD33bN%U*N?QAEA+~HT+FrD47LV;r7z(wfjkXG zwGo?g;M!xTfhb<3=j8PMa^yo66*2Xn2A_GK9Pg3r4gDpd^<#}`%l>BK`8t%)*CEs? z@Aw)@_@;63S=?tC?%ep)fWy-?PiyG5Q&EoUSj>t;zcu@LtB%Qil=ikJoLD}6SX+~p z%a~|wO=4e#WnKBRQp>5t9b^Py7iSi&nMS1BUF0npOXCwE)22dlH*jKCLbu`Gvh#30 zAp?nrK}YtdbNo_pcn|_l+!(KEN*pWUi=l$ZwjcDPzdDS*_!5s^?DrR0+AqOKg93NF zluAZlhIW&*IW6O8$BJ5=h3NR|kDQs9c`6q^^yGxq`}d_k|Ix6rY)R#=TnLouj+`<7zb5-b73GTaOVxC}}sJ1GY~j&+oFl zY8~sULS>yjf>D&t`TKC9a3;Q&d1~;|S-q{f+updC@pq1nPXpNM>3;7LeRI%4%NH8a z$UhK;m334thD|Ib3;P%R+8Wf^WbwTZKR)K_U0dA-wa`FCdfz@QZjV}nN0;}Pp9FUF zc>5YyQJlceGj_+}Oaq9XHVypzC>X<0Nlu!@o+{qdzW;h{kfq#2zIj+rS6Yya<+A&K z&O(HE?Ti_gnal}%6tL+h<7;37J=n1{*5Q08ldie*_udG&2*28?b-UH%fLSWj2nk)3 zkG_|?JqTR*Dh7_giFTUa_`y~uN7{Jb36N6Z%GTMw0xqdv%s};K;MJY>U#2L6vD2Ni zv`M%6M=a$-A}VT18gczdWO|~?%o+rn)0UgSmO|@cx+o9E5ly}qi@8_rmtQc@A5etk z1-RI*C)y3$9|E{&QJhYm4C@0V!X}Eyx ziRk^l%A$4W$gQ$@_rtcfcj!@TV7``o@!p&cawNbK%5eLOqo&blh&YU|^W!5}u%ZJI zO>=%6@4S0Fmou}*)=t<`c*InLZYX@iTauEQr?6Lgx`MMNk*GJzw~QbBlwBR(KNyB( z24Fj(_XO1)W{YXG#C!f0CxkzEi21+dVlYqR6o)^{<+p~7!`Xy=^FFkyRxsLUa=sWa zlYm~&lPxt7ybi$Bk&)#3c!cGdqmXQXubnJlfe$=KDM_x*x4y2^Z~GG0BY$yvnVb>t ze!8imty$s}wG;)>LU2t_H!bD#5Q)qNr+3*SX;+dL=i(Z=M;o3@H>*$nP^o3(V#KhrW=f{UQ(YHmh^m2}KNAktmMSm&> z*`Y!@NtDyvHryqV1s4|(m$j(zMx(1PJ!yNQf6T93S-A+)ox{`ot{6`0N0pD+jBLi? zKBE61GffFG7u>N%ho4q%C$KJ@`rHTKRWc|i5fBV4PhaX+kL6h0s#Shx zPOd&!Vuw6VR7`D$uc{)oB z&nd_llqQ_0IQLoX+uFYSBZ=9Wg{ZNzwjvX#V}&gRG5kdm*M1y0vW{!eErmL%TLrm3 z3|$+oH0~U=`x76f@J_E5%xXu2TvvNC2gbqn`wGXpquVyDx0)k0rBJ~Z-;E-YoG~`f z7EQh1O)^oKpZ^6=HlHU7%&fa&GiR#bmvM@^$Jvm_n0x)EVnt77w7N+%XBOo2`upSk z`0e<#rXRjw1(A-GBO75@igz4HScIOl>Z_Z)19^@|{_3*FiyoIdxAqx({f)@=fDJCHc=rVNB6jE@2afT`6NRoS&iics=X>JL$l4c2Ls~f+MvcPC^~M>IFBB z8SzbfTr5K>!xHhk6*a%GHq!|c6?Axh%p_uqV&qUDqb?xg%@&`fe*4PW3*^yRi>7zn~4XFKgq zx|zR~M(FF)K^W2V*d2~!B;kz+@$w&c;UWG zXWWT~q(vU2qc@yJ2led_n?X4KCN0Gb_In*gw6wBl4hHV+x=Lt$7M6kzt41Q9mb9PZ zfX#(8Sr@E0I)>etR(5Jml(YXIQC|TS^%J%WqJ(rycb5p#tuzuMARW@(-JsIltuzQo zcSuTicP_AW3oP8>|K0E2Jx9;%?C-EU@65dO&Ku9O4KKU#rYP|cC{fAyh8mv6(75=l zqWf42cJ47ePw2}uRCMmID^0|Jnp5V#Qe9 zZ?Wd#{j9@ll*osMCM3*>%-)0a4Z@_AMX`U|;5R}20sh+fr;aPG z?El2J+8e5As-J=RUQ0C9bQk9dz?S2e?HB?=<8c~lDU=-nLG#Nj?(b#3(x>P~_l(c* zyq;(!2+&Rl^m>KtF@k}p@%(F<`o|{furZW?IUu_m=qRgWIF6c z4#*eUV51D5oZVgPp){dNhO*e%WZ-Kb`(`oBPqrgP7hUJR(u#Q8zSQ(SyTJd&ztK_E zF4WVZ9bWDiqj<8^@~^W5QCI`v`^lPO|v!ttkv)#iKtH`M}T~* zd+b}D0|X0OeWR7B&-wAqo= zLjJ4!Ess{CYUqQoVYP9U6A}=t?d-^@tJk$OG&X+x%-HtqN^s#S?!N~=b-aX+>xM9F zUJD+*dS_?|Z)o@<;uUAe@88Ox;JINliqqhinLPG{aJAl;aP`VY<>EpCUa2}Op`Q1H z9f8d+txBEGwLdSHeEusVpkF}yBP?PUpscMutUXfBT3QAw{1f;00WTwhaWqm)dvjCM zWJ_DzI^QxE^uQ$*3G;cKpG&OmBTY@(17ZA{cSorW_36m0O=O#$!sv z%%}#t(uYwlo^h60hkt+&kYi2);Z{1CbY&)j`+I*4 zKj+b3gd3~6Ipbh9I<8GsyqPCXhocY(7!5y4K_T+S?RztCf_gMgw9*>m90*LRtnYd-2oBLTzVIi zHeNeo!IiM^@xJ=qI+c=3qfdV?$sKveu>7J?y0dD{cI0nrPOZ;XA};}SF2Q16`cJm6 zMWE+~-hp|YN}R1u_NTEtRTFl_qsyKD{e2A>P~mUo3^;g>&wRR(QLl*%lBU1bCTD2VyChluRIY>o2g!`4%y9texpZ}is5XIPiBzQ z?W1>j1&~Pwox$X0Ol-W}!3M!^8^nN2R`44R-W;t+@!r3uVNcI{wD9<~QTs^5{Y4|e z!RYWCO{GckmD~2yEQ)A_jxSAC)UXUNb<4ue#p# zqCxxgaGk-!aXyo$^6{R8;-#wT&H7G$tvhVFrKZ8df=wio<{K8l~^2^*-NSB2M|DP=lwMcz_C?7<@Gh1Vd*gS zO;2ZH(;%v-so9)PPEV7SCu~9r^NVDZz^;${SasMjPMGm5oj`iEE^U&E_SC+*zED8> zKDWA_u+YHnXr22}FEjIddZn$Iq|8hBXBQWaW^*z2EnQxx3-|v5-P}38p`#QQCf~5% ze5Yt3(PogyGudBMThYw&+kE$DSblJ?+D7T|xbU*RKl**Pr2V*Or8GYiC4=**-B+TRz`L4$ zpNlr;?R$QVukE5M3a`^27xWY}@Og$W;%`hViHsxvc`!8*5BTtdPu5xCot=2Vjs)%V zyYqd9Y)1M{Em3_j<*-LPZG6mp ziEoykv_Dl~^ODMgT;jKA`44fhB>RbM%N%a{j7zG|fxePJzDkbAPTP3CRK29hJ4za8wXS6j`?$U9-(h=cVuBR`w9y3t2|_AwbD`@Ad4Z+@!Icy;1Z zNiex1^b1l`cUwO6alPQM<>aUR=5JJ)t)lD=qnc$=+rODBDGY<=d@%g_uG|3$Qy+3=!aBsy4*%@9U)d*JiRmgFWRWVbf5PW=D{@4}1 zvbHX17vsR$s9pZ38(-isn`g1LZR$37ssDIn^~>-2EqK^$5-Mu)?S`CIe%7xy;B7>s zmsGv(qo8Pp(yDmwq7Q8G!apNZ7r?z(5JNU6SS-B_xf?B~1@PZg6D9(jd}Yc7b%mIAqx$yt1!)mpMOy5+eTlFK-G* zjo-imPEEHbDPE24aiz{)jwGx-oiQug)tc4zD_y44?co1TFDo9aJZEd|7?+*2mWQ*g zWk-mWhN0zS>kC=Xa+_OAtikU0ws3%js>^iD_Y z02%@OT)1i_4UI~DqdUkVx1^+JPir=T`+G5;)K|Wx9JuX^Az<=yIGB^{PQY=LC<_Yl7QX*5ss@tJBx@5jgZe9t=LkL%?^B3XmLHi|+p!NlHOAhqL*?JZ#W`F5^&BvgG3!I$kD^)q z)(1KLN7wc!D%jAdKcfInZS7-pt5bA%$otm5z_u$AqBRqL|2ZNxl(^A3ac}`uoMgCu^msF6>S&&%8Ky zPR}i6wGg2XKJRcvN%<9{H2XXHIW=mU^;gHX#?Om>{dR6TwjkcO5?H?GRxd4^^ij(7 zd%V3~o%eOyO+wl_T-HCl9xu=gf1}(&rDV|L7auW2kr%%9ORe9#d9FQQJRX1lWlpl_ z-@+*i&m|vnqm1a3Jp-}TwkbhVIV{75mRyq~o>J;yv%9{>yr$pphy6)}9T|x(lY2L?06KTIqjo%!r*wR-eWi1798;B@eF&P8!pD%XC3P$%x$C**Rj z<9$eyZ&_~c`FR1LEl(kWPpA}0r27Z=DRB!I5ATvu4jV6CYI^$VuxPO%LdXb;jLXwX7;)x*&Jc%M*H$lyvuHG-!nW{6slZsD zQR{n0jb3cs!F^UDK;jrtinhIkN3m_&BhW~Fd}J4U=C``e_!!JoRE?XyfRS(*~K2$b&~CKy>&Yyb+eXgnh&1_ z!;aSk2SaiKeO2QO3E1PfyJ1C7PYF?bK9kBGW3Qck`i7W$@ zH}N)a#E$(;UNilYV_VfH{+p`b18U`tclMs$aBWA~ND<}CLY&~;L8a+*`z1iXHSw=* zU&iPlIkzVNNA{OKzQug&FUFzWz~DPM+0!|@-vG@_4{*qQztSkvk~A>LfgJc5$0Z-{ z-P~#n57E3H=bBxG?xK0DhKne?JTdZfp@CDK^%q$x_0%%5KcqCgVpoa zsWgxfvR=(4FF!^-Zco`*5S zC6K1{@bEA-J>6)09+o;db;xo3%kWQ&Nfj0qmB<25*87m?<28FZxq$|cD>_TvGYqcv zpsr#z=Jj=@y8bMzAI-_43<$q;FO}0rkA98lk~YZwV@Pkf>*C=ND0Lz%P*DA@l+09_ z)x7@lXwEd@?)&?7GEdG;uTcX~KDYlt={3NuoA|O(%we|?Wy4?9EGfg2Y8>CCD1G(8 z!y_+6p^D)>h*QcbDk#v>(dECp1A%()i*f0v?tPm03_jG4TTvCF4(j9-KE`p&Y!aO~Qeg0jIp*3=0?EwLgA+Ho$_k z1%&%&7dOl;r$URp(?Kd*87^vzUR7T$ysVt`Gd+i{fXcHJkLeGJtCLyF$Co$9x%k-) zHN&j03~3?CgJ%#wVvIeD^!^m@bm{lIN86+Q0SMo*`ONvE+pBchZ%*}ZZje;W%8YkY z^s!y~olBx9wx1pXvxJ~A9J}eMKlHvLp0r_y;9vG-AJH2A-_TxW_G|KP>SHca^Mk&C z(w)CqSX8P7vb_``&zRrhi;G2lJhs5zzx<~o)!iF6sxBulkAi_w@bhONfKdftRZnkf zY7%Zc=%tL86iiL&hrE_;t_az682d)DhGWPC1#0z?TLip#Qc(#9v@rju0awcwfLsIw zg^yOCN*~f_lwKki3>ETzp??U2^=BK3 z-jjW+Ot$a)oF550af6FU<@;JC>epA?WN@W18e3Ry_4xQ>kgDN&b%oLHbK-y#6r%E3 zXP;JL0oJ+ku|9l^;^DN_d%y0kQDzf<8R!XnOPWqQ`M7JEg*K1v=k-~A;YzH@@JS-K zcyORJ4b(Z7Tn5=T$u5s*wUhg6sEZ(qDZSWj3MSb;`H>6v>a74gm6TR6k~1wYk$+qu z%{|*cAB!C|-hLE~W#|--$MvAt^;ek?B^z0yhrYz-RiG%=1^IMrRJA`z00jbPK!%rB zr`XnbLmD9?V*P$w7*?Fjd(N9GDhqEBI%44weVfy{Yu|o)YwS z@vKU47HqGdNjfvXJ^n|ziav22^YNJIKQaDlUEl7r>48*R0N+&6ij2MeYnRD($JnA1oP2xqe2@WpqXgZ9reC|&~vUJI8`}K+t`Hf?p^Z_Q3 zGHbinrVpIrdi~Yd%Jf3n81$i-a{m>k{R($zeCrFh0w5=O01FEV`_e-1$`KDiLF<=Mul9 zhP_aGr05a$#mmnkhnZb9tljv&M{45SCW69{wso%8S8HGLaSV_#4b0NE&TO_zTb=Hm z2x)jZ4O2vy94>96)DmPzHL#vvd*k2v$qDj$N=SHjP`$AV!0mveMEcFV4R`iDrj55h z3+G2n3>K&f`Td!d`?I6@uOj8_rk>%WUvx;}JsVRixK}-p-rnA)vRqGip>u`0|IG!! zk8%>ozJh0tBFoi^`%B7y)-sDVKUFe)YV<%;QEH2X{*N?R2L`P^{nDNx1Wnopwe-cU7+mUCXWt z_HV|W!qnWbvpz^aZ}-R$aq(NP8d`PAsa)mnDJeDY`HmZPEz7tOwCNM))G8#-Kf=ba zCMM*A3Pj#ea;=Z=Rqy)&FlU^V=_A;y9k&ZCUjT%y#S7Jju7?OBt`yEMh^eWm`|=5y zn0J+xl|w0%FwJWHGgqGN>Zop`6B$^ z=!JmC7Qa}ES_FT#Kdx%t3FoO@d2ki3)tgPzNHtE{`OL4W57a;F41B9!m0mEE%sLz` zAk044bIFQ->vM~{kCjGOwjcaD@w(D$sI6`l^1~z?4w-muu|Rhlr3Y8DRUHL&2LieN zy8@KDELTO7EC%q+PfV`Z(MarB9E13;T5ZCt*3=h-uEa6rf6+Ta z=!@~0Z`R=Gzp7RGdA&h<`Eih(9kZYg#F4JLU$d=5BbUM-hJ`oc8U4&rTGlUOR_%Uc zzxF!0m2w?MY91WH^c#9r`QaJDD1T%1K#6iJ;t_C^rw3Jp zIvg@IqRZ;m5A5ny32`JF>Av$OE#!R#iW}4d!v#OkV0U&R!=$Mb{TZKtH1Y-Oh_)Xb zR5EI};OfX1R}+%^Vp@b=!ZXoH)^cEnf-Gagi$d{rw|FAkLk zxhQcBKaQ81HEd{}i&^Pk5V=g5Et%YLoxc(lh`!K4)=AsAfQ^Dl)Tq!N6!vRQ2Y*Yz z=TVI!b?a0^%(Gm6hiK;ujf=n6>MX9Q`snTq-j# zzCiv*(Q{=X%8Hs{|MB8zX?L+&NjhVNwn$&5RmUyrhTa!<3lViAEyQJJv@Mi`LnY>1 z3wRX;um`eOZ@41882N83_)0tPW2;Ea#rr*>{$i+~KB(6rp&{;RFA;nbyjwg>=*@XxUrnu@=4XeLqj?Pn;~+vd~`nrPbEA!~U_T z^To9j|EI3)SCjd_D0mzD+EFxa?UrKUA##9|k;wjEOm3su;G{V7)Ks>;ExZ0p{%oej z#70K;crWsYJz(4Cq0uej6A;YU-muWpzQ241PF-YFRbR>^x5BZ~pPh7==CL%@zl86o zQN&v6>qNn1(BaR2h3dC?^K-Obd>lPcN~Qkz!^_rhR7Owkc>S`%UZ*{rijRsp2oaHM zchLvVQpOgD7@tBJ2me*k)(E|s%YCYF8p^u&D!yL@1_O@64HPqCd)|hPC-A-0K@L^bCV;Pj(rd4>vo8)&|;}%L02d)qz!WtiO z&M&>qz}Sb+H}W2Rm=LQ8pfYLC*UOITd;8HyHE&lTK7(wR@fDmmbgr(>QU^uBd_J<= z@puRsteK{Z0hWrthK7dVrYF77>{g+pqB3p~b_^K2^8jsuGU9Aspo^*gg-6Yi*Z5)c z=tBviUgC=1otnp3he5$e3Ip5Yft99lmx}Jr6ff<7#&8Nl{?YPIO3qqVRy2ZTrY!Y@$d6Z&5jUF@@RIH|$Unkl?t)1%v!k&x39~#qWSs*MZ%XuH1YML0)4N_J$Ql%XaB5a+Z z<@)Jk$oV$S*uq9$cR%8uJ8c|y7Bfv;zVw=2(!}5(hXohZjlPCRiS6r<#iXx6!fAB z5@xIclOz}8`-sd(JNIn|D0i9AwLudT2jue?fiPF{}do!9pKp;jK>8$p=v;<&-$QT$qr4?;we--8qv5AO^3pB0Fq)zaF)uw1M zOP1IZL8JtXl{ zyJuT(>;D?PBv*>tm~Q*){OL$mVj~endT?{*v{xuSFSBUMaW|&#FkQK7B3n@&c#Bl} z?$O}u>ByX=0Ja?{oL>TCe2$1%^2PTX2H61M*V*#8tInZBI--f}=*BY{8a01K{B=+k z2_hkQY7Wk5_12S;n)?7R;~^6^+=MjkzR<<9_+5lR0_-#35MpKy%g7*QzyxSkFT;Bz z6ctB2a49O$g1Qhk5)-2OaWi&@7^t9c>%&^wCxlRV|FcSNgf6|~|r4RA) z)|(x@eL2d_{Js&>8TTtA%F7DD6<(n5w^}qc5DPi<+cIYL{W1X{W3}Zp^IP4!mbpRQ2a{A`4qV zn~4OM%ho)lmqzr#M-!gw{G8X?Q2w=U+WawUk-8?wgR1v4(E|+#*p5yn^uaUUWDYOd zqD%-wlm|xcnWK)y*{*}(_U<8L(DTO6bBZn7vNgJ^r%4Qemtj;9L0vciD_z5E6!8P( zuC&^$D~hay(c@($!PrchcIH4&8x~#k{3;jD-!IV9`J8{K*1{qr4{h)8>6EA@Dx#

C9PrRn6H(XE}AapFOA$;uxPNo(>Do6qSP)y3GHTNFA(Nf#H;_>|@e zS#k*Q@M5yE6v4Lex;~;47G7pT82NHV20qwg^brZIHaKn_sN+ExQN2QXJVr&kg=WL? zJ%}omF5Zp*dbPcFpH01(Dc2p;f4tSm@_X=jB0X^Nn)#(^Tl?h4KEvlq zKHbiGYuUgidgrykBB-B$N%EKLBVVwXjcRDqpl>*L>grMyc&KsQfhcS!KOu z`IZL~TIk35qv+Lo#d1NSu+khjI2(y=0Wy>Qf^DSq!7)+4SKk*Vx49|XAV>v80=}Z3 z(1}aBjmG$kUD98g)l$BI@TXF%Oz37UD8we#dd>Ddg;Fek;_dA|#^4CjlPI%c9}xcj z`!zqCEls-E+{Q%x&))7Pb7l102?Bi5{9Dn|YZRdgePuMXBIFO8+MfoW4!x#=6v5;+ zb@UX4Gi*vuo}|LbiP!MeZ{x!)Z9F@D)zlKbxBg-S?@%KkL;(27##h#tx59RhH1XcX z2(;zV+ij;7v?GD@(2>>4^kGwv{kp=+Tz65UyYzi2S{>fmZMw!s66}pHJn5SCu55k| z))k*CpP{%z59|4T?;92YXnB^j7aWv)0z&5f; z9~x3H`m!k&ct7{(#M+~~M=O?9M**4h_3gv(74>+NI56qUp^R9-PRfsi^5k`2euH8| za_2A*_8G9E2m!LOW56JD@%KafJK!0h{Bxdsymo!eGi;qZoA-MPx)j}yF03iZSZ2H zE$KOJ8>=3Bs*aBP=j;Cs*pNGAKZRPHodw?g7mdjz|82W0P=E0j#(N%5kRusRuqO%! zVl?L?O)k(a!UkjZ!QUU~`gC5AHiRm(u?=&`O|;FV}<##G@}F>YTClalaBF1v&P`8#(J6>J#F z8MHJ>V@1ODFY0@@X<~%U7OlnKds>F;N(Q9w?GHv+;vS37it}WuL(FkjE#-4 z2nnSDu?avZS6$2y@`&^IhpW}AX$LN)<*Pmq`%2lXJtRNhN|@hohGVXNm&h?q5;w|j zhRcp=_Ot%n}M$M*?P>bymkoJ-#W(k1et8RDYnhPH^ zUb$;%$p5W~@qnNIb$6xF@8NHMX5QeQ_ePQ|JCalQ-B)^p=ImaK*`v zh(K$5eDLb*?EKv9TBa?4Orc{P*A)aul-1G>ql<+SQwbs8-?}aJs)4l-SNqc`RwL&Y z2gtyqd7YmuGmE;Lfqo*LPUAZe0?prwid(tis>-c>`%VOOg-Fi2Md>Nrr@32Tpy*Q0EHB)4!iza`% z292piNO)}%(0H1)c9_y-Wo4@j9g~>f#IDl-QS_r&eQjbJK##AMk(1j$YjkeLESeoB zI?F!|;={L3gH1=W4OReo)DG4tzC78OaMy1W=6(lsfn7AdR`4{)xXT!bjv)PmHDO&*DbPl~EU93ge!+Pr~1KTrwTV!T{)jzFHg zybyw`ay2W~Q>t;}p1+*;-#|ebl@3wO)1cLCuBPnA54XX7hATiDcGgL1T%q+O^+CN_ z|9~+n6?bYpkKtO4!FKr+)VK9cj8N^7zl9-a6et~Vj|R2NC{{0c(j#wD7O8eVmN#Bm zdd!X}je3wTpZSAm?BBu_jDmyFRw6EkmvC2ItA?+i*{JnVC-P6OgflK&(`KSf%Bf#yXY3CnPjkjSe4!+0fX-WZ!Wu2dI0GAOSS4IJ4oj>7&)E>Za^)7ywq}fBRNVQPzPVAOSC)bzjJ0 zHNhh86p0?5hPy)6-w(1erTUW^cxwF|($9)Hr9hkOZSPzG`_!Y6R=B#-*tbcrY^sit z>*41P>ym8NscHp!$qXCJkIjc7K~4&P@lk#G_4Cdk?UR!?{LV6Xy<=2!)&s+mFNwZV zF~4MbuZcfz%F_2rpj$R%X&oMeOdw_Gz|R3l5J0jZqefB+bD=xQk^`NSB7Y_`szAfa z9S9-{7$!dQrdRE+1f1=YMcTEWIYaL_D%+c4*-T3X$gT;h6M5rARrR%p1{~)_$#2rw zOj+(qNg6L<$xR;fFQ2$hEtUX;Gg@F^;BT$6lHIvO*I()^0F(qMt|FV#7*LN1ja{C( zxd_6J%J_bdBNmwES)_8STU@NsU05JK&!e+NP_6j>gO9?%u*h>h2|L(3xKF3pE0|)o zS5)=a2u}!$0P)(n&_*hnJhJe;0kDM}0l8424H%V>sVETnLl1}VACO><(gARYx4=Aj zfNRv74$#xj;d_cIME763Y8Cx+fE?vt73{6K`ath`aAoDu5apJ}ID^VJ)`m{8l1Lqk zylTBWxilofs>t6RmiW+AR9@45Laz^) zSf$bPC-(g!!wA%7#Aa{fCX3i22$@n<`avTRYY+Rm7&v*;rj;{TTnWK4=b}w`$_cP+ z*I+?Ie0R4kl{r<;ifdzj ziWk7?jw0oM))7l1eR6$`WH42vl8}%9sObO1#?mbD7#fJDQVYGk48uxP3&^hDIP{-* zRGsw4@r>{A9bhwE-2U_hzmT}}6ZS`ay#UM1=Dn~RWFaaEU2KW~hW8-6sH}{Ijg7q| z(luE8a7Co|{{4F_JiIMz>^C0i#vXxHY^&&72>c_*XUkEyC`b4|n7%}A;qhYOkFPQv zAY$R}9oDp4YEywDwV%n>U|{abE-iC>Wq1Pcu*aDze=ZMR<~HOh>&vBQ#A9CPTl^EG zdwYMBgHPp@n>xsDx096i_PK6aaZ+t^&X_71A`O@ZG{oHfe;KIhWlMW}8jOsL8}VC* z-f=CNx`LvKa)aSSYZMBPOwz9?1XBwN=zIGV3my|_z&Tt{(~|P^NH^z;7m|>g@qAXk z*v}`Qb7O<0dP+fD>~E5Rp!Sfuuah5Haxdn_;=8{2>z|n59`7Xo^-uBP|2Rdj%%_Ev zdvB591;G6yS1QtI?zbUe(NS*{d9D zIVZ5e>t$~u85|9gLz)lG>d3|7(GG(=0{TP>`!09sAI7U zq);ou!}X8*C_oh*N?up4xQuE)--`R0?cU zaNXzrN$`2Tj)wS)w6r>Y%-m$Z2{V5xkKYkQGP?p{&8>P3NgvXAii4E9y1LY^Ck zk&~BuzAx*MWD#l~5gg#9X%_WsfF<-Iq``STqN~Kld{OU~x_AsxUix!Su5ViCj;RzE z;bQmK2VF`rrQKXr)Y%@b@Q}w^#H~U19uT_$PDfv#*X?xU(h5y38 ztOYA*ILcv^FCy58HUTe*=~5~q>*&xmomr&d?CspZV5LeF+XW@C^1ke1nueSx&csMUW) zvRp+<<=!?za0t^k`#)zCf)ZZYioZ9E8}AI6`5DeaZ@29Pt+UUMM}L%~eN#}2R?@7m zfn2qIsJbW7>dtp*w@o-d^8dp|O*{I0&nx~QjBqNAvb{}*ywIKZ(BzLvDzu-;6WP)pT%hLg;A8CF!TCUSJ)aH7*MguD6Cf zkglVn{DGhPoxXdA9k?9^p?Sh5oLXS1A^Y_H?bJFt(YIHhs3z*L`29Ie(Ho{WrItEnmbx(wRn8dn3|TC7?Cu*>>dI!uLL$# zm!z`aM{GJJ(?1_b38nOdVy6&9!7PZH;G^%~oftY~l=s7}B;H{(O|yxLIGht2eW{-R zg#9K};f%wt_yRR7z1^H4$|-Rsd-3)dO<7en*VA<2+?nKSao#U&=F~X7y?c~`@?ZIx z(O%!+WVDrWF#VYqu&K~NH25{T48pwyjqeE= zr&zVqU6;kZx@sq{5LqRZ4-H?x;*3C5vmHyQ=hr*9-f9U>X>t5AxcXS7NwDHW5#bYg zSa1Ei&V0pGN8KKKY-7?yrc&3uFM_w8_qX-#LMl-t@1o|N$YUyx(C0Ktgkf;2 zj@8r*_N6{HrT@XbJL$%C5u1&+dY8Y^pJ9KojaU#M^s2Cp-2Omtzce8P838fqf=w8s ztM;hg!+X#Aa!1hQmkNI7%pGux9!}h3U)g4C^s-1OkDVph<+glCb-hp&{3zN@)O{JwqhYp?aujnvvpdeyKRyH&;F9E*f^C)CU$>d5$aRe?jhi8fa_ux z9-)|=RP9|voy3xkfEHdE<1@iK<6`EJ|wA~!9 z6gckB3gNLRoQfx#^&hxLvi2Uj1$0G>rco>8B)p$OHYh6COtVHq(RJSY5gu_^Kh!u{ z_9sNYwEMzRUW>~jl>px1Em=CQZ9rac*>o9teUK$!AVzUU`?^5S2_)I&n(?toNVo~Nc z>M*z%4z-VEYMAE!RUG~kG z%rOmD5sZH8h5abp6v(X5^YpI`;a}E@hBjKO-%**4mtUS{iP36gD7{C%53dk~*dJlH z-P}4Ao*hk;>E)6TF6H{BqC}c3;p}1VykWqU*2Z}4(koQ|2v1Ez!ijs`G4AMD%Wy!Hem3}hThN`~HXZ-BjlCF!(@Z829T3DS&=jq~~r^^w7FX&p+#^{nEy)6GwP?N^d!>OvI5yqa<{u(+s$ zZ}oq93h?(BgrO=ghGsnp_S`3}*}ax;?0ME?zl z(dxYuYM7%XVgD#ZsT2W^6Cz%ub;=K{LASNfijdYn9cuw%nbOwnfOr_E1CUgkDBq%V z*A<=9mK~x3iH?TDP(R37htak|QliY@u(oy~Ai+bJi!g&=ece1+?{%tzBUsql1uNs! zaY!{;3eYwz7i(ojj4Sm^G9M{7K>cudnkH%#ky2`Y=dmEqV;=M+$zEwf;7?y-a5gzd zzmI&LD7a&TpjJun;*1X?ofo=s`1}AF$|Szw+3SS|awVr@Ri=;PsT=U2p)#o4vJ^%q z#Y&6Mh3gF~G@jSj-eg!RXT{##_Nb_@H!>*y5j<|82_g)&(L6v{%`%8%ikJuiv^aq-6~RCWBdAQ(?>gm5PJ;E)hBJ_o1TMH@Ma zm=sJ~8AjJ;-9sdtAil`W-b;7HU_c033=&2GAxy*YDcRRGIG0pgw_m7vna7IZt~>|j zAe6RRm-Ni8R&Fy0zF!-zLzau`Pbf2Lb4P>gK6SN@o zRe8<2(nnGZ^{+j+4KE_#_g>izTpixzsXv59BCJQ>Jrtankvw!&+@+*ny=nB z_~gbRGke>wj~tzXi(#LZGquOZJ4cvmT{b9)`seG{uZ>IBxnTu63-7fWmy>cmU49Pv zJ1sPpuIPJZ2v3H;BeLnr_{r*c5@YLU8vQ~hPd^-u?@y(GAh^Z|nshgY$1^BZQEs!e zC76`NaCY~MA7?W?r*@Eh;9TL+-2rTc>(%JlMSccK-&US$tz#pf!ZVhdpM0i>!N7?1 zs2)b&gRqL^C@3%^X4u};yvI+AJoaTyRiM|5K-Geck^YMwZDcs`WnUmE+Czzpi_4>H z7R>&vIurrdAn6S*&xX~B)u-!y`QVCN%935jz*siOBXZwRb2Hy(lFK>8HmHKUplx2x zBG2wD75xI)oJIt~?Dm2ae{`{6P|H;4?_d8|8opN%UD>`T%I?l+1++k^3M{|xa%Wt-L{q+7NHiHm1o6Rbd?I%qhxm-_#YEZ zB|dVl7oopS5T>$P)b*d79CskukYW}hE$ruWT0jx69SEK*Flru@p9l*_{^McvQ2$8Z zL@O5bc>MwqcBuqM`j}lfeF&R&Eht|sUpZJxJe?t5D0W$RmtbWkal=0`&N|z)yX&4d zv(6i^OQGdh>vd~bt8`x`nU~AIT!U-hv?1;s%uqP@&#qul)86RC)XX9zKB~L0^in`T zKzK8H)Q2(g)4U+SqnDM9l`A=LFL^Wrr3!H=r#Zp_dqs*6(R3$IG1F?ztfoVY1ICr; zxrc%#?9lVOdV#?7P9*D4zb z)WYqz+pM%u{Z@##>&*&zG~GTs85=WXz{m;w3IPGaZ;CG%K_UTFW74LnhPM8xh-4HyzTf$W(t3N^If2OJQ$5J|_|N~X{`ixhiuDwD7(vq3 zOX0vod;Oc^j{EJ~x4-5uVi&GktW|y9W$rp=!n4?fm(D4TLrfE@`d@7Hm%U zi)^5`Q49Od(N&g$2ncAO)aUtUu;hGb?rn`IgODOO+;9Ei!;`%Rxx4H^f8{{XN~_V&veZ5wM4c(+YDoTIErZOx0!j2dw9P5b4$rRQ16tuL6{k(Tf zlKlv0^}NdBQx2CJRrlpG1)sp6&|cdv@nMh){oUvZuT|ao`;*kZ#OZ6hkZ-g#`x`DH zN7ke;(lk0hy+$)MqJMM=n#4q}HYArq?33DVX?%=XsQ##szNMgdw5NT%yD5bTAuS^` z{dU&$2Yc8!cU;E!My7U1CvMhs)wH@+(5AjLq*ewb1jvCL?@^JvUzVHe-zk#V2ms{e z3;(-WTKJo_bER!N%W!0JQDT4TZ#q8~+zU?RiE^lgllAW~cD}9Z9lG9S`#m&z#{WCC z^IJTExaCJG&VGjdZFRhFa40F7;$=jId0ZbWshiRx`3=!gQwMHr81+UHeNeFerAp#3 z^aEsp5ad`@w5lu0$gBbTX=--X>1<2Z_x@D6))!>nf;%ZDAS1fHgi1fvMoF53U2q2C z9RE)HDCXP!L@B&a;6VmHSWpfie-{K08`r;)q;Ol{eCdra9RDe~Y-{bW=e>nG?b6;M3&hvTJ z`+1(Xii$ufQlT9(G$8lT9h1k#-dS2!b`5xIU?l;rg82x69nf;ZE!*X4A6>%e!QD@* zZIsK?P|4#H$Ryz_OtV-`k7r1WB_StqsukTioKNf0l0FqqNLHsmJsqm^D1%}Xo1EUp z)ryfB66%}gWrl}2TMuq{$p&4J_Fgkz`SnryaNLQ08om^-{HXM6?#)7>N?CQh%)4Q*T<)+p=8@Meg9SMdfx&k0BG z)tfc?YOaoU!^|8pNKjs^{kxkQpDHTiVX9?HZtg9<#uI1ggh&KQzj&yGX0iYH0-uwwXXw$is}cvkdB{c`cZ$0)q8webFJa65vU+0o^wW&;hg-){P z7L|Pd`e&))6-)vx%*-#11$_Y7jw+CBtJQ++>|nSq|HwuEpWRjHK`0ndOIE7NhxpXi^1V26Q$0gu6-!~FMS)(U^T zt1~kELqmy4RXaf?%R;OlLe9crxnZ8vo5~3%a%Kr-xS4nS@YXGEc2G^gv!}<=?RMx5 z2RPK6pe*L*Y#?hm@F025#K_FhFgz+M3fX`MOb3!`8X8y3d=EJR*8^>F%SJp6WzwO;>oR9E%)6_LHBHI1sCDe z)mhvDg}!pu6CpPg;y!SrC?nx~6YVj@TSEsE!) zue5JyXlNYFYOzZSz1{gK{6m(#|3%};Gf;*We7EJ9UiCg4bRY&FnGlC+F6u?T>_g1xYnw7ne+-D-!Li)&rQwEO)qIeL66%J z)y~>j^6;=BJeu6&>V--8Ktemj#N3UdGc^ZFNiz3ILJ=jU>GgFj7?(a`Uj)YVaPS?M zj){pz;AaOeHp{#4aza@}(Nmw;c4?$vGF@DTK47U~U}E`Q!lmWPO}#dk>=0jHUq2AS zv&pwGSd!M)Q1KDenCOIeS(jhn?($%ll$6xc{;yxZP#op!|5Rdwx@~kyCNP)~c(%X5 z6f{rur!nqe!Cg<{fXKtX-!UA`Y5{L1Wl1tzfrRc={{Agjzj=knF#V;5tD61)Rg8@5!j8x-DR~N&9uIwdd_pFU7k+>KI9%O_ zPf9{^1NI45s=KT>&`ChQ2E@vWSE5cgnknE@FmM(?iLm=r7*{5wf&mLOE?r(((^iAz->5tfg zd%Py0?Zp~j;6JABrUoyzQ?t}&aL<}>pfRbAVuM0YGL_*rV6EQIW#u>>j@z6$i z%F(D07yY*RZoorJb}6vyREE|2ERTta>c_Xq&CpD|lIwnCxD9p(-LTe_*a-b-X`JUa z{4v>AqPXsH1W`zx_dnU32QICggdDM22iEsRvR+8HHTyCj*!85Or1wr|6IjG3lDpe> z7W)hsn7hIDV*V`HW^1LPyXVfVV@{b)CBW#S-Ddss(*&aXeYlqj(gY|`Q&Vg?d%nJk z3B4KRgZR0plBi++{`b?Kss;wvp7x~RV*B%SQlxy6Ab*ou(r^?GwC)W@OLvMJ&pb8L zq`LETa&Ttdu$}9FjDQ=O8DuP};40&7M=$%TosXbyHd zoK1K&_IfbyI2D^0clDXP!8P9`!t>(#y<+;ip$seei9Q+0`{RCX?|# zxd&Q(Hk|t%F{5xh?-LXVEWMd}#B&OR1vzO=OTxZbl|!gI&A z(o+WX1INvqrB5*A9#bu0g~rvf|2_YEy-N^6Y{htMz_FWwAuI8o6C2EakA@-CCgLF@ z>t2tBljAW&Bd+Ge^#PpQ>tM*~U&R=_co$Q0vYz%*>TPwqx|6nmmc)6su)Sl|ZP}x5 z66ZrMYN-FC1q!vV0W#iMoj%K({r0k4PhI|!@zdR6D)0q^am*U>bW^<(AksLFLbrfS z*6pK?O6QU`S()=}8hmt&f^K}*XBL{d%|?Bfj}HyYh8zINK096a!`}d$CHV;k?Nr?{ zQ^6y{tCf|h{N|(8vz|Gs8Kxch1E?GB=lxc;Ss z1NZQVh=GKKNNE>k6-8UuuiGXOpvsf%uW#(_-MsfWOdfp2>DASuzhRjKFB(${psHBV zuK!l5_m+yi2qQ296A%(QL7fY}Bm97Y2tf%6bWjPxmF69*{aFz~Pw$S_T1&Zewvl87 z3uh77O!797hlVzxuTsklXU{q<`{$qbhLt{?oz=dCA5+da7o8E!mqOe;#92OGR;tXI zBDwt5mU`{WkbTe_&ztKFnVIre8m};m$1N<_mK!hQDkv!xgb@M08jBR1ls`wisz=q= z(4PN}d0{%dv+`eAg7UC0n?6D`8A$pB1qFvgqjUQN-M<`{QX)UqQ>Ji1&v=uquq7la zC(^-CbOFiEqYP)FAD4llZ0c82pz(Xh|3C;^z<`3S*Eb6xXPyG7tGYdDci~SsX~!7V zv4T=*%7VhSRX5y}p!pD1-|tp}F)1nPkT8A})vgOx&;ux)+asm{Q{#iVPI4GOCz3ma)tIj9+R5>jsiR8faQULgyA(P>To)~Vvhap zzcleEG+HmRr8x|VVB2bH8xTa5{BExj_$=nW5It-&`r-G1xGV}0Nc5_CO1frt*llf; zJM5XO>&2d&8tP)7!)hv>oa95iW;FikIsjY8)<3{Q$39UcA2>^6FX*9?F^*z82) zOxPwO*32(oqQUKxI^EHMf_!&~gC3XLy?5!A+;8_e+Hvv_A>iFEiNu;a;V5-?qMp8x z{j<^j)vh$4M=Rtd$*&=y`i-tMMcV^qnZ;v7-*()*R>qon|oEVvbmp zp@`E|iwMj2^V5m*>YZkX!f#s_3o|U0a`L(J!^MJiPW&-C3ND6VkA^lv=jgQ;W3+(Uz zdl541?5}Cb`QQ`2d4qG6hEC`nTfjin=$+c)f0bQ5gnBQVtSx|Cd8tVYmUoe-iLD^x2|m42z};w zH$TqWm9Y{}gqnj3FN}Qe6}z%x zpYv5lHnWBPy1qmznsS`%R^JLiNYDd|uN%+JI9qm~Pc%Jx%wuQbg{khez|@&x(9Aj* z%L|g;M~~!nbg03N&CJfupVq}evmodAwl!@DbL%OM^$GHGM&mzf=;_73TOg(Yn%{^K ziH&`_REl(RS;8!{_TJvyz5URp+|=yiVsuT7I7CEHa*ZY%bWJ zE5}?JFPNU;cfieo%dVnC5%{^>9WBnEVx15JElS8sO^O&HzE2EYVXAhjf?|(X4jcW^ z#|wW;T8$rtcH1-?$12Gcy?ip7Tq*_`08&7ps`F zp1CFL5wr}B5Scl!2FS@CWLJbyV&);nn5#==6LoPGV$GVX?DzRKZab7%)86P9!|m%a#Ld{bgc=qM@EJ>}DX z(zz{Q??bX-OoUL&3k2ZXHAark9wOITW&k}ek^l`@}>Vx^1z# z^Yo6MidWy(y$?^OVIOom1GlrkO?7HuD=yQ|uU|!Zqim|j+4o*c$VIW}kEqGsW3|m0 zN2u}FK^`m?G8qbH(K#PPBvJ>@HWBGN6k#nv7ysZzazlZk0!fr^_YAz2{7zMf8^mAC z=RI>Lu!LP#@44%|r7EG&a6n2!!VG@GPT*|AxyYa;AUTC*F~S__GY>jrBsr z&t}4#4@6(!C5JICu+>lsjY-Cdd8jgu(%iS&G~fIs7f?^19}>>_OK!DEO*~-_J1$%4 zVj~?@>7hSQ=W~@E%rK=(sPU0pEZm}Hm|X#e7{BUuW`O} zI9orR*w@xieNiboFa?;{){A`;Z0j{p-eBqmz7{to@dToiz%CbWPb)UnHPyDzw zK1TPaJdf4psxdRD2KR9f(SJP!Wo2dhQj6MhveDk2ZVWh{g|2Hiuafy}#H${QXBPg(W3w+uPgfx&xOL77iAOV{EUM8(tZEIV4f#>rQ-Z&A5ks$CZ9_#1Gd! zdE9T-HgIMZZK2HCV9$SU?QyMVhNE!S+ItI&i*vm*55M?8AvNnE>0YX&T-T1@Cn+(p zCK-wGNfa~3Sn)q1A|jmOkB%KyRQdU`@z%wB|Hc+-dQ`JwkCCUVIyyR!4GoG+~K^_01nyuenBnIwEOP*Jo|H4eMid|5g`mDhzW)8SWZ6ICO@z5XoSqa;*dx(L^d7RQ}WV9GQra zNaUKQ83$F<+}uq?B_+gL#p)9Lxp|v^C?@|`Yw1Jw>)V1F)ZCnJ6zl!nCD1lyB=e(9 zC?*8kRkov}%meF_6SLZnzUg;s8ol!)zkU^%a7uk}eQcs}Fxo57X*`;^ek}!uANM(~ z*H06L&i!(R~)2CI;1{(h~Ia z^@p(7>sAJe<%X?0JHq(`w=KWYlQniYeAB*oTY zLM0}(mhz6Ojs;chDUVX$;QWxP(&OIx)XlB(X?Tt? zpW67E=(vb*+W7%5`?R)m{T>Tfg1z9a*~RmlRSXhi?h-RWkDRQZ%!m^)5 zj^4F0SQB8~MFTVK{XXHfG-;E;#NuTfl#BRV^_zVbp-CN9(V97n#tSuPdTY44y4uDD zl>0`?F?CuG@%*t%oB4T_5!tiuTCKXbX%xj|zO_x?BQG5)e3bX-vGDMo?dMgTNCB&| zA(=bxraJM|xVhT}uEB1>IVuj$^}K3KE{h_-yKj2~frlm4mS*E1Sa2q3y_zC(o$?@~ zNHUgT_Y%Xd;=~ktmA7nP&~-{;0$<|aB>bQ7sE7&hnzA-nx59l?SKi Date: Thu, 21 Nov 2013 18:37:23 -0600 Subject: [PATCH 49/70] Admin request: Added admin logging to Detomatix cartridge explosions instead of just admin_messages. --- code/game/objects/items/devices/PDA/PDA.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index f8aebace5b..29db96bdf2 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -715,9 +715,11 @@ var/global/list/obj/item/device/pda/PDAs = list() U.show_message("\red Energy feeds back into your [src]!", 1) U << browse(null, "window=pda") explode() + log_admin("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up") message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1) else U.show_message("\blue Success!", 1) + log_admin("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge and succeded") message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge and succeded", 1) P.explode() else From 983ca2d5e3d37519285207590283b2f36db8f99c Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Thu, 21 Nov 2013 17:44:31 -0800 Subject: [PATCH 50/70] Fix for reported issue with the transfer_controller causing a runtime error. Also included is a debug controller for the transfer_controller --- code/controllers/autotransfer.dm | 14 +++++++++----- code/controllers/master_controller.dm | 5 ++++- code/controllers/verbs.dm | 5 ++++- code/controllers/voting.dm | 6 +++++- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/code/controllers/autotransfer.dm b/code/controllers/autotransfer.dm index c69290c7bd..f1240a1fae 100644 --- a/code/controllers/autotransfer.dm +++ b/code/controllers/autotransfer.dm @@ -1,13 +1,17 @@ -var/datum/controller/transfer_controller = new /transfer_controller() -var/timerbuffer = 0 //buffer for time check -/transfer_controller/New() +var/datum/controller/transfer_controller/transfer_controller + +datum/controller/transfer_controller + var/timerbuffer = 0 //buffer for time check + var/currenttick = 0 +datum/controller/transfer_controller/New() timerbuffer = config.vote_autotransfer_initial processing_objects += src -/transfer_controller/Del() +datum/controller/transfer_controller/Del() processing_objects -= src -/transfer_controller/proc/process() +datum/controller/transfer_controller/proc/process() + currenttick = currenttick + 1 if (world.time >= timerbuffer - 600) vote.autotransfer() timerbuffer = timerbuffer + config.vote_autotransfer_interval \ No newline at end of file diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index d3ddef9f37..5e7d308a9e 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -67,6 +67,8 @@ datum/controller/game_controller/proc/setup() setupfactions() setup_economy() + transfer_controller = new + for(var/i=0, i Date: Thu, 21 Nov 2013 22:25:51 -0500 Subject: [PATCH 51/70] Applies language list to cloned mob. --- code/game/machinery/cloning.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 406e5aab98..e66c7feb44 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -116,7 +116,7 @@ //Clonepod //Start growing a human clone in the pod! -/obj/machinery/clonepod/proc/growclone(var/ckey, var/clonename, var/ui, var/se, var/mindref, var/datum/species/mrace) +/obj/machinery/clonepod/proc/growclone(var/ckey, var/clonename, var/ui, var/se, var/mindref, var/datum/species/mrace, var/languages) if(mess || attempting) return 0 var/datum/mind/clonemind = locate(mindref) @@ -195,7 +195,8 @@ H.h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3") H.species = mrace - H.add_language(mrace.language) + for(var/datum/language/L in languages) + H.add_language(L.name) H.update_mutantrace() H.suiciding = 0 src.attempting = 0 @@ -437,4 +438,4 @@ /* EMP grenade/spell effect if(istype(A, /obj/machinery/clonepod)) A:malfunction() -*/ \ No newline at end of file +*/ From 56a066ecfb387324d7a2af5e9fd1c2f275814a84 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 21 Nov 2013 21:35:23 -0600 Subject: [PATCH 52/70] Bugfix(3937) Blindfolds cause permenent blindness Removed BLIND vision flag from the object as that is already handled in mob/living/carbon/human/life.dm Resolves #3937 --- code/modules/clothing/glasses/glasses.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index be7a028f2a..607dd9d808 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -128,7 +128,7 @@ desc = "Covers the eyes, preventing sight." icon_state = "blindfold" item_state = "blindfold" - vision_flags = BLIND + //vision_flags = BLIND // This flag is only supposed to be used if it causes permanent blindness, not temporary because of glasses /obj/item/clothing/glasses/sunglasses/prescription name = "prescription sunglasses" @@ -193,4 +193,4 @@ name = "Optical Thermal Implants" desc = "A set of implantable lenses designed to augment your vision" icon_state = "thermalimplants" - item_state = "syringe_kit" \ No newline at end of file + item_state = "syringe_kit" From b2ca9f9ccb50f9d01fca3b391818b859faedd878 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 22 Nov 2013 22:51:55 +1030 Subject: [PATCH 53/70] Added icon_override var to obj/item. When worn, items with icon_override set will use this DMI instead of the hardcoded clothing DMI to determine on-mob sprite. --- code/game/objects/items.dm | 1 + .../mob/living/carbon/human/update_icons.dm | 22 +++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6c38442fec..16e5ef3a9a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -38,6 +38,7 @@ var/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/list/allowed = null //suit storage stuff. var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. + var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc. /obj/item/device icon = 'icons/obj/device.dmi' diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index ebca69ecca..15b96ec4a8 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -467,7 +467,7 @@ proc/get_damage_icon_part(damage_state, body_part) if(!t_color) t_color = icon_state var/image/standing = image("icon_state" = "[t_color]_s") - standing.icon = 'icons/mob/uniform.dmi' + standing.icon = ((w_uniform.icon_override) ? w_uniform.icon_override : 'icons/mob/uniform.dmi') if(w_uniform.blood_DNA) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "uniformblood") @@ -508,7 +508,7 @@ proc/get_damage_icon_part(damage_state, body_part) if(gloves) var/t_state = gloves.item_state if(!t_state) t_state = gloves.icon_state - var/image/standing = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]") + var/image/standing = image("icon" = ((gloves.icon_override) ? gloves.icon_override : 'icons/mob/hands.dmi'), "icon_state" = "[t_state]") if(gloves.blood_DNA) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands") gloves.screen_loc = ui_gloves @@ -523,7 +523,7 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_glasses(var/update_icons=1) if(glasses) - overlays_standing[GLASSES_LAYER] = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]") + overlays_standing[GLASSES_LAYER] = image("icon" = ((glasses.icon_override) ? glasses.icon_override : 'icons/mob/eyes.dmi'), "icon_state" = "[glasses.icon_state]") else overlays_standing[GLASSES_LAYER] = null if(update_icons) update_icons() @@ -531,16 +531,16 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_ears(var/update_icons=1) if(l_ear || r_ear) if(l_ear) - overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[l_ear.icon_state]") + overlays_standing[EARS_LAYER] = image("icon" = ((l_ear.icon_override) ? l_ear.icon_override : 'icons/mob/ears.dmi'), "icon_state" = "[l_ear.icon_state]") if(r_ear) - overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[r_ear.icon_state]") + overlays_standing[EARS_LAYER] = image("icon" = ((r_ear.icon_override) ? r_ear.icon_override : 'icons/mob/ears.dmi'), "icon_state" = "[r_ear.icon_state]") else overlays_standing[EARS_LAYER] = null if(update_icons) update_icons() /mob/living/carbon/human/update_inv_shoes(var/update_icons=1) if(shoes) - var/image/standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]") + var/image/standing = image("icon" = ((shoes.icon_override) ? shoes.icon_override : 'icons/mob/feet.dmi'), "icon_state" = "[shoes.icon_state]") if(shoes.blood_DNA) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "shoeblood") overlays_standing[SHOES_LAYER] = standing @@ -566,7 +566,7 @@ proc/get_damage_icon_part(damage_state, body_part) if(istype(head,/obj/item/clothing/head/kitty)) standing = image("icon" = head:mob) else - standing = image("icon" = 'icons/mob/head.dmi', "icon_state" = "[head.icon_state]") + standing = image("icon" = ((head.icon_override) ? head.icon_override : 'icons/mob/head.dmi'), "icon_state" = "[head.icon_state]") if(head.blood_DNA) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood") overlays_standing[HEAD_LAYER] = standing @@ -579,7 +579,7 @@ proc/get_damage_icon_part(damage_state, body_part) belt.screen_loc = ui_belt //TODO var/t_state = belt.item_state if(!t_state) t_state = belt.icon_state - overlays_standing[BELT_LAYER] = image("icon" = 'icons/mob/belt.dmi', "icon_state" = "[t_state]") + overlays_standing[BELT_LAYER] = image("icon" = ((belt.icon_override) ? belt.icon_override : 'icons/mob/belt.dmi'), "icon_state" = "[t_state]") else overlays_standing[BELT_LAYER] = null if(update_icons) update_icons() @@ -588,7 +588,7 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_wear_suit(var/update_icons=1) if( wear_suit && istype(wear_suit, /obj/item/clothing/suit) ) //TODO check this wear_suit.screen_loc = ui_oclothing //TODO - var/image/standing = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]") + var/image/standing = image("icon" = ((wear_suit.icon_override) ? wear_suit.icon_override : 'icons/mob/suit.dmi'), "icon_state" = "[wear_suit.icon_state]") if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) ) drop_from_inventory(handcuffed) @@ -619,7 +619,7 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_wear_mask(var/update_icons=1) if( wear_mask && ( istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/tie) ) ) wear_mask.screen_loc = ui_mask //TODO - var/image/standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]") + var/image/standing = image("icon" = ((wear_mask.icon_override) ? wear_mask.icon_override : 'icons/mob/mask.dmi'), "icon_state" = "[wear_mask.icon_state]") if( !istype(wear_mask, /obj/item/clothing/mask/cigarette) && wear_mask.blood_DNA ) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "maskblood") overlays_standing[FACEMASK_LAYER] = standing @@ -631,7 +631,7 @@ proc/get_damage_icon_part(damage_state, body_part) /mob/living/carbon/human/update_inv_back(var/update_icons=1) if(back) back.screen_loc = ui_back //TODO - overlays_standing[BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]") + overlays_standing[BACK_LAYER] = image("icon" = ((back.icon_override) ? back.icon_override : 'icons/mob/back.dmi'), "icon_state" = "[back.icon_state]") else overlays_standing[BACK_LAYER] = null if(update_icons) update_icons() From f11b964f6c79b9fe266fa48d7f1964c86ded8823 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 22 Nov 2013 23:10:06 +1030 Subject: [PATCH 54/70] Fixes #3921 --- code/modules/clothing/clothing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 3c76e6753d..3e40aeb5d5 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -22,7 +22,7 @@ if(H.species.name in species_restricted) wearable = 1 - if(!wearable) + if(!wearable && (slot != 15 && slot != 16)) //Pockets. M << "\red Your species cannot wear [src]." return 0 From ddabdf90f21622caaa8c5391be267397de5ec269 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 22 Nov 2013 23:17:57 +1030 Subject: [PATCH 55/70] Fixes #3842 --- code/game/gamemodes/nuclear/nuclearbomb.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 7480555d69..5d770346d5 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -119,6 +119,11 @@ var/bomb_set /obj/machinery/nuclearbomb/attack_hand(mob/user as mob) if (src.extended) + + if (!ishuman(user)) + usr << "\red You don't have the dexterity to do this!" + return 1 + user.set_machine(src) var/dat = text("Nuclear Fission Explosive
\nAuth. Disk:
[]


", src, (src.auth ? "++++++++++" : "----------")) if (src.auth) @@ -155,6 +160,12 @@ var/bomb_set set name = "Make Deployable" set src in oview(1) + if (!usr.canmove || usr.stat || usr.restrained()) + return + if (!ishuman(usr)) + usr << "\red You don't have the dexterity to do this!" + return 1 + if (src.deployable) usr << "\red You close several panels to make [src] undeployable." src.deployable = 0 From f26f64efad6645e8561c0fa1ac1d2df961dacacf Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 22 Nov 2013 23:47:23 +1030 Subject: [PATCH 56/70] Fixes #3643 --- code/game/mecha/equipment/tools/tools.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index fd34b65baa..73c7f5bd84 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -439,8 +439,18 @@ var/atom/movable/locked var/mode = 1 //1 - gravsling 2 - gravpush + var/last_fired = 0 //Concept stolen from guns. + var/fire_delay = 10 //Used to prevent spam-brute against humans. action(atom/movable/target) + + if(world.time >= last_fired + fire_delay) + last_fired = world.time + else + if (world.time % 3) + occupant_message("[src] is not ready to fire again!") + return 0 + switch(mode) if(1) if(!action_checks(target) && !locked) return From c8c8e9d078fb1ff6ba496629a0e58524e9a80138 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 00:39:00 +1030 Subject: [PATCH 57/70] Removing species restriction on ninja gear. --- code/modules/clothing/clothing.dm | 2 +- code/modules/clothing/gloves/ninja.dm | 1 + code/modules/clothing/spacesuits/ninja.dm | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 3c76e6753d..4a34b69580 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -22,7 +22,7 @@ if(H.species.name in species_restricted) wearable = 1 - if(!wearable) + if(!wearable || (slot != slot_l_store && slot != slot_r_store)) M << "\red Your species cannot wear [src]." return 0 diff --git a/code/modules/clothing/gloves/ninja.dm b/code/modules/clothing/gloves/ninja.dm index 15e7c40c3b..a3cb36e8b6 100644 --- a/code/modules/clothing/gloves/ninja.dm +++ b/code/modules/clothing/gloves/ninja.dm @@ -19,6 +19,7 @@ var/candrain = 0 var/mindrain = 200 var/maxdrain = 400 + species_restricted = null /* This runs the gamut of what ninja gloves can do diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index 8f49738fbf..9e071cae01 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -6,7 +6,7 @@ allowed = list(/obj/item/weapon/cell) armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25) siemens_coefficient = 0.2 - + species_restricted = null /obj/item/clothing/suit/space/space_ninja name = "ninja suit" @@ -17,6 +17,7 @@ slowdown = 0 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0.2 + species_restricted = null //Workaround for spawning alien ninja without internals. //Important parts of the suit. var/mob/living/carbon/affecting = null//The wearer. From 47611da2c7b04ad01cdb091177fbd8fac5de2ce8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 00:39:20 +1030 Subject: [PATCH 58/70] Reenabling ninja mode. --- baystation12.dme | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index eda42d4746..07e150f75f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -223,6 +223,7 @@ #include "code\game\gamemodes\malfunction\malfunction.dm" #include "code\game\gamemodes\meteor\meteor.dm" #include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\ninja\ninja.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" #include "code\game\gamemodes\nuclear\nuclearbomb.dm" #include "code\game\gamemodes\nuclear\pinpointer.dm" @@ -763,10 +764,10 @@ #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\destilery\main.dm" -#include "code\modules\detectivework\detective_work.dm" -#include "code\modules\detectivework\evidence.dm" -#include "code\modules\detectivework\footprints_and_rag.dm" -#include "code\modules\detectivework\scanner.dm" +#include "code\modules\DetectiveWork\detective_work.dm" +#include "code\modules\DetectiveWork\evidence.dm" +#include "code\modules\DetectiveWork\footprints_and_rag.dm" +#include "code\modules\DetectiveWork\scanner.dm" #include "code\modules\economy\Accounts.dm" #include "code\modules\economy\Accounts_DB.dm" #include "code\modules\economy\ATM.dm" From bf44db3393634a5ae575811609b073853ac2f071 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 00:39:43 +1030 Subject: [PATCH 59/70] Due to total absence of ninja spawn points, using carpspawn directly. --- code/game/gamemodes/ninja/ninja.dm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/code/game/gamemodes/ninja/ninja.dm b/code/game/gamemodes/ninja/ninja.dm index 8dd3c45e19..77bba5ea38 100644 --- a/code/game/gamemodes/ninja/ninja.dm +++ b/code/game/gamemodes/ninja/ninja.dm @@ -3,8 +3,8 @@ /datum/game_mode/ninja name = "ninja" config_tag = "ninja" - required_players = 10 //Can be adjusted later, should suffice for now. - required_players_secret = 10 + required_players = 1 //Can be adjusted later, should suffice for now. + required_players_secret = 1 required_enemies = 1 recommended_enemies = 1 var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) @@ -26,18 +26,22 @@ ninja.assigned_role = "MODE" //So they aren't chosen for other jobs. ninja.special_role = "Ninja" ninja.original = ninja.current - if(ninjastart.len == 0) + + /*if(ninjastart.len == 0) ninja.current << "\red A proper starting location for you could not be found, please report this bug!" - ninja.current << "\red Attempting to place at a carpspawn." - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "carpspawn") - ninjastart.Add(L) - if(ninjastart.len == 0 && latejoin.len > 0) - ninja.current << "\red Still no spawneable locations could be found. Defaulting to latejoin." - return 1 - else if (ninjastart.len == 0) - ninja.current << "\red Still no spawneable locations could be found. Aborting." - return 0 + ninja.current << "\red Attempting to place at a carpspawn."*/ + + //Until such a time as people want to place ninja spawn points, carpspawn will do fine. + for(var/obj/effect/landmark/L in landmarks_list) + if(L.name == "carpspawn") + ninjastart.Add(L) + if(ninjastart.len == 0 && latejoin.len > 0) + ninja.current << "\red No spawneable locations could be found. Defaulting to latejoin." + return 1 + else if (ninjastart.len == 0) + ninja.current << "\red No spawneable locations could be found. Aborting." + return 0 + return 1 /datum/game_mode/ninja/pre_setup() From 507d4feb66bb385d5b58b1add2f50d51b9b96a28 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 00:41:25 +1030 Subject: [PATCH 60/70] Reverting a half-fix that was put into master instead. --- code/modules/clothing/clothing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 4a34b69580..3c76e6753d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -22,7 +22,7 @@ if(H.species.name in species_restricted) wearable = 1 - if(!wearable || (slot != slot_l_store && slot != slot_r_store)) + if(!wearable) M << "\red Your species cannot wear [src]." return 0 From ee6a69e35d34bba59cc37cf17fcb35c9290934bc Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 00:57:40 +1030 Subject: [PATCH 61/70] Fixes #3248 --- code/game/gamemodes/ninja/ninja.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/ninja/ninja.dm b/code/game/gamemodes/ninja/ninja.dm index 77bba5ea38..026253a73b 100644 --- a/code/game/gamemodes/ninja/ninja.dm +++ b/code/game/gamemodes/ninja/ninja.dm @@ -3,8 +3,8 @@ /datum/game_mode/ninja name = "ninja" config_tag = "ninja" - required_players = 1 //Can be adjusted later, should suffice for now. - required_players_secret = 1 + required_players = 10 //Can be adjusted later, should suffice for now. + required_players_secret = 10 required_enemies = 1 recommended_enemies = 1 var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) @@ -54,7 +54,7 @@ /datum/game_mode/ninja/post_setup() for(var/datum/mind/ninja in ninjas) if(ninja.current && !(istype(ninja.current,/mob/living/carbon/human))) return 0 - //forge_ninja_objectives(ninja) + forge_ninja_objectives(ninja) var/mob/living/carbon/human/N = ninja.current N.internal = N.s_store N.internals.icon_state = "internal1" @@ -82,7 +82,8 @@ return 1 /datum/game_mode/ninja/proc/forge_ninja_objectives(var/datum/mind/ninja) - var/objective_list[] = list(1,2,3,4,5) + + var/objective_list = list(1,2,3,4,5) for(var/i=rand(2,4),i>0,i--) switch(pick(objective_list)) if(1)//Kill From bcbf02e8096451b05de6d9539dcc9c9906943dc4 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 22 Nov 2013 18:36:20 -0600 Subject: [PATCH 62/70] Changed admin message to use the proc that formats for easy Admin-PM of the baddie. Thanks Kilakk for pointing it out. --- code/game/objects/items/devices/PDA/PDA.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 29db96bdf2..9123617f2a 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -715,12 +715,12 @@ var/global/list/obj/item/device/pda/PDAs = list() U.show_message("\red Energy feeds back into your [src]!", 1) U << browse(null, "window=pda") explode() - log_admin("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up") - message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1) + log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up") + message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1) else U.show_message("\blue Success!", 1) - log_admin("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge and succeded") - message_admins("[U] ([U.key]) just attempted to blow up [P] with the Detomatix cartridge and succeded", 1) + log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded") + message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded", 1) P.explode() else U << "PDA not found." From 3eb8d1c2b9cda319b16397961cf464d6ae946449 Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Fri, 22 Nov 2013 20:09:24 -0500 Subject: [PATCH 63/70] - lots of debugging - modifying how runes are called to use reflection - adding highlander code to make sure that there can only be one mask - adding Spread Shadows spell - adding cult admin investigation log - adding mask icon --- baystation12.dme | 1 + baystation12.int | 4 +- code/datums/mind.dm | 21 +- code/game/gamemodes/cult/cult.dm | 37 +--- code/game/gamemodes/cult/ritual.dm | 226 ++++++++++------------ code/game/gamemodes/cult/runes.dm | 22 ++- code/modules/admin/admin_investigate.dm | 38 ++-- code/modules/mob/mob.dm | 11 +- code/modules/mob/new_player/new_player.dm | 4 +- code/modules/mob/spirit/mask/mask.dm | 109 ++++++++--- code/modules/mob/spirit/mask/respawn.dm | 20 ++ code/modules/mob/spirit/movement.dm | 2 + code/modules/mob/spirit/viewpoint.dm | 7 + code/modules/mob/transform_procs.dm | 72 +++---- icons/mob/spirits/mask.dmi | Bin 0 -> 972 bytes 15 files changed, 307 insertions(+), 267 deletions(-) create mode 100644 code/modules/mob/spirit/mask/respawn.dm create mode 100644 icons/mob/spirits/mask.dmi diff --git a/baystation12.dme b/baystation12.dme index f64b9f8e6b..b8631a47eb 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1031,6 +1031,7 @@ #include "code\modules\mob\spirit\spirit.dm" #include "code\modules\mob\spirit\viewpoint.dm" #include "code\modules\mob\spirit\mask\mask.dm" +#include "code\modules\mob\spirit\mask\respawn.dm" #include "code\modules\nano\_JSON.dm" #include "code\modules\nano\JSON Reader.dm" #include "code\modules\nano\JSON Writer.dm" diff --git a/baystation12.int b/baystation12.int index aefda4d8d7..ac308bf822 100644 --- a/baystation12.int +++ b/baystation12.int @@ -2,8 +2,8 @@ /* MAP_ICON_TYPE: 0 LAST_COMPILE_VERSION: 501.1217 -DIR: code code\datums code\datums\visibility_networks code\defines\obj code\game code\game\gamemodes code\game\gamemodes\cult code\game\gamemodes\malfunction code\game\machinery code\game\machinery\camera code\modules code\modules\admin code\modules\mob code\modules\mob\living code\modules\mob\living\carbon code\modules\mob\living\carbon\human -LAST_COMPILE_TIME: 1384721250 +DIR: code code\_onclick code\datums code\datums\visibility_networks code\defines\obj code\game code\game\gamemodes code\game\gamemodes\blob code\game\gamemodes\blob\blobs code\game\gamemodes\cult code\game\gamemodes\events code\game\gamemodes\malfunction code\modules code\modules\mob code\modules\mob\dead code\modules\mob\dead\observer code\modules\mob\spirit code\modules\mob\spirit\mask icons icons\mob icons\mob\spirits +LAST_COMPILE_TIME: 1385167549 AUTO_FILE_DIR: OFF */ // END_INTERNALS diff --git a/code/datums/mind.dm b/code/datums/mind.dm index d41a521ac3..01f68d3ac0 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -578,14 +578,7 @@ datum/mind switch(href_list["cult"]) if("clear") if(src in ticker.mode.cult) - ticker.mode.cult -= src - ticker.mode.update_cult_icons_removed(src) - special_role = null - var/datum/game_mode/cult/cult = ticker.mode - if (istype(cult)) - cult.memoize_cult_objectives(src) - current << "\red You have been brainwashed! You are no longer a cultist!" - memory = "" + ticker.mode.remove_cultist(src) log_admin("[key_name_admin(usr)] has de-cult'ed [current].") if("cultist") if(!(src in ticker.mode.cult)) @@ -593,18 +586,6 @@ datum/mind special_role = "Cultist" current << "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie." current << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - /* - ticker.mode.cult += src - ticker.mode.update_cult_icons_added(src) - special_role = "Cultist" - current << "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie." - current << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - var/datum/game_mode/cult/cult = ticker.mode - if (istype(cult)) - cult.memoize_cult_objectives(src) - var/obj/cult_viewpoint/viewpoint = new(current) - viewpoint.loc = current - */ log_admin("[key_name_admin(usr)] has cult'ed [current].") if("tome") var/mob/living/carbon/human/H = current diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 401644c631..26d984641f 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -8,6 +8,7 @@ /proc/iscultist(mob/living/M as mob) return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.cult) + /proc/is_convertable_to_cult(datum/mind/mind) if(!istype(mind)) return 0 if(istype(mind.current, /mob/living/carbon/human) && (mind.assigned_role in list("Captain", "Chaplain"))) return 0 @@ -133,7 +134,6 @@ mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself." mob.mutations.Remove(CLUMSY) - var/obj/cult_viewpoint/viewpoint = new(mob) viewpoint.loc = mob world << "Spawning viewpoint on [mob]" @@ -205,7 +205,7 @@ for(var/mob/M in viewers(cult_mind.current)) M << "[cult_mind.current] looks like they just reverted to their old faith!" - + /datum/game_mode/proc/update_all_cult_icons() spawn(0) // reset the cult @@ -322,35 +322,6 @@ for(var/mob/spirit/currentSpirit in spirits) remove_cult_icon_from_spirit(currentSpirit,cult_mind) -/* -/datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) - spawn(0) - for(var/datum/mind/cultist in cult) - if(cultist.current) - if(cultist.current.client) - var/I = image('icons/mob/mob.dmi', loc = cult_mind.current, icon_state = "cult") - cultist.current.client.images += I - if(cult_mind.current) - if(cult_mind.current.client) - var/image/J = image('icons/mob/mob.dmi', loc = cultist.current, icon_state = "cult") - cult_mind.current.client.images += J - - -/datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) - spawn(0) - for(var/datum/mind/cultist in cult) - if(cultist.current) - if(cultist.current.client) - for(var/image/I in cultist.current.client.images) - if(I.icon_state == "cult" && I.loc == cult_mind.current) - del(I) - - if(cult_mind.current) - if(cult_mind.current.client) - for(var/image/I in cult_mind.current.client.images) - if(I.icon_state == "cult") - del(I) -*/ /datum/game_mode/cult/proc/get_unconvertables() var/list/ucs = list() @@ -386,6 +357,10 @@ return 1 +/atom/proc/cult_log(var/message) + investigate_log(message, "cult") + + /datum/game_mode/cult/declare_completion() if(!check_cult_victory()) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 69bd5cc42b..0686a1842b 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -1,6 +1,7 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 var/cultwords = list() +var/rune_to_english = list() var/runedec = 0 var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", "self", "see", "other", "hide") @@ -16,9 +17,12 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", /proc/runerandom() //randomizes word meaning var/list/runewords=list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri") ///"orkan" and "allaq" removed. for (var/word in engwords) - cultwords[word] = pick(runewords) + var/runeword = pick(runewords) + cultwords[word] = runeword + rune_to_english[runeword] = word runewords-=cultwords[word] + /obj/effect/rune desc = "" anchored = 1 @@ -29,7 +33,6 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", unacidable = 1 layer = TURF_LAYER - var/word1 var/word2 var/word3 @@ -62,129 +65,110 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", // self other technology - Communication rune //was other hear blood // join hide technology - stun rune. Rune color: bright pink. - New() - ..() - var/image/blood = image(loc = src) - blood.override = 1 - for(var/mob/living/silicon/ai/AI in player_list) - AI.client.images += blood - cultNetwork.viewpoints+=src - cultNetwork.addViewpoint(src) + +/obj/effect/rune/New() + ..() + var/image/blood = image(loc = src) + blood.override = 1 + for(var/mob/living/silicon/ai/AI in player_list) + AI.client.images += blood + cultNetwork.viewpoints+=src + cultNetwork.addViewpoint(src) + +/obj/effect/rune/Del() + ..() + cultNetwork.viewpoints-=src + cultNetwork.removeViewpoint(src) + +/obj/effect/rune/examine() + set src in view(2) + + if(!iscultist(usr) && !isSpirit(usr)) + usr << "A strange collection of symbols drawn in blood." + return + if(!desc) + usr << "A spell circle drawn in blood. It reads: [word1] [word2] [word3]." + else + usr << "Explosive Runes inscription in blood. It reads: [desc]." + + return + + +/obj/effect/rune/attackby(I as obj, user as mob) + if(istype(I, /obj/item/weapon/tome) && iscultist(user)) + user << "You retrace your steps, carefully undoing the lines of the rune." + del(src) + return + else if(istype(I, /obj/item/weapon/nullrod)) + user << "\blue You disrupt the vile magic with the deadening field of the null rod!" + del(src) + return + return + + +/obj/effect/rune/proc/get_word_string() + if (word1 == cultwords["travel"]) + if (word2 == cultwords["self"]) + return "teleport" + if (word2 == cultwords["other"]) + return "itemport" + return "[rune_to_english[word1]]_[rune_to_english[word2]]_[rune_to_english[word3]]" + + +/obj/effect/rune + var/list/effect_dictionary = list( "teleport"=/obj/effect/rune/proc/teleportRune, + "itemport"=/obj/effect/rune/proc/itemportRune, + "see_blood_hell"=/obj/effect/rune/proc/tomesummon, + "hell_destroy_other"=/obj/effect/rune/proc/armor, + "join_blood_self"=/obj/effect/rune/proc/convert, + "hell_join_self"=/obj/effect/rune/proc/tearreality, + "destroy_see_technology"=/obj/effect/rune/proc/empRune, + "travel_blood_self"=/obj/effect/rune/proc/drain, + "see_hell_join"=/obj/effect/rune/proc/seer, + "blood_join_hell"=/obj/effect/rune/proc/raise, + "hide_see_blood"=/obj/effect/rune/proc/obscureRune, + "hell_travel_self"=/obj/effect/rune/proc/ajourney, + "blood_see_travel"=/obj/effect/rune/proc/manifest, + "hell_technology_join"=/obj/effect/rune/proc/talisman, + "hell_blood_join"=/obj/effect/rune/proc/sacrifice, + "blood_see_hide"=/obj/effect/rune/proc/revealrunesrune, + "destroy_travel_self"=/obj/effect/rune/proc/wall, + "travel_technology_other"=/obj/effect/rune/proc/freedom, + "join_other_self"=/obj/effect/rune/proc/cultsummon, + "hide_other_see"=/obj/effect/rune/proc/deafen, + "destroy_see_other"=/obj/effect/rune/proc/blind, + "destroy_see_blood"=/obj/effect/rune/proc/bloodboil, + "self_other_technology"=/obj/effect/rune/proc/communicate, + "join_hide_technology"=/obj/effect/rune/proc/runestun ) + +/obj/effect/rune/attack_hand(mob/living/user as mob) + if(!iscultist(user)) + user << "You can't mouth the arcane scratchings without fumbling over them." + return + if(istype(user.wear_mask, /obj/item/clothing/mask/muzzle)) + user << "You are unable to speak the words of the rune." + return + if(!word1 || !word2 || !word3 || prob(user.getBrainLoss())) + return fizzle() - Del() - ..() - cultNetwork.viewpoints-=src - cultNetwork.removeViewpoint(src) - - examine() - set src in view(2) - - if(!iscultist(usr) && !isSpirit(usr)) - usr << "A strange collection of symbols drawn in blood." - return - /* Explosions... really? - if(desc && !usr.stat) - usr << "It reads: [desc]." - sleep(30) - explosion(src.loc, 0, 2, 5, 5) - if(src) - del(src) - */ - if(!desc) - usr << "A spell circle drawn in blood. It reads: [word1] [word2] [word3]." - else - usr << "Explosive Runes inscription in blood. It reads: [desc]." - - return + var/word_string = get_word_string() + if (word_string in effect_dictionary) + cult_log("of type [effect_dictionary[word_string]] activated by [key_name_admin(user)].") + return call(src,effect_dictionary[word_string])() + return fizzle() - attackby(I as obj, user as mob) - if(istype(I, /obj/item/weapon/tome) && iscultist(user)) - user << "You retrace your steps, carefully undoing the lines of the rune." - del(src) - return - else if(istype(I, /obj/item/weapon/nullrod)) - user << "\blue You disrupt the vile magic with the deadening field of the null rod!" - del(src) - return - return +/obj/effect/rune/proc/fizzle() + if(istype(src,/obj/effect/rune)) + usr.say(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) + else + usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) + for (var/mob/V in viewers(src)) + V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2) + return - - attack_hand(mob/living/user as mob) - if(!iscultist(user)) - user << "You can't mouth the arcane scratchings without fumbling over them." - return - if(istype(user.wear_mask, /obj/item/clothing/mask/muzzle)) - user << "You are unable to speak the words of the rune." - return - if(!word1 || !word2 || !word3 || prob(user.getBrainLoss())) - return fizzle() -// if(!src.visibility) -// src.visibility=1 - if(word1 == cultwords["travel"] && word2 == cultwords["self"]) - return teleport(src.word3) - if(word1 == cultwords["see"] && word2 == cultwords["blood"] && word3 == cultwords["hell"]) - return tomesummon() - if(word1 == cultwords["hell"] && word2 == cultwords["destroy"] && word3 == cultwords["other"]) - return armor() - if(word1 == cultwords["join"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) - return convert() - if(word1 == cultwords["hell"] && word2 == cultwords["join"] && word3 == cultwords["self"]) - return tearreality() - if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["technology"]) - return emp(src.loc,3) - if(word1 == cultwords["travel"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) - return drain() - if(word1 == cultwords["see"] && word2 == cultwords["hell"] && word3 == cultwords["join"]) - return seer() - if(word1 == cultwords["blood"] && word2 == cultwords["join"] && word3 == cultwords["hell"]) - return raise() - if(word1 == cultwords["hide"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) - return obscure(4) - if(word1 == cultwords["hell"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) - return ajourney() - if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["travel"]) - return manifest() - if(word1 == cultwords["hell"] && word2 == cultwords["technology"] && word3 == cultwords["join"]) - return talisman() - if(word1 == cultwords["hell"] && word2 == cultwords["blood"] && word3 == cultwords["join"]) - return sacrifice() - if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["hide"]) - return revealrunes(src) - if(word1 == cultwords["destroy"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) - return wall() - if(word1 == cultwords["travel"] && word2 == cultwords["technology"] && word3 == cultwords["other"]) - return freedom() - if(word1 == cultwords["join"] && word2 == cultwords["other"] && word3 == cultwords["self"]) - return cultsummon() - if(word1 == cultwords["hide"] && word2 == cultwords["other"] && word3 == cultwords["see"]) - return deafen() - if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["other"]) - return blind() - if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) - return bloodboil() - if(word1 == cultwords["self"] && word2 == cultwords["other"] && word3 == cultwords["technology"]) - return communicate() - if(word1 == cultwords["travel"] && word2 == cultwords["other"]) - return itemport(src.word3) - if(word1 == cultwords["join"] && word2 == cultwords["hide"] && word3 == cultwords["technology"]) - return runestun() - else - return fizzle() - - - proc - fizzle() - if(istype(src,/obj/effect/rune)) - usr.say(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) - else - usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) - for (var/mob/V in viewers(src)) - V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2) - return - - check_icon() - icon = get_uristrune_cult(word1, word2, word3) +/obj/effect/rune/proc/check_icon() + icon = get_uristrune_cult(word1, word2, word3) /obj/item/weapon/tome name = "arcane tome" diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index d17f9022aa..e7f1e2ff26 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -2,6 +2,9 @@ var/list/sacrificed = list() /////////////////////////////////////////FIRST RUNE +/obj/effect/rune/proc/teleportRune() + return teleport(src.word3) + /obj/effect/rune/proc/teleport(var/key) var/mob/living/user = usr var/allrunesloc[] @@ -36,7 +39,8 @@ var/list/sacrificed = list() call(/obj/effect/rune/proc/fizzle)() return - +/obj/effect/rune/proc/itemportRune() + return itemport(src.word3) /obj/effect/rune/proc/itemport(var/key) // var/allrunesloc[] // allrunesloc = new/list() @@ -106,6 +110,7 @@ var/list/sacrificed = list() M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ "\red AAAAAAHHHH!.", \ "\red You hear an anguished scream.") + cult_log("[key_name_admin(usr)] tried to convert [key_name_admin(M)]") if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument ticker.mode.add_cultist(M.mind) M.mind.special_role = "Cultist" @@ -130,6 +135,7 @@ var/list/sacrificed = list() M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!") cultist_count += 1 if(cultist_count >= 9) + cult_log("THE CULT HAS SUMMONED NAR'SIE. GGNORE") new /obj/machinery/singularity/narsie/large(src.loc) if(ticker.mode.name == "cult") ticker.mode:eldergod = 0 @@ -138,7 +144,9 @@ var/list/sacrificed = list() return fizzle() /////////////////////////////////////////FIFTH RUNE - +/obj/effect/rune/proc/empRune() + emp(src.loc,3) + /obj/effect/rune/proc/emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist if(istype(src,/obj/effect/rune)) usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!") @@ -161,6 +169,7 @@ var/list/sacrificed = list() if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) for(var/mob/living/carbon/D in R.loc) if(D.stat!=2) + cult_log("[key_name_admin(usr)] has drained blood from [key_name_admin(D)]") var/bdrain = rand(1,25) D << "\red You feel weakened." D.take_overall_damage(bdrain, 0) @@ -298,6 +307,8 @@ var/list/sacrificed = list() /////////////////////////////////////////NINETH RUNE +/obj/effect/rune/proc/obscureRune() + return obscure(4) /obj/effect/rune/proc/obscure(var/rad) var/S=0 for(var/obj/effect/rune/R in orange(rad,src)) @@ -520,6 +531,9 @@ var/list/sacrificed = list() return 0 else return 0 + + // record this + cult_log("[key_name(usr,0)] says : [input]") var/obj/cult_viewpoint/vp = getCultViewpoint(usr) if (!vp) @@ -698,6 +712,9 @@ var/list/sacrificed = list() /////////////////////////////////////////SIXTEENTH RUNE +/obj/effect/rune/proc/revealrunesrune() + revealrunes(src) + /obj/effect/rune/proc/revealrunes(var/obj/W as obj) var/go=0 var/rad @@ -940,6 +957,7 @@ var/list/sacrificed = list() var/obj/item/weapon/nullrod/N = locate() in M if(N) continue + cult_log(": Blood Boil damaged [key_name_admin(M)].") M.take_overall_damage(51,51) M << "\red Your blood boils!" if(prob(5)) diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index e601f069c6..7e1e967fc5 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -22,25 +22,29 @@ F << "[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
" //ADMINVERBS -/client/proc/investigate_show( subject in list("hrefs","notes","singulo") ) +/client/proc/investigate_show( subject in list("hrefs","notes","singulo","cult") ) set name = "Investigate" set category = "Admin" if(!holder) return - switch(subject) - if("singulo") //general one-round-only stuff - var/F = investigate_subject2file(subject) - if(!F) - src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." - return - src << browse(F,"window=investigate[subject];size=800x300") - - if("hrefs") //persistant logs and stuff - if(config && config.log_hrefs) - if(href_logfile) - src << browse(href_logfile,"window=investigate[subject];size=800x300") - else - src << "Error: admin_investigate: No href logfile found." - return + + var/list/basic_subjects = list("singulo","cult") + + if(subject in basic_subjects) + var/F = investigate_subject2file(subject) + if(!F) + src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." + return + src << browse(F,"window=investigate[subject];size=800x300") + return + + + if(subject=="hrefs") //persistant logs and stuff + if(config && config.log_hrefs) + if(href_logfile) + src << browse(href_logfile,"window=investigate[subject];size=800x300") else - src << "Error: admin_investigate: Href Logging is not on." + src << "Error: admin_investigate: No href logfile found." return + else + src << "Error: admin_investigate: Href Logging is not on." + return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 8f9623565f..0d4455b578 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -333,6 +333,9 @@ var/list/slot_equipment_priority = list( \ return */ +/mob + var/newPlayerType = /mob/new_player + /mob/verb/abandon_mob() set name = "Respawn" set category = "OOC" @@ -376,14 +379,12 @@ var/list/slot_equipment_priority = list( \ log_game("[usr.key] AM failed due to disconnect.") return - var/mob/new_player/M = new /mob/new_player() + var/mob/newPlayer = new newPlayerType() if(!client) log_game("[usr.key] AM failed due to disconnect.") - del(M) + del(newPlayer) return - - M.key = key -// M.Login() //wat + newPlayer.key = key return /client/verb/changes() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 77b4dbd884..e63ea883a6 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -299,9 +299,9 @@ data_core.manifest_inject(character) ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank) - + return character else - character.Robotize() + return character.Robotize() del(src) proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank) diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm index 87bf07cd45..404cd15387 100644 --- a/code/modules/mob/spirit/mask/mask.dm +++ b/code/modules/mob/spirit/mask/mask.dm @@ -1,10 +1,12 @@ mob/spirit/mask - + icon = 'icons/mob/spirits/mask.dmi' + icon_state = "depressurized" mob/spirit/mask/New() ..() spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src) spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src) + spell_list += new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src) mob/spirit/mask/verb/go_to_follower() @@ -15,19 +17,22 @@ mob/spirit/mask/verb/go_to_follower() var/obj/cult_viewpoint/cultist = pick_cultist() if (cultist) follow_cultist(cultist.owner) + cult_log("[key_name_admin(src)] started following [key_name_admin(cultist)].") src << "You start following [cultist.get_display_name()]." -mob/spirit/mask/verb/set_specific_urge() +mob/spirit/mask/verb/urge_cultist() set category = "Mask" - set name = "Set urge on cultist" - set desc = "Set urge on target" + set name = "Urge cultist" + set desc = "Push your cultists to do something." var/obj/cult_viewpoint/cultist = pick_cultist() if (cultist) - var/newUrge = stripped_input(usr, "", "Set Urge", "") - cultist.set_urge(newUrge) - src << "You urge [cultist.owner.name] to [newUrge]." + if (cultist.owner) + var/newUrge = stripped_input(usr, "", "Set Urge", "") + cultist.set_urge(newUrge) + src << "You urge [cultist.owner.name] to [newUrge]." + cult_log("controlled by [key_name_admin(src)] has urged [key_name_admin(cultist.owner)] to [newUrge].") mob/spirit/mask/verb/set_cult_name() set category = "Mask" @@ -41,17 +46,20 @@ mob/spirit/mask/verb/set_cult_name() return cultist.set_cult_name(newName) src << "You grant [cultist.owner.name] the secret name of [newName]." + if (cultist.owner) + cult_log("[key_name_admin(src)] has set [key_name_admin(cultist.owner)] to \'[newName]\'") -mob/spirit/mask/verb/set_global_urge() +mob/spirit/mask/verb/urge_cult() set category = "Mask" - set name = "Set global urge" + set name = "Urge Cult" set desc = "Set urge on the entire cult." var/newUrge = stripped_input(usr, "Please choose an urge.", "Set Urge", "") for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) viewpoint.set_urge(newUrge) src << "You urge the entire cult to [newUrge]." + cult_log("[key_name_admin(src)] has urged the entire cult to [newUrge]") mob/spirit/mask/verb/set_favor_for_cultist() @@ -61,20 +69,27 @@ mob/spirit/mask/verb/set_favor_for_cultist() var/obj/cult_viewpoint/cultist = pick_cultist() if (cultist) - var/list/favor = list("Pleased", "Displeased", "Indifference") - var/emotion = input("Pick your emotion", "Mask", null, null) in favor - switch(emotion) - if("Pleased") - cultist.set_favor(1) - if("Displeased") - cultist.set_favor(-1) - if("Indifference") - cultist.set_favor(0) + if (cultist.owner) + var/list/favor = list("Pleased", "Displeased", "Indifference") + var/emotion = input("Pick your emotion", "Mask", null, null) in favor + switch(emotion) + if("Pleased") + cultist.set_favor(1) + cult_log("[key_name_admin(src)] is pleased with [key_name_admin(cultist.owner)]") + if("Displeased") + cultist.set_favor(-1) + cult_log("[key_name_admin(src)] is displeased with [key_name_admin(cultist.owner)]") + if("Indifference") + cultist.set_favor(0) + cult_log("[key_name_admin(src)] is indifferent too [key_name_admin(cultist.owner)]") mob/spirit/mask/proc/set_name() - var/newName = stripped_input(usr, "Please pick a name.", "Pick Name for Mask", "") - name = newName ? newName : "Mask of Nar'sie" + spawn(0) + var/newName = stripped_input(src, "Please pick a name.", "Pick Name for Mask", "") + name = newName ? newName : "Mask of Nar'sie" + src << "You have set your name to [name]." + return name mob/spirit/mask/proc/pick_cultist() @@ -86,13 +101,26 @@ mob/spirit/mask/proc/pick_cultist() return result +// this proc makes the mask visible very briefly +/mob/spirit/mask/proc/flicker() + spawn(0) + alpha = 127 + invisibility=0 + sleep(5) + invisibility=initial(invisibility) + alpha = 255 + +/proc/flicker_mask(mob/spirit/mask/target) + if(istype(target)) + target.flicker() + // SPELLS /obj/effect/proc_holder/spell/aoe_turf/blood_speech name = "Speak to your Acolytes" desc = "This spell allows you to speak to your flock." school = "unknown evil" charge_type = "recharge" - charge_max = 300 + charge_max = 2000 clothes_req = 0 invocation = "none" invocation_type = "none" @@ -102,20 +130,46 @@ mob/spirit/mask/proc/pick_cultist() var/input = stripped_input(usr, "Please choose a message to tell your acolytes.", "Voice of Blood", "") if(!input) revert_cast(usr) + cult_log("[key_name_admin(usr)]says : [input]") + flicker_mask(usr) for(var/datum/mind/H in ticker.mode.cult) if (H.current) H.current << "[usr.name]: [input]" for(var/mob/spirit/spirit in spirits) - spirit << "[usr.name]: [input]" + spirit << "[usr.name]: [input]" - + +/obj/effect/proc_holder/spell/aoe_turf/shatter_lights + name = "Spread Shadows" + desc = "This spell breaks lights near the mask." + school = "unknown evil" + charge_type = "recharge" + charge_max = 1000 + clothes_req = 0 + invocation = "none" + invocation_type = "none" + range = 0 + +/obj/effect/proc_holder/spell/aoe_turf/shatter_lights/cast(list/targets) + cult_log("[key_name_admin(usr)] used Spread Shadows.") + flicker_mask(usr) + spawn(0) + for(var/area/A in range(3,get_turf(usr))) + for(var/obj/machinery/light/L in A) + L.on = 1 + L.broken() + sleep(1) + for(var/obj/item/device/flashlight/F in A) + F.on = 0 + + /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman name = "Create Talisman" desc = "This spell conjures a talisman" school = "conjuration" charge_type = "recharge" - charge_max = 300 + charge_max = 3000 clothes_req = 0 invocation = "none" invocation_type = "none" @@ -145,6 +199,9 @@ mob/spirit/mask/proc/pick_cultist() revert_cast(usr) return + cult_log("[key_name_admin(usr,0)] created a talisman of type [talisman].") + flicker_mask(usr) + switch(talisman) if ("Teleport") @@ -168,4 +225,6 @@ mob/spirit/mask/proc/pick_cultist() summon_type = list(/obj/item/weapon/paper/talisman) newVars = list("imbue" = "[imbue_value]") - ..() \ No newline at end of file + ..() + + diff --git a/code/modules/mob/spirit/mask/respawn.dm b/code/modules/mob/spirit/mask/respawn.dm new file mode 100644 index 0000000000..acfb69073c --- /dev/null +++ b/code/modules/mob/spirit/mask/respawn.dm @@ -0,0 +1,20 @@ +/proc/there_can_be_only_one_mask(var/mob/spirit/mask/target) + if(!istype(target)) + return + for(var/mob/spirit/mask/currentSpirit in spirits) + if(currentSpirit) + if(currentSpirit!=target) + // create the ghost + var/mob/dead/observer/ghost = currentSpirit.ghostize(TRUE) + // let the deposed mask respawn immediately, the poor dear + ghost.timeofdeath = world.time - 20000 + ghost.newPlayerType = /mob/new_player/cultist + // remove old mask body + del(currentSpirit) + + +/mob/new_player/cultist/AttemptLateSpawn(rank) + var/mob/newCharacter = ..(rank) + if(ticker.mode) + if(is_convertable_to_cult(newCharacter.mind)) + ticker.mode.add_cultist(newCharacter.mind) \ No newline at end of file diff --git a/code/modules/mob/spirit/movement.dm b/code/modules/mob/spirit/movement.dm index c6e6fb3a09..d8847cb480 100644 --- a/code/modules/mob/spirit/movement.dm +++ b/code/modules/mob/spirit/movement.dm @@ -18,6 +18,8 @@ mob/spirit/proc/Spirit_Move(direct) if(step) setLoc(step) + dir = direct // update our sprite + cooldown = world.timeofday + 5 if(acceleration) sprint = min(sprint + 0.5, max_sprint) diff --git a/code/modules/mob/spirit/viewpoint.dm b/code/modules/mob/spirit/viewpoint.dm index 56f5b154b5..5e06356129 100644 --- a/code/modules/mob/spirit/viewpoint.dm +++ b/code/modules/mob/spirit/viewpoint.dm @@ -76,6 +76,7 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list() if(FAVOR_DISPLEASED) owner << "\red \b You cringe at your gods displeasure." + /obj/cult_viewpoint/verb/pray_to_mask() set category = "Cult" set desc = "Pray to your god" @@ -86,6 +87,7 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list() if(!input) return + cult_log("[key_name(usr,0)](Pray):[input]") owner << "You pray to Nar'Sie: [input]" for(var/mob/spirit/spirit in spirits) @@ -145,12 +147,17 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list() set desc = "Sacrifice your life and become a Mask of Nar'sie." set src in usr + cult_log("[key_name(usr,0)] has tried to become a Mask of Nar'sie.") + if (!active_mask()) var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent") if(!active_mask()) + cult_log("[key_name(usr,0)] has become a Mask of Nar'sie.") if (transformation_type=="Subtle") + log_admin("[key_name_admin(owner)] has subtly become a Mask of Nar'sie") owner.make_into_mask(0,0) else + log_admin("[key_name_admin(owner)] has violently become a Mask of Nar'sie") owner.make_into_mask(1,1) else owner << "\b You cannot become a mask of Nar'Sie because a Mask already exists." diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 59917edd52..ea45eca49e 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -142,46 +142,28 @@ /mob/proc/make_into_mask(var/should_gib = 0, var/should_remove_items = 0) - if (should_gib) - var/mob/spirit/mask/new_spirit = new() - - if(mind) - new_spirit.mind = mind - new_spirit.mind.assigned_role = "Mask" - new_spirit.mind.original = new_spirit - - new_spirit.key = key - new_spirit.loc=loc - - spawn(0) - src.gib() // gib the body - - new_spirit.set_name() - - // let spirits identify cultists - if(ticker.mode) - ticker.mode.reset_cult_icons_for_spirit(new_spirit) - - return new_spirit - - else - if(should_remove_items) - for(var/obj/item/W in src) - drop_from_inventory(W) - + if(!should_gib) icon = null invisibility = 101 + + if(!should_remove_items) + for(var/obj/item/W in src) + drop_from_inventory(W) - var/mob/spirit/mask/new_spirit = new() - - if(mind) - new_spirit.mind = mind - new_spirit.mind.assigned_role = "Mask" - new_spirit.mind.original = new_spirit - - new_spirit.key = key - new_spirit.loc=loc - + var/mob/spirit/mask/new_spirit = new() + + if(mind) + new_spirit.mind = mind + new_spirit.mind.assigned_role = "Mask" + new_spirit.mind.original = new_spirit + + new_spirit.key = key + new_spirit.loc=loc + + if (should_gib) + spawn(0) + src.gib() // gib the body + else spawn(0)//To prevent the proc from returning null. src.visible_message( \ "[src] disappears into the shadows, never to be seen again.", \ @@ -189,13 +171,19 @@ "You hear strange noise, you can't quite place it.") del(src) - new_spirit.set_name() + new_spirit << "You are a Mask of Nar'sie now. You are a tiny fragment of the unknowable entity that is the god." + new_spirit << "Your job is to help your acolytes complete their goals. Be spooky. Do evil." - // let spirits identify cultists - if(ticker.mode) - ticker.mode.reset_cult_icons_for_spirit(new_spirit) + new_spirit.set_name() - return new_spirit + // let spirits identify cultists + if(ticker.mode) + ticker.mode.reset_cult_icons_for_spirit(new_spirit) + + // highlander test + there_can_be_only_one_mask(new_spirit) + + return new_spirit //human -> robot diff --git a/icons/mob/spirits/mask.dmi b/icons/mob/spirits/mask.dmi new file mode 100644 index 0000000000000000000000000000000000000000..20fe26c4bced41886718c66c2569db7bd9b7fbd7 GIT binary patch literal 972 zcmV;-12g=IP){f|1VR6J#Mc^K`AXmVMIPFJvJXTFe5%V zBsVf292pHHAs8-Ws%~RG_TXpZ00001bW%=J06^y0W&i*Ha(Yx)bVOxyV{&P5bZKvH z004NLQ&wT#GdI(F^OKlJp@5n z3+G-O)8xJHrvs6nx=Jo`A42HJ5lVMOTR3O5vEub0sZCjjSC?tfNQ;& zK6vu6ItKLD>y-nO$OcF?z(PxiVV|95=x+*0iLqo6UOE8LE>r;TS@i(;Ad*O!m#Pir z2=ZM4`!;4D*!0L{JfY_fApF3h`WmvPI3ky^yAdh?ive_(N)G~b5^;o#+Y+Ls0l*3r ziavGTw1mni7{Ijv=r48&goSN_0ulh}Cjg-V2#Glb?|5y#XYT;vyCZ$n0DbfUs87%7 zlAwartl$8!05iVJ%<490{9$YgLDCW3NTEc0DL<2AMkPjjQ|G(DltqR z7xDE_cduOM@4PNZsrJqHG*O`Th;e1lmco(_K`aU1nK3Kum%us!Fue{St#864FeEs$ zpD&LG?`D+Cm49sj=tb%;rrM1VoC|=*uIy zkP((@e#pAJ&L21{Sovcz>+MAEvlXEFs)QWi%{rZAi(NKG6p%bXv=vZ!gU%I{b$~I0 z+($$JkbKfz7Ut?A^mqe+#s+YhrQp&Pz>_2exFY~XFRlSVcQL0dBS2OFjJFNIY-XK+ zwKhNM3Wx^aZ4TH0vi?j9plK^MKnyByq5vKO)-fQT0hAM9L}<*BEAa;C^gw5zRLqfE z28TDP0PgoTplE2dA);Y^yl#M@c`^WibOGzp7t{7`TRe8R|8bBWq;2s Date: Sat, 23 Nov 2013 02:01:40 -0500 Subject: [PATCH 64/70] Removing world spam and viewport adding using the equipcultists proc. --- code/game/gamemodes/cult/cult.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 26d984641f..7f288d2dd0 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -134,10 +134,6 @@ mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself." mob.mutations.Remove(CLUMSY) - var/obj/cult_viewpoint/viewpoint = new(mob) - viewpoint.loc = mob - world << "Spawning viewpoint on [mob]" - var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, From 4ed7c79fcc36e7dc484a2a47b271a283638337f7 Mon Sep 17 00:00:00 2001 From: jack-fractal Date: Sat, 23 Nov 2013 02:20:19 -0500 Subject: [PATCH 65/70] - making sure to add the viewpoint properly to roundstart cultists. - there are way too many ways to make someone a cultist... --- code/game/gamemodes/cult/cult.dm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 7f288d2dd0..e0e81a647e 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -134,6 +134,8 @@ mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself." mob.mutations.Remove(CLUMSY) + add_cult_viewpoint(mob) // give them a viewpoint + var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -169,13 +171,20 @@ cult_mob.mind.store_memory("You remember that [wordexp]", 0, 0) +/datum/game_mode/proc/add_cult_viewpoint(var/mob/target) + for(var/obj/cult_viewpoint/viewpoint in target) + return + var/obj/cult_viewpoint/viewpoint = new(target) + viewpoint.loc = target + return viewpoint + + /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if (!istype(cult_mind)) return 0 if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind - var/obj/cult_viewpoint/viewpoint = new(cult_mind.current) - viewpoint.loc = cult_mind.current + add_cult_viewpoint(cult_mind.current) update_cult_icons_added(cult_mind) return 1 From db4d01a42fee7b6569c862028cae759c29f729d8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 23 Nov 2013 22:41:14 +1030 Subject: [PATCH 66/70] Fixing some case issues with detectivework. --- baystation12.dme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 8746a50cf8..722e05dfe7 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -765,10 +765,10 @@ #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\destilery\main.dm" -#include "code\modules\DetectiveWork\detective_work.dm" -#include "code\modules\DetectiveWork\evidence.dm" -#include "code\modules\DetectiveWork\footprints_and_rag.dm" -#include "code\modules\DetectiveWork\scanner.dm" +#include "code\modules\detectivework\detective_work.dm" +#include "code\modules\detectivework\evidence.dm" +#include "code\modules\detectivework\footprints_and_rag.dm" +#include "code\modules\detectivework\scanner.dm" #include "code\modules\economy\Accounts.dm" #include "code\modules\economy\Accounts_DB.dm" #include "code\modules\economy\ATM.dm" From 6bd00eb56107855aa0933587a95a3ebadeb4d7fd Mon Sep 17 00:00:00 2001 From: Jeremy Liberman Date: Sat, 23 Nov 2013 16:59:30 -0600 Subject: [PATCH 67/70] Emag ATMs to drop money --- code/modules/economy/ATM.dm | 217 +++++++++++++++++++++--------------- 1 file changed, 126 insertions(+), 91 deletions(-) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 398d311c18..59434f9e59 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -32,10 +32,14 @@ log transactions var/obj/item/weapon/card/held_card var/editing_security_level = 0 var/view_screen = NO_SCREEN + var/datum/effect/effect/system/spark_spread/spark_system /obj/machinery/atm/New() ..() machine_id = "[station_name()] RT #[num_financial_terminals++]" + spark_system = new /datum/effect/effect/system/spark_spread + spark_system.set_up(5, 0, src) + spark_system.attach(src) /obj/machinery/atm/process() if(stat & NOPOWER) @@ -60,6 +64,23 @@ log transactions /obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/card)) + if(emagged > 0) + //prevent inserting id into an emagged ATM + user << "\red \icon[src] CARD READER ERROR. This system has been compromised!" + return + else if(istype(I,/obj/item/weapon/card/emag)) + //short out the machine, shoot sparks, spew money! + emagged = 1 + spark_system.start() + spawn_money(rand(100,500),src.loc) + //we don't want to grief people by locking their id in an emagged ATM + release_held_id(user) + + //display a message to the user + var/response = pick("Initiating withdraw. Have a nice day!", "CRITICAL ERROR: Activating cash chamber panic siphon.","PIN Code accepted! Emptying account balance.", "Jackpot!") + user << "\red \icon[src] The [src] beeps: \"[response]\"" + return + var/obj/item/weapon/card/id/idcard = I if(!held_card) usr.drop_item() @@ -94,7 +115,7 @@ log transactions /obj/machinery/atm/attack_hand(mob/user as mob) if(istype(user, /mob/living/silicon)) - user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005." + user << "\red \icon[src] Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005." return if(get_dist(src,user) <= 1) @@ -102,84 +123,88 @@ log transactions var/dat = "

NanoTrasen Automatic Teller Machine

" dat += "For all your monetary needs!
" dat += "This terminal is [machine_id]. Report this code when contacting NanoTrasen IT Support
" - dat += "Card: [held_card ? held_card.name : "------"]

" - if(ticks_left_locked_down > 0) - dat += "Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled." - else if(authenticated_account) - if(authenticated_account.suspended) - dat += "\redAccess to this account has been suspended, and the funds within frozen." - else - switch(view_screen) - if(CHANGE_SECURITY_LEVEL) - dat += "Select a new security level for this account:

" - var/text = "Zero - Either the account number or card is required to access this account. EFTPOS transactions will require a card and ask for a pin, but not verify the pin is correct." - if(authenticated_account.security_level != 0) - text = "[text]" - dat += "[text]
" - text = "One - An account number and pin must be manually entered to access this account and process transactions." - if(authenticated_account.security_level != 1) - text = "[text]" - dat += "[text]
" - text = "Two - In addition to account number and pin, a card is required to access this account and process transactions." - if(authenticated_account.security_level != 2) - text = "[text]" - dat += "[text]

" - dat += "Back" - if(VIEW_TRANSACTION_LOGS) - dat += "Transaction logs
" - dat += "Back" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - for(var/datum/transaction/T in authenticated_account.transaction_log) - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
DateTimeTargetPurposeValueSource terminal ID
[T.date][T.time][T.target_name][T.purpose]$[T.amount][T.source_terminal]
" - if(TRANSFER_FUNDS) - dat += "Account balance: $[authenticated_account.money]
" - dat += "Back

" - dat += "
" - dat += "" - dat += "" - dat += "Target account number:
" - dat += "Funds to transfer:
" - dat += "Transaction purpose:
" - dat += "
" - dat += "
" - else - dat += "Welcome, [authenticated_account.owner_name].
" - dat += "Account balance: $[authenticated_account.money]" - dat += "
" - dat += "" - dat += "" - dat += "
" - dat += "
" - dat += "Change account security level
" - dat += "Make transfer
" - dat += "View transaction log
" - dat += "Print balance statement
" - dat += "Logout
" + if(emagged > 0) + dat += "Card: LOCKED

Unauthorized terminal access detected! This ATM has been locked. Please contact NanoTrasen IT Support." else - dat += "
" - dat += "" - dat += "" - dat += "Account:
" - dat += "PIN:
" - dat += "
" - dat += "
" + dat += "Card: [held_card ? held_card.name : "------"]

" + + if(ticks_left_locked_down > 0) + dat += "Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled." + else if(authenticated_account) + if(authenticated_account.suspended) + dat += "\redAccess to this account has been suspended, and the funds within frozen." + else + switch(view_screen) + if(CHANGE_SECURITY_LEVEL) + dat += "Select a new security level for this account:

" + var/text = "Zero - Either the account number or card is required to access this account. EFTPOS transactions will require a card and ask for a pin, but not verify the pin is correct." + if(authenticated_account.security_level != 0) + text = "[text]" + dat += "[text]
" + text = "One - An account number and pin must be manually entered to access this account and process transactions." + if(authenticated_account.security_level != 1) + text = "[text]" + dat += "[text]
" + text = "Two - In addition to account number and pin, a card is required to access this account and process transactions." + if(authenticated_account.security_level != 2) + text = "[text]" + dat += "[text]

" + dat += "Back" + if(VIEW_TRANSACTION_LOGS) + dat += "Transaction logs
" + dat += "Back" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + for(var/datum/transaction/T in authenticated_account.transaction_log) + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "
DateTimeTargetPurposeValueSource terminal ID
[T.date][T.time][T.target_name][T.purpose]$[T.amount][T.source_terminal]
" + if(TRANSFER_FUNDS) + dat += "Account balance: $[authenticated_account.money]
" + dat += "Back

" + dat += "
" + dat += "" + dat += "" + dat += "Target account number:
" + dat += "Funds to transfer:
" + dat += "Transaction purpose:
" + dat += "
" + dat += "
" + else + dat += "Welcome, [authenticated_account.owner_name].
" + dat += "Account balance: $[authenticated_account.money]" + dat += "
" + dat += "" + dat += "" + dat += "
" + dat += "
" + dat += "Change account security level
" + dat += "Make transfer
" + dat += "View transaction log
" + dat += "Print balance statement
" + dat += "Logout
" + else + dat += "
" + dat += "" + dat += "" + dat += "Account:
" + dat += "PIN:
" + dat += "
" + dat += "
" user << browse(dat,"window=atm;size=550x650") else @@ -322,20 +347,18 @@ log transactions else playsound(loc, 'sound/items/polaroid2.ogg', 50, 1) if("insert_card") - if(held_card) - held_card.loc = src.loc - authenticated_account = null - - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(held_card) - held_card = null - + if(!held_card) + //this might happen if the user had the browser window open when somebody emagged it + if(emagged > 0) + usr << "\red \icon[src] The ATM card reader rejected your ID because this machine has been sabotaged!" + else + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/card/id)) + usr.drop_item() + I.loc = src + held_card = I else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - held_card = I + release_held_id(usr) if("logout") authenticated_account = null //usr << browse(null,"window=atm") @@ -366,4 +389,16 @@ log transactions T.time = worldtime2text() authenticated_account.transaction_log.Add(T) - view_screen = NO_SCREEN \ No newline at end of file + view_screen = NO_SCREEN + +// put the currently held id on the ground or in the hand of the user +/obj/machinery/atm/proc/release_held_id(mob/living/carbon/human/human_user as mob) + if(!held_card) + return + + held_card.loc = src.loc + authenticated_account = null + + if(ishuman(human_user) && !human_user.get_active_hand()) + human_user.put_in_hands(held_card) + held_card = null From 7e22046b1e16ee2508fb0a87abe61012a74c2c0f Mon Sep 17 00:00:00 2001 From: Jeremy Liberman Date: Sat, 23 Nov 2013 17:22:01 -0600 Subject: [PATCH 68/70] Add Cash Bag. Works like Plant Bag but for cash/coins --- code/game/machinery/biogenerator.dm | 5 ++++- .../objects/items/weapons/storage/bags.dm | 18 +++++++++++++++++- icons/obj/storage.dmi | Bin 54590 -> 55632 bytes 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index c75cda5dba..5bb6f1559e 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -100,6 +100,7 @@ dat += "Botanical gloves (250)
" dat += "Utility belt (300)
" dat += "Leather Satchel (400)
" + dat += "Cash Bag (400)
" //dat += "Other
" //dat += "Monkey (500)
" else @@ -194,6 +195,8 @@ new/obj/item/weapon/storage/belt/utility(src.loc) if("satchel") new/obj/item/weapon/storage/backpack/satchel(src.loc) + if("cashbag") + new/obj/item/weapon/storage/bag/cash(src.loc) if("monkey") new/mob/living/carbon/monkey(src.loc) processing = 0 @@ -220,4 +223,4 @@ create_product(href_list["item"],text2num(href_list["cost"])) if("menu") menustat = "menu" - updateUsrDialog() \ No newline at end of file + updateUsrDialog() diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 94d24a698e..2219619720 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -9,6 +9,7 @@ * Mining Satchel * Plant Bag * Sheet Snatcher + * Cash Bag * * -Sayu */ @@ -237,4 +238,19 @@ /obj/item/weapon/storage/bag/sheetsnatcher/borg name = "Sheet Snatcher 9000" desc = "" - capacity = 500//Borgs get more because >specialization \ No newline at end of file + capacity = 500//Borgs get more because >specialization + +// ----------------------------- +// Cash Bag +// ----------------------------- + +/obj/item/weapon/storage/bag/cash + icon = 'icons/obj/storage.dmi' + icon_state = "cashbag" + name = "Cash bag" + desc = "A bag for carrying lots of cash. It's got a big dollar sign printed on the front." + storage_slots = 50; //the number of cash pieces it can carry. + max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class + max_w_class = 3 + w_class = 1 + can_hold = list("/obj/item/weapon/coin","/obj/item/weapon/spacecash") diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 253cf851a833a50a38dad32d623c81e5a24cb0fb..941c984f1d3b6031ea5030cbd424a32e2bcd1205 100644 GIT binary patch delta 15992 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 Date: Sun, 24 Nov 2013 16:13:28 -0500 Subject: [PATCH 69/70] - removing 'colon' use for proc calls. Generally a bad idea. - adding a check for being silenced to use runes - adding extra slashes in front of the mask definition - re-adding the autotransfer.dm file to the include list --- baystation12.dme | 1 + .../visibility_networks/visibility_network.dm | 8 +++---- code/game/gamemodes/cult/ritual.dm | 2 ++ code/modules/mob/mob_movement.dm | 10 ++++++-- code/modules/mob/spirit/mask/mask.dm | 23 ++++++++----------- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index ad42576274..1088ce6c88 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -76,6 +76,7 @@ #include "code\ATMOSPHERICS\components\unary\vent_pump.dm" #include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm" #include "code\controllers\_DynamicAreaLighting_TG.dm" +#include "code\controllers\autotransfer.dm" #include "code\controllers\configuration.dm" #include "code\controllers\failsafe.dm" #include "code\controllers\lighting_controller.dm" diff --git a/code/datums/visibility_networks/visibility_network.dm b/code/datums/visibility_networks/visibility_network.dm index 4361d8ef14..225b6e3def 100644 --- a/code/datums/visibility_networks/visibility_network.dm +++ b/code/datums/visibility_networks/visibility_network.dm @@ -52,11 +52,11 @@ var/list/remove = targetMob.visibility_interface:visible_chunks - visibleChunks var/list/add = visibleChunks - targetMob.visibility_interface:visible_chunks - for(var/chunk in remove) - chunk:remove(targetMob) + for(var/datum/visibility_chunk/chunk in remove) + chunk.remove(targetMob) - for(var/chunk in add) - chunk:add(targetMob) + for(var/datum/visibility_chunk/chunk in add) + chunk.add(targetMob) // Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 0686a1842b..2760a66d49 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -148,6 +148,8 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", if(istype(user.wear_mask, /obj/item/clothing/mask/muzzle)) user << "You are unable to speak the words of the rune." return + if(user.silent) // checking if we've been muted somehow + user << "You are unable to speak at all! You cannot say the words of the rune." if(!word1 || !word2 || !word3 || prob(user.getBrainLoss())) return fizzle() diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 399e7b9a73..2fda2c141d 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -177,8 +177,14 @@ if(mob.stat==2) return - if(isSpirit(mob)) return mob:Spirit_Move(direct) - if(isAI(mob)) return AIMove(n,direct,mob) + // handle possible spirit movement + var/mob/spirit/currentSpirit = mob + if(currentSpirit) + return currentSpirit.Spirit_Move(direct) + + // handle possible AI movement + if(isAI(mob)) + return AIMove(n,direct,mob) if(mob.monkeyizing) return//This is sota the goto stop mobs from moving var diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm index 404cd15387..6b58f201cf 100644 --- a/code/modules/mob/spirit/mask/mask.dm +++ b/code/modules/mob/spirit/mask/mask.dm @@ -1,15 +1,15 @@ -mob/spirit/mask +/mob/spirit/mask icon = 'icons/mob/spirits/mask.dmi' icon_state = "depressurized" -mob/spirit/mask/New() +/mob/spirit/mask/New() ..() spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src) spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src) spell_list += new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src) -mob/spirit/mask/verb/go_to_follower() +/mob/spirit/mask/verb/go_to_follower() set category = "Mask" set name = "Go to follower" set desc = "Select who you would like to go too." @@ -21,7 +21,7 @@ mob/spirit/mask/verb/go_to_follower() src << "You start following [cultist.get_display_name()]." -mob/spirit/mask/verb/urge_cultist() +/mob/spirit/mask/verb/urge_cultist() set category = "Mask" set name = "Urge cultist" set desc = "Push your cultists to do something." @@ -34,7 +34,7 @@ mob/spirit/mask/verb/urge_cultist() src << "You urge [cultist.owner.name] to [newUrge]." cult_log("controlled by [key_name_admin(src)] has urged [key_name_admin(cultist.owner)] to [newUrge].") -mob/spirit/mask/verb/set_cult_name() +/mob/spirit/mask/verb/set_cult_name() set category = "Mask" set name = "Set Cult Name" set desc = "Grant a cultist a name." @@ -50,7 +50,7 @@ mob/spirit/mask/verb/set_cult_name() cult_log("[key_name_admin(src)] has set [key_name_admin(cultist.owner)] to \'[newName]\'") -mob/spirit/mask/verb/urge_cult() +/mob/spirit/mask/verb/urge_cult() set category = "Mask" set name = "Urge Cult" set desc = "Set urge on the entire cult." @@ -62,7 +62,7 @@ mob/spirit/mask/verb/urge_cult() cult_log("[key_name_admin(src)] has urged the entire cult to [newUrge]") -mob/spirit/mask/verb/set_favor_for_cultist() +/mob/spirit/mask/verb/set_favor_for_cultist() set category = "Mask" set name = "Show your favor" set desc = "Set the favor for a cultist" @@ -84,15 +84,14 @@ mob/spirit/mask/verb/set_favor_for_cultist() cult_log("[key_name_admin(src)] is indifferent too [key_name_admin(cultist.owner)]") -mob/spirit/mask/proc/set_name() +/mob/spirit/mask/proc/set_name() spawn(0) var/newName = stripped_input(src, "Please pick a name.", "Pick Name for Mask", "") name = newName ? newName : "Mask of Nar'sie" src << "You have set your name to [name]." - return name -mob/spirit/mask/proc/pick_cultist() +/mob/spirit/mask/proc/pick_cultist() var/list/cultists = list() for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) cultists[viewpoint.get_display_name()]=viewpoint @@ -225,6 +224,4 @@ mob/spirit/mask/proc/pick_cultist() summon_type = list(/obj/item/weapon/paper/talisman) newVars = list("imbue" = "[imbue_value]") - ..() - - + ..() \ No newline at end of file From d8683f2d39d894b31cacefc03dcd16688cf51bbe Mon Sep 17 00:00:00 2001 From: Mloc Date: Mon, 25 Nov 2013 11:59:57 +0000 Subject: [PATCH 70/70] Revert "Merge pull request #3965 from jack-fractal/dev" This reverts commit fa57b76f25ea9d00fb92c034464ab540e0fb387b, reversing changes made to 40ee2278ede129f09f6458370f647ec86082da92. Signed-off-by: Mloc --- baystation12.dme | 12 - .../AI_Visibility/_old_AI_Visibility.dm | 68 +- code/WorkInProgress/AI_Visibility/ai.dm | 10 +- .../WorkInProgress/AI_Visibility/cameranet.dm | 24 +- code/WorkInProgress/AI_Visibility/chunk.dm | 2 +- code/WorkInProgress/AI_Visibility/minimap.dm | 24 +- code/WorkInProgress/AI_Visibility/util.dm | 14 +- code/__HELPERS/global_lists.dm | 1 - code/controllers/verbs.dm | 8 +- code/datums/datumvars.dm | 14 +- code/datums/mind.dm | 15 +- code/datums/visibility_networks/chunk.dm | 179 -- code/datums/visibility_networks/dictionary.dm | 11 - .../visibility_networks/update_triggers.dm | 94 - .../visibility_interface.dm | 46 - .../visibility_networks/visibility_network.dm | 141 -- code/defines/obj/weapon.dm | 3 +- code/game/gamemodes/cult/cult.dm | 159 +- code/game/gamemodes/cult/ritual.dm | 206 +- code/game/gamemodes/cult/runes.dm | 1826 ++++++++--------- .../gamemodes/malfunction/Malf_Modules.dm | 6 +- code/game/machinery/camera/camera.dm | 8 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/camera/tracking.dm | 6 +- code/game/machinery/computer/camera.dm | 4 +- code/game/machinery/doors/door.dm | 4 - code/modules/admin/admin.dm | 1 - code/modules/admin/admin_investigate.dm | 40 +- code/modules/admin/topic.dm | 9 - code/modules/admin/verbs/mapping.dm | 4 +- code/modules/clothing/spacesuits/ert.dm | 2 +- code/modules/clothing/spacesuits/rig.dm | 2 +- code/modules/mob/living/carbon/human/death.dm | 7 +- code/modules/mob/living/living.dm | 1 - code/modules/mob/living/silicon/ai/ai.dm | 6 +- .../living/silicon/ai/freelook/cameranet.dm | 160 +- .../mob/living/silicon/ai/freelook/chunk.dm | 185 +- .../mob/living/silicon/ai/freelook/eye.dm | 11 +- .../mob/living/silicon/ai/freelook/read_me.dm | 2 +- .../silicon/ai/freelook/update_triggers.dm | 87 +- .../ai/freelook/visibility_interface.dm | 10 - .../modules/mob/living/silicon/robot/robot.dm | 7 +- code/modules/mob/mob.dm | 11 +- code/modules/mob/mob_defines.dm | 1 - code/modules/mob/mob_helpers.dm | 5 - code/modules/mob/mob_movement.dm | 11 +- code/modules/mob/new_player/new_player.dm | 4 +- code/modules/mob/spirit/cultnet.dm | 80 - code/modules/mob/spirit/mask/mask.dm | 227 -- code/modules/mob/spirit/mask/respawn.dm | 20 - code/modules/mob/spirit/movement.dm | 62 - code/modules/mob/spirit/spirit.dm | 76 - code/modules/mob/spirit/viewpoint.dm | 202 -- code/modules/mob/transform_procs.dm | 52 - code/setup.dm | 3 - code/stylesheet.dm | 1 - code/unused/AI_Visibility.dm | 30 +- icons/mob/spirits/mask.dmi | Bin 972 -> 0 bytes 58 files changed, 1590 insertions(+), 2616 deletions(-) delete mode 100644 code/datums/visibility_networks/chunk.dm delete mode 100644 code/datums/visibility_networks/dictionary.dm delete mode 100644 code/datums/visibility_networks/update_triggers.dm delete mode 100644 code/datums/visibility_networks/visibility_interface.dm delete mode 100644 code/datums/visibility_networks/visibility_network.dm delete mode 100644 code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm delete mode 100644 code/modules/mob/spirit/cultnet.dm delete mode 100644 code/modules/mob/spirit/mask/mask.dm delete mode 100644 code/modules/mob/spirit/mask/respawn.dm delete mode 100644 code/modules/mob/spirit/movement.dm delete mode 100644 code/modules/mob/spirit/spirit.dm delete mode 100644 code/modules/mob/spirit/viewpoint.dm delete mode 100644 icons/mob/spirits/mask.dmi diff --git a/baystation12.dme b/baystation12.dme index 1088ce6c88..722e05dfe7 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -155,11 +155,6 @@ #include "code\datums\spells\trigger.dm" #include "code\datums\spells\turf_teleport.dm" #include "code\datums\spells\wizard.dm" -#include "code\datums\visibility_networks\chunk.dm" -#include "code\datums\visibility_networks\dictionary.dm" -#include "code\datums\visibility_networks\update_triggers.dm" -#include "code\datums\visibility_networks\visibility_interface.dm" -#include "code\datums\visibility_networks\visibility_network.dm" #include "code\defines\obj.dm" #include "code\defines\obj\hydro.dm" #include "code\defines\obj\weapon.dm" @@ -961,7 +956,6 @@ #include "code\modules\mob\living\silicon\ai\freelook\eye.dm" #include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" #include "code\modules\mob\living\silicon\ai\freelook\update_triggers.dm" -#include "code\modules\mob\living\silicon\ai\freelook\visibility_interface.dm" #include "code\modules\mob\living\silicon\decoy\death.dm" #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\life.dm" @@ -1030,12 +1024,6 @@ #include "code\modules\mob\new_player\preferences_setup.dm" #include "code\modules\mob\new_player\skill.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\spirit\cultnet.dm" -#include "code\modules\mob\spirit\movement.dm" -#include "code\modules\mob\spirit\spirit.dm" -#include "code\modules\mob\spirit\viewpoint.dm" -#include "code\modules\mob\spirit\mask\mask.dm" -#include "code\modules\mob\spirit\mask\respawn.dm" #include "code\modules\nano\_JSON.dm" #include "code\modules\nano\JSON Reader.dm" #include "code\modules\nano\JSON Writer.dm" diff --git a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm b/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm index 831d20f229..9b50c74f68 100644 --- a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm +++ b/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm @@ -16,15 +16,15 @@ var/image/dim /turf/proc/visibilityChanged() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) /turf/New() ..() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) /* /turf/Del() ..() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) */ /datum/camerachunk var/list/obscuredTurfs = list() @@ -73,7 +73,7 @@ var/mob/living/silicon/ai/ai = usr ai.freelook() ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), ai.eyeobj.z) - cameraNetwork.visibility(ai.eyeobj) + cameranet.visibility(ai.eyeobj) else usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.z) @@ -81,26 +81,26 @@ /mob/dead/verb/Open_Minimap() set category = "Ghost" winshow(src, "minimapwindow", 1) - client.screen |= cameraNetwork.minimap + client.screen |= cameranet.minimap - if(cameraNetwork.generating_minimap) - cameraNetwork.minimap_viewers += src + if(cameranet.generating_minimap) + cameranet.minimap_viewers += src /mob/living/silicon/ai/verb/Open_Minimap() set category = "AI Commands" winshow(src, "minimapwindow", 1) - client.screen |= cameraNetwork.minimap + client.screen |= cameranet.minimap - if(cameraNetwork.generating_minimap) - cameraNetwork.minimap_viewers += src + if(cameranet.generating_minimap) + cameranet.minimap_viewers += src /client/proc/Open_Minimap() set category = "Admin" winshow(src, "minimapwindow", 1) - screen |= cameraNetwork.minimap + screen |= cameranet.minimap - if(cameraNetwork.generating_minimap) - cameraNetwork.minimap_viewers += src.mob + if(cameranet.generating_minimap) + cameranet.minimap_viewers += src.mob /datum/camerachunk/proc/update_minimap() if(changed && !updating) @@ -325,11 +325,11 @@ dim += t.dim - cameraNetwork.minimap += minimap_obj + cameranet.minimap += minimap_obj -var/datum/cameraNetwork/cameraNetwork = new() +var/datum/cameranet/cameranet = new() -/datum/cameraNetwork +/datum/cameranet var/list/cameras = list() var/list/chunks = list() var/network = "net1" @@ -340,7 +340,7 @@ var/datum/cameraNetwork/cameraNetwork = new() var/generating_minimap = TRUE var/list/minimap_viewers = list() -/datum/cameraNetwork/New() +/datum/cameranet/New() ..() spawn(200) @@ -356,11 +356,11 @@ var/datum/cameraNetwork/cameraNetwork = new() generating_minimap = FALSE minimap_viewers = list() -/datum/cameraNetwork/proc/chunkGenerated(x, y, z) +/datum/cameranet/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameraNetwork/proc/getCameraChunk(x, y, z) +/datum/cameranet/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -368,7 +368,7 @@ var/datum/cameraNetwork/cameraNetwork = new() return chunks[key] -/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) +/datum/cameranet/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -389,14 +389,14 @@ var/datum/cameraNetwork/cameraNetwork = new() for(var/datum/camerachunk/c in add) c.add(ai) -/datum/cameraNetwork/proc/updateVisibility(turf/loc) +/datum/cameranet/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) chunk.visibilityChanged(loc) -/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) +/datum/cameranet/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -410,7 +410,7 @@ var/datum/cameraNetwork/cameraNetwork = new() chunk.cameras += c chunk.hasChanged() -/datum/cameraNetwork/proc/removeCamera(obj/machinery/camera/c) +/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -452,18 +452,18 @@ var/datum/cameraNetwork/cameraNetwork = new() eyeobj.ai = src client.eye = eyeobj eyeobj.loc = loc - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) cameraFollow = null /mob/aiEye/Move() . = ..() if(.) - cameraNetwork.visibility(src) + cameranet.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameraNetwork.visibility(user.eyeobj) + cameranet.visibility(user.eyeobj) else return ..() @@ -477,7 +477,7 @@ var/datum/cameraNetwork/cameraNetwork = new() else if(direct == DOWN && user.eyeobj.z < 4) dif = 1 user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameraNetwork.visibility(user.eyeobj) + cameranet.visibility(user.eyeobj) else return ..() */ @@ -492,23 +492,23 @@ var/datum/cameraNetwork/cameraNetwork = new() /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameraNetwork.updateVisibility(loc) + cameranet.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) /obj/machinery/camera/Del() - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) ..() /obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) . = ..(W, user) if(istype(W, /obj/item/weapon/wirecutters)) if(status) - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) else - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) /proc/checkcameravis(atom/A) for(var/obj/machinery/camera/C in view(A,7)) @@ -545,7 +545,7 @@ var/datum/cameraNetwork/cameraNetwork = new() var/obj/machinery/camera/C = D[t] eyeobj.loc = C.loc - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) return @@ -570,4 +570,4 @@ var/datum/cameraNetwork/cameraNetwork = new() else eyeobj.loc = locate(src.x, src.y, src.z) - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/ai.dm b/code/WorkInProgress/AI_Visibility/ai.dm index a8c5470036..7dcbf54e67 100644 --- a/code/WorkInProgress/AI_Visibility/ai.dm +++ b/code/WorkInProgress/AI_Visibility/ai.dm @@ -29,17 +29,17 @@ eyeobj.ai = src client.eye = eyeobj eyeobj.loc = loc - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) /mob/aiEye/Move() . = ..() if(.) - cameraNetwork.visibility(src) + cameranet.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameraNetwork.visibility(user.eyeobj) + cameranet.visibility(user.eyeobj) else return ..() @@ -79,7 +79,7 @@ var/obj/machinery/camera/C = D[t] eyeobj.loc = C.loc - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) return @@ -104,4 +104,4 @@ else eyeobj.loc = locate(src.x, src.y, src.z) - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/cameranet.dm b/code/WorkInProgress/AI_Visibility/cameranet.dm index d234142511..3b46844e6b 100644 --- a/code/WorkInProgress/AI_Visibility/cameranet.dm +++ b/code/WorkInProgress/AI_Visibility/cameranet.dm @@ -1,14 +1,14 @@ //------------------------------------------------------------ // -// The cameraNetwork +// The Cameranet // -// The cameraNetwork is a single global instance of a unique +// The cameranet is a single global instance of a unique // datum, which contains logic for managing the individual // chunks. // //------------------------------------------------------------ -/datum/cameraNetwork +/datum/cameranet var/list/cameras = list() var/list/chunks = list() var/network = "net1" @@ -18,18 +18,18 @@ var/generating_minimap = TRUE -var/datum/cameraNetwork/cameraNetwork = new() +var/datum/cameranet/cameranet = new() -/datum/cameraNetwork/New() +/datum/cameranet/New() ..() spawn(100) init_minimap() -/datum/cameraNetwork/proc/init_minimap() +/datum/cameranet/proc/init_minimap() for(var/x = 0, x <= world.maxx, x += 16) for(var/y = 0, y <= world.maxy, y += 16) sleep(1) @@ -39,12 +39,12 @@ var/datum/cameraNetwork/cameraNetwork = new() generating_minimap = FALSE -/datum/cameraNetwork/proc/chunkGenerated(x, y, z) +/datum/cameranet/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameraNetwork/proc/getCameraChunk(x, y, z) +/datum/cameranet/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -71,7 +71,7 @@ var/datum/cameraNetwork/cameraNetwork = new() // have a proc called automatically every time an // object's loc changes. -/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) +/datum/cameranet/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -101,7 +101,7 @@ var/datum/cameraNetwork/cameraNetwork = new() // anything else that would alter line of sight in the // general area. -/datum/cameraNetwork/proc/updateVisibility(turf/loc) +/datum/cameranet/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return @@ -115,7 +115,7 @@ var/datum/cameraNetwork/cameraNetwork = new() // creating a camera, allowing freelook and the minimap to // respond correctly. -/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) +/datum/cameranet/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -137,7 +137,7 @@ var/datum/cameraNetwork/cameraNetwork = new() // deleting a camera, allowing freelook and the minimap to // respond correctly. -/datum/cameraNetwork/proc/removeCamera(obj/machinery/camera/c) +/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf diff --git a/code/WorkInProgress/AI_Visibility/chunk.dm b/code/WorkInProgress/AI_Visibility/chunk.dm index 134d6097b5..8a6886a1ad 100644 --- a/code/WorkInProgress/AI_Visibility/chunk.dm +++ b/code/WorkInProgress/AI_Visibility/chunk.dm @@ -88,7 +88,7 @@ dim += t.dim - cameraNetwork.minimap |= minimap_obj + cameranet.minimap |= minimap_obj for(var/mob/aiEye/eye in seenby) if(eye.ai.client) diff --git a/code/WorkInProgress/AI_Visibility/minimap.dm b/code/WorkInProgress/AI_Visibility/minimap.dm index e4d4f7274f..c97b01e0f8 100644 --- a/code/WorkInProgress/AI_Visibility/minimap.dm +++ b/code/WorkInProgress/AI_Visibility/minimap.dm @@ -28,24 +28,24 @@ var/mob/living/silicon/ai/ai = usr ai.freelook() ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) - cameraNetwork.visibility(ai.eyeobj) + cameranet.visibility(ai.eyeobj) else usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) /mob/dead/verb/Open_Minimap() set category = "Ghost" - cameraNetwork.show_minimap(client) + cameranet.show_minimap(client) /mob/living/silicon/ai/verb/Open_Minimap() set category = "AI Commands" - cameraNetwork.show_minimap(client) + cameranet.show_minimap(client) /client/proc/Open_Minimap() set category = "Admin" - cameraNetwork.show_minimap(src) + cameranet.show_minimap(src) /mob/verb/Open_Minimap_Z() @@ -54,26 +54,26 @@ if(!istype(src, /mob/dead) && !istype(src, /mob/living/silicon/ai) && !(client && client.holder && client.holder.level >= 4)) return - var/level = input("Select a Z level", "Z select", null) as null | anything in cameraNetwork.minimap + var/level = input("Select a Z level", "Z select", null) as null | anything in cameranet.minimap if(level != null) - cameraNetwork.show_minimap(client, level) + cameranet.show_minimap(client, level) -/datum/cameraNetwork/proc/show_minimap(client/client, z_level = "z-1") +/datum/cameranet/proc/show_minimap(client/client, z_level = "z-1") if(!istype(client.mob, /mob/dead) && !istype(client.mob, /mob/living/silicon/ai) && !(client.holder && client.holder.level >= 4)) return - if(z_level in cameraNetwork.minimap) + if(z_level in cameranet.minimap) winshow(client, "minimapwindow", 1) - for(var/key in cameraNetwork.minimap) - client.screen -= cameraNetwork.minimap[key] + for(var/key in cameranet.minimap) + client.screen -= cameranet.minimap[key] - client.screen |= cameraNetwork.minimap[z_level] + client.screen |= cameranet.minimap[z_level] - if(cameraNetwork.generating_minimap) + if(cameranet.generating_minimap) spawn(50) show_minimap(client, z_level) diff --git a/code/WorkInProgress/AI_Visibility/util.dm b/code/WorkInProgress/AI_Visibility/util.dm index 0e32f8dec8..da576cbd40 100644 --- a/code/WorkInProgress/AI_Visibility/util.dm +++ b/code/WorkInProgress/AI_Visibility/util.dm @@ -4,31 +4,31 @@ var/image/dim /turf/proc/visibilityChanged() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) /turf/New() ..() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameraNetwork.updateVisibility(loc) + cameranet.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) /obj/machinery/camera/Del() - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) ..() /obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) . = ..(W, user) if(istype(W, /obj/item/weapon/wirecutters)) if(status) - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) else - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) /proc/checkcameravis(atom/A) for(var/obj/machinery/camera/C in view(A,7)) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index b0d609c78e..ce8d788f25 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -7,7 +7,6 @@ var/list/directory = list() //list of all ckeys with associated client var/global/list/player_list = list() //List of all mobs **with clients attached**. Excludes /mob/new_player var/global/list/mob_list = list() //List of all mobs, including clientless -var/global/list/spirits = list() //List of all the spirits, including Masks var/global/list/living_mob_list = list() //List of all alive mobs, including clientless. Excludes /mob/new_player var/global/list/dead_mob_list = list() //List of all dead mobs, including clientless. Excludes /mob/new_player diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 1b8324ef43..3faa6e4c80 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -28,7 +28,7 @@ return -/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller","CultNetwork")) +/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller")) set category = "Debug" set name = "Debug Controller" set desc = "Debug the various periodic loop controllers for the game (be careful!)" @@ -72,14 +72,10 @@ debug_variables(paiController) feedback_add_details("admin_verb","DpAI") if("Cameras") - debug_variables(cameraNetwork) + debug_variables(cameranet) feedback_add_details("admin_verb","DCameras") if("Transfer Controller") debug_variables(transfer_controller) feedback_add_details("admin_verb","DAutovoter") - if("CultNetwork") - debug_variables(cultNetwork) - feedback_add_details("admin_verb","DCultNetwork") - message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") return diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 7c1dbb0f8c..dc3a3b36db 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -263,7 +263,6 @@ client body += "" body += "" body += "" - body += "" body += "" body += "" body += "" @@ -725,18 +724,7 @@ client usr << "Mob doesn't exist anymore" return holder.Topic(href, list("makeai"=href_list["makeai"])) - - - else if(href_list["makemask"]) - if(!check_rights(R_SPAWN)) return - var/mob/currentMob = locate(href_list["makemask"]) - if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return - if(!currentMob) - usr << "Mob doesn't exist anymore" - return - holder.Topic(href, list("makemask"=href_list["makemask"])) - - + else if(href_list["setmutantrace"]) if(!check_rights(R_SPAWN)) return diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 01f68d3ac0..7adc6a9679 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -578,14 +578,25 @@ datum/mind switch(href_list["cult"]) if("clear") if(src in ticker.mode.cult) - ticker.mode.remove_cultist(src) + ticker.mode.cult -= src + ticker.mode.update_cult_icons_removed(src) + special_role = null + var/datum/game_mode/cult/cult = ticker.mode + if (istype(cult)) + cult.memoize_cult_objectives(src) + current << "\red You have been brainwashed! You are no longer a cultist!" + memory = "" log_admin("[key_name_admin(usr)] has de-cult'ed [current].") if("cultist") if(!(src in ticker.mode.cult)) - ticker.mode.add_cultist(src) + ticker.mode.cult += src + ticker.mode.update_cult_icons_added(src) special_role = "Cultist" current << "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie." current << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + var/datum/game_mode/cult/cult = ticker.mode + if (istype(cult)) + cult.memoize_cult_objectives(src) log_admin("[key_name_admin(usr)] has cult'ed [current].") if("tome") var/mob/living/carbon/human/H = current diff --git a/code/datums/visibility_networks/chunk.dm b/code/datums/visibility_networks/chunk.dm deleted file mode 100644 index 4abc1340b0..0000000000 --- a/code/datums/visibility_networks/chunk.dm +++ /dev/null @@ -1,179 +0,0 @@ -#define UPDATE_BUFFER 25 // 2.5 seconds - -// CAMERA CHUNK -// -// A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. -// Allows the mob using this chunk to stream these chunks and know what it can and cannot see. - -/datum/visibility_chunk - var/obscured_image = 'icons/effects/cameravis.dmi' - var/obscured_sub = "black" - var/list/obscuredTurfs = list() - var/list/visibleTurfs = list() - var/list/obscured = list() - var/list/viewpoints = list() - var/list/turfs = list() - var/list/seenby = list() - var/visible = 0 - var/changed = 0 - var/updating = 0 - var/x = 0 - var/y = 0 - var/z = 0 - -/datum/visibility_chunk/proc/add(mob/new_mob) - - // if this thing doesn't use one of these visibility systems, kick it out - if (!new_mob.visibility_interface) - return - - // if the mob being added isn't a valid form of that mob, kick it out - if (!new_mob.visibility_interface:canBeAddedToChunk(src)) - return - - // add this chunk to the list of visible chunks - new_mob.visibility_interface:addChunk(src) - - visible++ - seenby += new_mob - if(changed && !updating) - update() - -/datum/visibility_chunk/proc/remove(mob/new_mob) - // if this thing doesn't use one of these visibility systems, kick it out - if (!new_mob.visibility_interface) - return - - // if the mob being added isn't a valid form of that mob, kick it out - if (!new_mob.visibility_interface:canBeAddedToChunk(src)) - return - - // remove the chunk - new_mob.visibility_interface:removeChunk(src) - - // remove the mob from out lists - seenby -= new_mob - if(visible > 0) - visible-- - -/datum/visibility_chunk/proc/visibilityChanged(turf/loc) - if(!visibleTurfs[loc]) - return - hasChanged() - -/datum/visibility_chunk/proc/hasChanged(var/update_now = 0) - if(visible || update_now) - if(!updating) - updating = 1 - spawn(UPDATE_BUFFER) // Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - else - changed = 1 - - -/* -This function needs to be overwritten to return True if the viewpoint object is valid, and false if it is not. -*/ -/datum/visibility_chunk/proc/validViewpoint(var/viewpoint) - return FALSE - -/* -This function needs to be overwritten to return a list of visible turfs for that viewpoint -*/ -/datum/visibility_chunk/proc/getVisibleTurfsForViewpoint(var/viewpoint) - return list() - -// returns a list of turfs which can be seen in by the chunks viewpoints -/datum/visibility_chunk/proc/getVisibleTurfs() - var/list/newVisibleTurfs = list() - for(var/viewpoint in viewpoints) - if (validViewpoint(viewpoint)) - for (var/turf/t in getVisibleTurfsForViewpoint(viewpoint)) - newVisibleTurfs[t]=t - return newVisibleTurfs - -/* -This function needs to be overwritten to find nearby viewpoint objects to the chunk center. -*/ -/datum/visibility_chunk/proc/findNearbyViewpoints() - return FALSE - -/* -This function can be overwritten to change or randomize the obscuring images -*/ -/datum/visibility_chunk/proc/setObscuredImage(var/turf/target_turf) - if(!target_turf.obscured) - target_turf.obscured = image(obscured_image, target_turf, obscured_sub, 15) - -/datum/visibility_chunk/proc/update() - - set background = 1 - - // get a list of all the turfs that our viewpoints can see - var/list/newVisibleTurfs = getVisibleTurfs() - - // Removes turf that isn't in turfs. - newVisibleTurfs &= turfs - - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - obscuredTurfs = turfs - newVisibleTurfs - - // update the visibility overlays - for(var/turf in visAdded) - var/turf/t = turf - if(t.obscured) - obscured -= t.obscured - for(var/mob/current_mob in seenby) - if (current_mob.visibility_interface) - current_mob.visibility_interface:removeObscuredTurf(t) - - for(var/turf in visRemoved) - var/turf/t = turf - if(obscuredTurfs[t]) - setObscuredImage(t) - obscured += t.obscured - for(var/mob/current_mob in seenby) - if (current_mob.visibility_interface) - current_mob.visibility_interface:addObscuredTurf(t) - else - seenby -= current_mob - - -// Create a new chunk, since the chunks are made as they are needed. -/datum/visibility_chunk/New(loc, x, y, z) - - // 0xf = 15 - x &= ~0xf - y &= ~0xf - - src.x = x - src.y = y - src.z = z - - for(var/turf/t in range(10, locate(x + 8, y + 8, z))) - if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) - turfs[t] = t - - // locate all nearby viewpoints - findNearbyViewpoints() - - // get the turfs that are visible to those viewpoints - visibleTurfs = getVisibleTurfs() - - // Removes turf that isn't in turfs. - visibleTurfs &= turfs - - // create the list of turfs we can't see - obscuredTurfs = turfs - visibleTurfs - - // create the list of obscuring images to add to viewing clients - for(var/turf in obscuredTurfs) - var/turf/t = turf - setObscuredImage(t) - obscured += t.obscured - -#undef UPDATE_BUFFER \ No newline at end of file diff --git a/code/datums/visibility_networks/dictionary.dm b/code/datums/visibility_networks/dictionary.dm deleted file mode 100644 index 3dcb1bc427..0000000000 --- a/code/datums/visibility_networks/dictionary.dm +++ /dev/null @@ -1,11 +0,0 @@ -var/datum/visibility_network/cameras/cameraNetwork = new() -var/datum/visibility_network/cult/cultNetwork = new() -var/datum/visibility_network/list/visibility_networks = list("ALL_CAMERAS"=cameraNetwork, "CULT" = cultNetwork) - - -// used by turfs and objects to update all visibility networks -/proc/updateVisibilityNetworks(atom/A, var/opacity_check = 1) - var/datum/visibility_network/currentNetwork - for (var/networkName in visibility_networks) - currentNetwork = visibility_networks[networkName] - currentNetwork.updateVisibility(A, opacity_check) \ No newline at end of file diff --git a/code/datums/visibility_networks/update_triggers.dm b/code/datums/visibility_networks/update_triggers.dm deleted file mode 100644 index f1835eeeb5..0000000000 --- a/code/datums/visibility_networks/update_triggers.dm +++ /dev/null @@ -1,94 +0,0 @@ -//UPDATE TRIGGERS, when the chunk (and the surrounding chunks) should update. - -// TURFS - -/turf - var/image/obscured - -/turf/proc/visibilityChanged() - if(ticker) - updateVisibilityNetworks(src) - -/turf/simulated/Del() - visibilityChanged() - ..() - -/turf/simulated/New() - ..() - visibilityChanged() - - - -// STRUCTURES - -/obj/structure/Del() - if(ticker) - updateVisibilityNetworks(src) - ..() - -/obj/structure/New() - ..() - if(ticker) - updateVisibilityNetworks(src) - -// EFFECTS - -/obj/effect/Del() - if(ticker) - updateVisibilityNetworks(src) - ..() - -/obj/effect/New() - ..() - if(ticker) - updateVisibilityNetworks(src) - - -// DOORS - -// Simply updates the visibility of the area when it opens/closes/destroyed. -/obj/machinery/door/proc/update_nearby_tiles(need_rebuild) - - if(!glass) - updateVisibilityNetworks(src,0) - - if(!air_master) - return 0 - - for(var/turf/simulated/turf in locs) - update_heat_protection(turf) - air_master.AddTurfToUpdate(turf) - - return 1 - - - -#define UPDATE_VISIBILITY_NETWORK_BUFFER 30 - -/mob - var/datum/visibility_network/list/visibilityNetworks=list() - var/updatingVisibilityNetworks=FALSE - -/mob/Move(n,direct) - var/oldLoc = src.loc - . = ..() - if(.) - if(src.visibilityNetworks.len) - if(!src.updatingVisibilityNetworks) - src.updatingVisibilityNetworks = 1 - spawn(UPDATE_VISIBILITY_NETWORK_BUFFER) - if(oldLoc != src.loc) - for (var/datum/visibility_network/currentNetwork in src.visibilityNetworks) - currentNetwork.updateMob(src) - src.updatingVisibilityNetworks = 0 - return ..(n,direct) - -/mob/proc/addToVisibilityNetwork(var/datum/visibility_network/network) - if(network) - src.visibilityNetworks+=network - -/mob/proc/removeFromVisibilityNetwork(var/datum/visibility_network/network) - if(network) - src.visibilityNetworks|=network - -#undef UPDATE_VISIBILITY_NETWORK_BUFFER \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_interface.dm b/code/datums/visibility_networks/visibility_interface.dm deleted file mode 100644 index 7d8efba41d..0000000000 --- a/code/datums/visibility_networks/visibility_interface.dm +++ /dev/null @@ -1,46 +0,0 @@ -/datum/visibility_interface - var/chunk_type = null - var/mob/controller = null - var/list/visible_chunks = list() - - -/datum/visibility_interface/New(var/mob/controller) - src.controller = controller - - -/datum/visibility_interface/proc/validMob() - return getClient() - -/datum/visibility_interface/proc/getClient() - return controller.client - -/datum/visibility_interface/proc/canBeAddedToChunk(var/datum/visibility_chunk/test_chunk) - return istype(test_chunk,chunk_type) - - -/datum/visibility_interface/proc/addChunk(var/datum/visibility_chunk/test_chunk) - visible_chunks+=test_chunk - var/client/currentClient = getClient() - if(currentClient) - currentClient.images += test_chunk.obscured - - -/datum/visibility_interface/proc/removeChunk(var/datum/visibility_chunk/test_chunk) - visible_chunks-=test_chunk - var/client/currentClient = getClient() - if(currentClient) - currentClient.images -= test_chunk.obscured - - -/datum/visibility_interface/proc/removeObscuredTurf(var/turf/target_turf) - if(validMob()) - var/client/currentClient = getClient() - if(currentClient) - currentClient.images -= target_turf.obscured - - -/datum/visibility_interface/proc/addObscuredTurf(var/turf/target_turf) - if(validMob()) - var/client/currentClient = getClient() - if(currentClient) - currentClient.images -= target_turf.obscured \ No newline at end of file diff --git a/code/datums/visibility_networks/visibility_network.dm b/code/datums/visibility_networks/visibility_network.dm deleted file mode 100644 index 225b6e3def..0000000000 --- a/code/datums/visibility_networks/visibility_network.dm +++ /dev/null @@ -1,141 +0,0 @@ -/datum/visibility_network - var/list/viewpoints = list() - - // the type of chunk used by this network - var/datum/visibility_chunk/ChunkType = /datum/visibility_chunk - - // The chunks of the map, mapping the areas that the viewpoints can see. - var/list/chunks = list() - - var/ready = 0 - - -// Creates a chunk key string from x,y,z coordinates -/datum/visibility_network/proc/createChunkKey(x,y,z) - x &= ~0xf - y &= ~0xf - return "[x],[y],[z]" - - -// Checks if a chunk has been Generated in x, y, z. -/datum/visibility_network/proc/chunkGenerated(x, y, z) - return (chunks[createChunkKey(x, y, z)]) - - -// Returns the chunk in the x, y, z. -// If there is no chunk, it creates a new chunk and returns that. -/datum/visibility_network/proc/getChunk(x, y, z) - var/key = createChunkKey(x, y, z) - if(!chunks[key]) - chunks[key] = new ChunkType(null, x, y, z) - return chunks[key] - - -/datum/visibility_network/proc/visibility(var/mob/targetMob) - - // if we've got not visibility interface on the mob, we canot do this - if (!targetMob.visibility_interface) - return - - // 0xf = 15 - var/x1 = max(0, targetMob.x - 16) & ~0xf - var/y1 = max(0, targetMob.y - 16) & ~0xf - var/x2 = min(world.maxx, targetMob.x + 16) & ~0xf - var/y2 = min(world.maxy, targetMob.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getChunk(x, y, targetMob.z) - - var/list/remove = targetMob.visibility_interface:visible_chunks - visibleChunks - var/list/add = visibleChunks - targetMob.visibility_interface:visible_chunks - - for(var/datum/visibility_chunk/chunk in remove) - chunk.remove(targetMob) - - for(var/datum/visibility_chunk/chunk in add) - chunk.add(targetMob) - - -// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. -/datum/visibility_network/proc/updateVisibility(atom/A, var/opacity_check = 1) - if(!ticker || (opacity_check && !A.opacity)) - return - majorChunkChange(A, 2) - - -/datum/visibility_network/proc/updateChunk(x, y, z) - if(!chunkGenerated(x, y, z)) - return - var/datum/visibility_chunk/chunk = getChunk(x, y, z) - chunk.hasChanged() - - -/datum/visibility_network/proc/validViewpoint(var/viewpoint) - return FALSE - - -/datum/visibility_network/proc/addViewpoint(var/viewpoint) - if(validViewpoint(viewpoint)) - majorChunkChange(viewpoint, 1) - - -/datum/visibility_network/proc/removeViewpoint(var/viewpoint) - if(validViewpoint(viewpoint)) - majorChunkChange(viewpoint, 0) - -/datum/visibility_network/proc/getViewpointFromMob(var/mob/currentMob) - return FALSE - -/datum/visibility_network/proc/updateMob(var/mob/currentMob) - var/viewpoint = getViewpointFromMob(currentMob) - if(viewpoint) - updateViewpoint(viewpoint) - - -/datum/visibility_network/proc/updateViewpoint(var/viewpoint) - if(validViewpoint(viewpoint)) - majorChunkChange(viewpoint, 1) - - -// Never access this proc directly!!!! -// This will update the chunk and all the surrounding chunks. -// It will also add the atom to the cameras list if you set the choice to 1. -// Setting the choice to 0 will remove the viewpoint from the chunks. -// If you want to update the chunks around an object, without adding/removing a viewpoint, use choice 2. -/datum/visibility_network/proc/majorChunkChange(atom/c, var/choice) - // 0xf = 15 - if(!c) - return - - var/turf/T = get_turf(c) - if(T) - var/x1 = max(0, T.x - 8) & ~0xf - var/y1 = max(0, T.y - 8) & ~0xf - var/x2 = min(world.maxx, T.x + 8) & ~0xf - var/y2 = min(world.maxy, T.y + 8) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, T.z)) - var/datum/visibility_chunk/chunk = getChunk(x, y, T.z) - if(choice == 0) - // Remove the viewpoint. - chunk.viewpoints -= c - else if(choice == 1) - // You can't have the same viewpoint in the list twice. - chunk.viewpoints |= c - chunk.hasChanged() - -// checks if the network can see a particular atom -/datum/visibility_network/proc/checkCanSee(var/atom/target) - var/turf/position = get_turf(target) - var/datum/visibility_chunk/chunk = getChunk(position.x, position.y, position.z) - if(chunk) - if(chunk.changed) - chunk.hasChanged(1) // Update now, no matter if it's visible or not. - if(chunk.visibleTurfs[position]) - return 1 - return 0 \ No newline at end of file diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 36e5100750..b84388f583 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -422,8 +422,7 @@ /obj/item/weapon/camera_bug/attack_self(mob/usr as mob) var/list/cameras = new/list() - - for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for (var/obj/machinery/camera/C in cameranet.cameras) if (C.bugged && C.status) cameras.Add(C) if (length(cameras) == 0) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index e0e81a647e..ee16e21a77 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -8,7 +8,6 @@ /proc/iscultist(mob/living/M as mob) return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.cult) - /proc/is_convertable_to_cult(datum/mind/mind) if(!istype(mind)) return 0 if(istype(mind.current, /mob/living/carbon/human) && (mind.assigned_role in list("Captain", "Chaplain"))) return 0 @@ -134,8 +133,7 @@ mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself." mob.mutations.Remove(CLUMSY) - add_cult_viewpoint(mob) // give them a viewpoint - + var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -171,20 +169,11 @@ cult_mob.mind.store_memory("You remember that [wordexp]", 0, 0) -/datum/game_mode/proc/add_cult_viewpoint(var/mob/target) - for(var/obj/cult_viewpoint/viewpoint in target) - return - var/obj/cult_viewpoint/viewpoint = new(target) - viewpoint.loc = target - return viewpoint - - /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if (!istype(cult_mind)) return 0 if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind - add_cult_viewpoint(cult_mind.current) update_cult_icons_added(cult_mind) return 1 @@ -200,133 +189,57 @@ cult -= cult_mind cult_mind.current << "\red An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it." cult_mind.memory = "" - - // remove the cult viewpoint object - var/obj/viewpoint = getCultViewpoint(cult_mind.current) - del(viewpoint) - update_cult_icons_removed(cult_mind) if(show_message) for(var/mob/M in viewers(cult_mind.current)) M << "[cult_mind.current] looks like they just reverted to their old faith!" - /datum/game_mode/proc/update_all_cult_icons() spawn(0) - // reset the cult - for(var/datum/mind/cultist in cult) - reset_cult_icons_for_cultist(cultist) - // reset the spirits - for(var/mob/spirit/currentSpirit in spirits) - reset_cult_icons_for_spirit(currentSpirit) - - -/datum/game_mode/proc/reset_cult_icons_for_cultist(var/datum/mind/target) - if(target.current) - if(target.current.client) - remove_all_cult_icons(target) - for(var/datum/mind/cultist in cult) - if(cultist.current) - add_cult_icon(target.current.client,cultist.current) - - -/datum/game_mode/proc/reset_cult_icons_for_spirit(mob/spirit/target) - if (target.client) - remove_all_cult_icons(target) for(var/datum/mind/cultist in cult) if(cultist.current) - add_cult_icon(target.client,cultist.current) - - -/datum/game_mode/proc/add_cult_icon(client/target_client,mob/target_mob) - var/I = image('icons/mob/mob.dmi', loc = target_mob, icon_state = "cult") - target_client.images += I + if(cultist.current.client) + for(var/image/I in cultist.current.client.images) + if(I.icon_state == "cult") + del(I) - -/datum/game_mode/proc/remove_cult_icon(client/target_client,mob/target_mob) - for(var/image/I in target_client.images) - if(I.icon_state == "cult" && I.loc == target_mob) - del(I) - - -/datum/game_mode/proc/remove_all_cult_icons_from_client(client/target) - for(var/image/I in target.images) - if(I.icon_state == "cult") - del(I) - - -/datum/game_mode/proc/remove_all_cult_icons(target) - var/datum/mind/cultist = target - if(istype(cultist)) - if(cultist.current) - if(cultist.current.client) - remove_all_cult_icons_from_client(cultist.current.client) - return TRUE - var/mob/spirit/currentSpirit = target - if(istype(currentSpirit)) - if (currentSpirit.client) - remove_all_cult_icons_from_client(currentSpirit.client) - return TRUE - return FALSE - - -/datum/game_mode/proc/add_cult_icon_to_spirit(mob/spirit/currentSpirit,datum/mind/cultist) - if(!istype(currentSpirit) || !istype(cultist)) - return FALSE - if (currentSpirit.client) - if (cultist.current) - add_cult_icon(currentSpirit.client,cultist.current) - - -/datum/game_mode/proc/add_cult_icon_to_cultist(datum/mind/first_cultist,datum/mind/second_cultist) - if(first_cultist.current && second_cultist.current) - if(first_cultist.current.client) - add_cult_icon(first_cultist.current.client, second_cultist.current) - - -/datum/game_mode/proc/remove_cult_icon_from_cultist(datum/mind/first_cultist,datum/mind/second_cultist) - if(first_cultist.current && second_cultist.current) - if(first_cultist.current.client) - remove_cult_icon(first_cultist.current.client,second_cultist.current) + for(var/datum/mind/cultist in cult) + if(cultist.current) + if(cultist.current.client) + for(var/datum/mind/cultist_1 in cult) + if(cultist_1.current) + var/I = image('icons/mob/mob.dmi', loc = cultist_1.current, icon_state = "cult") + cultist.current.client.images += I - -/datum/game_mode/proc/remove_cult_icon_from_spirit(mob/spirit/currentSpirit,datum/mind/cultist) - if(!istype(currentSpirit) || !istype(cultist)) - return FALSE - if (currentSpirit.client) - if (cultist.current) - remove_cult_icon(currentSpirit.client,cultist.current) - - -/datum/game_mode/proc/cult_icon_pair_link(datum/mind/first_cultist,datum/mind/second_cultist) - if (!istype(first_cultist) || !istype(second_cultist)) - return 0 - add_cult_icon_to_cultist(first_cultist,second_cultist) - add_cult_icon_to_cultist(second_cultist,first_cultist) - -/datum/game_mode/proc/cult_icon_pair_unlink(datum/mind/first_cultist,datum/mind/second_cultist) - if (!istype(first_cultist) || !istype(second_cultist)) - return 0 - remove_cult_icon(first_cultist,second_cultist) - remove_cult_icon(second_cultist,first_cultist) - - /datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) spawn(0) for(var/datum/mind/cultist in cult) - cult_icon_pair_link(cultist,cult_mind) - for(var/mob/spirit/currentSpirit in spirits) - add_cult_icon_to_spirit(currentSpirit,cult_mind) - - + if(cultist.current) + if(cultist.current.client) + var/I = image('icons/mob/mob.dmi', loc = cult_mind.current, icon_state = "cult") + cultist.current.client.images += I + if(cult_mind.current) + if(cult_mind.current.client) + var/image/J = image('icons/mob/mob.dmi', loc = cultist.current, icon_state = "cult") + cult_mind.current.client.images += J + + /datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) spawn(0) for(var/datum/mind/cultist in cult) - cult_icon_pair_unlink(cultist,cult_mind) - for(var/mob/spirit/currentSpirit in spirits) - remove_cult_icon_from_spirit(currentSpirit,cult_mind) - + if(cultist.current) + if(cultist.current.client) + for(var/image/I in cultist.current.client.images) + if(I.icon_state == "cult" && I.loc == cult_mind.current) + del(I) + + if(cult_mind.current) + if(cult_mind.current.client) + for(var/image/I in cult_mind.current.client.images) + if(I.icon_state == "cult") + del(I) + /datum/game_mode/cult/proc/get_unconvertables() var/list/ucs = list() @@ -362,10 +275,6 @@ return 1 -/atom/proc/cult_log(var/message) - investigate_log(message, "cult") - - /datum/game_mode/cult/declare_completion() if(!check_cult_victory()) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 2760a66d49..2d408a1a4f 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -1,7 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 var/cultwords = list() -var/rune_to_english = list() var/runedec = 0 var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", "self", "see", "other", "hide") @@ -17,22 +16,19 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", /proc/runerandom() //randomizes word meaning var/list/runewords=list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri") ///"orkan" and "allaq" removed. for (var/word in engwords) - var/runeword = pick(runewords) - cultwords[word] = runeword - rune_to_english[runeword] = word + cultwords[word] = pick(runewords) runewords-=cultwords[word] - /obj/effect/rune desc = "" anchored = 1 icon = 'icons/obj/rune.dmi' icon_state = "1" var/visibility = 0 - var/view_range = 7 unacidable = 1 layer = TURF_LAYER + var/word1 var/word2 var/word3 @@ -65,112 +61,122 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", // self other technology - Communication rune //was other hear blood // join hide technology - stun rune. Rune color: bright pink. + New() + ..() + var/image/blood = image(loc = src) + blood.override = 1 + for(var/mob/living/silicon/ai/AI in player_list) + AI.client.images += blood -/obj/effect/rune/New() - ..() - var/image/blood = image(loc = src) - blood.override = 1 - for(var/mob/living/silicon/ai/AI in player_list) - AI.client.images += blood - cultNetwork.viewpoints+=src - cultNetwork.addViewpoint(src) + examine() + set src in view(2) -/obj/effect/rune/Del() - ..() - cultNetwork.viewpoints-=src - cultNetwork.removeViewpoint(src) + if(!iscultist(usr)) + usr << "A strange collection of symbols drawn in blood." + return + /* Explosions... really? + if(desc && !usr.stat) + usr << "It reads: [desc]." + sleep(30) + explosion(src.loc, 0, 2, 5, 5) + if(src) + del(src) + */ + if(!desc) + usr << "A spell circle drawn in blood. It reads: [word1] [word2] [word3]." + else + usr << "Explosive Runes inscription in blood. It reads: [desc]." -/obj/effect/rune/examine() - set src in view(2) - - if(!iscultist(usr) && !isSpirit(usr)) - usr << "A strange collection of symbols drawn in blood." return - if(!desc) - usr << "A spell circle drawn in blood. It reads: [word1] [word2] [word3]." - else - usr << "Explosive Runes inscription in blood. It reads: [desc]." - - return -/obj/effect/rune/attackby(I as obj, user as mob) - if(istype(I, /obj/item/weapon/tome) && iscultist(user)) - user << "You retrace your steps, carefully undoing the lines of the rune." - del(src) + attackby(I as obj, user as mob) + if(istype(I, /obj/item/weapon/tome) && iscultist(user)) + user << "You retrace your steps, carefully undoing the lines of the rune." + del(src) + return + else if(istype(I, /obj/item/weapon/nullrod)) + user << "\blue You disrupt the vile magic with the deadening field of the null rod!" + del(src) + return return - else if(istype(I, /obj/item/weapon/nullrod)) - user << "\blue You disrupt the vile magic with the deadening field of the null rod!" - del(src) - return - return -/obj/effect/rune/proc/get_word_string() - if (word1 == cultwords["travel"]) - if (word2 == cultwords["self"]) - return "teleport" - if (word2 == cultwords["other"]) - return "itemport" - return "[rune_to_english[word1]]_[rune_to_english[word2]]_[rune_to_english[word3]]" - - -/obj/effect/rune - var/list/effect_dictionary = list( "teleport"=/obj/effect/rune/proc/teleportRune, - "itemport"=/obj/effect/rune/proc/itemportRune, - "see_blood_hell"=/obj/effect/rune/proc/tomesummon, - "hell_destroy_other"=/obj/effect/rune/proc/armor, - "join_blood_self"=/obj/effect/rune/proc/convert, - "hell_join_self"=/obj/effect/rune/proc/tearreality, - "destroy_see_technology"=/obj/effect/rune/proc/empRune, - "travel_blood_self"=/obj/effect/rune/proc/drain, - "see_hell_join"=/obj/effect/rune/proc/seer, - "blood_join_hell"=/obj/effect/rune/proc/raise, - "hide_see_blood"=/obj/effect/rune/proc/obscureRune, - "hell_travel_self"=/obj/effect/rune/proc/ajourney, - "blood_see_travel"=/obj/effect/rune/proc/manifest, - "hell_technology_join"=/obj/effect/rune/proc/talisman, - "hell_blood_join"=/obj/effect/rune/proc/sacrifice, - "blood_see_hide"=/obj/effect/rune/proc/revealrunesrune, - "destroy_travel_self"=/obj/effect/rune/proc/wall, - "travel_technology_other"=/obj/effect/rune/proc/freedom, - "join_other_self"=/obj/effect/rune/proc/cultsummon, - "hide_other_see"=/obj/effect/rune/proc/deafen, - "destroy_see_other"=/obj/effect/rune/proc/blind, - "destroy_see_blood"=/obj/effect/rune/proc/bloodboil, - "self_other_technology"=/obj/effect/rune/proc/communicate, - "join_hide_technology"=/obj/effect/rune/proc/runestun ) - -/obj/effect/rune/attack_hand(mob/living/user as mob) - if(!iscultist(user)) - user << "You can't mouth the arcane scratchings without fumbling over them." - return - if(istype(user.wear_mask, /obj/item/clothing/mask/muzzle)) - user << "You are unable to speak the words of the rune." - return - if(user.silent) // checking if we've been muted somehow - user << "You are unable to speak at all! You cannot say the words of the rune." - if(!word1 || !word2 || !word3 || prob(user.getBrainLoss())) - return fizzle() - - var/word_string = get_word_string() - if (word_string in effect_dictionary) - cult_log("of type [effect_dictionary[word_string]] activated by [key_name_admin(user)].") - return call(src,effect_dictionary[word_string])() - return fizzle() + attack_hand(mob/living/user as mob) + if(!iscultist(user)) + user << "You can't mouth the arcane scratchings without fumbling over them." + return + if(istype(user.wear_mask, /obj/item/clothing/mask/muzzle)) + user << "You are unable to speak the words of the rune." + return + if(!word1 || !word2 || !word3 || prob(user.getBrainLoss())) + return fizzle() +// if(!src.visibility) +// src.visibility=1 + if(word1 == cultwords["travel"] && word2 == cultwords["self"]) + return teleport(src.word3) + if(word1 == cultwords["see"] && word2 == cultwords["blood"] && word3 == cultwords["hell"]) + return tomesummon() + if(word1 == cultwords["hell"] && word2 == cultwords["destroy"] && word3 == cultwords["other"]) + return armor() + if(word1 == cultwords["join"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) + return convert() + if(word1 == cultwords["hell"] && word2 == cultwords["join"] && word3 == cultwords["self"]) + return tearreality() + if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["technology"]) + return emp(src.loc,3) + if(word1 == cultwords["travel"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) + return drain() + if(word1 == cultwords["see"] && word2 == cultwords["hell"] && word3 == cultwords["join"]) + return seer() + if(word1 == cultwords["blood"] && word2 == cultwords["join"] && word3 == cultwords["hell"]) + return raise() + if(word1 == cultwords["hide"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) + return obscure(4) + if(word1 == cultwords["hell"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) + return ajourney() + if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["travel"]) + return manifest() + if(word1 == cultwords["hell"] && word2 == cultwords["technology"] && word3 == cultwords["join"]) + return talisman() + if(word1 == cultwords["hell"] && word2 == cultwords["blood"] && word3 == cultwords["join"]) + return sacrifice() + if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["hide"]) + return revealrunes(src) + if(word1 == cultwords["destroy"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) + return wall() + if(word1 == cultwords["travel"] && word2 == cultwords["technology"] && word3 == cultwords["other"]) + return freedom() + if(word1 == cultwords["join"] && word2 == cultwords["other"] && word3 == cultwords["self"]) + return cultsummon() + if(word1 == cultwords["hide"] && word2 == cultwords["other"] && word3 == cultwords["see"]) + return deafen() + if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["other"]) + return blind() + if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) + return bloodboil() + if(word1 == cultwords["self"] && word2 == cultwords["other"] && word3 == cultwords["technology"]) + return communicate() + if(word1 == cultwords["travel"] && word2 == cultwords["other"]) + return itemport(src.word3) + if(word1 == cultwords["join"] && word2 == cultwords["hide"] && word3 == cultwords["technology"]) + return runestun() + else + return fizzle() -/obj/effect/rune/proc/fizzle() - if(istype(src,/obj/effect/rune)) - usr.say(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) - else - usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) - for (var/mob/V in viewers(src)) - V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2) - return + proc + fizzle() + if(istype(src,/obj/effect/rune)) + usr.say(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) + else + usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix.")) + for (var/mob/V in viewers(src)) + V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2) + return -/obj/effect/rune/proc/check_icon() - icon = get_uristrune_cult(word1, word2, word3) + check_icon() + icon = get_uristrune_cult(word1, word2, word3) /obj/item/weapon/tome name = "arcane tome" diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index e7f1e2ff26..e5be5d60a7 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -1,205 +1,197 @@ var/list/sacrificed = list() - +/obj/effect/rune /////////////////////////////////////////FIRST RUNE -/obj/effect/rune/proc/teleportRune() - return teleport(src.word3) - -/obj/effect/rune/proc/teleport(var/key) - var/mob/living/user = usr - var/allrunesloc[] - allrunesloc = new/list() - var/index = 0 -// var/tempnum = 0 - for(var/obj/effect/rune/R in world) - if(R == src) - continue - if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && R.z != 2) - index++ - allrunesloc.len = index - allrunesloc[index] = R.loc - if(index >= 5) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" - if (istype(user, /mob/living)) - user.take_overall_damage(5, 0) - del(src) - if(allrunesloc && index != 0) - if(istype(src,/obj/effect/rune)) - user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting - else - user.whisper("Sas[pick("'","`")]so c'arta forbici!") - user.visible_message("\red [user] disappears in a flash of red light!", \ - "\red You feel as your body gets dragged through the dimension of Nar-Sie!", \ - "\red You hear a sickening crunch and sloshing of viscera.") - user.loc = allrunesloc[rand(1,index)] - return - if(istype(src,/obj/effect/rune)) - return fizzle() //Use friggin manuals, Dorf, your list was of zero length. - else - call(/obj/effect/rune/proc/fizzle)() - return + proc + teleport(var/key) + var/mob/living/user = usr + var/allrunesloc[] + allrunesloc = new/list() + var/index = 0 + // var/tempnum = 0 + for(var/obj/effect/rune/R in world) + if(R == src) + continue + if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && R.z != 2) + index++ + allrunesloc.len = index + allrunesloc[index] = R.loc + if(index >= 5) + user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + if (istype(user, /mob/living)) + user.take_overall_damage(5, 0) + del(src) + if(allrunesloc && index != 0) + if(istype(src,/obj/effect/rune)) + user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting + else + user.whisper("Sas[pick("'","`")]so c'arta forbici!") + user.visible_message("\red [user] disappears in a flash of red light!", \ + "\red You feel as your body gets dragged through the dimension of Nar-Sie!", \ + "\red You hear a sickening crunch and sloshing of viscera.") + user.loc = allrunesloc[rand(1,index)] + return + if(istype(src,/obj/effect/rune)) + return fizzle() //Use friggin manuals, Dorf, your list was of zero length. + else + call(/obj/effect/rune/proc/fizzle)() + return -/obj/effect/rune/proc/itemportRune() - return itemport(src.word3) -/obj/effect/rune/proc/itemport(var/key) + + itemport(var/key) // var/allrunesloc[] // allrunesloc = new/list() // var/index = 0 -// var/tempnum = 0 - var/culcount = 0 - var/runecount = 0 - var/obj/effect/rune/IP = null - var/mob/living/user = usr - for(var/obj/effect/rune/R in world) - if(R == src) - continue - if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key) - IP = R - runecount++ - if(runecount >= 2) - user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" - if (istype(user, /mob/living)) - user.take_overall_damage(5, 0) - del(src) - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount>=3) - user.say("Sas[pick("'","`")]so c'arta forbici tarem!") - user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ - "\red You smell ozone.") - for(var/obj/O in src.loc) - if(!O.anchored) - O.loc = IP.loc - for(var/mob/M in src.loc) - M.loc = IP.loc - return + // var/tempnum = 0 + var/culcount = 0 + var/runecount = 0 + var/obj/effect/rune/IP = null + var/mob/living/user = usr + for(var/obj/effect/rune/R in world) + if(R == src) + continue + if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key) + IP = R + runecount++ + if(runecount >= 2) + user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric" + if (istype(user, /mob/living)) + user.take_overall_damage(5, 0) + del(src) + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount>=3) + user.say("Sas[pick("'","`")]so c'arta forbici tarem!") + user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "\red You feel air moving from the rune - like as it was swapped with somewhere else.", \ + "\red You smell ozone.") + for(var/obj/O in src.loc) + if(!O.anchored) + O.loc = IP.loc + for(var/mob/M in src.loc) + M.loc = IP.loc + return - return fizzle() + return fizzle() /////////////////////////////////////////SECOND RUNE -/obj/effect/rune/proc/tomesummon() - if(istype(src,/obj/effect/rune)) - usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - else - usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") - usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ - "\red You hear a pop and smell ozone.") - if(istype(src,/obj/effect/rune)) - new /obj/item/weapon/tome(src.loc) - else - new /obj/item/weapon/tome(usr.loc) - del(src) - return + tomesummon() + if(istype(src,/obj/effect/rune)) + usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") + else + usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!") + usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \ + "\red You hear a pop and smell ozone.") + if(istype(src,/obj/effect/rune)) + new /obj/item/weapon/tome(src.loc) + else + new /obj/item/weapon/tome(usr.loc) + del(src) + return /////////////////////////////////////////THIRD RUNE -/obj/effect/rune/proc/convert() - for(var/mob/living/carbon/M in src.loc) - if(iscultist(M)) - continue - if(M.stat==2) - continue - usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!") - M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ - "\red AAAAAAHHHH!.", \ - "\red You hear an anguished scream.") - cult_log("[key_name_admin(usr)] tried to convert [key_name_admin(M)]") - if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument - ticker.mode.add_cultist(M.mind) - M.mind.special_role = "Cultist" - M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - M << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - return 1 - else - M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - M << "And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs." - return 0 + convert() + for(var/mob/living/carbon/M in src.loc) + if(iscultist(M)) + continue + if(M.stat==2) + continue + usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!") + M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ + "\red AAAAAAHHHH!.", \ + "\red You hear an anguished scream.") + if(is_convertable_to_cult(M.mind) && !jobban_isbanned(M, "cultist"))//putting jobban check here because is_convertable uses mind as argument + ticker.mode.add_cultist(M.mind) + M.mind.special_role = "Cultist" + M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + M << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + return 1 + else + M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + M << "And you were able to force it out of your mind. You now know the truth, there's something horrible out there, stop it and its minions at all costs." + return 0 - return fizzle() + return fizzle() /////////////////////////////////////////FOURTH RUNE -/obj/effect/rune/proc/tearreality() - var/cultist_count = 0 - for(var/mob/M in range(1,src)) - if(iscultist(M) && !M.stat) - M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!") - cultist_count += 1 - if(cultist_count >= 9) - cult_log("THE CULT HAS SUMMONED NAR'SIE. GGNORE") - new /obj/machinery/singularity/narsie/large(src.loc) - if(ticker.mode.name == "cult") - ticker.mode:eldergod = 0 - return - else - return fizzle() + tearreality() + var/cultist_count = 0 + for(var/mob/M in range(1,src)) + if(iscultist(M) && !M.stat) + M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!") + cultist_count += 1 + if(cultist_count >= 9) + new /obj/machinery/singularity/narsie/large(src.loc) + if(ticker.mode.name == "cult") + ticker.mode:eldergod = 0 + return + else + return fizzle() /////////////////////////////////////////FIFTH RUNE -/obj/effect/rune/proc/empRune() - emp(src.loc,3) - -/obj/effect/rune/proc/emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist - if(istype(src,/obj/effect/rune)) - usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!") - else - usr.whisper("Ta'gh fara[pick("'","`")]qha fel d'amar det!") - playsound(U, 'sound/items/Welder2.ogg', 25, 1) - var/turf/T = get_turf(U) - if(T) - T.hotspot_expose(700,125) - var/rune = src // detaching the proc - in theory - empulse(U, (range_red - 2), range_red) - del(rune) - return + + emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist + if(istype(src,/obj/effect/rune)) + usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!") + else + usr.whisper("Ta'gh fara[pick("'","`")]qha fel d'amar det!") + playsound(U, 'sound/items/Welder2.ogg', 25, 1) + var/turf/T = get_turf(U) + if(T) + T.hotspot_expose(700,125) + var/rune = src // detaching the proc - in theory + empulse(U, (range_red - 2), range_red) + del(rune) + return /////////////////////////////////////////SIXTH RUNE -/obj/effect/rune/proc/drain() - var/drain = 0 - for(var/obj/effect/rune/R in world) - if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) - for(var/mob/living/carbon/D in R.loc) - if(D.stat!=2) - cult_log("[key_name_admin(usr)] has drained blood from [key_name_admin(D)]") - var/bdrain = rand(1,25) - D << "\red You feel weakened." - D.take_overall_damage(bdrain, 0) - drain += bdrain - if(!drain) - return fizzle() - usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") - usr.visible_message("\red Blood flows from the rune into [usr]!", \ - "\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ - "\red You hear a liquid flowing.") - var/mob/living/user = usr - if(user.bhunger) - user.bhunger = max(user.bhunger-2*drain,0) - if(drain>=50) - user.visible_message("\red [user]'s eyes give off eerie red glow!", \ - "\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ - "\red You hear a heartbeat.") - user.bhunger += drain - src = user - spawn() - for (,user.bhunger>0,user.bhunger--) - sleep(50) - user.take_overall_damage(3, 0) - return - user.heal_organ_damage(drain%5, 0) - drain-=drain%5 - for (,drain>0,drain-=5) - sleep(2) - user.heal_organ_damage(5, 0) - return + drain() + var/drain = 0 + for(var/obj/effect/rune/R in world) + if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) + for(var/mob/living/carbon/D in R.loc) + if(D.stat!=2) + var/bdrain = rand(1,25) + D << "\red You feel weakened." + D.take_overall_damage(bdrain, 0) + drain += bdrain + if(!drain) + return fizzle() + usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!") + usr.visible_message("\red Blood flows from the rune into [usr]!", \ + "\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \ + "\red You hear a liquid flowing.") + var/mob/living/user = usr + if(user.bhunger) + user.bhunger = max(user.bhunger-2*drain,0) + if(drain>=50) + user.visible_message("\red [user]'s eyes give off eerie red glow!", \ + "\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \ + "\red You hear a heartbeat.") + user.bhunger += drain + src = user + spawn() + for (,user.bhunger>0,user.bhunger--) + sleep(50) + user.take_overall_damage(3, 0) + return + user.heal_organ_damage(drain%5, 0) + drain-=drain%5 + for (,drain>0,drain-=5) + sleep(2) + user.heal_organ_damage(5, 0) + return @@ -208,98 +200,98 @@ var/list/sacrificed = list() /////////////////////////////////////////SEVENTH RUNE -/obj/effect/rune/proc/seer() - if(usr.loc==src.loc) - if(usr.seer==1) - usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") - usr << "\red The world beyond fades from your vision." - usr.see_invisible = SEE_INVISIBLE_LIVING - usr.seer = 0 - else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) - usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." - usr.see_invisible = SEE_INVISIBLE_OBSERVER - usr.seer = 0 - else - usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") - usr << "\red The world beyond opens to your eyes." - usr.see_invisible = SEE_INVISIBLE_OBSERVER - usr.seer = 1 - return - return fizzle() + seer() + if(usr.loc==src.loc) + if(usr.seer==1) + usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.") + usr << "\red The world beyond fades from your vision." + usr.see_invisible = SEE_INVISIBLE_LIVING + usr.seer = 0 + else if(usr.see_invisible!=SEE_INVISIBLE_LIVING) + usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision." + usr.see_invisible = SEE_INVISIBLE_OBSERVER + usr.seer = 0 + else + usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!") + usr << "\red The world beyond opens to your eyes." + usr.see_invisible = SEE_INVISIBLE_OBSERVER + usr.seer = 1 + return + return fizzle() /////////////////////////////////////////EIGHTH RUNE -/obj/effect/rune/proc/raise() - var/mob/living/carbon/human/corpse_to_raise - var/mob/living/carbon/human/body_to_sacrifice + raise() + var/mob/living/carbon/human/corpse_to_raise + var/mob/living/carbon/human/body_to_sacrifice - var/is_sacrifice_target = 0 - for(var/mob/living/carbon/human/M in src.loc) - if(M.stat == DEAD) - if(ticker.mode.name == "cult" && M.mind == ticker.mode:sacrifice_target) - is_sacrifice_target = 1 - else - corpse_to_raise = M - if(M.key) - M.ghostize(1) //kick them out of their body - break - if(!corpse_to_raise) - if(is_sacrifice_target) - usr << "\red The Geometer of blood wants this mortal for himself." - return fizzle() - - - is_sacrifice_target = 0 - find_sacrifice: - for(var/obj/effect/rune/R in world) - if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"]) - for(var/mob/living/carbon/human/N in R.loc) - if(ticker.mode.name == "cult" && N.mind && N.mind == ticker.mode:sacrifice_target) + var/is_sacrifice_target = 0 + for(var/mob/living/carbon/human/M in src.loc) + if(M.stat == DEAD) + if(ticker.mode.name == "cult" && M.mind == ticker.mode:sacrifice_target) is_sacrifice_target = 1 else - if(N.stat!= DEAD) - body_to_sacrifice = N - break find_sacrifice + corpse_to_raise = M + if(M.key) + M.ghostize(1) //kick them out of their body + break + if(!corpse_to_raise) + if(is_sacrifice_target) + usr << "\red The Geometer of blood wants this mortal for himself." + return fizzle() - if(!body_to_sacrifice) - if (is_sacrifice_target) - usr << "\red The Geometer of blood wants that corpse for himself." - else - usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." - return fizzle() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break + is_sacrifice_target = 0 + find_sacrifice: + for(var/obj/effect/rune/R in world) + if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"]) + for(var/mob/living/carbon/human/N in R.loc) + if(ticker.mode.name == "cult" && N.mind && N.mind == ticker.mode:sacrifice_target) + is_sacrifice_target = 1 + else + if(N.stat!= DEAD) + body_to_sacrifice = N + break find_sacrifice - if(!ghost) - usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." - return fizzle() + if(!body_to_sacrifice) + if (is_sacrifice_target) + usr << "\red The Geometer of blood wants that corpse for himself." + else + usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used." + return fizzle() - corpse_to_raise.revive() + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break - corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed) - //This means, should that player leave the body, the original may re-enter - usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") - corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ - "\red Life... I'm alive again...", \ - "\red You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ - "\red You feel as your blood boils, tearing you apart.", \ - "\red You hear a thousand voices, all crying in pain.") - body_to_sacrifice.gib() + if(!ghost) + usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie." + return fizzle() + + corpse_to_raise.revive() + + corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed) + //This means, should that player leave the body, the original may re-enter + usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") + corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ + "\red Life... I'm alive again...", \ + "\red You hear a faint, slightly familiar whisper.") + body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \ + "\red You feel as your blood boils, tearing you apart.", \ + "\red You hear a thousand voices, all crying in pain.") + body_to_sacrifice.gib() // if(ticker.mode.name == "cult") // ticker.mode:add_cultist(corpse_to_raise.mind) // else // ticker.mode.cult |= corpse_to_raise.mind - corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - return + corpse_to_raise << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + corpse_to_raise << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + return @@ -307,113 +299,111 @@ var/list/sacrificed = list() /////////////////////////////////////////NINETH RUNE -/obj/effect/rune/proc/obscureRune() - return obscure(4) -/obj/effect/rune/proc/obscure(var/rad) - var/S=0 - for(var/obj/effect/rune/R in orange(rad,src)) - if(R!=src) - R.invisibility=INVISIBILITY_OBSERVER - S=1 - if(S) - if(istype(src,/obj/effect/rune)) - usr.say("Kla[pick("'","`")]atu barada nikt'o!") - for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3) - del(src) - else - usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") - usr << "\red Your talisman turns into gray dust, veiling the surrounding runes." - for (var/mob/V in orange(1,src)) - if(V!=usr) - V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3) + obscure(var/rad) + var/S=0 + for(var/obj/effect/rune/R in orange(rad,src)) + if(R!=src) + R.invisibility=INVISIBILITY_OBSERVER + S=1 + if(S) + if(istype(src,/obj/effect/rune)) + usr.say("Kla[pick("'","`")]atu barada nikt'o!") + for (var/mob/V in viewers(src)) + V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3) + del(src) + else + usr.whisper("Kla[pick("'","`")]atu barada nikt'o!") + usr << "\red Your talisman turns into gray dust, veiling the surrounding runes." + for (var/mob/V in orange(1,src)) + if(V!=usr) + V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3) - return - if(istype(src,/obj/effect/rune)) - return fizzle() - else - call(/obj/effect/rune/proc/fizzle)() - return + return + if(istype(src,/obj/effect/rune)) + return fizzle() + else + call(/obj/effect/rune/proc/fizzle)() + return /////////////////////////////////////////TENTH RUNE -/obj/effect/rune/proc/ajourney() //some bits copypastaed from admin tools - Urist - if(usr.loc==src.loc) - var/mob/living/carbon/human/L = usr - usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") - usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ - "\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ - "\red You hear only complete silence for a moment.") - usr.ghostize(1) - L.ajourn = 1 - while(L) - if(L.key) - L.ajourn=0 - return - else - L.take_organ_damage(10, 0) - sleep(100) - return fizzle() + ajourney() //some bits copypastaed from admin tools - Urist + if(usr.loc==src.loc) + var/mob/living/carbon/human/L = usr + usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") + usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ + "\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ + "\red You hear only complete silence for a moment.") + usr.ghostize(1) + L.ajourn = 1 + while(L) + if(L.key) + L.ajourn=0 + return + else + L.take_organ_damage(10, 0) + sleep(100) + return fizzle() /////////////////////////////////////////ELEVENTH RUNE -/obj/effect/rune/proc/manifest() - var/obj/effect/rune/this_rune = src - src = null - if(usr.loc!=this_rune.loc) - return this_rune.fizzle() - var/mob/dead/observer/ghost - for(var/mob/dead/observer/O in this_rune.loc) - if(!O.client) continue - if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue - ghost = O - break - if(!ghost) - return this_rune.fizzle() - if(jobban_isbanned(ghost, "cultist")) - return this_rune.fizzle() + manifest() + var/obj/effect/rune/this_rune = src + src = null + if(usr.loc!=this_rune.loc) + return this_rune.fizzle() + var/mob/dead/observer/ghost + for(var/mob/dead/observer/O in this_rune.loc) + if(!O.client) continue + if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue + ghost = O + break + if(!ghost) + return this_rune.fizzle() + if(jobban_isbanned(ghost, "cultist")) + return this_rune.fizzle() - usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") - var/mob/living/carbon/human/dummy/D = new(this_rune.loc) - usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red A shape forms in the center of the rune. A shape of... a man.", \ - "\red You hear liquid flowing.") - D.real_name = "Unknown" - var/chose_name = 0 - for(var/obj/item/weapon/paper/P in this_rune.loc) - if(P.info) - D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) - chose_name = 1 - break - if(!chose_name) - D.real_name = "[pick(first_names_male)] [pick(last_names)]" - D.universal_speak = 1 - D.status_flags &= ~GODMODE + usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!") + var/mob/living/carbon/human/dummy/D = new(this_rune.loc) + usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \ + "\red A shape forms in the center of the rune. A shape of... a man.", \ + "\red You hear liquid flowing.") + D.real_name = "Unknown" + var/chose_name = 0 + for(var/obj/item/weapon/paper/P in this_rune.loc) + if(P.info) + D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) + chose_name = 1 + break + if(!chose_name) + D.real_name = "[pick(first_names_male)] [pick(last_names)]" + D.universal_speak = 1 + D.status_flags &= ~GODMODE - D.key = ghost.key + D.key = ghost.key - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(D.mind) - else - ticker.mode.cult+=D.mind + if(ticker.mode.name == "cult") + ticker.mode:add_cultist(D.mind) + else + ticker.mode.cult+=D.mind - D.mind.special_role = "Cultist" - D << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." - D << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." + D.mind.special_role = "Cultist" + D << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." + D << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." - var/mob/living/user = usr - while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc) - user.take_organ_damage(1, 0) - sleep(30) - if(D) - D.visible_message("\red [D] slowly dissipates into dust and bones.", \ - "\red You feel pain, as bonds formed between your soul and this homunculus break.", \ - "\red You hear faint rustle.") - D.dust() - return + var/mob/living/user = usr + while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc) + user.take_organ_damage(1, 0) + sleep(30) + if(D) + D.visible_message("\red [D] slowly dissipates into dust and bones.", \ + "\red You feel pain, as bonds formed between your soul and this homunculus break.", \ + "\red You hear faint rustle.") + D.dust() + return @@ -421,649 +411,629 @@ var/list/sacrificed = list() /////////////////////////////////////////TWELFTH RUNE -/obj/effect/rune/proc/talisman()//only hide, emp, teleport, deafen, blind and tome runes can be imbued atm - var/obj/item/weapon/paper/newtalisman - var/unsuitable_newtalisman = 0 - for(var/obj/item/weapon/paper/P in src.loc) - if(!P.info) - newtalisman = P - break - else - unsuitable_newtalisman = 1 - if (!newtalisman) - if (unsuitable_newtalisman) - usr << "\red The blank is tainted. It is unsuitable." - return fizzle() + talisman()//only hide, emp, teleport, deafen, blind and tome runes can be imbued atm + var/obj/item/weapon/paper/newtalisman + var/unsuitable_newtalisman = 0 + for(var/obj/item/weapon/paper/P in src.loc) + if(!P.info) + newtalisman = P + break + else + unsuitable_newtalisman = 1 + if (!newtalisman) + if (unsuitable_newtalisman) + usr << "\red The blank is tainted. It is unsuitable." + return fizzle() - var/obj/effect/rune/imbued_from - var/obj/item/weapon/paper/talisman/T - for(var/obj/effect/rune/R in orange(1,src)) - if(R==src) - continue - if(R.word1==cultwords["travel"] && R.word2==cultwords["self"]) //teleport - T = new(src.loc) - T.imbue = "[R.word3]" - T.info = "[R.word3]" - imbued_from = R - break - if(R.word1==cultwords["see"] && R.word2==cultwords["blood"] && R.word3==cultwords["hell"]) //tome - T = new(src.loc) - T.imbue = "newtome" - imbued_from = R - break - if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["technology"]) //emp - T = new(src.loc) - T.imbue = "emp" - imbued_from = R - break - if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["destroy"]) //conceal - T = new(src.loc) - T.imbue = "conceal" - imbued_from = R - break - if(R.word1==cultwords["hell"] && R.word2==cultwords["destroy"] && R.word3==cultwords["other"]) //armor - T = new(src.loc) - T.imbue = "armor" - imbued_from = R - break - if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["hide"]) //reveal - T = new(src.loc) - T.imbue = "revealrunes" - imbued_from = R - break - if(R.word1==cultwords["hide"] && R.word2==cultwords["other"] && R.word3==cultwords["see"]) //deafen - T = new(src.loc) - T.imbue = "deafen" - imbued_from = R - break - if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["other"]) //blind - T = new(src.loc) - T.imbue = "blind" - imbued_from = R - break - if(R.word1==cultwords["self"] && R.word2==cultwords["other"] && R.word3==cultwords["technology"]) //communicat - T = new(src.loc) - T.imbue = "communicate" - imbued_from = R - break - if(R.word1==cultwords["join"] && R.word2==cultwords["hide"] && R.word3==cultwords["technology"]) //communicat - T = new(src.loc) - T.imbue = "runestun" - imbued_from = R - break - if (imbued_from) - for (var/mob/V in viewers(src)) - V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3) - usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") - del(imbued_from) - del(newtalisman) - else - return fizzle() + var/obj/effect/rune/imbued_from + var/obj/item/weapon/paper/talisman/T + for(var/obj/effect/rune/R in orange(1,src)) + if(R==src) + continue + if(R.word1==cultwords["travel"] && R.word2==cultwords["self"]) //teleport + T = new(src.loc) + T.imbue = "[R.word3]" + T.info = "[R.word3]" + imbued_from = R + break + if(R.word1==cultwords["see"] && R.word2==cultwords["blood"] && R.word3==cultwords["hell"]) //tome + T = new(src.loc) + T.imbue = "newtome" + imbued_from = R + break + if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["technology"]) //emp + T = new(src.loc) + T.imbue = "emp" + imbued_from = R + break + if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["destroy"]) //conceal + T = new(src.loc) + T.imbue = "conceal" + imbued_from = R + break + if(R.word1==cultwords["hell"] && R.word2==cultwords["destroy"] && R.word3==cultwords["other"]) //armor + T = new(src.loc) + T.imbue = "armor" + imbued_from = R + break + if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["hide"]) //reveal + T = new(src.loc) + T.imbue = "revealrunes" + imbued_from = R + break + if(R.word1==cultwords["hide"] && R.word2==cultwords["other"] && R.word3==cultwords["see"]) //deafen + T = new(src.loc) + T.imbue = "deafen" + imbued_from = R + break + if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["other"]) //blind + T = new(src.loc) + T.imbue = "blind" + imbued_from = R + break + if(R.word1==cultwords["self"] && R.word2==cultwords["other"] && R.word3==cultwords["technology"]) //communicat + T = new(src.loc) + T.imbue = "communicate" + imbued_from = R + break + if(R.word1==cultwords["join"] && R.word2==cultwords["hide"] && R.word3==cultwords["technology"]) //communicat + T = new(src.loc) + T.imbue = "runestun" + imbued_from = R + break + if (imbued_from) + for (var/mob/V in viewers(src)) + V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3) + usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!") + del(imbued_from) + del(newtalisman) + else + return fizzle() /////////////////////////////////////////THIRTEENTH RUNE -/obj/effect/rune/proc/mend() - var/mob/living/user = usr - src = null - user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") - user.take_overall_damage(200, 0) - runedec+=10 - user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ - "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ - "\red You hear faint rustle.") - for(,user.stat==2) - sleep(600) - if (!user) + mend() + var/mob/living/user = usr + src = null + user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") + user.take_overall_damage(200, 0) + runedec+=10 + user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ + "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ + "\red You hear faint rustle.") + for(,user.stat==2) + sleep(600) + if (!user) + return + runedec-=10 return - runedec-=10 - return /////////////////////////////////////////FOURTEETH RUNE -// returns 0 if the rune is not used. returns 1 if the rune is used. -/obj/effect/rune/proc/communicate() - . = 1 // Default output is 1. If the rune is deleted it will return 1 - var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") - if(!input) - if (istype(src)) - fizzle() - return 0 - else - return 0 - - // record this - cult_log("[key_name(usr,0)] says : [input]") + // returns 0 if the rune is not used. returns 1 if the rune is used. + communicate() + . = 1 // Default output is 1. If the rune is deleted it will return 1 + var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") + if(!input) + if (istype(src)) + fizzle() + return 0 + else + return 0 + if(istype(src,/obj/effect/rune)) + usr.say("O bidai nabora se[pick("'","`")]sma!") + else + usr.whisper("O bidai nabora se[pick("'","`")]sma!") - var/obj/cult_viewpoint/vp = getCultViewpoint(usr) - if (!vp) - return 0 - - var/displayName = vp.get_display_name() - var/cultName = vp.get_cult_name() - - if(istype(src,/obj/effect/rune)) - usr.say("O bidai nabora se[pick("'","`")]sma!") - else - usr.whisper("O bidai nabora se[pick("'","`")]sma!") - - if(istype(src,/obj/effect/rune)) - usr.say("[input]") - else - usr.whisper("[input]") - - for(var/datum/mind/H in ticker.mode.cult) - if (H.current) - H.current << "[cultName]: [input]" - - for(var/mob/spirit/spirit in spirits) - spirit << "[displayName]: [input]" - - del(src) - return 1 + if(istype(src,/obj/effect/rune)) + usr.say("[input]") + else + usr.whisper("[input]") + for(var/datum/mind/H in ticker.mode.cult) + if (H.current) + H.current << "\red \b [input]" + del(src) + return 1 /////////////////////////////////////////FIFTEENTH RUNE -/obj/effect/rune/proc/sacrifice() - var/list/mob/living/carbon/human/cultsinrange = list() - var/list/mob/living/carbon/human/victims = list() - for(var/mob/living/carbon/human/V in src.loc)//Checks for non-cultist humans to sacrifice - if(ishuman(V)) - if(!(iscultist(V))) - victims += V//Checks for cult status and mob type - for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards - if(istype(I,/obj/item/brain)) - var/obj/item/brain/B = I - victims += B.brainmob - else if(istype(I,/obj/item/device/mmi)) - var/obj/item/device/mmi/B = I - victims += B.brainmob - else if(istype(I,/obj/item/device/aicard)) - for(var/mob/living/silicon/ai/A in I) - victims += A - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - cultsinrange += C - C.say("Barhah hra zar[pick("'","`")]garis!") - for(var/mob/H in victims) - if (ticker.mode.name == "cult") - if(H.mind == ticker.mode:sacrifice_target) - if(cultsinrange.len >= 3) - sacrificed += H.mind - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining + sacrifice() + var/list/mob/living/carbon/human/cultsinrange = list() + var/list/mob/living/carbon/human/victims = list() + for(var/mob/living/carbon/human/V in src.loc)//Checks for non-cultist humans to sacrifice + if(ishuman(V)) + if(!(iscultist(V))) + victims += V//Checks for cult status and mob type + for(var/obj/item/I in src.loc)//Checks for MMIs/brains/Intellicards + if(istype(I,/obj/item/brain)) + var/obj/item/brain/B = I + victims += B.brainmob + else if(istype(I,/obj/item/device/mmi)) + var/obj/item/device/mmi/B = I + victims += B.brainmob + else if(istype(I,/obj/item/device/aicard)) + for(var/mob/living/silicon/ai/A in I) + victims += A + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + cultsinrange += C + C.say("Barhah hra zar[pick("'","`")]garis!") + for(var/mob/H in victims) + if (ticker.mode.name == "cult") + if(H.mind == ticker.mode:sacrifice_target) + if(cultsinrange.len >= 3) + sacrificed += H.mind + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." + else + usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." else - H.gib() - usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." + if(cultsinrange.len >= 3) + if(H.stat !=2) + if(prob(80)) + usr << "\red The Geometer of Blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, this soul was not enough to gain His favor." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(H.stat !=2) + usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() else - usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." - else - if(cultsinrange.len >= 3) - if(H.stat !=2) - if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." + if(cultsinrange.len >= 3) + if(H.stat !=2) + if(prob(80)) + usr << "\red The Geometer of Blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, this soul was not enough to gain His favor." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + else + if(H.stat !=2) + usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." + else + if(prob(40)) + usr << "\red The Geometer of blood accepts this sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of blood accepts this sacrifice." + usr << "\red However, a mere dead body is not enough to satisfy Him." + if(isrobot(H)) + H.dust()//To prevent the MMI from remaining + else + H.gib() + for(var/mob/living/carbon/monkey/M in src.loc) + if (ticker.mode.name == "cult") + if(M.mind == ticker.mode:sacrifice_target) + if(cultsinrange.len >= 3) + sacrificed += M.mind + usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." + else + usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." + continue + else + if(prob(20)) + usr << "\red The Geometer of Blood accepts your meager sacrifice." ticker.mode:grant_runeword(usr) else usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() + usr << "\red However, a mere monkey is not enough to satisfy Him." else - if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(cultsinrange.len >= 3) - if(H.stat !=2) - if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, this soul was not enough to gain His favor." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - else - if(H.stat !=2) - usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed." - else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere dead body is not enough to satisfy Him." - if(isrobot(H)) - H.dust()//To prevent the MMI from remaining - else - H.gib() - for(var/mob/living/carbon/monkey/M in src.loc) - if (ticker.mode.name == "cult") - if(M.mind == ticker.mode:sacrifice_target) - if(cultsinrange.len >= 3) - sacrificed += M.mind - usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete." - else - usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual." - continue - else - if(prob(20)) usr << "\red The Geometer of Blood accepts your meager sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of blood accepts this sacrifice." - usr << "\red However, a mere monkey is not enough to satisfy Him." - else - usr << "\red The Geometer of Blood accepts your meager sacrifice." - if(prob(20)) - ticker.mode.grant_runeword(usr) - M.gib() + if(prob(20)) + ticker.mode.grant_runeword(usr) + M.gib() /* for(var/mob/living/carbon/alien/A) - for(var/mob/K in cultsinrange) - K.say("Barhah hra zar'garis!") - A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need. - if (ticker.mode.name == "cult") - if(prob(75)) - usr << "\red The Geometer of Blood accepts your exotic sacrifice." - ticker.mode:grant_runeword(usr) - else - usr << "\red The Geometer of Blood accepts your exotic sacrifice." - usr << "\red However, this alien is not enough to gain His favor." - else - usr << "\red The Geometer of Blood accepts your exotic sacrifice." - return - return fizzle() */ + for(var/mob/K in cultsinrange) + K.say("Barhah hra zar'garis!") + A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need. + if (ticker.mode.name == "cult") + if(prob(75)) + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + ticker.mode:grant_runeword(usr) + else + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + usr << "\red However, this alien is not enough to gain His favor." + else + usr << "\red The Geometer of Blood accepts your exotic sacrifice." + return + return fizzle() */ /////////////////////////////////////////SIXTEENTH RUNE -/obj/effect/rune/proc/revealrunesrune() - revealrunes(src) - -/obj/effect/rune/proc/revealrunes(var/obj/W as obj) - var/go=0 - var/rad - var/S=0 - if(istype(W,/obj/effect/rune)) - rad = 6 - go = 1 - if (istype(W,/obj/item/weapon/paper/talisman)) - rad = 4 - go = 1 - if (istype(W,/obj/item/weapon/nullrod)) - rad = 1 - go = 1 - if(go) - for(var/obj/effect/rune/R in orange(rad,src)) - if(R!=src) - R:visibility=15 - S=1 - if(S) - if(istype(W,/obj/item/weapon/nullrod)) - usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!" - return - if(istype(W,/obj/effect/rune)) - usr.say("Nikt[pick("'","`")]o barada kla'atu!") - for (var/mob/V in viewers(src)) - V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3) - del(src) - return - if(istype(W,/obj/item/weapon/paper/talisman)) - usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") - usr << "\red Your talisman turns into red dust, revealing the surrounding runes." - for (var/mob/V in orange(1,usr.loc)) - if(V!=usr) - V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3) - return - return - if(istype(W,/obj/effect/rune)) - return fizzle() - if(istype(W,/obj/item/weapon/paper/talisman)) - call(/obj/effect/rune/proc/fizzle)() - return + revealrunes(var/obj/W as obj) + var/go=0 + var/rad + var/S=0 + if(istype(W,/obj/effect/rune)) + rad = 6 + go = 1 + if (istype(W,/obj/item/weapon/paper/talisman)) + rad = 4 + go = 1 + if (istype(W,/obj/item/weapon/nullrod)) + rad = 1 + go = 1 + if(go) + for(var/obj/effect/rune/R in orange(rad,src)) + if(R!=src) + R:visibility=15 + S=1 + if(S) + if(istype(W,/obj/item/weapon/nullrod)) + usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!" + return + if(istype(W,/obj/effect/rune)) + usr.say("Nikt[pick("'","`")]o barada kla'atu!") + for (var/mob/V in viewers(src)) + V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3) + del(src) + return + if(istype(W,/obj/item/weapon/paper/talisman)) + usr.whisper("Nikt[pick("'","`")]o barada kla'atu!") + usr << "\red Your talisman turns into red dust, revealing the surrounding runes." + for (var/mob/V in orange(1,usr.loc)) + if(V!=usr) + V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3) + return + return + if(istype(W,/obj/effect/rune)) + return fizzle() + if(istype(W,/obj/item/weapon/paper/talisman)) + call(/obj/effect/rune/proc/fizzle)() + return /////////////////////////////////////////SEVENTEENTH RUNE -/obj/effect/rune/proc/wall() - usr.say("Khari[pick("'","`")]d! Eske'te tannin!") - src.density = !src.density - var/mob/living/user = usr - user.take_organ_damage(2, 0) - if(src.density) - usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens." - else - usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space." - return + wall() + usr.say("Khari[pick("'","`")]d! Eske'te tannin!") + src.density = !src.density + var/mob/living/user = usr + user.take_organ_damage(2, 0) + if(src.density) + usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens." + else + usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space." + return /////////////////////////////////////////EIGHTTEENTH RUNE -/obj/effect/rune/proc/freedom() - var/mob/living/user = usr - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current - var/list/mob/living/carbon/users = new - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - users+=C - if(users.len>=3) - var/mob/living/carbon/cultist = input("Choose the one who you want to free", "Followers of Geometer") as null|anything in (cultists - users) - if(!cultist) + freedom() + var/mob/living/user = usr + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current + var/list/mob/living/carbon/users = new + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + users+=C + if(users.len>=3) + var/mob/living/carbon/cultist = input("Choose the one who you want to free", "Followers of Geometer") as null|anything in (cultists - users) + if(!cultist) + return fizzle() + if (cultist == user) //just to be sure. + return + if(!(cultist.buckled || \ + cultist.handcuffed || \ + istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle) || \ + (istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) || \ + (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ + (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ + )) + user << "\red The [cultist] is already free." + return + cultist.buckled = null + if (cultist.handcuffed) + cultist.handcuffed.loc = cultist.loc + cultist.handcuffed = null + cultist.update_inv_handcuffed() + if (cultist.legcuffed) + cultist.legcuffed.loc = cultist.loc + cultist.legcuffed = null + cultist.update_inv_legcuffed() + if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) + cultist.u_equip(cultist.wear_mask) + if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) + cultist.loc:welded = 0 + if(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) + cultist.loc:locked = 0 + if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) + cultist.loc:locked = 0 + for(var/mob/living/carbon/C in users) + user.take_overall_damage(15, 0) + C.say("Khari[pick("'","`")]d! Gual'te nikka!") + del(src) return fizzle() - if (cultist == user) //just to be sure. - return - if(!(cultist.buckled || \ - cultist.handcuffed || \ - istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle) || \ - (istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) || \ - (istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \ - (istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \ - )) - user << "\red The [cultist] is already free." - return - cultist.buckled = null - if (cultist.handcuffed) - cultist.handcuffed.loc = cultist.loc - cultist.handcuffed = null - cultist.update_inv_handcuffed() - if (cultist.legcuffed) - cultist.legcuffed.loc = cultist.loc - cultist.legcuffed = null - cultist.update_inv_legcuffed() - if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) - cultist.u_equip(cultist.wear_mask) - if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) - cultist.loc:welded = 0 - if(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) - cultist.loc:locked = 0 - if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) - cultist.loc:locked = 0 - for(var/mob/living/carbon/C in users) - user.take_overall_damage(15, 0) - C.say("Khari[pick("'","`")]d! Gual'te nikka!") - del(src) - return fizzle() /////////////////////////////////////////NINETEENTH RUNE -/obj/effect/rune/proc/cultsummon() - var/mob/living/user = usr - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current - var/list/mob/living/carbon/users = new - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - users+=C - if(users.len>=3) - var/mob/living/carbon/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - user) - if(!cultist) + cultsummon() + var/mob/living/user = usr + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current + var/list/mob/living/carbon/users = new + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + users+=C + if(users.len>=3) + var/mob/living/carbon/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - user) + if(!cultist) + return fizzle() + if (cultist == user) //just to be sure. + return + if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) + user << "\red You cannot summon the [cultist], for his shackles of blood are strong" + return fizzle() + cultist.loc = src.loc + cultist.lying = 1 + cultist.regenerate_icons() + for(var/mob/living/carbon/human/C in orange(1,src)) + if(iscultist(C) && !C.stat) + C.say("N'ath reth sh'yro eth d[pick("'","`")]rekkathnor!") + C.take_overall_damage(25, 0) + user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ + "\red You hear a pop and smell ozone.") + del(src) return fizzle() - if (cultist == user) //just to be sure. - return - if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) - user << "\red You cannot summon the [cultist], for his shackles of blood are strong" - return fizzle() - cultist.loc = src.loc - cultist.lying = 1 - cultist.regenerate_icons() - for(var/mob/living/carbon/human/C in orange(1,src)) - if(iscultist(C) && !C.stat) - C.say("N'ath reth sh'yro eth d[pick("'","`")]rekkathnor!") - C.take_overall_damage(25, 0) - user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \ - "\red You hear a pop and smell ozone.") - del(src) - return fizzle() /////////////////////////////////////////TWENTIETH RUNES -/obj/effect/rune/proc/deafen() - if(istype(src,/obj/effect/rune)) - var/affected = 0 - for(var/mob/living/carbon/C in range(7,src)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.ear_deaf += 50 - C.show_message("\red The world around you suddenly becomes quiet.", 3) - affected++ - if(prob(1)) - C.sdisabilities |= DEAF - if(affected) - usr.say("Sti[pick("'","`")] kaliedir!") - usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust." - del(src) - else - return fizzle() - else - var/affected = 0 - for(var/mob/living/carbon/C in range(7,usr)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.ear_deaf += 30 - //talismans is weaker. - C.show_message("\red The world around you suddenly becomes quiet.", 3) - affected++ - if(affected) - usr.whisper("Sti[pick("'","`")] kaliedir!") - usr << "\red Your talisman turns into gray dust, deafening everyone around." - for (var/mob/V in orange(1,src)) - if(!(iscultist(V))) - V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) - return + deafen() + if(istype(src,/obj/effect/rune)) + var/affected = 0 + for(var/mob/living/carbon/C in range(7,src)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.ear_deaf += 50 + C.show_message("\red The world around you suddenly becomes quiet.", 3) + affected++ + if(prob(1)) + C.sdisabilities |= DEAF + if(affected) + usr.say("Sti[pick("'","`")] kaliedir!") + usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust." + del(src) + else + return fizzle() + else + var/affected = 0 + for(var/mob/living/carbon/C in range(7,usr)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.ear_deaf += 30 + //talismans is weaker. + C.show_message("\red The world around you suddenly becomes quiet.", 3) + affected++ + if(affected) + usr.whisper("Sti[pick("'","`")] kaliedir!") + usr << "\red Your talisman turns into gray dust, deafening everyone around." + for (var/mob/V in orange(1,src)) + if(!(iscultist(V))) + V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) + return -/obj/effect/rune/proc/blind() - if(istype(src,/obj/effect/rune)) - var/affected = 0 - for(var/mob/living/carbon/C in viewers(src)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.eye_blurry += 50 - C.eye_blind += 20 - if(prob(5)) - C.disabilities |= NEARSIGHTED - if(prob(10)) - C.sdisabilities |= BLIND - C.show_message("\red Suddenly you see red flash that blinds you.", 3) - affected++ - if(affected) - usr.say("Sti[pick("'","`")] kaliesin!") - usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." - del(src) - else - return fizzle() - else - var/affected = 0 - for(var/mob/living/carbon/C in view(2,usr)) - if (iscultist(C)) - continue - var/obj/item/weapon/nullrod/N = locate() in C - if(N) - continue - C.eye_blurry += 30 - C.eye_blind += 10 - //talismans is weaker. - affected++ - C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) - if(affected) - usr.whisper("Sti[pick("'","`")] kaliesin!") - usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." - return + blind() + if(istype(src,/obj/effect/rune)) + var/affected = 0 + for(var/mob/living/carbon/C in viewers(src)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.eye_blurry += 50 + C.eye_blind += 20 + if(prob(5)) + C.disabilities |= NEARSIGHTED + if(prob(10)) + C.sdisabilities |= BLIND + C.show_message("\red Suddenly you see red flash that blinds you.", 3) + affected++ + if(affected) + usr.say("Sti[pick("'","`")] kaliesin!") + usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." + del(src) + else + return fizzle() + else + var/affected = 0 + for(var/mob/living/carbon/C in view(2,usr)) + if (iscultist(C)) + continue + var/obj/item/weapon/nullrod/N = locate() in C + if(N) + continue + C.eye_blurry += 30 + C.eye_blind += 10 + //talismans is weaker. + affected++ + C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3) + if(affected) + usr.whisper("Sti[pick("'","`")] kaliesin!") + usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." + return -/obj/effect/rune/proc/bloodboil() //cultists need at least one DANGEROUS rune. Even if they're all stealthy. + bloodboil() //cultists need at least one DANGEROUS rune. Even if they're all stealthy. /* - var/list/mob/living/carbon/cultists = new - for(var/datum/mind/H in ticker.mode.cult) - if (istype(H.current,/mob/living/carbon)) - cultists+=H.current + var/list/mob/living/carbon/cultists = new + for(var/datum/mind/H in ticker.mode.cult) + if (istype(H.current,/mob/living/carbon)) + cultists+=H.current */ - var/culcount = 0 //also, wording for it is old wording for obscure rune, which is now hide-see-blood. + var/culcount = 0 //also, wording for it is old wording for obscure rune, which is now hide-see-blood. // var/list/cultboil = list(cultists-usr) //and for this words are destroy-see-blood. - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount>=3) - for(var/mob/living/carbon/M in viewers(usr)) - if(iscultist(M)) - continue - var/obj/item/weapon/nullrod/N = locate() in M - if(N) - continue - cult_log(": Blood Boil damaged [key_name_admin(M)].") - M.take_overall_damage(51,51) - M << "\red Your blood boils!" - if(prob(5)) - spawn(5) - M.gib() - for(var/obj/effect/rune/R in view(src)) - if(prob(10)) - explosion(R.loc, -1, 0, 1, 5) - for(var/mob/living/carbon/human/C in orange(1,src)) - if(iscultist(C) && !C.stat) - C.say("Dedo ol[pick("'","`")]btoh!") - C.take_overall_damage(15, 0) - del(src) - else - return fizzle() - return + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount>=3) + for(var/mob/living/carbon/M in viewers(usr)) + if(iscultist(M)) + continue + var/obj/item/weapon/nullrod/N = locate() in M + if(N) + continue + M.take_overall_damage(51,51) + M << "\red Your blood boils!" + if(prob(5)) + spawn(5) + M.gib() + for(var/obj/effect/rune/R in view(src)) + if(prob(10)) + explosion(R.loc, -1, 0, 1, 5) + for(var/mob/living/carbon/human/C in orange(1,src)) + if(iscultist(C) && !C.stat) + C.say("Dedo ol[pick("'","`")]btoh!") + C.take_overall_damage(15, 0) + del(src) + else + return fizzle() + return // WIP rune, I'll wait for Rastaf0 to add limited blood. -/obj/effect/rune/proc/burningblood() - var/culcount = 0 - for(var/mob/living/carbon/C in orange(1,src)) - if(iscultist(C) && !C.stat) - culcount++ - if(culcount >= 5) - for(var/obj/effect/rune/R in world) - if(R.blood_DNA == src.blood_DNA) - for(var/mob/living/M in orange(2,R)) - M.take_overall_damage(0,15) - if (R.invisibility>M.see_invisible) - M << "\red Aargh it burns!" - else - M << "\red Rune suddenly ignites, burning you!" - var/turf/T = get_turf(R) - T.hotspot_expose(700,125) - for(var/obj/effect/decal/cleanable/blood/B in world) - if(B.blood_DNA == src.blood_DNA) - for(var/mob/living/M in orange(1,B)) - M.take_overall_damage(0,5) - M << "\red Blood suddenly ignites, burning you!" - var/turf/T = get_turf(B) - T.hotspot_expose(700,125) - del(B) - del(src) + burningblood() + var/culcount = 0 + for(var/mob/living/carbon/C in orange(1,src)) + if(iscultist(C) && !C.stat) + culcount++ + if(culcount >= 5) + for(var/obj/effect/rune/R in world) + if(R.blood_DNA == src.blood_DNA) + for(var/mob/living/M in orange(2,R)) + M.take_overall_damage(0,15) + if (R.invisibility>M.see_invisible) + M << "\red Aargh it burns!" + else + M << "\red Rune suddenly ignites, burning you!" + var/turf/T = get_turf(R) + T.hotspot_expose(700,125) + for(var/obj/effect/decal/cleanable/blood/B in world) + if(B.blood_DNA == src.blood_DNA) + for(var/mob/living/M in orange(1,B)) + M.take_overall_damage(0,5) + M << "\red Blood suddenly ignites, burning you!" + var/turf/T = get_turf(B) + T.hotspot_expose(700,125) + del(B) + del(src) ////////// Rune 24 (counting burningblood, which kinda doesnt work yet.) -/obj/effect/rune/proc/runestun(var/mob/living/T as mob) - if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around. - usr.say("Fuu ma[pick("'","`")]jin!") - for(var/mob/living/L in viewers(src)) + runestun(var/mob/living/T as mob) + if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around. + usr.say("Fuu ma[pick("'","`")]jin!") + for(var/mob/living/L in viewers(src)) - if(iscarbon(L)) - var/mob/living/carbon/C = L - flick("e_flash", C.flash) - if(C.stuttering < 1 && (!(HULK in C.mutations))) - C.stuttering = 1 - C.Weaken(1) - C.Stun(1) - C.show_message("\red The rune explodes in a bright flash.", 3) + if(iscarbon(L)) + var/mob/living/carbon/C = L + flick("e_flash", C.flash) + if(C.stuttering < 1 && (!(HULK in C.mutations))) + C.stuttering = 1 + C.Weaken(1) + C.Stun(1) + C.show_message("\red The rune explodes in a bright flash.", 3) - else if(issilicon(L)) - var/mob/living/silicon/S = L - S.Weaken(5) - S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3) - del(src) - else ///When invoked as talisman, stun and mute the target mob. - usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") - var/obj/item/weapon/nullrod/N = locate() in T - if(N) - for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at [], but they are unaffected!", usr, T), 1) - else - for(var/mob/O in viewers(T, null)) - O.show_message(text("\red [] invokes a talisman at []", usr, T), 1) + else if(issilicon(L)) + var/mob/living/silicon/S = L + S.Weaken(5) + S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3) + del(src) + else ///When invoked as talisman, stun and mute the target mob. + usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") + var/obj/item/weapon/nullrod/N = locate() in T + if(N) + for(var/mob/O in viewers(T, null)) + O.show_message(text("\red [] invokes a talisman at [], but they are unaffected!", usr, T), 1) + else + for(var/mob/O in viewers(T, null)) + O.show_message(text("\red [] invokes a talisman at []", usr, T), 1) - if(issilicon(T)) - T.Weaken(15) + if(issilicon(T)) + T.Weaken(15) - else if(iscarbon(T)) - var/mob/living/carbon/C = T - flick("e_flash", C.flash) - if (!(HULK in C.mutations)) - C.silent += 15 - C.Weaken(25) - C.Stun(25) - return + else if(iscarbon(T)) + var/mob/living/carbon/C = T + flick("e_flash", C.flash) + if (!(HULK in C.mutations)) + C.silent += 15 + C.Weaken(25) + C.Stun(25) + return /////////////////////////////////////////TWENTY-FIFTH RUNE -/obj/effect/rune/proc/armor() - var/mob/living/carbon/human/user = usr - if(istype(src,/obj/effect/rune)) - usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - else - usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") - usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ - "\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") + armor() + var/mob/living/carbon/human/user = usr + if(istype(src,/obj/effect/rune)) + usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") + else + usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!") + usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \ + "\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.") - user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) - user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) - user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes) - user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) - //the above update their overlay icons cache but do not call update_icons() - //the below calls update_icons() at the end, which will update overlay icons by using the (now updated) cache - user.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) //put in hands or on floor + user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) + user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) + user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes) + user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back) + //the above update their overlay icons cache but do not call update_icons() + //the below calls update_icons() at the end, which will update overlay icons by using the (now updated) cache + user.put_in_hands(new /obj/item/weapon/melee/cultblade(user)) //put in hands or on floor - del(src) - return + del(src) + return diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 60bb93912e..104fbf1cdb 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -122,7 +122,7 @@ rcd light flash thingy on matter drain mod_pick_name = "recam" uses = 10 -/client/proc/reactivate_camera(obj/machinery/camera/C as obj in cameraNetwork.viewpoints) +/client/proc/reactivate_camera(obj/machinery/camera/C as obj in cameranet.cameras) set name = "Reactivate Camera" set category = "Malfunction" if (istype (C, /obj/machinery/camera)) @@ -143,7 +143,7 @@ rcd light flash thingy on matter drain mod_pick_name = "upgradecam" uses = 10 -/client/proc/upgrade_camera(obj/machinery/camera/C as obj in cameraNetwork.viewpoints) +/client/proc/upgrade_camera(obj/machinery/camera/C as obj in cameranet.cameras) set name = "Upgrade Camera" set category = "Malfunction" if(istype(C)) @@ -156,7 +156,7 @@ rcd light flash thingy on matter drain if(!C.isXRay()) C.upgradeXRay() //Update what it can see. - cameraNetwork.updateVisibility(C) + cameranet.updateVisibility(C) upgraded = 1 if(!C.isEmpProof()) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 38dc530fb0..daea3219d6 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -39,7 +39,7 @@ assembly = new(src) assembly.state = 4 /* // Use this to look for cameras that have the same c_tag. - for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for(var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network if(C != src && C.c_tag == src.c_tag && tempnetwork.len) world.log << "[src.c_tag] [src.x] [src.y] [src.z] conflicts with [C.c_tag] [C.x] [C.y] [C.z]" @@ -59,7 +59,7 @@ icon_state = "[initial(icon_state)]emp" var/list/previous_network = network network = list() - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) stat |= EMPED SetLuminosity(0) triggerCameraAlarm() @@ -69,7 +69,7 @@ stat &= ~EMPED cancelCameraAlarm() if(can_use()) - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) for(var/mob/O in mob_list) if (istype(O.machine, /obj/machinery/computer/security)) var/obj/machinery/computer/security/S = O.machine @@ -92,7 +92,7 @@ /obj/machinery/camera/proc/setViewRange(var/num = 7) src.view_range = num - cameraNetwork.updateVisibility(src, 0) + cameranet.updateVisibility(src, 0) /obj/machinery/camera/proc/shock(var/mob/living/user) if(!istype(user)) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index c4afc34edf..d5408d3330 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -100,7 +100,7 @@ C.network = uniquelist(tempnetwork) tempnetwork = difflist(C.network,RESTRICTED_CAMERA_NETWORKS) if(!tempnetwork.len)//Camera isn't on any open network - remove its chunk from AI visibility. - cameraNetwork.removeViewpoint(C) + cameranet.removeCamera(C) C.c_tag = input diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index b745cd37f8..e088103fab 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -4,7 +4,7 @@ return var/list/L = list() - for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for (var/obj/machinery/camera/C in cameranet.cameras) L.Add(C) camera_sort(L) @@ -168,9 +168,9 @@ return 0 if(isrobot(M)) var/mob/living/silicon/robot/R = M - if(!(R.camera && R.camera.can_use()) && !cameraNetwork.checkCanSee(M)) + if(!(R.camera && R.camera.can_use()) && !cameranet.checkCameraVis(M)) return 0 - else if(!cameraNetwork.checkCanSee(M)) + else if(!cameranet.checkCameraVis(M)) return 0 return 1 diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 46b9b22d2a..05d0ccea8d 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -36,7 +36,7 @@ user.set_machine(src) var/list/L = list() - for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for (var/obj/machinery/camera/C in cameranet.cameras) L.Add(C) camera_sort(L) @@ -206,4 +206,4 @@ name = "Mission Monitor" desc = "Used to access the built-in cameras in helmets." icon_state = "syndicam" - network = list("NUKE") + network = list("NUKE") \ No newline at end of file diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 2d86981ebd..d3f276abe0 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -262,8 +262,6 @@ /obj/machinery/door/proc/requiresID() return 1 -/* - /obj/machinery/door/proc/update_nearby_tiles(need_rebuild) if(!air_master) return 0 @@ -274,8 +272,6 @@ return 1 -*/ - /obj/machinery/door/proc/update_heat_protection(var/turf/simulated/source) if(istype(source)) if(src.density && (src.opacity || src.heat_proof)) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 018d0fe882..e2bf6f7be2 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -108,7 +108,6 @@ var/global/floorIsLava = 0 body += "Is an AI " else if(ishuman(M)) body += {"Make AI | - Make Mask | Make Robot | Make Alien | Make slime diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 7e1e967fc5..e601f069c6 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -22,29 +22,25 @@ F << "[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
" //ADMINVERBS -/client/proc/investigate_show( subject in list("hrefs","notes","singulo","cult") ) +/client/proc/investigate_show( subject in list("hrefs","notes","singulo") ) set name = "Investigate" set category = "Admin" if(!holder) return - - var/list/basic_subjects = list("singulo","cult") - - if(subject in basic_subjects) - var/F = investigate_subject2file(subject) - if(!F) - src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." - return - src << browse(F,"window=investigate[subject];size=800x300") - return - - - if(subject=="hrefs") //persistant logs and stuff - if(config && config.log_hrefs) - if(href_logfile) - src << browse(href_logfile,"window=investigate[subject];size=800x300") - else - src << "Error: admin_investigate: No href logfile found." + switch(subject) + if("singulo") //general one-round-only stuff + var/F = investigate_subject2file(subject) + if(!F) + src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." + return + src << browse(F,"window=investigate[subject];size=800x300") + + if("hrefs") //persistant logs and stuff + if(config && config.log_hrefs) + if(href_logfile) + src << browse(href_logfile,"window=investigate[subject];size=800x300") + else + src << "Error: admin_investigate: No href logfile found." + return + else + src << "Error: admin_investigate: Href Logging is not on." return - else - src << "Error: admin_investigate: Href Logging is not on." - return diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index b5aa11c6e9..66de256c9e 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1192,15 +1192,6 @@ message_admins("\red Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() - - - else if(href_list["makemask"]) - if(!check_rights(R_SPAWN)) return - var/mob/currentMob = locate(href_list["makemask"]) - message_admins("\red Admin [key_name_admin(usr)] made [key_name_admin(currentMob)] into a Mask of Nar'Sie!", 1) - log_admin("[key_name(usr)] made [key_name(currentMob)] into a Mask of Nar'Sie!") - currentMob.make_into_mask(0,0) - else if(href_list["makealien"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 19edf26e77..76f1b42046 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -58,7 +58,7 @@ var/intercom_range_display_status = 0 del(C) if(camera_range_display_status) - for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for(var/obj/machinery/camera/C in cameranet.cameras) new/obj/effect/debugging/camera_range(C.loc) feedback_add_details("admin_verb","mCRD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -74,7 +74,7 @@ var/intercom_range_display_status = 0 var/list/obj/machinery/camera/CL = list() - for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for(var/obj/machinery/camera/C in cameranet.cameras) CL += C var/output = {"CAMERA ANNOMALITIES REPORT
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index efbee3cfd6..90ae7667dd 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -13,7 +13,7 @@ else camera = new /obj/machinery/camera(src) camera.network = list("ERT") - cameraNetwork.removeViewpoint(camera) + cameranet.removeCamera(camera) camera.c_tag = user.name user << "\blue User scanned as [camera.c_tag]. Camera activated." diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 2e9c5185a6..05411337bc 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -96,7 +96,7 @@ else camera = new /obj/machinery/camera(src) camera.network = list("NUKE") - cameraNetwork.removeViewpoint(camera) + cameranet.removeCamera(camera) camera.c_tag = user.name user << "\blue User scanned as [camera.c_tag]. Camera activated." diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index bd7d4fe3a8..95ebdf2011 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -58,10 +58,9 @@ var/datum/organ/external/head = get_organ("head") var/mob/living/simple_animal/borer/B - if(istype(head)) - for(var/I in head.implants) - if(istype(I,/mob/living/simple_animal/borer)) - B = I + for(var/I in head.implants) + if(istype(I,/mob/living/simple_animal/borer)) + B = I if(B) if(!B.ckey && ckey && B.controlling) B.ckey = ckey diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a677bd2445..baceaa2073 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -326,7 +326,6 @@ return /mob/living/Move(a, b, flag) - if (buckled) return diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 937ed92874..42c4b0745b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -318,7 +318,7 @@ var/list/ai_list = list() unset_machine() src << browse(null, t1) if (href_list["switchcamera"]) - switchCamera(locate(href_list["switchcamera"])) in cameraNetwork.viewpoints + switchCamera(locate(href_list["switchcamera"])) in cameranet.cameras if (href_list["showalerts"]) ai_alerts() //Carn: holopad requests @@ -548,7 +548,7 @@ var/list/ai_list = list() var/mob/living/silicon/ai/U = usr - for (var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for (var/obj/machinery/camera/C in cameranet.cameras) if(!C.can_use()) continue @@ -566,7 +566,7 @@ var/list/ai_list = list() if(isnull(network)) network = old_network // If nothing is selected else - for(var/obj/machinery/camera/C in cameraNetwork.viewpoints) + for(var/obj/machinery/camera/C in cameranet.cameras) if(!C.can_use()) continue if(network in C.network) diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index d857856b7f..7d52fbd7a2 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -1,14 +1,148 @@ -/datum/visibility_network/cameras - ChunkType = /datum/visibility_chunk/camera +// CAMERA NET +// +// The datum containing all the chunks. -/datum/visibility_network/cameras/getViewpointFromMob(var/mob/currentMob) - var/mob/living/silicon/robot/currentRobot=currentMob - if(currentRobot) - return currentRobot.camera - return FALSE - -/datum/visibility_network/cameras/validViewpoint(var/viewpoint) - var/obj/machinery/camera/c = viewpoint - if (!c) - return FALSE - return c.can_use() \ No newline at end of file +var/datum/cameranet/cameranet = new() + +/datum/cameranet + // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). + var/list/cameras = list() + // The chunks of the map, mapping the areas that the cameras can see. + var/list/chunks = list() + var/ready = 0 + +// Checks if a chunk has been Generated in x, y, z. +/datum/cameranet/proc/chunkGenerated(x, y, z) + x &= ~0xf + y &= ~0xf + var/key = "[x],[y],[z]" + return (chunks[key]) + +// Returns the chunk in the x, y, z. +// If there is no chunk, it creates a new chunk and returns that. +/datum/cameranet/proc/getCameraChunk(x, y, z) + x &= ~0xf + y &= ~0xf + var/key = "[x],[y],[z]" + if(!chunks[key]) + chunks[key] = new /datum/camerachunk(null, x, y, z) + + return chunks[key] + +// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set. + +/datum/cameranet/proc/visibility(mob/aiEye/ai) + // 0xf = 15 + var/x1 = max(0, ai.x - 16) & ~0xf + var/y1 = max(0, ai.y - 16) & ~0xf + var/x2 = min(world.maxx, ai.x + 16) & ~0xf + var/y2 = min(world.maxy, ai.y + 16) & ~0xf + + var/list/visibleChunks = list() + + for(var/x = x1; x <= x2; x += 16) + for(var/y = y1; y <= y2; y += 16) + visibleChunks += getCameraChunk(x, y, ai.z) + + var/list/remove = ai.visibleCameraChunks - visibleChunks + var/list/add = visibleChunks - ai.visibleCameraChunks + + for(var/chunk in remove) + var/datum/camerachunk/c = chunk + c.remove(ai) + + for(var/chunk in add) + var/datum/camerachunk/c = chunk + c.add(ai) + +// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. + +/datum/cameranet/proc/updateVisibility(atom/A, var/opacity_check = 1) + + if(!ticker || (opacity_check && !A.opacity)) + return + majorChunkChange(A, 2) + +/datum/cameranet/proc/updateChunk(x, y, z) + // 0xf = 15 + if(!chunkGenerated(x, y, z)) + return + var/datum/camerachunk/chunk = getCameraChunk(x, y, z) + chunk.hasChanged() + +// Removes a camera from a chunk. + +/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 0) + +// Add a camera to a chunk. + +/datum/cameranet/proc/addCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 1) + +// Used for Cyborg cameras. Since portable cameras can be in ANY chunk. + +/datum/cameranet/proc/updatePortableCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 1) + //else + // majorChunkChange(c, 0) + +// Never access this proc directly!!!! +// This will update the chunk and all the surrounding chunks. +// It will also add the atom to the cameras list if you set the choice to 1. +// Setting the choice to 0 will remove the camera from the chunks. +// If you want to update the chunks around an object, without adding/removing a camera, use choice 2. + +/datum/cameranet/proc/majorChunkChange(atom/c, var/choice) + // 0xf = 15 + if(!c) + return + + var/turf/T = get_turf(c) + if(T) + var/x1 = max(0, T.x - 8) & ~0xf + var/y1 = max(0, T.y - 8) & ~0xf + var/x2 = min(world.maxx, T.x + 8) & ~0xf + var/y2 = min(world.maxy, T.y + 8) & ~0xf + + //world << "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]" + + for(var/x = x1; x <= x2; x += 16) + for(var/y = y1; y <= y2; y += 16) + if(chunkGenerated(x, y, T.z)) + var/datum/camerachunk/chunk = getCameraChunk(x, y, T.z) + if(choice == 0) + // Remove the camera. + chunk.cameras -= c + else if(choice == 1) + // You can't have the same camera in the list twice. + chunk.cameras |= c + chunk.hasChanged() + +// Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0. + +/datum/cameranet/proc/checkCameraVis(mob/living/target as mob) + + // 0xf = 15 + var/turf/position = get_turf(target) + var/datum/camerachunk/chunk = getCameraChunk(position.x, position.y, position.z) + if(chunk) + if(chunk.changed) + chunk.hasChanged(1) // Update now, no matter if it's visible or not. + if(chunk.visibleTurfs[position]) + return 1 + return 0 + + +// Debug verb for VVing the chunk that the turf is in. +/* +/turf/verb/view_chunk() + set src in world + + if(cameranet.chunkGenerated(x, y, z)) + var/datum/camerachunk/chunk = cameranet.getCameraChunk(x, y, z) + usr.client.debug_variables(chunk) +*/ \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index 89c88c1aaf..33dbfd0966 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -1,23 +1,168 @@ -/datum/visibility_chunk/camera +#define UPDATE_BUFFER 25 // 2.5 seconds + +// CAMERA CHUNK +// +// A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. +// Allows the AI Eye to stream these chunks and know what it can and cannot see. + +/datum/camerachunk + var/list/obscuredTurfs = list() + var/list/visibleTurfs = list() + var/list/obscured = list() + var/list/cameras = list() + var/list/turfs = list() + var/list/seenby = list() + var/visible = 0 + var/changed = 0 + var/updating = 0 + var/x = 0 + var/y = 0 + var/z = 0 + +// Add an AI eye to the chunk, then update if changed. + +/datum/camerachunk/proc/add(mob/aiEye/ai) + if(!ai.ai) + return + ai.visibleCameraChunks += src + if(ai.ai.client) + ai.ai.client.images += obscured + visible++ + seenby += ai + if(changed && !updating) + update() + +// Remove an AI eye from the chunk, then update if changed. + +/datum/camerachunk/proc/remove(mob/aiEye/ai) + if(!ai.ai) + return + ai.visibleCameraChunks -= src + if(ai.ai.client) + ai.ai.client.images -= obscured + seenby -= ai + if(visible > 0) + visible-- + +// Called when a chunk has changed. I.E: A wall was deleted. + +/datum/camerachunk/proc/visibilityChanged(turf/loc) + if(!visibleTurfs[loc]) + return + hasChanged() + +// Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +// instead be flagged to update the next time an AI Eye moves near it. + +/datum/camerachunk/proc/hasChanged(var/update_now = 0) + if(visible || update_now) + if(!updating) + updating = 1 + spawn(UPDATE_BUFFER) // Batch large changes, such as many doors opening or closing at once + update() + updating = 0 + else + changed = 1 + +// The actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. + +/datum/camerachunk/proc/update() + + set background = 1 + + var/list/newVisibleTurfs = list() + + for(var/camera in cameras) + var/obj/machinery/camera/c = camera + + if(!c) + continue + + if(!c.can_use()) + continue + + var/turf/point = locate(src.x + 8, src.y + 8, src.z) + if(get_dist(point, c) > 24) + continue + + for(var/turf/t in c.can_see()) + newVisibleTurfs[t] = t + + // Removes turf that isn't in turfs. + newVisibleTurfs &= turfs + + var/list/visAdded = newVisibleTurfs - visibleTurfs + var/list/visRemoved = visibleTurfs - newVisibleTurfs + + visibleTurfs = newVisibleTurfs + obscuredTurfs = turfs - newVisibleTurfs + + for(var/turf in visAdded) + var/turf/t = turf + if(t.obscured) + obscured -= t.obscured + for(var/eye in seenby) + var/mob/aiEye/m = eye + if(!m || !m.ai) + continue + if(m.ai.client) + m.ai.client.images -= t.obscured + + for(var/turf in visRemoved) + var/turf/t = turf + if(obscuredTurfs[t]) + if(!t.obscured) + t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) + + obscured += t.obscured + for(var/eye in seenby) + var/mob/aiEye/m = eye + if(!m || !m.ai) + seenby -= m + continue + if(m.ai.client) + m.ai.client.images += t.obscured + +// Create a new camera chunk, since the chunks are made as they are needed. + +/datum/camerachunk/New(loc, x, y, z) + + // 0xf = 15 + x &= ~0xf + y &= ~0xf + + src.x = x + src.y = y + src.z = z -/datum/visibility_chunk/camera/validViewpoint(var/viewpoint) - var/obj/machinery/camera/c = viewpoint - if(!c) - return FALSE - if(!c.can_use()) - return FALSE - var/turf/point = locate(src.x + 8, src.y + 8, src.z) - if(get_dist(point, c) > 24) - return FALSE - return TRUE - - -/datum/visibility_chunk/camera/getVisibleTurfsForViewpoint(var/viewpoint) - var/obj/machinery/camera/c = viewpoint - return c.can_see() - - -/datum/visibility_chunk/camera/findNearbyViewpoints() for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) if(c.can_use()) - viewpoints += c \ No newline at end of file + cameras += c + + for(var/turf/t in range(10, locate(x + 8, y + 8, z))) + if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) + turfs[t] = t + + for(var/camera in cameras) + var/obj/machinery/camera/c = camera + if(!c) + continue + + if(!c.can_use()) + continue + + for(var/turf/t in c.can_see()) + visibleTurfs[t] = t + + // Removes turf that isn't in turfs. + visibleTurfs &= turfs + + obscuredTurfs = turfs - visibleTurfs + + for(var/turf in obscuredTurfs) + var/turf/t = turf + if(!t.obscured) + t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) + obscured += t.obscured + +#undef UPDATE_BUFFER \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 69af9a18aa..c82fbb7c76 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -6,16 +6,13 @@ /mob/aiEye name = "Inactive AI Eye" icon = 'icons/obj/status_display.dmi' // For AI friend secret shh :o + var/list/visibleCameraChunks = list() var/mob/living/silicon/ai/ai = null density = 0 status_flags = GODMODE // You can't damage it. mouse_opacity = 0 see_in_dark = 7 -/mob/aiEye/New() - ..() - visibility_interface = new /datum/visibility_interface/ai_eye(src) - // Movement code. Returns 0 to stop air movement from moving it. /mob/aiEye/Move() return 0 @@ -40,12 +37,13 @@ // It will also stream the chunk that the new loc is in. /mob/aiEye/proc/setLoc(var/T) + if(ai) if(!isturf(ai.loc)) return T = get_turf(T) loc = T - cameraNetwork.visibility(src) + cameranet.visibility(src) if(ai.client) ai.client.eye = src //Holopad @@ -138,8 +136,7 @@ if(client && client.eye) client.eye = src - - for(var/datum/visibility_chunk/camera/c in eyeobj.visibility_interface.visible_chunks) + for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) c.remove(eyeobj) /mob/living/silicon/ai/verb/toggle_acceleration() diff --git a/code/modules/mob/living/silicon/ai/freelook/read_me.dm b/code/modules/mob/living/silicon/ai/freelook/read_me.dm index aa3d99bdba..53e68ff137 100644 --- a/code/modules/mob/living/silicon/ai/freelook/read_me.dm +++ b/code/modules/mob/living/silicon/ai/freelook/read_me.dm @@ -43,7 +43,7 @@ WHERE IS EVERYTHING? - cameraNetwork.dm = Everything about the cameraNetwork datum. + cameranet.dm = Everything about the cameranet datum. chunk.dm = Everything about the chunk datum. eye.dm = Everything about the AI and the AIEye. updating.dm = Everything about triggers that will update chunks. diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index e88d4c28eb..c1f6331372 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -1,5 +1,80 @@ #define BORG_CAMERA_BUFFER 30 +//UPDATE TRIGGERS, when the chunk (and the surrounding chunks) should update. + +// TURFS + +/turf + var/image/obscured + +/turf/proc/visibilityChanged() + if(ticker) + cameranet.updateVisibility(src) + +/turf/simulated/Del() + visibilityChanged() + ..() + +/turf/simulated/New() + ..() + visibilityChanged() + + + +// STRUCTURES + +/obj/structure/Del() + if(ticker) + cameranet.updateVisibility(src) + ..() + +/obj/structure/New() + ..() + if(ticker) + cameranet.updateVisibility(src) + +// EFFECTS + +/obj/effect/Del() + if(ticker) + cameranet.updateVisibility(src) + ..() + +/obj/effect/New() + ..() + if(ticker) + cameranet.updateVisibility(src) + + +// DOORS + +// Simply updates the visibility of the area when it opens/closes/destroyed. +/obj/machinery/door/update_nearby_tiles(need_rebuild) + . = ..(need_rebuild) + // Glass door glass = 1 + // don't check then? + if(!glass && cameranet) + cameranet.updateVisibility(src, 0) + + +// ROBOT MOVEMENT + +// Update the portable camera everytime the Robot moves. +// This might be laggy, comment it out if there are problems. +/mob/living/silicon/robot/var/updating = 0 + +/mob/living/silicon/robot/Move() + var/oldLoc = src.loc + . = ..() + if(.) + if(src.camera && src.camera.network.len) + if(!updating) + updating = 1 + spawn(BORG_CAMERA_BUFFER) + if(oldLoc != src.loc) + cameranet.updatePortableCamera(src.camera) + updating = 0 + // CAMERA // An addition to deactivate which removes/adds the camera from the chunk list based on if it works or not. @@ -7,23 +82,23 @@ /obj/machinery/camera/deactivate(user as mob, var/choice = 1) ..(user, choice) if(src.can_use()) - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) else src.SetLuminosity(0) - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) /obj/machinery/camera/New() ..() - cameraNetwork.viewpoints += src //Camera must be added to global list of all cameras no matter what... + cameranet.cameras += src //Camera must be added to global list of all cameras no matter what... var/list/open_networks = difflist(network,RESTRICTED_CAMERA_NETWORKS) //...but if all of camera's networks are restricted, it only works for specific camera consoles. if(open_networks.len) //If there is at least one open network, chunk is available for AI usage. - cameraNetwork.addViewpoint(src) + cameranet.addCamera(src) /obj/machinery/camera/Del() - cameraNetwork.viewpoints -= src + cameranet.cameras -= src var/list/open_networks = difflist(network,RESTRICTED_CAMERA_NETWORKS) if(open_networks.len) - cameraNetwork.removeViewpoint(src) + cameranet.removeCamera(src) ..() #undef BORG_CAMERA_BUFFER \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm b/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm deleted file mode 100644 index b55598c609..0000000000 --- a/code/modules/mob/living/silicon/ai/freelook/visibility_interface.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/visibility_interface/ai_eye - chunk_type = /datum/visibility_chunk/camera - -/datum/visibility_interface/ai_eye/getClient() - var/mob/aiEye/eye = controller - if (!eye) - return FALSE - if (!eye.ai) - return FALSE - return eye.ai.client diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 030a3db08e..611243f654 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -106,9 +106,6 @@ camera.network = list("SS13","Robots") if(isWireCut(5)) // 5 = BORG CAMERA camera.status = 0 - - // hook the robot into the camera network - addToVisibilityNetwork(cameraNetwork) initialize_components() //if(!unfinished) @@ -146,8 +143,6 @@ if(T) mmi.loc = T if(mind) mind.transfer_to(mmi.brainmob) mmi = null - // remove blown up robots from the visibility network - removeFromVisibilityNetwork(cameraNetwork) ..() /mob/living/silicon/robot/proc/pick_module() @@ -1206,7 +1201,7 @@ //Disconnect it's camera so it's not so easily tracked. if(src.camera) src.camera.network = list() - cameraNetwork.removeViewpoint(src.camera) + cameranet.removeCamera(src.camera) /mob/living/silicon/robot/proc/ResetSecurityCodes() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 66f7d58bbc..c82489cf35 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -333,9 +333,6 @@ var/list/slot_equipment_priority = list( \ return */ -/mob - var/newPlayerType = /mob/new_player - /mob/verb/abandon_mob() set name = "Respawn" set category = "OOC" @@ -384,12 +381,14 @@ var/list/slot_equipment_priority = list( \ log_game("[usr.key] AM failed due to disconnect.") return - var/mob/newPlayer = new newPlayerType() + var/mob/new_player/M = new /mob/new_player() if(!client) log_game("[usr.key] AM failed due to disconnect.") - del(newPlayer) + del(M) return - newPlayer.key = key + + M.key = key +// M.Login() //wat return /client/verb/changes() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index f8d8228718..dc984663dd 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -203,7 +203,6 @@ var/obj/control_object //Used by admins to possess objects. All mobs should have this var - var/datum/visibility_interface/visibility_interface = null // used by the visibility system to provide an interface for the visibility networks //Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything. var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 66c665644f..314a4026ab 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -114,11 +114,6 @@ proc/isobserver(A) if(istype(A, /mob/dead/observer)) return 1 return 0 - -/proc/isSpirit(A) - if(istype(A, /mob/spirit)) - return 1 - return 0 proc/isorgan(A) if(istype(A, /datum/organ/external)) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 2fda2c141d..1ea768d005 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -176,15 +176,8 @@ return if(mob.stat==2) return - - // handle possible spirit movement - var/mob/spirit/currentSpirit = mob - if(currentSpirit) - return currentSpirit.Spirit_Move(direct) - - // handle possible AI movement - if(isAI(mob)) - return AIMove(n,direct,mob) + + if(isAI(mob)) return AIMove(n,direct,mob) if(mob.monkeyizing) return//This is sota the goto stop mobs from moving var diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 380a6dfe9a..6237803638 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -303,9 +303,9 @@ data_core.manifest_inject(character) ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank) - return character + else - return character.Robotize() + character.Robotize() del(src) proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank) diff --git a/code/modules/mob/spirit/cultnet.dm b/code/modules/mob/spirit/cultnet.dm deleted file mode 100644 index df0cd57ff5..0000000000 --- a/code/modules/mob/spirit/cultnet.dm +++ /dev/null @@ -1,80 +0,0 @@ -/* - -This file contains the code necessary to do the display code for cult spirits. - -It reuses a lot of code from the AIEye cameraNetwork. In order to work properly, some of those files needed to be modified as well. - -*/ - - -/proc/isCultRune(var/viewpoint) - var/obj/effect/rune/test_rune = viewpoint - if (test_rune) - return TRUE - return FALSE - - -/proc/isCultViewpoint(var/viewpoint) - var/obj/cult_viewpoint/vp = viewpoint - if (vp) - return TRUE - return FALSE - - -/datum/visibility_chunk/cult/validViewpoint(var/atom/viewpoint) - var/turf/point = locate(src.x + 8, src.y + 8, src.z) - if(get_dist(point, viewpoint) > 24) - return FALSE - - if (isCultRune(viewpoint) || isCultViewpoint(viewpoint)) - return viewpoint:can_use() - return FALSE - - -/datum/visibility_chunk/cult/getVisibleTurfsForViewpoint(var/viewpoint) - var/obj/effect/rune/rune = viewpoint - if (rune) - return rune.can_see() - var/obj/cult_viewpoint/cvp = viewpoint - if (cvp) - return cvp.can_see() - return null - - -/datum/visibility_chunk/cult/findNearbyViewpoints() - for(var/obj/cult_viewpoint/vp in range(16, locate(x + 8, y + 8, z))) - if(vp.can_use()) - viewpoints += vp - for(var/obj/effect/rune/rune in range(16, locate(x + 8, y + 8, z))) - viewpoints += rune - - -/datum/visibility_network/cult - ChunkType = /datum/visibility_chunk/cult - - -/datum/visibility_network/cult/validViewpoint(var/viewpoint) - if (isCultRune(viewpoint) || isCultViewpoint(viewpoint)) - return viewpoint:can_use() - return FALSE - -/datum/visibility_network/cult/getViewpointFromMob(var/mob/currentMob) - for(var/obj/cult_viewpoint/currentView in currentMob) - return currentView - return FALSE - - -/datum/visibility_interface/cult - chunk_type = /datum/visibility_chunk/cult - - -/* -RUNE JUNK -*/ - -/obj/effect/rune/proc/can_use() - return TRUE - -/obj/effect/rune/proc/can_see() - return hear(view_range, get_turf(src)) - diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm deleted file mode 100644 index 6b58f201cf..0000000000 --- a/code/modules/mob/spirit/mask/mask.dm +++ /dev/null @@ -1,227 +0,0 @@ -/mob/spirit/mask - icon = 'icons/mob/spirits/mask.dmi' - icon_state = "depressurized" - -/mob/spirit/mask/New() - ..() - spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src) - spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src) - spell_list += new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src) - - -/mob/spirit/mask/verb/go_to_follower() - set category = "Mask" - set name = "Go to follower" - set desc = "Select who you would like to go too." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - follow_cultist(cultist.owner) - cult_log("[key_name_admin(src)] started following [key_name_admin(cultist)].") - src << "You start following [cultist.get_display_name()]." - - -/mob/spirit/mask/verb/urge_cultist() - set category = "Mask" - set name = "Urge cultist" - set desc = "Push your cultists to do something." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - if (cultist.owner) - var/newUrge = stripped_input(usr, "", "Set Urge", "") - cultist.set_urge(newUrge) - src << "You urge [cultist.owner.name] to [newUrge]." - cult_log("controlled by [key_name_admin(src)] has urged [key_name_admin(cultist.owner)] to [newUrge].") - -/mob/spirit/mask/verb/set_cult_name() - set category = "Mask" - set name = "Set Cult Name" - set desc = "Grant a cultist a name." - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - var/newName = stripped_input(usr, "", "Set Cult Name", "") - if (!newName) - return - cultist.set_cult_name(newName) - src << "You grant [cultist.owner.name] the secret name of [newName]." - if (cultist.owner) - cult_log("[key_name_admin(src)] has set [key_name_admin(cultist.owner)] to \'[newName]\'") - - -/mob/spirit/mask/verb/urge_cult() - set category = "Mask" - set name = "Urge Cult" - set desc = "Set urge on the entire cult." - - var/newUrge = stripped_input(usr, "Please choose an urge.", "Set Urge", "") - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - viewpoint.set_urge(newUrge) - src << "You urge the entire cult to [newUrge]." - cult_log("[key_name_admin(src)] has urged the entire cult to [newUrge]") - - -/mob/spirit/mask/verb/set_favor_for_cultist() - set category = "Mask" - set name = "Show your favor" - set desc = "Set the favor for a cultist" - - var/obj/cult_viewpoint/cultist = pick_cultist() - if (cultist) - if (cultist.owner) - var/list/favor = list("Pleased", "Displeased", "Indifference") - var/emotion = input("Pick your emotion", "Mask", null, null) in favor - switch(emotion) - if("Pleased") - cultist.set_favor(1) - cult_log("[key_name_admin(src)] is pleased with [key_name_admin(cultist.owner)]") - if("Displeased") - cultist.set_favor(-1) - cult_log("[key_name_admin(src)] is displeased with [key_name_admin(cultist.owner)]") - if("Indifference") - cultist.set_favor(0) - cult_log("[key_name_admin(src)] is indifferent too [key_name_admin(cultist.owner)]") - - -/mob/spirit/mask/proc/set_name() - spawn(0) - var/newName = stripped_input(src, "Please pick a name.", "Pick Name for Mask", "") - name = newName ? newName : "Mask of Nar'sie" - src << "You have set your name to [name]." - - -/mob/spirit/mask/proc/pick_cultist() - var/list/cultists = list() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - cultists[viewpoint.get_display_name()]=viewpoint - var/input = input("Please, select a cultist!", "Cult", null, null) as null|anything in cultists - var/obj/cult_viewpoint/result = cultists[input] - return result - - -// this proc makes the mask visible very briefly -/mob/spirit/mask/proc/flicker() - spawn(0) - alpha = 127 - invisibility=0 - sleep(5) - invisibility=initial(invisibility) - alpha = 255 - -/proc/flicker_mask(mob/spirit/mask/target) - if(istype(target)) - target.flicker() - -// SPELLS -/obj/effect/proc_holder/spell/aoe_turf/blood_speech - name = "Speak to your Acolytes" - desc = "This spell allows you to speak to your flock." - school = "unknown evil" - charge_type = "recharge" - charge_max = 2000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - -/obj/effect/proc_holder/spell/aoe_turf/blood_speech/cast(list/targets) - var/input = stripped_input(usr, "Please choose a message to tell your acolytes.", "Voice of Blood", "") - if(!input) - revert_cast(usr) - cult_log("[key_name_admin(usr)]says : [input]") - flicker_mask(usr) - for(var/datum/mind/H in ticker.mode.cult) - if (H.current) - H.current << "[usr.name]: [input]" - for(var/mob/spirit/spirit in spirits) - spirit << "[usr.name]: [input]" - - -/obj/effect/proc_holder/spell/aoe_turf/shatter_lights - name = "Spread Shadows" - desc = "This spell breaks lights near the mask." - school = "unknown evil" - charge_type = "recharge" - charge_max = 1000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - -/obj/effect/proc_holder/spell/aoe_turf/shatter_lights/cast(list/targets) - cult_log("[key_name_admin(usr)] used Spread Shadows.") - flicker_mask(usr) - spawn(0) - for(var/area/A in range(3,get_turf(usr))) - for(var/obj/machinery/light/L in A) - L.on = 1 - L.broken() - sleep(1) - for(var/obj/item/device/flashlight/F in A) - F.on = 0 - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman - name = "Create Talisman" - desc = "This spell conjures a talisman" - - school = "conjuration" - charge_type = "recharge" - charge_max = 3000 - clothes_req = 0 - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/obj/item/weapon/paper/talisman) - - var/list/talismans = list( "Armor"="armor", - "Blind"="blind", - "Conceal"="conceal", - "Communicate"="communicate", - "Deafen"="deafen", - "EMP"="emp", - "Teleport"="teleport", - "Tome"="newtome", - "Reveal Runes", - "Stun"="runestun", - "Soul Stone"="soulstone", - "Construct"="construct") - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman/cast(list/targets) - - var/talisman = input("Pick a talisman type", "Talisman", null, null) as null|anything in talismans - var/imbue_value = talismans[talisman] - if (!talisman) - usr << "You choose not to create a talisman." - revert_cast(usr) - return - - cult_log("[key_name_admin(usr,0)] created a talisman of type [talisman].") - flicker_mask(usr) - - switch(talisman) - - if ("Teleport") - var/target_rune = input("Pick a teleport target", "Teleport Rune", null, null) as null|anything in engwords - if (!target_rune) - usr << "You choose not to create a talisman." - revert_cast(usr) - return - summon_type = list(/obj/item/weapon/paper/talisman) - newVars = list("imbue" = "[target_rune]", "info" = "[target_rune]") - - if ("Soul Stone") - summon_type = list(/obj/item/device/soulstone) - newVars = list() - - if ("Construct") - summon_type = list(/obj/structure/constructshell) - newVars = list() - - else - summon_type = list(/obj/item/weapon/paper/talisman) - newVars = list("imbue" = "[imbue_value]") - - ..() \ No newline at end of file diff --git a/code/modules/mob/spirit/mask/respawn.dm b/code/modules/mob/spirit/mask/respawn.dm deleted file mode 100644 index acfb69073c..0000000000 --- a/code/modules/mob/spirit/mask/respawn.dm +++ /dev/null @@ -1,20 +0,0 @@ -/proc/there_can_be_only_one_mask(var/mob/spirit/mask/target) - if(!istype(target)) - return - for(var/mob/spirit/mask/currentSpirit in spirits) - if(currentSpirit) - if(currentSpirit!=target) - // create the ghost - var/mob/dead/observer/ghost = currentSpirit.ghostize(TRUE) - // let the deposed mask respawn immediately, the poor dear - ghost.timeofdeath = world.time - 20000 - ghost.newPlayerType = /mob/new_player/cultist - // remove old mask body - del(currentSpirit) - - -/mob/new_player/cultist/AttemptLateSpawn(rank) - var/mob/newCharacter = ..(rank) - if(ticker.mode) - if(is_convertable_to_cult(newCharacter.mind)) - ticker.mode.add_cultist(newCharacter.mind) \ No newline at end of file diff --git a/code/modules/mob/spirit/movement.dm b/code/modules/mob/spirit/movement.dm deleted file mode 100644 index d8847cb480..0000000000 --- a/code/modules/mob/spirit/movement.dm +++ /dev/null @@ -1,62 +0,0 @@ -// spirits are not moved by airflow -mob/spirit/Move() - return 0 - -// this is the main move proc for spirits, it uses their 'setLoc' function to handle all the visibility shenanigans -// this, like most movement code for these guys, is cribbed from the AIEye movement code -mob/spirit/proc/Spirit_Move(direct) - - var/initial = initial(sprint) - var/max_sprint = 50 - - // if we haven't moved in a while, we stop sprinting - if(cooldown && cooldown < world.timeofday) // 3 seconds - sprint = initial - - for(var/i = 0; i < max(sprint, initial); i += 20) - var/turf/step = get_turf(get_step(src, direct)) - if(step) - setLoc(step) - - dir = direct // update our sprite - - cooldown = world.timeofday + 5 - if(acceleration) - sprint = min(sprint + 0.5, max_sprint) - else - sprint = initial - - // if we're trying to move, we want to stop following our target - follow_target = null - - -/mob/spirit/proc/follow_cultist(mob/living/target as mob) - if(!istype(target)) return - var/obj/cult_viewpoint/currentView = getCultViewpoint(target) - var/mob/spirit/U = usr - - if (!currentView) - U << "As a spirit, you may only track cultists." - - U.follow_target = target - U << "Now following [currentView.get_cult_name()]." - - spawn (0) - while (U.follow_target == target) - if (U.follow_target == null) - return - U.setLoc(get_turf(target)) - sleep(10) - - -mob/spirit/proc/setLoc(var/T) - T = get_turf(T) - loc = T - cultNetwork.visibility(src) - -mob/spirit/verb/toggle_acceleration() - set category = "Spirit" - set name = "Toggle Acceleration" - - acceleration = !acceleration - usr << "Acceleration has been toggled [acceleration ? "on" : "off"]." \ No newline at end of file diff --git a/code/modules/mob/spirit/spirit.dm b/code/modules/mob/spirit/spirit.dm deleted file mode 100644 index ce85f4175f..0000000000 --- a/code/modules/mob/spirit/spirit.dm +++ /dev/null @@ -1,76 +0,0 @@ -/* -This mob type is used for entities that exist within the Cult's spirit world. They share the same visibility network and are intangible. -*/ - -mob/spirit - name = "spirit" - desc = "A spirit" - icon = 'icons/mob/mob.dmi' - icon_state = "ghost" - layer = 4 - stat = CONSCIOUS - status_flags = GODMODE // spirits cannot be killed - density = 0 - canmove = 0 - blinded = 0 - anchored = 1 - mouse_opacity = 0 - invisibility = INVISIBILITY_SPIRIT - universal_speak = 1 - - // pseudo-movement values - var/sprint = 10 - var/cooldown = 0 - var/acceleration = 1 - var/follow_target = null - - -mob/spirit/is_active() - if (client && client.inactivity <= 10 * 60 * 10) - return TRUE - return FALSE - - -mob/spirit/New() - sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF - see_invisible = SEE_SPIRITS - see_in_dark = 100 - - loc = pick(latejoin) - - // hook them to the cult visibility network - visibility_interface = new /datum/visibility_interface/cult(src) - - // no nameless spirits - if (!name) - name = "Boogyman" - - spirits+=src - - ..() - -mob/spirit/Del() - spirits-=src - ..() - - -mob/spirit/Topic(href, href_list) - world << "Spirit Topic!" - usr << "Topic: usr [usr], src [src]" - src << "Topic: usr [usr], src [src]" - - if(usr != src) - return - ..() - - usr << "Spirit Href = [href]" - for (var/tempref in href_list) - usr << "Spirit href list [tempref] = [href_list[tempref]]" - - if (href_list["track"]) - usr << "Got to tracking." - var/mob/target = locate(href_list["track"]) in mob_list - var/mob/spirit/A = locate(href_list["track2"]) in spirits - if(A && target) - A.follow_cultist(target) - return \ No newline at end of file diff --git a/code/modules/mob/spirit/viewpoint.dm b/code/modules/mob/spirit/viewpoint.dm deleted file mode 100644 index 5e06356129..0000000000 --- a/code/modules/mob/spirit/viewpoint.dm +++ /dev/null @@ -1,202 +0,0 @@ -#define FAVOR_PLEASED 1 -#define FAVOR_INDIFFERENT 0 -#define FAVOR_DISPLEASED -1 - - -var/obj/cult_viewpoint/list/cult_viewpoints = list() - - -/obj/cult_viewpoint - var/view_range = 7 - var/updating = 0 - var/mob/owner = null - var/urge = "" - var/favor = FAVOR_INDIFFERENT - var/cult_name = null - - -/obj/cult_viewpoint/New(var/mob/target) - owner = target - //src.loc = owner - owner.addToVisibilityNetwork(cultNetwork) - cultNetwork.viewpoints+=src - cultNetwork.addViewpoint(src) - cult_viewpoints+=src - //handle_missing_mask() - ..() - - -/obj/cult_viewpoint/Del() - processing_objects.Remove(src) - cultNetwork.viewpoints-=src - cultNetwork.removeViewpoint(src) - cult_viewpoints-=src - owner.removeFromVisibilityNetwork(cultNetwork) - ..() - return - - -// VERBS -/obj/cult_viewpoint/verb/check_urge() - set category = "Cult" - set desc = "Discover what your god commands of you." - set name = "Check Urge" - set src in usr - if (src.urge) - owner << "\red \b You feel the urge to [src.urge]" - else - owner << "\b You feel no supernatural compulsions." - - -/obj/cult_viewpoint/verb/reach_out() - set category = "Cult" - set desc = "Reach out for your gods presence." - set name = "Reach Out" - set src in usr - - for(var/mob/spirit/mask/currentMask in spirits) - if (currentMask.is_active()) - owner << "\red \b You feel the reassuring presence of your god." - currentMask << "[get_display_name()] has reached out to you." - return - owner << "\b You feel a chilling absence." - handle_missing_mask() - - -/obj/cult_viewpoint/verb/check_favor() - set category = "Cult" - set desc = "Check your favor with your god." - set name = "Check Favor" - set src in usr - switch(favor) - if(FAVOR_PLEASED) - owner << "\red \b You bask in your gods favor." - if(FAVOR_INDIFFERENT) - owner << "\red \b You feel nothing." - if(FAVOR_DISPLEASED) - owner << "\red \b You cringe at your gods displeasure." - - -/obj/cult_viewpoint/verb/pray_to_mask() - set category = "Cult" - set desc = "Pray to your god" - set name = "Pray to Nar'Sie" - set src in usr - - var/input = stripped_input(usr, "Please choose a message to say to your god.", "Pray to Nar'Sie", "") - if(!input) - return - - cult_log("[key_name(usr,0)](Pray):[input]") - owner << "You pray to Nar'Sie: [input]" - - for(var/mob/spirit/spirit in spirits) - spirit << "[get_display_name()] prays : [input]" - -// PROCS -/obj/cult_viewpoint/proc/set_favor(var/newFavor) - favor = newFavor - check_favor() - - -/obj/cult_viewpoint/proc/set_urge(var/newUrge) - if (!newUrge) - src.urge = null - src.urge = copytext(newUrge, 1, MAX_MESSAGE_LEN) - check_urge() - - -/obj/cult_viewpoint/proc/can_use() - if (owner.stat != DEAD) - return TRUE - return FALSE - - -/obj/cult_viewpoint/proc/can_see() - return hear(view_range, get_turf(owner)) - - -/obj/cult_viewpoint/proc/get_cult_name() - if (cult_name) - return cult_name - return "An Unknown Servent" - - -/obj/cult_viewpoint/proc/set_cult_name(var/newName) - if (!owner) - return FALSE - if (newName) - cult_name = newName - owner << "\red \b You have been blessed with the secret name of '[newName]'." - else - cult_name = null - owner << "\red \b Your god has taken your secret name." - - -/obj/cult_viewpoint/proc/get_display_name() - if (!owner) - return - if (cult_name) - return cult_name - return owner.name - - -/obj/cult_viewpoint/proc/become_mask() - set category = "Cult" - set name = "Become Mask" - set desc = "Sacrifice your life and become a Mask of Nar'sie." - set src in usr - - cult_log("[key_name(usr,0)] has tried to become a Mask of Nar'sie.") - - if (!active_mask()) - var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent") - if(!active_mask()) - cult_log("[key_name(usr,0)] has become a Mask of Nar'sie.") - if (transformation_type=="Subtle") - log_admin("[key_name_admin(owner)] has subtly become a Mask of Nar'sie") - owner.make_into_mask(0,0) - else - log_admin("[key_name_admin(owner)] has violently become a Mask of Nar'sie") - owner.make_into_mask(1,1) - else - owner << "\b You cannot become a mask of Nar'Sie because a Mask already exists." - mask_has_been_found() - return - - -/obj/cult_viewpoint/proc/active_mask() - for(var/mob/spirit/mask/currentMask in spirits) - if (currentMask.is_active()) - return TRUE - return FALSE - - -/obj/cult_viewpoint/proc/handle_missing_mask() - if (active_mask()) - mask_has_been_found() - else - mask_is_missing() - - -/obj/cult_viewpoint/proc/mask_has_been_found() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - if (viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) - viewpoint.verbs-=/obj/cult_viewpoint/proc/become_mask - - -/obj/cult_viewpoint/proc/mask_is_missing() - for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints) - if (!viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask)) - viewpoint.verbs+=/obj/cult_viewpoint/proc/become_mask - - -/proc/getCultViewpoint(var/mob/currentMob) - for(var/obj/cult_viewpoint/currentView in currentMob) - return currentView - return FALSE - - -#undef FAVOR_PLEASED -#undef FAVOR_INDIFFERENT -#undef FAVOR_DISPLEASED \ No newline at end of file diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index ea45eca49e..0015620cc5 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -133,59 +133,7 @@ . = O del(src) - -/mob/living/carbon/human/make_into_mask(var/should_gib = 0) - for(var/t in organs) - del(t) - return ..(should_gib) - -/mob/proc/make_into_mask(var/should_gib = 0, var/should_remove_items = 0) - - if(!should_gib) - icon = null - invisibility = 101 - - if(!should_remove_items) - for(var/obj/item/W in src) - drop_from_inventory(W) - - var/mob/spirit/mask/new_spirit = new() - - if(mind) - new_spirit.mind = mind - new_spirit.mind.assigned_role = "Mask" - new_spirit.mind.original = new_spirit - - new_spirit.key = key - new_spirit.loc=loc - - if (should_gib) - spawn(0) - src.gib() // gib the body - else - spawn(0)//To prevent the proc from returning null. - src.visible_message( \ - "[src] disappears into the shadows, never to be seen again.", \ - "You disappear into the shadows, never to be seen again.", \ - "You hear strange noise, you can't quite place it.") - del(src) - - new_spirit << "You are a Mask of Nar'sie now. You are a tiny fragment of the unknowable entity that is the god." - new_spirit << "Your job is to help your acolytes complete their goals. Be spooky. Do evil." - - new_spirit.set_name() - - // let spirits identify cultists - if(ticker.mode) - ticker.mode.reset_cult_icons_for_spirit(new_spirit) - - // highlander test - there_can_be_only_one_mask(new_spirit) - - return new_spirit - - //human -> robot /mob/living/carbon/human/proc/Robotize() if (monkeyizing) diff --git a/code/setup.dm b/code/setup.dm index 46800d409f..68b7552b40 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -529,9 +529,6 @@ var/list/liftable_structures = list(\ #define SEE_INVISIBLE_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. #define INVISIBILITY_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. -#define INVISIBILITY_SPIRIT 50 -#define SEE_SPIRITS 50 - #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 9a0b8f14cf..fda3fb64e2 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -63,7 +63,6 @@ h1.alert, h2.alert {color: #000000;} .skrell {color: #00CED1;} .soghun {color: #228B22;} .vox {color: #AA00AA;} -.cultspeech {color: #B20000;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .interface {color: #330033;} diff --git a/code/unused/AI_Visibility.dm b/code/unused/AI_Visibility.dm index 0769f8ca87..d218f4409b 100644 --- a/code/unused/AI_Visibility.dm +++ b/code/unused/AI_Visibility.dm @@ -5,7 +5,7 @@ var/image/dim /turf/proc/visibilityChanged() - cameraNetwork.updateVisibility(src) + cameranet.updateVisibility(src) /datum/camerachunk var/list/obscuredTurfs = list() @@ -180,22 +180,22 @@ dim += t.dim -var/datum/cameraNetwork/cameraNetwork = new() +var/datum/cameranet/cameranet = new() -/datum/cameraNetwork +/datum/cameranet var/list/cameras = list() var/list/chunks = list() var/network = "net1" var/ready = 0 -/datum/cameraNetwork/New() +/datum/cameranet/New() ..() -/datum/cameraNetwork/proc/chunkGenerated(x, y, z) +/datum/cameranet/proc/chunkGenerated(x, y, z) var/key = "[x],[y],[z]" return key in chunks -/datum/cameraNetwork/proc/getCameraChunk(x, y, z) +/datum/cameranet/proc/getCameraChunk(x, y, z) var/key = "[x],[y],[z]" if(!(key in chunks)) @@ -203,7 +203,7 @@ var/datum/cameraNetwork/cameraNetwork = new() return chunks[key] -/datum/cameraNetwork/proc/visibility(mob/aiEye/ai) +/datum/cameranet/proc/visibility(mob/aiEye/ai) var/x1 = max(0, ai.x - 16) & ~0xf var/y1 = max(0, ai.y - 16) & ~0xf var/x2 = min(world.maxx, ai.x + 16) & ~0xf @@ -224,14 +224,14 @@ var/datum/cameraNetwork/cameraNetwork = new() for(var/datum/camerachunk/c in add) c.add(ai) -/datum/cameraNetwork/proc/updateVisibility(turf/loc) +/datum/cameranet/proc/updateVisibility(turf/loc) if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) return var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) chunk.visibilityChanged(loc) -/datum/cameraNetwork/proc/addCamera(obj/machinery/camera/c) +/datum/cameranet/proc/addCamera(obj/machinery/camera/c) var/x1 = max(0, c.x - 16) & ~0xf var/y1 = max(0, c.y - 16) & ~0xf var/x2 = min(world.maxx, c.x + 16) & ~0xf @@ -265,17 +265,17 @@ var/datum/cameraNetwork/cameraNetwork = new() else client.eye = eyeobj eyeobj.loc = loc - cameraNetwork.visibility(eyeobj) + cameranet.visibility(eyeobj) cameraFollow = null /mob/aiEye/Move() . = ..() if(.) - cameraNetwork.visibility(src) + cameranet.visibility(src) /client/AIMove(n, direct, var/mob/living/silicon/ai/user) if(eye == user.eyeobj) user.eyeobj.loc = get_step(user.eyeobj, direct) - cameraNetwork.visibility(user.eyeobj) + cameranet.visibility(user.eyeobj) else return ..() @@ -289,7 +289,7 @@ var/datum/cameraNetwork/cameraNetwork = new() else if(direct == DOWN && user.eyeobj.z < 4) dif = 1 user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameraNetwork.visibility(user.eyeobj) + cameranet.visibility(user.eyeobj) else return ..() */ @@ -303,8 +303,8 @@ var/datum/cameraNetwork/cameraNetwork = new() /obj/machinery/door/update_nearby_tiles(need_rebuild) . = ..(need_rebuild) - cameraNetwork.updateVisibility(loc) + cameranet.updateVisibility(loc) /obj/machinery/camera/New() ..() - cameraNetwork.addViewpoint(src) \ No newline at end of file + cameranet.addCamera(src) \ No newline at end of file diff --git a/icons/mob/spirits/mask.dmi b/icons/mob/spirits/mask.dmi deleted file mode 100644 index 20fe26c4bced41886718c66c2569db7bd9b7fbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972 zcmV;-12g=IP){f|1VR6J#Mc^K`AXmVMIPFJvJXTFe5%V zBsVf292pHHAs8-Ws%~RG_TXpZ00001bW%=J06^y0W&i*Ha(Yx)bVOxyV{&P5bZKvH z004NLQ&wT#GdI(F^OKlJp@5n z3+G-O)8xJHrvs6nx=Jo`A42HJ5lVMOTR3O5vEub0sZCjjSC?tfNQ;& zK6vu6ItKLD>y-nO$OcF?z(PxiVV|95=x+*0iLqo6UOE8LE>r;TS@i(;Ad*O!m#Pir z2=ZM4`!;4D*!0L{JfY_fApF3h`WmvPI3ky^yAdh?ive_(N)G~b5^;o#+Y+Ls0l*3r ziavGTw1mni7{Ijv=r48&goSN_0ulh}Cjg-V2#Glb?|5y#XYT;vyCZ$n0DbfUs87%7 zlAwartl$8!05iVJ%<490{9$YgLDCW3NTEc0DL<2AMkPjjQ|G(DltqR z7xDE_cduOM@4PNZsrJqHG*O`Th;e1lmco(_K`aU1nK3Kum%us!Fue{St#864FeEs$ zpD&LG?`D+Cm49sj=tb%;rrM1VoC|=*uIy zkP((@e#pAJ&L21{Sovcz>+MAEvlXEFs)QWi%{rZAi(NKG6p%bXv=vZ!gU%I{b$~I0 z+($$JkbKfz7Ut?A^mqe+#s+YhrQp&Pz>_2exFY~XFRlSVcQL0dBS2OFjJFNIY-XK+ zwKhNM3Wx^aZ4TH0vi?j9plK^MKnyByq5vKO)-fQT0hAM9L}<*BEAa;C^gw5zRLqfE z28TDP0PgoTplE2dA);Y^yl#M@c`^WibOGzp7t{7`TRe8R|8bBWq;2s