From 187471f0afb0f8d678a1b275f979645d1c30076b Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Mon, 8 Feb 2021 19:15:44 -0700 Subject: [PATCH 01/13] #1 --- code/game/objects/items/storage/belt.dm | 39 ++-- .../food_and_drinks/drinks/drinks/bottle.dm | 10 + code/modules/hydroponics/hydroponics.dm | 12 ++ .../chemistry/reagents/other_reagents.dm | 15 +- .../research/designs/biogenerator_designs.dm | 118 +++++++---- icons/mob/inhands/equipment/belt_lefthand.dmi | Bin 5005 -> 5597 bytes .../mob/inhands/equipment/belt_righthand.dmi | Bin 5017 -> 5565 bytes icons/obj/clothing/belt_overlays.dmi | Bin 4840 -> 5516 bytes icons/obj/clothing/belts.dmi | Bin 13482 -> 13730 bytes icons/obj/drinks.dmi | Bin 101900 -> 102172 bytes .../packages/tgui/interfaces/biogenerator.js | 192 ++++++++++++++++++ 11 files changed, 325 insertions(+), 61 deletions(-) create mode 100644 tgui-next/packages/tgui/interfaces/biogenerator.js diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 5f6c0c50..bf66362d 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -878,29 +878,40 @@ obj/item/storage/belt/slut/ComponentInitialize() /obj/item/storage/belt/sabre/rapier/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(attack_type == PROJECTILE_ATTACK) - final_block_chance = 0 //To thin to block bullets + final_block_chance = 0 //Too thin to block bullets return ..() /obj/item/storage/belt/botany - name = "botany belt" - desc = "A belt used to hold most janitorial supplies." - icon_state = "grenadebeltold" //reusing the old grenade belt sprite, can't go wrong. - item_state = "grenadebeltold" + name = "botanical belt" + desc = "A belt made for holding hydroponics supplies." + icon_state = "botanybelt" + item_state = "botanybelt" + content_overlays = TRUE + +/obj/item/storage/belt/botany/New() + if(prob(1)) + new/obj/item/storage/belt/botany/fancy(loc) + qdel(src) /obj/item/storage/belt/botany/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 8 + STR.max_items = 6 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.can_hold = typecacheof(list( - /obj/item/reagent_containers/glass/beaker, - /obj/item/reagent_containers/glass/bottle, - /obj/item/reagent_containers/syringe, - /obj/item/reagent_containers/spray, - /obj/item/disk/plantgene, + /obj/item/reagent_containers/spray/plantbgone, + /obj/item/plant_analyzer, /obj/item/seeds, - /obj/item/shovel/spade, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator, + /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, - /obj/item/plant_analyzer - )) + /obj/item/shovel/spade, + /obj/item/gun/energy/floragun + )) + +/obj/item/storage/belt/botany/fancy //I like citadel's botany belt but I also wanna keep the default + desc = "A belt made for holding hydroponics supplies. Oddly enough, it's not green." + icon_state = "botanybelt_extra" + item_state = "botanybelt_extra" \ No newline at end of file diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index e4c6ca9d..77be5c29 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -396,6 +396,16 @@ list_reagents = list(/datum/reagent/consumable/orangejuice = 100) foodtype = FRUIT| BREAKFAST +/obj/item/reagent_containers/food/drinks/bottle/bio_carton + name = "small carton box" + desc = "A small biodegradable carton box made from plant biomatter." + icon_state = "eco_box" + item_state = "carton" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' + volume = 50 + isGlass = FALSE + /obj/item/reagent_containers/food/drinks/bottle/cream name = "milk cream" desc = "It's cream. Made from milk. What else did you think you'd find in there?" diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 9c594260..a3ff3884 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -651,6 +651,18 @@ myseed.adjust_yield(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 0.02)) adjustPests(-rand(1,2)) + // Enduro Grow sacrifices potency + yield for endurance + if(S.has_reagent(/datum/reagent/plantnutriment/endurogrow, 1)) + myseed.adjust_potency(-round(S.get_reagent_amount(/datum/reagent/plantnutriment/endurogrow) * 0.1)) + myseed.adjust_yield(-round(S.get_reagent_amount(/datum/reagent/plantnutriment/endurogrow) * 0.075)) + myseed.adjust_endurance(round(S.get_reagent_amount(/datum/reagent/plantnutriment/endurogrow) * 0.35)) + + // Liquid Earthquake increases production speed but increases weeds + if(S.has_reagent(/datum/reagent/plantnutriment/liquidearthquake, 1)) + myseed.adjust_weed_rate(round(S.get_reagent_amount(/datum/reagent/plantnutriment/liquidearthquake) * 0.1)) + myseed.adjust_weed_chance(round(S.get_reagent_amount(/datum/reagent/plantnutriment/liquidearthquake) * 0.3)) + myseed.adjust_production(round(S.get_reagent_amount(/datum/reagent/plantnutriment/liquidearthquake) * 0.075)) + // Nutriment Compost, effectively if(S.has_reagent(/datum/reagent/consumable/nutriment, 1)) adjustHealth(round(S.get_reagent_amount(/datum/reagent/consumable/nutriment) * 0.5)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 69934a44..fe62eef1 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1606,16 +1606,21 @@ tox_prob = 15 pH = 1 +/datum/reagent/plantnutriment/endurogrow + name = "Enduro Grow" + description = "A specialized nutriment, which decreases product quantity and potency, but strengthens the plants endurance." + color = "#a06fa7" // RBG: 160, 111, 167 + tox_prob = 15 - - - +/datum/reagent/plantnutriment/liquidearthquake + name = "Liquid Earthquake" + description = "A specialized nutriment, which increases the plant's production speed, as well as its susceptibility to weeds." + color = "#912e00" // RBG: 145, 46, 0 + tox_prob = 25 // GOON OTHERS - - /datum/reagent/oil name = "Oil" description = "Burns in a small smoky fire, mostly used to get Ash." diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index 20242c91..a08aa6fc 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -2,8 +2,11 @@ ///////Biogenerator Designs /////// /////////////////////////////////// +//Please be wary to not add inorganic items to the results such as generic glass bottles and metal. +//as they kind of defeat the design of this feature. + /datum/design/milk - name = "10 Milk" + name = "10u Milk" id = "milk" build_type = BIOGENERATOR materials = list(MAT_BIOMASS = 20) @@ -11,29 +14,13 @@ category = list("initial","Food") /datum/design/cream - name = "10 Cream" + name = "10u Cream" id = "cream" build_type = BIOGENERATOR materials = list(MAT_BIOMASS = 30) make_reagents = list(/datum/reagent/consumable/cream = 10) category = list("initial","Food") -/datum/design/milk_carton - name = "Milk Carton" - id = "milk_carton" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 100) - build_path = /obj/item/reagent_containers/food/condiment/milk - category = list("initial","Food") - -/datum/design/cream_carton - name = "Cream Carton" - id = "cream_carton" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) - build_path = /obj/item/reagent_containers/food/drinks/bottle/cream - category = list("initial","Food") - /datum/design/black_pepper name = "10u Black Pepper" id = "black_pepper" @@ -42,13 +29,12 @@ make_reagents = list(/datum/reagent/consumable/blackpepper = 10) category = list("initial","Food") -/datum/design/pepper_mill - name = "Pepper Mill" - id = "pepper_mill" +/datum/design/enzyme + name = "10u Universal Enzyme" + id = "enzyme" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) - build_path = /obj/item/reagent_containers/food/condiment/peppermill - make_reagents = list() + materials = list(MAT_BIOMASS = 30) + make_reagents = list(/datum/reagent/consumable/enzyme = 10) category = list("initial","Food") /datum/design/monkey_cube @@ -68,52 +54,92 @@ category = list("initial", "Food") /datum/design/ez_nut - name = "E-Z Nutrient" + name = "10u E-Z Nutrient" id = "ez_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 10) - build_path = /obj/item/reagent_containers/glass/bottle/nutrient/ez + materials = list(MAT_BIOMASS = 2) + make_reagents = list(/datum/reagent/plantnutriment/eznutriment = 10) category = list("initial","Botany Chemicals") /datum/design/l4z_nut - name = "Left 4 Zed" + name = "10u Left 4 Zed" id = "l4z_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 20) - build_path = /obj/item/reagent_containers/glass/bottle/nutrient/l4z + materials = list(MAT_BIOMASS = 4) + make_reagents = list(/datum/reagent/plantnutriment/left4zednutriment = 10) category = list("initial","Botany Chemicals") /datum/design/rh_nut - name = "Robust Harvest" + name = "10u Robust Harvest" id = "rh_nut" build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 5) + make_reagents = list(/datum/reagent/plantnutriment/robustharvestnutriment = 10) + category = list("initial","Botany Chemicals") + +/datum/design/end_gro + name = "30u Enduro Grow" + id = "end_gro" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 30) + make_reagents = list(/datum/reagent/plantnutriment/endurogrow = 30) + category = list("initial","Botany Chemicals") + +/datum/design/liq_earth + name = "30u Liquid Earthquake" + id = "liq_earth" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 30) + make_reagents = list(/datum/reagent/plantnutriment/liquidearthquake = 30) + category = list("initial","Botany Chemicals") + +/datum/design/ammonia + name = "10u Ammonia" + id = "ammonia_biogen" + build_type = BIOGENERATOR materials = list(MAT_BIOMASS = 25) - build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh + make_reagents = list(/datum/reagent/ammonia = 10) + category = list("initial","Botany Chemicals") + +/datum/design/saltpetre + name = "10u Saltpetre" + id = "saltpetre_biogen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 75) + make_reagents = list(/datum/reagent/saltpetre = 10) + category = list("initial","Botany Chemicals") + +/datum/design/mutagen //This is here because I'd like it if botany wouldn't rely on chemical dispensers to make fancy things + name = "5u Unstable Mutagen" + id = "fabricated_mutagen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 80) + make_reagents = list(/datum/reagent/toxin/mutagen = 5) //suffer category = list("initial","Botany Chemicals") /datum/design/weed_killer name = "Weed Killer" id = "weed_killer" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) - build_path = /obj/item/reagent_containers/glass/bottle/killer/weedkiller + materials = list(MAT_BIOMASS = 10) + make_reagents = list(/datum/reagent/toxin/plantbgone/weedkiller = 10) category = list("initial","Botany Chemicals") /datum/design/pest_spray name = "Pest Killer" id = "pest_spray" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) - build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller + materials = list(MAT_BIOMASS = 10) + make_reagents = list(/datum/reagent/toxin/pestkiller = 10) category = list("initial","Botany Chemicals") -/datum/design/botany_bottle - name = "Empty Bottle" - id = "botany_bottle" +/datum/design/empty_carton + name = "Small Empty Carton Box" + id = "empty_carton" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 5) - build_path = /obj/item/reagent_containers/glass/bottle/nutrient/empty - category = list("initial", "Botany Chemicals") + materials = list(MAT_BIOMASS = 15) + build_path = /obj/item/reagent_containers/food/drinks/bottle/bio_carton + category = list("initial", "Organic Materials") /datum/design/cloth name = "Roll of Cloth" @@ -163,6 +189,14 @@ build_path = /obj/item/storage/belt/janitor category = list("initial","Organic Materials") +/datum/design/plantbelt + name = "Botanical Belt" + id = "plantbelt" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 300) + build_path = /obj/item/storage/belt/botany + category = list("initial","Organic Materials") + /datum/design/s_holster name = "Shoulder Holster" id = "s_holster" diff --git a/icons/mob/inhands/equipment/belt_lefthand.dmi b/icons/mob/inhands/equipment/belt_lefthand.dmi index beac56725a8932ed8feab565cdbec8c2e1858800..a694348b49c30d771b30a94b7f82e9fdf424560a 100644 GIT binary patch literal 5597 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

Nr02BFYw5~7KRMAPwLW^t@+pyp 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 MJ}667OPB=yA9V`@H~;_u literal 13482 zcmb8WWk4K3(=Ix=y9Rf62?Td{ch?Yt`{M2vG-&WZSO^l_-6gm?1h?RDHt+YHALq)s z=lYnPSp028mR#TBhLncB7002#1PD%q(ZbCj?i13ha(qN|r0Dw~S)zWj9 zvUam{wRd*6clrzf-Z^Psx>b5PP$MQ!HKkVG^}#QgOwrZ%{zXn*$)p=|V;U^HIsJf& zrb5$9J7YW8N&4n+-4ZC6Gj`@}C#wDp$Nd@Qp6z{@Un6(6oIDl1=r!YPpd!=*>eI+vcQ+AtH=TF`a&dDvu&1F`_4L zVyUGEQ&?k*2Ki$Vy2xoPH_6Gzc9AW@Uoq&C7P1h!_s2cc^&g&|HK} zJ+M|BT2jn>TVVdT{joOru7^Ou^=508>?*%Smtx98YnZN<+heP=x98FWNsZUJX|G|X zx7af;360mEj)GQcosLVal#GGX^{D!L=dT^_Y4!+Q>Gbz9lE{|!o_@!~@GbOyh|K`e z=YWG_7}D7$D9+!cZNbLg72!-RA+06K$fL@8|u&$Yyho42zXAy4z>iFC+g3uPGlUrybyAhTU~o z-7sx}`7vv~Bdzf;lDqWXihw6yor>96qbWlbNC&|G|d(P;aQugu;pvj5jmHFefv zyvr@08q_mgtyk)B-L1k?a+K`{Vkp6ty0}ZA>T?o;Nmxe%z^r=$A-eBkH~U6 z0E6aN3o5~?oX3Dc)YS6)ah(=(-~{^&OJ{X2cdXe}L5RgZAiEq^mM^(Nje(5CjrjnW z*$9|!7y6nMfSHM{=ET7{dHX=n27$7KOFUW-7nCgxYyX;;69KGm;OOt&TDs_&Np1AOKZhFh63%IUt1IXB;#$wz`FZF|Dk z-+Q}1B}Kn$Qz&1aO_X&a#R6{|{eTCq=xn^Jkf*N|@lU+~b4*>+G^&IUUUlK0Y=7lD zqu*XyrPWmLaXBP!UcP_=|cY6Vcx4IA$Lr)hvLQvmESH6Z@u8qeEv3zkG= zHrmp*N)Am|=k;>`bn%xH`Fr6e7`gB8pf4L!Qxt9ZPOn6RUw;)f-P;$JlrS>A)t^$- zmj?DLhax}$`8VF|rUcES51$D>PmxNdox1&Y_!Kiz8phsmup#jZ&Qd`T&%*$U-0Pjmr(pAJ(Yd*lNz#N?9`JnLnJhsTzS7v7p z=7KeP4aK3~{$M+PU|pu?TA;0J3YneZP4*VZf63<)o6PqtUFdSpyf=e0 zP+*-~WGd*cm5tv;Dsmaz2W9h;2y?==u#P&8eUXhcu z;t5Q=p}xL%#7^kEnNd7EJOqHuaT^kTXQ02ozvp3ZG^41=TSg25HcRUPN;7DipYC~^ zhTYZpO+NZ#IbxjxL9m8Gk5ub@D8}!N@K+MgTfR95o+zsEs;X`G9mJaCn-F9D0J zt>$a3lUWKdj%?@Bm&Co^Z)=x&?_)O~_*ka)1=JeK$m>V`u)mvFFaW?&QpHn;GDW*# zg7}tme&<_Yuhn4H^%X`%2{1GnJSKw4_m9)e98~1epjU-Bxy8RXZbQ%)Ww!Tcd2iQ| z2-dt2UL^LL90;&eR1%d~QmX-<5f$nGIN#ynm}ReG0EZt)!z1tJi#q0F9(91tlGv$_ zNkr9E1UC=LlWuw#KN(ZrUSI#}0;`F+f?gJv+x_=zKLTCk12?od8FG5 zOx-(sDT$;AkPa~!qYep~LS*h}k>l>n1H6QQ0+tq1zlildq)1YF0e9d8pem50iGcsC z^BbiF0_7wStoyo_5D8JR(Ej|b0a0a!8W`<=%3oAoKo;GDX!`v-9!gBDyswz^h zf4%7TQ?ef-HB+LBRM~iAyZTPh^b0yYSyUNSz|1uRAja24 z{;L451@p_~C^r|Tssf6JbCR%@2yAW;%-Fw%Y@cQs@#9t>{mFxS7c(f zECFDCFZu_?r-$AwlGG4L@c#3(7zDqqD2JiTKvZ5dC+|ghbVsk6hnq0`_2<@m^!qZ~ zJh$YM{bU5|_>Gqs7=4<@06v+4m%f9(!I$uuMgH850B$$HJBi#@IT1SfkDK6HS-pOkD?o+Qk1R#S<#jzUZyi<^jJa8SB;(m7eFfP*# zXFSup+EUBvnnziA;tP+sSS{#A`?DX~ru0|jfO0DIwog1E13`&N-I?URqd7cOwCVf? z5w0TTU-Y)^9SUB+R?Krlf`s#Zp>?Y5u>{tFZr59`@e@ zFA!ujT(RX9RH*P0L#>ojeq|v^3NP-+iBhDbqz+wNa708zaG3YN8Z|jX4G#~OSCv~$ zS|+H6bf%~yW@d7#-}AXt|0SV+HHmv_c565Yx$5@Y8rkdNJ%4Liba*(k4^{6V>AOmM zSr7TTkq|m<*SB$2(N`bqfrHw4$qfCyR&=c|E}Dj(9^v%#)Xt49G$Sb~=>Fb2!#!^z zU&x2c49T>~^+WV5eSxhv@O9!XvFd6ev6HN{M$Y|jgE1~r|CN3V%j!+r(QYK+i%GlT zR$2>jXT)_fJl2M{_I(6eFhAKwH*Ldy}{0`ZzUdo%}&VM5R8qDqvGSG zKW`jQ#rnR7{>L7blu&ty;xDALxNQ^E0`&FYv7{&Ga{CV-YKt}8m3__ROpYo-dog>8 z5&Q7r1KZ#ig#yoq4(ALEAV6;Ve6CfT3N?r=F5}1OD4F0kA|Wx#B5BtYhuN_sHv!^rqG*Ez4hnf5(gmvQ& zvzSUfRJ<@?Oeio1%hD9`R+Ep(il0l0k@69`lnwy<7d?x_)rzUsy{P~}as3d8>Ue3!1i4!K?KTMTH5Xvt+}>_IeLtrSe0T71(q-1Q z49f-g+k%?G>p)yS^!v?t?|bc61;h7A$?<#!l_e?65=>W@SNi5WM3>W|x)!dOqs3R# zL+RO^8cqURgf3L|*SLX=rH749+0<(Oti4F9lvm94Y&f*7#|RefN%B45>zagRK&D z2g0D_$C@(SZFSy)j+3E|ld+sC$}js^LSIp8vc)7T&&qGbKyLqjphdwh2Dl>oE;c(a zG%RFz4s}#}=~HD)t*(VcmpUvhQ8XQeA^MD2sq-UcjGNXLxz^xE!Bv(LT_N%@QvOcR z2OH`Ljv!6V&zMrMGUuvZEN7C>qo1hvZ3eb3vQ*l%Ou{zIFkXxLgXJ{{GQ_pD@lsM! zI09cmU((Xd=d1J&M-Q*>Wpf1_m=ef@V;-&#irU-P9E$YW{5n??nN#R?e)d&(BX&I< zDVvOTwo}7p(5gruMEinfK}71}8saLuDAKJ?w|Ep!Yp>CKz7J(*0oApUoe`bt7Yk0I zMd~aX2uAy>HltVOWH(qd4>N<;VE^|(typRZ6U%0mOlfd&aj{tC9P&y6*ra{A1mSls z1Wx(}2Ya`iyR5hhD=LN^@N_i9T13}yFIFtnv6_8E5kA~(mA@P%Y)O)QKkqGk6xkvY zkh0K_E&OJpCQ$yFE6c1_4-==?Nq22!CHCKhz+ep7L^3#FESnd_w|%{&#lBWg?07># zKx|?zZ-)qcLX%N;uvJ_F^?}nqAT4laCg>&%_qnK=Y7?EXfr`9KR&;q9`r=gZ^3KBK z3Es%F&7rUIGeX994&)fxn~Y$}y({%q+8cz{wKGi-F&WtB&OIHaKR&pzT_|(&i$Soe zPqY0{Fv8WH2WF?LWwS?NwRoZ36ricMe7B;$GB?+$l@*lG;Ej|;i(0WVl=TQ>mjS|@ zdY(9@w{y4qaR%}l5SKQVku1^QZ7M6vXS#qlh)R)Y0gL)%xJj4FaBz1KGRMga$`EM4K ziD}A%qA+a9>|d^?8}nDIi?zx=X?196ZuVkZAT_IAoBjQHU}Je8mnSyj-fSaDEgOj+ z@U*f)B_w3Tb=uVxlq5UR;4dRa)LkCcugsYlHqC8BXQM>3afg%W1Jm7(@@90}td8bq zfLA;>Z|3>r^|#sc`hkgDcOU0YDEKOWl-0ZH6Eqn!F@018#`dL~p4><#*Vd@PMLaQ{0e%l}^% z@Xu}2i7#k$uy?t3=65E3bNqb9GnqOi1lJyBNUtBzBfMtkCrkufVEKsfsG1Yc%cTcS zl1h5N2p?!fwHr!k1Z0~$-o2#?o_7a!j=sGTKT2FbZ8STSSv|CRp7xCMZJ+{rpzH0V zFQQK>N36eWj|jHyHcSAqht>v4#<%gY_>?{Jwlki9=XafyUEm2J+%{hGz8TuX+o)~+ zLw@uvLZtl2basNjvZJ7L;riQnmSKW_P968;_9-zGw87v|c#=U=fjt0J1m`c z!?_XEeNCcVNIEFnAzFM>3!9%2&+3E zquBCg`1gF*-lM$zfgFjbG+^iEA-#>o_IU{7>#huTs1a0nd& zl+Wy9)p9%^T}dKqoY77i%{ys9+-}s<4&OL734?kWqgTJv#%B{bNBx%iHaX1>VK&4Z z3syZ_d1Re?g+~i6?N-&-L<&(HH{UAxMx1=?9%)wvupJJi1HoXDJo%1~0_3;P@n#b@ z!elvc6)F^h0JCFWiutKnh+GmS2HnD24bMMzk&;0~i@s>Um$lw-FjKOTS{MpE zrntmT=(^$f{K36@1aBM2RGW#37%;1&TDF6|(SfiT{GFG(w{~l(4!a_(8pc!%;Lo2w zNqKn*xvieqOmp+wKTJkVYeC@@`AeTHpjGe<@bF;j_HJf za!@mrj96`$I>%OWOuprH;zsINU5H=EO%Z}tN0ivVYbJtXB)u%BcV>=@_z1V&j}qZHxmVoMajX^6h4JwV3? zSs>kJGZ-~qf8=3*inPkRt23qYPY6(Z07;AG=W@6y(@8m#pyuQ^a7dU@OR3|fOB7{B zpoFHUo&{Zo<)ZeAM@-KhBbMXPH5VXeU+~*eJ+EvJnjZ&S)@bVE&C6$#(J(1s7-zyq zbIuTlcz^5XiYhcmczk+-{u3q-5fNhg2I7eibl2zSb);luzSY)p7N`(fO3?5Kptm4G z+%=Mo=KK*+-_^FhEA@Xx*Oht>cF46; zAU~#`*nc(schCP)gpxb}SavhzczaXUk@2L$fBzb?T7~ z2-c2s9=``i;jIeDp}_e^`SK7x+HT98I3B4ZkH*2|OIZV(SeRDnuON`ThQT zOrswBwBv2(!Eb_k&3;|&`i2H=^~nl$n~f~-Z<^l<`25};o&?~h*M5`VEO9v5e5N_t zs*pofy~wV%u0it%jsNMV@=~RH8B!tNNzG4e%49v{Dl>Ow$kM&!t;M+Q*fduFmR!s4 zwB~5?6Mby>5c>-F7)AH)~gvzCbT50b(h~-_vdm?tRm&HK6k!plxdT~tW%0x(YDxzft^pD)kvlstx|sfet8m-13vu2mq)rg8IvH-JtVi-T5@NL zBP-_U&OEgCm>c<)*in=s~lTs`9x$l1-L%x+b)ZP@XEt?_}{a5 zjEzOvQ~ad9LVBb37m|4Gg8o#COnv+@vpx+6cRds@nin&BJEMrBl9v>uijkMJhW-UN zX~dQo`cR|5Rr(v2S`ieL`v@cehV_IQ71}A^Of`)-WY6zxkV}PB0fMMBmx6iS;#9zQ z|6Kvi?dgE;Yfebx(MQDv1wctjNe?Fx)LLPPFLs)VWONv0sijzQ^_WbX4pN!7gmB~n zq=f!NM7pf6hhHx1LF8^4qE|tYyZamy$&P*-1d(}|WD1^!0$9D@skpz{L;|Qu+0O>| zkPjP>iHLg(E5h$tF_b$UP~<+LM!w=(8~<3&)I)7-{MVZQa>6Wi&?ZAM6}9gK`{k<% zvO#+>mNH8bA2KpBES9jg`d(66u5=1_s>@an+|7qyB)Zs8x4yz$+}wqe^QqZ?h?W9n znTCWk2|jG>=yRDu!?`^t%7_C0#JKlOgdQSFxnMHO2&bS;?yY7G`!BQ2Mw={|A^pG~ zxi%Ai;SxO*@E4Ejzq}rhUp0osEAXzEvfV?Ep8A@1%TSSiCM9D-tx8dL>hl7SNNjq# z!0I(TG@hzF>`mj329gk3EJwrTBE-$X^kAMpP-5=T8v~+yIv-D5Q#n~qMy+*;-|yqk#P(0aKJ4^F3a_&5K4?v)_$CxT z(tG171eEfMCEZ6^`lKV}1C;ZM|25e)$mqN2CiPS9jU zs*dtbWLFjEBcw>UJHxp1){LY zWcU#a#E~zLLNux)xF#?D=O|#Ti+$crPe)1`TCBs9zu=Ym&-5{SMOvaDcG=35USX3K zGhwlaNSGAxiV^h9RntJ>&DE~3zhO*AaHn<^ zI|?|8(ejhc^*ae^8Ri-~Y(dkxTxWZ+;60}YnIiQl5D&ISVG=8Ac#_PQ$&U>!Mylw% z#W4EjHpP)}_>k=>Ad3oYPC8z_;s06_BKOtgQBX`M7@vuqNudTdxnAjS^Gewnaza;ERTqU8 zg%7Ki!KV_bNqkdRPyr0$EL3R;e?1j$6X3aEDfhkmy*Q3!*{I1ZfMP${w7&uKS_{q= z!`~|_lXG+9Ee8|CNtXJ4Mi;GyqY!Yo?JH^N>cVWU1nX4dy}I|%$k?e_?z~-2{b3NM z*Og&1#kZ9qy*JS|6)v-Qb*M7VW?>yD z){76OW@W>4RikK2?4e1c%1*_LrWxdHc!=OA?X8M>qKitgF9DMrN#V^ic{FNZ%7WPb zk?wf*0upfhS)EGW9jN2i(<+2+ITY+!JoS#vogxoi*xUD9gm_@3pl!oV+;Dl>pB|a= zZ^Gu;_XR3|E!Ff*?_hG9VqRfG&D#7i^pxSfI#07jv!#*z0 z@}-8Raql!bzKgqCV#*EScu~F4-JfkCoFVUad>4>eUlJSYX*@awnV2AE{`cSpzZ>+C zU=cWRxZ-QEb~I)dhD=$zmI9O^GoV_+R}dc=!e_3Oo;9&^U+8jvCB|Ks%7#UwJBhu0imVLs%4fpzraCVC8B0!D`W zbB)?Pdu?WBgo65tQ!g zX>GQhZ(t*cP*4C9)!x?;8=#5d3eVVBs^fWkRDDm56a)X7KJ-g&M-w@~cZ9sRyXATT zJ?>X)ReaS>dgq2p#@IV=dd=L>zWN@CoF%K^-mA1RY`0-)mycHw3V3rl_FTOjU>8zo zvKZ$sh6q$}2ixIWLGZO>E$FqwQ;6t+s%dVo+wcpLv%>oY?X^jCU01CMH4S$UEY7dv z3@t5oTKYHM3^X~S?}~4*V5&ELhx;D^{ym)H*30xb(b17#MLMAPBv~mYQ%Omf>P)QI z>dwHhkdTdn`g&Z5JYD{NCx%x=S)v*@g3R=rHg4m)APwx9sko~Elabh4zD=DBHwV5| zX=DPH{+E2h8jn!}Hqp+c-+B8bD=m8%IeHy12ntPQCZJfQw`tVhIYQ{4)9OJ%&`{ii zmn-2uG43};=V~V3Cjo)jD>m~{a9nJPr>xWwfb#M@l;433Da0Wbb_4WH{Uj zMSa_i836QMsUHDm4+<^oNS&{T9cg*j1fAXNgSHT%2MoDhNthr(#P-+aU9o0Yhp&$L& z2zSSasBP->xkjdUe7LXV!pWKSh6{6oo~RM7oVG(L?}4V#|4OYAW?wCWoE@w~x@n<( zLt=a(X;tg`wusSTXIIu8dgACLTSXg}JA;?5D>Oi`tSIM41#hrDYs}NSgn_|(!1n9; zV&G0!Fg9D@*2k1DIa1l|JZ|cb-Zys*md!62-bw=={>XAG9{HrzyE+>@u_tfUXq8Uc z(k4&4<)av<0V+9@Z{!QykfoX}QQkb7#}3Cizs_ zuXfq4L{IiEv0f7vQ~SQ}x4nQ27#AP0h}u;6VY36tNZuYPi_d8rWq=aE()bFilYN5D?cwczkdz8LO=13H@w+4 zq+zy&PscAF?ZA+SssOor7dDoBB|sIsT@qlk{LE9ReufHfJYkM47f~nd-G5VDAg2e} zyICUs0zp_v?d^keh)YR*{a-llA{dMe&87WPjWL}Ty5j+$)%sV`XGqeMbAZh!f^E(E z8r^pxzU=E%rV#3uKrWgvYHKuM4v!fFkq`|@x5_7?-VBf(@w9lc4D4G*`#QWoxZt{? zcq|9ebj!!YYVqOMQ$6*uyM&SE(gnnOW$U`B>Q;+Kt508HHT)YBT0ft;Z?CWaE3THd z6xjX&d!yM;4mDLcofz*XO6J&eZHG^vZXP;*{?r&EM#f@~2-Bn^Gy_9Jax(OOalx-7 zl$y5*@ zaNpk)eo1uYq{YSHZEL841)oexZ-ta}!6(r&Dyl_4)znku8mf<#6-nZDR5R;~RyZEP zcTGBT()S}#`J`ZM3YytTJ(vE}AENI_@0==^EizD6M*H~jqg7{_k8u1u_)u5qvqWH~ z`z~QZW>d2?Czpmc|E%19v-;qn(-ahgzifn%KK>DRS5SKcWv9o%+{l|1K-3<$t|KZO z_u!{4fLHZ5E7qRHE+OT}quR)Nx@!8-*`c%udvoxXSJ1Kv|bOfpCa(tXJw{c%& zg6{#!`762UXxhm}LJyqc~~Q0basUk&kQtxrY{ezR?}U zBKqHKzF8-r4DzLo4`p7X^j}36sHp-# znE3DAK9S{I>3;^HZu{i1B~K3bM}f|aP$482xVV+1_-AR^i`zm|URIz0)sB07O7J)x zAWD|W`2nY4@O9AxN$( zB#kP>xnAHqWEm?9;=NzdP!c@);YnWd7B65cvTLz7etVf;$h~tl6zw5@yO(XMf53cv zpHCve=@>8588@7zC-WLKV($b62nYz8C&czz-o2#wUG@J$Bn<$9jyB$~X@|eMSWS9b zjXg&X`V`^jL)*|?t#Hn&5c*a%mJlDmU4Vfg<;iEkLrxbW7ZF-fp0e01qooN$$UG%Oxk79!eewz^7O|`Ku2HdKy|$%r4#SQKKKml9p12159sNa|l-8>%3iHo!i}wZ5S|Bncp5{k ziKqQHcVO@c9UO$}ip^_ryDXbcMkPzu(83x?-*BQ6@?7?TF82tm6lLc#@m1qu!~BEq zVyf3_vgD!<&>{9R@9|@?;llU|E$T#{NGfg#U-jMr}avvl}TxtOOaa zFM~%;x0&3|0*BOV&z#k;W9)+yehd0mY$EyM6VdUiEr-=+Mv&Y70Tpwksn_RW$LfQ_ z%MaI;E)@KC17^>gmwrq{YqxdI-5MD??j8(I$EI=eY(HA9pS#p}aBQx396o$<*3MvC zA5X1 zJjqV;@DL6Q0l$QkC3ICs;XAi&kV5n%=Qr|D!WcI*h6yOYGUIsy<&8w~z600}PNYyQ zrZ$z> zR`$wFF0DQX*wvfePN;~A=KJDobs;syZq&p^v>4k&_fp!!-3y zd?513+-qnt3=3v!e0aN(GsA4F}-0#v7Zv(gnxKg0! z^F%`XijA~Lgd^+gFAon-`hHh10znm;np4wD(djlFz8RUg(U2SKxvp54$Cf6(I?&^< zf$%EKL`CmCCsBNB=DFAD_lk{jXt%nnrDp$!__&~~t;t~CA3&K-;fvTYH4RSSx^ z30TKrI0l;&ZdnaGpu2{IrXV<{74X#T+)-4A!=WTip(;CtxG#b>F8s3uvRJHx2I1%J zo^2e2mat&+BFNdMiv#b)za8lLCm2NkET>PIry*6xenTj+#hRMJtv1Ei*N*j|T^wrs z=~TV5>6GEYCfth$9$5dO_m-}uYI9?mIUksePmj2VzVgn@7tKv@zJ1zU><}ElAX!SJ zZWcW~W7C1`aVZuX$QVmgkszcYHN4JzgfY`5gRAH}Jcm52>QbvkaXhy8R;y<*b3aMQ rze$*SbfhggwEpKA_2O2-g9OM+t4LK#n1%cgTw25>>krC!GkTdE#HS0pqTXlQ#Wm5_% z=L}N`zK(ol+y?x3YP`R|&D%#GNn2IfE&IZjwUw|H1%r;T3}&i$i9*~?p^C5NrdFwH z(NfQNNe|7WK@ioOh7aWC-xG)^o`dkzm5F(4Ms%3zpk2M_Q-#&=;+Cd$rVzbXg_BpZ zb|yjGp#*cwN+T^HqHl*rv94Hu+2vRzDs{RF&{T!tiKzc`6=Ltc8Xj$OJb+3p$cdJ~VcO-$9rFWy|L@pbszpx5 zaoO*7YsEnghP+!k1$K1!uU&}f0(DBH6kPBlOf1IfI6sdmOuL8iF`wj4&fNXUl-UsT zr>siWp38*|?SjQ{jwECexY;Cnb$H|O9+ z+&iY(LuwZ)a4Y+BCcuAfiOAb~b13E|nr%X&7|IKX)&>fhbR?Qb$V_=U8>?}KeI)54I3r#Fv0>%|CS z3=c@zLhhu9*nUm2iLU3wSTZpC)N3+Em>juv0zpSAx-F9`lyN*-BL+zC@Dym8>>1OmG3uUXvS$-3vx2OM!Imd|+!A#KX)81xeY~1=`Nj-+sNDrrz)qEX=DmzO>U(LNWtz#xL#Ueca2Bc$8pPZOm*22;`CaKv`4BX zdHXXJ_oN2C<4&F-w@fS;ffjLpifYz%cOc<3;a-Y+>F-rgqle04ibtG`;oRl_3Z|8u zQ6Y)-b3&Gg2DkCZ*gRKODWS|dp2W(8#fC(N5q0{tefXhdvcdwchh(A1wCj0Ptj5XV z^&;ILz$YMiu5zlfaZRPZ%q|+QADhcLSk_xDYM%yvw@lMU{kokv^bJyS!l5J3L)Y*~GnbB3?Hh~FC z9|uopz9bWb32$4;YU`9g(=e6z;Q7E?z>``=vv!upX!3wD--Q8*{SumLm^Lv@F+tc$ z_P*W^1TTHgO&(>^wPa|NmVwOt;bHP&wTX@^!}4QPgkAf8F}?gU5*-kzNP4gc$HMBWB_ zQFY+Hl22TQfWHbahay z%B&tc^j;uv#f)xvZrsh!#gg2&Uo=d3R1DVO05l&m46lTQUN(~tN)a#MyRQ$AVhJd`hV^&WlpIPJe?Aph(PfRnf^tUBVp`+rIf4GC5i zA5JlAftTjoZF@9t9(^dwzAorp&uA?Hg{sm0_nV8Np)H`& zb?4s&|2-hVf+w*gwJ#>KA2FH)A)16V`)86++_8rRjugG~hpr+{_sV-s>_(BBxVZ0~ z`;cXoZYJc#m!B0yG~#a;JTbaTeNjv~y3v?N+E*`FMFF`frnFB8{}=SE69r=<)9+$e zKVyDx5DjvEbDYil&dGOy{q}H_`uXVZSB=8?fP?lEP1@IO!2iVd-wCv)nD9H@dx8%YwtfhF+m z!LkvZSHj{z=zoGYd)w7zt?N8m4eyI(Q{)LR56aBiS;Wq(C;}f5D*W%#>n@hV2#rAF zGWghmNBlZG_L2KQbU1T8?XGPrZM;b?|H(DvKfbXT%7gc?|C`s>2LGQqLdl%}2Zt5x zD*5^;>xJ}MWtuR3+AtOzP4WLd$WhvRRy=Q)49qSlkV(k^^jB47rRt>%I!a>rIgGx- z_w-qyL!tnf+1c~6~T+T+sqs z{W<6>*GVlk*gR&!k`!jNK(C)$hw?C_Z9yt0jBHmEvskylU(XK@nF{eYODr@r7z0 zE2RNOQsML^Br0Qjn=fS8s_x}nqynO3lc~qaW;5;ENgmtjIzd)fDA=2luPpOVC|nzK zJwYm1f2Mo_#tG%OPj;d)^k>Qx3ix+ike<&J;j!+IY5Ugkw2XwCKhPnNLkMzElaKFa zWg(+Qa|O^bfy)BMbA8WWGH1jJFYSppHf{%7)#;874_k!RQYTjTbFLU`XuP%RXJ%#H z@T93SKBj0`-72`{F>APznN%QQ_b%j6`7p-tgLwMdDJMwHC`s*w*atGsb9mar!=QOr zNf0p_D6<-MFU1nmqU=v@8-$ZJNNW~#s7@}^jaRC)5_5PfYsy#F(vpFaiV6r&R#xsG z93-}2Y|ljG=DwD)w6q*2{E?P6bjfFfoNYZ{9Z{a=ySwD~m_?NxIq7U~vExq*MkYE6 zOzsrrmDMTY<&3sibs{jwr{_yT)U20fa(n}5d*yV17elqE=XU`O5SuR!=zwxgok;Tl zDI3~ONut}^I~k!z7FWS-hIdX3yoODv9SuQ0C*|;q;s)7nFE6#Vv<4SlkMTW^qaW`r zGC?1cw>!tu7JNB|&IK?6P4%h|_3kJsDG945gOanv=yfig*fq$C9LoY~4|eAeG9S?y z!my?LMYGwxF>2dPAaB~(g*zHBi@F5A-3X-jDOt4tES#cdK^)x0o2C}gJQacj3Utls zjcFwsK=B)K&}B!0F%7a%Ic=-Xddy52v3c;5?>4r~;R#Z&&9r)j;Hg^aVLzDtx1+mm zA=|0)XR-=j3Bn!=#(aQ~-i^g6eh!!+Wq}~fL~(F2LKm)Sgq4PM^EmXe`9=4NC*MYva+)7QT?h! z|ASw&WL6{ZRV}*^$TvBo{e@6;Aohu@m`uk4z*`M8b@26nZ_4=6i^p?mVjs|W-ih2Qhx_Ay7t$$M2H zl@bY_Q<1f@kn`NSJUT0pSs3XHvB$CF8*+_8X%Lh)Y(Pp!G`nwb$fQAM3Siry^R@gp zuDPaMLv9PT4z&fNt1sn|u-FS;Y`I$bYBmTcYUJ7M(AeBvDPHa)0z%(9X1s9>bM+WM zKJWPcHtZwZ8PJgqB{wK_apIQ?0kbhtr`RsjJ>;H9)VEhxkE>~DytcNmh-!X8E<1ll zb$^|cpD(>5N|%ZGln(>bdilJ1ZADU9sx`v8$$wOp18ot$4mY-E%aMf0!5hP@g z-H~$$(D}Wgf)Yh{z@zy(UJNio_`ZGlhOKft0)nPY1Jr9e1~>r#?iva|U}{EsKqEgH z#$6Rq>ak;-u+jFY9X>mBQ@{20VfN=B7c2TMbiQug_H%c`3h)B8Ij<&-7E3JXr8sIg z(^>{PjT-58=irKlmrMq+b1hly?~_9bB_D^$yJ&uFm%AHX7YrA16Tm3s;x5wbb~MCF zYK`qYVcJQCfRpeon)m5Eu2fAoOVN)aMT9>*aQQ`!FCc+>EX&8YwG9Cn&$_w>_|5H% zo$NnI)6X%hw$)w~#;GTZm!o4^0(9zcxB-6iH%D-p;gx0*dRZV2GX%0{NgiY3d z^Xlo=cIo-?kKgz&>mjWAc4EnS<;d^$T5TxTV;MLAuHHX6O;rQ}mBw-(6mfjDy@)U? zv^=~t_q@7E&_FTOp5hfRaP$`SLtAV3Bs@r1M6-v7MtLB?@vsf5eClh~8%CsoTN9rXg4 zd5Tl4c#1QRi z<(N}6@xCDt2v+nL1n%c^8aWp0T}8MxIpWc~4wrXRd#0Sx6=AKJGC6;FCN#&aSWSfA zAuwoKQCot<(jxzofCLBo_xZV2a92LKHfKMiBmY2oj~2ugFg0Edbc!kQ*o$sRqC!cl zl)@orhG7^&c&P7fX>0)6{)H(R*+pRuYZ5=Rm%Q-moDVjJq2wp z_7|Oa*8#BC=9!cC@91RrJELM_LKZhAoc_8rtCe|+J2n@t;Z`1X)819n{)zUWpx^?8 zg=YW(VKLF6MXS+;g;wd;As-B;XCSJCL03_qId6=WASlgvcApS<=aVOhn=@h}(Nv+^ z$X6;J3<{kO{-UYFS*>$a`0$2SO#X5shae7L*=pTAJ1iYE^V_;_8$Su6@9v+zn#d=z zIvO>m7j3PQ6}z#+Xj*Bic{mbMmDRV}&)l6Lp$kYBH0fcyxdwCDC%$~WpS7ZR*MGti*6fLH)vo~*HCmaWZ+ z+z)5|adEtr9y8;Fn*PBC`X`{979;?apZLPX(3`u~K!Xb4czLM_Y=bAV12`^djys8+ zyM4+?cAZFg;Us9Cq16yiaaFmjKgm0*#eMBcB;(%u3>u!|sAG|*O*+uh-jA0&T3ZYR zhjJEm<1(EOxUCO%w{(q!-cJJIe0k`PT*&I2!P*XIVUbUC0S6Mzp?dC3Yy4^&k$E=f zZ#Qf{BT$O&gN_VuK4+TVbo!2;KI9B|FXOt*KgH>bs{9i?s{j!Q2$+45;|+sNZw|YB zj{9kk=l5~yRYl)M^nAaMx;R4+EtWD?8Oj}#+b>F?C#W)+)-0~L2(6N^Z;VfkM`!X% zMI1YLhw?I(#O>k=HE*oz1v(rPU&6T5WwB<h77?dB}+IX1wgSrJ$G) z{alWVk82-^sw#4`7gm<-Buiwv21u`6E$Z#zqzT%VrDk)scs=)tbp;5YLvZ~ z=0dI)tp0TmhwbaC0}7nX_Md&cy2Fd9)n3i4Tio13bU7KzoTp}ia)MQVN{Wzcbrd20 zgd~F{keCVua?%RUTihlhZhLsN!_v#A0i?eP{MvXE(lKAdd~qfBtS~kE;_7<~^{-QFDyS)lMlQ-$=hCl2Jf zphKf;r)F6yIP!wW?poH5#oUCcIUW0wYz1a~f~mCIG{*W;6Q(?Ok5w!w7~RG?`c=79 z3blKHfXZ^T%4YlGUFC3Y6Vlny%EkABDFMKyRP1mxiKy5(l)dYjlPMqT@b^c+5vbkd z$0Lbpb53_N+isL12-14(C#0~DacgJiTRR!GXtw6e!F9wF)(miJWI)VpNoJ6nr4m)5RUrJLmY32Is zSak(0tnochm5X3et?_aQN!$8$M}xQr7-D8y_vtUA$K%~401EQJfC%@Ew%?!plJrHa zoJ5=;Kjq57EmHxjwbq@@i(PP$7r9L@UP6gTBR$|Lc)~CmS>T%4GE;{dxPBod(Q({1 z$sEXzGq>FjjzZ~RY9N~+STkx`uh*+sSfZ661o7mcFms7up}&6pAYGfaD_RW>>s&gZ zzI^$JM)c_j+2UpcnMLibPOeQW*2xkSxzj3BuPMGO4m*S)Okr)Oonh!|&o>aT{|=A_ z0Cd?Z{IF+Y@dvv;1lP5F!ojL$wQyJM`l7l#RCSE*3y?1L#Ys>Pgo<6#>1l`#@>S~p zH$dlLK2hzNNS*h-KH%%tCeLD)e!~VW;6e3ro=no{2RKl24=oUdSz-?pUF~T;CUh@? t>wmMB3-z>9Q0TJy`=#_jRs28Z9>7C8^BuTMBgcTJB`>2QT`6f2@PF1I&?^7{ delta 6293 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 Zh*eBqTk1X`LV{4wONH0+6|!c*{{!c!8f^do diff --git a/tgui-next/packages/tgui/interfaces/biogenerator.js b/tgui-next/packages/tgui/interfaces/biogenerator.js new file mode 100644 index 00000000..ee109206 --- /dev/null +++ b/tgui-next/packages/tgui/interfaces/biogenerator.js @@ -0,0 +1,192 @@ +import { classes } from 'common/react'; +import { createSearch } from 'common/string'; +import { Fragment } from 'inferno'; +import { useBackend, useLocalState } from '../backend'; +import { Box, Button, Dimmer, Flex, Icon, Input, NoticeBox, NumberInput, Section, Table, Tabs } from '../components'; +import { formatMoney } from '../format'; +import { Window } from '../layouts'; + +const MAX_SEARCH_RESULTS = 25; + +export const Biogenerator = (props, context) => { + const { data } = useBackend(context); + const { + beaker, + processing, + } = data; + return ( + + {!!processing && ( + + + {' Processing...'} + + )} + + {!beaker && ( + No Container + )} + {!!beaker && ( + + )} + + + ); +}; + +export const BiogeneratorContent = (props, context) => { + const { act, data } = useBackend(context); + const { + biomass, + can_process, + categories = [], + } = data; + const [ + searchText, + setSearchText, + ] = useLocalState(context, 'searchText', ''); + const [ + selectedCategory, + setSelectedCategory, + ] = useLocalState(context, 'category', categories[0]?.name); + const testSearch = createSearch(searchText, item => { + return item.name; + }); + const items = searchText.length > 0 + // Flatten all categories and apply search to it + && categories + .flatMap(category => category.items || []) + .filter(testSearch) + .filter((item, i) => i < MAX_SEARCH_RESULTS) + // Select a category and show all items in it + || categories + .find(category => category.name === selectedCategory) + ?.items + // If none of that results in a list, return an empty list + || []; + return ( +
0 ? 'good' : 'bad'}> + {formatMoney(biomass)} Biomass + + )} + buttons={( + + Search + setSearchText(value)} + mx={1} /> +
+ ); +}; + +const ItemList = (props, context) => { + const { act } = useBackend(context); + const [ + hoveredItem, + setHoveredItem, + ] = useLocalState(context, 'hoveredItem', {}); + const hoveredCost = hoveredItem && hoveredItem.cost || 0; + // Append extra hover data to items + const items = props.items.map(item => { + const [ + amount, + setAmount, + ] = useLocalState(context, "amount" + item.name, 1); + const notSameItem = hoveredItem && hoveredItem.name !== item.name; + const notEnoughHovered = props.biomass - hoveredCost + * hoveredItem.amount < item.cost * amount; + const disabledDueToHovered = notSameItem && notEnoughHovered; + const disabled = props.biomass < item.cost * amount || disabledDueToHovered; + return { + ...item, + disabled, + amount, + setAmount, + }; + }); + return items.map(item => ( + + + + {' '}{item.name} + + + item.setAmount(value)} /> + + +