diff --git a/_maps/RandomZLevels/VR/mining_VR.dmm b/_maps/RandomZLevels/VR/mining_VR.dmm new file mode 100644 index 00000000000..afce8e88e63 --- /dev/null +++ b/_maps/RandomZLevels/VR/mining_VR.dmm @@ -0,0 +1,9807 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/structure/spawner/megafauna/dragon, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ab" = ( +/obj/effect/landmark/vr_spawn/miner, +/turf/open/floor/bluespace{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"ac" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/accelerator, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ad" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/crusher, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ae" = ( +/turf/open/floor/sepia{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"af" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/armor, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ag" = ( +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"ah" = ( +/turf/open/floor/mineral/gold{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"ai" = ( +/obj/effect/portal/permanent/one_way/recall{ + id = "boss rush entry virtual megafauna"; + name = "boss rush portal" + }, +/turf/open/floor/mineral/gold{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aj" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ak" = ( +/turf/closed/indestructible/sandstone, +/area/awaymission/vr/miner) +"al" = ( +/turf/closed/indestructible/riveted/hierophant, +/area/awaymission/vr/miner) +"am" = ( +/turf/open/indestructible/hierophant, +/area/awaymission/vr/miner) +"an" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/indestructible/hierophant, +/area/awaymission/vr/miner) +"ao" = ( +/turf/open/indestructible/hierophant/two, +/area/awaymission/vr/miner) +"ap" = ( +/obj/structure/spawner/megafauna/blood_drunk, +/obj/effect/portal/permanent/one_way/destroy{ + id = "boss rush entry virtual megafauna"; + name = "boss rush entry portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aq" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/indestructible/hierophant/two, +/area/awaymission/vr/miner) +"ar" = ( +/obj/structure/spawner/megafauna/hierophant, +/obj/effect/portal/permanent/one_way/destroy{ + id = "hierophant virtual arena"; + name = "hierophant arena portal" + }, +/turf/open/indestructible/hierophant/two, +/area/awaymission/vr/miner) +"as" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/healing, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"at" = ( +/obj/structure/spawner/megafauna/bubblegum, +/obj/effect/portal/permanent/one_way/destroy{ + id = "boss rush continue virtual megafauna"; + name = "boss rush continue exit portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"au" = ( +/turf/open/floor/bluespace{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"av" = ( +/turf/closed/indestructible/riveted, +/area/awaymission/vr/miner) +"aw" = ( +/obj/structure/spawner/megafauna/hierophant, +/turf/open/indestructible/hierophant/two, +/area/awaymission/vr/miner) +"ax" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/food, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"ay" = ( +/obj/structure/spawner/megafauna/blood_drunk, +/obj/effect/portal/permanent/one_way/destroy{ + id = "blood drunk miner virtual arena"; + name = "blood drunk miner arena portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"az" = ( +/turf/closed/indestructible/riveted/boss, +/area/awaymission/vr/miner) +"aA" = ( +/turf/open/indestructible/necropolis, +/area/awaymission/vr/miner) +"aB" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/misc, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aC" = ( +/obj/structure/spawner/megafauna/colossus, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aD" = ( +/obj/structure/spawner/megafauna/bubblegum, +/obj/effect/portal/permanent/one_way/destroy{ + id = "bubblegum virtual arena"; + name = "bubblegum arena portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aE" = ( +/obj/structure/spawner/megafauna/legion, +/turf/open/indestructible/necropolis, +/area/awaymission/vr/miner) +"aF" = ( +/obj/effect/portal/permanent/one_way/keep{ + id = "boss rush continue virtual megafauna"; + name = "boss rush continue portal" + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aG" = ( +/obj/structure/spawner/megafauna/colossus, +/obj/effect/portal/permanent/one_way/destroy{ + id = "colossus virtual arena"; + name = "colossus arena portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aH" = ( +/obj/structure/spawner/megafauna/dragon, +/obj/effect/portal/permanent/one_way/destroy{ + id = "ash drake virtual arena"; + name = "ash drake arena portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aI" = ( +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aJ" = ( +/turf/closed/indestructible/necropolis, +/area/awaymission/vr/miner) +"aK" = ( +/turf/closed/indestructible/fakedoor, +/area/awaymission/vr/miner) +"aL" = ( +/obj/effect/decal/cleanable/blood/bubblegum, +/turf/open/floor/mineral/plastitanium{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aM" = ( +/obj/effect/decal/cleanable/blood/bubblegum, +/obj/effect/portal/permanent/one_way/recall{ + id = "bubblegum virtual arena"; + name = "bubblegum arena portal" + }, +/turf/open/floor/mineral/plastitanium{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aN" = ( +/obj/structure/spawner/megafauna/legion, +/obj/effect/portal/permanent/one_way/destroy{ + id = "legion virtual arena"; + name = "legion arena portal" + }, +/turf/open/indestructible/necropolis, +/area/awaymission/vr/miner) +"aO" = ( +/obj/effect/portal/permanent/one_way/recall{ + id = "hierophant virtual arena"; + name = "hierophant arena portal" + }, +/turf/open/indestructible/hierophant, +/area/awaymission/vr/miner) +"aP" = ( +/obj/structure/fluff/drake_statue, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aQ" = ( +/obj/structure/stone_tile/slab, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aR" = ( +/obj/structure/stone_tile/surrounding, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aS" = ( +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aT" = ( +/turf/open/floor/fakepit{ + canSmoothWith = null; + icon = 'icons/turf/floors/magic_chasm.dmi'; + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aU" = ( +/obj/structure/stone_tile/slab/burnt, +/turf/open/lava/smooth/lava_land_surface, +/area/awaymission/vr/miner) +"aV" = ( +/obj/structure/stone_tile/block, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aW" = ( +/obj/structure/stone_tile/slab, +/obj/effect/portal/permanent/one_way/recall{ + id = "blood drunk miner virtual arena"; + name = "blood drunk miner arena portal" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/awaymission/vr/miner) +"aX" = ( +/turf/open/floor/clockwork/reebe{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aY" = ( +/obj/structure/chair/sofa/corner{ + dir = 1 + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"aZ" = ( +/obj/structure/chair/sofa, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"ba" = ( +/obj/structure/chair/sofa/left, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bb" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/crusher, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bc" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/armor, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bd" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/accelerator, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"be" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/healing, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bf" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/food, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bg" = ( +/obj/effect/portal/permanent/one_way/recall{ + id = "colossus virtual arena"; + name = "colossus arena portal" + }, +/turf/open/floor/fakepit{ + canSmoothWith = null; + icon = 'icons/turf/floors/magic_chasm.dmi'; + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bh" = ( +/obj/structure/closet/crate/necropolis/vr_mining_gear/misc, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bi" = ( +/obj/structure/chair/sofa/right, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bj" = ( +/obj/structure/chair/sofa/corner, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bk" = ( +/obj/structure/chair/sofa{ + dir = 4 + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bl" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bm" = ( +/obj/structure/chair/sofa/right{ + dir = 4 + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bn" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/mineral/silver{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bo" = ( +/obj/structure/table/wood, +/turf/open/floor/mineral/gold{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bp" = ( +/obj/structure/chair/sofa/corner{ + dir = 1 + }, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bq" = ( +/obj/structure/chair/sofa, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"br" = ( +/obj/structure/chair/sofa/left, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bs" = ( +/obj/structure/chair/sofa/right, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bt" = ( +/obj/structure/stone_tile/slab/burnt, +/obj/effect/portal/permanent/one_way/recall{ + id = "ash drake virtual arena"; + name = "ash drake arena portal" + }, +/turf/open/lava/smooth/lava_land_surface, +/area/awaymission/vr/miner) +"bu" = ( +/obj/effect/portal/permanent/one_way/recall{ + id = "legion virtual arena"; + name = "legion arena portal" + }, +/turf/open/indestructible/necropolis, +/area/awaymission/vr/miner) +"bv" = ( +/obj/structure/chair/sofa/corner, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bw" = ( +/obj/structure/chair/sofa{ + dir = 4 + }, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bx" = ( +/obj/structure/table/wood, +/turf/open/floor/clockwork/reebe{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"by" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bz" = ( +/obj/structure/chair/sofa/right{ + dir = 4 + }, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"bA" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"ek" = ( +/obj/item/book/granter/spell/charge, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"eq" = ( +/obj/item/book/granter/spell/forcewall, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"jQ" = ( +/obj/item/gun/magic/staff/healing, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"kN" = ( +/obj/item/wisp_lantern, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"lJ" = ( +/obj/item/sord, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"nv" = ( +/obj/item/gun/energy/pulse/destroyer, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"pY" = ( +/obj/item/gun/magic/staff/honk, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"uE" = ( +/obj/item/book/granter/spell/fireball, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"xx" = ( +/obj/item/katana, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"Ag" = ( +/obj/structure/table/wood, +/obj/item/book/granter/spell/mindswap, +/turf/open/floor/clockwork/reebe{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"JW" = ( +/obj/item/gun/energy/kinetic_accelerator/crossbow, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"RR" = ( +/obj/item/gun/magic/staff/spellblade, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"RY" = ( +/obj/item/book/granter/spell/sacredflame, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"Uf" = ( +/obj/item/book/granter/spell/barnyard, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) +"Wh" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/mob/living/simple_animal/hostile/skeleton/plasmaminer, +/turf/open/floor/bronze{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/awaymission/vr/miner) + +(1,1,1) = {" +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +"} +(2,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +av +"} +(3,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +al +am +am +am +am +am +am +am +am +am +am +an +am +am +am +am +am +am +am +am +am +am +al +av +"} +(4,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +ab +ab +ab +av +av +av +av +av +av +av +av +av +av +av +av +av +al +am +am +am +an +an +am +am +am +al +am +am +am +al +am +am +am +an +an +am +am +am +al +av +"} +(5,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +ab +ab +ab +av +av +av +av +av +av +av +av +av +av +av +av +av +al +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +al +av +"} +(6,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +ab +ab +ab +av +av +av +av +av +av +av +av +av +av +av +av +av +al +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +al +av +"} +(7,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +au +au +au +av +av +av +av +av +av +av +av +av +av +av +av +av +al +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +al +av +"} +(8,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ac +au +au +au +as +aI +aI +aI +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(9,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ad +au +au +au +ax +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +an +an +ao +ao +ao +al +ao +ao +ao +al +ao +ao +ao +an +an +am +am +am +al +av +"} +(10,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +af +au +au +au +aB +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +aq +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(11,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +al +am +am +am +ao +al +ao +ao +ao +ao +ao +ao +ao +al +ao +am +am +am +al +am +al +av +"} +(12,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aQ +aR +aQ +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(13,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ay +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aQ +aW +aQ +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +an +am +am +an +an +ao +ao +aq +ao +ao +ar +ao +ao +aq +ao +ao +an +an +am +am +an +al +av +"} +(14,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aR +aQ +aV +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(15,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +al +am +am +am +ao +al +ao +ao +ao +ao +ao +ao +ao +al +ao +am +am +am +al +am +al +av +"} +(16,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +aq +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(17,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +an +an +ao +ao +ao +al +ao +ao +ao +al +ao +ao +ao +an +an +am +am +am +al +av +"} +(18,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +al +av +"} +(19,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aU +aU +aU +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +al +av +"} +(20,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aP +aU +bt +aU +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +al +av +"} +(21,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aU +aU +aU +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +al +av +"} +(22,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +an +an +am +am +am +al +am +am +am +al +am +am +am +an +an +am +am +am +al +av +"} +(23,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +am +am +am +am +am +am +am +am +am +am +an +am +am +am +am +am +am +am +am +am +am +al +av +"} +(24,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +av +"} +(25,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +"} +(26,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aT +aT +aT +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(27,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aT +bg +aT +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(28,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aT +aT +aT +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(29,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(30,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(31,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(32,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(33,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aL +aL +aL +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(34,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aL +aM +aL +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(35,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aL +aL +aL +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(36,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aD +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aN +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(37,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(38,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(39,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(40,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +am +am +am +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(41,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +am +aO +am +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(42,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +am +am +am +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(43,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(44,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(45,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(46,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +au +au +au +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +az +av +"} +(47,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +aj +aj +aj +aj +aj +aj +aA +aA +aA +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +"} +(48,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +aj +aj +aj +aj +aj +aj +aA +bu +aA +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +"} +(49,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aA +aA +aA +au +au +au +au +au +au +au +au +au +ae +ae +ae +aj +aj +aj +aj +aj +aj +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(50,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ag +ah +ag +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(51,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ah +ai +ah +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(52,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ag +ah +ag +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(53,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(54,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(55,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(56,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(57,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(58,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(59,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aG +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aH +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(60,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(61,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(62,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(63,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(64,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(65,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(66,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(67,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(68,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(69,1,1) = {" +av +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +av +"} +(70,1,1) = {" +av +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +av +"} +(71,1,1) = {" +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +"} +(72,1,1) = {" +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +"} +(73,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +aY +bk +bk +bm +ag +ag +ag +ag +ag +ak +"} +(74,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +aZ +bo +bo +bo +ah +ah +ah +ah +ag +ak +"} +(75,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +aZ +bo +ah +ah +ah +ah +ah +ah +ag +ak +"} +(76,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ba +bo +ah +ah +ah +ah +ah +ah +ag +ak +"} +(77,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(78,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(79,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(80,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bb +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(81,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bc +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(82,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bd +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(83,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ap +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aK +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aa +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aK +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aC +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aK +ag +ah +ah +ah +ah +ah +ah +ah +aF +ak +"} +(84,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +be +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(85,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bf +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(86,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bh +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(87,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(88,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(89,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ag +ah +ah +ah +ah +ah +ah +ah +ag +ak +"} +(90,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bi +bo +ah +ah +ah +ah +ah +ah +ag +ak +"} +(91,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +aZ +bo +ah +ah +ah +ah +ah +ah +ag +ak +"} +(92,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +aZ +bo +bo +bo +ah +ah +ah +ah +ag +ak +"} +(93,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +bj +bl +bl +bn +ag +ag +ag +ag +ag +ak +"} +(94,1,1) = {" +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +"} +(95,1,1) = {" +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +"} +(96,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +am +am +am +am +am +an +am +am +am +am +am +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bp +bw +bw +bz +aS +aS +aS +aS +aS +aJ +"} +(97,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +an +an +am +am +am +al +am +am +am +al +am +am +am +an +an +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bq +bx +bx +bx +aX +aX +aX +aX +aS +aJ +"} +(98,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bq +bx +aX +aX +aX +aX +aX +aX +aS +aJ +"} +(99,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +br +bx +aX +aX +aX +aX +aX +aX +aS +aJ +"} +(100,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +Uf +aJ +"} +(101,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +uE +aJ +"} +(102,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +an +an +ao +ao +ao +al +ao +ao +ao +al +ao +ao +ao +an +an +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +RY +aJ +"} +(103,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +aq +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +nv +aJ +"} +(104,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +al +am +am +am +ao +al +ao +ao +ao +ao +ao +ao +ao +al +ao +am +am +am +al +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +kN +aJ +"} +(105,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +pY +aJ +"} +(106,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +at +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aK +an +am +am +an +an +ao +ao +aq +ao +ao +aw +ao +ao +aq +ao +ao +an +an +am +am +an +aK +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aE +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aK +aS +aX +aX +aX +aX +aX +aX +aX +RR +aJ +"} +(107,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +jQ +aJ +"} +(108,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +al +am +am +am +ao +al +ao +ao +ao +ao +ao +ao +ao +al +ao +am +am +am +al +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +lJ +aJ +"} +(109,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +aq +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +JW +aJ +"} +(110,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +an +an +ao +ao +ao +al +ao +ao +ao +al +ao +ao +ao +an +an +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +eq +aJ +"} +(111,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +ek +aJ +"} +(112,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +aS +aX +aX +aX +aX +aX +aX +aX +xx +aJ +"} +(113,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +an +am +al +al +am +an +am +am +am +an +am +am +am +an +am +al +al +am +an +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bs +bx +aX +aX +aX +aX +aX +aX +aS +aJ +"} +(114,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bq +bx +aX +aX +aX +aX +aX +aX +aS +aJ +"} +(115,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +an +an +am +am +am +al +am +am +am +al +am +am +am +an +an +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bq +Ag +bx +bx +aX +aX +aX +aX +aS +aJ +"} +(116,1,1) = {" +az +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +az +am +am +am +am +am +am +am +am +am +am +an +am +am +am +am +am +am +am +am +am +am +az +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aA +aJ +bv +Wh +by +bA +aS +aS +aS +aS +aS +aJ +"} +(117,1,1) = {" +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +az +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +"} diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index c480bb6409f..df204273a7e 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -49,7 +49,9 @@ user.forceMove(get_turf(src)) return TRUE -/obj/effect/portal/Crossed(atom/movable/AM, oldloc) +/obj/effect/portal/Crossed(atom/movable/AM, oldloc, force_stop = 0) + if(force_stop) + return ..() if(isobserver(AM)) return ..() if(linked && (get_turf(oldloc) == get_turf(linked))) @@ -184,3 +186,54 @@ else real_target = get_turf(linked) return real_target + +/obj/effect/portal/permanent + name = "permanent portal" + desc = "An unwavering portal that will never fade." + var/id // var edit or set id in map editor + hardlinked = FALSE // dont qdel my portal nerd + +/obj/effect/portal/permanent/Initialize(mapload, _creator, _lifespan = 0, obj/effect/portal/_linked, automatic_link = FALSE, turf/hard_target_override, atmos_link_override) + . = ..() + set_linked() + +/obj/effect/portal/permanent/proc/get_linked() + if(!id) + return + for(var/obj/effect/portal/permanent/P in GLOB.portals - src) + if(P.id && P.id == id) // gets portals with the same id, there should only be two permanent portals with the same id + return P + +/obj/effect/portal/permanent/proc/set_linked() + var/obj/effect/portal/permanent/other = get_linked() + if(!other) + return + other.linked = src + linked = other + +/obj/effect/portal/permanent/teleport(atom/movable/M, force = FALSE) + if(!linked) // try to search for a new one if something was var edited etc + set_linked() + . = ..() + +/obj/effect/portal/permanent/one_way // doesn't have a return portal + name = "one-way portal" + desc = "You get the feeling that this might not be the safest thing you've ever done." + var/keep // if this is a portal that should be kept + +/obj/effect/portal/permanent/one_way/set_linked() + var/obj/effect/portal/permanent/one_way/other = get_linked() + if(!other) + return + hard_target = get_turf(other) + other.hard_target = get_turf(src) + if(!other.keep) + qdel(other) + if(!keep) + qdel(src) + +/obj/effect/portal/permanent/one_way/keep // because its nice to be able to tell which is which on the map + keep = TRUE + +/obj/effect/portal/permanent/one_way/destroy + keep = FALSE diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index 3cd08e91c0f..12b03d5f9a7 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -13,10 +13,11 @@ var/mob_types = list(/mob/living/simple_animal/hostile/carp) var/spawn_text = "emerges from" var/faction = list("hostile") + var/spawner_type = /datum/component/spawner /obj/structure/spawner/Initialize() . = ..() - AddComponent(/datum/component/spawner, mob_types, spawn_time, faction, spawn_text, max_mobs) + AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs) /obj/structure/spawner/attack_animal(mob/living/simple_animal/M) if(faction_check(faction, M.faction, FALSE)&&!M.client) diff --git a/code/modules/awaymissions/mission_code/mining.dm b/code/modules/awaymissions/mission_code/mining.dm new file mode 100644 index 00000000000..03142fb826b --- /dev/null +++ b/code/modules/awaymissions/mission_code/mining.dm @@ -0,0 +1,290 @@ +// // +// -----Vr Stuff----- // +// // + +/area/awaymission/vr/miner + name = "VrMining" + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + +/datum/outfit/job/miner/equipped/vr + name = "Virtual Reality Miner" + suit = /obj/item/clothing/suit/hooded/explorer + mask = /obj/item/clothing/mask/gas/explorer + glasses = /obj/item/clothing/glasses/hud/health + suit_store = /obj/item/tank/internals/oxygen + internals_slot = SLOT_S_STORE + backpack_contents = list( + /obj/item/gun/energy/kinetic_accelerator=2) + +/obj/effect/landmark/vr_spawn/miner + vr_outfit = /datum/outfit/job/miner/equipped/vr + +/obj/structure/closet/crate/necropolis/vr_mining_gear + name = "armory chest" + desc = "Has some sick nasty respawning gear." + icon_state = "necrocrate" + resistance_flags = INDESTRUCTIBLE + anchored = TRUE + move_resist=INFINITY + var/respawn_loot = list() // put types and count in here + +/obj/structure/closet/crate/necropolis/vr_mining_gear/dump_contents() // respawn loot on the chest + var/atom/L = drop_location() + for(var/type in respawn_loot) + var/count = respawn_loot[type] + if(!isnum(count))//Default to 1 + count = 1 + for(var/i = 1 to count) + new type(L) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/take_contents() // delete loot on the chest + var/atom/L = drop_location() + for(var/atom/movable/AM in L) + if(AM == src || isliving(AM)) + continue + qdel(AM) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/armor + name = "Armor Chest" + desc = "Contains an assortment of lavaland armors." + respawn_loot = list( + /obj/item/clothing/suit/hooded/cloak/drake=1, + /obj/item/clothing/suit/space/hostile_environment=1, + /obj/item/clothing/head/helmet/space/hostile_environment=1, + /obj/item/clothing/suit/space/hardsuit/cult=1, + /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker=1, + /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor=1, + /obj/item/stack/sheet/animalhide/goliath_hide=6) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/accelerator + name = "Kinetic Accelerator Chest" + desc = "Contains an assortment of kinetic accelerator equipment." + respawn_loot = list( + /obj/item/gun/energy/kinetic_accelerator=1, + /obj/item/borg/upgrade/modkit/lifesteal=1, + /obj/item/borg/upgrade/modkit/aoe/mobs=1, + /obj/item/borg/upgrade/modkit/tracer=1, + /obj/item/borg/upgrade/modkit/tracer/adjustable=1, + /obj/item/borg/upgrade/modkit/chassis_mod=1, + /obj/item/borg/upgrade/modkit/chassis_mod/orange=1, + /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs=1, + /obj/item/borg/upgrade/modkit/cooldown/repeater=1, + /obj/item/borg/upgrade/modkit/resonator_blasts=1, + /obj/item/borg/upgrade/modkit/bounty=1, + /obj/item/borg/upgrade/modkit/range=3, + /obj/item/borg/upgrade/modkit/damage=3, + /obj/item/borg/upgrade/modkit/cooldown=3) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/crusher + name = "Kinetic Crusher Chest" + desc = "Contains an assortment of kinetic crusher equipment." + respawn_loot = list( + /obj/item/twohanded/required/kinetic_crusher=1, + /obj/item/crusher_trophy/vortex_talisman=1, + /obj/item/crusher_trophy/demon_claws=1, + /obj/item/crusher_trophy/tail_spike=1, + /obj/item/crusher_trophy/miner_eye=1, + /obj/item/crusher_trophy/legion_skull=1, + /obj/item/crusher_trophy/goliath_tentacle=1, + /obj/item/crusher_trophy/blaster_tubes/magma_wing=1, + /obj/item/crusher_trophy/watcher_wing=1, + /obj/item/crusher_trophy/blaster_tubes=1) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/healing + name = "Healing Chest" + desc = "Contains an assortment of healing items." + respawn_loot = list( + /obj/item/reagent_containers/hypospray/medipen/survival=1, + /obj/item/storage/firstaid/brute=1, + /obj/item/hivelordstabilizer=3, + /obj/item/organ/regenerative_core/legion=3) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/food + name = "Food Chest" + desc = "Fresh from the virtual cafeteria." + respawn_loot = list( + /obj/item/reagent_containers/food/snacks/donkpocket/warm=5) + +/obj/structure/closet/crate/necropolis/vr_mining_gear/misc + name = "Miscellaneous Chest" + desc = "Contains an assortment of random lavaland items." + respawn_loot = list( + /obj/item/warp_cube/red=1, + /obj/item/reagent_containers/glass/bottle/potion/flight=1, + /obj/item/organ/heart/cursed/wizard=1, + /obj/item/immortality_talisman=1, + /obj/item/book/granter/spell/summonitem=1) + +// // +// -----Virtual Megafauna Spawners ---- // +// // + +/datum/component/spawner/megafauna + var/spawn_wait_time = 150 // time to next spawn when the megafauna dies, 15 seconds + var/initial_spawned = FALSE // so we don't clear the arena and open the door on the initial spawn + var/nest_range = 10 + +/datum/component/spawner/megafauna/try_spawn_mob() + STOP_PROCESSING(SSprocessing, src) + if(spawned_mobs.len < max_mobs && initial_spawned) + var/obj/structure/spawner/megafauna/MS = parent + MS.cleanup_arena() + spawn_delay = world.time + spawn_wait_time + var/turf/check = get_ranged_target_turf(get_turf(MS), SOUTH, nest_range + 1) + if(istype(check, /turf/closed/indestructible/fakedoor)) + check.ChangeTurf(/turf/open/floor/plating/asteroid/basalt/lava_land_surface) + sleep(spawn_wait_time) + check.ChangeTurf(/turf/closed/indestructible/fakedoor) + else + sleep(spawn_wait_time) + . = ..() + initial_spawned = TRUE + START_PROCESSING(SSprocessing, src) + +/obj/structure/spawner/megafauna + name = "generic megafauna spawner" + desc = "Literally does nothing." + resistance_flags = INDESTRUCTIBLE + move_resist = INFINITY + max_mobs = 1 + icon = 'icons/mob/nest.dmi' + spawn_text = "appears onto" + density = FALSE + spawner_type = /datum/component/spawner/megafauna + var/nest_range = 10 + +/obj/structure/spawner/megafauna/proc/cleanup_arena() + for(var/obj/effect/decal/B in urange(nest_range, src)) + qdel(B) // go away blood and garbage shit + +/obj/structure/spawner/megafauna/blood_drunk + name = "drunken beacon" + desc = "Creates holographic versions of a blood drunken miner." + icon_state = "blood_drunk" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/virtual) + +/obj/structure/spawner/megafauna/dragon + name = "flame beacon" + desc = "Creates holographic versions of a fire breathing drake." + icon_state = "dragon" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/dragon/virtual) + +/obj/structure/spawner/megafauna/bubblegum + name = "bloody beacon" + desc = "Creates holographic versions of the king of the slaughter demons." + icon_state = "bubblegum" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/bubblegum/virtual) + +/obj/structure/spawner/megafauna/colossus + name = "radiant beacon" + desc = "Creates holographic versions of a godlike creature." + icon_state = "colossus" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/colossus/virtual) + +/obj/structure/spawner/megafauna/hierophant + name = "beacon beacon" + desc = "Creates holographic versions of a destructive magical club." + icon_state = "hierophant" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/hierophant/virtual) + +/obj/structure/spawner/megafauna/legion + name = "skull beacon" + desc = "Creates holographic versions of a gigantic skull demon guarding the necropolis." + icon_state = "legion" + mob_types = list(/mob/living/simple_animal/hostile/megafauna/legion/virtual) + +// // +// ----- Recall Portals ---- // +// // + +/obj/effect/proc_holder/spell/portal_recall + name = "Portal Recall" + desc = "This will teleport you back to your previously used portal. One use only." + clothes_req = FALSE + action_icon_state = "blink" + var/list/recall_portals = list() + +/obj/effect/proc_holder/spell/portal_recall/Click(mob/user = usr) + if(!recall_portals.len) + user.mind.RemoveSpell(src) // remove spell if no portals left + var/turf/recall_turf = get_turf(recall_portals[recall_portals.len]) + if(recall_turf) + do_teleport(user, recall_turf, 0, no_effects = FALSE, channel = TELEPORT_CHANNEL_BLUESPACE) + recall_portals -= recall_portals[recall_portals.len] + if(!recall_portals.len) + user.mind.RemoveSpell(src) // remove spell if no portals left + +/obj/effect/portal/permanent/one_way/recall + name = "recall portal" + desc = "Gives you a one time ability to return to this portal once you have entered." + mech_sized = TRUE + keep = TRUE + +/obj/effect/portal/permanent/one_way/recall/Crossed(atom/movable/AM, oldloc) + if(ismob(AM)) + var/mob/user = AM + var/check = locate(/obj/effect/proc_holder/spell/portal_recall) in user.mind.spell_list + if(check) + var/obj/effect/proc_holder/spell/portal_recall/mob_recall = check + for(var/obj/effect/portal/permanent/one_way/recall/P in mob_recall.recall_portals) + if(src == P) + return ..(AM, oldloc, force_stop = 1) // don't teleport if they have a recall spell with this portal already (or have just teleported onto it) + return ..() + +/obj/effect/portal/permanent/one_way/recall/teleport(atom/movable/M, force = FALSE) + . = ..() + if(ismob(M)) + var/mob/user = M + var/findspell = locate(/obj/effect/proc_holder/spell/portal_recall) in user.mind.spell_list + var/obj/effect/proc_holder/spell/portal_recall/personal_recall = findspell ? findspell : new + personal_recall.recall_portals += src + if(!findspell) + user.mind.AddSpell(personal_recall) + +// // +// -----Virtual Megafauna----- // +// // + +/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/virtual + name = "blood-drunk miner hologram" + desc = "A holographic miner, eternally hunting." + crusher_loot = list() + loot = list() + true_spawn = 0 + +/mob/living/simple_animal/hostile/megafauna/dragon/virtual + name = "ash drake hologram" + desc = "A holographic dragon, once weak, now fierce." + del_on_death = 1 // goodbye corpse + crusher_loot = list() + loot = list() + true_spawn = 0 + +/mob/living/simple_animal/hostile/megafauna/bubblegum/virtual + name = "bubblegum hologram" + desc = "A holographic version of the king of the slaughter demons. You feel something oddly real staring back at you." + crusher_loot = list() + loot = list() + true_spawn = 0 + +/mob/living/simple_animal/hostile/megafauna/colossus/virtual + name = "colossus hologram" + desc = "A holographic god. One of the strongest creatures that has ever lived." + crusher_loot = list() + loot = list() + true_spawn = 0 + +/mob/living/simple_animal/hostile/megafauna/hierophant/virtual + name = "hierophant hologram" + desc = "A holographic club. It's said to wipe from existence those who fall to its rhythm." + crusher_loot = list() + loot = list() + true_spawn = 0 + +/mob/living/simple_animal/hostile/megafauna/legion/virtual + name = "Legion Hologram" + desc = "One of many... holograms." + crusher_loot = list() + loot = list() + true_spawn = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index f28c969b703..1eec7328f4e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -44,6 +44,7 @@ Difficulty: Medium wander = FALSE del_on_death = TRUE blood_volume = BLOOD_VOLUME_NORMAL + internal_type = /obj/item/gps/internal/miner medal_type = BOSS_MEDAL_MINER var/obj/item/melee/transforming/cleaving_saw/miner/miner_saw var/time_until_next_transform = 0 @@ -80,7 +81,6 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/Initialize() . = ..() - internal = new/obj/item/gps/internal/miner(src) miner_saw = new(src) /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/adjustHealth(amount, updating_health = TRUE, forced = FALSE) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 035a912453b..16694d6188f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -53,6 +53,7 @@ Difficulty: Hard blood_volume = BLOOD_VOLUME_MAXIMUM //BLEED FOR ME var/charging = 0 var/enrage_till = null + internal_type = /obj/item/gps/internal/bubblegum medal_type = BOSS_MEDAL_BUBBLEGUM score_type = BUBBLEGUM_SCORE deathmessage = "sinks into a pool of blood, fleeing the battle. You've won, for now... " @@ -113,16 +114,14 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize() . = ..() - if(istype(src, /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination)) - return - for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_living_list) - if(B != src) - return INITIALIZE_HINT_QDEL //There can be only one + if(true_spawn) + for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_living_list) + if(B != src) + return INITIALIZE_HINT_QDEL //There can be only one var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new AddSpell(bloodspell) if(istype(loc, /obj/effect/dummy/phased_mob/slaughter)) bloodspell.phased = TRUE - internal = new/obj/item/gps/internal/bubblegum(src) /mob/living/simple_animal/hostile/megafauna/bubblegum/grant_achievement(medaltype,scoretype) . = ..() @@ -411,10 +410,11 @@ Difficulty: Hard var/turf/place = locate(chargeat.x + cos(ang) * times, chargeat.y + sin(ang) * times, chargeat.z) if(!place) continue - if(!srcplaced && useoriginal) - forceMove(place) - srcplaced = 1 - continue + if(!nest || nest && nest.parent && get_dist(nest.parent, place) <= nest_range) + if(!srcplaced && useoriginal) + forceMove(place) + srcplaced = 1 + continue var/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/B = new /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination(src.loc) B.forceMove(place) INVOKE_ASYNC(B, .proc/charge, chargeat, delay, chargepast) @@ -433,6 +433,7 @@ Difficulty: Hard score_type = null deathmessage = "Explodes into a pool of blood!" deathsound = 'sound/effects/splat.ogg' + true_spawn = 0 /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/Initialize() ..() @@ -466,9 +467,6 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/try_bloodattack() return -/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/grant_achievement(medaltype,scoretype) - return - /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/slaughterlings() visible_message("[src] summons a shoal of slaughterlings!") var/max_amount = 6 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index d9c182b3686..29a320021eb 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -30,7 +30,7 @@ Difficulty: Very Hard attack_sound = 'sound/magic/clockwork/ratvar_attack.ogg' icon_state = "eva" icon_living = "eva" - icon_dead = "dragon_dead" + icon_dead = "" friendly = "stares down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("roars") @@ -42,11 +42,11 @@ Difficulty: Very Hard ranged = 1 pixel_x = -32 del_on_death = 1 + internal_type = /obj/item/gps/internal/colossus medal_type = BOSS_MEDAL_COLOSSUS score_type = COLOSSUS_SCORE crusher_loot = list(/obj/structure/closet/crate/necropolis/colossus/crusher) loot = list(/obj/structure/closet/crate/necropolis/colossus) - butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/animalhide/ashdrake = 10, /obj/item/stack/sheet/bone = 30) deathmessage = "disintegrates, leaving a glowing core in its wake." deathsound = 'sound/magic/demon_dies.ogg' @@ -89,11 +89,6 @@ Difficulty: Very Hard ranged_cooldown = world.time + 40 INVOKE_ASYNC(src, .proc/alternating_dir_shots) - -/mob/living/simple_animal/hostile/megafauna/colossus/Initialize() - . = ..() - internal = new/obj/item/gps/internal/colossus(src) - /obj/effect/temp_visual/at_shield name = "anti-toolbox field" desc = "A shimmering forcefield protecting the colossus." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index b18d56477c8..c969d513938 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -57,6 +57,7 @@ Difficulty: Medium guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/ashdrake = 10) var/swooping = NONE var/player_cooldown = 0 + internal_type = /obj/item/gps/internal/dragon medal_type = BOSS_MEDAL_DRAKE score_type = DRAKE_SCORE deathmessage = "collapses into a pile of bones, its flesh sloughing away." @@ -68,7 +69,10 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/dragon/Initialize() smallsprite.Grant(src) . = ..() - internal = new/obj/item/gps/internal/dragon(src) + +/mob/living/simple_animal/hostile/megafauna/dragon/death() + QDEL_NULL(internal) // so drake corpses don't have a gps signal + . = ..() /mob/living/simple_animal/hostile/megafauna/dragon/ex_act(severity, target) if(severity == 3) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 1cbbe722ad7..b530f68998e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -56,8 +56,9 @@ Difficulty: Hard ranged_cooldown_time = 40 aggro_vision_range = 21 //so it can see to one side of the arena to the other loot = list(/obj/item/hierophant_club) - crusher_loot = list(/obj/item/hierophant_club) + crusher_loot = list(/obj/item/hierophant_club, /obj/item/crusher_trophy/vortex_talisman) wander = FALSE + internal_type = /obj/item/gps/internal/hierophant medal_type = BOSS_MEDAL_HIEROPHANT score_type = HIEROPHANT_SCORE del_on_death = TRUE @@ -80,12 +81,8 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/Initialize() . = ..() - internal = new/obj/item/gps/internal/hierophant(src) spawned_beacon = new(loc) -/mob/living/simple_animal/hostile/megafauna/hierophant/spawn_crusher_loot() - new /obj/item/crusher_trophy/vortex_talisman(get_turf(spawned_beacon)) - /mob/living/simple_animal/hostile/megafauna/hierophant/Life() . = ..() if(. && spawned_beacon && !QDELETED(spawned_beacon) && !client) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 9150d273f53..06a5c4e58db 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -39,6 +39,7 @@ Difficulty: Medium ranged_cooldown_time = 20 var/size = 5 var/charging = 0 + internal_type = /obj/item/gps/internal/legion medal_type = BOSS_MEDAL_LEGION score_type = LEGION_SCORE pixel_y = -90 @@ -50,17 +51,13 @@ Difficulty: Medium appearance_flags = 0 mouse_opacity = MOUSE_OPACITY_ICON -/mob/living/simple_animal/hostile/megafauna/legion/Initialize() - . = ..() - internal = new/obj/item/gps/internal/legion(src) - /mob/living/simple_animal/hostile/megafauna/legion/GiveTarget(new_target) . = ..() if(target) wander = TRUE /mob/living/simple_animal/hostile/megafauna/legion/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - if(GLOB.necropolis_gate) + if(GLOB.necropolis_gate && true_spawn) GLOB.necropolis_gate.toggle_the_gate(null, TRUE) //very clever. return ..() @@ -136,6 +133,8 @@ Difficulty: Medium elimination = 0 else if(prob(5)) loot = list(/obj/structure/closet/crate/necropolis/tendril) + if(!true_spawn) + loot = null ..() /obj/item/gps/internal/legion diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 4fdf84efcbb..89facd23a48 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -33,10 +33,15 @@ var/elimination = 0 var/anger_modifier = 0 var/obj/item/gps/internal + var/internal_type var/recovery_time = 0 + var/true_spawn = 1 // if this is a megafauna that should grant achievements, or have a gps signal + var/nest_range = 10 /mob/living/simple_animal/hostile/megafauna/Initialize(mapload) . = ..() + if(internal_type && true_spawn) + internal = new internal_type(src) apply_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) add_trait(TRAIT_NO_TELEPORT, MEGAFAUNA_TRAIT) @@ -44,6 +49,16 @@ QDEL_NULL(internal) . = ..() +/mob/living/simple_animal/hostile/megafauna/Moved() + if(nest && nest.parent && get_dist(nest.parent, src) > nest_range) + var/turf/closest = get_turf(nest.parent) + for(var/i = 1 to nest_range) + closest = get_step(closest, get_dir(closest, src)) + forceMove(closest) // someone teleported out probably and the megafauna kept chasing them + target = null + return + return ..() + /mob/living/simple_animal/hostile/megafauna/prevent_content_explosion() return TRUE @@ -56,7 +71,7 @@ if(C && crusher_loot && C.total_damage >= maxHealth * 0.6) spawn_crusher_loot() crusher_kill = TRUE - if(!(flags_1 & ADMIN_SPAWNED_1)) + if(true_spawn && !(flags_1 & ADMIN_SPAWNED_1)) var/tab = "megafauna_kills" if(crusher_kill) tab = "megafauna_kills_crusher" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index c7d90f9556a..8698b8953b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -48,6 +48,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa health = 750 maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe mob_biotypes = list(MOB_ROBOTIC) + internal_type = /obj/item/gps/internal/swarmer_beacon medal_type = BOSS_MEDAL_SWARMERS score_type = SWARMER_BEACON_SCORE faction = list("mining", "boss", "swarmer") @@ -66,7 +67,6 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa /mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Initialize() . = ..() swarmer_caps = GLOB.AISwarmerCapsByType //for admin-edits - internal = new/obj/item/gps/internal/swarmer_beacon(src) for(var/ddir in GLOB.cardinals) new /obj/structure/swarmer/blockade (get_step(src, ddir)) var/mob/living/simple_animal/hostile/swarmer/ai/resource/R = new(loc) diff --git a/config/awaymissionconfig.txt b/config/awaymissionconfig.txt index 222e14705c9..51197eae7a7 100644 --- a/config/awaymissionconfig.txt +++ b/config/awaymissionconfig.txt @@ -21,6 +21,7 @@ #_maps/RandomZLevels/research.dmm #_maps/RandomZLevels/Cabin.dmm #_maps/RandomZLevels/beach2.dmm +_maps/RandomZLevels/VR/mining_VR.dmm _maps/RandomZLevels/VR/murderdome.dmm _maps/RandomZLevels/VR/snowdin_VR.dmm -_maps/RandomZLevels/VR/syndicate_trainer.dmm +_maps/RandomZLevels/VR/syndicate_trainer.dmm \ No newline at end of file diff --git a/icons/mob/nest.dmi b/icons/mob/nest.dmi index e75d325e8a9..23bc6d72cdc 100644 Binary files a/icons/mob/nest.dmi and b/icons/mob/nest.dmi differ diff --git a/tgstation.dme b/tgstation.dme index a6b158030da..69282d3eb11 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1408,6 +1408,7 @@ #include "code\modules\awaymissions\mission_code\caves.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" +#include "code\modules\awaymissions\mission_code\mining.dm" #include "code\modules\awaymissions\mission_code\moonoutpost19.dm" #include "code\modules\awaymissions\mission_code\murderdome.dm" #include "code\modules\awaymissions\mission_code\research.dm"