From 92fec0b75933927388fc0142b3620776c5fa7731 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 3 Sep 2024 18:56:29 -0500 Subject: [PATCH 01/46] Eoehoma Caseless is now available on the black market (Plus the E-40 is very slightly cheaper) (#3318) ## About The Pull Request Adds Eoehoma Caseless boxes to the game, available only in the black market. Upper limit of the E-40 is now 10000 instead of 15000 (its still on average 100% more expensive than a standard assault rifle) ## Why It's Good For The Game It's a cool weapon but you never get to use the ballistic part more than a few times. And I'm sure theres plenty of ammunition leftover for use to sell on the black market. ## Changelog :cl: add: .299 caseless is now available in the black market for the E-40 balance: E-40 is now slightly less expensive fix: .299? .229? No more typos /:cl: --- .../cargo/blackmarket/blackmarket_items/ammo.dm | 11 +++++++++++ .../cargo/blackmarket/blackmarket_items/weapons.dm | 4 ++-- .../modules/projectiles/ammunition/ballistic/rifle.dm | 4 ++-- .../modules/projectiles/boxes_magazines/ammo_boxes.dm | 8 ++++++++ .../projectiles/boxes_magazines/external/rifle.dm | 2 +- code/modules/projectiles/guns/ballistic/assault.dm | 2 +- code/modules/projectiles/projectile/bullets/rifle.dm | 2 +- 7 files changed, 26 insertions(+), 7 deletions(-) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index dcc5c56b93c2..aaa24731c1ea 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -57,6 +57,17 @@ stock = 6 availability_prob = 0 +/datum/blackmarket_item/ammo/c299 + name = "Eoehoma .299 Caseless Ammo Box" + desc = "This ammunition for the E-40 Hybrid Rifle is probably worth more than the people you're shooting it at." + item = /obj/item/ammo_box/c299 + + price_min = 300 + price_max = 700 + stock_min = 4 + stock_max = 8 + availability_prob = 0 + /datum/blackmarket_item/ammo/saber_mag name = "Saber 9mm SMG Magazines" desc = "Magazines for use in the Saber 9mm SMG. No, they don't work as swords." diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 5c6f83ad5734..3bfda20e8654 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -129,10 +129,10 @@ name = "E-40 Hybrid Assault Rifle" desc = "A dual mode hybrid assault rifle made by the now defunct Eoehoma Firearms. Capable of firing both bullets AND lasers, for the discerning dealer in death. Chambered in Eoehoma .299 Caseless." item = /obj/item/gun/ballistic/automatic/assault/e40 - pair_item = list(/datum/blackmarket_item/ammo/e40_mag) + pair_item = list(/datum/blackmarket_item/ammo/e40_mag, /datum/blackmarket_item/ammo/c299) price_min = 7000 - price_max = 15000 + price_max = 10000 stock_max = 2 availability_prob = 10 spawn_weighting = FALSE diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index 786005aa5ca1..cd38ed9f490f 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -85,8 +85,8 @@ bullet_per_box = 20 /obj/item/ammo_casing/caseless/c299 - name = ".229 Eoehoma caseless bullet casing" - desc = "A .229 Eoehoma caseless bullet casing." + name = ".299 Eoehoma caseless bullet casing" + desc = "A .299 Eoehoma caseless bullet casing." icon_state = "caseless" caliber = ".299 caseless" projectile_type = /obj/projectile/bullet/c299 diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index e8e5c59c9c65..52daab482b68 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -519,3 +519,11 @@ icon_state = "a44roum-hp" ammo_type = /obj/item/ammo_casing/a44roum/hp max_ammo = 50 + +/obj/item/ammo_box/c299 + name = "ammo box (.299 Eoehoma caseless)" + desc = "A box of .299 Eoehoma caseless, for use with the E-40 hybrid assault rifle." + icon_state = "299box" + ammo_type = /obj/item/ammo_casing/caseless/c299 + max_ammo = 120 + w_class = WEIGHT_CLASS_NORMAL // This is a lot of ammo diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 781641a6eef1..6065450a0e0f 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -119,7 +119,7 @@ multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/e40 - name = "E-40 magazine (.229 Eoehoma caseless)" + name = "E-40 magazine (.299 Eoehoma caseless)" icon_state = "e40_mag-1" base_icon_state = "e40_mag" ammo_type = /obj/item/ammo_casing/caseless/c299 diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index bdabf0a5bda9..3342d60e2113 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -141,7 +141,7 @@ /obj/item/gun/ballistic/automatic/assault/e40 name = "\improper E-40 Hybrid Rifle" - desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic/laser system along with an advanced ammo counter. Once an icon for bounty hunters, age has broken most down, so these end up in collector's hands or as shoddy Frontiersmen laser SMG conversions when in their inheritted stockpiles. But if one were to find one in working condition, it would be just as formidable as back then. Chambered in .229 Eoehoma caseless, and uses energy for lasers." + desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic/laser system along with an advanced ammo counter. Once an icon for bounty hunters, age has broken most down, so these end up in collector's hands or as shoddy Frontiersmen laser SMG conversions when in their inheritted stockpiles. But if one were to find one in working condition, it would be just as formidable as back then. Chambered in .299 Eoehoma caseless, and uses energy for lasers." icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index 0ea5a8557c8d..0d04eaf6e7ec 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -69,7 +69,7 @@ // .299 Eoehoma Caseless (E-40) /obj/projectile/bullet/c299 - name = ".229 Eoehoma caseless bullet" + name = ".299 Eoehoma caseless bullet" damage = 20 armour_penetration = 10 From 0e840d8c03acf592cfd98b986a195dac2ada51b3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 3 Sep 2024 19:07:37 -0500 Subject: [PATCH 02/46] Automatic changelog generation for PR #3318 [ci skip] --- html/changelogs/AutoChangeLog-pr-3318.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3318.yml diff --git a/html/changelogs/AutoChangeLog-pr-3318.yml b/html/changelogs/AutoChangeLog-pr-3318.yml new file mode 100644 index 000000000000..d1bfbf501a14 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3318.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {balance: E-40 is now slightly less expensive} +delete-after: true From f8af446079f2e59347d9b07184149da0e17aa0fd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 4 Sep 2024 00:58:59 +0000 Subject: [PATCH 03/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3318.yml | 4 ---- html/changelogs/archive/2024-09.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3318.yml create mode 100644 html/changelogs/archive/2024-09.yml diff --git a/html/changelogs/AutoChangeLog-pr-3318.yml b/html/changelogs/AutoChangeLog-pr-3318.yml deleted file mode 100644 index d1bfbf501a14..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3318.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: generalthrax -changes: - - {balance: E-40 is now slightly less expensive} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml new file mode 100644 index 000000000000..dc5a600bd0a1 --- /dev/null +++ b/html/changelogs/archive/2024-09.yml @@ -0,0 +1,3 @@ +2024-09-04: + generalthrax: + - balance: E-40 is now slightly less expensive From 304d445861031d4e328d262824543eb46edf7c51 Mon Sep 17 00:00:00 2001 From: zevo <95449138+Zevotech@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:12:04 -0400 Subject: [PATCH 04/46] Fixes the spawners on my lavaland ruins. (#3322) ## About The Pull Request Replaces the mob burrows with the legions they were originally meant to be. Mob spawner rework replaced them for some reason and never fixed them. ## Why It's Good For The Game fuck my stupid mapper life ## Changelog :cl: fix: winter biodome and buried shrine ruins no longer have an egregious amount of creature burrows /:cl: --- .../LavaRuins/lavaland_surface_biodome_winter.dmm | 12 ++++++------ .../LavaRuins/lavaland_surface_buried_shrine.dmm | 14 +++++++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index 6415f9e79293..739e427fc008 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -608,7 +608,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "fs" = ( @@ -896,7 +896,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "lq" = ( @@ -952,7 +952,7 @@ "mD" = ( /obj/effect/turf_decal/solgov/wood/center, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/living_quarters) "mX" = ( @@ -1081,7 +1081,7 @@ }, /obj/effect/turf_decal/corner/opaque/solgovgold/diagonal, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/engineering) "qt" = ( @@ -1467,10 +1467,10 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/gibs/up, -/obj/structure/spawner/burrow/lava_planet, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/entrance) "Ar" = ( @@ -1925,7 +1925,7 @@ /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/sauna) "Lf" = ( -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/grass/snow, /area/ruin/unpowered/winter_biodome) "Lt" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm index b71bfb250aee..9937cbeb46bb 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm @@ -542,7 +542,7 @@ /area/ruin/unpowered/buried_shrine) "nq" = ( /obj/structure/stone_tile/surrounding, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "nz" = ( @@ -930,7 +930,10 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wM" = ( -/obj/structure/stone_tile/slab, +/obj/structure/stone_tile/surrounding/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, /obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) @@ -1648,6 +1651,7 @@ dir = 1 }, /obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "QR" = ( @@ -1864,7 +1868,7 @@ /obj/structure/stone_tile{ dir = 1 }, -/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/ruin/unpowered/buried_shrine) "Xr" = ( @@ -3928,7 +3932,7 @@ LJ ta NN ta -Xv +wM Ad mM Ad @@ -4095,7 +4099,7 @@ ee WZ WZ yz -wM +Ad tL WZ Yh From d74ebf64664903e869ebb64da18fff235a8dc0fd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 4 Sep 2024 09:23:19 -0500 Subject: [PATCH 05/46] Automatic changelog generation for PR #3322 [ci skip] --- html/changelogs/AutoChangeLog-pr-3322.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3322.yml diff --git a/html/changelogs/AutoChangeLog-pr-3322.yml b/html/changelogs/AutoChangeLog-pr-3322.yml new file mode 100644 index 000000000000..d426c73a31b3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3322.yml @@ -0,0 +1,5 @@ +author: Zevotech +changes: + - {bugfix: winter biodome and buried shrine ruins no longer have an egregious amount + of creature burrows} +delete-after: true From c81fb36c269ac3b671de6134cfe811d177bb53d1 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Wed, 4 Sep 2024 07:55:22 -0700 Subject: [PATCH 06/46] Removes insulation from captain and combat gloves, hardsuits (#3319) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Removes electrical insulation from all gloves except for insulated gloves and their children (including captain, tackler, and combat gloves) and nixes the siemens coefficient on hardsuits that aren't engineer hardsuits of some form. Adds siemens coeff to engineering space suits. Replaces combat gloves with insulated gloves in outfit datums and locker contents for engineers. ## Why It's Good For The Game shock protection is a bit too widely available with how many jobs spawn with combats and how many captain players are in an average round. Since electrical hazards should become a bit more significant in the future due to planned mapping hazards and potentially electrical weapons, this generally reduces it to the players directly responsible for engineering in some capacity. We shouldn’t have ships where the entire crew is shockproof at roundstart- if you want to do that it should require buying some crates, at least. ## Changelog :cl: balance: Removed electrical insulation from all gloves except insulated gloves balance: Removed siemens coefficient from hardsuits, except for engi atmos and CE balance: Added siemens coefficient to engineer space suits balance: Replaced combat gloves with insulated gloves for some factions' engineer lockers /:cl: --- _maps/shuttles/inteq/inteq_valor.dmm | 29 +- _maps/shuttles/solgov/solgov_chronicle.dmm | 374 +++++++++--------- _maps/shuttles/solgov/solgov_inkwell.dmm | 292 +++++++------- _maps/shuttles/solgov/solgov_paracelsus.dmm | 226 +++++------ .../syndicate/syndicate_gorlex_hyena.dmm | 37 +- .../syndicate/syndicate_gorlex_komodo.dmm | 67 ++-- code/datums/martial/krav_maga.dm | 4 +- code/game/objects/items/religion.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 2 +- code/modules/clothing/factions/gezena.dm | 2 +- code/modules/clothing/factions/suns.dm | 4 +- code/modules/clothing/gloves/color.dm | 6 +- code/modules/clothing/gloves/miscellaneous.dm | 10 +- code/modules/clothing/gloves/tacklers.dm | 2 +- .../clothing/outfits/ert/nanotrasen_ert.dm | 2 +- .../clothing/outfits/factions/frontiersmen.dm | 2 +- .../clothing/outfits/factions/independent.dm | 2 +- .../clothing/outfits/factions/inteq.dm | 2 +- .../clothing/outfits/factions/minutemen.dm | 1 + .../clothing/outfits/factions/syndicate.dm | 4 +- code/modules/clothing/spacesuits/hardsuit.dm | 4 +- code/modules/clothing/spacesuits/syndi.dm | 1 + .../modules/mining/equipment/explorer_gear.dm | 4 +- code/modules/uplink/uplink_items.dm | 2 +- 24 files changed, 544 insertions(+), 537 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 0b41578dd31b..c405c803521a 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -539,11 +539,11 @@ }, /obj/effect/turf_decal/borderfloorwhite, /obj/machinery/button/door{ + dir = 1; id = "valor_surgery"; name = "Privacy Shutters"; - pixel_y = 8; - dir = 1; - pixel_x = 8 + pixel_x = 8; + pixel_y = 8 }, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -640,10 +640,10 @@ /area/ship/hallway/port) "fO" = ( /obj/structure/closet/secure_closet{ + icon_door = "prisoner"; icon_state = "prisoner"; name = "shuttle pilot locker"; - req_access = list(3); - icon_door = "prisoner" + req_access = list(3) }, /obj/item/clothing/head/beret/sec/inteq, /obj/item/clothing/head/soft/inteq, @@ -1951,6 +1951,7 @@ }, /obj/effect/turf_decal/corner_techfloor_gray/full, /obj/machinery/cell_charger, +/obj/item/clothing/gloves/color/yellow, /turf/open/floor/plating, /area/ship/maintenance/port) "sc" = ( @@ -2884,8 +2885,8 @@ pixel_y = 4 }, /obj/item/reagent_containers/syringe{ - pixel_y = -4; - pixel_x = -7 + pixel_x = -7; + pixel_y = -4 }, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) @@ -4034,11 +4035,11 @@ /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/borderfloorwhite, /obj/machinery/button/door{ + dir = 1; id = "valor_surgery"; name = "Privacy Shutters"; - pixel_y = -23; - dir = 1; - pixel_x = -7 + pixel_x = -7; + pixel_y = -23 }, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -4532,8 +4533,8 @@ /obj/structure/table/glass, /obj/machinery/computer/med_data/laptop{ dir = 8; - pixel_y = 7; - pixel_x = 3 + pixel_x = 3; + pixel_y = 7 }, /turf/open/floor/plasteel/tech, /area/ship/medical) @@ -5124,8 +5125,8 @@ }, /obj/structure/table, /obj/item/storage/toolbox/emergency/shuttle{ - pixel_y = 9; - pixel_x = -1 + pixel_x = -1; + pixel_y = 9 }, /obj/item/gps{ pixel_x = 6; diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index b234552b67c6..19730904ab41 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -1,8 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -58,8 +58,8 @@ /area/ship/engineering/engine) "aB" = ( /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /turf/open/floor/wood/mahogany, /area/ship/crew) @@ -69,10 +69,10 @@ }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - pixel_y = 10; + id = "sgc_airlock1"; name = "blast door control"; - id = "sgc_airlock1" + pixel_x = 22; + pixel_y = 10 }, /obj/structure/sign/warning/vacuum/external{ pixel_y = -22 @@ -130,8 +130,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 8 + dir = 8; + id = "sgc_bridge" }, /obj/structure/cable{ icon_state = "1-8" @@ -214,11 +214,11 @@ }, /obj/machinery/light/small/directional/east, /obj/machinery/button/door{ - pixel_y = 11; - pixel_x = 22; dir = 8; + id = "sgc_dorm"; name = "window shutter control"; - id = "sgc_dorm" + pixel_x = 22; + pixel_y = 11 }, /turf/open/floor/wood, /area/ship/crew) @@ -251,8 +251,8 @@ /area/ship/crew) "bH" = ( /obj/structure/closet/secure_closet/captains{ - populate = 0; - anchored = 1 + anchored = 1; + populate = 0 }, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, @@ -304,9 +304,9 @@ /area/ship/engineering) "cw" = ( /obj/docking_port/mobile{ + dir = 2; port_direction = 8; - preferred_direction = 4; - dir = 2 + preferred_direction = 4 }, /turf/closed/wall/mineral/titanium, /area/ship/crew) @@ -398,11 +398,11 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_y = -22; - pixel_x = -9; + dir = 1; id = "sgc_overseer"; name = "window shutter control"; - dir = 1 + pixel_x = -9; + pixel_y = -22 }, /turf/open/floor/wood, /area/ship/crew/crewtwo) @@ -477,8 +477,8 @@ /obj/structure/table/wood/fancy/purple, /obj/item/paper_bin, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -7 + pixel_x = -7; + pixel_y = 12 }, /obj/item/pen/solgov, /obj/effect/turf_decal/spline/fancy/wood{ @@ -504,9 +504,9 @@ }, /obj/machinery/button/door{ dir = 4; - pixel_y = -10; + id = "sgc_engine"; pixel_x = -22; - id = "sgc_engine" + pixel_y = -10 }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) @@ -553,9 +553,9 @@ /area/ship/engineering/engine) "fl" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -609,9 +609,9 @@ dir = 1 }, /obj/machinery/computer/bookmanagement{ - pixel_y = 7; + dir = 8; icon_state = "laptop"; - dir = 8 + pixel_y = 7 }, /obj/structure/table/wood, /turf/open/floor/wood, @@ -766,8 +766,8 @@ pixel_y = -3 }, /obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_y = 6; - pixel_x = 9 + pixel_x = 9; + pixel_y = 6 }, /turf/open/floor/wood/mahogany, /area/ship/crew) @@ -782,10 +782,10 @@ dir = 5 }, /obj/machinery/button/door{ - pixel_y = 23; - pixel_x = 10; id = "sgc_captain"; - name = "window shutter control" + name = "window shutter control"; + pixel_x = 10; + pixel_y = 23 }, /turf/open/floor/wood, /area/ship/crew/office) @@ -799,8 +799,8 @@ /obj/machinery/firealarm/directional/north, /obj/item/kirbyplants{ icon_state = "applebush"; - pixel_y = 16; - pixel_x = 8 + pixel_x = 8; + pixel_y = 16 }, /obj/item/kirbyplants{ icon_state = "plant-11"; @@ -836,9 +836,9 @@ "hx" = ( /obj/item/kirbyplants{ icon_state = "plant-11"; + layer = 2.89; pixel_x = -12; - pixel_y = 19; - layer = 2.89 + pixel_y = 19 }, /obj/effect/turf_decal/spline/fancy/wood{ dir = 1 @@ -850,8 +850,8 @@ dir = 6 }, /obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 8 + pixel_x = 8; + pixel_y = 21 }, /turf/open/floor/wood, /area/ship/crew/crewtwo) @@ -911,8 +911,8 @@ "hU" = ( /obj/item/kirbyplants{ icon_state = "plant-06"; - pixel_y = 16; - pixel_x = 16 + pixel_x = 16; + pixel_y = 16 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -936,9 +936,9 @@ /area/ship/crew/crewtwo) "id" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/structure/sign/poster/solgov/sonnensoldner{ @@ -996,10 +996,10 @@ dir = 10 }, /obj/machinery/button/door{ - pixel_y = 22; - pixel_x = 9; id = "sgc_engi"; - name = "window shutter control" + name = "window shutter control"; + pixel_x = 9; + pixel_y = 22 }, /turf/open/floor/plasteel/white, /area/ship/engineering) @@ -1036,12 +1036,12 @@ "jd" = ( /obj/structure/table/wood, /obj/structure/railing/wood{ - dir = 6; - color = "#792f27" + color = "#792f27"; + dir = 6 }, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /obj/item/reagent_containers/food/snacks/grown/cabbage{ pixel_y = 4 @@ -1057,11 +1057,11 @@ "jJ" = ( /obj/machinery/button/door{ dir = 4; - pixel_y = -8; - pixel_x = -22; id = "sgc_airlock2"; - req_one_access = list(20,19); - name = "blast door control" + name = "blast door control"; + pixel_x = -22; + pixel_y = -8; + req_one_access = list(20,19) }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -1070,8 +1070,8 @@ dir = 10 }, /obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 7 + pixel_x = 7; + pixel_y = 21 }, /obj/machinery/light/small/directional/west{ pixel_y = 1 @@ -1138,8 +1138,8 @@ /obj/structure/table/wood/fancy/purple, /obj/machinery/computer/secure_data/laptop{ dir = 8; - pixel_y = 5; - pixel_x = 4 + pixel_x = 4; + pixel_y = 5 }, /obj/effect/turf_decal/spline/fancy/wood{ dir = 4 @@ -1163,8 +1163,8 @@ "kz" = ( /obj/machinery/telecomms/hub{ autolinkers = list("solgov","broadcasterA","receiverA","solgovPDA","SolHub"); - network = "SolNet"; - id = "Solgov Hub" + id = "Solgov Hub"; + network = "SolNet" }, /obj/structure/window/reinforced{ dir = 8 @@ -1273,8 +1273,8 @@ dir = 5 }, /obj/structure/sign/warning{ - pixel_y = 9; - pixel_x = -23 + pixel_x = -23; + pixel_y = 9 }, /obj/machinery/camera/autoname{ dir = 5 @@ -1558,9 +1558,9 @@ req_one_access = list(61,11) }, /obj/machinery/telecomms/bus{ + autolinkers = list("processor7","solgov"); id = "bus mainframe"; - network = "SolNet"; - autolinkers = list("processor7","solgov") + network = "SolNet" }, /turf/open/floor/circuit, /area/ship/engineering) @@ -1704,8 +1704,8 @@ }, /obj/machinery/door/airlock/engineering{ dir = 4; - req_access = list(11); - name = "Equipment Room" + name = "Equipment Room"; + req_access = list(11) }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -1888,9 +1888,9 @@ "sE" = ( /obj/machinery/advanced_airlock_controller{ pixel_y = 24; - req_ship_access = 1; req_access = null; - req_one_access = list(1,48) + req_one_access = list(1,48); + req_ship_access = 1 }, /obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ dir = 4 @@ -1997,8 +1997,8 @@ }, /obj/machinery/telecomms/message_server{ autolinkers = list("solgovPDA"); - network = "SolNet"; - calibrating = 0 + calibrating = 0; + network = "SolNet" }, /obj/machinery/light/small/directional/east, /turf/open/floor/circuit/red, @@ -2034,8 +2034,8 @@ /area/ship/engineering) "un" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, @@ -2161,8 +2161,8 @@ "vR" = ( /obj/machinery/door/window{ dir = 8; - opacity = 1; - name = "Tinted Interior Door" + name = "Tinted Interior Door"; + opacity = 1 }, /obj/structure/cable{ icon_state = "1-4" @@ -2201,8 +2201,8 @@ }, /obj/machinery/light/floor, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 + pixel_x = -29; + pixel_y = 0 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, @@ -2214,8 +2214,8 @@ /area/ship/cargo) "wU" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/wood, @@ -2232,8 +2232,8 @@ "wW" = ( /obj/item/kirbyplants{ icon_state = "plant-11"; - pixel_x = 10; - layer = 2.89 + layer = 2.89; + pixel_x = 10 }, /obj/structure/table/wood/fancy/purple, /obj/item/paper/crumpled, @@ -2263,8 +2263,8 @@ /area/ship/engineering/engine) "xt" = ( /obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/camera/autoname, @@ -2326,8 +2326,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 + dir = 4; + id = "sgc_captain" }, /obj/structure/cable{ icon_state = "0-2" @@ -2364,8 +2364,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 8 + dir = 8; + id = "sgc_bridge" }, /obj/structure/cable{ icon_state = "2-8" @@ -2411,8 +2411,8 @@ dir = 4 }, /obj/machinery/door/airlock{ - name = "Dorm"; - dir = 4 + dir = 4; + name = "Dorm" }, /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -2454,12 +2454,12 @@ "yQ" = ( /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 23; - pixel_x = -7 + pixel_x = -7; + pixel_y = 23 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/wood, @@ -2469,12 +2469,12 @@ req_access = null }, /obj/structure/railing/wood{ - dir = 4; - color = "#792f27" + color = "#792f27"; + dir = 4 }, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /obj/item/reagent_containers/food/condiment/milk, /obj/item/reagent_containers/food/condiment/milk, @@ -2491,8 +2491,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sgc_engine"; - dir = 4 + dir = 4; + id = "sgc_engine" }, /obj/structure/cable{ icon_state = "0-8" @@ -2533,9 +2533,9 @@ /obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/reagent_containers/food/condiment/saltshaker, /obj/structure/closet/crate/secure/gear{ - populate = 0; - name = "emergency sauerkraut supplies"; desc = "For emergency use only"; + name = "emergency sauerkraut supplies"; + populate = 0; req_access = list(19) }, /obj/item/reagent_containers/food/snacks/grown/cabbage, @@ -2650,8 +2650,8 @@ }, /obj/machinery/light/small/directional/south, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 + pixel_x = -29; + pixel_y = 0 }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) @@ -2686,11 +2686,11 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, /obj/machinery/light/directional/west, /obj/structure/sign/poster/solgov/random{ pixel_y = 30 }, +/obj/item/clothing/gloves/color/yellow, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "Au" = ( @@ -2708,8 +2708,8 @@ }, /obj/machinery/firealarm/directional/north, /obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 + pixel_x = -12; + pixel_y = 21 }, /obj/item/clothing/under/solgov, /obj/item/clothing/under/solgov, @@ -2746,16 +2746,16 @@ }, /obj/machinery/button/door{ dir = 1; - pixel_y = -22; - pixel_x = 8; id = "sgc_cargo"; - name = "blast door control" + name = "blast door control"; + pixel_x = 8; + pixel_y = -22 }, /obj/machinery/button/shieldwallgen{ dir = 1; - pixel_y = -20; + id = "sgc_cs"; pixel_x = -2; - id = "sgc_cs" + pixel_y = -20 }, /turf/open/floor/plasteel, /area/ship/cargo) @@ -2791,8 +2791,8 @@ "AV" = ( /obj/machinery/telecomms/processor{ autolinkers = list("processor7"); - network = "SolNet"; - id = "Processor" + id = "Processor"; + network = "SolNet" }, /obj/structure/window/reinforced, /obj/machinery/door/window/brigdoor/westleft{ @@ -2822,8 +2822,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /turf/open/floor/wood, /area/ship/crew/crewtwo) @@ -2838,8 +2838,8 @@ /area/ship/engineering/engine) "Bs" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood, /area/ship/bridge) @@ -2859,8 +2859,8 @@ /area/ship/security/armory) "BZ" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/cable{ icon_state = "1-2" @@ -2900,8 +2900,8 @@ /area/ship/crew/crewtwo) "Cf" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -3056,8 +3056,8 @@ }, /obj/machinery/firealarm/directional/north, /obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 + pixel_x = -12; + pixel_y = 22 }, /turf/open/floor/wood, /area/ship/crew/office) @@ -3152,14 +3152,14 @@ /area/ship/crew/dorm) "EF" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/airalarm/directional/west, /obj/item/kirbyplants{ icon_state = "applebush"; - pixel_y = 19; - pixel_x = -8 + pixel_x = -8; + pixel_y = 19 }, /turf/open/floor/wood, /area/ship/crew/crewtwo) @@ -3186,8 +3186,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /turf/open/floor/wood, /area/ship/crew/office) @@ -3204,31 +3204,31 @@ icon_state = "0-8" }, /obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 + pixel_x = -12; + pixel_y = 22 }, /turf/open/floor/plasteel/white, /area/ship/security/armory) "Fh" = ( /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 + pixel_x = 28; + pixel_y = 0 }, /turf/open/floor/plating, /area/ship/external) "Fl" = ( /obj/docking_port/stationary{ dir = 4; - height = 15; dwidth = 15; + height = 15; width = 30 }, /turf/template_noop, /area/template_noop) "Fm" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 @@ -3249,8 +3249,8 @@ /area/ship/crew/crewtwo) "FG" = ( /obj/structure/railing/wood{ - dir = 6; - color = "#543C30" + color = "#543C30"; + dir = 6 }, /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/mug/tea{ @@ -3322,8 +3322,8 @@ dir = 1 }, /obj/structure/sign/warning/vacuum/external{ - pixel_y = 10; - pixel_x = -30 + pixel_x = -30; + pixel_y = 10 }, /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -3396,8 +3396,8 @@ /area/ship/security/armory) "Hb" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/effect/turf_decal/corner/opaque/solgovblue{ dir = 5 @@ -3454,8 +3454,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_overseer"; - dir = 4 + dir = 4; + id = "sgc_overseer" }, /obj/structure/cable, /turf/open/floor/plating, @@ -3479,8 +3479,8 @@ /area/ship/engineering) "In" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/wood, @@ -3667,8 +3667,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 + dir = 4; + id = "sgc_captain" }, /obj/structure/cable{ icon_state = "0-8" @@ -3774,8 +3774,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 + dir = 4; + id = "sgc_captain" }, /obj/structure/cable, /turf/open/floor/plating, @@ -3823,8 +3823,8 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/structure/railing/wood{ color = "#543C30"; @@ -4004,8 +4004,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_overseer"; - dir = 4 + dir = 4; + id = "sgc_overseer" }, /obj/structure/cable{ icon_state = "0-4" @@ -4028,9 +4028,9 @@ dir = 4 }, /obj/structure/chair/plastic{ + desc = "Welcome to the shower"; dir = 4; - name = "shower chair"; - desc = "Welcome to the shower" + name = "shower chair" }, /obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/freezer, @@ -4071,8 +4071,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 4 + dir = 4; + id = "sgc_bridge" }, /obj/structure/cable{ icon_state = "0-8" @@ -4131,8 +4131,8 @@ pixel_y = 25 }, /obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/cable{ icon_state = "4-10" @@ -4150,10 +4150,10 @@ dir = 8 }, /obj/machinery/button/door{ - pixel_y = 9; - pixel_x = 6; id = "sgc_bridge"; - name = "bridge window lockdown" + name = "bridge window lockdown"; + pixel_x = 6; + pixel_y = 9 }, /obj/item/reagent_containers/glass/maunamug{ pixel_x = -3 @@ -4178,8 +4178,8 @@ }, /obj/machinery/light/floor, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 + pixel_x = -29; + pixel_y = 0 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, @@ -4356,8 +4356,8 @@ }, /obj/machinery/door/airlock/engineering{ dir = 4; - req_access = list(11); - name = "Engine Room" + name = "Engine Room"; + req_access = list(11) }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -4406,8 +4406,8 @@ }, /obj/machinery/door/airlock/engineering{ dir = 4; - req_access = list(11); - name = "Engineering" + name = "Engineering"; + req_access = list(11) }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -4436,9 +4436,9 @@ /obj/item/kitchen/knife, /obj/machinery/newscaster/directional/north, /obj/structure/sink{ - pixel_y = 20; + layer = 2.79; pixel_x = -15; - layer = 2.79 + pixel_y = 20 }, /turf/open/floor/wood/mahogany, /area/ship/crew) @@ -4471,8 +4471,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 + pixel_x = -12; + pixel_y = 22 }, /turf/open/floor/wood, /area/ship/crew/crewtwo) @@ -4485,8 +4485,8 @@ icon_state = "1-2" }, /obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = 3; - pixel_x = -4 + pixel_x = -4; + pixel_y = 3 }, /obj/item/reagent_containers/food/drinks/mug/tea{ pixel_x = 10 @@ -4521,7 +4521,7 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "SH" = ( @@ -4536,8 +4536,8 @@ /area/ship/crew/dorm) "SJ" = ( /obj/machinery/telecomms/receiver/preset_left{ - network = "SolNet"; - id = "Receiver" + id = "Receiver"; + network = "SolNet" }, /obj/structure/window/reinforced{ dir = 1 @@ -4667,11 +4667,11 @@ }, /obj/machinery/button/door{ dir = 8; + id = "sgc_piss"; + name = "bathroom lock"; pixel_x = 22; pixel_y = -9; - id = "sgc_piss"; - specialfunctions = 3; - name = "bathroom lock" + specialfunctions = 3 }, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/freezer, @@ -4757,8 +4757,8 @@ "US" = ( /obj/structure/table/wood, /obj/item/desk_flag/solgov{ - pixel_y = 2; - pixel_x = 8 + pixel_x = 8; + pixel_y = 2 }, /turf/open/floor/carpet/blue, /area/ship/crew) @@ -5026,8 +5026,8 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 4 + dir = 4; + id = "sgc_bridge" }, /obj/structure/cable{ icon_state = "0-8" @@ -5090,8 +5090,8 @@ }, /obj/machinery/door/airlock{ dir = 4; - name = "Bathroom"; - id_tag = "sgc_piss" + id_tag = "sgc_piss"; + name = "Bathroom" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -5132,8 +5132,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 + pixel_x = -12; + pixel_y = 22 }, /turf/open/floor/plasteel, /area/ship/cargo) diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index 14bce5a912e1..d89314c2f769 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -117,10 +117,10 @@ dir = 8; id = "sgi_captainbolt"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = 6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/wood/walnut, /area/ship/crew/dorm/dormtwo) @@ -152,7 +152,7 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/orange, /obj/item/clothing/glasses/meson/prescription, @@ -161,9 +161,9 @@ /area/ship/engineering) "bu" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -220,8 +220,8 @@ /area/ship/crew/library) "ce" = ( /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 + pixel_x = 28; + pixel_y = 0 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -256,8 +256,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -292,9 +292,9 @@ /area/ship/crew/toilet) "cI" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -433,9 +433,9 @@ }, /obj/machinery/door/airlock/solgov{ dir = 4; - req_one_access = list(20); + id_tag = "sgi_captainbolt"; name = "Captain's Quarters"; - id_tag = "sgi_captainbolt" + req_one_access = list(20) }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -482,10 +482,10 @@ }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - pixel_y = 10; + id = "sgi_cafeteria"; name = "external shutters control"; - id = "sgi_cafeteria" + pixel_x = 22; + pixel_y = 10 }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, @@ -551,9 +551,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = 2; + id = "sgi_holocargo1"; pixel_x = -18; - id = "sgi_holocargo1" + pixel_y = 2 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -614,8 +614,8 @@ /area/ship/cargo) "eq" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/corner/wood{ color = "#543C30" @@ -664,9 +664,9 @@ dir = 4; id = "sgi_bolt"; name = "bathroom lock"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = 7; - normaldoorcontrol = 1; specialfunctions = 4 }, /turf/open/floor/plasteel/freezer, @@ -1059,8 +1059,8 @@ "hm" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 7; - pixel_x = 16 + pixel_x = 16; + pixel_y = 7 }, /obj/item/paper_bin, /obj/item/pen/solgov, @@ -1308,11 +1308,11 @@ /obj/structure/table/wood, /obj/structure/closet/wall/directional/east, /obj/machinery/button/door{ - pixel_y = -21; - pixel_x = -8; dir = 1; id = "sgi_dorms"; - name = "dorms shutters control" + name = "dorms shutters control"; + pixel_x = -8; + pixel_y = -21 }, /obj/item/clothing/suit/hooded/wintercoat/solgov, /obj/item/clothing/suit/hooded/wintercoat/solgov, @@ -1717,8 +1717,8 @@ "li" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 7; - pixel_x = 16 + pixel_x = 16; + pixel_y = 7 }, /obj/item/folder/solgov, /obj/machinery/light/directional/south, @@ -1730,8 +1730,8 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/turretid/lethal{ - pixel_y = 0; - pixel_x = -26 + pixel_x = -26; + pixel_y = 0 }, /turf/open/floor/plasteel/stairs/wood/left{ dir = 1 @@ -1836,8 +1836,8 @@ "mf" = ( /obj/item/kirbyplants{ icon_state = "applebush"; - pixel_y = 2; - pixel_x = -5 + pixel_x = -5; + pixel_y = 2 }, /obj/machinery/light/directional/west, /turf/open/floor/wood/birch, @@ -1880,8 +1880,8 @@ /area/ship/hallway/starboard) "mD" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/walnut, @@ -2153,8 +2153,8 @@ /area/ship/bridge) "nV" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/wood{ color = "#543C30"; @@ -2213,8 +2213,8 @@ icon_state = "0-8" }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -2373,8 +2373,8 @@ /area/ship/crew/dorm) "pu" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -2399,8 +2399,8 @@ color = "#D5A66E" }, /obj/structure/railing/wood{ - dir = 1; - color = "#D5A66E" + color = "#D5A66E"; + dir = 1 }, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ @@ -2534,10 +2534,10 @@ "qE" = ( /obj/structure/table/wood, /obj/item/kitchen/knife/letter_opener{ - pixel_x = -13; icon_state = "letter_opener_b"; - pixel_y = 4; - name = "boxcutter" + name = "boxcutter"; + pixel_x = -13; + pixel_y = 4 }, /obj/item/storage/box/shipping, /obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ @@ -2556,8 +2556,8 @@ "qM" = ( /obj/machinery/light/floor, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 + pixel_x = 28; + pixel_y = 0 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -2593,8 +2593,8 @@ /area/ship/crew/cryo) "rb" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/mono, @@ -2640,9 +2640,9 @@ /area/ship/cargo) "rN" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -2957,22 +2957,22 @@ /area/ship/cargo) "ti" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, /obj/machinery/button/door{ - pixel_y = -21; - pixel_x = -8; dir = 1; id = "sgi_captain"; - name = "external shutters control" + name = "external shutters control"; + pixel_x = -8; + pixel_y = -21 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/walnut, @@ -2986,9 +2986,9 @@ /area/ship/crew/dorm/dormthree) "tr" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -3035,8 +3035,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -3085,8 +3085,8 @@ /obj/structure/table/wood, /obj/item/radio/intercom/directional/east, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /turf/open/floor/wood, /area/ship/crew/canteen) @@ -3344,14 +3344,14 @@ "vn" = ( /obj/item/kirbyplants{ icon_state = "plant-11"; + layer = 2.89; pixel_x = -12; - pixel_y = 19; - layer = 2.89 + pixel_y = 19 }, /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/structure/cable{ icon_state = "1-4" @@ -3396,8 +3396,8 @@ /area/ship/hallway/starboard) "vz" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/wood{ color = "#543C30" @@ -3553,8 +3553,8 @@ /area/ship/cargo) "wk" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/effect/turf_decal/siding/wood/corner{ color = "#543C30" @@ -3584,9 +3584,9 @@ /obj/item/storage/backpack/satchel, /obj/item/kitchen/knife/letter_opener, /obj/structure/closet/secure_closet/quartermaster{ - populate = 0; anchored = 1; - name = "\proper logistics deck officer's locker" + name = "\proper logistics deck officer's locker"; + populate = 0 }, /obj/item/clothing/suit/solgov/overcoat, /obj/item/clothing/head/flatcap/solgov, @@ -3631,9 +3631,9 @@ /area/ship/cargo) "wB" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -3887,8 +3887,8 @@ /area/ship/bridge) "yD" = ( /obj/effect/turf_decal/siding/wood{ - dir = 9; - color = "#543C30" + color = "#543C30"; + dir = 9 }, /obj/structure/chair/comfy/beige{ dir = 8 @@ -3989,8 +3989,8 @@ }, /obj/machinery/light/directional/south, /obj/machinery/telecomms/relay{ - network = "SolNet"; - autolinkers = list("SolHub") + autolinkers = list("SolHub"); + network = "SolNet" }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) @@ -4187,8 +4187,8 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/pen/solgov, /turf/open/floor/carpet/blue, @@ -4199,8 +4199,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/poster/solgov/random{ @@ -4226,9 +4226,9 @@ }, /obj/machinery/door/airlock/solgov{ dir = 4; + id_tag = "sgi_quartermaster"; name = "Logistics Deck Officer's Quarters"; - req_one_access = list(41); - id_tag = "sgi_quartermaster" + req_one_access = list(41) }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -4256,8 +4256,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, @@ -4425,8 +4425,8 @@ /area/ship/hallway/starboard) "BY" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -4538,8 +4538,8 @@ pixel_y = 4 }, /obj/item/stamp/solgov{ - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/item/paper_bin{ pixel_x = -5; @@ -4588,9 +4588,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = 2; + id = "sgi_holocargo2"; pixel_x = -18; - id = "sgi_holocargo2" + pixel_y = 2 }, /turf/open/floor/plasteel/mono, /area/ship/cargo) @@ -5422,9 +5422,9 @@ /obj/structure/table/wood, /obj/item/clipboard, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_office"; - name = "external shutters control" + name = "external shutters control"; + pixel_y = 23 }, /turf/open/floor/carpet/blue, /area/ship/crew/office) @@ -5740,8 +5740,8 @@ /area/ship/cargo) "KX" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/light_switch{ @@ -5955,10 +5955,10 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_qm"; name = "logistics deck officer shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = 23 }, /turf/open/floor/wood/birch, /area/ship/crew/dorm/dormthree) @@ -5970,8 +5970,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -6204,8 +6204,8 @@ "Or" = ( /obj/machinery/atmospherics/pipe/layer_manifold, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -1 + pixel_x = -1; + pixel_y = 0 }, /turf/closed/wall/mineral/titanium, /area/ship/hallway/starboard) @@ -6222,9 +6222,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = -2; + id = "sgi_holocargo1"; pixel_x = -18; - id = "sgi_holocargo1" + pixel_y = -2 }, /turf/open/floor/plasteel/mono, /area/ship/cargo) @@ -6239,17 +6239,17 @@ pixel_y = 8 }, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/reagent_containers/food/drinks/mug/coco{ pixel_x = -7; pixel_y = -2 }, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_bridge"; - name = "external shutters control" + name = "external shutters control"; + pixel_y = 23 }, /turf/open/floor/wood/maple, /area/ship/bridge) @@ -6396,11 +6396,11 @@ dir = 4 }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -4; dir = 1; id = "sgi_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = -23 }, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 @@ -6440,8 +6440,8 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood/corner{ - dir = 4; - color = "#D5A66E" + color = "#D5A66E"; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, @@ -6602,8 +6602,8 @@ "Ru" = ( /obj/structure/table/wood/fancy/blue, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/binoculars, /turf/open/floor/wood/walnut, @@ -6675,7 +6675,7 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/orange, /obj/item/clothing/glasses/meson/prescription, @@ -6863,9 +6863,9 @@ /area/ship/cargo) "Td" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -7093,13 +7093,13 @@ /area/ship/bridge) "Vk" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/structure/dresser, /obj/item/desk_flag/trans{ - pixel_y = 8; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /turf/open/floor/wood/walnut, /area/ship/crew/dorm) @@ -7203,8 +7203,8 @@ }, /obj/machinery/door/airlock{ dir = 4; - name = "Bathroom"; - id_tag = "sgi_bolt" + id_tag = "sgi_bolt"; + name = "Bathroom" }, /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -7268,8 +7268,8 @@ color = "#D5A66E" }, /obj/structure/railing/corner/wood{ - dir = 4; - color = "#D5A66E" + color = "#D5A66E"; + dir = 4 }, /obj/structure/cable{ icon_state = "1-4" @@ -7298,9 +7298,9 @@ /obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/reagent_containers/food/condiment/saltshaker, /obj/structure/closet/crate/secure/gear{ - populate = 0; - name = "emergency sauerkraut supplies"; desc = "For emergency use only"; + name = "emergency sauerkraut supplies"; + populate = 0; req_access = list(19) }, /obj/item/reagent_containers/food/snacks/grown/cabbage, @@ -7375,9 +7375,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = -2; + id = "sgi_holocargo2"; pixel_x = -18; - id = "sgi_holocargo2" + pixel_y = -2 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -7476,10 +7476,10 @@ }, /obj/effect/turf_decal/corner/opaque/solgovblue, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -4; id = "sgi_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -7506,8 +7506,8 @@ "XZ" = ( /obj/docking_port/mobile{ can_move_docking_ports = 1; - preferred_direction = 4; - port_direction = 4 + port_direction = 4; + preferred_direction = 4 }, /turf/closed/wall/mineral/titanium, /area/ship/security/armory) @@ -7620,11 +7620,11 @@ icon_state = "0-8" }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -8; dir = 1; id = "sgi_external"; - name = "blast door control" + name = "blast door control"; + pixel_x = -8; + pixel_y = -23 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, @@ -7689,8 +7689,8 @@ icon_state = "0-8" }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -7751,8 +7751,8 @@ "ZB" = ( /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/structure/cable{ icon_state = "1-2" @@ -7820,10 +7820,10 @@ dir = 8; id = "sgi_quartermaster"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = -6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/wood/birch, /area/ship/crew/dorm/dormthree) diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 87d7a39790f0..b235794d6cd4 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -193,8 +193,8 @@ /area/ship/hallway/port) "cf" = ( /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" + color = "#332521"; + dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/ebony, @@ -248,8 +248,8 @@ "cy" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#E3994E" + color = "#E3994E"; + dir = 8 }, /obj/structure/cable{ icon_state = "2-8" @@ -437,9 +437,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/airlock/medical{ + id_tag = "sg_par_surgery_one"; name = "Surgery"; - req_one_access = list(5,69); - id_tag = "sg_par_surgery_one" + req_one_access = list(5,69) }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, @@ -583,8 +583,8 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /obj/structure/sign/poster/solgov/random{ pixel_y = 30 @@ -657,8 +657,8 @@ dir = 4 }, /obj/machinery/door/poddoor{ - id = "sg_par_cargo3"; - dir = 8 + dir = 8; + id = "sg_par_cargo3" }, /turf/open/floor/plasteel, /area/ship/cargo) @@ -687,8 +687,8 @@ "hd" = ( /obj/structure/sink/kitchen{ dir = 8; - pixel_y = 8; - pixel_x = 12 + pixel_x = 12; + pixel_y = 8 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line, /obj/effect/turf_decal/borderfloorwhite{ @@ -708,10 +708,10 @@ dir = 8; id = "sg_par_surgery_one"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = -5; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical/surgery) @@ -1015,8 +1015,8 @@ /obj/docking_port/mobile{ dir = 4; launch_status = 0; - preferred_direction = 4; - port_direction = 2 + port_direction = 2; + preferred_direction = 4 }, /turf/closed/wall/mineral/titanium, /area/ship/cargo) @@ -1043,9 +1043,9 @@ "kF" = ( /obj/machinery/door/airlock/solgov{ dir = 4; - req_one_access = list(20); + id_tag = "sg_par_bolt"; name = "Captain's Quarters"; - id_tag = "sg_par_bolt" + req_one_access = list(20) }, /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -1150,10 +1150,10 @@ /area/ship/cargo) "lu" = ( /obj/docking_port/stationary{ - width = 30; - height = 15; + dir = 2; dwidth = 15; - dir = 2 + height = 15; + width = 30 }, /turf/template_noop, /area/template_noop) @@ -1178,8 +1178,8 @@ "lJ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#E3994E" + color = "#E3994E"; + dir = 8 }, /obj/machinery/light/directional/north, /obj/item/radio/intercom/table{ @@ -1243,8 +1243,8 @@ pixel_y = 7 }, /obj/item/desk_flag/trans{ - pixel_y = 2; - pixel_x = 7 + pixel_x = 7; + pixel_y = 2 }, /turf/open/floor/wood/ebony, /area/ship/hallway/starboard) @@ -1333,11 +1333,11 @@ /area/ship/cargo/office) "nG" = ( /obj/machinery/button/door{ - pixel_y = -22; - pixel_x = 7; dir = 1; id = "sg_par_office"; - name = "shutter control" + name = "shutter control"; + pixel_x = 7; + pixel_y = -22 }, /obj/structure/chair/sofa/brown/left/directional/north, /obj/machinery/airalarm/directional/west, @@ -1358,8 +1358,8 @@ /area/ship/medical/surgery) "op" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/ebony, @@ -1380,8 +1380,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/airlock/medical{ - name = "Surgery"; id_tag = "sg_par_surgery_two"; + name = "Surgery"; req_one_access = list(5,69) }, /turf/open/floor/plasteel/dark, @@ -1397,8 +1397,8 @@ "ow" = ( /obj/structure/table, /obj/item/defibrillator/loaded{ - pixel_y = 3; - pixel_x = 3 + pixel_x = 3; + pixel_y = 3 }, /obj/item/defibrillator/loaded, /turf/open/floor/plasteel/mono/white, @@ -1450,8 +1450,8 @@ /obj/item/bedsheet/solgov, /obj/structure/curtain/cloth, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#332521" + color = "#332521"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, @@ -1601,8 +1601,8 @@ /area/ship/cargo) "qe" = ( /obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center"; dir = 4; + name = "Treatment Center"; req_one_access = list(5,45) }, /obj/effect/turf_decal/industrial/warning{ @@ -1692,24 +1692,24 @@ "qM" = ( /obj/structure/table/wood, /obj/machinery/button/door{ - pixel_y = 8; id = "sg_par_captain"; name = "captain privacy shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /obj/machinery/button/door{ - pixel_y = 8; id = "sg_par_bolt"; name = "captain door bolt control"; + normaldoorcontrol = 1; pixel_x = 6; - specialfunctions = 4; - normaldoorcontrol = 1 + pixel_y = 8; + specialfunctions = 4 }, /obj/machinery/button/door{ - pixel_y = -2; id = "sg_par_captain_window"; name = "captain privacy shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = -2 }, /turf/open/floor/wood/yew, /area/ship/crew) @@ -1744,7 +1744,7 @@ name = "engineer's locker"; req_access = list(11) }, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/head/hardhat/solgov, /obj/item/clothing/under/solgov/formal, /obj/item/storage/toolbox/mechanical, @@ -1775,9 +1775,9 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/airlock/medical{ + id_tag = "sg_par_chem_bolt"; name = "Chemistry"; - req_one_access = list(5,10,45); - id_tag = "sg_par_chem_bolt" + req_one_access = list(5,10,45) }, /obj/effect/mapping_helpers/airlock/unres{ dir = 1 @@ -1901,18 +1901,18 @@ /area/ship/medical/surgery) "sC" = ( /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -8; dir = 1; id = "sg_par_cargo1"; - name = "cargo blast door control" + name = "cargo blast door control"; + pixel_x = -8; + pixel_y = -23 }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = 6; dir = 1; id = "sg_par_cargo2"; - name = "cargo blast door control" + name = "cargo blast door control"; + pixel_x = 6; + pixel_y = -23 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -2031,8 +2031,8 @@ }, /obj/machinery/light/directional/south, /obj/machinery/telecomms/relay{ - network = "SolNet"; - autolinkers = list("SolHub") + autolinkers = list("SolHub"); + network = "SolNet" }, /turf/open/floor/wood/mahogany, /area/ship/bridge) @@ -2222,15 +2222,15 @@ "wi" = ( /obj/machinery/button/shieldwallgen{ dir = 1; + id = "sg_par_holocargo1"; pixel_x = -5; - pixel_y = -21; - id = "sg_par_holocargo1" + pixel_y = -21 }, /obj/machinery/button/shieldwallgen{ dir = 1; + id = "sg_par_holocargo2"; pixel_x = 5; - pixel_y = -21; - id = "sg_par_holocargo2" + pixel_y = -21 }, /obj/structure/railing/wood{ dir = 4 @@ -2245,8 +2245,8 @@ /area/ship/cargo/office) "wk" = ( /obj/machinery/door/airlock/solgov{ - name = "Psychologist Office"; - id_tag = "sg_par_psychlock" + id_tag = "sg_par_psychlock"; + name = "Psychologist Office" }, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2482,8 +2482,8 @@ /obj/item/stamp/solgov, /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /obj/machinery/light/directional/north, /turf/open/floor/wood/mahogany, @@ -2510,8 +2510,8 @@ "yw" = ( /obj/structure/table, /obj/item/storage/belt/medical{ - pixel_y = 4; - pixel_x = 2 + pixel_x = 2; + pixel_y = 4 }, /obj/item/storage/belt/medical{ pixel_x = -2 @@ -2601,8 +2601,8 @@ "zc" = ( /obj/structure/table/wood, /obj/item/desk_flag/solgov{ - pixel_y = 2; - pixel_x = 7 + pixel_x = 7; + pixel_y = 2 }, /obj/item/reagent_containers/food/drinks/mug/coco{ pixel_x = -6; @@ -2685,8 +2685,8 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /obj/machinery/button/door{ dir = 1; @@ -2729,8 +2729,8 @@ dir = 4 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /turf/open/floor/wood/mahogany, /area/ship/bridge) @@ -2832,8 +2832,8 @@ "BQ" = ( /obj/structure/sink/kitchen{ dir = 4; - pixel_y = 16; - pixel_x = -12 + pixel_x = -12; + pixel_y = 16 }, /obj/effect/turf_decal/borderfloorwhite{ dir = 1 @@ -2898,8 +2898,8 @@ /area/ship/hallway/starboard) "Cf" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/structure/cable{ icon_state = "4-8" @@ -2930,8 +2930,8 @@ /area/ship/cargo/office) "Cp" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#E3994E" + color = "#E3994E"; + dir = 1 }, /obj/structure/fluff/hedge/opaque, /turf/open/floor/wood/yew, @@ -3535,8 +3535,8 @@ "IO" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder{ - pixel_y = 8; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = 4; @@ -3895,10 +3895,10 @@ dir = 4; id = "sg_par_chem_bolt"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = -6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /obj/machinery/autolathe, /turf/open/floor/plasteel/white, @@ -3951,16 +3951,16 @@ dir = 4 }, /obj/machinery/button/door{ - pixel_y = 24; + id = "sg_par_exterior"; name = "external shutters control"; - id = "sg_par_exterior" + pixel_y = 24 }, /turf/open/floor/carpet/royalblue, /area/ship/bridge) "Mr" = ( /obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#E3994E" + color = "#E3994E"; + dir = 1 }, /obj/structure/cable{ icon_state = "1-4" @@ -4128,8 +4128,8 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /obj/structure/cable{ icon_state = "0-4" @@ -4181,8 +4181,8 @@ "OS" = ( /obj/structure/sink/kitchen{ dir = 4; - pixel_y = 8; - pixel_x = -12 + pixel_x = -12; + pixel_y = 8 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line, /obj/effect/turf_decal/borderfloorwhite{ @@ -4202,10 +4202,10 @@ dir = 4; id = "sg_par_surgery_two"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = -5; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical/surgery) @@ -4267,8 +4267,8 @@ /area/ship/crew/crewtwo) "Pg" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/item/kirbyplants/random, /turf/open/floor/wood/ebony, @@ -4381,8 +4381,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sg_par_cargo3"; - dir = 8 + dir = 8; + id = "sg_par_cargo3" }, /turf/open/floor/plasteel, /area/ship/cargo) @@ -4506,11 +4506,11 @@ "Rs" = ( /obj/effect/turf_decal/techfloor, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -4; dir = 1; id = "sg_par_engine"; - name = "Engine Blast Door Control" + name = "Engine Blast Door Control"; + pixel_x = -4; + pixel_y = -23 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/power/terminal{ @@ -4659,10 +4659,10 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -4; id = "sg_par_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/power/terminal{ @@ -4821,8 +4821,8 @@ /area/ship/crew/toilet) "Uc" = ( /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" + color = "#332521"; + dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -4898,8 +4898,8 @@ /area/ship/bridge) "UO" = ( /obj/machinery/smartfridge/bloodbank/preloaded{ - pixel_y = 32; - density = 0 + density = 0; + pixel_y = 32 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line{ dir = 1 @@ -4914,18 +4914,18 @@ "UV" = ( /obj/structure/curtain/cloth, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -6; id = "sg_par_psychlock"; name = "psychology office door bolt"; normaldoorcontrol = 1; + pixel_x = -6; + pixel_y = 24; specialfunctions = 4 }, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = 6; id = "sg_par_psych"; - name = "psychology office privacy shutters" + name = "psychology office privacy shutters"; + pixel_x = 6; + pixel_y = 24 }, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) @@ -5162,12 +5162,12 @@ pixel_y = 15 }, /obj/item/cigbutt{ - pixel_y = 9; - pixel_x = -11 + pixel_x = -11; + pixel_y = 9 }, /obj/item/clothing/mask/cigarette/robust{ - pixel_y = 10; - pixel_x = 8 + pixel_x = 8; + pixel_y = 10 }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/maintenance/port) diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index ae46dc0286f3..bd84c90c4ac3 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -177,8 +177,8 @@ dir = 1 }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 + pixel_x = -12; + pixel_y = 23 }, /turf/open/floor/plasteel/tech, /area/ship/cargo) @@ -1027,12 +1027,13 @@ /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/light_switch{ dir = 1; - pixel_y = -16; - pixel_x = -12 + pixel_x = -12; + pixel_y = -16 }, /obj/item/clothing/under/syndicate/ngr, /obj/item/clothing/suit/hazardvest/ngr, /obj/item/clothing/head/hardhat/ngr, +/obj/item/clothing/gloves/color/red/insulated, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "rM" = ( @@ -1268,8 +1269,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -16; - pixel_x = -12 + pixel_x = -12; + pixel_y = -16 }, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/port) @@ -1330,8 +1331,8 @@ "wP" = ( /obj/effect/turf_decal/industrial/outline, /obj/structure/closet/crate{ - name = "desert equipment crate"; - desc = "A rectangular steel crate containing supplies to survive a desert environment more easily." + desc = "A rectangular steel crate containing supplies to survive a desert environment more easily."; + name = "desert equipment crate" }, /obj/item/clothing/neck/shemagh/ngr, /obj/item/clothing/neck/shemagh/ngr, @@ -1752,8 +1753,8 @@ }, /obj/machinery/light/small/directional/north, /obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = 7 + pixel_x = 7; + pixel_y = 22 }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) @@ -1852,8 +1853,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -16; - pixel_x = -12 + pixel_x = -12; + pixel_y = -16 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -1944,9 +1945,9 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/radio/intercom/directional/north, /obj/machinery/light_switch{ + dir = 4; pixel_x = -20; - pixel_y = 12; - dir = 4 + pixel_y = 12 }, /turf/open/floor/carpet/red, /area/ship/crew) @@ -2852,8 +2853,8 @@ /obj/effect/turf_decal/trimline/opaque/red/filled/corner, /obj/machinery/light_switch{ dir = 1; - pixel_y = -16; - pixel_x = -12 + pixel_x = -12; + pixel_y = -16 }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) @@ -3131,8 +3132,8 @@ req_access = null }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 + pixel_x = -12; + pixel_y = 23 }, /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 987b372d217a..ee80659fd824 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -212,10 +212,10 @@ }, /obj/structure/bed/dogbed, /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child{ - faction = list("neutral","playerSyndicate"); - name = "Goliath"; + desc = "A little guy."; environment_smash = 0; - desc = "A little guy." + faction = list("neutral","playerSyndicate"); + name = "Goliath" }, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/plasteel/tech, @@ -332,8 +332,8 @@ icon_state = "0-8" }, /obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 12 + pixel_x = 12; + pixel_y = 21 }, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/mineral/plastitanium, @@ -513,9 +513,9 @@ icon_state = "4-8" }, /obj/machinery/light_switch{ - pixel_y = -23; + dir = 1; pixel_x = 3; - dir = 1 + pixel_y = -23 }, /turf/open/floor/plasteel/stairs{ dir = 8 @@ -1175,6 +1175,7 @@ }, /obj/item/clothing/under/syndicate/hardliners, /obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/clothing/gloves/color/red/insulated, /turf/open/floor/plasteel/tech, /area/ship/engineering) "ls" = ( @@ -1390,8 +1391,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -23; - pixel_x = 4 + pixel_x = 4; + pixel_y = -23 }, /turf/open/floor/mineral/plastitanium, /area/ship/hallway/aft) @@ -1418,8 +1419,8 @@ }, /obj/machinery/button/shieldwallgen{ id = "komodo_port"; - pixel_y = 24; - pixel_x = 6 + pixel_x = 6; + pixel_y = 24 }, /obj/machinery/button/door{ id = "Artillery1shutter"; @@ -1699,8 +1700,8 @@ /obj/effect/turf_decal/industrial/fire, /obj/effect/decal/cleanable/dirt/dust, /obj/item/trash/syndi_cakes{ - pixel_y = 6; - pixel_x = 4 + pixel_x = 4; + pixel_y = 6 }, /obj/item/t_scanner{ pixel_x = -2; @@ -1846,16 +1847,16 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -23; - pixel_x = 4 + pixel_x = 4; + pixel_y = -23 }, /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) "rN" = ( /obj/structure/table/reinforced, /obj/item/toy/figure/syndie{ - pixel_y = 5; - pixel_x = -8 + pixel_x = -8; + pixel_y = 5 }, /obj/machinery/light/directional/south, /obj/machinery/fax/syndicate, @@ -2201,8 +2202,8 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -6 + pixel_x = -6; + pixel_y = 23 }, /obj/machinery/firealarm/directional/east{ pixel_y = -8 @@ -3597,8 +3598,8 @@ dir = 1; id = "syndiewarship_armorybay"; name = "Weapon Hold"; - req_access_txt = "3"; - pixel_y = -26 + pixel_y = -26; + req_access_txt = "3" }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -3655,8 +3656,8 @@ pixel_y = 16 }, /obj/structure/mirror{ - pixel_y = 30; - layer = 2.8 + layer = 2.8; + pixel_y = 30 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, @@ -3862,8 +3863,8 @@ /area/ship/hallway/central) "Lj" = ( /obj/item/scalpel{ - pixel_y = 6; - pixel_x = 10 + pixel_x = 10; + pixel_y = 6 }, /obj/structure/table/reinforced, /obj/item/hemostat, @@ -3983,8 +3984,8 @@ }, /obj/item/clothing/under/suit/waiter/syndicate, /obj/machinery/vending/boozeomat/syndicate_access{ - pixel_x = 32; - density = 0 + density = 0; + pixel_x = 32 }, /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) @@ -4131,8 +4132,8 @@ "ND" = ( /obj/structure/railing, /obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2; - dir = 8 + dir = 8; + piping_layer = 2 }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/effect/decal/cleanable/greenglow, @@ -5076,8 +5077,8 @@ dir = 8; id = "warshipbridge"; name = "Bridge Window"; - pixel_y = -1; - pixel_x = -2 + pixel_x = -2; + pixel_y = -1 }, /obj/item/reagent_containers/food/drinks/mug{ pixel_x = -6; @@ -5464,8 +5465,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -21; - pixel_x = 6 + pixel_x = 6; + pixel_y = -21 }, /obj/machinery/firealarm/directional/south{ pixel_x = -6 diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index ab3a76d2ddff..d834a03b02a9 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -211,9 +211,9 @@ /obj/item/clothing/gloves/krav_maga/combatglovesplus name = "combat gloves plus" - desc = "These tactical gloves are fireproof and electrically insulated, and through the use of nanochip technology will teach you the martial art of krav maga." + desc = "These tactical gloves are fireproof, and through the use of nanochip technology will teach you the martial art of krav maga." icon_state = "black" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 strip_delay = 80 cold_protection = HANDS diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index e2507dfb911b..704a388d97f1 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -232,7 +232,7 @@ name = "Plate Gauntlets" icon_state = "crusader" desc = "They're like gloves, but made of metal." - siemens_coefficient = 0 + siemens_coefficient = 0.5 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 987aaa9933d5..296e6a65d202 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -177,7 +177,7 @@ new /obj/item/crowbar/syndie(src) //WS Begin - Cool Syndie Tools new /obj/item/wirecutters/syndie(src) new /obj/item/multitool/syndie(src) //WS End - new /obj/item/clothing/gloves/combat(src) + new /obj/item/clothing/gloves/color/red/insulated(src) /obj/item/storage/toolbox/syndicate/empty diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm index eabc0fe752c4..3eea9ebec461 100644 --- a/code/modules/clothing/factions/gezena.dm +++ b/code/modules/clothing/factions/gezena.dm @@ -217,7 +217,7 @@ name = "\improper PGFN Captain's Ihuz-irra Gloves" desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Bears the silver standard of a Gezenan captain." icon_state = "captaingloves" - siemens_coefficient = 0 + siemens_coefficient = 0.5 //Boots diff --git a/code/modules/clothing/factions/suns.dm b/code/modules/clothing/factions/suns.dm index b005b85caa2e..bce8586c9139 100644 --- a/code/modules/clothing/factions/suns.dm +++ b/code/modules/clothing/factions/suns.dm @@ -466,10 +466,10 @@ /obj/item/clothing/gloves/suns/captain name = "\improper SUNS captain's gloves" - desc = "Fancy black gloves for trusted SUNS members. Sports a complex lining that prevents the wearer from being shocked." + desc = "Fancy black gloves for trusted SUNS members." icon_state = "suns_captaingloves" item_state = "suns_blackgloves" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index cbac3e0e8901..19841c7d884e 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -177,10 +177,10 @@ icon_state = "brown" /obj/item/clothing/gloves/color/captain - desc = "Regal white gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier, and armoured bracers. Swanky." + desc = "Regal white gloves, with a nice gold trim, an integrated thermal barrier, and armoured bracers. Swanky." name = "captain's gloves" icon_state = "captain" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT @@ -231,7 +231,7 @@ name = "infiltrator gloves" desc = "Specialized combat gloves for carrying people around. Transfers tactical kidnapping knowledge into the user via nanochips." icon_state = "infiltrator" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.3 resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 9d8db3c035d8..64fbf60dca9c 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -27,9 +27,9 @@ /obj/item/clothing/gloves/combat name = "combat gloves" - desc = "These tactical gloves are fireproof and electrically insulated." + desc = "These tactical gloves are extra-durable, offering some fire and acid protection." icon_state = "combat" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 strip_delay = 80 cold_protection = HANDS @@ -42,12 +42,12 @@ /obj/item/clothing/gloves/combat/maid name = "combat maid sleeves" - desc = "These 'tactical' gloves and sleeves are fireproof and electrically insulated. Warm to boot." + desc = "These 'tactical' gloves and sleeves are fireproof and acid-resistant. Warm to boot." icon_state = "syndimaid_arms" /obj/item/clothing/gloves/combat/maid/inteq name = "inteq combat maid sleeves" - desc = "Tacticute and comfy, along with being both fireproof and electrically insulated." + desc = "Tacticute and comfy, along with being both fireproof and acid-resistant." icon_state = "inteqmaid_arms" /obj/item/clothing/gloves/bracer @@ -142,5 +142,5 @@ /obj/item/clothing/gloves/combat/wizard name = "enchanted gloves" - desc = "These gloves have been enchanted with a spell that makes them electrically insulated and fireproof." + desc = "These gloves have been enchanted with a spell that makes them fireproof and acid-resistant." icon_state = "wizard" diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 0ae7f48089e9..2667297dc358 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -67,7 +67,7 @@ name = "guerrilla gloves" desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks." icon_state = "combat" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 /obj/item/clothing/gloves/tackler/rocket diff --git a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm index 4cec7ad56f8a..a66ee78c7239 100644 --- a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm +++ b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm @@ -434,7 +434,7 @@ suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/engi id = /obj/item/card/id/lpengie belt = /obj/item/storage/belt/utility/full - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow glasses = /obj/item/clothing/glasses/welding back = /obj/item/storage/backpack/ert/engineer diff --git a/code/modules/clothing/outfits/factions/frontiersmen.dm b/code/modules/clothing/outfits/factions/frontiersmen.dm index 7045f5182188..44d0c4920784 100644 --- a/code/modules/clothing/outfits/factions/frontiersmen.dm +++ b/code/modules/clothing/outfits/factions/frontiersmen.dm @@ -92,7 +92,7 @@ uniform = /obj/item/clothing/under/frontiersmen/officer head = /obj/item/clothing/head/hardhat/frontier shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow belt = /obj/item/storage/belt/utility/full // Engineer diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index f89d39a4d8d3..e9b783de9780 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -350,7 +350,7 @@ head = /obj/item/clothing/head/soft/black shoes = /obj/item/clothing/shoes/combat l_pocket = /obj/item/kitchen/knife/combat/survival - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/red/insulated implants = list(/obj/item/implant/radio) diff --git a/code/modules/clothing/outfits/factions/inteq.dm b/code/modules/clothing/outfits/factions/inteq.dm index 6ad58203e2e6..16d1456361be 100644 --- a/code/modules/clothing/outfits/factions/inteq.dm +++ b/code/modules/clothing/outfits/factions/inteq.dm @@ -91,7 +91,7 @@ mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow belt = /obj/item/storage/belt/utility/full id = /obj/item/card/id/silver diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 8a04a0fb76f8..2301855c6809 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -93,6 +93,7 @@ head = /obj/item/clothing/head/hardhat/white ears = /obj/item/radio/headset/clip uniform = /obj/item/clothing/under/clip + gloves = /obj/item/clothing/gloves/color/yellow alt_uniform = null suit = /obj/item/clothing/suit/toggle/lawyer/clip alt_suit = null diff --git a/code/modules/clothing/outfits/factions/syndicate.dm b/code/modules/clothing/outfits/factions/syndicate.dm index 639839d1b65a..4f854da97f03 100644 --- a/code/modules/clothing/outfits/factions/syndicate.dm +++ b/code/modules/clothing/outfits/factions/syndicate.dm @@ -444,7 +444,7 @@ shoes =/obj/item/clothing/shoes/laceup ears = /obj/item/radio/headset/syndicate/alt/captain id = /obj/item/card/id/syndicate_command/captain_id - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow /datum/outfit/job/syndicate/ce/ngr name = "Syndicate - Foreman (New Gorlex Republic)" @@ -456,7 +456,7 @@ suit = /obj/item/clothing/suit/ngr alt_suit = null shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/red/insulated //Chief Medical Officer diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 3c54e44cf035..4de5192323ce 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -105,7 +105,7 @@ max_integrity = 300 armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 50, "acid" = 75) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) - siemens_coefficient = 0 + siemens_coefficient = 0.5 var/obj/item/clothing/head/helmet/space/hardsuit/helmet actions_types = list(/datum/action/item_action/toggle_helmet) var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit @@ -207,6 +207,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" + siemens_coefficient = 0 armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine @@ -1065,6 +1066,7 @@ icon_state = "space-independent-eng" item_state = "space-independent-eng" desc = "A civilian space suit designed for construction and salvage in hazardous, low-pressure environments. Has shielding against radiation and heat and abundant storage.
Though they lack the physical protection of more expensive hardsuits, this type of suit is extremely common wherever construction and salvage work must be done in open space." + siemens_coefficient = 0 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 20, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index e5a98c7215e5..e2a405176c21 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -164,6 +164,7 @@ icon_state = "syndicate-black-engie" item_state = "syndicate-black" desc = "A space suit made of high-grade ballistic fabric with thermal and radiation shielding. More compact than a normal space suit while amost matching powered hardsuits for protection. Almost." + siemens_coefficient = 0 armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) resistance_flags = FIRE_PROOF diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 46c20dd02e1b..038d69dff370 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -147,10 +147,10 @@ /obj/item/clothing/gloves/explorer/old name = "prototype exploration gauntlets" - desc = "Thick-fingered gloves with a heavy layer of armor plating, meant to stop all but the most brutal of stovetop-touching accidents in the field. This premium pre-run prototype comes with an added layer of electrical insulation." + desc = "Thick-fingered gloves with a heavy layer of armor plating, meant to stop all but the most brutal of stovetop-touching accidents in the field." icon_state = "explorerold" armor = list("melee" = 25, "bullet" = 10, "laser" = 15, "energy" = 15, "bomb" = 65, "bio" = 100, "rad" = 75, "fire" = 75, "acid" = 75) - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 /obj/item/clothing/suit/hooded/survivor diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index ce89f62761db..710b99b888e5 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -586,7 +586,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/combatglovesplus name = "Combat Gloves Plus" - desc = "A pair of gloves that are fireproof and electrically insulated, however unlike the regular Combat Gloves these use nanotechnology \ + desc = "A pair of gloves that are fireproof and acid-resistant, however unlike the regular Combat Gloves these use nanotechnology \ to teach the martial art of krav maga to the wearer." item = /obj/item/clothing/gloves/krav_maga/combatglovesplus cost = 5 From 875c8ef19dec5ec712904836b2cd5d04c4937e5f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 4 Sep 2024 10:06:08 -0500 Subject: [PATCH 07/46] Automatic changelog generation for PR #3319 [ci skip] --- html/changelogs/AutoChangeLog-pr-3319.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3319.yml diff --git a/html/changelogs/AutoChangeLog-pr-3319.yml b/html/changelogs/AutoChangeLog-pr-3319.yml new file mode 100644 index 000000000000..99fc7268e89b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3319.yml @@ -0,0 +1,9 @@ +author: Apogee-dev +changes: + - {balance: Removed electrical insulation from all gloves except insulated gloves} + - {balance: 'Removed siemens coefficient from hardsuits, except for engi atmos and + CE'} + - {balance: Added siemens coefficient to engineer space suits} + - {balance: Replaced combat gloves with insulated gloves for some factions' engineer + lockers} +delete-after: true From dab0092e0d7e21b1aae64803db2a84bd4624eeb9 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:57:05 -0400 Subject: [PATCH 08/46] Minor fix to 10mm rubber rounds (#3325) ## About The Pull Request Fixes a typo in the typepath for 10mm rubber rounds. ## Why It's Good For The Game This should allow for 10mm rubber rounds to be obtainable from their respective ammo box now. ## Changelog :cl: fix: fixed typepath for 10mm rubber rounds /:cl: --- code/modules/projectiles/boxes_magazines/ammo_boxes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 52daab482b68..5eb82be63279 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -292,7 +292,7 @@ name = "ammo box (10mm rubbershot)" desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "10mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber + ammo_type = /obj/item/ammo_casing/c10mm/rubber /obj/item/ammo_box/c10mm/ap name = "ammo box (10mm armor-piercing)" From e0ca5ced147545d31683c991bd7a91c04719b487 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 4 Sep 2024 10:19:56 -0500 Subject: [PATCH 09/46] Automatic changelog generation for PR #3325 [ci skip] --- html/changelogs/AutoChangeLog-pr-3325.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3325.yml diff --git a/html/changelogs/AutoChangeLog-pr-3325.yml b/html/changelogs/AutoChangeLog-pr-3325.yml new file mode 100644 index 000000000000..8de17610afbf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3325.yml @@ -0,0 +1,4 @@ +author: zimon9 +changes: + - {bugfix: fixed typepath for 10mm rubber rounds} +delete-after: true From 5bd9ed57911481cc238c0bec4b8dd67b06d51abf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 5 Sep 2024 00:59:00 +0000 Subject: [PATCH 10/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3319.yml | 9 --------- html/changelogs/AutoChangeLog-pr-3322.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3325.yml | 4 ---- html/changelogs/archive/2024-09.yml | 13 +++++++++++++ 4 files changed, 13 insertions(+), 18 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3319.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3322.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3325.yml diff --git a/html/changelogs/AutoChangeLog-pr-3319.yml b/html/changelogs/AutoChangeLog-pr-3319.yml deleted file mode 100644 index 99fc7268e89b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3319.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: Apogee-dev -changes: - - {balance: Removed electrical insulation from all gloves except insulated gloves} - - {balance: 'Removed siemens coefficient from hardsuits, except for engi atmos and - CE'} - - {balance: Added siemens coefficient to engineer space suits} - - {balance: Replaced combat gloves with insulated gloves for some factions' engineer - lockers} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3322.yml b/html/changelogs/AutoChangeLog-pr-3322.yml deleted file mode 100644 index d426c73a31b3..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3322.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Zevotech -changes: - - {bugfix: winter biodome and buried shrine ruins no longer have an egregious amount - of creature burrows} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3325.yml b/html/changelogs/AutoChangeLog-pr-3325.yml deleted file mode 100644 index 8de17610afbf..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3325.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: zimon9 -changes: - - {bugfix: fixed typepath for 10mm rubber rounds} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index dc5a600bd0a1..8d4c6d6e1443 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -1,3 +1,16 @@ 2024-09-04: generalthrax: - balance: E-40 is now slightly less expensive +2024-09-05: + Apogee-dev: + - balance: Removed electrical insulation from all gloves except insulated gloves + - balance: Removed siemens coefficient from hardsuits, except for engi atmos and + CE + - balance: Added siemens coefficient to engineer space suits + - balance: Replaced combat gloves with insulated gloves for some factions' engineer + lockers + Zevotech: + - bugfix: winter biodome and buried shrine ruins no longer have an egregious amount + of creature burrows + zimon9: + - bugfix: fixed typepath for 10mm rubber rounds From 103479c7608e29e4a222bb4d60f0d5365e88c8aa Mon Sep 17 00:00:00 2001 From: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Date: Fri, 6 Sep 2024 06:14:19 -0300 Subject: [PATCH 11/46] Adds two new lever action rifles. (#3243) ## About The Pull Request Adds the Absolution Lever Action Rifle, chambered in 357, and Conflagration Lever Action Shotgun. Pictured below. ![imagen](https://github.com/user-attachments/assets/5294ed7e-5d64-44dd-90b9-10d14a19e58b) ![imagen](https://github.com/user-attachments/assets/dcffaaca-ce82-48eb-b2fa-423204542f22) ![imagen](https://github.com/user-attachments/assets/62b9fdd1-f0f7-4a7b-977a-1da4362690ba) Spriting by RyeRice, Names by Valorium, Descriptions by Apogee, and coding by me!! ## Why It's Good For The Game Upgrades to the .38 lever action rifle that provide a nice variety, with the lever-action shotgun being an inbetween of a double-barrel and pump action shotgun and the 357 being more expensive and with a smaller ammo capacity but with a lot more power. ## Changelog :cl: add: To-do once i get the proper names and all /:cl: --------- Signed-off-by: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Co-authored-by: Theos --- code/game/objects/items/storage/guncases.dm | 9 +++ code/modules/cargo/packs/gun.dm | 14 ++++ .../boxes_magazines/internal/shotgun.dm | 12 ++++ .../projectiles/guns/ballistic/shotgun.dm | 64 ++++++++++++++++++ .../guns/manufacturer/hunterspride/48x32.dmi | Bin 25468 -> 26014 bytes .../manufacturer/hunterspride/lefthand.dmi | Bin 5865 -> 6371 bytes .../guns/manufacturer/hunterspride/onmob.dmi | Bin 6879 -> 7568 bytes .../manufacturer/hunterspride/righthand.dmi | Bin 5882 -> 6376 bytes 8 files changed, 99 insertions(+) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 77f6fe0ed651..232bf1421b3b 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -30,6 +30,15 @@ /obj/item/storage/guncase/winchester/PopulateContents() new /obj/item/gun/ballistic/shotgun/flamingarrow/no_mag(src) +/obj/item/storage/guncase/conflagration +/obj/item/storage/guncase/conflagration/PopulateContents() + new /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/no_mag(src) + +/obj/item/storage/guncase/absolution +/obj/item/storage/guncase/absolution/PopulateContents() + new /obj/item/gun/ballistic/shotgun/flamingarrow/absolution/no_mag(src) + + /obj/item/storage/guncase/skm /obj/item/storage/guncase/skm/PopulateContents() new /obj/item/gun/ballistic/automatic/assault/skm/no_mag(src) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 8a9bd51ccbc5..078348d3242d 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -116,6 +116,13 @@ contains = list(/obj/item/storage/guncase/doublebarrel) crate_name = "shotguns crate" +/datum/supply_pack/gun/conflagration + name = "Conflagration Lever Action Shotgun Crate" + desc = "For when you need to deal with 6 hooligans and look good doing it. Contains one lever-action shotgun, with a 6 round capacity." + cost = 1500 + contains = list(/obj/item/storage/guncase/conflagration) + crate_name = "shotguns crate" + /datum/supply_pack/gun/hellfire_shotgun name = "Hellfire Shotgun Crate" desc = "For when you need to deal with 8 hooligans. Contains a pump shotgun, with a 8-round capacity." @@ -141,6 +148,13 @@ contains = list(/obj/item/storage/guncase/winchester) crate_name = "rifle crate" +/datum/supply_pack/gun/absolution + name = "Absolution Lever Action Rifle Crate" + desc = "Contains a powerful lever-action rifle for hunting larger wildlife. Chambered in .357." + cost = 2000 + contains = list(/obj/item/storage/guncase/absolution) + crate_name = "shotguns crate" + /datum/supply_pack/gun/illestren name = "Illestren Rifle Crate" desc = "Contains an expertly made bolt action rifle intended for hunting wildlife. Chambered in 8x50mmR rounds." diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 29717fd9408b..7485c591809d 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -52,6 +52,18 @@ caliber = ".38" max_ammo = 12 +/obj/item/ammo_box/magazine/internal/shot/winchester/absolution + name = "absolution internal magazine" + ammo_type = /obj/item/ammo_casing/a357 + caliber = ".357" + max_ammo = 8 + +/obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + name = "conflagration internal magazine" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + caliber = "12ga" + max_ammo = 5 + /obj/item/ammo_box/magazine/internal/shot/beacon name = "beacon internal magazine" ammo_type = /obj/item/ammo_casing/a4570 diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index f63328035959..0889396f5b8f 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -692,6 +692,70 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) item_state = "flamingbolt_sawn" mob_overlay_state = item_state +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution + name = "HP Absolution" + base_icon_state = "absolution" + icon_state = "absolution" + item_state = "absolution" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = "A large lever-action rifle with hand-stamped Hunter's Pride marks on the receiver and an 8 round ammunition capacity. More powerful than the Flaming Arrow, the Absolution is a popular pick for hunting larger fauna like bears and goliaths, especially when a bolt action's slower rate of fire would be a liability. Chambered in .357." + sawn_desc = "A large lever-action rifle, sawn down for portability. It looks much cooler, but you should probably be using a revolver..." + mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/sawoff(mob/user) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 8 + + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = 0.25 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/no_mag + spawnwithmagazine = FALSE + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration + name = "HP Conflagration" + base_icon_state = "conflagration" + icon_state = "conflagration" + item_state = "conflagration" + fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' + desc = "A lightweight lever-action shotgun with a 5 round ammunition capacity. The lever action allows it to be cycled quickly and acurrately. In theory, you could ever operate it one-handed. Chambered in 12g." + sawn_desc = "A lever action shotgun that's been sawed down for portability. The recoil makes it mostly useless outside of point-blank range, but it hits hard for its size and, more importantly, can be flipped around stylishly." + mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/sawoff(mob/user) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 + + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = 0.25 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/no_mag + spawnwithmagazine = FALSE + //Elephant Gun /obj/item/gun/ballistic/shotgun/doublebarrel/twobore name = "HP Huntsman" diff --git a/icons/obj/guns/manufacturer/hunterspride/48x32.dmi b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi index cdff0b09ea6e37589026344b57693f4e10c64b0b..70bbef00e1af1a4ed286d05e5eba1aabc3630540 100644 GIT binary patch literal 26014 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%0A)f+6I%gb+7_Yx_82Wd@! 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 Z5n19o<jYV`mB literal 25468 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 LPyM}`&69rtpR9FK diff --git a/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi index 4fb5eca5c0116d1d943679084e63285f968893db..6471cef8b5ebd61594a152dfe360bc6ec62566df 100644 GIT binary patch delta 5818 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 diff --git a/icons/obj/guns/manufacturer/hunterspride/onmob.dmi b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi index 8911c8fbb68f4db59bf26ed23a267032b73dfc70..361899e3c5235f1f1912ff3d255b31ffa0faaed9 100644 GIT binary patch delta 7535 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

y?8cOOz3fve^`?b1nFnbPH?B( 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 FV1l9vnG^s3 delta 6823 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 V<1`3DFQ)(i002ovPDHLkV1nBt64C$w diff --git a/icons/obj/guns/manufacturer/hunterspride/righthand.dmi b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi index 043167735662dcb5192219dd4445476f6f1b2ae2..fbf4f7cf3fbf806a4d2f02b597c6cb134671efba 100644 GIT binary patch literal 6376 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 XHd_8b4G@ij From 780db0dade1e0c66462f69e3ee4f91d22776fb21 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 6 Sep 2024 04:25:21 -0500 Subject: [PATCH 12/46] Automatic changelog generation for PR #3243 [ci skip] --- html/changelogs/AutoChangeLog-pr-3243.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3243.yml diff --git a/html/changelogs/AutoChangeLog-pr-3243.yml b/html/changelogs/AutoChangeLog-pr-3243.yml new file mode 100644 index 000000000000..0ccafbb77248 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3243.yml @@ -0,0 +1,4 @@ +author: Martinpachu +changes: + - {rscadd: To-do once i get the proper names and all} +delete-after: true From 9b3c407894b8afb070259fb441f2f98f6429df4d Mon Sep 17 00:00:00 2001 From: zevo <95449138+Zevotech@users.noreply.github.com> Date: Fri, 6 Sep 2024 05:55:30 -0400 Subject: [PATCH 13/46] Fixes the "pulse carbine" on whitesands_surface_camp_saloon again (#3331) ## About The Pull Request Fixes the missing sprite on a varedited gun on the map. Also changes the amount of money on the map since it was brought to my attention that it had 14k credits lying about. Adds a few gunner hermits for good measure. ## Why It's Good For The Game Invisible guns are bad. oh and ruins generally shouldnt have over 10k credits unless they warrant it. ## Changelog :cl: fix: The "pulse carbine" in the sandplanet saloon has a sprite again tweak: Added some extra mobs to the sandplanet saloon to balance out the money in it /:cl: --- .../SandRuins/whitesands_surface_camp_saloon.dmm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm index d4c307df25d7..219fc7a6b6b6 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm @@ -243,7 +243,7 @@ }, /obj/effect/turf_decal/siding/wood, /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor, +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "gC" = ( @@ -445,7 +445,6 @@ "lI" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/lootdrop/gambling, -/obj/item/spacecash/bundle/loadsamoney, /turf/open/floor/carpet, /area/ruin/whitesands/saloon) "lV" = ( @@ -890,6 +889,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + dir = 4 + }, /turf/open/floor/wood{ icon_state = "wood-broken5" }, @@ -1029,7 +1031,8 @@ icon_state = "pulse_carbine"; name = "pulse rifle"; desc = "A supposedly heavy-duty, multifaceted energy rifle. The barrel looks off and the casing seems to be made of plastic"; - item_state = "pulse" + item_state = "pulse"; + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' }, /turf/open/floor/wood, /area/ruin/whitesands/saloon) @@ -1114,7 +1117,7 @@ /obj/structure/chair/stool/bar{ dir = 8 }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ dir = 8 }, /turf/open/floor/wood, @@ -1497,7 +1500,7 @@ /area/ruin/whitesands/saloon) "Ua" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ dir = 8 }, /turf/open/floor/wood{ @@ -1672,6 +1675,7 @@ pixel_y = 6; pixel_x = 3 }, +/obj/item/spacecash/bundle/loadsamoney, /turf/open/floor/carpet, /area/ruin/whitesands/saloon) "ZG" = ( From 49d254b4e267c1bea4a2f8d22b999567804befaf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 6 Sep 2024 05:17:38 -0500 Subject: [PATCH 14/46] Automatic changelog generation for PR #3331 [ci skip] --- html/changelogs/AutoChangeLog-pr-3331.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3331.yml diff --git a/html/changelogs/AutoChangeLog-pr-3331.yml b/html/changelogs/AutoChangeLog-pr-3331.yml new file mode 100644 index 000000000000..40b0ca4abcaa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3331.yml @@ -0,0 +1,6 @@ +author: Zevotech +changes: + - {bugfix: The "pulse carbine" in the sandplanet saloon has a sprite again} + - {tweak: Added some extra mobs to the sandplanet saloon to balance out the money + in it} +delete-after: true From 04187e672d3ae251b903e8ff2715af6ff698b9ec Mon Sep 17 00:00:00 2001 From: meem <75212565+meemofcourse@users.noreply.github.com> Date: Fri, 6 Sep 2024 05:57:11 -0400 Subject: [PATCH 15/46] changes human generic names to be improper (e.g. the human man) + changes mothperson to moth (#3321) ## About The Pull Request ![imagen](https://github.com/user-attachments/assets/eeef1198-1f3b-4de8-8ba1-f1f67d97adb6) title ## Why It's Good For The Game * mothperson person was getting a bit jarring * ![imagen](https://github.com/user-attachments/assets/ec18a121-e8ab-4d7f-a7f6-5cf8108828ac) < this wont happen ## Changelog :cl: spellcheck: Human generic names (the ones that show up when you examine someone) will be prefixed consistently /:cl: --- code/modules/mob/living/carbon/human/human_helpers.dm | 2 +- code/modules/mob/living/carbon/human/species_types/mothmen.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index cd588a89b9ce..b7c5b9877120 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -270,7 +270,7 @@ final_string += get_gender() if(prefixed) - final_string = "\A [final_string]" + final_string = "\improper [final_string]" if(lowercase) final_string = lowertext(final_string) diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 91169299afba..f8495f783e36 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -1,5 +1,5 @@ /datum/species/moth - name = "\improper Mothperson" + name = "\improper Moth" id = SPECIES_MOTH default_color = "00FF00" species_traits = list(LIPS, NOEYESPRITES, TRAIT_ANTENNAE, HAIR, EMOTE_OVERLAY) From 7416728ad79c3ca323a77c74de5e906eec39591e Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 6 Sep 2024 05:32:13 -0500 Subject: [PATCH 16/46] Automatic changelog generation for PR #3321 [ci skip] --- html/changelogs/AutoChangeLog-pr-3321.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3321.yml diff --git a/html/changelogs/AutoChangeLog-pr-3321.yml b/html/changelogs/AutoChangeLog-pr-3321.yml new file mode 100644 index 000000000000..fa9320fd1f4b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3321.yml @@ -0,0 +1,5 @@ +author: meemofcourse +changes: + - {spellcheck: Human generic names (the ones that show up when you examine someone) + will be prefixed consistently} +delete-after: true From 573586db68df37c02eeae46c5a956ff71fe7d2c1 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 7 Sep 2024 00:57:52 +0000 Subject: [PATCH 17/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3243.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3321.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3331.yml | 6 ------ html/changelogs/archive/2024-09.yml | 10 ++++++++++ 4 files changed, 10 insertions(+), 15 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3243.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3321.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3331.yml diff --git a/html/changelogs/AutoChangeLog-pr-3243.yml b/html/changelogs/AutoChangeLog-pr-3243.yml deleted file mode 100644 index 0ccafbb77248..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3243.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Martinpachu -changes: - - {rscadd: To-do once i get the proper names and all} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3321.yml b/html/changelogs/AutoChangeLog-pr-3321.yml deleted file mode 100644 index fa9320fd1f4b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3321.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: meemofcourse -changes: - - {spellcheck: Human generic names (the ones that show up when you examine someone) - will be prefixed consistently} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3331.yml b/html/changelogs/AutoChangeLog-pr-3331.yml deleted file mode 100644 index 40b0ca4abcaa..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3331.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Zevotech -changes: - - {bugfix: The "pulse carbine" in the sandplanet saloon has a sprite again} - - {tweak: Added some extra mobs to the sandplanet saloon to balance out the money - in it} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 8d4c6d6e1443..e4407db5eed8 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -14,3 +14,13 @@ of creature burrows zimon9: - bugfix: fixed typepath for 10mm rubber rounds +2024-09-07: + Martinpachu: + - rscadd: To-do once i get the proper names and all + Zevotech: + - bugfix: The "pulse carbine" in the sandplanet saloon has a sprite again + - tweak: Added some extra mobs to the sandplanet saloon to balance out the money + in it + meemofcourse: + - spellcheck: Human generic names (the ones that show up when you examine someone) + will be prefixed consistently From 71bb5d82579ad6c802a832371278b3068ca204e3 Mon Sep 17 00:00:00 2001 From: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Date: Sun, 8 Sep 2024 13:16:11 -0400 Subject: [PATCH 18/46] yes (#3329) -# no --- code/modules/asset_cache/asset_list_items.dm | 10 +- html/font-awesome/README.MD | 4 +- html/font-awesome/css/all.min.css | 4377 +---------------- html/font-awesome/css/v4-shims.min.css | 1694 +------ html/font-awesome/webfonts/fa-regular-400.eot | Bin 34388 -> 0 bytes html/font-awesome/webfonts/fa-regular-400.ttf | Bin 0 -> 60236 bytes .../font-awesome/webfonts/fa-regular-400.woff | Bin 16804 -> 0 bytes html/font-awesome/webfonts/fa-solid-900.eot | Bin 192116 -> 0 bytes html/font-awesome/webfonts/fa-solid-900.ttf | Bin 0 -> 389948 bytes html/font-awesome/webfonts/fa-solid-900.woff | Bin 98020 -> 0 bytes .../webfonts/fa-v4compatibility.ttf | Bin 0 -> 10084 bytes 11 files changed, 12 insertions(+), 6073 deletions(-) delete mode 100644 html/font-awesome/webfonts/fa-regular-400.eot create mode 100644 html/font-awesome/webfonts/fa-regular-400.ttf delete mode 100644 html/font-awesome/webfonts/fa-regular-400.woff delete mode 100644 html/font-awesome/webfonts/fa-solid-900.eot create mode 100644 html/font-awesome/webfonts/fa-solid-900.ttf delete mode 100644 html/font-awesome/webfonts/fa-solid-900.woff create mode 100644 html/font-awesome/webfonts/fa-v4compatibility.ttf diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 83abc98ed990..771cc021906e 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -147,13 +147,11 @@ ) /datum/asset/simple/namespaced/fontawesome - legacy = TRUE assets = list( - "fa-regular-400.eot" = 'html/font-awesome/webfonts/fa-regular-400.eot', - "fa-regular-400.woff" = 'html/font-awesome/webfonts/fa-regular-400.woff', - "fa-solid-900.eot" = 'html/font-awesome/webfonts/fa-solid-900.eot', - "fa-solid-900.woff" = 'html/font-awesome/webfonts/fa-solid-900.woff', - "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css' + "fa-regular-400.ttf" = 'html/font-awesome/webfonts/fa-regular-400.ttf', + "fa-solid-900.ttf" = 'html/font-awesome/webfonts/fa-solid-900.ttf', + "fa-v4compatibility.ttf" = 'html/font-awesome/webfonts/fa-v4compatibility.ttf', + "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css', ) parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css') diff --git a/html/font-awesome/README.MD b/html/font-awesome/README.MD index 7d693c36f031..ba9121311d40 100644 --- a/html/font-awesome/README.MD +++ b/html/font-awesome/README.MD @@ -1,6 +1,6 @@ Due to the fact browse_rsc can't create subdirectories, every time you update font-awesome you'll need to change relative webfont references in all.min.css eg ../webfonts/fa-regular-400.ttf => fa-regular-400.ttf (or whatever you call it in asset datum) -Second change is ripping out file types other than woff and eot(ie8) from the css +Second change is ripping out file types other than ~~ woff and eot(ie8)~~ ttf from the css -Finally, removing brand related css. \ No newline at end of file +Finally, removing brand related css. diff --git a/html/font-awesome/css/all.min.css b/html/font-awesome/css/all.min.css index 5c4407984031..7a283f087ca9 100644 --- a/html/font-awesome/css/all.min.css +++ b/html/font-awesome/css/all.min.css @@ -1,4377 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa, -.fab, -.fal, -.far, -.fas { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; -} -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -0.0667em; -} -.fa-xs { - font-size: 0.75em; -} -.fa-sm { - font-size: 0.875em; -} -.fa-1x { - font-size: 1em; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-6x { - font-size: 6em; -} -.fa-7x { - font-size: 7em; -} -.fa-8x { - font-size: 8em; -} -.fa-9x { - font-size: 9em; -} -.fa-10x { - font-size: 10em; -} -.fa-fw { - text-align: center; - width: 1.25em; -} -.fa-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; -} -.fa-ul > li { - position: relative; -} -.fa-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; -} -.fa-border { - border: 0.08em solid #eee; - border-radius: 0.1em; - padding: 0.2em 0.25em 0.15em; -} -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left, -.fab.fa-pull-left, -.fal.fa-pull-left, -.far.fa-pull-left, -.fas.fa-pull-left { - margin-right: 0.3em; -} -.fa.fa-pull-right, -.fab.fa-pull-right, -.fal.fa-pull-right, -.far.fa-pull-right, -.fas.fa-pull-right { - margin-left: 0.3em; -} -.fa-spin { - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - animation: fa-spin 1s infinite steps(8); -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - to { - transform: rotate(1turn); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - transform: rotate(90deg); -} -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - transform: rotate(180deg); -} -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - transform: rotate(270deg); -} -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - transform: scaleX(-1); -} -.fa-flip-vertical { - transform: scaleY(-1); -} -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical, -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -} -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1); -} -:root .fa-flip-both, -:root .fa-flip-horizontal, -:root .fa-flip-vertical, -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270 { - filter: none; -} -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} -.fa-stack-1x, -.fa-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #fff; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-accessible-icon:before { - content: "\f368"; -} -.fa-accusoft:before { - content: "\f369"; -} -.fa-acquisitions-incorporated:before { - content: "\f6af"; -} -.fa-ad:before { - content: "\f641"; -} -.fa-address-book:before { - content: "\f2b9"; -} -.fa-address-card:before { - content: "\f2bb"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-adobe:before { - content: "\f778"; -} -.fa-adversal:before { - content: "\f36a"; -} -.fa-affiliatetheme:before { - content: "\f36b"; -} -.fa-air-freshener:before { - content: "\f5d0"; -} -.fa-airbnb:before { - content: "\f834"; -} -.fa-algolia:before { - content: "\f36c"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-alipay:before { - content: "\f642"; -} -.fa-allergies:before { - content: "\f461"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-amazon-pay:before { - content: "\f42c"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; -} -.fa-amilia:before { - content: "\f36d"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angry:before { - content: "\f556"; -} -.fa-angrycreative:before { - content: "\f36e"; -} -.fa-angular:before { - content: "\f420"; -} -.fa-ankh:before { - content: "\f644"; -} -.fa-app-store:before { - content: "\f36f"; -} -.fa-app-store-ios:before { - content: "\f370"; -} -.fa-apper:before { - content: "\f371"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-apple-alt:before { - content: "\f5d1"; -} -.fa-apple-pay:before { - content: "\f415"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-archway:before { - content: "\f557"; -} -.fa-arrow-alt-circle-down:before { - content: "\f358"; -} -.fa-arrow-alt-circle-left:before { - content: "\f359"; -} -.fa-arrow-alt-circle-right:before { - content: "\f35a"; -} -.fa-arrow-alt-circle-up:before { - content: "\f35b"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-arrows-alt-h:before { - content: "\f337"; -} -.fa-arrows-alt-v:before { - content: "\f338"; -} -.fa-artstation:before { - content: "\f77a"; -} -.fa-assistive-listening-systems:before { - content: "\f2a2"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-asymmetrik:before { - content: "\f372"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-atlas:before { - content: "\f558"; -} -.fa-atlassian:before { - content: "\f77b"; -} -.fa-atom:before { - content: "\f5d2"; -} -.fa-audible:before { - content: "\f373"; -} -.fa-audio-description:before { - content: "\f29e"; -} -.fa-autoprefixer:before { - content: "\f41c"; -} -.fa-avianex:before { - content: "\f374"; -} -.fa-aviato:before { - content: "\f421"; -} -.fa-award:before { - content: "\f559"; -} -.fa-aws:before { - content: "\f375"; -} -.fa-baby:before { - content: "\f77c"; -} -.fa-baby-carriage:before { - content: "\f77d"; -} -.fa-backspace:before { - content: "\f55a"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-bacon:before { - content: "\f7e5"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-balance-scale-left:before { - content: "\f515"; -} -.fa-balance-scale-right:before { - content: "\f516"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-band-aid:before { - content: "\f462"; -} -.fa-bandcamp:before { - content: "\f2d5"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-bars:before { - content: "\f0c9"; -} -.fa-baseball-ball:before { - content: "\f433"; -} -.fa-basketball-ball:before { - content: "\f434"; -} -.fa-bath:before { - content: "\f2cd"; -} -.fa-battery-empty:before { - content: "\f244"; -} -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battle-net:before { - content: "\f835"; -} -.fa-bed:before { - content: "\f236"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bezier-curve:before { - content: "\f55b"; -} -.fa-bible:before { - content: "\f647"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-biking:before { - content: "\f84a"; -} -.fa-bimobject:before { - content: "\f378"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-biohazard:before { - content: "\f780"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitcoin:before { - content: "\f379"; -} -.fa-bity:before { - content: "\f37a"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-blackberry:before { - content: "\f37b"; -} -.fa-blender:before { - content: "\f517"; -} -.fa-blender-phone:before { - content: "\f6b6"; -} -.fa-blind:before { - content: "\f29d"; -} -.fa-blog:before { - content: "\f781"; -} -.fa-blogger:before { - content: "\f37c"; -} -.fa-blogger-b:before { - content: "\f37d"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-bolt:before { - content: "\f0e7"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-bone:before { - content: "\f5d7"; -} -.fa-bong:before { - content: "\f55c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-book-dead:before { - content: "\f6b7"; -} -.fa-book-medical:before { - content: "\f7e6"; -} -.fa-book-open:before { - content: "\f518"; -} -.fa-book-reader:before { - content: "\f5da"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-bootstrap:before { - content: "\f836"; -} -.fa-border-all:before { - content: "\f84c"; -} -.fa-border-none:before { - content: "\f850"; -} -.fa-border-style:before { - content: "\f853"; -} -.fa-bowling-ball:before { - content: "\f436"; -} -.fa-box:before { - content: "\f466"; -} -.fa-box-open:before { - content: "\f49e"; -} -.fa-boxes:before { - content: "\f468"; -} -.fa-braille:before { - content: "\f2a1"; -} -.fa-brain:before { - content: "\f5dc"; -} -.fa-bread-slice:before { - content: "\f7ec"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-briefcase-medical:before { - content: "\f469"; -} -.fa-broadcast-tower:before { - content: "\f519"; -} -.fa-broom:before { - content: "\f51a"; -} -.fa-brush:before { - content: "\f55d"; -} -.fa-btc:before { - content: "\f15a"; -} -.fa-buffer:before { - content: "\f837"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-burn:before { - content: "\f46a"; -} -.fa-buromobelexperte:before { - content: "\f37f"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-bus-alt:before { - content: "\f55e"; -} -.fa-business-time:before { - content: "\f64a"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-calendar:before { - content: "\f133"; -} -.fa-calendar-alt:before { - content: "\f073"; -} -.fa-calendar-check:before { - content: "\f274"; -} -.fa-calendar-day:before { - content: "\f783"; -} -.fa-calendar-minus:before { - content: "\f272"; -} -.fa-calendar-plus:before { - content: "\f271"; -} -.fa-calendar-times:before { - content: "\f273"; -} -.fa-calendar-week:before { - content: "\f784"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-campground:before { - content: "\f6bb"; -} -.fa-canadian-maple-leaf:before { - content: "\f785"; -} -.fa-candy-cane:before { - content: "\f786"; -} -.fa-cannabis:before { - content: "\f55f"; -} -.fa-capsules:before { - content: "\f46b"; -} -.fa-car:before { - content: "\f1b9"; -} -.fa-car-alt:before { - content: "\f5de"; -} -.fa-car-battery:before { - content: "\f5df"; -} -.fa-car-crash:before { - content: "\f5e1"; -} -.fa-car-side:before { - content: "\f5e4"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-caret-square-down:before { - content: "\f150"; -} -.fa-caret-square-left:before { - content: "\f191"; -} -.fa-caret-square-right:before { - content: "\f152"; -} -.fa-caret-square-up:before { - content: "\f151"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-carrot:before { - content: "\f787"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cash-register:before { - content: "\f788"; -} -.fa-cat:before { - content: "\f6be"; -} -.fa-cc-amazon-pay:before { - content: "\f42d"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-apple-pay:before { - content: "\f416"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-centercode:before { - content: "\f380"; -} -.fa-centos:before { - content: "\f789"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-chair:before { - content: "\f6c0"; -} -.fa-chalkboard:before { - content: "\f51b"; -} -.fa-chalkboard-teacher:before { - content: "\f51c"; -} -.fa-charging-station:before { - content: "\f5e7"; -} -.fa-chart-area:before { - content: "\f1fe"; -} -.fa-chart-bar:before { - content: "\f080"; -} -.fa-chart-line:before { - content: "\f201"; -} -.fa-chart-pie:before { - content: "\f200"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-check-double:before { - content: "\f560"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-cheese:before { - content: "\f7ef"; -} -.fa-chess:before { - content: "\f439"; -} -.fa-chess-bishop:before { - content: "\f43a"; -} -.fa-chess-board:before { - content: "\f43c"; -} -.fa-chess-king:before { - content: "\f43f"; -} -.fa-chess-knight:before { - content: "\f441"; -} -.fa-chess-pawn:before { - content: "\f443"; -} -.fa-chess-queen:before { - content: "\f445"; -} -.fa-chess-rook:before { - content: "\f447"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-chromecast:before { - content: "\f838"; -} -.fa-church:before { - content: "\f51d"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-circle-notch:before { - content: "\f1ce"; -} -.fa-city:before { - content: "\f64f"; -} -.fa-clinic-medical:before { - content: "\f7f2"; -} -.fa-clipboard:before { - content: "\f328"; -} -.fa-clipboard-check:before { - content: "\f46c"; -} -.fa-clipboard-list:before { - content: "\f46d"; -} -.fa-clock:before { - content: "\f017"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-closed-captioning:before { - content: "\f20a"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-cloud-download-alt:before { - content: "\f381"; -} -.fa-cloud-meatball:before { - content: "\f73b"; -} -.fa-cloud-moon:before { - content: "\f6c3"; -} -.fa-cloud-moon-rain:before { - content: "\f73c"; -} -.fa-cloud-rain:before { - content: "\f73d"; -} -.fa-cloud-showers-heavy:before { - content: "\f740"; -} -.fa-cloud-sun:before { - content: "\f6c4"; -} -.fa-cloud-sun-rain:before { - content: "\f743"; -} -.fa-cloud-upload-alt:before { - content: "\f382"; -} -.fa-cloudscale:before { - content: "\f383"; -} -.fa-cloudsmith:before { - content: "\f384"; -} -.fa-cloudversify:before { - content: "\f385"; -} -.fa-cocktail:before { - content: "\f561"; -} -.fa-code:before { - content: "\f121"; -} -.fa-code-branch:before { - content: "\f126"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cog:before { - content: "\f013"; -} -.fa-cogs:before { - content: "\f085"; -} -.fa-coins:before { - content: "\f51e"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-comment-alt:before { - content: "\f27a"; -} -.fa-comment-dollar:before { - content: "\f651"; -} -.fa-comment-dots:before { - content: "\f4ad"; -} -.fa-comment-medical:before { - content: "\f7f5"; -} -.fa-comment-slash:before { - content: "\f4b3"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-comments-dollar:before { - content: "\f653"; -} -.fa-compact-disc:before { - content: "\f51f"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-compress-arrows-alt:before { - content: "\f78c"; -} -.fa-concierge-bell:before { - content: "\f562"; -} -.fa-confluence:before { - content: "\f78d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-cookie:before { - content: "\f563"; -} -.fa-cookie-bite:before { - content: "\f564"; -} -.fa-copy:before { - content: "\f0c5"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-couch:before { - content: "\f4b8"; -} -.fa-cpanel:before { - content: "\f388"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-creative-commons-by:before { - content: "\f4e7"; -} -.fa-creative-commons-nc:before { - content: "\f4e8"; -} -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; -} -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; -} -.fa-creative-commons-nd:before { - content: "\f4eb"; -} -.fa-creative-commons-pd:before { - content: "\f4ec"; -} -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; -} -.fa-creative-commons-remix:before { - content: "\f4ee"; -} -.fa-creative-commons-sa:before { - content: "\f4ef"; -} -.fa-creative-commons-sampling:before { - content: "\f4f0"; -} -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; -} -.fa-creative-commons-share:before { - content: "\f4f2"; -} -.fa-creative-commons-zero:before { - content: "\f4f3"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-critical-role:before { - content: "\f6c9"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-crop-alt:before { - content: "\f565"; -} -.fa-cross:before { - content: "\f654"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-crow:before { - content: "\f520"; -} -.fa-crown:before { - content: "\f521"; -} -.fa-crutch:before { - content: "\f7f7"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-css3-alt:before { - content: "\f38b"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-cut:before { - content: "\f0c4"; -} -.fa-cuttlefish:before { - content: "\f38c"; -} -.fa-d-and-d:before { - content: "\f38d"; -} -.fa-d-and-d-beyond:before { - content: "\f6ca"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-deaf:before { - content: "\f2a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-democrat:before { - content: "\f747"; -} -.fa-deploydog:before { - content: "\f38e"; -} -.fa-deskpro:before { - content: "\f38f"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-dev:before { - content: "\f6cc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-dharmachakra:before { - content: "\f655"; -} -.fa-dhl:before { - content: "\f790"; -} -.fa-diagnoses:before { - content: "\f470"; -} -.fa-diaspora:before { - content: "\f791"; -} -.fa-dice:before { - content: "\f522"; -} -.fa-dice-d20:before { - content: "\f6cf"; -} -.fa-dice-d6:before { - content: "\f6d1"; -} -.fa-dice-five:before { - content: "\f523"; -} -.fa-dice-four:before { - content: "\f524"; -} -.fa-dice-one:before { - content: "\f525"; -} -.fa-dice-six:before { - content: "\f526"; -} -.fa-dice-three:before { - content: "\f527"; -} -.fa-dice-two:before { - content: "\f528"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-digital-ocean:before { - content: "\f391"; -} -.fa-digital-tachograph:before { - content: "\f566"; -} -.fa-directions:before { - content: "\f5eb"; -} -.fa-discord:before { - content: "\f392"; -} -.fa-discourse:before { - content: "\f393"; -} -.fa-divide:before { - content: "\f529"; -} -.fa-dizzy:before { - content: "\f567"; -} -.fa-dna:before { - content: "\f471"; -} -.fa-dochub:before { - content: "\f394"; -} -.fa-docker:before { - content: "\f395"; -} -.fa-dog:before { - content: "\f6d3"; -} -.fa-dollar-sign:before { - content: "\f155"; -} -.fa-dolly:before { - content: "\f472"; -} -.fa-dolly-flatbed:before { - content: "\f474"; -} -.fa-donate:before { - content: "\f4b9"; -} -.fa-door-closed:before { - content: "\f52a"; -} -.fa-door-open:before { - content: "\f52b"; -} -.fa-dot-circle:before { - content: "\f192"; -} -.fa-dove:before { - content: "\f4ba"; -} -.fa-download:before { - content: "\f019"; -} -.fa-draft2digital:before { - content: "\f396"; -} -.fa-drafting-compass:before { - content: "\f568"; -} -.fa-dragon:before { - content: "\f6d5"; -} -.fa-draw-polygon:before { - content: "\f5ee"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-dribbble-square:before { - content: "\f397"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-drum:before { - content: "\f569"; -} -.fa-drum-steelpan:before { - content: "\f56a"; -} -.fa-drumstick-bite:before { - content: "\f6d7"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-dumbbell:before { - content: "\f44b"; -} -.fa-dumpster:before { - content: "\f793"; -} -.fa-dumpster-fire:before { - content: "\f794"; -} -.fa-dungeon:before { - content: "\f6d9"; -} -.fa-dyalog:before { - content: "\f399"; -} -.fa-earlybirds:before { - content: "\f39a"; -} -.fa-ebay:before { - content: "\f4f4"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-edit:before { - content: "\f044"; -} -.fa-egg:before { - content: "\f7fb"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-elementor:before { - content: "\f430"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-ello:before { - content: "\f5f1"; -} -.fa-ember:before { - content: "\f423"; -} -.fa-empire:before { - content: "\f1d1"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-envelope-open:before { - content: "\f2b6"; -} -.fa-envelope-open-text:before { - content: "\f658"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-envira:before { - content: "\f299"; -} -.fa-equals:before { - content: "\f52c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-erlang:before { - content: "\f39d"; -} -.fa-ethereum:before { - content: "\f42e"; -} -.fa-ethernet:before { - content: "\f796"; -} -.fa-etsy:before { - content: "\f2d7"; -} -.fa-euro-sign:before { - content: "\f153"; -} -.fa-evernote:before { - content: "\f839"; -} -.fa-exchange-alt:before { - content: "\f362"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-expand-arrows-alt:before { - content: "\f31e"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-external-link-alt:before { - content: "\f35d"; -} -.fa-external-link-square-alt:before { - content: "\f360"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-dropper:before { - content: "\f1fb"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-facebook:before { - content: "\f09a"; -} -.fa-facebook-f:before { - content: "\f39e"; -} -.fa-facebook-messenger:before { - content: "\f39f"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-fan:before { - content: "\f863"; -} -.fa-fantasy-flight-games:before { - content: "\f6dc"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-feather:before { - content: "\f52d"; -} -.fa-feather-alt:before { - content: "\f56b"; -} -.fa-fedex:before { - content: "\f797"; -} -.fa-fedora:before { - content: "\f798"; -} -.fa-female:before { - content: "\f182"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-figma:before { - content: "\f799"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-alt:before { - content: "\f15c"; -} -.fa-file-archive:before { - content: "\f1c6"; -} -.fa-file-audio:before { - content: "\f1c7"; -} -.fa-file-code:before { - content: "\f1c9"; -} -.fa-file-contract:before { - content: "\f56c"; -} -.fa-file-csv:before { - content: "\f6dd"; -} -.fa-file-download:before { - content: "\f56d"; -} -.fa-file-excel:before { - content: "\f1c3"; -} -.fa-file-export:before { - content: "\f56e"; -} -.fa-file-image:before { - content: "\f1c5"; -} -.fa-file-import:before { - content: "\f56f"; -} -.fa-file-invoice:before { - content: "\f570"; -} -.fa-file-invoice-dollar:before { - content: "\f571"; -} -.fa-file-medical:before { - content: "\f477"; -} -.fa-file-medical-alt:before { - content: "\f478"; -} -.fa-file-pdf:before { - content: "\f1c1"; -} -.fa-file-powerpoint:before { - content: "\f1c4"; -} -.fa-file-prescription:before { - content: "\f572"; -} -.fa-file-signature:before { - content: "\f573"; -} -.fa-file-upload:before { - content: "\f574"; -} -.fa-file-video:before { - content: "\f1c8"; -} -.fa-file-word:before { - content: "\f1c2"; -} -.fa-fill:before { - content: "\f575"; -} -.fa-fill-drip:before { - content: "\f576"; -} -.fa-film:before { - content: "\f008"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-fingerprint:before { - content: "\f577"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-fire-alt:before { - content: "\f7e4"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-first-aid:before { - content: "\f479"; -} -.fa-first-order:before { - content: "\f2b0"; -} -.fa-first-order-alt:before { - content: "\f50a"; -} -.fa-firstdraft:before { - content: "\f3a1"; -} -.fa-fish:before { - content: "\f578"; -} -.fa-fist-raised:before { - content: "\f6de"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-flag-usa:before { - content: "\f74d"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-flipboard:before { - content: "\f44d"; -} -.fa-flushed:before { - content: "\f579"; -} -.fa-fly:before { - content: "\f417"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-minus:before { - content: "\f65d"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-folder-plus:before { - content: "\f65e"; -} -.fa-font:before { - content: "\f031"; -} -.fa-font-awesome:before { - content: "\f2b4"; -} -.fa-font-awesome-alt:before { - content: "\f35c"; -} -.fa-font-awesome-flag:before { - content: "\f425"; -} -.fa-font-awesome-logo-full:before { - content: "\f4e6"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-fonticons-fi:before { - content: "\f3a2"; -} -.fa-football-ball:before { - content: "\f44e"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-fort-awesome-alt:before { - content: "\f3a3"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-free-code-camp:before { - content: "\f2c5"; -} -.fa-freebsd:before { - content: "\f3a4"; -} -.fa-frog:before { - content: "\f52e"; -} -.fa-frown:before { - content: "\f119"; -} -.fa-frown-open:before { - content: "\f57a"; -} -.fa-fulcrum:before { - content: "\f50b"; -} -.fa-funnel-dollar:before { - content: "\f662"; -} -.fa-futbol:before { - content: "\f1e3"; -} -.fa-galactic-republic:before { - content: "\f50c"; -} -.fa-galactic-senate:before { - content: "\f50d"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-gas-pump:before { - content: "\f52f"; -} -.fa-gavel:before { - content: "\f0e3"; -} -.fa-gem:before { - content: "\f3a5"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-ghost:before { - content: "\f6e2"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-gifts:before { - content: "\f79c"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-git-alt:before { - content: "\f841"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-gitkraken:before { - content: "\f3a6"; -} -.fa-gitlab:before { - content: "\f296"; -} -.fa-gitter:before { - content: "\f426"; -} -.fa-glass-cheers:before { - content: "\f79f"; -} -.fa-glass-martini:before { - content: "\f000"; -} -.fa-glass-martini-alt:before { - content: "\f57b"; -} -.fa-glass-whiskey:before { - content: "\f7a0"; -} -.fa-glasses:before { - content: "\f530"; -} -.fa-glide:before { - content: "\f2a5"; -} -.fa-glide-g:before { - content: "\f2a6"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-globe-africa:before { - content: "\f57c"; -} -.fa-globe-americas:before { - content: "\f57d"; -} -.fa-globe-asia:before { - content: "\f57e"; -} -.fa-globe-europe:before { - content: "\f7a2"; -} -.fa-gofore:before { - content: "\f3a7"; -} -.fa-golf-ball:before { - content: "\f450"; -} -.fa-goodreads:before { - content: "\f3a8"; -} -.fa-goodreads-g:before { - content: "\f3a9"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-google-drive:before { - content: "\f3aa"; -} -.fa-google-play:before { - content: "\f3ab"; -} -.fa-google-plus:before { - content: "\f2b3"; -} -.fa-google-plus-g:before { - content: "\f0d5"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-gopuram:before { - content: "\f664"; -} -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-gratipay:before { - content: "\f184"; -} -.fa-grav:before { - content: "\f2d6"; -} -.fa-greater-than:before { - content: "\f531"; -} -.fa-greater-than-equal:before { - content: "\f532"; -} -.fa-grimace:before { - content: "\f57f"; -} -.fa-grin:before { - content: "\f580"; -} -.fa-grin-alt:before { - content: "\f581"; -} -.fa-grin-beam:before { - content: "\f582"; -} -.fa-grin-beam-sweat:before { - content: "\f583"; -} -.fa-grin-hearts:before { - content: "\f584"; -} -.fa-grin-squint:before { - content: "\f585"; -} -.fa-grin-squint-tears:before { - content: "\f586"; -} -.fa-grin-stars:before { - content: "\f587"; -} -.fa-grin-tears:before { - content: "\f588"; -} -.fa-grin-tongue:before { - content: "\f589"; -} -.fa-grin-tongue-squint:before { - content: "\f58a"; -} -.fa-grin-tongue-wink:before { - content: "\f58b"; -} -.fa-grin-wink:before { - content: "\f58c"; -} -.fa-grip-horizontal:before { - content: "\f58d"; -} -.fa-grip-lines:before { - content: "\f7a4"; -} -.fa-grip-lines-vertical:before { - content: "\f7a5"; -} -.fa-grip-vertical:before { - content: "\f58e"; -} -.fa-gripfire:before { - content: "\f3ac"; -} -.fa-grunt:before { - content: "\f3ad"; -} -.fa-guitar:before { - content: "\f7a6"; -} -.fa-gulp:before { - content: "\f3ae"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-hacker-news-square:before { - content: "\f3af"; -} -.fa-hackerrank:before { - content: "\f5f7"; -} -.fa-hamburger:before { - content: "\f805"; -} -.fa-hammer:before { - content: "\f6e3"; -} -.fa-hamsa:before { - content: "\f665"; -} -.fa-hand-holding:before { - content: "\f4bd"; -} -.fa-hand-holding-heart:before { - content: "\f4be"; -} -.fa-hand-holding-usd:before { - content: "\f4c0"; -} -.fa-hand-lizard:before { - content: "\f258"; -} -.fa-hand-middle-finger:before { - content: "\f806"; -} -.fa-hand-paper:before { - content: "\f256"; -} -.fa-hand-peace:before { - content: "\f25b"; -} -.fa-hand-point-down:before { - content: "\f0a7"; -} -.fa-hand-point-left:before { - content: "\f0a5"; -} -.fa-hand-point-right:before { - content: "\f0a4"; -} -.fa-hand-point-up:before { - content: "\f0a6"; -} -.fa-hand-pointer:before { - content: "\f25a"; -} -.fa-hand-rock:before { - content: "\f255"; -} -.fa-hand-scissors:before { - content: "\f257"; -} -.fa-hand-spock:before { - content: "\f259"; -} -.fa-hands:before { - content: "\f4c2"; -} -.fa-hands-helping:before { - content: "\f4c4"; -} -.fa-handshake:before { - content: "\f2b5"; -} -.fa-hanukiah:before { - content: "\f6e6"; -} -.fa-hard-hat:before { - content: "\f807"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-hat-wizard:before { - content: "\f6e8"; -} -.fa-haykal:before { - content: "\f666"; -} -.fa-hdd:before { - content: "\f0a0"; -} -.fa-heading:before { - content: "\f1dc"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-headphones-alt:before { - content: "\f58f"; -} -.fa-headset:before { - content: "\f590"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-heart-broken:before { - content: "\f7a9"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-helicopter:before { - content: "\f533"; -} -.fa-highlighter:before { - content: "\f591"; -} -.fa-hiking:before { - content: "\f6ec"; -} -.fa-hippo:before { - content: "\f6ed"; -} -.fa-hips:before { - content: "\f452"; -} -.fa-hire-a-helper:before { - content: "\f3b0"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-hockey-puck:before { - content: "\f453"; -} -.fa-holly-berry:before { - content: "\f7aa"; -} -.fa-home:before { - content: "\f015"; -} -.fa-hooli:before { - content: "\f427"; -} -.fa-hornbill:before { - content: "\f592"; -} -.fa-horse:before { - content: "\f6f0"; -} -.fa-horse-head:before { - content: "\f7ab"; -} -.fa-hospital:before { - content: "\f0f8"; -} -.fa-hospital-alt:before { - content: "\f47d"; -} -.fa-hospital-symbol:before { - content: "\f47e"; -} -.fa-hot-tub:before { - content: "\f593"; -} -.fa-hotdog:before { - content: "\f80f"; -} -.fa-hotel:before { - content: "\f594"; -} -.fa-hotjar:before { - content: "\f3b1"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-house-damage:before { - content: "\f6f1"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-hryvnia:before { - content: "\f6f2"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-hubspot:before { - content: "\f3b2"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-ice-cream:before { - content: "\f810"; -} -.fa-icicles:before { - content: "\f7ad"; -} -.fa-icons:before { - content: "\f86d"; -} -.fa-id-badge:before { - content: "\f2c1"; -} -.fa-id-card:before { - content: "\f2c2"; -} -.fa-id-card-alt:before { - content: "\f47f"; -} -.fa-igloo:before { - content: "\f7ae"; -} -.fa-image:before { - content: "\f03e"; -} -.fa-images:before { - content: "\f302"; -} -.fa-imdb:before { - content: "\f2d8"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-infinity:before { - content: "\f534"; -} -.fa-info:before { - content: "\f129"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-intercom:before { - content: "\f7af"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-invision:before { - content: "\f7b0"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-itch-io:before { - content: "\f83a"; -} -.fa-itunes:before { - content: "\f3b4"; -} -.fa-itunes-note:before { - content: "\f3b5"; -} -.fa-java:before { - content: "\f4e4"; -} -.fa-jedi:before { - content: "\f669"; -} -.fa-jedi-order:before { - content: "\f50e"; -} -.fa-jenkins:before { - content: "\f3b6"; -} -.fa-jira:before { - content: "\f7b1"; -} -.fa-joget:before { - content: "\f3b7"; -} -.fa-joint:before { - content: "\f595"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-journal-whills:before { - content: "\f66a"; -} -.fa-js:before { - content: "\f3b8"; -} -.fa-js-square:before { - content: "\f3b9"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-kaaba:before { - content: "\f66b"; -} -.fa-kaggle:before { - content: "\f5fa"; -} -.fa-key:before { - content: "\f084"; -} -.fa-keybase:before { - content: "\f4f5"; -} -.fa-keyboard:before { - content: "\f11c"; -} -.fa-keycdn:before { - content: "\f3ba"; -} -.fa-khanda:before { - content: "\f66d"; -} -.fa-kickstarter:before { - content: "\f3bb"; -} -.fa-kickstarter-k:before { - content: "\f3bc"; -} -.fa-kiss:before { - content: "\f596"; -} -.fa-kiss-beam:before { - content: "\f597"; -} -.fa-kiss-wink-heart:before { - content: "\f598"; -} -.fa-kiwi-bird:before { - content: "\f535"; -} -.fa-korvue:before { - content: "\f42f"; -} -.fa-landmark:before { - content: "\f66f"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-laptop-code:before { - content: "\f5fc"; -} -.fa-laptop-medical:before { - content: "\f812"; -} -.fa-laravel:before { - content: "\f3bd"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-laugh:before { - content: "\f599"; -} -.fa-laugh-beam:before { - content: "\f59a"; -} -.fa-laugh-squint:before { - content: "\f59b"; -} -.fa-laugh-wink:before { - content: "\f59c"; -} -.fa-layer-group:before { - content: "\f5fd"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-lemon:before { - content: "\f094"; -} -.fa-less:before { - content: "\f41d"; -} -.fa-less-than:before { - content: "\f536"; -} -.fa-less-than-equal:before { - content: "\f537"; -} -.fa-level-down-alt:before { - content: "\f3be"; -} -.fa-level-up-alt:before { - content: "\f3bf"; -} -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-lightbulb:before { - content: "\f0eb"; -} -.fa-line:before { - content: "\f3c0"; -} -.fa-link:before { - content: "\f0c1"; -} -.fa-linkedin:before { - content: "\f08c"; -} -.fa-linkedin-in:before { - content: "\f0e1"; -} -.fa-linode:before { - content: "\f2b8"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-lira-sign:before { - content: "\f195"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-lock-open:before { - content: "\f3c1"; -} -.fa-long-arrow-alt-down:before { - content: "\f309"; -} -.fa-long-arrow-alt-left:before { - content: "\f30a"; -} -.fa-long-arrow-alt-right:before { - content: "\f30b"; -} -.fa-long-arrow-alt-up:before { - content: "\f30c"; -} -.fa-low-vision:before { - content: "\f2a8"; -} -.fa-luggage-cart:before { - content: "\f59d"; -} -.fa-lyft:before { - content: "\f3c3"; -} -.fa-magento:before { - content: "\f3c4"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-mail-bulk:before { - content: "\f674"; -} -.fa-mailchimp:before { - content: "\f59e"; -} -.fa-male:before { - content: "\f183"; -} -.fa-mandalorian:before { - content: "\f50f"; -} -.fa-map:before { - content: "\f279"; -} -.fa-map-marked:before { - content: "\f59f"; -} -.fa-map-marked-alt:before { - content: "\f5a0"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-map-marker-alt:before { - content: "\f3c5"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-markdown:before { - content: "\f60f"; -} -.fa-marker:before { - content: "\f5a1"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mask:before { - content: "\f6fa"; -} -.fa-mastodon:before { - content: "\f4f6"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-medal:before { - content: "\f5a2"; -} -.fa-medapps:before { - content: "\f3c6"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-medium-m:before { - content: "\f3c7"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-medrt:before { - content: "\f3c8"; -} -.fa-meetup:before { - content: "\f2e0"; -} -.fa-megaport:before { - content: "\f5a3"; -} -.fa-meh:before { - content: "\f11a"; -} -.fa-meh-blank:before { - content: "\f5a4"; -} -.fa-meh-rolling-eyes:before { - content: "\f5a5"; -} -.fa-memory:before { - content: "\f538"; -} -.fa-mendeley:before { - content: "\f7b3"; -} -.fa-menorah:before { - content: "\f676"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-meteor:before { - content: "\f753"; -} -.fa-microchip:before { - content: "\f2db"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-alt:before { - content: "\f3c9"; -} -.fa-microphone-alt-slash:before { - content: "\f539"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-microscope:before { - content: "\f610"; -} -.fa-microsoft:before { - content: "\f3ca"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-mitten:before { - content: "\f7b5"; -} -.fa-mix:before { - content: "\f3cb"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-mizuni:before { - content: "\f3cc"; -} -.fa-mobile:before { - content: "\f10b"; -} -.fa-mobile-alt:before { - content: "\f3cd"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-monero:before { - content: "\f3d0"; -} -.fa-money-bill:before { - content: "\f0d6"; -} -.fa-money-bill-alt:before { - content: "\f3d1"; -} -.fa-money-bill-wave:before { - content: "\f53a"; -} -.fa-money-bill-wave-alt:before { - content: "\f53b"; -} -.fa-money-check:before { - content: "\f53c"; -} -.fa-money-check-alt:before { - content: "\f53d"; -} -.fa-monument:before { - content: "\f5a6"; -} -.fa-moon:before { - content: "\f186"; -} -.fa-mortar-pestle:before { - content: "\f5a7"; -} -.fa-mosque:before { - content: "\f678"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-mountain:before { - content: "\f6fc"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-mug-hot:before { - content: "\f7b6"; -} -.fa-music:before { - content: "\f001"; -} -.fa-napster:before { - content: "\f3d2"; -} -.fa-neos:before { - content: "\f612"; -} -.fa-network-wired:before { - content: "\f6ff"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-newspaper:before { - content: "\f1ea"; -} -.fa-nimblr:before { - content: "\f5a8"; -} -.fa-node:before { - content: "\f419"; -} -.fa-node-js:before { - content: "\f3d3"; -} -.fa-not-equal:before { - content: "\f53e"; -} -.fa-notes-medical:before { - content: "\f481"; -} -.fa-npm:before { - content: "\f3d4"; -} -.fa-ns8:before { - content: "\f3d5"; -} -.fa-nutritionix:before { - content: "\f3d6"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-oil-can:before { - content: "\f613"; -} -.fa-old-republic:before { - content: "\f510"; -} -.fa-om:before { - content: "\f679"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-osi:before { - content: "\f41a"; -} -.fa-otter:before { - content: "\f700"; -} -.fa-outdent:before { - content: "\f03b"; -} -.fa-page4:before { - content: "\f3d7"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-pager:before { - content: "\f815"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-paint-roller:before { - content: "\f5aa"; -} -.fa-palette:before { - content: "\f53f"; -} -.fa-palfed:before { - content: "\f3d8"; -} -.fa-pallet:before { - content: "\f482"; -} -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-parachute-box:before { - content: "\f4cd"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-parking:before { - content: "\f540"; -} -.fa-passport:before { - content: "\f5ab"; -} -.fa-pastafarianism:before { - content: "\f67b"; -} -.fa-paste:before { - content: "\f0ea"; -} -.fa-patreon:before { - content: "\f3d9"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-peace:before { - content: "\f67c"; -} -.fa-pen:before { - content: "\f304"; -} -.fa-pen-alt:before { - content: "\f305"; -} -.fa-pen-fancy:before { - content: "\f5ac"; -} -.fa-pen-nib:before { - content: "\f5ad"; -} -.fa-pen-square:before { - content: "\f14b"; -} -.fa-pencil-alt:before { - content: "\f303"; -} -.fa-pencil-ruler:before { - content: "\f5ae"; -} -.fa-penny-arcade:before { - content: "\f704"; -} -.fa-people-carry:before { - content: "\f4ce"; -} -.fa-pepper-hot:before { - content: "\f816"; -} -.fa-percent:before { - content: "\f295"; -} -.fa-percentage:before { - content: "\f541"; -} -.fa-periscope:before { - content: "\f3da"; -} -.fa-person-booth:before { - content: "\f756"; -} -.fa-phabricator:before { - content: "\f3db"; -} -.fa-phoenix-framework:before { - content: "\f3dc"; -} -.fa-phoenix-squadron:before { - content: "\f511"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-phone-alt:before { - content: "\f879"; -} -.fa-phone-slash:before { - content: "\f3dd"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-phone-square-alt:before { - content: "\f87b"; -} -.fa-phone-volume:before { - content: "\f2a0"; -} -.fa-photo-video:before { - content: "\f87c"; -} -.fa-php:before { - content: "\f457"; -} -.fa-pied-piper:before { - content: "\f2ae"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-pied-piper-hat:before { - content: "\f4e5"; -} -.fa-pied-piper-pp:before { - content: "\f1a7"; -} -.fa-piggy-bank:before { - content: "\f4d3"; -} -.fa-pills:before { - content: "\f484"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-pizza-slice:before { - content: "\f818"; -} -.fa-place-of-worship:before { - content: "\f67f"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-plane-arrival:before { - content: "\f5af"; -} -.fa-plane-departure:before { - content: "\f5b0"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-playstation:before { - content: "\f3df"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-podcast:before { - content: "\f2ce"; -} -.fa-poll:before { - content: "\f681"; -} -.fa-poll-h:before { - content: "\f682"; -} -.fa-poo:before { - content: "\f2fe"; -} -.fa-poo-storm:before { - content: "\f75a"; -} -.fa-poop:before { - content: "\f619"; -} -.fa-portrait:before { - content: "\f3e0"; -} -.fa-pound-sign:before { - content: "\f154"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-pray:before { - content: "\f683"; -} -.fa-praying-hands:before { - content: "\f684"; -} -.fa-prescription:before { - content: "\f5b1"; -} -.fa-prescription-bottle:before { - content: "\f485"; -} -.fa-prescription-bottle-alt:before { - content: "\f486"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-procedures:before { - content: "\f487"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-project-diagram:before { - content: "\f542"; -} -.fa-pushed:before { - content: "\f3e1"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-python:before { - content: "\f3e2"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-question:before { - content: "\f128"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-quidditch:before { - content: "\f458"; -} -.fa-quinscape:before { - content: "\f459"; -} -.fa-quora:before { - content: "\f2c4"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-quran:before { - content: "\f687"; -} -.fa-r-project:before { - content: "\f4f7"; -} -.fa-radiation:before { - content: "\f7b9"; -} -.fa-radiation-alt:before { - content: "\f7ba"; -} -.fa-rainbow:before { - content: "\f75b"; -} -.fa-random:before { - content: "\f074"; -} -.fa-raspberry-pi:before { - content: "\f7bb"; -} -.fa-ravelry:before { - content: "\f2d9"; -} -.fa-react:before { - content: "\f41b"; -} -.fa-reacteurope:before { - content: "\f75d"; -} -.fa-readme:before { - content: "\f4d5"; -} -.fa-rebel:before { - content: "\f1d0"; -} -.fa-receipt:before { - content: "\f543"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-red-river:before { - content: "\f3e3"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-redhat:before { - content: "\f7bc"; -} -.fa-redo:before { - content: "\f01e"; -} -.fa-redo-alt:before { - content: "\f2f9"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-remove-format:before { - content: "\f87d"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-reply:before { - content: "\f3e5"; -} -.fa-reply-all:before { - content: "\f122"; -} -.fa-replyd:before { - content: "\f3e6"; -} -.fa-republican:before { - content: "\f75e"; -} -.fa-researchgate:before { - content: "\f4f8"; -} -.fa-resolving:before { - content: "\f3e7"; -} -.fa-restroom:before { - content: "\f7bd"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-rev:before { - content: "\f5b2"; -} -.fa-ribbon:before { - content: "\f4d6"; -} -.fa-ring:before { - content: "\f70b"; -} -.fa-road:before { - content: "\f018"; -} -.fa-robot:before { - content: "\f544"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-rocketchat:before { - content: "\f3e8"; -} -.fa-rockrms:before { - content: "\f3e9"; -} -.fa-route:before { - content: "\f4d7"; -} -.fa-rss:before { - content: "\f09e"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-ruble-sign:before { - content: "\f158"; -} -.fa-ruler:before { - content: "\f545"; -} -.fa-ruler-combined:before { - content: "\f546"; -} -.fa-ruler-horizontal:before { - content: "\f547"; -} -.fa-ruler-vertical:before { - content: "\f548"; -} -.fa-running:before { - content: "\f70c"; -} -.fa-rupee-sign:before { - content: "\f156"; -} -.fa-sad-cry:before { - content: "\f5b3"; -} -.fa-sad-tear:before { - content: "\f5b4"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-salesforce:before { - content: "\f83b"; -} -.fa-sass:before { - content: "\f41e"; -} -.fa-satellite:before { - content: "\f7bf"; -} -.fa-satellite-dish:before { - content: "\f7c0"; -} -.fa-save:before { - content: "\f0c7"; -} -.fa-schlix:before { - content: "\f3ea"; -} -.fa-school:before { - content: "\f549"; -} -.fa-screwdriver:before { - content: "\f54a"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-scroll:before { - content: "\f70e"; -} -.fa-sd-card:before { - content: "\f7c2"; -} -.fa-search:before { - content: "\f002"; -} -.fa-search-dollar:before { - content: "\f688"; -} -.fa-search-location:before { - content: "\f689"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-searchengin:before { - content: "\f3eb"; -} -.fa-seedling:before { - content: "\f4d8"; -} -.fa-sellcast:before { - content: "\f2da"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-server:before { - content: "\f233"; -} -.fa-servicestack:before { - content: "\f3ec"; -} -.fa-shapes:before { - content: "\f61f"; -} -.fa-share:before { - content: "\f064"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-shekel-sign:before { - content: "\f20b"; -} -.fa-shield-alt:before { - content: "\f3ed"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-shipping-fast:before { - content: "\f48b"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-shoe-prints:before { - content: "\f54b"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-shopware:before { - content: "\f5b5"; -} -.fa-shower:before { - content: "\f2cc"; -} -.fa-shuttle-van:before { - content: "\f5b6"; -} -.fa-sign:before { - content: "\f4d9"; -} -.fa-sign-in-alt:before { - content: "\f2f6"; -} -.fa-sign-language:before { - content: "\f2a7"; -} -.fa-sign-out-alt:before { - content: "\f2f5"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-signature:before { - content: "\f5b7"; -} -.fa-sim-card:before { - content: "\f7c4"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-sistrix:before { - content: "\f3ee"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-sith:before { - content: "\f512"; -} -.fa-skating:before { - content: "\f7c5"; -} -.fa-sketch:before { - content: "\f7c6"; -} -.fa-skiing:before { - content: "\f7c9"; -} -.fa-skiing-nordic:before { - content: "\f7ca"; -} -.fa-skull:before { - content: "\f54c"; -} -.fa-skull-crossbones:before { - content: "\f714"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-slack-hash:before { - content: "\f3ef"; -} -.fa-slash:before { - content: "\f715"; -} -.fa-sleigh:before { - content: "\f7cc"; -} -.fa-sliders-h:before { - content: "\f1de"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-smile:before { - content: "\f118"; -} -.fa-smile-beam:before { - content: "\f5b8"; -} -.fa-smile-wink:before { - content: "\f4da"; -} -.fa-smog:before { - content: "\f75f"; -} -.fa-smoking:before { - content: "\f48d"; -} -.fa-smoking-ban:before { - content: "\f54d"; -} -.fa-sms:before { - content: "\f7cd"; -} -.fa-snapchat:before { - content: "\f2ab"; -} -.fa-snapchat-ghost:before { - content: "\f2ac"; -} -.fa-snapchat-square:before { - content: "\f2ad"; -} -.fa-snowboarding:before { - content: "\f7ce"; -} -.fa-snowflake:before { - content: "\f2dc"; -} -.fa-snowman:before { - content: "\f7d0"; -} -.fa-snowplow:before { - content: "\f7d2"; -} -.fa-socks:before { - content: "\f696"; -} -.fa-solar-panel:before { - content: "\f5ba"; -} -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-alpha-down:before { - content: "\f15d"; -} -.fa-sort-alpha-down-alt:before { - content: "\f881"; -} -.fa-sort-alpha-up:before { - content: "\f15e"; -} -.fa-sort-alpha-up-alt:before { - content: "\f882"; -} -.fa-sort-amount-down:before { - content: "\f160"; -} -.fa-sort-amount-down-alt:before { - content: "\f884"; -} -.fa-sort-amount-up:before { - content: "\f161"; -} -.fa-sort-amount-up-alt:before { - content: "\f885"; -} -.fa-sort-down:before { - content: "\f0dd"; -} -.fa-sort-numeric-down:before { - content: "\f162"; -} -.fa-sort-numeric-down-alt:before { - content: "\f886"; -} -.fa-sort-numeric-up:before { - content: "\f163"; -} -.fa-sort-numeric-up-alt:before { - content: "\f887"; -} -.fa-sort-up:before { - content: "\f0de"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-sourcetree:before { - content: "\f7d3"; -} -.fa-spa:before { - content: "\f5bb"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-speakap:before { - content: "\f3f3"; -} -.fa-speaker-deck:before { - content: "\f83c"; -} -.fa-spell-check:before { - content: "\f891"; -} -.fa-spider:before { - content: "\f717"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-splotch:before { - content: "\f5bc"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-spray-can:before { - content: "\f5bd"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-square-full:before { - content: "\f45c"; -} -.fa-square-root-alt:before { - content: "\f698"; -} -.fa-squarespace:before { - content: "\f5be"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-stackpath:before { - content: "\f842"; -} -.fa-stamp:before { - content: "\f5bf"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-and-crescent:before { - content: "\f699"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-star-half-alt:before { - content: "\f5c0"; -} -.fa-star-of-david:before { - content: "\f69a"; -} -.fa-star-of-life:before { - content: "\f621"; -} -.fa-staylinked:before { - content: "\f3f5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-steam-symbol:before { - content: "\f3f6"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-sticker-mule:before { - content: "\f3f7"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stopwatch:before { - content: "\f2f2"; -} -.fa-store:before { - content: "\f54e"; -} -.fa-store-alt:before { - content: "\f54f"; -} -.fa-strava:before { - content: "\f428"; -} -.fa-stream:before { - content: "\f550"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-stripe:before { - content: "\f429"; -} -.fa-stripe-s:before { - content: "\f42a"; -} -.fa-stroopwafel:before { - content: "\f551"; -} -.fa-studiovinari:before { - content: "\f3f8"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-suitcase-rolling:before { - content: "\f5c1"; -} -.fa-sun:before { - content: "\f185"; -} -.fa-superpowers:before { - content: "\f2dd"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-supple:before { - content: "\f3f9"; -} -.fa-surprise:before { - content: "\f5c2"; -} -.fa-suse:before { - content: "\f7d6"; -} -.fa-swatchbook:before { - content: "\f5c3"; -} -.fa-swimmer:before { - content: "\f5c4"; -} -.fa-swimming-pool:before { - content: "\f5c5"; -} -.fa-symfony:before { - content: "\f83d"; -} -.fa-synagogue:before { - content: "\f69b"; -} -.fa-sync:before { - content: "\f021"; -} -.fa-sync-alt:before { - content: "\f2f1"; -} -.fa-syringe:before { - content: "\f48e"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-table-tennis:before { - content: "\f45d"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-tablet-alt:before { - content: "\f3fa"; -} -.fa-tablets:before { - content: "\f490"; -} -.fa-tachometer-alt:before { - content: "\f3fd"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-tape:before { - content: "\f4db"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-taxi:before { - content: "\f1ba"; -} -.fa-teamspeak:before { - content: "\f4f9"; -} -.fa-teeth:before { - content: "\f62e"; -} -.fa-teeth-open:before { - content: "\f62f"; -} -.fa-telegram:before { - content: "\f2c6"; -} -.fa-telegram-plane:before { - content: "\f3fe"; -} -.fa-temperature-high:before { - content: "\f769"; -} -.fa-temperature-low:before { - content: "\f76b"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-tenge:before { - content: "\f7d7"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-the-red-yeti:before { - content: "\f69d"; -} -.fa-theater-masks:before { - content: "\f630"; -} -.fa-themeco:before { - content: "\f5c6"; -} -.fa-themeisle:before { - content: "\f2b2"; -} -.fa-thermometer:before { - content: "\f491"; -} -.fa-thermometer-empty:before { - content: "\f2cb"; -} -.fa-thermometer-full:before { - content: "\f2c7"; -} -.fa-thermometer-half:before { - content: "\f2c9"; -} -.fa-thermometer-quarter:before { - content: "\f2ca"; -} -.fa-thermometer-three-quarters:before { - content: "\f2c8"; -} -.fa-think-peaks:before { - content: "\f731"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbtack:before { - content: "\f08d"; -} -.fa-ticket-alt:before { - content: "\f3ff"; -} -.fa-times:before { - content: "\f00d"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-tint-slash:before { - content: "\f5c7"; -} -.fa-tired:before { - content: "\f5c8"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-toilet:before { - content: "\f7d8"; -} -.fa-toilet-paper:before { - content: "\f71e"; -} -.fa-toolbox:before { - content: "\f552"; -} -.fa-tools:before { - content: "\f7d9"; -} -.fa-tooth:before { - content: "\f5c9"; -} -.fa-torah:before { - content: "\f6a0"; -} -.fa-torii-gate:before { - content: "\f6a1"; -} -.fa-tractor:before { - content: "\f722"; -} -.fa-trade-federation:before { - content: "\f513"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-traffic-light:before { - content: "\f637"; -} -.fa-train:before { - content: "\f238"; -} -.fa-tram:before { - content: "\f7da"; -} -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-trash-alt:before { - content: "\f2ed"; -} -.fa-trash-restore:before { - content: "\f829"; -} -.fa-trash-restore-alt:before { - content: "\f82a"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-truck-loading:before { - content: "\f4de"; -} -.fa-truck-monster:before { - content: "\f63b"; -} -.fa-truck-moving:before { - content: "\f4df"; -} -.fa-truck-pickup:before { - content: "\f63c"; -} -.fa-tshirt:before { - content: "\f553"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-tv:before { - content: "\f26c"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-typo3:before { - content: "\f42b"; -} -.fa-uber:before { - content: "\f402"; -} -.fa-ubuntu:before { - content: "\f7df"; -} -.fa-uikit:before { - content: "\f403"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-umbrella-beach:before { - content: "\f5ca"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-undo:before { - content: "\f0e2"; -} -.fa-undo-alt:before { - content: "\f2ea"; -} -.fa-uniregistry:before { - content: "\f404"; -} -.fa-universal-access:before { - content: "\f29a"; -} -.fa-university:before { - content: "\f19c"; -} -.fa-unlink:before { - content: "\f127"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-untappd:before { - content: "\f405"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-ups:before { - content: "\f7e0"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-user:before { - content: "\f007"; -} -.fa-user-alt:before { - content: "\f406"; -} -.fa-user-alt-slash:before { - content: "\f4fa"; -} -.fa-user-astronaut:before { - content: "\f4fb"; -} -.fa-user-check:before { - content: "\f4fc"; -} -.fa-user-circle:before { - content: "\f2bd"; -} -.fa-user-clock:before { - content: "\f4fd"; -} -.fa-user-cog:before { - content: "\f4fe"; -} -.fa-user-edit:before { - content: "\f4ff"; -} -.fa-user-friends:before { - content: "\f500"; -} -.fa-user-graduate:before { - content: "\f501"; -} -.fa-user-injured:before { - content: "\f728"; -} -.fa-user-lock:before { - content: "\f502"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-user-minus:before { - content: "\f503"; -} -.fa-user-ninja:before { - content: "\f504"; -} -.fa-user-nurse:before { - content: "\f82f"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-user-shield:before { - content: "\f505"; -} -.fa-user-slash:before { - content: "\f506"; -} -.fa-user-tag:before { - content: "\f507"; -} -.fa-user-tie:before { - content: "\f508"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-users:before { - content: "\f0c0"; -} -.fa-users-cog:before { - content: "\f509"; -} -.fa-usps:before { - content: "\f7e1"; -} -.fa-ussunnah:before { - content: "\f407"; -} -.fa-utensil-spoon:before { - content: "\f2e5"; -} -.fa-utensils:before { - content: "\f2e7"; -} -.fa-vaadin:before { - content: "\f408"; -} -.fa-vector-square:before { - content: "\f5cb"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-viadeo:before { - content: "\f2a9"; -} -.fa-viadeo-square:before { - content: "\f2aa"; -} -.fa-vial:before { - content: "\f492"; -} -.fa-vials:before { - content: "\f493"; -} -.fa-viber:before { - content: "\f409"; -} -.fa-video:before { - content: "\f03d"; -} -.fa-video-slash:before { - content: "\f4e2"; -} -.fa-vihara:before { - content: "\f6a7"; -} -.fa-vimeo:before { - content: "\f40a"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-vimeo-v:before { - content: "\f27d"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-vnv:before { - content: "\f40b"; -} -.fa-voicemail:before { - content: "\f897"; -} -.fa-volleyball-ball:before { - content: "\f45f"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-mute:before { - content: "\f6a9"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-vote-yea:before { - content: "\f772"; -} -.fa-vr-cardboard:before { - content: "\f729"; -} -.fa-vuejs:before { - content: "\f41f"; -} -.fa-walking:before { - content: "\f554"; -} -.fa-wallet:before { - content: "\f555"; -} -.fa-warehouse:before { - content: "\f494"; -} -.fa-water:before { - content: "\f773"; -} -.fa-wave-square:before { - content: "\f83e"; -} -.fa-waze:before { - content: "\f83f"; -} -.fa-weebly:before { - content: "\f5cc"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-weight:before { - content: "\f496"; -} -.fa-weight-hanging:before { - content: "\f5cd"; -} -.fa-weixin:before { - content: "\f1d7"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-whatsapp-square:before { - content: "\f40c"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-whmcs:before { - content: "\f40d"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-wind:before { - content: "\f72e"; -} -.fa-window-close:before { - content: "\f410"; -} -.fa-window-maximize:before { - content: "\f2d0"; -} -.fa-window-minimize:before { - content: "\f2d1"; -} -.fa-window-restore:before { - content: "\f2d2"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-wine-bottle:before { - content: "\f72f"; -} -.fa-wine-glass:before { - content: "\f4e3"; -} -.fa-wine-glass-alt:before { - content: "\f5ce"; -} -.fa-wix:before { - content: "\f5cf"; -} -.fa-wizards-of-the-coast:before { - content: "\f730"; -} -.fa-wolf-pack-battalion:before { - content: "\f514"; -} -.fa-won-sign:before { - content: "\f159"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-wordpress-simple:before { - content: "\f411"; -} -.fa-wpbeginner:before { - content: "\f297"; -} -.fa-wpexplorer:before { - content: "\f2de"; -} -.fa-wpforms:before { - content: "\f298"; -} -.fa-wpressr:before { - content: "\f3e4"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-x-ray:before { - content: "\f497"; -} -.fa-xbox:before { - content: "\f412"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-yammer:before { - content: "\f840"; -} -.fa-yandex:before { - content: "\f413"; -} -.fa-yandex-international:before { - content: "\f414"; -} -.fa-yarn:before { - content: "\f7e3"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-yen-sign:before { - content: "\f157"; -} -.fa-yin-yang:before { - content: "\f6ad"; -} -.fa-yoast:before { - content: "\f2b1"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-youtube-square:before { - content: "\f431"; -} -.fa-zhihu:before { - content: "\f63f"; -} -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} -@font-face { - font-family: "Font Awesome 5 Free"; - font-style: normal; - font-weight: 400; - font-display: auto; - src: url(fa-regular-400.eot); - src: url(fa-regular-400.eot?#iefix) format("embedded-opentype"), - url(fa-regular-400.woff) format("woff"); -} -.far { - font-weight: 400; -} -@font-face { - font-family: "Font Awesome 5 Free"; - font-style: normal; - font-weight: 900; - font-display: auto; - src: url(fa-solid-900.eot); - src: url(fa-solid-900.eot?#iefix) format("embedded-opentype"), - url(fa-solid-900.woff) format("woff"); -} -.fa, -.far, -.fas { - font-family: "Font Awesome 5 Free"; -} -.fa, -.fas { - font-weight: 900; -} +.fa{font-family:"Font Awesome 6 Free";font-weight:900}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc( 2em*-1);position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:.1em;border:.08em solid #eee;padding:.2em .25em .15em}.fa-pull-left{float:left;margin-right:.3em}.fa-pull-right{float:right;margin-left:.3em}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-timing-function:cubic-bezier(.28,.84,.42,1)}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-beat-fade,.fa-fade{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-shake,.fa-spin{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:steps(8);animation-timing-function:steps(8)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:.4}}@keyframes fa-fade{50%{opacity:.4}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(none);transform:rotate(none)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:auto}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-a:before{content:"\41"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"\43"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-tunnel:before{content:"\e4de"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-simple:before{content:"\e473"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer:before{content:"\e4e5"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-d:before{content:"\44"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-ferry:before{content:"\e4ea"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-circle-check:before{content:"\e5a0"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e494"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-fish-fins:before{content:"\e4f2"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flask-vial:before{content:"\e4f3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-closed:before{content:"\e185"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"\48"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-highlighter:before{content:"\f591"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-signal:before{content:"\e012"}.fa-house-tsunami:before{content:"\e515"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-hurricane:before{content:"\f751"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"\4c"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-oil-well:before{content:"\e532"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"\50"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-shelter:before{content:"\e54f"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e5a9"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-lock:before{content:"\e558"}.fa-plane-slash:before{content:"\e069"}.fa-plane-up:before{content:"\e22d"}.fa-plant-wilt:before{content:"\e5aa"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"\52"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-rainbow:before{content:"\f75b"}.fa-ranking-star:before{content:"\e561"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"\53"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-dog:before{content:"\e573"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-nfi:before{content:"\e576"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-virus:before{content:"\e578"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-stapler:before{content:"\e5af"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before{content:"\e5b4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-tree-city:before{content:"\e587"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"\55"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"\56"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-space-awesome:before{content:"\e5ac"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} diff --git a/html/font-awesome/css/v4-shims.min.css b/html/font-awesome/css/v4-shims.min.css index 9316727d18d3..2f6252b52a14 100644 --- a/html/font-awesome/css/v4-shims.min.css +++ b/html/font-awesome/css/v4-shims.min.css @@ -1,1694 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa.fa-glass:before { - content: "\f000"; -} -.fa.fa-meetup { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-star-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-o:before { - content: "\f005"; -} -.fa.fa-close:before, -.fa.fa-remove:before { - content: "\f00d"; -} -.fa.fa-gear:before { - content: "\f013"; -} -.fa.fa-trash-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-trash-o:before { - content: "\f2ed"; -} -.fa.fa-file-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-o:before { - content: "\f15b"; -} -.fa.fa-clock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-clock-o:before { - content: "\f017"; -} -.fa.fa-arrow-circle-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; -} -.fa.fa-arrow-circle-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; -} -.fa.fa-play-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-play-circle-o:before { - content: "\f144"; -} -.fa.fa-repeat:before, -.fa.fa-rotate-right:before { - content: "\f01e"; -} -.fa.fa-refresh:before { - content: "\f021"; -} -.fa.fa-list-alt { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-dedent:before { - content: "\f03b"; -} -.fa.fa-video-camera:before { - content: "\f03d"; -} -.fa.fa-picture-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-picture-o:before { - content: "\f03e"; -} -.fa.fa-photo { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-photo:before { - content: "\f03e"; -} -.fa.fa-image { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-image:before { - content: "\f03e"; -} -.fa.fa-pencil:before { - content: "\f303"; -} -.fa.fa-map-marker:before { - content: "\f3c5"; -} -.fa.fa-pencil-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-pencil-square-o:before { - content: "\f044"; -} -.fa.fa-share-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-share-square-o:before { - content: "\f14d"; -} -.fa.fa-check-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-check-square-o:before { - content: "\f14a"; -} -.fa.fa-arrows:before { - content: "\f0b2"; -} -.fa.fa-times-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-circle-o:before { - content: "\f057"; -} -.fa.fa-check-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-check-circle-o:before { - content: "\f058"; -} -.fa.fa-mail-forward:before { - content: "\f064"; -} -.fa.fa-eye, -.fa.fa-eye-slash { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-warning:before { - content: "\f071"; -} -.fa.fa-calendar:before { - content: "\f073"; -} -.fa.fa-arrows-v:before { - content: "\f338"; -} -.fa.fa-arrows-h:before { - content: "\f337"; -} -.fa.fa-bar-chart { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bar-chart:before { - content: "\f080"; -} -.fa.fa-bar-chart-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bar-chart-o:before { - content: "\f080"; -} -.fa.fa-facebook-square, -.fa.fa-twitter-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-gears:before { - content: "\f085"; -} -.fa.fa-thumbs-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-thumbs-o-up:before { - content: "\f164"; -} -.fa.fa-thumbs-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-thumbs-o-down:before { - content: "\f165"; -} -.fa.fa-heart-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-heart-o:before { - content: "\f004"; -} -.fa.fa-sign-out:before { - content: "\f2f5"; -} -.fa.fa-linkedin-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-linkedin-square:before { - content: "\f08c"; -} -.fa.fa-thumb-tack:before { - content: "\f08d"; -} -.fa.fa-external-link:before { - content: "\f35d"; -} -.fa.fa-sign-in:before { - content: "\f2f6"; -} -.fa.fa-github-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-lemon-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-lemon-o:before { - content: "\f094"; -} -.fa.fa-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-square-o:before { - content: "\f0c8"; -} -.fa.fa-bookmark-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bookmark-o:before { - content: "\f02e"; -} -.fa.fa-facebook, -.fa.fa-twitter { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook:before { - content: "\f39e"; -} -.fa.fa-facebook-f { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook-f:before { - content: "\f39e"; -} -.fa.fa-github { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-credit-card { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-feed:before { - content: "\f09e"; -} -.fa.fa-hdd-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hdd-o:before { - content: "\f0a0"; -} -.fa.fa-hand-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa.fa-hand-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa.fa-hand-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa.fa-hand-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa.fa-arrows-alt:before { - content: "\f31e"; -} -.fa.fa-group:before { - content: "\f0c0"; -} -.fa.fa-chain:before { - content: "\f0c1"; -} -.fa.fa-scissors:before { - content: "\f0c4"; -} -.fa.fa-files-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-files-o:before { - content: "\f0c5"; -} -.fa.fa-floppy-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-floppy-o:before { - content: "\f0c7"; -} -.fa.fa-navicon:before, -.fa.fa-reorder:before { - content: "\f0c9"; -} -.fa.fa-google-plus, -.fa.fa-google-plus-square, -.fa.fa-pinterest, -.fa.fa-pinterest-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus:before { - content: "\f0d5"; -} -.fa.fa-money { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-money:before { - content: "\f3d1"; -} -.fa.fa-unsorted:before { - content: "\f0dc"; -} -.fa.fa-sort-desc:before { - content: "\f0dd"; -} -.fa.fa-sort-asc:before { - content: "\f0de"; -} -.fa.fa-linkedin { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-linkedin:before { - content: "\f0e1"; -} -.fa.fa-rotate-left:before { - content: "\f0e2"; -} -.fa.fa-legal:before { - content: "\f0e3"; -} -.fa.fa-dashboard:before, -.fa.fa-tachometer:before { - content: "\f3fd"; -} -.fa.fa-comment-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-comment-o:before { - content: "\f075"; -} -.fa.fa-comments-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-comments-o:before { - content: "\f086"; -} -.fa.fa-flash:before { - content: "\f0e7"; -} -.fa.fa-clipboard, -.fa.fa-paste { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-paste:before { - content: "\f328"; -} -.fa.fa-lightbulb-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa.fa-exchange:before { - content: "\f362"; -} -.fa.fa-cloud-download:before { - content: "\f381"; -} -.fa.fa-cloud-upload:before { - content: "\f382"; -} -.fa.fa-bell-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bell-o:before { - content: "\f0f3"; -} -.fa.fa-cutlery:before { - content: "\f2e7"; -} -.fa.fa-file-text-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-text-o:before { - content: "\f15c"; -} -.fa.fa-building-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-building-o:before { - content: "\f1ad"; -} -.fa.fa-hospital-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hospital-o:before { - content: "\f0f8"; -} -.fa.fa-tablet:before { - content: "\f3fa"; -} -.fa.fa-mobile-phone:before, -.fa.fa-mobile:before { - content: "\f3cd"; -} -.fa.fa-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-circle-o:before { - content: "\f111"; -} -.fa.fa-mail-reply:before { - content: "\f3e5"; -} -.fa.fa-github-alt { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-folder-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-folder-o:before { - content: "\f07b"; -} -.fa.fa-folder-open-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-folder-open-o:before { - content: "\f07c"; -} -.fa.fa-smile-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-smile-o:before { - content: "\f118"; -} -.fa.fa-frown-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-frown-o:before { - content: "\f119"; -} -.fa.fa-meh-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-meh-o:before { - content: "\f11a"; -} -.fa.fa-keyboard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-keyboard-o:before { - content: "\f11c"; -} -.fa.fa-flag-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-flag-o:before { - content: "\f024"; -} -.fa.fa-mail-reply-all:before { - content: "\f122"; -} -.fa.fa-star-half-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-o:before { - content: "\f089"; -} -.fa.fa-star-half-empty { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-empty:before { - content: "\f089"; -} -.fa.fa-star-half-full { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-full:before { - content: "\f089"; -} -.fa.fa-code-fork:before { - content: "\f126"; -} -.fa.fa-chain-broken:before { - content: "\f127"; -} -.fa.fa-shield:before { - content: "\f3ed"; -} -.fa.fa-calendar-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-o:before { - content: "\f133"; -} -.fa.fa-css3, -.fa.fa-html5, -.fa.fa-maxcdn { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ticket:before { - content: "\f3ff"; -} -.fa.fa-minus-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-minus-square-o:before { - content: "\f146"; -} -.fa.fa-level-up:before { - content: "\f3bf"; -} -.fa.fa-level-down:before { - content: "\f3be"; -} -.fa.fa-pencil-square:before { - content: "\f14b"; -} -.fa.fa-external-link-square:before { - content: "\f360"; -} -.fa.fa-compass { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa.fa-toggle-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-down:before { - content: "\f150"; -} -.fa.fa-caret-square-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa.fa-toggle-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-up:before { - content: "\f151"; -} -.fa.fa-caret-square-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa.fa-toggle-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-right:before { - content: "\f152"; -} -.fa.fa-eur:before, -.fa.fa-euro:before { - content: "\f153"; -} -.fa.fa-gbp:before { - content: "\f154"; -} -.fa.fa-dollar:before, -.fa.fa-usd:before { - content: "\f155"; -} -.fa.fa-inr:before, -.fa.fa-rupee:before { - content: "\f156"; -} -.fa.fa-cny:before, -.fa.fa-jpy:before, -.fa.fa-rmb:before, -.fa.fa-yen:before { - content: "\f157"; -} -.fa.fa-rouble:before, -.fa.fa-rub:before, -.fa.fa-ruble:before { - content: "\f158"; -} -.fa.fa-krw:before, -.fa.fa-won:before { - content: "\f159"; -} -.fa.fa-bitcoin, -.fa.fa-btc { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bitcoin:before { - content: "\f15a"; -} -.fa.fa-file-text:before { - content: "\f15c"; -} -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa.fa-xing, -.fa.fa-xing-square, -.fa.fa-youtube, -.fa.fa-youtube-play, -.fa.fa-youtube-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-youtube-play:before { - content: "\f167"; -} -.fa.fa-adn, -.fa.fa-bitbucket, -.fa.fa-bitbucket-square, -.fa.fa-dropbox, -.fa.fa-flickr, -.fa.fa-instagram, -.fa.fa-stack-overflow { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bitbucket-square:before { - content: "\f171"; -} -.fa.fa-tumblr, -.fa.fa-tumblr-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-long-arrow-down:before { - content: "\f309"; -} -.fa.fa-long-arrow-up:before { - content: "\f30c"; -} -.fa.fa-long-arrow-left:before { - content: "\f30a"; -} -.fa.fa-long-arrow-right:before { - content: "\f30b"; -} -.fa.fa-android, -.fa.fa-apple, -.fa.fa-dribbble, -.fa.fa-foursquare, -.fa.fa-gittip, -.fa.fa-gratipay, -.fa.fa-linux, -.fa.fa-skype, -.fa.fa-trello, -.fa.fa-windows { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-gittip:before { - content: "\f184"; -} -.fa.fa-sun-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-sun-o:before { - content: "\f185"; -} -.fa.fa-moon-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-moon-o:before { - content: "\f186"; -} -.fa.fa-pagelines, -.fa.fa-renren, -.fa.fa-stack-exchange, -.fa.fa-vk, -.fa.fa-weibo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; -} -.fa.fa-arrow-circle-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; -} -.fa.fa-caret-square-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa.fa-toggle-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-left:before { - content: "\f191"; -} -.fa.fa-dot-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-dot-circle-o:before { - content: "\f192"; -} -.fa.fa-vimeo-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-try:before, -.fa.fa-turkish-lira:before { - content: "\f195"; -} -.fa.fa-plus-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-plus-square-o:before { - content: "\f0fe"; -} -.fa.fa-openid, -.fa.fa-slack, -.fa.fa-wordpress { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bank:before, -.fa.fa-institution:before { - content: "\f19c"; -} -.fa.fa-mortar-board:before { - content: "\f19d"; -} -.fa.fa-delicious, -.fa.fa-digg, -.fa.fa-drupal, -.fa.fa-google, -.fa.fa-joomla, -.fa.fa-pied-piper-alt, -.fa.fa-pied-piper-pp, -.fa.fa-reddit, -.fa.fa-reddit-square, -.fa.fa-stumbleupon, -.fa.fa-stumbleupon-circle, -.fa.fa-yahoo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-spoon:before { - content: "\f2e5"; -} -.fa.fa-behance, -.fa.fa-behance-square, -.fa.fa-steam, -.fa.fa-steam-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-automobile:before { - content: "\f1b9"; -} -.fa.fa-cab:before { - content: "\f1ba"; -} -.fa.fa-envelope-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-envelope-o:before { - content: "\f0e0"; -} -.fa.fa-deviantart, -.fa.fa-soundcloud { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-file-pdf-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa.fa-file-word-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-word-o:before { - content: "\f1c2"; -} -.fa.fa-file-excel-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa.fa-file-powerpoint-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa.fa-file-image-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-image-o:before { - content: "\f1c5"; -} -.fa.fa-file-photo-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-photo-o:before { - content: "\f1c5"; -} -.fa.fa-file-picture-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-picture-o:before { - content: "\f1c5"; -} -.fa.fa-file-archive-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa.fa-file-zip-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-zip-o:before { - content: "\f1c6"; -} -.fa.fa-file-audio-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa.fa-file-sound-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-sound-o:before { - content: "\f1c7"; -} -.fa.fa-file-video-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-video-o:before { - content: "\f1c8"; -} -.fa.fa-file-movie-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-movie-o:before { - content: "\f1c8"; -} -.fa.fa-file-code-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-code-o:before { - content: "\f1c9"; -} -.fa.fa-codepen, -.fa.fa-jsfiddle, -.fa.fa-vine { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-life-bouy, -.fa.fa-life-ring { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-bouy:before { - content: "\f1cd"; -} -.fa.fa-life-buoy { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-buoy:before { - content: "\f1cd"; -} -.fa.fa-life-saver { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-saver:before { - content: "\f1cd"; -} -.fa.fa-support { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-support:before { - content: "\f1cd"; -} -.fa.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa.fa-ra, -.fa.fa-rebel { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ra:before { - content: "\f1d0"; -} -.fa.fa-resistance { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-resistance:before { - content: "\f1d0"; -} -.fa.fa-empire, -.fa.fa-ge { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ge:before { - content: "\f1d1"; -} -.fa.fa-git, -.fa.fa-git-square, -.fa.fa-hacker-news, -.fa.fa-y-combinator-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-y-combinator-square:before { - content: "\f1d4"; -} -.fa.fa-yc-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-yc-square:before { - content: "\f1d4"; -} -.fa.fa-qq, -.fa.fa-tencent-weibo, -.fa.fa-wechat, -.fa.fa-weixin { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-wechat:before { - content: "\f1d7"; -} -.fa.fa-send:before { - content: "\f1d8"; -} -.fa.fa-paper-plane-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-paper-plane-o:before { - content: "\f1d8"; -} -.fa.fa-send-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-send-o:before { - content: "\f1d8"; -} -.fa.fa-circle-thin { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-circle-thin:before { - content: "\f111"; -} -.fa.fa-header:before { - content: "\f1dc"; -} -.fa.fa-sliders:before { - content: "\f1de"; -} -.fa.fa-futbol-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-futbol-o:before { - content: "\f1e3"; -} -.fa.fa-soccer-ball-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; -} -.fa.fa-slideshare, -.fa.fa-twitch, -.fa.fa-yelp { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-newspaper-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa.fa-cc-amex, -.fa.fa-cc-discover, -.fa.fa-cc-mastercard, -.fa.fa-cc-paypal, -.fa.fa-cc-stripe, -.fa.fa-cc-visa, -.fa.fa-google-wallet, -.fa.fa-paypal { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bell-slash-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bell-slash-o:before { - content: "\f1f6"; -} -.fa.fa-trash:before { - content: "\f2ed"; -} -.fa.fa-copyright { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-eyedropper:before { - content: "\f1fb"; -} -.fa.fa-area-chart:before { - content: "\f1fe"; -} -.fa.fa-pie-chart:before { - content: "\f200"; -} -.fa.fa-line-chart:before { - content: "\f201"; -} -.fa.fa-angellist, -.fa.fa-ioxhost, -.fa.fa-lastfm, -.fa.fa-lastfm-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-cc { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-cc:before { - content: "\f20a"; -} -.fa.fa-ils:before, -.fa.fa-shekel:before, -.fa.fa-sheqel:before { - content: "\f20b"; -} -.fa.fa-meanpath { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-meanpath:before { - content: "\f2b4"; -} -.fa.fa-buysellads, -.fa.fa-connectdevelop, -.fa.fa-dashcube, -.fa.fa-forumbee, -.fa.fa-leanpub, -.fa.fa-sellsy, -.fa.fa-shirtsinbulk, -.fa.fa-simplybuilt, -.fa.fa-skyatlas { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-diamond { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-diamond:before { - content: "\f3a5"; -} -.fa.fa-intersex:before { - content: "\f224"; -} -.fa.fa-facebook-official { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook-official:before { - content: "\f09a"; -} -.fa.fa-pinterest-p, -.fa.fa-whatsapp { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-hotel:before { - content: "\f236"; -} -.fa.fa-medium, -.fa.fa-viacoin, -.fa.fa-y-combinator, -.fa.fa-yc { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-yc:before { - content: "\f23b"; -} -.fa.fa-expeditedssl, -.fa.fa-opencart, -.fa.fa-optin-monster { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-battery-4:before, -.fa.fa-battery:before { - content: "\f240"; -} -.fa.fa-battery-3:before { - content: "\f241"; -} -.fa.fa-battery-2:before { - content: "\f242"; -} -.fa.fa-battery-1:before { - content: "\f243"; -} -.fa.fa-battery-0:before { - content: "\f244"; -} -.fa.fa-object-group, -.fa.fa-object-ungroup, -.fa.fa-sticky-note-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-sticky-note-o:before { - content: "\f249"; -} -.fa.fa-cc-diners-club, -.fa.fa-cc-jcb { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-clone, -.fa.fa-hourglass-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hourglass-o:before { - content: "\f254"; -} -.fa.fa-hourglass-1:before { - content: "\f251"; -} -.fa.fa-hourglass-2:before { - content: "\f252"; -} -.fa.fa-hourglass-3:before { - content: "\f253"; -} -.fa.fa-hand-rock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-rock-o:before { - content: "\f255"; -} -.fa.fa-hand-grab-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-grab-o:before { - content: "\f255"; -} -.fa.fa-hand-paper-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-paper-o:before { - content: "\f256"; -} -.fa.fa-hand-stop-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-stop-o:before { - content: "\f256"; -} -.fa.fa-hand-scissors-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa.fa-hand-lizard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa.fa-hand-spock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-spock-o:before { - content: "\f259"; -} -.fa.fa-hand-pointer-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa.fa-hand-peace-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa.fa-registered { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-chrome, -.fa.fa-creative-commons, -.fa.fa-firefox, -.fa.fa-get-pocket, -.fa.fa-gg, -.fa.fa-gg-circle, -.fa.fa-internet-explorer, -.fa.fa-odnoklassniki, -.fa.fa-odnoklassniki-square, -.fa.fa-opera, -.fa.fa-safari, -.fa.fa-tripadvisor, -.fa.fa-wikipedia-w { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-television:before { - content: "\f26c"; -} -.fa.fa-500px, -.fa.fa-amazon, -.fa.fa-contao { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-calendar-plus-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa.fa-calendar-minus-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa.fa-calendar-times-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-times-o:before { - content: "\f273"; -} -.fa.fa-calendar-check-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-check-o:before { - content: "\f274"; -} -.fa.fa-map-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-map-o:before { - content: "\f279"; -} -.fa.fa-commenting:before { - content: "\f4ad"; -} -.fa.fa-commenting-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-commenting-o:before { - content: "\f4ad"; -} -.fa.fa-houzz, -.fa.fa-vimeo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-vimeo:before { - content: "\f27d"; -} -.fa.fa-black-tie, -.fa.fa-edge, -.fa.fa-fonticons, -.fa.fa-reddit-alien { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-credit-card-alt:before { - content: "\f09d"; -} -.fa.fa-codiepie, -.fa.fa-fort-awesome, -.fa.fa-mixcloud, -.fa.fa-modx, -.fa.fa-product-hunt, -.fa.fa-scribd, -.fa.fa-usb { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-pause-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-pause-circle-o:before { - content: "\f28b"; -} -.fa.fa-stop-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-stop-circle-o:before { - content: "\f28d"; -} -.fa.fa-bluetooth, -.fa.fa-bluetooth-b, -.fa.fa-envira, -.fa.fa-gitlab, -.fa.fa-wheelchair-alt, -.fa.fa-wpbeginner, -.fa.fa-wpforms { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-wheelchair-alt:before { - content: "\f368"; -} -.fa.fa-question-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-question-circle-o:before { - content: "\f059"; -} -.fa.fa-volume-control-phone:before { - content: "\f2a0"; -} -.fa.fa-asl-interpreting:before { - content: "\f2a3"; -} -.fa.fa-deafness:before, -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; -} -.fa.fa-glide, -.fa.fa-glide-g { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-signing:before { - content: "\f2a7"; -} -.fa.fa-first-order, -.fa.fa-google-plus-official, -.fa.fa-pied-piper, -.fa.fa-snapchat, -.fa.fa-snapchat-ghost, -.fa.fa-snapchat-square, -.fa.fa-themeisle, -.fa.fa-viadeo, -.fa.fa-viadeo-square, -.fa.fa-yoast { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus-official:before { - content: "\f2b3"; -} -.fa.fa-google-plus-circle { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus-circle:before { - content: "\f2b3"; -} -.fa.fa-fa, -.fa.fa-font-awesome { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-fa:before { - content: "\f2b4"; -} -.fa.fa-handshake-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-handshake-o:before { - content: "\f2b5"; -} -.fa.fa-envelope-open-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-envelope-open-o:before { - content: "\f2b6"; -} -.fa.fa-linode { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-address-book-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-address-book-o:before { - content: "\f2b9"; -} -.fa.fa-vcard:before { - content: "\f2bb"; -} -.fa.fa-address-card-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-address-card-o:before { - content: "\f2bb"; -} -.fa.fa-vcard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-vcard-o:before { - content: "\f2bb"; -} -.fa.fa-user-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-user-circle-o:before { - content: "\f2bd"; -} -.fa.fa-user-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-user-o:before { - content: "\f007"; -} -.fa.fa-id-badge { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-drivers-license:before { - content: "\f2c2"; -} -.fa.fa-id-card-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-id-card-o:before { - content: "\f2c2"; -} -.fa.fa-drivers-license-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-drivers-license-o:before { - content: "\f2c2"; -} -.fa.fa-free-code-camp, -.fa.fa-quora, -.fa.fa-telegram { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-thermometer-4:before, -.fa.fa-thermometer:before { - content: "\f2c7"; -} -.fa.fa-thermometer-3:before { - content: "\f2c8"; -} -.fa.fa-thermometer-2:before { - content: "\f2c9"; -} -.fa.fa-thermometer-1:before { - content: "\f2ca"; -} -.fa.fa-thermometer-0:before { - content: "\f2cb"; -} -.fa.fa-bathtub:before, -.fa.fa-s15:before { - content: "\f2cd"; -} -.fa.fa-window-maximize, -.fa.fa-window-restore { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-rectangle:before { - content: "\f410"; -} -.fa.fa-window-close-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-window-close-o:before { - content: "\f410"; -} -.fa.fa-times-rectangle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-rectangle-o:before { - content: "\f410"; -} -.fa.fa-bandcamp, -.fa.fa-eercast, -.fa.fa-etsy, -.fa.fa-grav, -.fa.fa-imdb, -.fa.fa-ravelry { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-eercast:before { - content: "\f2da"; -} -.fa.fa-snowflake-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-snowflake-o:before { - content: "\f2dc"; -} -.fa.fa-spotify, -.fa.fa-superpowers, -.fa.fa-wpexplorer { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/html/font-awesome/webfonts/fa-regular-400.eot b/html/font-awesome/webfonts/fa-regular-400.eot deleted file mode 100644 index d62be2fad885f750abe96337567aeec99e5adec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34388 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 C9oP{7 literal 0 HcmV?d00001 diff --git a/html/font-awesome/webfonts/fa-regular-400.woff b/html/font-awesome/webfonts/fa-regular-400.woff deleted file mode 100644 index 43b1a9ae49db0f52c15da5d9a5d6d2e89875428d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16804 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 diff --git a/html/font-awesome/webfonts/fa-solid-900.eot b/html/font-awesome/webfonts/fa-solid-900.eot deleted file mode 100644 index c77baa8d46ab45aff98845588c807e81b73c9d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192116 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

EFA9fIE%m5HyEmWrq*L@`PS)m?s1zo^|eW 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

    `}m6pgdhRBIgqU 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

    @JULMl%nV5Vl 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 joy#rEuM{N-dS#`E@l0{aGh13T;X@a3 Date: Sun, 8 Sep 2024 12:16:35 -0500 Subject: [PATCH 19/46] Automatic changelog generation for PR #3329 [ci skip] --- html/changelogs/AutoChangeLog-pr-3329.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3329.yml diff --git a/html/changelogs/AutoChangeLog-pr-3329.yml b/html/changelogs/AutoChangeLog-pr-3329.yml new file mode 100644 index 000000000000..34560722f438 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3329.yml @@ -0,0 +1,5 @@ +author: ZephyrTFA +changes: + - {server: CDN fully operational again after noticing an incorrectly absolute relative + path} +delete-after: true From d0eadcb135d0c73ad4de7255ebdcca985b67e945 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 8 Sep 2024 13:54:59 -0700 Subject: [PATCH 20/46] Adds some of the new Frontiersmen weapons to the Black Market (#3332) ## About The Pull Request Adds the Mauler, Spitter and Pounder and their respective magazines to the Black Market ## Why It's Good For The Game They're illicit, pirate weapons, and the Spitter itself was made in mind for black market usage in it's descriptions, so they're fitting additions to the black market, and gives these interesting weapons a place to be bought and seen. ## Changelog :cl: add: Adds the Mauler, Spitter, and Pounder to the black market /:cl: --- .../blackmarket/blackmarket_items/ammo.dm | 31 +++++++++++++++++ .../blackmarket/blackmarket_items/weapons.dm | 34 +++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index aaa24731c1ea..c794eb040389 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -230,3 +230,34 @@ stock_max = 5 availability_prob = 0 +/datum/blackmarket_item/ammo/mauler_mag + name = "Mauler Magazine" + desc = "A 12 round 9mm magazine for the Mauler Machine Pistol." + item = /obj/item/ammo_box/magazine/m9mm_mauler + price_min = 250 + price_max = 750 + stock_min = 3 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/spitter_mag + name = "Spitter Magazine" + desc = "A 30 round 9mm magazine for the Spitter submachine gun." + item = /obj/item/ammo_box/magazine/spitter_9mm + + price_min = 250 + price_max = 750 + stock_min = 2 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/pounder_mag + name = "Pounder Pan Magazine" + desc = "A 50 round pan magazine for the Pounder submachine gun. Heavy enough to double as an emergency melee weapon to beat off your enemies in a pinch." + item = /obj/item/ammo_box/magazine/c22lr_pounder_pan + + price_min = 400 + price_max = 750 + stock = 2 + availability_prob = 0 + diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 3bfda20e8654..d0db4253d77e 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -304,6 +304,40 @@ stock = 2 availability_prob = 30 +/datum/blackmarket_item/weapon/mauler + name = "Mauler Machine Pistol" + desc = "This gun's got teeth! Twelve 9mm teeth to be exact. Hardly a full smile, and you'll be losing the rest pretty quick with this thing's rate of fire." + item = /obj/item/gun/ballistic/automatic/pistol/mauler + pair_item = list(/datum/blackmarket_item/ammo/mauler_mag) + + price_min = 1000 + price_max = 2000 + stock_max = 3 + availability_prob = 50 + +/datum/blackmarket_item/weapon/spitter + name = "Spitter Submachine Gun" + desc = "The aptly named Spitter won't be hitting anything outside of spitting distance. Anything in that range on the otherhand? Let's just say the bereaved will be wanting a closed casket funeral. Chambered in 9mm." + item = /obj/item/gun/ballistic/automatic/pistol/spitter + pair_item = list(/datum/blackmarket_item/ammo/spitter_mag) + + price_min = 1500 + price_max = 2250 + stock_min = 1 + stock_max = 2 + availability_prob = 30 + +/datum/blackmarket_item/weapon/pounder + name = "Pounder Submachine Gun" + desc = "There's a certain quality to quantity. With a massive 50 round capacity, this .22lr submachine is capable of laying down an jawdropping amount of fire." + item = /obj/item/gun/ballistic/automatic/smg/pounder + pair_item = list(/datum/blackmarket_item/ammo/pounder_mag,/datum/blackmarket_item/ammo/himehabu_box) + + price_min = 1500 + price_max = 2000 + stock = 1 + availability_prob = 35 + /datum/blackmarket_item/weapon/polymer name = "Polymer Survivor Rifle" desc = "A slapdash rifle held together by spite, dreams and a good helping of duct tape. Chambered in 7.62x40mm CLIP." From 8dfea025e88536151d37cb890b5392431e7bfa95 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 8 Sep 2024 16:05:56 -0500 Subject: [PATCH 21/46] Automatic changelog generation for PR #3332 [ci skip] --- html/changelogs/AutoChangeLog-pr-3332.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3332.yml diff --git a/html/changelogs/AutoChangeLog-pr-3332.yml b/html/changelogs/AutoChangeLog-pr-3332.yml new file mode 100644 index 000000000000..559f000492ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3332.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {rscadd: 'Adds the Mauler, Spitter, and Pounder to the black market'} +delete-after: true From b6940dfc267f3f7f2b3967aa529b785de6744659 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 01:01:20 +0000 Subject: [PATCH 22/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3329.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3332.yml | 4 ---- html/changelogs/archive/2024-09.yml | 6 ++++++ 3 files changed, 6 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3329.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3332.yml diff --git a/html/changelogs/AutoChangeLog-pr-3329.yml b/html/changelogs/AutoChangeLog-pr-3329.yml deleted file mode 100644 index 34560722f438..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3329.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: ZephyrTFA -changes: - - {server: CDN fully operational again after noticing an incorrectly absolute relative - path} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3332.yml b/html/changelogs/AutoChangeLog-pr-3332.yml deleted file mode 100644 index 559f000492ec..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3332.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: 'Adds the Mauler, Spitter, and Pounder to the black market'} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index e4407db5eed8..a38a7c95fe2e 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -24,3 +24,9 @@ meemofcourse: - spellcheck: Human generic names (the ones that show up when you examine someone) will be prefixed consistently +2024-09-09: + Gristlebee: + - rscadd: Adds the Mauler, Spitter, and Pounder to the black market + ZephyrTFA: + - server: CDN fully operational again after noticing an incorrectly absolute relative + path From cdb30e378b5ec0f660f2aede8355240875a3d446 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:34:31 -0700 Subject: [PATCH 23/46] Gun safeties work in more slots (#3342) ## About The Pull Request #3341 Gun safeties can be toggled in 1st level storage slot (e.g hands, suit slots, belts, pockets, back) instead of just the hands. Guns in containers (e.g. backpacks) aren't togglable. ## Why It's Good For The Game Seems like a nice QOL thing to have. ## Changelog :cl: add: Gun safeties can be toggled from 1st level storage slots. /:cl: --- code/modules/projectiles/gun.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 023f6212e06f..30cf1d848a80 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -689,8 +689,8 @@ . = ..() if(!has_safety) return - - if(src != user.get_active_held_item()) + // only checks for first level storage e.g pockets, hands, suit storage, belts, nothing in containers + if(!in_contents_of(user)) return if(isliving(user) && in_range(src, user)) From 07fff3e5778d55245ecbac02290c0d54bf2dadfa Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 05:45:14 -0500 Subject: [PATCH 24/46] Automatic changelog generation for PR #3342 [ci skip] --- html/changelogs/AutoChangeLog-pr-3342.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3342.yml diff --git a/html/changelogs/AutoChangeLog-pr-3342.yml b/html/changelogs/AutoChangeLog-pr-3342.yml new file mode 100644 index 000000000000..6bc579cb368b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3342.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {rscadd: Gun safeties can be toggled from 1st level storage slots.} +delete-after: true From 8c95634a0ce7c49b8e21208ad720cd6b84a40e40 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:34:48 -0700 Subject: [PATCH 25/46] NT captain gloves desc fix (#3340) NT cap gloves no longer lie about shockproofing ## About The Pull Request NT captain gloves no longer lie about being shock-proof. ## Why It's Good For The Game whoops ## Changelog :cl: fix: NT captain gloves no longer lie about shockproofing /:cl: --- code/modules/clothing/gloves/color.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 19841c7d884e..0447f62aab9e 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -190,7 +190,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 50) /obj/item/clothing/gloves/color/captain/nt - desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier, and armoured bracers. Swanky." + desc = "Regal blue gloves with gold trim and a fire and acid-resistant coating. Swanky." name = "captain's gloves" icon_state = "captainnt" From 84c410c1608f3101cd1fa8769c477efa095dab25 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 05:58:49 -0500 Subject: [PATCH 26/46] Automatic changelog generation for PR #3340 [ci skip] --- html/changelogs/AutoChangeLog-pr-3340.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3340.yml diff --git a/html/changelogs/AutoChangeLog-pr-3340.yml b/html/changelogs/AutoChangeLog-pr-3340.yml new file mode 100644 index 000000000000..928a8e75574e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3340.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {bugfix: NT captain gloves no longer lie about shockproofing} +delete-after: true From ab3542cc0c4ac563f59fa0887b4f5a56ef40e27a Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Mon, 9 Sep 2024 06:36:28 -0400 Subject: [PATCH 27/46] Adds a rubbershot box to cargo (#3326) ## About The Pull Request This should add a box of rubbershot ammo to the outpost cargo market. ## Why It's Good For The Game This will allow players the ability to purchase rubbershot for training activities without having to require RnD beforehand. ## Changelog :cl: add: Adds a rubbershot box to the outpost market /:cl: --- code/modules/cargo/packs/ammo.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index d790cbbdf650..9cd1608061df 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -76,6 +76,12 @@ cost = 210 contains = list(/obj/item/storage/box/techshot) +/datum/supply_pack/ammo/rubbershot + name = "Rubbershot Crate" + desc = "Contains a box of twenty-five rubbershot shells for use in crowd control or training." + cost = 500 + contains = list(/obj/item/ammo_box/a12g/rubbershot) + /* .38 ammo */ From 64e141c2b3cc5e061abda5ee148a5998fd9af124 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 06:12:24 -0500 Subject: [PATCH 28/46] Automatic changelog generation for PR #3326 [ci skip] --- html/changelogs/AutoChangeLog-pr-3326.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3326.yml diff --git a/html/changelogs/AutoChangeLog-pr-3326.yml b/html/changelogs/AutoChangeLog-pr-3326.yml new file mode 100644 index 000000000000..6b00b63982de --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3326.yml @@ -0,0 +1,4 @@ +author: zimon9 +changes: + - {rscadd: Adds a rubbershot box to the outpost market} +delete-after: true From d553775bc6bff167ae0fa31b434d3de114c5a9e2 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:38:03 -0700 Subject: [PATCH 29/46] Nerfs hollowpoint rounds to bring them under limb crit threshold (#3334) ## About The Pull Request Nerfs most hollowpoint rounds by 5 damage. Nerfs 8mm hollowpoint by 6 damage for a total of 49 damage. ## Why It's Good For The Game This is mostly because .357 Hollowpoint does exactly 50 damage, which crits an unarmored limb (which is most players' limbs) in a single shot. The nerf doesn't hit HP so hard it isn't worth it, because you're still doing the same damage as weapons much higher up on the totem pole, but it ensures the only weapon that can crit a limb in a single shot is a .45-70 firing hollowpoint or explosive ammo. And sniper rifles like the Scout, if those ever get something like hollowpoint. ## Changelog :cl: balance: Reduced hollowpoint damage by 5 (and 8mm Hollowpoint by 6) /:cl: --- code/modules/projectiles/projectile/bullets/lmg.dm | 2 +- code/modules/projectiles/projectile/bullets/pistol.dm | 6 +++--- code/modules/projectiles/projectile/bullets/revolver.dm | 8 ++++---- code/modules/projectiles/projectile/bullets/rifle.dm | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/modules/projectiles/projectile/bullets/lmg.dm b/code/modules/projectiles/projectile/bullets/lmg.dm index 79a9b2feb07c..71da70475dde 100644 --- a/code/modules/projectiles/projectile/bullets/lmg.dm +++ b/code/modules/projectiles/projectile/bullets/lmg.dm @@ -67,7 +67,7 @@ /obj/projectile/bullet/mm712x82/hp name = "7.12x82mm hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -20 /obj/projectile/bullet/incendiary/mm712x82 diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index a04fc2995c26..ba8a09b78569 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -16,7 +16,7 @@ /obj/projectile/bullet/c9mm/hp name = "9mm hollow point bullet" - damage = 40 + damage = 35 armour_penetration = -50 /obj/projectile/bullet/incendiary/c9mm @@ -49,7 +49,7 @@ /obj/projectile/bullet/c10mm/hp name = "10mm hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -50 /obj/projectile/bullet/incendiary/c10mm @@ -82,7 +82,7 @@ /obj/projectile/bullet/c45/hp name = ".45 hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -50 /obj/projectile/bullet/incendiary/c45 diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 0c62fe5b3d4f..dede2ce0d7ce 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -6,7 +6,7 @@ /obj/projectile/bullet/a50AE/hp name = ".50 AE hollow point bullet" - damage = 60 + damage = 55 armour_penetration = -50 // .38 (Colt Detective Special & Winchester) @@ -110,7 +110,7 @@ /obj/projectile/bullet/a357/hp name = ".357 hollow point bullet" - damage = 50 + damage = 45 armour_penetration = -50 ricochet_chance = 0 //mushroom on impact, no bounces @@ -133,7 +133,7 @@ /obj/projectile/bullet/a4570/hp name = ".45-70 hollow point bullet" - damage = 60 //it's the pre-nerf .357 with less armor pen + damage = 55 //it's ALMOST the pre-nerf .357 with less armor pen armour_penetration = -50 /obj/projectile/bullet/a4570/explosive //for extra oof @@ -167,5 +167,5 @@ /obj/projectile/bullet/a44roum/hp name = ".44 roumain bullet" - damage = 45 + damage = 40 armour_penetration = -20 diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index 0d04eaf6e7ec..995240829b28 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -16,7 +16,7 @@ /obj/projectile/bullet/a8_50rhp name = "8x50mmR bullet" speed = 0.3 - damage = 55 + damage = 49 armour_penetration = 0 // .300 Magnum (Smile Rifle) From 3a1aa4c7db02a0c7d9f97e6f7039b2ebbcdb95dc Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 06:36:13 -0500 Subject: [PATCH 30/46] Automatic changelog generation for PR #3334 [ci skip] --- html/changelogs/AutoChangeLog-pr-3334.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3334.yml diff --git a/html/changelogs/AutoChangeLog-pr-3334.yml b/html/changelogs/AutoChangeLog-pr-3334.yml new file mode 100644 index 000000000000..c691d4edd3b2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3334.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {balance: Reduced hollowpoint damage by 5 (and 8mm Hollowpoint by 6)} +delete-after: true From 8f4a8a02618bc270b5d856ca1599abb2e1275cbd Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:39:26 -0700 Subject: [PATCH 31/46] Destructible Walls (And Mineral Walls) (#3145) ## About The Pull Request ### Wall Stuff and Behavior - Moves the damage behavior from concrete walls to closed turfs. - Basic walls can be repaired with a welder. - Basic walls are still deconstructed with a welder, but it now starts a repeatable do after that reduces the wall's integrity more efficiently than simply attacking. - R-walls integrity is tied to their deconstruction state. Damaging one enough will move it down a state, and can be repaired by following the construction steps. They can still be deconstructed the same as before, or with a plasmacutter. ### Plasmacutters - Plasma cutters are now more of an engineering tool, and acts as an "upgrade" to the welder and deconstructs walls faster, and can repair prosthetic limbs. They can still mine, but lose the additional mining range and has a chance to ruin ores. - Plasmacutters now fit in toolbelts. - Moves plasmacutters and advanced plasmacutters from mining to tech plasma manipulation and adv plasma manipulation tech respectively. - Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, Ranger, Hyena, Komodo, Shetland and Twinkleshine - Adds plasmacutters to cargo for 1250 credits ### Misc Code stuff - Cleans up crate/closet deconstruction. It now checks for tool_behavior rather than a specific tool and non-help intent. - Renames concrete_damage.dmi to wall_damage.dmi - Moves indestructible walls into it's own file - bitflags for bonus damage on walls ## Why It's Good For The Game Rylie asked me to make this. Currently, it's much easier to go through a wall than a door if you want to force entry as it's as simple as having a welder or a jackhammer to take off the wall plating vs having to take the time hack an airlock, which probably isnt great. Also gives some counterplay if you're on the defending side since you have the opportunity to repair compromised walls or go around and attack the breacher. This would add more possible interactions and play around with walls since you no longer need these two specific tools to get through a wall. If you say, have enough ammo you could theoretically just shoot your way in, and they're no longer indestructible pieces of cover. ## Changelog :cl: add: Welders/Plasmacutters now deal damage to wall integrity to decon add: Plasmacutters are now engineering tools and fit in toolbelts. They can damage ores into slag if used to mine. They are now researched with plasma technology and advanced plasma technology. add: Plasmacutters to cargo for 1250 add: Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, Ranger, Hyena, Komodo, Shetland and Twinkleshine del: Plasmacutters extra mining range fix: Plasmacutters can repair prosthetic limbs like welders code: Moves damage behavior of concrete walls to closed turfs. Basic walls are now repaired with a welder. code: R-walls d-state tied to their integrity. R-walls can be deconstructed with plasmacutters. code: Crate decon checks for tool behavior rather than a istype check /:cl: --- .../RockRuins/rockplanet_harmfactory.dmm | 4 +- .../independent/independent_mudskipper.dmm | 1 + .../independent/independent_rigger.dmm | 1 + .../independent/independent_shetland.dmm | 2 + _maps/shuttles/inteq/inteq_talos.dmm | 4 + .../shuttles/nanotrasen/nanotrasen_gecko.dmm | 2 + .../shuttles/nanotrasen/nanotrasen_heron.dmm | 2 + .../shuttles/nanotrasen/nanotrasen_osprey.dmm | 1 + .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 1 + .../syndicate/syndicate_gorlex_hyena.dmm | 6 +- .../syndicate/syndicate_gorlex_komodo.dmm | 1 + .../syndicate/syndicate_twinkleshine.dmm | 2 + code/__DEFINES/projectiles.dm | 6 + code/__DEFINES/turfs.dm | 6 + .../mecha/equipment/tools/mining_tools.dm | 14 +- code/game/objects/items.dm | 2 + code/game/objects/items/grenades/plastic.dm | 3 + code/game/objects/items/storage/belt.dm | 3 +- code/game/objects/items/tools/weldingtool.dm | 3 + .../structures/crates_lockers/closets.dm | 32 +- .../crates_lockers/closets/cardboardbox.dm | 4 +- code/game/objects/structures/girders.dm | 2 +- code/game/turfs/closed/_closed.dm | 536 +++++++++--------- code/game/turfs/closed/indestructible.dm | 308 ++++++++++ code/game/turfs/closed/minerals.dm | 65 ++- code/game/turfs/closed/wall/conc_walls.dm | 181 +----- code/game/turfs/closed/wall/mineral_walls.dm | 32 +- code/game/turfs/closed/wall/misc_walls.dm | 9 +- code/game/turfs/closed/wall/reinf_walls.dm | 76 ++- code/game/turfs/closed/walls.dm | 176 +----- code/modules/cargo/packs/tools.dm | 8 +- .../mining/equipment/kinetic_crusher.dm | 3 +- code/modules/mining/equipment/mining_tools.dm | 2 + .../mining/lavaland/necropolis_chests.dm | 5 +- .../guns/energy/kinetic_accelerator.dm | 4 +- .../projectiles/guns/energy/special.dm | 21 +- code/modules/projectiles/projectile.dm | 4 + code/modules/projectiles/projectile/beams.dm | 2 + .../projectiles/projectile/special/plasma.dm | 17 +- code/modules/research/techweb/all_nodes.dm | 8 +- .../lavalandruin_code/elephantgraveyard.dm | 6 +- .../{concrete_damage.dmi => wall_damage.dmi} | Bin shiptest.dme | 1 + 43 files changed, 888 insertions(+), 678 deletions(-) create mode 100644 code/game/turfs/closed/indestructible.dm rename icons/effects/{concrete_damage.dmi => wall_damage.dmi} (100%) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm index 8a79949e34b1..b9c907c5c87e 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm @@ -3367,7 +3367,7 @@ of IA ro ro -hJ +bf Ew LT hi @@ -3446,7 +3446,7 @@ je kC nq qm -hJ +bf tw tC vK diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index d7a3341b8927..618a40d3996f 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -349,6 +349,7 @@ /obj/item/circular_saw, /obj/item/multitool, /obj/item/stack/marker_beacon/thirty, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech, /area/ship/cargo) "gT" = ( diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index 632337fab263..15265d30016b 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -4468,6 +4468,7 @@ /obj/item/storage/toolbox/mechanical, /obj/item/storage/belt/utility, /obj/item/clothing/glasses/welding, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plating, /area/ship/engineering) diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 459bfebcd48f..0481bd2506fa 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -4725,6 +4725,8 @@ /obj/item/multitool, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, +/obj/item/gun/energy/plasmacutter, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/dark, /area/ship/engineering/electrical) "OU" = ( diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index ddad109a06fb..38dd26c38305 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -928,6 +928,7 @@ req_access_txt = "11"; req_one_access = null }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "gm" = ( @@ -1348,6 +1349,7 @@ req_access_txt = "11"; req_one_access = null }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "iM" = ( @@ -1645,6 +1647,7 @@ pixel_x = 20; pixel_y = 11 }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "jZ" = ( @@ -6273,6 +6276,7 @@ name = "honorable artificer's toolbelt" }, /obj/machinery/airalarm/directional/west, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/communications) "Oq" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm index 351f188e3369..2cb4e641cd53 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm @@ -383,6 +383,7 @@ /obj/item/clothing/under/rank/cargo/miner, /obj/item/clothing/gloves/color/black, /obj/item/clothing/glasses/meson, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo/port) "dC" = ( @@ -4112,6 +4113,7 @@ /obj/item/clothing/under/rank/cargo/miner, /obj/item/clothing/gloves/color/black, /obj/item/clothing/glasses/meson, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo/starboard) "Qc" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index e72766239a4f..96bd414525c0 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -1474,6 +1474,7 @@ pixel_y = -11; pixel_x = 9 }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/dark, /area/ship/engineering) "gd" = ( @@ -10650,6 +10651,7 @@ pixel_y = -10; pixel_x = 5 }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/dark, /area/ship/engineering) "NC" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm index 0c860abb9e20..564cf0733f9f 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm @@ -5899,6 +5899,7 @@ }, /obj/item/holosign_creator/engineering, /obj/item/storage/box/metalfoam, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/patterned/grid, /area/ship/engineering) "My" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 342ffb8fa928..d2ccfdcfe910 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -1554,6 +1554,7 @@ /obj/item/clothing/glasses/meson/gar{ pixel_y = 8 }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "pA" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index bd84c90c4ac3..8003df0a5f51 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -899,6 +899,7 @@ /obj/item/clothing/under/syndicate/ngr/jumpsuit, /obj/item/clothing/suit/hazardvest/ngr, /obj/item/clothing/head/hardhat/ngr, +/obj/item/pickaxe/drill, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "pu" = ( @@ -1153,6 +1154,7 @@ /obj/item/clothing/under/syndicate/ngr/jumpsuit, /obj/item/clothing/suit/hazardvest/ngr, /obj/item/clothing/head/hardhat/ngr, +/obj/item/pickaxe/drill, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "tI" = ( @@ -3160,10 +3162,10 @@ dir = 4 }, /obj/structure/rack, -/obj/item/pickaxe/drill/jackhammer/old{ +/obj/item/gun/energy/plasmacutter{ pixel_y = 10 }, -/obj/item/pickaxe/drill/jackhammer/old, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "Yv" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index ee80659fd824..982a48c2f297 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -1175,6 +1175,7 @@ }, /obj/item/clothing/under/syndicate/hardliners, /obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/gun/energy/plasmacutter, /obj/item/clothing/gloves/color/red/insulated, /turf/open/floor/plasteel/tech, /area/ship/engineering) diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 7d738e1057b1..877c571a60a4 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -4440,6 +4440,7 @@ /obj/item/clothing/head/hardhat/red{ name = "hard hat" }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/dark, /area/ship/engineering) "Af" = ( @@ -8917,6 +8918,7 @@ /obj/item/clothing/head/hardhat/red{ name = "hard hat" }, +/obj/item/gun/energy/plasmacutter, /turf/open/floor/plasteel/dark, /area/ship/engineering) "Zg" = ( diff --git a/code/__DEFINES/projectiles.dm b/code/__DEFINES/projectiles.dm index 61038b17c1ec..db31a4b5552d 100644 --- a/code/__DEFINES/projectiles.dm +++ b/code/__DEFINES/projectiles.dm @@ -7,3 +7,9 @@ #define PROJECTILE_PIERCE_PHASE 2 // Delete self without hitting #define PROJECTILE_DELETE_WITHOUT_HITTING 3 + +#define PROJECTILE_BONUS_DAMAGE_NONE 0 +#define PROJECTILE_BONUS_DAMAGE_MINERALS (1<<0) //minable walls +#define PROJECTILE_BONUS_DAMAGE_WALLS (1<<1) // walls +#define PROJECTILE_BONUS_DAMAGE_RWALLS (1<<2) //reinforced walls + diff --git a/code/__DEFINES/turfs.dm b/code/__DEFINES/turfs.dm index 571bade19ef2..30db6fc98f33 100644 --- a/code/__DEFINES/turfs.dm +++ b/code/__DEFINES/turfs.dm @@ -12,3 +12,9 @@ #define CHANGETURF_DEFER_BATCH (1 << 5) #define IS_OPAQUE_TURF(turf) (turf.directional_opacity == ALL_CARDINALS) + +// Integrity of mineral walls. +#define MINERAL_WALL_INTEGRITY 100 + +// how many bullet holes a wall can have at a given time +#define MAX_DENT_DECALS 15 diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 6283cd278645..e99d24e3f558 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -17,6 +17,7 @@ toolspeed = 0.9 var/drill_delay = 7 var/drill_level = DRILL_BASIC + wall_decon_damage = 100 /obj/item/mecha_parts/mecha_equipment/drill/Initialize() . = ..() @@ -62,15 +63,19 @@ return /turf/closed/wall/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill) - if(drill.do_after_mecha(src, 60 / drill.drill_level)) + while(drill.do_after_mecha(src, 15 / drill.drill_level)) drill.log_message("Drilled through [src]", LOG_MECHA) - dismantle_wall(devastated = TRUE) + alter_integrity(-drill.wall_decon_damage) + drill.occupant_message("You drill through some of the outer plating...") + playsound(src,'sound/weapons/drill.ogg',60,TRUE) /turf/closed/wall/r_wall/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill) if(drill.drill_level >= DRILL_HARDENED) - if(drill.do_after_mecha(src, 120 / drill.drill_level)) + while(drill.do_after_mecha(src, 20 / drill.drill_level)) drill.log_message("Drilled through [src]", LOG_MECHA) - dismantle_wall(devastated = TRUE) + alter_integrity(-drill.wall_decon_damage) + drill.occupant_message("You drill through some of the outer plating...") + playsound(src,'sound/weapons/drill.ogg',60,TRUE) else drill.occupant_message("[src] is too durable to drill through.") @@ -150,6 +155,7 @@ drill_level = DRILL_HARDENED force = 15 toolspeed = 0.7 + wall_decon_damage = 300 /obj/item/mecha_parts/mecha_equipment/mining_scanner diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 45d83621b431..376d1ba16d11 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -162,6 +162,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/tool_behaviour = NONE ///How fast does the tool work var/toolspeed = 1 + /// how much damage does this item do when tearing down walls during deconstruction steps? + var/wall_decon_damage = 0 var/block_chance = 0 var/block_cooldown_time = 1 SECONDS diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index f3f891bad11d..c4cafbc8fdb9 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -52,6 +52,9 @@ target.cut_overlay(plastic_overlay, TRUE) if(!ismob(target) || full_damage_on_mobs) target.ex_act(EXPLODE_HEAVY, target) + if(iswallturf(target)) + var/turf/closed/wall/wall = target + wall.dismantle_wall(TRUE) else location = get_turf(src) if(location) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index fbe1bbc73131..0455a9366557 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -74,7 +74,8 @@ /obj/item/chisel, /obj/item/clothing/glasses/welding, //WS edit: ok mald sure I'll add the welding stuff to the. ok. /obj/item/clothing/mask/gas/welding, - /obj/item/clothing/head/welding //WS end + /obj/item/clothing/head/welding, //WS end + /obj/item/gun/energy/plasmacutter )) /obj/item/storage/belt/utility/chief diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index c792af38486a..53f3396f2727 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -39,6 +39,7 @@ var/acti_sound = 'sound/items/welderactivate.ogg' var/deac_sound = 'sound/items/welderdeactivate.ogg' var/start_full = TRUE + wall_decon_damage = 50 /obj/item/weldingtool/empty start_full = FALSE @@ -348,6 +349,7 @@ light_system = NO_LIGHT_SUPPORT light_range = 0 change_icons = 0 + wall_decon_damage = 500 /obj/item/weldingtool/abductor/process() if(get_fuel() <= max_fuel) @@ -378,6 +380,7 @@ can_off_process = 1 light_range = 1 toolspeed = 0.5 + wall_decon_damage = 100 var/last_gen = 0 var/nextrefueltick = 0 diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 714129498e4c..7731bf48d2ff 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -27,7 +27,8 @@ var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet. var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients. - var/cutting_tool = /obj/item/weldingtool + // defaults to welder if null + var/cutting_tool = TOOL_WELDER var/open_sound = 'sound/machines/closet_open.ogg' var/close_sound = 'sound/machines/closet_close.ogg' var/open_sound_volume = 35 @@ -261,27 +262,22 @@ /obj/structure/closet/proc/tool_interact(obj/item/W, mob/user)//returns TRUE if attackBy call shouldnt be continued (because tool was used/closet was of wrong type), FALSE if otherwise . = TRUE if(opened) - if(istype(W, cutting_tool)) - if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) - return - - to_chat(user, "You begin cutting \the [src] apart...") - if(W.use_tool(src, user, 40, volume=50)) - if(!opened) - return - user.visible_message("[user] slices apart \the [src].", - "You cut \the [src] apart with \the [W].", - "You hear welding.") - deconstruct(TRUE) + if(W.tool_behaviour == cutting_tool && user.a_intent != INTENT_HELP) + if(!W.tool_start_check(user, amount=0)) return - else // for example cardboard box is cut with wirecutters - user.visible_message("[user] cut apart \the [src].", \ - "You cut \the [src] apart with \the [W].") + + to_chat(user, "You begin cutting \the [src] apart...") + if(W.use_tool(src, user, 40, volume=50)) + if(!opened) + return + user.visible_message("[user] slices apart \the [src].", + "You cut \the [src] apart with \the [W].", + "You hear cutting.") deconstruct(TRUE) - return + return if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too return + return else if(W.tool_behaviour == TOOL_WELDER && can_weld_shut) if(!W.tool_start_check(user, amount=0)) return diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index a5d7531b0aa8..7135b3d199a2 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -8,7 +8,7 @@ max_integrity = 70 integrity_failure = 0 can_weld_shut = 0 - cutting_tool = /obj/item/wirecutters + cutting_tool = TOOL_WIRECUTTER material_drop = /obj/item/stack/sheet/cardboard delivery_icon = "deliverybox" anchorable = FALSE @@ -70,7 +70,7 @@ mob_storage_capacity = 5 resistance_flags = NONE move_speed_multiplier = 2 - cutting_tool = /obj/item/weldingtool + cutting_tool = TOOL_WELDER open_sound = 'sound/machines/crate_open.ogg' close_sound = 'sound/machines/crate_close.ogg' open_sound_volume = 35 diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 6463282eb6df..6a3cae5bbd72 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -38,7 +38,7 @@ if(istype(W, /obj/item/gun/energy/plasmacutter)) to_chat(user, "You start slicing apart the girder...") - if(W.use_tool(src, user, 40, volume=100)) + if(W.use_tool(src, user, 10, volume=100)) to_chat(user, "You slice apart the girder.") var/obj/item/stack/sheet/metal/M = new (loc, 2) M.add_fingerprint(user) diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 2b7d93ae2590..dc410d027504 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -7,8 +7,88 @@ rad_insulation = RAD_MEDIUM_INSULATION pass_flags_self = PASSCLOSEDTURF + ///lower numbers are harder. Used to determine the probability of a hulk smashing through. + var/hardness = 40 + var/breakdown_duration = 20 //default time it takes for a tool to break the wall + + var/attack_hitsound = 'sound/weapons/smash.ogg' + var/break_sound = 'sound/items/welder.ogg' + hitsound_type = PROJECTILE_HITSOUND_METAL + + // The wall will ignore damage from weak items, depending on their + // force, damage type, tool behavior, and sharpness. This is the minimum + // amount of force that a blunt, brute item must have to damage the wall. + var/min_dam = 0 + var/max_integrity = 100 + var/integrity + var/brute_mod = 1 + var/burn_mod = 1 + // Projectiles that do extra damage to the wall + var/list/extra_dam_proj + + var/mob_smash_flags + var/proj_bonus_damage_flags + + var/mutable_appearance/damage_overlay + var/damage_visual = 'icons/effects/wall_damage.dmi' + var/overlay_layer = BULLET_HOLE_LAYER + + var/list/dent_decals + /turf/closed/Initialize(mapload, inherited_virtual_z) . = ..() + if(integrity == null) + integrity = max_integrity + +/turf/closed/copyTurf(turf/T, copy_air, flags) + . = ..() + var/turf/closed/wall_copy = T + if(LAZYLEN(dent_decals)) + wall_copy.dent_decals = dent_decals.Copy() + wall_copy.update_appearance() + +/turf/closed/update_overlays() + . = ..() + damage_overlay = null + var/adj_dam_pct = 1 - (integrity/(max_integrity)) + if(adj_dam_pct < 0) + adj_dam_pct = 0 + if(!damage_overlay) + damage_overlay = mutable_appearance(damage_visual, "cracks", overlay_layer) + damage_overlay.alpha = adj_dam_pct*255 + . += damage_overlay + for(var/decal in dent_decals) + . += decal + +/turf/closed/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) + if(LAZYLEN(dent_decals) >= MAX_DENT_DECALS) + return + + var/mutable_appearance/decal = mutable_appearance('icons/effects/effects.dmi', "", BULLET_HOLE_LAYER) + switch(denttype) + if(WALL_DENT_SHOT) + decal.icon_state = "bullet_hole" + if(WALL_DENT_HIT) + decal.icon_state = "impact[rand(1, 3)]" + + decal.pixel_x = x + decal.pixel_y = y + LAZYADD(dent_decals, decal) + update_appearance() + +/turf/closed/examine(mob/user) + . = ..() + . += damage_hints(user) + +/turf/closed/proc/damage_hints(mob/user) + switch(integrity / max_integrity) + if(0.5 to 0.99) + return "[p_they(TRUE)] look[p_s()] slightly damaged." + if(0.25 to 0.5) + return "[p_they(TRUE)] appear[p_s()] heavily damaged." + if(0 to 0.25) + return "[p_theyre(TRUE)] falling apart!" + return /turf/closed/AfterChange() . = ..() @@ -17,269 +97,209 @@ /turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE -/turf/closed/indestructible - name = "wall" - desc = "Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls.dmi' - explosion_block = 50 - -/turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) - return - -/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id) - return 0 - -/turf/closed/indestructible/Melt() - to_be_destroyed = FALSE - return src - -/turf/closed/indestructible/singularity_act() - return - -/turf/closed/indestructible/sandstone - name = "sandstone wall" - desc = "A wall with sandstone plating. Rough." - icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-0" - base_icon_state = "sandstone_wall" - baseturfs = /turf/closed/indestructible/sandstone - smoothing_flags = SMOOTH_BITMASK - -/turf/closed/indestructible/splashscreen - name = "Space Station 13" - icon = 'icons/blank_title.png' - icon_state = "" - layer = SPLASHSCREEN_LAYER - plane = SPLASHSCREEN_PLANE - bullet_bounce_sound = null - -/turf/closed/indestructible/splashscreen/New() - SStitle.splash_turf = src - if(SStitle.icon) - icon = SStitle.icon - ..() - -/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value) +/// Damage Code + +// negative values reduce integrity, positive values increase integrity. +// Devastate forces a devestate, safe decon prevents it. +/turf/closed/proc/alter_integrity(damage, mob/user, devastate = FALSE, safe_decon = FALSE) + integrity += damage + if(integrity >= max_integrity) + integrity = max_integrity + if(integrity <= 0) + if(safe_decon) + dismantle_wall(FALSE, user) + return FALSE + // if damage put us 50 points or more below 0, and not safe decon we got proper demolished + if(integrity <= -50) + dismantle_wall(TRUE, user) + return FALSE + if(devastate) + dismantle_wall(TRUE, user) + return FALSE + dismantle_wall(FALSE,user) + return FALSE + integrity = min(integrity, max_integrity) + update_stats() + return integrity + +/turf/closed/proc/set_integrity(amount,devastate = FALSE, mob/user) + integrity = amount + update_stats() + if(integrity <= 0) + dismantle_wall(devastate, user) + +/turf/closed/proc/dismantle_wall(devastate = FALSE, mob/user) + for(var/obj/structure/sign/poster/P in src.contents) //Eject contents! + P.roll_and_drop(src) + + ScrapeAway() + +/turf/closed/proc/update_stats() + update_appearance() + +/turf/closed/bullet_act(obj/projectile/P) . = ..() - if(.) - switch(var_name) - if(NAMEOF(src, icon)) - SStitle.icon = icon - - -/turf/closed/indestructible/reinforced - name = "reinforced wall" - desc = "A huge chunk of reinforced metal used to separate rooms. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/rwalls/reinforced_wall.dmi' - icon_state = "reinforced_wall-0" - base_icon_state = "reinforced_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) - canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - -/turf/closed/indestructible/titanium - name = "wall" - desc = "A light-weight titanium wall used in shuttles. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-0" - base_icon_state = "shuttle_wall" - flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS) - canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) - -/turf/closed/indestructible/riveted - icon = 'icons/turf/walls/riveted.dmi' - icon_state = "riveted-0" - base_icon_state = "riveted" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS) - canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) - -/turf/closed/indestructible/syndicate - icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS) - canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS) - -/turf/closed/indestructible/riveted/uranium - icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-0" - base_icon_state = "uranium_wall" - smoothing_flags = SMOOTH_BITMASK - -/turf/closed/indestructible/riveted/plastinum - name = "plastinum wall" - desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/plastinum_wall.dmi' - icon_state = "plastinum_wall-0" - base_icon_state = "plastinum_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - -/turf/closed/indestructible/wood - icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-0" - base_icon_state = "wood_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) - canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - - -/turf/closed/indestructible/alien - name = "alien wall" - desc = "A wall with alien alloy plating." - icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-0" - base_icon_state = "abductor_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) - canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS) - - -/turf/closed/indestructible/cult - name = "runed metal wall" - desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/cult_wall.dmi' - icon_state = "cult_wall-0" - base_icon_state = "cult_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS) - canSmoothWith = list(SMOOTH_GROUP_WALLS) - - -/turf/closed/indestructible/abductor - icon_state = "alien1" - -/turf/closed/indestructible/opshuttle - icon_state = "wall3" - - -/turf/closed/indestructible/fakeglass - name = "window" - icon = 'icons/obj/smooth_structures/reinforced_window.dmi' - icon_state = "fake_window" - base_icon_state = "reinforced_window" - opacity = FALSE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE) - canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE) - -/turf/closed/indestructible/fakeglass/Initialize(mapload, inherited_virtual_z) + var/dam = get_proj_damage(P) + var/shooter = P.firer + if(!dam) + return + if(P.suppressed != SUPPRESSED_VERY) + visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) + if(!QDELETED(src)) + add_dent(WALL_DENT_SHOT) + alter_integrity(-dam, shooter) + +/turf/closed/proc/get_item_damage(obj/item/I, t_min = min_dam) + var/dam = I.force + if(istype(I, /obj/item/clothing/gloves/gauntlets)) + dam = 20 + else if(I.tool_behaviour == TOOL_MINING) + dam *= (4/3) + else + switch(I.damtype) + if(BRUTE) + if(I.get_sharpness()) + dam *= 2/3 + if(BURN) + dam *= burn_mod + else + return 0 + // if dam is below t_min, then the hit has no effect + return (dam < t_min ? 0 : dam) + +/turf/closed/proc/get_proj_damage(obj/projectile/P, t_min = min_dam) + var/dam = P.damage + if(proj_bonus_damage_flags & P.wall_damage_flags) + dam = P.wall_damage_override + else + switch(P.damage_type) + if(BRUTE) + dam *= brute_mod + if(BURN) + dam *= burn_mod + else + return 0 + // if dam is below t_min, then the hit has no effect + return (dam < t_min ? 0 : dam) + +/turf/closed/ex_act(severity, target) + if(target == src || !density) + return ..() + switch(severity) + if(EXPLODE_DEVASTATE) + // SN src = null + var/turf/NT = ScrapeAway() + NT.contents_explosion(severity, target) + return + if(EXPLODE_HEAVY) + alter_integrity(rand(-500, -800)) + if(EXPLODE_LIGHT) + alter_integrity(rand(-200, -700)) + +/turf/closed/attack_paw(mob/living/user) + user.changeNext_move(CLICK_CD_MELEE) + return attack_hand(user) + +/turf/closed/attack_hand(mob/user) . = ..() - underlays += mutable_appearance('icons/obj/structures.dmi', "grille") //add a grille underlay - underlays += mutable_appearance('icons/turf/floors.dmi', "plating") //add the plating underlay, below the grille + if(.) + return + user.changeNext_move(CLICK_CD_MELEE) + to_chat(user, "You push \the [src] but nothing happens!") + playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) + add_fingerprint(user) + +/turf/closed/attackby(obj/item/W, mob/user, params) + user.changeNext_move(CLICK_CD_MELEE) + if (!user.IsAdvancedToolUser()) + to_chat(user, "You don't have the dexterity to do this!") + return + + //get the user's location + if(!isturf(user.loc)) + return //can't do this stuff whilst inside objects and such + + add_fingerprint(user) + + var/turf/T = user.loc //get user's location for delay checks + + attack_override(W,user,T) + return ..() + +/turf/closed/proc/attack_override(obj/item/W, mob/user, turf/loc) + //the istype cascade has been spread among various procs for easy overriding or if we want to call something specific + if(try_decon(W, user, loc) || try_destroy(W, user, loc)) + return + +// catch-all for using most items on the closed turf -- attempt to smash +/turf/closed/proc/try_destroy(obj/item/W, mob/user, turf/T) + var/dam = get_item_damage(W) + user.do_attack_animation(src) + if(!dam) + to_chat(user, "[W] isn't strong enough to damage [src]!") + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + return TRUE + log_combat(user, src, "attacked", W) + user.visible_message("[user] hits [src] with [W]!", \ + "You hit [src] with [W]!", null, COMBAT_MESSAGE_RANGE) + switch(W.damtype) + if(BRUTE) + playsound(src,attack_hitsound, 100, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + add_dent(WALL_DENT_HIT) + alter_integrity(-dam, user) + return TRUE +/turf/closed/proc/try_decon(obj/item/I, mob/user, turf/T) + if(I.tool_behaviour == TOOL_WELDER) + if(!I.tool_start_check(user, amount=0)) + return FALSE -/turf/closed/indestructible/opsglass - name = "window" - icon = 'icons/obj/smooth_structures/plastitanium_window.dmi' - icon_state = "plastitanium_window-0" - base_icon_state = "plastitanium_window" - opacity = FALSE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) - canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + to_chat(user, "You begin slicing through the outer plating...") + while(I.use_tool(src, user, breakdown_duration, volume=50)) + if(iswallturf(src)) + to_chat(user, "You slice through some of the outer plating...") + alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE) -/turf/closed/indestructible/opsglass/Initialize() - . = ..() - icon_state = null - underlays += mutable_appearance('icons/obj/structures.dmi', "grille") - underlays += mutable_appearance('icons/turf/floors.dmi', "plating") - -/turf/closed/indestructible/fakedoor - name = "CentCom Access" - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - icon_state = "fakedoor" - -/turf/closed/indestructible/rock - name = "dense rock" - desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." - icon = 'icons/turf/walls/rock_wall.dmi' - icon_state = "rock_wall-0" - base_icon_state = "rock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) - canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) - no_connector_typecache = list(/turf/closed/mineral, /turf/closed/indestructible/rock) - connector_icon = 'icons/turf/connectors/smoothrocks_connector.dmi' - connector_icon_state = "smoothrocks_connector" - pixel_x = -4 - pixel_y = -4 - -/turf/closed/indestructible/rock/snow - name = "mountainside" - desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." - icon = 'icons/turf/walls/icerock_wall.dmi' - icon_state = "icerock_wall-0" - base_icon_state = "icerock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) - canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) - pixel_x = -4 - pixel_y = -4 - bullet_sizzle = TRUE - bullet_bounce_sound = null - -/turf/closed/indestructible/rock/schist - name = "schist" - desc = "Extremely densely-packed layers of schist. Say it ten times fast." - icon = 'icons/turf/walls/rockwall_icemoon.dmi' - icon_state = "rockwall_icemoon-0" - base_icon_state = "rockwall_icemoon" - -/turf/closed/indestructible/paper - name = "thick paper wall" - desc = "A wall layered with impenetrable sheets of paper." - icon = 'icons/turf/walls.dmi' - icon_state = "paperwall" - -/turf/closed/indestructible/necropolis - name = "necropolis wall" - desc = "A seemingly impenetrable wall." - icon = 'icons/turf/walls.dmi' - icon_state = "necro" - explosion_block = 50 - baseturfs = /turf/closed/indestructible/necropolis - -/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) - underlay_appearance.icon = 'icons/turf/floors.dmi' - underlay_appearance.icon_state = "necro1" - return TRUE + return FALSE -/turf/closed/indestructible/riveted/boss - name = "thick stone wall" - desc = "A thick, seemingly indestructible stone wall." - icon = 'icons/turf/walls/boss_wall.dmi' - icon_state = "boss_wall-0" - base_icon_state = "boss_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS) - canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS) - explosion_block = 50 - baseturfs = /turf/closed/indestructible/riveted/boss - -/turf/closed/indestructible/riveted/boss/see_through - opacity = FALSE - -/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) - underlay_appearance.icon = 'icons/turf/floors.dmi' - underlay_appearance.icon_state = "basalt" +/turf/closed/mech_melee_attack(obj/mecha/M) + M.do_attack_animation(src) + switch(M.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + if(TOX) + playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) + + + if(prob(hardness + M.force) && M.force > 20) + M.visible_message("[M.name] hits [src] with great force!", \ + "You hit [src] with incredible force!", null, COMBAT_MESSAGE_RANGE) + dismantle_wall(TRUE) + playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) + else + M.visible_message("[M.name] hits [src]!", \ + "You hit [src]!", null, COMBAT_MESSAGE_RANGE) + alter_integrity(M.force * 20) + +/turf/closed/attack_hulk(mob/living/carbon/user) + ..() + var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] + if(!arm || arm.bodypart_disabled) + return + alter_integrity(-250,user) + user.visible_message("[user] smashes \the [src]!", \ + "You smash \the [src]!", \ + "You hear a booming smash!") return TRUE -/turf/closed/indestructible/riveted/hierophant - name = "wall" - desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." - icon = 'icons/turf/walls/hierophant_wall.dmi' - icon_state = "wall" - smoothing_flags = SMOOTH_CORNERS - smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL) - canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL) - -/turf/closed/indestructible/blank - name = "space" - desc = "It's the end of the world every day, for someone." - icon = 'icons/turf/space.dmi' - icon_state = "black" - explosion_block = 1000 // fuck it, let's go higher +/turf/closed/attack_animal(mob/living/simple_animal/M) + M.changeNext_move(CLICK_CD_MELEE) + M.do_attack_animation(src) + if((M.environment_smash & mob_smash_flags)) + playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) + alter_integrity(-400) + return diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm new file mode 100644 index 000000000000..5c3b554c98dd --- /dev/null +++ b/code/game/turfs/closed/indestructible.dm @@ -0,0 +1,308 @@ +/turf/closed/indestructible + name = "wall" + desc = "Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls.dmi' + explosion_block = 50 + max_integrity = 10000000 + +/turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) + return + +/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id) + return 0 + +/turf/closed/indestructible/ex_act(severity, target) + return + +/turf/closed/indestructible/alter_integrity(damage, mob/user, devastate, safe_decon) + return FALSE + +/turf/closed/indestructible/set_integrity(amount, devastate, mob/user) + return + +/turf/closed/indestructible/dismantle_wall(devastate, mob/user) + return + +/turf/closed/indestructible/try_decon(obj/item/I, mob/user, turf/T) + return FALSE + +/turf/closed/indestructible/try_destroy(obj/item/W, mob/user, turf/T) + user.do_attack_animation(src) + to_chat(user, "[W] isn't strong enough to damage [src]!") + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + return TRUE + +/turf/closed/indestructible/mech_melee_attack(obj/mecha/M) + M.do_attack_animation(src) + switch(M.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + if(TOX) + playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) + M.visible_message("[M.name] hits [src] and doesn't even leave a mark!", \ + "You hit [src] and fail to damage it.", null, COMBAT_MESSAGE_RANGE) + +/turf/closed/indestructible/attack_hulk(mob/living/carbon/user) + return FALSE + +/turf/closed/indestructible/attack_animal(mob/living/simple_animal/M) + M.changeNext_move(CLICK_CD_MELEE) + M.do_attack_animation(src) + return + +/turf/closed/indestructible/Melt() + to_be_destroyed = FALSE + return src + +/turf/closed/indestructible/singularity_act() + return + +/turf/closed/indestructible/sandstone + name = "sandstone wall" + desc = "A wall with sandstone plating. Rough." + icon = 'icons/turf/walls/sandstone_wall.dmi' + icon_state = "sandstone_wall-0" + base_icon_state = "sandstone_wall" + baseturfs = /turf/closed/indestructible/sandstone + smoothing_flags = SMOOTH_BITMASK + +/turf/closed/indestructible/splashscreen + name = "Space Station 13" + icon = 'icons/blank_title.png' + icon_state = "" + layer = SPLASHSCREEN_LAYER + plane = SPLASHSCREEN_PLANE + bullet_bounce_sound = null + +/turf/closed/indestructible/splashscreen/New() + SStitle.splash_turf = src + if(SStitle.icon) + icon = SStitle.icon + ..() + +/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value) + . = ..() + if(.) + switch(var_name) + if(NAMEOF(src, icon)) + SStitle.icon = icon + + +/turf/closed/indestructible/reinforced + name = "reinforced wall" + desc = "A huge chunk of reinforced metal used to separate rooms. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/rwalls/reinforced_wall.dmi' + icon_state = "reinforced_wall-0" + base_icon_state = "reinforced_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) + +/turf/closed/indestructible/titanium + name = "wall" + desc = "A light-weight titanium wall used in shuttles. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/shuttle_wall.dmi' + icon_state = "shuttle_wall-0" + base_icon_state = "shuttle_wall" + flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS) + canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) + +/turf/closed/indestructible/riveted + icon = 'icons/turf/walls/riveted.dmi' + icon_state = "riveted-0" + base_icon_state = "riveted" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS) + canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) + +/turf/closed/indestructible/syndicate + icon = 'icons/turf/walls/plastitanium_wall.dmi' + icon_state = "plastitanium_wall-0" + base_icon_state = "plastitanium_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS) + canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS) + +/turf/closed/indestructible/riveted/uranium + icon = 'icons/turf/walls/uranium_wall.dmi' + icon_state = "uranium_wall-0" + base_icon_state = "uranium_wall" + smoothing_flags = SMOOTH_BITMASK + +/turf/closed/indestructible/riveted/plastinum + name = "plastinum wall" + desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/plastinum_wall.dmi' + icon_state = "plastinum_wall-0" + base_icon_state = "plastinum_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + +/turf/closed/indestructible/wood + icon = 'icons/turf/walls/wood_wall.dmi' + icon_state = "wood_wall-0" + base_icon_state = "wood_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) + + +/turf/closed/indestructible/alien + name = "alien wall" + desc = "A wall with alien alloy plating." + icon = 'icons/turf/walls/abductor_wall.dmi' + icon_state = "abductor_wall-0" + base_icon_state = "abductor_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) + canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS) + + +/turf/closed/indestructible/cult + name = "runed metal wall" + desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/cult_wall.dmi' + icon_state = "cult_wall-0" + base_icon_state = "cult_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS) + canSmoothWith = list(SMOOTH_GROUP_WALLS) + + +/turf/closed/indestructible/abductor + icon_state = "alien1" + +/turf/closed/indestructible/opshuttle + icon_state = "wall3" + + +/turf/closed/indestructible/fakeglass + name = "window" + icon = 'icons/obj/smooth_structures/reinforced_window.dmi' + icon_state = "fake_window" + base_icon_state = "reinforced_window" + opacity = FALSE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE) + canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE) + +/turf/closed/indestructible/fakeglass/Initialize(mapload, inherited_virtual_z) + . = ..() + underlays += mutable_appearance('icons/obj/structures.dmi', "grille") //add a grille underlay + underlays += mutable_appearance('icons/turf/floors.dmi', "plating") //add the plating underlay, below the grille + + +/turf/closed/indestructible/opsglass + name = "window" + icon = 'icons/obj/smooth_structures/plastitanium_window.dmi' + icon_state = "plastitanium_window-0" + base_icon_state = "plastitanium_window" + opacity = FALSE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + +/turf/closed/indestructible/opsglass/Initialize() + . = ..() + icon_state = null + underlays += mutable_appearance('icons/obj/structures.dmi', "grille") + underlays += mutable_appearance('icons/turf/floors.dmi', "plating") + +/turf/closed/indestructible/fakedoor + name = "CentCom Access" + icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' + icon_state = "fakedoor" + +/turf/closed/indestructible/rock + name = "dense rock" + desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." + icon = 'icons/turf/walls/rock_wall.dmi' + icon_state = "rock_wall-0" + base_icon_state = "rock_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + no_connector_typecache = list(/turf/closed/mineral, /turf/closed/indestructible/rock) + connector_icon = 'icons/turf/connectors/smoothrocks_connector.dmi' + connector_icon_state = "smoothrocks_connector" + pixel_x = -4 + pixel_y = -4 + +/turf/closed/indestructible/rock/snow + name = "mountainside" + desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." + icon = 'icons/turf/walls/icerock_wall.dmi' + icon_state = "icerock_wall-0" + base_icon_state = "icerock_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + pixel_x = -4 + pixel_y = -4 + bullet_sizzle = TRUE + bullet_bounce_sound = null + +/turf/closed/indestructible/rock/schist + name = "schist" + desc = "Extremely densely-packed layers of schist. Say it ten times fast." + icon = 'icons/turf/walls/rockwall_icemoon.dmi' + icon_state = "rockwall_icemoon-0" + base_icon_state = "rockwall_icemoon" + +/turf/closed/indestructible/paper + name = "thick paper wall" + desc = "A wall layered with impenetrable sheets of paper." + icon = 'icons/turf/walls.dmi' + icon_state = "paperwall" + +/turf/closed/indestructible/necropolis + name = "necropolis wall" + desc = "A seemingly impenetrable wall." + icon = 'icons/turf/walls.dmi' + icon_state = "necro" + explosion_block = 50 + baseturfs = /turf/closed/indestructible/necropolis + +/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "necro1" + return TRUE + +/turf/closed/indestructible/riveted/boss + name = "thick stone wall" + desc = "A thick, seemingly indestructible stone wall." + icon = 'icons/turf/walls/boss_wall.dmi' + icon_state = "boss_wall-0" + base_icon_state = "boss_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS) + canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS) + explosion_block = 50 + baseturfs = /turf/closed/indestructible/riveted/boss + +/turf/closed/indestructible/riveted/boss/see_through + opacity = FALSE + +/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + +/turf/closed/indestructible/riveted/hierophant + name = "wall" + desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." + icon = 'icons/turf/walls/hierophant_wall.dmi' + icon_state = "wall" + smoothing_flags = SMOOTH_CORNERS + smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL) + canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL) + +/turf/closed/indestructible/blank + name = "space" + desc = "It's the end of the world every day, for someone." + icon = 'icons/turf/space.dmi' + icon_state = "black" + explosion_block = 1000 // fuck it, let's go higher diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 33fcf315fc52..0d9b3205cc27 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -30,8 +30,20 @@ var/x_offset = -4 var/y_offset = -4 + attack_hitsound = 'sound/effects/break_stone.ogg' + break_sound = 'sound/effects/break_stone.ogg' hitsound_type = PROJECTILE_HITSOUND_STONE + min_dam = 5 + max_integrity = MINERAL_WALL_INTEGRITY + brute_mod = 1 + burn_mod = 1 + + mob_smash_flags = ENVIRONMENT_SMASH_MINERALS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + + overlay_layer = ON_EDGED_TURF_LAYER + /turf/closed/mineral/Initialize(mapload, inherited_virtual_z) . = ..() if(has_borders) @@ -66,33 +78,38 @@ return TRUE return ..() - -/turf/closed/mineral/attackby(obj/item/I, mob/user, params) - if (!user.IsAdvancedToolUser()) - to_chat(usr, "You don't have the dexterity to do this!") - return - +/turf/closed/mineral/try_decon(obj/item/I, mob/user, turf/T) if(I.tool_behaviour == TOOL_MINING) - var/turf/T = user.loc - if (!isturf(T)) - return + if(!I.tool_start_check(user, amount=0)) + return FALSE - if(last_act + (40 * I.toolspeed) > world.time)//prevents message spam - return - last_act = world.time - balloon_alert(user, "digging...") - - if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You begin breaking through the rock...") + while(I.use_tool(src, user, breakdown_duration, volume=50)) if(ismineralturf(src)) - gets_drilled(user, TRUE) + to_chat(user, "You break through some of the stone...") SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type) + alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE) + + return FALSE + +/turf/closed/mineral/dismantle_wall(devastate = FALSE,mob/user) + var/slagged = 0 + if(devastate == TRUE) + slagged = 100 + if(ismineralturf(src)) + gets_drilled(user, TRUE, slagged) else - return attack_hand(user) + return FALSE -/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE) +/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE, slag_chance = 0) if (mineralType && (mineralAmt > 0)) - new mineralType(src, mineralAmt) - SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) + //oops, you ruined the ore + if(prob(slag_chance)) + new /obj/item/stack/ore/slag(src,mineralAmt) + visible_message(span_warning("The ore was completely ruined!")) + else + new mineralType(src, mineralAmt) + SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) if(ishuman(user)) var/mob/living/carbon/human/H = user if(give_exp) @@ -106,9 +123,10 @@ var/flags = NONE if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE + playsound(src, break_sound, 50, TRUE) //beautiful destruction ScrapeAway(null, flags) addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) - playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction + /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS) || (user.environment_smash & ENVIRONMENT_SMASH_MINERALS)) @@ -128,7 +146,10 @@ var/mob/living/carbon/human/H = AM var/obj/item/I = H.is_holding_tool_quality(TOOL_MINING) if(I) - attackby(I, H) + if(last_act + (40 * I.toolspeed) > world.time)//prevents message spam + return + last_act = world.time + try_decon(I, H) return else if(iscyborg(AM)) var/mob/living/silicon/robot/R = AM diff --git a/code/game/turfs/closed/wall/conc_walls.dm b/code/game/turfs/closed/wall/conc_walls.dm index 6f0487ff39b7..aa5845b1144b 100644 --- a/code/game/turfs/closed/wall/conc_walls.dm +++ b/code/game/turfs/closed/wall/conc_walls.dm @@ -11,34 +11,26 @@ hardness = 30 // doesn't matter much; everything that uses it gets overridden explosion_block = 3 break_sound = 'sound/effects/break_stone.ogg' + attack_hitsound = 'sound/effects/hit_stone.ogg' + hitsound_type = PROJECTILE_HITSOUND_STONE sheet_type = null girder_type = /obj/structure/grille - // The wall will ignore damage from weak items, depending on their - // force, damage type, tool behavior, and sharpness. This is the minimum - // amount of force that a blunt, brute item must have to damage the wall. - var/min_dam = 8 - // This should all be handled by integrity should that ever be expanded to walls. - var/max_health = 650 - var/health - // used to give mining projectiles a bit of an edge against conc walls - var/static/list/extra_dam_proj = typecacheof(list( - /obj/projectile/kinetic, - /obj/projectile/destabilizer, - /obj/projectile/plasma - )) - var/time_to_harden = 30 SECONDS // fraction ranging from 0 to 1 -- 0 is fully soft, 1 is fully hardened // don't change this in subtypes unless you want them to spawn in soft on maps var/harden_lvl = 1 - var/mutable_appearance/crack_overlay + burn_mod = 0.66 + repair_amount = 0 + //mining projectiles do extra damage + extra_dam_proj = list( + /obj/projectile/kinetic, + /obj/projectile/destabilizer, + /obj/projectile/plasma) /turf/closed/wall/concrete/Initialize(mapload, ...) . = ..() - if(health == null) - health = max_health check_harden() update_stats() @@ -46,9 +38,9 @@ . = ..() // by this point it's guaranteed to be a concrete wall var/turf/closed/wall/concrete/conc_wall = T - if(conc_wall.health != health || conc_wall.harden_lvl != harden_lvl) + if(conc_wall.integrity != integrity || conc_wall.harden_lvl != harden_lvl) conc_wall.harden_lvl = harden_lvl - conc_wall.health = health + conc_wall.integrity = integrity // very much not a fan of all the repetition here, // but there's unfortunately no easy way around it conc_wall.check_harden() @@ -68,17 +60,7 @@ add_filter("harden", 1, color_matrix_filter(col_filter, FILTER_COLOR_RGB)) return -/turf/closed/wall/concrete/update_overlays() - . = ..() - var/adj_dam_pct = 1 - (health/(max_health*0.7)) - if(adj_dam_pct <= 0) - return - if(!crack_overlay) - crack_overlay = mutable_appearance('icons/effects/concrete_damage.dmi', "cracks", BULLET_HOLE_LAYER) - crack_overlay.alpha = adj_dam_pct*255 - . += crack_overlay - -// we use this to show health + drying percentage +// we use this to show integrity + drying percentage /turf/closed/wall/concrete/deconstruction_hints(mob/user) . = list() . += "[p_they(TRUE)] look[p_s()] like you could smash [p_them()]." @@ -89,19 +71,12 @@ . += "[p_they(TRUE)] look[p_s()] a little wet." if(0 to 0.4) . += "[p_they(TRUE)] look[p_s()] freshly poured." - switch(health / max_health) - if(0.5 to 0.99) - . += "[p_they(TRUE)] look[p_s()] slightly damaged." - if(0.25 to 0.5) - . += "[p_they(TRUE)] appear[p_s()] heavily damaged." - if(0 to 0.25) - . += "[p_theyre(TRUE)] falling apart!" return /turf/closed/wall/concrete/create_girder() var/obj/girder = ..() - if(health < 0) - girder.take_damage(min(abs(health), 50)) + if(integrity < 0) + girder.take_damage(min(abs(integrity), 50)) return girder /turf/closed/wall/concrete/proc/check_harden() @@ -115,66 +90,16 @@ STOP_PROCESSING(SSobj, src) update_stats() -/turf/closed/wall/concrete/proc/update_stats() +/turf/closed/wall/concrete/update_stats() + .= .. () // explosion block is diminished on a damaged / soft wall - explosion_block = (health / max_health) * harden_lvl * initial(explosion_block) - update_appearance() + explosion_block = (integrity / max_integrity) * harden_lvl * initial(explosion_block) -/turf/closed/wall/concrete/proc/alter_health(delta) +/turf/closed/wall/concrete/alter_integrity(damage) // 8x as vulnerable when unhardened - if(delta < 0) - delta *= 1 + 7*(1-harden_lvl) - health += delta - if(health <= 0) - // if damage put us 50 points or more below 0, we got proper demolished - dismantle_wall(health <= -50 ? TRUE : FALSE) - return FALSE - health = min(health, max_health) - update_stats() - return health - -/turf/closed/wall/concrete/ex_act(severity, target) - if(target == src || !density) - return ..() - switch(severity) - if(EXPLODE_DEVASTATE) - alter_health(-2000) - if(EXPLODE_HEAVY) - alter_health(rand(-500, -800)) - if(EXPLODE_LIGHT) - alter_health(rand(-200, -700)) - -/turf/closed/wall/concrete/bullet_act(obj/projectile/P) - . = ..() - var/dam = get_proj_damage(P) - if(!dam) - return - if(P.suppressed != SUPPRESSED_VERY) - visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) - if(!QDELETED(src)) - alter_health(-dam) - -/turf/closed/wall/concrete/attack_animal(mob/living/simple_animal/M) - M.changeNext_move(CLICK_CD_MELEE) - M.do_attack_animation(src) - if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - alter_health(-400) - return - -/turf/closed/wall/concrete/attack_hulk(mob/living/carbon/user) - SEND_SIGNAL(src, COMSIG_ATOM_HULK_ATTACK, user) - log_combat(user, src, "attacked") - var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] - if(!arm || arm.bodypart_disabled) - return FALSE - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - user.visible_message("[user] smashes \the [src]!", \ - "You smash \the [src]!", \ - "You hear a booming smash!") - user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") - alter_health(-250) - return TRUE + if(damage < 0) + damage *= 1 + 7*(1-harden_lvl) + .= ..() /turf/closed/wall/concrete/mech_melee_attack(obj/mecha/M) M.do_attack_animation(src) @@ -184,7 +109,7 @@ "You hit [src]!", null, COMBAT_MESSAGE_RANGE) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - alter_health(M.force * -20) + alter_integrity(M.force * -20) if(BURN) playsound(src, 'sound/items/welder.ogg', 100, TRUE) if(TOX) @@ -198,60 +123,14 @@ /turf/closed/wall/concrete/try_decon(obj/item/W, mob/user, turf/T) return null -// catch-all for using most items on the wall -- attempt to smash -/turf/closed/wall/concrete/try_destroy(obj/item/W, mob/user, turf/T) - var/dam = get_item_damage(W) - user.do_attack_animation(src) - if(!dam) - to_chat(user, "[W] isn't strong enough to damage [src]!") - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) - return TRUE - log_combat(user, src, "attacked", W) - user.visible_message("[user] hits [src] with [W]!", \ - "You hit [src] with [W]!", null, COMBAT_MESSAGE_RANGE) - switch(W.damtype) - if(BRUTE) - playsound(src, 'sound/effects/hit_stone.ogg', 50, TRUE) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - alter_health(-dam) - return TRUE +/turf/closed/wall/concrete/get_item_damage(obj/item/I, t_min = min_dam) + t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable + . = .. () -/turf/closed/wall/concrete/proc/get_item_damage(obj/item/I) - var/dam = I.force - if(istype(I, /obj/item/clothing/gloves/gauntlets)) - dam = 20 - else if(I.tool_behaviour == TOOL_MINING) - dam *= (4/3) - else - switch(I.damtype) - if(BRUTE) - if(I.get_sharpness()) - dam *= 2/3 - if(BURN) - dam *= 2/3 - else - return 0 - var/t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable - // if dam is below t_min, then the hit has no effect - return (dam < t_min ? 0 : dam) -/turf/closed/wall/concrete/proc/get_proj_damage(obj/projectile/P) - var/dam = P.damage - // mining projectiles have an edge - if(is_type_in_typecache(P, extra_dam_proj)) - dam = max(dam, 30) - else - switch(P.damage_type) - if(BRUTE) - dam *= 1 - if(BURN) - dam *= 2/3 - else - return 0 - var/t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable - // if dam is below t_min, then the hit has no effect - return (dam < t_min ? 0 : dam) +/turf/closed/wall/concrete/get_proj_damage(obj/projectile/P, t_min = min_dam) + t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable + . = ..() /turf/closed/wall/concrete/reinforced name = "hexacrete wall" @@ -266,7 +145,7 @@ girder_type = /obj/structure/girder min_dam = 13 - max_health = 1300 + max_integrity = 1300 time_to_harden = 60 SECONDS // requires ENVIRONMENT_SMASH_RWALLS for simplemobs to break @@ -276,7 +155,7 @@ if(!M.environment_smash) return if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS) - alter_health(-600) // 3 hits to kill + alter_integrity(-600) // 3 hits to kill playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) else playsound(src, 'sound/effects/bang.ogg', 50, TRUE) diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm index 53dbb9479f3b..04d4bc7895d6 100644 --- a/code/game/turfs/closed/wall/mineral_walls.dm +++ b/code/game/turfs/closed/wall/mineral_walls.dm @@ -23,6 +23,8 @@ connector_icon = 'icons/turf/connectors/gold_wall_connector.dmi' connector_icon_state = "gold_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold) + max_integrity = 150 + brute_mod = 1.5 /turf/closed/wall/mineral/gold/yesdiag icon_state = "gold_wall-255" @@ -41,6 +43,8 @@ connector_icon = 'icons/turf/connectors/silver_wall_connector.dmi' connector_icon_state = "silver_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver) + max_integrity = 150 + brute_mod = 1.5 /turf/closed/wall/mineral/silver/yesdiag icon_state = "silver_wall-255" @@ -53,7 +57,7 @@ icon_state = "diamond_wall-0" base_icon_state = "diamond_wall" sheet_type = /obj/item/stack/sheet/mineral/diamond - slicing_duration = 200 //diamond wall takes twice as much time to slice + breakdown_duration = 50 explosion_block = 3 smoothing_flags = SMOOTH_BITMASK | SMOOTH_CONNECTORS smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS) @@ -63,6 +67,7 @@ no_connector_typecache = list(/turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond) hitsound_type = PROJECTILE_HITSOUND_GLASS + max_integrity = 800 /turf/closed/wall/mineral/diamond/yesdiag icon_state = "diamond_wall-255" @@ -84,6 +89,8 @@ no_connector_typecache = list(/turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone) hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 150 + min_dam = 5 /turf/closed/wall/mineral/sandstone/yesdiag icon_state = "sandstone_wall-255" @@ -103,6 +110,7 @@ connector_icon = 'icons/turf/connectors/uranium_wall_connector.dmi' connector_icon_state = "uranium_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium) + max_integrity = 600 /turf/closed/wall/mineral/uranium/yesdiag icon_state = "uranium_wall-255" @@ -170,6 +178,8 @@ no_connector_typecache = list(/turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma) hitsound_type = PROJECTILE_HITSOUND_GLASS + max_integrity = 300 + burn_mod = 3 /turf/closed/wall/mineral/plasma/yesdiag icon_state = "plasma_wall-255" @@ -221,6 +231,9 @@ no_connector_typecache = list(/turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood) hitsound_type = PROJECTILE_HITSOUND_WOOD + max_integrity = 75 + burn_mod = 3 + min_dam = 3 /turf/closed/wall/mineral/wood/yesdiag icon_state = "wood_wall-255" @@ -260,6 +273,8 @@ connector_icon_state = "iron_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron) + max_integrity = 300 + /turf/closed/wall/mineral/iron/yesdiag icon_state = "iron_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -278,7 +293,7 @@ no_connector_typecache = list(/turf/closed/wall/mineral/snow) hardness = 80 explosion_block = 0 - slicing_duration = 30 + breakdown_duration = 30 sheet_type = /obj/item/stack/sheet/mineral/snow canSmoothWith = null girder_type = null @@ -287,6 +302,11 @@ hitsound_type = PROJECTILE_HITSOUND_SNOW + max_integrity = 50 + burn_mod = 3 + brute_mod = 1.5 + min_dam = 1 + /turf/closed/wall/mineral/snow/yesdiag icon_state = "snow_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -298,12 +318,14 @@ icon_state = "abductor_wall-0" base_icon_state = "abductor_wall" sheet_type = /obj/item/stack/sheet/mineral/abductor - slicing_duration = 200 //alien wall takes twice as much time to slice + breakdown_duration = 100 //alien wall takes twice as much time to slice explosion_block = 3 smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS,SMOOTH_GROUP_AIRLOCK) + max_integrity = 1000 + /////////////////////Titanium walls///////////////////// /turf/closed/wall/mineral/titanium //has to use this path due to how building walls works @@ -322,6 +344,8 @@ hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 450 + /turf/closed/wall/mineral/titanium/exterior smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR) canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) @@ -400,6 +424,8 @@ hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 500 + /turf/closed/wall/mineral/plastitanium/nodiagonal icon = 'icons/turf/walls/plastitanium_wall.dmi' icon_state = "map-shuttle_nd" diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index 7fbcab55504a..b674e25fc8f8 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -10,6 +10,8 @@ sheet_amount = 1 girder_type = /obj/structure/girder/cult + max_integrity = 600 + /turf/closed/wall/mineral/cult/Initialize(mapload, inherited_virtual_z) new /obj/effect/temp_visual/cult/turf(src) . = ..() @@ -47,8 +49,9 @@ smoothing_flags = SMOOTH_BITMASK canSmoothWith = null hardness = 35 - slicing_duration = 150 //welding through the ice+metal + breakdown_duration = 40 bullet_sizzle = TRUE + burn_mod = 2 /turf/closed/wall/rust name = "rusted wall" @@ -58,6 +61,8 @@ base_icon_state = "rusty_wall" smoothing_flags = SMOOTH_BITMASK hardness = 45 + max_integrity = 300 + min_dam = 5 /turf/closed/wall/rust/yesdiag icon_state = "rusty_wall-255" @@ -71,6 +76,8 @@ base_icon_state = "rusty_reinforced_wall" smoothing_flags = SMOOTH_BITMASK hardness = 15 + integrity = 1000 + min_dam = 5 /turf/closed/wall/r_wall/rust/yesdiag icon_state = "rusty_reinforced_wall-255" diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 1bd8f6783fd5..ed2f0141eaff 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -21,6 +21,11 @@ ///Dismantled state, related to deconstruction. var/d_state = INTACT + max_integrity = 1400 + + mob_smash_flags = ENVIRONMENT_SMASH_RWALLS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_RWALLS + /turf/closed/wall/r_wall/yesdiag icon_state = "reinforced_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -54,28 +59,37 @@ playsound(src, 'sound/effects/bang.ogg', 50, TRUE) to_chat(M, "This wall is far too strong for you to destroy.") -/turf/closed/wall/r_wall/try_destroy(obj/item/I, mob/user, turf/T) - if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to smash though [src]...") - if(do_after(user, 75, target = src)) - if(!istype(src, /turf/closed/wall/r_wall)) - return TRUE - I.play_tool_sound(src) - visible_message("[user] smashes through [src] with [I]!", "You hear the grinding of metal.") - dismantle_wall() - return TRUE - return FALSE +/turf/closed/wall/r_wall/update_stats() + var/integrity_per_state = max_integrity/7 + d_state = (7 - round(integrity/integrity_per_state)) + .= ..() + +/// Calculate how much integrity the r-wall should have a a given state. +/turf/closed/wall/r_wall/proc/get_state_integrity(state) + if(state > INTACT) + state = INTACT + if(state < SHEATH) + state = SHEATH + return max_integrity - ((max_integrity/7) * state) /turf/closed/wall/r_wall/try_decon(obj/item/W, mob/user, turf/T) //DECONSTRUCTION + if(istype(W,/obj/item/gun/energy/plasmacutter)) + to_chat(user, "You begin slicing through the [src].") + while(W.use_tool(src,user,30,volume = 100)) + to_chat(user, "You slice through some of the outer plating...") + alter_integrity(-(W.wall_decon_damage)) + return 1 + switch(d_state) if(INTACT) if(W.tool_behaviour == TOOL_WIRECUTTER) - W.play_tool_sound(src, 100) - d_state = SUPPORT_LINES - update_appearance() - to_chat(user, "You cut the outer grille.") - return 1 + if(W.use_tool(src, user, 40, volume=100)) + W.play_tool_sound(src, 100) + d_state = SUPPORT_LINES + set_integrity(get_state_integrity(SUPPORT_LINES)) + to_chat(user, "You cut the outer grille.") + return 1 if(SUPPORT_LINES) if(W.tool_behaviour == TOOL_SCREWDRIVER) @@ -84,16 +98,18 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return 1 d_state = COVER + set_integrity(get_state_integrity(COVER)) update_appearance() to_chat(user, "You unsecure the support lines.") return 1 else if(W.tool_behaviour == TOOL_WIRECUTTER) - W.play_tool_sound(src, 100) - d_state = INTACT - update_appearance() - to_chat(user, "You repair the outer grille.") - return 1 + if(W.use_tool(src, user, 40, volume=100)) + W.play_tool_sound(src, 100) + d_state = INTACT + set_integrity(get_state_integrity(INTACT)) + to_chat(user, "You repair the outer grille.") + return 1 if(COVER) if(W.tool_behaviour == TOOL_WELDER) @@ -104,7 +120,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = CUT_COVER - update_appearance() + set_integrity(get_state_integrity(CUT_COVER)) to_chat(user, "You press firmly on the cover, dislodging it.") return 1 @@ -114,7 +130,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = SUPPORT_LINES - update_appearance() + set_integrity(get_state_integrity(SUPPORT_LINES)) to_chat(user, "The support lines have been secured.") return 1 @@ -125,7 +141,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return 1 d_state = ANCHOR_BOLTS - update_appearance() + set_integrity(get_state_integrity(ANCHOR_BOLTS)) to_chat(user, "You pry off the cover.") return 1 @@ -137,7 +153,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = COVER - update_appearance() + set_integrity(get_state_integrity(COVER)) to_chat(user, "The metal cover has been welded securely to the frame.") return 1 @@ -148,7 +164,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = SUPPORT_RODS - update_appearance() + set_integrity(get_state_integrity(SUPPORT_RODS)) to_chat(user, "You remove the bolts anchoring the support rods.") return 1 @@ -158,7 +174,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = CUT_COVER - update_appearance() + set_integrity(get_state_integrity(CUT_COVER)) to_chat(user, "The metal cover has been pried back into place.") return 1 @@ -171,7 +187,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = SHEATH - update_appearance() + set_integrity(get_state_integrity(SHEATH)) to_chat(user, "You slice through the support rods.") return 1 @@ -182,7 +198,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = ANCHOR_BOLTS - update_appearance() + set_integrity(get_state_integrity(ANCHOR_BOLTS)) to_chat(user, "You tighten the bolts anchoring the support rods.") return 1 @@ -204,7 +220,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE d_state = SUPPORT_RODS - update_appearance() + set_integrity(get_state_integrity(SUPPORT_RODS)) to_chat(user, "You weld the support rods back together.") return 1 return 0 diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index f93faeb8297d..bed648ff592b 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -1,5 +1,3 @@ -#define MAX_DENT_DECALS 15 - /turf/closed/wall name = "wall" desc = "A huge chunk of metal used to separate rooms." @@ -19,15 +17,20 @@ smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - ///lower numbers are harder. Used to determine the probability of a hulk smashing through. - var/hardness = 40 - var/slicing_duration = 100 //default time taken to slice the wall + breakdown_duration = 25 var/sheet_type = /obj/item/stack/sheet/metal var/sheet_amount = 2 var/obj/girder_type = /obj/structure/girder - var/break_sound = 'sound/items/welder.ogg' - var/list/dent_decals + min_dam = 8 + max_integrity = 400 + brute_mod = 1 + burn_mod = 1 + var/repair_amount = 50 + + mob_smash_flags = ENVIRONMENT_SMASH_WALLS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_WALLS + /turf/closed/wall/yesdiag icon_state = "wall-255" @@ -47,18 +50,6 @@ fixed_underlay = string_assoc_list(fixed_underlay) underlays += underlay_appearance -/turf/closed/wall/copyTurf(turf/T, copy_air, flags) - . = ..() - var/turf/closed/wall/wall_copy = T - if(LAZYLEN(dent_decals)) - wall_copy.dent_decals = dent_decals.Copy() - wall_copy.update_appearance() - -/turf/closed/wall/update_overlays() - . = ..() - for(var/decal in dent_decals) - . += decal - /turf/closed/wall/examine(mob/user) . += ..() . += deconstruction_hints(user) @@ -69,7 +60,7 @@ /turf/closed/wall/attack_tk() return -/turf/closed/wall/proc/dismantle_wall(devastated = FALSE) +/turf/closed/wall/dismantle_wall(devastated = FALSE) create_sheets() var/obj/newgirder = create_girder() if(devastated) @@ -81,10 +72,7 @@ transfer_fingerprints_to(newgirder) playsound(src, break_sound, 100, TRUE) - for(var/obj/structure/sign/poster/P in src.contents) //Eject contents! - P.roll_and_drop(src) - - ScrapeAway() + ..() /turf/closed/wall/proc/create_sheets() if(sheet_type) @@ -96,117 +84,26 @@ return new girder_type(src) return null -/turf/closed/wall/ex_act(severity, target) - if(target == src) - dismantle_wall(devastated = TRUE) - return - switch(severity) - if(EXPLODE_DEVASTATE) - //SN src = null - var/turf/NT = ScrapeAway() - NT.contents_explosion(severity, target) - return - if(EXPLODE_HEAVY) - if (prob(50)) - dismantle_wall(devastated = TRUE) - else - dismantle_wall(devastated = FALSE) - if(EXPLODE_LIGHT) - if (prob(hardness)) - dismantle_wall(devastated = FALSE) - if(!density) - ..() - -/turf/closed/wall/mech_melee_attack(obj/mecha/M) - M.do_attack_animation(src) - switch(M.damtype) - if(BRUTE) - playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) - M.visible_message("[M.name] hits [src]!", \ - "You hit [src]!", null, COMBAT_MESSAGE_RANGE) - if(prob(hardness + M.force) && M.force > 20) - dismantle_wall(devastated = TRUE) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - else - add_dent(WALL_DENT_HIT) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - if(TOX) - playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) - -/turf/closed/wall/attack_paw(mob/living/user) - user.changeNext_move(CLICK_CD_MELEE) - return attack_hand(user) - - -/turf/closed/wall/attack_animal(mob/living/simple_animal/M) - M.changeNext_move(CLICK_CD_MELEE) - M.do_attack_animation(src) - if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - dismantle_wall(devastated = TRUE) +/turf/closed/wall/attack_override(obj/item/W, mob/user, turf/loc) + if(try_clean(W, user, loc) || try_wallmount(W, user, loc)) return - -/turf/closed/wall/attack_hulk(mob/living/carbon/user) ..() - var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] - if(!arm || arm.bodypart_disabled) - return - if(prob(hardness)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") - dismantle_wall(devastated = TRUE) - else - playsound(src, 'sound/effects/bang.ogg', 50, TRUE) - add_dent(WALL_DENT_HIT) - user.visible_message("[user] smashes \the [src]!", \ - "You smash \the [src]!", \ - "You hear a booming smash!") - return TRUE - -/turf/closed/wall/attack_hand(mob/user) - . = ..() - if(.) - return - user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "You push the wall but nothing happens!") - playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) - add_fingerprint(user) - -/turf/closed/wall/attackby(obj/item/W, mob/user, params) - user.changeNext_move(CLICK_CD_MELEE) - if (!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") - return - - //get the user's location - if(!isturf(user.loc)) - return //can't do this stuff whilst inside objects and such - - add_fingerprint(user) - - var/turf/T = user.loc //get user's location for delay checks - - //the istype cascade has been spread among various procs for easy overriding - if(try_clean(W, user, T) || try_wallmount(W, user, T) || try_decon(W, user, T) || try_destroy(W, user, T)) - return - - return ..() /turf/closed/wall/proc/try_clean(obj/item/W, mob/user, turf/T) - if((user.a_intent != INTENT_HELP) || !LAZYLEN(dent_decals)) + if((user.a_intent != INTENT_HELP)) return FALSE if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) + if(!W.tool_start_check(user, amount=0) || (integrity >= max_integrity)) return FALSE to_chat(user, "You begin fixing dents on the wall...") - if(W.use_tool(src, user, 0, volume=100)) + if(W.use_tool(src, user, breakdown_duration, volume=100)) if(iswallturf(src) && LAZYLEN(dent_decals)) to_chat(user, "You fix some dents on the wall.") dent_decals = null update_appearance() + alter_integrity(repair_amount) return TRUE return FALSE @@ -225,33 +122,19 @@ return FALSE -/turf/closed/wall/proc/try_decon(obj/item/I, mob/user, turf/T) +/turf/closed/wall/try_decon(obj/item/I, mob/user, turf/T) if(I.tool_behaviour == TOOL_WELDER) if(!I.tool_start_check(user, amount=0)) return FALSE to_chat(user, "You begin slicing through the outer plating...") - if(I.use_tool(src, user, slicing_duration, volume=100)) + while(I.use_tool(src, user, breakdown_duration, volume=50)) if(iswallturf(src)) - to_chat(user, "You remove the outer plating.") - dismantle_wall() - return TRUE + to_chat(user, "You slice through some of the outer plating...") + alter_integrity(-(I.wall_decon_damage),FALSE,TRUE) return FALSE - -/turf/closed/wall/proc/try_destroy(obj/item/I, mob/user, turf/T) - if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to smash though [src]...") - if(do_after(user, 50, target = src)) - if(!iswallturf(src)) - return TRUE - I.play_tool_sound(src) - visible_message("[user] smashes through [src] with [I]!", "You hear the grinding of metal.") - dismantle_wall() - return TRUE - return FALSE - /turf/closed/wall/singularity_pull(S, current_size) ..() wall_singularity_pull(current_size) @@ -295,20 +178,5 @@ return TRUE return FALSE -/turf/closed/wall/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) - if(LAZYLEN(dent_decals) >= MAX_DENT_DECALS) - return - - var/mutable_appearance/decal = mutable_appearance('icons/effects/effects.dmi', "", BULLET_HOLE_LAYER) - switch(denttype) - if(WALL_DENT_SHOT) - decal.icon_state = "bullet_hole" - if(WALL_DENT_HIT) - decal.icon_state = "impact[rand(1, 3)]" - decal.pixel_x = x - decal.pixel_y = y - LAZYADD(dent_decals, decal) - update_appearance() -#undef MAX_DENT_DECALS diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 6b43448a5d81..25ed4aaab554 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -69,11 +69,17 @@ /datum/supply_pack/tools/jackhammer name = "Jackhammer Crate" - desc = "Contains a jackhammer, ideal for breaking rocks and breaking hull." + desc = "Contains a jackhammer, ideal for breaking rocks." cost = 1750 contains = list(/obj/item/pickaxe/drill/jackhammer) crate_name = "jackhammer crate" +/datum/supply_pack/tools/plasmacutter + name = "Plasmacutter Crate" + desc = "Contains a plasmacutter, capable of rapidly breaking down hull." + cost = 1250 + contains = list(/obj/item/gun/energy/plasmacutter) + crate_name = "plasmacutter crate" /datum/supply_pack/tools/metalfoam name = "Metal Foam Grenade Crate" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index b6073d4c86a2..3e0bed238bec 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -135,6 +135,8 @@ nodamage = TRUE damage = 0 //We're just here to mark people. This is still a melee weapon. damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY flag = "bomb" range = 6 log_override = TRUE @@ -152,7 +154,6 @@ if(ismineralturf(target_turf)) var/turf/closed/mineral/M = target_turf new /obj/effect/temp_visual/kinetic_blast(M) - M.gets_drilled(firer, TRUE) ..() //outdated Nanotrasen prototype of the crusher. Incredibly heavy, but the blade was made at a premium. //to alter this I had to duplicate some code, big moment. diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index d38a3ce8b55b..a0548a2cb9f1 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -17,6 +17,7 @@ toolspeed = 0.5 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') attack_verb = list("hit", "pierced", "sliced", "attacked") + wall_decon_damage = MINERAL_WALL_INTEGRITY /obj/item/pickaxe/rusted name = "rusty pickaxe" @@ -24,6 +25,7 @@ attack_verb = list("ineffectively hit") force = 1 throwforce = 1 + wall_decon_damage = 50 /obj/item/pickaxe/mini name = "compact pickaxe" diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index a2b48d9319b9..2af5515e47a7 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -933,6 +933,8 @@ range = 20 damage = 30 damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY icon = 'icons/obj/projectiles.dmi' icon_state = "spur_high" var/skip = FALSE //this is the hackiest thing ive ever done but i dont know any other solution other than deparent the spur projectile @@ -994,9 +996,6 @@ spawn(15) target.overlays -= impact playsound(loc, impact_sound, 30) - if(istype(target,/turf/closed/mineral)) - var/turf/closed/mineral/M = target - M.gets_drilled() ..() /obj/item/ammo_casing/energy/spur/spur diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 2ca71649a6f7..5d0e8d54e4e2 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -192,6 +192,8 @@ icon_state = null damage = 20 damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY flag = "bomb" range = 3 log_override = TRUE @@ -235,8 +237,6 @@ for(var/obj/item/borg/upgrade/modkit/M in mods) M.projectile_strike(src, target_turf, target, kinetic_gun) if(ismineralturf(target_turf)) - var/turf/closed/mineral/M = target_turf - M.gets_drilled(firer, TRUE) if(iscarbon(firer)) var/mob/living/carbon/C = firer var/skill_modifier = C?.mind.get_skill_modifier(/datum/skill/mining, SKILL_SPEED_MODIFIER) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 09de7690b5ea..c63c8358e2de 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -110,7 +110,7 @@ /obj/item/gun/energy/plasmacutter name = "plasma cutter" - desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, mine stuff." + desc = "An engineering tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, cut through walls." icon_state = "plasmacutter" item_state = "plasmacutter" ammo_type = list(/obj/item/ammo_casing/energy/plasma) @@ -123,6 +123,7 @@ heat = 3800 usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') tool_behaviour = TOOL_WELDER + wall_decon_damage = 200 toolspeed = 0.7 //plasmacutters can be used as welders, and are faster than standard welders internal_cell = TRUE //so you don't cheese through the need for plasma - WS EDIT var/charge_weld = 25 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of welding @@ -169,6 +170,21 @@ return TRUE +/obj/item/gun/energy/plasmacutter/attack(mob/living/carbon/human/target, mob/user) + if(!istype(target)) + return ..() + var/obj/item/bodypart/attackedLimb = target.get_bodypart(check_zone(user.zone_selected)) + if(!attackedLimb || IS_ORGANIC_LIMB(attackedLimb) || (user.a_intent == INTENT_HARM)) + return ..() + if(!tool_start_check(user, amount = 1)) + return TRUE + user.visible_message("[user] starts to fix some of the dents on [target]'s [parse_zone(attackedLimb.body_zone)].", + "You start fixing some of the dents on [target == user ? "your" : "[target]'s"] [parse_zone(attackedLimb.body_zone)].") + if(!use_tool(target, user, delay = (target == user ? 5 SECONDS : 0.5 SECONDS), amount = 1, volume = 25)) + return TRUE + item_heal_robotic(target, user, brute_heal = 15, burn_heal = 0) + return TRUE + /obj/item/gun/energy/plasmacutter/use(amount) return (!QDELETED(cell) && cell.use(amount ? amount * charge_weld : charge_weld)) @@ -187,6 +203,9 @@ force = 15 ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) + wall_decon_damage = 200 + toolspeed = 0.4 + /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" desc = "A projector that emits high density quantum-coupled bluespace beams." //WS Edit - Any anomaly core for phazons diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 66adeb53ac59..ea640e1a7219 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -156,6 +156,10 @@ var/impact_effect_type //what type of impact effect to show when hitting something var/log_override = FALSE //is this type spammed enough to not log? (KAs) + // if the projectile has the matching flags when hitting a wall, it deals it's override damage instead + var/wall_damage_flags = PROJECTILE_BONUS_DAMAGE_NONE + var/wall_damage_override = 0 + ///If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets var/shrapnel_type ///If TRUE, hit mobs even if they're on the floor and not our target diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 3aada5ddcb41..c46a4c6cb2f9 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -133,6 +133,8 @@ name = "pulse" icon_state = "u_laser" damage = 40 + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS | PROJECTILE_BONUS_DAMAGE_WALLS | PROJECTILE_BONUS_DAMAGE_WALLS + wall_damage_override = 200 impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE tracer_type = /obj/effect/projectile/tracer/pulse diff --git a/code/modules/projectiles/projectile/special/plasma.dm b/code/modules/projectiles/projectile/special/plasma.dm index b398731cfd6c..d957ad924572 100644 --- a/code/modules/projectiles/projectile/special/plasma.dm +++ b/code/modules/projectiles/projectile/special/plasma.dm @@ -5,32 +5,21 @@ damage = 5 range = 4 dismemberment = 20 + /// chance that the plasmablast ruins the ore + var/slag_chance = 33 impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser - var/mine_range = 3 //mines this many additional tiles of rock tracer_type = /obj/effect/projectile/tracer/plasma_cutter muzzle_type = /obj/effect/projectile/muzzle/plasma_cutter impact_type = /obj/effect/projectile/impact/plasma_cutter -/obj/projectile/plasma/on_hit(atom/target) - . = ..() - if(ismineralturf(target)) - var/turf/closed/mineral/M = target - M.gets_drilled(firer, FALSE) - if(mine_range) - mine_range-- - range++ - if(range > 0) - return BULLET_ACT_FORCE_PIERCE - /obj/projectile/plasma/adv damage = 7 range = 5 - mine_range = 5 + slag_chance = 20 /obj/projectile/plasma/adv/mech damage = 10 range = 9 - mine_range = 3 /obj/projectile/plasma/turret //Between normal and advanced for damage, made a beam so not the turret does not destroy glass diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 31a7c508eecd..ab2cfd3a4681 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -295,7 +295,7 @@ display_name = "Basic Plasma Research" description = "Research into the mysterious and dangerous substance, plasma." prereq_ids = list("engineering") - design_ids = list("mech_generator") + design_ids = list("mech_generator", "plasmacutter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -304,7 +304,7 @@ display_name = "Advanced Plasma Research" description = "Research on how to fully exploit the power of plasma." prereq_ids = list("basic_plasma") - design_ids = list("mech_plasma_cutter") + design_ids = list("mech_plasma_cutter","plasmacutter_adv") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -550,7 +550,7 @@ display_name = "Mining Technology" description = "Better than Efficiency V." prereq_ids = list("engineering", "basic_plasma") - design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor", "cargoexpress", "plasmacutter", "mecha_kineticgun", "weatherradio")//e a r l y g a m e) + design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor", "cargoexpress", "mecha_kineticgun", "weatherradio")//e a r l y g a m e) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -559,7 +559,7 @@ display_name = "Advanced Mining Technology" description = "Efficiency Level 127" //dumb mc references prereq_ids = list("basic_mining", "adv_engi", "adv_power", "adv_plasma") - design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv") + design_ids = list("drill_diamond", "jackhammer", "hypermod") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 // WS Edit Start - Yeet The BSM diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index 7a26946f0ddc..e9ca8f3d4093 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -114,7 +114,7 @@ anchored = TRUE locked = TRUE breakout_time = 900 - cutting_tool = /obj/item/shovel + cutting_tool = TOOL_SHOVEL var/lead_tomb = FALSE var/first_open = FALSE @@ -142,7 +142,7 @@ /obj/structure/closet/crate/grave/tool_interact(obj/item/S, mob/living/carbon/user) if(user.a_intent == INTENT_HELP) //checks to attempt to dig the grave, must be done on help intent only. if(!opened) - if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) + if(S.tool_behaviour == cutting_tool) to_chat(user, "You start start to dig open \the [src] with \the [S]...") if (do_after(user,20, target = src)) opened = TRUE @@ -164,7 +164,7 @@ return 1 else if((user.a_intent != INTENT_HELP) && opened) //checks to attempt to remove the grave entirely. - if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) + if(S.tool_behaviour == cutting_tool) to_chat(user, "You start to remove \the [src] with \the [S].") if (do_after(user,15, target = src)) to_chat(user, "You remove \the [src] completely.") diff --git a/icons/effects/concrete_damage.dmi b/icons/effects/wall_damage.dmi similarity index 100% rename from icons/effects/concrete_damage.dmi rename to icons/effects/wall_damage.dmi diff --git a/shiptest.dme b/shiptest.dme index 55ad11a800d5..de57d4f1f3b6 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1497,6 +1497,7 @@ #include "code\game\turfs\change_turf.dm" #include "code\game\turfs\turf.dm" #include "code\game\turfs\closed\_closed.dm" +#include "code\game\turfs\closed\indestructible.dm" #include "code\game\turfs\closed\minerals.dm" #include "code\game\turfs\closed\walls.dm" #include "code\game\turfs\closed\wall\conc_walls.dm" From 7a7534b673969ad2c0ddfbbfced9cefd5db549ee Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 06:49:34 -0500 Subject: [PATCH 32/46] Automatic changelog generation for PR #3145 [ci skip] --- html/changelogs/AutoChangeLog-pr-3145.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3145.yml diff --git a/html/changelogs/AutoChangeLog-pr-3145.yml b/html/changelogs/AutoChangeLog-pr-3145.yml new file mode 100644 index 000000000000..54b6ff43d1c4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3145.yml @@ -0,0 +1,17 @@ +author: Gristlebee +changes: + - {rscadd: Welders/Plasmacutters now deal damage to wall integrity to decon} + - {rscadd: Plasmacutters are now engineering tools and fit in toolbelts. They can + damage ores into slag if used to mine. They are now researched with plasma technology + and advanced plasma technology.} + - {rscadd: Plasmacutters to cargo for 1250} + - {rscadd: 'Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, + Ranger, Hyena, Komodo, Shetland and Twinkleshine'} + - {rscdel: Plasmacutters extra mining range} + - {bugfix: Plasmacutters can repair prosthetic limbs like welders} + - {code_imp: Moves damage behavior of concrete walls to closed turfs. Basic walls + are now repaired with a welder.} + - {code_imp: R-walls d-state tied to their integrity. R-walls can be deconstructed + with plasmacutters.} + - {code_imp: Crate decon checks for tool behavior rather than a istype check} +delete-after: true From fcb0fbb8a36261b321d01c2bfa23e829f1873fb7 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 9 Sep 2024 05:42:41 -0500 Subject: [PATCH 33/46] ports some tg botany code to fix novaflowers (#3063) ## About The Pull Request novaflowers werent applying firestacks so i ported a ton of botany code. novaflowers and nettles now use genes for there pickup and attack stuff clothing traits that only botany gloves use rn https://github.com/tgstation/tgstation/pull/59107 https://github.com/tgstation/tgstation/pull/56233 ## Why It's Good For The Game better code c: ## Changelog :cl: FalloutFalcon, MrMelbert, Coiax code: ported alot tg botany code along with gene desc and icons to be used more soon refactor: moves most plant effects into genetics stuff /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/__DEFINES/botany.dm | 21 + code/__DEFINES/clothing.dm | 39 + .../signals_item/signals_hydroponic.dm | 34 + code/__DEFINES/machines.dm | 11 +- code/__DEFINES/traits.dm | 2 + code/_globalvars/traits.dm | 4 +- code/datums/elements/plant_backfire.dm | 125 +++ code/modules/clothing/clothing.dm | 42 + code/modules/clothing/gloves/miscellaneous.dm | 3 +- code/modules/clothing/outfits/plasmaman.dm | 2 +- code/modules/hydroponics/gene_modder.dm | 1 - code/modules/hydroponics/genes/attack.dm | 128 ++++ code/modules/hydroponics/genes/backfire.dm | 163 ++++ code/modules/hydroponics/grown.dm | 43 +- code/modules/hydroponics/grown/flowers.dm | 42 +- code/modules/hydroponics/grown/mushrooms.dm | 4 +- code/modules/hydroponics/grown/nettle.dm | 73 +- code/modules/hydroponics/growninedible.dm | 5 +- code/modules/hydroponics/hydroponics.dm | 11 +- code/modules/hydroponics/plant_genes.dm | 715 +++++++++++++----- code/modules/hydroponics/seeds.dm | 32 +- .../mob/living/carbon/human/inventory.dm | 39 + .../carbon/human/species_types/podpeople.dm | 5 +- shiptest.dme | 5 + 24 files changed, 1216 insertions(+), 333 deletions(-) create mode 100644 code/__DEFINES/clothing.dm create mode 100644 code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm create mode 100644 code/datums/elements/plant_backfire.dm create mode 100644 code/modules/hydroponics/genes/attack.dm create mode 100644 code/modules/hydroponics/genes/backfire.dm diff --git a/code/__DEFINES/botany.dm b/code/__DEFINES/botany.dm index 4780f819f555..4abffb067dd2 100644 --- a/code/__DEFINES/botany.dm +++ b/code/__DEFINES/botany.dm @@ -15,3 +15,24 @@ //Floral Somoray #define REVOLUTION_CHARGE 10000 // Default flora cell + +/// -- Trait IDs. Plants that match IDs cannot be added to the same plant. -- +/// Plants that glow. +#define GLOW_ID (1<<0) +/// Plant types. +#define PLANT_TYPE_ID (1<<1) +/// Plants that affect the reagent's temperature. +#define TEMP_CHANGE_ID (1<<2) +/// Plants that affect the reagent contents. +#define CONTENTS_CHANGE_ID (1<<3) +/// Plants that do something special when they impact. +#define THROW_IMPACT_ID (1<<4) +/// Plants that transfer reagents on impact. +#define REAGENT_TRANSFER_ID (1<<5) +/// Plants that have a unique effect on attack_self. +#define ATTACK_SELF_ID (1<<6) + +#define HYDROTRAY_NO_PLANT "missing" +#define HYDROTRAY_PLANT_DEAD "dead" +#define HYDROTRAY_PLANT_GROWING "growing" +#define HYDROTRAY_PLANT_HARVESTABLE "harvestable" diff --git a/code/__DEFINES/clothing.dm b/code/__DEFINES/clothing.dm new file mode 100644 index 000000000000..4906c6bdd4fd --- /dev/null +++ b/code/__DEFINES/clothing.dm @@ -0,0 +1,39 @@ +/* +//stages of shoe tying-ness +/// Shoes are untied +#define SHOES_UNTIED 0 +/// Shoes are tied normally +#define SHOES_TIED 1 +/// Shoes have been tied in knots +#define SHOES_KNOTTED 2 + +//suit sensors: sensor_mode defines +/// Suit sensor is turned off +#define SENSOR_OFF 0 +/// Suit sensor displays the mob as alive or dead +#define SENSOR_LIVING 1 +/// Suit sensor displays the mob damage values +#define SENSOR_VITALS 2 +/// Suit sensor displays the mob damage values and exact location +#define SENSOR_COORDS 3 + +//suit sensors: has_sensor defines +/// Suit sensor has been EMP'd and cannot display any information (can be fixed) +#define BROKEN_SENSORS -1 +/// Suit sensor is not present and cannot display any information +#define NO_SENSORS 0 +/// Suit sensor is present and can display information +#define HAS_SENSORS 1 +/// Suit sensor is present and is forced to display information (used on prisoner jumpsuits) +#define LOCKED_SENSORS 2 +*/ + +/// Wrapper for adding clothing based traits +#define ADD_CLOTHING_TRAIT(mob, trait) ADD_TRAIT(mob, trait, "[CLOTHING_TRAIT]_[REF(src)]") +/// Wrapper for removing clothing based traits +#define REMOVE_CLOTHING_TRAIT(mob, trait) REMOVE_TRAIT(mob, trait, "[CLOTHING_TRAIT]_[REF(src)]") + +/* +/// How much integrity does a shirt lose every time we bite it? +#define MOTH_EATING_CLOTHING_DAMAGE 15 +*/ diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm new file mode 100644 index 000000000000..32fbb4867b2d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm @@ -0,0 +1,34 @@ +//Plants / Plant Traits + +///called when a plant with slippery skin is slipped on (mob/victim) +#define COMSIG_PLANT_ON_SLIP "plant_on_slip" +///called when a plant with liquid contents is squashed on (atom/target) +#define COMSIG_PLANT_ON_SQUASH "plant_on_squash" +///called when a plant backfires via the backfire element (mob/victim) +#define COMSIG_PLANT_ON_BACKFIRE "plant_on_backfire" +///called when a seed grows in a tray (obj/machinery/hydroponics) +#define COMSIG_SEED_ON_GROW "plant_on_grow" +///called when a seed is planted in a tray (obj/machinery/hydroponics) +#define COMSIG_SEED_ON_PLANTED "plant_on_plant" + +//Hydro tray +///from base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed) +#define COMSIG_HYDROTRAY_SET_SEED "hydrotray_set_seed" +///from base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value) +#define COMSIG_HYDROTRAY_SET_SELFSUSTAINING "hydrotray_set_selfsustaining" +///from base of /obj/machinery/hydroponics/set_weedlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_WEEDLEVEL "hydrotray_set_weedlevel" +///from base of /obj/machinery/hydroponics/set_pestlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_PESTLEVEL "hydrotray_set_pestlevel" +///from base of /obj/machinery/hydroponics/set_waterlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_WATERLEVEL "hydrotray_set_waterlevel" +///from base of /obj/machinery/hydroponics/set_plant_health() : (new_value) +#define COMSIG_HYDROTRAY_SET_PLANT_HEALTH "hydrotray_set_plant_health" +///from base of /obj/machinery/hydroponics/set_toxic() : (new_value) +#define COMSIG_HYDROTRAY_SET_TOXIC "hydrotray_set_toxic" +///from base of /obj/machinery/hydroponics/set_plant_status() : (new_value) +#define COMSIG_HYDROTRAY_SET_PLANT_STATUS "hydrotray_set_plant_status" +///from base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count) +#define COMSIG_HYDROTRAY_ON_HARVEST "hydrotray_on_harvest" +///from base of /obj/machinery/hydroponics/plantdies() +#define COMSIG_HYDROTRAY_PLANT_DEATH "hydrotray_plant_death" diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index a89965da7bec..02e6853338d7 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -123,9 +123,16 @@ #define MACHINE_ELECTRIFIED_PERMANENT -1 #define MACHINE_DEFAULT_ELECTRIFY_TIME 30 -//these flags are used to tell the DNA modifier if a plant gene cannot be extracted or modified. +/// -- Flags for genes -- +/// Plant genes that can be removed via gene shears. #define PLANT_GENE_REMOVABLE (1<<0) -#define PLANT_GENE_EXTRACTABLE (1<<1) +/// Plant genes that can be mutated randomly in strange seeds / due to high instability. +#define PLANT_GENE_MUTATABLE (1<<1) +#define PLANT_GENE_EXTRACTABLE (1<<2) + +/// -- Flags for traits. -- +/// Caps the plant's yield at 5 instead of 10. +#define TRAIT_HALVES_YIELD (1<<0) //used to determine what rotation mode the ore redemption machine is in #define ORM_BOTH 0 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7b687330d71a..c97fa62ffc5d 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -274,6 +274,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_SCOOPABLE "scoopable" //your smooches actually deal damage to their target #define TRAIT_KISS_OF_DEATH "kiss_of_death" +/// We can handle 'dangerous' plants in botany safely +#define TRAIT_PLANT_SAFE "plant_safe" /// This mob overrides certian SSlag_switch measures with this special trait #define TRAIT_BYPASS_MEASURES "bypass_lagswitch_measures" //non-mob traits diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index a155e570df4f..d87596cf828c 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -148,8 +148,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HOLDABLE" = TRAIT_HOLDABLE, "TRAIT_SCOOPABLE" = TRAIT_SCOOPABLE, "TRAIT_ANXIOUS" = TRAIT_ANXIOUS, - "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH - + "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH, + "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE ), /obj/item/bodypart = list( "TRAIT_PARALYSIS" = TRAIT_PARALYSIS diff --git a/code/datums/elements/plant_backfire.dm b/code/datums/elements/plant_backfire.dm new file mode 100644 index 000000000000..47cd1de51fe9 --- /dev/null +++ b/code/datums/elements/plant_backfire.dm @@ -0,0 +1,125 @@ +/// -- Plant backfire element -- +/// Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +/// If a user is protected with something like leather gloves, they can handle them normally. +/// If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them. +/datum/element/plant_backfire + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN) + var/cancel_action = FALSE + /// Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits. + var/extra_traits + /// Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths. + var/extra_genes + +/datum/element/plant_backfire/Attach(datum/target, cancel_action = FALSE, extra_traits, extra_genes) + . = ..() + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + src.cancel_action = cancel_action + src.extra_traits = extra_traits + src.extra_genes = extra_genes + + RegisterSignal(target, COMSIG_ITEM_PRE_ATTACK, PROC_REF(attack_safety_check)) + RegisterSignal(target, COMSIG_ITEM_PICKUP, PROC_REF(pickup_safety_check)) + RegisterSignal(target, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_safety_check)) + +/datum/element/plant_backfire/Detach(datum/target) + . = ..() + UnregisterSignal(target, list(COMSIG_ITEM_PRE_ATTACK, COMSIG_ITEM_PICKUP, COMSIG_MOVABLE_PRE_THROW)) + +/** + * Checks before we attack if we're okay to continue. + * + * source - our plant + * user - the mob wielding our [source] + */ +/datum/element/plant_backfire/proc/attack_safety_check(obj/item/source, atom/target, mob/user) + SIGNAL_HANDLER + + // Covers stuff like tk, since we aren't actually touching the plant. + if(!user.is_holding(source)) + return + if(!backfire(source, user)) + return + + return //cancel_action ? COMPONENT_CANCEL_ATTACK_CHAIN : NONE + +/** + * Checks before we pick up the plant if we're okay to continue. + * + * source - our plant + * user - the mob picking our [source] + */ +/datum/element/plant_backfire/proc/pickup_safety_check(obj/item/source, mob/user) + SIGNAL_HANDLER + + backfire(source, user) + +/** + * Checks before we throw the plant if we're okay to continue. + * + * source - our plant + * thrower - the mob throwing our [source] + */ +/datum/element/plant_backfire/proc/throw_safety_check(obj/item/source, list/arguments) + SIGNAL_HANDLER + + var/mob/living/thrower = arguments[4] // the 4th arg = the mob throwing our item + if(!istype(thrower) || !thrower.is_holding(source)) + return + if(!backfire(source, thrower)) + return + + return //cancel_action ? COMPONENT_CANCEL_ATTACK_CHAIN : NONE + +/** + * The actual backfire occurs here. + * Checks if the user is able to safely handle the plant. + * If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes). + * + * Returns FALSE if the user was safe and no backfire occured. + * Returns TRUE if the user was not safe and a backfire actually happened. + */ +/datum/element/plant_backfire/proc/backfire(obj/item/plant, mob/user) + if(plant_safety_check(plant, user)) + return FALSE + + SEND_SIGNAL(plant, COMSIG_PLANT_ON_BACKFIRE, user) + return TRUE + +/** + * Actually checks if our user is safely handling our plant. + * + * Checks for TRAIT_PLANT_SAFE, and returns TRUE if we have it. + * Then, any extra traits we need to check (Like TRAIT_PIERCEIMMUNE for nettles) and returns TRUE if we have one of them. + * Then, any extra genes we need to check (Like liquid contents for bluespace tomatos) and returns TRUE if we don't have the gene. + * + * source - our plant + * user - the carbon handling our [source] + * + * returns FALSE if none of the checks are successful. + */ +/datum/element/plant_backfire/proc/plant_safety_check(obj/item/plant, mob/living/carbon/user) + if(!istype(user)) + return TRUE + + if(HAS_TRAIT(user, TRAIT_PLANT_SAFE)) + return TRUE + + for(var/checked_trait in extra_traits) + if(HAS_TRAIT(user, checked_trait)) + return TRUE + + var/obj/item/seeds/our_seed = plant.get_plant_seed() + if(our_seed) + for(var/checked_gene in extra_genes) + if(!our_seed.get_gene(checked_gene)) + return TRUE + + for(var/obj/item/clothing/worn_item in user.get_equipped_items()) + if((worn_item.body_parts_covered & HANDS) && (worn_item.clothing_flags & THICKMATERIAL)) + return TRUE + + return FALSE diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 166f437dc3af..a6bb80499588 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -42,6 +42,10 @@ /// If this can be eaten by a moth var/moth_edible = TRUE + // Not used yet + /// Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot + var/list/clothing_traits + /obj/item/clothing/Initialize() if((clothing_flags & VOICEBOX_TOGGLABLE)) actions_types += /datum/action/item_action/toggle_voice_box @@ -111,6 +115,8 @@ ..() if(!istype(user)) return + for(var/trait in clothing_traits) + REMOVE_CLOTHING_TRAIT(user, trait) if(LAZYLEN(user_vars_remembered)) for(var/variable in user_vars_remembered) if(variable in user.vars) @@ -123,12 +129,48 @@ if (!istype(user)) return if(slot_flags & slot) //Was equipped to a valid slot for this item? + for(var/trait in clothing_traits) + ADD_CLOTHING_TRAIT(user, trait) if (LAZYLEN(user_vars_to_edit)) for(var/variable in user_vars_to_edit) if(variable in user.vars) LAZYSET(user_vars_remembered, variable, user.vars[variable]) user.vv_edit_var(variable, user_vars_to_edit[variable]) +/** + * Inserts a trait (or multiple traits) into the clothing traits list + * + * If worn, then we will also give the wearer the trait as if equipped + * + * This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects + */ +/obj/item/clothing/proc/attach_clothing_traits(trait_or_traits) + if(!islist(trait_or_traits)) + trait_or_traits = list(trait_or_traits) + + LAZYOR(clothing_traits, trait_or_traits) + var/mob/wearer = loc + if(istype(wearer) && (wearer.get_slot_by_item(src) & slot_flags)) + for(var/new_trait in trait_or_traits) + ADD_CLOTHING_TRAIT(wearer, new_trait) + +/** + * Removes a trait (or multiple traits) from the clothing traits list + * + * If worn, then we will also remove the trait from the wearer as if unequipped + * + * This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects + */ +/obj/item/clothing/proc/detach_clothing_traits(trait_or_traits) + if(!islist(trait_or_traits)) + trait_or_traits = list(trait_or_traits) + + LAZYREMOVE(clothing_traits, trait_or_traits) + var/mob/wearer = loc + if(istype(wearer)) + for(var/new_trait in trait_or_traits) + REMOVE_CLOTHING_TRAIT(wearer, new_trait) + /obj/item/clothing/examine(mob/user) . = ..() switch (max_heat_protection_temperature) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 64fbf60dca9c..e326b55f58f3 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -23,6 +23,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE + clothing_traits = list(TRAIT_PLANT_SAFE) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 30) /obj/item/clothing/gloves/combat @@ -125,7 +126,7 @@ name = "explorer envirogloves" icon_state = "explorerplasma" -/obj/item/clothing/gloves/color/botanic_leather/plasmaman +/obj/item/clothing/gloves/botanic_leather/plasmaman name = "botany envirogloves" desc = "Covers up those scandalous boney hands." icon_state = "botanyplasma" diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm index 05b8c0e1a42c..544259603174 100644 --- a/code/modules/clothing/outfits/plasmaman.dm +++ b/code/modules/clothing/outfits/plasmaman.dm @@ -17,7 +17,7 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/botany uniform = /obj/item/clothing/under/plasmaman/botany - gloves = /obj/item/clothing/gloves/color/botanic_leather/plasmaman + gloves = /obj/item/clothing/gloves/botanic_leather/plasmaman /datum/outfit/plasmaman/curator name = "Curator Plasmaman" diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index a21e9f71afc4..87e0f1a2a429 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -341,7 +341,6 @@ seed.genes += disk.gene.Copy() if(istype(disk.gene, /datum/plant_gene/reagent)) seed.reagents_from_genes() - disk.gene.apply_vars(seed) repaint_seed() diff --git a/code/modules/hydroponics/genes/attack.dm b/code/modules/hydroponics/genes/attack.dm new file mode 100644 index 000000000000..37dabf0c06a8 --- /dev/null +++ b/code/modules/hydroponics/genes/attack.dm @@ -0,0 +1,128 @@ +/// Traits that turn a plant into a weapon, giving them force and effects on attack. +/datum/plant_gene/trait/attack + name = "On Attack Trait" + description = "It is a very dangerous weapon." + icon = "hand-fist" + /// The multiplier we apply to the potency to calculate force. Set to 0 to not affect the force. + var/force_multiplier = 0 + /// If TRUE, our plant will degrade in force every hit until diappearing. + var/degrades_after_hit = FALSE + /// When we fully degrade, what degraded off of us? + var/degradation_noun = "leaves" + +/datum/plant_gene/trait/attack/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + if(force_multiplier) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + our_plant.force = round((5 + our_seed.potency * force_multiplier), 1) + RegisterSignal(our_plant, COMSIG_ITEM_ATTACK, PROC_REF(on_plant_attack)) + RegisterSignal(our_plant, COMSIG_ITEM_AFTERATTACK, PROC_REF(after_plant_attack)) + +/// Signal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack +/datum/plant_gene/trait/attack/proc/on_plant_attack(obj/item/source, mob/living/target, mob/living/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(attack_effect), source, target, user) + +/* + * Effects done when we hit people with our plant, ON attack. + * Override on a per-plant basis. + * + * our_plant - our plant, that we're attacking with + * user - the person who is attacking with the plant + * target - the person who is attacked by the plant + */ +/datum/plant_gene/trait/attack/proc/attack_effect(obj/item/our_plant, mob/living/target, mob/living/user) + return + +/// Signal proc for [COMSIG_ITEM_AFTERATTACK] that allows for effects after an attack is done +/datum/plant_gene/trait/attack/proc/after_plant_attack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + SIGNAL_HANDLER + + if(!proximity_flag) + return + + if(!ismovable(target)) + return + + if(isobj(target)) + var/obj/object_target = target + if(!(object_target.obj_flags & CAN_BE_HIT)) + return . + + INVOKE_ASYNC(src, PROC_REF(after_attack_effect), source, target, user) + return . + +/* + * Effects done when we hit people with our plant, AFTER the attack is done. + * Extend on a per-plant basis. + * + * our_plant - our plant, that we're attacking with + * user - the person who is attacking with the plant + * target - the atom which is attacked by the plant + */ +/datum/plant_gene/trait/attack/proc/after_attack_effect(obj/item/our_plant, atom/target, mob/living/user) + SHOULD_CALL_PARENT(TRUE) + + if(!degrades_after_hit) + return + + // We probably hit something or someone. Reduce our force + if(our_plant.force > 0) + our_plant.force -= rand(1, (our_plant.force / 3) + 1) + return + + // When our force degrades to zero or below, we're all done + to_chat(user, span_warning("All the [degradation_noun] have fallen off [our_plant] from violent whacking!")) + qdel(our_plant) + +/// Novaflower's attack effects (sets people on fire) + degradation on attack +/datum/plant_gene/trait/attack/novaflower_attack + name = "Heated Petals" + description = "Hitting with it may cause things to combust." + force_multiplier = 0.2 + degrades_after_hit = TRUE + degradation_noun = "petals" + +/datum/plant_gene/trait/attack/novaflower_attack/attack_effect(obj/item/our_plant, mob/living/target, mob/living/user) + if(!istype(target)) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + to_chat(target, span_danger("You are lit on fire from the intense heat of [our_plant]!")) + target.adjust_fire_stacks(round(our_seed.potency / 20)) + if(target.IgniteMob()) + message_admins("[ADMIN_LOOKUPFLW(user)] set [ADMIN_LOOKUPFLW(target)] on fire with [our_plant] at [AREACOORD(user)]") + user.log_message("set [key_name(target)] on fire with [our_plant]", LOG_ATTACK) + target.log_message("was set on fire by [key_name(user)] with [our_plant].", LOG_ATTACK) + + our_plant.investigate_log("was used by [key_name(user)] to burn [key_name(target)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + +/// Sunflower's attack effect (shows cute text) +/datum/plant_gene/trait/attack/sunflower_attack + name = "Bright Petals" + description = "Makes others feel the power on hit." + +/datum/plant_gene/trait/attack/sunflower_attack/after_attack_effect(obj/item/our_plant, atom/target, mob/user, proximity_flag, click_parameters) + if(ismob(target)) + var/mob/target_mob = target + user.visible_message("[user] smacks [target_mob] with [user.p_their()] [our_plant.name]! FLOWER POWER!", ignored_mobs = list(target_mob, user)) + if(target_mob != user) + to_chat(target_mob, "[user] smacks you with [our_plant]!FLOWER POWER!") + to_chat(user, "Your [our_plant.name]'s FLOWER POWER strikes [target_mob]!") + + return ..() + +/// Normal nettle's force + degradation on attack +/datum/plant_gene/trait/attack/nettle_attack + name = "Sharpened Leaves" + force_multiplier = 0.2 + degrades_after_hit = TRUE + +/// Deathnettle force + degradation on attack +/datum/plant_gene/trait/attack/nettle_attack/death + name = "Aggressive Sharpened Leaves" + force_multiplier = 0.4 diff --git a/code/modules/hydroponics/genes/backfire.dm b/code/modules/hydroponics/genes/backfire.dm new file mode 100644 index 000000000000..338b0fb17455 --- /dev/null +++ b/code/modules/hydroponics/genes/backfire.dm @@ -0,0 +1,163 @@ +/// Traits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely. +/datum/plant_gene/trait/backfire + name = "Backfire Trait" + icon = "mitten" + description = "Be careful when holding it without protection." + /// Whether our actions are cancelled when the backfire triggers. + var/cancel_action_on_backfire = FALSE + /// A list of extra traits to check to be considered safe. + var/list/traits_to_check + /// A list of extra genes to check to be considered safe. + var/list/genes_to_check + +/datum/plant_gene/trait/backfire/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + if(genes_to_check) + genes_to_check = string_list(genes_to_check) + if(traits_to_check) + traits_to_check = string_list(traits_to_check) + our_plant.AddElement(/datum/element/plant_backfire, cancel_action_on_backfire, traits_to_check, genes_to_check) + RegisterSignal(our_plant, COMSIG_PLANT_ON_BACKFIRE, PROC_REF(on_backfire)) + +/// Signal proc for [COMSIG_PLANT_ON_BACKFIRE] that causes the backfire effect. +/datum/plant_gene/trait/backfire/proc/on_backfire(obj/item/source, mob/living/carbon/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(backfire_effect), source, user) + +/** + * The actual backfire effect on the user. + * Override with plant-specific effects. + */ +/datum/plant_gene/trait/backfire/proc/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + return + +/// Rose's prick on backfire +/datum/plant_gene/trait/backfire/rose_thorns + name = "Rose Thorns" + description = "The stem has a lot of thorns." + traits_to_check = list(TRAIT_PIERCEIMMUNE) + +/datum/plant_gene/trait/backfire/rose_thorns/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(!our_seed.get_gene(/datum/plant_gene/trait/sticky) && prob(66)) + to_chat(user, span_danger("[our_plant]'s thorns nearly prick your hand. Best be careful.")) + return + + to_chat(user, span_danger("[our_plant]'s thorns prick your hand. Ouch.")) + our_plant.investigate_log("rose-pricked [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + affecting?.receive_damage(2) + +/// Novaflower's hand burn on backfire +/datum/plant_gene/trait/backfire/novaflower_heat + name = "Burning Stem" + description = "The stem may burn your hand." + cancel_action_on_backfire = TRUE + +/datum/plant_gene/trait/backfire/novaflower_heat/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + to_chat(user, span_danger("[our_plant] singes your bare hand!")) + our_plant.investigate_log("self-burned [key_name(user)] for [our_plant.force] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + return affecting?.receive_damage(0, our_plant.force) + +/// Normal Nettle hannd burn on backfire +/datum/plant_gene/trait/backfire/nettle_burn + name = "Stinging Stem" + description = "The stem may sting your hand." + +/datum/plant_gene/trait/backfire/nettle_burn/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + to_chat(user, span_danger("[our_plant] burns your bare hand!")) + our_plant.investigate_log("self-burned [key_name(user)] for [our_plant.force] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + return affecting?.receive_damage(0, our_plant.force) + +/// Deathnettle hand burn + stun on backfire +/datum/plant_gene/trait/backfire/nettle_burn/death + name = "Aggressive Stinging Stem" + cancel_action_on_backfire = TRUE + +/datum/plant_gene/trait/backfire/nettle_burn/death/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + . = ..() + if(!. || prob(50)) + return + + user.Paralyze(10 SECONDS) + to_chat(user, span_userdanger("You are stunned by the powerful acids of [our_plant]!")) + +/* +/// Ghost-Chili heating up on backfire +/datum/plant_gene/trait/backfire/chili_heat + name = "Active Capsicum Glands" + description = "You may survive a cold winter with this in hand." + genes_to_check = list(/datum/plant_gene/trait/chem_heating) + /// The mob currently holding the chili. + var/datum/weakref/held_mob + /// The chili this gene is tied to, to track it for processing. + var/datum/weakref/our_chili + +/datum/plant_gene/trait/backfire/chili_heat/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + our_chili = WEAKREF(our_plant) + RegisterSignals(our_plant, list(COMSIG_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(stop_backfire_effect)) + +/* + * Begin processing the trait on backfire. + * + * our_plant - our source plant, which is backfiring + * user - the mob holding our plant + */ +/datum/plant_gene/trait/backfire/chili_heat/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + held_mob = WEAKREF(user) + START_PROCESSING(SSobj, src) + +/* + * Stop processing the trait when we're dropped or deleted. + * + * our_plant - our source plant + */ +/datum/plant_gene/trait/backfire/chili_heat/proc/stop_backfire_effect(datum/source) + SIGNAL_HANDLER + + held_mob = null + STOP_PROCESSING(SSobj, src) + +/* + * The processing of our trait. Heats up the mob ([held_mob]) currently holding the source plant ([our_chili]). + * Stops processing if we're no longer being held by [held mob]. + */ +/datum/plant_gene/trait/backfire/chili_heat/process(seconds_per_tick) + var/mob/living/carbon/our_mob = held_mob?.resolve() + var/obj/item/our_plant = our_chili?.resolve() + + // If our weakrefs don't resolve, or if our mob is not holding our plant, stop processing. + if(!our_mob || !our_plant || !our_mob.is_holding(our_plant)) + stop_backfire_effect() + return + + our_mob.adjust_bodytemperature(7.5 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick) + if(SPT_PROB(5, seconds_per_tick)) + to_chat(our_mob, span_warning("Your hand holding [our_plant] burns!")) + +/// Bluespace Tomato squashing on the user on backfire +/datum/plant_gene/trait/backfire/bluespace + name = "Bluespace Volatility" + description = "You may be spaced out if you hold this unprotected." + cancel_action_on_backfire = TRUE + genes_to_check = list(/datum/plant_gene/trait/squash) + +/datum/plant_gene/trait/backfire/bluespace/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + if(prob(50)) + return + + to_chat(user, span_danger("[our_plant] slips out of your hand!")) + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/datum/plant_gene/trait/squash/squash_gene = our_seed.get_gene(/datum/plant_gene/trait/squash) + squash_gene.squash_plant(our_plant, user) +*/ diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index ed58e86e16dc..4f2b2420ee55 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -44,8 +44,8 @@ dried_type = src.type if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_new(src, loc) + for(var/datum/plant_gene/trait/trait in seed.genes) + trait.on_new_plant(src, loc) seed.prepare_result(src) transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency! add_juice() @@ -110,15 +110,13 @@ user.visible_message("[user] starts splitting \the [src].", "You dig into \the [src] and start to split it...", "You hear the sound of a sharp object digging into some plant matter.") if(do_after(user, 20, target = src)) to_chat(user, "You split apart the [src]! Sadly you put too much force and it's remains are unusable, but hey, you got your seeds!") - seedify(src, 1, TRUE, FALSE, src, user) - squash(user) + seedify(src, 1, TRUE, TRUE, src, user) if(TOOL_WRENCH) playsound(loc, 'sound/misc/splort.ogg', 50, TRUE, -1) user.visible_message("[user] starts whacking \the [src].", "You start whacking \the [src]...", "You hear the sound of a plant being whacked violently.") if(do_after(user, 17, target = src)) to_chat(user, "You smash [src]! Sadly there's nothing left of it other than the seeds and some junk.") - seedify(src, 1, TRUE, FALSE, src, user) - squash(user) + seedify(src, 1, TRUE, TRUE, src, user) if(!slice_path) if(O.get_sharpness()) playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) @@ -127,44 +125,11 @@ to_chat(user, "You slice apart the [src]! You went too far and the tiny remaining scraps are worthless!") seedify(src, 1, TRUE, TRUE, src, user) -// Various gene procs -/obj/item/reagent_containers/food/snacks/grown/attack_self(mob/user) - if(seed && seed.get_gene(/datum/plant_gene/trait/squash)) - squash(user) - ..() - /obj/item/reagent_containers/food/snacks/grown/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) //was it caught by a mob? if(seed) for(var/datum/plant_gene/trait/T in seed.genes) T.on_throw_impact(src, hit_atom) - if(seed.get_gene(/datum/plant_gene/trait/squash)) - squash(hit_atom) - -/obj/item/reagent_containers/food/snacks/grown/proc/squash(atom/target) - var/turf/T = get_turf(target) - forceMove(T) - if(ispath(splat_type, /obj/effect/decal/cleanable/food/plant_smudge)) - if(filling_color) - var/obj/O = new splat_type(T) - O.color = filling_color - O.name = "[name] smudge" - else if(splat_type) - new splat_type(T) - - if(trash) - generate_trash(T) - - visible_message("[src] is squashed.","You hear a smack.") - if(seed) - for(var/datum/plant_gene/trait/trait in seed.genes) - trait.on_squash(src, target) - - reagents.expose(T) - for(var/A in T) - reagents.expose(A) - - qdel(src) /obj/item/reagent_containers/food/snacks/grown/On_Consume() if(iscarbon(usr)) diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 820ecae005d8..9459a1f7a816 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -144,6 +144,7 @@ species = "sunflower" plantname = "Sunflowers" product = /obj/item/grown/sunflower + genes = list(/datum/plant_gene/trait/attack/sunflower_attack) endurance = 20 production = 2 yield = 2 @@ -169,10 +170,6 @@ throw_speed = 1 throw_range = 3 -/obj/item/grown/sunflower/attack(mob/M, mob/user) - to_chat(M, "[user] smacks you with a sunflower!FLOWER POWER!") - to_chat(user, "Your sunflower's FLOWER POWER strikes [M]!") - // Moonflower /obj/item/seeds/sunflower/moonflower name = "pack of moonflower seeds" @@ -211,11 +208,18 @@ icon_grow = "novaflower-grow" icon_dead = "sunflower-dead" product = /obj/item/grown/novaflower + genes = list(/datum/plant_gene/trait/backfire/novaflower_heat, /datum/plant_gene/trait/attack/novaflower_attack) mutatelist = list() reagents_add = list(/datum/reagent/consumable/condensedcapsaicin = 0.25, /datum/reagent/consumable/capsaicin = 0.3, /datum/reagent/consumable/nutriment = 0) rarity = 20 research = PLANT_RESEARCH_TIER_3 +/obj/item/seeds/sunflower/novaflower/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/novaflower_attack, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/novaflower_heat, PLANT_GENE_REMOVABLE) + /obj/item/grown/novaflower seed = /obj/item/seeds/sunflower/novaflower name = "novaflower" @@ -232,33 +236,3 @@ throw_range = 3 attack_verb = list("roasted", "scorched", "burned") grind_results = list(/datum/reagent/consumable/capsaicin = 0, /datum/reagent/consumable/condensedcapsaicin = 0) - -/obj/item/grown/novaflower/add_juice() - ..() - force = round((5 + seed.potency / 5), 1) - -/obj/item/grown/novaflower/attack(mob/living/carbon/M, mob/user) - if(!..()) - return - if(isliving(M)) - to_chat(M, "You are lit on fire from the intense heat of the [name]!") - M.adjust_fire_stacks(seed.potency / 20) - if(M.IgniteMob()) - message_admins("[ADMIN_LOOKUPFLW(user)] set [ADMIN_LOOKUPFLW(M)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") - -/obj/item/grown/novaflower/afterattack(atom/A as mob|obj, mob/user,proximity) - . = ..() - if(!proximity) - return - if(force > 0) - force -= rand(1, (force / 3) + 1) - else - to_chat(usr, "All the petals have fallen off the [name] from violent whacking!") - qdel(src) - -/obj/item/grown/novaflower/pickup(mob/living/carbon/human/user) - ..() - if(!user.gloves) - to_chat(user, "The [name] burns your bare hand!") - user.adjustFireLoss(rand(1, 5)) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 17d43d0a31c5..c3488c43f789 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -220,7 +220,7 @@ endurance = 8 yield = 4 growthstages = 2 - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/liquidelectricity, /datum/plant_gene/trait/plant_type/carnivory) + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/liquidelectricity, /datum/plant_gene/trait/carnivory) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) research = PLANT_RESEARCH_TIER_3 @@ -229,7 +229,7 @@ . = ..() if(!nogenes) unset_mutability(/datum/plant_gene/reagent/liquidelectricity, PLANT_GENE_EXTRACTABLE) - unset_mutability(/datum/plant_gene/trait/plant_type/carnivory, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/carnivory, PLANT_GENE_REMOVABLE) /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup seed = /obj/item/seeds/chanter/jupitercup diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 277245138a54..f9633ade7661 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -9,10 +9,16 @@ endurance = 40 // tuff like a toiger yield = 4 growthstages = 5 - genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy) + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/attack/nettle_attack, /datum/plant_gene/trait/backfire/nettle_burn) mutatelist = list(/obj/item/seeds/nettle/death) reagents_add = list(/datum/reagent/toxin/acid = 0.5) +/obj/item/seeds/nettle/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/nettle_attack, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/nettle_burn, PLANT_GENE_REMOVABLE) + /obj/item/seeds/nettle/death name = "pack of death-nettle seeds" desc = "These seeds grow into death-nettles." @@ -23,12 +29,18 @@ endurance = 25 maturation = 8 yield = 2 - genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/stinging) + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/stinging, /datum/plant_gene/trait/attack/nettle_attack/death, /datum/plant_gene/trait/backfire/nettle_burn/death) mutatelist = list() reagents_add = list(/datum/reagent/toxin/acid/fluacid = 0.5, /datum/reagent/toxin/acid = 0.5) rarity = 20 research = PLANT_RESEARCH_TIER_3 +/obj/item/seeds/nettle/death/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/nettle_attack/death, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/nettle_burn/death, PLANT_GENE_REMOVABLE) + /obj/item/reagent_containers/food/snacks/grown/nettle // "snack" seed = /obj/item/seeds/nettle name = "nettle" @@ -48,40 +60,6 @@ wine_power = 20 wine_flavor = "tingling itchiness" //WS edit: new wine flavors -/obj/item/reagent_containers/food/snacks/grown/nettle/pickup(mob/living/user) - ..() - if(!iscarbon(user)) - return FALSE - var/mob/living/carbon/C = user - if(C.gloves) - return FALSE - if(HAS_TRAIT(C, TRAIT_PIERCEIMMUNE)) - return FALSE - var/hit_zone = (C.held_index_to_dir(C.active_hand_index) == "l" ? "l_":"r_") + "arm" - var/obj/item/bodypart/affecting = C.get_bodypart(hit_zone) - if(affecting) - if(affecting.receive_damage(0, force)) - C.update_damage_overlays() - to_chat(C, "The nettle burns your bare hand!") - return TRUE - -/obj/item/reagent_containers/food/snacks/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity) - . = ..() - if(!proximity) - return - if(force > 0) - force -= rand(1, (force / 3) + 1) // When you whack someone with it, leaves fall off - else - to_chat(usr, "All the leaves have fallen off the nettle from violent whacking.") - qdel(src) - -/obj/item/reagent_containers/food/snacks/grown/nettle/basic - seed = /obj/item/seeds/nettle - -/obj/item/reagent_containers/food/snacks/grown/nettle/basic/add_juice() - ..() - force = round((5 + seed.potency / 5), 1) - /obj/item/reagent_containers/food/snacks/grown/nettle/death seed = /obj/item/seeds/nettle/death name = "deathnettle" @@ -91,26 +69,3 @@ throwforce = 15 wine_power = 50 wine_flavor = "burning rage" //WS edit: new wine flavors - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/add_juice() - ..() - force = round((5 + seed.potency / 2.5), 1) - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/pickup(mob/living/carbon/user) - if(..()) - if(prob(50)) - user.Paralyze(100) - to_chat(user, "You are stunned by [src] as you try picking it up!") - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/attack(mob/living/carbon/M, mob/user) - if(!..()) - return - if(isliving(M)) - to_chat(M, "You are stunned by the powerful acid of [src]!") - log_combat(user, M, "attacked", src) - - M.adjust_blurriness(force/7) - if(prob(20)) - M.Unconscious(force / 0.3) - M.Paralyze(force / 0.75) - M.drop_all_held_items() diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index f97596c348f2..ee76f02e02c8 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -23,8 +23,9 @@ pixel_y = base_pixel_y + rand(-5, 5) if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_new(src, newloc) + // Go through all traits in their genes and call on_new_plant from them. + for(var/datum/plant_gene/trait/trait in seed.genes) + trait.on_new_plant(src, newloc) if(istype(src, seed.product)) // no adding reagents if it is just a trash item seed.prepare_result(src) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index bbfeaeeb5b5a..13faaf5f15a5 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -194,7 +194,7 @@ //Pests & Weeds////////////////////////////////////////////////////////// if(pestlevel >= 8) - if(!myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + if(!myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-2 / rating) else @@ -202,7 +202,7 @@ adjustPests(-1 / rating) else if(pestlevel >= 4) - if(!myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + if(!myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-1 / rating) else @@ -210,7 +210,7 @@ if(prob(50)) adjustPests(-1 / rating) - else if(pestlevel < 4 && myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + else if(pestlevel < 4 && myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-2 / rating) if(prob(5)) adjustPests(-1 / rating) @@ -269,10 +269,7 @@ update_appearance() if(myseed && prob(5 * (11-myseed.production))) - for(var/g in myseed.genes) - if(istype(g, /datum/plant_gene/trait)) - var/datum/plant_gene/trait/selectedtrait = g - selectedtrait.on_grow(src) + SEND_SIGNAL(myseed, COMSIG_SEED_ON_GROW, src) return /obj/machinery/hydroponics/update_appearance(updates) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index a57934dc551d..d34490d2bd24 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -1,6 +1,8 @@ /datum/plant_gene var/name var/mutability_flags = PLANT_GENE_EXTRACTABLE | PLANT_GENE_REMOVABLE ///These flags tells the genemodder if we want the gene to be extractable, only removable or neither. + /// The font awesome icon name representing the gene in the seed extractor UI (Once i port that -Fallcon) + var/icon = "dna" /datum/plant_gene/proc/get_name() // Used for manipulator display and gene disk name. var/formatted_name @@ -14,16 +16,39 @@ formatted_name += name return formatted_name -/datum/plant_gene/proc/can_add(obj/item/seeds/S) - return !istype(S, /obj/item/seeds/sample) // Samples can't accept new genes +/* + * Check if the seed can accept this plant gene. + * + * our_seed - the seed we're adding the gene to + * + * Returns TRUE if the seed can take the gene, and FALSE otherwise. + */ +/datum/plant_gene/proc/can_add(obj/item/seeds/our_seed) + SHOULD_CALL_PARENT(TRUE) + return TRUE +/// Copies over vars and information about our current gene to a new gene and returns the new instance of gene. /datum/plant_gene/proc/Copy() - var/datum/plant_gene/G = new type - G.mutability_flags = mutability_flags - return G - -/datum/plant_gene/proc/apply_vars(obj/item/seeds/S) // currently used for fire resist, can prob. be further refactored - return + var/datum/plant_gene/new_gene = new type + new_gene.mutability_flags = mutability_flags + return new_gene + +/* + * on_new_seed is called when seed genes are initialized on the /obj/seed. + * + * new_seed - the seed being created + */ +/datum/plant_gene/proc/on_new_seed(obj/item/seeds/new_seed) + return // Not implemented + +/* + * on_removed is called when the gene is removed from a seed. + * Also called when a seed is qdel'd (and all the genes are removed and deleted). + * + * old_seed - our seed, before being removed + */ +/datum/plant_gene/proc/on_removed(obj/item/seeds/old_seed) + return // Not implemented // Core plant genes store 5 main variables: lifespan, endurance, production, yield, potency /datum/plant_gene/core @@ -171,28 +196,70 @@ // Various traits affecting the product. /datum/plant_gene/trait + /// The rate at which this trait affects something. This can be anything really - why? I dunno. var/rate = 0.05 var/examine_line = "" - var/trait_id // must be set and equal for any two traits of the same type + /// Bonus lines displayed on examine. + var/description = "" + /// Flag - Traits that share an ID cannot be placed on the same plant. + var/trait_ids + /// Flag - Modifications made to the final product. + var/trait_flags + /// A blacklist of seeds that a trait cannot be attached to. + var/list/obj/item/seeds/seed_blacklist /datum/plant_gene/trait/Copy() var/datum/plant_gene/trait/G = ..() G.rate = rate return G -/datum/plant_gene/trait/can_add(obj/item/seeds/S) +/datum/plant_gene/trait/can_add(obj/item/seeds/source_seed) if(!..()) return FALSE - for(var/datum/plant_gene/trait/R in S.genes) - if(trait_id && R.trait_id == trait_id) + for(var/obj/item/seeds/found_seed as anything in seed_blacklist) + if(istype(source_seed, found_seed)) return FALSE - if(type == R.type) + + for(var/datum/plant_gene/trait/trait in source_seed.genes) + if(trait_ids & trait.trait_ids) + return FALSE + if(type == trait.type) return FALSE + return TRUE -/datum/plant_gene/trait/proc/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - return +/* + * on_new_plant is called for every plant trait on an /obj/item/grown or /obj/item/reagent_containers/food/snacks/grown when initialized. + * + * our_plant - the source plant being created + * newloc - the loc of the plant + */ +/datum/plant_gene/trait/proc/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + // Plants should always have seeds, but if a plant gene is somehow being instantiated on a plant with no seed, stop initializing genes + // (Plants hold their genes on their seeds, so we can't really add them to something that doesn't exist) + if(isnull(our_plant.get_plant_seed())) + stack_trace("[our_plant] ([our_plant.type]) has a nulled seed value while trying to initialize [src]!") + return FALSE + + // Add on any bonus lines on examine + if(description) + RegisterSignal(our_plant, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + return TRUE + +/* + * on_new_seed is called when seed genes are initialized on the /obj/seed. + * + * new_seed - the seed being created + */ +/datum/plant_gene/trait/on_new_seed(obj/item/seeds/new_seed) + return TRUE + +/// Add on any unique examine text to the plant's examine text. +/datum/plant_gene/trait/proc/examine(obj/item/reagent_containers/food/snacks/grown/our_plant, mob/examiner, list/examine_list) + SIGNAL_HANDLER + + examine_list += span_info("[description]") /datum/plant_gene/trait/proc/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return @@ -213,84 +280,173 @@ /datum/plant_gene/trait/proc/on_grow(obj/machinery/hydroponics/H) return +/// Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind. /datum/plant_gene/trait/squash - // Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind. - // Also splashes everything in target turf with reagents and applies other trait effects (teleporting, etc) to the target by on_squash. - // For code, see grown.dm name = "Liquid Contents" - examine_line = "It has a lot of liquid contents inside." + icon = "droplet" + description = "It may burst open from the internal pressure on impact." + trait_ids = THROW_IMPACT_ID | REAGENT_TRANSFER_ID | ATTACK_SELF_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +// Register a signal that our plant can be squashed on add. +/datum/plant_gene/trait/squash/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(squash_plant)) + RegisterSignal(our_plant, COMSIG_MOVABLE_IMPACT, PROC_REF(squash_plant)) + RegisterSignal(our_plant, COMSIG_ITEM_ATTACK_SELF, PROC_REF(squash_plant)) + +/* + * Signal proc to squash the plant this trait belongs to, causing a smudge, exposing the target to reagents, and deleting it, + * + * Arguments + * our_plant - the plant this trait belongs to. + * target - the atom being hit by this squashed plant. + */ +/datum/plant_gene/trait/squash/proc/squash_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, atom/target) + SIGNAL_HANDLER + + var/turf/our_turf = get_turf(target) + our_plant.forceMove(our_turf) + if(istype(our_plant)) + if(ispath(our_plant.splat_type, /obj/effect/decal/cleanable/food/plant_smudge)) + var/obj/plant_smudge = new our_plant.splat_type(our_turf) + plant_smudge.name = "[our_plant.name] smudge" + if(our_plant.filling_color) + plant_smudge.color = our_plant.filling_color + else if(our_plant.splat_type) + new our_plant.splat_type(our_turf) + else + var/obj/effect/decal/cleanable/food/plant_smudge/misc_smudge = new(our_turf) + misc_smudge.name = "[our_plant.name] smudge" + misc_smudge.color = "#82b900" -/datum/plant_gene/trait/squash/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - // Squash the plant on slip. - G.squash(C) + our_plant.visible_message(span_warning("[our_plant] is squashed."),span_hear("You hear a smack.")) + SEND_SIGNAL(our_plant, COMSIG_PLANT_ON_SQUASH, target) + our_plant.reagents?.expose(our_turf) + for(var/things in our_turf) + our_plant.reagents?.expose(things) + + qdel(our_plant) + +/* + * Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery. + * Applies other trait effects (teleporting, etc) to the target by signal. + */ /datum/plant_gene/trait/slip - // Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery. - // Applies other trait effects (teleporting, etc) to the target by on_slip. name = "Slippery Skin" + description = "Watch your step around this." + icon = "person-falling" rate = 1.6 - examine_line = "It has a very slippery skin." + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/slip/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - ..() - if(istype(G) && ispath(G.trash, /obj/item/grown)) +/datum/plant_gene/trait/slip/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/reagent_containers/food/snacks/grown/grown_plant = our_plant + if(istype(grown_plant) && ispath(grown_plant.trash, /obj/item/grown)) return - var/obj/item/seeds/seed = G.seed - var/stun_len = seed.potency * rate - if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent(/datum/reagent/lube))) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/stun_len = our_seed.potency * rate + + if(!istype(our_plant, /obj/item/grown/bananapeel) && (!our_plant.reagents || !our_plant.reagents.has_reagent(/datum/reagent/lube))) stun_len /= 3 - G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, PROC_REF(handle_slip), G)) + our_plant.AddComponent(/datum/component/slippery, min(stun_len, 140), NONE, CALLBACK(src, PROC_REF(handle_slip), our_plant)) + +/// On slip, sends a signal that our plant was slipped on out. +/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/our_plant, mob/slipped_target) + SEND_SIGNAL(our_plant, COMSIG_PLANT_ON_SLIP, slipped_target) -/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M) - for(var/datum/plant_gene/trait/T in G.seed.genes) - T.on_slip(G, M) +/* + * Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten. + * Generates sparks on squash. + * Small (potency * rate) chance to shock squish or slip target for (potency * rate) damage. + * Also affects plant batteries see capatative cell production datum + */ /datum/plant_gene/trait/cell_charge - // Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten. - // Generates sparks on squash. - // Small (potency*rate*5) chance to shock squish or slip target for (potency*rate*5) damage. - // Also affects plant batteries see capatative cell production datum name = "Electrical Activity" + description = "It can electrocute on interaction or recharge batteries when eaten." + icon = "bolt" rate = 0.2 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/cell_charge/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - var/power = G.seed.potency*rate - if(prob(power)) - C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES) - -/datum/plant_gene/trait/cell_charge/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(iscarbon(target)) - var/mob/living/carbon/C = target - var/power = G.seed.potency*rate - if(prob(power)) - C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES) - -/datum/plant_gene/trait/cell_charge/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) - if(!G.reagents.total_volume) - var/batteries_recharged = 0 - for(var/obj/item/stock_parts/cell/C in target.GetAllContents()) - var/newcharge = min(G.seed.potency*0.01*C.maxcharge, C.maxcharge) - if(C.charge < newcharge) - C.charge = newcharge - if(isobj(C.loc)) - var/obj/O = C.loc - O.update_appearance() //update power meters and such - C.update_appearance() - batteries_recharged = 1 - if(batteries_recharged) - to_chat(target, "Your batteries are recharged!") +/datum/plant_gene/trait/cell_charge/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/squash)) + // If we have the squash gene, let that handle slipping + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(zap_target)) + else + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(zap_target)) + RegisterSignal(our_plant, COMSIG_FOOD_EATEN, PROC_REF(recharge_cells)) +/* + * Zaps the target with a stunning shock. + * + * our_plant - our source plant, shocking the target + * target - the atom being zapped by our plant + */ +/datum/plant_gene/trait/cell_charge/proc/zap_target(obj/item/our_plant, atom/target) + SIGNAL_HANDLER + if(!iscarbon(target)) + return + + our_plant.investigate_log("zapped [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/mob/living/carbon/target_carbon = target + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/power = our_seed.potency * rate + if(prob(power)) + target_carbon.electrocute_act(round(power), our_plant, 1, SHOCK_NOGLOVES) + +/* + * Recharges every cell the person is holding for a bit based on plant potency. + * + * our_plant - our source plant, that we consumed to charge the cells + * eater - the mob that bit the plant + * feeder - the mob that feed the eater the plant + */ +/datum/plant_gene/trait/cell_charge/proc/recharge_cells(obj/item/our_plant, mob/living/carbon/eater, mob/feeder) + SIGNAL_HANDLER + + to_chat(eater, span_notice("You feel energized as you bite into [our_plant].")) + var/batteries_recharged = FALSE + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + for(var/obj/item/stock_parts/cell/found_cell in eater.get_contents()) + var/newcharge = min(our_seed.potency * 0.01 * found_cell.maxcharge, found_cell.maxcharge) + if(found_cell.charge < newcharge) + found_cell.charge = newcharge + if(isobj(found_cell.loc)) + var/obj/cell_location = found_cell.loc + cell_location.update_appearance() //update power meters and such + found_cell.update_appearance() + batteries_recharged = TRUE + if(batteries_recharged) + to_chat(eater, span_notice("Your batteries are recharged!")) + +/* + * Makes the plant glow. Makes the plant in tray glow, too. + * Adds (1.4 + potency * rate) light range and (potency * (rate + 0.01)) light_power to products. + */ /datum/plant_gene/trait/glow - // Makes plant glow. Makes plant in tray glow too. - // Adds 1 + potency*rate light range and potency*(rate + 0.01) light_power to products. name = "Bioluminescence" + icon = "lightbulb" rate = 0.03 - examine_line = "It emits a soft glow." - trait_id = "glow" + description = "It emits a soft glow." + trait_ids = GLOW_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE var/glow_color = "#C3E381" /datum/plant_gene/trait/glow/proc/glow_range(obj/item/seeds/S) @@ -299,15 +455,18 @@ /datum/plant_gene/trait/glow/proc/glow_power(obj/item/seeds/S) return max(S.potency*(rate + 0.01), 0.1) -/datum/plant_gene/trait/glow/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) +/datum/plant_gene/trait/glow/on_new_plant(obj/item/reagent_containers/food/snacks/grown/G, newloc) . = ..() G.light_system = MOVABLE_LIGHT G.AddComponent(/datum/component/overlay_lighting, glow_range(G.seed), glow_power(G.seed), glow_color) +/* + * Makes plant emit darkness. (Purple-ish shadows) + * Adds - (potency * (rate * 0.2)) light power to products. + */ /datum/plant_gene/trait/glow/shadow - //makes plant emit slightly purple shadows - //adds -potency*(rate*0.2) light power to products name = "Shadow Emission" + icon = "lightbulb-o" rate = 0.04 glow_color = "#AAD84B" @@ -348,157 +507,359 @@ name = "Pink Bioluminescence" glow_color = "#FFB3DA" - - +/* + * Makes plant teleport people when squashed or slipped on. + * Teleport radius is roughly potency / 10. + */ /datum/plant_gene/trait/teleport - // Makes plant teleport people when squashed or slipped on. - // Teleport radius is calculated as max(round(potency*rate), 1) name = "Bluespace Activity" + description = "It causes people to teleport on interaction." + icon = "right-left" rate = 0.1 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(isliving(target)) - var/teleport_radius = max(round(G.seed.potency / 10), 1) - var/turf/T = get_turf(target) - new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... - do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) +/datum/plant_gene/trait/teleport/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/squash)) + // If we have the squash gene, let that handle slipping + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(squash_teleport)) + else + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(slip_teleport)) + +/* + * When squashed, makes the target teleport. + * + * our_plant - our plant, being squashed, and teleporting the target + * target - the atom targeted by the squash + */ +/datum/plant_gene/trait/teleport/proc/squash_teleport(obj/item/our_plant, atom/target) + SIGNAL_HANDLER + + if(!isliving(target)) + return -/datum/plant_gene/trait/teleport/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - var/teleport_radius = max(round(G.seed.potency / 10), 1) - var/turf/T = get_turf(C) - to_chat(C, "You slip through spacetime!") - do_teleport(C, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + our_plant.investigate_log("squash-teleported [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/teleport_radius = max(round(our_seed.potency / 10), 1) + var/turf/T = get_turf(target) + new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... + do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + +/* + * When slipped on, makes the target teleport and either teleport the source again or delete it. + * + * our_plant - our plant being slipped on + * target - the carbon targeted that was slipped and was teleported + */ +/datum/plant_gene/trait/teleport/proc/slip_teleport(obj/item/our_plant, mob/living/carbon/target) + SIGNAL_HANDLER + + our_plant.investigate_log("slip-teleported [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/teleport_radius = max(round(our_seed.potency / 10), 1) + var/turf/T = get_turf(target) + to_chat(target, span_warning("You slip through spacetime!")) + do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) if(prob(50)) - do_teleport(G, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + do_teleport(our_plant, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) else new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... - qdel(G) - + qdel(our_plant) +/** + * A plant trait that causes the plant's capacity to double. + * + * When harvested, the plant's individual capacity is set to double it's default. + */ /datum/plant_gene/trait/maxchem - // 2x to max reagents volume. name = "Densified Chemicals" + description = "The reagent volume is doubled." + icon = "flask-vial" rate = 2 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/maxchem/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - ..() - G.reagents.maximum_volume *= rate +/datum/plant_gene/trait/maxchem/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + . = ..() + if(!.) + return + our_plant.reagents?.maximum_volume *= rate + +/// Allows a plant to be harvested multiple times. /datum/plant_gene/trait/repeated_harvest name = "Perennial Growth" - -/datum/plant_gene/trait/repeated_harvest/can_add(obj/item/seeds/S) - if(!..()) - return FALSE - if(istype(S, /obj/item/seeds/replicapod)) - return FALSE - return TRUE - + description = "It may be harvested multiple times from the same plant." + icon = "cubes-stacked" + /// Don't allow replica pods to be multi harvested, please. + seed_blacklist = list( + /obj/item/seeds/replicapod, + ) + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/* + * Allows a plant to be turned into a battery when cabling is applied. + * 100 potency plants are made into 2 mj batteries. + * Plants with electrical activity has their capacities massively increased (up to 40 mj at 100 potency) + */ /datum/plant_gene/trait/battery name = "Capacitive Cell Production" + description = "It can work like a power cell when wired properly." + icon = "car-battery" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + /// The number of cables needed to make a battery. + var/cables_needed_per_battery = 5 -/datum/plant_gene/trait/battery/on_attackby(obj/item/reagent_containers/food/snacks/grown/G, obj/item/I, mob/user) - if(istype(I, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = I - if(C.use(5)) - to_chat(user, "You add some cable to [G] and slide it inside the battery encasing.") - var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) - pocell.icon_state = G.icon_state - pocell.maxcharge = G.seed.potency * 20 - - // The secret of potato supercells! - var/datum/plant_gene/trait/cell_charge/CG = G.seed.get_gene(/datum/plant_gene/trait/cell_charge) - if(CG) // Cell charge max is now 40MJ or otherwise known as 400KJ (Same as bluespace powercells) - pocell.maxcharge *= CG.rate*100 - pocell.charge = pocell.maxcharge - pocell.name = "[G.name] battery" - pocell.desc = "A rechargeable plant-based power cell. This one has a rating of [DisplayEnergy(pocell.maxcharge)], and you should not swallow it." - - if(G.reagents.has_reagent(/datum/reagent/toxin/plasma, 2)) - pocell.rigged = TRUE - - qdel(G) - else - to_chat(user, "You need five lengths of cable to make a [G] battery!") +/datum/plant_gene/trait/battery/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PARENT_ATTACKBY, PROC_REF(make_battery)) + +/* + * When a plant with this gene is hit (attackby) with cables, we turn it into a battery. + * + * our_plant - our plant being hit + * hit_item - the item we're hitting the plant with + * user - the person hitting the plant with an item + */ +/datum/plant_gene/trait/battery/proc/make_battery(obj/item/our_plant, obj/item/hit_item, mob/user) + SIGNAL_HANDLER + + if(!istype(hit_item, /obj/item/stack/cable_coil)) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/obj/item/stack/cable_coil/cabling = hit_item + if(!cabling.use(cables_needed_per_battery)) + to_chat(user, span_warning("You need five lengths of cable to make a [our_plant] battery!")) + return + to_chat(user, span_notice("You add some cable to [our_plant] and slide it inside the battery encasing.")) + var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) + pocell.icon = our_plant.icon // Just in case the plant icons get spread out in different files eventually, this trait won't cause error sprites (also yay downstreams) + pocell.icon_state = our_plant.icon_state + pocell.maxcharge = our_seed.potency + // The secret of potato supercells! + var/datum/plant_gene/trait/cell_charge/electrical_gene = our_seed.get_gene(/datum/plant_gene/trait/cell_charge) + if(electrical_gene) // Cell charge max is now 40MJ or otherwise known as 400KJ (Same as bluespace power cells) + pocell.maxcharge *= (electrical_gene.rate * 100) + + pocell.charge = pocell.maxcharge + pocell.name = "[our_plant.name] battery" + pocell.desc = "A rechargeable plant-based power cell. This one has a rating of [DisplayEnergy(pocell.maxcharge)], and you should not swallow it." + + if(our_plant.reagents.has_reagent(/datum/reagent/toxin/plasma, 2)) + pocell.rigged = TRUE + + qdel(our_plant) + +/* + * Injects a number of chemicals from the plant when you throw it at someone or they slip on it. + * At 0 potency it can inject 1 unit of its chemicals, while at 100 potency it can inject 20 units. + */ /datum/plant_gene/trait/stinging name = "Hypodermic Prickles" + description = "It stings, passing some reagents in the process." + icon = "syringe" + trait_ids = REAGENT_TRANSFER_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/datum/plant_gene/trait/stinging/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(prickles_inject)) + RegisterSignal(our_plant, COMSIG_MOVABLE_IMPACT, PROC_REF(prickles_inject)) + +/* + * Injects a target with a number of reagents from our plant. + * + * our_plant - our plant that's injecting someone + * target - the atom being hit on thrown or slipping on our plant + */ +/datum/plant_gene/trait/stinging/proc/prickles_inject(obj/item/our_plant, atom/target) + SIGNAL_HANDLER -/datum/plant_gene/trait/stinging/on_slip(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - on_throw_impact(G, target) + if(!isliving(target) || !our_plant.reagents?.total_volume) + return -/datum/plant_gene/trait/stinging/on_throw_impact(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(isliving(target) && G.reagents && G.reagents.total_volume) - var/mob/living/L = target - if(L.reagents && L.can_inject(null, 0)) - var/injecting_amount = max(1, G.seed.potency*0.2) // Minimum of 1, max of 20 - G.reagents.trans_to(L, injecting_amount, method = INJECT) - to_chat(target, "You are pricked by [G]!") - log_combat(G, L, "pricked and attempted to inject reagents from [G] to [L]. Last touched by: [G.fingerprintslast].") + var/mob/living/living_target = target + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(living_target.reagents && living_target.can_inject()) + var/injecting_amount = max(1, our_seed.potency * 0.2) // Minimum of 1, max of 20 + our_plant.reagents.trans_to(living_target, injecting_amount, method = INJECT) + to_chat(target, span_danger("You are pricked by [our_plant]!")) + log_combat(our_plant, living_target, "pricked and attempted to inject reagents from [our_plant] to [living_target]. Last touched by: [our_plant.fingerprintslast].") + our_plant.investigate_log("pricked and injected [key_name(living_target)] and injected [injecting_amount] reagents at [AREACOORD(living_target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) +/// Explodes into reagent-filled smoke when squashed. /datum/plant_gene/trait/smoke name = "Gaseous Decomposition" + description = "It can be smashed to turn its Liquid Contents into smoke." + icon = "cloud" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/smoke/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - var/datum/effect_system/smoke_spread/chem/S = new - var/splat_location = get_turf(target) - var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1) - S.attach(splat_location) - S.set_up(G.reagents, smoke_amount, splat_location, 0) - S.start() - G.reagents.clear_reagents() +/datum/plant_gene/trait/smoke/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(make_smoke)) -/datum/plant_gene/trait/fire_resistance // Lavaland +/* + * Makes a cloud of reagent smoke. + * + * our_plant - our plant being squashed and smoked + * target - the atom the plant was squashed on + */ +/datum/plant_gene/trait/smoke/proc/make_smoke(obj/item/reagent_containers/food/snacks/grown/our_plant, atom/target) + SIGNAL_HANDLER + + our_plant.investigate_log("made smoke at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/datum/effect_system/smoke_spread/chem/smoke = new + var/splat_location = get_turf(target) + var/smoke_amount = round(sqrt(our_plant.seed.potency * 0.1), 1) + smoke.attach(splat_location) + smoke.set_up(our_plant.reagents, smoke_amount, splat_location, 0) + smoke.start() + our_plant.reagents.clear_reagents() + +/// Makes the plant and its seeds fireproof. From lavaland plants. +/datum/plant_gene/trait/fire_resistance name = "Fire Resistance" + description = "Makes the seeds, plant and produce fireproof." + icon = "fire" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/fire_resistance/apply_vars(obj/item/seeds/S) - if(!(S.resistance_flags & FIRE_PROOF)) - S.resistance_flags |= FIRE_PROOF +/datum/plant_gene/trait/fire_resistance/on_new_seed(obj/item/seeds/new_seed) + if(!(new_seed.resistance_flags & FIRE_PROOF)) + new_seed.resistance_flags |= FIRE_PROOF -/datum/plant_gene/trait/fire_resistance/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - if(!(G.resistance_flags & FIRE_PROOF)) - G.resistance_flags |= FIRE_PROOF +/datum/plant_gene/trait/fire_resistance/on_removed(obj/item/seeds/old_seed) + if(old_seed.resistance_flags & FIRE_PROOF) + old_seed.resistance_flags &= ~FIRE_PROOF + +/datum/plant_gene/trait/fire_resistance/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return -///Invasive spreading lets the plant jump to other trays, the spreadinhg plant won't replace plants of the same type. + if(!(our_plant.resistance_flags & FIRE_PROOF)) + our_plant.resistance_flags |= FIRE_PROOF + +/// Invasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type. /datum/plant_gene/trait/invasive name = "Invasive Spreading" + description = "It attempts to spread around if not contained." + icon = "virus" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/datum/plant_gene/trait/invasive/on_new_seed(obj/item/seeds/new_seed) + RegisterSignal(new_seed, COMSIG_SEED_ON_GROW, PROC_REF(try_spread)) + +/datum/plant_gene/trait/invasive/on_removed(obj/item/seeds/old_seed) + UnregisterSignal(old_seed, COMSIG_SEED_ON_GROW) + +/* + * Attempt to find an adjacent tray we can spread to. + * + * our_seed - our plant's seed, what spreads to other trays + * our_tray - the hydroponics tray we're currently in + */ +/datum/plant_gene/trait/invasive/proc/try_spread(obj/item/seeds/our_seed, obj/machinery/hydroponics/our_tray) + SIGNAL_HANDLER + + if(prob(100 - (5 * (11 - our_seed.production)))) + return -/datum/plant_gene/trait/invasive/on_grow(obj/machinery/hydroponics/H) for(var/step_dir in GLOB.alldirs) - var/obj/machinery/hydroponics/HY = locate() in get_step(H, step_dir) - if(HY && prob(15)) - if(HY.myseed) // check if there is something in the tray. - if(HY.myseed.type == H.myseed.type && HY.dead != 0) - continue //It should not destroy its owm kind. - qdel(HY.myseed) - HY.myseed = null - HY.myseed = H.myseed.Copy() - HY.age = 0 - HY.dead = 0 - HY.plant_health = HY.myseed.endurance - HY.lastcycle = world.time - HY.harvest = 0 - HY.weedlevel = 0 // Reset - HY.pestlevel = 0 // Reset - HY.update_appearance() - HY.visible_message("The [H.myseed.plantname] spreads!") - -/datum/plant_gene/trait/plant_type // Parent type + var/obj/machinery/hydroponics/spread_tray = locate() in get_step(our_tray, step_dir) + if(spread_tray && prob(15)) + if(!our_tray.Adjacent(spread_tray)) + continue //Don't spread through things we can't go through. + + spread_seed(spread_tray, our_tray) + +/* + * Actually spread the plant to the tray we found in try_spread. + * + * target_tray - the tray we're spreading to + * origin_tray - the tray we're currently in + */ +/datum/plant_gene/trait/invasive/proc/spread_seed(obj/machinery/hydroponics/target_tray, obj/machinery/hydroponics/origin_tray) + if(target_tray.myseed) // Check if there's another seed in the next tray. + if(target_tray.myseed.type == origin_tray.myseed.type && target_tray.dead != FALSE) + return FALSE // It should not destroy its own kind. + target_tray.visible_message(span_warning("The [target_tray.myseed.plantname] is overtaken by [origin_tray.myseed.plantname]!")) + QDEL_NULL(target_tray.myseed) + target_tray.myseed = origin_tray.myseed.Copy() + target_tray.age = 0 + target_tray.plant_health = target_tray.myseed.endurance + target_tray.lastcycle = world.time + target_tray.weedlevel = 0 + target_tray.pestlevel = 0 + target_tray.visible_message(span_warning("The [origin_tray.myseed.plantname] spreads!")) + if(target_tray.myseed) + target_tray.name = "[initial(target_tray.name)] ([target_tray.myseed.plantname])" + else + target_tray.name = initial(target_tray.name) + + return TRUE + +/// Makes the plant embed on thrown impact. +/datum/plant_gene/trait/sticky + name = "Prickly Adhesion" + description = "It sticks to people when thrown, also passing reagents if stingy." + icon = "bandage" + trait_ids = THROW_IMPACT_ID + +/datum/plant_gene/trait/sticky/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/stinging)) + our_plant.embedding = EMBED_POINTY + else + our_plant.embedding = EMBED_HARMLESS + our_plant.updateEmbedding() + our_plant.throwforce = (our_seed.potency/20) + +/datum/plant_gene/trait/carnivory + name = "Obligate Carnivory" + description = "Pests have positive effect on the plant health." + icon = "spider" + +/// Plant type traits. Incompatible with one another. +/datum/plant_gene/trait/plant_type name = "you shouldn't see this" - trait_id = "plant_type" + trait_ids = PLANT_TYPE_ID + mutability_flags = PLANT_GENE_EXTRACTABLE +/// Weeds don't get annoyed by weeds in their tray. /datum/plant_gene/trait/plant_type/weed_hardy name = "Weed Adaptation" + description = "It is a weed that needs no nutrients and doesn't suffer from other weeds." + icon = "seedling" +/// Mushrooms need less light and have a minimum yield. /datum/plant_gene/trait/plant_type/fungal_metabolism name = "Fungal Vitality" + description = "It is a mushroom that needs no water, less light and can't be overtaken by weeds." + icon = "droplet-slash" -/datum/plant_gene/trait/plant_type/crystal // WS edit - Crystals - name = "Crystalline Growing Patterns" - +/// Currently unused and does nothing. Appears in strange seeds. /datum/plant_gene/trait/plant_type/alien_properties name ="?????" + icon = "reddit-alien" -/datum/plant_gene/trait/plant_type/carnivory - name = "Obligate Carnivory" +/datum/plant_gene/trait/plant_type/crystal + name = "Crystalline Growing Patterns" diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index ad24dccff43d..65f47357899a 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -40,7 +40,7 @@ var/research = 0 // Defines "discovery value", which will give a one-time point payout if a seed is given to an R&D console. Seed discovery is determined on a ship-by-ship basis. var/seed_flags = MUTATE_EARLY // Determines if a plant is allowed to mutate early at 30+ instability -/obj/item/seeds/Initialize(mapload, nogenes = 0) +/obj/item/seeds/Initialize(mapload, nogenes = FALSE) . = ..() pixel_x = base_pixel_y + rand(-8, 8) pixel_y = base_pixel_x + rand(-8, 8) @@ -66,10 +66,14 @@ genes += new /datum/plant_gene/core/potency(potency) genes += new /datum/plant_gene/core/instability(instability) - for(var/p in genes) - if(ispath(p)) - genes -= p - genes += new p + for(var/plant_gene in genes) + if(ispath(plant_gene)) + genes -= plant_gene + genes += new plant_gene + + // Go through all traits in their genes and call on_new_seed from them. + for(var/datum/plant_gene/trait/traits in genes) + traits.on_new_seed(src) for(var/reag_id in reagents_add) genes += new /datum/plant_gene/reagent(reag_id, reagents_add[reag_id]) @@ -557,3 +561,21 @@ genes += P else qdel(P) + +/* + * Both `/item/food/grown` and `/item/grown` implement a seed variable which tracks + * plant statistics, genes, traits, etc. This proc gets the seed for either grown food or + * grown inedibles and returns it, or returns null if it's not a plant. + * + * Returns an `/obj/item/seeds` ref for grown foods or grown inedibles. + * - returned seed CAN be null in weird cases but in all applications it SHOULD NOT be. + * Returns null if it is not a plant. + */ +/obj/item/proc/get_plant_seed() + return null + +/obj/item/reagent_containers/food/snacks/grown/get_plant_seed() + return seed + +/obj/item/grown/get_plant_seed() + return seed diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 25e045064a44..cbaa988aa5a8 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -40,6 +40,45 @@ return s_store return null +/mob/living/carbon/human/get_slot_by_item(obj/item/looking_for) + if(looking_for == belt) + return ITEM_SLOT_BELT + + if(looking_for == wear_id) + return ITEM_SLOT_ID + + if(looking_for == ears) + return ITEM_SLOT_EARS + + if(looking_for == glasses) + return ITEM_SLOT_EYES + + if(looking_for == gloves) + return ITEM_SLOT_GLOVES + + if(looking_for == head) + return ITEM_SLOT_HEAD + + if(looking_for == shoes) + return ITEM_SLOT_FEET + + if(looking_for == wear_suit) + return ITEM_SLOT_OCLOTHING + + if(looking_for == w_uniform) + return ITEM_SLOT_ICLOTHING + + if(looking_for == r_store) + return ITEM_SLOT_RPOCKET + + if(looking_for == l_store) + return ITEM_SLOT_LPOCKET + + if(looking_for == s_store) + return ITEM_SLOT_SUITSTORE + + return ..() + /mob/living/carbon/human/proc/get_all_slots() . = get_head_slots() | get_body_slots() diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index daa645a662a8..d5ce34ca412f 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -4,7 +4,10 @@ id = SPECIES_POD default_color = "59CE00" species_traits = list(MUTCOLORS,EYECOLOR) - inherent_traits = list(TRAIT_ALWAYS_CLEAN) + inherent_traits = list( + TRAIT_ALWAYS_CLEAN, + TRAIT_PLANT_SAFE, + ) inherent_factions = list("plants", "vines") fixed_mut_color = "59CE00" attack_verb = "slash" diff --git a/shiptest.dme b/shiptest.dme index de57d4f1f3b6..ee0c5d649f93 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -43,6 +43,7 @@ #include "code\__DEFINES\chat.dm" #include "code\__DEFINES\cinematics.dm" #include "code\__DEFINES\cleaning.dm" +#include "code\__DEFINES\clothing.dm" #include "code\__DEFINES\colors.dm" #include "code\__DEFINES\combat.dm" #include "code\__DEFINES\configuration.dm" @@ -168,6 +169,7 @@ #include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_clothing.dm" #include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_food.dm" #include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_grenade.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_hydroponic.dm" #include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_implant.dm" #include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_item.dm" #include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_aquarium.dm" @@ -669,6 +671,7 @@ #include "code\datums\elements\lazy_fishing_spot.dm" #include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\mobappearance.dm" +#include "code\datums\elements\plant_backfire.dm" #include "code\datums\elements\renamemob.dm" #include "code\datums\elements\selfknockback.dm" #include "code\datums\elements\snail_crawl.dm" @@ -2252,6 +2255,8 @@ #include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm" #include "code\modules\hydroponics\beekeeping\honey_frame.dm" #include "code\modules\hydroponics\beekeeping\honeycomb.dm" +#include "code\modules\hydroponics\genes\attack.dm" +#include "code\modules\hydroponics\genes\backfire.dm" #include "code\modules\hydroponics\grown\ambrosia.dm" #include "code\modules\hydroponics\grown\apple.dm" #include "code\modules\hydroponics\grown\banana.dm" From 38312bf47ab18be5e6681a2820ec764aa8855442 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 07:03:21 -0500 Subject: [PATCH 34/46] Automatic changelog generation for PR #3063 [ci skip] --- html/changelogs/AutoChangeLog-pr-3063.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3063.yml diff --git a/html/changelogs/AutoChangeLog-pr-3063.yml b/html/changelogs/AutoChangeLog-pr-3063.yml new file mode 100644 index 000000000000..f28b2678df07 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3063.yml @@ -0,0 +1,6 @@ +author: FalloutFalcon, MrMelbert, Coiax +changes: + - {code_imp: ported alot tg botany code along with gene desc and icons to be used + more soon} + - {refactor: moves most plant effects into genetics stuff} +delete-after: true From b395a7394838c6508548197f4218ed4c2fa74233 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:39:48 -0700 Subject: [PATCH 35/46] Rebalances hardsuit slowdowns (#3335) ## About The Pull Request Rebalances slowdown factors on various hardsuits to make some better and some worse. - Blood-red hardsuits now have a flat 0.5 slowdown at all times; toggling modes does not affect speed - Security hardsuits and other combat hardsuits (excluding swat suits) have a slowdown of 0.5; having worse armor than blood-reds is bad enough as it is - the heavy mining hardsuit now has the same speed as the mining hardsuit because it was faster than its lighter counterpart for some bizarre reason - The solgov hardsuit also got nerfed to 0.5 slowdown because it was full speed for some reason - The quixote mobility suit, despite being rare as hen's teeth, has 0.3 slowdown because thgvr doesn't want any hardsuit to be fullspeed ## Why It's Good For The Game Blood-red hardsuits (and their rarer sibling, the elite hardsuit) were unequivocally the kings of the armor scene, boasting both very high armor values and high mobility. if you found a blood red suit, you basically never had any reason to take it off or made any kind of trade-off for it. by contrast, security hardsuits and their relatives are extremely unpopular both for their slowdown and their mediocre armor values. this PR at least makes the slowdown much more tolerable, making all combat hardsuits (not counting swat suits) the same speed as a blood-red hardsuit in EVA mode. Ramzi suits were meant to be worse than blood reds in part because the speed boost doesn't work on them; this downside is now represented by just making them the same speed as a miner's hardsuit at all times. It still represents rusted and nonfunctioning servos and overall clunk like before. ## Changelog :cl: balance: Made security hardsuits faster and blood-red hardsuits slower balance: Normalized some weird hardsuit speed outliers /:cl: --- code/modules/clothing/spacesuits/hardsuit.dm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4de5192323ce..25788f4556ae 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -305,7 +305,6 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining/heavy custom_price = 4500 - slowdown = 0.5 /obj/item/clothing/head/helmet/space/hardsuit/mining/heavy name = "heavy mining helmet" @@ -387,13 +386,11 @@ if(on) linkedsuit.name = initial(linkedsuit.name) linkedsuit.desc = initial(linkedsuit.desc) - linkedsuit.slowdown = 1 linkedsuit.clothing_flags |= STOPSPRESSUREDAMAGE linkedsuit.cold_protection |= CHEST | GROIN | LEGS | FEET | ARMS | HANDS else linkedsuit.name += " (combat)" linkedsuit.desc = linkedsuit.alt_desc - linkedsuit.slowdown = linkedsuit.combat_slowdown linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) if(linkedsuit.lightweight) @@ -418,12 +415,12 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION - var/combat_slowdown = 0 //slowdown when in combat mode + slowdown = 0.5 var/lightweight = 0 //used for flags when toggling //Ramzi Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi - name = "rusted-red hardsuit helmet" + name = "rust-red hardsuit helmet" desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." alt_desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" @@ -432,7 +429,7 @@ armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/space/hardsuit/syndi/ramzi - name = "rusted-red hardsuit" + name = "rust-red hardsuit" desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." alt_desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" @@ -442,7 +439,7 @@ lightweight = 1 jetpack = null armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - combat_slowdown = 0.5 + slowdown = 0.7 jetpack = null //Elite Syndie suit @@ -510,7 +507,6 @@ armor = list("melee" = 25, "bullet" = 25, "laser" = 35, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 65, "fire" = 75, "acid" = 40) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/cybersun/paramed supports_variations = VOX_VARIATION - combat_slowdown = 0.4 jetpack = null /obj/item/clothing/head/helmet/space/hardsuit/syndi/cybersun/paramed @@ -667,6 +663,7 @@ item_state = "sec_hardsuit" armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security + slowdown = 0.5 supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/suit/space/hardsuit/security/Initialize() @@ -922,7 +919,7 @@ armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi - slowdown = 0 + slowdown = 0.5 shield_state = "shield-red" shield_on = "shield-red" jetpack = /obj/item/tank/jetpack/suit @@ -1203,7 +1200,7 @@ armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 30, "bomb" = 60, "bio" = 100, "rad" = 60, "fire" = 90, "acid" = 75) //intentionally the fucking strong, this is master chief-tier armor //is this really what you call the strong?? is this the best solgov has to offer?????? helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - slowdown = 0 + slowdown = 0.5 supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/quixote @@ -1227,7 +1224,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/quixote jetpack = /obj/item/tank/jetpack/suit - slowdown = 0 + slowdown = 0.3 max_heat_protection_temperature = 20000 var/datum/action/innate/quixotejump/jump From eacad4f1517478c062a554179d9d720790f0bbfa Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 14:50:58 -0500 Subject: [PATCH 36/46] Automatic changelog generation for PR #3335 [ci skip] --- html/changelogs/AutoChangeLog-pr-3335.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3335.yml diff --git a/html/changelogs/AutoChangeLog-pr-3335.yml b/html/changelogs/AutoChangeLog-pr-3335.yml new file mode 100644 index 000000000000..b4777b406644 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3335.yml @@ -0,0 +1,5 @@ +author: Apogee-dev +changes: + - {balance: Made security hardsuits faster and blood-red hardsuits slower} + - {balance: Normalized some weird hardsuit speed outliers} +delete-after: true From d37c89bca9e8bb810569a0cf97522b1283ea8b8d Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:37:08 -0700 Subject: [PATCH 37/46] Bandolier auto-loading (#3324) ## About The Pull Request Bandoliers can now be loaded similarly to a magazine by using an ammo box on it. Adds an examine hint for this behavior. ## Why It's Good For The Game QOL change, Streamlines loading the bandolier so you don't need to click at minimum 80 times to manually hand load 40 rounds into your bandolier. ## Changelog :cl: add: Bandolier auto-loading and examine hint /:cl: --- code/game/objects/items/storage/belt.dm | 6 +++++- .../boxes_magazines/_box_magazine.dm | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 0455a9366557..22f64d0a1a6c 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -681,7 +681,7 @@ /obj/item/storage/belt/bandolier name = "bandolier" - desc = "A bandolier for holding ammunition. Does not hold magazines" + desc = "A bandolier for holding ammunition. Does not hold magazines." icon_state = "bandolier" item_state = "bandolier" @@ -695,6 +695,10 @@ /obj/item/ammo_casing )) +/obj/item/storage/belt/bandolier/examine(mob/user) + . = ..() + . += span_notice("The bandolier can be directly loaded by clicking on it with an ammo box.") + /obj/item/storage/belt/fannypack name = "fannypack" desc = "A dorky fannypack for keeping small items in." diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 3b1bdbc6eb1c..7f92dfad16a6 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -125,6 +125,26 @@ to_chat(user, "You load [num_loaded] cartridge\s into \the [src]!") return num_loaded +/obj/item/ammo_box/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() + var/num_loaded = 0 + var/obj/item/storage/belt/bandolier/to_load + if(istype(target,/obj/item/storage/belt/bandolier)) + to_load = target + var/datum/component/storage/storage_to_load = to_load.GetComponent(/datum/component/storage) + for(var/obj/item/ammo_casing/casing_to_insert in stored_ammo) + if(!((to_load.contents.len >= storage_to_load.get_max_volume()) || do_after(user, 0.5 SECONDS, src))) + break + if(!storage_to_load.can_be_inserted(casing_to_insert,TRUE,user)) + break + storage_to_load.handle_item_insertion(casing_to_insert,TRUE,user) + stored_ammo -= casing_to_insert + playsound(get_turf(src), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + num_loaded++ + update_ammo_count() + if(num_loaded) + to_chat(user, "You load [num_loaded] cartridge\s into \the [to_load]!") + return /obj/item/ammo_box/attack_self(mob/user) var/obj/item/ammo_casing/A = get_round() if(!A) From 5c8add416cbe5c68822133210f7896d35f28aa65 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 9 Sep 2024 15:48:18 -0500 Subject: [PATCH 38/46] Automatic changelog generation for PR #3324 [ci skip] --- html/changelogs/AutoChangeLog-pr-3324.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3324.yml diff --git a/html/changelogs/AutoChangeLog-pr-3324.yml b/html/changelogs/AutoChangeLog-pr-3324.yml new file mode 100644 index 000000000000..12a897522755 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3324.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {rscadd: Bandolier auto-loading and examine hint} +delete-after: true From bf4052dfb56bda080d8d366f76b83f357da1c45d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 10 Sep 2024 00:59:37 +0000 Subject: [PATCH 39/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3063.yml | 6 ----- html/changelogs/AutoChangeLog-pr-3145.yml | 17 ------------- html/changelogs/AutoChangeLog-pr-3324.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3326.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3334.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3335.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3340.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3342.yml | 4 ---- html/changelogs/archive/2024-09.yml | 29 +++++++++++++++++++++++ 9 files changed, 29 insertions(+), 48 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3063.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3145.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3324.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3326.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3334.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3335.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3340.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3342.yml diff --git a/html/changelogs/AutoChangeLog-pr-3063.yml b/html/changelogs/AutoChangeLog-pr-3063.yml deleted file mode 100644 index f28b2678df07..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3063.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: FalloutFalcon, MrMelbert, Coiax -changes: - - {code_imp: ported alot tg botany code along with gene desc and icons to be used - more soon} - - {refactor: moves most plant effects into genetics stuff} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3145.yml b/html/changelogs/AutoChangeLog-pr-3145.yml deleted file mode 100644 index 54b6ff43d1c4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3145.yml +++ /dev/null @@ -1,17 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: Welders/Plasmacutters now deal damage to wall integrity to decon} - - {rscadd: Plasmacutters are now engineering tools and fit in toolbelts. They can - damage ores into slag if used to mine. They are now researched with plasma technology - and advanced plasma technology.} - - {rscadd: Plasmacutters to cargo for 1250} - - {rscadd: 'Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, - Ranger, Hyena, Komodo, Shetland and Twinkleshine'} - - {rscdel: Plasmacutters extra mining range} - - {bugfix: Plasmacutters can repair prosthetic limbs like welders} - - {code_imp: Moves damage behavior of concrete walls to closed turfs. Basic walls - are now repaired with a welder.} - - {code_imp: R-walls d-state tied to their integrity. R-walls can be deconstructed - with plasmacutters.} - - {code_imp: Crate decon checks for tool behavior rather than a istype check} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3324.yml b/html/changelogs/AutoChangeLog-pr-3324.yml deleted file mode 100644 index 12a897522755..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3324.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: Bandolier auto-loading and examine hint} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3326.yml b/html/changelogs/AutoChangeLog-pr-3326.yml deleted file mode 100644 index 6b00b63982de..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3326.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: zimon9 -changes: - - {rscadd: Adds a rubbershot box to the outpost market} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3334.yml b/html/changelogs/AutoChangeLog-pr-3334.yml deleted file mode 100644 index c691d4edd3b2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3334.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {balance: Reduced hollowpoint damage by 5 (and 8mm Hollowpoint by 6)} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3335.yml b/html/changelogs/AutoChangeLog-pr-3335.yml deleted file mode 100644 index b4777b406644..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3335.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Apogee-dev -changes: - - {balance: Made security hardsuits faster and blood-red hardsuits slower} - - {balance: Normalized some weird hardsuit speed outliers} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3340.yml b/html/changelogs/AutoChangeLog-pr-3340.yml deleted file mode 100644 index 928a8e75574e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3340.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {bugfix: NT captain gloves no longer lie about shockproofing} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3342.yml b/html/changelogs/AutoChangeLog-pr-3342.yml deleted file mode 100644 index 6bc579cb368b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3342.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: Gun safeties can be toggled from 1st level storage slots.} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index a38a7c95fe2e..1ede8ca850da 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -30,3 +30,32 @@ ZephyrTFA: - server: CDN fully operational again after noticing an incorrectly absolute relative path +2024-09-10: + Apogee-dev: + - balance: Made security hardsuits faster and blood-red hardsuits slower + - balance: Normalized some weird hardsuit speed outliers + - bugfix: NT captain gloves no longer lie about shockproofing + - balance: Reduced hollowpoint damage by 5 (and 8mm Hollowpoint by 6) + FalloutFalcon, MrMelbert, Coiax: + - code_imp: ported alot tg botany code along with gene desc and icons to be used + more soon + - refactor: moves most plant effects into genetics stuff + Gristlebee: + - rscadd: Bandolier auto-loading and examine hint + - rscadd: Welders/Plasmacutters now deal damage to wall integrity to decon + - rscadd: Plasmacutters are now engineering tools and fit in toolbelts. They can + damage ores into slag if used to mine. They are now researched with plasma technology + and advanced plasma technology. + - rscadd: Plasmacutters to cargo for 1250 + - rscadd: Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, + Ranger, Hyena, Komodo, Shetland and Twinkleshine + - rscdel: Plasmacutters extra mining range + - bugfix: Plasmacutters can repair prosthetic limbs like welders + - code_imp: Moves damage behavior of concrete walls to closed turfs. Basic walls + are now repaired with a welder. + - code_imp: R-walls d-state tied to their integrity. R-walls can be deconstructed + with plasmacutters. + - code_imp: Crate decon checks for tool behavior rather than a istype check + - rscadd: Gun safeties can be toggled from 1st level storage slots. + zimon9: + - rscadd: Adds a rubbershot box to the outpost market From 6b3c4c8988ac63fe2bc8968be1dc05bd1f97a5a8 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 10 Sep 2024 04:06:36 -0500 Subject: [PATCH 40/46] Faction datums for smarter faction logic (#3156) ## About The Pull Request A basic datum system for managing factions, currently they are only used to consistently grab faction names! ## Why It's Good For The Game Simplify attaching content to factions. ## Changelog :cl: add: Added faction datums, this will be cool soon! /:cl: --------- Signed-off-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- _maps/configs/independent_beluga.json | 6 +- _maps/configs/independent_box.json | 1 + _maps/configs/independent_bubble.json | 1 + _maps/configs/independent_dwayne.json | 1 + _maps/configs/independent_junker.json | 1 + _maps/configs/independent_kilo.json | 1 + _maps/configs/independent_lagoon.json | 1 + _maps/configs/independent_mudskipper.json | 1 + _maps/configs/independent_rigger.json | 1 + _maps/configs/independent_schmiedeberg.json | 1 + _maps/configs/independent_shetland.json | 1 + _maps/configs/independent_sunskipper.json | 1 + _maps/configs/independent_tranquility.json | 1 + _maps/configs/inteq_colossus.json | 1 + _maps/configs/inteq_hound.json | 1 + _maps/configs/inteq_talos.json | 1 + _maps/configs/inteq_valor.json | 1 + _maps/configs/inteq_vaquero.json | 1 + _maps/configs/nanotrasen_delta.json | 1 + _maps/configs/nanotrasen_gecko.json | 1 + _maps/configs/nanotrasen_heron.json | 18 +++--- _maps/configs/nanotrasen_meta.json | 1 + _maps/configs/nanotrasen_mimir.json | 1 + _maps/configs/nanotrasen_osprey.json | 1 + _maps/configs/nanotrasen_ranger.json | 3 +- _maps/configs/nanotrasen_skipper.json | 1 + _maps/configs/pgf_crying_sun.json | 1 + _maps/configs/pirate_libertatia.json | 1 + _maps/configs/pirate_noderider.json | 1 + _maps/configs/pirate_tortuga.json | 1 + _maps/configs/solgov_chronicle.json | 1 + _maps/configs/solgov_inkwell.json | 1 + _maps/configs/solgov_paracelsus.json | 1 + _maps/configs/srm_elder.json | 1 + .../configs/syndicate_cybersun_kansatsu.json | 1 + _maps/configs/syndicate_gorlex_hyena.json | 1 + _maps/configs/syndicate_gorlex_komodo.json | 1 + _maps/configs/syndicate_litieguai.json | 1 + _maps/configs/syndicate_twinkleshine.json | 1 + _maps/example_ship_config.json | 1 + _maps/ship_config_schema.json | 10 +-- check_regex.yaml | 2 +- code/__DEFINES/factions.dm | 30 +++++++++ code/__DEFINES/subsystems.dm | 1 + code/__HELPERS/names.dm | 58 ----------------- code/controllers/subsystem/faction.dm | 32 ++++++++++ code/controllers/subsystem/mapping.dm | 10 +-- code/datums/shuttles.dm | 2 + code/modules/cargo/packs.dm | 7 ++- code/modules/cargo/packs/ammo.dm | 2 + code/modules/cargo/packs/civilian.dm | 1 + code/modules/cargo/packs/costumes_toys.dm | 12 +--- code/modules/cargo/packs/food.dm | 4 +- code/modules/cargo/packs/gun.dm | 19 ++++++ code/modules/cargo/packs/material.dm | 1 + code/modules/cargo/packs/medical.dm | 2 + code/modules/cargo/packs/sec_supply.dm | 1 + code/modules/cargo/packs/spacesuit_armor.dm | 6 ++ code/modules/faction/faction_datum.dm | 62 +++++++++++++++++++ code/modules/jobs/access.dm | 8 +-- .../mob/dead/new_player/ship_select.dm | 2 +- .../overmap/ships/controlled_ship_datum.dm | 3 + shiptest.dme | 2 + 63 files changed, 240 insertions(+), 101 deletions(-) create mode 100644 code/controllers/subsystem/faction.dm create mode 100644 code/modules/faction/faction_datum.dm diff --git a/_maps/configs/independent_beluga.json b/_maps/configs/independent_beluga.json index 0449bc3a8cae..50f0591a41e9 100644 --- a/_maps/configs/independent_beluga.json +++ b/_maps/configs/independent_beluga.json @@ -1,8 +1,12 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Beluga-class Transport", + "faction": "/datum/faction/independent", "prefix": "SV", - "namelists": ["CRUISE", "NATURAL"], + "namelists": [ + "CRUISE", + "NATURAL" + ], "map_short_name": "Beluga-class", "map_path": "_maps/shuttles/independent/independent_beluga.dmm", "description": "The Beluga-Class is a transport vessel for those with especially rich blood. Featuring a modest kitchen, hired Inteq security, and luxurious decoration, the Beluga is a first choice pick for many wealthy spacers trying to get from point A to B. The independent ship features several rooms for its guests and a well furnished meeting room for any corporate occassion.", diff --git a/_maps/configs/independent_box.json b/_maps/configs/independent_box.json index 14133f03f5bb..c944f29fc54b 100644 --- a/_maps/configs/independent_box.json +++ b/_maps/configs/independent_box.json @@ -12,6 +12,7 @@ "SPACE", "NATURAL" ], + "faction": "/datum/faction/independent", "prefix": "IMV", "job_slots": { "Chief Medical Officer": { diff --git a/_maps/configs/independent_bubble.json b/_maps/configs/independent_bubble.json index f63aca854e8b..33a8cf8c1815 100644 --- a/_maps/configs/independent_bubble.json +++ b/_maps/configs/independent_bubble.json @@ -12,6 +12,7 @@ "GENERAL", "SPACE" ], + "faction": "/datum/faction/independent", "prefix": "ISV", "limit": 1, "job_slots": { diff --git a/_maps/configs/independent_dwayne.json b/_maps/configs/independent_dwayne.json index 26027d6fb524..e770c725fc14 100644 --- a/_maps/configs/independent_dwayne.json +++ b/_maps/configs/independent_dwayne.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Mark.II Dwayne-class Long Range Mining Transport", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_junker.json b/_maps/configs/independent_junker.json index bd7807a02bb4..92edb754984a 100644 --- a/_maps/configs/independent_junker.json +++ b/_maps/configs/independent_junker.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Junker-class Salvaged Ship", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_kilo.json b/_maps/configs/independent_kilo.json index cab2eb292c51..a5a3881f23f2 100644 --- a/_maps/configs/independent_kilo.json +++ b/_maps/configs/independent_kilo.json @@ -5,6 +5,7 @@ "tags": [ "Mining" ], + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_lagoon.json b/_maps/configs/independent_lagoon.json index 313b4cd71d95..6a48dccd1e99 100644 --- a/_maps/configs/independent_lagoon.json +++ b/_maps/configs/independent_lagoon.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Lagoon-class Cruise Ship", + "faction": "/datum/faction/independent", "prefix": "SV", "description": "An unusual sight in the relatively impoverished Frontier, the Lagoon-class is a large pleasure vessel dedicated to transporting its passengers to any number of exotic locales. Lagoons found on the Frontier tend to contain crews and passengers of a particularly daring – or foolhardy – character, willing to pay out the nose for a tour of some of the most dangerous regions in known space. Accordingly, Lagoons in these regions typically include a small but respectably equipped security contingent to protect (and, when necessary, rein in) the passengers, and come with a surprisingly powerful thermo-electric generator to move the ship’s prodigious bulk across vast expanses of space.", "tags": [ diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json index 6119b39865d0..85f9c5f291a0 100644 --- a/_maps/configs/independent_mudskipper.json +++ b/_maps/configs/independent_mudskipper.json @@ -2,6 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Mudskipper-class Salvage Clipper", "map_short_name": "Mudskipper-class", + "faction": "/datum/faction/independent", "prefix": "ISV", "description": "One of the cheapest (and yet, inexplicably popular) offerings from Miskilamo Spacefaring, the Mudskipper-class is a vessel purpose-built for enterprising scrappers and looters looking to salvage bombed-out ruins and harvest boatloads of materials. Featuring a diverse set of multipurpose rooms, a charitable supply of EVA/ruin raiding equipment, and a set of anti-radiation gear for dealing with industrial accidents, the Mudskipper-class just keeps on chuggin’!", "tags": [ diff --git a/_maps/configs/independent_rigger.json b/_maps/configs/independent_rigger.json index 9fce68833fa0..57f147867e29 100644 --- a/_maps/configs/independent_rigger.json +++ b/_maps/configs/independent_rigger.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Riggs-class Sloop", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_schmiedeberg.json b/_maps/configs/independent_schmiedeberg.json index e9cffc680320..5b5f1bf36a4c 100644 --- a/_maps/configs/independent_schmiedeberg.json +++ b/_maps/configs/independent_schmiedeberg.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Schmiedeberg-class Pharmacology Ship", + "faction": "/datum/faction/independent", "prefix": "IMV", "map_short_name": "Schmiedeberg-class", "description": "Interested in pharmacological science, but tired of sitting in front of a chemistry dispenser and pushing buttons all day? Eager to combine the culinary arts with the narcotic ones? Hoping to combine all of these qualities with the most important activity of all: making fat stacks of dosh? Then the Schmiedeberg-class is for you! Host to a robust ghetto chemistry lab, a high-efficiency botanical set-up and a complete kitchen-and-storefront, the Schmiedeberg is perfect for back-alley chemists and botanists everywhere.", diff --git a/_maps/configs/independent_shetland.json b/_maps/configs/independent_shetland.json index de5873f80d75..a44478e49c74 100644 --- a/_maps/configs/independent_shetland.json +++ b/_maps/configs/independent_shetland.json @@ -1,5 +1,6 @@ { "map_name": "Shetland-class Multipurpose Frigate", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_sunskipper.json b/_maps/configs/independent_sunskipper.json index ee17e126cc34..a87d2582f097 100644 --- a/_maps/configs/independent_sunskipper.json +++ b/_maps/configs/independent_sunskipper.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Sunskipper-class Culinary Vessel", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": ["CRUISE", "NATURAL"], "map_short_name": "Sunskipper-class", diff --git a/_maps/configs/independent_tranquility.json b/_maps/configs/independent_tranquility.json index 07236d5e4568..37ba6bc8b813 100644 --- a/_maps/configs/independent_tranquility.json +++ b/_maps/configs/independent_tranquility.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Tranquility-class Flying Apartment Complex", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/inteq_colossus.json b/_maps/configs/inteq_colossus.json index 718ecb9f1295..973a80045e93 100644 --- a/_maps/configs/inteq_colossus.json +++ b/_maps/configs/inteq_colossus.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Colossus-class Armored Frigate", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The mainstay of Inteq’s mercenary fleet, the Colossus is a professionally-militarized freighter like most of Inteq’s ships, and is designed to operate independently for some time, serving IRMG’s interests and providing vital mercenary services wherever they are needed. Key features include a secure and well-stocked armory and ample crew space, as well as a spacious cargo bay, which crews often refurbish into additional recreational or training space.", "tags": [ diff --git a/_maps/configs/inteq_hound.json b/_maps/configs/inteq_hound.json index 3d3617263f61..f92f7d285f12 100644 --- a/_maps/configs/inteq_hound.json +++ b/_maps/configs/inteq_hound.json @@ -1,5 +1,6 @@ { "map_name": "Hound-class Corvette", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "namelists": [ "MYTHOLOGICAL", diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index 858255729809..b2d39c10f443 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Talos-class Command Clipper", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Talos is a command and support ship, and a rare example of a purpose-built Inteq ship. Outfitted with an abundance of construction and engineering equipment and a private bluespace communications suite capable of networking IRMG ships across any given system, Taloses are often the lynchpin of coordinated IRMG operations in a system, and offer construction and repair services as part of IRMG’s mercenary offerings. As Talos crews place a larger emphasis on support personnel, they tend to be less well-armed than other Inteq crews. One unusual feature of the Talos is its depressurized “wings” filled with redundant baffles, intended to provide extra durability in the case of impacts or weapons fire. They also double as auxiliary storage space and potential room for modification by their enterprising Artificer crews.", "tags": [ diff --git a/_maps/configs/inteq_valor.json b/_maps/configs/inteq_valor.json index 1a3c957cc7b9..c91d7838408f 100644 --- a/_maps/configs/inteq_valor.json +++ b/_maps/configs/inteq_valor.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Valor-Class Field Care Cruiser", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Valor is the dedicated medical vessel of the Inteq fleet, suitable for treatment both for Inteq combat casualties, or paid treatment of outsiders. It's equipped with high-end medical equipment and a small ambulance for patient transport for this purpose.", "tags": ["Medical", "Subshuttle"], diff --git a/_maps/configs/inteq_vaquero.json b/_maps/configs/inteq_vaquero.json index 459b7353d292..232562369a3d 100644 --- a/_maps/configs/inteq_vaquero.json +++ b/_maps/configs/inteq_vaquero.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Vaquero-class Light Frigate", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Vaquero is a flexible and cheap military conversion of a light commercial freighter, widely used by Inteq Risk Management Group for picket, reconnaissance, and light escort duty, or for contracts that don't warrant a larger, more specialized ship. Unlike most Inteq ships, the Vaquero features basic medical, engineering, and military equipment all in one package, and its minimal crew requirements are an excellent fit for Vanguards with a smaller command and for training missions. Like its peers, it features a large cargo bay, which can be reconfigured as needed.", "tags": [ diff --git a/_maps/configs/nanotrasen_delta.json b/_maps/configs/nanotrasen_delta.json index 57e920f77d67..cf28abc50219 100644 --- a/_maps/configs/nanotrasen_delta.json +++ b/_maps/configs/nanotrasen_delta.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Delta-class Frigate", + "faction": "/datum/faction/nt/ns_logi", "prefix": "NSSV", "namelists": [ "GENERAL", diff --git a/_maps/configs/nanotrasen_gecko.json b/_maps/configs/nanotrasen_gecko.json index 01568c3c1d53..c01e4d9b4801 100644 --- a/_maps/configs/nanotrasen_gecko.json +++ b/_maps/configs/nanotrasen_gecko.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Gecko-class Salvage Runner", + "faction": "/datum/faction/nt", "prefix": "NTSV", "namelists": [ "NANOTRASEN", diff --git a/_maps/configs/nanotrasen_heron.json b/_maps/configs/nanotrasen_heron.json index 45264c827156..e8f798d1edab 100644 --- a/_maps/configs/nanotrasen_heron.json +++ b/_maps/configs/nanotrasen_heron.json @@ -1,7 +1,10 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/nt", "prefix": "NTSV", - "namelists": ["WEAPONS"], + "namelists": [ + "WEAPONS" + ], "map_name": "Heron-Class Dreadnaught", "map_short_name": "Heron-class", "map_path": "_maps/shuttles/nanotrasen/nanotrasen_heron.dmm", @@ -33,15 +36,15 @@ "outfit": "/datum/outfit/job/nanotrasen/security", "slots": 1 }, - "ERT Officer":{ + "ERT Officer": { "outfit": "/datum/outfit/job/nanotrasen/security/ert", "slots": 4 }, - "ERT Medical Officer":{ + "ERT Medical Officer": { "outfit": "/datum/outfit/job/nanotrasen/security/ert/med", "slots": 1 }, - "ERT Engineering Officer":{ + "ERT Engineering Officer": { "outfit": "/datum/outfit/job/nanotrasen/security/ert/engi", "slots": 1 }, @@ -53,20 +56,19 @@ "outfit": "/datum/outfit/job/nanotrasen/engineer", "slots": 1 }, - "Chief Engineer":{ + "Chief Engineer": { "outfit": "/datum/outfit/job/nanotrasen/ce", "officer": true, "slots": 1 }, "Roboticist": { - "outfit":"/datum/outfit/job/nanotrasen/roboticist", + "outfit": "/datum/outfit/job/nanotrasen/roboticist", "slots": 1 }, - "Medical Doctor":{ + "Medical Doctor": { "outfit": "/datum/outfit/job/nanotrasen/doctor", "slots": 1 }, - "Atmospheric Technician": 1, "Quartermaster": 1, "Cargo Technician": 1, diff --git a/_maps/configs/nanotrasen_meta.json b/_maps/configs/nanotrasen_meta.json index b4287c3bca3b..207a6a89864b 100644 --- a/_maps/configs/nanotrasen_meta.json +++ b/_maps/configs/nanotrasen_meta.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Meta-class Freighter", + "faction": "/datum/faction/nt", "prefix": "NTSV", "map_short_name": "Meta-class", "description": "The Meta-class is a medium freight vessel designed for comfort and sustainability over long journeys of delivering cargo. Most, if not all of these ships are no longer under the direct management of the Company, leaving regulation and professionalism at the behest of individual captains. They can be found running independent contracts, delivering cargo, smuggling illicit goods, and generally trying to stay afloat ever since the collapse of Nanotrasen's operations in the frontier.", diff --git a/_maps/configs/nanotrasen_mimir.json b/_maps/configs/nanotrasen_mimir.json index db7d8b90d198..4f50f429e210 100644 --- a/_maps/configs/nanotrasen_mimir.json +++ b/_maps/configs/nanotrasen_mimir.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/nt", "prefix": "NTSV", "namelists": [ "NANOTRASEN", diff --git a/_maps/configs/nanotrasen_osprey.json b/_maps/configs/nanotrasen_osprey.json index 7e0804a7f203..473389fce14f 100644 --- a/_maps/configs/nanotrasen_osprey.json +++ b/_maps/configs/nanotrasen_osprey.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Osprey-class Exploration Cruiser", + "faction": "/datum/faction/nt", "prefix": "NTSV", "namelists": [ "NANOTRASEN", diff --git a/_maps/configs/nanotrasen_ranger.json b/_maps/configs/nanotrasen_ranger.json index b4af3e797d39..d9c2e207e4d9 100644 --- a/_maps/configs/nanotrasen_ranger.json +++ b/_maps/configs/nanotrasen_ranger.json @@ -1,7 +1,8 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "NTSV", "map_name": "Ranger-class Aid Vessel", + "faction": "/datum/faction/nt", + "prefix": "NTSV", "namelists": [ "NANOTRASEN", "NATURAL_AGGRESSIVE", diff --git a/_maps/configs/nanotrasen_skipper.json b/_maps/configs/nanotrasen_skipper.json index 2f61c3afa601..a64c4c777342 100644 --- a/_maps/configs/nanotrasen_skipper.json +++ b/_maps/configs/nanotrasen_skipper.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Skipper-class Heavy Cruiser", + "faction": "/datum/faction/nt", "map_short_name": "Skipper-class", "prefix": "NTSV", "namelists": [ diff --git a/_maps/configs/pgf_crying_sun.json b/_maps/configs/pgf_crying_sun.json index 23114c8aa274..7115072cb9fa 100644 --- a/_maps/configs/pgf_crying_sun.json +++ b/_maps/configs/pgf_crying_sun.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/pgf", "prefix": "PGFN", "map_name": "Crying Sun-class Light Frigate", "namelists": [ diff --git a/_maps/configs/pirate_libertatia.json b/_maps/configs/pirate_libertatia.json index 4ed426746512..9a77cc2c5dec 100644 --- a/_maps/configs/pirate_libertatia.json +++ b/_maps/configs/pirate_libertatia.json @@ -7,6 +7,7 @@ "tags": [ "Combat" ], + "faction": "/datum/faction/frontier", "prefix": "ISV", "namelists": [ "PIRATES", diff --git a/_maps/configs/pirate_noderider.json b/_maps/configs/pirate_noderider.json index 7863a9d96896..60ce1a8501a6 100644 --- a/_maps/configs/pirate_noderider.json +++ b/_maps/configs/pirate_noderider.json @@ -2,6 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Jupiter-class Stormrider", "map_short_name": "Jupiter-class", + "faction": "/datum/faction/frontier", "prefix": "ISV", "namelists": [ "INSTALLATION", diff --git a/_maps/configs/pirate_tortuga.json b/_maps/configs/pirate_tortuga.json index 702185c02387..6543d349bad9 100644 --- a/_maps/configs/pirate_tortuga.json +++ b/_maps/configs/pirate_tortuga.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Tortuga-class Converted Cargo Freighter", + "faction": "/datum/faction/frontier", "prefix": "ISV", "namelists": [ "PIRATES", diff --git a/_maps/configs/solgov_chronicle.json b/_maps/configs/solgov_chronicle.json index 9fe11023e376..b1b14f281938 100644 --- a/_maps/configs/solgov_chronicle.json +++ b/_maps/configs/solgov_chronicle.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Chronicle-class Sensor Frigate", + "faction": "/datum/faction/solgov", "prefix": "SCSV", "namelists": [ "SOLGOV", diff --git a/_maps/configs/solgov_inkwell.json b/_maps/configs/solgov_inkwell.json index b7ae54a1b6b9..92c1f80075f3 100644 --- a/_maps/configs/solgov_inkwell.json +++ b/_maps/configs/solgov_inkwell.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Inkwell-class Supply Freighter", + "faction": "/datum/faction/solgov", "prefix": "SCSV", "namelists": [ "SOLGOV", diff --git a/_maps/configs/solgov_paracelsus.json b/_maps/configs/solgov_paracelsus.json index a5eefc5296df..0e9695952e16 100644 --- a/_maps/configs/solgov_paracelsus.json +++ b/_maps/configs/solgov_paracelsus.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Paracelsus-class Medical Corvette", + "faction": "/datum/faction/solgov", "prefix": "SCSV", "namelists": [ "SOLGOV", diff --git a/_maps/configs/srm_elder.json b/_maps/configs/srm_elder.json index 03caf7196183..6fffaff63e2b 100644 --- a/_maps/configs/srm_elder.json +++ b/_maps/configs/srm_elder.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Elder-class Montagnes' Vessel", + "faction": "/datum/faction/srm", "prefix": "SRSV", "namelists": [ "SAINT-ROUMAIN", diff --git a/_maps/configs/syndicate_cybersun_kansatsu.json b/_maps/configs/syndicate_cybersun_kansatsu.json index a9c9fcb94349..013be2455640 100644 --- a/_maps/configs/syndicate_cybersun_kansatsu.json +++ b/_maps/configs/syndicate_cybersun_kansatsu.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate/cybersun", "prefix": "CSSV", "namelists": [ "CYBERSUN", diff --git a/_maps/configs/syndicate_gorlex_hyena.json b/_maps/configs/syndicate_gorlex_hyena.json index a835e00b1eba..df4c6485bb0f 100644 --- a/_maps/configs/syndicate_gorlex_hyena.json +++ b/_maps/configs/syndicate_gorlex_hyena.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate/ngr", "prefix": "NGRV", "namelists": [ "GORLEX", diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index 2bc7a358b754..ca72d5b0eef5 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -1,4 +1,5 @@ { + "faction": "/datum/faction/syndicate", "prefix": "ISV", "namelists": [ "GORLEX", diff --git a/_maps/configs/syndicate_litieguai.json b/_maps/configs/syndicate_litieguai.json index 685a53187422..4680ebe932d6 100644 --- a/_maps/configs/syndicate_litieguai.json +++ b/_maps/configs/syndicate_litieguai.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Li Tieguai-class Rescue Ship", + "faction": "/datum/faction/syndicate/cybersun", "prefix": "CSSV", "map_short_name": "Li Tieguai-class", "description": "A small, nimble, and exceptionally well-built medical response vessel, the Li Tieguai is a recent addition to Cybersun’s fleet, forming a critical component of their Frontier stabilization program. Li Tieguais come equipped with high-end medical equipment, including a selection of Cybersun augments and prosthetics, as well as weaponry and armor sufficient to protect its personnel in the often-dangerous Frontier sectors, so that they can offer premium healthcare (at premium prices) in even the most dangerous of scenarios.", diff --git a/_maps/configs/syndicate_twinkleshine.json b/_maps/configs/syndicate_twinkleshine.json index ef84cca126f5..b1be2eb333d8 100644 --- a/_maps/configs/syndicate_twinkleshine.json +++ b/_maps/configs/syndicate_twinkleshine.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate", "prefix": "SSV", "namelists": [ "GORLEX", diff --git a/_maps/example_ship_config.json b/_maps/example_ship_config.json index 0f4129fa3d5d..e5dbd47d61e2 100644 --- a/_maps/example_ship_config.json +++ b/_maps/example_ship_config.json @@ -2,6 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Example-class Experimental Ship", "map_short_name": "Test-class", + "faction": "/datum/faction/independent", "prefix": "STSV", "namelists": ["GENERAL", "SPACE", "MYTHOLOGICAL", "WEAPONS"], "map_path": "_maps/shuttles/shiptest/null.dmm", diff --git a/_maps/ship_config_schema.json b/_maps/ship_config_schema.json index 4c29f272413d..1efa9eb95f2c 100644 --- a/_maps/ship_config_schema.json +++ b/_maps/ship_config_schema.json @@ -28,17 +28,17 @@ "type": "array", "description": "A list of tags describing the ship's niche, converted into searchable strings." }, + "faction": { + "title": "Ship Faction Datum", + "type": [ "null", "string" ], + "description": "Default faction datum" + }, "prefix": { "title": "Ship Default Prefix", "type": [ "null", "string" ], "description": "The prefix of the ship class, appended to randomly generated names when they're first purchased.", "maxLength": 5 }, - "faction_name": { - "title": "Faction Name", - "type": [ "null", "string" ], - "description": "A custom faction name for the ship class. If exluded or left blank, the ship will use the default faction name for the faction that matches the ship's prefix." - }, "namelists": { "title": "Namelists", "type": "array", diff --git a/check_regex.yaml b/check_regex.yaml index 441f1e44d743..3b5e13a650e5 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -31,7 +31,7 @@ standards: - exactly: [4, "/mob text paths", '"/mob'] - exactly: [43, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - - exactly: [116, "text2path uses", "text2path"] + - exactly: [117, "text2path uses", "text2path"] - exactly: [18, "world<< uses", 'world[ \t]*<<'] - exactly: [0, "world.log<< uses", 'world.log[ \t]*<<'] diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index 5eb0209dda4c..67ce47e166fc 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -12,3 +12,33 @@ #define FACTION_PLAYER_INTEQ "playerInteq" #define FACTION_PLAYER_ROUMAIN "playerRoumain" #define FACTION_PLAYER_GEZENA "playerGezena" + +#define FACTION_SYNDICATE "Syndicate" + #define FACTION_NGR "New Gorlex Republic" + #define FACTION_CYBERSUN "CyberSun" + #define FACTION_SUNS "Student-Union of Naturalistic Sciences" +#define FACTION_SOLGOV "SolGov" +#define FACTION_SRM "Saint-Roumain Militia" +#define FACTION_INTEQ "Inteq Risk Management Group" +#define FACTION_CLIP "CLIP Minutemen" +#define FACTION_NT "Nanotrasen" + #define FACTION_NS_LOGI "N+S Logistics" + #define FACTION_VIGILITAS "Vigilitas Interstellar" +#define FACTION_FRONTIER "Frontiersmen Fleet" +#define FACTION_PGF "Pan-Gezenan Federation" +#define FACTION_INDEPENDENT "Independent" + +#define PREFIX_SYNDICATE list("SEV", "SSV") + #define PREFIX_NGR list("NGRV") + #define PREFIX_CYBERSUN list("CSSV") + #define PREFIX_SUNS list("SUNS") +#define PREFIX_SOLGOV list("SCSV") +#define PREFIX_SRM list("SRSV") +#define PREFIX_INTEQ list("IRMV") +#define PREFIX_CLIP list("CMSV", "CMGSV") +#define PREFIX_NT list("NTSV") + #define PREFIX_NS_LOGI list("NSSV") + #define PREFIX_VIGILITAS list("VISV") +#define PREFIX_FRONTIER list("FFV") +#define PREFIX_PGF list("PGF", "PGFMC", "PGFN") +#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 36aa57e48625..54874bc9e16b 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -121,6 +121,7 @@ #define INIT_ORDER_JOBS 65 #define INIT_ORDER_QUIRKS 60 #define INIT_ORDER_TICKER 55 +#define INIT_ORDER_FACTION 53 #define INIT_ORDER_MAPPING 50 #define INIT_ORDER_TIMETRACK 47 #define INIT_ORDER_NETWORKS 45 diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 6f4ec205448c..d78667dbfb4b 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -229,61 +229,3 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) . += "." else . += ", " - -#define FACTION_SYNDICATE "Syndicate" - #define FACTION_NGR "New Gorlex Republic" - #define FACTION_CYBERSUN "CyberSun" - #define FACTION_SUNS "Student-Union of Naturalistic Sciences" -#define FACTION_SOLGOV "SolGov" -#define FACTION_SRM "Saint-Roumain Militia" -#define FACTION_INTEQ "Inteq Risk Management Group" -#define FACTION_CLIP "CLIP Minutemen" -#define FACTION_NT "Nanotrasen" - #define FACTION_NS_LOGI "N+S Logistics" - #define FACTION_VIGILITAS "Vigilitas Interstellar" -#define FACTION_FRONTIER "Frontiersmen Fleet" -#define FACTION_PGF "Pan-Gezenan Federation" -#define FACTION_INDEPENDENT "Independent" - -#define PREFIX_SYNDICATE list("SEV", "SSV") - #define PREFIX_NGR list("NGRV") - #define PREFIX_CYBERSUN list("CSSV") - #define PREFIX_SUNS list("SUNS") -#define PREFIX_SOLGOV list("SCSV") -#define PREFIX_SRM list("SRSV") -#define PREFIX_INTEQ list("IRMV") -#define PREFIX_CLIP list("CMSV", "CMGSV") -#define PREFIX_NT list("NTSV") - #define PREFIX_NS_LOGI list("NSSV") - #define PREFIX_VIGILITAS list("VISV") -#define PREFIX_FRONTIER list("FFV") -#define PREFIX_PGF list("PGF", "PGFMC", "PGFN") -#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") - -/// List of all ship factions to their prefixes. -GLOBAL_LIST_INIT(ship_faction_to_prefixes, list( - FACTION_SYNDICATE = PREFIX_SYNDICATE, - FACTION_NGR = PREFIX_NGR, - FACTION_CYBERSUN = PREFIX_CYBERSUN, - FACTION_SUNS = PREFIX_SUNS, - FACTION_SOLGOV = PREFIX_SOLGOV, - FACTION_SRM = PREFIX_SRM, - FACTION_INTEQ = PREFIX_INTEQ, - FACTION_CLIP = PREFIX_CLIP, - FACTION_NT = PREFIX_NT, - FACTION_NS_LOGI = PREFIX_NS_LOGI, - FACTION_VIGILITAS = PREFIX_VIGILITAS, - FACTION_FRONTIER = PREFIX_FRONTIER, - FACTION_PGF = PREFIX_PGF, - FACTION_INDEPENDENT = PREFIX_INDEPENDENT -)) - -/proc/ship_prefix_to_faction(prefix) - for(var/faction in GLOB.ship_faction_to_prefixes) - if(prefix in GLOB.ship_faction_to_prefixes[faction]) - return faction - var/static/list/screamed = list() - if(!(prefix in screamed)) - screamed += prefix - stack_trace("attempted to get faction for unknown prefix [prefix]") - return "?!ERR!?" diff --git a/code/controllers/subsystem/faction.dm b/code/controllers/subsystem/faction.dm new file mode 100644 index 000000000000..106fb4687b83 --- /dev/null +++ b/code/controllers/subsystem/faction.dm @@ -0,0 +1,32 @@ +SUBSYSTEM_DEF(factions) + name = "Faction" + init_order = INIT_ORDER_FACTION + flags = SS_NO_FIRE + var/list/datum/faction/factions = list() + +/datum/controller/subsystem/factions/Initialize(timeofday) + for(var/path in subtypesof(/datum/faction)) + factions += new path() + return ..() + +/datum/controller/subsystem/factions/proc/ship_prefix_to_faction(prefix) + for(var/datum/faction/faction in factions) + if(prefix in faction.prefixes) + return faction + var/static/list/screamed = list() + if(!(prefix in screamed)) + screamed += prefix + stack_trace("attempted to get faction for unknown prefix [prefix]") + return null + +/datum/controller/subsystem/factions/proc/ship_prefix_to_name(prefix) + var/datum/faction/faction = ship_prefix_to_faction(prefix) + if(faction) + return faction.name + return "?!ERR!?" + +/datum/controller/subsystem/factions/proc/faction_path_to_datum(path) + for(var/datum/faction/faction in factions) + if(faction.type == path) + return faction + stack_trace("we did not return any faction with path [path]") diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index a8f905e5fe25..3fecc68fbfe4 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -206,10 +206,12 @@ SUBSYSTEM_DEF(mapping) if(istext(data["prefix"])) S.prefix = data["prefix"] - if(istext(data["faction_name"])) - S.faction_name = data["faction_name"] - else - S.faction_name = ship_prefix_to_faction(S.prefix) + + if(istext(data["faction"])) + S.faction_path = text2path(data["faction"]) + if(S.faction_path) + S.faction_datum = SSfactions.faction_path_to_datum(S.faction_path) + S.faction_name = S.faction_datum.name S.category = S.faction_name diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 31a5e9165d3c..91a3fbe884c0 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -21,6 +21,8 @@ var/prefix = "ISV" /// The full name of the ship's faction. var/faction_name = "Independent" + var/faction_path = /datum/faction/independent + var/datum/faction/faction_datum /// Whether or not players from other ships can open airlocks. var/unique_ship_access = TRUE /// Set by config JSON. If true, the template's ships' "default" spawn location (when bought by a player or loaded at roundstart) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 8098ff6b5130..e6555fc58b6e 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -7,10 +7,15 @@ var/crate_name = "crate" var/desc = ""//no desc by default var/crate_type = /obj/structure/closet/crate - // var/DropPodOnly = FALSE//only usable by the Bluespace Drop Pod via the express cargo console var/admin_spawned = FALSE var/small_item = FALSE //Small items can be grouped into a single crate. + var/faction + /* to be implmented + var/faction_discount = 15 + var/faction_locked = FALSE + */ + /datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account) var/obj/structure/closet/crate/C if(paying_account) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 9cd1608061df..d9c9b8425ffa 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -47,12 +47,14 @@ desc = "Contains a 5.56mm magazine for the Pistole C, containing twelve rounds." contains = list(/obj/item/ammo_box/magazine/pistol556mm) cost = 750 + faction = FACTION_SOLGOV /datum/supply_pack/ammo/fms_mag name = "Ferromagnetic Slug Magazine Crate" desc = "Contains a ferromagnetic slug magazine for the Model H pistol, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/modelh) cost = 750 + faction = FACTION_SOLGOV /* Shotgun ammo diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index 154dce436ee7..0b1d7303ca44 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -86,6 +86,7 @@ contains = list(/obj/item/storage/box/fountainpens) crate_name = "calligraphy crate" crate_type = /obj/structure/closet/crate/wooden + faction = FACTION_SOLGOV /datum/supply_pack/civilian/wrapping_paper name = "Festive Wrapping Paper Crate" diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index ed06391dfe98..01bfcc1dc756 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -127,17 +127,6 @@ crate_name = "exosuit pilot's suit crate" crate_type = /obj/structure/closet/crate/wooden -/datum/supply_pack/costumes_toys/wizard - name = "Wizard Costume Crate" - desc = "Pretend to join the Wizard Federation with this full wizard outfit! As required by interstellar law, the seller reminds potential buyers that the Wizard Federation is not real and cannot hurt you." - cost = 2000 - contains = list(/obj/item/staff, - /obj/item/clothing/suit/wizrobe/fake, - /obj/item/clothing/shoes/sandal, - /obj/item/clothing/head/wizard/fake) - crate_name = "wizard costume crate" - crate_type = /obj/structure/closet/crate/wooden - /datum/supply_pack/costumes_toys/formalwear name = "Formalwear Crate" desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing." @@ -170,6 +159,7 @@ /obj/item/lipstick/random) crate_name = "formalwear crate" crate_type = /obj/structure/closet/crate/wooden + faction = FACTION_SOLGOV // this is technically armor but you aren't buying it for that. it's a joke pack so it goes here /datum/supply_pack/costumes_toys/justiceinbound diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 6bf438f22867..f2b9d0ec09a7 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -16,6 +16,7 @@ /obj/item/storage/box/donkpockets/donkpockethonk) crate_name = "donk pocket crate" crate_type = /obj/structure/closet/crate/freezer + faction = FACTION_SYNDICATE /datum/supply_pack/food/donkpockets/fill(obj/structure/closet/crate/C) for(var/i in 1 to 3) @@ -316,6 +317,3 @@ /obj/item/melee/flyswatter) crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics - - - diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 078348d3242d..fe8cb731f204 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -12,6 +12,7 @@ cost = 300 contains = list(/obj/item/storage/pistolcase/disposable) crate_name = "disposable gun crate" + faction = FACTION_FRONTIER /datum/supply_pack/gun/derringer name = ".38 Derringer Crate" @@ -19,42 +20,49 @@ cost = 350 contains = list(/obj/item/storage/pistolcase/derringer) crate_name = "derringer crate" + faction = FACTION_SRM /datum/supply_pack/gun/commanders name = "Commander Pistol Crate" desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm." cost = 750 contains = list(/obj/item/storage/pistolcase/commander) + faction = FACTION_NT /datum/supply_pack/gun/makarovs name = "Stechkin Pistol Crate" desc = "Contains a concealable stechkin pistol, produced by Scarborough Arms and chambered in 10mm." cost = 1000 contains = list(/obj/item/storage/pistolcase/stechkin) + faction = FACTION_SYNDICATE /datum/supply_pack/gun/candors name = "Candor Pistol Crate" desc = "Contains a Candor pistol, the trusty sidearm of any spacer, produced by Hunter's Pride and chambered in .45 ACP." cost = 1000 contains = list(/obj/item/storage/pistolcase/candor) + faction = FACTION_SRM /datum/supply_pack/gun/pepperbox name = "HP Firebrand Pepperbox Revolver Crate" desc = "Contains a concealable pepperbox revolver manufactured by the Saint Roumain Militia, chambered in .357." cost = 1250 contains = list(/obj/item/storage/pistolcase/firebrand) + faction = FACTION_SRM /datum/supply_pack/gun/detrevolver name = "Hunter's Pride Detective Revolver Crate" desc = "Contains a concealable revolver favored by police departments around the sector, chambered in .38." cost = 600 contains = list(/obj/item/storage/pistolcase/detective) + faction = FACTION_SRM /datum/supply_pack/gun/shadowrevolver name = "Shadow Revolver Crate" desc = "Contains a concealable Shadow revolver, chambered in .44 Roumain." cost = 1000 contains = list(/obj/item/storage/pistolcase/shadow) + faction = FACTION_SRM /* @@ -115,6 +123,7 @@ cost = 1000 contains = list(/obj/item/storage/guncase/doublebarrel) crate_name = "shotguns crate" + faction = FACTION_SRM /datum/supply_pack/gun/conflagration name = "Conflagration Lever Action Shotgun Crate" @@ -129,6 +138,7 @@ cost = 2000 contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotgun crate" + faction = FACTION_SRM /datum/supply_pack/gun/brimstone_shotgun name = "Brimstone Shotgun Crate" @@ -136,6 +146,7 @@ cost = 2000 contains = list(/obj/item/storage/guncase/brimstone) crate_name = "shotgun crate" + faction = FACTION_SRM /* Rifles @@ -147,6 +158,7 @@ cost = 750 contains = list(/obj/item/storage/guncase/winchester) crate_name = "rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/absolution name = "Absolution Lever Action Rifle Crate" @@ -161,6 +173,7 @@ cost = 1250 contains = list(/obj/item/storage/guncase/illestren) crate_name = "rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/beacon name = "Beacon Break Action Rifle Crate" @@ -168,6 +181,7 @@ cost = 2250 contains = list(/obj/item/storage/guncase/beacon) crate_name = "rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/scout name = "Scout Sniper Rifle Crate" @@ -175,6 +189,7 @@ cost = 5500 contains = list(/obj/item/storage/guncase/scout) crate_name = "rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/cobra20 name = "Cobra-20 SMG Crate" @@ -182,6 +197,7 @@ cost = 3000 contains = list(/obj/item/storage/guncase/cobra) crate_name = "SMG crate" + faction = FACTION_SRM /datum/supply_pack/gun/wt550 name = "WT-550 Auto Rifle Crate" @@ -189,6 +205,7 @@ cost = 4000 contains = list(/obj/item/storage/guncase/wt550) crate_name = "auto rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/p16 name = "P16 Assault Rifle Crate" @@ -196,6 +213,7 @@ cost = 5000 contains = list(/obj/item/storage/guncase/p16) crate_name = "auto rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/skm name = "SKM-24 Rifle Crate" @@ -203,6 +221,7 @@ cost = 5000 contains = list(/obj/item/storage/guncase/skm) crate_name = "auto rifle crate" + faction = FACTION_SRM /datum/supply_pack/gun/attachment/rail_light name = "Tactical Rail Light Crate" diff --git a/code/modules/cargo/packs/material.dm b/code/modules/cargo/packs/material.dm index ee0f00e42d96..dc01a4dfdc75 100644 --- a/code/modules/cargo/packs/material.dm +++ b/code/modules/cargo/packs/material.dm @@ -1,5 +1,6 @@ /datum/supply_pack/material group = "Materials & Sheets" + faction = FACTION_NS_LOGI /* Basic construction materials diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index e0c76180bade..e0ca4f139258 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -132,6 +132,7 @@ /obj/item/reagent_containers/pill/neurine, /obj/item/vending_refill/medical) crate_name = "medical surplus crate" + faction = FACTION_SUNS /datum/supply_pack/medical/surplus/fill(obj/structure/closet/crate/C) for(var/i in 1 to 7) @@ -159,6 +160,7 @@ /obj/item/reagent_containers/glass/bottle/mutagen) crate_name = "virus crate" crate_type = /obj/structure/closet/crate/medical + faction = FACTION_SUNS /datum/supply_pack/medical/salglucanister name = "Heavy-Duty Saline Canister" diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index d2039b009c5c..28f15b583206 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -91,6 +91,7 @@ ) crate_name = "incendiary weapons crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = FACTION_NGR /* Stamina / PVP weapons (intentionally overpriced due to odd balance position of stamina weapons) diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index 3ed4a64cab91..ba0e8d73c7be 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -29,6 +29,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/mining/independent) crate_name = "mining hardsuit crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = FACTION_INDEPENDENT /datum/supply_pack/spacesuit_armor/med_hardsuit name = "Medical Hardsuit Crate" @@ -37,6 +38,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/medical) crate_name = "medical hardsuit crate" crate_type = /obj/structure/closet/crate/medical + faction = FACTION_NT /datum/supply_pack/spacesuit_armor/mining_hardsuit_heavy name = "Heavy Mining Hardsuit Crate" @@ -46,6 +48,7 @@ /obj/item/clothing/shoes/bhop) crate_name = "heavy mining hardsuit crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = FACTION_NT /datum/supply_pack/spacesuit_armor/sec_hardsuit_bundle name = "Security Hardsuit Crate" @@ -54,6 +57,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent) crate_name = "security hardsuit crate" crate_type = /obj/structure/closet/crate/secure/gear + faction = FACTION_NT /datum/supply_pack/spacesuit_armor/sci_hardsuit name = "Science Hardsuit Crate" @@ -62,6 +66,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/rd) crate_name = "science hardsuit crate" crate_type = /obj/structure/closet/crate/secure/science + faction = FACTION_NT /datum/supply_pack/spacesuit_armor/engi_spacesuit_bundle name = "Engineering Space Suit Crate" @@ -79,6 +84,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/engine/atmos) crate_name = "atmospherics hardsuit crate" crate_type = /obj/structure/closet/crate/secure/engineering + faction = FACTION_NT /datum/supply_pack/spacesuit_armor/swat name = "SWAT Crate" diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm new file mode 100644 index 000000000000..450ee9688953 --- /dev/null +++ b/code/modules/faction/faction_datum.dm @@ -0,0 +1,62 @@ +/datum/faction + var/name + var/parent_faction + var/list/prefixes + +/datum/faction/syndicate + name = FACTION_SYNDICATE + parent_faction = /datum/faction/syndicate + prefixes = list("SEV", "SSV") + +/datum/faction/syndicate/ngr + name = FACTION_NGR + prefixes = list("NGRV") + +/datum/faction/syndicate/cybersun + name = FACTION_CYBERSUN + prefixes = list("CSSV") + +/datum/faction/syndicate/suns + name = FACTION_SUNS + prefixes = list("SUNS") + +/datum/faction/solgov + name = FACTION_SOLGOV + prefixes = list("SCSV") + +/datum/faction/srm + name = FACTION_SRM + prefixes = list("SRSV") + +/datum/faction/inteq + name = FACTION_INTEQ + prefixes = list("IRMV") + +/datum/faction/clip + name = FACTION_CLIP + prefixes = list("CMSV", "CMGSV") + +/datum/faction/nt + name = FACTION_NT + parent_faction = /datum/faction/nt + prefixes = list("NTSV") + +/datum/faction/nt/ns_logi + name = FACTION_NS_LOGI + prefixes = list("NSSV") + +/datum/faction/nt/vigilitas + name = FACTION_VIGILITAS + prefixes = list("VISV") + +/datum/faction/frontier + name = FACTION_FRONTIER + prefixes = list("FFV") + +/datum/faction/pgf + name = FACTION_PGF + prefixes = list("PGF", "PGFMC", "PGFN") + +/datum/faction/independent + name = FACTION_INDEPENDENT + prefixes = list("SV", "IMV", "ISV") diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index d11bb6177e14..1d13660682f6 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -186,7 +186,7 @@ ACCESS_MECH_MINING, ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY, ACCESS_MECH_MEDICAL, ACCESS_VAULT, ACCESS_MINING_STATION, ACCESS_XENOBIOLOGY, ACCESS_CE, ACCESS_HOP, ACCESS_HOS, ACCESS_PHARMACY, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING, ACCESS_SOLGOV - ) //WS Edit - SolGov Rep + ) /proc/get_all_centcom_access() return list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE, ACCESS_CENT_TELEPORTER, ACCESS_CENT_CAPTAIN) @@ -377,13 +377,10 @@ return "Science Exosuit Access" if(ACCESS_MECH_ENGINE) return "Engineering Exosuit Access" - -//WS Begin if(ACCESS_CLONING) return "Cloning Room" if(ACCESS_SOLGOV) return "SolGov Office" -//WS End /proc/get_centcom_access_desc(A) switch(A) @@ -412,8 +409,5 @@ "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic", "Prisoner", "Psychologist", //WS Edit - Brig Phys / SolGov Rep "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer", "Brig Physician", "SolGov Representative") //WS Edit - Brig Phys / SolGov Rep -/proc/get_all_job_icons() //For all existing HUD icons - return get_all_jobs() + list("Emergency Response Team Commander", "Security Response Officer", "Engineering Response Officer", "Medical Response Officer", "Entertainment Response Officer", "Religious Response Officer", "Janitorial Response Officer", "Death Commando") - /proc/get_all_centcom_jobs() return list("Central Command","VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Research Officer","Special Ops Officer","Admiral","CentCom Commander","CentCom Bartender","Private Security Force") diff --git a/code/modules/mob/dead/new_player/ship_select.dm b/code/modules/mob/dead/new_player/ship_select.dm index fe88abdf3399..e130f6e404ce 100644 --- a/code/modules/mob/dead/new_player/ship_select.dm +++ b/code/modules/mob/dead/new_player/ship_select.dm @@ -166,7 +166,7 @@ continue var/list/ship_data = list( "name" = T.name, - "faction" = ship_prefix_to_faction(T.prefix), + "faction" = T.faction_name, "desc" = T.description, "tags" = T.tags, "crewCount" = length(T.job_slots), diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index ec4b78629027..5d851e52f4fd 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -70,6 +70,8 @@ ///Stations the ship has been blacklisted from landing at, associative station = reason var/list/blacklisted = list() + var/datum/faction/faction_datum + /datum/overmap/ship/controlled/Rename(new_name, force = FALSE) var/oldname = name if(!..() || (!COOLDOWN_FINISHED(src, rename_cooldown) && !force)) @@ -110,6 +112,7 @@ refresh_engines() ship_account = new(name, source_template.starting_funds) + faction_datum = source_template.faction_datum #ifdef UNIT_TESTS Rename("[source_template]", TRUE) diff --git a/shiptest.dme b/shiptest.dme index ee0c5d649f93..262625237701 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -341,6 +341,7 @@ #include "code\controllers\subsystem\economy.dm" #include "code\controllers\subsystem\events.dm" #include "code\controllers\subsystem\explosions.dm" +#include "code\controllers\subsystem\faction.dm" #include "code\controllers\subsystem\fire_burning.dm" #include "code\controllers\subsystem\garbage.dm" #include "code\controllers\subsystem\icon_smooth.dm" @@ -2160,6 +2161,7 @@ #include "code\modules\events\wizard\rpgloot.dm" #include "code\modules\events\wizard\shuffle.dm" #include "code\modules\events\wizard\summons.dm" +#include "code\modules\faction\faction_datum.dm" #include "code\modules\fishing\bait.dm" #include "code\modules\fishing\fish_catalog.dm" #include "code\modules\fishing\fishing_equipment.dm" From 5d4ad5be5a659f77d555d0fa1d7c3d6010897725 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 10 Sep 2024 04:17:52 -0500 Subject: [PATCH 41/46] Automatic changelog generation for PR #3156 [ci skip] --- html/changelogs/AutoChangeLog-pr-3156.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3156.yml diff --git a/html/changelogs/AutoChangeLog-pr-3156.yml b/html/changelogs/AutoChangeLog-pr-3156.yml new file mode 100644 index 000000000000..431fc6ec8901 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3156.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {rscadd: 'Added faction datums, this will be cool soon!'} +delete-after: true From f2246c575e61c3fea3d3565714c8f035613aa164 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:07:21 +0200 Subject: [PATCH 42/46] Crafting Cruft Removal (#3296) ## About The Pull Request Removes the following recipes because: Clothing - Scrap Armor - it sucks, it's ugly, it's expensive and it's honestly a bait to have it craftable Drinks - Holy Water Flask - god died - Nothing Bottle - mimes died Misc - Flashlight eyes - just why. - Extendo-hand - TG slop - Guillotine - meme item - Moth Plushie - plushies are cool, but the recipe itself is a meme Robots - Honkbot - clowns died Tribal - Bonfire, Distiller, Mushroom Bowl and Charcoal Stylus moved to Misc - they are okay - Bone Spear, Bone Axe and Bone Sword moved to Weapons - Hate to keep them, but there isn't really any other okay melee weapons available, outside of the crusher I suppose, but that one's inconsitent to get. - Bone Armlet, Wolf Fang Necklace, Goliath Cloak, Hunters Belt and Polar Cloak moved to Clothing - they are okay - **Everything else got removed, including the category itself** - it's about time to let ash walker gear go I think Weapons/Ammunition - Explosive Lance - item's definitely on the goofier side - Teleprod - teleportation is often fucked - Gonbola - gondolas barely exist, might as well axe it - Flamethrower - feels like this should be locked behind more than crafting - Chainsaw moved to Misc - it's a gardening tool, you MANIACS - Pipe Bow and All The Arrows - bows are kinda broken rn? Commented it out cuz feels like it can be used later, but having broken stuff here is dumb. **Note here: It's just the crafting recipes, not foods themselves. Crafting cleanup, not food cleanup.** Breads - Mimana Bread - mimes died Burgers - Ghost Burger - magic is not real - Clown Burger - clowns died - Mime Burger - mimes died - Spellburger I and II - magic is not real Cakes - Slime Cake - you are NOT getting slime extracts for this - Angel Food Cake's recipe was changed - god died, so it uses cream instead of holy water - Clown Cake - clowns died Frozen - Honkdae - clowns died - Mime Snowcone - mimes died - Clown Snowcone - clowns died - Also renamed all the cola cones according to names from the drink rename Meats - Meat Clown - clowns died Pastries - Honk-pockets - clowns died Pies - Mime Tart - mimes died Salads - Monkey's Delight - it's very questionable Soups - Clowns Tears - clowns died Spaghettis - Spesslaw - space law died Egg-Based Foods, Pizzas, Sandwiches - Nothing :D Also, removes flamethrower slapcrafting for the same reason that's above. Also removes bone clup, skull helmets and bone armor from bone construction menu. ## Why It's Good For The Game Explained for every item individually. ## Changelog :cl: del: Removed a lot of cruft from the loadout. del: Removed flamethrower slapcrafting. del: Removed the Tribal crafting tab (some items were moved to other tabs). del: Removed bone club, skull helmet and bone armor from the bone construction menu. /:cl: --- code/datums/components/crafting/crafting.dm | 1 - .../components/crafting/recipes/clothing.dm | 49 +++- .../components/crafting/recipes/misc.dm | 76 +++--- .../components/crafting/recipes/robot.dm | 10 - .../components/crafting/recipes/tribal.dm | 234 ------------------ .../components/crafting/recipes/weapon.dm | 88 +++---- code/game/objects/items/granters.dm | 2 - .../items/stacks/sheets/sheet_types.dm | 5 +- code/game/objects/items/tools/weldingtool.dm | 18 +- .../recipes/tablecraft/recipes_bread.dm | 11 - .../recipes/tablecraft/recipes_burger.dm | 46 ---- .../recipes/tablecraft/recipes_cake.dm | 30 +-- .../recipes/tablecraft/recipes_drink.dm | 22 -- .../recipes/tablecraft/recipes_frozen.dm | 38 +-- .../recipes/tablecraft/recipes_meat.dm | 9 - .../recipes/tablecraft/recipes_pastry.dm | 11 - .../recipes/tablecraft/recipes_pie.dm | 12 - .../recipes/tablecraft/recipes_salad.dm | 13 - .../recipes/tablecraft/recipes_soup.dm | 11 - .../recipes/tablecraft/recipes_spaghetti.dm | 9 - shiptest.dme | 1 - 21 files changed, 121 insertions(+), 575 deletions(-) delete mode 100644 code/datums/components/crafting/recipes/tribal.dm diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index df5ae1319c2e..e7d0ebaace60 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -23,7 +23,6 @@ ), CAT_ROBOT = CAT_NONE, CAT_MISC = CAT_NONE, - CAT_PRIMAL = CAT_NONE, CAT_FOOD = list( CAT_BREAD, CAT_BURGER, diff --git a/code/datums/components/crafting/recipes/clothing.dm b/code/datums/components/crafting/recipes/clothing.dm index 95b37502bcaf..e574337f9861 100644 --- a/code/datums/components/crafting/recipes/clothing.dm +++ b/code/datums/components/crafting/recipes/clothing.dm @@ -181,12 +181,45 @@ result = /obj/item/clothing/gloves/tackler/offbrand category = CAT_CLOTHING -/datum/crafting_recipe/scrap_armor - name = "Scrap Armor" - result = /obj/item/clothing/suit/armor/vest/scrap_armor - time = 60 - reqs = list( - /obj/item/stack/sheet/metal = 10, - /obj/item/stack/cable_coil = 20, - ) +/datum/crafting_recipe/bonearmlet + name = "Bone Armlet" + result = /obj/item/clothing/accessory/bonearmlet + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/fangnecklace + name = "Wolf Fang Necklace" + result = /obj/item/clothing/neck/fangnecklace + time = 20 + reqs = list(/obj/item/stack/sheet/sinew = 2, + /obj/item/mob_trophy/fang = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/goliathcloak + name = "Goliath Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned + category = CAT_CLOTHING + +/datum/crafting_recipe/hunterbelt + name = "Hunters Belt" + result = /obj/item/storage/belt/mining/primitive + time = 20 + reqs = list(/obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) + category = CAT_CLOTHING + +/datum/crafting_recipe/polarbearcloak + name = "Polar Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath/polar + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2) + blacklist = list(/obj/item/stack/sheet/animalhide/goliath_hide) category = CAT_CLOTHING diff --git a/code/datums/components/crafting/recipes/misc.dm b/code/datums/components/crafting/recipes/misc.dm index 0ed4acb5be78..e76641789157 100644 --- a/code/datums/components/crafting/recipes/misc.dm +++ b/code/datums/components/crafting/recipes/misc.dm @@ -50,16 +50,6 @@ reqs = list(/obj/item/paper = 5) category = CAT_MISC -/datum/crafting_recipe/flashlight_eyes - name = "Flashlight Eyes" - result = /obj/item/organ/eyes/robotic/flashlight - time = 10 - reqs = list( - /obj/item/flashlight = 2, - /obj/item/restraints/handcuffs/cable = 1 - ) - category = CAT_MISC - /datum/crafting_recipe/paperframes name = "Paper Frames" result = /obj/item/stack/sheet/paperframes/five @@ -87,12 +77,6 @@ result = /obj/structure/curtain category = CAT_MISC -/datum/crafting_recipe/extendohand - name = "Extendo-Hand" - reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) - result = /obj/item/extendohand - category = CAT_MISC - /datum/crafting_recipe/pressureplate name = "Pressure Plate" result = /obj/item/pressure_plate @@ -104,23 +88,13 @@ category = CAT_MISC /datum/crafting_recipe/rcl - name = "Makeshift Rapid Pipe Cleaner Layer" + name = "Makeshift Rapid Cable Layer" result = /obj/item/rcl/ghetto time = 40 tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/metal = 15) category = CAT_MISC -/datum/crafting_recipe/guillotine - name = "Guillotine" - result = /obj/structure/guillotine - time = 150 // Building a functioning guillotine takes time - reqs = list(/obj/item/stack/sheet/plasteel = 3, - /obj/item/stack/sheet/mineral/wood = 20, - /obj/item/stack/cable_coil = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_MISC - /datum/crafting_recipe/ghettojetpack name = "Improvised Jetpack" result = /obj/item/tank/jetpack/improvised @@ -204,17 +178,49 @@ /obj/item/aquarium_kit = 1) category = CAT_MISC -/datum/crafting_recipe/mothplush - name = "Moth Plushie" - result = /obj/item/toy/plush/moth - reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, - /obj/item/organ/heart = 1, - /obj/item/stack/sheet/cotton/cloth = 3) - category = CAT_MISC - /datum/crafting_recipe/candorupgrade name = "Candor Upgrade" result = /obj/item/gun/ballistic/automatic/pistol/candor/phenex reqs = list(/obj/item/stack/sheet/mineral/hidden = 4, /obj/item/gun/ballistic/automatic/pistol/candor = 1) category = CAT_MISC + +/datum/crafting_recipe/bonfire + name = "Bonfire" + time = 60 + reqs = list(/obj/item/grown/log = 5) + parts = list(/obj/item/grown/log = 5) + blacklist = list(/obj/item/grown/log/steel) + result = /obj/structure/bonfire + category = CAT_MISC + +/datum/crafting_recipe/distiller + name = "Distiller" + result = /obj/structure/fermenting_barrel/distiller + reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) + time = 50 + category = CAT_MISC + +/datum/crafting_recipe/charcoal_stylus + name = "Charcoal Stylus" + result = /obj/item/pen/charcoal + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) + time = 30 + category = CAT_MISC + +/datum/crafting_recipe/mushroom_bowl + name = "Mushroom Bowl" + result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl + reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) + time = 30 + category = CAT_MISC + +/datum/crafting_recipe/chainsaw + name = "Chainsaw" + result = /obj/item/chainsaw + reqs = list(/obj/item/circular_saw = 1, + /obj/item/stack/cable_coil = 3, + /obj/item/stack/sheet/plasteel = 5) + tools = list(TOOL_WELDER) + time = 50 + category = CAT_MISC diff --git a/code/datums/components/crafting/recipes/robot.dm b/code/datums/components/crafting/recipes/robot.dm index a5558682e86b..cab33ef5f796 100644 --- a/code/datums/components/crafting/recipes/robot.dm +++ b/code/datums/components/crafting/recipes/robot.dm @@ -55,16 +55,6 @@ time = 40 category = CAT_ROBOT -/datum/crafting_recipe/honkbot - name = "Honkbot" - result = /mob/living/simple_animal/bot/honkbot - reqs = list(/obj/item/storage/box/clown = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bikehorn/ = 1) - time = 40 - category = CAT_ROBOT - /datum/crafting_recipe/Firebot name = "Firebot" result = /mob/living/simple_animal/bot/firebot diff --git a/code/datums/components/crafting/recipes/tribal.dm b/code/datums/components/crafting/recipes/tribal.dm deleted file mode 100644 index c831b85d7878..000000000000 --- a/code/datums/components/crafting/recipes/tribal.dm +++ /dev/null @@ -1,234 +0,0 @@ -/datum/crafting_recipe/bonearmlet - name = "Bone Armlet" - result = /obj/item/clothing/accessory/bonearmlet - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/fangnecklace - name = "Wolf Fang Necklace" - result = /obj/item/clothing/neck/fangnecklace - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/mob_trophy/fang = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonecodpiece - name = "Skull Codpiece" - result = /obj/item/clothing/accessory/skullcodpiece - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/mob_trophy/legion_skull = 1, - /obj/item/stack/sheet/animalhide/goliath_hide = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/skilt - name = "Sinew Kilt" - result = /obj/item/clothing/accessory/skilt - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/bracers - name = "Bone Bracers" - result = /obj/item/clothing/gloves/bracer - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathcloak - name = "Goliath Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned - category = CAT_PRIMAL - -/datum/crafting_recipe/drakecloak - name = "Ash Drake Armour" - result = /obj/item/clothing/suit/hooded/cloak/drake - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 10, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/ashdrake = 5) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonespear - name = "Bone Spear" - result = /obj/item/spear/bonespear - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/boneaxe - name = "Bone Axe" - result = /obj/item/fireaxe/boneaxe - time = 50 - reqs = list(/obj/item/stack/sheet/bone = 6, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonfire - name = "Bonfire" - time = 60 - reqs = list(/obj/item/grown/log = 5) - parts = list(/obj/item/grown/log = 5) - blacklist = list(/obj/item/grown/log/steel) - result = /obj/structure/bonfire - category = CAT_PRIMAL - -/datum/crafting_recipe/headpike - name = "Spike Head (Glass Spear)" - time = 65 - reqs = list(/obj/item/spear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear = 1) - blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear) - result = /obj/structure/headpike - category = CAT_PRIMAL - -/datum/crafting_recipe/headpikebone - name = "Spike Head (Bone Spear)" - time = 65 - reqs = list(/obj/item/spear/bonespear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear/bonespear = 1) - result = /obj/structure/headpike/bone - category = CAT_PRIMAL - -/datum/crafting_recipe/lasso - name = "Bone Lasso" - reqs = list( - /obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 5) - result = /obj/item/key/lasso - category = CAT_PRIMAL - -/datum/crafting_recipe/heavybonearmor - name = "Heavy Bone Armor" - result = /obj/item/clothing/suit/hooded/cloak/bone - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/watcherbola - name = "Watcher Bola" - result = /obj/item/restraints/legcuffs/bola/watcher - time = 30 - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2, - /obj/item/restraints/handcuffs/cable/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathshield - name = "Goliath shield" - result = /obj/item/shield/riot/goliath - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/animalhide/goliath_hide = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonesword - name = "Bone Sword" - result = /obj/item/claymore/bone - time = 40 - reqs = list(/obj/item/stack/sheet/bone = 3, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/hunterbelt - name = "Hunters Belt" - result = /obj/item/storage/belt/mining/primitive - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/quiver - name = "Quiver" - result = /obj/item/storage/bag/quiver/empty - time = 80 - reqs = list(/obj/item/stack/sheet/leather = 3, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/bone_bow - name = "Bone Bow" - result = /obj/item/gun/ballistic/bow/ashen - time = 200 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/polarbearcloak - name = "Polar Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath/polar - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2) - blacklist = list(/obj/item/stack/sheet/animalhide/goliath_hide) - category = CAT_PRIMAL - -/datum/crafting_recipe/distiller - name = "Distiller" - result = /obj/structure/fermenting_barrel/distiller - reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) - time = 50 - category = CAT_PRIMAL - -/datum/crafting_recipe/crystalamulet - name = "Crystal Amulet" - result = /obj/item/clothing/neck/crystal_amulet - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/crystalspear - name = "Crystal Spear" - result = /obj/item/spear/crystal - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/mushroom_bowl - name = "Mushroom Bowl" - result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/charcoal_stylus - name = "Charcoal Stylus" - result = /obj/item/pen/charcoal - reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/mushroom_mortar - name = "Mushroom Mortar" - result = /obj/item/reagent_containers/glass/mortar/mushroom - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/oar - name = "Goliath Bone Oar" - result = /obj/item/oar - reqs = list(/obj/item/stack/sheet/bone = 2) - time = 15 - category = CAT_PRIMAL - -/datum/crafting_recipe/boat - name = "Goliath Hide Boat" - result = /obj/vehicle/ridden/lavaboat - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) - time = 50 - category = CAT_PRIMAL diff --git a/code/datums/components/crafting/recipes/weapon.dm b/code/datums/components/crafting/recipes/weapon.dm index c1dde04b3650..65983b06df23 100644 --- a/code/datums/components/crafting/recipes/weapon.dm +++ b/code/datums/components/crafting/recipes/weapon.dm @@ -10,18 +10,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/lance - name = "Explosive Lance (Grenade)" - result = /obj/item/spear/explosive - reqs = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - blacklist = list(/obj/item/spear/bonespear) - parts = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/strobeshield name = "Strobe Shield" result = /obj/item/shield/riot/flash @@ -56,17 +44,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/teleprod - name = "Teleprod" - result = /obj/item/melee/baton/cattleprod/teleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/ore/bluespace_crystal = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/bola name = "Bola" result = /obj/item/restraints/legcuffs/bola @@ -76,16 +53,6 @@ category= CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/gonbola - name = "Gonbola" - result = /obj/item/restraints/legcuffs/bola/gonbola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/metal = 6, - /obj/item/stack/sheet/animalhide/gondola = 1) - time = 40 - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but name = "Pneumatic Cannon" result = /obj/item/pneumatic_cannon/ghetto @@ -97,19 +64,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/flamethrower - name = "Flamethrower" - result = /obj/item/flamethrower - reqs = list(/obj/item/weldingtool = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/assembly/igniter = 1, - /obj/item/weldingtool = 1) - tools = list(TOOL_SCREWDRIVER) - time = 10 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/meteorslug name = "Meteorslug Shell" result = /obj/item/ammo_casing/shotgun/meteorslug @@ -205,17 +159,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/chainsaw - name = "Chainsaw" - result = /obj/item/chainsaw - reqs = list(/obj/item/circular_saw = 1, - /obj/item/stack/cable_coil = 3, - /obj/item/stack/sheet/plasteel = 5) - tools = list(TOOL_WELDER) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/spear name = "Spear" result = /obj/item/spear @@ -253,7 +196,7 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/pipebow +/*/datum/crafting_recipe/pipebow name = "Pipe Bow" result = /obj/item/gun/ballistic/bow/pipe reqs = list(/obj/item/pipe = 5, @@ -300,7 +243,7 @@ /obj/item/stack/tile/bronze = 1, /obj/item/stack/sheet/silk = 1) category = CAT_WEAPONRY - subcategory = CAT_AMMO + subcategory = CAT_AMMO */ /datum/crafting_recipe/zip_pistol name = "Zip Pistol" @@ -315,3 +258,30 @@ time = 100 category = CAT_WEAPONRY subcategory = CAT_WEAPON + +/datum/crafting_recipe/bonespear + name = "Bone Spear" + result = /obj/item/spear/bonespear + time = 30 + reqs = list(/obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/sinew = 1) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/boneaxe + name = "Bone Axe" + result = /obj/item/fireaxe/boneaxe + time = 50 + reqs = list(/obj/item/stack/sheet/bone = 6, + /obj/item/stack/sheet/sinew = 3) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/bonesword + name = "Bone Sword" + result = /obj/item/claymore/bone + time = 40 + reqs = list(/obj/item/stack/sheet/bone = 3, + /obj/item/stack/sheet/sinew = 2) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 50da920b06f1..79b37d41e52c 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -446,10 +446,8 @@ name = "Cooking Desserts 101" desc = "A cook book that teaches you some more of the newest desserts. AI approved, and a best seller on Honkplanet." crafting_recipe_types = list( - /datum/crafting_recipe/food/mimetart, /datum/crafting_recipe/food/berrytart, /datum/crafting_recipe/food/cocolavatart, - /datum/crafting_recipe/food/clowncake, /datum/crafting_recipe/food/vanillacake ) icon_state = "cooking_learing_sweets" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index ead6b8aeb8f1..8f5b95ec89a7 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -519,10 +519,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ GLOBAL_LIST_INIT(bone_recipes, list( \ new /datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/bone, 3), \ - new /datum/stack_recipe("bone armor", /obj/item/clothing/suit/armor/bone, 6), \ - new /datum/stack_recipe("skull helmet", /obj/item/clothing/head/helmet/skull, 4), \ - new /datum/stack_recipe("bone dagger", /obj/item/kitchen/knife/combat/bone, 2), \ - new /datum/stack_recipe("club", /obj/item/melee/baseball_bat/bone, 6))) + new /datum/stack_recipe("bone dagger", /obj/item/kitchen/knife/combat/bone, 2))) /obj/item/stack/sheet/bone name = "bones" icon = 'icons/obj/mining.dmi' diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 53f3396f2727..f953a3604367 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -97,8 +97,6 @@ /obj/item/weldingtool/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_SCREWDRIVER) flamethrower_screwdriver(I, user) - else if(istype(I, /obj/item/stack/rods)) - flamethrower_rods(I, user) else . = ..() update_appearance() @@ -282,24 +280,10 @@ to_chat(user, "You resecure [src] and close the fuel tank.") reagents.flags &= ~(OPENCONTAINER) else - to_chat(user, "[src] can now be attached, modified, and refuelled.") + to_chat(user, "[src] can now be refuelled.") reagents.flags |= OPENCONTAINER add_fingerprint(user) -/obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) - if(!status) - var/obj/item/stack/rods/R = I - if (R.use(1)) - var/obj/item/flamethrower/F = new /obj/item/flamethrower(user.loc) - if(!remove_item_from_storage(F)) - user.transferItemToLoc(src, F, TRUE) - F.weldtool = src - add_fingerprint(user) - to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") - user.put_in_hands(F) - else - to_chat(user, "You need one rod to start building a flamethrower!") - /obj/item/weldingtool/ignition_effect(atom/A, mob/user) if(use_tool(A, user, 0, amount=1)) return "[user] casually lights [A] with [src], what a badass." diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index 0dec69a393f5..751f6017eb90 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -64,17 +64,6 @@ result = /obj/item/food/bread/creamcheese subcategory = CAT_BREAD -/datum/crafting_recipe/food/mimanabread - name = "Mimana bread" - reqs = list( - /datum/reagent/consumable/soymilk = 5, - /obj/item/food/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/tofu = 3, - /obj/item/reagent_containers/food/snacks/grown/banana/mime = 1 - ) - result = /obj/item/food/bread/mimana - subcategory = CAT_BREAD - /datum/crafting_recipe/food/garlicbread name = "Garlic Bread" time = 40 diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index 38ea04421827..4f5838909486 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -91,34 +91,6 @@ result = /obj/item/reagent_containers/food/snacks/burger/tofu subcategory = CAT_BURGER -/datum/crafting_recipe/food/ghostburger - name = "Ghost burger" - reqs = list( - /obj/item/ectoplasm = 1, - /datum/reagent/consumable/sodiumchloride = 2, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/ghost - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/clownburger - name = "Clown burger" - reqs = list( - /obj/item/clothing/mask/gas/clown_hat = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/clown - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/mimeburger - name = "Mime burger" - reqs = list( - /obj/item/clothing/mask/gas/mime = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/mime - subcategory = CAT_BURGER - /datum/crafting_recipe/food/redburger name = "Red burger" reqs = list( @@ -199,24 +171,6 @@ result = /obj/item/reagent_containers/food/snacks/burger/white subcategory = CAT_BURGER -/datum/crafting_recipe/food/spellburger - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard/fake = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/spellburger2 - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - /datum/crafting_recipe/food/bigbiteburger name = "Big bite burger" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm index 7a3a4c6837b5..c79d4cea8474 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -96,15 +96,6 @@ result = /obj/item/food/cake/brain subcategory = CAT_CAKE -/datum/crafting_recipe/food/slimecake - name = "Slime cake" - reqs = list( - /obj/item/slime_extract = 1, - /obj/item/food/cake/plain = 1 - ) - result = /obj/item/food/cake/slimecake - subcategory = CAT_CAKE - /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" reqs = list( @@ -114,10 +105,10 @@ result = /obj/item/food/cake/pumpkinspice subcategory = CAT_CAKE -/datum/crafting_recipe/food/holycake +/datum/crafting_recipe/food/angelcake name = "Angel food cake" reqs = list( - /datum/reagent/water/holywater = 15, + /datum/reagent/consumable/cream = 25, /obj/item/food/cake/plain = 1 ) result = /obj/item/food/cake/holy_cake @@ -142,7 +133,7 @@ subcategory = CAT_CAKE /datum/crafting_recipe/food/bscccake - name = "blackberry and strawberry chocolate cake" + name = "Blackberry and Strawberry Chocolate cake" reqs = list( /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 2, @@ -152,7 +143,7 @@ subcategory = CAT_CAKE /datum/crafting_recipe/food/bscvcake - name = "blackberry and strawberry vanilla cake" + name = "Blackberry and Strawberry Vanilla cake" reqs = list( /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/berries = 5 @@ -160,19 +151,8 @@ result = /obj/item/food/cake/bsvc subcategory = CAT_CAKE -/datum/crafting_recipe/food/clowncake - name = "clown cake" - always_availible = FALSE - reqs = list( - /obj/item/food/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/sundae = 2, - /obj/item/reagent_containers/food/snacks/grown/banana = 5 - ) - result = /obj/item/food/cake/clown_cake - subcategory = CAT_CAKE - /datum/crafting_recipe/food/vanillacake - name = "vanilla cake" + name = "Vanilla cake" always_availible = FALSE reqs = list( /obj/item/food/cake/plain = 1, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm index 96c67eca7a9e..2032a33bd46d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm @@ -86,28 +86,6 @@ ////////////////////// Non-alcoholic recipes /////////////////// -/datum/crafting_recipe/holybottle - name = "Holy Water Flask" - time = 30 - reqs = list( - /obj/item/reagent_containers/food/drinks/bottle = 1, - /datum/reagent/water/holywater = 100 - ) - result = /obj/item/reagent_containers/food/drinks/bottle/holywater - category = CAT_DRINK - -//flask of unholy water is a beaker for some reason, I will try making it a bottle and add it here once the antag freeze is over. t. kryson - -/datum/crafting_recipe/nothingbottle - name = "Nothing Bottle" - time = 30 - reqs = list( - /obj/item/reagent_containers/food/drinks/bottle = 1, - /datum/reagent/consumable/nothing = 100 - ) - result = /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing - category = CAT_DRINK - /datum/crafting_recipe/smallcarton name = "Small Carton" result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm index edca42fda076..dbe7f1149631 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm @@ -44,18 +44,6 @@ result = /obj/item/reagent_containers/food/snacks/sundae subcategory = CAT_ICE -/datum/crafting_recipe/food/honkdae - name ="Honkdae" - reqs = list( - /datum/reagent/consumable/cream = 5, - /obj/item/clothing/mask/gas/clown_hat = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 2, - /obj/item/reagent_containers/food/snacks/icecream = 1 - ) - result = /obj/item/reagent_containers/food/snacks/honkdae - subcategory = CAT_ICE - /datum/crafting_recipe/food/cornuto name = "Cornuto" reqs = list( @@ -182,28 +170,8 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad subcategory = CAT_ICE -/datum/crafting_recipe/food/mime_sc - name = "Mime snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/nothing = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/mime - subcategory = CAT_ICE - -/datum/crafting_recipe/food/clown_sc - name = "Clown snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/laughter = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/clown - subcategory = CAT_ICE - /datum/crafting_recipe/food/soda_sc - name = "Space Cola snowcone" + name = "Master Cola snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, @@ -213,7 +181,7 @@ subcategory = CAT_ICE /datum/crafting_recipe/food/spacemountainwind_sc - name = "Space Mountain Wind snowcone" + name = "Comet Trail snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, @@ -223,7 +191,7 @@ subcategory = CAT_ICE /datum/crafting_recipe/food/pwrgame_sc - name = "Pwrgame snowcone" + name = "Pacfuel snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index 72f2046a3b84..ade14f27241e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -242,15 +242,6 @@ result = /obj/item/reagent_containers/food/snacks/bbqribs subcategory = CAT_MEAT -/datum/crafting_recipe/food/meatclown - name = "Meat Clown" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1 - ) - result = /obj/item/reagent_containers/food/snacks/meatclown - subcategory = CAT_MEAT - /datum/crafting_recipe/food/gumbo name = "Black eyed gumbo" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index a1c1297647c3..3de7c3c3d75d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -370,17 +370,6 @@ result = /obj/item/reagent_containers/food/snacks/donkpocket/pizza subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donkpocket/honk - time = 15 - name = "Honk-Pocket" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /datum/reagent/consumable/sugar = 3 - ) - result = /obj/item/reagent_containers/food/snacks/donkpocket/honk - subcategory = CAT_PASTRY - /datum/crafting_recipe/food/donkpocket/berry time = 15 name = "Berry-pocket" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm index 83e923f53fbf..5c9bcc56cc7d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm @@ -130,18 +130,6 @@ result = /obj/item/reagent_containers/food/snacks/pie/grapetart subcategory = CAT_PIE -/datum/crafting_recipe/food/mimetart - name = "Mime tart" - always_availible = FALSE - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /datum/reagent/consumable/nothing = 5 - ) - result = /obj/item/reagent_containers/food/snacks/pie/mimetart - subcategory = CAT_PIE - /datum/crafting_recipe/food/berrytart name = "Berry tart" always_availible = FALSE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm index 73ccc0f37897..778c639a074e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm @@ -34,19 +34,6 @@ result = /obj/item/reagent_containers/food/snacks/salad/validsalad subcategory = CAT_SALAD -/datum/crafting_recipe/food/monkeysdelight - name = "Monkeys delight" - reqs = list( - /datum/reagent/consumable/flour = 5, - /datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight - subcategory = CAT_SALAD - /datum/crafting_recipe/food/oatmeal name = "Oatmeal" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm index d0558f94fdb5..daf98f0444a4 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm @@ -146,17 +146,6 @@ result = /obj/item/reagent_containers/food/snacks/soup/slime subcategory = CAT_SOUP -/datum/crafting_recipe/food/clownstears - name = "Clowns tears" - reqs = list( - /datum/reagent/water = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /obj/item/stack/sheet/mineral/hidden/hellstone = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/clownstears - subcategory = CAT_SOUP - /datum/crafting_recipe/food/mysterysoup name = "Mystery soup" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm index 2ad56d0ce62b..f123ced2ffc5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -29,15 +29,6 @@ result = /obj/item/food/spaghetti/meatballspaghetti subcategory = CAT_SPAGHETTI -/datum/crafting_recipe/food/spesslaw - name = "Spesslaw" - reqs = list( - /obj/item/food/spaghetti/boiledspaghetti = 1, - /obj/item/reagent_containers/food/snacks/meatball = 4 - ) - result = /obj/item/food/spaghetti/spesslaw - subcategory = CAT_SPAGHETTI - /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" reqs = list( diff --git a/shiptest.dme b/shiptest.dme index 262625237701..850167e0ec50 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -574,7 +574,6 @@ #include "code\datums\components\crafting\recipes\drink.dm" #include "code\datums\components\crafting\recipes\misc.dm" #include "code\datums\components\crafting\recipes\robot.dm" -#include "code\datums\components\crafting\recipes\tribal.dm" #include "code\datums\components\crafting\recipes\weapon.dm" #include "code\datums\components\fantasy\_fantasy.dm" #include "code\datums\components\fantasy\affix.dm" From d8a47e153c5859b0e7bedb06502d7c11c1a2170a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 10 Sep 2024 04:32:31 -0500 Subject: [PATCH 43/46] Automatic changelog generation for PR #3296 [ci skip] --- html/changelogs/AutoChangeLog-pr-3296.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3296.yml diff --git a/html/changelogs/AutoChangeLog-pr-3296.yml b/html/changelogs/AutoChangeLog-pr-3296.yml new file mode 100644 index 000000000000..5477a1913a08 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3296.yml @@ -0,0 +1,8 @@ +author: Sadhorizon +changes: + - {rscdel: Removed a lot of cruft from the loadout.} + - {rscdel: Removed flamethrower slapcrafting.} + - {rscdel: Removed the Tribal crafting tab (some items were moved to other tabs).} + - {rscdel: 'Removed bone club, skull helmet and bone armor from the bone construction + menu.'} +delete-after: true From 4f36dfa0b85a1244366770c2900bb1c7d2ac0a73 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 10 Sep 2024 04:07:30 -0500 Subject: [PATCH 44/46] Removes Sheetza (#3347) ## About The Pull Request you can no longer make pizza tables I am become gerg orwall #1219 ## Why It's Good For The Game cruft... ## Changelog :cl: del: Removed sheetz. Feel free to send me threats for this crime! /:cl: --- code/datums/materials/meat.dm | 20 ------- code/datums/materials/pizza.dm | 31 ----------- code/game/machinery/sheetifier.dm | 55 ------------------- .../circuitboards/machine_circuitboards.dm | 10 ---- .../items/stacks/sheets/sheet_types.dm | 35 ------------ .../food_and_drinks/food/snacks_pizza.dm | 11 ---- .../research/designs/machine_designs.dm | 7 --- code/modules/research/techweb/all_nodes.dm | 2 +- shiptest.dme | 2 - 9 files changed, 1 insertion(+), 172 deletions(-) delete mode 100644 code/datums/materials/pizza.dm delete mode 100644 code/game/machinery/sheetifier.dm diff --git a/code/datums/materials/meat.dm b/code/datums/materials/meat.dm index 9539b2847774..8512753a22af 100644 --- a/code/datums/materials/meat.dm +++ b/code/datums/materials/meat.dm @@ -5,7 +5,6 @@ desc = "Meat" color = rgb(214, 67, 67) categories = list(MAT_CATEGORY_RIGID = TRUE) - sheet_type = /obj/item/stack/sheet/meat value_per_unit = 0.05 beauty_modifier = -0.3 strength_modifier = 0.7 @@ -13,22 +12,3 @@ item_sound_override = 'sound/effects/meatslap.ogg' turf_sound_override = FOOTSTEP_MEAT texture_layer_icon_state = "meat" - -/datum/material/meat/on_removed(atom/source, amount, material_flags) - . = ..() - qdel(source.GetComponent(/datum/component/edible)) - -/datum/material/meat/on_applied_obj(obj/O, amount, material_flags) - . = ..() - O.obj_flags |= UNIQUE_RENAME //So you can name it after the person its made from, a depressing comprimise. - make_edible(O, amount, material_flags) - -/datum/material/meat/on_applied_turf(turf/T, amount, material_flags) - . = ..() - make_edible(T, amount, material_flags) - -/datum/material/meat/proc/make_edible(atom/source, amount, material_flags) - var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT) - var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT) - source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, RAW | MEAT | GROSS, null, 30, list("Fleshy")) - diff --git a/code/datums/materials/pizza.dm b/code/datums/materials/pizza.dm deleted file mode 100644 index 62479d90e0d3..000000000000 --- a/code/datums/materials/pizza.dm +++ /dev/null @@ -1,31 +0,0 @@ -/datum/material/pizza - name = "pizza" - id = "pizza" - desc = "~Jamme, jamme, n'coppa, jamme ja! Jamme, jamme, n'coppa jamme ja, funi-culi funi-cala funi-culi funi-cala!! Jamme jamme ja funiculi funicula!~" - color = "#FF9F23" - categories = list(MAT_CATEGORY_RIGID = TRUE) - sheet_type = /obj/item/stack/sheet/pizza - value_per_unit = 0.05 - beauty_modifier = 0.1 - strength_modifier = 0.7 - armor_modifiers = list("melee" = 0.3, "bullet" = 0.3, "laser" = 1.2, "energy" = 1.2, "bomb" = 0.3, "bio" = 0, "rad" = 0.7, "fire" = 1, "acid" = 1) - item_sound_override = 'sound/effects/meatslap.ogg' - turf_sound_override = FOOTSTEP_MEAT - texture_layer_icon_state = "pizza" - -/datum/material/pizza/on_removed(atom/source, amount, material_flags) - . = ..() - qdel(source.GetComponent(/datum/component/edible)) - -/datum/material/pizza/on_applied_obj(obj/O, amount, material_flags) - . = ..() - make_edible(O, amount, material_flags) - -/datum/material/pizza/on_applied_turf(turf/T, amount, material_flags) - . = ..() - make_edible(T, amount, material_flags) - -/datum/material/pizza/proc/make_edible(atom/source, amount, material_flags) - var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT) - var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT) - source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, GRAIN | MEAT | DAIRY | VEGETABLES, null, 30, list("crust", "tomato", "cheese", "meat"), filling_color = COLOR_YELLOW) diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm deleted file mode 100644 index ec9f0f5ff5a3..000000000000 --- a/code/game/machinery/sheetifier.dm +++ /dev/null @@ -1,55 +0,0 @@ -/obj/machinery/sheetifier - name = "Sheet-meister 2000" - desc = "A very sheety machine" - icon = 'icons/obj/machines/sheetifier.dmi' - icon_state = "base_machine" - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = IDLE_DRAW_MINIMAL - active_power_usage = ACTIVE_DRAW_LOW - circuit = /obj/item/circuitboard/machine/sheetifier - layer = BELOW_OBJ_LAYER - var/busy_processing = FALSE - -/obj/machinery/sheetifier/Initialize() - . = ..() - AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, PROC_REF(CanInsertMaterials)), CALLBACK(src, PROC_REF(AfterInsertMaterials))) - -/obj/machinery/sheetifier/update_overlays() - . = ..() - if(machine_stat & (BROKEN|NOPOWER)) - return - var/mutable_appearance/on_overlay = mutable_appearance(icon, "buttons_on") - . += on_overlay - -/obj/machinery/sheetifier/update_icon_state() - icon_state = "base_machine[busy_processing ? "_processing" : ""]" - return ..() - -/obj/machinery/sheetifier/proc/CanInsertMaterials() - return !busy_processing - -/obj/machinery/sheetifier/proc/AfterInsertMaterials(item_inserted, id_inserted, amount_inserted) - busy_processing = TRUE - update_appearance() - var/datum/material/last_inserted_material = id_inserted - var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") - processing_overlay.color = last_inserted_material.color - flick_overlay_static(processing_overlay, src, 64) - addtimer(CALLBACK(src, PROC_REF(finish_processing)), 64) - -/obj/machinery/sheetifier/proc/finish_processing() - busy_processing = FALSE - update_appearance() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_all() //Returns all as sheets - -/obj/machinery/sheetifier/attackby(obj/item/I, mob/user, params) - if(default_unfasten_wrench(user, I)) - return - if(default_deconstruction_screwdriver(user, I)) - update_appearance() - return - if(default_deconstruction_crowbar(I)) - return - return ..() diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index a74ed8c81b27..1d6a0d61c180 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1392,16 +1392,6 @@ /obj/item/stock_parts/scanning_module = 2, /obj/item/stock_parts/micro_laser = 2) -//Misc -/obj/item/circuitboard/machine/sheetifier - name = "Sheet-meister 2000 (Machine Board)" - icon_state = "supply" - build_path = /obj/machinery/sheetifier - req_components = list( - /obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/matter_bin = 2) - needs_anchored = FALSE - /obj/item/circuitboard/machine/abductor name = "alien board (Report This)" icon_state = "abductor_mod" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 8f5b95ec89a7..4443218e4385 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -605,41 +605,6 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra /obj/item/stack/sheet/paperframes/fifty amount = 50 -/obj/item/stack/sheet/meat - name = "meat sheets" - desc = "Something's bloody meat compressed into a nice solid sheet." - singular_name = "meat sheet" - icon_state = "sheet-meat" - material_flags = MATERIAL_COLOR - custom_materials = list(/datum/material/meat = MINERAL_MATERIAL_AMOUNT) - merge_type = /obj/item/stack/sheet/meat - material_type = /datum/material/meat - material_modifier = 1 //None of that wussy stuff - -/obj/item/stack/sheet/meat/fifty - amount = 50 -/obj/item/stack/sheet/meat/twenty - amount = 20 -/obj/item/stack/sheet/meat/five - amount = 5 - -/obj/item/stack/sheet/pizza - name = "pepperoni sheetzzas" - desc = "It's a delicious pepperoni sheetzza!" - singular_name = "pepperoni sheetzza" - icon_state = "sheet-meat" //This needs a pizza sheet but we also i dont think anyone will ever make this. - custom_materials = list(/datum/material/pizza = MINERAL_MATERIAL_AMOUNT) - merge_type = /obj/item/stack/sheet/pizza - material_type = /datum/material/pizza - material_modifier = 1 - -/obj/item/stack/sheet/pizza/fifty - amount = 50 -/obj/item/stack/sheet/pizza/twenty - amount = 20 -/obj/item/stack/sheet/pizza/five - amount = 5 - /obj/item/stack/sheet/sandblock name = "blocks of sand" desc = "You're too old to be playing with sandcastles. Now you build... sandstations." diff --git a/code/modules/food_and_drinks/food/snacks_pizza.dm b/code/modules/food_and_drinks/food/snacks_pizza.dm index 9b8e949b06e6..5129911cd311 100644 --- a/code/modules/food_and_drinks/food/snacks_pizza.dm +++ b/code/modules/food_and_drinks/food/snacks_pizza.dm @@ -215,14 +215,3 @@ icon_state = "pizzamargheritaslice" filling_color = "#FFFFFF" foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/pizzaslice/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/kitchen/rollingpin)) - if(!isturf(loc)) - to_chat(user, "You need to put [src] on a surface to roll it out!") - return - new /obj/item/stack/sheet/pizza(loc) - to_chat(user, "You smoosh [src] into a cheesy sheet.") - qdel(src) - return - return ..() diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 5f79bbbf12e5..fdfe0f7f7341 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -604,13 +604,6 @@ category = list ("Medical Machinery") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL -/datum/design/board/sheetifier - name = "Sheetifier" - desc = "This machine turns weird things into sheets." - id = "sheetifier" - build_path = /obj/item/circuitboard/machine/sheetifier - category = list ("Misc. Machinery") - /datum/design/board/shieldwallgen name = "Machine Design (Shield Wall Generator)" desc = "A shield generator commonly used in xenobiology research." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index ab2cfd3a4681..81f6938dd8c2 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -193,7 +193,7 @@ display_name = "Advanced Engineering" description = "Pushing the boundaries of physics, one chainsaw-fist at a time." prereq_ids = list("engineering", "emp_basic") - design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "rcd_loaded", "rpd_loaded", "sheetifier") + design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "rcd_loaded", "rpd_loaded") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/shiptest.dme b/shiptest.dme index 850167e0ec50..0bc938d7e2a0 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -737,7 +737,6 @@ #include "code\datums\materials\_material.dm" #include "code\datums\materials\basemats.dm" #include "code\datums\materials\meat.dm" -#include "code\datums\materials\pizza.dm" #include "code\datums\mood_events\_mood_event.dm" #include "code\datums\mood_events\beauty_events.dm" #include "code\datums\mood_events\drink_events.dm" @@ -937,7 +936,6 @@ #include "code\game\machinery\requests_console.dm" #include "code\game\machinery\roulette_machine.dm" #include "code\game\machinery\scan_gate.dm" -#include "code\game\machinery\sheetifier.dm" #include "code\game\machinery\shieldgen.dm" #include "code\game\machinery\sleeper.dm" #include "code\game\machinery\slotmachine.dm" From 8c72d7145c774b30a7247e7505d6a05e18b4b5d4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 10 Sep 2024 04:46:16 -0500 Subject: [PATCH 45/46] Automatic changelog generation for PR #3347 [ci skip] --- html/changelogs/AutoChangeLog-pr-3347.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3347.yml diff --git a/html/changelogs/AutoChangeLog-pr-3347.yml b/html/changelogs/AutoChangeLog-pr-3347.yml new file mode 100644 index 000000000000..e90a60544055 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3347.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {rscdel: Removed sheetz. Feel free to send me threats for this crime!} +delete-after: true From a492fec63b40cd25917dcab91f05c5645fc856a1 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 11 Sep 2024 00:59:07 +0000 Subject: [PATCH 46/46] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3156.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3296.yml | 8 -------- html/changelogs/AutoChangeLog-pr-3347.yml | 4 ---- html/changelogs/archive/2024-09.yml | 10 ++++++++++ 4 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3156.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3296.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3347.yml diff --git a/html/changelogs/AutoChangeLog-pr-3156.yml b/html/changelogs/AutoChangeLog-pr-3156.yml deleted file mode 100644 index 431fc6ec8901..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3156.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FalloutFalcon -changes: - - {rscadd: 'Added faction datums, this will be cool soon!'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3296.yml b/html/changelogs/AutoChangeLog-pr-3296.yml deleted file mode 100644 index 5477a1913a08..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3296.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Sadhorizon -changes: - - {rscdel: Removed a lot of cruft from the loadout.} - - {rscdel: Removed flamethrower slapcrafting.} - - {rscdel: Removed the Tribal crafting tab (some items were moved to other tabs).} - - {rscdel: 'Removed bone club, skull helmet and bone armor from the bone construction - menu.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3347.yml b/html/changelogs/AutoChangeLog-pr-3347.yml deleted file mode 100644 index e90a60544055..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3347.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FalloutFalcon -changes: - - {rscdel: Removed sheetz. Feel free to send me threats for this crime!} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 1ede8ca850da..ec4e60a8effb 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -59,3 +59,13 @@ - rscadd: Gun safeties can be toggled from 1st level storage slots. zimon9: - rscadd: Adds a rubbershot box to the outpost market +2024-09-11: + FalloutFalcon: + - rscdel: Removed sheetz. Feel free to send me threats for this crime! + - rscadd: Added faction datums, this will be cool soon! + Sadhorizon: + - rscdel: Removed a lot of cruft from the loadout. + - rscdel: Removed flamethrower slapcrafting. + - rscdel: Removed the Tribal crafting tab (some items were moved to other tabs). + - rscdel: Removed bone club, skull helmet and bone armor from the bone construction + menu.

    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 )gyt!Pq{S>33jE z7`4`vD$gC$AXprS32Hh$j__5H<>eFUiQ`IA5T4ZD!#Rqflm zfM}BTdT)#4R9WsD11=VMS*9nWMUuX!k87|5yvW;oc?WP^fR)M4F#4sQHmwI|!?NWh z8c1b0dO(pAn$P3(oOS*)^{g|ADfWfEXq1FmVNsT}FRT;5(PKlp+?98DCpT}$^5iPT z;smS=Zl9LTe}`{&^e;f5-2J#VUX&zdQGn1r8$>}dE6U{{$cMLF3wq4LE zF%BY9<9>`y8m@L|3R1_|$STEn03}@J?vQx&$w>HN__vNd9F9EssQ3z%7gn(uj1q^97N@_Zp4B_d72kpxkDCiVL=v%6nq<~n8dxeyybD>PS@H*~-{TEo8Xm<3^_k{d~pH%VJ5ibZ$ z2qeq%A*&kWyOo**QtekvOn3&J130o1o#A<*p(0V7Z*-iYmK%K>XMg7Y^PG*H9sXW( z-R^ByR`y51RQqMDP~|&_Tc~OqRfFg3IK$%pCRno;Kht8{oV!Dsc6DDiDWJy-qtu05 ztH2!+yR_zz0q?e`r76N0xK0yV$FnPKa{LSds2nr!yeM1BJ^AdO9(i;J_qK-h75U@TR}o=4e<{)g zX4byfTlDR+w>_RwFs9qr#yqw#kJs_5)E)(%?R}qc{3^9jUy=14>Q_nkcOTHV4ooS0 z%n*NlU3l6A&J{tX05Lsr7RXZIu|{%0!U};3!mpz`E$(>zHaEMLdg0q$AWEQMTLBYS zZ3yf2?#gU0C{O?EMl9hVltc`lwD&)(Iof3|V3_px29&VIn+HzNjYgPVjmz~f>Kw?r zHJiaN_qkgPvdQ-yIna0X{nk)>raaDW-x*YlkKp@*(Gki(NQx2P_jroP+XlRy;Y^z3 z5SxyYS153f1`}mIUMfR78E1EOQ-o~*6ER>5JlA`>8whZW^azpL7&s1N`Rl$U{Mh{{ zQN}(LpRH3giW5FI3YCqX9dTS*Yqn=puEEzwwOO?teH*U_atz*%Z1te#k^SzZVE^#Jo2^I>Ol4)t_y^ShkWariyD ziT*S&VUT{=0x&&Ydcq(ETd)mCII9phVkY&gx}01lr|y_slyOM1Zqq2p#5adF?-#C4-?z7;ZXC#e5D`$AZue4;9xNi{Th?DDcO@pa$c+8;oZ{;|T3FJ|6PNqu%K3 z?2#k0v$%=-lTN=i4tu$S@k7&Ehdv$k`r}nCM6bsE-sm5=`@erM++#t@So*R#94>&D z_s#V|cn~1aVvs`t;i~SM)6uSTqm!?aES$MgT+P--SIL`(B1Cr zuf$HaplP8Z95NUZ!C~Z&!H@{QdC;+J^Wa9@8-|5bg8*?~E|N2t$$1f(f_FuTvhvU4 z{7@vENJQX@D%H{t_{9T4+u2d$oa-N=1j@qXSqj_Lv`}0h8%DXd`@sV(4*Lp<2y{dV zoX!b5TIX9lKj8U*=f^!i@44#vJg^Eyg0^J|M?p9t>Jq^6XxWw{&J-5i zlhMtARIugHPi`wH6|Tai1%KM#!7XGH-*q`vRN-&%+xT&P+ana0$7!o=O%riiIsEQR z-L?P0ivUc#BGWGd|1Dx)e;ZZ>s1w0#3#Ja017Zbo2`u7`O#li0fD})MC@~{s3Y*EWN-7LzPxk&j$@D-1-=^8nU%z5)kZ!so2Wb~xbk8h2W;?XVR%8&c=I2z+@KTg;6{qGj#y>6I#~(G2#K zU97(@q;-&gq#X)pz$#JZPWRBG>{cN+B9GE@g~c-Rc6)dA6@c~z=CQLNE1#ZwuK!s# zBGj_?9&la{=hRo}t5|ulS#ffkkgaWUF3tLZM%jE_zV3(9K233fzZUx``zUB#J=5_~ zAs+~M2RDyG*J-Ot?}bvHE$VljyWup9TmY9GkZWaCvkue5+jG}PpV!~gHKUI$?yN#E^*TS#J}0pqu;ct1N*&d{C-O# zGF{qE?*E71Z$a+KBAflcK%21uY`yAvXj0^~ZaPE0APcdqAOuW{uytJdpy$Q0iV2i~ zJ0uB%#OZ@@LFQ|aw{CJ?NmYtNA3mT$ozjg)b5rFu`(x_?MUNQGQP(;m*_BBoh1_A4 z?6bV<@A6mDE{~93I0cS)iyip!ou{&)=!N- zh5N@!#X`>TrVbuByZ0@_Z~#v%-nUdr`@Et5T08x*a4HP@k+qrrfoGa>#i5_kdWNHObs}%NdODqltgzmmOlql+__`UbW4@+0@a|zSEgb8n4shvUpkln@-v3I@`4-^xL zKXr^k>>W%&l$cNlVgP`!@J}7x=lSdR+4~RC=a8*t{$K60=ddn|pLq86CHriO9_J@u zv0VmccAY*M?v(bv+9)?GW*$?9dQo%#vlHo^RO-*EAOBz~_1+)&%8eiVft~NO2RpsP z^gmCfKFI5PZ}{N5X{s{V2fpBeepTC@l42t2<5r-(n*g_R?2#sCh=D(#B}2ATK$3z@ zK*8ya5s-*KY)GOi(`kZ|xm5^C7NwaOwP<0RJ_riPhV&$AqHrQ-pfeYMA|r@rOYBJ0 z8}OSEAkO!rt41zv1xz#QtPfYI_m3`hVPC24ff^GQ>`Py=MtD_1J7CtAy#QeKWe4qm z&)i`vqQkbQ5oLyO?8rXTB6}3RcQBwrrZ)9ng)tW5Lhn~_u+Nn(1hQZv*{@JgY!%#c zIfhMIs2pz~NCMHnT3WiH%09=sF%D++>=I1law4qjIxwo)9=B(p!Y zi10rX6HA*P^#^g1q>kfJprEh@;xGOi^#b}eg$L0G=d!eG!JqU_AedT?y7HKT&nIzu zDwSG0a`*W7-AC2{oZ(RN^Kf_3^X@=zn?8E(#qc5WQ?#nh&14Bp&xX8Wn1qV;t7`n)pHOXJ> z?>K8lCHgOj{Y+2w(eEfIc%Xy)z`xlkgfACMD|5IBYFD=0aJbsZozWK+n$P)X1e$fq z>VOj{b0%U4m@Q1jC$Ut%rao(heO^nZ8y*fKS5i6(tGkz<4 zIb_~Dkk80IB7W;?w653Q#fiUYv&7CoHi!P)%eb}^cYW$@;n zS;Oa7C&$NqUelkNuh-Ytmwd)67qc6IfEjxuOo5|cg~1-AIA9SY37GK>_d_jPwWZ`B ze+32Sr4OK4`IpXR>mtt{?inC|q07%7?rO&-wTJA~z4ro|4s*)%FEu6aW}ohXd~>j8 zvyBa`CXw5ZZlfb_-xq87I*yDU*~bK;t=DPdpW!uIxrf!$_;@Ing>U}rwUOEax-rz6 z0a0|y=6jt+zVE;{uiwls2ZQ@r+3#o^L66&xO0>$~nvF@qi(>A_vXMwS z+yXYzC>6gdp>MCTKp?=f$E5anJP>eB&+JcUP1kg}$)nEZItKpG_c$3=H3%e0s=N^X}@A7 zVmKCZT%+suT%~=v6CsaR3H`&4kx%Cp<^_kKv7u0%VRV1D(F`P3t@T@TL8& zdFjrHoMRX3iZ)^M&`7)z_^8CMi_Ke!?Xm5`95iFgyP$ro*90r+Inblr%#?8ug(<^S zVx!T<5Pznzr~Z8%1iCOFpPpLIDqrs8(o#TW?>Dku|FPqD=9D*gw%IJrdUJ=^a6PAS ztNn}66q)6zX`c^{O#RDCC-d+EXJqd@emnpYU-?S2&CRn=(c(XcPv)Mx>~L{57-`TN ztR)IEfPCdR9x%xDf?QvP`=2Y}@D;fFIaE7#=_*N}OE@TKUb0LR$|0{bi25NPP62}2 zN|)f;YhFM_kQ~Q&AGYH#3)(9w5}@LkO1mtj<>C~rd2lYZLku;bUxBi;j>esW<1-|a zm5tx}T+FK2>$Qp4hW5`6s@t0)wv8xlV}PC>R}EKLNP}(b<0JvgrQO1lFlf*vjke@-uqge`hGM!$(BM*~T8Rga_H#<%%7+yJzgtKlH zfXV1~ZAEc#Eqgv2iNyYM0>(eVlfl3n&c6X6fx3iRw>>D~_AxLO=d)mYBe7pNfm5(X z+(7n6Egl>s9?)&fz!!pNG!CS|oD=BwAv&B;;Ydd#x~hhmcW9V;=M5Ulcz}3xOZ(r@ zIc|8ThKG0P^7y@CxAlug3%#hbX;eo&Ap>j`j08wl`Zl#U3(s=%~~vAJO|XB%y~ z0^bOZ7sE*7_$Q$2Ru^=@$ZT#Jnk?_s%F2T{{uKU%Y5oKn)gNdp9892%fzdQo`w$Lj z#&3>A=gK!M&d=d6k3aG~rJ}kyj>DNB)yx|ebK3A29=|4gq5DiYLmc$ zI2a9|qWfqfH25%^7(aUs$Z>!N=14{TG5y=$J&c-B=Z^V8q4-Cm{$sviD1qx9YQ{~U zxbGVuMerQoF@N-<2#Cciy08b9<_>`+v`{z??5`wZ57{6W9<@Rt>rpy8yq55rq0!Lt zJC`l%a#%~9=+Dp%%ZGg*8b@y401q)0J>>gkf8rWF>)6dOM}NQnmm=^A>t^iz{$ci# z(tmsJvbn;}{`E=#xo}zghNR~m)IYibfBh)kKcc1n;GSB@f9ZUl}X0>_r@4%Hl92B)Zf zp-I4JJd&_XuQfMYiN``Pg@6#=k3;Ps1-*XLGW|YpK4c1Kto^QuuH_)l4Itczzkj=Rp^H4PQ7MV*?Ci^Fm4= z1lK3~;kJ5)I}Bh)52HBv8ptYa@ER(Y0b(O#^N=z2^N# zbw_q~>?^`mPlxjJ#pA(T-dbE+ zH1m1u_@YkCto!@{dJXd(&nChXkHt-^9Z5{?K1*+H&wk254z`KsrzlEz_F4XZO84x? zS(H_Ls&(W@YjP65_PzyP1@wC!@q?T*yjp+kA{PA{`LY;qajZK;B)09Ar_<4NVh644 z?>dwP4gqvJsNN$o7pdP1Zf_pv^-f@;*ys2`$RTaFk;V>bpLL^=h2>g*Xdc>w(iC}tKG}a7Y=>3xALk$XP4!oTE6>7PR~z%c zDd?^Yibrg}Km=x!Sb{ELhJG0-gX|08$)E5PDEy1elhiKi!7D;nDDBzWf4L zBk+g=lSO!Z2{Y{y;5Ky6wZ_eG(3I<7wW0a)ka-HKFFdU7z}h0T!w6CM&onQYK!q_* z`@0i~;w>PBu|h+0>WBuZ{(mZmxTX=7I23wd`69hdp%%P!-ToilM52q;AAs9CM5+z} zR|T-fmx@KsuMcvUedCjMjvS$L^qY~yZXrESqL-kB*-Q1^jL*}EzY}^j*hAP&3En}2 zi|BA&=MhoymKTXFx zw;+P;sMs>;A*eWKJiG^!M&$CFZXje4SB!HqoM7a-a63y_u`ivk=|}rA;4Yx}3RF+w|G8Bt2xQvEE41XvHM?}O2IzN8*1`_Fa4uAKHWfu&>+C_t)Gx&fjKjCW6 zxV>fMxVf!Ep!H{mM+{Q);86PAPzo;m0F=T5)c%2MIa|iak!tN7*8bZaFbzdw12EM~ z*}Al6+^#cFdtM=|uO6bX4W1xMjts!l##Ot3wHePz>{X8f(~5wKt4@Z7N_=nuf{erp z2jbAWwvhl5v)3tCC`q+)miU(v(+Y$ZZYbM>>NYDJbg>s{X-H7;mWJ?qzCe)HDHrH0 zJsvMWo?(R}Rw6nJ$BB$TO%aobnf8y43&h}y-Gjllu~HlMIhNSxB-I*#tECEK3lq6) z7(T)AFNnI~sA6GkY+zJY3%dbri0t$*4)E7M!kEn;0#h3CQ%unKF2=0il|iHBQONO?4^aMTv&^E6rHh>b}YJd@s^I62Dr5g^- z79ItJ@gH;Xm*8$g5icMdU=8rGqy+?#FChA5AQGKUAavjC^2Q0-#b=;80|}po$CF(_ z_y}nVc!4Fx*Z6*FVlt9~VxAto3u9x^c&=NBjf;(eKMeDvf}dQACz-_v>cR zLPQ#Nm#~1egx9b8L;E6aV`PU|s@26$6sA?%8%VE(TxIv$u0ElM>Iryvh4v4Qo6x-z z8_TokQerxaJvJCDPOl9Xf(}$v(hJA{s=>IEt*b6quy|QHtY*9PjNh!@8;ss zu`w#~qA-U`MJFbvSaT*CMW1Z>XbUu6nbZr8kIi5?+uE*yIMk7jKyWH*=!+VA+j7tj z#b}tFw^0uIgkI(9_VH+|z?GsZQ4U`5vxXp{B4YcIe65~TU@D+6Kke1*x97FqCMeIX%e_*#Rj;uGE zrHXATZp&4^DdXj|-aF-P{BwgZA+EdO9$$QeFxZ2iPo6P^g-iN?HVsq(MMw_kENmh@ zF>y`l#5HlZKjaW;8)MJFDR?#`TmWpGYawO%ea6D9iKq$@uh-m2jEzl4rpLw-8zzH` zM)x?gJRTdn7vUdFR&@Lc7{RsmRJNV# z-u~W*{vOaLdWUVlZl8zQ$_LIm+FpC6oIY+vbJ_9f@oX--<@9mN?%jxfUF+ypf34>9 z?SUNV;b`swr*AcT=kE+yviF95%Z{3KuD{<;POIPArgBSR!knvJ{i z4C1y!ek@!8;;(O3%mXS)4eB>dqz~$G*FWd3kM(lR zP#$;{^hlL>$Ce-iRQbor)RsVGqWMJGDE^9SdJ1Y05cfeyN&-vp*Quta*4B=}RLNId zT|K(J-hdaYp1weqg3CL{jHSk z&wajV81@&pOM$=QX#G{71a*bvGmPTAUYS{#dq_S#j=Q%0{4iNJWbHCA`mhcF?ht1x zZ5{4tAk81C#OgoKutr)S&#*?<+;ce&oyico1-8Y=KpQ`d^2zNvR3YMVM$EY$s>vQ4 zWalI@H}($Eurdu(|M)(6k25#gV_f|XEc=Dt`L_zgY(ATyno`utHG?_U!zp2|8o-AWo)cs z9S2^Z&C`kHrD#1eHCYkyjk6W;I?fV-*Jmi1LA55U^Ty-ZAD%ECOC#nIzq+L05pQW~ zI=B{r8#~%L(fM5&i~ivDhGF5}ZOiNL#tuWdwO)B*%A{{0g?E;gBe@69s5f;d^nyqt zN6YZz>Mf7!L3rG``civ^`9XvQmc<0;&-yxAst+MDMKZ`!lxrwBJ7u#!Ff~c6$LtNb zs0T zOFaqQ3fNa1#Avrb_O{!_mYPYYS7Nc1bb3Z%8N%up2B%k1tVVR&-tk?6b}&&uF&nm> zHD5ujE6+%6F(^$aE=iM}5{EeOtO@(QH66o|-9;R(&M1`^22;XSd?t$3LhzO`O4wM7Iqq37foQ9p?xq z8r}w?$vOXOjhZe+;|(lP*!bY>-$bLkIbUF0<@>N1HgRe$w@YBr(173fR9p2{73j8> z@>}`-cFyvrYEV{vJ`iY!3kAcHkQ}eVBY~2shGxF`hS|u_Wv6Z{K-@R zZtW4GFS(UeW7rlVX6g&steU_}?4WRMn)qm(mS}fuHjVhlRP!OrdMJ=g26BaID;p2~ z7-Ebie=HbJ1Sc{#+OIwx2sA!YL?tSlE&d41WJUIj#zQ_0_&)_JD{c9StpF$h@Q$_M zjImZuL7*Fup(YN5{$xf$=dI<=SP5A_gu3V<(n`egF6lUw{3S|&Spms6U{w)v_EN^l zlwsiiC@8gb+zKbshT-=mQodv`kbrVY1hw>c5q={b{U257{%*RG5twsDEbxe2y`|vi z{v&=Um|E~$3g#jhgqzZqnpA0@N~a9}+>{XxC-504p0Eci<}wVg*MQs>a$xw@M=oE= zQ0JDH-{6Sq-60LMEB$LEUaqi(2)Z5!CTag*k}nb3B?Xv12Id4W0pf!#CKG z4|%hvjM{N%R6(_ZVVx9Jq(?m6sknk2mh-UV+{D$@k*Th{pvQp1`$8-az9klGIwYoc znx{Vkdr#+UwPC$iN2a>+ay;Gq@eP2!m(4G7d)N3BYup{0xV%esma`go-NDoYw6YSO z5bSI$1hRR+^xW#BRa(Wt(eUj6saY$S^;ZjfM zXtO`mkL_Yzb;WM=qUS#Gw~w>vz^x?I012CzZv=bZpJMYkuZ3n6B>BDk+se2?axiG3*CneT_U7GrZ|^E*E#MGZS;=*-|c7nk~;w_;GkF znY>iUT}mb)U{ZedK-z1>;<;Sfxn3@WV3JlqrKmcBt9o5&VlrqZ6D8;Ry<>$u)CnP+ zrq$PfcN5rQdaQ{rRBplztM@}{3lc(`t|3|idYwNch{MZ8RU4|v(8a!H_0RPXuUm~vNv+E?a z<(v-BXRs+7Xok3cz+q*abZJ%)wkF#&?Rz$@i9|l~7UqM$)Xrqu@X%o3N8!M7?)x6k z=N^DJl-V{CXW!;CZri!@wukP#^Dl6B#~rt&@4WLlT=4Llci!q(PtRG_Tzuj3e0pS!ns&rDUR>6w}7e?QkQzW$eSgU27bulV{| z1K_IZo8OhaU>uWdnyB_a%*{#8Hwv%2zUa)_XF zE}lk=;gjJ6Yzg0IA;!`BVA7Zfp9-5+I(`n0%|Ya|UF-qq!qg6&g(c48kWu7EE$c^d zQRk7Ma6&tUhH2RX+m?bq#^abRF^WgSv?)C1D{tyEmZl^!0RZaPa?fFAIFIcat?m2o z-)5J?z{+oC+6|Ds=f1PTlP!-<^VS z=8y(6;emwFHE#h8_7LzESYfgPjtp=keZcUAD2H4#Xe~{wWaeQ z#rB(90n>fS0?%dS9<@m7SVfF?$7MhR+N0a$8w9x-96o8oC%HqN!QXjDzt=RA{ML${ z&J}T@0s5!~pPDd>!Cblxa7dBBv_;Amol`1TP!q_smQ)_^T(RGylDI-92sAq#d#*c} z>l`Tkli0&tL0U>25pAmj6F?wm(CS3}!1vhHFp>;m4;>&c%?b>CcCR`;Q6lZ3vCdXL zs+Nu5bkLZd_F7XRV_8M>A)_!UX_EybG~Vf`R%b|3@=j4GblHeL4^uts&2I`R>-i{x zMLqHe^nH&!VyPGQwfzJm(Hz!xZRJRNVC^-)-l>}0g`@*mSl&aLU#r!@x`oDr{)q{H za6AM?uD&nD=T98ggZJ<3Ao{nmR#q&9IN*Dql!ZB!j{c`XeGa@Ui<-@_+?@UGDve*efH+zrC;a|7nP z{^+VdX!&2|_nkg$3fhB$sN@f6nXqG;nHx>B1F87)oPi6wIH@|>JQr=wjgw&ed8 zA+wo&@~zXbT)v%4ng4{p&~TIkU3$v%DtdK1WKBS3PBPBsy@l_{!i*dA8z~BTrXH~= zK8!@ofF%z6CvS4uLstvsL~|c)IhpYtEly0Pyk;~wwO*eNM#E-m za-yhqIIlza$YL)B$(1~>7 ztL-_F!5og6!7gg;2i6kpQ}az?YA!TQkI$&XChH~``dL<> z7Kzj-Gn$=!8h1?LJ!D9++WKJ=1HY|-07{{3EH*pKJH)ZY9V@CSltUi^#1Fzd9QWJ^ z4fksh^_ZSqh7JIzH(~23eBTBWfn8*vTc?uDIWHaujTkWV6=ucKLN>snNzp#;H!64~ zxv>|cLcHbr+Xg5CQGzycaAQS%MXQ>kXI^v94H2!>iXJtLqp&97Q{;wwUUMeuPXD>W z^kiYHcDhyD`jDF4ibl6))fZ3KwhEKeNZwWt&=15`*)Ymm4`dL#2$701SwxGCW%KT8 zUe0H4lFIRs*R%eqDXG7QitSJQ?XW2i%V(l7ghk><2`~70@rxMi&oHKXT1yasiZo>= zD;Km2R+6PFmxX9% zcfhj6uV614_ND9fvn;`qXY2K}?IzDRcINCQ`@GZa?D4G&m(HFU^WiJfUJVcv{{lfHLr|Mj#Be_kZbs_2HC}P`y+lVW^+#KM=QkM&lJBBi)8k zXukigB`cc=y$Bu$W zx$o5=L=j=HVU-4hZ*0zxKQ(f1PSSj-oXH^k!)wnluGa;e7=jZu&iStBMqhtIsW{4p(!%uENGh>wYqOl^eUGDFdj=c#l`HOj zSj^!D?=D|X-STmibykXNC#(=`5l@v&`8~b z5pB{xA07F9Q}^|obkE1oU`;&t+(X`FE~c`SlglZ^S}=}72H&3luQ(ZBtqZ=|`P^4z z26ZBSi}(k}gK$--D{LS)PuZsqun*=dwye3mxB-W+5rDLk3BMz&A@Mx z>=WEe^x8klt-`^9*lva%8g-7kntCmjw68?~Ht5|Q{k!|QI)NOvUY^(L#Q$9L`f%vS z@cGtgvorL(Z~EN{<7=jWPo;2puJM&_cb0lw?0b&ppu~1+bpcwBoh_3^)7egq$T;bw&dV1MXKb*9Sn=Ea4ldGn=`a{g_EzRAdE4YUhsfafi+%bjx zt}JY6mVae>O7`QSeFmZ*QHR~kH<}d_k^{_~CQIzeayI9*P(ol)7Z6(*%2jmL1fYI; zragVz?YEsjz6A$rde1no4-m_S`g3=W6~@O4V|Pz@&rKBTH{Mt;PMq^j{MY;LJAV96 z_iQoTZqA?I+A7bg{wLHOrg?{2+F0MIrW=iPb!UBJ3AO{|LupgOcv}nbk<>!Ot$RVW zJ?VLm=Odn<@;r~Vgz+9|q?}lAG8G~k(Jx`khPfH!Y!2>_O76&h-mEm-53VvW$amg| z(=O+Mwpx2y;Hqt*A{r2mE~UsIhc_ylkVEVH3fL;!)pf`ixTy{quc?w*so*E_1-X@< z`-XYH#Dows7!mD>TJpBP!D9G{^rS!~Y(!L1Zt)Z8zuT!Gtb9(Y3afv9)4liHbMH-& z;8HmCs(9elulB3>t5V^mVC1f0uHoHd!&-X7TUS<2bc(Gu*RtG^yj5RV zmNOTkB0hyu`p*R6k@a$F>0=$}MWkE(E@Fa*qoFXp19pJdvE4uj)S;bs+fFjVp(qXk zsNGhpCK55kQRPyu)h-wFh1^)FbaX}U2p}|s5O>tPD@RMEv0NcvWSDsmOGt<^mmG|+ zk3A!;CDd>+r^zCUtL34Q9|$u<(g`^LyF+K*%-blTy}=eYEBo5ATLQbK7DG)s4b!w0 zb0c$`*Dh{wDbi%>b+1F*&J#tQqUjN>JDdS;zk!u`i}+gA@zc18$!ODMx!5$?zRJCz zr$s~rqru^Aet7Fj1#ZGzK}lZ%v8#54E+TR(qDe&GdJ92=uC+PV`+mCnp5-y2;xBrb z8Ey;}t=nUL%8?LLkhjAVgzP+A(c6NI_Te{|hhNtF$k$=>L4E3)=MLbe0cv%2K^>X_ z2mzy#lkG#uBn^ON!50Fg1AU53*g3?M+IDYbDwX})i6Bz9Y{qrB^`RwzuGQU$B^ z`i9!v-nsqKrQ3J5sl0@5=o`=7a?6c3HhCWmJ>YDD&b6CPl?k1!uBlYh0$4|b<#c-X zR1yE3652JmF)=YYaWoj>I}d~dwybbej04X|ODVrV0DzUuRo4B0{e@{dY2(m`mzix( z1!||iyH^-20^S#fivQsqR(^*QD?dfv?fC&b?0G)$xXU8^aoHt^5V^}1TpL!{9^Q6_ zx2{yzZSSQrNZuB6wH%tJgS~Se9$0YhH4VW8(E;dlni*qBQPXAC>a)Dq9;}tQk;j^& z$yc+UCI*p^w4a+htJnP?GObegx_ncQ|84)zvrzjWPHoqTPJ6x?xBUaV!qlqsL#NYE zey{&uLxRhowf#RC1gbRzo_c8aI4!r)YD)EmkD~lfjywnkY>GHV7|e>d8 zw6Ryeg9VHxw@u}PbJO(Srejg?xbMlTUrs8O#LFS~5bL*~@5dn=b!Y#VUHtht&s%Gm z%}Dyln`8X-IyM&J&v}oL;}|!2k0GWNMHvHZay9Se(B0hnak$#f(+A)D#?giO`Gun! z^N6sW%)@mz?9cb|8pB|i~Kq;u7!QUUEO zLN3?BoX26O1bb$Y91=rP#iQeY!>&sYt}wf}B}N5{QQuYbe*qZ==GO>)a%}mDHVt&I z=;`-EP6KXfdgjQJzqvN`Y0^}YWHSDDbLOKTpk1&A0~m)xsC1+_<9&k{B3eyb00PmT zJn;Avo}c#oIv_z5yxdtADm9XH_~W6)@*(M9-h=>^fW!d=E5@!&(t_ncZnF6R9Q=*G zlRX?+@g;tdrG{5gw$qvoPFI01L8~0n2-Sv3s{*R#hQMD~xpodFJ)<#POAwj<6+Vfw z9Wxvb!1j04okTdBoIwDbOeUFt_22NCWW027X%SEI-HV=sUsZRYHE=7802DZEmP|w> z{?7iC%iDs{G+xuc*sjLUVUG%h0`R24zKy&)$3DO%0X25S2Ci$s5fPY(;T}|hgAE}Z zaQ*CJ{d9qgfI*wuYMH_hvD2=&&av5HIe0L4Y-Yf$D@pj{3-vilWt(wh56{ZmKzE%!BSS3*)`RGH|e-O)MCWH)_=j+I(|=5 z{Y)rw^7b1x5#U=PNMh_{IP}b4s$Yp4`g}`VeeK2XIde9a_{*P(gqM{n7B@F7Ck)OLaiE%?WQjIF6tP4XUhvvUX>z?x54O`sDJ#S?zW(fQC0P)M4kTGB@anKhBa2Ne|6|I})^173ph)?8JXbW*H9Gv*E*$Ei1!-dY=_oz%}W+p?cq0CIcUks)*ks@Mp z{zk#@O=oD)otd6UrvqmaIC}OQ7aH#>ovgnJtYPBU{q8y0o~!;yq*lb~0(+u-8#qn} zS-Vwf;WPMHzvp~Kt|v2*VEROQ3fr#TfJA%@+fyv~&_kV9z7o1BuH_=u@@a6k_jumu zc{jZ!Y57}Lh&bXQK}G|ax_#QxRvKc%lz7}?b*R1MdbQJX$k(~kL;PzWtH6QHg9c34 zV1|L^WXmCMECLnmIK_ugp0Zg-U@81hwybAg`78vOI(714vRUG0>gr{k==jdDv#=nt z=-*bC=w5!X0|W7qGi%{p7ys;>MdylF|37nY0w(KO*NN8q)$-N8Z(UtgT}xM0?_Jef z^*Mc(%Gr~Uo8tNI<9c9IPpQzK~v}ce*gD-tE-n20&<^w(>e9+-}f&6_rEWEIWLQcj#x2yX1&56 zKD9@akCQm3f7L}J)rqXVgZ0mxs4H5ECAbZVt^`P+cEjumF9PEg*-~NhG>fg1p#Uev1;RnWJM&I(k!_E_( zklta`nVai8t#;J)3WNzLaS#SZj%5I6Bs3zaY{lbc&zWtN3Ii*| zx3fw-u2fPTCtmpvL+_He^8Nik-}CJLx8vBzg&dbT7kwWG5*F%A3{;cwd!=*QAtQyF zu!bcyoyUlQ%nT2Z%gSEBh&+{NzVTinE=I=OuU>0>cJ_~hNX>h?@(EzlRQOdnfG*$G z3ws_rbOeAz1vXq5gA8;uS}LNhe^6ZwX#DTO;V*}gIrPhB`^S5ZaMp|^ zxiEk=T;-J zAm7jL*vVKVZ>f=Rcm(sI*Q>}}r(tKh2|9jPqYGEc>i>L zJpaC@DwRhctyG>;4ZP0E*>;ZMRq*1D>#@=?apw>R^)AjD0o;2Oq=MwQIHD zX?lZ`M({RzfuDAKksX4vrP7578waEj5ANgJO4(|40`hH~vAnz?HG5mxux#d~+%A)2 zTT0~fvn51w8h*S~nuR~RX(#;HoxGo#av2;!Ttl7kYcNv>MiNBEp|jMvfPvS^`{>sJ zv_L2q%)lc(cfbT1SBMKJNw{+XKT3-rRYdFURlT@UHfc)*Nkhvv(6W` z@!|&xsQ>u@zSicYtB5^>XC$?6{(#qus6@Xno3R3Mm{!sNaXT6yO$?hFRr`HDcGJGZjZLfhh3pGN5SHnf$Hb74z@7LZc{RF0Zd zqU$kMNl;2Efduzs%5bAuOng9XSPPvSZ|uOW3638SVPOmsg^b=kIWeIw9}w2!yr0jV znx7BXt!M?N4D)2vs)y(2PaP01UDnmB!sk5!EdjH0a~T6o3WXwIQ7izcb;Uw~7P~Rt zEp1E!!;96eKDCkXc|)Zmb1OHl&MIqu^}@N8Ij^_ATJ{GrZWaIaaitu3E9y|l74f8zMcY6)vwPLRl@Z0u^nHj@0XuoQjM*ALpy$vYU#`&!2v|2+{>{+z(Knm9 zcp)$Z!~9^14uaE;o}QiX^(8i9s(*ztn|T4Zj$E-Vdg!|Z0}k~O>1e=qVeRS}mgNEknz52& zj(2Bxj9zbCL$Z$G1IyL({A2Kq`=hAMm^s~CSZE@eH~^nEUm^o%?dbie7#s=*vxBp6 zje$XQXvXxe3{l~9Hi+UJY7h@6*vt15to})SbuwPwz)tvDn^i2 zMe`l*r)XGRXr4Ch>R&!&4BcE8mccW~NBA$mG-751fRT~p@DlqFX+7^!`mWH^Wum6F z*4V6%0>nALI%Aw|ZwDcdaP?QvOmLm#SR37!HtI`aM| z=t%|i!3nVoX$QJ=-f$tK5A|g5oxxk?r=r>k*Kz(6+OVaEV z5~pOtp;~@`z27$sE9gt?>VFa5M*5P{h<6&g0bpK1+gu}vIU(AHPcpiOWBdtT2H$W1 z6n656L9p{9VXw!3JPel*{SHl!r624^On`=ya>cM(*HY5-^7G=kd&>=iz|+K-O%&W5LPk6%vEeXg_!|Z zldKq)&D7Kw%231}LiK7}58oDnvwKyM=^}Z*?nOhqSPHyYRMiMIw*`a!2Td=SKMgST zJ2x{Bx8*Qvhr)YDO)zNp=1}P2{m>{h)znGN!~bSKHE_J%&=DZ^=jAg6Ngm4K?8U|( zB*OklVo=Rb4l^;}*<5kJ$p&PcI4b$4RDfl`A_B|IgLyj8-bJGtFkAJCd8)kU z=cxprAKt&Tx6SSSeX7bM?cqmczfF8XxFZiSB~hy4gO`x{w7QsuQGy&-5;!jslqklr zD)#A1sdd=F)bDT+V2i`POKstb3fTzz)bXzsPWX1~f7twgu3y2cBmzB!-I2Vb-j+E6MKjrgMVTEr3WSJ;djz!$2k;;1NJnU%fxpN+BGM&kmMtS#^ykn|H14B z-^tiGc7ATI=-!z#m-V6kHACney?`Ne;KU5sCg#EH<0YJy!TWo|2f{BS|7=gKLrXhO zjX|Rdoi$Qz0gkK0^F#JXqMj<@V!12ATvfQ5Dyq$GA+$wcS#1(JorXh(>dWy(5*QtA z-e>UdB?H1R8;FH3Zcc1LqTb@&_#s^Xi`%x&)Kh35<+=ZN+lJ8m?{M5I+uN|ef3I71 z$ec1CK?d~kh0p2s`ug_wyk)?v&U}tBw5u(Qsy2O*2kKkI-N;0tX5OMmqlXi~SNLdil-JZ3~MPNNJ1_`y3SFl;$wj7{2B z`prj71&pJ&*}*i*#H%geH@No*@>-xOkSF~8_uDx8h!l$F`=5s6_cr~7y^=zZoTw2t z*~y`3I3ecd8u=@&kMju)9g43Ly%?`aRfM%hV@)qNYGNyTw?aLw-hJNd6{Iw`rl#Qh z&V=uLXkBB6bw`MC1oYa^*{OE%aOWP@!>j&AUYqpC0AG}| zH9t2FUBtcMo=smNWa++QGId`u%et>vshYzV>4i4ggXe*P4|zkywC#)gn>IMni}}CE z2IA+xnw!kIxj^!Ib8he^b>P$^`|o+=5x!A=`X4qAPEP8R@oZv*=Te1ca_}UEM)O$U z23SY3f~APLcDypE_lNT%d+n`es2D~tL_%Hai-R>SmESC+UXtPtv}rxg{0>|Scqn(^ zTH%}IJ9;~$E~+Qr+7`Jzr+rX~2sz9YaQR&k5tnl!$!P1XP(HcjA}I98wQO>4hwvmn zgCp6IQ=4R8db~rIoPHZeKB-7?%;7M_d<8>sH0~A#R6>K0 z##$o*HFxIBoWshPh@Rnds`s)pXTYs0{L@Vfoti&$X8sg2VCh%jckj9W`_G&ywL+m* ziEBXcgVXL~5-~m$?ejugZZBf7z*j7nSQL_letZXA_}eGq+p#CS_L(z2xVgOWj%-4& z6e{Jfy8L_;iXZlea+8?{=D+xEdXp2Ph_(5`r{T}P<7vPw6emKV38VuUo`d7!86}qP zssWi71VR#TAq|I=sAoZfqD@k-VX!#>O6zJ=Isic8*7#%`fSm&{RzU}(BmGSPlmHe6 zoxX)43qp{EgCoJZx=dIH$YWT+a**7jdyW%9X7~V!4icrSuH`9MF~-D)4l9lE6_FIz zTC^Y~LZY(5+iz{cxpH%}RarWli{@v!AjMe(#YIqIB%1bR;C-L4xyyDDHg>=#oMpQ- z))lWDwr00(2;*1KMmV5pPT|@|2pgmNsCnDk8^fV6T+EN@5n{8SXRmifj0#8JNS_}> zPp+w)UaXhd0Y@ym!hJ_3lk*$;9_a@G9sb0$2=7vlB`U)(v?L{L{hH1y!NK)PXf#vV zqN|d72b za>C+(Mnj%RI9Z5rgz@+pK7j}Cf)ffK%O#;oEsnK)aOE9tGoo%9XfqnQES@34da;(8 z*kE-J5LHMIceGG~r0)1daaafGdrj6Kf(YK1l*wzD6n|Ivq$#ob0x^@hUP7)L@#W#Mjg=#s+8j&XpqcdAVuhcK zJ{B)75H)>_Bw-lNm2PTf*{aySRL)=X1S4u30iE%@-Gl>zy=3Rp#7zq@2l}mfBnAMJ zdk#u!xBFN$kqm~yZ(BIK7%7a779uxT>LjvF!EpVKpo%E#<8Bnv3@R)4OYjp;e<6oa z52H}s=P^0Te<_F10u)02GW;j3<9H|x_nq+DQ9TqX*|JD`<@Ipf@iSP9Yp!z=HCVGr zz=f#;ac19zMkgGqu8aNX8b%@zVEuCKc0t7!58XxRffO4WjS?bKNRSdwhQg~6MC*i< z|E1|-sj@DWPXRSs#w`|p_nb9xz}GuF0)<(IX?##aV*fKY!gnJX3B7Fu30ncI>sLX5pXIuEEQ=OKGl0AZ zP8s46lVR7i&jP@ftIkFhF$X4ub6)8Zv`o#o>C7D#DyZHOK(=_l`?i(8*DG27I;377 zw3Fow9E?KaZA(_(T+y;($a3g=sAwf)_1f%>C+Ftkk!U&j#8v&omn|qqe-l6-42FF6 zQ;AXF9rB~jhJuRo1#W^Fz)7kWfuEc^elyVVsCzP3|Y)IX1p^Pj|cD6 z`zq6a^S0Ayea7j6y3d#R*`H1L{8^JhYU@qm@SC>uy~>sKLvSRgW9rlCBO~`v?kym$ zAGz|hUlg3o$l4O4^A9tJKco+WjTP!itakx)@vTHqMvFORoaSFUzV1Fdg)-%K^O)AR z-%S?Ns@HE8u>kD>B^(N?8{Y5#n+$xUZo5EL_7&*op);7t-T29#(}`W#jd{tTtq`k& z3@!Dg0??^lp#@Ae#8h_3&7AG<1%Fgm4TH)S!F8xU{M?REO{_wzV)o*F@=TPz5x*rv ziT2`-{38#;%HrTlWniP$Dq{1#BJC3*E0RXMA;M zfyEuLt-|0D|dxCzet!JE8`nJ?xV0HTZ9(>t4=wvt46MT2?($SyP0X+f5Y{ z!wZQu7%=$%(V10)vT6_CDa<79f|`P~SyT|Q{`$v2`P?7VV9Yh$D5bApd=T6i_$k}l2IBDA z{T~yC5ofm$n2LzUcbh98xsJ5s8D74Q6>uF&;%$dQZ7`NXI;ALrKBEwuh__s~jZ2cU z!r+NNw|eSlz+J_txAnFXxdf7-%Y>qwsJDx1fJAoa8!D@BSAdA&l^y*+{|z5_6t3FX zEq2vo-TtHMM;5$rSnvN*%s#5#WgqRoW6^_SbxX{~^udqvbBg(C@C`*!(LvKrS#-P| z8fwle?!nYtdWR1z`?^v6sLdicaP?UK8JxM#1Do0HxJiwT@+=};_tMB&SI@x9p)_(R zW3xehdh9V*IslB)>a~evMMI3HGY)Rl2iGQ#PdRi;S38dEJ;FqYtS>sX0_fxOQg|(I z0D!RYuHDFWD|?Bk7(dr;RsYwVTX5ene_a8EUZ(CxAX-)%i?QH?Tya7m9CDar`WL+r zGd4*E7bMinT$Rn%1_R6)JuYNdn<`}mf_(MbqR-lUYzsFu@Q9P3e5nN z9Q&Xpdxxy^1l%CZ*4% z5fQ;q07R`17%@SqpP`5Rzn8Th2z((U`5?alxZ+~|_bG${{LBU))(=*%f4@3Q{THo#p@+_hF(>N7uptV#YKKrUQQ$nJlU zk%AE?JS~!*A9LHj2;u_l?D8MoRG!ZlbGh(5jajyx3f2R6Y4nkrJr_XM$&dwa@?S*J zcK0vXZhut0d+;XKg^fP@eZ@5FfMm}AgcP^mmt^D$n^tJMwJ5q>yOxf43n*81|oXQx6bFxFm5bzS@wK{ zNhyh?x!ivN6&%$a{efy;Z5vGeb)PqC2X708GD-V_KN`hP@^!)(u9`JmsTflKiK(f7 z2%sX?ZJ_R3{7Nk2^g;bMXFI?q% z?$KgIJ#b#p4d)bV0y`(=&Y=s05t}v>tO<0R&w<{_vS~6vwJ&uU2I7(vXa#Os~Z!eA(i=&HI6aJbvhNN7>>ALJB({-s} zIF^c`I!g@o0KBEy+0udg|1XBUAq> zc1J3ROk_hT%5IMm#n8cm1;KH(bB(+Hrl& z^-s#9vI=GC4umd_fn$M{hhT#-u?Yl%;klM@3_8nG1J=wC0Ni|yOOEH#@CyN4`#u3! z-S;?@Hv7)B%(p;(_C0P|$Y8f?JatGjUcghW0qG+6680-*$83A#8~JbDoH5(Ml^t`& zY_EM~%iJ>9_6B=S3l7{ec-w(nU%-`}{jYxk&+PJR1{-Xd9kYcyiXN9s=8V}6uEfn5 zvmIPH@XUeNn@6s-9lYxD{yPR&4t(Tabj4-zXg>uxrh&MXhg|POjvSZxM;YoO$`4!H zEJZh~6*X{}IN&b@lmtM=|3qY5Z7W1iq+7&y`~&Bb<$3;LMe6MRnj15;4+cw^10)hm zqc>tpjTnWQ+hSQ+WLOc!+x0q6h$%MP)o1mua;EeA7q@q2x;tA-M)HY-7y7g?lIvLha(U+D-6uMo z#5?gt@{4Q$8^V3G>o?c{HY8cAJIM!6EG|H-5Wf7gVqZS%`fkH#EOpZ%C%^4$F<3*d zy`l|pWi-nZh8@TV*CR>KQGeta6dzzp=HZ^L|PwpN2T2M(cnM#(2UJ_j8` zF7gTj==R;-vW=4f@A2ihO7z+iIG{8%wDNEjwLFpK=~SX z%lQt^`{DcxT-MW)&M+_;jDBfsakM(R7r;0F_rcs$8 zH(e~+iNO-0Oyc+F^PSGjY!c(Fb-6C^+G~iz!zfFHfcB-gyo)>)X8Rhe%YL}d^-Oxrn zb19Kf?(FYZDS9MSk_EaE*?6s;T5Yj1IaZ0D@L1kcaGin+L#J+K7yfgS*y(MyTiGAx zZs@&O5%%|?b~5%~n@dbgEEeO%V*QO07O3SL!9!(Gk&}$~+?CA*7&$nS2dIVeJ}YBx zB8i1X9of!W3xYFHRv3&N*`Y?W>qWjjF!}ng^Wo~$^y2Y$d%O;D#p4O3)1}w!<}KW~ z@DfCCD&)o{3m%wAP(yZP;ure=E*w`6=ZpQ1c-(5j>oG4-uS6|14s)$quNRTHV5~BB z+ipU`yN{fMi5aW_c=~LzJk~lkIcZsq{?jUe;3z@mdyHh(gFw*1rt&d)m#A<&771D^bUkomDF0@+=d)w+g!-vsT3H!>uXMo~B7mdaT41FD3o5V_nm&ECv59SV8eK5sLFI_ZH}uKz!^2#iFU{#@+$;_)}m zh4Q(h9tipAM*rd9{QUi=H;D|!o{Y*vX_T*# zbLxP!ux}W4HaQB{{5d@B)cW%eNzZ`z!5xmvE)6b#*Exz25wQROFT^0H0a~vDFgp9j z1(wwzu(-BzZ%-OFV7*(rkE3#66&^|`?k0-kJNnz!N+r#t73sg08-Zkd*+rsovmh8jR7JoY!Zm)Cl$)kFi!6I>GKgj)84yR8EgXge#~S>IN?FG@A5$7VnG ztTcXyIOe%+wQ)_rlndKtrJ8MTQ;<_^8{>kvX&N5g6WNh0c{B~XB20^z3ekuP_YbRqxe5OweP(!43A|#2pN!S^8 z%9}2;IdG1~hxiezybkNb{CuUV#+0!Hs<92hI%DQ8IKl#*z2i%4+Lyvr$@!M9hG#x* z><=GrEFGViRBCeK_)_CZ++3Z=Z)<)1c7CD?|A_y;_2pyi%g4T_eW7Ilc;&mE7ew2C zmlN|QcIHjrWoNDlXaC>z2WAHqTl`-1C+lKXI#=U6TO`XuCP*Vl00bAsU+^+9i{EUY z{0>&hrde@j>jKwH+U^2vr(RlT9%Sy$PoP%^G+zfbW(UvM2TL#=cn@HBU#8B3S~h6@ zV{nyh+SCU?rIrvqj!xAGT`~qwF+a|NZ_ z!oE?|`i_rHO;@uLejW;f;ZDRXiVS)6vjFOQAcbJ`P8gnbHU2cl_2<0 z1`o)ZaggFg#UZ48kMX08g~JTg4=fK^A9sT+0;Vg#+EO~eC7Uq?_o*w0Ohanf2$MLV z@2`QIU?^OgismZ#ip~?GcG$??jP~1*{4wzPn5k4Yf7$Q$_@YxKY4mIGIP*M25Nn&w zRDW52ir+(DJnRd2fo<52&w$&6hC|y!9PWy%X1Cgu*1MY31V@P`^|P7_(-_maW@8Ls zpy1Q&E$_eqWEFjcRQM8WZ;UJpk{ExbyQ6bW!<+G#*BXb?)X996&5m2%V-1)D%O%A4 z6p$(tSlafW=z1(1hUWzYl2o!FwTk2MTn;s&nIPqoA%)hWub{>)O5haft#MWGEz(y& zUU#m$GFlxOX*TCg)`9tEb7Z7Cy3#$T8`S?TXr~HzIFGzR$P$#tYYK1;sqia<3dxWU zR*hrL*{O7_*fwUsb}^Qog7dnD9gPPvl8IZmodickyP|RYs@}m$9{3AZcg>E&^2Q+h zsk5^B&>DzLGT?M{Owpdz!FGs_0f1a_rNEEuja!gV7Z+BF38$762Cm^XHN=w_5ub*x zF}nbg*|Yt^uTfu!?BZM&@IM!5s1gi@`YL&bX%LV=YSCM&%Yf+~*_0h4F=>ITf05l% zF2lH8mA&v{)3!ML({^ytvJv4IbF^9<1L zpgnAnuzB#6VH@w?YUjH7wsx+gds=&*j&p}k)a8RW>K9vf{>WnrQQh8W(9 zLK;mv2OP+3=nZGW_-+R3j#qe`dv>!nUI&y%dq48t>_x ztDmOdO3V}IYhqsPyOZ^LGLiLrV{8Fi!WX#H`VG-&tgPQqj+r;4-FyYx04s{kmn8TO zHy+b3(RfVL;xgxt6V%ePqAT^vByc1Fz3Q{b*p6FlU3NHUuDmPXtr56Li#>BB>%bMm3ojfYhxO^X06}=cS-z`~v^e53137=}Q zJ5pjxXW%ymf=ASt%Z@=Upr3)(lTYGLXY|BH`AcUKe}b&I;cOKV6rgTuEDII2XG}rQ ziYSs~0tfJ*QOUS+dwuw`%6}?N4ksd#XU=1dRhCfN+2&npI+aSrN9;dhkHhgl@)csK zbm~1YQ7Pr|`YwIY3lBp#4nBCv=YdBALN|Sn_dlcWek)RQLbVrus$h13HH(SuZ5Ov=5Oe0xPY7=Xncw^>hS78d;G#FZ43Q^Pu!uq*Qze`ka~=`u78zy z5H4}VHBoEb_{P25C=(7VJM{Wt>Tyw{sa=G%caQu8=iyn*Lrts&m;wSO`SvU)0)OP- zaR@9N0RNHB7s)p{P!f1(p;iWawM=s)L8JBgmNO`GaSo2rBU-)2ORLBViszOiaa1 z)h1++hl6hOSWCnjl=Iy zVwhdu)W3Zku}85BxXibnkJ-N9qZX4+i}*@kMx${Zf(!i1?}EtcxQK#FQX05aVjPz(v9l z*Gq)$<{80XqAupL0cffJ1HK&q)-dqt?DSECpK5SdjFDuz=jN6iq$CLE_7iQ01zUbQ z{1ZtawNNlHJ1$vL1xdl)5rV%$bQB(i8bRr2t(CSPKqImk$j9WO#lKLE0DD>Hgy(j*HTRMi+ zZ*y(cgbP!dsOZUyV)4YCYD13WiP8RZdhYb^R;XA+(#m4M3S18CRUF)s8Rs)e@o0}F zMIg(J2-gnx_HxpKU(k5Qn@W$$tMQT1bjth2!HnYrKMv19pww74U|E41hp%w$aU6H7 z9&jS0#MZTkDXo@W0t`zH7WMsszM$U`fiueyxJNy*+G zDdo%lfZxAv+vWRgd&?hqE9dH2KKm>U{d^t!PdSG5ai2o`0jfPUP+^&jJN-964szJ| z#P=1}(yp#@07Ag7s(<^nntLv$+H==BNcBq z=cUc$LPhR}`hlFP%#*GD5$(d8@g8>xayeRs4}8+;K`>gfc3*GCVN8z$vF)y30^o1g z+gg?EC}|GfdVS3H1|I^+@jn!@)f}uY{1&baK86Ocy&5<6@a_>rAWch@pC}a&%|a`G zMrN3P+|WvSmveO_WEzHsVR-9yT*Pi$_{`@0Vbq`SeopiQuFXxg6b_fpmm)F5>i+X% z=O6P0js?K-!sWoR?V@$>yDySBhS|a^)MjsU^KFn9B6tWzn*Qx39^u`-;F_N(opXph zQBMIE!I#5{pQm^zOfeI!aIgj0Kx{$VaVW3?7YIm)aMdRqVV-5$wM>{%Pg$9FX99M# zeBpdKY6mipXHW(O3|6pw{(L!}f?o}LSrYNbZr6j<-}Y>?A-!i-eUCG9-k*z6Z^c z+;EztTad{vt_1V>N+q8Ut_%=g#q3?uz@UFGZV~6pj}s%sGPgj#yV-rzI-k^_rGK{! ztIfH%dewCjc(Dgwnd_7=&)DHT3rZqK9q9ju4X{*5l^YFj*f#cKP>69~uYlO$W#S zp$*&J8;*${-v4HBT~FCMc*%`maKlD9-~(+0hXunh{?|MhSFUMk*J+qjvxH(c8c1D< zYxq0E`-gmUd$^kF@c!Z5**}KJF4h_7tTnf2+G-PWz)MO5ogPkM6nrgA!8L-$zXuIG zIEKKo5WDd|`4ZDQJ(4+a;T$+8hZ>uU0Yo#OC&20Ofq~lNh4*Ps8yk$P6Z=+4RTJ9P zo9bSoid`(B1LBD~NT`kfs>rY4cSWS>?-+mK-Ah8Bb7CM_IdabQF<%)u(d=M~orENgMG2MJjo7!oSOly!*SZXd!wVDwaFm%@|m zQ&?omfo)K3Phc1KIrMy}jSXfQ(6&vEp(v!DrdA2`Z6r%O=iSz6*93=L25<;JovcjK7mxgV7C+){Bcxim(%b_kbZx{r3n8JFHDlhu?*-;_dGWPxE*xVvhf{F=3ePmXw=79SYoyXI97SO4Y}m zqc){8b0@ci72%geU%3X2*R7}r1z$_kI?e}mk7zeRNQ6oD15`nDL^9s&2GECKmSvD@ zaTo`D!GuHkhZpqh67BHfmAeAzl$PVrppjHMaM$WYHWD$-i$t<}kGzG^CNw6xsFKmQ zKn|*)%o7iB0nwshi*vbZ9nsQ}Xm;$tH+~-_w}w8N3O4h3r5;BaSR4NZbE^MQ^Xf0i zv0QQBl>B53dcom!zDOp<5%TIS88f}=ncUVmACc|Yj!Oa%6{i4pA--*xmN=}p+xR1A zA}0sox)R^(q~+Mz*)j991ER47uF7_WXpK|#TsMarrVSJ*OUbIJ=G5E2`S!Q}=)-UN zlm5dG|H+%)gV=NLH~Q8$)YgYTy!F5Ezy94`??3$$9v0b8_iL{#G7P4i+k}=$jt;G1 z6=OaEz?e7=$-*D79W*&>=;M4MzaAx&ecuzFUlzOQS@eQHdZHnQN1Xr);Tz1CVrmb9 z5gFiFLb3C)n1U@g5~bWhQ9$}7pkwDUS4B-@oy>lK5QcQN&jF%$3h zPnMHN3ESp=*%>5GXzPJ$n|0U5Sdex+Eqw7Pb4BJ1|6tm~7T^!74j#?>&EuaKooFG| zsI{_kn-t@PpLlCD7>x$=rU7QVSY7R|t<9Q}y|Zg;-PLM1{0&k$a}T#@kEsRFblr~i zFW=Oxx8nz@H)yD4yod~PT?`Xi$yuXW14lB*qT~}TvKVXyMd0!_5$Z)U<`;*5iKmSY z?;}_r&DIg4p-@v(rzbFaR&)z4LqD*UMm+iu>l#hooHGkIjZ zVR@Ua#qkXC=T^=xE{5vC00rj=VxnrncKggEa*s((9H~!1{m(SuM2Lwn97F5*fc7hu zs3%bIdcY_Qb{trB*2c~b7B|Lv*bdL}?mOIu14UaPsJ)>%NV^bgdM$oJ&kAr{Z@>PB zXyl@bT^B)B#U934;}wx}cu8#$?ewps!$VA2qK_Ev{}}Q>ecP{g(eK2!{d7+{PONs# zub))C{x3i$JPJzfJEkxh@M zc8nLK**?qnoM8b~mS$~x;+J@vc0Ayoc1F->q$d#3+m<)!3qAUpNkRy-m0=-%wjKrk ziW5gbuMVCFOt}P8VX=A9Ve|-0ker8r+~ms3sVrtoeQ_n>p9|+7%&F1B{Ml&e!FL?H{)XG~cFu$M z#AX^5754^Gv3@5UPsG{2UD;mypdSu9ppTH-I3pZ;ws@cS{deb{d^m8+gqf-2cCSA@ zz#C)w3~1;_Dc9?CE==2sKeiBvh*Pn@Z*LwQwNluFlW>fWqm^ z%&Ycch~e>zvDn1Kjq{UJdAub2@I>owlwApa*blZ5;V5iFY5RxT3E_s`*eZ#a#CwuJL;EWvc z{6!*Kp1x?HaQ6(?4Cy}g?abc)@A@3noFWDunDo2GMsjQ{aHb6S$ILHn2s2{LP!lvqpo zSTL0Mw1h{oL*x^LZNbo3%_Fyty1ifGo6}xm!i{AG)B0 z|H~Ba%QrLp69V_mWf-9{k7upQzSE)^%^{nr;AFP3h}>3;qwUDYiFnEVkY_OMGKIUe zWUV^@^oQnOp?p7RT6VW(Du?F#qhq%WnjcTW_LKX#Y1+GyA#}IFYGmkuw@@hy4X=Zn ztxdF(HF99rL`yN8I*cA|kKe$cRb#@X8rl{)-r4SoT`G3Jk(-c_S znY1vZpqPsbi@N$K1=TbZALtx|pl$KNTE_EQH>L$!UL=avL;sv*LTO!qtR?G=&=->Z33`|LBJG!n58VaE#fveg>aMGXK%wUR~Vtd zG@d|N+i<|+-co@&_JiR7(gvl|BO{5Z^{KGif;)|+v~Dt=hiV0NpFw~;!CW?abnSK@ z+;RNyl)`7+mbuFhtqh_tJptZx^bTBd2QS4&;Oqq+Fz898(=miD!dK|u1iZ;~I*tRc z&l4+*(CSQM3JepD|FR88V&o2awDYX~lfs}e>>I{Urq88n0J6Qn4Mq%=`7rj~R<1?V zikaa6jzQ@`IP4O*7IK`pX3NdVz;hqEV;W9gN2lkGKY8wzp|EXDM|`K-w~wpwr3?9- zvQ9jC{3lL4S)G|iscavrJv+DG@#Jy2o=B80`A&6kzslU+Ipsr&-s4Z6uv9L8Vd;n9 z8a92$^wFQ3woqX6mFJ#3{(<99qHeTYRQm4zlP6|)wKF|a?Z4Z3z_BH9y)&Ln>d8WK z)v!X6u~(0ZUUxK@(Mtdtkve+0FTYggz&+R2rSB0Y9IfUs)z$l;eb>;rUeWS}{-v68 z@bK2~0p?kJpJd%F!?XK7R10`qV_@R6G}3%Q1ILn1_3qMg8|!f3=_yhlrWCi)QxsNy zFLV)IB#U2yHo2tW=1UI`xclnk^q9p(gkzf`BOZY{j`?~4NdSlHVJB}u!E`GUk8dL9 zqyoJU)~x6eEE#z4Qj*boM*!zFq^160_ejVt_(qg(#j8eq1z%_cnUWzZz9%OZp_blEPQ`en5d7bRM1lfG?(C+)?9V+H_zvRB#Zp#FtYd&A0p#QB! zgBgp>sZ@Rj@v&@I*b{`QM8&c}&%rYoZ=oX;DqK-kVAB=M98D7BoHTi6WF{r1ZnlQh z$K;?zsHXbXVOnh!-w{p(?Zr1Kb^T*3R@g3}*M$d=Va!6NsMl6nIf~FdfPj@7Eff%j z?&7^{C7<4Erc?guX@4r+YleYuBo_Q;i&gK(jS7-E?A40d!kf9V1v1ry;T3 zL})>SyN9ur46D`u;DcP3fAB_LmVbC=QU0+kLLG%_a4TJvw|l+q!+5^lf&Xx){I`QA zggY7VDVkH<)R%{U2dA8Q*p_+dVIJ6gj4LdXL`^9)k~(Fef0V4m8BON-i<`1ACCdo_ zeO2F8S8wP)gJ3y;&brj4=xoI?;Pmf^BWDFOM#LR|kN6fmew4ai&0H^uoiQ1xV(v@^ z{H65*< z8rC048ua8cTLZ95P2vGxIO+|!gIQHLl7>fVk6NY=qHuAP#fhpEaQROa`(H^@-zps? z9DNF>y}no($yXLi(Gpax`RMkoD_sP%dpyN}9ehtF@B#gB(xL%jx3@#a*r@#hG$RsZx0c+3BJ?ds?aGUCp~!sG|Ti+snP@bgJe- zi!?t)-b7L`Xne;5GA?>fgjDhXY^1Pfgrucq<=PDu0Z_!_`S%@DGY3vM#A|3#7_vEfKv$l3GfC!a2#>3-{bkxm%wW18o%4nW74N|j+o4e?a-K= zh8)hM7zZd=EtC6ogBH+{fhOhLUI!C$?vE@iE4xuyRs&pHobE%~6!y#js1Wmg3LFEj8Eyn%TivFhay z7_H^Yz+w%UL+i=A|^Je zML!(a!C-$n9=+kOQ^@%@JN|XqH13Qk?@5mzxkGwBFJOQN_{G5nH^4~vb&G!ud7RIQ z&OHZR^+)Y3LE$ZbyErJm7|Z2$yLv_?B3V305f-Gx#T1d*IA1$eQ4)wv@C zgZGgATh}w`0PglW74f-j^N*U@9Pw(zXOkqj;U*0Vk@3$$c9k>mPUo4E=>Yt{;82yM ziK9bV-yevy+jxi+C9d9Ybyr^8q56Dsvh!jf+uw8Jg6;EX_}=6zRMH&d*^}nT&fuNG zgYXCX5awVT%9}#~AYkOks*2f9fP-q)y32jx!s}jl;ey+2uikj(%#1mhIdkSFRWZ7F zvweRoHuidR@cOY>%*c6^PZO?HX71Q4jDpnCwhKO+f0XLz35fj;u!d8S1JlAJwGBu9 zrVEsawfqI8R{x`xWfWts%3$DWG=F8btmd^ zyfzrzDSQ0^Z}zT*h`abqI1q@vd{}g?=5p%Y@YWrT6bhBB&$2cIPbTN$!}}vh*Qc%K*5o>PGU|vSsQ+if^r3oxd*-HlGHhm@QhZM>%-s5Or1bvs6RhG zKHkXvDzIkutY!J^xyku#7W(rrkk-HQdg9q;qcNV$Pb5m^QYm)V3RHd8?2@t;7jHcu z$>m2f?aqbHS}C|NgZxbKSLebfUbHkjS8vsBT3#Mecea|WKw;hj9#lT)NO?S1 zKX3+YhyLo|l8n3K+Ytu#DoF0wW!EW;`>u_-o{$0^Ey5q^gZ%J7Aac){1}s&?wxVEC zJL^Wbx{eBy%5|Bvo&VOaz0<$4K6na!fErqhKrpaT+x}JK)UfMZaNx{WajSWbYnHq& zAPc;a4_pL%ic@gH%+$NNWky5QHFeag@@i%=T6*Nl;%6QyMHjDJ84|&^)sGg`=7SGz zs=|Z2wy>QY=l$DY>R2P-sOv6yKX_?}vBF0{c%e`d+aHF;QLP?0Pgq@~Zxf*Q@QYiN zO~6qCX4*zwFLqGO?16Lo-fLgEB$|B!glP3Q%?mf5y?DsUYu(KA7y>=UqI0PLFA{#l z@rfKWIZpnH9U8)@laIQADOkqX(?A87p-CQ4Lp1>gEW>~5inL66c+oUZ8-Cfj{?69c zwu-G-ktI0zv(3vYwiH$1w85d8``h|fbEqoZLw5Q8H)CqWJmfsTg6Gi}t z2X05>3GNzS6TIDGrEQ`sD>$o-U%wLy-P%FftmUOU?}W^w7CN_vrV9mTj5`_*A7ui$ zLSb5c+V8*lj@yslzr<|POZOkYP01x&syKVHnBf(BbjK!+0YUE@bu&qtueVhuQ=MZNA~NngV~oWgQsFQ!m1brq zXEw|zZ_M78NN2(UmAUt*!w(Gnrq2*IOb-qNj6?jU(dQ+*)*%-!;l>#C@5F=prFYxR zQfjX1zagmt}N)`O7sfPYNG&j`qdy@ADC3_&j=@)-hlR*8uOKyfp ziOUw==p@#SUnq&D;%@=}M?r%t2;JYOWUxs-gqFx9sLKepB6tAEc?rJ|u{Gcm=%I|q zuMYGCW62vJ>6smG73hXK3o3ZkACT98y7h7cCJvaqo8lxll5gOGlITTsU|q{6S}N8uBsXzL3RMc%LdqbJ1v;ctFLI{4HtREOf6f zDnMM7p|!!yE<#cfyzGTy2+&w{#Vf#IZncV^NHuPa`WqI=^OgL zD#H~oQR_&dv)ldm@r&-u6G~X2n|97ASyZ@~~`2UOq`rn#^eg=v2L#Q8P#mh&J zo=7DSd8bD6GqC8*jSOGSPE5?rPfyR!O-y7}GLy??ekhKV7png>tNUOKw5^S>7l#Z+ z4_wAE0$)IsvRkyh!hfoRBSGHKfI6y?H3bsHalxQK)d-IX??IbJb2Rrv)N{-iJzhOt zJrQv)t30z6|IX;#%j`rvbG=??*T1YTnN}bwSf7u;^wj_C@G|^)JF)DG{Yu20d1d;Q zX(-Erus;4Vs{uvw|>9`v*>TX$K-`oF}x{f2h<@t@w0 zq@kuo(Ib3M&#&NHH*gEQkQIESoc<0m7F0$qli6xHTm`VhUamqR+NpBcd`zDiCfhIR(xa;|AwA3`~%mcTjI8NTS`U-$!PjUgd3B1K~JiN$54=l6Ab8O*mXVjq8 zmxVJ7)L-fMcZqti7YKAO4f@Zn5Uz+rcB~$F4axy?Y9fQvXv}X)?HWvrP97j#&9fo?T4adXP_E`7=;lcvtB%Ig zJmP@ss4~IQyr3l8FQ(Pe6f5}e0XWt<<-7B~V<6yJGf!qKc~9}crrZIo_3o?q#$MYz zsX6N{bEsp`wm606Row1qiyWK4#9LYx+rc;x%1&bxGP<(@WkRknMZ<8l7v{Xe+6sFl zql0A*I={32?4TJH?yW0(RoQJ@tujOSU>8o12s;*b>DfUba{Jl!-POarx9)#TzhQk4 zY&-}*HgspxwFw`ZDy0SRI#?8%3lS?amNXW$ES5ztY;c)H{#YXEKexqYtQGy%y58?! z-r9m>)02fOKf}9X`P;KzQ}C~yg(k|$Up7GK_##C0AyL58!eM|B+XKLoik&e&%rN4BxC{6G7OuMNvA56Sm-wD zUV%7(F#0aN)xSH~>_Af8<3FVYtp+O(fTV_x6W4~uUmk|Bb!C05pghGqwYNLu5&}_E zbJS$~xa!)%g^R=PSbROEQuD>aE8XOJG4ifM5&;1KVIaN2s+7Uvo*uT{y}=riks^+D z3?WTe`@mDee$K(DdZEEs%n4&DnAnVz*8dy)%(Jp2WJZ;X^SZ;I?Y(=K*h`MvrrD|J zE~jovk1P@~L5FsEbMdC#1Po@O!Ra5D&5>-kc?M9&Zyfx$X>{Xet7qp;h15+cLGWKs zt>5%#`(G+ohEE!O_$FX54$C9!(B6QN*1iXt5!I^|ad3+nZ3!3s79|H$zE12Uw#}|Ur@iY*LQbsf#AWTVkME3 zyIf641??mE z6jHzbq2uZYdrUbNYj%-^EdC*{ok;L;Y+k$u&A#{Oq~5erg?o4N{b3KnYzOW&qq(pOrz+!YWqXeGbewle}&uQC#Gj`a?$qI zJ)Y^ABdZ;s?~9;3+CJr8yky~y;sG^sbZlSd0hw>wvzoMiC}p@qW3mZ5_uY-q_1bQQQ4v);*e;iu~0 zAsfnTTm8e94&$}^e_QgnM=Nua@btCyx$QUnuig7pZc9f8fYzz$Q^u_egg$~-Y~vau;Zfeoy2`)>#+>EfayMf<#*Vn-x6}`H>llDy0F^osk^Un zev4?nzisd~oFj0&bNTYlHO>#=^UsKtqC=nM98-;S8!I_4P(vmmv^YVm0aA>dzH*!c z0%87;YO9*5lH667T}Uwp#bsE9lPIl2Y6|?<-vqjq190&qN&U-t_=Ior--J4zj>r5D zd%X|)WASwVbL^f9&@fHgcK;uEjNDnPD1&$zDB~imz?zqkIZZ= zF%cPa)W~Gp7~F&GzG#{`4a9xCL9IlQtPLfeq^we?=83#_73SK>$$EWcb-+Vxn!W9n zaiouJjIWrjy5AGI84fj00nT{n7Q7GsqwqN;|Fqvv?b+dH`3@s15@uM_WR7&TOSsr$ z2}%v~!3m=80Uw-LL^p)b69$Sz7UKeyjHq|PV3C<3qqTp#m+``LnJb30t(zSos{INN zbp}|(c?_BHklp9-T|GyLb(J`_4CC0aD!C?i`?`R_ zOBo4f6GBJ@HtD;LW9tp|VthQ+Il9{E|9r~ozM18w==Oa6q4N)?VkU^~3pcI~Hx}Vi zfJlMc2OSY-uCV) z+~x~mc0&y&Uu~rU>WC+6K2&5H#*<^NA9Vc`TMo&jh7w2s>;Yp9U9jWNvMWxxr4=6G=kbwh=jnmy*{@W(G~~_O(dbLM>PG+vP5a=-cb+t%@ z!N>9kH2@mOaM(0uBTQxKE+BK3BL~Y#S%#Z6Czy*!Ri;B$Fkn{_%QtV-vRQS@iQ{9w zK+uaKjxZdhQLaKel{Gu?k0wTjlIF(d^J++o(sC&cC&Ld@oKUlYu@RZv%$df z$>sKZGZ`Is+qOTOAMyHEne<|-w{8$Q*EC2P_}P=L$H;jxj~OPM^am}ZV<(!e*&Yoq zIJDaDF4p@$N25=7zB2XESTJDOqc`#R2j3En#}QIvMOGh3OUaq$2#9SAc3{|)?hd+< z6csl({2uKUS@D?%Iu{TnM(40`tOhm;|(jpj?` zY$%v5mqrSRYI>b&u*TP0evl2jIUEeQF~G4WCad#Zo>4EU72h2L!2Cui^rk|smQP#m zY&e{CTj_kQR(R7L5!`<_n~k)NF?irMRqVc)NcX--vcaUso^;-R61m&P#{jb3N8wB3t zhHtSq5+!Fj;q&D38DA2qf4xOJoDF!>AuxSes}*qPvI$?#i)_H94e2^z#P&N~w^%+% z_x%Y(FX5F`N8l~USPb4T7#wfJVyORztilM~P##}88$h0AUJC`r$73;6{zJmykjL=) zC$V-$C*Ab8nAd282GlOJqzK#XM@KXqjKko>(}rrW{Y{ zj4gq1+G!f_4%UyTVwnaw9rA{AoNOE)SGTCtVl)B!y&tv;N-h^FLV`{gQV)ze#YL5R zMzh0e^nvuqX+e~g3tAFtLm&($qKm0t8%-^S1F$y+=Jl29t8=&T*3<)~=AUSedTUE> z|D;)ZAVtJ?%Utz({n_~dER})qVrq2D>HE{5wND|>!i#`HwA$XsZgA-$4oGyX?1P{> zQT1aFWCqFY82wK9PIMYv*vB2EoGfwm)sKL-mZ}KP8>yyJ7nw5rqK$H_uYM1?dW2+% zboD`f?&Q%<)ES0fqyMJd4&Razl9?l=X!QqUnQC=n&PL7nALpBnk;{)lH$+j#J+9A< z1(H9kdwvf>kn*K@pDr=aImSeDj@vHqeUd$nE+tM4LUuw77i+?QLWJfe{R@1CxJ;5; zL0Q)*ZOG9PBS>A{Qm&LrVTA2D!a>wBw83km zmSG@R_(0Ngo96res#rkysVO!H(Ak3X>NQFZqBvpT9>fL28K;OOl~S}YmZNM(^&)A6 z8#eZT2Clmv2N{5Aw~i=IOeGg8XvDO#p|%oW*TCFu)y4GIl+rk+FOCnTC>9el~B za8ku9p}<>1?a9efVRm-X_WFK07#=VQ>*3%}Tk*-+*+OY@vhDZ(h-VWx%X{;}yi)TE zH#1A4SLoiO=o4%6Y@jO7dm;Us+Bq%uh0R0?EnQ8=oMCQ%Qm7c3B8oXd+#-vxa_hok zo0E!@qCp`NV7wjSLhivU;RD@SIcdSzt~mk%&AjrqV5~PzOq&>hXk?(%RF7h%Mj{zm z+Bko2%8x9&wI~=Y75gaS=0edL67TwxcII@@I|}wD!s68K$aKQ?r562xj|TjU&{8F) z5nTeGXR@;eU+_%E_uLm}P}>AGmP5W#Ytp(nJ!KXBX`e5Gf+y^uC}#j$8O zo@v&CAPy>af3Vif#KY0CibgXkelZqg9tnySNsm%FKEPXFBiCI?R z-WQEj9(X;!%odzY&AtBhbE&fk@b;nDrs0ceGfX0i@zsDkn@b5K5OKo56r3D;0emW$ z1I(1hr(lzrXO6NV?xkQ@AKJ%!5jy!ao->RM4*{Jx)zFeMED<@by+AQ79DqUylZhP|OA#n}rK=ejGNPM_fMwoNKD$Fx8%xH=$G4 z3?VU)rk--f%&oZ(6WlecSL+iY@2K_>RGLN9S=}cB)~<-f!Qo%0HT)2fz@kafyKbhg z|JRX3Aoyn*9M&hr#lAQ>l>iH2z{bkqKWkm1aVK22|A)3$A!w6V%zemVTQsE zKQrEF$Bgkdq~`nnb8qI&T3Tw*ix`#q?)T<7|M|~<{{1Jcl?Ct~l)r>VRYRnTGy9gE zJRVWAgfedtU|af0@kF;?TB2AYnL!SjSowX#r58 zSSw_8N1ljgGSOfpkw}o4T`2?aV3fD8e(E?E!4Bsn9Hd$YHL`DL$}K@v$ac5KB~pp$*w)|5-lhA~ z+qUY23EJu7WODSEdfWCiu=iqkcDiD49Pts2q|UD_Oihh;?Kx)e**DX&@f5(}lIKZ~ zGO!C?AA5oU9oL>gPbk86ik^P%oImUpb>ps3&hRz*!CYd={+aFg&mhNpnhyAY9@ z$#4J^*PnssfGqQ1gL+h`MCLQz=xEf)%t!I~6t8>~NA77v9BIFW(b4%=@iISmr>YZX zy)Cj)_IJ3yz;_}yAy2Y5dQ-&yiuFCx0P;gxf3^hu*^O9p&!gXB|A)07tBRGD*O@pH z$vZS$G;FjNOAa)dPG3$cDwL#8$}RQ(L}TwWYKzTp7ZZm`GoX^mYGb+aNjaQ?;Zlqy z;NsQBn+#9;p*F+n`gm$*64%!@owwkvfwx*JeI^vU2RHnF+x$YOJ2|E!2Yyhs*oa?p zcaQx;|HF8pd*BJ-M_Q(Jqe0+|t3${wVX0CHZ<7;ST*G22LtPsnWX*HQ@Kt3rE9hdR z_g>@9yOEPiW@6&Ca{aj*oT9(;x%>H0lMQzQhe5Df}*2#-on3UOErp z0%&WMF@f3_hUBSClP+mkD!qn?;MvJ-K~Jfov4laPy)c?khk zp~Oc&X+C4dA4eY3wP(OVMxR+j_R`03gUWn9w?)H`rsRg?>NvrmD#xhV!h(XxqyIH*iA$s;j6fw=f;b`OdV@Zt-`1QNK9B7#h} z3k}|tFuS9TyDVj_=em|>g`;Fo8u&1jeMdxL z(QaSAWUI;Tz52OC;?4o9>gmi55dE0_GWW z>flWtbG-{B9foU7nPK5y#w;S?>9-q+e2ysyL%T-D3!|(kV`HEd96{tI`P+$jkBG>vhd)Y$d5e1L2p5GY^k8 zM`9>^21TXM0+t6X2HbSCUSP~?rF;cgCC`zLi6*+<8I%X zP}Jaiznlq$CeBVEjdo~PALzAva)W?KGpyQl!^eBKH#Tm;?)+^rTi`>##nE=Nr~dFfv}VNyK&%x#qkt1i3k8 z1g4P|2HM)tvOt}KbuJoxHl2PJnPd*V`qito8fm;xIaRBz!gcKkTnEkL$mU8?)CV$Tg7NBG*Nv}9z95ga+{R}qRN zW`PDp+}u96*PSkfYqhymi!w}%jKs@}#?+K?;eN146n)-#?%eU_u6<~8Ak`I8#mPR=i|1h#`Fq!CFxN1c<-Wea%ewLrJtToKy8 z4=xQaK+8+SRO7X;H)F3)fYqB^ikYR6QP@9K;%yt|$Y{BD*+v+9|B7tBk2i1ec+_O2 z;{M;}Jf1m!{H2|>6f9Gv((LSsxc_s%J8^P+Jp4!fE?Qk(wbubuV_RA}#eNNV)`+VK zURg4UK=TXcz-P{Z8Vnd1C&PNbOyz*t``+1B%P{i2zncd8KkwvND*&YD zD;{JU@c+4tmQcRN%A1`ms{_8w^>~;O0^=)AkgdXe!nFLm*K98A+89BmiaeDNEIdgB zQX7rw0nAc?W93a7n)Y5j`La~;7EG+<%a}m(-eBM}w$}32*_4IVDtf#;`RHzVzUH13 zQ0A6W@?~IJnGQ44M{bK0A9C_v-~vgo%kY6l6?S zD)rCOxdX|hO3j2ZzLZB!DX*_uLS~P7BhiF0_~}B@ZG?ipoVbCwv%X-+aHsMxNXO$L zuxz{=@@9Egd9qks4R^Aj?<&tp=UM~WFt8Ji0&h+tqstpaiUcOh|G;7`JHT|0k;Na` zHpC?%n{69&QvcbkL}$6JpEB`8u8{z%hq=JFhz@)hiB83SimzfGBW_WUh7$Vi$w(;# zMnM=rL3Su}lhd(sIaWD)_JaDqc~nlozmJbV7UGJ)N2cC@+iM@JhTq1ZOGZ{cmYc7W z%D$Bs{8_K}eMkou`z8|IMKZrXR$R^HP;0^(nws*#zTbFhsr1Vq{Gb{ymDcK$3B;;; z$cnxOUv-_Rhib3BT*c7>2|8AjdJAt#5tsgVy@t0*z}RKRNk9ms-+^90dWF zay2^K!g?~a^CFI;;jIz-L{Z1GL0ad(m(-~Bk0*L9n>%|ol5Zy96`^7eC*R85yOTdF z0`KM1;d5$3rwYM@5(5g=Z^Ih7%`SPpEq-mIOKEwqLEPy!U#MD)BsFptYoaG8&_~wo z9is~!bXj6HC(r}N`D$M!3_ef=aXo@MUP+sbyi@Ru#v_t?AGi7NN@AjU;m|3BMwtHY zVtb@wpaizZZ5q{TM}6$np~cZrzcSq(R30)aBkjem-$VvQ=o3c*>E1^JaB3@iys;<> zZzJwmZTh|LSkzsq7?=gh>+ih-qp4t6hZtIRd%OYlU>Y`cjr(2L?$YogJ`4YX$H4=l z2Qma00b)5#9?;p5(#Un)YJDBO5*Hct8Td>yC$XAc#u78QWGh=iU$my0y_buaA9_}O zA{~i`QE467BB34%29giJ-NKv61Tx4WiFC+um_WT@_4i&BWFMUSe3=03c1=hQA%Ub*JE}=tGH25^lbXkTesDT_P#3Y97%=?!%A`t{xKTO%&Wv= zZ$~#AUYWR}j$#p^|G8zSxA!6zYLwt2Io!8N=*GIFisXwM8O#{zn_hY|vL4g%9u!im z097Z0(+MgB+lXJq^J4L6tGlY?kE@T-s1GtFSlAJ3BX?qr2 z$hzxM*V|nmLQgnIY+)TLI<#B!)ori%lA*aE3vijhU#4Bh4o|Z`;s~rKKs(31^onWO z+jt(i)Vam?&~cl+;Zw_qVv|9~3;gi%F=h7O?mvx2j?drZ^&Pu295%+`sI7||^*#}c zFEl4h6Uy+H6bc`;?p=dJ51vqs#-VuPZ)R$Rl$yzo7+Jp>C!4c&Zwt?lt5o6Gop&CC zVG=1zRTb*KbRiWhc6RPOR!G@j=QHYjDO2#d4LHrJOv&afZ&gSjktuskgkZ;zcd?8V zCZ$q3?RTr984bo7Bbg99himDNl#tY|`R|=rqSjSc4FdR4hcr+d>L=5-g zUx#yHtYQCvJnL9{Ur2s&H+-Q8xkaF%{)0#WCWY4sab8=oT_0=`-Z(f=|7jKXw_0c5 z4-`2vIcXY^r|k)4@AZtZNaglH#^vW+M(j+h<&Q@V-{j*wKs#j4KnJ%6h)R9x4z?8|v@@KDITuMHe37YBGsr$Km z>=57Jn<`nMY=bbc^+BOH)`zudE>rMgf0Ron=fnrOOPjTYmCIWD4wNh3sn`q{x1 zc+_CPc!dfYx-J-9*u>PLuh{!^(TAK^i4c^7Akd(|{=4DV&NK56nt^;2l7c9s5B6T+?X`HkmVf`eUS}d{Wb%%v&)V+^E#1MovL!Wim@(&G z*K0BQvf@d6AC^{omD{5(UDw;;M&Eh92WON}hE$++Iwm{opX#c7noreAQqX>ip1&C3p1kXMYH| z_h8BXK^>c=&0A zx~Nx&VLvG{-uCq!`ZkL5A~eZjma^|~zvFzA7i>F17wd3d`@T?mlW1(y83fE^*8?*- zIq8PclJD!v0P7UbwCr}#iTf_~Q(1^SSS_=?*AJw(p>en5IO-MX^&&PeX$3-#8Ox4^ z9?`V@=J1xONfpbia)n# z7J47n$KOPe40rEa0AR&1%IJi|nSDVq|HCB4&|DI(H>S9UL}L2D6*346Y6|jKSboV? znd-0J^#FqjeU%SCFwt6=nJryI7ZB7z3WP(?z~^oDj_Xcc+k#tO{VOy2!S)#L2d<&x zheF!IK;SnQ5afFMwH|j1`jj=!?SY(qjq3)qrU91+C{64?&5(0T1Oh9-8_+xQ0ca4c z!nV>rTcPjP+!Ksh@#;N42}S!zwOVz1vzd{ROxAZ!R~>|~C!mD4*Ge8P<4kqHpo9+R~0sDRe%Id}~$yyx=F2bs;#l?z$cJ{i{FO|Z4QthQ$8Lh^mg@PFh z2aAX=g@@eRtgKUr?59*|WbHn0i~M+<>zr5{F=fP=iGD7SYpKPiNUCD_iZ$aytsZyF1|2@Ch5b)FRiKrrSI(}1%S)-VA3QVnE<8*IF z@1YggB&Kn*X$!^MWbj3p{snI$p6gcQh{V1rRr&_M!EaR);gI?nC#6uEg0RpqK+T}_ z89N4bgQvj>KZH@Xh7Uaheod>X<>btP1`G! z#a0R|=1lEDL@5D&0{~^lI6fDw)h1#Qx7PP-(~b)W|Jx+C$i zdM!9-s9Lo>zEG`t++%J}wYo6guGW;%`zd73&5U!pm**M{k6J;B&dfOGo8f6R=E}eJ z+vBNZ$mfgVS3Ev5koYJHyOhhw8uZab!1Q_CkysQ_w#n4^Z~OhHTlgewDs#=|T!krY zYpv6M|2=7X`SMr7Dl+BaR0d*BMO1j)#uu&;9|tYd{*17Paw?1yV$d~0$m8C-mmJrr zI80t_KkSR&n=~RzU39LuQ>ARa`J`tIKTBb!Rfd2e13$Vz}ttcy}sz6wTsln zj$>s8LGfWs^byB|9br2$%cQyJ=K=#G*^cGhT_k6Ie<8>HY!P-!=$1OO`9h(z zCI&G$2HtL(Yo$UVA5U%D^Yn_Ifjp5Du_qNdttW>=!IUo3-jTl{Skuav8 z4rKpBSCs@BY0`FYH#XE!=hcf9V2 z)=ehoUGj`iu(Ej_BOb@|@Z9k}(QHfTShHG8Co(1PC@vc{hNMq}Zj{SYi$CM=_ojY$ zN7g&~e;$Ev&P!yS&yqF9A0}4<9RkWiwM#uPfRo_$c4`mzj8a{=n@ME&W<#%dODjzY z23Tpdj~qRE^yD=sPr`jD7ESR?;jF7q{}KLwEGpWlX^K+Y=`vRa6J&JN=efRjyJQr) z>M@i)OCoOk&bUEzK`>l2{(6WpfnNYvL?Qdai;@3_k&LHwG4eLkOn9Qkm#+w^n+cb0 zcMoK~qA7VF80l3?z2(&cq5slbatc?n%neT$Tb|3FUk!M3ESlFdGCfA>LcM^A){ zW7~BXcmZ7#Du9l10Rk5YenP@pa7XMUys>ok8CCX&!)111M>cxP!$;u7Y`jSMQ}zd9 zA9nqNE#ee1IlL$dQ;0(fa{3PB^pBHY8K)i{LE)AaiShDHD}JxzIMiebR#}Sy<12Eg zE@I95larx%AOPnabNYm4rXD`=ls@>AlYUr+_ue{>+YdxwbjRJ}dfD92y9fC2uFIm& z)G|>UzILP*KdRe~dc!)BSp0l}7#x3GLXlxk2FT z^@Y=!JhJWVH3dmlH~k%Qwq#aq4i{H9$s`Z%ZVulS{e#vmg`j_+^&OQrZ63WNOUQ1j zVhW|@GON=-i~9+t=xS%XrGKck-6tyjBhoUMe$T=NqK8K|;c z%botYb$Z_Bdk}z$7yGw)5RbdnBSTl<>Hi~gfo-RravQUL8=k9+@cB8*9x&;x{m)wX zbrLl)*7nlhh5=|FinubkiWq{)$#`7<3+smMxpIyqY+E*Z%frDn^{g*guZP3>U(jd9 zdaanb`x^We%%8Ri{EmIlr&j2vUwAzBGmJ`zoUg1^dp~@};NM|o;ee!P!u{Q{C!%CA z$84892Q@2~GR-{-IK;S{pqpk-u!7Vt zb-Pt)a#|UTDMIvx5|j)enSEJ%e02v3sM@ zr4~wt23ynn?Ut-(dcQXxjo!;2j7-91UV1$3k_j0_0U<(Z`-Z!CZDtgC3=GpZJMH>L!M-Ywh!^>er&(cxx`H^natBucAT8gz<;{{ff?{imyjV#GiaZOCkM zxwlTwmCEI;N@TLLhnrLF);T87Tv|H)^R4z&^YBzAi^}iWa=CPRX^FhgIaPZ*UM})W zTK0H5KDEiBGr_=SJnZ%all9tIE1y^SpvN7KzdhiGt`!BDjeNdUuh&o!i}o~4)0TBs z2x_^&Eoc>ky^{&Q3@4vq_K|F5Ybkw5L5$jklE6&}?|i`q8O&$E$-(@RSw&5llZz`B z=d7*}Dt!>y2ll?zCAPJQPFBrje!Hti=jK2gA_Wn8XmwK0Jl#FWmzMhzbbc&P*vvJpSqq&E#~peazyT^j%xC#K zf*2P#eO5`o_zOKIKdJJ;_9& z;4^%2KXOIpFNnsg3ndQ|lR~F?7)azi?xC7`=hhRg-aj`K(D2a(nSpO@KqJY^-!bw& z6eq>v(?8&RFkCUO1b* z>ax$AEEFcKe^bbF8;@lU`{U|WasS~=EIy5dS{xkB1*71%AK@I`1blM81!Vw|X4?P! zF5ATMvh7d6hH)(hV4)LDfdfY7*Azl<2tzG%z<0KZqDcE(gVGjvXvXS4>jL*> z+a*LtOJQQ@0(@yL3Cq50XO+>s+m_zx?Y8C*^_I;X)bsYZ0mV^6 zwmdMeFiTRxzvskS#dKk?RB65*c!T$^d`{egP|)Nz`1}Fqcn04=L#+D;oLj#&Xp7lo z<9}xk|2@XdJ#%yOvvb$3u4-k|>gu)5m&c+9##{B&)u?DHZRqf$Xk3%)jAx8B!JpfJs4U3P zkc-`uBCqI6`+Im0QaAz$CQsI{`O>#{Fv*(wm-zr{fng#GuecNm%tKK?uE^R3esyaL z%a-E;X4W?53DgPmfj)EC!b#+ncnXi|?JFaJPOEjoVdgX4(L9SfLH$??-r3TZx6<0GRnU5dHC^g2T3utqoy);yesLloUnGqy=if(WNYrmzrJ1`U2`E&CzYj^6Mg^ ziX$3m<7!8XH0+B#;Zp-P1GdB_tYepbeiNaprr-DSz--uPqOR0z;EY`0o$gE!SN@ID zx_8O$f)1bqKe;E7!UfxpMpgeaJ{Fu&_xsZ6S}mRS-O|ofrm9nwOq*xC`e3F#Rrw#f zR3eq1I(HhtlMLJ%&8oPBKUzsSXi)E2pzHp6WvZRAbdAiJ`U=#if4A#N%m)!sfb103 zxb3jxIO10SX&MK};ZMwua>Pl(E1U*A;#U7@*RPy>6B7nx6G9O0@o9dO4^uP1RI7Bn zr@sSkBglnPte#`48uFoBLokLat-xF#4E;gVjX*4)KN>=52avBg<_t91&}|2UI2n4L zC6nfW{6>LBtlGcyN7^;Ylk$AbNz zc7AH;r+tVFvw!-9Ja09XUHcVk3Z2dRC**`fQj&;@o(pu&o$Cb7!O3Sjfbi!Ce89jq zbJGRyoJI78McZoq6>~|baAKTUQ3T*RDvkt;cS&<&xK9uZ$u~bI!WGmGWG)*eyoq$`!AB&wa0_RGz!m`Jp%RweDK0b*a@- z{3kNLr*7DiwNW3LUpORB4SjB@+0@=}&8Dzk{Wi$Kp@sPo=QpIO4}q0x@jr}x6?AY1 zb9sSMlb5}pXm&Wz^nwF#0!{-o%@V_9hH1G@pxvZC77&LOSlu#~MtoZl*{G>6UY2d3 znasqwD1QrulcDJn9YrBE{*BM%H}d1@-gBw(uBuM2bY^ET{X(JevTOs*MEIjd6s(_Y zK1yGmmFcSbUgXoCj^rjLau$EJiFPN!$zpY3)`*C#sk@MWa-m^ZOvpC zNpWC?8$ zaGjZ!^@Xd8wthk3};GkfgE}u zILK2RfJs2_acG=4v9X0yiLAt4r06(q;8<@J-x!>2la%x>;+l2c&P-h8SETBoEs0wz z@#cm8+s-fH7`*x@c=ama0gDan!<>!mz}rA}U(`tpAnUK+Ji55(3m_Cck(~1$ zX}2J@nkIzTcI$|D4z3wq++18dY9d6@3nm4$+49jZ5X(D#D-K~m+n%Z1+hyGSyd(QP=;oq*04}U=4+uDI>rY}AGxBAj^L~Ci6u6t2t z-BtKn$y#5-$c-v6a3@^~v zgTEBCuNPXV8?hY8W=f1Y1hX=kNsiU0B-i8A4Ra*|d5z>Yx=Hqluxiw>8 zJQH^yv9a1V*4FO0)T4KGMqPrxS5__5#Ay)mhW;8;8{d8Gc<4DJlfx4^45SCX5&ws} zte!@#(w6HQ){BBSvWR#jv_fkk*ztcY3O4sfm2~!+EcaYd-wFFFOO@u?$;QdCR5j@f zS*K%NoThxe&-V*N0m4;%qPJVlJD)$>#Aon!qMpR7lRPb({ZrUIQT-Hz0?`pjEiXI0 zMR4fg&Y<5H!DX`s+#Tq*2uUQzFLKY9YITKwMpODa-1S<*i>^CJ+Yp`Ga^BfC>a`_> zf8InbW%qpmisqxv?(XS3;Gyr^^TY*uS7wb!Dz(|`ge~G&nXD-UF|J=GNMhhAA)>G> z2b()PTx)C+tO=}g?RT{+3z%~0XRJ4n3)m&s?JzRyy4s*DgobWnKBQeWSk(`~dU2a; z!}S_wO5Haa5^MrmikX7Wtave5r~!s&jO|A%H*6KsJ}3G`{Sgp*enp=!>!uu`z)-j6 zve_($7ZnNspnja*#Gi99i;TiHc4=_EyYJz~;HrxEm|GW{OIxHEveBlD-F|1^wtvfv z-(|1sXZsBpG{tc=c;h8;!-(H2n-AG91JvYaw=I3bEHVkvdsn0zOTf`2Qgfro?y<-E z<35NJM`F1BS#;MyS_IVxu?^~97#kxCHa<=!&Uw7;JaHZ$s7BbbIoJN)yZ5usFYP_n ze4fCH()lZZkBGg76{ulmsUzVZmwe4fKqLeal|=9q2t^PThM+SjIMUvmZ8`-}UgxzI zT8soUD`U&c>e}iUZC(MSnPt+dws;Wa;G_M@q|4k(A$QQ&kxLH~x6h`eEO zau%Yze=Y2vQXARi%bKyf-x$ngCxckp_}RruStTC`naPPaR`i-GT2MK39B{O_l)0iEsXCDU#4_pFMK&p!VH<KSzy>zRmPbY%W)Q?Pzj)r5CQ}gq+n&Cc$ zg-@*<QlWKFCG(O;Ptl+&|=wzKQz>M;ErLP;@;>|5Zjj8I#de*mK4ojl@f-q;h#h zKI}q1WF_7Xe12~S6qq)F|D(V7vyeq}OvpGs5cPmNIUl=Aq6;UPPG3*E!b_PPpyB9z zb^YYY<^#`%=htYhHoA~8{juU& zy~cbOht(FGe=B3#V->jNIu3ua7-JfnTrwG)EmjtlCmn`@HtoJ(Ptyq0a6cX^R!XzM zR5F)KrI3rCISe#i8OI8X*g73ohgl&;96<^_WjJXBDbydo;pL&|d+wOM=Hxx67*f|W zQR3;T$n5O(_-`(XeGd-b@0ojr|T6ELr|ErMFfQ@a%&ng(JaLVZtPPfZ`rBZ}9>iVx$iB z-{=C_HBZ6aeja!-k5I4C-(T9}Ay1Nz<_9R91&_Z)JrnK68Kv5N9LkQx1}Txh1C6HoaZ zGArQ&KO8LhIddt|XE;UXTN0Iaj5Zk{uXtjBr6xxRa40rPw`#}k^F=gDH96@fk)jRB ziq{i~b%}fI0yI65Rw=h?H>XVyk{@r%M0>DlqRcfO#S2WtM%$3)=_}v^pp6Hz&@Dp> z=&+H40i-CM!pMpS2nl~OC}+!dvz2hn{x$x}u0i>=tbz8ZHTkj0*S^;J@!0#2$^kvt z1!|NYR%@G^y+4zlG+Rw6=*^be?Icg-cFl>^V1Q#d0@(+=WFerlTSEu{6cothAZX_$ zSC4)XmKt+D)g-tyAWXCQDS=j%@FgboJ}cDdp#er*ZW3S`%xqV4(;f@KkS&e{6ltbo zKKS8fV{=xloz+YMW-Cxh48v8o@ZgC7djTMCF-t4f)RCDZ^I&_sy9??EP6b$u26Mym zMaMkY-rRi7)#X3|V_p#E_bv@)!Iw5Tm1F}xXD>Z?{E9f=6p0ad51_!aw(q`$$xcCm zq>FQ21Wi3V06bi=sv_b9kF^?9N&*3_P*%Kzs|U@S?Ew({14{8WGw${n&;^A2fu!FP z5BXV-v|+kaskkrW(YKJM#edTXNcQ=NWQC?+bxY-cbd29s7J zm&}b_J_5EiS1^gR7xw(zMePo>ZqJh8S#ez`5J1snn4Cf*BiIB2mBT4$_=o`OT&0ZB z8m?cek_=wPRND`ueg{QtMn*(aI5HxdzmX#?et{f06lxR68f>lmtF&7xvP{IA9@ky1&kH z9XWWk!O=jG4?+Q|!TA9K4FoU`S~a^|L1Zl%khs`@@a-Z9|J`reD@mV#qJakL1b#t% z2V*r#>YUQ5DwuUali3>aL2hcN8|bjGu++pJN>>&w@M5|DwUun8l6^9hd3I!CV&w61 z`QCF{|8(oUNCkLe+UtGN=UZ9S*V^~0A6m&|p5!afRw|G4mHRAJ*11ocCcL7a^m%@d=v9MVE~XoNY)MbgIX9ME!x! zG?fbpphi%l91JvU&tL{vo*a22k@XZxRb;4*mhvo+6EdJ!jrq*5LQc-v*QR1k6|^oP za0aox@kg){xXny5ad@(6C?67PnWm}SE6cZh&qV24pW%_ZdWL^$d~L1!$V<++GYVQ< zwRY^zmAU!RXeu81vXOb@A=uf$%8egdyCG|wLm2(k^`}ui2(;N7yz$12F4mJfa~92m zu;};Ra3eA-8>vXVed17u58|Td*s-~>WbB03hbDQ9iHSpNhq7KY=jhQJmzLdc$r#Wb z2jiGaS!B&pqmwUNL7@KiXCKUDsk6@CdiaRS=Vub3D7;NY?sLU~!{@a820{xePHh~#>2Xz zLph76_9R9BJbq3#aT{?^Mq3kA1C;+{`-C671~4pT45| z>s>Xi-kU^udLxxee(fTe8V)lV_={ijb-Q|A_4RWP3#~i|`%s!nVvh8xDxxVlPYB*V z5IM`0j>AOJRw4uOBr@k=+hImNkyN;02QVX{=sI8+dd~#m-WZIc6t~9=nn*oefg?|R zEEKMKykUPc&W==L;8~;bU?Jl3rIf!0TLrF$%uqSKvU>gW*ntD{`J@?`@}X>JBH%UM z__{mhizb)|IB1wCM_d;9CPvFlq@GNpzJ~H)Tl4$;ZZBkL!+Y)Yw2A?CT85--Rs@gs z;PXL`&=UEK(2;X#DK z+MI(H7NNg-5LHi~aJ~PE(DRD4Ev|u7ZV5KQ8(v@p#KImrP=OWf&8S_=RhNi~|FwKX zVI9!xOqgwaOTK`0x{dO&yhCkKhwHW+UlBEzMbp9}#4K9GU1JB^x?0r=5- zB8jj!UY)q>$Pq|6>ZfB!vl>jK0$6y*BVJZ}jz(jiI11w=Jl@`)S7WfGR%0l@bgLV= zvi$~b`frc>B2iN|2M$EjGy<_8bcsoX#fQ@HTvG`wr5S)7LR4rfY#cdqS2~5{-2w0q zDux2}8H_lp`67wE;R&eu>y6botJNrc7-a(#hpa_CiN^6dG>!|X!i8yLAOQD`p&H0rGxeU3@rfNCtWl;NgHFB3>KNJ9b11lY~XpdCllUK&2+0U&h# zK*FIu*zqS3<+kAOxFeBdo_-4#xQWZ{*O(KEm+9Z-NO-@d( zO-^peHr~IwY&4HkRQJYj#7JEWfLO!nsHm);A zgFx6cO3o}#PNqCyvW}iz|NdZcqe{AczTh14Q^4vx7xekuN%fzu1b`Q%|H8L}c;>+3 zNP;dL3zLo2ovhcvU=>N6L4F z6kqTnVNC}VXv2T>Lc|5-_C4u_6Ug&Cb#(xLmEkMvoVaC($R7R-QqLO(tN5Y}p8PH@ zyCLwrfCnx8ozS^5sM||j?{$3!9GJ*%%P81n~%Y{lR2+yD0;G&``V8{yjY`)Fixae z^TWq99*=`w#B%vKa{PH+P7kl`3(dX-FeZ_P-NcK2@ zK7+de%OS)X!w!B=_z9>@h({I=hf7)_!Gl*h(+(lU2UMr5lH&H6(UVaxsIVFR1y48( zjsYati)+}U@=P@Dxw`rE-}t4t2de@qA%;B(ck~+mPTu-nB zzZ;d0yuN#o0}wmZD|25Rc>c574N<`}GXn_Wum%4(5AuTc4+pnF=LfQW8GO=x@Ed=> z>tmGXq~JNVe)vPhfp#4z2HH(5lWRa4O~v&YwN1noITMorG}S;Rvv21XK|&sCdqR`;On$;jf;nqLLxTCMRhr1tAQd&rA?kUsYa#vt$jH2*LF z{51K7SHKXC<2BTX;r+^IM`(sLgSrXfqIw2ih-eNIuc}}Y@{B5mQFCP^jqI8Rs?-=a zy!5t{$3wv>)2ya;UwaCkjh&^X3VhQ&NI5z-zR;S#)4S$jei`!>Fz7QvjnVN{Gjt8HY@yT8F$_(==ICA{qS479p zxro0-h?(_6Q2w`s^IC=r@1ltQY_I73@k-kmuN^&l(+x+D)=U;1a_gxUjK{CL?txdH zz7FdoQCmTx_J)1t&HD}X@49^+ROraXpp_hAzmN>oX1|_#Ue?R)>;0+$cT`A<$s`yz ztN}=7>^Bil^(D{(_^06rI$hI@N1-f@L z`Mh2;ip(uYI23lw>p5ibx|LqqP|?6u2>)|bwVqxu&&D{YZg6NJ=CFH}h^BkRSGVwx z+KQbOaag;40CW1aOafii^< zLJ;pI>a{ygo-F0c3#Do25KNaA%DK|XlXqx->+*q;Tkj&jHOEh)w3RXna};idXyP35 z65Y)TfmaDTI$I4^{RyZyu~y}LnKpBCaOTRokNF!@F9HnT?_dRlHTd-bD?rAe#(n{G zKL8XzGRz%lmS99Ug#mjYEJN=%_l2tX5Qq%ohb{3m@_ItQf@m{h<3v*fLDLr@BM0Ir z5IDv4-nLW0*{hQiW|p{1%;x*LUJbA8Le948*X(`&00}M5d>>RDQ?VIT0vj7En88Re zn#n|ikvG~_IeQ6r%U$#vNy>ATA@%a!J)fXcpBaxsPOeRDAhW%xG|1QDNT@VJ! zI_7&3E6zz~R0gfSIv!sbDJNiuTr7nKTqRfk0S!BU$cEjY4^Q`l*W=-pSkLeKouF|$ z=e6*qt}5ul2J%_Vp#OKm>-k-e;)7`}HFBdcy(C;UB@-mB-@BcQHR{PuT(e+d?Ji zL(nfdH{yL_rDx!!xZd}#t1bGm9=;APyO35MlGpJW@!kb`mG?0Xd zgs00dVe-*K#@h8SJMBgp^zv1pLKJy*?(cp-ARP#ExnJ*P>P@<_(1a?H_n;kv^FSMS2m>-e1DK^!&*c%{O}xrUrd$fvoA zMErKLK4>c7)ZBNj8D|z5)d4#J-&xdc=(Inm(kcO4d}K9jemR!AK2P_QMcBR6J(aKD z{_)=Yi8G^S@H(_{^K3r)Wq)Kfl8l6V|CmILJ3NPn3x84h#oNEu`_PFqBYq?64VqT| zHrhdws8e|y{%3c&ehBOHyM^yr(vky)ghtwI4z`S4m*6)lxtuU!@i>L}2qG7MW zS4c_@2Z6z35a_XNIahP_iw25L_-0Bhvk>=Bm%NYczVNA?N0aFpdkA&m2@E2FW%>af z8_##x+p^!c_o$zY+S$j(a+9(j&+5J7{N~#t9ONDQ4H{fNOBccOFJOa=Zg|&zm3uoc zCdXpRwF>TY9XghWU2k%I0Atb5so}`A&_Ily7SEOv_CXC`$3S4(V4gHEWY!U`V%`nz z3}w(8x-;|+hLwUKEm)vIph|GVY z1_ZF0N>dcjzOPW^(hlB`xq+xRZR{pgDS`vRIXR@*GG;3HB=|0y3YAv|m$7E*Vc-ky zIugcUT#i7U3Tn;+87lQV4PZ{ogoV2}0eudR67kZ%{qQ}TPu~4leoQ?WkZYAHT+4V9 zwPCi)m9qPdsmfiCrz_8W_VG+5L8cSs-)BaMfFreXIaQiF&f{xpiUu zb+QngIsO##s1ANU`{2Q{%8QEv$6kOA>IX6szUatu>V>JDUZ{a_Alr|-egf8jPeIqI zBZDzg;=<3&i2NgCU>kDN=7fn_-SVf2hD{Lm5{-19XxM~hFVO&5Ie=(nntR>p_UI6F zOo9X+iVF_UN0s`cP(EK7iN?&F+rO}~*Mt{Mq<)1|;YA}VZ`O;bO;-MVw*)#36#&AS*2dPO~j@PZsGX3W4!0`-sk2lEs;JTnu6 z6K<&Y_t5>iV>2^{zfV7rizvLc95SIf4lUP^XY*jE$i4mEaQ)0x_Zx+6u7>)7KE8+) z)3q0DFP8QEKpoI70RQ(FmuT(5#Z%(5EC>hrgQ%u8<+kI4j^Eyeiy&dp?f$@4-o4QM z{%yRwz^0DvQqW$}y!$_Aern^eL%n$L(!39%?V6uYXf5o3F1}C%8lIttsb95;mXpsv zfjp1rbR~lEY({4>G&%EN&4weNFtYkoBriC^*bgfZyXgi@XI=NTSPu}6rB{Wj2#c2Rb?s~Tz&4-Uz<=vi z>lvx=A-R2A25ivc@{4EuU|;=kX4Um5kPDDWf5g$4zW_nBXUSLklaSEje0ZbP+QFj~ zYAaA zvROsdW1p|*5;^=|dw;r7A0IC-=?u?Hl?xK8C49XvcD~RqrPHPMzkxQ8r_uc@BBJ4l=tKrOJNAhgNW%Oymp5T7)HhiG6spRz&LU2m0OjdV7E0?>!*#Os=+F z69}lYc9(|%K@Da9Tje2005VQM04`4g2pSq(yC4R_cc1kqO3+Fm-W1u5>BS;G-OlVq zCR{!2>&V<^s+~{1^9|8>;!b9ZyMsYpkyv?rtXwYt`%4}yfW>e7AZ-d(ki!+c((z z`zHJfrqzW7*j)n?UbkT`=i$-e&M%voUmto?!26Q!{G)Ib2&rQ~=EofKe|$Praejec z`q=mioNU|$BxUuOE8}pNR{jOkT=0W?^r~b2w}hrY4%c-m9jGg|{gNdj2vJ_>8UAOd zhPh~+XWyDU2l&k%>|oKmX!Dtxc5r@UdfOKdq^#?BNI#10E@^X^$D=+GHT*CjZTX+W zGrX>1*hDn~I@+|t1~FR8&_@l15+jP&k-}4l6*}%8xRPvB`?M(=ABYE=>l+*7;2ZlD zl2T)A_|}0PhGL4Jim5OAgSz8Ee|*|j-A%{eLIOG+-+j{>ONsFeA=-7C(Ory{NYzrS zCm_xDyPoSS_XY_@e>)UfM~p%5@}%;tSE$%om(7=S3wqmn4=c@o2?p2UbpNcn#_L({ z{j(jtbkR9X);tC>d=9x%Igcd<2NQXzW7eR)qEnxY4Tl4~CT0=6t8k>g8#dgDRPrl7 z_ex(+)M_zRtF5MdD!voch;GJ6Qc6?zWTdXAvBT*}67Z#3F zAs7WY8MKA@=dZD2-fH}PSzv3#^A(-@9SU-+o?`y!->15braXtGPK*;uuaI2LL?^oi z2%uN>3jh@h<}r^L)PNdrUF-%mio5n`b|nR?lnK2gJ~yotm_GBJcCOi(;LDk2R`SgvHli7rebeqbS;WoO4hKj!=cTqP>ZIEHso4Nh z)OPzRYcKZ`%|2@9p8ahmjD1+RgiRYx8gxCVUG>!1*qv^6n(1jDtXauwIp)T5Ul1RF z5VDE@{{Rg17S5s_NMs085e`6z7^FQcqNwDIWkkI(H%1p)Rs8B5pMF!yEIqRU`;D!C zR`<69rQ2>-zl?g7*=&6*|68|zwfFnCl>+ViX{FN7c|04xS@5TB*KPPB>ZLsEiXi8N z_FDwrGfuckI}7|LnrH`5&f#8VPINe3bLxCDn@!Hg<7-cJ+VjDY-oGTHKOdwg6Ws_A zp{Beajri^gRe$cC>QnLfJfH47vGzwlKN`Nv7x}2yX6m>P1%E!8RQ}Q6{5v=wL@vhK z_Bphxgb2!8(Kc|O(k!tKDYkB~xB^8O`!2UyjTTr7I+?;TzB8(rj9i~Bqu6yn1iF(` z|By@`dflN^v6#yDy3f7txnT4mB*t)$c!FQ~(4Eof%`E(sR$WH$ch%e<+DB>Y)}0@k zQy<~m_((FD?|qq{@Qipu0eN4w;{)9eCTet8DOU9s1y^4q%`hvJp zDcU(rYk?13{(g7p_E<1(`U>s)p_}pM!ollTdM|f2+G?lz9L8yuRk6n5(}~7mqF{D_ zLQ(L+G(}ztT0)q!45P+`&1iJfQ3G;CeRg9b8qFmV_g~vcr2>I^ZT7un{xYLkHT~Et zon0|$=J<3kqYZOZVL9IW6~)AIJKCV)FHHDt%ma)7bCo))zBHW zF}JidM+$hj0a0Zr=o49?aQ(fz-G^SeTYi0wlPpl=noFhrkR8u0P8= zf2drx=t?ox?UZHTYm0c2_=exE0x$y|Z4ouPjv<4~B8CygpaA?tJfDl{fDDl5Xe9j!Cx$zZi97Ud z-+`@f3#${W9j&3}GEz*8W8u}n85|G+gfEeTITi5mD0zjDKj2u6A%P7>0%9TGC6MgR z0cfnp?cApQJoqAaGj?3Pzmk5fLi@w=!xxL`xw-f!3k_FibVh7EH{-p7bw@vS16m6Q*%mV-T~ z-W)6?&_^pbaQ_5?Ah2=)i8RniAM8~gwaH+RmRw)}VH?4cX=c_$J@cB#%sz7)^ByB* zL&@`FNqF5RU#bUh6TZCO@XM1^(ah9nCc}!#qqmzR6@olf5Nvm}7;k6Q`zGPIVPuW< z-fxA2YL&YFMdB}iv6a9k zvhC?w^L5O6Rw7-6wx0^x7#5@wmWeOx9PRgw6;_C7y3Jgp3G;oUv(zxLaYMz| zSn4e08cR)Vj1#_M?_|Mu0-lPo=N4pQ#=aTjjA|j%DcG*=q0|GxyFU>8$>5ux3OMRrT<7IK z(l6lMbKf$$pkMRwfJ6^0t$|J11+4_lNZjGJj}S^OXZS;}K%2DIL}MSZ(O8Rd?VV~R zldY+l*~VB5G|1;orzTIVt{^;C6<1fglZeHJYSHX{J5{KRhT*8;HyedQc(hzhAvu}X zn@o-`wA=F&NmOvcbFo@&a%%i=n3)eFhsP%;Yc+iK(MqK!hb0O_XFCU}uC4L7)P9&{p@QLe0ZSoS!|HQErfjkz9H% zU-bw4*QOAJ5Q~)qp;^S7B@&slb0eeaQKouSKXct=EE5|qCypdaixp($k53@)G}2=D zG&%p>|wY+E7^3hxntuL!x1yIntm`2P>OJ^^Z}og`7tmJX3_ zp#|a`A@Z)+M_1qnwQIrX(EW6X$wfdcctIzVyR_#SbI&v4#ya#JsIzx{hfMG$C}($@ zv{si}0ov^l=eBm2qS(?@S#PV(lc76Z=bfRGp~u9v2kcxR@SMvg#uDdAyuU;N-ue3$ zx303_X%F*7wj+0g3M910Dm8X!13##{KXF;_S>Z|T}Jn@cA zSY?gEL&%koy3h@#(t+-Ulr@GX(>R|`4+^;4FaWQLnbadrA^st775_m1~)WNZ48c7cinz(odfcmi>GmN zn{mD6RV7!~*VhpX0^sr=zON64*Kq1#Az+~C2d&|qy-o&uEY+sGPCm#&or7cgFKYa? zdEos5W2la?l`#iuE)O_Q?39(P5o zS~<=O&V^2b;u8okwGPWGZRqVREnTD5abZ4gqFeSn*zEGZDp@i9+q{A9srLkffBfVR z>(2MS4ivKvH9f)%LJ6=gs!VqKDWLMocS8{GA$|Ryc)c6ek8F$X)s?_{xPe*yF4spe zdK@DD&!qu>GND_Y<{~cPBAP8i3v~{%;`^XTL4ImRM9Uw0uKV7CoHKj|*^z%@`k_q3 z&+oHeLCgz&&4~irblnIQqJCuIi68@0Eb3K1rMxMm_)j(w@Ek;VSAL>cJUZD-r}Crj zbV+R*`E(GDU@>HwjwdQ(7(8@ejvF8}!AKZWJI0bC}44(4a zhk>Za0|h6Hbtuh*%YLR;g{uS_4Ru50f8B$6+CQGWOAxZ@e*!gWWsp!V-A-p#Ow^{~ z073A^;;Gj@4P9FhM{W4sxB4Ik+2L4xzk`_L@A4DYo`brA^q||tXcVEo{Ut{5x;Qmo zC~o(!aq=34!YqlnVVDtAOMP)h4k~~A=XvgaNN|4SFaK*jN%U3r}%i6jz1%D=Tk6WP>jVySpoUE=lw7aOZzZ_|=@BZ4=ht*R`laM8~; z&~~SMb_CkihptH5vC`{sK9E3A2}>xmCo#A-h-@!{BghBf;A{HRQ!}2KsWc)|6%u(t zgHbLsp+wO0eTV%&l1#!@?lEIAqy+Q&lS$+#4^yBDBUkyKU6p@`!n(hsK8|_13{D9I zPXv3i;)5f=1#<>}0;&aijq^`X0x3&BPOED365vnM`H0 zbVmp|y%Cn_b|=!QOeK@?herNxdinUV3c~kOKUy@5;*WxxN>`2@U!I;?8_8z;MFa^7pW&G-CcDI8h|g=ZHQ>IfnA_)8B8{Tm%U|D-W8Ck<1yIXg@{PdZWN6pXQ{MP*FP4|q$sn~ygw>#T=;+gE1 z_yS8}WSGxe^ir@hZ9#8$4IXn6AFeJAY|j)lPja6o|rqb z6LH5pqoXU6@Yzu2B~+&kC6?2fu}s>Cellv{NW~wIOwX)6!>UQotj$bE9>*i3(0JpM zSeeU}@sE6DyiyLh%sx-2<9TMt1K-K5I>djSbP&4kT2f2BPD3$*Jl* z+X0fqhDek6UAW%tI=7yBRlmK%uPjO*hOhBaYYsdMTpMQvcW78G7ZHmO#ei}MZRQ0T zekpWONeux_cwe<%7#%GXMn?)qOT~1$G1e-@VYmy$ODNX`wTA(&GhQW-WdpVYYCtli z?pEvA(()1tWf*=0DJ(ff z&mjUQAtC0TU8Z%U))p|C_|imk5e4VC4oF!&2NC$1St_o@3uL4V@wH+JE0(uX@p>Y$ zLLLi{eFrN~z7VtT_12&Cqf`Kt; zz|-j`)R+&vJIlh_N9T8=a6FXC@c9eD0MQ{B9s}*Apjb7!>V8UwSTw2V7uPlxngJaa zJQTVnmI2WUkUh6p0AL>FEsQJtH}E1vCL`B0;_>20J{JsDE|pP6CO=Y)$Bm|mB<2U) z_^r&G2WirLAls#qVXz>!&zH%RJ#!g2`FXMj-OYMT)9diDiX$QyTAz-V6Lc+Ll4$L8 zRnH`d927mk002MGLA04_pByi{j6(CoiPplgN7cK?J8ew~)nGA{m*||jvv9N%wV~Eh={ub>QI$vjBME5AYq*(mfyjG9ov+)?RSW`0ek@tOPR#s-#(N&dI)phiptyZgB>XuXu=oV5*NJ0n+wTuBFz$%Oe+zX0uzpcs^fD*k)N>-p~ZgX5Sn|_9k=YBzSOt{)WiiEi0Way(TyQ3<5;Mo)pd3uc=2F zzK+N5X@ySatgw01AD&x281aw)fIq|METmo1b~EU8nRfF!qhEpn z3b@9Lh(XH#SX|rypdvJu7hfKPe?qUPVfJ{etIdPwEd>5PRD=RD!bAHY4s8oi8CSO$ zsX*Y+JFQH%j3wLS64SY2u!!rqe+Wsp?0M;Ir8^k}a8fDc2=}+!7`i(*3Ic3sRg^{8B82eH#1ttpGfh zI?c%$LAgo`Jm@p$xFh<7OnbnExg zoX9)$x=#3-;0jIvIyRGwNq$w6--u(T0u^e9%rR$i8>BRb1yGSTT$qYt-j8u0h0Rb^ z-3_%NI_QC@WcupGZ*F3?;K6Q2&-h>vg8aJYIMCZT&e)ja+#QSYl*KFneFJ5+_9>xs z1O6qx!8Yc!_w|_4_lH8b9e2fIV`H({JEgTADLkI;qS;!ok#udT3G@lj0l_ggBWGMu zup#B>?Nk9Ipa1iG;ScEs^M{4}A94RjDm;3+^jy3B+|utnw{&?S?W`X}C{go4?h`Td z!EcP76|PGpt}A@@y29m!047>i>T~&^VMI}PYRRNaYYj1rw2YhN3x`a=hO7~eqNl}W z&;X1cXqiRrXT(!h;4K#~C*-*Xj!aM4Ee$7H_SEzdy^^j_3VvY6I+#|%TbDB^l9cx4 z8yR`vOFqxk*xQqbck?2_Cz}C0 zCS)PxkYZlSWsMD^-JU;;Fb=mu!{PaM+XysIA^>P2QLVw< zsEM!(n1W_gr8BiE999hDWHV5iE0vviq)@2ee$XF^hJxqMvxz9&^bg)%FBBqir(Bwg z$DevE5P*IKOCnu4oC{h%PFVWmRxo$Cg3OkrT?78do{Gmu=D`?jG;RXlG1QM@t?2+i zSdoM!U_vCy&tee#DF;^8EJs%svdFer+y<%U-jd62Ix0R9SB@TL74Lh-?x4)(3`9pg zw>;ifsy)6ucu~tI)i&Oh3-UQgnMBm2%nkGeUK$f*8x8F`*;qPrZe>{gmiBMsJS^3|94$AJSC;i5&YWE9ffY$5NAYMhJ57Cwbo zz1GiVDuZwGrB77kjW3e&#yf84U1JMT1^W%NI1Xam`BIJ_m952U$9YRbPj1NKyq3roJjK6GYm_mC0zh1U&NR&lqLECtK6t;N%S5t__k;Of z4EAUMk>W|9Vx~ogE))`YmyJo)N*O_eEDy<+VM&u6=UJ*IwID_*Wq=>blaM*0rCN&3 zj%S1EOnDbfi9-Secu1pZ;dn@=fk+cO5b4lSM+t3&s9#>AJN4nP6-jNSBEYBNR4Tmw z4p0;fY~=0$r!NBtjC383Cw0c<&1ZM2@{ZHqD);u%*J;Rs{u1yHJ}}7nA-T+eK9__5 zC%KMyuG6%b>sg2ZrV%sMpBJK;cN@7LvP)*7g>dTK?@onT1gZ#S@0PNScc&t^Or^qS zK0rP42hN03QyJ&X4bjY=vNKL*RL9NiohLxuz25hBZw9y`G(GShL~)ITvG!yQa%zC6 zqh>>g=ogtTZC(-j7#V|A#3|3cai9H)ol!DT+HXS?3I z6plVo{i|NOs(C>Bci3gWLnhQi#AG|)GP+!PqbL2*lZ&G#Benzdne?om+?933eiZ@W zuC4%4JWpsxA{esb`3~;WYfL--@2b4l>2hy_SMS@Ge52hZU!Oc?rL%B-7?Nb?N2|O{ zXJ55{w?=yi#>qmfy+3Q4>F+19(Doa*a%`Z7+o=(Zl<#3;b7Um}reCg7YVf zS+VOJ&F(s1x$NBV4YVgBdRghg#*{@Y!Ovff$gTFfWf-@o8rI{DJ01XI zqO$c$HC`Sc|MrJd5b-sv@$r2#txzDF>Wqzr?o<9~E)UxV7);Z@)~`N#;>-ty#@HfL+ybIQw>f}_hU^Gvhm~on8``&X|Q~uwEJieHArWZcv zpU)z&crF+^V5ic#&rLQOuq7)^!U4AQU1l(b7~G){9&h+#(L}oqdo!fh%Kps0*_md; z3?@@({Bt?T_3vYy0A4i|gcVpA*>Qd&TyIQHMkA#z^fk{(AseCrI4X(EVhg&(Ex_WA zc-^?Nwj}zFJ<1pnSd@NQv*^=2Pg#y-Ce(svdU*vv89;cnjuxaDGc(s-J2NAan5`i= z^5*Ba+G~;7V4E$lCGBPm^IdOIy8FiE1>2Vw5MF5;%ME<*3jBrN;(MR(dEZxob%gD& z!mL9Ch5T@toB$X40DEEgxjCd6Uf?14%)sMFe=PZz>MQCJ%h#Qk$xLxl4^o&U)jDS6OTR1TK^u=dX%a}RR57?(HMP3w*Hdp3G& zPi7#)PQ>k~9r81~qd$bhc*3>=*+eRcK&$#v#xOGaQZix(Q^{du6K^b4Balg4wJo{i zwYBpYwAJt$@b>CQ9>OaMB?b*&jhfq<-a-IL(+`r}8VnX6LdtdTmC@EKegklMJ4oD} zOdsC$TCcdNLwlxNK=9)RXr1HYZTkr38oX@9MRPdareSK~Ew}wEd*j?t&NMRd=4t%f z-D?~Idg-zisS@|qGLO!qkMwXi6)oPy#{HU|L+SvehMo)eo%^A)&wB&l?bY6)*;M&w zy}^NW*pg<^Jc4kH9HR!B=P;dTTmAL*y-RmbuX#E~(ujVagRG_dDJ@=szYpd)`NLcu z{~xF1LjVc*+B_vw5K!_DVkh~OImqd}sk6MI zCT5Zd%Hs+QB9Y__+g?W|-JG$`!)Isd{g6yTTxQH}m8#XsiB5;eeDs^Hh~pgv+%;e3~eBMmsBUYjv>JWC+)?* z^iU1c%%V9gxxpomt`R<(T9&~j@l6F~(<8A#t%w}HI8?JByse&;q^h>q0IZu+;aA0S zTd>RO(Kf4RL`fQ*XA9@i!r+oS9YqJXB{I;YuK`*8Iq)DZx6Ci`kX)Yc%h^WNQ^@Sf zCunjOL8+GZFTtE$hNz{t9187!ktO#6>;U^|_2QAq3B#C}JmT$p%dm07M+)7xjn|W2 zP^(>a5hlgx5b>MX)iek^;GWyZ<;%fIH|!+HP4eC zH*B=W&3S-N#FZj0bcALjE}Vtm-D${T?uT{SJCRlDgT7DtF8Y2+U=?~pfYZ(*^OS9F z$6)7Ttt==ncaCCyf;2;?xaXL~J6FItyK@+&pze0AV5;w2+0`0whq0Ga}}P}+u;CS7D&chNrrRR4_uiV0=E7ld*^flOgejK|0 z*JEA?wIS3Vr##4Vq3QKj(}xHFg~24WUV^j^1bAJ+=}~BR$-6YC_QRfsgt?waxFm*5 z9o-%k5VQn4b?^W}aTzO4CPQni(8Bn5dj6m;h2-wQ!Ba=g7BfUekzFomrUEePv1$7s z2xLQvblR`4T6Q8}fxg$5{D_>B&G^;FRk<=Zcks+=w_IULE5tubq**q5@Zj8BrK0|^ z0pY9xDIlJWXrBQC$-IznEZ|4@V&!+D^#;<{@VW}{GQtHT*%#78A{lNpTE`mGx+ku& zGI*l*py$Y(V49Oq-sw6GaZq^W4nrz8iacLIhhfnXWAx_7;Ju-#3JuSo&H*b$8?jDT zZF*S>)MU&-pgVlh!S>ui#?}A+|1Z61rr4V|bd|BZ{3=L@7Wbb^E-ai}oN6zl!w~%x z7Vil!rq|(_A{a0P{6Z)&#ZX;S_3)KC88+y{UUo+Tahp?ndim?KN7*#=C+3-zmDIsD zbSyB{#c&#MvZv|th-TT$$ds=$T12NQrC!ej;1(?BWf_&W~zWnGg= zIE5(=r1dye4H7on`ogwc*i}!00~YdH7t1vgN)%48yPY=xZh2ae7+{#A8##ifyUa ze?gu++AN+Njf8Vp+8gy-vr_xW1w+S~N=-lH$QOA`iq`>tIT-z@J1 zLY}m|9?K-C`Lpl_0L1`h3Ky8jDxpwmVGv0QAZG+<1^ts{jMHS}-(xkVOZ^WYiVq^ueF!atH3r)h=r~{)X=A}aw~B}Ci$>!4$aSCp z{B@Ch{BDIjukihWkN_Ja3PUjb6FUwFi#HK_tBFUE1o)x9ofs zk2XG@HH_?L9@tK;_gSLdccoT?FZ>_D9KnS=r*=Ja?q!~-VW@ue2=R8cH(2#&bLt>p zW7UtxtiIg4@M88L-$-sa05U?kFrIXK0UEZaX&b?iliJ)3gGuyvgzmxf8f|h`kY?h% z=|UhzoQNV!8$CI23phk<%w85U1z^Q73B%tpLwQKga2KYWpiRvl^pMg(P-$DWJq8&**a-=%}@w?yXM}H1^-4AQ(andj*H7)u{ELTLdHn0Loj>1M+1(2xEh|{nf zf%?q|rU>Rp9N9l0%rfk#R10Sfau6!cxTf&z|4|x$<Q$KV(SY&$EdVrrX^t zucWD8WO8}2M%FvA6L>ObOpu-wgHSm_f9n542@U=ef}YcPO-_k6ygD%ErCza*^9DCK zR$E5SvPc4sZXafA_*>^6YHe=78Deut9rpCOdyy6Rl!tT1;6;>)aci%E5}Y)2AA+9S zf(0*iu#6z9eaPjLG_!^eg~Ak*G9$d(@RUnkCg>vAyydPbB#p)`?zGlYG+6xa(aEZB zhBJL=s-d=4;Y=8CNBrR;8OxATTOG?lwDVB8)1JQV;6pL%o8@dSihsFmdFM!fhTeWp zN?l4gHobJ-3%1JoN%!Ql^dow&dvXc-s>GYBFylM)rbPNNSn%O+@0MLVY}7)T9uApS?BRspam=Mx!=t3|1ag+#afhi=PZVID zVZVCGbR7R<&hpgMvNKV%7OKcXRw5RApB{`DbN$La|6DC!QZ%Ti}SPiKVvMPnFa;a^UnWG~!1z;4K z0+$dB!h;AH$EjUjUN+jLvK5L%in#rNihxPBf`O@W#h#plC(VZsot~aH)V}G{he{>h zJGp@PI{`X|7E9Od3z}9iU#~UW@SMCR4cp()n1%GFMz|RQ0L!WdZFmOTSzc*|cdn$4 z!`HIitkv^D%M4DRDi!Hp>aR_qdA@C_v|G0FZ+t(3zE2WOG}-@2cFTxtMNcaPw`7mv z5B;t!c-ZTVOsM-F;s>$$fyE?xmOanF0PKI}xZ((KEW7A&G;$0$t%sjU3yO^R_wtC0c%0HdfK{Kr=y5xSUT zBc(<%o6pA!jhY3MGro(8A$>7giGc+&tj7a^^WYq@!lcv>GS*Pmm{n^OU^$*mHcI@Y z9AhIjkd~MzE8EEz5F((^$udz4+?*4M!L|k>eZmi|Zy;?D^QEB~J1iPf#J;30YZd`7 z+rV4x{7ToXt2TO{BLVt_7eEo{kzNYsR%r4{n9ETJV&S+lPE(hPE(}GO#Ccf8`?6~A z4TP!whJqDT_)q@iPyaNgQcF>PFb>A&C0`^wcqyx#Wt6%{EKA z(Ri05ekRq&6mXHKdbBpr+SPvkb%>S|Vs_jYkJAs8gB z%P5V5S65qh*bEkF!!UMsA3O?5Bz$7=B3!x;9YS8*VhpB>C9L-8vrU*q6ya23A1>sJ zc4pPG*Qyv1&_+Py>A)ldz9UcuNUce%2$XRG&Q;fJYpD`V6pE|sMmdCd6o^!yiU>y$ zgelw8L9{n9H#yeIEoa6}FgV3x18#$HI~-bGGQ&2`YYm*I!sd8pIX~8#n47Q>K4R?X zvFpmY}EUKBA3Wkp~r~0d_jmKLlr_)KMo6U5x z({WO*QJa!9J+%-)*~k)vNN^s=c%jz?B?Td;_t#tOq4S3omgg7dmtKq~KjWW=r+IPE z&so9DT<|j&`xE^h{vfDL1+Dy`pSOak9{S@KE$e=m-9@!`T@=9^?*C6)^6ys>GY;f7 zSb`2Zsa%O$?O?FpmH^GXntBBAQ-fDie}$d40guCgfb( zy+B9{Q%TPn)TH=!D;|9YD_Wcqp8@*=2|ri3gn(Y(5KE>Hg~RxdD!QE5N~;gQ z%?G|)pM3WN0B=+^tn2eFq4%6`3x&RoMx!J?8UP^0_u_!}Z}j{4%n>=Qg=i0LM0>aq zzMLQN{jl%zzTfeE&G%oqT11GtxTMqVa5eNGos-ZB)Q4jgV1#s-oZT1EO|YZeRR*iY zJ!J^0CUhV~C$1P)Q^~q%b{oiPJ`k8nuTzP?OxXn7Ltp0kt-a5>^7Fk$3^-vxpxWO+ z2Z5OYu#Pbjh+De3yHrraNGV2T(~fgM*^Q125=Fgw9MlP@ja!x>+C*jqCTD=(qNjbU62;2 z0TB+GXJj?{H1fc;#6SB1?ki#LX_?0c*4P*&2y%|NUQk+7?+ z&{(Nh1|Ij6JPT{pDh5EHu!9ceJ>n8|F@z9YRKWtQ!|xn!!R1v zO2+x{cct1Jv8V)^R-#|gvS0G4DR8Nbs{=9$s9J*M0b9d#-T-#PhYBS;#PBOzP9&?l zSWxU7F$v(}Vu#@8Vm?nzC0rQg0^-uE#ZCls#Gks3tnZZ&CC?NT2xj%J0Z6h)y#Zb7 z&mlsyX>z+bS%ZcBTrzCI?|OB@cFN&MG|6cN$J2Tkqmc-NCA&ER;)z-<4)5wJ2p z)qC&?@}w}3()14V~7A$WyDavjv6GR$gg ztc2j?u$OOD*+9gOKY*Y~xG_#;LdWF*;g0pdG+yeR$T}8{`oTXr2I90N5z!=$%>eU)Sje&}e9DFWJ|T%GBrq-7CD4utMYmo0%OTf2qv`QzQqdZcHYZ#KAi99-J_K?h`+^_ z5GY74A(SrL;EC}>F`bI#!tiqR2ZTnCmqG2AaS=>lNm(%~k_7u+OqQ5`*X?{eRYF{Y z^w4ZtC2+Y2CO;9u4e?l!lusCBpB0N2${?{xgyRvRa4wcg7t^6I=wH)8Os$0N6u=Yv z{e?Dcq_e!Qnaf3;AVQ=^f=)DtQ;b>L(EV2 z=mA7hiX?*u$Vy24K>Opx;Yv-JABZ7+R7_?vsWE>tRr1UNGV!)$wc|rG?NTb~A4_F2 z$s&L_ZW1>^1KJG8DZm1dnaF12A=3yZ5qc{e&ZUt{(m-G@B)yDaVnst)q-?9|hr-{! zhH0Oz!3AG8R7EuVg9oU&06jTxT)VLCJ-Kva3goZmdkM_tz&^wvBx=C!a;&gNL8JZXcj= z9-8Z`n9mPRM8?lP_0-vx{nUx;7xza$`{>l-Yajh=bpPV@i&L%)Z$o_^Z#^ykWa4)K zxi|>0U2-|l?qHGT%@xKb2I-FDpae|8G{JZN`B~dO8=i#p7!wd-PeEL%{DcZ$di@%K zl`0r3Yp(~322i2ia5fx18;(9!h?T!FH2GNnMmbh^EE@jX)xTz?yUX#P{p;0u`EK5= z@!vK+lDXI?;j1gT0j_9xqNRf_kD;B3;1#VSW$06(Jy)(!Z^v_S)O2LGjeH--NaG@G zU96)>EF?Uz|&JnL1kkDGBolp98PH}t-sce#J zU_(49pFV{&XIka2P!Ik1Kl`R)_sUk((0Ud2L_Yl~dVBSr0zE^$#g^oRNn$j0)HK14 zoJ?FS*vx|~zz1Wpfz2ki6lNQlwuc{$tB~vEUt&imcLG7y>_j4Zd(=>f;*y9S>=wJ7 z)O;!uZqD4Ty>u=CiKgDvDu6U|p{2L~F$Z^@=54%vZno+VHtrr9gD_glN)1SF-gLaG z-yb;Wi}34O2SuT069F~_Kl0Az80>6`|M5k_A(Q67_-U6I)SH8E2hbHRle!?$z`G&R zL;-UpQ~5x3J_!SrK&KMi#BK^fk6TKrwL1`mJI&FACZv=u_f3S+Y<%Wt@9~-Yh4uVLGbSJ0dH-h;2jbLruOOy62 zT)f=1hy?-=G}z9?&V`f64#H-2`#)v`GZiR6h+hJg4D1USiY;(|24XFUq0lUw_XAr5 zn1WRDmkpkEmje1p=DorELlx#_XfqxWf1CuE_4q;HLB^NU1M^1a1Qk~TmPsLSL15d;mr9u3k~ zBM9RIW`+v}3n67BQ)$1x9Cng0*1#0uMMw`rh*0PcJbCoh*Y)NjR;|9Wdh)vYc{@Dy zHZ+NLzc6N5w8DU|scWSH4D5#+I@3HOsC-?nt8^F|E!Yn*d$XSkC0J_2qGLmS(ib5| znDbo^sIVuhGn^*pAy^3MPGe{2PD98#%n2Y>P=Dx2fgtDs@tpyhvGOaXeEh7YY!&MhgXm zmckmLoTLFh#PKyDgFK2gf|xb%R>T`aEZ|>(;!BSpU;P*d9ekL~3}IMs-AohudD<^^ z41({c2^ls|U%z=<4Yu#Ge6CoBg2uKd9=^2}wo;A#_41n+Frz=tRZVoHHj`0d)f^ot&DPZFJ>yK7Cu~`0xItiW5I^QE-iO?mlnyF?U;xtfDk#37LM3 z#tuxzfY7lZEt44J^*jP(U_}eerjka4Lio6yY0k;sHMmB$3+7$dN78*f5NG>dAAxWz z8+zn7c+SAMlat(r!&6gx&%twoU&#+X@cl_G--~=Hsh|z`v=xs1)|GGBY0||<)Wc0O zr(O{7d`##Z&Yy)vfx|9b@@5z37N|I^O@wwZFiQM7I&0(0mX}09)m699?BhR$^?l=r14`n-{1c|+ar*tccfE_jd$vznhowN~|KDd0=Mp8GZf9A9S)==iuXrUln0VBtKg67lpa}r?N2i#sBZe@xgCjUdI0u+00}n zGnsw;9d~5F=e;(ax(CKz8JrD+r8{>cgEw;VDMBl{ftz#2Y<)*o=Hbf1%nObS)=_6WkG(Q z3469W*5eeQ$q7VoebjdzqYC>YXrD}>N)Cz(;<*!slHPHuY zh-!7mQ0k%eRnwT@)LBuWMC}%U(_+^|gQ}kzPaQ)D=D|-1u@B_w?bVyx>C~^|@0x3x zP5jrkutcw34T$nK1{)_r&f#jvc7oNzNP`oqRSZ{QCl5?c%VhC07iu&jcxQhoWy`&}z)U6-Gaqb+Yg zDkphAEQt|o5c8cwDugAhKwZ>He2E|4*fn>__b}uc`BE55p&SzcT7ssae9AmV8oMse{-o+3b~k*OTS9>KGn zMyF~(Ji$}H0TGtr?>1%_7i~g+|K_gU1S74@G`fC+I$=OfiZ+aDr{N&3H*IB51c3_L zH}Xdo4m|&SUmYKOQTG!vxVjzC~6Jr%T zZUNK*bO{m`wbc216ab8@VH$cjD*S~hbp5_vpn`NJ9Yu1xqp$;F<&NmtZ24dE@b-71!xKcbaURUN6!RtE#vE9Dri<9RQKc;~p}P3NF=RwR)VhyqRN z5Yr$qr!X|qM~H=>L!5M>6}`+3G`+Y2(7S@wL*P5ITl`o#;LMatGftosw7bRh$y1zmK?Qdmo#az3t|0}7S3;((3+r>U_7qUU2{>L{!2#~ zS25Uh{-PH)jEL<-t%+_J9G-2cFnkN&_BU#6@JESs!2=Y9bV9WcLl%J0Vg~SF1jZJq zZyz39{0OuqL%wAbF#=9V#6iF&O5E{ZWHzomhM0w^5XCf_f{ba!h@zk&mt^Q*7TpzG z!VzA=TES2gu^<$_K2Rs@N@c8B@v4& zjPQ?GZkWg-i}GB+n(~>)D1__6b<|bDgE3!}{?V&{v8#S59?lFtnhD3va3rC1oIVw= zV>u=xVRP`)MyJ>7buky>+8~e4c^Z7_G-Qbn!9P(%>YRwAc7PcTKxRN^L&$%G;ie#tiwSfNTwydLrv(Q= zq=eeM-xDFf;Vrlzw_Srf-IOis6)kvjonuSp8_Czpt!ws=u;*MBo|NcKM{rq?V?Xjw5QXBur9Jzo`;rObPZWBBH+7L;OdTFSKK-wYyF4 z8P@Wc31ul^T5x}(MsG+$H1;IBHd0Hb_=e~?!(T3Sz4_fhye_xT0BD{@T>y-mh`3>fQ;{`c@scB6;Nr$H=DS|x5`#>-lQ<6nj!Z4M5?5*y=v}XJ z^UN>=^*v@$O}`p8ck3Z(9b4CCC|XW@CE z&faLeC-4bS#xqX^)a^N5{KyyLewDihbn|VXiRUmj#{CMGgWorQ@YAOC>H5Wsm-w*T z5Cs;xynO~5&wb$|>Ta0wsryMr&wt-L(WLPdG*zIU{381&tq=q6IxE&pWUQobmX`Bv z_KMd<{O0_!xULe3zyvLiC;uu;0|U=tiJ0mWfnWdiK;VZHaHjp?AkxvO`g2H)jT(mP zDB~?JB$V;mO#9cvsvR`m_BQIW9}I^d^at81{Oj$^YYmln;Vp*Hbn;#X@opAeALNgK z66kaGI{*b<5Im6CrP7Y`9%5|rb#8QJ4%x`5JMn>=DT`Rls~ZDp$3*smSZWoV30CUK z;Q9QUy;)0kk8DJHdf&KvI0I#@8H&c>Kp!v*UplWogPcat%o@1@*L=PIul9LUa%)>7 z%QvUfZ`MbDmYPReBs&19R5X!O$I<747oNtqWx&s_`F!BrDR5pCj|f+_vKYkTM;2pn z8{pW$P-xjCXL4PPx$x=w=K?~Y1X!?Qor5AtefBOBJ}fW9pM+sX@-1OnPR~40QvC|j z^rj+l%RUp1|25svjvTVAL#5)(_dfc@Ye8x$=zjlpzSZ(W)YG_iHk87u_HQ*#LSL&U zrl)U%iaPcdD-s!7h*jJ9uu4`^iPuGgf#5>XG>eZd&&}0CFe(R&7fl$dUYj4U))Lze zmbYa^3F|Ppz==NfJghz$q)sC^3L-IjrU)eE!@!_|x)M@F7*`+=id{7mE5wcAD^(`* z`AE1{ZQM42;2i)V$zm~;L_VQ9fEG^TW+)sDPf{JV|JrN!&#OFQg&;{rp_rT+i%dkK z2q2OuLAaGliOWSglZH~B3}JZUHV`(Yg@vUPo~@Y=|9QJd=bsu3|{2%Gm}jSaQ60nj(t7P1nL(W?Ayw6~^Jz7|`M>|JYoo<7B;+hPF*zC}B+ zXd3wwyfYwuoSx!cjir5X6tMO!HRP;SueTa6g4PzhS7`m2SE&k#%}K^(A)LVlV;jVWNaI&2PC_&Pp5S^ZE#qombMXcA67sy<@{@X+Xa~9 z>!T-B0*`Q8ucP7(1C?nG%oQu^oZ(~k1aJiH{Fu1*4oFz5tjzQut9dsEU~_{ zu#@B-0hKVHMz?@gBD>xzF!Q z|2Pi_dkJv?poiqKn9Az~L+=7CBu)ch8Z0nlH4g}4hBBej%>2od3+8%uK3g@hL}46d z0tDR^ix2)|DDYx7n?p{tFC$v?KjolZ$h0dnJs5FYy;vJnr5W` zGH07Fb8Yv1{Fo=7Bt*P?E3op(CoT6%oXdZU0B{Q*C=AniGL^7&j%M&lJC@G4)-a0E zG($I~qp-{y9y_Mh+c~olo@m$E|MUswwx;2InAMxEbAHQJLi%uZm6axWo zufhYO28^n96Ib!mJ9p}%iGP>N|L7aDo&R^@-;dtO76yN*JCFB6+T_{NaD65r|GSG` zq0q*`NN{ImBb5u`|N;!gXwgl!0d20atl1 zRu|gqnlE}XL2tk51Sa7b6p2)FITLm>3=E5Z4Om39=F$b^mIy+?cAGfVMACCAowuWN za88HNDn9rcL>Pz(9xCo1gZdPo=e5fH7nS`{sKW!uZBz!6=zt4&8u7O0l1?=9M%YY5 zZhf@|%dak>-L-sJ2p`o)NTT0FqnNV!2bcaOx=UgRZ9|sv9Judy`TnKv2gJr3NMr#t z4#YpCfOGstaMu7vn%HT%dkrsi&$0^Zp>sUWt_#uS2xrGw&742tvbWL_`g$2tY-K+0 z+1?3xl;>b!V5I8-%{0R(r94p|N+#e9-aznxBs^dp+ejdZkg5Y(#0*fO*uuHZC?li; za(yOK6#$iJ1M99&x24K>v+f-y?QGi20<$fzyh^Q%+HWY{^NK&o+?fO-00IGVcihg5A*@XPvook>@D!6clc;m z!r`E3l2j%M&?W9U!$sT#)g(qqjOHj@rXC--mBS{wm1W3HdPmTi7)gxO%91&hJoUrS z0{W9d>q&}CKfbThE+Dl?G(qzodghs+L5 z@T1}Ejp<=8Xdab)03KCad@_azzFr*dI@&M;wvX%@M(-l4+Fs5>Hh}|Bmf-Ygv}?|z zBRN^b4*VURbB^=YC~U0{-x3McA0l>Wu1Nu3ngd19JA97Y^Sc4@22r1E=@XM*SJLK(kAW#nK zuw+9abn0AhZEltVliUQ=4HJlW08`M}HC%wn26C2++~M6hx|cP)4H?U(FAnJ$bCCis zjbtCqw;(xFfB!-_9uL2ej3*oFLIbU1LIaN;1b+$x^j+%{O!SDc6 z)vGi-*i##JAh0mvKiyZ`unF1}n*RHIUl5vsgfwECc=!jA;n`1~sWEyA{fHlYzJ}Z- z3Xf=Ro;-=nKfqY{;evwF94H1Bh8dGm8{UC>3XFPq45|*6!yk7hn2SX>bzk2N$5qQp zFs35YcNU6`cBFciE>HS806p8WW98CVf2>rF**Hz$SF7SBHjgbVR%?jGID2~V5GQ+I zW_J|sAE7Z=a9H4kJ5l9WF#Bl23!YkmAqpEF06Y65&9RbD$9LPIP_VEV&F0GP$ie10 zgRo>s24qmF-YKOaE0h_4)`BqVgEfkkjw|rqPywlU8W~0LjemhmGEiN9rVQIg; zzLPPCuL1#MAQUwjJ;;oP0xE{oV9_jTVIo(+o;0kDXRvw%_Q=R^#*3OO>mf&s5oB~S zMjRq!pYokQb;|IcKK z=3;iZ8wQaQYll?*7J!^w0BFB%sQeM=%_}QK zg;>17bCrm4zJQHaB}kSQ3T)oEj=(SCaLm-KGoa7Um(be^HZP0hKA_Qd*2I| zE6B3X{nYL<)gLQYl5RleT(VLg^YrRHJy3evA3ga58@uBUHq6FOoM6LOD&tbrG#>F8 zEI8B4dCKGA?*~bIJZ-EcoOt@17ZZ;9xr8(5#nU)K9yfiT1O3G!?t2&33YZ!2tK?}y zSTpFGOjg_KvFizwVGHkF^Y+q(QX34f@Gk(hkVq|wmVjmo%j|YE1lSFB2Fp(>cza5( z0G*9RKWODpVQty+SAubH5XBBB6{kt32-YGVtoW_vHK@ZAQGYoQdBYnbf%0Yd_zTN` z--U>3C`2`jFJJY(SwvOyM{jH#jW~$L69~rdN9b~d%;KEHL!sX@X6}y%5y|RJPUL9g zrYOYp(L3zG^i(i%hunKpoQy@V3Wz94S=VkSH3@BgAMUw>60d}!)}^6 zR&|~nZ(V{%yMCgNsK6(rUz4pmMwb^RsQL(9L`5zSQUbBPIFSG83Owd$%o;s>$h}ATX4rh#dxa!{_Z0>5f%`khY+Dh zZ{@0ifSkMTL$^~k#6PXYK(y*7$2!fR2e^XS+!z!aGv!!0Y|P>zJ5M#?c;i0xYOja) z%|}D;USHoLKK5RN`%ll75`jXoX{Zg*P<23n6Zl?;3Efao;_t7SH;N%dN5LQ)-;#AR`U9WGJ#9>;%CSl%R!&b0 zxwXN%ch%ePcv%ihM)YdN_z|w}Bjb|VLGySoYL*R}qUuMT9_v(N?d8 zCCeHhGby3zn6!bFuvS9luc*bqd=^e+Ms^-So`#13^^Yh=Y)zIAYxoD3pm>FlkZEc` z=E9&m3a{-d0*v1cqgUG={P}cDy)_b^3di7fj=4OYb8ko8VN2?db~mdZpn7aogf`N? zK7uT=@=(M>Q+nfq9_%FQ4fY!wy4c-$l|0Oe@Hp-j zb=4XkT1RWTt>JcKZ;@Ad{py#{Z6YJk{nmhGtB)3Wh>c-(wETLgM1~AxB?ro*tGX)) zgZq!y+BV?n+3`-N`q6ay&P=hC`Dis{#&1L<+(=~b^LIXV=Tqu!*G3`;MtdX7FRCA9 zl{?evk5)UKak!f2F+V=RT6l*YAG{=H{b@$6+>42^#4p1aCgd`}62KI|_rm2;Vh%*D z|0oUyfRm-)YxP=ttS$x15Zef#(B!duBINfdZ{X?>M!1EynaOnCDHff4I%$%RGLuLe z6JiPckfOTmQyc~QO8}mA^088>NlIThO-)&k3MviG4aanoyU2P zhX#w!2Vd&wqJPDfEK2}!r2?}Sa0{CK<^>0VOqr%ZWg-q=!nG3@`_zW74==(yAv*-z zff^K0b4YgwaY{mkVK<%RB>JNIFksBFl{=p(t1TF>Rvds*3$9H0^hYl z*oeMUKKU3}(*MCqw~Nr#Webb{@Wf)Fdo!B<{& z67B#l$$=n~ju|#7CC7FoBgsgq@Tr$qRsE|@Iu9BRE_#zX28Nkp&160od!=RQ$DruR z3FjwZ;dw1=upp~=#XV^Xbo1sUq+}ygbn&VuUhg$KxdfIlW!CNz#*8^ORnff9A7t%0 zGlOt|<{WsW@LRKyIpnqHsg?PQY@`=T%ZZtOD=Q*=Bd&y@!1$JZ_H{FTK5HBC^S~+r z?>K`@jk(NMO zS=}4Kr9dzoEj#Am$6-fkX44i-2hAKf?MOZpI4@<8fbJBUx-he=FchfA!Zah2Fm%{& zJpISjMk;kKfxtypXlgoW#*&FBWX5=d*CkRFIBK;Xy$QBth)IMrM9``w@}>dq#f0wF z2q2hN1~$8|v<$-p7{xW%z&PCt@82hUPf2bIN_MsM4EuS?Nl8RPXbAE{i+V(SxD>*$ zNyu_@SbEhm*3^Tyg4Ib9M!bLY0hqtbO7KpJWcr%!M00F@{uWIb8qsE4o!!5G-(;_M zBCW1lJlIn+i;LHvSzeyueow(Ii~E{Q%dlg$<)wQDLq&imj)3rTx12(KXFZJ|51{9x zh$K6vX;ui+Q0@E})ZJ0PzZA}lL+2Zd8vbgl#PoZHQ8~J&K zJ6QD&P@=^x8?M+!CXs!qh?93z7t7lDu|9{xlZUdA|X4{2_6U!rIP zL*bhj7Y*hNDZmXieA9k?B2FV7*5m$by1TKZNc8D5VQ|&iUJ;yxyyKTfZz2se zN~4d{Di6z6)CHdM7VHeB3|^U*RhUa6Zt?F#9cA>YrhC@tux5<@esaaNYSI;rT;kwEukoDQ9y?fY_zhfr6CAo z__RcBPh8z~`v!s@R}Yv?iajF@j&g{*CAJw9_+YxsDLB##1`*+Zmx@+`CQy1rU($N^q_ApVUWo5KC(;!L`PUs~ooH2R{k=Oi;Hv$4zp{lSes zzkIz>_eUbJf<+{vFJQYRP~zf6_2MAG9#NN2xH0++QjY60>2$i}MFe|Lsp(bS!fGOV zBiKyTedo2!KoT5U9e&g0ov#Ob(3dt#)A#AK9Q^1`jzgapJcTCM`&J)eGJ8ejdABRH*4gvuj*x!># zQ!EuvvW}4{xeQb}ov@0<77O7Xkvkt%;e2bxsFrhlZmU>CVdJQTd;564L96nEHPAzQ~=3U$)xp((dn$JBlGjHSI`%yr%zlrHwQs{1M{a|-@m`F zHvKdEuD|~FM>wJ0c>3_6R?8S`9XN36JPXd>b^Y~IQ)(;F?kqjZf;S;*o*x0OEBf*( zhvVa;OwrBswK8%X*^;sW`CqRP(od~C#Z7zY* z%Iu}IUO|zB8zy*zF$LEooh6T`QR0t2u=sI#ce+LcsbNoi{RDHw)(7uT2N1P19Lxl* zaugO%Wh;2$6%}nZ=u8n)-~7*5qRjd9MbLRn_S8`6OrujoC{gstwKH%v!{hq>Y^EFr zCih3m83c7GhC)R+PkCh}1cth-EL z^fUFJTA$Gn+fw+~(zOxV459_jN-``|T?~O@-rSM;u?q8Wvm3#06Ns8a>7ZM1;Ulg2 z`PN}Cg=aaB7~qq~CMS=1nOm$UfG_~mpAhxH_BUUoWnI`vaJLEc zP^UzO?K!PXmduQox$q+H1L02@|GJUo5jX2@DUZFmrDb+0v0%DM{A)4NSfHAS(civ< zV7*=db(-Q_X9d+VzT4)Ccqj{}0M^ApLz26&(#m=XY zL>$dc6t$;T~p!-@Bu||6VlI4mnL*VJGF8q zlUXs$Fg}Pb>gqW=XeI{l&m!8Ox<5LeNkY#3lc|=v)3INpV!>dzY5SXR^gOIHK_?#)7z6ul*cs z7hlEEfKa^0yqE>&UOX{u%CsU>ZP3FSuO9PoDnK|CfKB+0<3phuz|O{lwST8_M369sI4-K!`E`a7_&`p{v%%J-wbe{iMkOOVBhTmWA~+;ychH_){f=HM&% zIsBTDJ;yvvBztc~;(iwtEo|fT{Pl`UZ}c z_b8*2N7x)F=s{(TBV3uf{1~~f@=?=5jJ`;$lZh7!&1RthYZblEbl{F{_$@Q)He;mH zEw35G)7)v&ajw$LSiTU;bm9?&0Yozc-&GzWSFiG}EyPxq_jc@p_pV<-P9(51Mg+FX z5GQ#@Vfd$lJ_z!2SkOxymz@a>H7?zh9c4Brk@6|j*ql#huFr3IP$t@KnU{GbR? zCI`*^_Za;N8pVPXdk{U`6gkqc3Cs~@DBzZ!Zmy1KPW@2*@O~&B!o6rZYDeL#TRx%X zraMLvp9kEIO-}TB6O%C*SBL#ZY%-PE%A_V^kPhE*xQnceyKED^V@MBj?N1p^r@dk#EBX40r#b8h)X~tp?_RM8f|{ZEq|0~@VC@l!k4287LZ(HDPR|1Fpu1& zlz-_Zf2p(&QG(2Ge>Xv*D;sFQ7r#C^IXgWCTMS6aHwGUgY(bR&STrjD=G`7mHQf7F zXJ>1O)e`y91_7()di$O6R=Et*FvL1(jd%KP%wDwRfvL;)qIY>7@M=q_rYDdI`+Wkl z@X|ng9gd@L!u$*fpjbk?V?FG;dpsczc@~tQ3s%H?7I$cqH!0}`NuzpQA?kWSB=!uO zgws3@K)>hm5@o6*GCQN6T`pB4Y6848qEEOXeodHZ1(4z~TrEM4kKMz_?C(Ikj3<+= z_FE8j~`## z4;nxvsyi%$c-b#5oSsCW9=q8%1f_R2j~r3cM>B>$ck}A1xvr-vY^xU*kLq^Ujvw!K z)Sm!wItz)Q(}0O}ESmZ6%zpa!C#R;INVPV3tT!jIC4@#2T5b$HA$)hzfH|0yLEiQ#Z9jYmIw zq<*CS#>4f)^~br%&N`8qaO_owks$8~0`WY!FJH*Vt*GOyAd$J53?vwU{i|rlUg1-| zGh-+Tyd0B%E;UT!3 zU@fUhY%&g{&NXE!D+wFTYoaqSAu;_-H8p`GehAhZ1S_<#0VntLdl3)Swhuhi&LF|w z+}((oP)8h{rZqk_)hsrf5c8%Hx?>f=1A+^K{|9mO&EpG@#zzh;q`JMixk9VaK)tD{ zmeo{7rv_aY@p@#)ODw`B;d)S_cR{Q8nD4ESFh2{*dI6e6xQ$2{QVttlkpc1DRpQ!- z!cI^_2@DZMrGPkKIsh{Kn1_Pga`_dO@=P{7k$NnVZ~hh~;vNT(u=e|i>Jku*Zh4>$ z^YVdYs<67|X)eCD#Ywp-n}npNiVx%rPTLf!7`b)tKtg@+118>L6NPxv>!yWd#cl2NMbKMNMJZX3(ujGK^6hNGy=V4mCg@_g_ zh-d|g>K@xt&-v|KV>MED~7B1uN!zAQk&$AD>C5v(=y+KU6=p98kE+)c}bbU{7C zmkL?NCVunTY}ky|j?%Oig!<81BpM1KQk5Aw|GvwvBtQroxkuB98cf8aG!i>jg8(o4 zK7@J9{8cSx%Arc9}x_7DQ`4*jj0d zpcUQYiLiA@K^RZ6!ys7gB~>BdysmWLVEcj6cl?V7zoR&K$9<*OIsSr?G#Z(}z!!k` zIE)tI9o4`A;5~Mk3d>Z(NZlLNy0VQ8W#5}N`YOPZU0$9 z<@1x7Y_=B2X5sIJ2z&@+RI6pseViPC*Bgkp;cJ709f=~Xqe(-|PC~)`1L*()f`7Ov zz6R|Te}eq6`0;-m@kr(Wi#Qq%?@qB)LOnbdw#=^VdLBI0eJ$YM4dRwgcZEr5dZv&ufcXNq&%=DX|Fp-%g zgbIwVJyEYanT*}2PXrK%4OMU{V16QG3_fsv{ND8K>3he|$5W7#xQSwOS3Nl0}6mkIBF)==#L!;HNX{tq7`N z+ws9i3ItOH^+4RVw>CD=eqcyblt4%PAo6hfwCB9b;%d&$gDMarkk_EW82!@$ED3u} z?j;_Uo4pSMz{~*Dsd5RBHSvtgBmg63J#UeiS1^JgL)x8B1Mvy=6F4aCx)t!CJR6!v zI7~fspwiGM$lq|_^xlxx|GkM!>;eB2B9ljyKl49I`x3x7jw)?ccU8}QX{6C%*&bQ8 zWyc;{vMkGSY)6jcIEP7``y|mw(~>3{%}l0eEXy1bSAb=KWS9Gjxe3b=?i<8%-+_fC z91Dg878aIkITuj=@4f1t!*X`n{o|;oy1Kf$yXxKV)vExqg$s$Di~JGFKos!FglS<@ zWEJiVBWLVdqTQV#Kg7#mIN-z15y<6eSrpF}GWL#L|0Zl&>x+gGu~1*4yE7R_cGYA& zlEe;fV$Zg1JuAORlc>js<<;+^-|?YdY?%W)WgiSn%IxqfEOE8)N>NEG>tk5Vn!+kA z6M@Jwg5>FtNANl-i1#p%=@qsn74YMY)@`_9-#%;Q^GLWH!m=+|OWHg7WiMXG!2POk zZRU|QNs)Zeu+ugHohOa8tAm(Vk`GxyZ{&U+Jx855tyQ?Q1Kbxrf#X$C8HZ6 zR^%AqaVIvQ{svJgB3K}5LrWn& z>cU=saB%Y;>(KTGLZJt?AF}pr9)!-JZApUGxKOWk{trjMf zo3il3w}TR5B)BQjLilQtOG%s9k{HVp<^(K9AMYj;4H%DZaRE%Y2M+qN_|eCvV#HFQ z+-`wthW72}dW1FlBf386|8q|d?7xQT!-|{0!TljvxUGb;lI;=LflWVFSNiww!~UPx zX@<(YNe4fgfFsf|L}i|3{d+IvvZ4#{d%~#M`SGBoWG^| zjx#0R$!rq?PjkhwXoxJrSnF6A%noLk1C4+uM3adLK$={+B#guWG32s01E0-ej~t-x z&ypaLTVbP&nKJBG;jXTAy&XG(@sUViN5p!!r?EM&UEkSh`8zr`1k5WoUVH80)j(o= zd*T{lwkOwGGOYYP*ftJ10Jg-EMXh&r)$xJ8VHvrC+k^?I8ANJV?FaLYNcjQ4=_j}n zkK9N$y2BYtKDA*7l`{iWz7a_?6Jj}r0TwS=$zUbu+?y=xX`isH4?G@Qy0&9uFVNKx z>)XvbNW6{wca-}SYBEyVc6DMj;71%7Rh_UWV`UP8J0RI>k&K6tD380(Bl5a|3l5Bm z@s(c<9z1v~9#4;DGV33F1oV0BMHAy6>|Q(cjy88ca3C1V47BJIw%K7IEX_5c z;Cj)|cqi^y`5xjofB+HJ;f-~dclP$Qcdm;K5AEN-Zhd6GNMD^W%#Ji#tdCLHF5b!b zGF9~~U4Z@UsNq95q;M1HMnkqB5A6ly{S+j>Xmcf$AdDLw2<9LFvmi`^hFx1VwIEtT z|8y8UU-t-3qgvd%axZ}qe9F95w;pDIC_+XzSp2@7gpv!vHjGS9D5c<{>MWn5j(7H} zulV&m{--BA3jL>0cM3kIKzBzcyi)|$R61uRe}CYSPmA9nnljOrMlOQG#DmXDwJ<`M z#gl+M^L>sq7LAmOg&CQ3C%R|qt|zcm=$8Hiscde&+F zuaE1Z@kC^+FS>SMU~Sa5^-v_VwMSeP5A3|-@SZ(TIz>8-ZL*rnoZn}7*A-Xn8s_Xj zzc?HTY(9`M*2igGa=mXz)Q4mK82&%}+Cb!Re7%u4u=&*L?sV5H6O>4ZyLNw>cP_K; z5(f3SvTdU6K41YaekD*&kOdzsk(V)olhY84@qpo~8zV*|cA)OK!(z||m*p`7L2A?x zrzLgM4I_2C9Px3qneK^$&DuKzc*iL?1f>;wsh)>>3BU0gFAW(o9EzMe=Aq-G{eJRPQ#Z!Y zguZ>k`yJwLnqxDLB2MON;*2EDuo6PVv0-*&1ceO7>v92xE}%l#85#wT zKV8`64F~c2tC0eAXDAX04IQUQ*=!(ib#UwU?OP(jLOYV;c$QGSqG+Fs1mPfQ4<3hH z7|24h{Na(yj$HN{I=uJz5Zuq9oyeqmJb-JEPp=NZbk`Y-6lm)jj#4MWjfE2JgiK=e(~i^@hI`O9c?#4w)7B>P>-nUfA4QHJ)N2aJrBEweRUE> z@C%6ADIO;3$YEY&$3>z8cTN3jhtmLJVv$LPrx=idMc6gV=aWd!H#~CDq5bf&TQzYL z3j+vAqi$(Oj9HDQt9?!@ujAcH0BeYM#AvLkV)cq||DlUUh6921aL`-GFsyl#yLWC1 z*2Ofia)7sa)3GK%OrR#1Qs+qhAjX$@!FVG9*y*96X#iXIT+8e(;!#20~-z$EQ0^qxe& z@Fu$c0-`)I?2Rks#drc9b8!@_k-%f$dV3(!j`+{pu#adhfuxXDZ}Lhv3Fplnc*wP3 z%G#};3E0p+M6Fxxq4>rYEs6-uNRk8~i-NzHIw5HQC_FF@!;Dk{I%Eu4<}s{Yv=?$0 z2$4I=pk<^34BLUWe1_@Tk)9;cTuzA<3a6103nWa6(QQPX#2L!l4Yu~@ z?6y>U_+a;LOKs7~vef$Pdy3nTpEz|e-4R{ekMU~mn_&zLF=f0xK_d{eg~cga(c@XU~uGb<9_*s<&CW0tR1C(C+J>i}nrCD>ue1J#xUHDRy-JONkT zMMtP)dk`xvL|^bn@G=S_qn9OV;mljGL?PD=$NYuL+%hnbQtO6?&xcQq284(Oen=J{ zUmmC6R9&&&I7CZBSGqiQCw`J5y%AT%X#peufNvO$;jC-ySv5hor|}>4c3L-Hc@gDR z(Pbm$WoZE#F??t{=|(_DrR~)obz%ZVa6z&seY!q+A|@`l1_oOF0p_}|U#CV5hI|79h_e+7 z)KMf9H5DQ^AH5^P>j+b`rf=uYeaFTI*YweneeBH*N?S^pe#m%OD%8#1v7uhe>V>-ngTV0J;tSAuu^=f@>g>62O&|&QHP;4`@vR%g<()`8xH$ny7b0>v)F%q@ zSTYfXxC_REU_ak25t$On-4|VVUs9M4fLvU^-q>Gluot4opTrJBuryyA_jm42Ac8RB z^X+R#s>Jre(H?&)VMYDOa7P3E?~B>kcsw?^?%>F6NSb7Une~PH zJ2PMK3{2iH;fjyt5#l)%^>H(HMVZ5Dm!|?_$RdQX0iEm|8txbdbZg^0;SY9t0sla- zsM~<8M;K{T)4&pL;R>?pVNJ4UECTBS!l4CSSyf=OtJdq_uGB5CHuw?C7wt0;`)3UM zk!cy&PaA;6qW)nxS!1FP&@LnQ2;Ux~J+bb?*rUrF^*uczVY+}*5h#Lmyg-C={Q)NQ z6_~Ns>(wzau?5=-hS>|SQ*ZnXgqIjynN)yBXtu-!LbH0Wr&jTE?c&oAUh=WMCJ}5 zJ4rfQ>Y6tshB;&NXdB2c#(j$j!nY-6|%zwjt;qYPw&OoN7)*8%Y$fiQ){ z1Ao@T`8=3pBWN4q`(?)={9&^%oKQhXkLSHljNh7II$l1DZH{0I!m#08o&KvV-IKq3Bh zcI_GIBCCjRaC8vq&bsi)fYy3=iw}k*ts}r(Hs zbS$Jdyw(F<8Ur0W(1y7sAIecg^3AJO*SJ=K;hsAXBL@kr)`5B)}`HW5&VsQN0GdvAZ zYqsMAKl)Ji3NdkSqt^2q>i)aykHJ%ZOkG`cp3#}ICd|&1Z~HNN+G+0rh?((vKi=r? zc%v2rRo9`B(^Y$@iK;OS;d{yKMb0DA6X_p;7HYhIVu>seWHvxTh0ZWB2kb4@hnE6h zOr#QVDF;K?EdVPc`!=m#XFTZ|G^Ja%BMn;^TV-Cqrag)E4r`DDC*A=`cJscNQtkb{ zJ>BcKZMy{XtJhpz2%CEfF|1?@<+S9`E$}}HBM>g|X@FcVKo%t@y8a)qzqUOpRr`_4 z&g;lrd0S6%L;m`q)V3=sMtAD2W7|?g*UxSWwfp>!eN3j~yvvTXD>D*9CJH3n9k^oi z@lD$T$<0GsZru8qjicf*-Mcqlx#h+!L+3@zZJUm7zG7f~Ak`IbqAfkJJzRt_WD5rq zerOSc@YiYai><0&#_A|auCHvMQnFWjL~!=S1F2nP;6^# z2V54=fFR6(y|1vv9U6Cg;F@Uajk;;mU0huGk%rcB4GUV>F)JK1G=&nLPW}Kr}vlcyaOYVI+!ym(ZiYFkOyhGNy?X8ZKWj+MqjyDG$50$5Ob( z0nslu_!OfYlm2A@`AVDE9uBPh#Aq}2@4w~r{hZAt@=DQWedE>(5Bln`F%I0{M%n8( z5mnZa%m3Xb1k`8%uuLi$Au|0D8_>v22#!}IG+Oxx;ZYi|vU*DbvIwSuu1K{p6cc-C zHtNOGP56gqt2ZYgWo^sZcj*o^O=p{y&SOl`!yJ~xuT6(0%NC*JKt0mHqiy(-VJ-d9 zb(*jwdZ1s|6C{rBp$%yU@*dp`X+-v+rqqF=odLzW84XPLtG!>IlJ8#vU2S+CT(*cE$8Kf`8@T0iUS+p+Tkt)Kn$ z+_(goWLX2>@lp5)2N4CXqb7*2GN*-PLFS?{qF1!zZwje}5DCq+iwGN8wogO)f;vP$ z5W*ffJho##>FX!dT~H>-ydZ0@H9z@NHTbMZ>E@Bb8?;& z5ElA;$@v{)W0u)|RltYlb$$MR)F|f6{Tx>*YED`Js<1ed@&0< zLWIKu2m7$C+xqpf{Xn^T7k3c;QH~3$x|@4Kave+)!`nl^vj@Rfwy?Dx291W%)#Y~p zJ=BqsK@z~*u zkihlS`W-vZBT_NEdt^fhAq91KAsUuy%e0LXwhxj9&0$||IxDj2CeB?gn1)eK6N*0{ zMaGg*BVA4(*VyY);j_#dJ7VAn9%t>kRNf^%FUz*QbyoWn~%3Sd{dM(>}R!Bg_cM zfYp9r|8>{xKhTcwa@d^_EBRyupBzS%7%rM7)-z!hHsxlQOMhkE+es^;$J22^`r>#d zo*nmLd!0AH0|?8-VPx14=bd*LIkzmNWHx6dWr2sa2|;IMvqCyYm?G2vi&}sWuTdmj zXB0C60RuD=jDgiwq@o6I0E45UB_{4+?po*!q}AwLCJ;Z6^5+?w`!}Rw!FJxp($n!^ z9fgrS+S`tN79mboczS|T7AF$xl9BjOSF}4rpu*Ij?)kLdUh%`7Wd6rinNdU`{@4*9eGy4zp^_jviUw`rL(e7IwPiv+he@pl1?u(Bey$jAOzZp-EOp4Id zgoM#Y^IU^)a1$iB>)P@dM&_XjybEB9`R^zI5^w1J&Hr1A#0mU1pOu5(H27|6z`r=0UL zGQiULuIAcCnb-8;I_R@vA3gK0^#Wnf7;Nw{LIClT9*8_Er_-Ux_U-**qN{6H4DMrM zI=or3Qc;{^^))h65%MYc-6NqO77~+NiJDTmr76}KQ$@Y8pb9v`{405}A=J^`)BYs@ zUos>GX2&vFS64LPJRG zIh*2Myh>|hgxiHaFE)h1ni5}1c6WD#pNiM0pM}5!)9|032Hc0>&1f6zr+L!Uf zrcj>&s$B0WC}SfHEr7Stnh+#oEpke1zzQ(zJq^P(mVF0;lu&@EAQmia-L`N4 zHl#BGUqAgtY>*4{?H3=9)RVZCR&~S9fjC_=8pE2H2-5amKy9~f!+zYbbFf^c{Vwsg zep<6a*=j(|T+05*JJ3ge5CX zzQ!L+^YR5=r_fXc(lj=>K@VvNvWTqAJhPhl6oK-A0d7JBg=an$VPV=1l-%v}72unb>w{uNzB?_gm)JsU47{ z5Of`sUA@SVXv0|wC zB&&x_AMaY@k3Hvx8~o?@i16_66~}H9$5)<;tcPa)X;)o^FsS#!>mBB#b}e7hrL9HSly%7rwL)@ zTGLdbt+WgV2*gu`7Gwv6v5f87_{`1NseLnRT|>aJhR}ff=_;~qQiH+GBO8XXtBW=X zAweEpL@eeK693BJ$C1)a?Oa;Iiu3hb&r4%#gt|!r>y@^ihfsm*L`T91__}?jY;HhV1-vA49a4R{-XKo$rjtsq4fn~6YJOdR#{ zMjTB`*}h?5Z0|L$%VFy^d&dSgVB;Vxl|pl50qBcG5kxK#089d(1$oPW3j>QNu}%TP z88rhz23cAgk3@Z8MQsq%4OI~BO=@OZdfh1RIb;H#FG3XBHCVrN3oW6A6OL)Ew7Ii{iAieIrgaN8l)}< zy2iGNuCcBWTI|*}<{KFlp@BsE^=|e8aCZQX&Sp&`{zogkw-38ST77%Nma^8Y!J$!u z7z?Tq$XDqtFTFRhA#uk*d*Xxmd(p;ZqVHfjjsMr9`g7~n{gz4OnN$>EQUFq#RQ;?c z26rMn9|FRT9XN;`An1V|kVW`><-_9uZM1*k+O@mat;?^)fB8}T_lmV^o9JREc6=Tp z$raED8wP_X11?Jd{ZRLLao;&EDTs{yTC8c%a4KOH;nGrrK-Wc6ffeW!w*zvBR^y%> zgbU;8^yzcfx;O{PY8h`j$d(GAPTkP#@kp9lh==`vYuL~r=M9?dV1NKlPyi8}!nq)n z0|$piUq`?p=A;w;rh^m@jo}B8qj(eeqah7yQDJa5v}FA4 zf_o2t9c13b^pI)u03uWv+=#r5cKI+dF2-v6?dHKVyxB{~b)j%5bUox5=tx^sO2zT# z{%ko7uw|M2Ju@?V`uj-`7pEXJ8~y1$_tFi;lpnMy?N1e{vmZBZr5;@6vei4%UOoW25 zCuk;h1vEww#~ zWCI#|kMGcUg2Ct&QrK)23AQNv1aVj3#Q_%AA)zxN#E?TBpgV|BQ4g2~)KH0P=*nuf zYIPeiLD=h|H2u10H699V-M`Jnm;Er~bX|)~H<5#*XJ~eKg5BRGiZ!C3AnzBl#sAc# zu`8$d=n|1)JWlx2!+pVo`xd3m@R20P5pw#y=0{Thmo`6=9)0Qm*h0%bX8`}CPxm4Y zawDxy&=j-@acKZ~Da9zQrx?XXy`2bO#!+wN#2DIyaI|E1nGQ?P5Xc(dbdAt*oGkK;O($o-VAHJ z%Ylhok`zPS(}W~Mf*XmQ@G`OV#*WwBgI(~P_oFFPT@pw)4{y-A9Rwo?PS_)WZd1Mi zMDk$+jIpl4hPlIIa|Z{v9^D7!ED{Zcfn|ybg$hoc>9Lv&}y!|@~7U^;Ad#f3U$7;=ojDnxeMKt!}3*fMBDPPO|p+YjnO;8fIOCv=Dp^3szd=V3i3m zKCS@8;hC&>vUxyQq+(K6)CcrWcmXj6D022b{8FVgI4ph>2K(eZ`*m%a73eHYW3U`kA(FNm#sL#FaCK_!%fdl4$+UxGnX4z7GC zi_9tAoxN+4!C-PtFS0g>&IxR}^uA#9UVSTdv^QC6oJ@3EX*00$FakjZG#)&otS^?i zY2%@Eik(SAzOv8qhi-*mwTwl-p_`wV>sq@mg$0)MOw&lD)~)Tz1%o;s2D08qumZ0Q zL$jX4sd$vgL_(0mD*EQJWFZyXzI*G|p3#JVN4VR@TOT|yGqZ#hN-~w*;ZKbAY~8wh zdn{E*$u3{_-7_->5k1;vcaz(X;ZoDo4vK4OUavxU%Vq{gLoSaY#%{mAa|uo*UB9XVTmqYfVGmVq^EMpIbk95T>ueD}zD>xO4!7byQRL{~X&&xCCQwhF8xWK3#UFCk1~bX@Bt)c4UxJ!uK8(_xbJ zZbr3zq&cpEpnpVJ>_^0;kg}j{C-5^*aH1=YO4Ry3QKi#=5dL*YL;I+Qp~j{6AZ~#G zm5c>24{M8s5J<+}mce=dPlTcs{kfq=SGN!T9|1i|}-xtVj($?+jr z2)*uS&sltXqgK3_9(;D-=6Exif7lPVz=Y4Y?slK=H2hU$_tSY>Qt;s;S^~Q?48qOl zV@GIX2Me_cHe|9lxRhRd)Yd}f0xQt#g^;X;mP29`Gs&^^PUbY&wH}5|P_eF+pYABv zUu1=N;$kuujvH5DgC>6@zVfbXtoi=*__n!vBQzQP#>-sB<}$90cZB1~*vha9B;vvx z_XpDzvW5E~Q~Uxt%K&V(WHZBF9wXS=6P9K2cY`VMRvz?G37q4XA`_DExq&o+UZc@A z00D5t`|yz@wPV+hW^*G%#E7U-5cQUYL#Z+dv-a!RXp z_j+1B!R6H5n(w~(crcj^9{0A<_TA)D;c%4pyL|$dn~SK?_6+)L9Rol zPmE9KiN1q={9fz?BGl+CtpiS6960k`-PHYo`|)hZgFS`8GJvJ0XY@sVTxvcMZOvyZ z%gtxkp9At5BTupg;HhQIN<=f8n8htFI|F5I7w3VAPEep>l!2Jf#kR(oRJW=Q4icD znu$=81zsDx2=B{)zfw z$XvQbV>SR;;Zo$YVg1ls_|4+>Ifxf5%KzVk_HzOS4@_JlMp1PAMBq>U-^a`a2yc); zM=2*o*&Y=nG*5XMF+@|b>&F^VpH;4&R!NE|G34J) z0SC!t>P`2G>>z-j@a{}zg1Xt*)!w1?=EyR{j%5l?NkgQ=k>s4VL$G;I0G>vHgQUH| z8cd%)pmA$6VIWT3C;&n?NS0?=pH*`rDwg2IFScyh0Dq&ADy=bP{{Zq$Z|_KkBAYjl zhzWNKm4ho+lLf(xf#Kh`Ql4~p>fGAY0OZBafsKQM8_pXZ+Pul{@9NpU9lI_;A$2!- zxwn3QiuTe?Z8%OJ?WSGdumP3$M(C(GP)^HU&Sk>y3->y{jdeZz;vY=ll*Pmgn4xdw zjS(;aL|*70NDh-7B%b(*M7oELwViRuAMtqS+74uHQ0JHLI{#ky<~H;nI&{Y!hYs~` zfQur4WRsgV9XN2yEe8&6+=Lw_tl)dnwCSOVOq5s_huCf8`k*`(5c*B>5u=D7qzUqc z%ysJq2iMW274*9fn_KGddE^ny+v&DAMZf}<`3pep$Ug>Qj9#4yAmz4VX&!Iy>frQM zLTw+tVEeWNLU2;XhAT!!_D=q^Po+|8J_04r@EM4+8Q(KGlG$+y$@<}NI=%OU1Bj$M z+S}Q=X3eha+h5)rkEyLH7VA8OZP2dUfrw2A+0nIqJ-yIu*l!NM-!d|wQr>{JG4?j{ z3n1H2l3y1la!Q0sw0f|OR_%<_vYnNs2jlen;86TQs+{oF^1w_!K^5ucU!uK>-E~;b!M`WbK1P4f^$O!C#Od$SbAU8>fwsHobvXw)3$|y9 zU^u05?ObKGgTDe8j{oV)Jb|kEBbT*Hcg?t2A&}(pm^oe=w(ijT$W` z(j3aGk3+<$S?)xF0fY_`av(1)1OVZCkk*ks+F^qASU1t`WrW|C;jVW?0$p{ry4)3r zyaNOKaAQ3h0Ki+C)>QPyfbo9-9PKg0&yw0sOdksQ5s@ZjC1xWBO)bSc42~)|qX?|w zyL6LMKvgA*&n%1uBp#e?Lia{DX~LN5a;?3Dd9L8SvaDCQt`XX;I=-Yi6%7ZzIgUZEiWy@7j8}R9>v)XJ)JE zEmK?5%`KbDEzi4d)=n?jlY>rrzT{NX=dfW6_ zt;Svn0RUTf>#J07k6(ZBCH^lYO?8oNn^ z-Z&`Fqj!g&SLS!9Vf3qzvd|o^R8dc(Jcl+_jKp8}CiGQRe5C{A z+lhbE+AN0oEQ)r5$?QM42msct2j?= z6Wc{b?0`#W2p;!cVnpl~*mFmWiM`@{u}@qe_KO4Jptw+si$mff_~b7ZN5m!KsJK*I zCN39Oh-2b0;!1IqI4-Uh*NAJyb@1BXAZ`>liJQeO;#P5+c&xZx+yVP*R!oX1krTF< zhF^bHuTG@ni85@$cfN;%DMN z#LvYquukSz;@9Fo#c#xKk+bmk;t%4F;=jb7#Gl1q#EN*tXd|bXVItcEw!(pM>o>4f zmH~Ub5iz1h3|T`GM!S(TI*d*uWpo+cMvu{JtU=P_wZ=MQJ@NU< zTa2y7dB!$lyOA+=AjSKTF>LHIMvUFYsIkWwGxi$i8~cn4jQz#|V|(E;0@q z7aK>6ON^t&rN(8(<;E4pG2=1DmBv-ZapP*^8sl2yI^%ld2IEHKCgWz~7UNdqHsi6z z?ZzF(gpoBSjVU8%*v7OmW6TZlb(I^>Z<1V9OI7Zc|87GVd@h;=t#(RwS8t*gSZ+yV`pz$H&!^TIDh~cBgKN=r1K5l%% z_@wbEu8%#*dAk82@hk)cBe4AI8s(Ul_kMer5dH_)p_E#&3<^ z8NWCFVEobeFXKnX98_%#51}v)xRZ z9cHJQGP}%fv&ZZ;*O-0gT63Mb-b|bQ<_2@X+-PnxH=Bdz7IQ0dbZ;}an;CP5xzijn zhs|B)h`HMwHTRff=3euBbDw#Ex!*is9yBjB$IV0LMM#}~v3bP2#5`(VYF=huZeC#? zGaqAKXH?KCYF|ReRGp{#qFmE((GH*6-F>f_*GaqZ-Zr))|m|1huoHBE!ZBCmr z=B$}F?=*H|K5C_`F!&Q<_painJ+e9V!qUT znfY?_73TfsY4erltISuMuQ6Y1zRrBT`3Ca=^Nr>|m~S%QY`(>OtNEb$HuLS~JIr^Q z?=s(QzQ=s8`9Aag<_F9VnjbPhY<|RCHa}|qqxmuOG9NO(Y<|W3C-bZ3*UW!5zivKke#88x`7QI?=D(QVF~4h`F~4Vi-~3ne2j&mW zADRDV{@DD9`S0dW&7Yb7VgB6wh51YKSLUzH|1^JN{?`1R`FryZ<{!=fGXG@$+5C&S zVm>0Qa+e&DyXC0dBgf=kdA{5yFOd7? z0eMhfD97a?d67IUFP2B-CGx1eR9+@8msiMR@-gyCd6hgaua?)yYvpzFdU=DqQQjnP zmbb`TLDW_yk+HzXX$XS_}cgi_gkn^%AOURdfm#j!fR%K0|kPGsp zT$HEeD}N_{FaIF_DE~|T zN&Z>>MXtz4R2zcJ4Wy-)l<-dZlwSo@P=!=jMO0M95MY{6?J9|lsyh)S+NHWxkLp!x zRG(U_)~WR>t@_mlHJ~=CO=`0mR9j&9I8SX;+f_#GP&?I-8dkg1h}x}2)gCpb_Nw#M zK6QcGuMVh#>OwWH4ylXOVPy3?0`KNgb*Z{cU9PTB$JArgmFg;WTwSfMQP-;L)b;8H zb)&jT-3+_nt?D-QSarL)Lrtixnp9INr))K?X4I_8!!zRY{fAU8#p)&MrRrtsr}~Zht@@q%z50Xt zqxvuPC-rCb7qy}uvDz$Q8CcpN5tna4pY>Y-D`~sFv^o%plR~Qc zZmY-YwbodD)>>ZMQPk4r`}1gczP()`+#+ z8nyOVW7b~ld~2U|fwkW{U>&qBw8pJN)tgGOb%}MvkV&n1%v3bx~9sDrq!-H;QdN7tY*(_?TE)&} zE0xkh22F|`tE+2eU$v6W7wn3EGCPGA&1VB{p*A0!ES=0$^Nv%qJMc-l%xtNU%NJ)d z^L8#jl`TZL(kW*vbNFsPb25{)$w{20=$bQ|owG4m^W_453K+v!Q?)*~vpKZL;d@H8 znc2?S)^mMVv{5^sb>?D?(-Zkh&1r8P5DZSm9gae_TrHJDg<5gO$#C09*)GxB@TfSU zav@uEUoBj&&6mAT3-F0k%9g{eOsz*HF-zEtU1FhMZ~% zgU%n@UM*o{tC?~Zli^;bmveMk@e76csB3&&wjFuGcB)}I;9fk!cH(*#s}&p5Kyw*w zuBeqe^=Yk~nXZ)PGn19<)SO)nXKN0ox4`gqnnebC8tsWO+~608!1Oa;h-j}4-~l76emRHb&x&R0tOIA1RB zV5SxWxe}m{VBBvP>=RiGb#gjiApDxjSEewnC+V$2(}hyS{k+IDV3w{IN{*ciPFJ$U zDg6mEwJc8b_n0%aVw6D>4e}{n2GnG;e6AUV4 zSGrp-ab1RpoZAncr@P9Ps*bL6n9xw)^a`57H0m@R)vt_~w5O|X2X6ZiKM_nv_7BK1M)e^|bNVcAkBWUt-lAO|P-)4t|kH zy`Skq76jjWqJA;&tTK?1nI6pMwl%v5bNY2^TQNft^uqg zQ?*IV6^I{(FxP1pPuPW0xpkTX_Q^7+Ke|%WcBQh|)r{>;qm^i`XWG=!T;sh@h%4O@ zna%^W@U=y|5|}0uJDo2&L5wR%{)v3H5Sl^Jed%OV*#p5O;V4j@WHiTRvk4ZfJXwoQ z0(6+FO;0-^&7>v?v6H&&HRSPRInAjHYIqOz3${xXbP(K|7M(?tC+uC;RHPB5{YjguKL*ATop zcp=D8pl%pjaCeYyAYp_~NH)q){~;|GqZ?3MBJM=M!4iuz34ADPJQh%wsOAeKz~Q_Ku@*>D224Pa znJ+;svLO>zE2U&ZPRc-#EjmEp);f}hYvp)TJ02xJoL+a;^3@W$(*=kLRW(m|6QLud zr6Q)Vx`+nu8AjU=fjzTe7YbolOzl&|4B-c{W>^W1^Y# zYMM~Tdzy>>O+a~8Yewz%)*cAAQ>|4V9X#u94a;uR98aj8?|K!)8a-nC0n=F?K<|s) zQw<~DhvB=XK`8+oakm$!9iXS^rrWK6NS&`{D~p*j6q+h7be?^Ixs5jn_2!rg-OwA* zN_NrlMw)NI)bfiupjtq$b?)f`#u|^&BpVn4#g8PJ-g91NzP4VJ*{<34>_wfKPKe1W-{uQ>7fzKDXIEk z_tpFq3<7L404?>3xzdbhN?=YK1X+SUoGDJ{Q*O}(0C?yjMcBEpTdmCm7`W-_j8lX~ zB??MKPl7VF0PR;|NXub5cv6L|g1mOo!3D5p>eJa&-w@kj8>+Wvahk>RMx_?~6;(Jf z&#qCbRI@Pl#PvBSxLXmdlB|}Q0wGQ4VrddmA{2HAVF6Hk640uP7AQQ3ZAAaTXpx5i zkkE>26Jp>xsj{xn?kTo3zEM}n<*}|6-AfGdNo{DEw5tm?_#q*i6V!E7c8i4cFP zb){iDivn10v#`mK*;2#3c*Lzb3$bx#*0udXoAzMA2QYzZQwfq)4>}R_<0QB+2xH!5 z+pr8)7u9^t$xp@4X4{G(Qxc9!8U=}0nosZ?^JL;9vXC=EO*KJXF65o6;+IzXMbGXU z@Cr_{s+Q?Tpv>S>nx3}E3X(0z83?S3g&+m#e`-z=O8W_l3n-|35h|Li6Km6y)(0aD zHJ%(DtxqYY->FLOi10Ru&&-u)VS;gjC&+{a32A!TD?$bdxwW$pv#h%+WT^6iT+y!y zD=-jl#*t(r^LvIeRffTdG#)aSNeY_5^+L`9Z-NjUs=`E(nYBr33vziOpR3LWacu^$ z3HA}zMKX|pB6CxO-FG(NbE7f2n!qW&ki&dBrb9PDPF}8LX-&hyl+Fg)k zE($wfY0mb!NCYb=E6ke0cuG7Z5hfH3st|!Kcy0lvJZM;Uxp6iPDn|xmz9s>Fi>eG; zqYcn0m3^@8(LG`J7q%~0Grbe)NZEG++hEPHPryFK0}$~}_^U(is}s<8`XPggcfvsC zoiN^H#OoqooGt~~l0ud&$DGU-gPOR|XKE{jh91AJu9e;EG!_ab?22tcgM=8% zS|>>(N{dSF6Ppo!CO-{8v$NAcor-P3Y7xMnHWqbMVO=K*lWDp`F|~r7wE#&LGJXye z$>+>M*DKgQXu0z=(S$ZO%%kpj)ynmuqj&T{R0ff&q7!I&WVs^yrKJs@A=my1rP#F@ zJ7j>N`#eiYW4Z&{z6MYadxl?7?$w; zIkVz8LChJfQ+H`vg+$jAfnhrY|Ni$Eh?U^LT3P0?KL z!M+0r&Xh_uKnK3r$E8}??^$v*kh+!;rW9%>3nLGaSD1`pbDz(a{Q$HIgpDky5a>&Q zy&0JK$rkWx%vW5Slyn8XbF{evhIJZVyw4Q$Q#f=mASDMQYWp3ilr$xB5>E@xll_?7 za}_@tl!?~6vWlzB$G!HRTPf6}yhkT(JcRmSmh5+>z1fgkAlesVdZEp$VYkeK7;sPU zu5O7wBgkbQC0*?iHl{j6*tkGVEo}mb@MKh>c2%pe61cjzJ`3JeD?wl2`O`&yw2v&h zuyu zoK?r8<>9^8uvR|%R-O&*1&C^Tmcdw&xtfWW1O5ST7qHmLI|;7n{BT0BY{uiNmoTi1!gyOyhIadHYo7D@(u zrZWhT%bo;iYCi>peiY1dc0rOUUa>tM63Nseyg4R-0K)Rgyd<5^pUZ;U03ZE4QRUn; zOy+nSC`oY4QVDXAU5M$cq!KU()|Xhk)u#7TdGavp>TE5SFXzLKDP{gt~!ZmhgryGh^l}AFo!q`2!$l|f%|4%=?z5Atz<>FTACq|6ADhiD;9l| zc|AXqu+?A?;2B4MWzx>^@%U7G&US+aFoR^(s5vn%X+$FUhEF~V{-2W|nJ&YG0~bO7 zqyl^v_YdBQd9T6~VlRYPw}i{F;Mj`o!E&BN5GYJjwaQ|YP8zmisPeG(!lVre1c4A_ zJ9mxKBO)#z%iCTzhWVHQcUj0Th9_aShRHWG4GA;loj`Pgaf2*7xaQQ`kf0p%+PGJtP3aDp z{YUi3GQ>lk$Y(GpkcGmfNm7+EY=@4zCx~VtuTcm94O}KlzerLbjMEM=E?Cxps)*Hy zL4&SnV?BxM)oA0KUWlCY?q!T~pnk@I5a@)$2S{%wY1s|+am7paLV?nrf}9Ou8^W|x z23rg_@ryheOB^6Tx7USwlm>LJ%vVI<~6+vVx z4$MAT4ju5U&7SdhA&)QuHo-Fif&)g&8$h5iOBNYzLGVFXfmg#0LV02%gk98uQJJh$ z$N-^1%C4WoR7K}e_d4`#kQ3VzPZ$^wNCOcLoTnUcilqfe zlykNM2$qU|Aa>Eo7aW+CDP)PISAsvdW-(uo-Z+qnAOMc!so8eTeAxlx>Yj03)lf!Z zuI8?|-o#TZW=0Meba5(QF!AHZA0mhFK6Ta~sI&Q??vNw^pDPKt91u5ppC70@zJq)t z-$Tu*LvQ|?%hbw)Zf+cKLA_S)z-{`O{9T$`dF^2HGaLSZ6ja{x&l0Cu(AgyaR=fD(a6(7i6nIM5N3c| z#XLpEEs)q$-Pwk!yWkXYSd8t@-HBbTTfH9U=2YgoWw7-99y zK=~>=HE`uv9VN872qoQ%4I#UQXA7q%Haw_iu9#I6rMn0*38D*nu7ZJwS*Uc?@`x5Y zVMc&aa-MwV-rM+H9GVTg#F3FYLW~ySYC7uGD&u3}OD1=t}Sp#Gw7XDC{<++p?;c?yMZO` z%*eec6PDtVEmb-ux-~-BvokX@^TJV@f`8c%!FD)iWbV{QNbH`1k^*k9n1ldWC5tmSi8TxpfZR{rIvILu zT#JIWB2bfs!OpWQfExL-4M&phD;qVtru+fWQh<;}jWf78D(d5&`3OfDVu;5lgB|kU#xg0>#$_Cx0@?H7s}N zy6Qs7%H?Tt5Pna=maMRV)1pjo?3)Jj0;WjN-x>c*76b}$jXoB95mDA0fuG^1eE5I7 z$Rx;-aPq+y8JNp2_t+-d<7CDC*~j9|4B z&{&wCF@Ur;m4TRqcmWU>{U9F*iw%_^>Z+GO2BHcvFO0QZDUmKf%C!wE7hoUsMpZy6 zD^Wfo9(x{or=5%IQ`j}~r)d3l!M*MojV$fBhA+EfFR+~)X3p6X3}ocRa+EU%njZq5 z!LG-YNwEwDRj*WzlHnLyM|Nh0#CTHi5CgH0owf@;T2BtFg3}}qZA05HFa{hjVc{2_ zr)`A5P>Aki%z!3^Wd?w~Y!w!4l_kefD2M27S9S|e+NTgDKra^8mELqC}PD$3Be-HzMA zv}Q|e1^_(IkbPIbelCCN)MA`L9iWn{WT#1lm$^!9K0*f!53Db68O2=C)V>8fr#TOv z4~cZDsx2K2m0FuO;A?_CN|zz3psbl!zIdVp{Got%8>$1JxGAyf&QgF=yUx|%`K>l&Su#O1`qA^2$QbuN%;sKXq=Fc z0WW1`&aNnkNgz1<2-yEKlVCq{`iT_~Jb+pTx~+o%y&@d%SUdpYO1?xaZ-DF+W-}K| za-bCztb=f%)xkdmxPuqDIJM}bQZYZtHB99qY|6_3w(|%ljp?%-Tn-fi{BSc;Xee|L zdo)#9jPM)M2~B_K1Q9!J9u3sdMh^@7HhADdP6-qn@-JeUO_=lG3W3NpH5+is5WPsj z1fhgz5hn;^?5jz(;7G7pI? z0_KM4Au$BYc_hV3MLh{#OARsil+2d8Y0=TU-KNN7pscj5brU8|y!^!N9y zs`nsHIgr&I?_D7Oz{HJpU=$0NVBjLV0AwqNi~$i3+;UmSumNYWn4Kwszl0%u(F+4b zvj8Z_Y6#H+3|S}gn8j?^jX`3QgdZP}S%lOSapm<4+eP$8u(Sq`!hD(VqL_o%g<`P~ z?Gl8jjHMIgJ%W9SS5ef8=2U4x3)Z<^L$Kmwd~JQ$sI$>Ux`YFStEnC1*VY;p8zW0{n=q1 z;jjmfCc=GF%!QbEYHi;Q9he9DlNAI;3vbAwj>9gkFULKYB=6F_TkTDY|zX7UmS zqv~fbdCkcNpj?qORYah^i&Q}Qc^g_u)y8YP-w%we&LWNu>MK5G-bc@aaS8VJGQ1{q zzl111(`vs3iHbGbYGH47UzdX`&`~j)EBOG3xW5$9(zRQ;J}Mo!0Xa_(7)F6if!JGEvZo zSAY^(fmfWgJ__rns4F zhb)1&gBa19HQVr5Ps@Q>K*@o56CBMon}uji0~|#FMoc%n(~jNQN(9`7O=dpANsrTc z{a9ET43UeL1Y?Z^LhNQ{JWfW=Ml7a-Vpq{dtNA<|Dz$zSaaSKXP*tmoaDM5C9c{zF zWPt((h!}!yXXm4?(BZxl;)>8|uxyhnmS#3oh6)HuMPC!*_;SrN;H1YVBak>dHw(Og zrVOne76{1f+6m$5VD0)8C_ths96gB6VG>k?v}A|KaNr7V-aJn-5e3PwfQC_s44%cs zA}CzUEyGUFE)Ne@pth2%1($tMQR+7*s1535`|$z@8Z~qg_zg-wuftTe-Ce&R+qq9= zvSIIiGdO7urhs(-23HE7Xsju1)HMfFoSzwP^n#O+Q)a!K)b{`@w)1eCF(U!9nk+5C za!9MqsR*dd*(43|`akeCjG7{}Dv?Nq5rNCBxL5$yhS|Z!RM3wPP>R)N$XE9N0PUXv A-~a#s literal 0 HcmV?d00001 diff --git a/html/font-awesome/webfonts/fa-solid-900.woff b/html/font-awesome/webfonts/fa-solid-900.woff deleted file mode 100644 index 77c1786227f5377318cf4f52fff9f454874651b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98020 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�Yw6(>3h3Ki)UqBdO#joC{%U+==re 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