From 9114bb551417a01d26f690e45edfe75b80de692f Mon Sep 17 00:00:00 2001 From: FluffMedic <109300046+FluffMedic@users.noreply.github.com> Date: Thu, 10 Oct 2024 18:47:36 -0400 Subject: [PATCH] Small Tyr Update (#9193) --- maps/southern_sun/overmap/planets/tyr/tyr.dmm | 40 +- .../objects/structures/tyr_project_props.dm | 189 +++++++- .../subtypes/humanoid/eclipse/mechas.dm | 416 ++++++++++++------ modular_chomp/code/modules/planet/tyr.dm | 34 +- .../code/modules/projectiles/precursor/tyr.dm | 69 ++- modular_chomp/icons/mob/eclipse.dmi | Bin 110763 -> 111115 bytes .../icons/obj/guns/precursor/tyr.dmi | Bin 1991 -> 2243 bytes modular_chomp/icons/obj/weather_ruins.dmi | Bin 1375 -> 1413 bytes 8 files changed, 559 insertions(+), 189 deletions(-) diff --git a/maps/southern_sun/overmap/planets/tyr/tyr.dmm b/maps/southern_sun/overmap/planets/tyr/tyr.dmm index d606edff5c..554e8ef331 100644 --- a/maps/southern_sun/overmap/planets/tyr/tyr.dmm +++ b/maps/southern_sun/overmap/planets/tyr/tyr.dmm @@ -1,5 +1,6 @@ "af" = (/turf/simulated/wall/solidrock,/area/surface/tyr/eclipse_stronghold/sectorfinale) "aj" = (/obj/structure/prop/tyr_elevator,/turf/simulated/shuttle/floor/alien,/area/surface/tyr/eclipse_stronghold/sectorfinale) +"al" = (/obj/effect/simple_portal/linked{portal_id = "supersecertbossportal"},/turf/simulated/shuttle/floor/alien,/area/surface/tyr/eclipse_stronghold/sectorfinale) "am" = (/turf/simulated/shuttle/wall/alien/orange,/area/surface/tyr/precursorruins/airmaze) "an" = (/obj/effect/zone_divider,/turf/simulated/mineral/light/tyr,/area/surface/tyr/north_caverns) "aq" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/diagonal,/turf/simulated/floor/tiled/hydro,/area/surface/tyr/eclipse_stronghold/sectore) @@ -53,7 +54,7 @@ "eA" = (/obj/machinery/door/blast/regular{id = "tyrslimepit"},/turf/simulated/floor/bmarble,/area/surface/tyr/eclipse_stronghold/sectore) "eM" = (/turf/simulated/wall/r_concrete,/area/surface/tyr/eclipse_stronghold/sectorb) "eU" = (/mob/living/simple_mob/slime/xenobio,/turf/simulated/floor/bmarble,/area/surface/tyr/eclipse_stronghold/sectore) -"eW" = (/mob/living/simple_mob/vore/weatherbeast/darkmist,/turf/simulated/shuttle/floor/alien,/area/surface/tyr/northern_wilderness) +"eW" = (/obj/effect/simple_portal/linked{portal_id = "supersecertbossportal"},/turf/simulated/shuttle/floor/alien,/area/surface/tyr/northern_wilderness) "eX" = (/mob/living/simple_mob/humanoid/eclipse/lunar/abyssdiver,/turf/simulated/floor/bmarble,/area/surface/tyr/eclipse_stronghold/sectore) "eY" = (/mob/living/simple_mob/humanoid/eclipse/solar/radiation,/turf/simulated/floor/bmarble,/area/surface/tyr/eclipse_stronghold/sectore) "eZ" = (/mob/living/simple_mob/slime/xenobio/sepia{faction = "eclipse"; unity = 1},/turf/simulated/floor/wmarble,/area/surface/tyr/eclipse_stronghold/sectore) @@ -568,7 +569,8 @@ "XS" = (/mob/living/simple_mob/animal/tyr/mineral_ants/queen,/turf/simulated/floor/outdoors/desert_planet/gravel/tyr,/area/surface/tyr/mining_depot) "Yh" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 5},/obj/machinery/computer,/turf/simulated/floor/wood,/area/surface/tyr/eclipse_stronghold/sectora) "Yl" = (/obj/structure/grille,/obj/structure/window/plastitanium{dir = 8},/obj/structure/window/plastitanium{dir = 4},/obj/structure/window/plastitanium{dir = 1},/turf/simulated/floor/wmarble,/area/surface/tyr/eclipse_stronghold/sectorb) -"Yq" = (/obj/structure/fans/hardlight/colorable/abductor{color = "#FF3300"},/obj/machinery/door/blast/puzzle{id = "tyrgroupcheckA"},/obj/machinery/door/blast/puzzle{id = "tyrgroupcheckB"},/obj/machinery/door/blast/puzzle{id = "tyrgroupcheckC"},/obj/machinery/door/blast/puzzle{id = "tyrgroupcheckD"},/obj/machinery/door/blast/puzzle{density = 0; icon_state = "pdoor0"; id = "tyrpuzzlecheckA"; opacity = 0},/obj/machinery/door/blast/puzzle{density = 0; icon_state = "pdoor0"; id = "tyrpuzzlecheckA"; opacity = 0},/turf/simulated/shuttle/floor/alien,/area/surface/tyr/northern_wilderness) +"Yq" = (/obj/structure/fans/hardlight/colorable/abductor{color = "#FF3300"},/obj/machinery/door/blast/tyremittercheck,/turf/simulated/shuttle/floor/alien,/area/surface/tyr/northern_wilderness) +"Yu" = (/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss,/turf/simulated/shuttle/floor/alien,/area/surface/tyr/eclipse_stronghold/sectorfinale) "Yv" = (/obj/effect/floor_decal/corner/pink,/obj/effect/floor_decal/corner/orange{dir = 1},/turf/simulated/floor/tiled/red,/area/surface/tyr/eclipse_stronghold/sectora) "Yy" = (/obj/effect/floor_decal/corner/white/diagonal,/mob/living/simple_mob/humanoid/eclipse/solar/disablernoodle,/turf/simulated/floor/tiled/white,/area/surface/tyr/eclipse_stronghold/sectore) "YK" = (/turf/unsimulated/wall/planetary/normal/tyr,/area/surface/tyr/southern_wilderness) @@ -601,23 +603,23 @@ VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZy VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYFVCWCWaSCWCWFVwYwYZyZyZyZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamamamamamamamamamamamamamamamamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyRdczczbababaasasawawawczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamcYwHciwHcYwHcYcYwHbdwHcYwHcYamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWCWCWCWCWCWCWCWwYwYZyZyZyZyZyRdczczbababaasasawawawasasawawawczczRdZyZyZyZyZyZyZyZyZyxixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamcYcYamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyRdasasawawawczczbababaasasawawawczczRdZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamciwHcYwHcYamcYcYamcYwHciwHcYamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWFVCWCWCWCWCWFVCWCWwYwYZyZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyxibExixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamcYcYamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdRdasasawawawczczbababaczczbababaczczbGxixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamcYwHbIwHciambZbZamciwHcYwHbIamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYZyZyRdceczczbababaasasawawawczczbababaczczbGxixixixixicjxixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamamamamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyRdRdczczbababaasasawawawczczbababaczczbGxixixixixixixixiZyZyZyZyZyxixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyambdwHcYwHcYwHdwdwwHcYwHcYwHciamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxiZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamamamamamamamdwdwamamamamamamamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaasasawawawczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamdwdwamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdczczbababaasasawawawasasawawawczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdczczbababaasasawawawczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixiJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixiJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixiZyxiZyZyxixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrcoJrJrJrZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyxixixixixixixixixixiZyxiZyxiZyZyJrZyZyZyJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyxixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixiJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWFVCWCWCWCWCWFVCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrJrJrJrJrJrJrZyZyxixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixicpxixixixixixixiJrJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxiJrJrJrJrJrJrJrJrJrJrJrJrxixixixixixixixixixixiZyxiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr -VrZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixiJrJrJrJrJrJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYCWCWCWCWCWCWCWCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixiJrJrJrJrJrJrZyJrZyJrJrxixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamcYcYamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYwYwYwYwYwYwYwYwYwYwYwYZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyRdasasawawawczczbababaasasawawawczczRdZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamciwHcYwHcYamcYcYamcYwHciwHcYamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYajajwYajajwYajajwYajajwYwYwYwYwYwYCWCWFVCWCWCWCWCWFVCWCWwYwYZyZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyxibExixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamcYcYamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYwYwYwYwYaNaNwYaNaNwYaNaNwYaNaNwYwYwYwYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdRdasasawawawczczbababaczczbababaczczbGxixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamcYwHbIwHciambZbZamciwHcYwHbIamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYZyZyRdceczczbababaasasawawawczczbababaczczbGxixixixixicjxixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamwHamwHamwHamamamamwHamwHamwHamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWalCWwYCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyRdRdczczbababaasasawawawczczbababaczczbGxixixixixixixixiZyZyZyZyZyxixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyambdwHcYwHcYwHdwdwwHcYwHcYwHciamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYwYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxiZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamamamamamamamdwdwamamamamamamamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWwYCWCWCWCWCWwYCWCWCWaNajwYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaasasawawawczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyamdwdwamZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdczczbababaasasawawawasasawawawczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWCWCWCWYuCWCWCWCWCWCWwYwYwYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdczczbababaasasawawawczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixiJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixiJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWwYCWCWCWwYCWCWCWCWCWwYCWCWCWaNajwYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyRdasasawawawczczbababaczczbababaczczRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYwYFVCWCWCWFVCWCWCWCWCWFVCWCWCWFVwYZyZyZyRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdRdZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixiZyxiZyZyxixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrcoJrJrJrZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyxixixixixixixixixixiZyxiZyxiZyZyJrZyZyZyJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWCWaNajwYwYCWCWCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyxixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyxixixixixixixixixixixixixixixiJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYwYwYwYwYaNaNwYaNaNwYaNaNwYaNaNwYwYwYwYwYwYCWCWFVCWCWCWCWCWFVCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyJrJrJrJrJrJrJrJrJrJrJrJrZyZyxixixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixicpxixixixixixixiJrJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYajajwYajajwYajajwYajajwYwYwYwYZywYCWCWCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxiJrJrJrJrJrJrJrJrJrJrJrJrxixixixixixixixixixixiZyxiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr +VrZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixixixiJrJrJrJrJrJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYwYwYwYwYwYwYwYwYwYwYwYZyZyZyZywYwYCWCWCWCWCWCWCWCWCWwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixiJrJrJrJrJrJrZyJrZyJrJrxixixixixixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr VrZyZyZyZyZyZyZyZyZyZyxixixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiJrJrJrJrJrJrJrJrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYCWCWCWCWCWCWCWCWCWwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixiJrJrJrZyZyZyZyZyZyZyxixixixiZyxiZyxiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr VrZyZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixiJrJrJrJrJrJrJrJrJrcrJrJrJrJrJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYFVCWCWCWCWCWFVwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixixixixixixiJrZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr VrZyZyZyZyZyZyZyZyZyxixixixixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxiZyZyZyZyJrJrZyJrJrJrJrJrJrJrxixixiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZywYwYwYiViViVwYwYwYZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyxixiZyxixiZyxixixixixiZyxiZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyZyVr diff --git a/modular_chomp/code/game/objects/structures/tyr_project_props.dm b/modular_chomp/code/game/objects/structures/tyr_project_props.dm index e7b169f5a1..8e02584868 100644 --- a/modular_chomp/code/game/objects/structures/tyr_project_props.dm +++ b/modular_chomp/code/game/objects/structures/tyr_project_props.dm @@ -35,4 +35,191 @@ /obj/machinery/door/blast/puzzle/tyrdoor/finale name = "strange door" desc = "A strange door. With no way to open it, they will remain shut for quite some time.." - icon_state_closed = "final_door" \ No newline at end of file + icon_state_closed = "final_door" + +//Okay, actual special puzzle doors for reals +/obj/machinery/door/blast/puzzle/tyrdoor/keypad + icon_state_closed = "star_door" + var/list/code = list() + var/list/lastattempt = list() + var/codelen = 6 + +/obj/machinery/door/blast/puzzle/tyrdoor/keypad/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/multitool)) + to_chat(user, span_notice("The door is locked.")) + var/input = tgui_input_text(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") + if(!Adjacent(user)) + return + var/list/sanitised = list() + var/sanitycheck = 1 + for(var/i=1,i<=length(input),i++) //put the guess into a list + sanitised += text2num(copytext(input,i,i+1)) + for(var/i=1,i<=(length(input)-1),i++) //compare each digit in the guess to all those following it + for(var/j=(i+1),j<=length(input),j++) + if(sanitised[i] == sanitised[j]) + sanitycheck = null //if a digit is repeated, reject the input + + if(input == null || sanitycheck == null || length(input) != codelen) + to_chat(user, span_notice("You leave the lock alone.")) + else if(check_input(input)) + to_chat(user, span_notice("The door unlocks and open!")) + playsound(src, 'sound/machines/lockreset.ogg', 50, 1) + open() + else + visible_message(span_warning("A red light on \the [src]'s control panel flashes briefly.")) + ..() + +/obj/machinery/door/blast/puzzle/tyrdoor/keypad/proc/check_input(var/input) + if(length(input) != codelen) + return 0 + + . = 1 + lastattempt.Cut() + for(var/i in 1 to codelen) + var/guesschar = copytext(input, i, i+1) + lastattempt += guesschar + if(guesschar != code[i]) + . = 0 + +/obj/machinery/door/blast/puzzle/tyrdoor/firedoor + icon_state_closed = "fog_door" + var/heatcheck = 300 + +/obj/machinery/door/blast/puzzle/tyrdoor/firedoor/proc/ignite(exposed_temperature) + if(exposed_temperature > heatcheck) + open() + +/* +/obj/machinery/door/blast/puzzle/tyrdoor/ + +/obj/machinery/door/blast/puzzle/tyrdoor/ +*/ + +/obj/machinery/door/blast/tyremittercheck //Desire is for them to set up an emitter, and break the door that way. + name = "strange door" + desc = "A strange door, but seems weaker then others. May break under extreme firepower.." + icon = 'modular_chomp/icons/obj/weather_ruins.dmi' + icon_state_closed = "ultra_blast_door" + health = 4500 + +/* +//Funky Buildings +/obj/machinery/restoration_cell + name = "restoration cell" + desc = "A precusor device that generators a healing fluid" + icon = 'modular_chomp/icons/obj/weather_ruins.dmi' + icon_state = "pod_preview" + density = TRUE + anchored = TRUE + + use_power = USE_POWER_IDLE + idle_power_usage = 200 + active_power_usage = 7500 + buckle_lying = FALSE + buckle_dir = SOUTH + + var/mob/living/carbon/occupant = null + +/obj/machinery/restoration_cell/attackby(var/obj/item/G as obj, var/mob/user as mob) + if(istype(G, /obj/item/grab)) + var/obj/item/grab/grab = G + if(!ismob(grab.affecting)) + return + if(occupant) + to_chat(user,span_warning("\The [src] is already occupied by [occupant].")) + if(grab.affecting.has_buckled_mobs()) + to_chat(user, span_warning("\The [grab.affecting] has other entities attached to it. Remove them first.")) + return + var/mob/M = grab.affecting + qdel(grab) + put_mob(M) + + return + +/obj/machinery/restoration_cell/proc/process_occupant() + if(occupant) + if(occupant.radiation || occupant.accumulated_rads) + occupant.radiation -= 40 + occupant.accumulated_rads -= 40 + occupant.heal_organ_damage(8,8) + +/obj/machinery/restoration_cell/proc/go_out() + if(!(occupant)) + return + //for(var/obj/O in src) + // O.loc = src.loc + if(occupant.client) + occupant.client.eye = occupant.client.mob + occupant.client.perspective = MOB_PERSPECTIVE + vis_contents -= occupant + occupant.pixel_x = occupant.default_pixel_x + occupant.pixel_y = occupant.default_pixel_y + occupant.loc = get_step(src.loc, SOUTH) + unbuckle_mob(occupant, force = TRUE) + occupant = null + update_use_power(USE_POWER_IDLE) + return + +/obj/machinery/restoration_cell/proc/put_mob(mob/living/carbon/M as mob) + if(stat & (NOPOWER|BROKEN)) + to_chat(usr, span_warning("The cryo cell is not functioning.")) + return + if(!istype(M)) + to_chat(usr, span_danger("The cryo cell cannot handle such a lifeform!")) + return + if(occupant) + to_chat(usr, span_danger("The cryo cell is already occupied!")) + return + if(M.abiotic()) + to_chat(usr, span_warning("Subject may not have abiotic items on.")) + return + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.stop_pulling() + M.loc = src + M.ExtinguishMob() + if(M.health > -100 && (M.health < 0 || M.sleeping)) + to_chat(M, span_notice("You feel a warm liquid surround you.")) + occupant = M + buckle_mob(occupant, forced = TRUE, check_loc = FALSE) + vis_contents |= occupant + occupant.pixel_y += 19 + update_use_power(USE_POWER_ACTIVE) + add_fingerprint(usr) + update_icon() + return 1 + +/obj/machinery/restoration_cell/verb/move_eject() + set name = "Eject occupant" + set category = "Object" + set src in oview(1) + if(usr == occupant)//If the user is inside the tube... + if(usr.stat == 2)//and he's not dead.... + return + to_chat(usr, span_notice("Release sequence activated. This will take one minute.")) + sleep(600) + if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already + return + go_out()//and release him from the eternal prison. + else + if(usr.stat != 0) + return + go_out() + add_fingerprint(usr) + return + +/obj/machinery/restoration_cell/verb/move_inside() + set name = "Move Inside" + set category = "Object" + set src in oview(1) + if(isliving(usr)) + var/mob/living/L = usr + if(L.has_buckled_mobs()) + to_chat(L, span_warning("You have other entities attached to yourself. Remove them first.")) + return + if(L.stat != CONSCIOUS) + return + put_mob(L) + +*/ \ No newline at end of file diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/mechas.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/mechas.dm index e6e6b9ec0c..63dc8dc45f 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/mechas.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/mechas.dm @@ -1257,147 +1257,60 @@ //Phase three 2 wierd patterns, and 1 strange attack. /mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/proc/phasethree_cycleone(atom/target) specialattackprojectile = /obj/item/projectile/energy/darkspike - upfour_leftthree(target) - upfour_lefttwo(target) - upfour_leftone(target) - upfour_rightone(target) - upfour_righttwo(target) - upfour_rightthree(target) - upthree_rightfour(target) - uptwo_rightfour(target) - upone_rightfour(target) - downone_rightfour(target) - downtwo_rightfour(target) - downthree_rightfour(target) - downfour_rightthree(target) - downfour_righttwo(target) - downfour_rightone(target) - downfour_leftone(target) - downfour_lefttwo(target) - downfour_leftthree(target) - downthree_leftfour(target) - downtwo_leftfour(target) - downone_leftfour(target) - upone_leftfour(target) - uptwo_leftfour(target) - upthree_leftfour(target) - sleep(15) - upfour_leftfour(target) upfour(target) - upfour_rightfour(target) - rightfour(target) - downfour_rightfour(target) downfour(target) - downfour_leftfour(target) - leftfour(target) - sleep(15) - upfour_leftthree(target) - upfour_lefttwo(target) + sleep(2.5) upfour_leftone(target) upfour_rightone(target) - upfour_righttwo(target) - upfour_rightthree(target) - upthree_rightfour(target) - uptwo_rightfour(target) - upone_rightfour(target) - downone_rightfour(target) - downtwo_rightfour(target) - downthree_rightfour(target) - downfour_rightthree(target) - downfour_righttwo(target) - downfour_rightone(target) downfour_leftone(target) + downfour_rightone(target) + sleep(2.5) + upfour_lefttwo(target) + upfour_righttwo(target) downfour_lefttwo(target) + downfour_righttwo(target) + sleep(2.5) + upfour_leftthree(target) + upfour_rightthree(target) downfour_leftthree(target) - downthree_leftfour(target) - downtwo_leftfour(target) - downone_leftfour(target) - upone_leftfour(target) - uptwo_leftfour(target) + downfour_rightthree(target) + sleep(2.5) + upfour_leftfour(target) + upfour_rightfour(target) + downfour_leftfour(target) + downfour_rightfour(target) + sleep(2.5) upthree_leftfour(target) + upthree_rightfour(target) + downthree_leftfour(target) + downthree_rightfour(target) + sleep(2.5) + uptwo_leftfour(target) + uptwo_rightfour(target) + downtwo_leftfour(target) + downtwo_rightfour(target) + sleep(2.5) + upone_leftfour(target) + upone_rightfour(target) + downone_leftfour(target) + downone_rightfour(target) + sleep(8) + specialattackprojectile = /obj/item/projectile/scatter/shotgun + leftfour(target) + rightfour(target) attackcycle = 2 /mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/proc/phasethree_cycletwo(atom/target) - specialattackprojectile = /obj/item/projectile/energy/darkspike + specialattackprojectile = /obj/item/projectile/energy/homing_bolt + upfour_leftfour(target) upfour_rightfour(target) - upfour_rightthree(target) - upfour_righttwo(target) - upfour_rightone(target) + downfour_leftfour(target) + downfour_rightfour(target) + sleep(5) upfour(target) - upfour_leftone(target) - upfour_lefttwo(target) - upfour_leftthree(target) - upfour_leftfour(target) - sleep(5) - upfour_rightfour(target) - upthree_rightfour(target) - uptwo_rightfour(target) - upone_rightfour(target) - rightfour(target) - downone_rightfour(target) - downtwo_rightfour(target) - downthree_rightfour(target) - downfour_rightfour(target) - sleep(5) - downfour_rightfour(target) - downfour_rightthree(target) - downfour_righttwo(target) - downfour_rightone(target) downfour(target) - downfour_leftone(target) - downfour_lefttwo(target) - downfour_leftthree(target) - downfour_leftfour(target) - sleep(5) - downfour_leftfour(target) - downthree_leftfour(target) - downtwo_leftfour(target) - downone_leftfour(target) leftfour(target) - upone_leftfour(target) - uptwo_leftfour(target) - upthree_leftfour(target) - upfour_leftfour(target) - sleep(5) - upfour_rightfour(target) - upfour_rightthree(target) - upfour_righttwo(target) - upfour_rightone(target) - upfour(target) - upfour_leftone(target) - upfour_lefttwo(target) - upfour_leftthree(target) - upfour_leftfour(target) - sleep(15) - upfour_rightfour(target) - upthree_rightfour(target) - uptwo_rightfour(target) - upone_rightfour(target) rightfour(target) - downone_rightfour(target) - downtwo_rightfour(target) - downthree_rightfour(target) - downfour_rightfour(target) - sleep(5) - downfour_rightfour(target) - downfour_rightthree(target) - downfour_righttwo(target) - downfour_rightone(target) - downfour(target) - downfour_leftone(target) - downfour_lefttwo(target) - downfour_leftthree(target) - downfour_leftfour(target) - sleep(5) - downfour_leftfour(target) - downthree_leftfour(target) - downtwo_leftfour(target) - downone_leftfour(target) - leftfour(target) - upone_leftfour(target) - uptwo_leftfour(target) - upthree_leftfour(target) - upfour_leftfour(target) attackcycle = 3 /mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/proc/phasethree_cyclethree(atom/target) //eight spinning death beams @@ -1406,84 +1319,305 @@ upfour_rightfour(target) downfour_rightfour(target) downfour_leftfour(target) - sleep(5) + sleep(2.5) upfour_leftthree(target) upthree_rightfour(target) downfour_rightthree(target) downthree_leftfour(target) - sleep(5) + sleep(2.5) upfour_lefttwo(target) uptwo_rightfour(target) downfour_righttwo(target) downtwo_leftfour(target) - sleep(5) + sleep(2.5) upfour_leftone(target) upone_rightfour(target) downfour_rightone(target) downone_leftfour(target) - sleep(5) + sleep(2.5) upfour(target) rightfour(target) downfour(target) leftfour(target) - sleep(5) + sleep(2.5) upfour_rightone(target) downone_rightfour(target) downfour_leftone(target) upone_leftfour(target) - sleep(5) + sleep(2.5) upfour_righttwo(target) downtwo_rightfour(target) downfour_lefttwo(target) uptwo_leftfour(target) - sleep(5) + sleep(2.5) upfour_rightthree(target) downthree_rightfour(target) downfour_leftthree(target) upthree_leftfour(target) - sleep(5) + sleep(2.5) upfour_rightfour(target) downfour_rightfour(target) downfour_leftfour(target) upfour_leftfour(target) - sleep(5) //Now we reverse + sleep(2.5) //Now we reverse upfour_rightthree(target) downthree_rightfour(target) downfour_leftthree(target) upthree_leftfour(target) - sleep(5) + sleep(2.5) upfour_righttwo(target) downtwo_rightfour(target) downfour_lefttwo(target) uptwo_leftfour(target) - sleep(5) + sleep(2.5) upfour_rightone(target) downone_rightfour(target) downfour_leftone(target) upone_leftfour(target) - sleep(5) + sleep(2.5) upfour(target) rightfour(target) downfour(target) leftfour(target) - sleep(5) + sleep(2.5) upfour_leftone(target) upone_rightfour(target) downfour_rightone(target) downone_leftfour(target) - sleep(5) + sleep(2.5) upfour_lefttwo(target) uptwo_rightfour(target) downfour_righttwo(target) downtwo_leftfour(target) - sleep(5) + sleep(2.5) upfour_leftthree(target) upthree_rightfour(target) downfour_rightthree(target) downthree_leftfour(target) - sleep(5) + sleep(2.5) upfour_leftfour(target) upfour_rightfour(target) downfour_rightfour(target) downfour_leftfour(target) attackcycle = 1 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss + name = "Tyr Guard Drone" + armor = list(melee = 40, bullet = 40, laser = 40, energy = 40, bomb = 80, bio = 100, rad = 100) + specialattackprojectile = /obj/item/projectile/energy/plasma/vepr + icon_state = "secert_boss" + hovering = TRUE + health = 1000 + maxHealth = 1000 + shock_resist = 1 + loot_list = list(/obj/item/gun/energy/weatherbombardment = 100) + var/attackcycle = 0 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/do_special_attack(atom/A) + if(attackcycle == 1) + attackone(A) + else if(attackcycle == 2) + attacktwo(A) + else if(attackcycle == 3) + attackthree(A) + else if(attackcycle == 4) + attackfour(A) + else if(attackcycle == 5) + attackfive(A) + else if(attackcycle == 6) + attacksix(A) + else if(attackcycle == 7) + attackseven(A) + else if(attackcycle == 8) + attackeight(A) + else + if(prob(50)) + attackcycle = 8 + else + attackcycle = 1 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackone(atom/target) //get behind a pillar or suffer + Beam(target, icon_state = "solar_beam", time = 2.5 SECONDS, maxdistance = INFINITY) + var/obj/item/projectile/P = new /obj/item/projectile/beam/heavylaser(get_turf(src)) + sleep(30) + P.launch_projectile(target, BP_TORSO, src) + if(prob(50)) + attackcycle = 2 + else + attackcycle = 3 + + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attacktwo(atom/target) //Fires off artlillery in cross + specialattackprojectile = /obj/item/projectile/arc/fragmentation/metoerstrike + upfour(target) + downfour(target) + leftfour(target) + rightfour(target) + if(prob(50)) + attackcycle = 4 + else + attackcycle = 5 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackthree(atom/target) //Fires off artlillery in an X + specialattackprojectile = /obj/item/projectile/arc/fragmentation/metoerstrike + upfour_leftfour(target) + upfour_rightfour(target) + downfour_rightfour(target) + downfour_leftfour(target) + if(prob(50)) + attackcycle = 4 + else + attackcycle = 5 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackfour(atom/target) + Beam(target, icon_state = "solar_beam", time = 2.5 SECONDS, maxdistance = INFINITY) + var/obj/item/projectile/P = new /obj/item/projectile/bullet/dragon(get_turf(src)) + sleep(30) + P.launch_projectile(target, BP_TORSO, src) + if(prob(50)) + attackcycle = 6 + else + attackcycle = 7 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackfive(atom/target) + Beam(target, icon_state = "solar_beam", time = 2.5 SECONDS, maxdistance = INFINITY) + var/obj/item/projectile/P = new /obj/item/projectile/arc/fragmentation/metoerstrike(get_turf(src)) + sleep(30) + P.launch_projectile(target, BP_TORSO, src) + if(prob(50)) + attackcycle = 6 + else + attackcycle = 7 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attacksix(atom/target) + specialattackprojectile = /obj/item/projectile/energy/spikeenergy_ball/slow + upfour(target) + downfour(target) + sleep(5) + upfour_rightone(target) + downfour_leftone(target) + sleep(5) + upfour_righttwo(target) + downfour_lefttwo(target) + sleep(5) + upfour_rightthree(target) + downfour_leftthree(target) + sleep(5) + upfour_rightfour(target) + downfour_leftfour(target) + specialattackprojectile = /obj/item/projectile/arc/fragmentation/metoerstrike + upfour_leftfour(target) + downfour_rightfour(target) + sleep(5) + specialattackprojectile = /obj/item/projectile/energy/spikeenergy_ball/slow + upthree_rightfour(target) + downthree_leftfour(target) + sleep(5) + uptwo_rightfour(target) + downtwo_leftfour(target) + sleep(5) + upone_rightfour(target) + downone_leftfour(target) + sleep(5) + rightfour(target) + leftfour(target) + specialattackprojectile = /obj/item/projectile/arc/fragmentation/metoerstrike + upfour(target) + downfour(target) + sleep(5) + specialattackprojectile = /obj/item/projectile/energy/spikeenergy_ball/slow + downone_rightfour(target) + upone_leftfour(target) + sleep(5) + downtwo_rightfour(target) + uptwo_leftfour(target) + sleep(5) + downthree_rightfour(target) + upthree_leftfour(target) + sleep(5) + downfour_rightfour(target) + upfour_leftfour(target) + specialattackprojectile = /obj/item/projectile/arc/fragmentation/metoerstrike + upfour_rightfour(target) + downfour_leftfour(target) + sleep(5) + specialattackprojectile = /obj/item/projectile/energy/spikeenergy_ball/slow + downfour_rightthree(target) + upfour_leftthree(target) + sleep(5) + downfour_righttwo(target) + upfour_lefttwo(target) + sleep(5) + downfour_rightone(target) + upfour_leftone(target) + sleep(5) + upfour(target) + downfour(target) + leftfour(target) + rightfour(target) + if(prob(50)) + attackcycle = 8 + else + attackcycle = 1 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackseven(atom/target) + specialattackprojectile = /obj/item/projectile/energy/spikeenergy_ball/slow + for(var/i =1 to 3) + upfour_leftfour(target) + upfour_rightfour(target) + downfour_rightfour(target) + downfour_leftfour(target) + sleep(2.5) + upfour_leftthree(target) + upthree_rightfour(target) + downfour_rightthree(target) + downthree_leftfour(target) + sleep(2.5) + upfour_lefttwo(target) + uptwo_rightfour(target) + downfour_righttwo(target) + downtwo_leftfour(target) + sleep(2.5) + upfour_leftone(target) + upone_rightfour(target) + downfour_rightone(target) + downone_leftfour(target) + sleep(2.5) + upfour(target) + rightfour(target) + downfour(target) + leftfour(target) + sleep(2.5) + upfour_rightone(target) + downone_rightfour(target) + downfour_leftone(target) + upone_leftfour(target) + sleep(2.5) + upfour_righttwo(target) + downtwo_rightfour(target) + downfour_lefttwo(target) + uptwo_leftfour(target) + sleep(2.5) + upfour_rightthree(target) + downthree_rightfour(target) + downfour_leftthree(target) + upthree_leftfour(target) + sleep(2.5) + upfour_rightfour(target) + downfour_rightfour(target) + downfour_leftfour(target) + upfour_leftfour(target) + if(prob(50)) + attackcycle = 8 + else + attackcycle = 1 + +/mob/living/simple_mob/mechanical/mecha/eclipse/precursor_boss/proc/attackeight(atom/target) //very fast beam but low punishment + Beam(target, icon_state = "sat_beam", time = 2 SECONDS, maxdistance = INFINITY) + var/obj/item/projectile/P = new /obj/item/projectile/scatter/laser(get_turf(src)) + sleep(25) + P.launch_projectile(target, BP_TORSO, src) + if(prob(50)) + attackcycle = 2 + else + attackcycle = 3 \ No newline at end of file diff --git a/modular_chomp/code/modules/planet/tyr.dm b/modular_chomp/code/modules/planet/tyr.dm index 824b211674..b8c316a5b6 100644 --- a/modular_chomp/code/modules/planet/tyr.dm +++ b/modular_chomp/code/modules/planet/tyr.dm @@ -1,7 +1,7 @@ var/datum/planet/tyr/planet_tyr = null /datum/time/tyr - seconds_in_day = 24 HOURS + seconds_in_day = 12 HOURS /datum/planet/tyr name = "Tyr" @@ -117,13 +117,13 @@ var/datum/planet/tyr/planet_tyr = null name = "tyr" temp_high = 323.15 temp_low = 300.15 + light_modifier = 1 /datum/weather/tyr/clear name = "clear" transition_chances = list( - WEATHER_FIRESTART = 20, - WEATHER_CLEAR = 45, - WEATHER_SANDSTORM = 30 + WEATHER_CLEAR = 50, + WEATHER_SANDSTORM = 50 ) transition_messages = list( "The sky clears up.", @@ -189,10 +189,9 @@ var/datum/planet/tyr/planet_tyr = null name = "sandstorm" icon_state = "sandstorm" transition_chances = list( - WEATHER_FIRESTART = 15, - WEATHER_CLEAR = 55, - WEATHER_SANDSTORM = 15, - WEATHER_HEAVYSANDSTORM = 15) + WEATHER_CLEAR = 60, + WEATHER_SANDSTORM = 20, + WEATHER_HEAVYSANDSTORM = 20) transition_messages = list( "The sky is engulfed by sand." ) @@ -213,7 +212,7 @@ var/datum/planet/tyr/planet_tyr = null var/amount_blocked = H.run_armor_check(target_zone, "melee") var/amount_soaked = H.get_armor_soak(target_zone, "melee") - var/damage = rand(1,2) + var/damage = rand(2,2) if(amount_blocked >= 10) continue @@ -229,10 +228,9 @@ var/datum/planet/tyr/planet_tyr = null name = "fierce sandstorm" icon_state = "sandstorm" transition_chances = list( - WEATHER_FIRESTART = 15, - WEATHER_CLEAR = 55, - WEATHER_SANDSTORM = 15, - WEATHER_HEAVYSANDSTORM = 15) + WEATHER_CLEAR = 60, + WEATHER_SANDSTORM = 20, + WEATHER_HEAVYSANDSTORM = 20) transition_messages = list( "The sky is engulfed by sand." ) @@ -255,7 +253,7 @@ var/datum/planet/tyr/planet_tyr = null var/amount_blocked = H.run_armor_check(target_zone, "melee") var/amount_soaked = H.get_armor_soak(target_zone, "melee") - var/damage = rand(7,7) + var/damage = rand(5,5) if(amount_blocked >= 40) continue @@ -289,8 +287,8 @@ var/datum/planet/tyr/planet_tyr = null /datum/weather/tyr/blizzard name = "blizzard" icon_state = "snowfall_heavy_old" - temp_high = 123.15 - temp_low = 100.15 + temp_high = 153.15 + temp_low = 130.15 transition_chances = list( WEATHER_CLEAR = 50, WEATHER_BLIZZARD = 50) @@ -303,6 +301,8 @@ var/datum/planet/tyr/planet_tyr = null icon_state = "fallout" light_modifier = 0.7 light_color = "#CCFFCC" + temp_high = 233.15 + temp_low = 200.15 transition_chances = list( WEATHER_CLEAR = 50, WEATHER_STORM = 50) @@ -348,6 +348,8 @@ var/datum/planet/tyr/planet_tyr = null /datum/weather/tyr/fog light_modifier = 0.5 light_color = "#FF0000" + temp_high = 183.15 + temp_low = 160.15 transition_chances = list( WEATHER_CLEAR = 50, WEATHER_FOG = 50) diff --git a/modular_chomp/code/modules/projectiles/precursor/tyr.dm b/modular_chomp/code/modules/projectiles/precursor/tyr.dm index 3409dec0de..3c4676a79a 100644 --- a/modular_chomp/code/modules/projectiles/precursor/tyr.dm +++ b/modular_chomp/code/modules/projectiles/precursor/tyr.dm @@ -19,7 +19,7 @@ icon_state = "spikeenergyball" damage = 60 //after remebering throwing things into walls deals bonus damage. Will that wall thwacking out damage this 5 bonus...yes. But shotgun likly wins most DPS tests anyway armor_penetration = 60 //damage and AP matching makes brain happy for some reason. No real logic here, just brain saying yes, this is right - range = 7 + range = 8 speed = 5 check_armour = "melee" damage_type = BRUTE @@ -28,8 +28,8 @@ name = "laser blast" icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' icon_state = "shotgun_blast" - damage = 45 - range = 3 + damage = 50 + range = 4 check_armour = "laser" /obj/item/projectile/energy/wp_shotgun/on_hit(var/atom/movable/target, var/blocked = 0) @@ -44,7 +44,7 @@ name = "laser blast" icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' icon_state = "blaster_blast" - damage = 30 + damage = 40 range = 5 check_armour = "laser" @@ -54,7 +54,7 @@ damage = 30 damage_type = BURN check_armour = "laser" - range = 4 + range = 5 eyeblur = 0 //no no no no no hitscan = 1 hud_state = "laser" @@ -69,11 +69,11 @@ wielded_item_state = "placeholder" origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3) - charge_cost = 5000 //Uses all it's charge in a single shot. + charge_cost = 2500 //Uses all it's charge in a single shot. battery_lock = 1 //No changing accept_cell_type = /obj/item/cell/device - cell_type = /obj/item/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien/tyr projectile_type = /obj/item/projectile/energy/spikeenergy_ball force = 30 //functions as a melee weapon too! Ain't great, but still works. @@ -93,11 +93,11 @@ wielded_item_state = "placeholder" origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3) - charge_cost = 1000 //Five shots + charge_cost = 500 //Five shots battery_lock = 1 //No changing accept_cell_type = /obj/item/cell/device - cell_type = /obj/item/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien/tyr projectile_type = /obj/item/projectile/energy/wp_shotgun recoil_mode = 0 @@ -119,7 +119,7 @@ battery_lock = 1 //No changing accept_cell_type = /obj/item/cell/device - cell_type = /obj/item/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien/tyr projectile_type = /obj/item/projectile/energy/wp_blaster recoil_mode = 0 @@ -136,11 +136,11 @@ item_state = "crystal_blaster" origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3) - charge_cost = 250 //twenty shots + charge_cost = 250 //10 shots battery_lock = 1 //No changing accept_cell_type = /obj/item/cell/device - cell_type = /obj/item/cell/device/weapon/recharge/alien + cell_type = /obj/item/cell/device/weapon/recharge/alien/tyr projectile_type = /obj/item/projectile/beam/precursor_tyr recoil_mode = 0 @@ -148,3 +148,48 @@ move_delay = 0 one_handed_penalty = 50 + + +/obj/item/cell/device/weapon/recharge/alien/tyr + name = "odd cell" + icon = 'icons/obj/abductor.dmi' + icon_state = "cell" + maxcharge = 2500 + charge_amount = 250 // 10%. + charge_delay = 50 // Every five seconds, bit faster than the default. + +/obj/item/gun/energy/weatherbombardment + name = "prototype cannon - Weather Bombardment" + desc = "A massive weapon torn of a precursor mech." + icon = 'modular_chomp/icons/obj/guns/precursor/tyr.dmi' + icon_state = "ultima" + item_state = "ultima" + w_class = ITEMSIZE_HUGE // This thing is big. + slot_flags = SLOT_BACK + one_handed_penalty = 70 + + accept_cell_type = /obj/item/cell/device + cell_type = /obj/item/cell/device/weapon/recharge/alien/tyr + battery_lock = 1 + recoil_mode = 0 + charge_meter = 1 + move_delay = 0 + + firemodes = list( + list(mode_name="lighting storm", burst=1, fire_delay=15, projectile_type=/obj/item/projectile/beam/chain_lightning, charge_cost = 500), + list(mode_name="acid rain", burst=5, fire_delay=15, projectile_type=/obj/item/projectile/energy/neurotoxin/toxic, charge_cost = 50), + list(mode_name="meteor shower", burst=1, fire_delay=15, projectile_type=/obj/item/projectile/arc/fragmentation/metoerstrike, charge_cost = 500), + list(mode_name="starry night", burst=5, fire_delay=15, projectile_type=/obj/item/projectile/beam/medical_cell/omni, charge_cost = 50), + ) + + +/obj/item/projectile/arc/fragmentation/metoerstrike + name = "fragmentation shot" + icon_state = "shell" + fragment_types = list(/obj/item/projectile/energy/spikeenergy_ball/slow) + fragment_amount = 10 // Same as a grenade. + spread_range = 60 + +/obj/item/projectile/energy/spikeenergy_ball/slow + speed = 15 + range = 20 \ No newline at end of file diff --git a/modular_chomp/icons/mob/eclipse.dmi b/modular_chomp/icons/mob/eclipse.dmi index ae9bcd6570d2e0f351d907ff8aa8d0e56a3f1aa5..f1a8b40d0d6e85d27e74d3438757558a99352b13 100644 GIT binary patch delta 8740 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 delta 1966 zcmYLKe^|@=7k}@Ewpu^7lDYk`mV|y>U6G8|B9vJAv2WGFqup?n+?OTr>EzgJ9jQ!x)cxM4f=DtY^}8i4%r)8AW}lloK=zB|Ml4AkDaSHlJ%2r+vHEb_#e}a z7}?}R2i`s(y)TqZ+81&yDB#>vdZGqFgjl${`K}A2KU4=jWUT0840NRV`15dx2sv*{ zN)C3j0=E~ zNua-9_=%FqD`vc6H+)v?@D@|n%qmUu>~}p>2j^b*G>y+(>|TGBzjiIYuetI+0#R>b(| zk%Qv{5YwitruaVV(1MIOQYAFec=&BiJi&vLw~dPuktOxCtj|9;)u2ekLzff4*yYoC zxu0TZ5JsXK$8wD|TWL0BjhStS9(8n3p{(&aKu0O(EkTB8M5nA_CHNBqx?iUM(j#Ia( zFjAEJn@S)l7zV zW<#$EYIu)6uZ{{?eDzEt+A4{2-vnMoQ*z*%^pFXudM}5}d|dt8k_3b$9LWoOhdF`- zcQ%{W)6MX!B^Sp~9Mp@Y>94Mzk9_MiNF_l#(_mm8JyGYZHwHTF;){AiNamfA{ zJFBh>q-L%n9V5})QpnY!AWk{SrTT2oPUs}dk&_HBf4O^mITQmYTV2yKGFvpTv3DXd z35TA|8dRjdfdIG19Ywc2X*HSVD(RInmD@!LWxmxYP>ve+Q)qqGbgeK!|OmR8)Q!bycox1A5G>(mii8@Azo#(qy-HMRjjrveO0S_ z<9*ga2yRzv$<2X7FK};>JN4HSS{dWDoQcQy)^6O{+7mHAj=Fl;`92jYNNiKc_bH#L zHEYw;#FeQZI9#|&*wPG9`s?faiir1gLKneD1^Z>h)@#jwa737;T&(1VKZI*_#Sm0O&=m|Eca80=s` z2$~eB(`r@m0 z{CCeEDq8IN`lxRKl+H~sUJu{QNsKGC7vuZzdM^i9r6*+(_}_euPQ|HEVX(8F#or&< z{~up36%pMLvqz@)Sc(2ah5=8tGpirBdFi*+{*pn~ch{lY*?05$U(l`8o>w}w!p#}z zZbLc4fdI7k^0+!{KR39e^a7Yy>vN(r@xY;I-#irbFUMLcVm}?WpR_jlRhw7#2C3DV zf%UW6Jjo<>p(t+wK(t2gnO-@DBExRV4f8>Y-5{z!>y1Za7v(HAk2_gd#p23 w3^Q^*cerE^<020*s5dr+7ZKUjPR}PG04zIi|5UE+GCWQYxQXsxvtdu>KdVKwS^xk5 diff --git a/modular_chomp/icons/obj/weather_ruins.dmi b/modular_chomp/icons/obj/weather_ruins.dmi index a1a9ec925d9613293088594bba258d0b86f4b6af..7fdda446854ec0e98394c5176af237440a614a1b 100644 GIT binary patch delta 1361 zcmV-X1+Mzv3WW=hBmpXsB_)4g7y!V)z@I1pIHI9j00001bW%=J06^y0W&i*Hzj{2@hV54Vd_WPXGV}K1oDDRCt{2 znoq9NFc8Mg4QSL#h+TgYJt=P+y$e*FAWz~7a06JABfMRgY`FsBB#66EH>63Nxc)cx z=SRnjjy^SNejSg;Gfu=uW$Y3U@myWT!)S}amZ@wG0Bu#(5@4`Jb^fZ97o@S`x&Ba9 zPwm5Ki*i?0yP`~GGw=XD2H*e@r=XU$y{W^3@E~nB>AkeaNk4zJWg&m}hR(nP_!xi# zpz}boOxP*<$eEBZ25Nt87Xt@H?-eZ*jHk}P1OG(~ypBAu9a9;203QQz0N@k^S40lM zrb}QMcmN**U;ub~p8AF>fYdHuO+f|#w#%js*JB+}PgkK@Aj{!IU;X3!w!YR{H>BFQm@IV$Z;MCo= zdR@C~vF_hHMIR?U&fTbQ>~gj`0}o^o0~-xPDlMqbeDu0g^ijB){)j#vI!gubdcF7Dp zfRBM2Q6Dh{Z&ySKH=*r{2;u>J48Q@>xSF;i^4hev6Ilixz{da>0N$Pl|H4}_8*hx4 ze^N&96jXmpfXa0J=dYLXWweO^nzHD%0Ijk-+^i9xp93@-0D%>a9l+#?^d2~W^n-0+ zF#rdc+Z$70%H94`&?Ew0+XmkJxJWve)x+$QJfydM7MSefpX1cyl0&qGH z`Tb~(0Cujno`OetDl1TdxG+pENKH~jWap9jLug3JK@1kgY{&`)|BfI0?N*EOT=K^0LmZpRt` z>Sd?`NC*6@2R3)Z*k!qSJC5yvrA;3L&0O~x0>InzV1U4Jor3p2F5`RXl( zfLMP(+EtJW$a)#Z0`krSR6t}0mA*jHPD*Wok{#8;0dzq4!)gX#00v-yy8}@7gy;aK zU6CBXwJrz-2(65q0jO(3BS7rxcm4hKNFK3Xbf00v+H zZvZ|g*4O#&13+}HkK;4)D7=Qut z0f4vXZ~*ueFu>gb@bdzGUf>MC&kMLOhz@|daee@NPRQqkCd=;=#scE^3Hg0O2EYTr z+w<5r_^Aw`4yyI6v%mga#_!QO1B5=Ha0Z~>^^5?q_x)giQ0ojpZG(f50T_S*7$8N| zl5fYa4gfv{48Q;kU=0wfH1h_a0wM$O1@evoDj>2T^nHCV+A6SpZO;gRZqNS$RRR*6 T6(1gA00000NkvXXu0mjfg3enI delta 1323 zcmV+`1=RY53*QQmBmpFmB_)5rz`#sPM%n-X00DGTPE!Ct=GbNc006OiR9JLGWpiV4 zX>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33t zGfE(w;*!LYR3KAHiHkEOv#1!zH00t;D@x2wg|OiYfQ+K}l>Gc6>?(ha%z?tGIf<1( zwuO!{$7~q_N_){!&#h?bB$B@=#TWqD*Bo@Blsr-~bV)pq94X z)nP$+lD3=lQQGsQU)r*ezq_L|@Blsr-~i}6kSr5+iav8DB#eK7+F#qnz)8_ZMau-^ zsWb4ve-Q)!MjqIXsSG@Tj{!IUa0-GeB8OnpC9n)UfR6z%0K7dB){9Ds10duV^*lZAd47q>TX-TuHCg*_wSve&yybKZqz%woUP8l16jnt zM#GRw3+gi;z3vo!R`USL1Naz#15mrRb<%<=m;x#yv{qQIy8$|4)iODtdoemZLp@j{!J9QLVaH3)fNU zsV{I09)I0!WJ0J1@G(I3&-|?Loja;sG6N6bV_+xhBc|Z(iYVbGv|SNFJb;e@I6xX# z(^f=Yo7Q$B%fJKp7ytvn+w-!`Cm+O$G4uTT0s5Ox-1 z2Iwb%2I7H!(%S&kF|fL>8Fde;h?;Rb)&Nj1Llrt__U2~Cy?h^#8M1xnTzs5dlOG62&* zH+dpiU*HW8Yc*&AxG#9Tz5sP&24DaN$OnG_-k!q&;8VZ=4+p@{3;20~GXOs?;JzR_ z0P4p10q{8?pA(uazfTwoh~FpV_X!yQ4*+k^qu;0m#?6YYZ>|126ysFaQHE00TTOK(tdZUjVXGFe(7=Q!w8cAUg%~1@Hx0Jry6L h0?+{kH>c?K{0|rtXl_19jZOdn002ovPDHLkV1j6PPNo0=