From 7a75f08d8a07fad8aba41a570c699f1c4e00a686 Mon Sep 17 00:00:00 2001 From: NoisemakerJon <139656120+Noisemaker111@users.noreply.github.com> Date: Sun, 25 Oct 2026 13:27:10 -0400 Subject: [PATCH 1/3] brightway-park: depth work - 28 rides, research lab, prices, guest thoughts, complaint-driven rating, staff roles, terrain, entrances and exits, undo Co-Authored-By: Claude Opus 5.5 --- brightway-park/ART-CREDITS.md | 3 +- brightway-park/README.md | 78 +-- brightway-park/public/art/models/motion.json | 2 +- .../public/art/models/ride_boats.glb | Bin 150640 -> 150644 bytes .../public/art/models/ride_inverted.glb | Bin 508680 -> 508676 bytes .../public/art/models/ride_looping.glb | Bin 381640 -> 381640 bytes .../public/art/models/ride_pirate.glb | Bin 58724 -> 58724 bytes .../public/art/models/ride_pirate_motion.glb | Bin 55140 -> 55112 bytes .../public/art/models/ride_rapids.glb | Bin 360652 -> 360648 bytes .../public/art/models/ride_splash.glb | Bin 290440 -> 266700 bytes .../public/art/models/staff_entertainer.glb | Bin 33860 -> 33860 bytes .../public/art/models/track_loop.glb | Bin 120304 -> 120332 bytes brightway-park/scripts/balance.ts | 94 ++++ brightway-park/scripts/models/coasters.mjs | 4 +- brightway-park/scripts/models/core.mjs | 4 +- brightway-park/scripts/models/shops.mjs | 2 +- brightway-park/scripts/models/thrill.mjs | 22 +- brightway-park/scripts/models/water.mjs | 29 +- brightway-park/src/game/agents.ts | 32 +- brightway-park/src/game/build/commands.ts | 182 ++++++- brightway-park/src/game/build/links.ts | 75 +++ brightway-park/src/game/build/network.test.ts | 140 +++++ brightway-park/src/game/build/network.ts | 347 ++++++++++++ brightway-park/src/game/build/placement.ts | 16 +- brightway-park/src/game/build/terrain.ts | 153 ++++++ brightway-park/src/game/build/undo.ts | 67 +++ brightway-park/src/game/capture.ts | 17 +- brightway-park/src/game/catalog.ts | 6 +- .../src/game/coaster/designer.test.ts | 59 +++ brightway-park/src/game/coaster/designer.ts | 335 ++++++++++++ brightway-park/src/game/content.ts | 9 +- brightway-park/src/game/keybinds.ts | 2 + brightway-park/src/game/lot.ts | 10 + brightway-park/src/game/milestones.test.ts | 34 +- brightway-park/src/game/milestones.ts | 41 +- brightway-park/src/game/models.ts | 33 +- brightway-park/src/game/objects/catalog.ts | 499 +++++++++--------- brightway-park/src/game/park.test.ts | 30 +- brightway-park/src/game/park.ts | 194 +++++-- brightway-park/src/game/parkScene.ts | 22 +- brightway-park/src/game/persistence.test.ts | 20 +- .../src/game/render/WorldOverlay.tsx | 126 ++++- brightway-park/src/game/rides.test.ts | 16 +- brightway-park/src/game/rides.ts | 25 +- brightway-park/src/game/session.ts | 11 + brightway-park/src/game/sim/economy.ts | 26 +- .../src/game/sim/guests.determinism.test.ts | 4 +- brightway-park/src/game/sim/guests.test.ts | 39 +- brightway-park/src/game/sim/guests.ts | 161 +++++- brightway-park/src/game/sim/rating.test.ts | 7 +- brightway-park/src/game/sim/rating.ts | 16 +- brightway-park/src/game/sim/rideExperience.ts | 8 +- brightway-park/src/game/sim/thoughts.ts | 102 ++++ brightway-park/src/game/staff.ts | 102 +++- brightway-park/src/game/ui/GameUI.tsx | 8 +- .../src/game/ui/components/BuildBar.tsx | 85 ++- .../src/game/ui/components/GuestPanel.tsx | 13 +- .../src/game/ui/components/Inspector.tsx | 24 +- .../src/game/ui/components/ParkDashboard.tsx | 27 +- .../src/game/ui/components/ResearchPanel.tsx | 58 ++ brightway-park/src/game/ui/nextStep.test.ts | 25 +- brightway-park/src/game/ui/nextStep.ts | 11 +- brightway-park/src/game/ui/panels.ts | 7 +- brightway-park/src/style.css | 5 + 64 files changed, 2835 insertions(+), 632 deletions(-) create mode 100644 brightway-park/scripts/balance.ts create mode 100644 brightway-park/src/game/build/links.ts create mode 100644 brightway-park/src/game/build/network.test.ts create mode 100644 brightway-park/src/game/build/network.ts create mode 100644 brightway-park/src/game/build/terrain.ts create mode 100644 brightway-park/src/game/build/undo.ts create mode 100644 brightway-park/src/game/coaster/designer.test.ts create mode 100644 brightway-park/src/game/coaster/designer.ts create mode 100644 brightway-park/src/game/lot.ts create mode 100644 brightway-park/src/game/sim/thoughts.ts create mode 100644 brightway-park/src/game/ui/components/ResearchPanel.tsx diff --git a/brightway-park/ART-CREDITS.md b/brightway-park/ART-CREDITS.md index 24ef3ebf..8b55a1a5 100644 --- a/brightway-park/ART-CREDITS.md +++ b/brightway-park/ART-CREDITS.md @@ -2,7 +2,8 @@ The seaside fairground models, visitor figures, entrance sign and UI in this game are original artwork authored for Brightway Park. `scripts/author-models.mjs` -reproduces the twenty-three GLB meshes in `public/art/models/` using native geometry. +reproduces the eighty GLB meshes in `public/art/models/` (rides, moving ride parts, coaster track pieces, +shops, facilities, scenery, paths and people) and `motion.json` using native geometry; the kit is in `scripts/models/`. No third-party models are embedded in those meshes. The existing published asset catalogs remain configured for editor compatibility. diff --git a/brightway-park/README.md b/brightway-park/README.md index f9e99337..fec21754 100644 --- a/brightway-park/README.md +++ b/brightway-park/README.md @@ -9,37 +9,49 @@ rating climbing, and keep the crew on the breakdowns. Runs on published `@jgengi Read from `src/game/{park,catalog,objects,sim,scenarios,milestones,rides}`; the park is one declaration in `park.ts`. Numbers are what the build does now. -- **Core loop.** $6,000 and a 150-second day starting at 09:00. Guests arrive through the gate while - it is open, pay the entry fee (default $18), then pick a ride or a stall by need, mood, the wait they - can see and the price. Upkeep and staff wages run by the second through the day; each midnight - restocks the stalls (paid per item sold) and takes the loan instalment. +- **Core loop.** $10,000 in the till and $10,000 owed to the bank at 0.8% a day, a 150-second day + starting at 09:00. Guests arrive through the gate while it is open, pay the entry fee (default $8; + the more the park is worth, the more they will pay), then pick a ride or a stall by need, mood, the + wait they can see and the price. Upkeep and wages run by the second; each midnight restocks the + stalls (paid per item sold) and takes the loan's interest. - **Progression — four systems.** - - [x] Rides that rate. Every placed ride runs the shared ride sim: its own load, ride and unload cycle, - its own line whose wait comes from measured throughput, its own wear and breakdown curve. A - breakdown takes the ride offline, sours the crowd's mood, drops the ride's appeal out of the rating - and queues a repair for the two-lane crew (22 s and $90 at the carousel); a mechanic bay cuts each - repair by a third, and servicing clears wear before it breaks. The status card flags a ride that is down; the park books show the queue. - - [x] Money that binds. Entry fee plus a per-ride ticket the park sets; guests weigh the ticket - against the wait. Staff are a wage line separate from facility upkeep. A $6,000 loan is repaid $703 a - night for ten nights ($7,030 in all), or an instalment early on demand; what is owed shows in the park books (Books, or L). Rating still gates the crowd: 34 visitors at zero stars, plus 0.14 per star. - - [x] Milestones that open real content. Six milestones on the park's best-ever rating; each - locked blueprint's world condition reads that rating, and each milestone names the unlock it grants (flower beds and lamps, the drinks kiosk and fountain, the ferris wheel - and souvenir shop, the mechanic bay, the drop tower, the grand topiary), and the game refuses to - load if a milestone opens nothing, so a dead milestone fails at startup instead of in play. - - [x] Three scenarios. Opening Weekend ($2,000 at the gate over two days), Star Attraction (420 stars - by the end of day three) and Full House (80 visitors in one day), each a timed objective on the - shared mission runtime with its own fail states, reward and fresh-park replay. Free play is the - sandbox: the blue ribbon needs three rides, rating 220, happiness above 50, litter under 40, a - profitable day, and three days in debt still closes the park for good. -- **Failure states.** A day ends in the red and the loan instalment still comes out of the till; an - unpaid bill becomes debt, and three days in debt closes the park for good. A breakdown takes its ride - offline until its queued repair lands — the crew is sent at once when the till can pay 90 at the carousel, 140 at the coaster station, 180 at the - drop tower, and waits for a click when it cannot — so a park that skips servicing loses its queue and its rating with it. A scenario that - misses its clock fails in its own named state rather than ending free play. -- **Minute 5 → hour 5.** A day is 150 seconds and the gate is open from 09:36 to 22:04, so 5:00 is two - park days in: the first bill settled, one milestone unlocked, and the first instalment of the $6,000 - loan taken. Hour five is around day 24 at 1× (day 6 at 4×): the ferris-wheel milestone is passed, a - full-house day is the next reachable goal, and the loan is either repaid or the park is gone. + - [x] Twenty-eight rides in five families (gentle 8, thrill 8, water 4, transport 3, coasters 5), + each with its own excitement, intensity, nausea, capacity, cycle and ticket on the shared ride + sim. Wear builds every cycle until the ride breaks; the crew's repair is a full overhaul, a + mechanic bay cuts it by a third, and servicing clears wear before it breaks. + - [x] Money that binds. Every stall and ride has a price the player sets; a guest refuses one more + than a quarter over what it is worth ("too expensive" counts on the dashboard). Ten shops and + facilities: burgers, drinks, toilets and the information kiosk at the start, six more in the lab. + Borrow or repay in $1,000 steps up to $25,000 in the park books (Books, or L), which show what is + owed and the night's interest. + - [x] A research lab. Four rides, four shops and nine scenery pieces are open at the start; every + other ride, shop, theme piece and the mechanic bay is a lab topic with its own fee and time, each + after the one before it in its family. + - [x] Theming. Fourteen scenery pieces (library trees, bushes, rocks, benches, lamps and bins, plus + the park's own flower beds, hedges, fountain, topiary, statue, arch and flagpole) add charm to + every ride in reach, which lifts the ride's appeal and excitement, up to 6 points a ride. + - [x] Awards. Six rating awards (150 to 900 stars) pay $500 to $6,000 once each. + - [x] Guests say what they think. Each guest keeps its last few thoughts (hungry, needs the toilet, + feels sick, the queue is too long, too expensive, great ride); the dashboard shows what the crowd + is saying most, and a park full of complaints loses rating. + - [x] Staff with patrol areas. Handymen sweep, mechanics inspect and service worn rides, entertainers + cheer guests and ease long queues, security guards stop unhappy guests making a mess; each works + a ring the player widens or narrows. + - [x] Building like a park sim. Height levels with land raise and lower (drag an area, $25 a cell); + rides need flat ground. Paths and queue lines drag out as a line. A ride opens only with an + entrance and an exit against it joined to the paths from the gate, and a shop only with a path + beside it; a shut one says why and offers "Connect it". Guests queue on the queue line, which + makes a long wait easier to bear. U undoes the last build, demolish or land change. + - [x] Three scenarios. Opening Weekend, Star Attraction and Full House, each a timed objective on the + shared mission runtime with its own fail states, reward and fresh-park replay. +- **Failure states.** A day that ends in the red counts toward bankruptcy; three days in the red + closes the park for good. A breakdown takes its ride offline until its queued repair lands, so a + park that skips servicing loses its queue and its rating with it. A scenario that misses its clock + fails in its own named state rather than ending free play. +- **Minute 5 → hour 5.** The 30-minute balance bot (`bun scripts/balance.ts 30`) spends the opening + $10,000 on rides and shops (with their entrances, exits and paths) in four minutes, then earns + about $275 a minute operating ($610 taking) while the rating climbs from 160 to 370, so each new + $2,000-$5,000 ride is ten minutes of good play. Hour five is the top of the lab and the 600-900 star awards. - **References it is chasing.** - *RollerCoaster Tycoon 2* — feel: guests as individuals with opinions you can click; density: a park full of walkers at every zoom; UI: build palette beside a guest window, price control in the stall. @@ -47,9 +59,9 @@ Read from `src/game/{park,catalog,objects,sim,scenarios,milestones,rides}`; the square is accounted for; UI: rating and finance panels that explain the number rather than show it. - *Planet Coaster* — feel: milestone celebration worth pausing for; density: crowd scale at the gate; UI: dashboard-first management with the park still visible behind it. -- **Gap to target.** Past the scenarios there is no campaign ladder and no second park, and the - catalogue ends at 16 objects. A long queue's mood cost is the park's main soft failure today; a paid - queue-skip or a second gate would take the pressure off. +- **Gap to target.** Next: a piece-by-piece coaster builder (slopes, turns, loops, lifts) with a + test run, scenario goals like 800 guests and a 600 rating by year 2, and guests that walk the + paths rather than straight to the door. Loop proof: to-open-park diff --git a/brightway-park/public/art/models/motion.json b/brightway-park/public/art/models/motion.json index 1e9120b2..6ce3f245 100644 --- a/brightway-park/public/art/models/motion.json +++ b/brightway-park/public/art/models/motion.json @@ -60,7 +60,7 @@ 0 ], "speed": 0.12, - "amplitude": 0.7 + "amplitude": 0.75 }, "ride_topspin": { "model": "ride_topspin_motion", diff --git a/brightway-park/public/art/models/ride_boats.glb b/brightway-park/public/art/models/ride_boats.glb index e03038ac0581f03974d4591cb2e88759f90a1c7a..7eda65b90a9df2bf1d82abc8dd1c785baf76d2d4 100644 GIT binary patch delta 2626 zcmZvcF=$g!7=;rjD-;(M9F&5S)P^R{YC6;^6cH(?C3cIQ^q_-g!ZEBlg<=DYY0JL@na2Yq4v z=?BlF;c#9*XNLH}072yv`uYE2t_-Az7q&yvg>1C z$MfeAigt7F_I{3<@2WX}V)cFU(ceRFb?wfZ1VTFvhYVH&0;-RugoTPF^edH5say>1 zoe!IZ834!$0HKQ$3&j_TmZ`s4(cfp9NAu?)Liu3pc4s8&E~u+1w6ZXqe02UiPJCxa zEo#oA-5h5OR>Og>-|mEw1S*#>Aj`5;t{hwrGr-Le28VLJiKCXu?|)HfaRRih(So`G ztpsg%TB+RX?fYp%YR0)V20qJ^TF#&VX%hch+xWt;)HSJ3$A`H8R`AMj4kPb|j=YQDgI zppO>B-5>}(_~2vYa0X3)8V*c-w4D7Rw%91)gB%cpEup_zm;n|wz$q;%({lLy{^Lz& zJ6q!mB7pZ^5SlQ2E+2!{_}mBjXb0eKkdx~$?&>&X3AF+G1PCgZ(C1RJTsgR$H8&gn zpTKs-iG{Kiq1_F=`L8s7u_*7oOtj^ArRPKXqsu?^R?2(t>d;Qc?IsBAG@NlmYBooJ zK3Yz(M1KEoJm6L;mhcOkg&AN`IZR)iSSG&1pnJ>^Ulm*PKu|ZJl_us6upIBS!D`O) z-s__sfV;uXq1{~TSC~#K;tM_i>gtLYNV$XoTuPQJ2g@w;W6@Lj#0GSy-U#JfJ{RfU6@!tRd delta 2592 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∓)#N6D!499ZS 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 delta 162512 zcmYIQc_5X~_trwY_PvC(EBh|*GnGIdjg;nR)NgcN=iyyv$`m~O6+x` zhsaRR%*#pGd&|+V?9F?15-m|Ljxlt zM{UiG>o#ecJ4`m6Vxp&KXryOkplfJkY-DJltv|&?SKq`?U)Rjc#8}VF*g#t-BvAED zOmxkJCd|xC1^V_qTRb$)HJ4dWH#k4J=X8;onW3(MnUPSpzP9cZGc$cdGhICseFIZt zJ!3P&f3E}~jSWoo%}jL-42@0xUj(7Jv4M%9P+V76SI^AUz*u|o|Ee$*q&79u)6+B7 zGu1Wx_fB|aY^HBuCWvM#)b;;zoWC=0(D}~2eAV?#Obm?;j12S)&4iu{$}llAHP#g> z7kX%9Y-n^orq?I~K_U}fBcWA2149!NZM`YRhC-G9`fFsWXQ=|4F#PT z8kw9Q)pJzRNYx1)R1M7p@ePdhjP-?PjFRkndv)k-sB5HWVy3GvbVJ|R#5k#>&(;oo zji=}t8k(8v2`c!Xigopq7WKQ?SESzcdKaZ>v*#pRNlF0T&*tf$eRhfA0q! zd4}vTBfLtML+M5h=8iG>S5Ml(XDFLw0(lov4WcKMKswC;g?noeCScp?I#|-L2B!ra zeP0)5>2mlBcz1{qdM3$nUBD7;6YT9&gV!CNp!Zw@@B;ULxZPR@81&!!L2 zPYy6bO2U75yp9RZ{#9URl^F9yOAK&RAph?{Y@>tG!)pHFQ<1vhB=Udwy`K?Q$Nh&z zdM3F1OMwT8De!kNfJor}51*Z@gHCFKh6LO_To<`n@_%^1Q6uz?`42xaFu|=B1t$2$ zA>YjaO9Zaye-E4I>!41f=HCzJFX>`Mj{F}sI$(snJOAOoMka{i5+C!>jCcL^wa8 z=HEm1X3EcnTTiJGyKDd9dyYEjW>oVJ%lGQym`wf;FSj>B&b9yWLKYqdJ7<990(sjf8@!n(80HK?)$eUE)>;=L zg&Y^FY!It%gdIV0EPrZ)pA$?FSfaoNTQmI9H$>IWTG%}^Mfx|vwr15p{M8id3SG>r zljGzLGwew;!nO-?5%l8B5I`n4UZB9*vlEfo(G+$9`DyET^zLkk%X4ecGH(J*o*P2r zl^lM9C!wpo8FmHAVW60V*7+9L^F#qP&k?9U&LL+u*Ts-V;K<*<3AfVs%_2d5-)L4$WKX!R$~Z;&%w?Q6iFZs0_I z&WQdZ2Mn6Hu>Gzm^^>DF{p7?|ZZJw!Kxcg|*Qt3EtORc8#7fTapci^L)u7a_iWAp+ z;mUVGP}`T>f=ipxc2W+L-fy_BFSkG=NrB45B2FWBKSU?D2~xY~aHkjVMS@EWaOerw zp12o*O>$W7FX8-M4`AX6IrJ9FxVte2(KB9w-bWsBe46euIcr-x5#f>61~;_Y59fZ#A$xt7YcTXj_z^kgmd9}&Yy6>zP{4I)Ft;%|5Jp>Su{iB47rQe6 z$GvKB@zy!c<5~bh{s=xJD1=LF3dCC{M9CsJ_ann35A?BI_CH5X%G#3V+O|{s4 zXc>3^&o#t&*P!p<6qzZfjigU&ID=hb@H;4n>!>Z9!}xFnUQ!_IGq~K&k+{6E z7ExXFIdSG~nC+?oJ7~Z;ieBDENtbHW+D_-bn?&O6emTr9&*e6MjKr=W1!4}5;9lp& zBF3v0UC#F63XaDhb8ihUzgFc^ZpNUYdo_N>sB!T>V})obhkVdDP81ghhd^PNCV#b3 zI(r`}8)`9Oa+y{2oFvRVSOfD*Pp$fUB%!xzHAF2#8?Dx--AC#kIcx$ua(-KrVRc4m z*e=p)nB5~hSYM0lmcCZsRUab9rv?G*PFZaq`w%95tMRn*uGQ$hk1%n!9KVO9TLl=V zL&Hz-m_IG842EXn-nv@UhbUR~kP(;=mUnIIZ1wyt!F@nA`WsBQsxr?M;r32BerkAH zoo~rR=i>^9M@*hNSCNZbYirTl*e`v2@Drq+tU=y$r*!Vl69f;gMsn`7spo#>V%!cn ztcFER4S1M`*FFktds>*`db0#)*3=?#%xLj!hhj|fufbbeb@AQx#V8(DjULysGG?Tg z;GVY}b2LS}GyD!n@#KI4FNW_H?^;`dEuOV#^0_45G^!kz&eouCX{dOpb~$>eRpaQw z?c$dG6_~zFj*+7liVxx$qV^~tf0HftpInVO9zrYO!IBIG&s<#MJdU&FEQzr#{MLQH|s!`#uf3L?#_gVz#4B|5*Ut(R5-~%cL@*Uz| z;=EQhhAdU#m;b59!Oe0wj%yRI%z1@%TNOBEJBd$7{eX9_f)9u==f7`wkG#+teAr^n z@7?kqHRGxg*EEq==09NECOH~IHF)@b#GH)^=%+2`wE>&)mRp^fWIgDhUZ>#Y*wGiYubLt#B~b1AG4j8vY+r=U5oztKD=XNGxmoG zQL)5_-~FQ*N2gSyx5;+i5kGNmgB%)>>-oQ`t?2F{c+A=Ue6`A740Wy*VX5*3KIB0= zif`5+Y1jq6{eC-Y^s4b`gFoM;!(S|1FGuI#6a4eizxcRXfybh2eADZWEZeabK8WDG ztU9vcku~`45y4Nl=*XrTRbyrPHU4>RM>b@g9OtV-`DJrDv4T~CyG=>p_u8niwX13o zvhM+ZI!vU@-0s$3SmFb|+ZAONZd#4vo{9Vkz=Y_3@?sWVbLoTNc)t@|GC?Z zb#@R`os!QdbnM0=V{0(!cRpYGyDRHvDU82k7Jo3j8zWC4z_^NetzO-kznuaYUCtlw z)r*C$ti`c!a=zTXCwrYxgR!Dn)%+#Lo@^&4G#p#bOFQ&p*FEH@zb)lYZ0f}}E>xg& z`tuj$%{op6^!@%|xaUxmNx}S$`J2tQKdIlt^nrf3`Ta240_)$Z%ADCUTr9sCs@I@15D7?Q|0iWO5Tf zOK$+vwNcZZ!YYAm;P12D$yaQ>R0N*t6Ny$XuX8S(<~{Mprrd zr*)!RfrDAU84A??Q6=BtVeHzHTIhc6M|&HFvgnK&3^D6Z<+VfE(s|YBx4XB9`X3p_ zyj4^9IWARW&n*-%GtnS3Ck^JkuokV8#?Yku>g-Ea4SJp!L$$ZmnX_Frg7Yv6|kjh4nXAd0ZxX@9bE{U#c9e z=zz)Wwre#a6|?Dw!xW|}a2NQ_qE$bpFuQRIh%A>ZCFd!6OxdOuN4XWW%v_h5$!ZXE zeFb$GuFIHbHR3-nrI=s3%-TVY=dYHK{I(vm9Ie1_Z#Npe#ei`$YccSa2UR%gGn0xM zO#kXZzNY%Dc3m~NFK(1>V8D*r3p2vgm1Z{@urZ?)=ojQoYd#o?*nt_f$PV95YcdSj z=*k*g$=goz0}a^rjn(k2@TR-B3|ZMqId%>4rX_of*tp>e1ep8K?KwtlpII%crutCk zKtp!+X${U!@u8`23|P1I)hN^OAxXO-OI#?#hzUNVQf0)J_EMl;*N+D48L>RUS#9ns z@+0Nn2Fzl54J@;KX;;1h(-2m-4)=WNZLJ~8q8Cta_9cI@5j(V_8tXR&Qvc3I?1M05 z5vGAOro?~^c~On=(E${E#eik|yue=H0GfHvko|D2!nlrs$&pm$GEt{g?87dQ1;LwOkrBO>X}0|OQ%DaDDXDEfZUkOfYV zVg9WI(z|NF>Ml#+Y@9%8>-5<>Zz=lc#F3pa#`}*H!+l{KS|#WYPNk(24OrmT0*s4Kp|LG`?7dw9y7x||M>%?I-KjhgoDSco-!JspqSLuJRgg?s zsRk@JEe|~gXHdsveb)WXW1PK~PMr=5NCE37T#Wb zME27S*sp=vIJ!BLdNF<0vXF;+lY~a9>In{wM_Wgtdo{YOYh?!d&F1NQlSq%f{*#WN zT%x5?eP;PK15WBs$fQhr$Q$yi@Z+ivBq5~ zSh4&u*}Lj9W6M-b99ck4UV7}fZX#~p&Zlu^y6m`7A}Y7%($Jo|Y|WGegiYT{6hbhkA!ThiSdUH>QMP*09D>|Q& z@^#rWizvKuC?ua-dhAe26mp+R>6P%_B{Up6J*4zCNQXJy49D`G#Uxp$!@l11?O{+8mC?9hVSeulMcaTfdgQ9ZB%)9pPbi@XLmk$n6^gN8 z#S~(z%N$;XV8$vbC5#g^G&mG%7s;saFW3$WOZe`p)Zi_vnH{!svU5)ETwOr+Kk)ejZGV66rnVMwTG^Q$_N>qHXF}IFW!id z`%*o0fYB{ci-cvhFZ9t%xNsnhZa?APx#*tS7NL-NNkvv6lrs>#SeG;j=C zeBKR99!Tl%cP-XwsXImq4v3bGsO~*rX++ z%d^y&SI5N=$#^NLk5glNY8PX&KsHWLV@@UuFj>2lHjEj?#tpKCorjEGTMTDck61%@ zoQ%W~!V{_IPYIkXF;WMtQ$S-h~o-{U2M+wRX?hM8ihdMOPt7{IJ@4bkExqp|jV znBxW=EYOjW=xJ}}Au~W*v6SB4@6Gxs3~~3ksD!$V>%*Q6)5D+QEdjp$)$}v;H4OU}&FG`o2n; z&D}f{Lzc;?&zcUb+m-<+G?S6-MxVx826;jX|f)a$_JI}L(b&r%ZI z2<*V_z32z&62T}|{(^B=RXAA6sKLDrK_~h_|D}|=Yqnu=W`7(M$gT}-*s0tHW4a16 zBK8*?_VvUe!3R*;4{W^A1+T0G3$Oi-n$bPc?~Rn&E`LYtnqF`axF_9zz#*<1bUK&P zC9Os{jZ_g~;sO~>viXD^vpT?&$;f-zM>OUsqxrp*O8R`nxj|h3fqdZEN8E7f1Pi57 z`V{;LLoWX1ifmM^A04<~PsQpU-8w3H}evcNqu?-f2;wQ;k5 zONptz#^ugGxOH=6G{RI=jh74Fb1P=bXyq(91}^{3Wq*^>mOn4>w_g*dDUe5J3R|x9 z2G0Jcl>Q#6hR3cq+}~L;dV9AV4RlQ|E8 zTdtXkg86Zr?3I+pe^15t`UuX~LJ)LZ0@n7t!ui|DC~|x}YJcA1ytCde;meDBBaFo10#PwS#qX366^m*jVx%4fiQNOOk ztU=_@eHF<4^22bg?{UtuQc4@{hC?yq0GDYXqyBB7xTWdA&2^B`n71Kty}Ofh9#~2@ zeL`S6`T(aR%;WNZMSjjmJ zEv4g&0x-*CHMdjXjumMKLaYB0F0fQe7uC)qX5I|Wdy0$>>_3HPE)%#YXBoLK@k9Fw zb8hv>Qkqxii<*&)dn}Oav-}X*&5)B6NvU(@DeQ0>!(~pAQOl{L$T95B6$;+7amf+* z3>eP2Ym`!148Ibq_k!P6 zoxK|s`@dSP6JquUZWmO-+pYEqkL*5*V>ij@MgxaM9+l!}!Xm{WbSnDRKNG*XR6<9$0onEM#GM50 zJ>MD7eAg&GeMm|w2Gj6cbaM)Ck}Rc%%cnwhsxF^=x0pKES)g^$1YXUchyuS_;YGjE zyl81L-Pf6p!9HX8l$JtjcrzXPk2ml$`W8{`a1Pr7HuI^!@<}vsDxNM{$FB{^BkeGt zIm(51D$A#L6*F*8+l^myFOPbxp9MSHK;9xLk3@{025r-ee3-B*%@7NTsf&Sp2$w@S z+B49z>luE|xhM2vt_}LWIL)s-pF>qQY#~pJ* z9;yZWNEM>Pt_v~9`Z3?OUqTUjb|~AH#XA)cQM3b67S{3m&I@b!@a1sJe8V$4F};>8 zMV0$&{>JzW@}m_PJG_REj}ucD$5kl5DCZ>;#gwAuf#;g7Lf$BYvh7{)%=CpUG zL8H^icl&xAz15wbD?gxpf4nerco&l0NTdFfx8VE?W%Bn)qg~zhAz*MnN|=~Nb0oX4 zAaWqdo~2N;)lO7;52WrQKABdB?8f};zU1hhN*-tS;d(-E8ooW1hTJ-Wg%AqjM#@+>+`pG?b&5{1=p0DfJcNY}mZ(Yz98H#pE%dw>GiF>0ZMF6-)ZmLD*<&T!-dJGaB4A zfi~Mmphp5D!<+FGxb8M8G-lG`sj<}I&n?^!nn@*NW5_M$Hb!rpMrUhd>EV$Gq;A1=hCA&z9De~0XA3Qs<;FGNbv8LeF-@(tM5A=)ByK7EFmHli#m!P1lt!=iMbmzt?EccB5fI zcc{_&HKu=YqAbg3s+<2BtxFuJLt`vi88l$8suOWZv2=7?1NMA$CGkR0G&wG6fa(u7 z(j9V_e(Y>O(*tKZo+gZ+djl>HSVc2$#u1F0Fm1FG1+R-EHlqorJGfD8w-}msxCx4W z?$lavmjW*}K~(KbCTn6SbVC!C=&z#LC*x^^bvq)?I?|41@g(2ajvrpGG_5U$j!N2v z^S|S66rB=HdkWj}c$qWR&55NTQ9I^FI#AG!1loJ8BRe#26&>1>K+)8ZnU8a!+Zu7y zqq!qu%E~z`S zSiOo&$0m}ZV-J>m*pd2_#8cys?#yB1N~)ZhNSiNrXC>K7Nqc!R4V$jYGP~PR>4Ic( zIj_pnvR9Br&m`LaO_izCuO!#lL~?qe$~sgn6_MtUBnsKA%BD?SOn26&Qt|h`Ea~O~ zTCgpZ?%VZaDK>VbDR{9FS^XFsm(qjMB-(bn9~AqG!=2|(Awo20|-FG0H zX)=eLKBUp~zXRDO@qEe@r_yL4S^b6%I8aQPrlYL}# z=^{_ldX8Xg23pdGmptjkk6;5#Kozwa^weP_D{TN3ElsDO(IeS_sZ%M#Eray!MzEb$ z=EC~#Zzj1FsxfzM0~#xY#a|~!v3oy_DgK;O8r=JeUndZXEd2;rT0kkD=wgM`$jX>q3X0_RX(Y2*J2m9jiQTZbE!;2i?w@< zAla*2`qiY#x=b8SGV2o3S0BynruU^Jk(3IBEcu85{i$+I2@Mjm;eUPlQfHqcYRl1L zi4Rn%eM1o~J~Ns%2dL75Co-CGUXwjosZ3`VmW#;Zz-T63qeAO%KBYsuwAl8-PBcEg zjEu%>F=fpTLUN*vzWml?rv`VV=L??GykF{UU{(`vGoXr&NHv)Gn`VARZY52R(PZ}B zzVfY4pHa1wCR-Erfw%coL9>=b@6cVS#u35d}o8lGJwq+DcdMkRx*M%!+ zr>;7CKdGAcNRX4)t5J+Sdd7D;^@6@Nsj;QQ|`MypZkg;KMY~ZyFTHEe|$qL zjtpfzyFcN>M!uyS(THKJ$7wOYaoB5m_i`w+w@u?kcj_r+%uqJlPt0%a_l`=#2C^B? zAMzLHe4tKRgV>_$4|(mN50r3c5DR^g$dms&8nI^(tGW}zzy0%u)|C%rVv~D(;hPWC zb!EQRS&UgE|5EKM#Z2wZ)(*JFzw7&%+=mJWP&FZZv;8M( zxT(r+6Uv+|StPp*px|WWts^K)>z3B&C{Mind9T)gftD7lo(H|uBzQAAU*g}n` z{@{C*AK&z=k(!tN!9?yD|8d9b)qhQJUwWl_%983Gv_?-H2xoc_O`0~>#n`z9q2Dpzp%HMk5NDmY=UO+@uy?O*eD|s*`f;rqQ(I5-ZJEs!SXqw2 z9WV2r3|nc7q8yLAUFHjaw$ku3K;NSgiq2T4^*gMjn|J$jVERL5$IWK@OOKv8Y zmqmE46ei;DjBBM;l|}ff6~=e?+Df}N72$f9VE%V&3waq8VHXSFSO03FJ_m|mUKGTy z+0{%tn;*m1FoKu7`$>~(AER<-1poGaE5+D9#+&U|`7}uj?NED+&4NAkku*`p!N<7V z?J7T47=i{hF*;m|<%@Rzq))#@8L<5w%MY+=rF#w;m^JJ+AG^GTqK9YTtoe2R^3o=< zyO05keYf~SYny1cV+vY~QuvZ*E!1^N3VJZ|CK5kFRM|oYBVzGM?E(L@p^09vibd+g zd;GwUKS)C*4tsm2@^gcKkgi1}X7(-M#|mn^+8BW-MFGF)Su=I$7=bDKv-sf8jdb(g zZQUA#!^E$ld$9epq#Y;o*T>TBNV%kVK4_)@Pz_gBBC{%QyCZp8pnd+?Fg z_1};8a|aT)`xBj$>_$%4esn(g1N{~6LU`Zav^wq`b=$fZL83l%^T!)f%GiqLlWL@} zeoy{kThJCVium8}h279b+&({o{D!}y4$T`7e|soRw|GO3L{*z`^u;jRzVH=2w_Jm3 zTP9HR6=AK?#}lr?mTH2{TN-2Kimr9zXqU%p(o%JSuF@F#cD9~2Xt`rd%NXjuzm6jE z9kHRK5xHd6)6R3NuwaofSvtR>4ABZqcx6BpdtTB5-knCl)^&8?=K_2U1@%}}Lq{&o$He-nBn_{oX641WI@5|C zEqFm=ug*tg|M}E@vYNaW%|rXG1(d9$ptDjN-2OF>w)B-#&XQT!>^7Ie)>P5F_j6#q zZ7yx={G590&K9B4$ALzhRMGOfSy*l8NTtD56k;$PL4O^nE=(wNjluNHN^

j3zI# z#$l|aotovORA~*->@}pk_!+gInE}_{>nJ|-866`I8|~N9`k->^-OmciTApOv=P4bi zVCb^ngLXNWQc~|3FzU3MI@}TRKZP%+;n}P`^!t^N@9S!XF&}pem6XzFLra)%+(iL; zQu_Xx!^`TO6zC_VG=GNe?~c->uVpkT7});&D5(lb%Hw$!aNT#5UjC7i+7mO#7ab+@ z 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≶V$)!DFMOg&;-IK^uhQ`sDXcYTNO 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 diff --git a/brightway-park/public/art/models/ride_looping.glb b/brightway-park/public/art/models/ride_looping.glb index e7ffbb961b618d8ad46901942de8ef7474f8eb0d..f360c3cd1e29a8cbe81960595d5b5e562d9a8606 100644 GIT binary patch delta 125804 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 delta 125802 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 Ruo0WE8Cy`JFDtsd<}b1QtCRo$ delta 1551 zcmZ|PX;jo@6oB!2nM@E7TmVZ_pal!68P)*|T5TjWMItwfMU)H;m10vzO>=`>UQ-h@ zcL-CgDO;qHtSF?+N~N^aBKr`h(`i#nqlbY`$JrwP@5~+_75m>ao7HM}4Y!=Nc-XCGX!i!So7rATW~gUyPkVGk=+x|z(1h_( zab}cvgxTmh$PyJ3Y4&^WbI&oY+|$?9w@0D3Yk|MR!xSVs%!z~+ zS94&nn&zYwlazGS)z<%*pK*?^at$23*T)29tq3cXRbs>`tLZ6RBWq zP#wM_@5+1Bi0{h>(nJTbSw57H=rugV7e1!L_=$WfpV1LK%9oDO0c?@aaBj-NBe3&^2Y%6aB3i* zvtWO{La(F&7^GL}KpKR>8ls`(gI8;By@syE>oiOU)Ae`*p9-fyjL;kPCb}7|YST!H z!f1`rSPH>7zF?<#b=oyS6LkpPf=PTTnZof_y-jbYJMd1uONY|k=+I%BLib<_rqXas z#SwHbj=+&L3P)lZjm9)|&@fEb`!vG|_iF}?!7(}($Lcs7$At_XuM;#=A7EzcgUn3L zVrFVKGn2Dy%+Xw(NO?FBC(&e_g!%Lk=HnE47^h$XO~v#AMh@lTG<`%1X*y2V88|~{ z;!G{VBF+o-QGHB{wS-x$rOaY2V-{;UvzW7TG^q&=Qy<@ADuy^*7ZT5@X-jsvCM1{j zaRsEO^>mg=xy+*3I1A^H6X)Punul|7K0S`}v4l!-fh^=LE|f*MNEYK_S%OPsDK2%t z)MZj3mGY!4!{y9MS;4H7mCQ=1aPp(l{p45k>^mO(YFtBW@!yYs9V=ixRbj`o-ayab z23$o3H_EfJi8kYA*@9bSD{hr-xQ+8ovfaHjYM9lm0%r}QmLJvZjauBntY&}ga_@sZ z@`Ai5E_q2_mc8}~3;C}C&TcfdSV;t<-7Khjmhr2e!5w^qMTj6-e UMqn45lvBn(r`=VQ`{TU70GPz6umAu6 diff --git a/brightway-park/public/art/models/ride_pirate_motion.glb b/brightway-park/public/art/models/ride_pirate_motion.glb index 98e8b7e19d4a21b60cf4f7894c7c2795c1c3a18b..cda21cedeebfc82fb07dd839659931ce221ae607 100644 GIT binary patch literal 55112 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 bNOuV7ZXw+xya{&!S3%x_CEY)~1@iv^Tx49x literal 55140 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 LmURDcJ?#GjeJ9D| diff --git a/brightway-park/public/art/models/ride_rapids.glb b/brightway-park/public/art/models/ride_rapids.glb index 92e71d972dbe8469f687e7d1794c2c4591ec8782..ec457ded460ed620b7321757da8804461b49fa26 100644 GIT binary patch delta 47711 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 delta 48036 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 ASO5S3 diff --git a/brightway-park/public/art/models/ride_splash.glb b/brightway-park/public/art/models/ride_splash.glb index 4f2383c66967d02bbdd3c2155a9c2117d9f85267..23760bf42cfed3681fb5987a6c1040b74431332c 100644 GIT binary patch literal 266700 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

fAy8mU$`9AnM#f{!7gTJcFon2l-BIXYmZ8&K=}O z_MOZ#h&p$WUpi+r&mijDK|ZkE5S~HQxr4mNwQf9vsB;JTDyEh^gQ#-{`MnOccm`4D z4)VeR3(p|x+(G`pvGO8i5OwY#-|SK$kur!ncaXm}I-5utM4daxpUm@xXApJnAaBc` z$TNsKcaV3ff0Snsb?zV^S~`|z5OwY#-~Gx`oPgM9ri^B83ib?zX4r{)Ys8AP2s z$TzDrjZp?s=MM7QmrrMuLDac}{Pq?z8D$W4?jRpme-@(*qRt)U=j@uvD1)eT2l+Px zW--bj>fAv-=eyaAGKe~NkgxlEE~5;h&K>06J&9zLLDac}eCaz;j53HicaU%QC5ll7 zQRfcwdoM;Y${_08LB8fXtV@wW)HM$Blsl;2p{{X|r`$pH4t0%#Jmn6mcc^O|K*DD2YJdJRPRvNILK4(pn8Y8#zCIv4%9o;H4gHWJE-2Fu5pm3+(GpY zb&Z2OKX@m${keiP}exf zQ|_R8hq}f=o^l7(JJdA}@{~KM-l48>kf+>1^$vB7gFNL9s&}Ys9ONl?P`yK4;~-DD zgX$gX8V7mG9aQg7*Eq;i?x1>yy2e4CatGBr)HM$Blsl;2p{{X|r`$pH4t0%#Jmn6m zcc^O|K*DD2YJdJRPRvNILK4(pn8Y8#zCHP2h}^&H4gHWJE-2F zu5pm3+(GpYb&Z2OKX@m z${keiP}exfQ|_R8hq}f=o^l7(JJdA}@{~KM-l48>kf+>1^$vB7gFNL9s&}Ys9ONl? zP`yK4;~-DDgX$gX8V7mG9aQg7*Eq;i?x1>yy2e4CatGBr)HM$Blsl;2p{{X|r`$pH z4t0%#Jmn6mcc^O|K*DD2YJdJRPRvNILK4(pn8Y8#zCHP2h}^& zH4gHWJE-2Fu5pm3+(GpYb&Z2OKX@m${keiP}exfQ|_R8hq}f=o^l7(JJdA}@{~KM-l48>kf+>1^$vB7gFNL9 zs&}Ys9ONl?P`yK4;~-DDgX$gX8V7mG9aQg7*Eq;i?x1>yy2e4CatGBr)HM$Blsl;2 zp{{X|r`$pH4t0%#Jmn6mcc^O|K*DD2YJdJRPRvNILK4(pn8Y8 z#zCHP2h}^&H4gHWJE-2Fu5pm3+(GpYb&Z2OKX@m${keiP}exfQ|_R8hq}f=o^l7(JJdA}@{~KM-l48>kf+>1 z^$vB7gFNL9s&}Ys9ONl?P`yK4;~-DDgX$gX8V7mG9aQg7*Eq;i?x1>yy2e4CatGBr z)HM$Blsl;2p{{X|r`$pH4t0%#Jmn6mcc^O|K)IEEs1;iC7gA( zj{GP`cixcBf*Me_$=k;G+$ZKGHu?mxQ95Nu1HNwqv(fmN$`6Y zGRuWg@8WL5vzHdjqx3HE*WmXgl(kfCp!m(R3t5&n${PO%j*se;(K2dZ#`r7n9#vnO zALPm!e;NMhh~ws^JJa)@y{8b!Zc6_S2&45pFx8SRl=wZ%V_9ORII+Qbu z)05(oaa>>Ti)m@n&A7YpFJfkxCgnL8_ZWUav(lyud8D`}@Lh&r|Lcxgi89ml3sjr$1iCyn2c|7PN@&+rpm4Lf%2n7Qi!hDu?yy`mwKBCkFpEVsW`A&e35hHwF^jzj! z20uI1wUf`g{u6wA!r!l7&8ORVov#ePYl*W@RaT5&Lz}qImOP{K`JTb?JeyN2Bc_;q z3HojrHvf-{tiX_R?2xhm3rXm+ign~zcnAiS+A!r6}Z;}WLkYU?`)?L@bl;aB(EQ(uSu7>8vmSTj}*@;mT8j8&eo&DwL% zJipd1VeF>sN9%#OD}D|UA#AhkE6jiFXzeq47`vO$NjNap%lfKeFss&To-n&%ZL6tv ze-=@3wV*99%35+%cQ$q3Ss_FA2Xc+_x>aG5$IP@|Y+sU1gD)FD$=a!9F?Q!fb+)9=SnE#L;%s)!>THYa zaI1^p&RX@T#YU~{Ywgpo2%9yoCcB)kowa^kL6$9~4r^d+Wc6%UnEh70Hv6$_tG*{r#B*zGq(tTin8S%=2;+2A3$tX)?YV40`YWz&5>`d!SMkFB&e zV9xJv`5n9O#@w{^*!$mO{nj?m%eMZ}fK85F;MZlc8;coVk3E~&(y#I3Jj_AYko8Yr z(r@!rH#TcVJ$8TVP+!*@dDzOz4cWwyj6TJlxUtuD>#(vTI;P$(gH zd;#XPsV;LcO-v|sDKGmxrUARQXIVmr7X{go9d%gFPe} z>eOcQ>Xfv#80*HoTGeCo?OI!0x}r?ms3zNcu$67)%7X0Jlsari$F8=}j2`Ur+G?!* z)QPq~#=Enp*=sSDXS%JIb7@vGYh`w5+A3SmD#h8+t<_kB(|X&jN)_1h!d7;<^%2{O zDy5m|4{TkGzN}?YPc}LslYMM+Bi1My zmQ_k;Z(ptk>lx(Ew#{*~S14bVnH`F;zy_J^ArqRhn0pyn(FJ+!5BD@@4rUh?yz7mv z@b<23H){DUTEDh=&*{O+wmc*(tZcUh`V3?r21W{3OaX)7reAnH!bblBdQ*x(u%GE^)!Mnnl*Evt? zqUKW*s-FpGr`Bh%hAfSZfA}$+J=sviPcE`3eg@_c+m{Ev`}I%bvwR9?ZRfc7-Ria} z;RT-k@~0R0wU)MVQ^Q$3`GQ}$+H-A{e8X9p zO-KBK_Z79(#ypTg)cPGM;BC8a3ukZcfARg0AvR&d({R?hXdT}}iPCHqlj!%a4JN;_mXUB%P`7UwKWZirj zb64y{-@|T|t+}@09n?FMUsCH{R?YNqmg{%XZ~W4wc$V=#^4jXxY{FFQrl#R+$hCET zhuISAbJuWo=dPpmOO8&~2bk+dRyyTZ=l6+LqYvIMzD2Fx-eauI{leLyi50CSZ^_n4 znlP5tWwv!!-TT%e`cM{pU$U0y;x2^t8P2Zl&Ms)|zQTTa2s^)3BRuRIAe8JnkY#Gn zL6~?pL@4<>5O?E;5lCkLyS=q>Z zyM?|ReA&xeuB>xTyHGo?l{L)n$|{|egl>~8Y_LlnHcVp^_9pqTN9A&}5hLtEhSw%m zsAoQQ)|?=mEoEW(*W_h$4K^WSjgh$oxUpnIyio42iM?H(pDlP9FFf4h&4L~jU>CJ< z!u;(<){qrov-iXaqhA?V!_tLVR{bvFw`6Y?H>x13`};28OCJMURG=_B=(|(sR@a+7 z8Ci(+n6y(kj`_9nnZoR5-5tWVL<2j`3bRS0b_j3o>e-XV?#!d>c0sq=z@8s0%!F~< zg>JX?Y|avQHh6rjP$<&CN*8u#hi1hJ%bg8u#BO(1V&gVp|3(9=#@v}^^)?|}Jp(Jg z#htynvQ=2})WF*6+}X^%TZQp91A8>Uof)%k6;`$MX0u-vW_53E5sozXX78Nb*+$SZp0P*8kyp zp~qlfmbYMjR&o4#p;2Bx=Gs3W+Znk|cs1F|nqJGprk7qPbgd__cer=?pRExJmJwN# z_c@s*WQ}m_t;l+0$jL5WUnS(OQ-wWko1G1_t`bsOR%M^^XJg43RtUkhYp|QMGO+>q zmJ3%`)?^Q_WngWd#R$<|>asrN(y@MRqlI`@pFQ2-zv zEzWt_YDmWuW@F7$U{QA4twPHa8lDbkp_`m+*V-(JFN8U;`8B76b`u|4?qU8ZlXBjt zp1j{@J$%qngYV1-#p3&*{kLJ~;&XL<7B67#y1r{+LYRwN!k|0htW9WA!kFI+C3sv5 zXX)pENm#hOV8T%;oVn-M+5!T1#$UpG<@`2-?N0UJUE5ZKvv{eQ?L~=fz7HN?t(f^_ zLKg3Vez7>eK~j0!?(?gC-(r4VvcFiufpCAn=2$PqRIi(mVRL|m*28nNUf6ZVGiN-l z6_*&R`rIGfAU*~@rp;`hVg;tew}J1}d!A23fHgiAKG$64v;9J`_@i`AmMlJ^Z&d;R zS3?fn{X^J=2s8I9PK2fiTk)2VXUSc z%YDz3F!r&+O782I3TKP&P2qk^mvC0L(Qn*aLc`hlGcCA(vn-qquU?h=9hke@_b_4epH-0#F%xmN>6 z8=c?m2J*n#;@m$uhWj)`$Nk>j$YAf9aX$w4wb`of+-v8CvrNGgxbN5(>uK*<+=n#B z`uo`$?i&@tyYtEp?gQS2u|bW_b3cAT7@M&piTl2t!dQsL#ZK37`A8^RP(LU4=emb7 zA6F0VGaMMf{JhI@zkloq*0rOS`-a6wu(Hqf+?$<8u)D>q+>eY5VMCWz;r>L;5H@Rb zGw$=X8_pVM3E+OOZ5aEbOc?i#Q-(0FgX6iMcz!U;RBsXY-4_pJ*N?8|-g|U^mS^`t z?niF##aP@W?sGit#y%|k!hP3M?bw~*%o2STsYweKSf)7l?)R%Rw@;qjH{9;W3Kprt z{f%9v*yXeJxbJFqV=IH&bDzC`iZJv`7w%ndCJL3-_vJpJDz z%PAZiuK3-}atMohD}H~Xt5B|%;`i*xBkX#ov?FD97xJA@{KD$Rg%hcMhM~CN^-($A z_-J9_RXycrKN|7~DZz?g{yvAGOHh2a`x%6wtBNo0<}AE-3**;z*7)8UW>EYkw-?s- z-4!q9OtdZ?srX~sYu4oTitoAiq}6w?;tfR(TkkzoeE5-g>*3FeZ&oeV8tf6y+aK<~ z%Gyk?_&aei){;#WUvI^1YmQEeHx-y>)rKj4*oBeS%99meqhqjj=u*Y|&uL{{zd`Zk zQ|ef2>{Wd6ni}i)V~W2~-^2R(s^Ys}O>af+T4F-62JVta{QIHOM+8sJBzc-O|aZeJzu<) z@b;SGkEf)wWjUbu6J}3ax*dvtQrX|OAVTp=mi4if4pDry=A&%et15o#&iS@xB^AG6 z(n?#oi%Q>?-?qoLa<$?c=QwSv>8to{^`F_EeNgW2l#UMe%pDYepnWcTKPSbH%u(20 zzKAkr?yc0?&2yD;+q;p~9^s>m=krzu$7T=UiRkxvX?>1?op6?uda2a{Yx_{=Zt76Wqx&%&nIu5^pHYsZR9?=S3hZI zks$7iKN>1!+v(4JRL2mhO~5Tam%iv9CT(A}nENcg;Zo>?8Or>Ru`sr64nLZg!cxMe zz*_^XAy4BjmyA)l__qyDkQgW@z+y`$dEj9gAmHS2`OGsZrYH=U=$X%+bufzSJ*g{gB z3iY|ay*t13wtWNc0}JPqGL3G;{n|pgrQ*FCb02yEB<-+>{4O| z2dIa#EX#Vz>ps4tnM9Qj&uf2C?B$>X`=qwZ&rRyJwHk6)~lK`M~3 zHTQMPx=4|&6@N7*z2x#z@e@}%O9AFK{G4M3XX)Aw#gFWmPHON%@iRUeX@0#?*zUzYG z(~tjR-|Nzz|Lpx6pY1CPDL&V{&-T$w@p}t=wg=Z&{LrKnd&jPdUl@^M4+>KJx&A5k zRUwMMQ$5ALFHG_8d{gXuQ~gKyujeG;oEd$Ub8ZEv*yFk=zRSE6`MOMYPJM!6{_oZ_EeM^3^3)>aH{_Pig?U{f<2g_f!1j6AsewEQ-Hd+)Sx7u-lEOc4UX69ba$nQHgszIn?N_V6>kxR3KYXzvsh#C@_?to?n%{@lmhTVqekFqr#h zp;PUR`V8fMg=L7nyLTA(t*<<{b>0)sebbp*TT*BU_eYyBp}`QPo$wrMgp6yIzFK-a z7aQoW%p0|L>)4PAF8ut`F0I+avWa}YDqb;=Ez~IU+sRS`S&iP)`0-vzgIJzj-MD|- zW*A#izAg8)(hX+~E-1O5$sLE0JMN89a>sk*j*+F5+;RF%ID583$sK)=JDN6E za>pLzjuYNW?&yTv@o}`0J2D){K3ZKRcickmD6&(@9dXDVRRfgVF<>t0G`>pi_yf6P z%A1)sdhW8e2xk|^D7mA5VeIz>D7iy=7sm3oKgZA6wm6Jkib~`@xN8_os-xtN7l%XH zm^dYOyy_ClOtO+Y-q=SlpJPhy7#2Q)xeZWq$An@dSkzS|ca%s!f=w9gXQyijiwkqdyVT5c4**y?qB8#W+N7^ z;NCgs0M=~t9`2v+>&=!{ILp1Su?Ne2_bvCkQ#vrQgNsDhz>-_B*^chqx762W?Q)mn z{-If9WmYS>V^Q8xtnAVT{J66{FH1ZVzK{VyO3GU3c=^r3b^Sno zy!4gdg$})ybyuNYqlNU(hVtWy*ZK-AGb?Mh(782*t@{-(H?;^ocaPxbR2uDpzdJx# z?}ZL6D6CJ-7kTcu3TH+r#|IV8Asp$c`0M#|3V}5gfA4M{A^wBX&fN=zh03QC@8()u zV8;}HIJmg5EH#^4$?7h&tFQd5y<8rl_aMa&dz?dnwmRW6*_EvlbSnj?2ose zPR$)+!PY*h zxueCBR@Ru*+)*WKU8|6qJGM2`Si@3tM}>AC))%R{L;o_pwRmdo=yT_ZU$xZS5j$k7 zpGRt5cw2FfU)|K);cM{n8E&|rd{c5jZ>>Z<&+_7ueM0=(xgZMc!;%C~2eNnPT+Yz(vS51oFIx)(gb&c{Iop)YjU*k4_ zpYPajh5dF0C4*ERz0Tgpq~!gH;qmtSZF=)_Dy`pVKRsP}Hj6jBZ2zr;vOjRQ&0Twe z25tE{)jByz`!6-;zNbEmbmU1*?h8d1k-S94{dmvv(pYzQ?w7jPmU8S==8aApTS;y= zWBGh?q+XCzbWkMstOT|-^+)*Qo zQTi=4ciaimOGYnc{ort3C%MP^@bkx(swAzfXXU<6b5H43btQMai!CiJ%cHEp96Ohg z-XBudPP$3%Qi1+T?)cQDko2aik~=;x&M%z_R&qzB&v~VcGn92psZ6=0{X>+s)`oz#qhtzzx;>UE%E(K*(){SR-XO+GzRQ$;4S)`^hE%>!P`Piipk+hCS71@k_BUNj>L1&IwP=9fby^*jJ|Jj@8H= zXHs*=X5^0PsktMs?z25EHFp$0`q_Tzh4Q(omHJ{o9jo|q@4whjMJWC{az}`-;v-Kw zNT)I@K6432DR91$HMZY&lxnn6e9lJ59g@=j?;EF+y7y3ghdb#cdA@S*PMFh6xk@Vj z=!f*uLl@;mE2L`imP39 zSII5atEA+Phj|M~{ZezsOyrK`Z?tN8G7^MiIor7@4f2Fy?OHvd!fDkxZmfv z!EOo)=6-LPNc*zT!Q2-VC)w@G2669Dc7}a&YbC$D?RVJT^Ng27^UQN6U+HCTWgc!H zkX1TYUfCn^&GE?IE0;2dy9Hder_60-r}I0M8O~3`rGJq~%Mko`Q5zGu_0W*VH zp=@AQFguh3%nrIjIYC!27nB>!1?GYBf_cDvP<}8U=mr%4-N1rSA+R7=7;*;-gGHdC zU=gqwR2(b@dO#&W53nRu3M>hhhRT4Y!Lm>}uq;>}ssNS;J)w%AC+G!L0=+;Dqy;sg z4$^}<&;WUZ2G9tZKqF{|ET9?mfqX$9&=0bLexLv`Pyj{99~8mLP!+H;SQV-URt2j= zHNfg%O{f-F6RZu@0c(SGp?Y9lus+lPtPeJX8i5VL#!wTmG1wGp1~vtoLoLAOU`wbK z*b;0FwE z6b^=gBcb2Gk>Dt3G&l+z1C0g8fa9R?;5cvsG!dKtPJ$+blfWs^RB#G74Vn&417|=H z;0$mkGz**w&W7fIv%$I0Ja8@;2}OaC;CyHSI3HXHEdm#Ui=p4a#b7iP14e^Oprzmv za2d25Tn4UyR)QVF;09D&UV{DrFM*e#E8u1D zDs&CJ3SNh9fY-sB&@J#LcpJI{-Ubt)Brp+7hVFvN;63O*cn^F4Jp>79AI|P z70L;^g1MmFU@kBZlo!kc=7aKs`9L?Q0O$r5gbINL!NQO`SQsn<6$Oic#h~I~G0+1l z0eXNXp;BN;uryQ#EDe^0%7JCU@=yh^Jm?8k1U*47s1oP}Y9KAB0dw@*624H=#A=C(L2sVbAfQ`YXP&2S8*c@sBHV0cmt-zLGYp4y_8f*)- z1KWb_p$=esup<-zb_6>?oxx6E7bp*c0jn_5^!FeZbyeUnmId z3-*KhgZ;n(&_Hki7z_;pgTcYj5O6R!6dDE&1&2c+;BasR6bg<2!=P|53>*pl295+r zL8HM@;23BuI0hUCjR(hp6QGIU1aJ~G8Jq-8fu@2}z-iEQa2hxRiU4PTGoe}FOmH?d z2b>Mgh30{C!AK|yj0ERH3&8o{LTC}V5L^uX4lV|xp%^e4Tmmfxmw?Nl<=`@K1+)@e z0j`2pgR8(b&{}W}xDHwmt^+qf8^I0WCTKIb3ETp01-F3PpjdDlxE7odya1@IE|2Y3m*3|#>)gIA$z;8pNCbOXE& z-h^&}H^JM`9q=}o2ql4uU@~+UOa|{k_rZJM1Lz_60DJ^J1|NY>pr_yy@EPB|pmd-U z=nSO?ok15U1Ly)~gff8{!OTz=Ff*7H$_8cyvqL$+?4T=@6LbZ0LAk+PU}neMPFWl? zJLYl9>y!`559R~ipaP&9SP&`%76c1J?qFfC2vig-0v3acgT+7(s08Q%mV`=yCBf2A z8L%{17Agmp1pa#@IdQb-%AaBqB8X*&C1kI2IG=n~n zFX#jMK~~TY6d(o)pa}VcB3K!!0#*jALe;>kV0EYlSRJeh)dFjRwV^s-ZLls>53CE; zhZ=zO!G=&Hup!tOY63O}n?lXNreJfZ1=t*H3AF-Sf~}!8U~8}~)DCP5wud@^?ZJ*v z0N4@i1a$^GfnA_LunX7~>IQZNyF)#|?qE--7uXZ*4fO$ggMFbOurJsT>JRn<2S5YC z0bnpR2n+@XLqov9;8187I20TXg@D7s5l|>N0t|z~!7y+n^cy%590iRAM}cFYvEUeR z95fyr2Tp({f)l_=&}48DI0c#tP64Mu)4^%r3@8Ge0nUVGfiuC`&>V0!I2W1+&IKc( zC@>P74=n)agA1WW;6iXQ^gFm1jD}*sXmAO%6kGx>gO-EKz!lI+a0R#uS`DrO*FbB* zHQ+jEJ-80s0Br;}fSaJr;3jYjv=!U}Zi8aMZQyoj2e=*F3GD)Rf^kqh7zZXmHZTFS zLlS5QWoS1jgL|O8;2v-vv>)6D9)J#l2f#znVek-m1Ud>H0gpk)!DHYF=p=XoJO!Nw zPl0Ekv)~!<9CRK$2VQ_Kf)~I`&>!F>@G^7-ybNB2u7Ov<>(CAGI(QSh1>OX2LwCU2 zU?P+RCW6V(T`(EE2i*tnfe)aE-~;dx^cZ{uK7pQsPrzr;bMP7X0(uF)0AE3`!B^lL z=q>mLd>XkKhOJ6O;me0zX4vz|WvVx-VGnW3wlnV>%}&9q0r)L+L?h&;`l> zx_}v>OkhSZGn56)3}%J0fmy-qP!2FV=nCZoUBO&XZZH>^2g(cP0rNrm!F-?_Q~-1X z3qpm!f?#3D9V`syadJWoW8A$xIlBksO@pEWof&0Yj0iyHR_ z?4Tq5?!l(_#G^Owv#>t+yG=VMi)|L)XX(A8SnaSxv1`p8?AE4e7PBu|Jkoy$tB@4Q z#;m$0Hmbjac{Ph*Yh&?u%a`225{scfPbZ4HEo0cj`O$33^JLLw-x!wVXe1kW?w)vK z#~9XzMX=DD$zqljW0-G_C^k1GQ7mgJ$(l`wW+CtJcg1^_WDT}OvL=`BiKqQbvPYf~ ztVvR`n5k|__QD~Gg`~r0FFQiWJ{*6K#~;aJ*%~22a!e#!5qD1<-C%@px<~|DkLx_G z2^HSIiDa+uB#K8u-0a2sN3*JPlEwao3)-*Fj%0^}?}^q{ZuY$SBG`k_WO2^UeD>Ba zB3akPiK5jfi?qLQG+SFXSzL5Ji_~LUBujF+C#LAKNKbM{FjEd3pO;yx^D2_1XcEQw z_4`RfgQMB;8A;-7kN#4Y8TdO``rH+>*6Jr+DG_G?n?)<||UCP_@leoe|;9sR%Rju_kFsx(Z8@pJN)Sa5R&Iq_&TYcl4xm{2sM zJmX3v8`>sO?1$sI2Sl(=oo@ntcre7P(^A80MaMU2NFPM-J*6#frt=6chGY zO~oIakg3?0EcT@#BPEa-qF3?EmBHtfQ*HcT-)BAR?q@&y&fJ=rd*-Uy z3rL)>4R>VukPCfZLD`|LczBB|IX(0RjJUA{`)~0j_UoTRVb2rjR1`uSVxPhHb0<*w zr4M<%rx0d$Ie{~6UCGvC&tPzZ4d$QqC0(vOh1tu_;f{8pe41A$(}^MHfq7@_fi+2%qnZo%*>E zGt-BV7w3bmhxw7qUb#@G7>P?qhmmrpd+_aXB(@yrN8AQKfV;mU(E6<#;g;Wnn?@0s zQ{hKEuiXKqHYvh7JmKW&>1?plxPYHIe{xRkHh8p5!EayO$@4kcV4$3g#tH#M|6Ufn zUX+HV4&f~!%q7>Nn}$7-0FHAe;y4aqk_}np6^ZEdMk<~ zAG`$J6mH?$n?b}o?lLsG-Ncu>yovFIOAuw8g&X$-lPTI4VfoSf7#I~z98bi-8s%L4 z8WBt;+Qq}iW%qH=9ATZMZE;Zi4IxK1#=@4W$N2SU6dAlL7&!ZU%x(xGTTDaX z_0`9?J;Ix8-5m_7dXF$LA(#yD2!c0Hp5clKk!0Izclc;ih}VY%5`AY62=;o0KdL;* z;0kx}Du0UpO@ZWyi94(dd5KY{!^!OoJJ`MAHLerZ{CPLwEPPw{5;qO?Ad7SCpgg(| z<4gm{xQTX101> zTzrd1sv=0jW^<6)6r=Z}01_E*4i8Sf#jG$-l9aU?{I3*YG#^N=99s>+r;71QyLe)t zHVxFwN^oWSaFX+AD$H41jL}X0l)2bbWMRaeRUkwYL}{R3u2 zB$HL!2g9oFB^X>7L-t-A1O=oRr@E$)O^1y^`E4owmwu0QQ0W4{Z_K`|5!|RG=9RoXTOQ>g(5P(TR8?T`%W$^6q14c%5bUI zA2NB=Yhq76VQQ8Rye!Ee2BRx6@QEh$<*pH<6`yeVNOd@Gno3;Of5e@Av|v*074my- z1x`QI8}v^5k|)!vaAZb#V7;A^n6y&3fGn=Q*M zu0j{1r7-(Zoa|nC1&+UH26^e3vb?p`cra)etm-gYHhy_6cIvYO`Yu(IH6E$P;QL#_ zMS|7kk*# z_Nv@QSf?~q&l3(0Q0M(Z>u^c6J9K~Ei63~Q1~1%ngODSAcAHChV#p4ChE^metlabPSA9eRrY z)T$oGD#d`jmpxAmYq9)k6cnyL&ua~<#&%87Fl&cB-@bP(&K!ObwrYg&vX1p=*CrJb zTF3B*hu32Aixjv%Dv4hJ)ws8Xu%_bJ7(TyKEgFxM!?jK~_y)Cl{7)kT3cKd;{RIE) z=fc|ZBXjxIBdRg2DIF#Z%i*sH>$L{;%>nnd@AwBo{?iJ#A%064ukot}U*F7zOEoHYB2NBOQ;Cc!i7e4I3W53n1$3~*yn6+W!32Jh;jm~*cN zS7H@-RgJ*&B~|!gX(b%-9*xG|Dsb7^Dmdyh0*}9_#MV8(!^5Q$al!3s+)?or>gP_u z{_iR=cJ~*USuhP3eg1@#qrO7_qRE(GUx8;1D{#Y)EW!iURro%w37&3ViZyN(s5RgZ z6kIdI-cjW^Zc`JC$X$YA1?6ZPs>}uYZAQnN6*%LM61QvDR($fI9M$_MaSD64WBGUC zz2c4%XB@Z%3w_G4Y;7wpwdgSJI9ra%*III%|1o@hsSJNTP~|@O9mlD+N`*C{T5{yz zQEZ!Bf@}QRaHof##p&T6@L+`+S98Q3gWi{*>8IA5a5NOx))eD#Uo}qu%2||6dWUA6 zG&om#chs5q9?z~;=lUmkppM5o+&i}|*I4U;<2~Qtq}J-(+WYQ!c>ilOx~ItTo=ttMx-HU!^Qyhg8jb*^|}2&NUkMD-L6uJwXooI0uyFW=JQ%qPWT-h`JJqbl&2 z1oX%%#Jy!2T;Qj8RKM~Jk4I^8fuG|rac(}^PSECBwYZ9>mlhzL(BkwJui>bgeC)GE zlgmDE6<3!%#%(>dxWt23aFKs52JX=23>RhL3-^a;l&HnM+;tNpxIDb&sL4IQo`w3; zAK;i-TAV@94NNY+joq!ZxvotQg!lD3Xn0AB%bAgft!;9!y}Kr-xh)rMqHdx3A}wxR zj|W()jW|qL4~hgm!(%C#_*z)2YUhwbeCUR#>!ZnCF?x=pKFe{lnHG1(w*YTPUdD}n z+T640Z}G7(!|E4W-0F_SsNL!c+FaA*M%TSX)%Z(jcTmW0@CMuI#iRVCHaA_l48L|r zz@>WHoTX+t8k)xAjUSp^T}~NJniq%tu4{4G8KqdcHyBF|b-06_DzQ`V5KP*v&DBn* z#__Jfs5eE6b1bez?cyMuudK~=xcUiAr?_LpDjjas+8T7b?2Zk=+FWTs9gbb(j^#(R zxM1U2Y$$O<-?7?U=Y}dIb!Tv?tqzyJxDLJh*965d804qJZ5>{ZljT+z_gb6VaNsju2o-c8^X1?5xc;may6xBIGOpC( zlr<}Hj_~-eo$K++@RgYMN}J1D^%)66o8H#qj9OG+^rg@Iu^3Hm zpMN<{@czbc*`dX8N6YZq`&&FG)8=;Ldn{{{#VcEDas6+U;=|du_%t(3PJ4R^h8W)E zzYF{GvaQ8vvCEHN_f3n-8}S-bvOW3AL0Vk<4sX!=iZ8!LSCdO9e2sJ02Jz2cX>uFC zzr+OxHuA3p&pUok@gBE=UlK2@X}s|ny1&`L|8dvg*3K_Ly^g#1Q|6kS^_hHB$mzmI z9@6Bl4|ssbBei%wNrS8Unv3d#^?0KobuPbSE;`LM2}+Si6_-!>hsw)Dv0 zQ`9&I6*(R`d^02MN^9=b$qXF+LRsGCpc=Q)J`IOmA1HG;)QWp^FctT=oGqJ@-jX|h z^b#Jwqal0$NR{i=?~?G@_+ort7eVixic8vM%PRY*aCxe6Sik0+UD&fZolebvyCg3Z?`6Ioa?~P-yK~{HxOm*T4)S%$3clJ$<-ruaO;#SzN~g6 zF7cn>hqFCer<^C66Usq5(GeR@o*@poWw7SDBd*LmN!pr}!%TmBbP$f61R54YL*xlm zP>3M=Gv0#c?Nit_!;d_k{|5NNQy8i2O}?kSh0tp!Q1{nGQfgZW%l$3UHts69*!?*? zcyj>Vmn4x*X$9~^;~@5ojw9X%&%ykjC4M%^A*=2`gjPQ`;M;fi$m#WY;6%1y*6|xe zqh&74x7>mS&*h|SM;<&Fyb;~oy(BqJx8dl9#prOUh_v;-1>x~#=so=@IYhEyLzx){ zM?WH?qiz8SUW_{et4Mo89=u*o!IdU;q_sQ){0wFa-yO=x8jEzWUo#V{`(OAnXfzPytDjJJwJHHbB+KbT9b2R!Ywuay( z39#^KU(CLv23&OPN4YE3yFkPNKhS>A3a=&Tfr5rFn6*>K zZRH)|@C|P`v_Ktw`*eUF#=bDDZEN(;Gk{5st}y;oJ@4nz2MqLGV7b;$-sFA{IF;`V ztL%UBW7PB^f^z}*Q_ufM9SGw?&%*p=Px$TojA7YuJNWtTC2ybDAJofjA#KqszGHP? zs9$0SIuD-kE`B3nF@GGiJ6z;5%|=6x|4}gUP3OP54})B+o3~e58mBzD$E_Z z3g*t;!mpVz9okJ_4neX*e39)W_?Wm9PL&?wweL&-1Ha`k;@cK}j_+Lf_{bF6cQN7z zES(Si-b{y~U&r!2y=Dm~Or}Elp>h0_!kLgcYzEv9GU7@8G8lY%EKKfOAiw6i9KPHC z2a8j`$p<`L3_VLn!iOE-<;fiu!O}PXL4I+8eCnWeP<3hm#CJ22Z>?Gn4mN$kE_1uQ zeuO!!eB2v~x9^bW?OO%-v@fXMHIjGF*#_~Mond8Z>iGBeJ0LB!190!;;}#WKfYoq>qsw}F=(tAuq++7N}FN8!_~GBW1BwnTZ}VUWjE z5q^>$IrjQA>`Q-2hTmLGKHs;6szG_g*l;fC<9rInb-6=EWX&VVK_?+AI**vFSwlXi zISBXJxlSH;b|ZVz9HFG^MY89D19{+M4}BaH$ewLRIhyO4aD>J3&qT*)lUH$+iC6c#FblHs}vFw#B@mTfsl%wGK< zojZp@{}@{WkD5qnLNN56c#cFmwE$ce3wm#bg&N9qK=pkbG);6S1@>AHc`z3I&zvF2 zdb(g<7Y)}8oJsow?P0Rv1!$V@Lq5DRgxR-JA^DmMSuO7k>N76Dt)FL!XOF(19GeX7 zJzPjP(jSbKuYvrIFKJvd4qjir4(UVO$Uy5c@L2a64A|j7-mD)725YXsz?N<#ezFW& z-I3L=#)JIa;s|C% z_uz4!6B+VN_$~VD4g~MdU{e2F7=0;_w4dz*z8xRJ!j4`f+{gzkhv$NunKRkG z$p`c&-xv06Pf~Q&2cF!{goBW)NrB!cbD?~k5Ak-t0EVgeVdQ=nlBj$EhQ1QkJQt1+cioTz zo5tRTb&EoTwJ+t6Q=S9ET%gi_ou5xVO>DT$sBn7B)l)$0z?hg|P$Uph#6X4w>@| zy!OSyqM5E_vT^~$UyXrR6+UF|n0!bM2!wX0L&)u-Lby0E2uj}gkfm2%f?r4=H1=~P zV~Y#HOD7Qe=lYP?*3Y5Scvon*JcR5nekGhcaD{m(KIGAjBKSyLq4tjpQ7L%^uO7QV zs&G6uLg^(8)!iqa@30cqU01qm4*ej6d=S=Jx4QSg_1Gux2?fXHYhaJ7aF3_%;Skh* zAJ_`#JH`o*-yp2bu2AAaJ_?UFTe(*}Ke9bO5MGZlhs!QLa0lUBfRGi<6X!JK|i&_1O{#MAwdU1p>;n)uu=&jEes-{WSb!rEftRUsz<@Wfrcn_Ng|yGRH)R6xpv8WneiE@2j{nbo9u6Z%*b$F_U~;825{6E< zBf1UVr1Rrw_&LUo?Bra?;j&2h)5ng~Rd|ywKf|HzM~);r1rtqS{rNQ&90`2yP268a z!_fwg*bj9fn)Q*;zm_8b!f}3kl?cdx{6Xe;JeX`P7S^A4{2=>O;7wZQMMG%G2ieBn zE+n!f5-g0$WUX?&iQ0GJdr7peEX69Aq^1kc&mkSzi3i@qEG8O`@VYXGE-pk^CmeDr zg#XB8d6N^5!(rMuL%DocFqw8V5(a4YlPl$Tlgcg8aCW$%+^3xj`FcDOqRe~C7iI|O zaoodUy>6|1@6KRS)<<|g7uCrJ3v1e2=|n?d$6EOu;e5*devxqbX|>!f&6|uL7Y;>R zr|?;Oh4UjR5%6r>RK8I-f7CTF3cBx|!UuJ9A$b=gpm*qG-h%fg7CFLwgErdpWk-ec zHQgg%^(T8i;F)lKM=c62Znx)e^>QJfdq%*-PiJ|pyWXT=WEk|bPvIS1gGsvZoh*Og z1wKc3o;NOxgfjOOe)}jFV!SOJ#?>eDLtYE#xsHcIpMd9lx0GO#cs2|UY$)Wb)r9?a zUj%3;Jm-~!^ItNjFk$`tXZ+Bg!uAaf0WXgx{zg$SS-n3Lil->xL=zv#ZmLKb!l0gvapXnxFx1S*F?<1}3?zwJUYdxQx0 zHPgWz!t2G_BnT?J4RP7d5E6Sb2>hq@#nbnM^Boo;a3{(T7wWna`!hk%@p~Wacg2S+ z2?>Cy$Wm+bu*0Q!?=Vf;E*a-@|%ygqG;2Zi^&%?7@(;;1=Jdlo|0wD1M> zWoxkgNMGV#;s*n4&2i)*SK`{z7Y@X&MvHE~WJw=y_;GYEHYtUYkZ3P(u-}JiYlVAK zp7Mc<=k}svv@6j~@B)LAdvNk}Uy}RK1AgkA#CDdUVtf+a zgzqdzuDe6!u@h)6eCBqmaE19gjyTUFjA*<%56jy)VTFP}F?4W+WSJwb81GKVQSPU&9=s+9!)wDxoW&Z* zUmSw#JcWCijamx>?SrsF`2LkdyPaZx zuk$5+XO4ku_k;2DfKcK&XAHD^6NZNsFA$eo{e*RlBXDO`ELpX!A8a!YN4|HMaNgMv zdiE4*|BEFnX7q(W!nv)wH5p{2Z3hUHMd6J@m&vc<_MmPTfiZQ7WRhY#*lrny&z@Z( zhr`=}>4``j=y0DnjaC7bfM{H(aElZVQidLNk(gd3CwFfu!sdc-bl;y%_T{#K^94~D zy5}uvQ2j*4{D?uzT`x#vhcZHzL}O0L6XL%49q||*iC;bxl6Ol>$hrDxytwH*QQLZ- zjL?h2-*4;5g`ymC`DhIOx>-ruhu$EXi=r@fW0?gxZ zsiF?FHL)lE4UIwXeeEFF;vBhgE)FLq_7Uy{VMXHj1T0u&0R23+lXd;#F(#-7yuY$q zxDQDTcKF^4mhaz8dXsqkcxnU`WlbalcMJDWm@o|5T^mDgzlg^W|G`ijHjv1pWASOx zP`H*jl9auQ$5Bxe;n^u2@<=mDIDX1O`*E#_-oXT{d?SNj4PRtKr^aEV1_%5EW#Vg* zfG?C6K)Z~aGNSm{zC#Ta$gG` z9ZY3yg?k^sNppDU+($OlHW45GTnS-Io{jG`KORflnuFIc9huXjM9iDH2cCyGj%#n9 zj9sSgf}V=;>2_Zd(KmZLl&uKLP{@qOId^x${LQ^GDlR4BWKA0gn{Oz8@F^MR=^TfR zZ)V94El$GzQAeO}k5h7=o(ZTGats_&&E-#9CE*;kv%v36l(&$j;2a%0Fx+-SUL2Ez zYENxpLDC!frF{w5=D``LxNuKiKPw3zw041KbCmhjCsS~3hx6dGQG?%7Biw)C#W^^j z(T)FoEkU^FxHDY+ro)GyPQq^Od_Z@|P<~=s3I_G|hAqp-@_YIwquEDKII28@e_SWr z^WvEo(6wd4lag?yK?v-BxRT#lnt}nNgTX{|GcTW)j7mQPVZ#+GzM*R(W_<{Pu>ITk z$a_gRWpoUDG(63FC|(eb(?vt-Y13i$_GA6!X4|c!4u~cK1*G= z2eZvpSaj<$zxQA=wuUPZs4nMcPfEntURR;pv#Y%NE#W@hhccnlquczXUnywnhhU@e zfY-AS?(4mn2annLeCe=63?7AGq@BlGge9Sc;~mKCT*N08rr_kZO&Vm7_W<#o0IV8jyEu5a7XMiECHRTyoKJj?Qq}pM0|U$ z95#9D;lpFe`0VOOST#`}&sQhn!o_7!d#x9axGKC44EzX<8a;4YN&?zj)Peufe&|=0 zBz)G?LW7DCj$M+7pZnE-(hg(%*drc|f7d_)8e!t+cGytJJudl5Kcmb~L&yY|VA~x&wKgNL+HOHRrK&8;<`PjtOJb zx&1>AVd>Z?+{L%$j#(bT4b>5N*S8I~`u6+Zb zg7Y|JLNNBV5#H1q&kN_v0`RGVCg)Y_jDvmsaD9^&S5oVZ`6U5pb6ksS*TNSszxKxw zM3Wm(?1S2FzSvQ&$^CffjRW?1AuQGA(yK$zD#-`0ztG}-2%oEGZ+l~|rzUq!9*W}~ zJ#k?>EpD!32*xgS#get!oL!GtOr7VBNguR0>r~-A{;V5z4b|ih_J~6hM;DyiU5j&Y ziox^+4p^kF!@U*ug{3NvC=b!*jG|NU%oYc%HPhnAmt?HCYLD8&asGz=i5Tc>gPL1) zxQ>P?sQ=Ce-zw>Fde>7?FWClVSGBmWH5bs&!UnhNYjgF>lhOCmPE;4pr(O()u&0M6cauxNo7TPYs)`o3 z@J%eH+|WU*n_672_((MTsfp)i(tRTuJrcEXO>0dqN*0YhtlHu96PjG8UL-mfDWUI6 zO|D{pF!q0>AY7ZF$ypr@MK>)a{N7uGThlKTzjsr`exVv%L9bw()wz=2xm|*C5kFIM6n)*na3hmOK5N}QYKNvv{l=Wm>B!SS9av1z_9 zKcKM%_v?TS#%SB{1^x=0bx$k2jm_EF&0Ej);deNXZyPX2*h>q9uF-j08{&Y|yD4gGc>a92MDQ~|)jIa-4;x0b@(Rax9*ov(d0Dm{9 z0eU;FLXVIUywB5mXmw>Rj!v1x7j~)DfE@}m+K<ak%N+Ie8zG=MaBlFn)czUG4HF*RoX$IIs^K-_%$qym(d0(vZ9V@R7$%Pl=`Xg3u zk=y#^L3jN=c*c80hU$d7Fsz{?#$NxHW-;{+)N1IV!3)=nbrH8=pH(+ZkFCpS3d(`Y zW}WfW%}wL`Ll*Sx(-w7JJsux4=?171EyVEdx@LcdH+1-a(nL*I6A;zv?f$ zBuj@iOB7Id$1>S}6VkwPr!pG*b(BSgUW11(RgmaD9B&XL9P7+d#7Z|uS)Iuxn9%f* zf3-1Oc4pi~$Tq6uAMHOWiw?K|_ANj2H)bx8>H4KY%a;}Woct`=pV5hM!SoS7D&?gt z)+7M}Eemt_xS0Ln_3+JEB9YKu7`ap-fXZbs`LAce2H-whC@LOLEChL7Y;YpS| zf1t>K`1^Umlt@Q@<<&VPYmzH;4O++FPg_ooPjG>zM|=6+vuBc`5NB9(>HvRf1|dDe z&%@Dq7W|HZTgjdU4shCXIDc-WHR&|h9-ahEsaBf|0Xs`&?!I|MqhW&ZniYn=Xt#t|6jqWc&-)4IE2ol&WhJEZ(mt@iZURxeQAAL< ze!6?=d~){Q7jkZ7cesA!Gzt3tlbC7h!HRi@NQW+;$<$+=;J|fZJ%*|(ayX(3OdEER zGPaq zGKk$HMfh0R12(zcAj!v6;GK>!{KRX*b>{8BdEHQ${`n$V7@-BZM#c~#{0{EpqXj)) z4uA!UDdg*bcHkNNAEX+`lYI@nK-O{`Y+MjUDtGGxb}|8}zfD_b|>{MHz(>^b;vgEz5UF$})!nhR+M zgkw;n0iG8wfX-eXWaG_oaQO5*h*5DQ173^=Z@t+t^W%9kdKL$WxeqD zL1$p}8$0N@LpUZTcZM)S2gnWcAQtb=!E#M|*e_%ry2cr5Zl8h7r1Qi;b{<*^*B+XF z^&>;Sc!Sr0b6_;ei@coe4IbuB;BO_I>$~F(s;Ul`jYsSfw26KGqh53C2P6`f!kddcr9EH|9NmQ{2br}$LvB#gsDHg<((7_lKP$%W$gETykzwFOf6a-%p{ua6pNu?|t4)WU5oHTu>_NvB@1o zraI+@4&}`{Wl6V(Pt87*B_Fmg+e^~>6?Ofq7wgY@(puJ&GCPapBjx!wn^gPfak!ZC z_Ih=oOm)idZ-LseyAui)hXLtjBM5^OM2&`sAeC^k`LRL?Ir2v ze^meK#rm_Jw3hXx%+4bDNO}IvCe^y13C9he|05SO)IjCa2ayj2=nMB03&(LA`jQbI zEy2BinaDr)>A~ji5%|S;1Zhi@pzwH^$obtnL19ri>dPk+r%kFbgDVqx;nc3c`m>&N z-UOFXgy#Iqlks8uvf1c9Lu=`_W;3vTzgkpczsdsPz4{WN4B4g0lwYnY7xk(w@gh^5 z@?N`7qHfkTP-Lo8J~*?wS*I-N+LkrVK9nUNwlCXD(wA68|J952XFX{x>q(iNMe>pI z{F_ax{c<5j%y~$~gHWbA|ajTnz3%c7xpSb(WN@trU5mc?>x$9LKgFeuun|JWh^;SBmUV5=>fNk3kv#h`7u? zLt5>w6xqZvim?8yC!Ke>{#`|0O>V|DyMW#CC$;<1Sb;^?d>QsHR4`s=R?aTI(^iKQJ z{_4g0v!1k;^`y+sBKb&p{>>)U9y%%<=NF!bhicw3%2cOpzBfkHD;HRZOm)iN{9{Eu zCb4QfWvWyDvpTU^r!487XOo(JC`&$UU$&Q|k4c*TS1;C|^`y0|CuMdP$w$ibZ#Jp6 z#gcfuEL?X}yyB#6+WZ=kSN<-P%{UZ~v3h-AQQ&OZd8-(6@rZ#(LX zbFrSR58L;zY{FcAK0Y!!7n_0YyJvJA#zk0x@x=l;<+U$PU!c5Xpz!|)L2uRmhsac? zTrK?nh3c^}oq5Vsr~IW;L$gj<(w!!JZuX%p`LKQ2UXq^Npe*`Jy;y(Nlh(4Hl-XG% zA1Tkj*`(SAokTI`G&e<_GSw+RZz-HR6Xv}ntY=7>>Xdg4jTiNo#e+qrI%Vt6NzFQC zN!RF}((FT7@?rb3y(GPOVAsETvHq+ln~lvcvE(D=`8S)CC-P4Me%!PRc0X&w_c0LO zlLbCLu0pOSJSW-~+u(qG7v67FoygPXDf7@b5korcf(0iA@chg=k$X;W$KTaW#Qnmx zN;C7i^3(sT6S=de3eWnpo;2qqvI}TV)|2&N`?A^SK0|9$gnfq1!1i?$&S5EE-Uv?7 zn!L`)I$W>kE4y4&FVA=>yl-^b0B<{Y<;MyCv6=@?vc$K_{DSt0INxI&g1Cec5buE+66b zOZQi4x1MW#CC?(b_vef64jk*Q9(Ph>;0 zPFd13@;*2FP?mhyzHBc^U#oiIuU@P_>q%=_Ps;2pl8=<<-)vIt8J9#cr^Wnmo-)-b zZ?laP^`HR>B2%5Ra&o+=4?CD9GSw-!*_+&~Qc#rA zp0t+rq|DAD`AB*G%_h|vy9wtpr~5=p{JfVq;*f>?`t<;H>)t&N0kda z>(6@rZ##O4bFrSR58Ic`M(6SpUcYoMHUrzY9%Gwuzl+uC7^s!8dNWCiHn6i zPrCTXMxW3`PwRL*_wqVaj#0xO_BF!)>s(|bH|n5zp71bOUkcSR>(*|tgT z(V~A6-hPt?y+^9ygK_n^IxR%D!(0bhf7X-E6}K`?oQw5jeb~NiHaeHL@cN~5u^HID zsi{?%aJ>{dR?I-k89ic$Q}&MjBPSdpnt`HxwQs2e9v5Si+fRk|lM>y#xuU}|Es4`s=R?aTI(^rYkC|LVp1v!1k; z^`y+sBKb&p{>>)U4n7r!El4pa^CoEivr6R0!nHk*hsNQ;khh?wB}1i{Dv_VRorn3K zW3gUXCuaEs4pp{QiQHdz5z=e?g148zqPlUoR$e8t!Hv1d`m>&N-h*d~f#zgASs%79 zn~m->w3cpbHUryNnZ)6w*w@fEcnprbT!r6Uy=7l_&BlwbVub%LzJ`mZ$7AV&O3c0D zDm%G&9yXc8VaI!~Ve}fnAt_ZjI@njHI&2}%@sG#5{fZ#=(0DwqTZ5|)1dHSOd%{paCfA^!T*@v>^!}eu+NqX7<=f8Tf{;VghWj!gg zvq(Nto`17RwMFjXV$P=VyOA>0DQBGx5%n&ymLgM~vRP`VsFyrCEHc$8ud#}3)+tMR zV^CDH4`s=R?aTI(^bO(GfAwPhSx;KadQxU*k$j{)|7MeF*XTu{h39X`@4gSGS(l1j zzsU)EZ41ZYvwp$W)cx4{c8SQc3(mM)xJbhy&cE(OF;h4F%5jLMZhzgY@SiH_pHs1F< ze*GSS8!k7(3x8`YTJQmToePqEHFQSSpY^13bz9OX&c%ANK5XB=vI%o}3a?)}7n_0Y zD^twJ@KGvUxXyK?{Gj{p;gk)&J{0woY3U+Uo$_`4$D;1}iWiyclrxK;HtUoneOcRQ z%|4VRAGR;sOVXcB&iJbr>(6@9TGo>?JB#Ea<@q<8RO|i7OU&tH>@Tc=Xf^t`ZVj5B|Y_(Z?g|&$%pOB_L6iI{tvvQ;u2S z)T~pMbT}e>j}iQ7EoI4v?aTI(^ruS`|LVp1v!1k;^`y+sBKb&p{>>)UcJ1tl#8Qdd z(lHSS2ZW1U6J3dIa?YZKf--lvDG_^^hKfALr3#1Kv&Ryd3J1Qz|4!zFiJWazg`nqz z*He|bwpkvOa8IHXGe%Xf55=YzDUP4l4&7cw3Rv zZxD_*{|Lk2*6yzv{1;oAp+0b_LJ#+s6^JE_59y<6y6_%xmZuuhwaN|qjS;E zUpg0?f$ckE+I+0ssmjH=)*|JKbw@`~Za2(S)UV{!i%fOO6Hm_;b^jG#MW#CCd2JRq z>y#z^_^PGNK9nUNwlCXD(qCsc{MC!~XFX{x>q(iNMe>pI{F_axO?bCl%(>A)`28v{ z)hS!wTO{gxGm}K7I_1dj|C?*+qEwNoPWfW^YVq+BOZxk7Ynpv1OFnF0wwI*)$dmu- z#rm_Jw3hXx%+4bDNO`D_#B81jzvVdeof6kEJsBsom@o43tOktKT#9eYlsON-WSnF* zTjavf2E5dF1zO%y;ksrfc(Va5-!I2)K`ppDy)K~cjQQw#Hb|yE;0xy8ScSIRT5w1BWZd0< z5oQnck!9X$K-Qo2{NHwLAr0lzI z;YG^Y{#QiZ<7|n@RHwXiLb|9Q=q9WgDKOP3JIubq(iNMe>pI{F_axwNdJU^m&+*9*LBxPI+ckXHj1%{125f)hQnYJyD+^ zoad)Zb;@?P44QSyl76MLVY3fq$%pOB_LB4yH8FqnV*Oc9HXEB?V#!C!^KUjOkK3;9 zC@d<^9k-3a&`{(lU+GqghyUo|**YbztziuAlV|XhCuWr34$q$WW|=Z~dTA^!t-i%m z&ZsHH)2$3}nT8VAcr_MnAK&3A51sn~S%21(=BzuW#GMr8Wj$FRwlABF?lZKOZfiCJ z+qYGtK9*D~aG&g=(J?iPzd6ZW*0VnUpg0?f$cjxe6@V+4+ZYlR7A=fJDFXi{LyRjeM@AjQ(pbasadBi>Ca9Ei#n~PEcvi~*7_uM2Gq)c_nxrKS6?tjotWU5mhcsyU!Z8W?@raI+mj_;dw%90*A>|?VJ zWyy!_%l4A=8`kcB^5Pg=`*Qf6n7e55@8W|L|+4SvpVu=ouR4hsuTR)L(d^6?w^ zed2R|oR$Koe!>kWxpH#KlTY8kHm~3C&TSRA%X>WVt=UmI7n$5uWRj7E$D|*e=^`<@W}7$Zp$YA?we2((P#Zxlx>p^<;h6zHB!7TA;sw z>0E3Ew(svBJ&A5!xp2*UFjCI33%Wr0>4Gt$zScZcWU5o{+;XU>PyHMrGSw-+tJZ1O zDNA~v(ALd9lqDawFWXDf?N)~U)r<9KJ!viLNtvBR@{#iVn@y@U>2Jr==b?A^-NHK4 zc0AQ7`!!mNI`y48UMNmHdYW(O_Yn>yTjIyL zeF^2`dqZ*QBM06kqYS#J9z;I23!ywGFdPTx+w=D|O2K#O0o0DrBb1$|h9m3GdeV8{ z`h5VJll5eM*uHGGU&4M%Yw5OTGq8O`# zi{aWnYc%gah`iDdk_9aa!&lSncxTOGm}+(qFQ@e+8$$wQ8*{>OD?0H>R_|biyES^> z??6`Qy32NL5PqjJ{;cQ!w&Oc-F4mLvVf(V#=v?&sGo6dg!1nz(J(xtly9bM(og(E^7Mbdlzve}W`m`WBk*QAkMV5E7PFd0qcXMy{p)C2Zec4`;ezukE zU%gm=)|1weIB-0j7Q2;r|gB#^sqCV&M zG?A%JnPlsVJ`zj%Pwj4^PHQPkK5SpMm!v<+oA_5R)}QsHwX7#)b{5G;%0qo5X7iYy z{wW_7c^f{oo)9ink@XMJCIObT4sx^KkG^7wG`IwpgCDj)`#uOW~2KIt)<(V z&A|43WTDJ&4$K1MpMb8y{aBngc*y<>JcX~#8{`HvZ^Ey%i8wJgf{>xXvY&g1Cec5buE_(i#&c$Y6`+iy#zkZdhTn4`s=R?aTI(bf;Gf{_4g0v!1k;^`y+sBKb&p{>>)U zZs{>5ozDBmvlUXNI_1<8apS4pSxH@Fs#A_InIP)#2ecEJ>XfU(oipg;C6@FDYA-~c z)>4*y*uHEpNnih4{gbji4E77H^UYvaA&?+E3+DU0!Y&!Y4jSEHaY zK?~!}-V@3_ofaYM&w9#)=e%H53~UhQWj$FRwlABF?lZKOZfiCJ+xOa1{q*7~!g_%N z+u|wrQqsH3T?TFD;Sz)2<9=vHKtQnu-njjVgzOKIWoItHfgcy94}BdDDY@FXp?@jS zFb$LyCM?F%kmVVj+l9lxPMT==^$l^k?jl?GZ2|rtd-ok5Rn_$ie2^|3Lg<~)d#IUn z_BtS)(0lK_cSu5pj)L?iMLJ3kO@Yjuy@n0~N>f3aAfSSPND&3`{`TZKc{bd~SHpY% zxc9#C^V#dO=9{(GUgyjVfq;qLU++0Q@VdhH5yW-rJ@r2Nx%zDCy41gaR@bG^pr89P zTNW$w?E99PHQ2B6GAWnuQhCKPIRf5hLe4<0T;<6x1qZyq#sYy{xypZSks;ny?)b4J z>EipS-07pAtDoig+Q{6moTc~Id#b&9PnGM};`DLmd3`o#?{In|)O|>IcRj0Ixyt80 z%S_7OIk+v5D_8lKn^On;tIT#FSFUn*(XRu2oZRt)GYP|4%6&i`6BjSd$v!dxAa8Y`Jo; z6k}@V^Dl4ut(aSFvgJ*_i{FXJXr)RsM=V&A+pqW6d&WJFlPz`s^`3ek{ak%E^beFpv9ryD9*V>`98y4g0X{P>A;J5^qas|I|@!XtrPxyt|OUpe5VZk-S0%2od0 zR+)HLx#RwMrQ-Xj-07pAtDog~+3BCXa+cm-@2U3cJyot>i_^!M=k?i~y_@@vCUqZ1 zUS`hJG@oiQh8YG)4b&4;k0LU6D#&$CLX%C zyruGPU!P*Vzut2T?s?{C%`G*j-c#?RpR3QNUNdU1dam^u^m7|`9z))#^{k}jT-^C~ z1?%HW^Tf1thxvn*<7xWE23Aby+uS;DC9A-&^`c{j&p5@1QB^`3ek{ak%E^_o$8)pM=Spr3njrjK$KN@Eo{$71cd zX4am}b4BLQOY*_=e#)C6y>;x@ts?t^7S_dK8^nHZMIP`&ES;;F&e}C~q4>$w%o>+} zjcD-L;)%WY(C2O5wla15Sd6inSnd7O#qtzYS?{m+jC&r_TI&AmJ@r2Nx%zDCy42U7 z)phAJ=;xMPGu+BQXg?(zGE=Dh+1}d~RNi&(*nqdl+ai!FS9yh=qXRznor9*zm8-n) zwZZYOa>t*{7#QD2UJ^*NmUJ^BkWbLoTc~Id#b&9PnGM};`DLmd3`o#?}RjOS!=d!rE} zuNY>j-0GG?=>7Gc>UvwO-c4#wy{FzsKUbeky=K(jwRp|wGwA2msQ$inBu5o`|HWcb z`S8An%c;C$`0RkUEId1qD_8lEg0ljC;QaVNu3Y8Zd3wC7-0`B7-;3{~a;J}eu6~x| zTz1AQXX*X*o@%e&Q|0=#IDMRXUZ2g`+a{<)V9voyvRf)wuJTzW$_2bd>7YQaT;-j= zE*akh$xK1%^ zc=aOGX;}ssLcA|s zG9j>6xyv;^zK_bknDlv|kE&6*>f_{b=S_}x)jzIx+&uaWj)#U$il6QEb6-Ep>96`Y z^T%1-H9EP|)0xe2XMV?>`QzsNF)(Y~ef!Z;H7ZZr`KNzf|KvdKoa?xnS>;a8rAy-a z#ND^JJ}NJI{`SA_#e_ia)H|+bP`T6J>GS#wj;m|bXK?&Ko#os&XHMsO)mi%WIz64) zR8N&VJsp2_&K&;G(B`OHj_b?eKXo!Ko}1;??({(c4-H)w$dx;}s&~0Qh!YjNh+uhGe!p3ZEJ zJM%mKpXTh<>#26VPvd7hb@Fli{c&b-7$W$M;dWb1kaIIoHWmAJx-w zl{h^tJi?al{>krSI@QMDtG#*=g8@!@)arb1p25NmB-B!m#aRir{gMj`n*1a zGX7FbKIHV@&7cZy8r*Ke;PlVdXAiPom|bMo)^be z?p&98jX8Z(?p%wian5ye)kpPoT;)z5HIH+DbXTtp$6r79^|PG*&YVskbszNWb$Tjy zddA(WxcMD_b0awqF%9T60s#njo<8jY>T%WktTU;NNH`*{T z&_~s%JZ_%2T=h{s9gllG{CggKhS1PBSFa7nUqAQtvz-3UoKAn|8dXn~J3XD*9Czk- z{6EbZcmJL1eHuTTdXAiPom|bMo)^dCo};+yihI4q^-;NVEvm*j*U42M)zk5~*F#(% zHIH+DbXTtp$6r79^|PG*&YVskbszNWb$Z6#L-pQyb$-Y7Ibrx5INi!O<&wJh*wa5g zS01$O>v)gL!};GH&Z=JbxIS_2k^|G#@(jqo#M zTzmbruf-*+{;qLWwY&Jam&luSn_xxRep*}klGUWo1nZNZ=TisdLpwxU(eTCZY_iot0ReFlB6-d~?hpGWVh z@6~(id-ZemKKh)moV!1dRjR3<&c1uas(vbu)ob#6nt^=T)q>WBR(|sJyJ9W6Q_#Bc z-h3K~yw9k-)+YFl(Oaz^6Z2X(;r)$_%MSw5QP<(W_GkQaP7 zh0Z@<`f|lJD`)Ddl)ezY7drB>)g$OD_-C7AtiD4dC?k9l@`5LOQakjyc09(){Gul< zK%XVZ^?JQV@2}6G@74S3v+48bJ@vhMPkpa`uHHwVQ$M#!^Gp6tpTAFoZ#1;pG`Q?9 z@@G3b`@3n~$aTrzAaV+A8{E{oljX8MN!xJB_-=J8WYlK=gmF`-=h<3T=|Nlk13HG& zu{)Kl`CB*p=bwI`iq@)OEyMQ+otv~hP48IYm3qBK@2}6G@74S3v+48bJ@vhMPkpa` zuHNUbuIpL5EB;br&rsb(r7TzTtNyMfcGBi;xvlAiuK05l`HZF(Dre2hb=BYK>rM2d zJHK^m+*W_%VxN(iTG%>2a+`nh#Z9z&MUdtGWUIexIty z^%}juK7+nj@2}6M&!hL$_v$_Mz52O&pTD}UmEErS|HzcaDo{U-^>Mpz{bj#=N+}ON zrSc`O`A76giLVi+x2hHT)}MRg1Dbs84;q1=?>4J%N-JAfQY&g4{$Ih#59ral+jPSh zgVcx{_48w z^tK*8J|`9XW%(=hdX3&+pF!WN z_t$6B=h1uWd-b0BUj1CX&tF~F{h{CaPxu;J>$>A-+4jBZ@0r!I&KK)W{inlgabfgXSabX<^?HroU!OtWtM}Ju)92B9>U;H` z`dF%%8 z>ot0ReFlB6-d~?hpGWVh@6~(id-ZemK7Vyx8*eV92_N0HhQ-rxLY;7Cp z^X`?Z{!+)nWG3|Kd$!gq^?HroU!OtWtM}Ju)92B9>U;H``df9w zm8nHz|Dk&^v@iKN>zBG6{9)646ngiv^~uO){&hcYrj*CdTZ{U2_NS`WTHL>L**dW{ zuYcDE>&yd3&s$qQDCtkvZnRj1K1CK!O;>;J~!n6a{hFoc0 zsn=`t{`w61UcJ9Qn?8@;Q{Sui)c5M=>V5v|y6$9|9Q*5^9!mLDoocm#xp=4M)%0!{)m`9DCKQy>piL{m5v7hrt={h1+m9oO68>6C3r?L!raIaUXxQ!K{$w zD{tj|9)gF#8SaJKa5tO>2knpT_J@bu{W2Pb!p585uSoB^ALSu<7@XlgxD7Yp+;7sc z*q6^ebZum)F-4kYw_Fu`hd%KTJPgioAKZo;aBkS>cx>a}J(P5CD`Rk;Waj>fEqyI7 zcnBT_XSfe;!won$2|FCy>Y0Z&bslTD3#~HBTo~iKd)GtoFgU|~a39=&^USJtY{sV^ z`mV?f>34Uw$8Eah>ps~-@Gv;TeQ*xgd1>v7@lw6jw>F@HYJ(abj_!B{5Zn!CxD6L@6V9Q(Jn;_N>!EWu z4AV+KTmJNmX^)*elHhJQ!)>^Ln{X~(_bcz6?H&@H>zGXn?2r$e*0jI-b}+%+aE9A( z0XO07J+|4Ka)XB&WNvO&?RQyzChOQ2_VpsT8_sYWF5o7d^UUqx-M-vIK~K7vG09W$ z(xSEPdz0G`+zn^A4JWt>=UdH|dS5K`(7~*I%tu`da?Q15ADdB&;BGj>Z8*VAI2W(^ zoj2_~52YT}-)wl@&7J%e?Iu%76Wk4FxD6+`3FiZsve|#`_fS-|SfkeJ7R)cp+c^uQ zC%6e`xDQTn6VA1swzJJO9xDC&y4d}@dvM{!)$Mi%Zwj~xXLuN#;3iz2Ode@>iT2Ry z-aUP7HVx*=<6GOm-`^qNCY<30oZu#0j=t-$OXAnRfxnf-cf=XRBR=VGe-$!Cz)d*A z4LHF~xV#+R-~M2#hdu~dXEdG~!NsnQvX}L#C*UTW;XXKi_S7g7E`x8@v`?Olrnjzc zHgimj;=IpC+bevz1>A%)+=dg}gv-@0)7we9M^c~iLW~?Rj)$!oZWkMuRKQI*!zG;H zCR~pFY=$r5_o3vy`H|?fbR7TLX_Wni>$wRx;0%{=f}3!AM?K*_{(Vp+;<$W z968C(Jv)hjd*KY1aDtm~S*73%8P0Hmn{d0u!u!VH&}wvTK{?9sRW#=rR>Cee zD#nES;0$Lt!A-bbtnqUrdAss7d{|W~lGVeRl4rJM@P{Vc2WL3L32wsekTic7t9zHE ztItj9R?EXbzxSI@)}3j>eQ<^|oZtrB{w3yDqspH}sOPuU>Bs&aw!_Z((iVs|;XXLS z8BTBmZWo_--zYt#5G}b?lNQbJaG^ypz6;yCn{XeT;S49Z0k^;Ie#3}4o}cyw)uEyv z;qyV$nZB_D>zi;NoZ$>7xB<7vMVvQ=Y|Kl|Pt>IkeIEAQXyr?Hpu7q9!5PkQf*WwV z@}omWZpuTRyY(pi3lEpvlEwGggd8T^2WL3L32wk`W7ck?q?Ma4?52WL3L3GRm5zxG~hY`u_+f>Sjh`;Ld-`t9<*gDXxOa37rE3@3OsxG(vGxkk22 zxoA%62GkUvUu(CU?#|usLj&%EGo0ZB_riT=JB~M+^~p_VR@SFSzj`=tr)h`-0zu(R$r+{XHj3h-%z8|kytm}2WL3L3GRb?vwUk98PesWRP*c7 ztcMuFvLEo;NQaE3D+KZm!c4L84d zdBuIw6-rH#RH4ehMDs7MS!Q&h!8Y6rXE?+0=jd5B+&s}Rr;*ik)3w=U=!6x`sXA;o z4`p6$!+mguGo0Wy+|2j=R3kX1Hl6KKfKH?w$D=M>HV-GeWW#-MhBKVtHr&h<@uQL9 zRx|4SAR}eK=hsD(-WKc9WRq|ooZ$>7xP*(yTdmBAbGlOWnx93Z+@o1ED=sQ#Z!F<9 zoZ%8qa0wTAdu}j~4;x6|Zi*GgTO)a@H&l!W8zA8}oZ%8qa0wR|djD*0DL9I{%#9XP zx(?+ePlQ<0c&3EgaE41b!6jTADxXD+`fx1mC{bE8?Kyx$tlFa0ri~IV;S85>f=jpv zD-K*f$IqO9Pz1y~oSot6q7u;M&j6YG6;WnJ% z5>9Xlr)l-;niVHSP~mUF#nSMfC87sir45mYj|nMktl zV_73xQ?a1f0EYYE43}^LmvGv4ag6b#YXn_B)IywZ-%d^}+*}Nc7{PEKoZ%8K;1W(d z^YwOj8W2HarneAFdtS4TZfGuE{4j>$UO2-g+=NRwl}@`jw&j!v{Qtns#E;D``&xY1 zOnfjXg5hCshD*2smvCAdd^`5h>Imw#pozG=y0STJcoR_`bHKyk43}^lF5&duubsm7 zc_Zk_+D77bhnuFadPA|N)L4ec!Wk~%HeAB#{El<($0s5vZ^MRST7fDe|5tTIt23h* z?u9d4!X;e7X~OUoMuoi*wCqVkk+Sq8@nc90k>R6Z4EMnqF5wa`;k3Q%l^&L7xD98xgfm>iDSMVw;*1!{)kmvDwlIKyo?g=eiPY7gj5r}rEbC#zMb>)C%W^Y;#6xP&uY z!WnMEY54fDqTJ4oG7SS^s zQFLr^IOpzYq3#&dK!jH zIKvsva37p{F5E316d}sjB_sJ(x26wD1RJ4GQ!`w`8P0Hq`{2}O$6k?SoIyutXQr@@ zZ79j-N5cl6PsMNvXE?(d9t)@Mv--qTd=H}^j3BbUYeVC+uJu-VnUdiW&Txh^+zqE4 zN2Qp#rz*YZmX%soZ%ZvxmiD#omXhHT&Txh^+`D}JC@UQs*Ou0d%WhxYk%Hk8&Txh^+=P>{_qZ5VyfV@KAUfBiEe&~`&;Imb3WiHK z!x_$S6OOOz9~W1XR-pq|vfyhpZD~oNB6gp5QZih^8IG^fv}L#nr}v|di_0adQmUz$ zY2sIH=%*(oY|n<243}_*Go0ZjoF1M#CX#KcMn7E4NZY5hp}ob+*!4qFF#+g(oiEU_1)c?mJTXw zHy)Il;S$bphBMrRQ|rkG#l|ZZl}($PB0^eIF?T6@OH=&6sFM#$IKvsva1&0$XS1k# zttNfAH5m=+--;^d39*w#q+z&(Go0ZJH{tYo$UZT4WPSSj#0$}}cT4K>G@Cs%YdVHY zIKw5J;U=647v3he%x*@Hdj2Rb9B)qffB4h4V^Ic%OE|+NoZ$wXc4S{Hrd{n!r-KiR zVe6XEh^y;-Cn$*F63%c5XSe~UA-UU%!_h-%#?|-4to-$8cZE4s{^*jI;S$bp31|2o zIK@6ZVA`jm=rg`J8q+=eq;!Wr&^(}`<`+`}Ju$kly^ac#GtjU5UZ zyAPINxEIcFADrPnIQ7q*+D?1WLnq}`UyXNa(vKrk7~ixj%y1LVa0AY8ADl7;Wwk%q z>Y=4?rL(hkYE1nnXEzRK4`#RtXSfMxxDQTY9VYr3;Om(|&%W}eY~G0$l`3s)KJtfz z8*qlZ;SBe|Mf2Db`)=aTOTP{O&{*8AFP&|W(zxU~E8*4P4EMnq?t_az##Hj9#Mf7Y z?}YlkI5~h)ra9_fJNbZw8*qjjaE5!~V(p3UzBKrH8ZkZ=Re za0AY8FI=?Q+}f8De?E-u__Ocmn9=m^Tbtc;Q%sU@1I};*&TubWr1`42ZzuYHRPLOw z^66;Wv)pA&Y;?$m8*qjjaEANf=HcAQeJkI=K%p%UL@H1;%4rrdxt+<-IO z2e*?~{K5M+?&qfw6Mab|hSOI`$@n$n3ITV+8E(KC?t{w?^DcUW@b&8cW5{=VL?;Tb zZ5mI*{}6CDoZ$wX;Xb(BmTj$f1HK*}m9d1c!j4LGd~11QakGj9cf%QOz!~m?bC|Kx zYvJqdd*{CNHi}9?`wIjcS|^8`D;L}|c$*L< z%Fis!QzGeQyI?^d*Q~a^+Biae80s1I`%oW-dPaQ})Js0zd_C$J^%C{_P|x-5K90SC zo*$(zxvxpb>*m)oZ;2rHhdqPTg^=Cy@2|C-yPgHHh8;v@ouKDhUq*6 zcf%Q84Q|6@;T-jLkoPR=Yo5;&yXxF@bL_HOVP;=Ee{To5;S3Lh+wfR8r%aXA`vvO1 z__Td&c%8Opu9T5syVm0Gds1a}!x`fQg4VQ_}K;Rf6b=e)nwh&_t>hK~w)@rQNadyfjbzyAeazxl037@Xm5 zxB>UVx#YgN`}U)L!_ErcoWq{@dS|ZSZiTkF6|+>7tU}u+=P4KynfqccPiAcoiNZ_x$7}|c8N*uREP2RecL8`;S6`fO}H1% z-n;wV{qXC<#~TKF{XL%AyX((#w=Wb;a4($UZnz2e!g>F^Ohz(1|2u2<@MhnUS4Q6W z&>iu86v2IPhP&Yc?uGMs|F7;9sIO9Tg12_9va?yo7h?(Tg)`g@7jQ3}v!qLE7?{6R$pzlh z?@W_pi=KCf-5y17ADrQCxPW`%Jf_A%Bh3^1eae;NvA6DRk-5wN=05n#5Q6*Q3=e|~ zxEIb3E>|@l@5ATQh(gA^MnB2xku~wxx7`VD!x`>_3%C!?zWFJ|C)vkQhca``gH(z$ zWX*1t3NZ;T;S9Io1h?UwZrTQ;Xg2(M^UlZilJ33vy$9{g=glt)xDU>76Hag&F8g&q zV=Qin&vzfqw1-?B$)7x{V2--*zJUAS3^(Bfx8X8H+T!M(Bl!E-PcC|STm&CZU(ytJ z8VR@!XSf?qa2qaD|I*ELyF7Gt_xtA5Mp4|kbp>;FL{R~^;S9Io1h?U`=!F^Pw1H97 zcXTeX{y`M4XyZ0}TnrX)8_sYEC%6rlb;8%14R(*F8?KR}#Jwm!QNl1k#Mk}cHk{!S zPH-D8I~-?o&$=OW`_aeZ!yZxGnoF1mZ-fZA4QIH76WoT&Z8vY5>+W=;<2P=JOM4^v z>)z?iys4`QxD98xgcIC`%YA85h%lomU0Roc@_HkAb65s*hrhCbOE|+BPH-D8m%q#; z8r`c-t+Ey(>vANQpOnk|$p{s231>LN32wvX=+oK7;P}^HWf;zIg4=L;IAwk@bZ#;F ze6&HM3Py3Nrtg>s`;`!I31>LN32wt><9r3h_4$R!zuTg;6{2`f<|gLXNs9@%gfpDs z1h?U`{((Zms+*7Ym90rnMHDw0*TH=MWQc%EIKvrEa2qb4-YYEpDRR@QeYI(4{V0AG z-Pg=ItB`<8IKvrEa2qanT@Mk}%jckhSL@R87E%26{847=?xLN32wt>H>;@F{%sJAP8LqRdq(lGbnltpe4ksu zC7j_5C%6rlNe&hj6Dww+g`o}ULH{To)^HAf50O*AB^=-5ry;`$j^9J%l()+l6YCCU zqNNoZQN5v2TT8BTB;E~k7`Tnsszo+g%TLLUu@;!xii^S2Z! z1YE)y&TxX;aG5rL2|*1r(71DrDQE8}_WW|yZ0b)U;1bSoh7;U|%c+A(h(^C;pjsUp z)7dsrT)o~s^Znr8O}Kt4J>{ zjOOeq#)}2l>l<(hXE?(NF5$jL;qAqNowaCF-W()<9mc0Rtq^~FKiq~(IKvrEa0xdf zX@dA@SsOap>Sr;u*&yySdb@a#@>d%!;S85>f=jqrXw__CZ|F*uqYsE=CHnE`TwZZ; zOF0RbaE41b!6jT|I=x(!y3>o6;^#IE`l1JqJ%3OXKQmauC7j_BPH+hqsU~a?r3dw; z-TXk&?X86fxsKRTg_si-<}Y7%t%qmvDkhIDPZPHV#hhM)xb<7Z(d{ zl^c$KC+;+8!Ehg(;rMs2TLoOg@$337BVu$n8a4L5xbpIuUF6q$;^>qv_&l)72WPm1 zn{WxI8RzC#tKYO6wP^T2Y>Vma%T)J)IMSdS!}q}%F5w1T!s)Bey87~?zIo^aak%Gv zlhQp9Pgi$kxB+Llgxhclr^5qx`j&U>Mma9u7ni=wE9{x~MB&<<8E(KCF5wa`;Z(+z z+nwofSIW`hp;%URs;Id32T}ATHm*iy{~g;nmX{ANMBJVHT z&zFdi86Hcx4QDvR87|@C*5+T#_Q7r%8C;5%ujoK+`cDx(&s~*p8_sZsGhD*O%bCeV z(@T}9R*G_TxqMgryS-uJia00X63%djGhD(&*PCyP!-p%<&L7ItoXg!Q{Jn0%N_|qo zC7j_5XSjrm9*5G4#sx#EQ>ReMaJnZAZ{JEZ@f?wG31>LN87|@C=m(jExLBShkFQ8i z>-MJMGF&VSIUwN@&Txh^T*5`6PC;VlyXEMc^_A#xWFK;USW`TVloBrC3}-mQC0y(p zomEV|SC)>Hu1w)=`%=tuA>;wCgiAQX8P0GC7s($4i%SK|QkN^0sa>vqw8>pfJZZ8| z!X=#H3}?86i!(E`iFC1Ls8zKpRB&fMdM`;OajMfE372q&Go0ZPE{Yb+E_$^nLp|qJ zq0cMyrve?zi-KD}k#GrTIKvq(;i6FE?BZ0uGW2AB723J1KYic5jA&kSw}eYL!x_$S z2^W)EXBXZVrO9`r3Vr;jKfU#RNs%GrE(w=#hBKVu5-vRXvy1ea%hIw@mFZB@ft2xCVbMNSjD$-#!x_$S2^Z~G zW)k`PmZKCuRHA!-4xru5L&Uo&Vdg&Txh^T*5_&FP*rTs{;KzxFS{kdH{{fR8;&vHb%lFoZ$>-xP;?-1Evv$iiT3- z$)Qwh=K#t!q?j0TFGj*8oZ$>-xP*&RTT+SKtt(Q45fw;!2GH`*5~9VN?Gi5G3}-mQ zC0vZ?om@;mT8YjUE>DfZ2GCVcDe?7)9TG0#3}-mQC0yK*NyK}ds!;XKW$Dq4{*Q5I=RS)o7m?GQ1Xz2`fN_ zZuO>!nf1k`6D;92oZ$>-xP*&qYge09GuEev-{zvFMlbpza|`iDp~Dhx!x_$ShD*5c zzdPFO`l2zF9uY+8u5_ndExL$b*PN7a8_sZsGhD*Ol?BPn8z)=S52I6)Wp<(EBZi3E zhrX6@8_sZsGhD(&hMkRlcTaVtULg;~F8qDy)-{vF@{@NY+<-G&!Wk~%;>d)acKaKB z=*p(E;+tbl>Bb*3#g(2ehMRDPOE|+NoCYsGV$WPMkS-+OE2@mIOTSN9BpzC68E(QE zF5wK9a0*M2QC|3N2#sI$q4=p0QQ_>%#V;Y*7%t!pmvDwlIDOc$rd)Y%7%ivqVrPb` z^wqc(;-iN77%t!pmvDwlIGu`)k`s+oC_JX2>FJ-GF@xOb-sJzcj>%)jzP z!UY`Pclm7zXSjrm%w^}xQ?-Usp2xwWMYqoM{P{Xj=b=}^1)Sj$&Tt7Ar+TlDO~Z!K zN7)XTF&n#3+uZBL%~hXBxPUXQ>X!hcd#KvxmBwWB5 zZo?Ta;iB=Gv1a)4X!5V!Vy?;Bg?rcZn;(Dki-g;7hTCw0+i>A2dB*#m`g-90B<{uM z7mFG5(^f7VHG<%7IK#bg3I7z%nd{f~ZpGJEOO)yu7Cp72pq}OT1^qmh;BGj>W8o5B z4bHCk|Hk9{SULZVr=eqp2OdXMSt0a1``F-s+qoL^Yk8p8zdSz2-a!7ZKJj_nNw1#i zoR07BMG4FUegD<-zmcmBub!=6yPm&x?SXk;zjo9FW>NnC%6%A-JCB(Bc0Q5s+*s1{ z0?Q8@zME03OwaLHqF$n2eJnmljSuyzhtzXrE?347wdW0T+|P{b)qHA}gyetqdeWa$ zJ^%mp`AxhJ;{)%>q}Lvqf3ACCmTVeDdhY(DzwvF6XjZ1@cxQxV0 z&y~4cF(GQt8|0WVX1$tE&61Ej@%fE=eiQFQ+kBMlXWAQm^Vo|Sp*m|zaJ5B2I}@i}T3^{R(g z&y}4^+lJJhH^>=#ShIqPB|3P|V!eYulk55Fwq}*p`180jJ;!4= z>fNYUAB)dXvj_F6hx?Tr=2~4nMD0-@PhifdU$5pRHcG!>AX^^jz62^iq4?AeY$7YCbhfLh{7-Z{qt`fB!BXKgJ&P zbc}ri|K?WDyX76`K0npN%JdwMP1KvHS09VdQR79u>S5}+GM6iKz1s5zIeyO^8lvV? zvm_*MF?hVUXQu7G4nKQH&-YCkOvgUiEtTmx9=lO*pq}*{HH>kA4f5-3CXHp6|=D(>NMBj+N;-9t+e9)T@uh=cw_a zUiA=qt_))6rIwr7}IoV*~Xj>RHcG!>AX^^jz6jo>8Rsyg@Fpm(_e~mW1Sq zuiM1Wzj3dDxce~S*$KJI{!Y$l+mQ79t0nct=XH9rGCjv*fqH>@^|AOIH4^ozhtP9n zI4?x)d4nA9S=V|spPD5h`Ir8#zHF23+0!VR^!y;cS6Z38gQYS($72KaChA$wQNySg z%Jf`W{gBb5_PjwZv6t0+YL!JU1hZVsm~bF z^O!I3ce&pEwlY1(V*~X9^{nTpVbq(-^jz68F`Cq#H^^=5Wi_9gB_Vm@`#16P@4tTC zQlHOU#_hT0nl>JOx9G=iJ>Rh-ny%KGXDZWkJho9!sQ2nQY8dslGCf!3aur^u_PjxE zVsBwJpPD5h`HvIwx^MqHNp@;Cn)Li5{J-KWi!U~m={X*IQ7=%>dX5@Ky-%5*D@)#Z zG^ssrkQ>;`YCbhfLh{7-Z{qt`fB$}Z>5Rymv^(EA+)n8Ev_|#l!pA=aOwUmxQBSCs zdX5@KeZcfwnaedNMD2Nl9G|=AtXK1?SrU?0+0w^wKOP{*q!>$j{$0*!3QGQ~sZ7uD z*oS(7de(E)FzRh(dakT}fzhP)yg_baFRS^~ED6aI-@l3PU;X{t?%|(eSoTo_fdkJ?lAY81+(_o+~>) zY6Pi0Z;%V@Wi_9gB_Vm@>o)Q8Z`^Aj?mkq_{)4!>Dm4#!t1{_%$n*JP{H4|b({t2F z)D!Ai&ru^$A22;vrhfmd_Pjxk_w1bYYCbhfLh|};E*lHK2$NZtN0Oe`4joBDJ@bSz zJ;!4o>ILdq&r!pum&){9S%)u%klOPGxxijl^Ql=9k|(}@6W_o3`?p2I>!MiMq`dox zf$zcb?|kvFsiO6l?E|LgsFA2A)Z=?|{5waDM18>YT$%d&U$y5Aa=d4|tXK1?SrU?W zJQ`$9KhQ)*438i^zuRvJjl8o>DARL1woxxo&w7p;M!i&~=gN9s?MG_Q8{`6eShIs5-@PIZeDbHv5n_>^FYWIUHI8=-n4Y6XqF$h$^&B-4^#Rj!WjHTH z?RkS7?^)M+HJ_R#A^E{pZOlfON60x9$B>@SpV0^3+u*!VrssHUqh6q%^&B<$o(Jcp zGCfyT*x!ZJo;Sz^_OhB!&61Ej?zvMj@z1|;_u_x{eVCu~vglI%4>_n~b<*>?(<4OK zxK07nbJR%G3)Hioqeh}WV0x|$ueEh*&l}`;&yFvw=2NpIBwxR9lUe!fLK${tIO+M- zciYjIE0P9G&rxHeUZ9@!95sykfa$ri?7bS1+VciEVK1xs)GP_f6W_mypMU@L>lWTu zF4u#cS45g;FXf&|7U_A&!*SxPKRX6Y&ru^$FHp~Vjv9&jfa$q1muq{7+VciE-m}}+ ztNGL{3CU}>$SgjLvSs?0{YcNxHLxiCi^2iZbJR%G3)HioqlQr*Fg;iHZM~8d*pu*_ zu$Ke#VU~pCiSOUU_pko`y>;NaIJP7yS8r>Oo_iWj6Z03g515{#Mxvfj&w7p;iTZ%) zxiWm+I7IDvgBRHcGBT*kPJy(YFLe!o&$nn~CtylA@SrU@RU89Px{yF07U4cJust?d#HpW9F*=oDKABW!_Ybii`iHrV`iiJ$)c}7C47&W1t*SI{fD_5^^E$xsQ=si5at+}Gqtw^uHzr(gnBpXZPfp5{txeoeh>fl zp6K`OAKnxF9{%k;(eK+oyeIlS{M&n?-?zm3^IyM~67Nsq{dw&@n4tI9^1RV}Ez;Qg z_K{!Bf0z^MtD@dU{om%fOYAVu-mXAi{LJrvnA@ml)HCY;Ha}lwt9?3m6)L)@JpaSo zL_MRPQ2)32KfEXUJ^b5yqTjcFcu(|u__y~&zig5F;R#R-^J+g6JRS67`IFM*ZLB z9X>xMCf+W~Z_Ue1|1g)RC)6|Q|2F@J_e8&ke|t~#`}Pm-iGC0N_MYhX?H}F~{T}}9 zJ<;!5;{ExrUrUMiC-MHg_8v^o`^)7@;(7}!DdJm*$*__mCPPetl@c)pq6;etViH#> zRHSmHMofyB9P4ew#0-dOu`&j#gHRFV%8Hl?F*8;$VrIlFSlJM>AZEl0 zLJV?cM@4p54#cd8!B{yFgAub~b0Fr#%8Qs2F&9=o#9WBk zv2r8kcI8J!epdm+JcxO*3L@r3%!gG7F&|=Xto(uM!l)?h3PCJ@SP-iSVnM`0SVa*F zA?C*_j9A!J3>C#(#Sudgi(r*NEP_}Rt0ZDk#KKs`0@bBZQOZ>su{dH0tTKot5KCf} zMJ$O}4677kDOWjElyj9wER9$Os{&#f#IjhSh-DE=VU-J1S42fcS0%*qh!wCZBUV5R z#j1iBidYV-B4R~XRa8`URYRtcl?hP#@eqKT_1Vnf76Sj`X{AvVTpj@TG69IHv7x&fH=T41QkPELlFle4#FCSI0$ht)^NnZhy$>O1gb}%VuWiX z;!wn4Sfdb!Ar8kHjW`@}2-XP15w0<)7~>j?I1+IbRs`ZG#L-xhh@%llV2ue>N1-Ch zH4bqsVgyz+VgzC&mIpBsaST=zVw7tjtwCIYxDsnE z;!4EjSgQin>rk=IwH|Rb;u@@v5Z55C#rha=E#fMyb%^U+8&I*qwGnYW;zwAU5I;iv z7;7`)$B65&HUz4-pkj+_E8<4PO<3CyHz97uib33rxB+Vm;uhC-RBU(cK-`MB4QnUj zHpCdLU5GJ=Td=kVs&}Jex9bzc9f&)zK1JM#xC?6!;x5GPSi2E-yY`}DuWKLTCy1Y7 z#Ug%+xChINxCe1J*4{w14;4O_jkpgn7E2<=B6_hH(Tlhj%ZKQ5`BC9_?MJi`CDs8% ziO5(75gE~kp7K+5!g^k@^*ovsAzb|vwdjELWS>Mm|?3w4d?p=4Cv$!5S;yFA|m+(AZ zpv!mx&r&ibyIkSoipy2Jh?nRZUc$?C9WP@tT`{jyxJYrifmiVw-Nb8noo?ZEyh16M z;&Pjd+b(zT2HvE*coT2YJ-me}blbeX&&7S02Y3hX(nGw9_vjJc!`pNp@4Gza;<3vU ze1H$>DL%wU^b8;2eR^zOKj-4P%L{yhPw6E-#b@*ipW$PAj?Z0QbMe~c4Zgsa^cG*@ zD|&~o@HxFUuT!~5b$O3(@GX77xA=}e;yZjzshH~WiHlDzpYc6@pfC6VKhjtHh^h3+ zy#B_;H<$1D8NW~(e!;Kw1Ha-Y`i9?J(z!@?`H9~#jecPo{-EFZ1HVzad7Z&UhRYxP ziNEMC{=(n%4}W7iWnczhqW>Wa{$czjEB_y2VF5I<;9$sopNC=OFl00S@L6U%tHk*59XzU zm=|+VKJ(g*3pYz4%#Q`AFc!dqR0IoRK5|1hOHnS0T8d#IEKJ3*FczT_SOndusCn(q zg}bFB7Q^CH3X5Y2Dvc$uD7mA%r3@EkEM>7ImZEZ43QJRYERF6|#=Q36!oyMl%VIgI zh~=<6d184iLmud1@#4bEQVAVd0mx@s+MY42`iH~R>mq+9jl-h zRmG|nA1-_>HLx0blP`K>b@IdNSe1OtYkw~MEdf{qeJK!q(T_CrLm%=-e~ZqAZVAEw z45XSEh#J*G4gE;`gdEJSNPL|Ht9y?GM z?0_AqD|WZrg}P%G>`FbbD|Vs~^SUP&JuUxXH|$Qmusimk-q-^} zs3-Qc^x>k9r7!-6y{I4d!rs&$dt*=PV_t`H5o#HLeX$=6#D3VH24R2fL!lUI8O+6C z%McuZ18FD@#6dI+2Vp1;Hm}3D2(t{wAvlyq;7}Y!BXJlGrZ5b%jN)RHWi$@Q5i|xz z;7A&aBQcCdnb+gE7-t!eqj3yPz%e+M!f`B)qH#FRGLegkmPt4sC(vY^fZ;R+!*Lu< zG_NDLh_Fn>NjRCN;bfdb({Tz;qzH_#%-~{%WhPF=X*3I`;dGjf(=mc(nAdZ-m}8lX zGjSHp!&x|+=HqOfL3419WdRopEDLci&Z9**59iZjoR4#8fq5OtMWkg3F2qH&6c^!Q zT84{p0Yze@WjPniEh}&dE~S;Y6qnH|T!xXf+`L}R#cInMT!AZTEw02>v<_F{a$1e6 zE$g{hZ`pura4l`bwYZKp;W}JR>&@%UTx_;%!40^Pw&F(IMB8u^uBXko*%HM?lw~_^ z!L76dx8gS1iQ8~9MVZ&pTtr)T;db0XyKx8Zq&>J3qbM4qEql4xYl*>KxSRIjZrnrr zaSuk*Ui10@7Y8f{F$VY1A>4=iDHiwRUOIpWEQh%`Y&n7l@esw~A&jM?7>ft!uz4NN zMZ6^ek6;`nVjLc&Bs_|TDIVi31{a3q7$#sM9mhmWq7#^e@no3SC%HIjIfcjYIGx7h zc!JL02{h;=p0u3h;;iKyp2E{~9#7*Lx`1c!B%L*{letK?T*PyDo-W~eyg--n0-mL0 zOtxI%;)>-eUc^gu4KLwkx{jAInXZ`EDO{vjZs1kCMmO;qUZ-1l9j{OdrdV!saochS zZ{SV3i#PEW-NRd$LbuK9`&`_&Jit46mmcC>yho4l9^R(=c;E7vi^rBH_y8Z$Q+$Yz z=ovo3`}Ekne$K^n%L{yhPw6E-#b@*ipW$PAj?XQxxp-}PgD>zUy~UUKir(QXd`_>; z>r^gME${ISzNHWN7T?iFe21?o6;myrxcFrGjPLOSeZdd-k-p+bOr=le^*1iQS-#_E z{6cB?1;5e{{EDCG8-BB-bCGWOiQh4eeqkE^px^idzfrn*oxw$hqJy%b17&ie)0&-&?A9EZ1+$VXX2ooj z6SJX{vYXc~E;+0&{IiQ3Tv}aRNkCVt;F6O>%xM)}vJ=0bx;2+Iw>1yt#XOjg@?$qsE(8KD*g_pGwR=|o>87rbERY6bmATRT}Di>9))vyv)CU2~aRj4{v zK`*L`Rjoc;_*iRTHS{K5^v3Gsht;tv`Iy)KT=-i9um<{4Ao`*oY3PSO zgaH^xH8Bu1s)ZW*lWtxIa}jKR?T*MRlJ*H@)_Ppjv)0GjSce*59jr?Y zu`UKvJ@dK|7mciqu|77SCfEQQQd4Y*^{5dxvNq$QnYB4K#wOGPn_yFFiA}K)H8ZbU zanZ`!8k=JaYJ)AXCAGzt*o<0XD{DJ0+F9FUYivUuuno4Qj@TAkQ9JXx6BnJVov}T3 zpf1<}J5pEdi0!BocCv_NS; z2Zm5j>}l=8MIUQl{11CkKkS9QsXz9{p47*@4&@@$Isp4(KN^Vrus;pL{@8~?G1NMk zi^0|*H~3OIE+T(FdR%_7-k*C#VG4&9F8Ms z435B&G!{o<7>zQo$8j;vIvz*k7@B}%a4d!6SR6&;aGZ4_7Za_Ma6C?+$v6SSX$pqp zIGSi)M{p5gor;riGEKwDIEAL;6r4yA7-5~k#SH6AoQl(E7EZ(IG#jU51kEt7=WsE{ zIu~c+ESiV2a5l}y**Jsd;2i4$E*4l9;#{0Zi*O#!r^PrQ=g>k?dui)bk> z!o{=<7vlno#7OIME|yzY;1XO)D{(0F)-|{SSJGNsiK}QGuEOQC z8dqD_bFtpK0oUMK+K6j$9c{vOxSH0R*PFT6Y~6wza3gKSjkt-n;U-*9n{l%>ii;@g zcHDwnX$Nk_ZL|}&;bw|5ucNt$w(i31xPx}%4%|t5a3@AlG)7zZaoxu}m&`CULJp47yr|CSN#xryQ&)`WqYhEXFk!-z)=kPpT!t;26F5?9} zOUamQy~4#6>s7pnm*^T^!pn3WFJm%YF|Sj&NU`3)t9XrW;x)WZx9~b%p%hH9-sa-A z^$y;^n{*d%;w`#|w=jino7eZbxNm)ccknJf#JhNp9^pN_P51G>^)VNZtxxa)KBTAk z5FgPqe1!Muv3dQRi|5uC_ynKQOMHsY=oLQ0$MhVZTVHeW+WH1x;7fXoFYy(B z$ItkM((ns@r62eeKhZb*W=-cJ-TD*1V;cR!H2guo@dtjRbn`lciwx@@{E5HlFaE;c z^bdbyI%Qx6-^BBWEcl0??*B_x{L7dA|Hy{_7#ZY(E;fN%!Di3=X@0blnE53?+DJkh zx{!c^P3A(jDQHKLR1{Gn2TCZAY+gILaN4q;WVhwOESQyC zF)L=HoR|%rl-<0}#YHY#Zp?wMlm}fgC*{SQn4NNAE?Yh>^4aoZZp=dkFc0RXf|wU` zQ9kq9jSDwhAZ4i>kJ2SP3hWH&(_fR2{3J7gfco zHXkm0Y&EbNdXq1DV|DVw>R6S0%xixx{A~eP1AQqFebJ9J^g|!=M}M2ng>DPN01Tv> z7>F9xLJj>%H?M=a2)5P6AgoDsuqM``x>yT!3dUetJud3m>SJxJLk+MF)}@A67lWyu zdEJPMMz+RS9~)2;Y=8}^DK^A<)Ce2dnsL$0)*KsS6Ka7?uqm~~rr3y@nb)njXk}}S z&9Mcw!4}w(+G0y=My;@wtsNKbZ0)f%wxJH#2HR3cY>Ta^oq64fi%z!A*d9Aj7wmu? zsVjEGcGL+w*+RGov30}F*oC@d7wk$suq$?=5c9ex7d>tNVK?kfy|6p>px)R6L#QYA zwDsYlkF78MhrOsD_QKxOAA4g@>SJDqauI49fPJwa4a9!fp9W!n>_ed#Y8%YOVA~KJ zfCFhL4#Yt;3+xEN;}kE3x6O~5fYmcnr?j-qim&Nh*YiMB~N9w*RboPgmp1;cS1O*F3~ zxQMV##Ys4srr~6qLep^yPNWEou+89NhHWNJ#c4DPr{Q#(jngrLW|-G=xR_&`i!*T+ z&BIwZo95$eoI!JNj%@)K3v3Hr2Qdcs(IMQ2`zaRp<6b&|2W*GAIBYwD2k{Wa;USErqZo?^=&*Sm&qcf~ z0gqrDC1M;NC4O^4{z&3BiL1k8aADYvVFD)7aZJP{I)O zWZM-kuGp^PMZ84U@Dg68>v$QH>56%s!bOVh242N$bQ7=Pb-IPu@d~A2itRQRw{3Uu z2HvE*coT2YJ-me}blbeX&&7S)1H6NG=^@_5d-MqJ;cdE)_ic~4cx-!u5AY#9#fSKa zp5Y_BPmj&(=UhCuy}&2O4q8C+!8{@_piMSt-Z{-%HU z8`CKRGx!$%KV-o_HjD6=toYYv75uIZCMP|A6Qa$pwBO0Jj{vr$gW zhEB?EUgzQ>myjECpeyA;SIkLyF(+oHT$oG9$3;FNKjy|fQ~>i}UMh%rF&E`CuidzC z6AEE|EI@^^02ZVoSP=7(8@dTaxhN_W!$Me?ieq6cLM5;Wx=~T{+MNq`p(GZ=;#3NY zV+ksaC9o*Dqq~sHT9Wc$NgOtmo>>rh>+gMp-BJ)yqPfEr>$p%FF`8e?PLG!U8yO@(Gcb7nK41+$sZ zlG%)>EwPo*T4+OUu?@DP_Sg5t*AA25;_ZAs4I3ALNJ79U4(8zccF*Sli5S~ zkJ*FI|6wnox6p_BVjt{B{jnd0(f|y_fiwsQVlV2AgM}f&P#T8AgfI*fhU0MF3>8KQ zBZX1IXyzzk40Dt)mN|;2V{x1?UYJ1PH~}ZpB%FwoX$nrp2%3r!IF82SG-0|hgJ$AP zVHVC3X5(z$%n;@XbA@@reC9l10dtP@187{@;v;vpoB3g_q zg;m08T7zqZwYZjNtA%yKdSQdGk-0(G#N5E=O}JUuB5b8?xD}&lJ4WFS+KD?bns#9{ zZl*1`Ti7G)r5KD6_TfHZKknzvUg3anP&g#SG7kxdnTLcU%tJgqf^ou8A)XR29up}E z6Vae!Xy9==fyXh9j^at-lyI8P;2Gg8o)ymFIo_NW&I=cWWZ@z+S-8YZ7A`ZBd3qVI z2v>z`bRDl@3f;gIyh*q4CSIYdcw4w5+@*VXPq>fwd3INLAUqTv36GhNgeS~Le13vY zg=fNZdV$aJCB4Fz_?q6}YkW%2@U8GpNTv7qUig3?c$O-B6g~-`g)hv{!dK>JK7Yk; z!gnE!eqb7=(@#vtU-TP)VFvxd4E#pl@vrbtaIyd6n@wH#=20tJ`AH-f`pa{{Znuke zi7DD;rf64~B2N`m?GC$>vY->QQZ~$r*(nERM_0;;uBeg&bJ=s-^H5&QYtM)I?D;W2 zZ}Qj+*bCa-?1h+a_QFgzdl9A^Pm5qtdog=)DuKn(ol2rRmZH*F3X4)PEMqTgFGuCE zyxjvmcvj9{!CuksY4>7!+AA?V`CJJr+pE~CQZ=lK-c%jE(T8fF4_2ls=xg`0`%?f0 z*aI<;Xa080uG@p`HJL&7TFf9m*TP_XZF?Q6i*>Lb)yI0+fEr>0Y($N*5e8FjY+`R} zZ${0rxxEFpu(!mPylG}{Wp8b7V{glBV{gZ7V{gxF!_)TI!QRo{i8^B^>_T0!3x-fP z48iWy1G{4f>WDq<|Ji#{Z|rUFgMI9Mu`h3W+56f1+e7UGn4$K8%uxFvW++bw;b8j^ z`%oH&LotkoV;GL0kvIYe(-0hGA8j8)V{xo~9FF7J82fnp1beuBA~W1Ri5br4NjTX) z#U4RZF#@O2bex7WXeQ3U$utFL*=O75&|I8rpNI2!Hpf2SzQDfFzKFTdzL>d?&xm1lQWv+1Jws++g2`8||BL6K~erH`}+^x7xQc zx7wqaTkYGKTY0)2ci4B@qiGjL<8Io6yKyhY;9lHE`*9!cpq+TYe$al1Vlmc!7!TWz z;1S*&vd7tv+T-mB%y@euGv1!WjOS?*8unxM<8%U#<4HP&C-F3$!P98aF+6KOXFpFD z@Pa)VlX-UDe$jr(e%XG7dD(uId6~~w@tXa*J%w&y3f`n!coT2a9lVX#=sMoD-?QJR z2l&AL5FhgFzWtH?vHgktDf5Z_8S@FBpW$=+3;RoYg)i|ny}{S`mfqo8Or`gjiqGi< zez1SEf1=O$+5QE;*uUae-h8ruvwydz*?%z8?CH!j`%h*XPk-Vs`)_*&{lN_UOaJgM zx`_YmmdszaD_Z!*91A}=Z{-i0_=}&~|IME%h;~sV2_;cRSyWKr%Xm>#MTh7VvoM`v zR;E+T#&q&D8)g@Ch^~|qT`?Es#$1?(@?sv$PB}22m|rYF1+k#$hHgA7AQln}i$%nu z%pzhjW)VIY!{TBI(Va@7JC>r-SPIKfSuBIasRWi2%ZnaV0V{|Vu_DhrL{HI6tRz-u zRuZc)EAhDsRu!v>-c%jE(T8fF5BicH`l3Gtpg&fnY8WVLqE0~=B-X^5VlAx28(j<* zYm0Tny39IaJ!T!TKC=!_>th44q1cETVc1h>n9En2a1El!OTJ85au9055b}0FfojVV;GL0kvIZJ(P$inLunX} z5yy(-XgrP=C*TC0jT6JgiQ*)2GINqRg*l1OQ!qlDDo&&6I1OjeOq_wUXg1EmIW!mN zU<6IYdE$I=0WHLZ;v!rmF2=>YSs+G=OT?w(GUifoIdiGFg1MBZD{!T_N?c8Aa5b)_ zb+{JS(*|6R8)*}6#FexPH;Y@ut+WldiBT9OZpZDs*(&Z3cZ$*CE@rg2n;9+cVMgOcD)dl6Z`n#OGsp zTs$G3q*HhjPtzGZjc4f`p2g#I0?&&V#ALdN7sX3>iD${;W$}u5RlLT$Dqd$^<@0q+ z5pRe$=@#C^+jIwS<6XLkckw(tAwB5A+c~;3xWwpYRKP#V`1l-r+a#yO>5l@Q0X=>EciP z$(uCsm-t)E5dSbU#J|i8@gFmTr~lA}U+!cjTjsYtqCob{p8`RVBoxtwEGSEgq>=+2 zk`tXgQ>83YRwJ)@J)}&fk z6Me}KgQeP19jc3UrFvLTs*m+~Q%7nbHIy1jjhT(4Cd@`sQ)VNcHpOOAbEyTj#1`0! zT4O70Lv67QHlya)PHHc8ppMv4>V%zm)`pzfpVVIpr2#lV8i)gV7Ag&r21`Svq0AxDFy;_G55q8NxHN)B;s_i? zqj40Dp|Lmy$I*Bkhha1vCrIJaM4E(?q{%p0nu1e!Gf|3=rb^SK>C9=;4CXXxCUY83 zXW}erwls(4;vAeu^Kl+7poO>q7tvx|gtKTiMoLShrL+u}Ny~A$v;tS~W~sDNS|zQP z)-YE~YniL1bqZ#6+IOOG%O; z9g~hTk4Yz($M}2#PfDkx({u(;<5@a~XYo8;!1I_)7cm)6(kZ+oU6!uURlF))!)wxY zyv~~|Qi^m#x+&da-jr@LZ%TKVH+gyo?@ITi`}6?s<3oCc5AiWQ!N>TNp5arxOZV`( z^g?<`uke-h8edCq@C|QXN^hliQmXWxnJRr?rb-`~sXYCNpQO*y7y61{@Ed){ZT-}=lWJj245r!`jCH6k){^ z$Svho)EZl18)}PfupPC>cG!YiVh6dS+=)74XSoY@;aMlSs~jSCle;s!$vv3e_}l|~ z%Kyo|s5kb)KGYZcU_a`Q{VaELqg zCU2(6v*g+G9CqQ$rfBWVdn;!;|MOK|}$#O3k|c_ppF zRq|?F&9jyA8hNd}PF~MkCvRY`zs0-xhcdWA3XF+IW8@*DXry~B5MDyH)6t^8j8Ab*rUF+a+mnIHN58NbM1rs8Ihc&4dHc%QWji@m;R+?ZFo;6aMD$SJU zN(*Llr6sdDpIc%prM1$A+F~1QNA0m4cA$>f0XtD=?1ZhTHFiSO64Zu(wNP}=74yGYE7>Cj@9E$y@KZYs8 zl@T-&M=GOmlrkDe^JauHMj5M&Q^qsLDHE9ElyK%ao`&N@Ws)+Prr>0Zps5&v(`Y(Q z!-+HrXDBn3Su`7GD|2uT&t@rem3hj1WdU=(vXD8S&kJ#pvRH|vB^ZfIX&ElX<+K8q z<04v&E0tBsYFdM9l(o2)XRDQU%6eskvXQw#*~Hwy=S{d-*`jQvZMYSqXgfyX4%&%3 zFq(E@G;XFXxLety?4=ltQTE|JWk2rc&0ghza!@&>#4-;lhna_zBg{iQJ%Vw{Q6-)d zFdh>r2@}zvV`$)UI)TSAj*j9<<&<)o&fpp4ES^=);W^%%R?aIIlw{>1Gg-OBOja&4 zlX-d>uP9fQYjhp2VG7;A6ue2d@FrfNt9VH_jz_#d7wO09x0ERkCZ3O zM|^&QPnBoNb9#Z#@g=>&m-w3A;A?zJ&+x7CPD!Qr_+I&dA9$9kd{jOupOr7n&&pTk zXFh+$Z_0NijecMnrqfSM$6xdte_;mw!3_LH-|?^VPjONIDHi_qhZcSbqzl>5rvBx* zpxRYYm6)O`Ge!Q!Dx;k#s;cTxos&S;m{-k* z`PBTFpEr5b0%}3kO)bQ9QwuZQ)FMnbo)*EPYB9AqmB8ZYP9@PDOHpYog+-|tmQl;9 z<)}QCS3S^!XXVriYDLvk^ss;#IswpQC<8?`OAV_fMoqAw*>`DJ&PwYZnv6tFg?L&RBui6j$@vM*9Ukz0Ur~{b;)IrPvd>({@)gkIo z8iqqLjD}+vj-Zh^0!Ptk9ED?OERMm!Gz7<~5AZ%d zq(}G=AJY?jj8EwqKE>N~2cN4i)R*)MU#YM0wfY9%sBiHt?_a9#)KvAo`hodg{m6W; zeqz2?KQrI+?lXQ-zpCHpJAT77`hjVfPCqdnf6;IJg&Fh*Gw=(2#lPx5)y45oweYW- zweU;MUC4$uzWvOF{_@uD5FL_3W=al)DLGW8%=-e4B95YtVvgd>VvZ8bVh(p^ zF-J*eG2WHLQjXG&GE^4JU^yy}<+ywTfH z9jiNh(1-U`9W@-j4nK!K)6WsW^m7C<{Tv$8k9QjCjvz-(s)fOh+KxI@7wb9dI~q_! zY~*O{XhKb~nWMR*1+~Ohj@FJg)E3)0+B-T>N9^S2?C3&WF~rf$(Vco=Pse|bUep`= zIQlyJQGX0|3~&sjK{(hk#4(hHVVGmMV+4)FQI64$F*Fv(ImSCCP&iI>Oma-7DH!3H z>X=5;afV~2V;0TEIgYuGc{CpvI2Jk<(PE5rEO9KQWw_k2!m*N8;cCYk$68v4>m3^$ z8)*}6c5HEMrEM7H*zVXtJ2Bd^%dwmG;9f_JV;}9u1CE1^LlldL9Y-8-bQI$q364Zc zLc?*)ahy)zNyjP2X*z>v9p@b9=>jG@E;=sJWxV3J>bOSNF~xDiag%Q0ZO0wQUAl+& z9SG(yzF~jl4@t6Lgi__w?k_`pE)kh==W&W?FN)B{7vpBO-Hq7qK;dG^(n9G^lnTPUX zK4*Ss0V;@Y&O*+@R0NAUi#dx^33PXsbe5vhSjJh_S&qu1hqHpSB6*^hvy!tiRl%yx zYEEyejy}#BPG9mve`kO*kTletLC%^~3xl1topq=#)^pZ(HlT*s$l2K0gqmVAXLDx@ zYKg6!t(|SCEw*#EcXptT*vZ-1*@e1dh_josJN3Yx&i|afs5ka;_I387{ut^U;2cPU zaIkZTb0`hNFz0aR2pWl_oTHs%Xe^F%j(1L=aGdCz9Spk2vG#D8@SzoQaf#lebURZ*B6@d>%f~ zGor)H{cN#~dSu~Y`o%~u&HeKueSdH_bN`vVNzWS7LH|C~OZzkCi9W4SV{?Dv+@imG zP*ZR!#AkYXrxNCVa_p_iO=%G|F6M(K_Y zYqTX@J+&)=FZ55YE6shtuqgfEtS(w}Ur%jxn-}_5@6P6abY_&^d!|(jDd?%aZSq2& z+fg+4<&&dy*H!rg3k#lFg)%Sn(}-bGWWp+qx3^Q zu1TA|R@5$zdanPHOb{+LU+C^iP4U%>8DyZTjz1Tau0!@YMcR zeWoAy9BJ;8=5E#B_fJVW)zDLOYw}e8uUnG2?>f3gpT@s#DSerzR=4~Uy=C1uNtt`^ zBb#;WvHZp_*-QHw`$*5~u9$n_@tgE6St=U`_j_p@Z#~d+^et@ezPC2$^NQ3nzWY_u zT7I~vd%dn~?!npD>o?zaG4@QYq^S?@=v&CrN$;=drS?uV_vf{i>HV^7Fb=+{ zqHRjMpnJ}oVeTzkM(W9fb{h@rcx$^#oYD*Do^S3IoeTAKD~}o<%lK-;&mGl&7mqae z*qL+n*WqUjA+M%QoxVqJabcOcKfEzhA35`iQLRs))~x3Sz16{$=02;)RDIp@o5qV4 zzS@bpi}if}tugmq?Z)eu*WNWg#&~N7?oHKaC9E^|9K8nUpL;(rLI!zjpXv?OSH^BI z_xzdmpwIl z6$#PoWh?5*{kNKXLadu!!TH>n-+Q7K^QeHXXKXX~TN#pGVEqfDo69oo{Ypt6wqU!t zd-r{#g$S>Vp2hZQdA#0g7jEt__n7f#wE5nzjgC35Xa)M7(bjz2Y3_@bY}0o6zcF$K ze$<-2->L;ZjyCt$V>7k5l5dTg7FmB9GF`iIXqUN9@6%pu@%^n4Cgj&+T$^k4M(j5C zfm4cV9^2m;7O9*bl_!t3yWk#kpFb@n(5HT?@i5#^cWoCNDD2r|?zKNQ54@O?YAh(z zSfBM*4y^6D*WCSu1#v4Iy*HGXU3B*gF$vk%>^1lF63r4r_PsZ}o(|Rf4GG55nu8YS%<`oYLD zcCo(tX;{*~s2FqKxN$;K?>Qfgn=@DIb1N=Q@-kw~eRPB6NrM-DFzPSfqKEvBNjh>e z#@v0%#U!T_)I!d~IUPJ-B2>QdRzYl^l9bkN=m$@U+I5``T5i;jH-H$Y1-KKIwT;qyNIa z=H9M#UPGRgYWV)WtLLujW!(R_$J`x$?#7ZW?~Hasp6PM7G-F}IJ?37bKqX_?%(q6F z%kT6LU7H!ldhIrMZD^oT#qEvp@a|XL`${)MZm`STo9Aj|WN5DprR#6K_3$vG#oL|c zo-MV#(K`0Ik;}spRA5$w5o6t9?s*6IHG&>JF_I73f?fvBGkR>_L0>EjOOWZ#MT+zSE4@^t;BU98%ELdz*~j>o%DC*d6l?eeq4>-Xkff_NqNbM4h$f zK7H$QV|IzF##8>GS=gPUMuR;o&Ar5>^~Mv|^G0$9Iq3K7vxfL-skv8=+Gb4ZY#5!p z$U%oE-7pebFE;m?+oFwckM_3-uwuBti zVDD3-TGm2F=Kl3mw2^jkNmBFEQc%V( z_ak368Re6dq@MTeK^JSDGa?3kF!%4#Ym7_1BNImnLeRs2W5$)o*OD^#2M3lK@{kn? zU*B1RJ`{>Gl20m<>k0&0~`?ch3f64YzsKwZaEp>u8+%Zbq$)$=bj@cl15uXB))>b0lT%8^*LUK2BJo zl}Nj)7i|_{gw%PMn7MD#>l)jGwrTkS&+9(3#u&NsuTIR|I~MabitRqEJ?VX1e;*cV zOuJb%F>~K`&%zBTu)xTEy0UdU|9ttEi#;}XowaooLw`Jt z(>%4z{k&yuQhKLC`UrK39yQ>1l3UTHTIN3W%;co8HB0K{YK+i}Cq7F0G-RNbxzF6z zBuUO+K_4`|m)@b;$)tTL)3nU}-?h9+)0Jxayd!P&t&O6R4j){qW$u5iMxyY-UvF5W zu0DO=oTQfFTeZx+rDyTPu=l}w=;G>nM9ywW;}0FuGIyct%IJ|B$|l97 zoYpe;!xa_=md)8(@BJg6zM{&L#DHbDw9MV-qE+*(*jfKrM%CjVcTZej_qCR}*KFml z-HrNB&*+n;Rld5&ul<9cTIT++)hI2+eW30%?r5_M^$qNH%Wm#}%B<9Cy&9nxyO^L2 z9sfG8gGV-V-yt8-Uf3t<*{*EVnso5g?iI*y?k9@f(R%KS(A$Z#w8pRdYDue0nEONV zmsWQDOnps4Z*9!jMcV8(p62c`H>=+I^gKPRbZzZmg+1E1z5eE&w_q`Stfk4vkqzdOEBZ+bbuHmIJc3#Iy*yA;tz z|M_%>o-N)@n^QHv-q|_Q-0fli>7)Jk>)DGI*ZgOC>Wd>MntP#hL-nF_*=lMMwojg|A~6NyoP@HS#fRH*%1Au?+kNq_TLQs_LGzP!Zz;O)^Vfsvo~j(yHRhU zzNykV{d7oaZK^&~_gp#8+`Eonq1T&|toyYruSFhSuD>a|z}$CUU8mbhCF_fu@b$Cn zZrz!(z})vFtk*4l4E>{bB`vW1DZR|)Mdq#*Tccn8xJ&OksFHSL?KNFVUS#fu_iDXZ z|FwF#qLsAS!MF8~zH`le$Cov_xN4zZ?VOk9(es`@zDb0+*X8TaDpj88>a9(I7n73{ zs#N)^{r~&Q6*K?eP3GQW@W!~W{JzfxCPdU289pWM2Yc(o0W}64>=*ZwePKwh8r@(1 z@1}f{3N=EmCC9zv`K-3}YK-=L7x#kwGyiJ}N7Lh;vga)1Tf^(V{pbUBWk#7A_P(OI z&)rwBhT-WvdWYvLgX9`PcmMbMP0#Q5)u(Q{qd&T~0-h%3{JkP|v zXWt%Ls`}WB#JCUa`&)(_ynScA`QLY1jxC4!7FrVbo#zE>wv3(dqet8?_LTK4Vqb;@ z$NgrPcTbNk6`hV=auUvpIH^Y`aWY1D4VNB+S=lN$?Qi< zx2_RCyr$nl_O1^X*Qn5bxZh0nZz*SMj7eVT*N**aFNg2v{s;Yj{|(ppor8QEOupqe zmwiY73BKc}-1i&HUchgLuSdb#elyv(x-RtXK5esKDgIpDySwkjjx+rFvEQgz+jmG( zWxpi$cFBUT-My&!pW)BEzcpH1%;R^B=bt_Q*2vPdy5CXuxhFh)t*fT`g|c60Ki#+2 zv7>%B`0+h=-}4>#Q}!SGCtUlnrh?z6thN02{|eW7oLl7g-_|ky(vNVh+UiSwdn)hu z4@nKzVh>jFe^v9Wf7h4c+R*SW{*B*f3#f21T)S>PS#@l>>hY4v|>P)R$D+QTtVLZ@`33Ei`|h?Ao{-aREEC z*VmF0+_XAd4hM7`Qd9f%+Ff%d9SIoKDnQ#DUrt**@?gNfP1Ut}Z@jeYJ@yCWom5qu z?p{^vv}IR7p2?nCX#N_Sw_``Z^kWq?mts^w{0N89sv zbilr5g|xdJ>TB-~4-81|Tv)5Nq@I>X>KriYVgYSdXhUsY?dAdY25wql>jv8Jm4N{# zuIAGgDvh-bQI!M4BL%d*TN-L}-xUt%(>SlTwN?{t`DE9C?Thkjk!u=hK4pLVA1jwf zn^v)@c13;a@0yZNs}&HH>)E#&wr{}o~RwCT$mYt<*W^Z#JWtz9qH zOgo#?-G9^Yd|LmFjWv1wD8GYgxwOPe&9t{OWZy&lI8VAZ)*{E8Kbj>tx7PV*Q!P4A z!T6MQ`L*FE8)<{e&5R%QCAao%NKuGl?%ug70ucY>{VohykSX9E|zQwe^k+rpvrFSJ9vX<9= z1P5qqs+~`mKcJKr_fXd+)=o}1n^Z~59ppP8WL z+8-MbzHV*&>BIcBw!K2Y=Sy?q*Io$K$?>n(Oe&`GSKHO!c|J=5=1S#{c>%ABJXWgBf;97~lx64HWPIdi1 z_TB?bimKZh?y4FPkQ^l=N>WLZBut;e1O`L|6%`Rh5d$WSfJ6g`fB}^O$w81L0wQ6U z7Lg!H5k*u$L_h@7E0}%x_o}W{?5^n^=KZ+d=idJg{hTwKHS6rX&aTtV^w`$AKJ&Zb z1I%a9Pg}j+XmsX8cYwKh_u5vskE)jW&U$%`I{n;Mul8t^StDzJ$v@=pmai^fykg`J z@_O>kWi2~Tn6e_@&jU=kOINgbBLAf2&E)m%hf;H!U!VWE7QaZ`#9Z3^{?9wNN|)EP z9a}GJaqP+^t?rbyo%fe(dFQx->34rN!0c@FOv^&uTc=N2G{6izRG`%Z1Mf~RGjf2r zd{paJ>Ay@#&!{%Q)Vu%9RyTGZnf~fk@;dX)+*YQ|X4=I4(JhxOj~;E--Yl$pD0)GOccV>KTx=SQikO;}S4O|Sx2kFP3(L9AIK`~_Wo5MMfD26HZ}OWf%dd*w_Hfjc{-Ursx^`tW>q}!kDN)!w{Ch0A zcuh-FXJc{G_RN*hN%_*vluE_ThUHn&PbV}tJ&%+!wcO0;xu3Q$6`Pha`|em7-Jb6} zbN3Bp&BlvXL>p9SZf;*x#uTrS8FiL6HBWUq&3s^%N6Th4Gn?m?Gi&!Rk5+Z(pjteW98vT|;Z~4BF>D{ifdF0Nw zqPwOwHnWAZd*EBqj}A04Kaa0$_B^vVI%jlaQ>kiY^U$cp(R>9Pn-!Ur&9ViHqG!!* zY@Tdg*}OA-QS|968=LC$E1MZR7e)_%*Vug8sIsx&Ss1MnYi#D-SJ{*;vM{>l+9u|@ zqm|6dyWfls?%c#YW>q!|TD}=w`CSv!d`Knp%%2OQyQ?%cS9Pgmn%uD!0Z$zKC=sZ*Ch6-lGwE59%KReIdyrH}) zS$=-B=$p;W((g|*S5KN3ZFg-8^Hm#p&Ha9EbZGCE=DkYgO!+}`qd!z=Wj5SZ)>Iik zC;G?J>88q_(q>eZInhy_qDDL`&Dp=a9^HJpYo7Rb2{ZJ**Q3WGtxfxX7dId5pBa7l z!VApw?nO<$`ZJ>&ZoSa#Jhh0KUUEjX`1x(jx>pOD1NQXjyKl8MpKLnC4F31z=p)x( zZuT~I%$4q>Xq%2#m>VWX%&?i`qQwh$G&Aoz5`FKoG0~dNHD+Li!_nI&J{O&Jc^6}! zvLo7P_OR&XYrC0^i{6i3Hs{gk?x8)+J=e~QM)%(o{dr$6Q}K>5(eGEe(TPiXn{P@# z5-mThax_-!Q4^_hVYG4QzteAO-Pg?AT_*bHWmD1*mhW#q+q@#Z*3Pc!eNG=>?yCBD zdaM1NT6L7ykOSNAZ&jpG@8vQ1xoGjy$;*EmwSL9dn+KS0-#fBmKxaGiim3xk$A{`= zp0Q-J-12jP+26KU=JQugTe0fH0p^Snc4qB8Q<_D9QaYWvgjGygTf+}&>ciq@0Ltr#aiBNf>D^@@QL zDy?|qivi}236ac?3s+dtIX1w=IyJ}~H+|XiA9f5ddnOjlJgeRVOIyyA*WrU5GsoXo ztY!0WZjGvvp96!_U z`qH$xxLvj78zf#ex=;(b3A+3lXk^sLU2Ms{)h+RQwdLW+z11D@dX*c&$edrsDfr(^ zWiBA2pv>|yQt@^zD4wqJ!6umt%P1mqVVR4{DCT*&7857dV&d0YTplIFtF?r9w3d`d zDREpaCBCesdNU(?3&Xd<4bO~lKzsXUsAGifvN zFFj8l&BeR4xp0KyJzpLd zh@=q2JQdZ|1v6Nk{t#7FdUd9)J` z(RSh;3NO+2;sn}W{6epkM+fl=?I0eZSIMKJIDU2%U(inSxLQ0xuNE)RYvggQID1|z z{-2%Yah-U7UMHTP@BqC*96WCjpU*DxxKTVlZxnCOuJX7k(oM$AGIx{t78%`TzD4F+ zW!xt7tuptJal6btWbP^B4w-w(e5Z`NWWH18yJhr}`EHr-k#Vog_sD#ojQeH2Pv!?? z^!7YAdy8XcZ}HW9P#zD7r{+WArTMTt9ua5EN5nt#QF%Nj-kFbyXJ#LH^c4rpzT%VF zPacnpN9N<=jR~*J0g-_+2FW~7=D{+C$UIo)CuBS+^Aj>ZCF5zCpOSf~jA1elmH8PN z!#$77;o?v^Tzo8_mB$G2upA-Yl_TXbN}MQ1iC^V&@_1gnDxVjR$`|DEqBu^zD87`V z*k)Mf@kn$Rk6%Co{xza;!YYiG$=g@tJ&89^=Jha=ds;PLRh$ zaf+NMev*^qF#qL(Y`PEb)e% zC7zJ4%VV}UJkAy$$T{+uD;|(@#rtudJm!m&<9zXZd_x`!#OrZ^cs#x-kA>pcxKMl@ z7s+F>csec?FUPm!u|%91mxzDk+wxc{-i=Gevk@MS%f*3lx%f1$kVmF?G-ir7BfJ{3 z#Az{0{1{{Mct^Y#-w_YSRq}XO92MUc-^JDPcuzbR-xIIJHS$<1&WUTqUvZs0){D2| zdht|zUmhF8A#sEFC~lMod>1!~cOtwLw}=zs7V%5`Kpr28SK^1_k+@YJABp4PN8*dP zO&%YMC*sHAh4_g)wu`gjcJV*_R31CT`*4SN9)2c|&&9#;bMZO+LLNKC<8Y^V8}5?F z?#P!i_Q?FD%wNgaEAv+}e=TF5%wNmAU&aBM_sjf^jDs?NBlEX14$1tj%!g%sC-Y&M zznAfY=SBE~I0^nBeuF>C<0tVN{7F0p;W_xTI0pVKzJf>Oaa247kBXPzFY@?RoB@9o z|G?km@w<2j{w|(@f5_uc@eBM@d;kn5@9&{tS|{0dp?tF4X=o-x;S zJ+$8-uH?QJ#K3#5dOyGs-?D6z$7c*aW99*edBS{hSeN;Uhu1QHSQ~NXhkm`5`A>FV zvs$l-o%`;$=I^^^7{nX9d>zEV3taF_fFnNt^DQ2qG5Cy`2OQ=J^T}ad<|iIr%lu(& z#F-!Z^;+gX*?mP0u8lcs%ewiGbTWuPc(GIv1FtZpQh*~KJNQG7&lr5h%mWVdg!$yK zF7p!)uVwzQHsZ_={dz6)pX|Om)L$RF=ltgGn#a~f5w|GTG>C!knq5D@5g%H&)#Eb; zpE2`*!#rU=Ijqb4#KUWuKdg;7^FzO0%ls$1uL8B-kBynx#a%L_SSI4z9=a}wfnPCt z@Jix{r@Zr#$7c*aW99*edBS{hSeN;Uhu1PcHE5kV)n$IoXZ)Y+tH-C(pSA7qc9Oeo0$zfgQCmvqQ{9$dxnIHP~TIN65ecd+V{aCM#>)d-UI3 zmI-jg|E{^s<1+@IG4p`KJYhaLtjqkw!)uv8tc^JHL%&|j{3pAw>Aly-2JPPAcC33w z4DmM?eHz5TH@9vW;D}9;k32qO@EJ1?ILs5~lf$~qPdvPq`NP_XGe7j}wakCA`)W6P zZS1}`zIAtWbz_J>DSI%8fp_YCMSvqdaN&m@pE3B1nFk!^3G>NeUFIhqUd#MpZN!-$ z`t@4oKiPd7qc9Oeo0$zfgQ zCmvqQ{9$dxnIHP~TIN65eMP+AiN=2;n#(wgY~kl31{=S3<)2)|xyY+)BX_RyY8|<( z@lWMtKmJMW{~a~*`jhkXAg@1p{o(U4;Vk66{&;Ok=trY;P{1=nFpMTKVzdmSED~mqdz~RKQp60C!;?bqdyO$KLevb_o6@RqCelFKhvT=$D%*GqCc;q zKck{Qm!dz5qCbD4KXal#XQDq_qCZcfKSQEFH=;i)qCX#^KNF%q2ckdwp+E1TKjWc4 z*P%blp+CQ&KeM4fr=dTap+AqIKZBt^ccDLPp+8@tKU1MUN1;DEp+7I7KO><(7ok53 zp+EniKl7kJ=b%5^pg+%`Kf|Cux1c|(pg*6WKa-$8hoC=ufX^Egl5wic_@qHm8O3BS zZk4b~$|xmsX{(G?Rz^9QPqWHf6=YPDxsp}csv@JR%+;*Zt?Dw)koiojhE-EWEtzXu zb*!^woGtS?R$Z%}jQTP+uo_zD%4j5WW2=ePR7NwIH*NePHa4S9>rtx~#1Ka!#l861 z5ubbbo<48J5Cdln{*#9m1~_8o**j)5#1S(O^k@yl8#Rj8 zr3T{3YB9go4?g$Em^rD9ICB!$I(zi!;qB{}+TX+wgM)bgf$kpOc27J8&KP4gpjc@Q7?x~G>19K_@kM^561nJ27)_}Gktfwpj6=437Cq-N^Zdt}U<)JB~8 ziEEw5D(sVem1x~@;_#UKKWMRQ8kB5p?RzFRx7*jTfg?(`-n8-A1bkV(uL4|iG|oI3 zi$*5R1Dtg){$oS}N8^m4P1j<6=)C>1J%N6$L9YdWr(MF^mtIQ_H7uH5+}kg4-4keL zp0IvhmwJ$swZJFNoYaH0tjqlDKXJ`LABdBW{F2QfKV ztLst^aMl8!ICD}D*0L`1v;V|3hi8M=1$mHPbC^fhrB3Fg9^j1G!!U=MamLs~>SrzB z>Cf2f~%pcyf0h4oV>_rh~X9CexB{j@=lXI%IC!TD*_s8IsWYX_WX46(+k zXM^1=funKOtu?Yq0!QPFp-tCf9_Zv=z|k7?TJX^~@by}9r~%gzdm*lSg1s;gVsfxn z*QFldtOY)C=A<61WnJcH|A}i3&jzmx@*uzFFpsWFoy!(ic1?L%kAdb4sU;ffRvzX_DZog&m{6r#=AU|+kJK&n5 zapoDb#Yy03oOOS`-cI0XoH4ZNTFe7I+zU8bgI)_h`UbvUOAa;QI$~eMbx*Jt=0Qvj z*6O;{1Dv(MC(fMIgSD*7{Omt*&EeVLbwM8F*Bs{2b*Ym%sRuY?_Atz$W}Gqhkos8* zIC}!V)~RE1*dOX=9%x34T4DXv$-Uq_qYuPUm-!d&9UWZjJN|e+I6q@EG7@lJJK#KH zh&4_<@1Hk0funKO9oT+C0!QPFp-tCf9_Zv=z|k7?TJX^~@by}9r~%gzdm*lSg1s;g zVsfxn*QFldtOY)C=A<61WnJcH|A}i3&jzmx@*uzFFpsWFoy!(ic1?L%kAdb45HXfFH9@cj2bh+I{{7daKy?Eos zjfOblFkWc;T`qCN%)=Oba*&5OW1XLCwFa(bp0GCR;acX`eCiLcB~JaQOFhZzw%t?6 zJ=~$Ex5vXB3V1R2#1V(_wtMdMaso#T4d62-&OF4)A-U^#}ZH~&``p8-OG0GTtj~-tIIO2J2PLB~s48F#(mN;Y0*R_ai z4dJ!SAJ#^kdRQy0pL+@8x!u>;jK|!*rB|BL^L};_zg=aq7e^x1V#E=L@h1-*b%`Tp z9>(C4gFM6;>-=1+HE=ESgtbu**D}B6Q-63Zaq351>Pc3&%c#Nf`f|kEqg*F12A??M zFh1?Rcz=K+h6eB%6K5Xc zpX|PBcNvvV&4`(wIQC8)vHY%iCHIAxI*CIMamJdjYY}HH@~MG&v<7gJ=?SmZImzc* zT{o&;Km-)jwiC2B{26^3xKfe%jU&Nt-IO6S7U60S0d5A*;V&)-EzOF@`td(pn^HT#j zjKeu~U7eGBuGMv!Kdh7Zt;-j#9Gfx1efsGyq3v_Xq+*$ zCF4*t&j#~Dr;c^sv`!t9!~UQT;oc%AYU#d#Po3Ng&nI!{yrOzd!}Bb^t1{I5Q`NH# z`5J%d;+6rfIT|M)dNfDltP5?LqjAR2sX5Gpex7!r8|c>>^jh$Fe)L*$sDbB%IO>v* zy)X}Aa;EPy3naP8fOfhn!`NkXW{B!2Ku!Iy%v0)AH9|wYGD6~qb~W_3-cf*2Wxd* z>H)6T5@$~8!CKa3e(VeTC9XLdCm(t=N8_wZoy@6m#?YqoXq@)P%KCTh{TP9kOvNs-g%WLY6M9B>o0s-EQaElHnSY$}x{!}ud;GUo>S)2?D zxW2}udrs1qY+9+y*MnNDmn{~qQF}`o%lD(IZ%JdnM#?%NE!2_itE!c9|Gws=I=Ei# z*`$h3v?t~|QIAx9?uRw;cQ5v@2{k9(o6iM537xg5y2f5CJC&*$*}M`RX4};n&OP-oo9LOOP_Om4MWdm;98QGG(J&}ajkg$Pn65A$JaR2ONdo1 zTz6jkgxEhT)SPsm&~%~^uC4YEX!2|E@2Hh6PKJfoDJ|R+^d*avVF5Sq_4(vqpXL2? z@Oy(?#?#UF`1|gGxroX27WwN=82<;qE8zQo>?2pPpBviwJBA!%$%{YW=Bih@=!x!| zm)m>I@X7>x$Pxda)SrJ)d%PpZuWODy(K`Nv{`}K5a&>0(8T-F>e)QgR6aQc9k3QGA ziT?+keLlBx{k+xt%jG`!nxE?$xy<|Dq5Z$3MqYo8|2yxUkrYPoN%3=e@H04m zmPc3p_cDARlJvck&*6K9y!SiD-nF4@AX(O<@G*Mosbsl$o5s$O1XbubB>zSK256F?{msMDJ|gSo#*4{2|d+) z#dQp0!T0md^U1$|Pj!Yho_C&uKJ&SX*N`C2>5Tf{<2mNn;0){U=bh)E&wLF|c&*OO z>$AR()BlT~T15QREV&T+UQcjSE9yC^74_WIii(q3VL{-g1{XCrs=-ICOav}!Wjr4> zc&wF|_+&lQDnx2{UToS!4GwCxJ@>TQo`YI#aZjr$2prVloCX&)c&F9(oYU%i-f8ev zYa~egUQ+N&gHIa#(cp^)KQ#ED!T$`tXYf0N&l&v9;A;jyGx(UnzYM-*@GFB)8T`rM zO9nqO_>jSW48CLV8-vdn{Keoa20tL+f`1l# zv*4EnpDg%e!50gDSn$Du{}p_%;CBU|EBIT%*9v}C@Uen_6@07UR|TIc_*21`3Vu}Z zp@RPue5c?y1)nMSOTkwPep2v}f`1fzqu>_>pD6f4!58Y799#H6!T$-qPw;!feV5?x zgnKR(^Y6D*%D>lAIsZOO75#fGRrT+$bcTO#rCR=dmCp9>sZ`&;pHd_LUP{fZ^Q`7p z3#+Bo%1XDQma$x`wROIAfpwvEk#(`v#%gO_VqI!oW?gQzv#zk(TUS~gtgEb!RwwIf z>l*7?tFv{Tb-i_i)y2Be>T2C&b+c}^ZjsSl=3A}XtR6CMm$|2PhjpinyJWuG>Sf&{ z<6fEXv+lPZkkMP_2d#&!hh;n>^P|>dRv#ICW$tG^ZuOTjK<0tgAZxIUAu>Nn#~e zWPaOPYAutoT;>&4rnOQ=mdr8h9cz`0cV%8}y=SeFu~z1F)_UuG85?BYXl=4K%h)3G z2iAwyRv913yv_R9`b5TdnLo95Sf9!GT;?yVoz^ZHyJh~;+GBksW3S9#Tl=j2G7iZ6 zjdjraR>mQj4_n_^-^=(x<{zz}tbfV)S>_|wQR^2OzsmfZ^}F?lj6Y@m%lg~;w~S*l zN5r1Ymf^^pX6Li>%Q!{m0(L>Wkc?AhE^HUEi^?b_b8)+bT~bCVnM>Pc?6NY-$$Xk! z-mV~{qRf@-%61hQRb{SbpKe!|afZxi+BNK&GHS_O+pc4uCF5+F&#~*;^<>nSxq;o# zK37H~nH$?p?4~lB$$XyO+-_mFv|HKfcGNbuYqz$~w=b|Sv@fzRw%gck?Mv)S?aS=T z?RNGRc6<9uyMuj|-O=u3Uu|DwUu$=^ud}bWZ?L=AH`-n8o9u4(&Gs#Jcl%cRHoJ#? zyWP{i!@kqL%f8$0W#41pYu{(zZ$Du7wjZ<~vLCh|u^+V`v-{Y6?SA&-c7J<-JH&RPqZi5lkF+?RC}5|-JW5;X3w-|*{|EP?K$>bd!9Yte#2g1ziBVD7uk#Lx9lbM z+xAj>nZ4XzVQ1Pa?JPTHzhkem-?dlU@7ZhYwe~uDz5Twu!QN<{b@?XC7l z_BQ)t`xAS+{i(gf{>=W|{=(jA@3ME>U)p=@uk5|{*Y-YpzkR^|#y)6&Yagm#ZU9tPq&uYCaU;LhGb+?_>`u58f z#4i40XYAUBX9u~7cbxcnfNPG%abGm>k5yQlG!Jmro!f0u0!QPFp-tCfe(1FJeHQ4~ z8uVK57tN^S?MtsEhZ=@oQpejbaorPWW}dKqU6*>0leNGn&YaYPwXDnh>_2hMK_7^d zkNldWan^+%&CxhxXiLVSW}X4&hfW>qzG$fuORfDjfunK8(57oK zKXl^$PSme8=(XUZZ{X{-oPz4Ph4}* z2jb)-zvgJ1b)iRdG|m{>l5wb+XMp+HPwqwcP3zP#IqVPChI@z-gQ%!8O5tkrd?2RLhiPn1Ilf(W{Kl4B{V$=%j zr%vuAeqW-23Hq6T$NiTEd7Av)HaI_bdRJD-$>xXWdw>_6Zz~ zGln)@i+P}vdjv;o&}+d*-@w;v$)N^ZN9={T?g{q7Jc!A`T3wfVfU_3(#F>+Nu$Fb1 zpZzDUIXoM@F35xYn!`N0E_E^|^#Etg9)>y8j5Ed_Qa@_}XHUS_I(1AA`$PTA1I>t0 zE3BV7xfh&g^np0)GXIQdxgd}AewpC>jLj&Yfb-e`=NUt+aq2nuj>-ufjkE5EBNY=k z8fOe`x)$?5C-(x5)}YsdkG_Gg*OEgGxQ^HhaorQ_g?SK@gSEOY^#Err@QE`g^9m^}=0s2OLBJ*0lt0?wX*uXXB}9QKF$nFpE? zqgGfyb#gE9`)rj@(9it)%dQLV*Y#@M_k#PhZQ8go0q3;?&NGHsw zgFj5*Xq+*$=~~PKo!lchT7zB-KKcf}UP}%&;5uS2#C1=w7v@1s4%X_r)B~Kgz$ea} z)PuFG%lzy=an0e`;B`SBd-~k%BF6v!i+J<;4?R4+&|O{(oH6*n)b1JJ zh?(cAw|fM65O3JB*2@D9V&q|rJjh8LG4q5q5FeXyN1!cSH(ZPPu@~ysdt}U<)JB~8 ziEEwPr#5ieH^ksTbLZ-fJREyL%(}#(nK)wRK`rJ%d`*pdULJ4|Qv-42CytnT!WxKU zk6HuqWVP5g>STWIkvf@^+K4kJajjGCpB3~CF>|iJ>G7a%h=HRnarA*WV&*|D=0Uvn zmPdoWA*Kf6$VnVA^Pq36rE%<$c(^We0%uIk)K6{5&zL!>jX3oa*E+k5niBL4F*wLM ze)H6zZ-`l!IJ6N*%si;YJcuh@IXUPXVrn3ceGx~@JYfyQu}7_ec(PhNZ`8^B+#_`| zC$$l0PU2c;>3M5|z9DALtG`px81WQ=o?~cAdZ~G5i<|^ z##$Q39*KwRGAD4x)J*-bWow)zs*o>v- z{`6m5#JIO5;sJvydwA6+k9sk1#^CoYeI&pUGf$l^@p~?Uk9bi3>Rujj5Cdn7Jjh8L zG4q5q5Z|;hUY8n(C#%K$*bDW8k67=QIjM~t<|M9lKJv(tEaXQX#LW3{pEo@mdqE7G zF*OrMAD9QVm)xu5Cdn-z7dB`=0Ppy zLENBu9WM_!h^c`%auP?(Jm{O&KpcA{9{_-^+3=!#K2LPIJ6N*%si;YJcz5+*ctQ`1=#HpXS)_L{SP2}IW`12GoILP_QN6kDObrG{JacCosn0Zi(c@Tg6$+=!0 za1c`iapWhCn0dk)h+~gh1My_Fc;2X!`MF2xWKL=$&YZ-xPTYT&eM8Kg6;A6H^bIj^ z)FqBS5J${BsKq>p%U68F%L5K#Y9NlB#1S(O`o>xs#~z7?>oO;6v2WDLJlrF7GAFeW zr+(sE=e#y0`x@pGw1{HxVA)`I>BeG`MMTyt${hYmUZJj zJg$v6_{^!->YU-Vx^6hn@oOF5S0v(k=K*@+aa;p&@QEWHn{i!me&TUF4{_unemst! zL(R#aKYoU@uhlxWww&uS|HS3IVMI3Dj0V(KaA@#DQhoQTJJ6336n>`#1c zTyr=-`x9Qv{=_vLUz>B?|Ehhxx%0X#-k(+en@|?-&syxuPFcKPpvH$Uy)eKvN8{w< z-h`T?an{9s3N=ULjB%er&0!wgPw|`OCeW`n=(XVU{*ihuIn==WFA_&x^061@K}-(T z>bleeT(2e0oYaH0tjqk^7xqhBb2Lsq^k|O8S(iGQQ{#-GP3O@#_X2IqACB1*UN6?t zn#o~*ct1<#WS@CIOKJdL$I!|1NgQ?08+KY$o#!ae^XdWTM9G(00scw(UIDH-8Ydsx zG)LpC3!R#yamLW8In0B8HXJ%I(62Sun4&nI!ztySVhd7l;B4_@7G_@&@}u5y3w0B<>Ue1QKp>NrQ^$Sw0 zlX|e0b(tUg!hVTsj>gG{9?j7>>ry9kYMe2&={y?eUZ9Qn!!dip>&04HGdb)J&ogtf z&wPER2Jm$ZojlLPQFrvvf}$^ep5^_J%h%_>))sQf*ZBAkiw3ynXq<}sSj)Q1 zk9}dk#5G6bm6YEv=ax_J`-0IoW5PXKDan z$I!|1NgQ?Ih0=2OAki3)hqcDi`Eh;&a6V2Ykk19BaX0o-kk6Vjis_yq5W? zf!c^Of4HvB8D6XFhVz8?)o#V>ndKU7HM@3hbqnU7m3ipc1T#Y71*d)-z47X;=Ht`1 zy5~RkakOFeiRMX(AN*-ew5#AB{=Cx7chlPFxq=UrI9g+G=4p~=$NVh!k9+oH9+o^q zCDwe+(fPFoy;kSf+O!^>Q?J!I^;%t5=g~TK-66xa$BMo&*sb~ekI_G-eHv@guebYM zyJ)mj{ZC?p``zQtDAmC{bLsZjq%mFGQC$m|KdZhQ`&sZF{iEiAmaAhWGP=00zHlgd zSD)3fHj-yrj}6g1FTEF=EqOlv=|H;XYmUyZHR!cEzt*Pp=$v}3&Z*bxx;l^6sq2os z{6{nL)+KJIz6Z0eY`@d2FE`J<fG(-ms?i3-?lFhd$P%Db8gwC?vyI!Vpl!; zviVH#3TGe4Dm`k5DJ%Fzx7xAFGv=EIBu_^ESk{*_Up4b2PoZf$vov3GbbhTtuhsdr zHmyhJ)N6H4y;j%Nd9+SlSO0(Zsp5$I$<6=!e4=}9sQmc<(E0zOC&ZE?;s3c-_o@hR zS&RRFJ;$N`|9F!s_G_*5_lNx1;$&EOozlWRL0hso85VGrj%Y68Y+9+y*MnNDmn{}< z%D!;V@|8NkO&a?(Qq~D+p^j`{ReoFt)=G$d&HP?cO={03RqXdR>G~u!Rw{l%tnza| ztckySv42gdIblECr_TjHt&0Di|ff8Nn`mw>*4!JW4}hqIw398k?pI>kL$o%39+x4-%F}V?b)P?)mg|f z*NJ+h@^e3|iNAZXe@$2?VL#lb&jml_5bjE)J8A6K;`dN1Tbv9FuTwg>4{t9?@EpIN zcb-rF{wUJ(9D9swqRvG$7ctKSo<9k(s)d@Yn-J%n=M(?D6@EUcK6}qeTrUhfmt32EWA&h}N+!X8*RA@()%d(fXP_Vr-@7^ssiR{PAhK1q$0 zik}dx{HViP39)~zSSMjW)UPyBYqqb#O{kqrlV6KG)XEko!@}#79_|TxlEulefa_~a zy5}T)$)=UMd_Abedf8&(;yf@%(pbJ9Reehu`!!P532C8@Y+qHal>7HJC)L6AYR@KB ze4;%u*NJ+h@^e3|iNAZXe@&=4>E3)U_$h~ITB&p=js05u9%^NalVRa?N(cAh?Ij7G zv z)X&FMJ7EC2CXN_ECG&Kgou|C{*#8vn-{|HJxd&Hv^a z|C_a=_x$ru?c<-yOWpYTzq!W$X6^s{HIU!s=J>l?{H_-&{NI5`a}o1*&Ds82f~tj@ zteX(${hmDUzhkQZ?vn7|Npf=r)wwdM;#{0zea`dFv;W_)q@U=i?kk?VVJ!H*-{*vD znCjZ*^xvaYP1eKLgxEhDDX$f@sM>gK($_eM{k#debEr=p*}kg$Dfgduo`Zi^l3q9e z-vWLQeasdo!@}$Q>u1!NNfqNd;(JNIpLd>5{=Z}9;u_@rydeiIe1`Qo&*_YY&Tig$ zj{iG>J|v9)s@LcL-S3U?ipD?x%=@HA3baZ;I;72_Za zpC21wMsHYuUM}O7!p{=^+rmF#yjpZTRH5MVF0zkY#zy!pg`X+>6UMJr>7TW`Z>zTp zt@$-Qm$4E4dBV>W{t4qsXDvwIy8m3We039(%Q#c`S;Ef}{t4r4&E{r)P^p=z^>V|k zT*m3b&l0{7{t4sL2VQHYKfk2e>iUJUav5g{e~Ivo@J|@`{5msw?Xl*jVX4w4m+?yB zX9+(`_$Q3JY+e@~yuW^y{X!*^%Xp>mjqtOCf5JHK)96IfBKacuBd0_PL<&Xga+Y@{a?-aMgyJhr}S$iJdW8Evhhxdx>;e84IhYwi2WqogP zN$i>6h4_fLA;ujMANE`k9~Mu<2L{ON4wW%XX6>E$j5sJhD`SMr@KGErV~ETn#ZB=!8PEHUiqBauh^OLnGDgch z+H+cjyW%V2tO$q24Eg$s=dk#S=dlRS#c_gYuf+-CxHw71WSO<^;uLXToF-$s%-Vx- zhBz_4Dr3CN+K+LzI5Ngv8DICD8DAG)#+ic5_uU!i`~Hjz#G!Ga#Ea$Y0{Pxzncot( z#E)(a*6*4kq*8Ytv#l#@w@LV`J4Dk z{weXF;x74{3^-20W%8KV0K#d~vLp5}v6{4GhSwy#Cmor!=VX3yo-81vpv>BTvXHn? z7M4*&X6;2;R2(VOWaN`s`%;z?XUe!cWl7JWvZVM^78j(P?^0RLj{8)W7pKaK5?7Y5 z<>h;oWv*gZ70=45;#gTN!Mn1$I9Q%3qlV1d$FiolS=N?OM`n0hR*?bU%d^DU@*Ej; zeRs=q#M`pI#P!AD@*Ej(y@b_noal(xHewaoaF-=WXK8 zd51W3-YyQEcgTE~e7#*Gdcgt&x`^u0nyiCgG%o@eM& z5L3Fg|B0Ac05*;mWqAv(eN6`%N6&)|mqT|F_biB+HF$x!uK)F z5+~D`?`8U~xS6i@{Y=-2qv<-|({zKlnr`%cO}B`%=?A{I=||#jy3O}D-7XHNpZXrB zpNq@s7rxKwZgD#O()T*uD{iM>`+lbf#PReS&-3)K_?~`eAGW`@f3Sa)@srH|vVXRZ z$T%wVFZQqYZ!&(D`49U~`!5-P%lvQqm{^e?6MN@~V>^zMCL^EB`JGdo0x}B9T*x`q zDJ-Li%tf7IPH`C}WG?BHa!Si6BXe1&oO7Ct@-kO&Dms;%%1#xhs#DE5-Kp-J;hgEz zaB4cWoZ3zu=Pc)J=NzZ5Q_rdIG;kU^=Q@p?#!eHbsng6k&uQ+oa9TR8oOCDZ7{_&5 zJLfwWI2Sq>ITt%^oVLy-&ZW*}&gD)!=L)C2bEVV4xytG2baJkCu5qq)Iy=`n*E=^j zU7Q=8uFg$PH|J*O7N@&&t8<&v!@1q*>D=Mm>D=Yq?euc)aqe~QbMAK@aC$orIuAJy zJC8VzI*&PhoW4#!=W(aMGr$?>3~~lLL!2j^C!MF9r=6kBFy|R(xbv(t!Wrp|a-MUZ zcV2K_bVfTbIWIe}IAfd)XRI^MdDR*3OmHSTlbp%U6lbb4&6)1Za9(p}I&WFxc=ObsE^Re@Zv)%dB+2MTVeC~YV>~wZHyPYqcJCIftF^obR0o z&cB^w@+L_Bc}sKB($ey!+lW?HSZ+A`|Md{)}oY3InO zD|5ZH`e_YhG?e+=v_@%-Wi*kwXnY<7na5@{kHLSKKC18^W(@yf#QY6W z&cExjBJdxE7mbWFWyrnPH=0I`UYsFA?iapL?thjsLx$WJ=&<}<lVNaX!{+or!up{h_rP zvXA7NkLM3KUadIJ{URr0FOSb*Eojyp5BGYQxG(bKJz;NkpV^;yua5U8k#oGy?1|>H zxAHZ(zQ^O^J!GvoKlynGb9lYtXAPgF8aVwQjOD*E46Nbj|0iP6&flkEA34SR9@OL} z_IRS5pEtuka*FvqZ=Lj&e^TKd?*y7PCpVfk$6I>>&6<-+XDS@8Lw3Z9IFiJU;P+zk zLxaR=^82xT5}hKCh{X8Y@!yvfl;4~cmVw`$6^Imx6qUafiWHN-Ax2cpi{igeDa36RFvPYRf^zuYnA1V`xjpp=O>9=7&xl>%M87IwptxK_9}sMNZVxeFL95 zxfh;K;?VioLlfL?e~mGJ=ey9YQgV)aWb!hz{H`n9r8B3x_x0K$KZ`UbS>tG&Rga!4fJabdM)^4=HBD&ORpt|8YY#!$lEV* z-4keLp0IvhmwJ$swZJFNoYaH0tjqlDKXJ`LABdBW{FefMU$4VPb2QGnYnC|)wKUEc+LGmg&Py|v2l}-J zy%u%<+Vi}(FKWPAasmx+_VQkziR+$VFU*6O9IVxKsRuY~flr({smELE*Jb{o|30oc zULQhyy!Q`GJ0|L9YdWzys^Ned)F2P(#tLmwKl*8eF*m!IZ;dZ4See4UU)u$AqM`*T)+YmUarKV#KjMsqaIx*x15kWfqGjG--A9_T!;-uytn)}Ys- zZvVS?8t|zBF*(#=PhRJ}J`>kH!CsgLF*#VP>rxMJ)&ie6b5al1vM%$p|HL&1eIQOg z@@tO9S(iGwR^yDJP3O@#_re}hKWpiJ@_MnB)~x%+wc*~fmhKz$QxEsT^GO_aw;dhk zmibp<_mq;CxZPeG=N|l^x_jx%*SNnddCooO>IUBHv&P?lc}9S1j>gHa^g*$td4RKS zw@#H4I2vaRZMqioL+7E+a|8WagI){%kec5c@by}9sNt{5A9=6O#C1=gnR&wcbzSN~ zPSygSICD}D*0L`1v;V|32Ynz;KJsgh##tA7G)Lo%p)DDQnt3*upZ(-sblergdVSlhT+*|0!In;dvpE^_Z9Cb%F9pKLSq^gVe zhQphUa37x4z{UI4nwy_+8y9Qoy*_LF$4M^*xaMe_e7rx^9F4Os-m7Yk#u-DK<}eR* zZuw|zpkHgyYr+4@Ddz1#!Gb2Lsq-k)lY z##tBdRW(QBjG;|)mc;_QE`f$-!D( zmwJG+7Wl-OlX|e0b(x?2C$2f@199?^Uvo6hy41bleeoVCCw&YaYPwXDnh>_2hMK_7^dkNldWan_|yuGKhWXw!K# z&b>ez^M_;hgx8C;v}SVHAM_#ITh`Kj1D|@h7oJ1nsM~*WJMZ-k?+x>R-_t$yg(lwb zH(FKf?5_XSi1zXc_y@7a0$g)6&OCU3syP~GUA$M-9E~%EHqBukyr*tcYH*-mYtU=K zf8=l}Z(n*XIn=Q9DfqROPudggg?SL`wYo0#ASY{qPn>3Q!L@nJn@Trq~;rS%)>Abm# z_wy&-8&+Q3*&VRBiTC@BOZJ`bzT5l)@AXRKKTf$Pz%@tX>Ul;FHHAmx& zp-pp`2k);N*XkGO*BbO%@IU>vptmo*mKbleeoVCCw z&YaYPwXDnh*cbLoTyr!|KJsgh##xs-nN#D8p-tz}IQIf=%pZ=~6J9UY(wfO(f6#|; zZ&^$C4See1UU)u$Sw0 zlX|e0b(tUg!hVTsj>gG{9?j7>>ry9kYMe2&={y?eUZ9Qn!!dip>&04HGdb)Jf4{+; z>@$DAK@H&R7&`g;H{z&!cy=}K_qTX&_~6$q-QBAzd%p*Gy~Nq>__Jzzug@BfF1b9w zHAmy*hk5Y+`majY2Ku!Iy%zkJqrZ8d-_UExp@s^*_j<3- z#C1=w7v@1s4%X_r)B~Kgz$ea})PuFG%lz0E_DfuIG)_M9YmUZQmpYkKfv5^K8d4lqdA3L{P#h;H@vJ^1NV#D%Xq&B zc%(rEx7y+A@?0#RfLHncq5#(%jWZA4pK6ZASr_kBHAmx&p-pp`2k)vO~Q_ayh>*Bqt=4hNT-nVKF^Wgn; z^(UGK`n3kV7JPnQLa!x<8u+;g;;2hL_QE`f$-!D(mwJHfwZxf|da#ytnIHSYeu-<2 z#>s~s&CxjPQYUk2oH4ZNJR0X-ppE&%F?+)6#adc3IqVNVzrmdBGe5sU4dCk-I{Enx z;;38y>@@H5X?SnAqOAa->Snp|Xzr=M$b@5(Rb2QEv+BAoG@cz2!15xku&){ecdM)@5Jbt~mFTIu=YUqCV zncjYh>z-gQ%!8O5tkrd?2RLhiPnF=oP6Zh9F4Osbuy>M8MB9B z4mI;^Fh6wam^}es>(nth><{`7?k#enmhKz))XBZ@d=f|9ynDrEzu%$0FPy$7T&g(l zUU7-{303#U?s)Os* zo=vJ4d&YW{*n>6-oq^uLtLLJ$@s#+=cpOX%* zS9><8;=J>mcduohm++bT-+G>N^ICtRf5X)Ch0jkuhwyhVmK-Vny;1+BfScnGuJ>A- zlP13wd8nH$PKJfoDJ|TGx0fV%j^D@YMsD^Wt{>LOUdmV2!`FmZawPp3L*tUydrkJS zq_LkjA$Jb-sUzE0RV(H7&q)W@t9_bOao+25-s|)K-(H`?|IVb^pWxnWoX<~))$@hV zPd1dyw~S&>|fL1`uTtNu4R%K zyre_bN_qXmwbdHKSkIEOFC4ol-EC8TdgsSRehWf>Pm=l z{d4o&@Ht*DlEo@N_ryA^ni~=In;COL~)MaM?GJYcXmz?d(XpUd+_z}ycl(c zf>_pN`}fnYAK>aW6Bsom#L05!P@kHzeO39hQpLXJq&m39*Mog>ui0X?&m41|s7I<6 z_rsd_yBGV{hjo(f&F6xja>)KxD&0wAzZSoTTG`@cSa_Y%!F_mpNrLD2eP3_VJtyf) zHm%g<*F`PX%N7gQsJ$hP<@-_9!=$laBW0bC7V60MRnRepK=H{r4H`LuSH(o&l|_Dv)2>$+rO4k_D$pd zH4Uzx|99_NCW*mII#kY-*FPs6T(4?U1HLB2*hg-j8z*|st6JO>>)`KREICp>Kh<*( z+#H8+y=#(_CchSWsGBWLhK1KDE!>BzA^Bs;@b6^Uib7 zXFhil&h~%hdCtviz0dKkd9pZkU3qQsHHc+h%71UvzbQtYp`@{JQ|iFEfj++$d3ir? z_ zXk=LAnaJ?Svyl;zk&#i6=OWKXUWmLH869~k@^a*r$e2h*WNc(yOTkMRADpZ8pjM~kEJ%bv4w zhBz9J^F55=T|C*E;&~NMx8O}2_aufJ@mz5rru*tuOaqrwBHoS7<9=UMGEhCP&bi=JE?zfeF z-`msexX*13JML>+$M>$%r92pnshh*NDd-Pr^ecty~eaUlE9TPaHju*$&iN06rRNou*HQx($w(os9-*Y^D zGjKUwBCe)OeLvGo-^=tJ-^cVl-@|mh?_avf_b&a=_bvU{_blDv`<3qWy-N4^KBfD7 zkJ5v_Kk0YAH|bBlFX>U=lk|7rkMwWfi&QL?Js;A1z6WVR-+#1-?>$<=_Z=xczQ1T?-&^!_-&eGT?oV#q)1yZZx&QWIcl*>2ym;frjfOblFbUmpG*VSGEZ0=^>A&t zF7cDymw4d0ZTI{UEwuet7jdEOQx`Cf7qc9Oeo0$zfgQCmvqQ{9$dx znIHP~TIN65eZ5`fqAY4d%zY7ue&UD^br|FE8B-^5=t0ap#L3sS5HmmV@LJ}l2IOZP z&Z*Z@zveU6b(ue`llZEmJ>}=O`1wK1eG!KS;)wCH2J<6k9^%kIoU!KXTEtn4d}?4G ztpS{5dctdUPV%`{*A46E9*K`yRYQL6jrRvJwGjuOczkUkkI$HS+U|+tah-*NJjBV@ zwWyP|lC5QaY5<3EI45d_^=m$3U6=X8I*D(eIyC4HV&*3f4a5=m=<#sSAH>W<92$r- zrXI}+=V#x-Ynh)Kkdv|2!&+hen$MVelI3Ae*4;9-u-oyMk!I!(``qZx!tSa@8K!&x zZ`_ybEHnMy9ccgIb*f7TQI^%11 z)Y}h6o8Ldu414u+_sEL*>GrfSX6v;(-O2U7&HVhjk>;^RAGx#de`V#GXU3Qz=WlaQ zThn*t<_;sxj{fW2rssUQvh?6Frpns&?v^u4uKYsyU*4bPetY_BE7uDDio+}2aSx?O zTT1>r3%upl=)b2`n&dCHYLUBncw;kJ^juYMp1W^PS<^}MG-xx&z2dKVW`O9wVdhNt zg70UToua?ul{4ID-_7q{Bm4b6GQ*wvM1J=@*>A@Orn=8v)zqz9XOwxi&kT3wp62en zJ2TAeqf^~`hTQBHx^|RlSMYVWmQ@GO`?%zK>PZ@Z_~e$jpBiwx6f-V%4$^Uu4Vj~!)J+`r0QwD1+T_r44> zrp_vN+l3?DO~PN?f1_LMjL~jP_&w7$xz@TN?md$K>~B7HAJ{U~9U}QB*4ys(ys(E` zK=fR&YNvbqtX^&-(eu=--EQN9E#0$3e~Y$z-K=ko`?}~KH))@H;MVvxEpqc-cXgY0 z%wK64rp`}axff07Zr=ZFjJa_3ZnyvVbvqk& z{nasManto~%V%n)e<1jazh=4n8qSYiDg0emEO9qgy~=EoJTH}b!@c#`TjrSLUlEz@ z{_$75x3fmgbpM@st~>me4D;->^5K3ZS1uFWdLYX^QaL?ZUiic1?0x-E zV>3|l^p^8>-B0t(jgr5woUsxs^Sh0uZc%H7Tee+O_ta@q%^W#PKRr(lXP`PB|Op&L8Q{7W@-A4;Q{S#Jybj zm&qCUF51K0FL`d2>%MGnOSgdJzd^2b&mOnA%U_h|?B37a*1c|XFFP{8w3N8a@BQ6c z^E1pZmw)blf2_aze3^k}lf+*=*T=0R__x>1c9*}>$9+-oRT4M(cQ<#X2H% zH@od6Pko6sUvqSRtwFEV`L#B!N9WXQbxyrj*VTEnPF=Tq?^=aZh zGGc&fBXRNk?cL128OFZ-3-@5*_U;v{2bj-#eBtgIf2o@#_^-X^xJ#y8>UI=-v&0Qf zZRmEAJhv8_>lQ58(CsIAT1l+=nxpe;4SKE4ueE7CI;UQ%bLzFauFj)%>bhMA=5r66 zlVSRm+vT43bUt@#%>ky9#Dz;$bvw4rFvSM#boZ67>h`&DfH^R5r@Q0z3hvc{J0s`1 zZ!W0d4iNnF5p&&hPP5!^CC`0l&U5oswcMGKr>(@AuQ@uu)}Ytw{92pVqjT!DI;UQ% z>*_pOr>?uO!fez3_c3NzL-`$4?b&8aR)5n?;-c;@bFg%VsW@(z8*8`Ay!K0f^YhqU z?#z2XHirc-K69RX{o@~-*@A!b+C2A)OQ)EDlIQWL_#}6pVzx=1t0mTa&C&U_2EA72 z*V?omol~#XIrUmySLe|>b=^*Plr^Q-$m{=QU%GEUQP%v~xxeWpalu9X%z!;(Ozp+H z-CkSznU6;GHxY@WrS39=1+TPfzB{GfU1q!BN8Xw54qKOI%1WMLo!@Z3+nZ)0*Y!6y zORV{tqw{MGdacf{wP`&%r(Uab>b1JA&ZBkex_8w)7&~=#ez$zaE_2bNhho1(3%R2z z9x!dj9*jLXp|-o`uW{z~qlaSe9IWRSK6|3sw10o>64S=5|86TYuF%2Qy1(1I*IwA% z%x=FYwr#{s?hWblqkl&B#!ipk>3&&!O!T*IJ7PuZ-0Myn{bKsIdq0c)c3NL|;PzQ9 z`|a5h+coS#cjR)D`BB{uV!!qt=&rcpugvCI@5KfS|M6K3m*;QwUhLuWecf@Z$7WXl zZF%g?kvF-IZNEG^f6lU433I2rV|&SH%RvjpX{U|bU`8R+Yv_VliDT{EQ))P7QoXsc zLlbMeb&5Z3u37YY?7~C!+(vKpH>)SiiajwWzuS3ImU-&)8L<&=A$QQs_soH_X2r@p zu-;r##d2@!IwSVv*&EE@jrrZ1cg>ECZ1Al4?od^?;U%+Tk2u53zlzs(pLl3N>~PIy zrbv_K?uS>+j}6OL#~i-t0=Ma{OJk)T{3%*`;HB&AqE)BYLfg zzE<%n_xBpBVl!8~8ts2!SNCYXO|g6L`zdUgg^WJ1Ykp%34S4HEoFomSCv zx2}k_$=}7z|8iz@dV$5UPi9@@zTB$58QN@q?5Tcr+6|U-TtGO^%^_!bb|MpGYlD(J3-g>OIx&FM1-GU9?jh!;T zw5fJpJNKQz8)JnYt!?g@c&VE)=;PRrU*Bxn%#XS?FWVWrVfJ|Q)eC327gpLE`y<~c zrs4U;-2#ihi5(Nqinq`B&g`pwF!tD*`tEH{zi#e)Xn(BL?N_*WeR`c~yX(u?y2U-* zZMPqczVySVF{{JF?)g=t(en3giEUlb*R8y9X!`bca`prtQ)zE{)>F%4Gv4aqHhpw@*4N`8$O9${BB3{+~`Z(=eO>PmF_>*^n1IJdv=X||6hCO0aQh@_Wg5? z3knDZFd>LyR!~rha;6(l6hSc{s37Km8H^Y(paN#hx+;iSK|lc!IMc0y5p{JHBPs@r zYtF9g_aEi+Yi<>9ZQZK(tM|RNW&M6Tu#UoC4<)~1MW@4lLZ zHf>F(^CEt9%sg_uY7@G_@+MzCcmPRwOsW6AoBYhi_T=kDCwg;g68}7W0O{lFK-cLd zbI17hB*VdmYL+JR>pfSK28$X}o%w$Laoju-Inlh#`Qka^`eF>?wc`3>Y+^j(n&P$M zn&P$MeZ_Uk%WJsnZ65yRD)G2sOs!Ae<|}HQAn|ygE^T~^*9cB05u2^(p9gO7w$lQL_*Id#66w=UMBFJ2xe zk8JMnd-|Wqw!}Zlw(L7x-S8plKlur18J)`O7suNBu6uNChru2WuK8Q%AJ zbTfNevS2L~H7c&)gmc&&I}aUC&E@xHd3(#T(nZc_Kn(|FU0GHE{I z7EKs6jSr5yK*qWi(9`$(^6QK4kgcZ+s9GDyw_dwPW-Qdv@B&x9!22!!dq6I|yvu=~ z-djRWT}z`A2GrvN{6CN_KB;u?+nT(ie2qNpx0lu$UXj}jcuZW{?xvf)|76btWwIxK z7j>pDS;~nsq(JY_AvVIEBu zBYw^2Sl-KO1xZHyJ3cPr2TvstYka30?uGM_cBe_q@blC=A%JT&H^|MRBQ*aPSDwD1 zho@UxjmU8m2(Ew5{xvHsnb=KS{)KJr;STe)Xju8X`Oj~MX>HD2q-D-Nl`%wB$` zarR^Qhd47_g`Pb^GDc|K3K=+{BnMG{{oVQ^xVxjr=%ma*`0RW+w(c8y)uI~nOK|W1r!qp)BW^pgqn|inNL2>+DCVcxX{N`IW~VT4RGPPt<&p z=f%CGOMCe8->NlWlRJH*4?;(C>+~kfbh@7V#HUfb_KnJHzKel-{gKQ0?-ogN!}*5p zmPYG%-BIsyS7P3z#zua^Gg)ed^H001=e4)ACk*Rc+ZD(A9mIe4#rj1RqIt-`W+bfj zS32rZ9B(kB2B{MJk=EX{hSzaYk(pmL?(=gu@XU$VC7-=2_cjwY5)xUpz-#UyMP#R$O0q6cLIMgaxr1w z?$b_3r}6Gj=92z>@6ZcobGYAOdwDwM`@ihKz4p(NYh(U!pf5kUH756M+ncmSX9qr@ zdbTbO>nu!hD|5bhj<~)UgLtjDz8ISrkGQ6It+=Lmt$1H?o$~VXY?MznWuBo2WgotM zM-FkVdV*GI(u*flNh1yCU7{t!gSa|w7ddj{JoPv?m{0!rUVCfqCHi%BQ(o0l($2(u z-#=UN-Bp)Kfmr9%vs%2LO?T;Cl@qkFzg3y@#dE~<#TdkE#r4J5#CXIt#cRbi#cRd; zitCh@*W1%ih{`30_8QWP_x3F&TUKV$l+zBpM`j_3{w0qtG?MrMr?aF{2%~qyJMz1I zE=eAk-{fM*M}+K`?(}E$Q$jUN4kx=ZNczF^JcS z>x;38@rY}R*NSV3*NXQQ*C{WrzgZjeZ`7Ck-})8h^S`Tx<^RV${x`?|&-20F`y2I8 z|DAjEpZ)V+e+U0Opa1Il_`R#t{>Hc2Z1tH_SyL;yY2QV4N`I6+n~3wxx@PG9l2#o) z@K9-JV(c_PP*kI4>98B%6`>Ua+}o?Ok2T-c<{d|vi!Hrd=D zCm8n^@4Nb5cb4aLHGBP6Qzp*KqYPN)(3tG!Ujxg`XQ%9yi>}qnt{4746%qTODe09jT9r7(Rk9@Vr*9G~OnMb}7@^wYNW#*BugnV6*Z<%@IOOUTC@+~uu zd7vUdWdqUsvQy#ChaPkgqH9Ei;dNCFJXhe9O!uUkUlTAYUTpDCQ;RBE~Pq zEXFCuCdMPi@GtlMxtGNKBkmb-pNM-y+z;X&5WjcvyZ)E&HwXKfU_U$K8UDu~i+^YT z=JC%xFYb-Uq=|IhRJ@$>Va z=kw#=&GMc@dGr75pa1OrW6>f_cd?`m%gJ+Ko9acf+cVs<43B@%it~-LBU#{tJndh( zH{8Ve29Xi0t*yVbd**(fIKS9&1Z!iHDeZhZSr+Hx0&Q8np;bx0udm9?Uvf&;{bu1r zny$5H;`!nBMnpHFDlx8URc1bPUk@_MF;m(d@+HVuM!u4GKJq2Vmm%LW^T=0= zd>Qg3;`zvzAzy}k%giHRhJ0n@TV@^P%aE^(e9O!uUxs{j$X60`6!Q{u5#twQ7UL9S z6XOwM_?P?s+)LvA5%-L^PsF_;?gw!Xh~K;TUH{AXtHpjM*w4x{{Et5t|IYr+uJ46oeV?P<3k-uTqpS4Noih5Yo=LgLB#ob z1AEIiGY#3=uT6d$d@5sE%GfBC-P;;S3BGV&$Jmx=Sp zS3HV;}l~P;}K){ zm;3(QOXB_!_l&qt#JwTz2XPOG-@Eu-|I7C)VLub>XM$(@AAc{V?*TezLdLFEXXU}u$!$`!PS-BenY1PDx3?kW%933pI+ zRC$3;aA%dbstfReeN|mm-GCq5UDZR?6ZC@pRlQXKAQ0}O>Z|Gpg5Y3Pe^m$=01s3R zQVj+};GwEvs^MS+JW>^^8U;qfV^m{R?R(#_~dy5)Oc(rGw~K(+~BE0_*%g%iO{I1%0kBH?ZD zb}$Ft4(|Z-;2rQzFdyCt?*a?qUGQ!Y1Mi0SfJN{gcrRE2?}hh)W$->Y39NvV;AF58 zPKNh`)$o2e1+0Zr;8d_4PKDFJMmP;V05-t~;DcZbd=O3mO19}B18jve;7pJRXTpcT zHuw;n1-8Rk@L{k6J`87rop3gs19rhVa4y&l=fXO$2iCzd*bB=r1N&eGbC3jc_y|ab zkHAO4e)uSS45Yxv;5?8D=fU|P4bF#;g9Gq!_yjlzpMcYWl5GT-0W#nj@GOuC&w^)z zL-1^PF35uC!cpKb90e}`+3*558sxyya4g7$W8uX>2QP+~0vTQkF9!@>4#xow$HA+> z5qK561{{Ug!0W&`ZEa0R}qx~94gZooHHMXFoiHhf1_thx*C!S_`UR3+dc{7Cg! z^#nYHpQ-*(JqIt~m#SB)*WeBOR`pKx9(;g5sy?YcgD>!(s;{cQz&BW>R;x9j0{n|w zPpuCs!j;qpYC~WIS5_OVO+Xd6s=AuGIxvOJ)HT#KK`pqpx{lf$)P*h7mg;)I3a+ni zptc4L;YRAl>L#Em+)UkE-2$|PZPd2vR-iR(r?ywO0d3)SY6tYc$e zPtXhQ3HyWIus<9C0^tC-59kZ`f%}0VxE~x0`oqC+2p9l|zyrY`cpy9&41ov3L%}e3 zC_EgDfQQ2rxWgksDDZ$o;ZdLiJPIBSyx`IB7|O<&oouyX#TOU^Ez`1Ir$F)w)V6ImBTpv*%gY(q+=yjd1J^}yecYR8IMtxdcpjLWb zpGDW}bESQ+FQ|W4Uo7o?eOY}49k8#emHyY)&;k2;X%Flo^=>7$Kl))mRzF2o>}P7FC-xue7w}89(ii)c`VIV6t@Orzr~UwcR4e_lKdHaKe}3}3DQE^$*d4Th z-C+-41AD-ppcU*1+W{rp4xl5jhdaVvpbhK=cLHtUPH<zhFF@d4us@)%KinI* z!@c1E-~k7~fxr_EggXEwTLWMOI>JVXgqQ{WAo!Zkn_xCUGc z_`tQ`I=~mM1J?yz;kvLT=muNDR=^Lof*XMDa09p@=m9r`8-t#3W4I~k1viD81An+V z+!FMLTf(*=0Jeo&gFv`7YygyO`)HJY@_jWyaIi+{Dc@f+03N7O`pOT|41tGgl-}~g zG$Y`V8l}H{C_2oKD(x{pRx@5RuC&j5m}a6TytLQ+WX)8~l+u3l5t7_mAXQAtS zq-Kt0u4W#Hg6DtlJ-{%^^~BHcFs)t5N-}ynkF-iUOrO4*A#0bfCy&wl>%^D}vRUCg@@vmi z)Z@iTZ6}FV8~^fIq_F=6W1O%T|{SFRHpB7?V3xsX|0>yv|5XSBzG6`EwiZr-OTD5`%h_ zB;;h$8v2!}97)M*+k8O`OXk+S5Wp;VCzU7{D`bW%NV&!W?hQ8C$vDYin50N&cajjhHJ&TivO>9VwPe-VC zS~}@e$A(-pIYAqAJ4#A0fA`uMT4nzOQV-V-uXdhx+-FGN;ad6XdFtkFO$*X&NaW|U z)TC2e`pXp?a_;>pYGUg`x8JuRhQ)a_F{BOE!@RmCr~CHTr{{3~tXsJ>|Cj+ix3MvK z_935sE=lDR@Voq<3*AWd;d^)_`n~LWaGZ=-egMC}?MSDlHYfAZ|0H6khW2&HBDEjM zywdPcIxo#mGA?HPR>S`EcBo1^v->>1YB`Mt9d77$?fiM(vEgWH*7im2(|xzN&#+MH z*=4O%T=N!hiSu{5O_4I6KIARXTj0x#aB}Ky34e0Wk@{x@lf!>J;(F+HGxF90((>v< zUVVp#8tuJIE{-YYO%rw!Z=0sHQ^p;BxnL7n9c4k&NB_=W46`9G1AOS#A;0s?E%k}n zV~MKw9p%Bs_oQxeZ(2C%7`OAdAk{wCncmrTkQa}%A#A-TJ!hN2qqf#34;MSp8YB1e z^u(RS;8-16GAN0AoZm$HAFV>&$7S+LZq29-{=ZCz;8d<#^MTk!B$1?}M|ezLXKEKd zTI$vvJ$91(X~NP|+R2k|@R!Fr(^`eQB%@b%xvG6LI?^|YoIG-m2e0}-Qlj%oZb}h1 zNZUdl=o`}>K^J*7+MaavZb4Jd=JA&CMx;V|8ydYki%;}uPm=W-(bqO3ZT{LtY`C7Gz2c|tEJB<#J$GfibV9O-3bJAOqIOaE=yg!1BnOTJv ztUAv1%mT^d4K-*H*YVKQ2-5R~A+_j{#c$S2B3n}LlWvyB_|i)i=#l)nB=ZdCSs4$= zag#*SBJ2b|;$D^7UkM=LTMBsfb7r*07jI(dae+r;-Y;|@$+o=2o8j8{DvQYEv6uMy z^atcY!ah<|_aYyEwvq-19+3tgj`10o|7AuI z39EaAJ0Cqpj1!KLJt?Poq3=BsGi*CC4NR2W@OzZAob>r`Au;l4{I0$0ayvd_QHkxd6v>AN>~*teELNaCOSX_4IrX4~i}xv+H)ebMU) zGqg=7qda%hRAUu?cKabYjq{)CnR0d2tK=NcUog>v=R4jbOK{&E#vYt({hchqy}sCb zqvuctX@Wij7P}_%%T;%iWw`HiI-Nh7+?yOc^^uPKwwzb5=|Sc%enYEy#_{J1U8EMq z`tGf6ZR8zvm8EL$H0}u-e&rXs=Ezmn8o1jnT+d^_9+Q)M=(~Rl*}#X@YtBq@zT^5> zo|e~~eR->KH?vvHYZq9tAy_}H*-+m4VSVO|^$%_i<$sKuDK%JhgpRsZpTE90Tu#1Q zNMBod@}`}<$d$)w^kSzfeD}#;NveGkO{{Lpm-=OsKQW)>+LC)M$|QquZPiXa_>>uO zlP%c{WH3K+cIu_!$>-N;|qN`ZXM@4H_4w*soY~?*KnIbMr=3cXHAaf zn+hv1Pn^H?))>wP&X>HF|~5MsL&RJUV>}sc)D; z?SpN&RZJXFwK+`NJl67ar;B>t$YOMzu7RBKOenO>Q?hK&CKY= z<;fqltF;&Dz%xPI=ZcE-u9rveeC@=oEp3SDiz75`f;VqH-jfW${Mo%d`H7{JjKH;> z+YaKhrA8zb*S2pQ#^MV;wf0Ny(syhwKXj*J zb}{D9b)3#?-fZnwg!6mpM)P<(SsJzZ0u7xyg1b&%CjaWJ${u=eG85~@8+I8ZFWX?u zuK(f7^cGp_9ys8C^4JHnI<2kP>hOf@1+zM{1&trbz5VT3*r}=vzZ3EE_p08$t>4LE7;4P!miQ9HLlBQE;vw@BN~Gy`?ARe* zm59HiQEgwWaLmS z)>1a=<(JD_*uoio3m0 za{V%qUEo7?lIA3o?W%j&!j;^h97(4T3yWG`xYVM1yvCQ$Z zP7ZUgDVJ=U#@f9jvg`fEa@eMsZ074X?Y(~aMSh6+2Y>iVgBH!uIpErxi+4-=!+v#p zjcZTqbkdN9$F%9zVXWfK?NXOeb7}spY0M>$NWWONkVcN5$)2_NoMUBENt%cG;(A@> zotGDA({O(Lw%ziz!!2}Xg)^C5rn$V`DL?0|dM5L(+)nQ98m$Y8jAS;qQ*?nlR_QEy z&t|nP`nI<)8T))e+YP8?Z%w(1=>&fEp{>bWZ{LE}A zee_u_i#2&#h z9}{a?y*Izrtxm9(H4mn6JTl@T zN8X#WUQN8&zAhSBtdC7NdN4O3cLr1IoMpsA5RZ&_B-?lsa>v@6wM&VW5f4E;GUCxD z6n7+1EA-jj`x)|^+mEFWM?cDG$0YVgRz+fzXu=k4X~ zK9nox4`yyHi)H`SkLBlvUTj@YD;9F-*l$z*l)vn*!@hO0VJo{9 z$>($TKGRv10d|^3L>7UGjlJ?BR_U@`{ob(v)$2j18#3Y}&q)&UCP0eR@`9ubPBO zdu+{FgN~kT&XiTsbE_t7SLb%@g5`0odo?q*FxZdTIh@fwA6A`BpV}S$R94ButD7;W zJ~;p4MR|2=^i?r!&0?}1$n~t7u+hGjY(>QadB-D1rg1i9A7i8C5q&x_|1H&6N57T2 zJBzz9C+nJQ#g_M4&%jP>TcRcVEjLm+T;j++hBjq6gXd~TylT#3^Cec){*czh!j4@Z zU6Q^8?kDWJXrH$C%G8&%e!gWSG_56*VoNiaaRY{U$a22 zWogHpXWFvWyT;2yLY>$}sTsR*+(vG@Ld(`IYQh@+woT`%rfjNNGdAw)$M(s~wd{+b z4O?clOgn3&6Pun{_V+0q4P9BEwT%Q0RoD)h)iq6X0MsL#v zUOg*yQ2DT+K~Lme>QG|8xRD$)^_aZppfR~u!+`DW(y&ZDWDYSPzHN2#^)4O^aT3HS zAx<{R>a6rtKUV(GYal~B65^2%4QI=qVz zc(lCBDAs#eU)gX_iV_b)JQCuOHtn9m5{+WzTN_VjH_LHkMNamt%FJuJ@cgdqm#${) zTD+m`SGywn)6AbG)TQ!-!C`We&v3TKEmy9b?4wm-zQY9*=GLm4)XmYJjSIDB-6Q%+ zoqf#M;;G*3sqbm+Rfh_U2lZoBOHAdV-#*C~dj+$Zb6&~OFF(o~ySuUN1>USJF2H;ZeBL*l4}KB&qFpW>4Y1Loqtu=ZCnEu zak&HgaA%Hu{zF|>G>5WQJ~w5(HRderL`yc**o=jItjoOa88YKFO__Fl1J+^kWqGgO zd)c9>#L_dL%kBd!uwUvpvAK_5%d?vm%H5lGU@iD3xx(cA^0viZOfsy*hHi+Jt6=`& z=o&0w$xu1JiNwCHZ@|o*L*%I1POP(O3)b6kt~?3Pe6)ov8yL7v9<$Mw*+e#HLpv47 z4aeB9!Y)>9ddUkp8T0*KS7lFzYS?|8fAW^5Oid>Kk3-@8L@JdYS{i6zebq0jia-yp zgpmQL`2C$lmGI6Y1QxI{M)iOt zTm>U5P!Fz#QGH+qn_|=e)Q4+eWDOd?wJ>T3tlw!j9q#;6srg&Shj8nlAz zVAL42{vJhRl^s6q;UG2ftz8}4zz`vW8?sonwl0EIRd4+rX@yBz!A2= z$Qd}nwivkprS7H`My|jGZjDiU;0ia!$R4!+9)&&Xa@rsUx9_z(Zn#rh96R9C4XZoA zN*#|IR&;`0@acwCT;LxyJ@)wgQQ7mOu7{wiM~kW+E$VzcP~YQ@`X2YvDj!c&_;_OM zg<7AEsP$3mew2!zPN??jgrhE~`|(EIk5U7qRR8#(^2Y~9-B1J66*WLgJ&;lf>X%A1~*_dG8`EsOHT=cTAnT7p^@<;~B^d!Lt~mPL63bQ~gBfqEL{P0&iE z*ep~m%|dOc#`P~IXPi_r$4 zyia;DMjOEfcqvA|0_7dk%Q4ynl($XCVYC@2@1357(JHX{dlais`Lqf(GFx!(m8c0? z`MnxSsUh16luD?zh$Imxl~77O**2h5LaoPWJ5Va2l-jZ#K&gbZiT9_ZCz>ZNX6z?wx?jr-bj7P>C4r z2TCQ>HbjyFluD@W7^MQG5^4uVX+Wuj+KJHtpj1Nb!ssASDxr2`ln#_?s67~E0HqQt z9;1CA<9ihQPz9BQ7&39cBzQkQGjWgoa4J4Cv2H4S0H2vy>j11&S7qY*ba)>=Ggbcw Dm!%II literal 290440 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 z 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ð#h@Jd&;LcMEleP^C|T#3Fvea$@6(dfJMoq5)G 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 diff --git a/brightway-park/public/art/models/staff_entertainer.glb b/brightway-park/public/art/models/staff_entertainer.glb index f5e0997f2e104e7f158a053352a460f8f0a487a5..e16e6f354452c8a86bdc281d0dc0c5dd49f21ece 100644 GIT binary patch delta 1043 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 +Object.defineProperty(globalThis, "localStorage", { configurable: true, value: { + getItem: (key: string) => records.get(key) ?? null, + setItem: (key: string, value: string) => records.set(key, value), + removeItem: (key: string) => records.delete(key), +} }); + +const minutes = Number(process.argv[2] ?? 30); +const runner = createHeadlessRunner({ definition: game.game, content, loop: game.game.loop, maxStepSeconds: 1 }); +runner.ui.invoke("park.start"); +const w = park.of(runner.ctx); +const buildable = BUILD_IDS.filter((id) => BUILDABLES[id]!.category === "ride" || BUILDABLES[id]!.category === "stall"); +let built = 0; +let spentOnBuilds = 0; +const RESERVE = Number(process.env.RESERVE ?? 1500); +const tryResearch = () => { + if (w.orders("lab").length > 0 || w.num("park.cash") < 4000) return; + for (const id of BUILD_IDS) { + if (BUILDABLES[id]!.research === undefined) continue; + if (w.canAct(`research_${id}`) === null && runner.ctx.game.commands.run("brightway.act", { action: `research_${id}` }).status === "applied") return; + } +}; +const tryBuild = () => { + const cash = w.num("park.cash") - RESERVE; + // A steady player hires a handyman once the paths start to look dirty. + const wanted = w.num("park.litter") > 15 && w.num("n.staff_janitor") < 1 + Math.floor(session.guests.size / 80) ? ["staff_janitor"] : []; + for (const kind of wanted) for (let row = 4; row < LOT.rows - 4; row += 2) for (let col = 4; col < LOT.cols - 4; col += 2) { + if (wanted.length === 0 || w.canPlace(kind, { cell: [col, row] }) !== null) continue; + if (runner.ctx.game.commands.run("brightway.place", { kind, cell: [col, row] }).status === "applied") { built += 1; spentOnBuilds += BUILDABLES[kind]!.cost; wanted.length = 0; } + } + const order = [...buildable].sort((a, b) => (w.num(`n.${a}`) - w.num(`n.${b}`)) || BUILDABLES[a]!.cost - BUILDABLES[b]!.cost); + for (const kind of order) { + if (BUILDABLES[kind]!.cost > cash) continue; + if (w.canPlace(kind)?.reason === "locked") continue; + for (let row = 2; row < LOT.rows - 2; row += 1) for (let col = 2; col < LOT.cols - 2; col += 1) { + if (w.canPlace(kind, { cell: [col, row] }) !== null) continue; + const before = new Set(w.instances().map((i) => i.id)); + if (runner.ctx.game.commands.run("brightway.place", { kind, cell: [col, row] }).status === "applied") { + // A steady player lays the entrance, exit and paths to it straight away, or takes it back down. + const id = w.instances().find((i) => !before.has(i.id))!.id; + const cashBefore = w.num("park.cash"); + connectPark(runner.ctx, { only: id }); + if (w.fact(`${id}.closed`) === true) { runner.ctx.game.commands.run("brightway.remove", { id }); continue; } + built += 1; spentOnBuilds += BUILDABLES[kind]!.cost + (cashBefore - w.num("park.cash")); return; + } + } + } +}; +const start = w.num("park.cash"); +let lastCash = start; +let takings = 0; +let lastRevenue = w.num("park.revenue_today"); +let lastSpent = w.num("park.spent_today"); +let lastAdmits = w.num("park.guests_today"); +console.log("min cash d.cash takings/min running/min admits guests rating rides built"); +for (let m = 1; m <= minutes; m += 1) { + let takingsThisMinute = 0; + let spentThisMinute = 0; + let admitsThisMinute = 0; + for (let s = 0; s < 60; s += 1) { + if (s % 30 === 0) { tryBuild(); tryResearch(); } + runner.step(1); + const rev = w.num("park.revenue_today"); + const delta = rev >= lastRevenue ? rev - lastRevenue : rev; + takingsThisMinute += delta; lastRevenue = rev; + const sp = w.num("park.spent_today"); spentThisMinute += sp >= lastSpent ? sp - lastSpent : sp; lastSpent = sp; + const ad = w.num("park.guests_today"); admitsThisMinute += ad >= lastAdmits ? ad - lastAdmits : ad; lastAdmits = ad; + } + takings += takingsThisMinute; + const cash = w.num("park.cash"); + console.log(`${String(m).padStart(3)} ${String(Math.round(cash)).padStart(6)} ${String(Math.round(cash - lastCash)).padStart(7)} ${String(Math.round(takingsThisMinute)).padStart(11)} ${String(Math.round(spentThisMinute)).padStart(11)} ${String(admitsThisMinute).padStart(6)} ${String(session.guests.size).padStart(7)} ${String(Math.round(w.num("park.rating"))).padStart(6)} ${String(w.num("n.ride_carousel") >= 0 ? Object.values(w.instances()).filter((i) => BUILDABLES[i.kind]?.ride).length : 0).padStart(5)} ${String(built).padStart(5)}`); + lastCash = cash; +} +const end = w.num("park.cash"); +console.log(`\nstart $${Math.round(start)} end $${Math.round(end)} built ${built} ($${spentOnBuilds})`); +console.log(`till change per minute: $${Math.round((end - start) / minutes)}`); +console.log(`operating cash per minute (till change + build spend): $${Math.round((end - start + spentOnBuilds) / minutes)}`); +console.log(`takings per minute: $${Math.round(takings / minutes)}`); diff --git a/brightway-park/scripts/models/coasters.mjs b/brightway-park/scripts/models/coasters.mjs index 638e2350..8f810005 100644 --- a/brightway-park/scripts/models/coasters.mjs +++ b/brightway-park/scripts/models/coasters.mjs @@ -1,5 +1,5 @@ // Coasters and coaster-builder track pieces. -import { T, P, V, Y, box, cyl, ball, ring, beam, group, mesh, segBox, deckRect, bulbLine, pennant, bunting, railing, signBoard, stairs, tube, frames, pathLengths, onPath, buildTrack, Turtle, lampPost, shrub, tree } from './core.mjs'; +import { T, P, V, Y, loopShift, box, cyl, ball, ring, beam, group, mesh, segBox, deckRect, bulbLine, pennant, bunting, railing, signBoard, stairs, tube, frames, pathLengths, onPath, buildTrack, Turtle, lampPost, shrub, tree } from './core.mjs'; const PI = Math.PI; function steelCar(c, color, front) { @@ -139,7 +139,7 @@ export function trackLoop() { const g = new T.Group(), pts = [], ups = [], R = 3, c = 4 / (PI * 2), a = 1.6, n = 64; for (let i = 0; i <= n; i++) { const th = i / n * PI * 2; - pts.push(V(1.0 * Math.sin(th), 1.1 + R * (1 - Math.cos(th)), -2 + c * th + a * Math.sin(th))); + pts.push(V(4.4 * loopShift(th), 1.1 + R * (1 - Math.cos(th)), -2 + c * th + a * Math.sin(th))); ups.push(V(0, c + a * Math.cos(th), -R * Math.sin(th)).normalize()); } const F = piece(g, pts, ups, [1, n - 1]); diff --git a/brightway-park/scripts/models/core.mjs b/brightway-park/scripts/models/core.mjs index 38fbb6fb..81f89c39 100644 --- a/brightway-park/scripts/models/core.mjs +++ b/brightway-park/scripts/models/core.mjs @@ -15,6 +15,8 @@ export const P = { export const Y = new T.Vector3(0, 1, 0); export const V = (x = 0, y = 0, z = 0) => new T.Vector3(x, y, z); export const smooth = s => s * s * (3 - 2 * s); +// Sideways offset through a loop: zero (with zero slope) at entry and exit, opposite signs where the track crosses itself. +export const loopShift = th => -(1 - Math.cos(th)) / 2 * (th / Math.PI - 1); // ---- materials ---------------------------------------------------------- const materials = new Map(); @@ -289,7 +291,7 @@ export class Turtle { const n = Math.ceil(Math.PI * 2 * R * 1.2 / this.step); for (let i = 1; i <= n; i++) { const th = i / n * Math.PI * 2, along = c * th + a * Math.sin(th), y = R * (1 - Math.cos(th)); - this.pts.push(s0.clone().addScaledVector(d, along).addScaledVector(S, lat * Math.sin(th)).add(V(0, y, 0))); + this.pts.push(s0.clone().addScaledVector(d, along).addScaledVector(S, lat * 3.7 * loopShift(th)).add(V(0, y, 0))); this.ups.push(d.clone().multiplyScalar(-R * Math.sin(th)).add(V(0, c + a * Math.cos(th), 0)).normalize()); } this.p = this.pts.at(-1).clone(); return this; diff --git a/brightway-park/scripts/models/shops.mjs b/brightway-park/scripts/models/shops.mjs index 5b0657c0..a78b1bae 100644 --- a/brightway-park/scripts/models/shops.mjs +++ b/brightway-park/scripts/models/shops.mjs @@ -210,7 +210,7 @@ export function staffMechanic() { export function staffEntertainer() { const g = new T.Group(), fur = P.cream, patch = P.ink; for (const x of [-.15, .15]) { box(g, [.26, .7, .3], patch, [x, .4, 0]); box(g, [.3, .14, .4], P.coral, [x, .07, .05]); } - const body = ball(g, .45, P.coral, [0, 1.05, 0], 1); body.scale.set(1, 1.1, .85); ball(g, .3, fur, [0, 1.0, .2], 1).scale.set(1, 1.2, .6); + const body = ball(g, .45, P.coral, [0, 1.05, 0], 1); body.scale.set(1, 1.1, .85); ball(g, .3, fur, [0, 1.0, .3], 1).scale.set(1, 1.2, .55); for (const x of [-.46, .46]) { beam(g, [x, 1.3, 0], [x * 1.25, .85, .1], .12, patch); ball(g, .13, patch, [x * 1.27, .78, .1], 0); } ball(g, .48, fur, [0, 1.85, 0], 1); for (const x of [-.32, .32]) { ball(g, .15, patch, [x, 2.25, -.02], 1); ball(g, .12, patch, [x * .5, 1.92, .4], 0).scale.set(1, 1.3, .5); ball(g, .045, P.white, [x * .5, 1.94, .45], 0); } diff --git a/brightway-park/scripts/models/thrill.mjs b/brightway-park/scripts/models/thrill.mjs index 33c45331..a607ca26 100644 --- a/brightway-park/scripts/models/thrill.mjs +++ b/brightway-park/scripts/models/thrill.mjs @@ -66,7 +66,7 @@ export function pirate(motion) { const g = new T.Group(); deckRect(g, 8.6, 11.2, .25, 0, 0, P.cream); // boarding decks either side of the ship - for (const x of [-3.2, 3.2]) { deckRect(g, 2.0, 6.6, .9, x, 0, P.wood); railing(g, [[x + Math.sign(x) * .95, -3.2], [x + Math.sign(x) * .95, 3.2]], .9, P.cream, .9); } + for (const x of [-3.2, 3.2]) { deckRect(g, 2.0, 6.6, .9, x, 0, P.cream); railing(g, [[x + Math.sign(x) * .95, -3.2], [x + Math.sign(x) * .95, 3.2]], .9, P.cream, .9); } for (const x of [-3.2, 3.2]) stairs(g, x, 3.3, 1.4, .9, 0); // A-frames const PY = 7.4; @@ -81,27 +81,27 @@ export function pirate(motion) { const s = new T.Group(); s.name = 'PirateShip'; const hullShape = new T.Shape(); const prof = [[-4.1, 1.35], [-3.5, .5], [-2.4, -.55], [-1, -.95], [1, -.95], [2.4, -.55], [3.5, .5], [4.1, 1.35], [3.4, 1.05], [2.9, .5], [-2.9, .5], [-3.4, 1.05]]; hullShape.moveTo(...prof[0]); for (const p of prof.slice(1)) hullShape.lineTo(...p); hullShape.closePath(); - const hg = new T.ExtrudeGeometry(hullShape, { depth: 2.3, bevelEnabled: true, bevelSize: .08, bevelThickness: .08, bevelSegments: 1 }); hg.translate(0, 0, -1.15); + const hg = new T.ExtrudeGeometry(hullShape, { depth: 2.5, bevelEnabled: true, bevelSize: .08, bevelThickness: .08, bevelSegments: 1 }); hg.translate(0, 0, -1.25); const deckY = -5.0; - mesh(s, hg, P.coral, [0, deckY - .5, 0], [0, Math.PI / 2, 0]); - for (const x of [-1.24, 1.24]) { box(s, [.05, .14, 6.6], P.gold, [x, deckY - .35, 0]); box(s, [.05, .1, 5.4], P.cream, [x, deckY - .85, 0]); for (let k = -2; k <= 2; k++) ball(s, .11, P.gold, [x * 1.02, deckY - .6, k * 1.2], 0); } - box(s, [2.2, .06, 5.8], P.wood, [0, deckY + .02, 0]); - for (let k = -2; k <= 2; k++) { const z = k * 1.05; box(s, [2.1, .35, .4], P.darkwood, [0, deckY + .2, z]); box(s, [2.1, .5, .1], P.cream, [0, deckY + .45, z - .22]); box(s, [2.1, .06, .08], P.gold, [0, deckY + .7, z + .25]); } + mesh(s, hg, P.coral, [0, deckY - .5, 0], [0, Math.PI / 2, 0]).scale.x = .86; + for (const x of [-1.34, 1.34]) { box(s, [.05, .14, 5.7], P.gold, [x, deckY - .35, 0]); box(s, [.05, .1, 4.6], P.cream, [x, deckY - .85, 0]); for (let k = -2; k <= 2; k++) ball(s, .11, P.gold, [x * 1.02, deckY - .6, k * 1.0], 0); } + box(s, [2.4, .06, 5.0], P.wood, [0, deckY + .02, 0]); + for (let k = -2; k <= 2; k++) { const z = k * .92; box(s, [2.1, .35, .4], P.darkwood, [0, deckY + .2, z]); box(s, [2.1, .5, .1], P.cream, [0, deckY + .45, z - .22]); box(s, [2.1, .06, .08], P.gold, [0, deckY + .7, z + .25]); } // bow figurehead and stern lantern - ball(s, .28, P.gold, [0, deckY + .7, 4.25], 1); box(s, [.3, .3, .5], P.gold, [0, deckY + .4, 4.0]); ball(s, .2, P.glow, [0, deckY + 1.0, -4.15], 1); + ball(s, .28, P.gold, [0, deckY + .7, 3.62], 1); box(s, [.3, .3, .5], P.gold, [0, deckY + .4, 3.4]); ball(s, .2, P.glow, [0, deckY + 1.0, -3.55], 1); // mast, sail, flag beam(s, [0, deckY, 0], [0, -1.15, 0], .1, P.darkwood, 6); beam(s, [0, -2.4, -1.4], [0, -2.4, 1.4], .06, P.darkwood, 4); const sail = new T.Shape(); sail.moveTo(-1.3, 0); sail.lineTo(1.3, 0); sail.quadraticCurveTo(1.6, -1.3, 1.35, -2.2); sail.lineTo(-1.35, -2.2); sail.quadraticCurveTo(-1.6, -1.3, -1.3, 0); - mesh(s, new T.ShapeGeometry(sail), P.cream, [.15, -2.45, 0], [0, Math.PI / 2, 0], { double: true }); + mesh(s, new T.ShapeGeometry(sail), P.cream, [.15, -2.45, 0], [0, Math.PI / 2, 0], { double: true }).scale.set(1.3, 1, 1); box(s, [.04, .5, 1.6], P.coral, [.17, -3.5, 0]); cyl(s, .35, .3, P.darkwood, [0, -1.9, 0], .4, 8); const flag = new T.Shape(); flag.moveTo(0, 0); flag.lineTo(.9, -.1); flag.lineTo(.8, -.55); flag.lineTo(0, -.5); flag.closePath(); mesh(s, new T.ShapeGeometry(flag), P.ink, [0, -1.25, .1], [0, -Math.PI / 2, 0], { double: true }); // arms from axle to the hull - for (const x of [-1.32, 1.32]) for (const z of [-2.5, 2.5]) beam(s, [x * .98, 0, 0], [x, deckY + .35, z], .12, P.teal, 6); - for (const x of [-1.32, 1.32]) beam(s, [x, deckY + .35, -2.5], [x, deckY + .35, 2.5], .08, P.teal, 6); + for (const x of [-1.42, 1.42]) for (const z of [-2.2, 2.2]) beam(s, [x * .98, 0, 0], [x, deckY + .35, z], .12, P.teal, 6); + for (const x of [-1.42, 1.42]) beam(s, [x, deckY + .35, -2.2], [x, deckY + .35, 2.2], .08, P.teal, 6); cyl(s, .32, 2.8, P.gold, [0, 0, 0], .32, 10).rotation.z = Math.PI / 2; - motion('ride_pirate_motion', s, { ride: 'ride_pirate', kind: 'swing', pivot: [0, PY, 0], speed: .12, amplitude: .7 }); + motion('ride_pirate_motion', s, { ride: 'ride_pirate', kind: 'swing', pivot: [0, PY, 0], speed: .12, amplitude: .75 }); return g; } diff --git a/brightway-park/scripts/models/water.mjs b/brightway-park/scripts/models/water.mjs index b52bc2a9..eb574c3f 100644 --- a/brightway-park/scripts/models/water.mjs +++ b/brightway-park/scripts/models/water.mjs @@ -30,7 +30,7 @@ export function boats() { for (const [x, z] of [[2.8, -3.2], [3.4, -2.6], [-3.8, .4], [1.2, -4.2], [-1, 1.2]]) flat(g, ellipse(.35, .35, 8, x, z), .17, P.leaf); // jetty at +Z box(g, [1.6, .14, 4.4], P.wood, [.8, .42, 1.9]); for (let z = 0; z < 4.4; z += .3) box(g, [1.6, .03, .05], P.darkwood, [.8, .5, z]); - for (const x of [.05, 1.55]) for (let z = .2; z < 4.2; z += 1.3) cyl(g, .08, .6, P.darkwood, [x, .25, z], .08, 6); + for (const x of [.05, 1.55]) for (let z = .2; z < 4.2; z += 1.3) cyl(g, .08, .6, P.darkwood, [x, .3, z], .08, 6); railing(g, [[1.55, -.2], [1.55, 4.1]], .49, P.cream, .8); // boat hire hut const H = group(g, [-2.6, 0, 4.4]); @@ -105,13 +105,13 @@ export function rapids() { for (let i = 0; i < n; i++) { const p = pts[i], q = pts[(i + 1) % n], t = q.clone().sub(p).normalize(), s = V(t.z, 0, -t.x); if (i % 2 === 0) for (const k of [1.55, -1.55]) segBox(g, p.clone().addScaledVector(s, k).add(V(0, .12, 0)), q.clone().addScaledVector(s, k).add(V(0, .12, 0)), .25, .3, P.rock, Y, .1); - if (i % 4 === 0) { const k = (rnd() - .5) * 2.4, r = .2 + rnd() * .35; if (!(p.z > 4.5 && Math.abs(p.x) < 4)) ball(g, r, rnd() > .5 ? P.rock : P.grey, [p.x + s.x * k, r * .5, p.z + s.z * k], 0).scale.set(1, .7, 1); } - if (i % 3 === 1) { const k = (i % 2 ? 1 : -1) * (1.7 + rnd() * .4); const x = p.x + s.x * k, z = p.z + s.z * k; const rr = .3 + rnd() * .4; if (Math.abs(x) < 7.6 - rr && Math.abs(z) < 7.6 - rr) ball(g, rr, P.rock, [x, rr * .6, z], 0); } + if (i % 4 === 0) { const k = (rnd() - .5) * 2.4, r = .2 + rnd() * .35; if (!(p.z > 4.5 && Math.abs(p.x) < 4)) ball(g, r, rnd() > .5 ? P.rock : P.grey, [p.x + s.x * k, r * .7, p.z + s.z * k], 0).scale.set(1, .7, 1); } + if (i % 3 === 1) { const k = (i % 2 ? 1 : -1) * (1.7 + rnd() * .4); const x = p.x + s.x * k, z = p.z + s.z * k; const rr = .3 + rnd() * .4; if (Math.abs(x) < 7.6 - rr && Math.abs(z) < 7.6 - rr) ball(g, rr, P.rock, [x, rr * .92, z], 0); } if (i % 5 === 2) ball(g, .3, P.foam, [p.x + s.x * (rnd() - .5) * 1.6, .3, p.z + s.z * (rnd() - .5) * 1.6], 0).scale.set(1.6, .25, 1); } // waterfall mound in the middle - for (const [x, y, z, r] of [[0, .9, -.6, 1.6], [-1.2, .7, .5, 1.1], [1.2, .6, .4, 1.0], [.2, 2.0, -1.0, 1.0], [-.6, 2.6, -1.3, .7]]) ball(g, r, P.rock, [x, y, z], 1).scale.set(1, .8, 1); - segBox(g, V(.2, 2.6, -.4), V(.6, .3, 1.6), .9, .08, P.waterEdge); ball(g, .5, P.foam, [.6, .45, 1.7], 1).scale.set(1.5, .4, 1); + for (const [x, y, z, r] of [[0, 1.28, -.6, 1.6], [-1.2, .88, .5, 1.1], [1.2, .8, .4, 1.0], [.2, 2.2, -1.0, 1.0], [-.6, 2.8, -1.3, .7]]) ball(g, r, P.rock, [x, y, z], 1).scale.set(1, .8, 1); + segBox(g, V(.2, 2.9, -.4), V(.6, .3, 1.8), .9, .08, P.waterEdge); ball(g, .5, P.foam, [.6, .45, 1.7], 1).scale.set(1.5, .4, 1); tree(g, -1.2, -1.6, .8); shrub(g, 1.7, -1.4, .6); // station on +Z deckRect(g, 7.4, 1.0, .45, 0, 7.2); railing(g, [[-3.6, 7.65], [3.6, 7.65]], .45, P.cream, .9); @@ -131,27 +131,24 @@ function splashBoat(c) { } export function splash() { const g = new T.Group(); - const ctrl = [[4.0, .55, 6.0], [-2.6, .55, 6.0], [-5.4, .6, 5.0], [-6.2, .9, 2.2], [-6.2, 8.0, -4.0], [-5.0, 8.4, -6.4], [-1, 8.4, -6.6], [3.4, 8.4, -6.4], [5.6, 8.3, -4.8], [5.8, 8.0, -3.4], [5.8, .7, 2.4], [5.6, .5, 3.9], [5.4, .55, 5.6]]; + const ctrl = [[4.0, .55, 6.0], [-2.6, .55, 6.0], [-5.4, .6, 5.0], [-6.2, .9, 2.2], [-6.2, 8.0, -4.0], [-5.0, 8.4, -6.3], [-2.4, 8.4, -6.4], [-.8, 8.0, -5.2], [3.6, .7, 1.8], [5.0, .5, 3.6], [5.4, .55, 5.4]]; const pts = spline(ctrl, .35); const { F, lens } = trough(g, pts, 2.0, { bottom: P.cream, side: P.cream, trim: P.teal, post: P.teal, postR: .1, supportEvery: 4, wall: .65 }); for (let i = 0; i < pts.length; i++) { const p = pts[i]; if (p.x < -5.7 && p.y > 1.2 && p.y < 7.8 && i % 2 === 0) box(g, [.3, .05, .22], P.ink, [p.x, p.y + .08, p.z]); } // tall landing tower at the crest - for (const [x, z] of [[-6.6, -6.9], [-4.0, -6.9], [-6.6, -5.0]]) beam(g, [x, 0, z], [x, 8.3, z], .14, P.teal, 6); - box(g, [3.2, .2, 2.6], P.cream, [-5.3, 8.2, -6.0]); bulbLine(g, [-6.8, 8.9, -7.2], [-3.8, 8.9, -7.2], 10); - pennant(g, -6.6, 9.9, -6.9, P.coral, 1.6); pennant(g, -4.0, 9.9, -6.9, P.gold, 1.6); + pennant(g, -6.9, 9.8, -5.6, P.coral, 1.6); pennant(g, -3.6, 9.8, -7.3, P.gold, 1.6); bulbLine(g, [-7.1, 9.1, -4.4], [-7.1, 9.1, -1.2], 8); // big splash pool at the foot of the drop - const pl = [[3.2, 1.0], [7.6, 1.0], [7.6, 5.0], [3.2, 5.0]]; - slab(g, [[3.0, .8], [7.8, .8], [7.8, 5.2], [3.0, 5.2]], 0, .3, P.stone, [pl]); pool(g, pl, .32, 1.0); flat(g, pl, .1, P.waterEdge); - for (let i = 0; i < 18; i++) { const a = i / 18 * Math.PI; ball(g, .35 + (i % 3) * .15, P.foam, [5.8 + Math.cos(a) * 1.4, .9 + Math.sin(a) * 1.6, 3.3 + (i % 2) * .3], 0); } + const pl = [[1.6, -.4], [7.4, -.4], [7.4, 4.6], [1.6, 4.6]]; + slab(g, [[1.4, -.6], [7.6, -.6], [7.6, 4.8], [1.4, 4.8]], 0, .3, P.stone, [pl]); flat(g, pl, .1, P.waterEdge); flat(g, [[1.9, -.1], [7.1, -.1], [7.1, 4.3], [1.9, 4.3]], .32, P.water); + for (let i = 0; i < 18; i++) { const a = i / 18 * Math.PI; ball(g, .35 + (i % 3) * .15, P.foam, [3.9 + Math.cos(a) * 1.5, .9 + Math.sin(a) * 1.7, 2.4 + (i % 2) * .4], 0); } // viewing bridge over the pool - segBox(g, V(3.0, 1.6, 4.6), V(7.6, 1.6, 4.6), 1.0, .14, P.wood); railing(g, [[3.0, 4.15], [7.6, 4.15]], 1.6, P.cream, .9); - for (const x of [3.1, 7.5]) beam(g, [x, 0, 4.6], [x, 1.6, 4.6], .1, P.teal); + segBox(g, V(1.6, 1.7, 4.1), V(7.4, 1.7, 4.1), 1.0, .14, P.wood); railing(g, [[1.6, 3.65], [7.4, 3.65]], 1.7, P.cream, .9); + for (const x of [1.7, 7.3]) beam(g, [x, 0, 4.1], [x, 1.7, 4.1], .1, P.teal); // station deckRect(g, 6.6, .75, .55, .7, 7.37); railing(g, [[-2.5, 7.65], [3.9, 7.65]], .55, P.cream, .9); for (const x of [-2.4, .7, 3.8]) for (const z of [4.8, 7.6]) beam(g, [x, .55, z], [x, 3.3, z], .1, P.teal); box(g, [7.0, .2, 3.1], P.blue, [.7, 3.35, 6.2]); for (let i = 0; i < 9; i++) box(g, [.42, .08, 3.2], i % 2 ? P.cream : P.coral, [-2.66 + i * .84, 3.5, 6.2]); signBoard(g, [.7, 4.0, 6.8], 3, .65, P.teal, { stripe: P.gold }); - for (const d of [.04, .5]) splashBoat(onPath(g, F, lens, d * lens.total, 0)); - splashBoat(onPath(g, F, lens, .835 * lens.total, 0)); + for (const d of [.04, .3, .69]) splashBoat(onPath(g, F, lens, d * lens.total, 0)); return g; } diff --git a/brightway-park/src/game/agents.ts b/brightway-park/src/game/agents.ts index 267e3ab9..364b3934 100644 --- a/brightway-park/src/game/agents.ts +++ b/brightway-park/src/game/agents.ts @@ -13,7 +13,7 @@ import type { GameContext } from "@jgengine/core/runtime/gameContext"; import { guestRidePreference } from "./sim/rideExperience"; import { rideView } from "./rides"; -import { park, parkObjects, ridePrice, stockOf, type ParkObject } from "./park"; +import { park, parkObjects, ridePrice, stallPrice, stockOf, type ParkObject } from "./park"; import { session, type GuestState, type StaffState } from "./session"; /** @@ -26,6 +26,12 @@ export const GUEST_NEEDS: readonly NeedDefinition[] = [ { id: "fun", max: 100, min: 0, rate: 0.45, start: 70 }, { id: "souvenir", max: 100, min: 0, rate: 0.05, start: 90 }, { id: "energy", max: 100, min: 0, rate: 0.08, start: 88 }, + // Eating and drinking empty this one faster; toilets fill it back. + { id: "toilet", max: 100, min: 0, rate: 0.12, start: 90 }, + // Knowing the way: drains as a guest wanders a big park; a map from the information kiosk fills it. + { id: "info", max: 100, min: 0, rate: 0.04, start: 95 }, + // A settled stomach: wild rides knock it down, it settles back on its own, first aid fixes it. + { id: "nausea", max: 100, min: 0, rate: -0.15, start: 100 }, ]; /** @@ -45,6 +51,9 @@ export const GUEST_OPTIONS = [ // A ride is the park's headline: a bored guest should want it more than a stroll. { id: "ride", base: 0.55, terms: [needTerm("fun", 1)] }, { id: "energy", base: 0.05, terms: [needTerm("energy")] }, + { id: "toilet", terms: [needTerm("toilet", 1.3)] }, + { id: "info", base: 0.02, terms: [needTerm("info", 0.7)] }, + { id: "nausea", terms: [needTerm("nausea", 1.2)] }, { id: "wander", base: 0.15 }, ]; @@ -105,6 +114,9 @@ export function createGuestAgent( { need: "fun", weight: 2.5 }, { need: "souvenir", weight: 0.4 }, { need: "energy", weight: 0.6 }, + { need: "toilet", weight: 1.4 }, + { need: "info", weight: 0.6 }, + { need: "nausea", weight: 1.4 }, ], }, switchMargin: 0.08, @@ -148,13 +160,16 @@ export function guestTargets( const w = park.of(ctx); for (const obj of parkObjects(ctx)) { const def = obj.def; + // Nobody heads for a ride or shop the paths don't reach. + if (w.fact(`${obj.id}.closed`) === true) continue; const distance = Math.hypot(obj.x - at[0], obj.z - at[2]); if (def.stall !== undefined) { - if (stockOf(w, obj) <= 0 || guest.money < def.stall.price) continue; + const price = stallPrice(w, obj.kind); + if (stockOf(w, obj) <= 0 || guest.money < price) continue; targets.push({ option: def.stall.need, target: obj.id, - cost: distance * WALK_COST + (session.occupants.get(obj.id) ?? 0) * QUEUE_COST, + cost: distance * WALK_COST + (session.occupants.get(obj.id) ?? 0) * QUEUE_COST + price * PRICE_COST, fallback: MIDWAY, }); continue; @@ -175,6 +190,8 @@ export function guestTargets( fallback: MIDWAY, }); } + // The shared agent takes the first target of the option its brain picks, so the cheapest goes first. + targets.sort((a, b) => (a.cost ?? 0) - (b.cost ?? 0)); targets.push(MIDWAY); return targets; } @@ -212,18 +229,21 @@ export function gatePoint(): readonly [number, number, number] { } const STAFF_BEAT_RADIUS = 6; +/** The lot's walkable half-width: a beat point never leaves the fence. */ +const BEAT_LIMIT = 56; const STAFF_BEAT_STEPS = 8; const STAFF_POST_SECONDS = 6; /** The ring a janitor walks around its post - authored by the post, not by a route file. */ -export function staffBeat(post: ParkObject): { place: string; x: number; z: number }[] { +export function staffBeat(post: ParkObject, radius = STAFF_BEAT_RADIUS): { place: string; x: number; z: number }[] { const points: { place: string; x: number; z: number }[] = []; for (let i = 0; i < STAFF_BEAT_STEPS; i += 1) { const angle = (i / STAFF_BEAT_STEPS) * Math.PI * 2; points.push({ place: `${post.id}:${i}`, - x: post.x + Math.cos(angle) * STAFF_BEAT_RADIUS, - z: post.z + Math.sin(angle) * STAFF_BEAT_RADIUS, + // Alternate an outer and an inner ring so the whole patrol area gets walked. + x: Math.max(-BEAT_LIMIT, Math.min(BEAT_LIMIT, post.x + Math.cos(angle) * radius * (i % 2 === 0 ? 0.8 : 0.4))), + z: Math.max(-BEAT_LIMIT, Math.min(BEAT_LIMIT, post.z + Math.sin(angle) * radius * (i % 2 === 0 ? 0.8 : 0.4))), }); } return points; diff --git a/brightway-park/src/game/build/commands.ts b/brightway-park/src/game/build/commands.ts index 5eb12eff..ff2811db 100644 --- a/brightway-park/src/game/build/commands.ts +++ b/brightway-park/src/game/build/commands.ts @@ -10,8 +10,24 @@ import { tracePark } from "../evidence"; import { syncAmbience } from "../audio"; import { openParkDay } from "../daySession"; import { coasterCircuit } from "../rides"; -import { park } from "../park"; +import { park, placeFree } from "../park"; +import { refundOf } from "../parkScene"; import { beginScenario, endScenario, replayScenario } from "../parkReset"; +import { cellAt, cellCentre, canShape, isLandTool, LAND_COST, LAND_TOOLS, levelAt, lineCells, rectCells, shapeLand } from "./terrain"; +import { recordStep, undoStep } from "./undo"; +import { accessOf, connectCost, connectPark, relinkPark } from "./links"; + +/** Why a ride or shop is shut, or null when guests can reach it. */ +function accessReason(ctx: GameContext, id: string): string | null { + const access = accessOf(ctx, id); + return access === null || access.open ? null : `shut: ${access.reason}`; +} + +/** Blueprints laid as a line when the pointer is dragged: press on the first cell, let go on the last. */ +export const LINE_KINDS: ReadonlySet = new Set(["path_walk", "path_queue"]); + +/** Where the current drag started (a world point), set by the overlay on pointer-down. */ +let dragFrom: [number, number] | null = null; export type PointerInput = Pick; @@ -31,9 +47,68 @@ const ribbonUp = (ctx: GameContext): boolean => { /** A blueprint the palette offers: the world refuses a locked one; cost and room are checked at the spot. */ export function canBuild(ctx: GameContext, id: string): boolean { + if (isLandTool(id)) return true; return Object.hasOwn(BUILDABLES, id) && park.of(ctx).canPlace(id)?.reason !== "locked"; } +/** Lay a dragged line of path or queue: every cell that can take one, as one undoable build. */ +function layLine(ctx: GameContext, kind: string, from: readonly [number, number], to: readonly [number, number]): void { + const w = park.of(ctx); + const ids: string[] = []; + let cost = 0; + let refusal: string | null = null; + for (const [col, row] of lineCells(cellAt(...from), cellAt(...to))) { + const [x, z] = cellCentre(col, row); + const check = placementAt(w, kind, x, z); + if (!check.ok) { refusal ??= check.reason; continue; } + const before = new Set(w.instances().map((instance) => instance.id)); + if (ctx.game.commands.run("brightway.place", { kind, cell: check.cell }).status !== "applied") continue; + const placed = w.instances().find((instance) => !before.has(instance.id)); + if (placed !== undefined) ids.push(placed.id); + cost += BUILDABLES[kind]!.cost; + } + if (ids.length === 0) { + ctx.game.notices.push({ text: refusal ?? "Nothing could be laid there", tone: "deny" }); + return; + } + recordStep({ type: "place", ids, cost }); + ctx.game.notices.push({ text: `${ids.length} × ${BUILDABLES[kind]!.label} laid · -$${cost}`, tone: "success" }); + ctx.game.audio.play("place"); + savePark(ctx); +} + +/** Raise or lower every cell in the dragged area that can move, as one undoable change. */ +function shapeArea(ctx: GameContext, tool: keyof typeof LAND_TOOLS, from: readonly [number, number], to: readonly [number, number]): void { + const w = park.of(ctx); + const step = LAND_TOOLS[tool].step; + const cells: { col: number; row: number; level: number }[] = []; + let refusal: string | null = null; + for (const [col, row] of rectCells(cellAt(...from), cellAt(...to))) { + const level = levelAt(w, col, row); + const refused = shapeLand(w, col, row, step); + if (refused !== null) { refusal ??= refused; continue; } + cells.push({ col, row, level }); + } + if (cells.length === 0) { + ctx.game.notices.push({ text: refusal ?? "The ground can't move there", tone: "deny" }); + return; + } + const cost = cells.length * LAND_COST; + recordStep({ type: "land", cells, cost }); + relinkPark(ctx); + ctx.game.notices.push({ text: `${step > 0 ? "Raised" : "Lowered"} ${cells.length} cell${cells.length === 1 ? "" : "s"} · -$${cost}`, tone: "success" }); + ctx.game.audio.play("place"); + savePark(ctx); +} + +/** Can the land tool move this cell? The overlay tints the hovered cell from this. */ +export function landCheck(ctx: GameContext, tool: string, x: number, z: number): string | null { + if (!isLandTool(tool)) return null; + const [col, row] = cellAt(x, z); + const check = canShape(park.of(ctx), col, row, LAND_TOOLS[tool].step); + return check.ok ? null : check.reason; +} + function selectTool(ctx: GameContext, id: string): void { if (!session.started || over(ctx) || !canBuild(ctx, id)) return; clearSelection(ctx); @@ -57,6 +132,16 @@ function tryBuild(ctx: GameContext, input: PointerInput): void { if (kind === null || !canBuild(ctx, kind)) return; if (!Array.isArray(input.point) || input.point.length !== 3 || !input.point.every(Number.isFinite)) return; const [x, , z] = input.point; + const from = dragFrom; + dragFrom = null; + if (isLandTool(kind)) { + shapeArea(ctx, kind, from ?? [x, z], [x, z]); + return; + } + if (LINE_KINDS.has(kind) && from !== null && cellAt(...from).join() !== cellAt(x, z).join()) { + layLine(ctx, kind, from, [x, z]); + return; + } const w = park.of(ctx); const check = placementAt(w, kind, x, z); if (!check.ok) { @@ -67,10 +152,16 @@ function tryBuild(ctx: GameContext, input: PointerInput): void { const before = new Set(w.instances().map((instance) => instance.id)); if (ctx.game.commands.run("brightway.place", { kind, cell: check.cell }).status !== "applied") return; const placed = w.instances().find((instance) => !before.has(instance.id)); + if (placed !== undefined && session.rotation !== 0) { + w.set(`${placed.id}.rot`, session.rotation); + ctx.scene.object.rotate(placed.id, (session.rotation * Math.PI) / 2); + } const def = BUILDABLES[kind]!; // A ride, stall or hire is placed once; track, paths and scenery are laid in runs and stay picked. if (!LAID_IN_RUNS.has(def.category)) session.selectedTool = null; - ctx.game.notices.push({ text: `${def.label} built · -$${def.cost}`, tone: "success" }); + if (placed !== undefined) recordStep({ type: "place", ids: [placed.id], cost: def.cost }); + const shut = placed === undefined ? null : accessReason(ctx, placed.id); + ctx.game.notices.push({ text: `${def.label} built · -$${def.cost}${shut === null ? "" : ` · ${shut}`}`, tone: "success" }); if (kind === "track_piece" || kind === "ride_coaster") announceCircuit(ctx); const at = placed?.position; ctx.game.audio.play("place", at === null || at === undefined ? undefined : [at[0], 0, at[1]]); @@ -186,6 +277,93 @@ export function registerBuildCommands(ctx: GameContext): void { }, }); + // The overlay marks where a left-button press began; the click that ends it lays the line or area. + ctx.game.commands.define<{ point: [number, number] | null }>("build.dragFrom", { + apply(_state, input) { + dragFrom = input.point === null || !input.point.every(Number.isFinite) ? null : [input.point[0], input.point[1]]; + }, + }); + + // The same line or area a drag lays, as one command (scripts and the drive tool use it). + ctx.game.commands.define<{ kind: string; from: [number, number]; to: [number, number] }>("build.line", { + apply(state, input) { + if (!session.started || over(state) || !canBuild(state, input.kind)) return; + if (isLandTool(input.kind)) shapeArea(state, input.kind, input.from, input.to); + else if (LINE_KINDS.has(input.kind)) layLine(state, input.kind, input.from, input.to); + bump(state); + }, + }); + + ctx.game.commands.define("build.undo", { + apply(state) { + if (!session.started || over(state)) return; + const w = park.of(state); + const line = undoStep( + w, + (kind, cell, rot) => { + const id = placeFree(w, kind, cell); + if (id !== null && rot !== 0) { + w.set(`${id}.rot`, rot); + state.scene.object.rotate(id, (rot * Math.PI) / 2); + } + return id; + }, + (id) => state.game.commands.run("brightway.remove", { id }).status === "applied", + ); + relinkPark(state); + state.game.notices.push(line === null ? { text: "Nothing to undo", tone: "deny" } : { text: line, tone: "info" }); + if (line !== null) savePark(state); + bump(state); + }, + }); + + // Demolish through here so the builder's undo can put it back. + ctx.game.commands.define<{ id?: string }>("build.demolish", { + apply(state, input) { + const id = input.id ?? session.selectedObject; + if (id === null) return; + const w = park.of(state); + const instance = w.instance(id); + if (instance === null || instance.cell === null) return; + const step = { type: "remove" as const, kind: instance.kind, cell: [instance.cell[0], instance.cell[1]] as [number, number], rot: w.num(`${id}.rot`), refund: refundOf(instance.kind) }; + if (state.game.commands.run("brightway.remove", { id }).status === "applied") recordStep(step); + bump(state); + }, + }); + + // Lay the entrance, exit and paths a shut ride or shop needs, at the normal build prices. + ctx.game.commands.define<{ id?: string }>("build.connect", { + apply(state, input) { + if (!session.started || over(state)) return; + const id = input.id ?? session.selectedObject; + if (id === null) return; + const w = park.of(state); + const cost = connectCost(state, id); + if (cost > w.num("park.cash")) { + state.game.notices.push({ text: `Connecting it costs $${cost} - not enough cash`, tone: "deny" }); + return; + } + const before = w.num("park.cash"); + const ids = connectPark(state, { only: id }); + const shut = accessReason(state, id); + if (ids.length > 0) recordStep({ type: "place", ids, cost: before - w.num("park.cash") }); + state.game.notices.push(shut === null + ? { text: `Connected · ${ids.length} pieces laid · -$${Math.round(before - w.num("park.cash"))}`, tone: "success" } + : { text: `Couldn't connect it: ${shut}`, tone: "deny" }); + savePark(state); + bump(state); + }, + }); + + ctx.game.commands.define("undoBuild", { apply(state) { state.game.commands.run("build.undo", {}); } }); + + ctx.game.commands.define("rotateTool", { + apply(state) { + session.rotation = (session.rotation + 1) % 4; + bump(state); + }, + }); + ctx.game.commands.define("clearTool", { apply(state) { session.selectedTool = null; diff --git a/brightway-park/src/game/build/links.ts b/brightway-park/src/game/build/links.ts new file mode 100644 index 00000000..d5f01732 --- /dev/null +++ b/brightway-park/src/game/build/links.ts @@ -0,0 +1,75 @@ +import type { GameContext } from "@jgengine/core/runtime/gameContext"; +import type { WorldModelState } from "@jgengine/core/worldModel/worldModel"; + +import { BUILDABLES } from "../objects/catalog"; +import { park } from "../park"; +import { autoConnect, readNetwork, type Access, type Network } from "./network"; +import { LAND_FACT } from "./terrain"; + +/** + * The park's network as the live game reads it: worked out again only when something is built or + * removed or the land moves, and written back to the world as each ride and shop's `closed` fact so + * the rating, the totals and the dashboard see a shut ride the same way the guests do. + */ + +const cache = new WeakMap(); +const EMPTY: Network = { reached: new Set(), access: new Map(), servedBy: new Map() }; + +export function parkNetwork(ctx: GameContext): Network { + const state = park.store.read(ctx) as WorldModelState | undefined; + const instances = state?.instances; + if (instances === undefined) return EMPTY; + const w = park.of(ctx); + const land = w.fact(LAND_FACT); + const hit = cache.get(instances); + if (hit !== undefined && hit.land === land) return hit.net; + const net = readNetwork(w); + cache.set(instances, { land, net }); + return net; +} + +/** A ride or shop's way in; null for anything guests don't visit. */ +export function accessOf(ctx: GameContext, id: string): Access | null { + return parkNetwork(ctx).access.get(id) ?? null; +} + +/** Write each ride and shop's `closed` fact from the network. */ +export function relinkPark(ctx: GameContext): void { + const w = park.of(ctx); + const net = parkNetwork(ctx); + for (const [id, access] of net.access) { + const def = BUILDABLES[w.instance(id)?.kind ?? ""]; + if (def === undefined || (def.ride === undefined && def.stall === undefined)) continue; + const closed = !access.open; + if (w.fact(`${id}.closed`) !== closed) w.set(`${id}.closed`, closed); + } +} + +/** + * Lay what joins shut rides and shops to the paths. `free` lays it without charging (the starter + * park); otherwise each piece is a normal paid build. Returns the ids laid. + */ +export function connectPark(ctx: GameContext, options: { free?: boolean; only?: string } = {}): string[] { + const w = park.of(ctx); + const laid = autoConnect(w, (kind, cell) => { + const result = w.place(kind, { cell }, options.free === true ? { free: true } : undefined); + return result.ok ? result.id : null; + }, options.only); + relinkPark(ctx); + return laid; +} + +/** What it would cost to connect one ride or shop, read off a dry run on a copy of the world. */ +export function connectCost(ctx: GameContext, id: string): number { + const w = park.of(ctx); + let cost = 0; + const occupied = new Set(); + autoConnect(w, (kind, cell) => { + const k = `${cell[0]},${cell[1]}`; + if (occupied.has(k)) return null; + occupied.add(k); + cost += BUILDABLES[kind]?.cost ?? 0; + return `dry:${k}`; + }, id); + return cost; +} diff --git a/brightway-park/src/game/build/network.test.ts b/brightway-park/src/game/build/network.test.ts new file mode 100644 index 00000000..925fa620 --- /dev/null +++ b/brightway-park/src/game/build/network.test.ts @@ -0,0 +1,140 @@ +import { afterEach, beforeEach, describe, expect, test } from "bun:test"; +import { createHeadlessRunner } from "@jgengine/core/runtime/headlessRunner"; + +import { game } from "../../game.config"; +import { content } from "../content"; +import { DAY_LENGTH } from "../catalog"; +import { BUILDABLES } from "../objects/catalog"; +import { cellFor, park } from "../park"; +import { session } from "../session"; +import { accessOf } from "./links"; +import { cellCentre, levelAt, LAND_COST } from "./terrain"; +import { clearUndo } from "./undo"; + +const originalStorage = Object.getOwnPropertyDescriptor(globalThis, "localStorage"); +beforeEach(() => { + const records = new Map(); + Object.defineProperty(globalThis, "localStorage", { configurable: true, value: { + getItem: (key: string) => records.get(key) ?? null, + setItem: (key: string, value: string) => records.set(key, value), + removeItem: (key: string) => records.delete(key), + } }); + clearUndo(); +}); +afterEach(() => { + if (originalStorage) Object.defineProperty(globalThis, "localStorage", originalStorage); + else Reflect.deleteProperty(globalThis, "localStorage"); +}); + +function openPark() { + const runner = createHeadlessRunner({ definition: game.game, content, loop: game.game.loop, maxStepSeconds: 1 }); + runner.ui.invoke("park.start"); + runner.ctx.time.hydrate({ ...runner.ctx.time.snapshot(), now: DAY_LENGTH * 0.3, paused: false }); + return { runner, w: park.of(runner.ctx) }; +} + +const newest = (w: ReturnType["w"], kind: string) => w.instances(kind).at(-1)!.id; + +describe("paths, entrances and exits", () => { + test("the starter park opens joined up: every ride has an entrance and an exit on the paths", () => { + const { runner, w } = openPark(); + expect(w.instances("ride_entrance").length).toBe(2); + expect(w.instances("ride_exit").length).toBe(2); + for (const instance of w.instances()) { + const def = BUILDABLES[instance.kind]!; + if (def.ride === undefined && def.stall === undefined) continue; + expect(accessOf(runner.ctx, instance.id)?.open).toBe(true); + expect(w.fact(`${instance.id}.closed`)).toBe(false); + } + }); + + test("a ride off the paths stays shut, draws no one, then opens once it is connected", () => { + const { runner, w } = openPark(); + const open = w.num("park.rides_open"); + const appeal = w.num("appeal.ride_carousel"); + runner.ctx.game.commands.run("brightway.place", { kind: "ride_carousel", cell: cellFor("ride_carousel", -40, -40) }); + const ride = newest(w, "ride_carousel"); + expect(accessOf(runner.ctx, ride)?.reason).toBe("Needs an entrance"); + expect(w.fact(`${ride}.closed`)).toBe(true); + expect(w.num("park.rides_open")).toBe(open); + expect(w.num("appeal.ride_carousel")).toBe(appeal); + for (let t = 0; t < 30; t += 1) runner.step(1); + for (const guest of session.guests.values()) expect(guest.targetId).not.toBe(ride); + + const cash = w.num("park.cash"); + runner.ui.invoke("build.connect", { id: ride }); + expect(w.fact(`${ride}.closed`)).toBe(false); + expect(accessOf(runner.ctx, ride)?.door).not.toBeNull(); + expect(w.num("park.rides_open")).toBe(open + 1); + expect(w.num("park.cash")).toBeLessThan(cash - BUILDABLES.ride_entrance!.cost - BUILDABLES.ride_exit!.cost + 1); + }); + + test("an entrance has to stand against a ride", () => { + const { runner, w } = openPark(); + const before = w.instances("ride_entrance").length; + runner.ui.invoke("build.select", { id: "ride_entrance" }); + runner.ui.invoke("park.pointer", { point: [-40, 0, -40], entity: null, object: null }); + expect(w.instances("ride_entrance").length).toBe(before); + }); + + test("a dragged path lays a whole line as one build, and undo takes it all back at full price", () => { + const { runner, w } = openPark(); + const before = w.instances("path_walk").length; + const cash = w.num("park.cash"); + runner.ui.invoke("build.select", { id: "path_walk" }); + runner.ui.invoke("build.dragFrom", { point: [-48, -48] }); + runner.ui.invoke("park.pointer", { point: [-32, 0, -40], entity: null, object: null }); + // An L from (-48,-48) along x to -32, then down to -40: 5 + 2 cells. + expect(w.instances("path_walk").length).toBe(before + 7); + expect(w.num("park.cash")).toBeCloseTo(cash - 70, 0); + runner.ui.invoke("build.undo"); + expect(w.instances("path_walk").length).toBe(before); + expect(w.num("park.cash")).toBeCloseTo(cash, 0); + }); + + test("demolish refunds part; undo puts it back where it stood and takes the refund back", () => { + const { runner, w } = openPark(); + const stall = w.instances("stall_food")[0]!; + const cash = w.num("park.cash"); + runner.ui.invoke("build.demolish", { id: stall.id }); + expect(w.instances("stall_food").length).toBe(1); + expect(w.num("park.cash")).toBeGreaterThan(cash); + runner.ui.invoke("build.undo"); + expect(w.instances("stall_food").length).toBe(2); + expect(w.instances("stall_food").some((instance) => instance.cell?.join() === stall.cell?.join())).toBe(true); + expect(w.num("park.cash")).toBeCloseTo(cash, 0); + }); +}); + +describe("the land", () => { + test("raise an area, refuse a ride on uneven ground, undo puts the ground back", () => { + const { runner, w } = openPark(); + const cash = w.num("park.cash"); + const [x0, z0] = cellCentre(2, 2); + const [x1, z1] = cellCentre(3, 3); + runner.ui.invoke("build.line", { kind: "land_raise", from: [x0, z0], to: [x1, z1] }); + expect(levelAt(w, 2, 2)).toBe(1); + expect(levelAt(w, 3, 3)).toBe(1); + expect(levelAt(w, 4, 4)).toBe(0); + expect(w.num("park.cash")).toBeCloseTo(cash - 4 * LAND_COST, 0); + + // A 2x2 carousel straddling raised and flat ground is refused with the reason. + const rides = w.instances("ride_carousel").length; + runner.ui.invoke("build.select", { id: "ride_carousel" }); + runner.ui.invoke("park.pointer", { point: [x1, 0, z1], entity: null, object: null }); + expect(w.instances("ride_carousel").length).toBe(rides); + expect(runner.ctx.game.notices.list().at(-1)?.text).toContain("level"); + + runner.ui.invoke("build.undo"); + expect(levelAt(w, 2, 2)).toBe(0); + expect(w.num("park.cash")).toBeCloseTo(cash, 0); + }); + + test("ground with something built on it can't move", () => { + const { runner, w } = openPark(); + const path = w.instances("path_walk")[0]!; + const [x, z] = cellCentre(path.cell![0], path.cell![1]); + runner.ui.invoke("build.line", { kind: "land_raise", from: [x, z], to: [x, z] }); + expect(levelAt(w, path.cell![0], path.cell![1])).toBe(0); + }); +}); diff --git a/brightway-park/src/game/build/network.ts b/brightway-park/src/game/build/network.ts new file mode 100644 index 00000000..b880e218 --- /dev/null +++ b/brightway-park/src/game/build/network.ts @@ -0,0 +1,347 @@ +import type { WorldModel } from "@jgengine/core/worldModel/worldModel"; + +import { BUILDABLES } from "../objects/catalog"; +import { LOT, sizeOf } from "../lot"; +import { cellCentre, levelAt } from "./terrain"; + +/** + * The park's footpaths as a network. Guests come in at the gate and can only reach what the paths + * reach: a shop opens when a path from the gate runs past it, and a ride opens when it has an + * entrance and an exit touching it, the entrance reached by a path or a queue line from the gate and + * the exit back onto a path. Queue tiles chained from an entrance are the ride's line: guests stand + * on them, and a proper line makes a long wait easier to bear. + */ + +export const WALK = "path_walk"; +export const QUEUE = "path_queue"; +export const ENTRANCE = "ride_entrance"; +export const EXIT = "ride_exit"; +const PATHS = new Set([WALK, QUEUE]); + +type Cell = readonly [number, number]; +const key = (col: number, row: number): string => `${col},${row}`; +const NEIGHBOURS: readonly Cell[] = [[1, 0], [-1, 0], [0, 1], [0, -1]]; + +/** Path cells at the gate: the bottom rows of the lot, by the turnstiles. */ +export function isGateCell(col: number, row: number): boolean { + const [x, z] = cellCentre(col, row); + return Math.abs(x) <= 8 && z >= 44; +} + +export interface Access { + open: boolean; + /** Why it is shut, in words. */ + reason: string | null; + /** Where guests walk to: the tile in front of a ride's entrance, the shop itself otherwise. */ + door: [number, number] | null; + /** Where riders come out: the path tile in front of the exit. */ + exit: [number, number] | null; + /** The ride's queue line, front first, as world points. */ + line: [number, number][]; +} + +export interface Network { + /** Every path cell the gate reaches. */ + reached: Set; + /** Each ride and shop's way in, by instance id. */ + access: Map; + /** Which ride each entrance or exit serves. */ + servedBy: Map; +} + +/** Read the paths, entrances and exits off the world and work out what guests can reach. */ +export function readNetwork(w: WorldModel): Network { + const pathAt = new Map(); + const footprintAt = new Map(); + const instances = w.instances(); + for (const instance of instances) { + if (instance.cell === null) continue; + const def = BUILDABLES[instance.kind]; + if (def === undefined) continue; + const n = sizeOf(def); + for (let i = 0; i < n; i += 1) for (let j = 0; j < n; j += 1) { + const k = key(instance.cell[0] + i, instance.cell[1] + j); + footprintAt.set(k, instance.id); + if (PATHS.has(instance.kind)) pathAt.set(k, instance.kind); + } + } + + // Flood from the gate along paths and queues; a step may climb or drop one level. + const reached = new Set(); + const frontier: [number, number][] = []; + for (const [k] of pathAt) { + const [col, row] = k.split(",").map(Number) as [number, number]; + if (isGateCell(col, row)) { reached.add(k); frontier.push([col, row]); } + } + while (frontier.length > 0) { + const [col, row] = frontier.pop()!; + for (const [dc, dr] of NEIGHBOURS) { + const c = col + dc, r = row + dr, k = key(c, r); + if (reached.has(k) || !pathAt.has(k)) continue; + if (Math.abs(levelAt(w, c, r) - levelAt(w, col, row)) > 1) continue; + reached.add(k); + frontier.push([c, r]); + } + } + + const touches = (cell: Cell, size: number, test: (col: number, row: number) => boolean): boolean => { + for (let i = -1; i <= size; i += 1) for (let j = -1; j <= size; j += 1) { + const edge = i === -1 || j === -1 || i === size || j === size; + const corner = (i === -1 || i === size) && (j === -1 || j === size); + if (!edge || corner) continue; + if (test(cell[0] + i, cell[1] + j)) return true; + } + return false; + }; + + // Entrances and exits belong to the ride they touch (coaster track counts as the coaster). + const servedBy = new Map(); + const doors = new Map(); + const owners = rideOwners(w); + for (const instance of instances) { + if ((instance.kind !== ENTRANCE && instance.kind !== EXIT) || instance.cell === null) continue; + const cell = instance.cell; + let ride: string | null = null; + for (const [dc, dr] of NEIGHBOURS) { + const owner = owners.get(key(cell[0] + dc, cell[1] + dr)); + if (owner !== undefined) { ride = owner; break; } + } + if (ride === null) continue; + servedBy.set(instance.id, ride); + const entry = doors.get(ride) ?? { entrances: [], exits: [] }; + (instance.kind === ENTRANCE ? entry.entrances : entry.exits).push({ id: instance.id, cell }); + doors.set(ride, entry); + } + + const access = new Map(); + for (const instance of instances) { + const def = BUILDABLES[instance.kind]; + if (def === undefined || instance.cell === null) continue; + const size = sizeOf(def); + if (def.stall !== undefined) { + const open = touches(instance.cell, size, (col, row) => reached.has(key(col, row))); + const [x, z] = cellCentre(instance.cell[0] + (size - 1) / 2, instance.cell[1] + (size - 1) / 2); + access.set(instance.id, { open, reason: open ? null : "No path from the gate reaches it", door: [x, z], exit: null, line: [] }); + continue; + } + if (def.ride === undefined) continue; + const entry = doors.get(instance.id); + if (entry === undefined || entry.entrances.length === 0) { + access.set(instance.id, { open: false, reason: "Needs an entrance", door: null, exit: null, line: [] }); + continue; + } + if (entry.exits.length === 0) { + access.set(instance.id, { open: false, reason: "Needs an exit", door: null, exit: null, line: [] }); + continue; + } + const linked = entry.entrances.find((door) => NEIGHBOURS.some(([dc, dr]) => reached.has(key(door.cell[0] + dc, door.cell[1] + dr)))); + if (linked === undefined) { + access.set(instance.id, { open: false, reason: "No path or queue reaches the entrance", door: null, exit: null, line: [] }); + continue; + } + const out = entry.exits.find((door) => NEIGHBOURS.some(([dc, dr]) => { + const k = key(door.cell[0] + dc, door.cell[1] + dr); + return reached.has(k) && pathAt.get(k) === WALK; + })); + if (out === undefined) { + access.set(instance.id, { open: false, reason: "The exit doesn't lead back to a path", door: null, exit: null, line: [] }); + continue; + } + // The queue line: queue tiles chained from the entrance, nearest first. + const line: [number, number][] = []; + const seen = new Set([key(linked.cell[0], linked.cell[1])]); + let edge: Cell[] = [linked.cell]; + while (edge.length > 0 && line.length < 40) { + const next: Cell[] = []; + for (const cell of edge) for (const [dc, dr] of NEIGHBOURS) { + const c = cell[0] + dc, r = cell[1] + dr, k = key(c, r); + if (seen.has(k) || pathAt.get(k) !== QUEUE) continue; + seen.add(k); + line.push(cellCentre(c, r)); + next.push([c, r]); + } + edge = next; + } + // Guests stand on the tile in front of a door, never on the door itself (it is a solid arch). + const front = (door: Cell, wanted: (k: string) => boolean): [number, number] => { + for (const [dc, dr] of NEIGHBOURS) { + const c = door[0] + dc, r = door[1] + dr; + if (wanted(key(c, r))) return cellCentre(c, r); + } + return cellCentre(door[0], door[1]); + }; + const door = line.length > 0 ? front(linked.cell, (k) => reached.has(k) && pathAt.get(k) === QUEUE) : front(linked.cell, (k) => reached.has(k)); + const exit = front(out.cell, (k) => reached.has(k) && pathAt.get(k) === WALK); + access.set(instance.id, { open: true, reason: null, door, exit, line }); + } + return { reached, access, servedBy }; +} + +/** Which ride each covered cell belongs to: a ride's own footprint, and every track piece for the coaster. */ +export function rideOwners(w: WorldModel): Map { + const owners = new Map(); + const instances = w.instances(); + const coaster = instances.find((instance) => instance.kind === "ride_coaster")?.id; + for (const instance of instances) { + if (instance.cell === null) continue; + const def = BUILDABLES[instance.kind]; + const owner = def?.ride !== undefined ? instance.id : instance.kind === "track_piece" ? coaster : undefined; + if (owner === undefined || def === undefined) continue; + const n = sizeOf(def); + for (let i = 0; i < n; i += 1) for (let j = 0; j < n; j += 1) owners.set(key(instance.cell[0] + i, instance.cell[1] + j), owner); + } + return owners; +} + +/** True when an entrance or exit at this cell would stand against a ride (or the coaster's track). */ +export function touchesRide(w: WorldModel, cell: Cell): boolean { + const owners = rideOwners(w); + return NEIGHBOURS.some(([dc, dr]) => owners.has(key(cell[0] + dc, cell[1] + dr))); +} + +const inLot = (c: number, r: number): boolean => c >= 1 && r >= 1 && c < LOT.cols - 1 && r < LOT.rows - 1; + +/** Free cells next to any of a body's cells, for laying an entrance, an exit or a path beside it. */ +export function freeCellsBeside(body: ReadonlySet, taken: ReadonlySet): [number, number][] { + const out = new Map(); + for (const k of body) { + const [col, row] = k.split(",").map(Number) as [number, number]; + for (const [dc, dr] of NEIGHBOURS) { + const c = col + dc, r = row + dr, nk = key(c, r); + if (!inLot(c, r) || taken.has(nk) || body.has(nk)) continue; + out.set(nk, [c, r]); + } + } + return [...out.values()]; +} + +/** Every covered cell on the lot. */ +export function takenCells(w: WorldModel): Set { + const taken = new Set(); + for (const instance of w.instances()) { + if (instance.cell === null) continue; + const n = sizeOf(BUILDABLES[instance.kind]!); + for (let i = 0; i < n; i += 1) for (let j = 0; j < n; j += 1) taken.add(key(instance.cell[0] + i, instance.cell[1] + j)); + } + return taken; +} + +/** + * The shortest run of free cells from `from` to a cell beside the reached network, for laying a + * connecting path. Null when nothing reaches. + */ +export function pathTo(w: WorldModel, from: Cell, reached: ReadonlySet, taken: ReadonlySet): [number, number][] | null { + const start = key(from[0], from[1]); + const prev = new Map([[start, null]]); + const queue: Cell[] = [from]; + while (queue.length > 0) { + const cell = queue.shift()!; + const k = key(cell[0], cell[1]); + if (NEIGHBOURS.some(([dc, dr]) => reached.has(key(cell[0] + dc, cell[1] + dr)))) { + const out: [number, number][] = []; + for (let at: string | null = k; at !== null; at = prev.get(at) ?? null) out.push(at.split(",").map(Number) as [number, number]); + return out.reverse(); + } + for (const [dc, dr] of NEIGHBOURS) { + const c = cell[0] + dc, r = cell[1] + dr, nk = key(c, r); + if (!inLot(c, r) || prev.has(nk) || taken.has(nk)) continue; + if (Math.abs(levelAt(w, c, r) - levelAt(w, cell[0], cell[1])) > 1) continue; + prev.set(nk, k); + queue.push([c, r]); + } + } + return null; +} + +/** How many tiles of a laid connection next to an entrance become its queue line. */ +const QUEUE_RUN = 5; + +/** Put a piece down at a cell; the caller decides whether the till pays. Returns its id or null. */ +export type Lay = (kind: string, cell: [number, number]) => string | null; + +/** + * Join everything that is shut off to the paths from the gate, the way a player would: a shop gets a + * path to its side; a ride gets an entrance and an exit against it, each with the shortest path back + * to the network. Returns the ids laid, in order. Things that cannot be reached are left shut. + */ +export function autoConnect(w: WorldModel, lay: Lay, only?: string): string[] { + const laid: string[] = []; + const net = readNetwork(w); + const taken = takenCells(w); + const reached = new Set(net.reached); + const walks = new Set([...net.reached].filter((k) => pathKindAt(w, k) === WALK)); + const owners = rideOwners(w); + const layAll = (kind: string, cells: [number, number][]): boolean => { + for (const cell of cells) { + const id = lay(kind, cell); + if (id === null) return false; + laid.push(id); + const k = key(cell[0], cell[1]); + taken.add(k); + if (kind === WALK || kind === QUEUE) reached.add(k); + if (kind === WALK) walks.add(k); + } + return true; + }; + /** The cheapest way to stand a door at one of `candidates` and join it to `to`. */ + const bestDoor = (candidates: [number, number][], to: ReadonlySet): { door: [number, number]; path: [number, number][] } | null => { + let best: { door: [number, number]; path: [number, number][] } | null = null; + for (const door of candidates) { + const dk = key(door[0], door[1]); + if (NEIGHBOURS.some(([dc, dr]) => to.has(key(door[0] + dc, door[1] + dr)))) return { door, path: [] }; + const blocked = new Set(taken).add(dk); + for (const [dc, dr] of NEIGHBOURS) { + const start: [number, number] = [door[0] + dc, door[1] + dr]; + const sk = key(start[0], start[1]); + if (!inLot(start[0], start[1]) || blocked.has(sk) || owners.has(sk)) continue; + const path = pathTo(w, start, to, blocked); + if (path !== null && (best === null || path.length < best.path.length)) best = { door, path }; + } + } + return best; + }; + for (const instance of w.instances()) { + if (instance.cell === null || (only !== undefined && instance.id !== only)) continue; + const def = BUILDABLES[instance.kind]; + const access = net.access.get(instance.id); + if (def === undefined || access === undefined || access.open) continue; + const body = new Set(); + for (const [k, owner] of owners) if (owner === instance.id) body.add(k); + if (def.stall !== undefined) { + const n = sizeOf(def); + for (let i = 0; i < n; i += 1) for (let j = 0; j < n; j += 1) body.add(key(instance.cell[0] + i, instance.cell[1] + j)); + const candidates = freeCellsBeside(body, taken); + const start = bestDoor(candidates, reached); + if (start === null) continue; + if (!layAll(WALK, [start.door, ...start.path])) return laid; + continue; + } + if (def.ride === undefined) continue; + // Doors the player already stood against it are used where they are; only missing ones are laid. + const doorsOf = (kind: string): [number, number][] => [...net.servedBy] + .filter(([id, ride]) => ride === instance.id && w.instance(id)?.kind === kind) + .map(([id]) => w.instance(id)!.cell!) + .map((cell) => [cell[0], cell[1]]); + const entrances = doorsOf(ENTRANCE); + const entrance = bestDoor(entrances.length > 0 ? entrances : freeCellsBeside(body, taken), reached); + if (entrance === null) continue; + if (entrances.length === 0 && !layAll(ENTRANCE, [entrance.door])) return laid; + // The run up to the entrance is its queue line; anything past the line's length is plain path. + const line = entrance.path.slice(0, QUEUE_RUN); + if (!layAll(QUEUE, line) || !layAll(WALK, entrance.path.slice(QUEUE_RUN))) return laid; + const exits = doorsOf(EXIT); + const exit = bestDoor(exits.length > 0 ? exits : freeCellsBeside(body, taken), walks); + if (exit === null) continue; + if (exits.length === 0 && !layAll(EXIT, [exit.door])) return laid; + if (!layAll(WALK, exit.path)) return laid; + } + return laid; +} + +function pathKindAt(w: WorldModel, k: string): string | null { + const [col, row] = k.split(",").map(Number) as [number, number]; + for (const instance of w.instances()) { + if (instance.cell !== null && instance.cell[0] === col && instance.cell[1] === row && PATHS.has(instance.kind)) return instance.kind; + } + return null; +} diff --git a/brightway-park/src/game/build/placement.ts b/brightway-park/src/game/build/placement.ts index 4fcfb2c1..7d6a782b 100644 --- a/brightway-park/src/game/build/placement.ts +++ b/brightway-park/src/game/build/placement.ts @@ -2,11 +2,14 @@ import type { WorldModel } from "@jgengine/core/worldModel/worldModel"; import { BUILDABLES } from "../objects/catalog"; import { cellFor, sizeOf } from "../park"; +import { ENTRANCE, EXIT, touchesRide } from "./network"; +import { levelUnder } from "./terrain"; /** - * The one placement rule the world cannot declare: coaster track has to touch the station or track - * already laid. Everything else - the lot's edge, a taken cell, a locked blueprint, the cash - is the - * world's own `canPlace`. + * The placement rules the world cannot declare: coaster track has to touch the station or track + * already laid, anything but a path needs level ground, and a ride entrance or exit has to stand + * against a ride. Everything else - the lot's edge, a taken cell, a locked blueprint, the cash - is + * the world's own `canPlace`. */ const RAIL = new Set(["track_piece", "ride_coaster"]); @@ -39,5 +42,12 @@ export function placementAt(w: WorldModel, kind: string, x: number, z: number): if (BUILDABLES[kind]!.category === "track" && !touchesRail(w, cell)) { return { ok: false, reason: "Track must touch the station or existing track", code: "rail" }; } + // Paths climb from level to level; everything else needs flat ground under its whole footprint. + if (BUILDABLES[kind]!.category !== "path" && !levelUnder(w, kind, cell)) { + return { ok: false, reason: "The ground isn’t level here", code: "slope" }; + } + if ((kind === ENTRANCE || kind === EXIT) && !touchesRide(w, cell)) { + return { ok: false, reason: "Put it right against a ride", code: "door" }; + } return { ok: true, cell }; } diff --git a/brightway-park/src/game/build/terrain.ts b/brightway-park/src/game/build/terrain.ts new file mode 100644 index 00000000..df197e99 --- /dev/null +++ b/brightway-park/src/game/build/terrain.ts @@ -0,0 +1,153 @@ +import type { WorldModel } from "@jgengine/core/worldModel/worldModel"; + +import { GRID } from "../catalog"; +import { BUILDABLES } from "../objects/catalog"; +import { LOT, sizeOf } from "../lot"; + +/** + * The lot's ground: a height level per cell, kept in the world as one fact (`park.land`, a digit per + * cell, row by row) so it saves, syncs and undoes with everything else. Level 0 is the lawn; each + * level is {@link LEVEL_HEIGHT} metres up. A structure needs level ground under its whole footprint; + * paths may climb one level from cell to cell (a ramp). + */ + +export const LAND_FACT = "park.land"; +export const MAX_LEVEL = 4; +export const LEVEL_HEIGHT = 1.2; +/** What one raise or lower of one cell costs. */ +export const LAND_COST = 25; + +export const FLAT_LAND = "0".repeat(LOT.cols * LOT.rows); + +const indexOf = (col: number, row: number): number => row * LOT.cols + col; +const inside = (col: number, row: number): boolean => col >= 0 && row >= 0 && col < LOT.cols && row < LOT.rows; + +function landOf(w: WorldModel): string { + const value = w.fact(LAND_FACT); + return typeof value === "string" && value.length === FLAT_LAND.length ? value : FLAT_LAND; +} + +/** The level of one cell (0 outside the lot). */ +export function levelAt(w: WorldModel, col: number, row: number): number { + if (!inside(col, row)) return 0; + return Number(landOf(w)[indexOf(col, row)] ?? 0); +} + +/** The cell under a point on the lot. */ +export function cellAt(x: number, z: number): [number, number] { + return [Math.floor((x - LOT.origin[0]) / GRID), Math.floor((z - LOT.origin[1]) / GRID)]; +} + +/** Ground height in metres under a point: where a guest stands or a structure sits. */ +export function groundAt(w: WorldModel, x: number, z: number): number { + const [col, row] = cellAt(x, z); + return levelAt(w, col, row) * LEVEL_HEIGHT; +} + +/** Every cell a structure at `cell` would cover. */ +export function footprintCells(kind: string, cell: readonly [number, number]): [number, number][] { + const n = sizeOf(BUILDABLES[kind]!); + const out: [number, number][] = []; + for (let i = 0; i < n; i += 1) for (let j = 0; j < n; j += 1) out.push([cell[0] + i, cell[1] + j]); + return out; +} + +/** True when every cell under the footprint is at one level. */ +export function levelUnder(w: WorldModel, kind: string, cell: readonly [number, number]): boolean { + const cells = footprintCells(kind, cell); + const first = levelAt(w, cells[0]![0], cells[0]![1]); + return cells.every(([col, row]) => levelAt(w, col, row) === first); +} + +/** The structure standing on a cell, if any. */ +export function occupantOf(w: WorldModel, col: number, row: number): string | null { + for (const instance of w.instances()) { + if (instance.cell === null) continue; + const n = sizeOf(BUILDABLES[instance.kind]!); + const [c0, r0] = instance.cell; + if (col >= c0 && col < c0 + n && row >= r0 && row < r0 + n) return instance.id; + } + return null; +} + +export type LandCheck = { ok: true; level: number } | { ok: false; reason: string }; + +/** Can this cell go up (`+1`) or down (`-1`) a level? */ +export function canShape(w: WorldModel, col: number, row: number, step: 1 | -1): LandCheck { + if (!inside(col, row)) return { ok: false, reason: "Outside the fence" }; + if (occupantOf(w, col, row) !== null) return { ok: false, reason: "Something is built there" }; + const level = levelAt(w, col, row) + step; + if (level < 0) return { ok: false, reason: "Already at the lowest level" }; + if (level > MAX_LEVEL) return { ok: false, reason: "Already at the highest level" }; + if (w.num("park.cash") < LAND_COST) return { ok: false, reason: "Not enough cash" }; + return { ok: true, level }; +} + +/** Raise or lower one cell, paying for it. Returns the refusal, or null when the ground moved. */ +export function shapeLand(w: WorldModel, col: number, row: number, step: 1 | -1): string | null { + const check = canShape(w, col, row, step); + if (!check.ok) return check.reason; + const land = landOf(w); + const i = indexOf(col, row); + w.set(LAND_FACT, land.slice(0, i) + String(check.level) + land.slice(i + 1)); + w.change({ "park.cash": -LAND_COST, "park.spent_today": LAND_COST }); + return null; +} + +/** Put one cell back to a level without paying (undo). */ +export function setLevel(w: WorldModel, col: number, row: number, level: number): void { + if (!inside(col, row)) return; + const land = landOf(w); + const i = indexOf(col, row); + w.set(LAND_FACT, land.slice(0, i) + String(Math.max(0, Math.min(MAX_LEVEL, level))) + land.slice(i + 1)); +} + +/** Every raised cell, for the renderer. */ +export function raisedCells(w: WorldModel): { col: number; row: number; level: number }[] { + const land = landOf(w); + const out: { col: number; row: number; level: number }[] = []; + for (let i = 0; i < land.length; i += 1) { + const level = Number(land[i]); + if (level > 0) out.push({ col: i % LOT.cols, row: Math.floor(i / LOT.cols), level }); + } + return out; +} + +/** World centre of a cell. */ +export function cellCentre(col: number, row: number): [number, number] { + return [LOT.origin[0] + (col + 0.5) * GRID, LOT.origin[1] + (row + 0.5) * GRID]; +} + +/** The two land tools the build bar offers: they sit in the tool slot like a blueprint does. */ +export const LAND_TOOLS = { + land_raise: { label: "Raise Land", icon: "⬆️", step: 1, blurb: `Lift the ground a level. Click a cell or drag over an area · $${LAND_COST} a cell.` }, + land_lower: { label: "Lower Land", icon: "⬇️", step: -1, blurb: `Dig the ground down a level. Click a cell or drag over an area · $${LAND_COST} a cell.` }, +} as const satisfies Record; +export type LandTool = keyof typeof LAND_TOOLS; + +export function isLandTool(id: string | null): id is LandTool { + return id !== null && Object.hasOwn(LAND_TOOLS, id); +} + +/** Every cell in the rectangle between two cells, corners included. */ +export function rectCells(a: readonly [number, number], b: readonly [number, number]): [number, number][] { + const out: [number, number][] = []; + for (let c = Math.min(a[0], b[0]); c <= Math.max(a[0], b[0]); c += 1) for (let r = Math.min(a[1], b[1]); r <= Math.max(a[1], b[1]); r += 1) out.push([c, r]); + return out; +} + +/** The cells of a dragged line: along the longer side first, then round the corner (an L). */ +export function lineCells(a: readonly [number, number], b: readonly [number, number]): [number, number][] { + const out: [number, number][] = []; + const colsFirst = Math.abs(b[0] - a[0]) >= Math.abs(b[1] - a[1]); + const dc = Math.sign(b[0] - a[0]), dr = Math.sign(b[1] - a[1]); + let [c, r] = a; + out.push([c, r]); + const walk = (alongCols: boolean) => { + if (alongCols) while (c !== b[0]) { c += dc; out.push([c, r]); } + else while (r !== b[1]) { r += dr; out.push([c, r]); } + }; + walk(colsFirst); + walk(!colsFirst); + return out; +} diff --git a/brightway-park/src/game/build/undo.ts b/brightway-park/src/game/build/undo.ts new file mode 100644 index 00000000..1107b119 --- /dev/null +++ b/brightway-park/src/game/build/undo.ts @@ -0,0 +1,67 @@ +import type { WorldModel } from "@jgengine/core/worldModel/worldModel"; + +import { BUILDABLES } from "../objects/catalog"; +import { setLevel } from "./terrain"; + +/** + * The builder's undo: the last few things the player did to the lot, newest last. Undoing a build + * takes it away and pays its whole price back; undoing a demolish puts it back where it stood and + * takes back the refund; undoing a land change puts the ground back and returns what it cost. + */ +export type BuildStep = + | { type: "place"; ids: string[]; cost: number } + | { type: "remove"; kind: string; cell: [number, number]; rot: number; refund: number } + | { type: "land"; cells: { col: number; row: number; level: number }[]; cost: number }; + +const LIMIT = 30; +const steps: BuildStep[] = []; + +export function recordStep(step: BuildStep): void { + steps.push(step); + if (steps.length > LIMIT) steps.shift(); +} + +export function clearUndo(): void { + steps.length = 0; +} + +export function canUndo(): boolean { + return steps.length > 0; +} + +export function lastStep(): BuildStep | null { + return steps.at(-1) ?? null; +} + +/** + * Undo the newest step against the world. `place` puts a structure back without charging it (the + * world's `{ free: true }` placement) and returns its new id; `remove` takes one away. Returns a line + * for the notice, or null when there was nothing to undo or it could no longer be undone. + */ +export function undoStep( + w: WorldModel, + place: (kind: string, cell: [number, number], rot: number) => string | null, + remove: (id: string) => boolean, +): string | null { + const step = steps.pop(); + if (step === undefined) return null; + if (step.type === "place") { + const before = w.num("park.cash"); + const gone = step.ids.filter((id) => w.instance(id) !== null && remove(id)); + if (gone.length === 0) return null; + // The world's demolish paid part back; the undo makes it whole. + w.change({ "park.cash": step.cost - (w.num("park.cash") - before) }); + return `Undone: build · $${step.cost.toLocaleString()} back`; + } + if (step.type === "remove") { + if (w.num("park.cash") < step.refund) return null; + const id = place(step.kind, step.cell, step.rot); + if (id === null) return null; + w.change({ "park.cash": -step.refund }); + return `Undone: demolish · ${BUILDABLES[step.kind]?.label ?? step.kind} is back`; + } + for (const cell of step.cells) setLevel(w, cell.col, cell.row, cell.level); + w.change({ "park.cash": step.cost }); + return `Undone: land · $${step.cost} back`; +} + diff --git a/brightway-park/src/game/capture.ts b/brightway-park/src/game/capture.ts index 7eef4c1a..c6b3e2a9 100644 --- a/brightway-park/src/game/capture.ts +++ b/brightway-park/src/game/capture.ts @@ -12,6 +12,7 @@ import { syncAmbience } from "./audio"; import { tickRating } from "./sim/economy"; import { spawnGuests, tickGuests, tickRidePark } from "./sim/guests"; import { tickStaff } from "./staff"; +import { BLUE_RIBBON } from "./milestones"; import { park, parkMetrics } from "./park"; import { breakRide, syncRidePark } from "./rides"; @@ -47,8 +48,8 @@ export function stepPark(ctx: GameContext, dt: number): void { tickGuests(ctx, dt, metrics.tracks); tickRating(ctx, dt, metrics); // The blue ribbon is free play's own goal; a scenario is a world job with its own win and fail. - if (w.fact("scenario.id") === "" && w.fact("park.won") !== true && metrics.rides >= 3 && w.num("park.rating") >= 220 && - w.num("park.mood") >= 50 && w.num("park.litter") <= 40 && + if (w.fact("scenario.id") === "" && w.fact("park.won") !== true && metrics.rides >= BLUE_RIBBON.rides && w.num("park.rating") >= BLUE_RIBBON.rating && + w.num("park.mood") >= BLUE_RIBBON.mood && w.num("park.litter") <= BLUE_RIBBON.litter && w.num("park.day") > 1 && w.num("park.revenue_yesterday") >= w.num("park.upkeep_yesterday")) { w.set("park.won", true); ctx.time.pause(); @@ -115,6 +116,10 @@ export function parkReadout(ctx: GameContext): Record { crew: w.orders("crew").map((order) => ({ target: order.target, progress: Math.round(order.progress * 100) / 100, active: order.active })), selected: session.selectedObject, structures: w.instances().length, + // What the crowd is doing and which rides are shut: the drive reads it to check guests reach rides. + phases: [...session.guests.values()].reduce>((acc, guest) => ({ ...acc, [guest.phase]: (acc[guest.phase] ?? 0) + 1 }), {}), + heading: [...session.guests.values()].reduce>((acc, guest) => (guest.targetId === null ? acc : { ...acc, [guest.targetId]: (acc[guest.targetId] ?? 0) + 1 }), {}), + shut: rides.filter((entry) => w.fact(`${entry.id}.closed`) === true).map((entry) => entry.id), }; } @@ -130,6 +135,14 @@ export function registerCaptureCommands(ctx: GameContext): void { return state; }, }); + // The drive inspects the newest structure of a kind, the way a click on it would. + ctx.game.commands.define<{ kind: string }>("park.dev.select", { + apply(state, input) { + session.selectedTool = null; + session.selectedObject = park.of(state).instances(input.kind).at(-1)?.id ?? null; + return state; + }, + }); ctx.game.commands.define<{ mode?: StageMode }>("park.stage", { apply(state, input) { stagePark(state, input.mode ?? "full"); diff --git a/brightway-park/src/game/catalog.ts b/brightway-park/src/game/catalog.ts index e5e0b188..dbad0a94 100644 --- a/brightway-park/src/game/catalog.ts +++ b/brightway-park/src/game/catalog.ts @@ -1,4 +1,4 @@ -export const STARTING_CASH = 6000; +export const STARTING_CASH = 10000; export const GRID = 4; @@ -8,9 +8,9 @@ export const DAY_LENGTH = 150; export const ENTRANCE: readonly [number, number, number] = [0, 0, PARK_HALF - 2]; -export const GUEST_CAP_BASE = 34; +export const GUEST_CAP_BASE = 40; -export const GUEST_CAP_PER_RATING = 0.14; +export const GUEST_CAP_PER_RATING = 0.4; export const OPEN_FRACTION = 0.24; diff --git a/brightway-park/src/game/coaster/designer.test.ts b/brightway-park/src/game/coaster/designer.test.ts new file mode 100644 index 00000000..5b6db46c --- /dev/null +++ b/brightway-park/src/game/coaster/designer.test.ts @@ -0,0 +1,59 @@ +import { describe, expect, test } from "bun:test"; + +import { canAppend, isClosed, launchCell, LOOP_SPEED, platformCells, STYLES, testRun, walkLayout, type PieceType, type Station } from "./designer"; + +const station: Station = { cell: [19, 15], size: 2, heading: 0 }; +/** Two lifts up, a drop back down, round a rectangle into the station's back. */ +const ring: PieceType[] = ["lift", "lift", "straight", "right", "down", "down", "right", "straight", "straight", "straight", "straight", "straight", "right", "straight", "straight", "right"]; + +describe("coaster designer", () => { + test("track leaves the station's front and is closed when it comes back into its back at ground level", () => { + expect(platformCells(station)).toEqual([[19, 15], [20, 15]]); + expect(launchCell(station)).toEqual([21, 15]); + expect(isClosed(station, ring)).toBe(true); + expect(isClosed(station, ring.slice(0, -1))).toBe(false); + const { pieces } = walkLayout(station, ring); + expect(pieces[2]).toMatchObject({ cell: [23, 15], level: 2, heading: 0 }); + expect(pieces[4]).toMatchObject({ cell: [24, 16], level: 2, heading: 1 }); + }); + + test("a test run measures the ride: speed from the drop, ratings from what the train felt", () => { + const run = testRun(station, ring, STYLES.wooden); + expect(run.ok).toBe(true); + expect(run.maxDrop).toBe(4); + expect(run.topSpeed).toBeGreaterThan(8); + expect(run.excitement).toBeGreaterThan(3); + expect(run.intensity).toBeGreaterThan(2); + expect(run.lapSeconds).toBeGreaterThan(10); + // The same track as a junior coaster is gentler. + const junior = testRun(station, ring, STYLES.junior); + expect(junior.intensity).toBeLessThan(run.intensity); + }); + + test("an open track fails its test run and scores nothing", () => { + const run = testRun(station, ring.slice(0, 5), STYLES.wooden); + expect(run.ok).toBe(false); + expect(run.failure).toContain("doesn't come back"); + expect(run.excitement).toBe(0); + }); + + test("a climb with no speed rolls back; a loop needs speed to get over the top", () => { + const stall: PieceType[] = ["up", "up", "up", "right", "right", "down", "down", "down", "straight", "straight", "right", "right"]; + const rolled = testRun(station, stall, STYLES.steel); + expect(rolled.ok).toBe(false); + expect(rolled.failure).toContain("rolled back"); + const slowLoop: PieceType[] = ring.map((piece, i) => (i === 2 ? "loop" : piece)); + const run = testRun(station, slowLoop, STYLES.steel); + expect(run.failure).toContain(`${LOOP_SPEED} m/s`); + }); + + test("a style only takes its own pieces and heights; nothing goes through what is already built", () => { + const free = () => true; + expect(canAppend(station, [], "loop", STYLES.wooden, free)).toContain("can't have a loop"); + expect(canAppend(station, [], "loop", STYLES.steel, free)).toBeNull(); + expect(canAppend(station, ["lift", "lift", "lift"], "lift", STYLES.junior, free)).toContain("Too high"); + expect(canAppend(station, [], "down", STYLES.steel, free)).toContain("below the ground"); + expect(canAppend(station, [], "straight", STYLES.steel, () => false)).toContain("in the way"); + expect(canAppend(station, ring, "straight", STYLES.steel, free)).toContain("complete"); + }); +}); diff --git a/brightway-park/src/game/coaster/designer.ts b/brightway-park/src/game/coaster/designer.ts new file mode 100644 index 00000000..aa6e1f4a --- /dev/null +++ b/brightway-park/src/game/coaster/designer.ts @@ -0,0 +1,335 @@ +/** + * The coaster designer: a coaster is a station and the track laid piece by piece from its front, + * each piece a straight, a turn, a slope, a chain lift or a loop. The pieces are a sequence, so the + * track knows where it goes next, how high it is and which way it faces. A test run sends a train + * round it with real speed: lifts haul it up, drops buy speed, friction and corners take it back, a + * loop needs speed to get over the top. What the train felt (top speed, biggest drop, G-forces, + * airtime, loops) becomes the ride's excitement, intensity and nausea. + * + * Pure functions over plain data: the park keeps the pieces as world instances and calls these. + */ + +export type PieceType = "straight" | "left" | "right" | "up" | "down" | "lift" | "loop"; + +/** Headings round the compass, clockwise on the lot (z grows towards the gate): east, south, west, north. */ +export const HEADINGS: readonly (readonly [number, number])[] = [ + [1, 0], + [0, 1], + [-1, 0], + [0, -1], +]; + +export interface PieceSpec { + label: string; + icon: string; + /** The catalog kind the piece is built as (its model, cost and upkeep). */ + kind: string; + /** Levels the track climbs (+) or falls (-) across the piece. */ + climb: number; + /** Quarter turns clockwise across the piece. */ + turn: -1 | 0 | 1; + /** Rail metres the train runs on the piece. */ + metres: number; +} + +export const PIECES: Record = { + straight: { label: "Straight", icon: "⬆", kind: "track_straight", climb: 0, turn: 0, metres: 4 }, + left: { label: "Turn left", icon: "↰", kind: "track_turn_left", climb: 0, turn: -1, metres: 6.3 }, + right: { label: "Turn right", icon: "↱", kind: "track_turn_right", climb: 0, turn: 1, metres: 6.3 }, + up: { label: "Slope up", icon: "⤴", kind: "track_slope_up", climb: 1, turn: 0, metres: 5.2 }, + down: { label: "Slope down", icon: "⤵", kind: "track_slope_down", climb: -1, turn: 0, metres: 5.2 }, + lift: { label: "Chain lift", icon: "⛓", kind: "track_lift", climb: 1, turn: 0, metres: 5.2 }, + loop: { label: "Loop", icon: "➰", kind: "track_loop", climb: 0, turn: 0, metres: 16 }, +}; +export const PIECE_ORDER: readonly PieceType[] = ["straight", "left", "right", "up", "down", "lift", "loop"]; +export const PIECE_BY_KIND: Readonly> = Object.fromEntries( + Object.entries(PIECES).map(([type, spec]) => [spec.kind, type as PieceType]), +); + +/** Metres a track level stands above the one below. */ +export const TRACK_LEVEL = 2; +/** The highest a track may climb, in levels. */ +export const TRACK_MAX = 8; + +/** A coaster family: which pieces it may use, how tall it may go, and how it feels. */ +export interface CoasterStyle { + label: string; + blurb: string; + allowed: ReadonlySet; + maxLevel: number; + /** Multipliers on the test run's ratings. */ + excitement: number; + intensity: number; + nausea: number; + /** Rolling friction, as speed lost per metre (m/s). */ + friction: number; +} + +const ALL = new Set(PIECE_ORDER); +export const STYLES = { + wooden: { label: "Wooden", blurb: "Rattling timber: big drops and airtime, no loops.", allowed: new Set(PIECE_ORDER.filter((p) => p !== "loop")), maxLevel: 7, excitement: 1.1, intensity: 1, nausea: 0.9, friction: 0.03 }, + steel: { label: "Steel Looping", blurb: "Smooth steel that can loop. Fast and intense.", allowed: ALL, maxLevel: TRACK_MAX, excitement: 1, intensity: 1.1, nausea: 1.1, friction: 0.02 }, + junior: { label: "Junior", blurb: "A small family coaster: low and gentle, no loops.", allowed: new Set(PIECE_ORDER.filter((p) => p !== "loop")), maxLevel: 3, excitement: 0.85, intensity: 0.6, nausea: 0.6, friction: 0.025 }, +} as const satisfies Record; +export type StyleId = keyof typeof STYLES; +export const STYLE_ORDER: readonly StyleId[] = ["wooden", "steel", "junior"]; +export function styleOf(id: string): CoasterStyle { + return Object.hasOwn(STYLES, id) ? STYLES[id as StyleId] : STYLES.wooden; +} + +/** Where the station stands and which way its trains leave. */ +export interface Station { + /** Corner cell of the station's footprint. */ + cell: readonly [number, number]; + /** Cells a side. */ + size: number; + /** 0-3 into {@link HEADINGS}. */ + heading: number; +} + +/** One laid piece, as the layout walk places it. */ +export interface LaidPiece { + type: PieceType; + cell: [number, number]; + /** The level the piece starts at. */ + level: number; + /** The heading the train enters on. */ + heading: number; +} + +/** The line of cells the station's platform runs along, back to front. */ +export function platformCells(station: Station): [number, number][] { + const [dx, dz] = HEADINGS[station.heading]!; + const [c, r] = station.cell; + const n = station.size; + // The platform runs along the station's first row (or column) in the direction of travel. + const start: [number, number] = dx === 1 ? [c, r] : dx === -1 ? [c + n - 1, r] : dz === 1 ? [c, r] : [c, r + n - 1]; + return Array.from({ length: n }, (_, i) => [start[0] + dx * i, start[1] + dz * i] as [number, number]); +} + +/** The first cell past the station's front: where the first piece goes. */ +export function launchCell(station: Station): [number, number] { + const cells = platformCells(station); + const [dx, dz] = HEADINGS[station.heading]!; + const front = cells[cells.length - 1]!; + return [front[0] + dx, front[1] + dz]; +} + +/** Lay the pieces out from the station: the cell, level and heading each one lands on. */ +export function walkLayout(station: Station, types: readonly PieceType[]): { pieces: LaidPiece[]; next: { cell: [number, number]; level: number; heading: number } } { + let cell = launchCell(station); + let level = 0; + let heading = station.heading; + const pieces: LaidPiece[] = []; + for (const type of types) { + const spec = PIECES[type]; + pieces.push({ type, cell, level, heading }); + level += spec.climb; + heading = (heading + spec.turn + 4) % 4; + const [dx, dz] = HEADINGS[heading]!; + cell = [cell[0] + dx, cell[1] + dz]; + } + return { pieces, next: { cell, level, heading } }; +} + +/** True when the track comes back into the station's back at ground level, facing the way it leaves. */ +export function isClosed(station: Station, types: readonly PieceType[]): boolean { + if (types.length < 4) return false; + const { next } = walkLayout(station, types); + const back = platformCells(station)[0]!; + return next.level === 0 && next.heading === station.heading && next.cell[0] === back[0] && next.cell[1] === back[1]; +} + +/** Why the next piece can't go on the end of the track, or null when it can. */ +export function canAppend( + station: Station, + types: readonly PieceType[], + type: PieceType, + style: CoasterStyle, + free: (cell: readonly [number, number]) => boolean, +): string | null { + if (!style.allowed.has(type)) return `A ${style.label} coaster can't have a ${PIECES[type].label.toLowerCase()}`; + if (isClosed(station, types)) return "The circuit is complete"; + const { next } = walkLayout(station, types); + const spec = PIECES[type]; + const top = next.level + Math.max(0, spec.climb); + if (top > style.maxLevel) return `Too high for a ${style.label} coaster`; + if (next.level + spec.climb < 0) return "The track can't go below the ground"; + if (!free(next.cell)) return "Something is in the way"; + return null; +} + +/** What a test run measured and what it means for riders. */ +export interface TestRun { + /** False when the train couldn't finish: it rolled back or the track is open. */ + ok: boolean; + /** Why it failed, in words. */ + failure: string | null; + /** Rail metres for one lap, station included. */ + length: number; + /** Seconds for one lap. */ + lapSeconds: number; + topSpeed: number; + averageSpeed: number; + /** The biggest single fall, metres. */ + maxDrop: number; + /** Highest point, metres. */ + maxHeight: number; + loops: number; + turns: number; + /** Seconds of near-weightless crest after a climb. */ + airtime: number; + /** Peak sideways G in a turn, peak vertical G in a dip or loop. */ + lateralG: number; + verticalG: number; + excitement: number; + intensity: number; + nausea: number; + /** The train's speed at the start of each piece, for the readout. */ + speeds: number[]; +} + +const GRAVITY = 9.8; +/** The station's tyres push the train out at this speed. */ +const LAUNCH_SPEED = 3; +/** The chain hauls at least this fast. */ +const CHAIN_SPEED = 3; +/** Speed a train needs entering a loop to get over the top. */ +export const LOOP_SPEED = 11; +/** Radius of a turn and of a loop, metres. */ +const TURN_RADIUS = 8; +const LOOP_RADIUS = 5; +const STATION_METRES = 8; + +const round1 = (value: number): number => Math.round(value * 10) / 10; + +/** + * Run a train round the track. Each piece is one step of energy: falling buys speed, climbing costs + * it, friction and corners shave a little, a chain lift never lets it drop below the chain's pace. + * A climb or loop the train can't make is a failed test (it would roll back), and so is an open track. + */ +export function testRun(station: Station, types: readonly PieceType[], style: CoasterStyle): TestRun { + const closed = isClosed(station, types); + let v = LAUNCH_SPEED; + let time = STATION_METRES / 2; + let length = STATION_METRES; + let topSpeed = v; + let maxDrop = 0; + let fall = 0; + let maxHeight = 0; + let loops = 0; + let turns = 0; + let airtime = 0; + let lateralG = 0; + let verticalG = 1; + let failure: string | null = closed ? null : "The track doesn't come back to the station"; + const speeds: number[] = []; + let level = 0; + let lastClimb = 0; + types.forEach((type, index) => { + if (failure !== null && closed) return; + const spec = PIECES[type]; + speeds.push(round1(v)); + const rise = spec.climb * TRACK_LEVEL; + if (type === "lift") { + v = Math.max(v, CHAIN_SPEED); + } else { + const squared = v * v - 2 * GRAVITY * rise - 2 * style.friction * spec.metres * Math.max(1, v); + if (squared <= 0.5) { + if (failure === null) failure = `The train rolled back on piece ${index + 1} (${spec.label.toLowerCase()})`; + v = 0.7; + } else { + v = Math.sqrt(squared); + } + } + if (type === "loop") { + const entry = speeds[speeds.length - 1]!; + if (entry < LOOP_SPEED && failure === null) failure = `Too slow for the loop on piece ${index + 1} - it needs ${LOOP_SPEED} m/s`; + loops += 1; + verticalG = Math.max(verticalG, 1 + (entry * entry) / (LOOP_RADIUS * GRAVITY)); + } + if (spec.turn !== 0) { + turns += 1; + lateralG = Math.max(lateralG, (v * v) / (TURN_RADIUS * GRAVITY)); + } + // A fall: run the drop on, then feel the pull out of it. + if (rise < 0) { + fall += -rise; + maxDrop = Math.max(maxDrop, fall); + } else if (fall > 0) { + verticalG = Math.max(verticalG, 1 + (v * v) / (8 * GRAVITY)); + fall = 0; + } + // A crest straight after a climb at speed throws riders out of their seats. + if (lastClimb > 0 && rise < 0 && v > 8) airtime += 0.4 + (v - 8) * 0.05; + lastClimb = rise; + level += spec.climb; + maxHeight = Math.max(maxHeight, level * TRACK_LEVEL); + topSpeed = Math.max(topSpeed, v); + length += spec.metres; + time += spec.metres / Math.max(0.8, v); + }); + // The brakes bring it into the platform. + time += STATION_METRES / 2 / Math.max(1, Math.min(v, LAUNCH_SPEED)); + const ok = failure === null; + const averageSpeed = length / Math.max(1, time); + // The ratings, from what the train actually did. + const rawExcitement = + 0.55 * Math.sqrt(Math.max(0, length - STATION_METRES) / 4) + + 0.22 * maxDrop + + 0.12 * topSpeed + + 1.1 * loops + + 1.4 * airtime + + 0.12 * turns; + const rawIntensity = 0.16 * topSpeed + 0.9 * lateralG + 0.75 * (verticalG - 1) + 0.9 * loops + 0.12 * maxDrop; + const rawNausea = 0.55 * loops + 0.06 * turns + 0.55 * lateralG + 0.3 * (verticalG - 1); + // A ride too intense to enjoy loses its thrill (RCT's sweet spot). + const tooIntense = Math.max(0, rawIntensity * style.intensity - 8.5); + const excitement = ok ? round1(Math.min(10, Math.max(0, rawExcitement * style.excitement - tooIntense * 0.8))) : 0; + return { + ok, + failure, + length: round1(length), + lapSeconds: round1(time), + topSpeed: round1(topSpeed), + averageSpeed: round1(averageSpeed), + maxDrop: round1(maxDrop), + maxHeight: round1(maxHeight), + loops, + turns, + airtime: round1(airtime), + lateralG: round1(lateralG), + verticalG: round1(verticalG), + excitement, + intensity: ok ? round1(Math.min(10, rawIntensity * style.intensity)) : 0, + nausea: ok ? round1(Math.min(10, rawNausea * style.nausea)) : 0, + speeds, + }; +} + +/** Points along the track for the train to follow: through the station, then every piece, at height. */ +export function trainPath(station: Station, types: readonly PieceType[], cellCentre: (col: number, row: number) => [number, number]): [number, number, number][] { + const points: [number, number, number][] = []; + for (const cell of platformCells(station)) { + const [x, z] = cellCentre(cell[0], cell[1]); + points.push([x, 0, z]); + } + const { pieces } = walkLayout(station, types); + for (const piece of pieces) { + const [x, z] = cellCentre(piece.cell[0], piece.cell[1]); + const spec = PIECES[piece.type]; + const y = (piece.level + spec.climb / 2) * TRACK_LEVEL; + if (piece.type === "loop") { + // Up and over: a ring of points standing on the piece's cell. + const [dx, dz] = HEADINGS[piece.heading]!; + for (let i = 0; i <= 8; i += 1) { + const angle = (i / 8) * Math.PI * 2; + const along = Math.sin(angle) * 2; + points.push([x + dx * along, y + (1 - Math.cos(angle)) * 3, z + dz * along]); + } + continue; + } + points.push([x, y, z]); + } + return points; +} diff --git a/brightway-park/src/game/content.ts b/brightway-park/src/game/content.ts index 9b94fe53..b97ae402 100644 --- a/brightway-park/src/game/content.ts +++ b/brightway-park/src/game/content.ts @@ -8,7 +8,7 @@ import { BUILDABLES } from "./objects/catalog"; import { GUEST_KINDS, GUEST_SCALE, GUEST_WALK_SPEED } from "./entities/guests/catalog"; function entityById(catalogId: string): GameContextEntityEntry | null { - if (GUEST_KINDS.includes(catalogId)) { + if (GUEST_KINDS.includes(catalogId) || catalogId.startsWith("crew_")) { return { role: "npc", scale: GUEST_SCALE, @@ -18,8 +18,13 @@ function entityById(catalogId: string): GameContextEntityEntry | null { return null; } +/** What guests walk on and through: paths, queue lines (railed, but walked down the middle) and ride doors. */ +const WALK_THROUGH = new Set(["path_walk", "path_queue", "ride_entrance", "ride_exit"]); + function objectById(catalogId: string): GameContextObjectEntry | null { - return BUILDABLES[catalogId] !== undefined ? {} : null; + if (BUILDABLES[catalogId] === undefined) return null; + // No body: a guest walks onto a queue tile or under an entrance arch instead of stopping at it. + return WALK_THROUGH.has(catalogId) ? { colliders: {} } : {}; } export const content: GameContextContent = { entityById, objectById }; diff --git a/brightway-park/src/game/keybinds.ts b/brightway-park/src/game/keybinds.ts index 29a490b4..91933c2b 100644 --- a/brightway-park/src/game/keybinds.ts +++ b/brightway-park/src/game/keybinds.ts @@ -3,6 +3,8 @@ import type { ActionCodesMap } from "@jgengine/core/input/actionBindings"; export const keybinds: ActionCodesMap = { pauseToggle: ["KeyP"], clearTool: ["KeyX"], + rotateTool: ["KeyZ"], + undoBuild: ["KeyU"], pickCarousel: ["Digit1"], pickCoaster: ["Digit2"], pickTrack: ["Digit3"], diff --git a/brightway-park/src/game/lot.ts b/brightway-park/src/game/lot.ts new file mode 100644 index 00000000..83752b2f --- /dev/null +++ b/brightway-park/src/game/lot.ts @@ -0,0 +1,10 @@ +import { GRID, PARK_HALF } from "./catalog"; +import type { BuildableDef } from "./objects/catalog"; + +/** The lot: 29 x 29 cells of 4 m, cell [0, 0]'s corner at (-58, -58), the fence just outside. */ +export const LOT = { cols: 29, rows: 29, cell: GRID, origin: [-(PARK_HALF - 2), -(PARK_HALF - 2)] as const }; + +/** Cells a side of a structure covers on the lot. */ +export function sizeOf(def: BuildableDef): number { + return Math.max(1, Math.round(def.footprint / GRID)); +} diff --git a/brightway-park/src/game/milestones.test.ts b/brightway-park/src/game/milestones.test.ts index 7571f5e3..362b431e 100644 --- a/brightway-park/src/game/milestones.test.ts +++ b/brightway-park/src/game/milestones.test.ts @@ -1,34 +1,20 @@ import { describe, expect, test } from "bun:test"; -import { BUILDABLES } from "./objects/catalog"; -import { MILESTONES, milestoneContents, milestonesCrossed, nextMilestone } from "./milestones"; -import { park } from "./park"; +import { MILESTONES, milestonesCrossed, nextMilestone } from "./milestones"; -describe("brightway-park milestones", () => { - test("every milestone opens content the palette shows", () => { - for (const milestone of MILESTONES) { - const contents = milestoneContents(milestone.unlock); - expect(contents.length).toBeGreaterThan(0); - for (const label of contents) { - const shown = Object.values(BUILDABLES).some((def) => def.label === label && def.requires === milestone.unlock); - expect({ label, shown }).toEqual({ label, shown: true }); - } - } +describe("brightway-park awards", () => { + test("awards climb in rating and prize, each with its own id", () => { expect(new Set(MILESTONES.map((milestone) => milestone.id)).size).toBe(MILESTONES.length); - }); - - test("a locked kind's `when` reads the park's best rating at its milestone", () => { - for (const milestone of MILESTONES) { - for (const id of Object.keys(BUILDABLES).filter((kind) => BUILDABLES[kind]!.requires === milestone.unlock)) { - expect(park.def.kinds?.[id]?.when).toEqual({ "park.peak": { atLeast: milestone.rating } }); - } + for (let i = 1; i < MILESTONES.length; i += 1) { + expect(MILESTONES[i]!.rating).toBeGreaterThan(MILESTONES[i - 1]!.rating); + expect(MILESTONES[i]!.prize).toBeGreaterThan(MILESTONES[i - 1]!.prize); } }); - test("crossing names each milestone once, and the next one is the first unreached", () => { - expect(milestonesCrossed(0, 130).map((m) => m.id)).toEqual(["gardens_edge", "fountain_court"]); - expect(milestonesCrossed(130, 130)).toEqual([]); - expect(nextMilestone(130)?.id).toBe("big_wheel"); + test("crossing names each award once, and the next one is the first unreached", () => { + expect(milestonesCrossed(0, 420).map((m) => m.id)).toEqual(["tidy_start", "family_fun"]); + expect(milestonesCrossed(420, 420)).toEqual([]); + expect(nextMilestone(420)?.id).toBe("thrill_seekers"); expect(nextMilestone(10_000)).toBeNull(); }); }); diff --git a/brightway-park/src/game/milestones.ts b/brightway-park/src/game/milestones.ts index 57a1900f..b328cdad 100644 --- a/brightway-park/src/game/milestones.ts +++ b/brightway-park/src/game/milestones.ts @@ -1,46 +1,37 @@ -import { BUILDABLES, BUILD_IDS } from "./objects/catalog"; - /** - * The park's milestones: each one names the unlock it grants and the rating that opens it. In the - * world a locked structure is a kind whose `when` reads `park.peak`, the best rating the park has - * reached, so the build palette's refusal and the milestone are one number that never closes again. + * The park's rating awards: the first time the park's best rating (`park.peak`) crosses one, its + * prize lands in the till through the world's `award` ripple. New rides come from the lab, not + * from awards; an award is the reason to chase the next rating band. */ export interface MilestoneDef { id: string; - /** Park rating that opens it. */ + /** Park rating that earns it. */ rating: number; - /** Unlock id a buildable requires; a milestone that opens nothing fails at load. */ - unlock: string; label: string; + /** Cash prize paid once. */ + prize: number; blurb: string; } -/** Six milestones, each opening content that exists in the build palette. */ export const MILESTONES: readonly MilestoneDef[] = [ - { id: "gardens_edge", rating: 60, unlock: "tier_flowers", label: "Flower beds & lamps", blurb: "Petals and lamplight for the paths." }, - { id: "fountain_court", rating: 120, unlock: "tier_fountain", label: "Fountain & drinks kiosk", blurb: "A centrepiece, and somewhere to cool off." }, - { id: "big_wheel", rating: 220, unlock: "tier_ferris", label: "Ferris wheel & souvenir shop", blurb: "The skyline ride, and the shop beside it." }, - { id: "workshop", rating: 360, unlock: "tier_mechanic", label: "Mechanic bay", blurb: "Rides come back from a breakdown sooner." }, - { id: "drop_tower", rating: 540, unlock: "tier_dropzone", label: "Drop tower", blurb: "Pure thrill, steep upkeep." }, - { id: "grand_gardens", rating: 760, unlock: "tier_gardens", label: "Grand gardens", blurb: "Sculpted hedges for a headline garden." }, + { id: "tidy_start", rating: 250, label: "Promising Newcomer", prize: 500, blurb: "The local paper says nice things." }, + { id: "family_fun", rating: 400, label: "Best Family Day Out", prize: 1000, blurb: "Coach trips start coming." }, + { id: "thrill_seekers", rating: 550, label: "Thrill Seekers' Pick", prize: 1500, blurb: "The coaster crowd has noticed." }, + { id: "seaside_star", rating: 700, label: "Seaside Star", prize: 2500, blurb: "A regional tourism award." }, + { id: "blue_ribbon", rating: 850, label: "Blue Ribbon Park", prize: 4000, blurb: "The best park on the coast." }, + { id: "legend", rating: 950, label: "Park of Legend", prize: 6000, blurb: "People travel across the country for this." }, ]; -/** The buildables a milestone opens, for a HUD that names what appeared. */ -export function milestoneContents(unlockId: string): readonly string[] { - return BUILD_IDS.filter((id) => BUILDABLES[id]!.requires === unlockId).map((id) => BUILDABLES[id]!.label); -} - -for (const milestone of MILESTONES) { - if (milestoneContents(milestone.unlock).length === 0) throw new Error(`brightway-park: milestone "${milestone.id}" opens nothing`); -} +/** Free play's own goal, the blue ribbon: a big, happy, clean, paying park. */ +export const BLUE_RIBBON = { rides: 8, rating: 600, mood: 60, litter: 30 } as const; -/** The first milestone the rating has not reached, or null when all are open. */ +/** The first award the rating has not reached, or null when all are won. */ export function nextMilestone(rating: number): MilestoneDef | null { return MILESTONES.find((m) => rating < m.rating) ?? null; } -/** Milestones crossed when the park's best rating moves from `before` to `after`. */ +/** Awards crossed when the park's best rating moves from `before` to `after`. */ export function milestonesCrossed(before: number, after: number): readonly MilestoneDef[] { return MILESTONES.filter((m) => before < m.rating && after >= m.rating); } diff --git a/brightway-park/src/game/models.ts b/brightway-park/src/game/models.ts index cf169f99..8dd07943 100644 --- a/brightway-park/src/game/models.ts +++ b/brightway-park/src/game/models.ts @@ -1,5 +1,6 @@ import type { ModelConfig } from "@jgengine/core/game/playableGame"; -import { BUILD_IDS } from "./objects/catalog"; +import { assets } from "./assets"; +import { BUILDABLES, BUILD_IDS } from "./objects/catalog"; import { GUEST_KINDS } from "./entities/guests/catalog"; // Original geometry uses world units and a deliberately authored ground origin. @@ -8,7 +9,26 @@ const original = (id: string): ModelConfig => ({ scale: 1, anchor: "origin", }); -export const objectModels = Object.fromEntries(BUILD_IDS.map(id => [id, original(id)])); + +/** A model from the engine's asset library, grounded and scaled to the height the catalog asks for. */ +function library(id: string, height: number | undefined): ModelConfig { + const ref = assets.resolve(id); + if (ref === null) throw new Error(`brightway-park: the asset library has no "${id}"`); + return { url: ref.url, ...(ref.dims === undefined ? {} : { dims: ref.dims }), anchor: "center", ...(height === undefined ? {} : { targetHeight: height }) }; +} + +/** Kinds that share another kind's authored mesh. */ +const AUTHORED_AS: Record = { staff_mechanic: "staff_janitor", staff_entertainer: "staff_janitor", staff_security: "staff_janitor" }; + +function objectModel(id: string): ModelConfig { + const def = BUILDABLES[id]!; + if (def.libraryModel !== undefined) return library(def.libraryModel.id, def.libraryModel.height); + const shared = AUTHORED_AS[id]; + if (shared !== undefined) return { ...original(shared), material: { color: def.color } }; + return original(id); +} + +export const objectModels = Object.fromEntries(BUILD_IDS.map((id) => [id, objectModel(id)])); // Guests never animate, so a batch reproduces them exactly at any distance: every visitor draws from // one instance buffer per guest kind instead of one model each. The engine's default capacity (128 a // kind, against a guest cap of 34-90) keeps the rest on their own models rather than dropping them. @@ -16,4 +36,11 @@ const guest = (id: string): ModelConfig => ({ ...original(id), lod: { crowdDistance: 0 }, }); -export const entityModels = Object.fromEntries(GUEST_KINDS.map(id => [id, guest(id)])); +export const entityModels = { + ...Object.fromEntries(GUEST_KINDS.map(id => [id, guest(id)])), + // Hired staff walk in their own uniforms. + crew_handyman: original("staff_handyman"), + crew_mechanic: original("staff_mechanic"), + crew_entertainer: original("staff_entertainer"), + crew_security: original("staff_security"), +}; diff --git a/brightway-park/src/game/objects/catalog.ts b/brightway-park/src/game/objects/catalog.ts index 6d3cc09b..8e916c20 100644 --- a/brightway-park/src/game/objects/catalog.ts +++ b/brightway-park/src/game/objects/catalog.ts @@ -1,10 +1,25 @@ -export type BuildCategory = "ride" | "stall" | "track" | "path" | "scenery" | "staff"; +/** + * Everything the park can build, as data. A ride is its cycle, ratings, price and wear; a shop is + * what it sells and to which need; scenery is the charm it spreads to rides nearby. `research` + * names the lab topic that opens a kind: a kind without one is on the palette from day one. + * The world declaration (`park.ts`) turns each entry into a kind, its actions and its totals. + */ -export type StallNeed = "hunger" | "thirst" | "souvenir"; +export type BuildCategory = "ride" | "stall" | "track" | "path" | "land" | "scenery" | "staff"; -/** A ride's own cycle, price and wear curve - content the shared ride sim reads as data. */ +/** The ride families of the build palette and the research lab. */ +export type RideGroup = "gentle" | "thrill" | "water" | "transport" | "coaster"; + +/** A guest need a shop fills: every one is a fullness meter on the guest (100 is fine). */ +export type StallNeed = "hunger" | "thirst" | "souvenir" | "toilet" | "info" | "nausea"; + +/** A ride's own cycle, ratings, price and wear curve - content the shared ride sim reads as data. */ export interface RideData { - thrill: number; + group: RideGroup; + /** Ratings on the 0-10 scale guests judge by: how much fun, how wild, how queasy. */ + excitement: number; + intensity: number; + nausea: number; rideSeconds: number; capacity: number; loadSeconds: number; @@ -15,6 +30,26 @@ export interface RideData { breakdown: { baseChance: number; wearChance: number; repairSeconds: number; repairCost: number; serviceCost: number }; } +export interface StallData { + need: StallNeed; + /** Default price; the park sets the live one. */ + price: number; + /** What a guest thinks the item is worth: above this they say it is too expensive. */ + value: number; + /** What one item costs to restock at midnight. */ + restock: number; + stock: number; + /** How much of the need one purchase fills. */ + fill: number; +} + +/** A lab topic: what it costs to run and how long it takes, after the topic before it. */ +export interface ResearchData { + cost: number; + seconds: number; + after?: string; +} + export interface BuildableDef { id: string; label: string; @@ -22,295 +57,237 @@ export interface BuildableDef { category: BuildCategory; icon: string; cost: number; + /** Running cost per park day (wages for staff posts). */ upkeep: number; color: string; trim: string; - requires?: string; + /** Base appeal to the park; scenery nearby adds to a ride's. */ appeal: number; + /** Side of the square it covers, in metres. */ footprint: number; + research?: ResearchData; ride?: RideData; - stall?: { need: StallNeed; price: number; restock: number; stock: number }; - staff?: { cleaning: number; repair?: number }; - isEntrance?: boolean; + stall?: StallData; + /** A hire: the post is the middle of this person's patrol area. */ + staff?: { role: StaffRole; cleaning: number; repair?: number; patrol: number }; + /** Scenery: how far its charm reaches, in metres, and how much it adds to each ride in reach. */ + theme?: { radius: number; bonus: number }; + /** A model from the engine's asset library instead of the park's own authored GLB. */ + libraryModel?: { id: string; height?: number }; } -export const BUILDABLES: Record = { - ride_carousel: { - id: "ride_carousel", - label: "Carousel", - blurb: "Gentle spinner. Reliable crowd-pleaser for a young park.", - category: "ride", - icon: "🎠", - cost: 850, - upkeep: 22, - color: "#f06d9a", - trim: "#ffd24a", - appeal: 4, - footprint: 8, - ride: { - thrill: 4, - rideSeconds: 6, - capacity: 6, - loadSeconds: 4, - unloadSeconds: 3, - price: 3, - breakdown: { baseChance: 0.06, wearChance: 0.02, repairSeconds: 22, repairCost: 90, serviceCost: 30 }, - }, - }, - ride_coaster: { - id: "ride_coaster", - label: "Coaster Station", - blurb: "Anchor a coaster, then lay track pieces beside it. Longer track, bigger thrill.", - category: "ride", - icon: "🎢", - cost: 1400, - upkeep: 45, - color: "#3f7be0", - trim: "#ff5a3c", - appeal: 6, - footprint: 8, - ride: { - thrill: 8, - rideSeconds: 9, - capacity: 8, - loadSeconds: 5, - unloadSeconds: 4, - price: 5, - breakdown: { baseChance: 0.05, wearChance: 0.015, repairSeconds: 30, repairCost: 140, serviceCost: 45 }, - }, - }, - ride_ferris: { - id: "ride_ferris", - label: "Ferris Wheel", - blurb: "Slow, scenic, and visible from every corner of the park.", - category: "ride", - icon: "🎡", - cost: 2200, - upkeep: 60, - color: "#33b1c9", - trim: "#ffe066", - requires: "tier_ferris", - appeal: 9, - footprint: 10, - ride: { - thrill: 6, - rideSeconds: 12, - capacity: 12, - loadSeconds: 6, - unloadSeconds: 5, - price: 4, - breakdown: { baseChance: 0.04, wearChance: 0.012, repairSeconds: 28, repairCost: 120, serviceCost: 40 }, - }, - }, - ride_dropzone: { - id: "ride_dropzone", - label: "Drop Tower", - blurb: "Screaming free-fall. Pure thrill, steep upkeep.", +/** What a hired person does on patrol. */ +export type StaffRole = "handyman" | "mechanic" | "entertainer" | "security"; + +type RideRow = [id: string, label: string, icon: string, group: RideGroup, cost: number, upkeep: number, footprint: number, + excitement: number, intensity: number, nausea: number, capacity: number, rideSeconds: number, price: number, + research: ResearchData | null, blurb: string]; + +const COLORS: Record = { + gentle: ["#f06d9a", "#ffd24a"], + thrill: ["#e2483d", "#2a2f3a"], + water: ["#2f8fd0", "#eafff4"], + transport: ["#2fb37a", "#fff2cc"], + coaster: ["#3f7be0", "#ff5a3c"], +}; + +/** Gentle 8, thrill 8, water 4, transport 3, coasters 5: twenty-eight rides. */ +const RIDES: readonly RideRow[] = [ + ["ride_carousel", "Carousel", "🎠", "gentle", 1200, 40, 8, 3.2, 1.0, 0.6, 12, 14, 2, null, "Painted horses on a turning deck. Families love it."], + ["ride_helter", "Helter Skelter", "🌀", "gentle", 900, 30, 8, 3.0, 2.0, 0.8, 6, 10, 1, null, "Climb the tower, slide round and round to the bottom."], + ["ride_teacups", "Spinning Teacups", "☕", "gentle", 1400, 45, 8, 3.6, 2.6, 2.6, 12, 14, 2, { cost: 500, seconds: 50 }, "Giant cups on a spinning floor - more spin than it looks."], + ["ride_maze", "Hedge Maze", "🌿", "gentle", 1600, 25, 12, 3.4, 0.5, 0.2, 16, 30, 1, { cost: 450, seconds: 50, after: "ride_teacups" }, "Green walls, a gazebo in the middle, and plenty of wrong turns."], + ["ride_vintage", "Vintage Cars", "🚗", "gentle", 2400, 60, 12, 4.0, 1.2, 0.6, 8, 22, 2, { cost: 800, seconds: 70, after: "ride_maze" }, "Old motor cars around a little figure-eight road."], + ["ride_ferris", "Ferris Wheel", "🎡", "gentle", 2600, 70, 12, 4.2, 0.9, 0.5, 16, 24, 2, { cost: 900, seconds: 80, after: "ride_vintage" }, "Slow, scenic and seen from every corner of the park."], + ["ride_haunted", "Haunted House", "👻", "gentle", 3200, 80, 12, 4.8, 2.5, 1.0, 8, 20, 3, { cost: 1100, seconds: 90, after: "ride_ferris" }, "Crooked gables and creaking doors. Screams guaranteed."], + ["ride_obs", "Observation Tower", "🗼", "gentle", 3800, 90, 8, 4.5, 0.8, 0.4, 20, 30, 3, { cost: 1300, seconds: 100, after: "ride_haunted" }, "A ring cabin rises up the mast for a view of the whole coast."], + ["ride_bumper", "Dodgems", "🚙", "thrill", 2200, 60, 12, 4.4, 3.0, 1.5, 12, 16, 2, null, "Bumper cars under a striped roof. Pure chaos."], + ["ride_swings", "Wave Swinger", "🎐", "thrill", 2800, 70, 12, 5.0, 4.2, 2.8, 16, 18, 3, { cost: 900, seconds: 70 }, "Chairs fly out on chains as the canopy spins and tilts."], + ["ride_pirate", "Pirate Ship", "🏴‍☠️", "thrill", 3000, 75, 12, 5.4, 4.8, 3.6, 16, 20, 3, { cost: 1000, seconds: 80, after: "ride_swings" }, "A galleon swinging higher and higher on its frame."], + ["ride_gokarts", "Go-Karts", "🏎️", "thrill", 3600, 90, 16, 5.6, 3.6, 1.2, 8, 30, 4, { cost: 1200, seconds: 90, after: "ride_pirate" }, "Race round a tyre-walled track. Everyone wants another go."], + ["ride_simulator", "Motion Simulator", "🛸", "thrill", 3400, 100, 8, 4.8, 5.4, 6.2, 8, 18, 4, { cost: 1200, seconds: 90, after: "ride_gokarts" }, "A capsule that throws its riders through space."], + ["ride_topspin", "Top Spin", "🔄", "thrill", 4200, 110, 8, 6.2, 7.2, 6.0, 12, 18, 4, { cost: 1500, seconds: 110, after: "ride_simulator" }, "A gondola flipped end over end on two arms."], + ["ride_enterprise", "Enterprise", "🎆", "thrill", 4600, 120, 12, 6.4, 7.6, 6.8, 16, 20, 4, { cost: 1700, seconds: 120, after: "ride_topspin" }, "A wheel of pods spun until it stands upright."], + ["ride_dropzone", "Drop Tower", "⬇️", "thrill", 5200, 130, 8, 6.8, 8.4, 4.0, 12, 14, 5, { cost: 2000, seconds: 140, after: "ride_enterprise" }, "Up the tower, a pause, then free-fall."], + ["ride_boats", "Boat Hire", "🦢", "water", 1800, 40, 12, 3.8, 1.0, 0.8, 8, 30, 2, null, "Swan boats paddling round a little pond."], + ["ride_logflume", "Log Flume", "🪵", "water", 5200, 120, 16, 5.8, 4.2, 2.0, 8, 30, 4, { cost: 1600, seconds: 120 }, "Logs along a raised trough, then the big splash."], + ["ride_rapids", "River Rapids", "🌊", "water", 6000, 140, 16, 6.0, 4.6, 3.0, 12, 32, 4, { cost: 1900, seconds: 140, after: "ride_logflume" }, "Round boats bounced down a rocky channel."], + ["ride_splash", "Splash Boats", "💦", "water", 6800, 150, 16, 6.6, 5.2, 2.4, 10, 28, 5, { cost: 2200, seconds: 160, after: "ride_rapids" }, "A tall lift hill and a drop that soaks the crowd."], + ["ride_train", "Miniature Railway", "🚂", "transport", 3000, 60, 16, 3.6, 0.6, 0.4, 24, 40, 2, { cost: 800, seconds: 70 }, "A steam engine pulling carriages round the park's edge."], + ["ride_chairlift", "Chairlift", "🚡", "transport", 3600, 70, 12, 4.0, 1.4, 0.6, 12, 34, 2, { cost: 1100, seconds: 90, after: "ride_train" }, "Chairs on a cable between two towers."], + ["ride_monorail", "Monorail", "🚝", "transport", 5400, 110, 16, 4.2, 0.8, 0.4, 24, 40, 3, { cost: 1800, seconds: 130, after: "ride_chairlift" }, "A sleek train on a beam high above the paths."], + ["ride_coaster", "Wooden Coaster", "🎢", "coaster", 2000, 50, 8, 0, 0, 0, 12, 20, 4, null, "Build it yourself: a station, then track piece by piece. Longer, steeper, faster - more thrill."], + ["ride_junior", "Junior Coaster", "🐛", "coaster", 4500, 110, 16, 5.0, 4.0, 2.2, 12, 30, 4, { cost: 1500, seconds: 110 }, "A family coaster: low hills, gentle turns."], + ["ride_mouse", "Wild Mouse", "🐭", "coaster", 6200, 140, 16, 6.4, 6.4, 4.4, 8, 32, 5, { cost: 2100, seconds: 150, after: "ride_junior" }, "Single cars whipped through tight switchbacks."], + ["ride_looping", "Looping Coaster", "➰", "coaster", 9800, 220, 16, 7.6, 8.2, 6.0, 20, 36, 6, { cost: 3200, seconds: 200, after: "ride_mouse" }, "Steel track, a lift hill and a vertical loop."], + ["ride_inverted", "Inverted Coaster", "🦇", "coaster", 12000, 260, 20, 8.0, 8.6, 6.4, 24, 40, 7, { cost: 4000, seconds: 240, after: "ride_looping" }, "Feet dangling under the track through a loop and a corkscrew."], +]; + +/** Repairs, servicing and the odds of a breakdown grow with the ride's size and wildness. */ +function rideEntry(row: RideRow): BuildableDef { + const [id, label, icon, group, cost, upkeep, footprint, excitement, intensity, nausea, capacity, rideSeconds, price, research, blurb] = row; + const [color, trim] = COLORS[group]; + const wild = intensity / 10; + return { + id, label, blurb, icon, cost, upkeep, footprint, color, trim, category: "ride", - icon: "🗼", - cost: 3400, - upkeep: 95, - color: "#e2483d", - trim: "#2a2f3a", - requires: "tier_dropzone", - appeal: 13, - footprint: 8, + appeal: Math.round((2 + excitement * 1.1) * 10) / 10, + ...(research === null ? {} : { research }), ride: { - thrill: 14, - rideSeconds: 8, - capacity: 8, - loadSeconds: 5, - unloadSeconds: 4, - price: 6, - breakdown: { baseChance: 0.07, wearChance: 0.02, repairSeconds: 34, repairCost: 180, serviceCost: 55 }, + group, excitement, intensity, nausea, capacity, rideSeconds, price, + loadSeconds: Math.max(3, Math.round(capacity / 3)), + unloadSeconds: Math.max(3, Math.round(capacity / 4)), + breakdown: { + baseChance: 0.01 + wild * 0.02, + wearChance: 0.004 + wild * 0.008, + repairSeconds: Math.round(16 + cost / 300), + repairCost: Math.round(40 + cost * 0.04), + serviceCost: Math.round(15 + cost * 0.012), + }, }, - }, - stall_food: { - id: "stall_food", - label: "Burger Stall", - blurb: "Feeds hungry guests. Restocked daily from park funds.", - category: "stall", - icon: "🍔", - cost: 420, - upkeep: 14, - color: "#e8622a", + }; +} + +type StallRow = [id: string, label: string, icon: string, need: StallNeed, cost: number, upkeep: number, + price: number, value: number, restock: number, stock: number, fill: number, research: ResearchData | null, blurb: string, color: string]; + +const STALLS: readonly StallRow[] = [ + ["stall_food", "Burger Stall", "🍔", "hunger", 600, 20, 4, 5, 2, 40, 70, null, "Hot burgers for hungry guests. Restocked at midnight.", "#e8622a"], + ["stall_drink", "Drinks Kiosk", "🥤", "thirst", 450, 15, 2, 3, 1, 50, 75, null, "Cold drinks for thirsty crowds.", "#2fb37a"], + ["fac_toilet", "Toilets", "🚻", "toilet", 500, 20, 0, 1, 0, 200, 100, null, "Free, and badly missed when there aren't any.", "#4a8fc0"], + ["fac_info", "Information Kiosk", "ℹ️", "info", 650, 25, 2, 3, 1, 60, 100, null, "Park maps for lost guests.", "#3a6fb0"], + ["stall_icecream", "Ice Cream Cart", "🍦", "hunger", 500, 18, 3, 4, 1, 40, 35, { cost: 300, seconds: 40 }, "A sweet treat on a hot day.", "#f5a3c7"], + ["stall_souvenir", "Souvenir Shop", "🎁", "souvenir", 800, 25, 6, 8, 3, 30, 100, { cost: 400, seconds: 50, after: "stall_icecream" }, "Trinkets guests grab on the way out.", "#8a5cd0"], + ["fac_firstaid", "First Aid", "⛑️", "nausea", 900, 40, 0, 1, 0, 200, 80, { cost: 500, seconds: 60, after: "stall_souvenir" }, "Somewhere to sit down after one coaster too many.", "#e04848"], + ["stall_coffee", "Coffee Kiosk", "☕", "thirst", 550, 18, 3, 4, 1, 50, 60, { cost: 350, seconds: 50, after: "fac_firstaid" }, "Hot coffee: keeps the grown-ups going.", "#8a5a3c"], + ["stall_pizza", "Pizza Stall", "🍕", "hunger", 700, 22, 5, 6, 2, 40, 85, { cost: 450, seconds: 60, after: "stall_coffee" }, "Slices that fill a guest up.", "#e8a02a"], + ["stall_balloon", "Balloon Cart", "🎈", "souvenir", 400, 12, 3, 4, 1, 40, 60, { cost: 300, seconds: 40, after: "stall_pizza" }, "Balloons bobbing over the crowd.", "#e85fa0"], +]; + +function stallEntry(row: StallRow): BuildableDef { + const [id, label, icon, need, cost, upkeep, price, value, restock, stock, fill, research, blurb, color] = row; + return { + id, label, icon, cost, upkeep, blurb, color, trim: "#fff2cc", - appeal: 2, - footprint: 4, - stall: { need: "hunger", price: 14, restock: 5, stock: 40 }, - }, - stall_drink: { - id: "stall_drink", - label: "Drinks Kiosk", - blurb: "Cold drinks for thirsty crowds on a hot day.", category: "stall", - icon: "🥤", - cost: 360, - upkeep: 11, - color: "#2fb37a", - trim: "#eafff4", - requires: "tier_fountain", - appeal: 2, + appeal: 1.5, footprint: 4, - stall: { need: "thirst", price: 9, restock: 3, stock: 50 }, - }, - stall_souvenir: { - id: "stall_souvenir", - label: "Souvenir Shop", - blurb: "High-margin trinkets guests grab on the way out.", - category: "stall", - icon: "🎁", - cost: 560, - upkeep: 16, - color: "#8a5cd0", - trim: "#ffe9a8", - requires: "tier_ferris", - appeal: 3, - footprint: 4, - stall: { need: "souvenir", price: 24, restock: 8, stock: 30 }, - }, - track_piece: { - id: "track_piece", - label: "Track Piece", - blurb: "Snaps next to the coaster station or existing track. Every piece adds thrill.", - category: "track", - icon: "〰️", - cost: 130, - upkeep: 4, - color: "#ff5a3c", - trim: "#c9ccd6", - appeal: 1, - footprint: 4, - }, - path_walk: { - id: "path_walk", - label: "Path", - blurb: "Paved walkway. Cheap, tidy, and nudges guest satisfaction.", - category: "path", - icon: "▫️", - cost: 8, - upkeep: 0, - color: "#c8bfa6", - trim: "#a89e82", - appeal: 0.4, - footprint: 4, - }, - deco_tree: { - id: "deco_tree", - label: "Tree", - blurb: "Shade and greenery. Small beauty boost.", + ...(research === null ? {} : { research }), + stall: { need, price, value, restock, stock, fill }, + }; +} + +type SceneryRow = [id: string, label: string, icon: string, cost: number, footprint: number, radius: number, bonus: number, + library: BuildableDef["libraryModel"] | null, research: ResearchData | null, blurb: string]; + +const NATURE = "quaternius-stylized-nature"; +const CITY = "kaykit-city-builder"; + +/** A ride's charm from scenery in reach caps at this many points of appeal. */ +export const THEME_CAP = 6; + +const SCENERY: readonly SceneryRow[] = [ + ["deco_tree", "Oak Tree", "🌳", 40, 4, 10, 0.5, { id: `${NATURE}/CommonTree_1`, height: 6 }, null, "Shade and greenery for the rides around it."], + ["deco_pine", "Pine Tree", "🌲", 40, 4, 10, 0.5, { id: `${NATURE}/Pine_2`, height: 7 }, null, "A tall pine to frame a ride."], + ["deco_bush", "Flowering Bush", "🌺", 25, 4, 8, 0.35, { id: `${NATURE}/Bush_Common_Flowers`, height: 1.4 }, null, "Low colour along the queue lines."], + ["deco_flowerbed", "Flower Bed", "🌷", 30, 4, 8, 0.45, null, null, "A splash of colour that lifts nearby rides."], + ["deco_rock", "Boulder", "🪨", 20, 4, 8, 0.25, { id: `${NATURE}/Rock_Medium_1`, height: 1.6 }, null, "Natural rock for a rugged corner."], + ["deco_bench", "Bench", "🪑", 60, 4, 8, 0.3, { id: `${CITY}/bench`, height: 1 }, null, "Somewhere for tired guests to sit."], + ["deco_lamp", "Lamp Post", "💡", 50, 4, 8, 0.3, { id: `${CITY}/streetlight`, height: 4.2 }, null, "Keeps paths cheerful after dusk."], + ["deco_bin", "Litter Bin", "🗑️", 45, 4, 8, 0.1, { id: `${CITY}/trash_A`, height: 1.1 }, null, "Guests drop less litter when there's a bin nearby."], + ["deco_hedge", "Hedge", "🟩", 35, 4, 8, 0.3, null, null, "A clipped hedge segment; tiles end to end."], + ["deco_fountain", "Fountain", "⛲", 600, 8, 16, 1.6, null, null, "A grand centrepiece that charms every ride around it."], + ["deco_topiary", "Topiary", "🌿", 300, 4, 12, 1.0, null, { cost: 300, seconds: 40 }, "Sculpted hedges for a headline garden."], + ["deco_statue", "Statue", "🗿", 900, 4, 16, 2.0, null, { cost: 600, seconds: 70, after: "deco_topiary" }, "A stone hero on a plinth."], + ["deco_arch", "Themed Arch", "🎪", 700, 4, 14, 1.4, null, { cost: 500, seconds: 60, after: "deco_statue" }, "A bulb-lit arch over a ride's queue."], + ["deco_flagpole", "Flagpole", "🚩", 120, 4, 10, 0.6, null, { cost: 200, seconds: 30, after: "deco_arch" }, "Pennants high over the park."], +]; + +function sceneryEntry(row: SceneryRow): BuildableDef { + const [id, label, icon, cost, footprint, radius, bonus, library, research, blurb] = row; + return { + id, label, icon, cost, footprint, blurb, category: "scenery", - icon: "🌳", - cost: 45, - upkeep: 0, + upkeep: cost >= 300 ? Math.round(cost / 60) : 0, color: "#3f8f3a", trim: "#6b4a2a", - appeal: 1.2, - footprint: 4, + appeal: Math.round(bonus * 10) / 10, + theme: { radius, bonus }, + ...(library === null ? {} : { libraryModel: library }), + ...(research === null ? {} : { research }), + }; +} + +const OTHER: readonly BuildableDef[] = [ + { + id: "track_piece", label: "Track Piece", category: "track", icon: "〰️", cost: 120, upkeep: 3, color: "#ff5a3c", trim: "#c9ccd6", appeal: 0.2, footprint: 4, + blurb: "Snaps next to the coaster station or existing track. Every piece adds to the ride.", }, - deco_flowerbed: { - id: "deco_flowerbed", - label: "Flower Bed", - blurb: "A splash of color that lifts nearby guests.", - category: "scenery", - icon: "🌷", - cost: 30, - upkeep: 0, - color: "#e85fa0", - trim: "#3f8f3a", - requires: "tier_flowers", - appeal: 1.4, - footprint: 4, + { + id: "path_walk", label: "Path", category: "path", icon: "▫️", cost: 10, upkeep: 0, color: "#c8bfa6", trim: "#a89e82", appeal: 0, footprint: 4, + blurb: "Paved walkway from the gate. Shops open when a path runs past them. Click and drag to lay a line.", }, - deco_lamp: { - id: "deco_lamp", - label: "Lamp Post", - blurb: "Keeps paths cheerful after dusk.", - category: "scenery", - icon: "🏮", - cost: 35, - upkeep: 0, - color: "#3a3f4c", - trim: "#ffd24a", - requires: "tier_flowers", - appeal: 0.8, - footprint: 4, + { + id: "path_queue", label: "Queue Line", category: "path", icon: "🚧", cost: 12, upkeep: 0, color: "#5b7fa6", trim: "#d8e2ee", appeal: 0, footprint: 4, + blurb: "A railed queue from the path to a ride's entrance. Guests wait on it and put up with longer lines. Drag to lay.", }, - deco_fountain: { - id: "deco_fountain", - label: "Fountain", - blurb: "A grand centerpiece that raises the whole park's charm.", - category: "scenery", - icon: "⛲", - cost: 340, - upkeep: 6, - color: "#7fbfe0", - trim: "#c9ccd6", - requires: "tier_fountain", - appeal: 4, - footprint: 8, + { + id: "ride_entrance", label: "Ride Entrance", category: "path", icon: "🚪", cost: 100, upkeep: 0, color: "#2fb37a", trim: "#fff2cc", appeal: 0, footprint: 4, + blurb: "Put it against a ride, with a path or queue line leading to it. A ride without one stays shut.", }, - deco_topiary: { - id: "deco_topiary", - label: "Grand Topiary", - blurb: "Sculpted hedges for a headline garden.", - category: "scenery", - icon: "🌿", - cost: 260, - upkeep: 3, - color: "#2f7a34", - trim: "#8fd06a", - requires: "tier_gardens", - appeal: 3.4, - footprint: 4, + { + id: "ride_exit", label: "Ride Exit", category: "path", icon: "↗️", cost: 60, upkeep: 0, color: "#e2483d", trim: "#fff2cc", appeal: 0, footprint: 4, + blurb: "Put it against a ride, opening onto a path. A ride without one stays shut.", }, - staff_janitor: { - id: "staff_janitor", - label: "Janitor Post", - blurb: "A cleaning crew that keeps litter down and guests happy.", - category: "staff", - icon: "🧹", - cost: 300, - upkeep: 28, - color: "#2b6db0", - trim: "#ffd24a", - appeal: 0, - footprint: 4, - staff: { cleaning: 26 }, + { + id: "staff_janitor", label: "Handyman", category: "staff", icon: "🧹", cost: 300, upkeep: 60, color: "#2b6db0", trim: "#ffd24a", appeal: 0, footprint: 4, + blurb: "Hire a handyman: sweeps litter and empties bins inside the patrol area around the post.", staff: { role: "handyman", cleaning: 26, patrol: 18 }, }, - staff_mechanic: { - id: "staff_mechanic", - label: "Mechanic Bay", - blurb: "A workshop of its own: every ride comes back from a breakdown sooner.", - category: "staff", - icon: "🔧", - cost: 700, - upkeep: 42, - color: "#4a5568", - trim: "#ffb03a", - requires: "tier_mechanic", - appeal: 0, - footprint: 4, - staff: { cleaning: 0, repair: 0.35 }, + { + id: "staff_mechanic", label: "Mechanic", category: "staff", icon: "🔧", cost: 500, upkeep: 90, color: "#4a5568", trim: "#ffb03a", appeal: 0, footprint: 4, + blurb: "Hire a mechanic: inspects and services worn rides in the patrol area, and every repair goes quicker.", staff: { role: "mechanic", cleaning: 0, repair: 0.35, patrol: 22 }, + research: { cost: 600, seconds: 60 }, }, -}; + { + id: "staff_entertainer", label: "Entertainer", category: "staff", icon: "🤡", cost: 400, upkeep: 70, color: "#d0508a", trim: "#ffd24a", appeal: 0, footprint: 4, + blurb: "Hire an entertainer: guests in the patrol area cheer up and their wait in line feels shorter.", staff: { role: "entertainer", cleaning: 0, patrol: 16 }, + }, + { + id: "staff_security", label: "Security Guard", category: "staff", icon: "👮", cost: 350, upkeep: 65, color: "#2c3e66", trim: "#c9ccd6", appeal: 0, footprint: 4, + blurb: "Hire a guard: unhappy guests in the patrol area stop kicking over bins and trashing the paths.", staff: { role: "security", cleaning: 0, patrol: 20 }, + }, +]; + +export const BUILDABLES: Record = Object.fromEntries( + [...RIDES.map(rideEntry), ...STALLS.map(stallEntry), ...SCENERY.map(sceneryEntry), ...OTHER].map((def) => [def.id, def]), +); export const BUILD_IDS: readonly string[] = Object.keys(BUILDABLES); +for (const def of Object.values(BUILDABLES)) { + const after = def.research?.after; + if (after !== undefined && BUILDABLES[after] === undefined) { + throw new Error(`brightway-park: "${def.id}" researches after unknown "${after}"`); + } +} + export function buildableDef(id: string): BuildableDef { const def = BUILDABLES[id]; if (def === undefined) throw new Error(`brightway-park: unknown buildable "${id}"`); return def; } -export const CATEGORY_ORDER: readonly BuildCategory[] = [ - "ride", - "track", - "stall", - "scenery", - "path", - "staff", -]; +export const RIDE_GROUPS: readonly RideGroup[] = ["gentle", "thrill", "water", "transport", "coaster"]; + +export const RIDE_GROUP_LABEL: Record = { + gentle: "Gentle", + thrill: "Thrill", + water: "Water", + transport: "Transport", + coaster: "Coasters", +}; + +export const CATEGORY_ORDER: readonly BuildCategory[] = ["ride", "track", "stall", "scenery", "path", "land", "staff"]; export const CATEGORY_LABEL: Record = { ride: "Rides", @@ -318,6 +295,7 @@ export const CATEGORY_LABEL: Record = { stall: "Shops", scenery: "Scenery", path: "Paths", + land: "Land", staff: "Staff", }; @@ -327,5 +305,6 @@ export const CATEGORY_ICON: Record = { stall: "🍔", scenery: "🌳", path: "▫️", + land: "⛰️", staff: "🧹", }; diff --git a/brightway-park/src/game/park.test.ts b/brightway-park/src/game/park.test.ts index 7a8ebf65..772de06e 100644 --- a/brightway-park/src/game/park.test.ts +++ b/brightway-park/src/game/park.test.ts @@ -7,6 +7,7 @@ import { DAY_LENGTH } from "./catalog"; import { BUILDABLES } from "./objects/catalog"; import { cellFor, LOAN, park, parkMetrics, QUICK_REPAIR } from "./park"; import { forceBreakdown } from "./capture"; +import { connectPark } from "./build/links"; import { rideView } from "./rides"; import { closeDay } from "./sim/economy"; import { ratingTarget } from "./sim/rating"; @@ -48,6 +49,9 @@ describe("Brightway Park as one declaration", () => { expect(w.num("park.cash")).toBe(before - carousel.cost); expect(w.num("n.ride_carousel")).toBe(2); const ride = w.instances("ride_carousel").at(-1)!.id; + // A ride opens once an entrance and an exit join it to the paths (laid free here). + connectPark(runner.ctx, { only: ride, free: true }); + expect(w.fact(`${ride}.closed`)).toBe(false); // Income: guests come through the gate and pay; the day's takings are a world fact. step(runner, 40); @@ -97,7 +101,9 @@ describe("Brightway Park as one declaration", () => { test("a mechanic bay sends the quicker crew order", () => { const { runner, w } = openPark(); - w.set("park.peak", 400); + // The bay is a lab topic: locked until its research lands. + expect(runner.ctx.game.commands.run("brightway.place", { kind: "staff_mechanic", cell: cellFor("staff_mechanic", 40, 40) }).status).toBe("rejected"); + w.set("research.staff_mechanic", true); expect(runner.ctx.game.commands.run("brightway.place", { kind: "staff_mechanic", cell: cellFor("staff_mechanic", 40, 40) }).status).toBe("applied"); const ride = w.instances("ride_carousel")[0]!.id; forceBreakdown(runner.ctx, ride); @@ -106,14 +112,18 @@ describe("Brightway Park as one declaration", () => { expect(order.remaining).toBeCloseTo(Math.round(BUILDABLES.ride_carousel!.ride!.breakdown.repairSeconds * QUICK_REPAIR), 0); }); - test("the loan is an action with its instalment as a nightly ripple; midnight restocks the stalls", () => { + test("the park opens in debt; borrowing is an action, interest is a nightly ripple; midnight restocks the stalls", () => { const { runner, w } = openPark(); + expect(w.num("park.loan_owed")).toBe(LOAN.start); const cash = w.num("park.cash"); expect(runner.ctx.game.commands.run("brightway.act", { action: "take_loan" }).status).toBe("applied"); - expect(w.num("park.cash")).toBe(cash + LOAN.principal); - expect(w.num("park.loan_owed")).toBe(LOAN.payment * LOAN.nights); - // One loan at a time. + expect(w.num("park.cash")).toBe(cash + LOAN.step); + expect(w.num("park.loan_owed")).toBe(LOAN.start + LOAN.step); + // The bank stops at its ceiling. + while (w.num("park.loan_owed") < LOAN.max) runner.ctx.game.commands.run("brightway.act", { action: "take_loan" }); expect(runner.ctx.game.commands.run("brightway.act", { action: "take_loan" }).status).toBe("rejected"); + const owed = w.num("park.loan_owed"); + const interest = Math.round(owed * LOAN.dailyRate); const stall = w.instances("stall_food")[0]!.id; w.change({ [`${stall}.sold`]: 10 }); @@ -121,14 +131,14 @@ describe("Brightway Park as one declaration", () => { const tillBefore = w.num("park.cash"); closeDay(runner.ctx); expect(w.num(`${stall}.sold`)).toBe(0); - expect(w.num("park.loan_owed")).toBe(LOAN.payment * (LOAN.nights - 1)); - expect(w.num("park.cash")).toBe(tillBefore - restock - LOAN.payment); - expect(w.num("park.upkeep_yesterday")).toBeGreaterThanOrEqual(restock + LOAN.payment); + expect(w.num("park.loan_owed")).toBe(owed); + expect(w.num("park.cash")).toBe(tillBefore - restock - interest); + expect(w.num("park.upkeep_yesterday")).toBeGreaterThanOrEqual(restock + interest); expect(w.num("park.day")).toBe(2); // Paying early is the same instalment, from the till, on demand. expect(runner.ctx.game.commands.run("brightway.act", { action: "repay_loan" }).status).toBe("applied"); - expect(w.num("park.loan_owed")).toBe(LOAN.payment * (LOAN.nights - 2)); + expect(w.num("park.loan_owed")).toBe(owed - LOAN.step); }); test("ride and entry prices are world facts the actions move inside their bounds", () => { @@ -137,6 +147,6 @@ describe("Brightway Park as one declaration", () => { runner.ui.invoke("brightway.act", { action: "price_up_ride_carousel" }); expect(w.num("price.ride_carousel")).toBe(price + 1); for (let i = 0; i < 80; i += 1) runner.ui.invoke("brightway.act", { action: "ticket_down" }); - expect(w.num("park.ticket")).toBe(4); + expect(w.num("park.ticket")).toBe(0); }); }); diff --git a/brightway-park/src/game/park.ts b/brightway-park/src/game/park.ts index 3448e753..f7031880 100644 --- a/brightway-park/src/game/park.ts +++ b/brightway-park/src/game/park.ts @@ -11,9 +11,10 @@ import { } from "@jgengine/core/worldModel/worldModel"; import type { GameContext } from "@jgengine/core/runtime/gameContext"; -import { DAY_LENGTH, GRID, PARK_HALF, STARTING_CASH, snapToGrid } from "./catalog"; -import { BUILDABLES, BUILD_IDS, type BuildableDef } from "./objects/catalog"; -import { MILESTONES } from "./milestones"; +import { DAY_LENGTH, GRID, STARTING_CASH, snapToGrid } from "./catalog"; +import { LOT, sizeOf } from "./lot"; +import { FLAT_LAND, LAND_FACT } from "./build/terrain"; +import { BUILDABLES, BUILD_IDS, THEME_CAP, type BuildableDef } from "./objects/catalog"; import { SCENARIOS } from "./scenarios"; import { despawnObject, dispatchCrew, landed, scenarioEnded, spawnObject } from "./parkScene"; @@ -28,19 +29,16 @@ import { despawnObject, dispatchCrew, landed, scenarioEnded, spawnObject } from * ride sim), the coaster circuit, and the rating's blend of mood, crowd and litter. */ -/** The lot: 29 x 29 cells of 4 m, cell [0, 0]'s corner at (-58, -58), the fence just outside. */ -export const LOT = { cols: 29, rows: 29, cell: GRID, origin: [-(PARK_HALF - 2), -(PARK_HALF - 2)] as const }; +export { LOT, sizeOf }; -/** A nightly loan instalment, and the loan the park can take: $6,000 now, ten of these back. */ -export const LOAN = { principal: 6000, nights: 10, payment: 703 } as const; +/** + * The bank: the park opens owing `start`, may borrow up to `max` in steps of `step`, and pays + * `dailyRate` interest on what it owes every midnight. + */ +export const LOAN = { start: 10_000, max: 25_000, step: 1_000, dailyRate: 0.008 } as const; const ride = (def: BuildableDef) => def.ride !== undefined; -/** Cells a side of a structure covers on the lot. */ -export function sizeOf(def: BuildableDef): number { - return Math.max(1, Math.round(def.footprint / GRID)); -} - /** The lot cell a structure's corner sits on when the pointer lands at (x, z): the footprint centres on it. */ export function cellFor(kind: string, x: number, z: number): [number, number] { const n = sizeOf(BUILDABLES[kind]!); @@ -60,17 +58,24 @@ export function cellCentres(kind: string, cell: readonly [number, number]): [num return out; } -function unlockRating(requires: string | undefined): number | null { - if (requires === undefined) return null; - const milestone = MILESTONES.find((entry) => entry.unlock === requires); - if (milestone === undefined) throw new Error(`brightway-park: "${requires}" is no milestone's unlock`); - return milestone.rating; -} +/** The fact a lab topic sets when it is done; a kind with research is locked until then. */ +export const researched = (kind: string): string => `research.${kind}`; function kindOf(def: BuildableDef): WorldKindDecl { - const rating = unlockRating(def.requires); - const facts: Record = { appeal: def.appeal }; - if (def.ride !== undefined) facts.broken = false; + // `rot`: the quarter turns it was built facing. + const facts: Record = { appeal: def.appeal, rot: 0 }; + // A ride or shop no path reaches (or a ride with no entrance or exit) is shut: `closed`, until the + // network says otherwise when it opens. + if (def.ride !== undefined || def.stall !== undefined) facts.closed = true; + if (def.ride !== undefined) { + facts.broken = false; + // Charm from scenery in reach, which the park adds to the ride's appeal and excitement. + facts.theme = 0; + } + if (def.staff !== undefined) { + // The patrol area's radius in metres, around the post. + facts.patrol = { value: def.staff.patrol, min: PATROL.min, max: PATROL.max }; + } if (def.stall !== undefined) { facts.sold = { value: 0, min: 0, max: def.stall.stock }; facts.sold_total = 0; @@ -83,11 +88,21 @@ function kindOf(def: BuildableDef): WorldKindDecl { cost: { "park.cash": -def.cost }, refund: 0.5, facts, - ...(rating === null ? {} : { when: { "park.peak": { atLeast: rating } } }), + ...(def.research === undefined ? {} : { when: { [researched(def.id)]: true }, refuse: `Research the ${def.label} in the lab first` }), ...(def.id === "ride_coaster" ? { limit: 1 } : {}), }; } +/** How far a patrol area reaches, and the step the inspector widens or narrows it by. */ +export const PATROL = { min: 8, max: 40, step: 4 } as const; + +function staffActions(def: BuildableDef): Record { + return { + [`patrol_wider_${def.id}`]: { label: `Widen the ${def.label}'s patrol`, on: def.id, effect: { patrol: PATROL.step } }, + [`patrol_narrower_${def.id}`]: { label: `Narrow the ${def.label}'s patrol`, on: def.id, effect: { patrol: -PATROL.step } }, + }; +} + /** A mechanic bay cuts a repair by a third. */ export const QUICK_REPAIR = 0.65; @@ -99,6 +114,7 @@ function rideActions(def: BuildableDef): Record { when, whenTarget: { broken: true }, cost: { "park.cash": -ride.breakdown.repairCost }, + world: { "park.spent_today": ride.breakdown.repairCost }, takes, queue: "crew", effect: { broken: false }, @@ -113,6 +129,7 @@ function rideActions(def: BuildableDef): Record { on: def.id, whenTarget: { broken: false }, cost: { "park.cash": -ride.breakdown.serviceCost }, + world: { "park.spent_today": ride.breakdown.serviceCost }, note: "Serviced the {target}: its wear is cleared.", }, [`price_up_${def.id}`]: { label: `Raise the ${def.label} ticket`, world: { [`price.${def.id}`]: 1 } }, @@ -123,6 +140,8 @@ function rideActions(def: BuildableDef): Record { function stallActions(def: BuildableDef): Record { const stall = def.stall!; return { + [`price_up_${def.id}`]: { label: `Raise the ${def.label} price`, world: { [`price.${def.id}`]: 1 } }, + [`price_down_${def.id}`]: { label: `Lower the ${def.label} price`, world: { [`price.${def.id}`]: -1 } }, // Scaled by what sold since the last restock: an untouched stall restocks for nothing. [`restock_${def.id}`]: { label: `Restock ${def.label}`, @@ -140,43 +159,73 @@ const actions: Record = { ticket_up: { label: "Raise the entry ticket", world: { "park.ticket": 1 } }, ticket_down: { label: "Lower the entry ticket", world: { "park.ticket": -1 } }, take_loan: { - label: `Take a $${LOAN.principal.toLocaleString()} loan`, - when: { "park.loan_owed": { atMost: 0 } }, - world: { "park.cash": LOAN.principal, "park.loan_owed": LOAN.payment * LOAN.nights }, - note: `Loan taken: +$${LOAN.principal.toLocaleString()}, repaid $${LOAN.payment} a night for ${LOAN.nights} nights`, + label: `Borrow $${LOAN.step.toLocaleString()}`, + when: { "park.loan_owed": { atMost: LOAN.max - LOAN.step } }, + refuse: `The bank won't lend more than $${LOAN.max.toLocaleString()}`, + world: { "park.cash": LOAN.step, "park.loan_owed": LOAN.step }, + note: `Borrowed $${LOAN.step.toLocaleString()} from the bank`, }, repay_loan: { - label: "Pay a loan instalment early", - when: { "park.loan_owed": { atLeast: 1 } }, - cost: { "park.cash": -LOAN.payment }, - world: { "park.loan_owed": -LOAN.payment }, - note: `Paid $${LOAN.payment} off the loan`, + label: `Repay $${LOAN.step.toLocaleString()}`, + when: { "park.loan_owed": { atLeast: LOAN.step } }, + refuse: "The park owes the bank nothing", + cost: { "park.cash": -LOAN.step }, + world: { "park.loan_owed": -LOAN.step }, + note: `Paid $${LOAN.step.toLocaleString()} back to the bank`, }, }; + +/** + * The lab: each topic is an action that costs its fee up front, waits its time in the `lab` queue + * and sets `research.`; the topic before it in its family must be done first. + */ +function researchAction(def: BuildableDef): WorldActionDecl { + const research = def.research!; + const after = research.after; + return { + label: `Research ${def.label}`, + when: { [researched(def.id)]: false, ...(after === undefined || BUILDABLES[after]?.research === undefined ? {} : { [researched(after)]: true }) }, + refuse: after === undefined ? `${def.label} is already researched` : `Research the ${BUILDABLES[after]!.label} first`, + cost: { "park.cash": -research.cost }, + takes: research.seconds, + queue: "lab", + world: { [researched(def.id)]: true, "park.spent_today": research.cost }, + note: `Research complete: the ${def.label} can now be built`, + }; +} const totals: Record = { // Across every kind by its category tag: the dashboard's counts. "park.rides": { of: "ride" }, - "park.rides_open": { of: "ride", where: { broken: false } }, + "park.rides_open": { of: "ride", where: { broken: false, closed: false } }, "park.stalls": { of: "stall" }, }; const flows: Record = { // Every guest drops a little litter; every janitor post sweeps it up. - litter: { to: "park.litter", from: "park.guests", rate: 0.01 }, + litter: { to: "park.litter", from: "park.guests", rate: 0.006 }, sweep: { to: "park.litter", from: "n.staff_janitor", rate: -(BUILDABLES.staff_janitor!.staff!.cleaning * 0.08) }, }; -const prices: Record = {}; +// The ground's height levels, a digit a cell; and which version of the path rules the park was laid under. +const prices: Record = { [LAND_FACT]: FLAT_LAND, "park.netv": 0 }; for (const id of BUILD_IDS) { const def = BUILDABLES[id]!; kinds[id] = kindOf(def); totals[`n.${id}`] = { of: id }; - // A broken ride draws no one: its appeal drops out of the park's until the crew is done. - totals[`appeal.${id}`] = { of: id, sum: "appeal", ...(ride(def) ? { where: { broken: false } } : {}) }; + // A broken or shut ride draws no one: its appeal drops out of the park's until it runs again. + totals[`appeal.${id}`] = { of: id, sum: "appeal", ...(ride(def) ? { where: { broken: false, closed: false } } : def.stall !== undefined ? { where: { closed: false } } : {}) }; if (def.ride !== undefined) { prices[`price.${id}`] = { value: def.ride.price, min: 0, max: 20 }; Object.assign(actions, rideActions(def)); } - if (def.stall !== undefined) Object.assign(actions, stallActions(def)); + if (def.stall !== undefined) { + prices[`price.${id}`] = { value: def.stall.price, min: 0, max: 20 }; + Object.assign(actions, stallActions(def)); + } + if (def.staff !== undefined) Object.assign(actions, staffActions(def)); + if (def.research !== undefined) { + prices[researched(id)] = false; + actions[`research_${id}`] = researchAction(def); + } if (def.upkeep > 0) { // Upkeep and wages run by the second through the day, and the day's bill keeps count. flows[`upkeep_${id}`] = { to: "park.cash", from: `n.${id}`, rate: -def.upkeep / DAY_LENGTH }; @@ -201,10 +250,12 @@ export const park = defineGameSpec({ // What the crowd is saying right now: a breakdown sours it, it settles back on its own. buzz: calm(0, 0.5, { min: -40, max: 40 }), rating: 0, - // The best rating the park has reached: milestones open on it and never close again. + // The best rating the park has reached: each award is paid once, the first time it is crossed. peak: 0, litter: { value: 0, min: 0, max: 100 }, - ticket: { value: 18, min: 4, max: 60 }, + // Share of the crowd (0-1) whose latest thought is a complaint; the rating reads it. + complaints: 0, + ticket: { value: 8, min: 0, max: 40 }, guests: { value: 0, min: 0 }, guests_today: 0, revenue_today: 0, @@ -214,11 +265,13 @@ export const park = defineGameSpec({ breakdowns: 0, day: 1, open: false, - loan_owed: { value: 0, min: 0 }, + loan_owed: { value: LOAN.start, min: 0 }, bankrupt_days: 0, game_over: false, won: false, win_dismissed: false, + interest_paid: 0, + price_complaints: 0, scenario_visitors: 0, scenario_revenue: 0, }, @@ -230,7 +283,7 @@ export const park = defineGameSpec({ actions, totals, flows, - queues: { crew: { lanes: 2 } }, + queues: { crew: { lanes: 2 }, lab: { lanes: 1, capacity: 4 } }, ripples: { // A guest through the turnstile; the ticket is paid with `pay`. admit: { world: { "park.guests": 1, "park.guests_today": 1, "park.scenario_visitors": 1 } }, @@ -239,11 +292,15 @@ export const park = defineGameSpec({ leave: { world: { "park.guests": -1 } }, breakdown: { world: { "park.buzz": -15, "park.breakdowns": 1 }, note: "A ride broke down - the crowd groans", hook: "dispatch_crew" }, repaired: { world: { "park.buzz": 6 } }, - loan_due: { + // Midnight's interest on the loan, scaled by what it comes to. + interest: { when: { "park.loan_owed": { atLeast: 1 } }, - world: { "park.cash": -LOAN.payment, "park.loan_owed": -LOAN.payment, "park.spent_today": LOAN.payment }, - note: `Loan instalment paid: $${LOAN.payment}`, + world: { "park.cash": -1, "park.spent_today": 1, "park.interest_paid": 1 }, }, + // A rating award, scaled by its prize. + award: { world: { "park.cash": 1 } }, + // A guest who wanted something but wouldn't pay the price. + refused_price: { world: { "park.price_complaints": 1 } }, }, jobs, }, @@ -308,7 +365,56 @@ export function stockOf(w: WorldModel, obj: ParkObject): number { /** What the park sets for a ride's ticket. */ export const ridePrice = (w: WorldModel, kind: string): number => w.num(`price.${kind}`); +/** What the park charges for one item at a shop. */ +export const stallPrice = (w: WorldModel, kind: string): number => w.num(`price.${kind}`); + +/** A guest pays up to this much over what they think a thing is worth before refusing it. */ +export const PRICE_TOLERANCE = 1.25; + +/** What a guest thinks a ride is worth: its excitement, scenery charm included. */ +export function rideValue(excitement: number): number { + return Math.round((0.6 + excitement * 0.55) * 10) / 10; +} + +/** Most a guest will pay for a ride or an item before saying it's too expensive. */ +export function fairPrice(w: WorldModel, obj: ParkObject, excitement: number): number { + if (obj.def.stall !== undefined) return obj.def.stall.value * PRICE_TOLERANCE; + return rideValue(excitement) * PRICE_TOLERANCE; +} + +/** + * Scenery charms the rides in its reach: each ride's `theme` is the bonus of every scenery piece + * within that piece's radius (measured to the ride's edge), capped, and its appeal is its own plus + * that charm. Run after anything is built or removed. + */ +export function rethemeRides(ctx: GameContext): void { + const w = park.of(ctx); + const objects = parkObjects(ctx); + const scenery = objects.filter((obj) => obj.def.theme !== undefined); + for (const obj of objects) { + if (obj.def.ride === undefined) continue; + let theme = 0; + for (const deco of scenery) { + const reach = deco.def.theme!.radius + obj.def.footprint / 2; + if (Math.hypot(deco.x - obj.x, deco.z - obj.z) <= reach) theme += deco.def.theme!.bonus; + } + theme = Math.round(Math.min(THEME_CAP, theme) * 10) / 10; + if (w.num(`${obj.id}.theme`) !== theme) { + w.set(`${obj.id}.theme`, theme); + w.set(`${obj.id}.appeal`, Math.round((obj.def.appeal + theme) * 10) / 10); + } + } +} + /** The repair the park's crew runs on this ride now: quicker once a mechanic bay stands. */ +/** A staff post's patrol radius in metres. */ +export function patrolRadius(w: WorldModel, postId: string): number { + return w.num(`${postId}.patrol`); +} + +/** Every placed ride. */ +export const rideObjects = (ctx: GameContext): readonly ParkObject[] => parkObjects(ctx).filter((obj) => obj.def.ride !== undefined); + export const repairAction = (w: WorldModel, kind: string): string => (countOf(w, "staff_mechanic") > 0 ? `quickfix_${kind}` : `repair_${kind}`); /** The park as the dashboard and the rating read it: sums over every kind's totals. */ diff --git a/brightway-park/src/game/parkScene.ts b/brightway-park/src/game/parkScene.ts index 7fb688a9..c9984a25 100644 --- a/brightway-park/src/game/parkScene.ts +++ b/brightway-park/src/game/parkScene.ts @@ -3,11 +3,13 @@ import { setGamePhase } from "@jgengine/core/game/gamePhase"; import type { WorldInstanceView, WorldJobEvent, WorldModel } from "@jgengine/core/worldModel/worldModel"; import { BUILDABLES } from "./objects/catalog"; -import { park, repairAction } from "./park"; +import { park, rethemeRides, repairAction } from "./park"; import { fixRide, leaveRide, serviceRide } from "./rides"; import { session } from "./session"; import { syncAmbience } from "./audio"; import { savePark } from "./persistence"; +import { connectPark, relinkPark } from "./build/links"; +import { groundAt } from "./build/terrain"; /** * Where the park's declaration meets the screen: a built structure is placed in the scene, a removed @@ -17,17 +19,31 @@ import { savePark } from "./persistence"; export function spawnObject(ctx: GameContext, instance: WorldInstanceView): void { if (instance.position === null) return; - ctx.scene.object.place(instance.kind, instance.position[0], 0, instance.position[1], { instanceId: instance.id, onExisting: "keep" }); + const w = park.of(ctx); + const rotation = (w.num(`${instance.id}.rot`) * Math.PI) / 2; + const y = groundAt(w, instance.position[0], instance.position[1]); + ctx.scene.object.place(instance.kind, instance.position[0], y, instance.position[1], { instanceId: instance.id, onExisting: "keep", rotation }); + rethemeRides(ctx); + relinkPark(ctx); } /** Every structure the world holds goes on screen: after a load, a reset or a replicated world. */ export function spawnAll(ctx: GameContext): void { - for (const instance of park.of(ctx).instances()) spawnObject(ctx, instance); + const w = park.of(ctx); + // A park laid out before rides needed entrances and exits gets them, free, the first time it opens. + if (w.num("park.netv") < 1) { + connectPark(ctx, { free: true }); + w.set("park.netv", 1); + } + for (const instance of w.instances()) spawnObject(ctx, instance); + relinkPark(ctx); } /** The world removed a structure (`brightway.remove`, refund already in the till): it leaves the scene. */ export function despawnObject(ctx: GameContext, id: string, refund = 0): void { ctx.scene.object.remove(id); + rethemeRides(ctx); + relinkPark(ctx); ctx.game.notices.push({ text: refund > 0 ? `Demolished — $${Math.round(refund).toLocaleString()} refunded` : "Demolished", tone: "info" }); ctx.game.audio.play("sell"); if (session.selectedObject === id) session.selectedObject = null; diff --git a/brightway-park/src/game/persistence.test.ts b/brightway-park/src/game/persistence.test.ts index 65fbfa84..c435cbd0 100644 --- a/brightway-park/src/game/persistence.test.ts +++ b/brightway-park/src/game/persistence.test.ts @@ -4,6 +4,8 @@ import { game } from "../game.config"; import { content } from "./content"; import { DAY_LENGTH } from "./catalog"; import { session } from "./session"; +import { BUILDABLES } from "./objects/catalog"; +import { MILESTONES } from "./milestones"; import { park } from "./park"; import { archiveSave, decodeSave, SAVE_KEY, snapshotPark, STORE_POLICY } from "./persistence"; import { closeDay } from "./sim/economy"; @@ -37,14 +39,14 @@ describe("park saves and real command boundaries", () => { first.ui.invoke("pickCarousel"); expect(session.selectedTool).toBeNull(); first.ui.invoke("park.start"); - // The drop tower opens at a 540 rating: the world refuses it as locked. + // The drop tower is a lab topic: the world refuses it as locked. first.ui.invoke("build.select", { id: "ride_dropzone" }); expect(session.selectedTool).toBeNull(); first.ui.invoke("pickCarousel"); const w = park.of(first.ctx); const cash = w.num("park.cash"); first.ui.invoke("park.pointer", { point: [-40, 0, -40], object: null, entity: null }); - expect(w.num("park.cash")).toBe(cash - 850); + expect(w.num("park.cash")).toBe(cash - BUILDABLES.ride_carousel!.cost); const built = w.instances().at(-1)!; expect(built.kind).toBe("ride_carousel"); // A second carousel on the same spot is refused: the cell is taken. @@ -60,7 +62,7 @@ describe("park saves and real command boundaries", () => { expect(second.ctx.rng()).toBe(nextRandom); expect(session.started).toBe(false); expect(session.hasSave).toBe(true); - expect(v.num("park.ticket")).toBe(21); + expect(v.num("park.ticket")).toBe(11); expect(v.instance(built.id)).toEqual(built); expect(v.canPlace("deco_tree", { cell: built.cell! })?.reason).toBe("taken"); expect(snapshotPark(second.ctx).guests).toEqual(saved.guests); @@ -68,7 +70,7 @@ describe("park saves and real command boundaries", () => { expect(second.ctx.time.isPaused()).toBe(true); second.ui.invoke("park.start"); second.ui.invoke("brightway.remove", { id: built.id }); - expect(v.num("park.cash")).toBe(saved.world.facts["park.cash"] as number + 425); + expect(v.num("park.cash")).toBe(saved.world.facts["park.cash"] as number + BUILDABLES.ride_carousel!.cost / 2); expect(v.canPlace("deco_tree", { cell: built.cell! })?.reason).not.toBe("taken"); }); @@ -121,20 +123,22 @@ describe("park saves and real command boundaries", () => { expect(decodeSave(records.get(SAVE_KEY)!)).not.toBeNull(); }); - test("a playable starter expansion earns the award; three debt settlements end play", () => { + test("a playable starter expansion climbs the rating; three debt settlements end play", () => { const live = runner(); live.ui.invoke("park.start"); live.ui.invoke("pickCarousel"); live.ui.invoke("park.pointer", { point: [-40, 0, -40], object: null, entity: null }); + // A new ride opens once its entrance, queue, exit and paths join it to the park. + live.ui.invoke("build.connect", { id: park.of(live.ctx).instances("ride_carousel").at(-1)!.id }); live.ui.invoke("build.clear"); live.ui.invoke("build.select", { id: "staff_janitor" }); live.ui.invoke("park.pointer", { point: [-36, 0, -28], object: null, entity: null }); // Advance a finite season through the actual loop, without forcing award stats. for (let frame = 0; frame < 450; frame++) live.step(1); const w = park.of(live.ctx); - expect(w.fact("park.won")).toBe(true); - expect(live.ctx.time.isPaused()).toBe(true); - live.ui.invoke("park.continue"); + // The first award is a goal for real building, not for one carousel: the climb is what shows here. + expect(w.num("park.peak")).toBeGreaterThan(180); + expect(w.num("park.peak")).toBeLessThan(MILESTONES[0]!.rating); w.change({ "park.cash": -100_000 - w.num("park.cash") }); for (let day = 0; day < 3; day++) closeDay(live.ctx); expect(w.fact("park.game_over")).toBe(true); diff --git a/brightway-park/src/game/render/WorldOverlay.tsx b/brightway-park/src/game/render/WorldOverlay.tsx index eec70d92..f84a3301 100644 --- a/brightway-park/src/game/render/WorldOverlay.tsx +++ b/brightway-park/src/game/render/WorldOverlay.tsx @@ -1,12 +1,14 @@ -import { useEffect, useMemo, useRef, useState } from "react"; +import { Suspense, useEffect, useMemo, useRef, useState } from "react"; import { useGameStore } from "@jgengine/react/hooks"; import { useGameContext } from "@jgengine/react/provider"; import { useFrame, useLoader, useThree } from "@react-three/fiber"; import { pathFollowSeek } from "@jgengine/core/nav/pathFollow"; import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js"; -import { Group, Mesh, Plane, Raycaster, TextureLoader, Vector2, Vector3 } from "three"; +import { Box3, Group, Mesh, MeshStandardMaterial, Object3D, Plane, Raycaster, TextureLoader, Vector2, Vector3 } from "three"; +import motionJson from "../../../public/art/models/motion.json"; +import { objectModels } from "../models"; import { session } from "../session"; -import { cellCentres, cellFor, park, parkObject, parkObjects, type ParkObject } from "../park"; +import { cellCentres, cellFor, park, parkObject, parkObjects, patrolRadius, type ParkObject } from "../park"; import { BUILDABLES } from "../objects/catalog"; import { coasterCircuit, rideView } from "../rides"; import { placementAt } from "../build/placement"; @@ -15,29 +17,36 @@ import { traceNative } from "../evidence"; import { hoverRefusal, placementHintStore } from "../build/placementHint"; import { SceneCaptureBinding } from "@jgengine/shell/render/sceneCapture"; import { bindParkCapture } from "../parkProfile"; +import { cellAt, cellCentre, groundAt, isLandTool, LEVEL_HEIGHT, lineCells, raisedCells, rectCells } from "../build/terrain"; +import { landCheck, LINE_KINDS } from "../build/commands"; -const rotors: Record = { - ride_carousel: new URL("../../../public/art/models/carousel_rotor.glb",import.meta.url).href, - ride_ferris: new URL("../../../public/art/models/ferris_rotor.glb",import.meta.url).href, - ride_dropzone: new URL("../../../public/art/models/drop_carriage.glb",import.meta.url).href, -}; +/** Each moving ride part: its own GLB whose origin is the pivot, and how it moves (spin, wheel, swing, drop). */ +type MotionSpec = { model: string; kind: "spin" | "wheel" | "swing" | "drop"; pivot: [number, number, number]; speed: number; amplitude?: number; level?: string }; +const MOTION = motionJson as unknown as Record; +const motionUrl = (model: string) => new URL(`../../../public/art/models/${model}.glb`, import.meta.url).href; function RideMotion({object}:{object:ParkObject}) { - const gltf=useLoader(GLTFLoader,rotors[object.kind]!); + const spec=MOTION[object.kind]!; + const gltf=useLoader(GLTFLoader,motionUrl(spec.model)); const clock=useGameStore(ctx=>ctx.time); const reduced=useGameStore(ctx=>Boolean(ctx.game.store.get("park.reduced-motion"))); + const ctx=useGameContext(); const ref=useRef(null); const scene=useMemo(()=>{const copy=gltf.scene.clone();copy.traverse(n=>{if(n instanceof Mesh){n.castShadow=true;n.receiveShadow=true;}});return copy;},[gltf]); + const levels=useMemo(()=>{const out:Object3D[]=[];if(spec.level)scene.traverse(n=>{if(n.name.startsWith(spec.level!))out.push(n);});return out;},[scene,spec.level]); + const amplitude=spec.amplitude??1; useFrame(()=>{ const root=ref.current; if(!root)return; - const t=reduced?0:clock.now(); - if(object.kind==="ride_carousel") root.rotation.y=t*.25; - if(object.kind==="ride_ferris") { - root.rotation.z=t*.09; - scene.traverse(n=>{if(n.name.startsWith("Cabin_"))n.rotation.z=-root.rotation.z;}); - } - if(object.kind==="ride_dropzone") {const phase=(t%12)/12;root.position.y=1+(phase<.8?phase/.8:Math.pow((1-phase)/.2,3))*8.5;} + // A broken or idle ride stands still; one running its cycle moves. + const view=rideView(object.id); + const moving=!reduced&&view!==null&&view.phase!=="broken"&&view.phase!=="idle"; + const t=moving?clock.now():0; + if(spec.kind==="spin") root.rotation.y=t*spec.speed; + if(spec.kind==="wheel") {root.rotation.x=t*spec.speed;for(const cabin of levels)cabin.rotation.x=-root.rotation.x;} + if(spec.kind==="swing") root.rotation.x=Math.sin(t*spec.speed*Math.PI*2)*amplitude; + if(spec.kind==="drop") {const phase=(t*spec.speed)%1;root.position.y=(phase<.8?phase/.8:Math.pow((1-phase)/.2,3))*amplitude;} }); - return ; + const yaw=(park.of(ctx).num(`${object.id}.rot`)*Math.PI)/2; + return ; } const trainModel = new URL("../../../public/art/models/coaster_train.glb", import.meta.url).href; @@ -84,8 +93,43 @@ function Fence() { ; } +/** + * The blueprint's own model at the cursor, see-through and tinted: green where it can go, red where + * it can't (the hint bar says why). It faces the way Z has turned the next build. + */ +function Ghost({kind,at,y,valid}:{kind:string;at:[number,number];y:number;valid:boolean}) { + const config=objectModels[kind]!; + const gltf=useLoader(GLTFLoader,config.url); + const rotation=useGameStore(()=>session.rotation); + const material=useMemo(()=>new MeshStandardMaterial({transparent:true,opacity:.5,depthWrite:false}),[]); + material.color.set(valid?"#7cf3c8":"#ef7059"); + const {scene,scale,lift}=useMemo(()=>{ + const copy=gltf.scene.clone(); + copy.traverse(n=>{if(n instanceof Mesh){n.material=material;n.raycast=()=>{};n.castShadow=false;}}); + if(config.anchor!=="center") return {scene:copy,scale:1,lift:0}; + // A library model is grounded and scaled to the height the catalog asks for, like the scene does. + const box=new Box3().setFromObject(copy),size=box.getSize(new Vector3()); + const k=config.targetHeight!==undefined&&size.y>0?config.targetHeight/size.y:1; + return {scene:copy,scale:k,lift:-box.min.y*k}; + },[gltf,material,config]); + return ; +} +/** + * The lot's raised ground: one grassy block per cell above the lawn, stepped by level, with a + * lighter top so the steps read from the park camera. + */ +function Land() { + const ctx=useGameContext(); + useGameStore(c=>park.store.read(c)); + const cells=raisedCells(park.of(ctx)); + return {cells.map(({col,row,level})=>{const [x,z]=cellCentre(col,row);const h=level*LEVEL_HEIGHT;return + {}}> + {}}> + ;})}; +} function Blueprint() { const {gl,camera}=useThree(); const ctx=useGameContext(); const [hover,setHover]=useState<[number,number]|null>(null); + const [down,setDown]=useState<[number,number]|null>(null); const selected=useGameStore(()=>session.selectedTool); useGameStore(c=>park.store.read(c)); useEffect(()=>{ @@ -98,20 +142,51 @@ function Blueprint() { setHover(old=>old?.[0]===x&&old?.[1]===z?old:[x,z]); }; const leave=()=>setHover(null); + // A left press with a tool in hand starts a drag: the click that ends it lays the line or the area. + const press=(e:PointerEvent)=>{ + if(e.button!==0||session.selectedTool===null)return; + const r=gl.domElement.getBoundingClientRect(); + ray.setFromCamera(new Vector2((e.clientX-r.left)/r.width*2-1,-(e.clientY-r.top)/r.height*2+1),camera); + if(!ray.ray.intersectPlane(plane,hit))return; + const at:[number,number]=[snapToGrid(hit.x),snapToGrid(hit.z)]; + setDown(at); + ctx.game.commands.run("build.dragFrom",{point:at}); + }; + const release=()=>setDown(null); + gl.domElement.addEventListener("pointerdown",press); + window.addEventListener("pointerup",release); const inspect=(e:PointerEvent)=>traceNative("canvas-pointer",{screen:[e.clientX,e.clientY],camera:camera.position.toArray(),quaternion:camera.quaternion.toArray(),viewport:gl.domElement.getBoundingClientRect().toJSON()}); gl.domElement.addEventListener("pointerdown",inspect); gl.domElement.addEventListener("pointermove",move);gl.domElement.addEventListener("pointerleave",leave); - return()=>{gl.domElement.removeEventListener("pointermove",move);gl.domElement.removeEventListener("pointerleave",leave);gl.domElement.removeEventListener("pointerdown",inspect);}; - },[gl,camera]); - const def=selected?BUILDABLES[selected]:null; + return()=>{gl.domElement.removeEventListener("pointermove",move);gl.domElement.removeEventListener("pointerleave",leave);gl.domElement.removeEventListener("pointerdown",inspect);gl.domElement.removeEventListener("pointerdown",press);window.removeEventListener("pointerup",release);}; + },[gl,camera,ctx]); + const def=selected?BUILDABLES[selected]??null:null; const check=def&&hover?placementAt(park.of(ctx),def.id,...hover):null; - const refusal=check===null?null:hoverRefusal(check); + const landRefusal=isLandTool(selected)&&hover?landCheck(ctx,selected,...hover):null; + const refusal=isLandTool(selected)?landRefusal:check===null?null:hoverRefusal(check); useEffect(()=>{if(placementHintStore.read(ctx)!==refusal)placementHintStore.write(ctx,refusal);return()=>{if(placementHintStore.read(ctx)!==null)placementHintStore.write(ctx,null);};},[ctx,refusal]); + if(isLandTool(selected)&&hover){ + const color=landRefusal===null?(selected==="land_raise"?"#7cf3c8":"#f3c87c"):"#ef7059"; + const cells=rectCells(cellAt(...(down??hover)),cellAt(...hover)); + return {cells.map(([col,row])=>{const [x,z]=cellCentre(col,row);const y=groundAt(park.of(ctx),x,z);return {}}>;})}; + } if(!def||!hover)return null; const valid=refusal===null; const color=valid?"#7cf3c8":"#ef7059"; - const centres=cellCentres(def.id,cellFor(def.id,...hover)); - return {centres.map(([x,z])=>{const key=`${x},${z}`;return {}}>;})}; + const w=park.of(ctx); + // Dragging a path or queue shows the whole line it will lay. + const dragging=down!==null&&LINE_KINDS.has(def.id)&&cellAt(...down).join()!==cellAt(...hover).join(); + const centres=dragging?lineCells(cellAt(...down),cellAt(...hover)).map(([c,r])=>cellCentre(c,r)):cellCentres(def.id,cellFor(def.id,...hover)); + const mid=centres.reduce((a,[x,z])=>[a[0]+x/centres.length,a[1]+z/centres.length],[0,0]); + const lineColor=(x:number,z:number)=>dragging?(placementAt(w,def.id,x,z).ok?"#7cf3c8":"#ef7059"):color; + return {!dragging&&}{def.staff&&}{centres.map(([x,z])=>{const key=`${x},${z}`;return {}}>;})}; +} +/** A staff post's patrol area on the ground: where its person walks and does its job. */ +function PatrolRing({x,z,radius}:{x:number;z:number;radius:number}) { + return + {}}> + {}}> + ; } export function BrightwayParkWorldOverlay() { return ( @@ -128,9 +203,10 @@ function OverlayBodies() { const objects=useGameStore(c=>parkObjects(c)); const circuit=useMemo(()=>coasterCircuit(ctx),[ctx,objects]); const obj=parkObject(ctx,selection); - return - {objects.filter(o=>rotors[o.kind]).map(o=>)} + return + {objects.filter(o=>MOTION[o.kind]).map(o=>)} {objects.filter(o=>o.kind==="ride_coaster").map(o=>)} + {obj?.def.staff&&} {obj&&{}}>} ; } diff --git a/brightway-park/src/game/rides.test.ts b/brightway-park/src/game/rides.test.ts index 5087db04..284fafe7 100644 --- a/brightway-park/src/game/rides.test.ts +++ b/brightway-park/src/game/rides.test.ts @@ -25,6 +25,8 @@ type Ctx = ReturnType; function put(ctx: Ctx, kind: string, x: number, z: number): string { const id = placeFree(park.of(ctx), kind, cellFor(kind, x, z)); if (id === null) throw new Error(`could not place ${kind} at ${x},${z}`); + // Joined to the paths: these tests are about the ride and the guests, not the network. + if (park.of(ctx).fact(`${id}.closed`) === true) park.of(ctx).set(`${id}.closed`, false); return id; } @@ -44,15 +46,15 @@ describe("brightway-park rides on the shared ride sim", () => { const { ctx, ride } = open(); // A deterministic rng of 0 breaks the ride on its first completed cycle. syncRidePark(ctx, () => 0); - for (let i = 0; i < 12; i += 1) joinRide(ride, `guest#${i}`); + for (let i = 0; i < 18; i += 1) joinRide(ride, `guest#${i}`); - // Board, ride, unload: the carousel's own 13-second cycle. - for (let i = 0; i < 200; i += 1) tickRidePark(ctx, 0.1); + // Board, ride, unload: the carousel's own 21-second cycle. + for (let i = 0; i < 300; i += 1) tickRidePark(ctx, 0.1); const view = rideView(ride)!; expect(view.phase).toBe("broken"); expect(view.breakdowns).toBe(1); - // Six boarded and are unloaded, six are still waiting, and nothing boards while it is down. + // Twelve boarded and are unloaded, six are still waiting, and nothing boards while it is down. expect(view.queue.size).toBe(6); expect(view.queue.wait.seconds).toBeGreaterThan(0); expect(rideBoard()).toMatchObject({ rides: 1, online: 0, broken: 1, queued: 6 }); @@ -61,8 +63,8 @@ describe("brightway-park rides on the shared ride sim", () => { test("the sim holds a broken ride down until the crew's order lands, then it takes its line", () => { const { ctx, ride } = open(); syncRidePark(ctx, () => 0); - for (let i = 0; i < 8; i += 1) joinRide(ride, `guest#${i}`); - for (let i = 0; i < 200; i += 1) tickRidePark(ctx, 0.1); + for (let i = 0; i < 16; i += 1) joinRide(ride, `guest#${i}`); + for (let i = 0; i < 300; i += 1) tickRidePark(ctx, 0.1); const broken = rideView(ride)!; expect(broken.phase).toBe("broken"); @@ -104,7 +106,7 @@ describe("brightway-park rides on the shared ride sim", () => { // An rng of 1 never breaks, so the ride just accumulates cycles. syncRidePark(ctx, () => 1); for (let i = 0; i < 4; i += 1) joinRide(ride, `guest#${i}`); - for (let i = 0; i < 100; i += 1) tickRidePark(ctx, 0.2); + for (let i = 0; i < 200; i += 1) tickRidePark(ctx, 0.2); const worn = rideView(ride)!; expect(worn.wear).toBeGreaterThan(0); diff --git a/brightway-park/src/game/rides.ts b/brightway-park/src/game/rides.ts index 5c1b10ea..60349eb2 100644 --- a/brightway-park/src/game/rides.ts +++ b/brightway-park/src/game/rides.ts @@ -11,7 +11,7 @@ import { } from "@jgengine/core/sim/rides"; import { DEFAULT_QUEUE_SEED_SERVICE_SECONDS, DEFAULT_QUEUE_WINDOW } from "@jgengine/core/sim/queue"; -import { parkObjects, type ParkObject } from "./park"; +import { park as parkSpec, parkObjects, type ParkObject } from "./park"; import { buildCoasterCircuit, type CoasterCircuit, type TrackPoint } from "./coaster/circuit"; /** @@ -44,23 +44,29 @@ export function trackPieces(ctx: GameContext): number { return parkObjects(ctx).filter((obj) => obj.kind === "track_piece").length; } -/** A ride's three ratings: a coaster's come from its circuit, a flat ride's from its own data. */ -export function rideRatings(obj: ParkObject, circuit: CoasterCircuit): RideRatings { +/** Scenery in reach lifts a ride's excitement by up to this much at the theme cap. */ +const THEME_EXCITEMENT = 0.25; + +/** + * A ride's three ratings on the 0-10 scale: a coaster's come from its circuit, a flat ride's from its + * own data; the charm of scenery in reach (`.theme`) lifts the excitement of either. + */ +export function rideRatings(obj: ParkObject, circuit: CoasterCircuit, theme = 0): RideRatings { const ride = obj.def.ride; if (ride === undefined) return { excitement: 0, intensity: 0, nausea: 0 }; - if (obj.kind === "ride_coaster") return { excitement: circuit.excitement, intensity: circuit.intensity, nausea: circuit.nausea }; - return { excitement: obj.def.appeal, intensity: ride.thrill, nausea: 2 }; + const base = obj.kind === "ride_coaster" ? { excitement: circuit.excitement, intensity: circuit.intensity, nausea: circuit.nausea } : { excitement: ride.excitement, intensity: ride.intensity, nausea: ride.nausea }; + return { ...base, excitement: Math.round((base.excitement + theme * THEME_EXCITEMENT) * 10) / 10 }; } /** One placed ride as the shared sim's data. */ -export function rideDefinition(obj: ParkObject, circuit: CoasterCircuit): RideDefinition { +export function rideDefinition(obj: ParkObject, circuit: CoasterCircuit, theme = 0): RideDefinition { const ride = obj.def.ride; if (ride === undefined) throw new Error(`brightway-park: "${obj.kind}" is not a ride`); // A coaster's lap is the track's own length at the track's own pace, so laying rail changes the ride. const rideSeconds = obj.kind === "ride_coaster" && circuit.closed ? Math.max(4, circuit.lapSeconds) : ride.rideSeconds; return { id: obj.id, - ratings: rideRatings(obj, circuit), + ratings: rideRatings(obj, circuit, theme), capacity: ride.capacity, loadSeconds: ride.loadSeconds, rideSeconds, @@ -71,7 +77,8 @@ export function rideDefinition(obj: ParkObject, circuit: CoasterCircuit): RideDe function desiredDefinitions(ctx: GameContext): RideDefinition[] { const circuit = coasterCircuit(ctx); - return parkObjects(ctx).filter((obj) => obj.def.ride !== undefined).map((obj) => rideDefinition(obj, circuit)); + const w = parkSpec.of(ctx); + return parkObjects(ctx).filter((obj) => obj.def.ride !== undefined).map((obj) => rideDefinition(obj, circuit, w.num(`${obj.id}.theme`))); } function definitionKey(definitions: readonly RideDefinition[]): string { @@ -142,6 +149,8 @@ export function fixRide(rideId: string): void { if (entry === undefined || entry.phase !== "broken") return; entry.phase = "idle"; entry.timer = 0; + // A repair is a full overhaul: the wear curve starts again from new. + entry.wear = 0; system.restore(snapshot); } diff --git a/brightway-park/src/game/session.ts b/brightway-park/src/game/session.ts index 06a45511..d35cc7bc 100644 --- a/brightway-park/src/game/session.ts +++ b/brightway-park/src/game/session.ts @@ -1,4 +1,5 @@ import type { AgentSnapshot } from "@jgengine/core/agents/agent"; +import type { Thought, ThoughtTally } from "./sim/thoughts"; /** * What the park keeps outside its world: the walking guests and janitors (agents with bodies), what @@ -27,6 +28,10 @@ export interface GuestState { busy: number; /** Everything the shared agent loop owns: needs, mood, held action and the far flag. */ agent: AgentSnapshot; + /** What it has been thinking, newest first. */ + thoughts?: Thought[]; + /** Game-second it next checks how it feels. */ + nextThink?: number; } /** One staffed post's janitor: an agent walking the beat its post authored. */ @@ -38,11 +43,15 @@ export interface StaffState { export interface Session { selectedTool: string | null; + /** Quarter turns the next build faces (Z turns it). */ + rotation: number; selectedObject: string | null; guests: Map; staff: Map; /** Guests heading for or at each stall this tick - a crowd the next guest prices in. Rebuilt every tick. */ occupants: Map; + /** The crowd's fresh thoughts, counted every tick. */ + thoughts: ThoughtTally; spawnAcc: number; guestSeq: number; started: boolean; @@ -53,10 +62,12 @@ export interface Session { function freshSession(): Session { return { selectedTool: null, + rotation: 0, selectedObject: null, guests: new Map(), staff: new Map(), occupants: new Map(), + thoughts: { top: [], complaintShare: 0 }, spawnAcc: 0, guestSeq: 0, started: false, diff --git a/brightway-park/src/game/sim/economy.ts b/brightway-park/src/game/sim/economy.ts index 88afdf03..fa8780b1 100644 --- a/brightway-park/src/game/sim/economy.ts +++ b/brightway-park/src/game/sim/economy.ts @@ -1,16 +1,16 @@ import type { GameContext } from "@jgengine/core/runtime/gameContext"; import { setGamePhase } from "@jgengine/core/game/gamePhase"; -import { park, type ParkMetrics } from "../park"; +import { LOAN, park, type ParkMetrics } from "../park"; import { syncAmbience } from "../audio"; import { closeParkDay } from "../daySession"; -import { milestoneContents, milestonesCrossed } from "../milestones"; +import { milestonesCrossed } from "../milestones"; import { ratingTarget } from "./rating"; /** * The park's day, on the world. Money moves continuously (the `upkeep_*` flows and the `pay` - * ripple), so midnight only restocks the stalls (their `restock_*` action), takes the loan's - * instalment (the `loan_due` ripple), files the day's takings and checks the till. + * ripple), so midnight only restocks the stalls (their `restock_*` action), charges the loan's + * interest (the `interest` ripple), files the day's takings and checks the till. */ const BANKRUPT_LIMIT = 3; @@ -25,9 +25,10 @@ export function closeDay(ctx: GameContext): void { w.act(restock, instance.id); } } - if (w.emit({ kind: "loan_due" }) !== null) { - const owed = w.num("park.loan_owed"); - ctx.game.notices.push({ text: owed > 0 ? `Loan instalment paid · $${Math.round(owed)} still owed` : "Loan paid off — the park owes nothing", tone: owed > 0 ? "info" : "success" }); + const owed = w.num("park.loan_owed"); + const interest = Math.round(owed * LOAN.dailyRate); + if (interest > 0 && w.emit({ kind: "interest", scale: interest }) !== null) { + ctx.game.notices.push({ text: `Loan interest: $${interest} on $${Math.round(owed).toLocaleString()} owed`, tone: "info" }); } const revenue = w.num("park.revenue_today"); @@ -63,13 +64,10 @@ export function closeDay(ctx: GameContext): void { closeParkDay(ctx); } -/** - * The rating eases toward its target; its best-ever value is `park.peak`, which the locked kinds' - * `when` reads, so crossing a milestone and the build palette opening are one write. - */ +/** The rating eases toward its target; its best-ever value is `park.peak`, and each award crossed pays once. */ export function tickRating(ctx: GameContext, dt: number, metrics: ParkMetrics): void { const w = park.of(ctx); - const target = ratingTarget(metrics, w.num("park.mood"), w.num("park.guests_today"), w.num("park.litter")); + const target = ratingTarget(metrics, w.num("park.mood"), w.num("park.guests_today"), w.num("park.litter"), w.num("park.complaints")); const before = w.num("park.rating"); const rating = before + (target - before) * (1 - Math.exp(-dt * 0.25)); w.set("park.rating", rating); @@ -77,8 +75,8 @@ export function tickRating(ctx: GameContext, dt: number, metrics: ParkMetrics): if (rating <= peak) return; w.set("park.peak", rating); for (const milestone of milestonesCrossed(peak, rating)) { - const contents = milestoneContents(milestone.unlock); - ctx.game.notices.push({ text: `Unlocked ${contents.length > 0 ? contents.join(" & ") : milestone.label}`, tone: "success" }); + w.emit({ kind: "award", scale: milestone.prize }); + ctx.game.notices.push({ text: `Award! ${milestone.label} — $${milestone.prize.toLocaleString()} prize`, tone: "success" }); ctx.game.audio.play("milestone"); } } diff --git a/brightway-park/src/game/sim/guests.determinism.test.ts b/brightway-park/src/game/sim/guests.determinism.test.ts index 966b8942..160deb73 100644 --- a/brightway-park/src/game/sim/guests.determinism.test.ts +++ b/brightway-park/src/game/sim/guests.determinism.test.ts @@ -47,8 +47,8 @@ describe("guest generation is reproducible (#1581)", () => { test("generated needs stay inside their authored ranges", () => { for (const guest of seedInto("park-seed-3")) { - expect(guest.money).toBeGreaterThanOrEqual(30_000); - expect(guest.money).toBeLessThanOrEqual(80_000); + expect(guest.money).toBeGreaterThanOrEqual(20_000); + expect(guest.money).toBeLessThanOrEqual(60_000); for (const [need, value] of Object.entries(guest.needs)) { expect(value).toBeGreaterThanOrEqual(0); expect(value).toBeLessThanOrEqual(100_000); diff --git a/brightway-park/src/game/sim/guests.test.ts b/brightway-park/src/game/sim/guests.test.ts index 0cc6c16e..62e8df3f 100644 --- a/brightway-park/src/game/sim/guests.test.ts +++ b/brightway-park/src/game/sim/guests.test.ts @@ -10,6 +10,9 @@ import { cellFor, freshWorld, park, placeFree } from "../park"; import { tickStaff } from "../staff"; import { joinRide, resetRides, syncRidePark } from "../rides"; import { seedGuests, tickGuests } from "./guests"; +import { BUILDABLES } from "../objects/catalog"; +import { staffCover } from "../staff"; +import { tallyThoughts, think } from "./thoughts"; function context() { const ctx = createGameContext({ @@ -26,6 +29,8 @@ function context() { function put(ctx: ReturnType, kind: string, x: number, z: number): string { const id = placeFree(park.of(ctx), kind, cellFor(kind, x, z)); if (id === null) throw new Error(`could not place ${kind}`); + // Joined to the paths: these tests are about the ride and the guests, not the network. + if (park.of(ctx).fact(`${id}.closed`) === true) park.of(ctx).set(`${id}.closed`, false); return id; } @@ -133,7 +138,7 @@ describe("brightway-park guest agents", () => { expect(busy.cost!).toBeGreaterThan(empty.cost!); }); - test("a janitor walks the beat its post authored", () => { + test("a handyman walks the beat inside its patrol area", () => { const ctx = context(); put(ctx, "staff_janitor", 12, -12); ctx.time.hydrate({ ...ctx.time.snapshot(), now: 60, paused: true }); @@ -146,7 +151,37 @@ describe("brightway-park guest agents", () => { for (let i = 0; i < 40; i += 1) tickStaff(ctx, 0.1); const moved = ctx.scene.entity.get(staff.id)!.position; expect(Math.hypot(moved[0] - start[0], moved[2] - start[2])).toBeGreaterThan(0.5); - expect(Math.hypot(moved[0] - 12, moved[2] + 12)).toBeLessThanOrEqual(7); + expect(Math.hypot(moved[0] - 12, moved[2] + 12)).toBeLessThanOrEqual(BUILDABLES.staff_janitor!.staff!.patrol); + }); + + test("each hire covers its own patrol area, and the player can widen it", () => { + const ctx = context(); + const post = put(ctx, "staff_entertainer", 0, 0); + tickStaff(ctx, 0.1); + const w = park.of(ctx); + const placed = w.instance(post)!.position!; + const radius = BUILDABLES.staff_entertainer!.staff!.patrol; + expect(staffCover(ctx, placed[0] + radius - 1, placed[1]).has("entertainer")).toBe(true); + expect(staffCover(ctx, placed[0] + radius + 3, placed[1]).has("entertainer")).toBe(false); + w.act("patrol_wider_staff_entertainer", post); + expect(staffCover(ctx, placed[0] + radius + 3, placed[1]).has("entertainer")).toBe(true); + }); + + test("guests say what is wrong, and the park counts the complaints", () => { + const ctx = context(); + seedGuests(ctx, 4); + const [a, b, c] = [...session.guests.values()]; + think(a!, "too_expensive", "I'm not paying $9 for the Burger Stall", 10); + think(b!, "queue_long", "The queue for the Carousel is too long", 10); + think(c!, "great_ride", "The Carousel was great!", 10); + // The same thought is not repeated within a few seconds. + think(a!, "too_expensive", "again", 12); + expect(a!.thoughts!.length).toBe(1); + const tally = tallyThoughts(session.guests.values(), 12); + expect(tally.complaintShare).toBeCloseTo(0.5, 5); + expect(tally.top.map((entry) => entry.id).sort()).toEqual(["great_ride", "queue_long", "too_expensive"]); + // Old thoughts stop counting. + expect(tallyThoughts(session.guests.values(), 200).complaintShare).toBe(0); }); test("demolishing the post sends its janitor home", () => { diff --git a/brightway-park/src/game/sim/guests.ts b/brightway-park/src/game/sim/guests.ts index 5e2446fb..d91ed068 100644 --- a/brightway-park/src/game/sim/guests.ts +++ b/brightway-park/src/game/sim/guests.ts @@ -2,10 +2,10 @@ import type { GameContext } from "@jgengine/core/runtime/gameContext"; import type { RideTickSink } from "@jgengine/core/sim/rides"; import { guestCap } from "../catalog"; -import type { BuildableDef } from "../objects/catalog"; +import type { BuildableDef, StaffRole } from "../objects/catalog"; import { GUEST_WALK_SPEED, guestKindFor } from "../entities/guests/catalog"; import { nextGuestId, session, type GuestState } from "../session"; -import { park, parkObject, ridePrice, stockOf, type ParkObject } from "../park"; +import { fairPrice, park, parkObject, ridePrice, stallPrice, stockOf, type ParkObject } from "../park"; import { agentOf, clearAgents, @@ -19,7 +19,11 @@ import { syncAgentStates, } from "../agents"; import { demand } from "./rating"; +import { tallyThoughts, think, type ThoughtId } from "./thoughts"; +import { staffCover } from "../staff"; import { joinRide, leaveRide, queuePosition, rideView, tickRides } from "../rides"; +import { accessOf } from "../build/links"; +import { groundAt } from "../build/terrain"; /** * The walking crowd. Guests are agents with bodies (game code), but everything they do to the park @@ -30,13 +34,45 @@ import { joinRide, leaveRide, queuePosition, rideView, tickRides } from "../ride */ const ARRIVE_DISTANCE = 2.2; -const MAX_VISITS = 6; -const MIN_SPEND = 6; +const MAX_VISITS = 14; +const MIN_SPEND = 2; const STALL_SERVICE = 2.2; const BROWSE_SECONDS = 3; const TARGET_PATIENCE = 25; const LEAVE_PATIENCE = 30; const QUEUE_CHECK_SECONDS = 8; +/** Seconds between a guest's checks on how it feels (plus up to as much again). */ +const THINK_SECONDS = 6; +/** An entertainer in reach lifts a guest's mood by this much. */ +const ENTERTAINER_MOOD = 8; +/** Below this mood a guest with no guard in reach kicks over bins... */ +const VANDAL_MOOD = 30; +/** ...adding this much litter a second. */ +const VANDAL_LITTER = 0.05; +const NO_COVER: ReadonlySet = new Set(); + +/** The needs a guest says out loud when they run low, and what it says. */ +const NEED_THOUGHTS: readonly { need: string; below: number; id: ThoughtId; text: string }[] = [ + { need: "toilet", below: 0.22, id: "toilet", text: "I really need the toilet" }, + { need: "nausea", below: 0.4, id: "sick", text: "I feel sick" }, + { need: "hunger", below: 0.25, id: "hungry", text: "I'm hungry" }, + { need: "thirst", below: 0.25, id: "thirsty", text: "I'm thirsty" }, + { need: "info", below: 0.3, id: "lost", text: "I'm lost!" }, + { need: "energy", below: 0.2, id: "tired", text: "I'm tired" }, +]; + +/** A guest checks how it feels and says the most pressing thing. */ +function feel(guest: GuestState, agent: ReturnType, litter: number, cover: ReadonlySet, now: number): void { + for (const entry of NEED_THOUGHTS) { + if (agent.needs.fraction(entry.need) < entry.below) { + think(guest, entry.id, entry.text, now); + return; + } + } + if (litter > 40) think(guest, "dirty", "This park is really dirty", now); + else if (cover.has("entertainer")) think(guest, "entertained", "That entertainer is funny!", now); +} + /** How much of the crowd's buzz each guest feels: a breakdown's -15 is about -9 mood each. */ const BUZZ_WEIGHT = 0.6; @@ -45,6 +81,16 @@ function arriveRadius(def: BuildableDef): number { return Math.max(ARRIVE_DISTANCE, def.footprint / 2 + 1.4); } +/** Where a guest walks to for a structure: a ride's entrance, or the shop itself. */ +function doorOf(ctx: GameContext, obj: ParkObject): { at: [number, number, number]; radius: number } { + const door = obj.def.ride === undefined ? null : accessOf(ctx, obj.id)?.door ?? null; + if (door === null) return { at: [obj.x, 0, obj.z], radius: arriveRadius(obj.def) }; + return { at: [door[0], 0, door[1]], radius: ARRIVE_DISTANCE }; +} + +/** A queue line makes a long wait easier to bear. */ +const LINE_TOLERANCE = 1.6; + function distance2(ax: number, az: number, bx: number, bz: number): number { return Math.hypot(ax - bx, az - bz); } @@ -55,7 +101,7 @@ function makeGuest(ctx: GameContext, id: string, start: readonly [number, number const guest: GuestState = { id, kind, - money: 30 + ctx.rng() * 50, + money: 20 + ctx.rng() * 40, visits: 0, phase: "seeking", targetId: null, @@ -92,7 +138,7 @@ export function spawnGuests(ctx: GameContext, dt: number, totalAppeal: number): const rating = w.num("park.rating"); const cap = guestCap(rating); if (session.guests.size >= cap) return; - const rate = demand(totalAppeal, w.num("park.ticket"), rating, w.fact("park.open") === true) * 2.4; + const rate = demand(totalAppeal, w.num("park.ticket"), rating, w.fact("park.open") === true); session.spawnAcc += rate * dt; let budget = 4; while (session.spawnAcc >= 1 && session.guests.size < cap && budget > 0) { @@ -116,12 +162,20 @@ function finishInteraction(ctx: GameContext, guest: GuestState): void { if (obj !== undefined) { const stall = obj.def.stall; const w = park.of(ctx); - if (stall !== undefined && stockOf(w, obj) > 0 && guest.money >= stall.price) { - guest.money -= stall.price; + const price = stall === undefined ? 0 : stallPrice(w, obj.kind); + if (stall !== undefined && price > fairPrice(w, obj, 0)) { + // Wanted it, wouldn't pay that: the park hears about it and the guest sulks a little. + park.emit(ctx, { kind: "refused_price" }); + agent.moodSources.setSource("price", -6); + think(guest, "too_expensive", `I'm not paying $${price} for the ${obj.def.label}`, ctx.time.now()); + } else if (stall !== undefined && stockOf(w, obj) > 0 && guest.money >= price) { + if (price > 0 && price <= stall.value * 0.8) think(guest, "good_value", `The ${obj.def.label} is good value`, ctx.time.now()); + guest.money -= price; w.change({ [`${obj.id}.sold`]: 1, [`${obj.id}.sold_total`]: 1 }); - park.emit(ctx, { kind: "pay", scale: stall.price }); - const fill = stall.need === "hunger" ? 70 : stall.need === "thirst" ? 75 : 100; - agent.needs.refill(stall.need, fill); + if (price > 0) park.emit(ctx, { kind: "pay", scale: price }); + agent.needs.refill(stall.need, stall.fill); + // What goes in must come out. + if (stall.need === "hunger" || stall.need === "thirst") agent.needs.refill("toilet", -18); } guest.visits += 1; } @@ -136,7 +190,9 @@ function shouldLeave(ctx: GameContext, guest: GuestState): boolean { function moveGuest(ctx: GameContext, guest: GuestState, target: readonly [number, number, number], dt: number, radius = ARRIVE_DISTANCE): boolean { const next = ctx.scene.entity.moveToward(guest.id, target, { speed: GUEST_WALK_SPEED, dt, stopDistance: 0 }); if (next === null) return false; - ctx.scene.entity.setPose(guest.id, { position: next }); + // Feet on the ground, whatever level the land is at. + const feet: [number, number, number] = [next[0], groundAt(park.of(ctx), next[0], next[2]), next[2]]; + ctx.scene.entity.setPose(guest.id, { position: feet }); return distance2(next[0], next[2], target[0], target[2]) <= radius; } @@ -150,9 +206,24 @@ function despawnGuest(ctx: GameContext, guest: GuestState): void { park.emit(ctx, { kind: "leave" }); } -/** Where the next guest in line stands: a line that runs out from the ride's own footprint. */ -function queueSpot(obj: ParkObject, index: number): [number, number, number] { - return [obj.x, 0, obj.z - arriveRadius(obj.def) - Math.max(0, index) * 1.15]; +/** + * Where the next guest in line stands: along the ride's queue line when it has one (two to a tile), + * else bunched outside its entrance, else out from its own footprint. + */ +function queueSpot(ctx: GameContext, obj: ParkObject, index: number): [number, number, number] { + const access = accessOf(ctx, obj.id); + const i = Math.max(0, index); + if (access !== null && access.line.length > 0) { + const tile = access.line[Math.min(access.line.length - 1, Math.floor(i / 2))]!; + const side = i % 2 === 0 ? -0.8 : 0.8; + return [tile[0] + side, 0, tile[1] + side * 0.5]; + } + if (access?.door != null) { + const [dx, dz] = access.door; + const away = Math.atan2(dz - obj.z, dx - obj.x); + return [dx + Math.cos(away) * (1 + i * 0.9), 0, dz + Math.sin(away) * (1 + i * 0.9)]; + } + return [obj.x, 0, obj.z - arriveRadius(obj.def) - i * 1.15]; } /** The line a guest is standing in: its own measured wait, or a sold-out stall's crowd. */ @@ -182,8 +253,8 @@ function makeRideSink(ctx: GameContext): RideTickSink { const obj = parkObject(ctx, rideId); if (guest === undefined || obj === undefined) return; const price = ridePrice(park.of(ctx), obj.kind); - if (price > 0 && guest.money >= price) { - guest.money -= price; + if (price > 0) { + guest.money = Math.max(0, guest.money - price); park.emit(ctx, { kind: "pay", scale: price }); } guest.phase = "riding"; @@ -195,12 +266,20 @@ function makeRideSink(ctx: GameContext): RideTickSink { const guest = session.guests.get(guestId); const obj = parkObject(ctx, rideId); if (guest === undefined || obj === undefined) return; - agentOf(guest, ctx.rng).needs.refill("fun", rideFun(guest.kind, obj)); + const agent = agentOf(guest, ctx.rng); + agent.needs.refill("fun", rideFun(guest.kind, obj)); + // A wild ride unsettles the stomach in proportion to its nausea rating. + const nausea = rideView(rideId)?.ratings.nausea ?? 0; + if (nausea > 0) agent.needs.refill("nausea", -nausea * 6); + const fun = rideFun(guest.kind, obj); + if (agent.needs.fraction("nausea") < 0.4) think(guest, "sick", `The ${obj.def.label} made me feel sick`, ctx.time.now()); + else if (fun >= 6) think(guest, "great_ride", `The ${obj.def.label} was great!`, ctx.time.now()); guest.visits += 1; guest.phase = "seeking"; guest.targetId = null; guest.target = null; - ctx.scene.entity.setPose(guestId, { position: [obj.x + 2.6, 0, obj.z + 2.6] }); + const exit = accessOf(ctx, rideId)?.exit ?? null; + ctx.scene.entity.setPose(guestId, { position: exit === null ? [obj.x + 2.6, 0, obj.z + 2.6] : [exit[0], 0, exit[1]] }); }, onBreak(rideId) { park.emit(ctx, { kind: "breakdown", by: rideId }); @@ -228,20 +307,33 @@ function holdPlaceInLine(ctx: GameContext, guest: GuestState, obj: ParkObject, d return; } const index = queuePosition(obj.id, guest.id); - moveGuest(ctx, guest, queueSpot(obj, index), dt); + moveGuest(ctx, guest, queueSpot(ctx, obj, index), dt); if (ctx.time.now() < guest.targetUntil) return; guest.targetUntil = ctx.time.now() + QUEUE_CHECK_SECONDS; // How long this guest actually faces from where it stands, at the line's own measured pace. const waitFromHere = (index + 1) * view.queue.wait.perGuestSeconds; - const tolerance = guestTaste(guest.kind).queueTolerance; + const tolerance = guestTaste(guest.kind).queueTolerance * ((accessOf(ctx, obj.id)?.line.length ?? 0) > 0 ? LINE_TOLERANCE : 1); const hopeless = view.phase === "broken" ? waitFromHere > tolerance * 0.5 : waitFromHere > tolerance; if (!hopeless) return; leaveRide(obj.id, guest.id); dropTarget(guest); agentOf(guest, ctx.rng).moodSources.setSource("queue", -14); + if (view.phase === "broken") think(guest, "broken", `The ${obj.def.label} has broken down`, ctx.time.now()); + else think(guest, "queue_long", `The queue for the ${obj.def.label} is too long`, ctx.time.now()); } function arriveAtRide(ctx: GameContext, guest: GuestState, obj: ParkObject): void { + const w = park.of(ctx); + const price = ridePrice(w, obj.kind); + const excitement = rideView(obj.id)?.ratings.excitement ?? 0; + if (price > fairPrice(w, obj, excitement) || guest.money < price) { + if (guest.money >= price) park.emit(ctx, { kind: "refused_price" }); + agentOf(guest, ctx.rng).moodSources.setSource("price", -6); + if (guest.money >= price) think(guest, "too_expensive", `I'm not paying $${price} for the ${obj.def.label}`, ctx.time.now()); + else think(guest, "no_money", `I can't afford the ${obj.def.label}`, ctx.time.now()); + dropTarget(guest); + return; + } if (!joinRide(obj.id, guest.id)) { dropTarget(guest); return; @@ -265,12 +357,23 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { const w = park.of(ctx); const litter = w.num("park.litter"); const buzz = w.num("park.buzz") * BUZZ_WEIGHT; + let vandalism = 0; countOccupants(); for (const guest of session.guests.values()) { const agent = agentOf(guest, ctx.rng); agent.moodSources.setSource("litter", -litter * 0.02); agent.moodSources.setSource("buzz", buzz); - agent.moodSources.setSource("queue", queuePenalty(ctx, guest)); + const at = ctx.scene.entity.get(guest.id)?.position; + const cover = at === undefined ? NO_COVER : staffCover(ctx, at[0], at[2]); + // An entertainer nearby cheers the guest and halves the sting of a long line. + agent.moodSources.setSource("entertainer", cover.has("entertainer") ? ENTERTAINER_MOOD : 0); + agent.moodSources.setSource("queue", queuePenalty(ctx, guest) * (cover.has("entertainer") ? 0.5 : 1)); + // An unhappy guest with no guard in sight kicks over bins. + if (agent.mood().score < VANDAL_MOOD && !cover.has("security")) vandalism += VANDAL_LITTER * dt; + if (now >= (guest.nextThink ?? 0)) { + guest.nextThink = now + THINK_SECONDS + ctx.rng() * THINK_SECONDS; + feel(guest, agent, litter, cover, now); + } if (guest.phase === "busy") { guest.busy -= dt; @@ -298,7 +401,7 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { continue; } - if (guest.targetId !== null && parkObject(ctx, guest.targetId) === undefined) { + if (guest.targetId !== null && (parkObject(ctx, guest.targetId) === undefined || w.fact(`${guest.targetId}.closed`) === true)) { guest.targetId = null; guest.target = null; } @@ -308,6 +411,9 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { if (guest.targetId === null) { if (shouldLeave(ctx, guest)) { + if (guest.money < MIN_SPEND) think(guest, "no_money", "I've spent all my money", now); + else if (agent.mood().score >= 60) think(guest, "lovely_park", "What a lovely park!", now); + else if (agent.mood().score < 18) think(guest, "tired", "I want to go home", now); guest.phase = "leaving"; guest.target = null; guest.targetUntil = now + LEAVE_PATIENCE; @@ -320,7 +426,7 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { guest.target = midwayPoint(); } else { guest.targetId = obj.id; - guest.target = [obj.x, 0, obj.z]; + guest.target = doorOf(ctx, obj).at; } } @@ -330,7 +436,7 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { continue; } const obj = parkObject(ctx, guest.targetId); - const arrived = obj !== undefined ? moveGuest(ctx, guest, guest.target, dt, arriveRadius(obj.def)) : moveGuest(ctx, guest, guest.target, dt); + const arrived = obj !== undefined ? moveGuest(ctx, guest, guest.target, dt, doorOf(ctx, obj).radius) : moveGuest(ctx, guest, guest.target, dt); if (arrived && obj !== undefined) { if (obj.def.ride !== undefined) { arriveAtRide(ctx, guest, obj); @@ -345,7 +451,10 @@ export function tickGuests(ctx: GameContext, dt: number, tracks: number): void { } } - // The crowd's mood is a world fact: the rating, the HUD and the scenarios all read it there. + if (vandalism > 0) w.change({ "park.litter": vandalism }); + // The crowd's mood and its complaints are world facts: the rating, the HUD and the scenarios read them there. + session.thoughts = tallyThoughts(session.guests.values(), now); + w.set("park.complaints", session.thoughts.complaintShare); if (session.guests.size > 0) w.set("park.mood", parkMood()); } diff --git a/brightway-park/src/game/sim/rating.test.ts b/brightway-park/src/game/sim/rating.test.ts index 82024fdb..1d2fb5ef 100644 --- a/brightway-park/src/game/sim/rating.test.ts +++ b/brightway-park/src/game/sim/rating.test.ts @@ -12,7 +12,12 @@ function world(kinds: readonly [string, number, number][]) { const w = freshWorld(ctx); // Every milestone reached, so the locked blueprints (the drinks kiosk) can stand too. w.set("park.peak", 1000); - for (const [kind, x, z] of kinds) expect(placeFree(w, kind, cellFor(kind, x, z))).not.toBeNull(); + for (const [kind, x, z] of kinds) { + const id = placeFree(w, kind, cellFor(kind, x, z)); + expect(id).not.toBeNull(); + // Joined to the paths: the rating math is about what is open, not how it is reached. + if (w.fact(`${id}.closed`) === true) w.set(`${id}.closed`, false); + } return w; } diff --git a/brightway-park/src/game/sim/rating.ts b/brightway-park/src/game/sim/rating.ts index 163e5a74..235d4867 100644 --- a/brightway-park/src/game/sim/rating.ts +++ b/brightway-park/src/game/sim/rating.ts @@ -9,18 +9,26 @@ export function ratingTarget( mood: number, guestsToday: number, litter: number, + complaints = 0, ): number { const appealScore = metrics.totalAppeal * 3.4; const varietyBonus = metrics.variety * 9; const happyScore = (mood - 40) * 1.6; const throughput = Math.min(guestsToday, 400) * 0.28; const litterPenalty = litter * 1.4; - return Math.max(0, appealScore + varietyBonus + happyScore + throughput - litterPenalty); + // Guests saying "too expensive", "lost", "this queue is too long": their share of the crowd costs stars. + const complaintPenalty = Math.min(1, complaints) * 160; + return Math.max(0, appealScore + varietyBonus + happyScore + throughput - litterPenalty - complaintPenalty); } +/** + * Guests through the gate per second while it is open: a trickle a new park earns, more for every + * point of appeal and rating; an entry ticket above what the park is worth turns them away. + */ export function demand(totalAppeal: number, ticketPrice: number, rating: number, open: boolean): number { if (!open) return 0; - const draw = 0.35 + totalAppeal * 0.085 + rating * 0.004; - const priceResistance = Math.max(0, 1 - Math.max(0, ticketPrice - 6) * 0.026); - return Math.max(0, draw * priceResistance); + const perMinute = 14 + totalAppeal * 0.9 + rating * 0.08; + const worth = 4 + totalAppeal * 0.15 + rating * 0.02; + const priceResistance = Math.max(0, Math.min(1, 1 - (ticketPrice - worth) * 0.05)); + return (perMinute / 60) * priceResistance; } diff --git a/brightway-park/src/game/sim/rideExperience.ts b/brightway-park/src/game/sim/rideExperience.ts index 8f1bff23..5ea13e33 100644 --- a/brightway-park/src/game/sim/rideExperience.ts +++ b/brightway-park/src/game/sim/rideExperience.ts @@ -3,16 +3,16 @@ import type { CoasterCircuit } from "../coaster/circuit"; /** Derived from existing saved guest kinds: no new save fields or random draws. */ export function guestRidePreference(kind: string): { label: string; thrill: number } { - if (kind === "guest_a" || kind === "guest_b") return { label: "Family", thrill: 4 }; - if (kind === "guest_d" || kind === "guest_e") return { label: "Thrill seeker", thrill: 12 }; - return { label: "Explorer", thrill: 8 }; + if (kind === "guest_a" || kind === "guest_b") return { label: "Family", thrill: 3.5 }; + if (kind === "guest_d" || kind === "guest_e") return { label: "Thrill seeker", thrill: 8 }; + return { label: "Explorer", thrill: 5.5 }; } /** The force a guest feels: a coaster's is what its circuit actually does, a flat ride's is its own. */ export function rideThrill(catalogId: string, circuit: CoasterCircuit): number { const def = buildableDef(catalogId); if (catalogId === "ride_coaster") return circuit.intensity; - return def.ride?.thrill ?? 0; + return def.ride?.intensity ?? 0; } export function rideFit(kind: string, catalogId: string, circuit: CoasterCircuit): number { diff --git a/brightway-park/src/game/sim/thoughts.ts b/brightway-park/src/game/sim/thoughts.ts new file mode 100644 index 00000000..3dae5176 --- /dev/null +++ b/brightway-park/src/game/sim/thoughts.ts @@ -0,0 +1,102 @@ +import type { GuestState } from "../session"; + +/** + * What a guest is thinking, in words a player reads: each thought is an id the park counts and a + * line the guest window shows. A guest keeps its last few; the park tallies the fresh ones into the + * dashboard's "guests are saying" list and the rating's complaint share. + */ +export type ThoughtId = + | "too_expensive" + | "queue_long" + | "lost" + | "hungry" + | "thirsty" + | "toilet" + | "sick" + | "tired" + | "dirty" + | "broken" + | "no_money" + | "great_ride" + | "good_value" + | "entertained" + | "lovely_park"; + +export interface Thought { + id: ThoughtId; + text: string; + /** Game-second it was had. */ + at: number; +} + +/** Thoughts that are complaints: their share of the crowd pulls the rating down. */ +export const COMPLAINTS: ReadonlySet = new Set([ + "too_expensive", + "queue_long", + "lost", + "hungry", + "thirsty", + "toilet", + "sick", + "tired", + "dirty", + "broken", + "no_money", +]); + +export const THOUGHT_LABEL: Record = { + too_expensive: "Too expensive", + queue_long: "Queue too long", + lost: "Lost", + hungry: "Hungry", + thirsty: "Thirsty", + toilet: "Needs the toilet", + sick: "Feeling sick", + tired: "Tired", + dirty: "Park is dirty", + broken: "Ride broken down", + no_money: "Out of money", + great_ride: "Loved a ride", + good_value: "Good value", + entertained: "Enjoyed the entertainer", + lovely_park: "Lovely park", +}; + +/** How long a thought counts toward the park's tally. */ +export const THOUGHT_FRESH_SECONDS = 45; +/** A guest does not repeat the same thought more often than this. */ +const REPEAT_SECONDS = 20; +const KEEP = 4; + +/** Give a guest a thought, unless it had the same one just now. Newest first. */ +export function think(guest: GuestState, id: ThoughtId, text: string, now: number): void { + const list = guest.thoughts ?? (guest.thoughts = []); + const last = list.find((thought) => thought.id === id); + if (last !== undefined && now - last.at < REPEAT_SECONDS) return; + list.unshift({ id, text, at: now }); + if (list.length > KEEP) list.length = KEEP; +} + +export interface ThoughtTally { + /** Fresh thoughts by id, most common first. */ + top: { id: ThoughtId; label: string; count: number; complaint: boolean }[]; + /** Share of guests (0-1) whose freshest thought is a complaint. */ + complaintShare: number; +} + +/** The crowd's fresh thoughts, counted. */ +export function tallyThoughts(guests: Iterable, now: number): ThoughtTally { + const counts = new Map(); + let people = 0; + let complaining = 0; + for (const guest of guests) { + people += 1; + const fresh = (guest.thoughts ?? []).filter((thought) => now - thought.at <= THOUGHT_FRESH_SECONDS); + for (const thought of fresh) counts.set(thought.id, (counts.get(thought.id) ?? 0) + 1); + if (fresh[0] !== undefined && COMPLAINTS.has(fresh[0].id)) complaining += 1; + } + const top = [...counts.entries()] + .sort((a, b) => b[1] - a[1]) + .map(([id, count]) => ({ id, label: THOUGHT_LABEL[id], count, complaint: COMPLAINTS.has(id) })); + return { top, complaintShare: people === 0 ? 0 : complaining / people }; +} diff --git a/brightway-park/src/game/staff.ts b/brightway-park/src/game/staff.ts index acc39fdf..09148590 100644 --- a/brightway-park/src/game/staff.ts +++ b/brightway-park/src/game/staff.ts @@ -1,31 +1,52 @@ import type { GameContext } from "@jgengine/core/runtime/gameContext"; import { createStaffAgent, forgetAgent, staffAgentOf, staffBeat, staffId } from "./agents"; -import { park, parkObject, parkObjects, type ParkObject } from "./park"; +import type { StaffRole } from "./objects/catalog"; +import { park, parkObject, parkObjects, patrolRadius, rideObjects, type ParkObject } from "./park"; +import { rideView } from "./rides"; +import { groundAt } from "./build/terrain"; import { session, type StaffState } from "./session"; /** - * Janitors walking their beat. The sweeping itself is the world's `sweep` flow (each post takes - * litter off `park.litter` by the second); a janitor reaching a fresh point of its ring picks up a - * little more, written to the same fact. + * Hired staff. Each hire is a post on the lot: the middle of that person's patrol area, whose + * radius (`.patrol`) the player widens or narrows. The body walks its beat inside the area and + * does its job there: + * - a handyman sweeps (the world's `sweep` flow, plus a little more at each beat point); + * - a mechanic inspects every ride in the area whose wear is building and services it (the world's + * `service_*` action, paid from the till), and any mechanic hired makes repairs quicker; + * - an entertainer cheers up guests in the area and makes their wait in line feel shorter; + * - a security guard stops unhappy guests in the area from kicking over bins (extra litter). + * What each role does to guests is read by `sim/guests` through {@link staffCover}. */ const STAFF_WALK_SPEED = 3.4; const CLEAN_PER_POST = 0.6; +/** A mechanic services a ride in its area once this many cycles of wear have built up. */ +const INSPECT_WEAR = 6; +/** Seconds between a mechanic's inspections. */ +const INSPECT_SECONDS = 12; -const janitorPosts = (ctx: GameContext): ParkObject[] => parkObjects(ctx).filter((obj) => obj.def.staff !== undefined); +/** The body each role walks in. */ +export const STAFF_BODY: Record = { + handyman: "crew_handyman", + mechanic: "crew_mechanic", + entertainer: "crew_entertainer", + security: "crew_security", +}; -/** Every staffed post gets one janitor body; a demolished post sends its janitor home. */ +const posts = (ctx: GameContext): ParkObject[] => parkObjects(ctx).filter((obj) => obj.def.staff !== undefined); + +/** Every post gets one person; a removed post sends its person home. */ export function syncStaff(ctx: GameContext): void { - const posts = janitorPosts(ctx); - const live = new Set(posts.map((post) => post.id)); - for (const post of posts) { + const all = posts(ctx); + const live = new Set(all.map((post) => post.id)); + for (const post of all) { const id = staffId(post.id); if (session.staff.has(id)) continue; const agent = createStaffAgent(post, ctx.rng); const state: StaffState = { id, postId: post.id, agent: agent.snapshot() }; session.staff.set(id, state); - ctx.scene.entity.spawn("guest_c", { id, position: [post.x, 0, post.z], role: "npc" }); + ctx.scene.entity.spawn(STAFF_BODY[post.def.staff!.role], { id, position: [post.x, 0, post.z], role: "npc" }); } for (const [id, state] of session.staff) { if (live.has(state.postId)) continue; @@ -36,15 +57,35 @@ export function syncStaff(ctx: GameContext): void { } } -function beatPoint(post: ParkObject, place: string | null): [number, number, number] | null { +function beatPoint(post: ParkObject, radius: number, place: string | null): [number, number, number] | null { if (place === null) return null; - const point = staffBeat(post).find((candidate) => candidate.place === place); + const point = staffBeat(post, radius).find((candidate) => candidate.place === place); return point === undefined ? null : [point.x, 0, point.z]; } +const lastInspection = new Map(); + +/** A mechanic at work: the most worn ride in its area gets serviced, if the till can pay. */ +function inspect(ctx: GameContext, state: StaffState, post: ParkObject, radius: number): void { + const now = ctx.time.now(); + if (now - (lastInspection.get(state.id) ?? -Infinity) < INSPECT_SECONDS) return; + lastInspection.set(state.id, now); + const w = park.of(ctx); + let worst: { obj: ParkObject; wear: number } | null = null; + for (const ride of rideObjects(ctx)) { + if (Math.hypot(ride.x - post.x, ride.z - post.z) > radius + ride.def.footprint / 2) continue; + const view = rideView(ride.id); + if (view === null || view.phase === "broken" || view.wear < INSPECT_WEAR) continue; + if (worst === null || view.wear > worst.wear) worst = { obj: ride, wear: view.wear }; + } + if (worst === null) return; + const action = `service_${worst.obj.kind}`; + if (w.canAct(action, worst.obj.id) === null) w.act(action, worst.obj.id); +} + /** - * A janitor's shift on the clock: the agent's own work beat says which point of its ring it should - * be at, and the body walks there. + * Staff on the clock: the agent's own work beat says which point of its patrol it should be at, + * the body walks there, and the role does its job. */ export function tickStaff(ctx: GameContext, dt: number): void { syncStaff(ctx); @@ -53,6 +94,7 @@ export function tickStaff(ctx: GameContext, dt: number): void { for (const state of session.staff.values()) { const post = parkObject(ctx, state.postId); if (post === undefined) continue; + const radius = patrolRadius(w, post.id); const agent = staffAgentOf(state, post, ctx.rng); const frame = agent.update({ dt, @@ -64,23 +106,45 @@ export function tickStaff(ctx: GameContext, dt: number): void { }); const working = frame.phase?.activity === "work" && frame.post !== null; - const goal = working ? beatPoint(post, frame.post) : ([0, 0, 56] as [number, number, number]); + const goal = working ? beatPoint(post, radius, frame.post) : ([0, 0, 56] as [number, number, number]); if (goal === null) continue; const next = ctx.scene.entity.moveToward(state.id, goal, { speed: STAFF_WALK_SPEED, dt, stopDistance: 0.4 }); - if (next !== null) ctx.scene.entity.setPose(state.id, { position: next }); + if (next !== null) { + const feet: [number, number, number] = [next[0], groundAt(park.of(ctx), next[0], next[2]), next[2]]; + ctx.scene.entity.setPose(state.id, { position: feet }); + } + if (!working) continue; + const role = post.def.staff!.role; const at = ctx.scene.entity.get(state.id)?.position ?? goal; - if (working && Math.hypot(at[0] - goal[0], at[2] - goal[2]) <= 0.8 && w.num("park.litter") > 0) { + if (role === "handyman" && Math.hypot(at[0] - goal[0], at[2] - goal[2]) <= 0.8 && w.num("park.litter") > 0) { w.change({ "park.litter": -CLEAN_PER_POST }); } + if (role === "mechanic") inspect(ctx, state, post, radius); + } +} + +/** Which roles are on duty within reach of a point: what a guest standing there feels. */ +export function staffCover(ctx: GameContext, x: number, z: number): Set { + const roles = new Set(); + const w = park.of(ctx); + for (const state of session.staff.values()) { + const post = parkObject(ctx, state.postId); + if (post === undefined) continue; + if (Math.hypot(x - post.x, z - post.z) <= patrolRadius(w, post.id)) roles.add(post.def.staff!.role); } + return roles; } /** Staff bodies the park had at save time; the agents come back from their own snapshots. */ export function restoreStaff(ctx: GameContext, states: readonly StaffState[]): void { for (const state of states) { const post = parkObject(ctx, state.postId); - if (post === undefined) continue; + if (post === undefined || post.def.staff === undefined) continue; session.staff.set(state.id, state); - ctx.scene.entity.spawn("guest_c", { id: state.id, position: [post.x, 0, post.z], role: "npc" }); + ctx.scene.entity.spawn(STAFF_BODY[post.def.staff.role], { id: state.id, position: [post.x, 0, post.z], role: "npc" }); } } + +export function resetStaffClock(): void { + lastInspection.clear(); +} diff --git a/brightway-park/src/game/ui/GameUI.tsx b/brightway-park/src/game/ui/GameUI.tsx index 1cf7f936..514aa37b 100644 --- a/brightway-park/src/game/ui/GameUI.tsx +++ b/brightway-park/src/game/ui/GameUI.tsx @@ -11,7 +11,8 @@ import { Inspector } from "./components/Inspector"; import { ParkBooks, ParkGoal, ParkStatus } from "./components/ParkDashboard"; import { ParkFlow, resultOpen } from "./components/ParkFlow"; import { ParkMenu } from "./menu/ParkMenu"; -import { PARK_PANELS } from "./panels"; +import { BUILD_PANEL, PARK_PANELS, RESEARCH_PANEL } from "./panels"; +import { ResearchPanel } from "./components/ResearchPanel"; import { session } from "../session"; import { usePark } from "./usePark"; @@ -44,10 +45,11 @@ export function GameUI() { commands.run("pauseToggle", {})}>Ⅱ {clock.speeds.map((s) => commands.run("park.speed", { speed: s })}>{s}×)} panels.toggle("build")}>Build + panels.toggle(RESEARCH_PANEL)}>Lab panels.toggle("books")}>Books -

-
{!clock.paused && }{panels.isOpen("build") && panels.close("build")} />}
+
{inspecting ? : panels.isOpen("books") ? panels.close("books")} /> : panels.isOpen(RESEARCH_PANEL) ? panels.close(RESEARCH_PANEL)} /> : null}
+
{!clock.paused && }{panels.isOpen(BUILD_PANEL) && panels.close(BUILD_PANEL)} onResearch={() => { panels.close("books"); panels.open(RESEARCH_PANEL); }} />}
} diff --git a/brightway-park/src/game/ui/components/BuildBar.tsx b/brightway-park/src/game/ui/components/BuildBar.tsx index 56306054..0790d9d6 100644 --- a/brightway-park/src/game/ui/components/BuildBar.tsx +++ b/brightway-park/src/game/ui/components/BuildBar.tsx @@ -4,44 +4,97 @@ import { useGameContext } from "@jgengine/react/provider"; import { useStore } from "@jgengine/react/store"; import { KitActionPrompt, KitButton, KitPanel } from "@jgengine/react/uiKitRoot"; -import { BUILDABLES, CATEGORY_ICON, CATEGORY_LABEL, CATEGORY_ORDER, type BuildCategory } from "../../objects/catalog"; -import { MILESTONES } from "../../milestones"; +import { + BUILDABLES, + CATEGORY_ICON, + CATEGORY_LABEL, + CATEGORY_ORDER, + RIDE_GROUPS, + RIDE_GROUP_LABEL, + type BuildCategory, + type BuildableDef, + type RideGroup, +} from "../../objects/catalog"; import { session } from "../../session"; import { placementHintStore } from "../../build/placementHint"; -import { guestRidePreference, rideFit, rideThrill } from "../../sim/rideExperience"; +import { isLandTool, LAND_COST, LAND_TOOLS } from "../../build/terrain"; +import { LINE_KINDS } from "../../build/commands"; +import { canUndo } from "../../build/undo"; +import { PRICE_TOLERANCE } from "../../park"; +import { guestRidePreference, rideFit } from "../../sim/rideExperience"; import { coasterCircuit } from "../../rides"; import { usePark } from "../usePark"; -/** The catalog as a strip of fair tickets: pick a category, pick a ticket, place it on the park. */ -export function BuildBar({ onClose }: { onClose: () => void }) { +/** The three numbers a ride is judged by, as a compact line. */ +function ratingsLine(def: BuildableDef): string { + const ride = def.ride!; + return `Excitement ${ride.excitement.toFixed(1)} · Intensity ${ride.intensity.toFixed(1)} · Nausea ${ride.nausea.toFixed(1)}`; +} + +/** What the footer says about the picked blueprint: its numbers, or why it can't go here. */ +function blueprintDetail(def: BuildableDef, circuit: ReturnType): string { + const how = LINE_KINDS.has(def.id) ? " · click, or drag to lay a line" : ""; + if (def.ride !== undefined && def.id !== "ride_coaster") { + const fits = ["guest_a", "guest_c", "guest_d"].map((k) => `${guestRidePreference(k).label} ${Math.round(rideFit(k, def.id, circuit) * 100)}%`).join(" · "); + return `${ratingsLine(def)} · ${def.ride.capacity} riders · $${def.ride.price} ticket · ${fits}`; + } + if (def.category === "track" || def.id === "ride_coaster") return circuit.closed ? `${Math.round(circuit.length)} m lap · ${circuit.lapSeconds.toFixed(1)} s ride · excitement ${circuit.excitement.toFixed(1)}` : "Lay track until the loop comes back to the station"; + if (def.stall !== undefined) return `Sells at $${def.stall.price} · guests pay up to $${Math.floor(def.stall.value * PRICE_TOLERANCE)} · $${def.upkeep} a day`; + if (def.theme !== undefined) return `Adds ${def.theme.bonus} charm to every ride within ${def.theme.radius} m`; + return `${def.blurb}${how}`; +} + +/** The catalog as a strip of fair tickets: pick a category (and ride family), pick a ticket, place it on the park. */ +export function BuildBar({ onClose, onResearch }: { onClose: () => void; onResearch: () => void }) { const [category, setCategory] = useState("ride"); + const [group, setGroup] = useState("gentle"); const { commands } = useGame(); const w = usePark(); const ctx = useGameContext(); const cash = w.num("park.cash"); const selected = useGameStore(() => session.selectedTool); + const undoable = useGameStore(() => canUndo()); const refusal = useStore(placementHintStore); - useEffect(() => { if (selected && BUILDABLES[selected]) setCategory(BUILDABLES[selected]!.category); }, [selected]); + useEffect(() => { + if (isLandTool(selected)) { setCategory("land"); return; } + const def = selected === null ? undefined : BUILDABLES[selected]; + if (def === undefined) return; + setCategory(def.category); + if (def.ride !== undefined) setGroup(def.ride.group); + }, [selected]); const blueprint = selected === null ? undefined : BUILDABLES[selected]; + const land = isLandTool(selected) ? LAND_TOOLS[selected] : undefined; const circuit = coasterCircuit(ctx); - const detail = blueprint === undefined ? "Pick a ticket, then a green spot on the park. Click anything built to inspect it." - : refusal ?? (blueprint.ride !== undefined ? `$${blueprint.upkeep} a day · Intensity ${rideThrill(blueprint.id, circuit).toFixed(1)} · ${["guest_a", "guest_c", "guest_d"].map((k) => `${guestRidePreference(k).label} ${Math.round(rideFit(k, blueprint.id, circuit) * 100)}%`).join(" · ")}` - : blueprint.category === "track" ? (circuit.closed ? `${Math.round(circuit.length)} m lap · excitement ${circuit.excitement.toFixed(1)}` : "Lay track until the loop comes back to the station") - : `${blueprint.label} · $${blueprint.upkeep} a day upkeep`); + const detail = land !== undefined ? refusal ?? `${land.label} · $${LAND_COST} a cell · click a cell or drag over an area · U undoes` + : blueprint === undefined ? "Pick a ticket, then a green spot on the park. Click anything built to inspect it." + : refusal ?? blueprintDetail(blueprint, circuit); + const items = Object.values(BUILDABLES).filter((d) => d.category === category && (category !== "ride" || d.ride?.group === group)); + const picked = blueprint?.label ?? land?.label; return (
- {blueprint !== undefined ? commands.run("clearTool", {})} /> : null} - {detail}}> + {picked !== undefined ? commands.run("clearTool", {})} /> : null} + {detail}}>
{CATEGORY_ORDER.map((c) => setCategory(c)}>{CATEGORY_LABEL[c]})} + commands.run("build.undo", {})}>Undo + Lab ✕
+ {category === "ride" ?
+ {RIDE_GROUPS.map((g) => setGroup(g)}>{RIDE_GROUP_LABEL[g]})} +
: null}
- {Object.values(BUILDABLES).filter((d) => d.category === category).map((def) => { - // Locked is the world's word: the kind's `when` reads the park's best rating. + {category === "land" ? Object.entries(LAND_TOOLS).map(([id, tool]) => ( + commands.run("build.select", { id })} + glyph={${LAND_COST}}>{tool.label} + )) : null} + {items.map((def) => { + // Locked is the world's word: the kind's `when` reads its lab topic. A locked ticket opens the lab. const locked = w.canPlace(def.id)?.reason === "locked"; - return commands.run("build.select", { id: def.id })} - glyph={locked ? `★${MILESTONES.find((x) => x.unlock === def.requires)?.rating ?? "?"}` : ${def.cost}}>{def.label}; + return (locked ? onResearch() : commands.run("build.select", { id: def.id }))} + glyph={locked ? `Lab $${(def.research?.cost ?? 0).toLocaleString()}` : ${def.cost.toLocaleString()}}>{def.label}; })}
diff --git a/brightway-park/src/game/ui/components/GuestPanel.tsx b/brightway-park/src/game/ui/components/GuestPanel.tsx index cc7227f8..157dc764 100644 --- a/brightway-park/src/game/ui/components/GuestPanel.tsx +++ b/brightway-park/src/game/ui/components/GuestPanel.tsx @@ -18,7 +18,7 @@ function activity(name: string | null, phase: string): string { return "Looking for something to do"; } -/** The guest window: the mood the shared agent loop holds, its needs, and what it is doing. */ +/** The guest window: the mood the shared agent loop holds, what it is thinking, its needs, and what it is doing. */ export function GuestPanel({ id }: { id: string }) { const ctx = useGameContext(); const view = useGameStore(() => { @@ -27,16 +27,21 @@ export function GuestPanel({ id }: { id: string }) { const agent = liveAgent(id); const mood = agent?.mood(); const fullness = (need: string) => Math.round((agent?.needs.fraction(need) ?? 0) * 100); - return [guest.kind, mood?.label ?? "", Math.round(mood?.score ?? 0), Math.round(guest.money), fullness("hunger"), fullness("thirst"), guest.visits, guest.phase, guest.targetId ?? ""].join("|"); + return [guest.kind, mood?.label ?? "", Math.round(mood?.score ?? 0), Math.round(guest.money), fullness("hunger"), fullness("thirst"), guest.visits, guest.phase, guest.targetId ?? "", + fullness("toilet"), fullness("nausea"), fullness("energy"), fullness("info"), (guest.thoughts ?? []).map((thought) => thought.text).join("~")].join("|"); }); if (view === null) return null; - const [kind, moodLabel, moodScore, money, fullness, thirst, visits, phase, targetId] = view.split("|"); + const [kind, moodLabel, moodScore, money, fullness, thirst, visits, phase, targetId, toilet, stomach, energy, bearings, thoughts] = view.split("|"); const score = Number(moodScore); return ( }>

{activity(parkObject(ctx, targetId === "" ? null : targetId!)?.def.label ?? null, phase!)}

= 50 ? "good" : score >= 35 ? "warn" : "bad"} /> - + {thoughts ?
    + {thoughts.split("~").map((text, i) =>
  • “{text}”
  • )} +
: null} +
); } diff --git a/brightway-park/src/game/ui/components/Inspector.tsx b/brightway-park/src/game/ui/components/Inspector.tsx index ab8421b3..7c1d3376 100644 --- a/brightway-park/src/game/ui/components/Inspector.tsx +++ b/brightway-park/src/game/ui/components/Inspector.tsx @@ -6,7 +6,8 @@ import { KitButton, KitMeter, KitPanel } from "@jgengine/react/uiKitRoot"; import { session } from "../../session"; import { guestRidePreference, rideFit, rideThrill } from "../../sim/rideExperience"; import { coasterCircuit, rideView, trackPieces } from "../../rides"; -import { parkObject, repairAction, ridePrice, stockOf } from "../../park"; +import { fairPrice, parkObject, patrolRadius, PATROL, repairAction, ridePrice, stallPrice, stockOf } from "../../park"; +import { accessOf, connectCost } from "../../build/links"; import { refundOf } from "../../parkScene"; import { usePark } from "../usePark"; import { GuestPanel } from "./GuestPanel"; @@ -52,6 +53,9 @@ export function Inspector() { const repair = def.ride === undefined ? null : repairAction(w, obj.kind); const repairCost = repair === null ? 0 : -(w.costOf(repair, obj.id)["park.cash"] ?? 0); const repairRefusal = repair === null ? null : w.canAct(repair, obj.id); + const access = accessOf(ctx, obj.id); + const shut = access !== null && !access.open; + const excitement = rideView(obj.id)?.ratings.excitement ?? 0; const crew = order === null ? "waiting for the crew" : order.active ? `crew on it · ${Math.ceil(order.remaining)}s` : "crew queued"; return ( } @@ -59,17 +63,31 @@ export function Inspector() { {def.ride === undefined ? null : broken && order === null ? act(repair!)}>Send the crew · ${repairCost} : act(`service_${obj.kind}`)}>Service · ${def.ride.breakdown.serviceCost}} - commands.run("brightway.remove", { id: obj.id })}>Demolish · +${refundOf(obj.kind)} + commands.run("build.demolish", { id: obj.id })}>Demolish · +${refundOf(obj.kind)} }>

{def.blurb}

+ {shut ?
+ Closed · {access.reason} + commands.run("build.connect", { id: obj.id })}>Connect it · ${connectCost(ctx, obj.id)} +
: null} {def.ride !== undefined ? <>
{broken ? `Offline · ${crew}` : `${PHASE_LABEL[phase ?? "idle"]} · ${riders ?? 0} aboard`} act(`price_down_${obj.kind}`)}>−${ridePrice(w, obj.kind)} act(`price_up_${obj.kind}`)}>+
+
Guests pay up to${Math.floor(fairPrice(w, obj, excitement))}
{order !== null ? : null} : null} + {def.stall !== undefined ?
Price · guests pay up to ${Math.floor(fairPrice(w, obj, 0))} + act(`price_down_${obj.kind}`)}>−${stallPrice(w, obj.kind)} + act(`price_up_${obj.kind}`)}>+
: null} + {def.staff !== undefined ?
Patrol area + act(`patrol_narrower_${obj.kind}`)}>−{patrolRadius(w, obj.id)} m + = PATROL.max} onClick={() => act(`patrol_wider_${obj.kind}`)}>+
: null} 0 ? `${access.line.length} tiles` : "none · guests wait at the entrance"]] as [string, string][] : []), ...(def.ride !== undefined ? [["In line", `${queued ?? 0} · ${Math.round(Number(waitSeconds ?? 0))}s wait`], ["Since service", `${wear ?? 0} runs`], ["Breakdowns", `${breakdowns ?? 0} in ${cycles ?? 0} runs`], ["Intensity", rideThrill(def.id, circuit).toFixed(1)], ...["guest_a", "guest_c", "guest_d"].map((kind) => [`${guestRidePreference(kind).label} fit`, `${Math.round(rideFit(kind, def.id, circuit) * 100)}%`])] as [string, string][] : []), ...(def.id === "ride_coaster" ? [["Circuit", circuit.closed ? `${circuit.pieces} pieces · ${Math.round(circuit.length)} m · ${circuit.lapSeconds.toFixed(1)} s` : `${tracks} laid · loop open`], diff --git a/brightway-park/src/game/ui/components/ParkDashboard.tsx b/brightway-park/src/game/ui/components/ParkDashboard.tsx index 5216ad63..573dd350 100644 --- a/brightway-park/src/game/ui/components/ParkDashboard.tsx +++ b/brightway-park/src/game/ui/components/ParkDashboard.tsx @@ -10,6 +10,7 @@ import { scenarioView } from "../../parkReset"; import { rideBoard } from "../../rides"; import { scenarioDef } from "../../scenarios"; import { session } from "../../session"; +import { BLUE_RIBBON } from "../../milestones"; import { nextMilestone, nextStepText } from "../nextStep"; import { usePark } from "../usePark"; import { Rows } from "./Inspector"; @@ -25,11 +26,16 @@ export function ParkStatus() { const m = parkMetrics(w); const cash = w.num("park.cash"), rating = w.num("park.rating"), mood = w.num("park.mood"), clean = 100 - w.num("park.litter"); const open = w.fact("park.open") === true, down = m.rides - m.ridesOpen; + // What the crowd is thinking most, freshest first: complaints in the warning colour. + const said = useGameStore(() => session.thoughts.top.slice(0, 3).map((t) => `${t.label}:${t.count}:${t.complaint ? 1 : 0}`).join("|")); return (
{guests} / {guestCap(rating)} guests{down > 0 ? {down} {down === 1 ? "ride" : "rides"} down : null}
+ {said ?
    + {said.split("|").map((entry) => { const [label, count, complaint] = entry.split(":"); return
  • “{label}” {count}
  • ; })} +
: null}
); } @@ -54,18 +60,18 @@ export function ParkGoal() { hint="Cheaper tickets and more rides pull a bigger crowd." progressKey={`${Math.round(scenario.visitors / 5)}`} />; } const steps = [ - { id: "rides", label: `Three rides · ${Math.min(m.rides, 3)}/3`, done: m.rides >= 3, next: "Build a third ride" }, - { id: "rating", label: `Rating · ${Math.round(rating)}/220`, done: rating >= 220, next: "Raise the rating to 220" }, + { id: "rides", label: `${BLUE_RIBBON.rides} rides · ${Math.min(m.rides, BLUE_RIBBON.rides)}/${BLUE_RIBBON.rides}`, done: m.rides >= BLUE_RIBBON.rides, next: `Build up to ${BLUE_RIBBON.rides} rides` }, + { id: "rating", label: `Rating · ${Math.round(rating)}/${BLUE_RIBBON.rating}`, done: rating >= BLUE_RIBBON.rating, next: `Raise the rating to ${BLUE_RIBBON.rating}` }, { id: "profit", label: day > 1 ? `Last day ${net < 0 ? "lost" : "made"} ${money(Math.abs(net))}` : "Finish a profitable day", done: day > 1 && net >= 0, next: "Finish a day in profit" }, - { id: "happy", label: "Happy 50%+ · clean 60%+", done: mood >= 50 && litter <= 40, next: "Cheer guests up and tidy the paths" }, + { id: "happy", label: `Happy ${BLUE_RIBBON.mood}%+ · clean ${100 - BLUE_RIBBON.litter}%+`, done: mood >= BLUE_RIBBON.mood && litter <= BLUE_RIBBON.litter, next: "Cheer guests up and tidy the paths" }, ]; const next = steps.find((s) => !s.done); - const hint = litter > 25 ? "Litter is piling up: hire a janitor from Staff." : m.stalls < 3 ? "Hungry guests turn grumpy: add food and drink from Shops." : m.rides < 3 ? "Open Rides in the build palette and place one on an empty plot." : nextStepText(peak) ?? "Mix gentle rides and thrills: families and thrill seekers want different days out."; + const hint = litter > 25 ? "Litter is piling up: hire a handyman from Staff." : m.stalls < 3 ? "Hungry guests turn grumpy: add food and drink from Shops." : m.rides < 3 ? "Open Rides in the build palette and place one on an empty plot." : nextStepText(peak) ?? "Mix gentle rides and thrills: families and thrill seekers want different days out."; return s.done).length} />; } -/** The ledger, the gate price, the loan and the next unlock: open when the player asks for them. Buttons run `brightway.act`. */ +/** The ledger, the gate price, the bank and the next award: open when the player asks for them. Buttons run `brightway.act`. */ export function ParkBooks({ onClose }: { onClose: () => void }) { const { commands } = useGame(); const w = usePark(); @@ -75,16 +81,17 @@ export function ParkBooks({ onClose }: { onClose: () => void }) { const owed = w.num("park.loan_owed"); return ( ✕} - footer={owed <= 0 - ? act("take_loan")}>Take a {money(LOAN.principal)} loan · {money(LOAN.payment)}/night × {LOAN.nights} - : act("repay_loan")}>Pay an instalment early · {money(LOAN.payment)}}> + footer={<> + LOAN.max - LOAN.step} onClick={() => act("take_loan")}>Borrow {money(LOAN.step)} + act("repay_loan")}>Repay {money(LOAN.step)} + }>
Entry ticket act("ticket_down")}>−${w.num("park.ticket")} act("ticket_up")}>+
0 ? [["Ride lines", `${rides.queued} waiting`] as [string, string]] : []), - ...(owed > 0 ? [["Loan owed", `${money(owed)} · ${Math.ceil(owed / LOAN.payment)} nights`] as [string, string]] : [])]} /> - {next !== null ? : null} + ["Loan owed", owed > 0 ? `${money(owed)} of ${money(LOAN.max)} · ${money(owed * LOAN.dailyRate)}/night interest` : `none · up to ${money(LOAN.max)}`]]} /> + {next !== null ? : null}
); } diff --git a/brightway-park/src/game/ui/components/ResearchPanel.tsx b/brightway-park/src/game/ui/components/ResearchPanel.tsx new file mode 100644 index 00000000..1c7eb621 --- /dev/null +++ b/brightway-park/src/game/ui/components/ResearchPanel.tsx @@ -0,0 +1,58 @@ +import { useGame } from "@jgengine/react/hooks"; +import { KitButton, KitMeter, KitPanel } from "@jgengine/react/uiKitRoot"; + +import { BUILDABLES, RIDE_GROUPS, RIDE_GROUP_LABEL, type BuildableDef } from "../../objects/catalog"; +import { researched } from "../../park"; +import { usePark } from "../usePark"; + +/** The lab's families: every ride group, then shops, theming and staff. */ +function families(): { id: string; label: string; topics: BuildableDef[] }[] { + const all = Object.values(BUILDABLES); + const researchable = (list: BuildableDef[]) => list.filter((def) => def.research !== undefined); + return [ + ...RIDE_GROUPS.map((group) => ({ id: group, label: RIDE_GROUP_LABEL[group], topics: researchable(all.filter((def) => def.ride?.group === group)) })), + { id: "stall", label: "Shops", topics: researchable(all.filter((def) => def.category === "stall")) }, + { id: "scenery", label: "Theming", topics: researchable(all.filter((def) => def.category === "scenery")) }, + { id: "staff", label: "Staff", topics: researchable(all.filter((def) => def.category === "staff")) }, + ].filter((family) => family.topics.length > 0); +} + +/** + * The research lab. Each topic is the world's `research_` action: its fee up front, its time + * in the `lab` queue. The panel reads the queue and every topic's refusal from the world. + */ +export function ResearchPanel({ onClose }: { onClose: () => void }) { + const { commands } = useGame(); + const w = usePark(); + const orders = w.orders("lab"); + const queued = new Set(orders.map((order) => order.label)); + return ( + ✕}> +

{orders.length === 0 ? "Idle: pick a topic. Each opens after the one before it in its family." : `${orders.length} in the lab`}

+ {orders.map((order) => ( + + ))} + {families().map((family) => ( +
+

{family.label}

+ {family.topics.map((def) => { + const action = `research_${def.id}`; + const done = w.fact(researched(def.id)) === true; + const inLab = queued.has(`Research ${def.label}`); + const refusal = done || inLab ? null : w.canAct(action); + return ( + commands.run("brightway.act", { action })} + glyph={done ? "ready" : inLab ? "in lab" : `$${def.research!.cost.toLocaleString()} · ${def.research!.seconds}s`}> + {def.label} + + ); + })} +
+ ))} +
+ ); +} diff --git a/brightway-park/src/game/ui/nextStep.test.ts b/brightway-park/src/game/ui/nextStep.test.ts index 6a9857fe..1cbd8284 100644 --- a/brightway-park/src/game/ui/nextStep.test.ts +++ b/brightway-park/src/game/ui/nextStep.test.ts @@ -4,28 +4,25 @@ import { MILESTONES } from "../milestones"; import { nextMilestone, nextStepText } from "./nextStep"; describe("objective next step", () => { - test("starts with the first milestone at 60 rating", () => { - expect(nextMilestone(0)?.unlock).toBe("tier_flowers"); - expect(nextStepText(0)).toBe( - "Raise rating to 60 ★ — add scenery and keep guests happy to unlock Flower Bed & Lamp Post", - ); + test("starts with the first award", () => { + expect(nextMilestone(0)?.id).toBe("tidy_start"); + expect(nextStepText(0)).toBe("Reach a 250 ★ rating for the Promising Newcomer award ($500)"); }); - test("a rating exactly on a milestone moves on to the next one", () => { - expect(nextMilestone(60)?.rating).toBe(120); - expect(nextStepText(60)).toContain("unlock Drinks Kiosk & Fountain"); + test("a rating exactly on an award moves on to the next one", () => { + expect(nextMilestone(250)?.rating).toBe(400); }); - test("text is actionable: names the target rating and the content that appears", () => { - for (const m of MILESTONES.slice(0, -1)) { - const text = nextStepText(m.rating - 1); - expect(text).toStartWith("Raise rating to "); + test("text names the target rating, the award and its prize", () => { + for (const m of MILESTONES) { + const text = nextStepText(m.rating - 1)!; expect(text).toContain(`${m.rating} ★`); - expect(text).toContain("unlock "); + expect(text).toContain(m.label); + expect(text).toContain(`$${m.prize.toLocaleString()}`); } }); - test("returns null once every milestone is unlocked", () => { + test("returns null once every award is won", () => { const top = MILESTONES[MILESTONES.length - 1]!; expect(nextMilestone(top.rating)).toBeNull(); expect(nextStepText(top.rating + 100)).toBeNull(); diff --git a/brightway-park/src/game/ui/nextStep.ts b/brightway-park/src/game/ui/nextStep.ts index d647c5a4..ed8be65e 100644 --- a/brightway-park/src/game/ui/nextStep.ts +++ b/brightway-park/src/game/ui/nextStep.ts @@ -1,15 +1,10 @@ -import { milestoneContents, nextMilestone } from "../milestones"; +import { nextMilestone } from "../milestones"; -/** - * Plain-language next step for the objective card, derived from the milestone gates. - * Names the action (raise rating) and the reward (the content that appears) so a new player knows - * what to do and what changes when they do it. - */ +/** Plain-language next step for the objective card: the next award, its rating and its prize. */ export function nextStepText(rating: number): string | null { const next = nextMilestone(rating); if (next === null) return null; - const contents = milestoneContents(next.unlock); - return `Raise rating to ${next.rating} ★ — add scenery and keep guests happy to unlock ${contents.length > 0 ? contents.join(" & ") : next.label}`; + return `Reach a ${next.rating} ★ rating for the ${next.label} award ($${next.prize.toLocaleString()})`; } export { nextMilestone }; diff --git a/brightway-park/src/game/ui/panels.ts b/brightway-park/src/game/ui/panels.ts index b883f52d..0db61ef1 100644 --- a/brightway-park/src/game/ui/panels.ts +++ b/brightway-park/src/game/ui/panels.ts @@ -2,11 +2,16 @@ import type { PanelDef } from "@jgengine/core/ui/panelModel"; /** * The park's toggleable windows on the engine's `usePanels` manager: the build palette starts open - * (B toggles it) and the park books open on request (L); ESC closes the top one. + * (B toggles it); the research lab (R) and the park books (L) open on request; ESC closes the top one. */ export const PARK_PANELS: readonly PanelDef[] = [ { id: "build", title: "Build palette", hotkey: "KeyB", initial: true }, + { id: "research", title: "Research lab", hotkey: "KeyR" }, { id: "books", title: "Park books", hotkey: "KeyL" }, ]; +/** The panel id the research lab renders under. */ +export const RESEARCH_PANEL = "research"; + +/** The panel id the build palette renders under. */ export const BUILD_PANEL = "build"; diff --git a/brightway-park/src/style.css b/brightway-park/src/style.css index de7d5a86..577632b4 100644 --- a/brightway-park/src/style.css +++ b/brightway-park/src/style.css @@ -26,6 +26,11 @@ html,body,#root{height:100%;margin:0;background:#24444c} .bw-field input{width:min(360px,100%);padding:6px 4px;border:0;border-bottom:2px dashed var(--kit-ink);background:transparent;color:var(--kit-ink);font:700 22px var(--kit-font-display);outline:none} .bw-field input:focus{border-bottom-color:var(--kit-accent)} .bw-scenarios{display:flex;flex-wrap:wrap;gap:12px}.bw-scenarios small{display:block;margin-top:4px;font:600 12px var(--kit-font-body)} +.bw-shut{display:grid;gap:6px;margin:0 0 8px;font-size:13px} +.bw-lab{display:grid;gap:4px;margin-top:10px}.bw-lab h3{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--kit-pencil)} +.bw-thoughts,.bw-said{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;font-size:13px;font-style:italic} +.bw-thoughts li{color:var(--kit-pencil)}.bw-thoughts li[data-latest]{color:var(--kit-ink);font-weight:700} +.bw-said li{display:flex;justify-content:space-between;color:var(--kit-good)}.bw-said li[data-bad]{color:var(--kit-bad)} @media(max-width:650px){ .bw-left{top:56px;left:8px;width:min(260px,calc(100% - 16px));gap:12px} .bw-time{top:8px;right:8px} From 6b1ead7cea825225951b7941655c55a9a889cf74 Mon Sep 17 00:00:00 2001 From: NoisemakerJon <139656120+Noisemaker111@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:06:15 -0400 Subject: [PATCH 2/3] brightway-park: depth work on the kit HUD - research lab, ride families, connect and undo, guest thoughts, staff patrols, bank in $1,000 steps --- .../proofs/flows/build-staff-thoughts.json | 39 ++++++++ brightway-park/proofs/flows/to-open-park.json | 8 +- brightway-park/src/game/build/commands.ts | 8 +- brightway-park/src/game/build/undo.ts | 16 ++-- brightway-park/src/game/capture.ts | 7 +- brightway-park/src/game/drive.test.ts | 92 +++++++++++++++++++ brightway-park/src/game/session.ts | 7 ++ brightway-park/src/game/sim/thoughts.ts | 3 + brightway-park/src/style.css | 2 + 9 files changed, 164 insertions(+), 18 deletions(-) create mode 100644 brightway-park/proofs/flows/build-staff-thoughts.json create mode 100644 brightway-park/src/game/drive.test.ts diff --git a/brightway-park/proofs/flows/build-staff-thoughts.json b/brightway-park/proofs/flows/build-staff-thoughts.json new file mode 100644 index 00000000..94628d43 --- /dev/null +++ b/brightway-park/proofs/flows/build-staff-thoughts.json @@ -0,0 +1,39 @@ +{ "steps": [ + { "assert": "/gates open/i.test(document.body.innerText)", + "before": { "is": "/gates open/i.test(document.body.innerText)", "timeoutMs": 30000 }, + "note": "arrival: the park day is running and the gate is open" }, + + { "key": "Digit1", "ms": 80, "note": "the palette's carousel hotkey" }, + { "clickAt": [1120, 420], "note": "an empty plot right of the main path, clear of the palette" }, + { "assert": "document.body.innerText.includes('8 rides · 3/8')", + "before": { "is": "document.body.innerText.includes('8 rides · 3/8')", "timeoutMs": 5000 }, + "note": "arrival: the starter park's two rides plus the placed carousel" }, + + { "clickAt": [1120, 400], "note": "click the new carousel to inspect it" }, + { "assert": "document.querySelector('.bw-side')?.innerText.includes('Needs an entrance') === true", + "before": { "is": "document.querySelector('.bw-side')?.innerText.includes('Connect it') === true", "timeoutMs": 5000 }, + "note": "arrival: a new ride is shut until it has an entrance, an exit and a path, and says so" }, + { "click": "Connect it" }, + { "assert": "document.body.innerText.includes('Connected')", + "before": { "is": "document.body.innerText.includes('Connected')", "timeoutMs": 5000 }, + "note": "arrival: Connect it laid the entrance, exit and paths, so the ride opens" }, + { "shot": "brightway-connected" }, + + { "click": "Staff" }, + { "click": "Handyman" }, + { "clickAt": [1300, 470], "note": "grass right of the carousel, inside the fence" }, + { "assert": "document.body.innerText.includes('Handyman built')", + "before": { "is": "document.body.innerText.includes('Handyman built')", "timeoutMs": 5000 }, + "note": "arrival: a handyman is hired, the park's own notice confirming it" }, + + { "assert": "document.querySelectorAll('.bw-said li').length > 0", + "before": { "is": "document.querySelectorAll('.bw-said li').length > 0", "timeoutMs": 30000 }, + "note": "arrival: the status card lists what the crowd is saying, from the live guests' thoughts" }, + { "assert": "window.__jgengineAgent.handle({ method: 'run_command', name: 'park.pointer', input: { point: [0, 0, 0], entity: window.__brightway.read().thinkingGuests[0], object: null } }).status", + "is": "applied", + "note": "pick a live guest the way a click on one does: the pointer command with that guest as the hit entity" }, + { "assert": "document.querySelector('.bw-thoughts li') !== null", + "before": { "is": "document.querySelector('.bw-thoughts li') !== null", "timeoutMs": 10000 }, + "note": "arrival: the guest window shows that guest's own thoughts" }, + { "shot": "brightway-guest-thoughts" } +] } diff --git a/brightway-park/proofs/flows/to-open-park.json b/brightway-park/proofs/flows/to-open-park.json index 0da97e9e..1fb74cff 100644 --- a/brightway-park/proofs/flows/to-open-park.json +++ b/brightway-park/proofs/flows/to-open-park.json @@ -4,13 +4,13 @@ "note": "arrival: the park day is running and the gate is open, not a title card" }, { "key": "Digit1", "ms": 80, "note": "the palette's carousel hotkey" }, - { "clickAt": [400, 700] }, - { "assert": "document.body.innerText.includes('Three rides · 3/3')", - "before": { "is": "document.body.innerText.includes('Three rides · 3/3')", "timeoutMs": 5000 }, + { "clickAt": [1120, 420], "note": "an empty plot right of the main path, clear of the palette" }, + { "assert": "document.body.innerText.includes('8 rides · 3/8')", + "before": { "is": "document.body.innerText.includes('8 rides · 3/8')", "timeoutMs": 5000 }, "note": "arrival: the starter park's two rides plus one placed carousel are online, so the ride exists in the park and not just as a selected blueprint" }, { "key": "Digit6", "ms": 80, "note": "the palette's path hotkey" }, - { "clickAt": [300, 700] }, + { "clickAt": [1300, 470] }, { "assert": "document.body.innerText.includes('Path built')", "before": { "is": "document.body.innerText.includes('Path built')", "timeoutMs": 5000 }, "note": "arrival: a guest path is on the ground, the park's own notice confirming the placement" }, diff --git a/brightway-park/src/game/build/commands.ts b/brightway-park/src/game/build/commands.ts index ff2811db..0a203979 100644 --- a/brightway-park/src/game/build/commands.ts +++ b/brightway-park/src/game/build/commands.ts @@ -26,8 +26,6 @@ function accessReason(ctx: GameContext, id: string): string | null { /** Blueprints laid as a line when the pointer is dragged: press on the first cell, let go on the last. */ export const LINE_KINDS: ReadonlySet = new Set(["path_walk", "path_queue"]); -/** Where the current drag started (a world point), set by the overlay on pointer-down. */ -let dragFrom: [number, number] | null = null; export type PointerInput = Pick; @@ -132,8 +130,8 @@ function tryBuild(ctx: GameContext, input: PointerInput): void { if (kind === null || !canBuild(ctx, kind)) return; if (!Array.isArray(input.point) || input.point.length !== 3 || !input.point.every(Number.isFinite)) return; const [x, , z] = input.point; - const from = dragFrom; - dragFrom = null; + const from = session.dragFrom; + session.dragFrom = null; if (isLandTool(kind)) { shapeArea(ctx, kind, from ?? [x, z], [x, z]); return; @@ -280,7 +278,7 @@ export function registerBuildCommands(ctx: GameContext): void { // The overlay marks where a left-button press began; the click that ends it lays the line or area. ctx.game.commands.define<{ point: [number, number] | null }>("build.dragFrom", { apply(_state, input) { - dragFrom = input.point === null || !input.point.every(Number.isFinite) ? null : [input.point[0], input.point[1]]; + session.dragFrom = input.point === null || !input.point.every(Number.isFinite) ? null : [input.point[0], input.point[1]]; }, }); diff --git a/brightway-park/src/game/build/undo.ts b/brightway-park/src/game/build/undo.ts index 1107b119..5a594f36 100644 --- a/brightway-park/src/game/build/undo.ts +++ b/brightway-park/src/game/build/undo.ts @@ -2,6 +2,7 @@ import type { WorldModel } from "@jgengine/core/worldModel/worldModel"; import { BUILDABLES } from "../objects/catalog"; import { setLevel } from "./terrain"; +import { session } from "../session"; /** * The builder's undo: the last few things the player did to the lot, newest last. Undoing a build @@ -14,23 +15,24 @@ export type BuildStep = | { type: "land"; cells: { col: number; row: number; level: number }[]; cost: number }; const LIMIT = 30; -const steps: BuildStep[] = []; +// The run's own undo list lives on the session, so a new park starts with none. +const steps = (): BuildStep[] => session.undo; export function recordStep(step: BuildStep): void { - steps.push(step); - if (steps.length > LIMIT) steps.shift(); + steps().push(step); + if (steps().length > LIMIT) steps().shift(); } export function clearUndo(): void { - steps.length = 0; + steps().length = 0; } export function canUndo(): boolean { - return steps.length > 0; + return steps().length > 0; } export function lastStep(): BuildStep | null { - return steps.at(-1) ?? null; + return steps().at(-1) ?? null; } /** @@ -43,7 +45,7 @@ export function undoStep( place: (kind: string, cell: [number, number], rot: number) => string | null, remove: (id: string) => boolean, ): string | null { - const step = steps.pop(); + const step = steps().pop(); if (step === undefined) return null; if (step.type === "place") { const before = w.num("park.cash"); diff --git a/brightway-park/src/game/capture.ts b/brightway-park/src/game/capture.ts index c6b3e2a9..cd169c60 100644 --- a/brightway-park/src/game/capture.ts +++ b/brightway-park/src/game/capture.ts @@ -14,6 +14,7 @@ import { spawnGuests, tickGuests, tickRidePark } from "./sim/guests"; import { tickStaff } from "./staff"; import { BLUE_RIBBON } from "./milestones"; import { park, parkMetrics } from "./park"; +import { BUILDABLES } from "./objects/catalog"; import { breakRide, syncRidePark } from "./rides"; /** What a staged park should look like when the capture takes it. */ @@ -98,7 +99,7 @@ export function forceBreakdown(ctx: GameContext, id: string): boolean { export function parkReadout(ctx: GameContext): Record { const w = park.of(ctx); const metrics = parkMetrics(w); - const rides = w.instances().filter((entry) => entry.kind.startsWith("ride_")); + const rides = w.instances().filter((entry) => BUILDABLES[entry.kind]?.ride !== undefined); return { started: session.started, cash: Math.round(w.num("park.cash")), @@ -115,6 +116,8 @@ export function parkReadout(ctx: GameContext): Record { rideIds: rides.map((entry) => entry.id), crew: w.orders("crew").map((order) => ({ target: order.target, progress: Math.round(order.progress * 100) / 100, active: order.active })), selected: session.selectedObject, + // A few live guests with something on their mind, so a drive can pick one the way a click does. + thinkingGuests: [...session.guests.values()].filter((guest) => (guest.thoughts?.length ?? 0) > 0).slice(0, 12).map((guest) => guest.id), structures: w.instances().length, // What the crowd is doing and which rides are shut: the drive reads it to check guests reach rides. phases: [...session.guests.values()].reduce>((acc, guest) => ({ ...acc, [guest.phase]: (acc[guest.phase] ?? 0) + 1 }), {}), @@ -130,7 +133,7 @@ export function registerCaptureCommands(ctx: GameContext): void { ctx.game.commands.define<{ id?: string }>("park.dev.break", { apply(state, input) { const w = park.of(state); - const id = input.id ?? w.instances().find((entry) => entry.kind.startsWith("ride_") && w.fact(`${entry.id}.broken`) !== true)?.id; + const id = input.id ?? w.instances().find((entry) => BUILDABLES[entry.kind]?.ride !== undefined && w.fact(`${entry.id}.broken`) !== true)?.id; if (id !== undefined) forceBreakdown(state, id); return state; }, diff --git a/brightway-park/src/game/drive.test.ts b/brightway-park/src/game/drive.test.ts new file mode 100644 index 00000000..ad6bcbe4 --- /dev/null +++ b/brightway-park/src/game/drive.test.ts @@ -0,0 +1,92 @@ +import { afterEach, beforeEach, expect, test } from "bun:test"; +import { createHeadlessRunner } from "@jgengine/core/runtime/headlessRunner"; + +import { game } from "../game.config"; +import { content } from "./content"; +import { DAY_LENGTH } from "./catalog"; +import { cellFor, LOAN, park } from "./park"; +import { accessOf } from "./build/links"; +import { rideView } from "./rides"; +import { session } from "./session"; + +const originalStorage = Object.getOwnPropertyDescriptor(globalThis, "localStorage"); +beforeEach(() => { + const records = new Map(); + Object.defineProperty(globalThis, "localStorage", { configurable: true, value: { + getItem: (key: string) => records.get(key) ?? null, + setItem: (key: string, value: string) => records.set(key, value), + removeItem: (key: string) => records.delete(key), + } }); +}); +afterEach(() => { + if (originalStorage) Object.defineProperty(globalThis, "localStorage", originalStorage); + else Reflect.deleteProperty(globalThis, "localStorage"); +}); + +/** + * A scripted session through the player's own commands: pick a ride from the palette, click the + * park, connect it, undo a hire, hire staff, research the mechanic and hire one, borrow from the + * bank, and let the day run until guests ride and say what they think. + */ +test("a player builds and connects a ride, hires staff, researches the mechanic, borrows, and reads guest thoughts", () => { + const runner = createHeadlessRunner({ definition: game.game, content, loop: game.game.loop, maxStepSeconds: 1 }); + runner.ui.invoke("park.start"); + runner.ctx.time.hydrate({ ...runner.ctx.time.snapshot(), now: DAY_LENGTH * 0.3, paused: false }); + const w = park.of(runner.ctx); + + /** Pick a blueprint, then click the first free spot on the lot: what the player does with the mouse. */ + const clickBuild = (kind: string): string => { + runner.ui.invoke("build.select", { id: kind }); + expect(session.selectedTool).toBe(kind); + for (let z = -50; z <= 50; z += 4) for (let x = -50; x <= 50; x += 4) { + if (w.canPlace(kind, { cell: cellFor(kind, x, z) }) !== null) continue; + const before = new Set(w.instances().map((i) => i.id)); + runner.ui.invoke("park.pointer", { point: [x, 0, z], entity: null, object: null }); + const placed = w.instances().find((i) => !before.has(i.id)); + if (placed !== undefined) return placed.id; + } + throw new Error(`no free spot for ${kind}`); + }; + + // A new ride starts shut until it has an entrance, an exit and a path; "Connect it" lays them. + const carousel = clickBuild("ride_carousel"); + expect(w.fact(`${carousel}.closed`)).toBe(true); + expect(accessOf(runner.ctx, carousel)?.open).toBe(false); + runner.ui.invoke("build.connect", { id: carousel }); + expect(accessOf(runner.ctx, carousel)?.open).toBe(true); + expect(w.fact(`${carousel}.closed`)).toBe(false); + + // Undo takes the last build back; the ride itself stays. + const handyman = clickBuild("staff_janitor"); + expect(w.num("n.staff_janitor")).toBeGreaterThan(0); + const hired = w.num("n.staff_janitor"); + runner.ui.invoke("build.undo"); + expect(w.num("n.staff_janitor")).toBe(hired - 1); + expect(w.instance(handyman)).toBeNull(); + clickBuild("staff_janitor"); + clickBuild("staff_entertainer"); + expect(w.num("n.staff_entertainer")).toBe(1); + + // The mechanic is a lab topic: locked until its research finishes, then hired like the rest. + expect(w.canPlace("staff_mechanic")?.reason).toBe("locked"); + runner.ui.invoke("brightway.act", { action: "research_staff_mechanic" }); + expect(w.orders("lab").length).toBe(1); + for (let t = 0; t < 70; t += 0.5) runner.step(0.5); + expect(w.canPlace("staff_mechanic")?.reason).not.toBe("locked"); + clickBuild("staff_mechanic"); + expect(w.num("n.staff_mechanic")).toBe(1); + + // The bank lends in $1,000 steps. + const owed = w.num("park.loan_owed"); + runner.ui.invoke("brightway.act", { action: "take_loan" }); + expect(w.num("park.loan_owed")).toBe(owed + LOAN.step); + + for (let t = 0; t < 240; t += 0.5) runner.step(0.5); + + expect(session.guests.size).toBeGreaterThan(0); + expect(rideView(carousel)!.cycles).toBeGreaterThan(0); + const thinking = [...session.guests.values()].filter((g) => (g.thoughts ?? []).length > 0); + expect(thinking.length).toBeGreaterThan(0); + expect(thinking[0]!.thoughts![0]!.text.length).toBeGreaterThan(0); + expect(session.thoughts.top.length).toBeGreaterThan(0); +}, 60_000); diff --git a/brightway-park/src/game/session.ts b/brightway-park/src/game/session.ts index d35cc7bc..4d26775c 100644 --- a/brightway-park/src/game/session.ts +++ b/brightway-park/src/game/session.ts @@ -1,5 +1,6 @@ import type { AgentSnapshot } from "@jgengine/core/agents/agent"; import type { Thought, ThoughtTally } from "./sim/thoughts"; +import type { BuildStep } from "./build/undo"; /** * What the park keeps outside its world: the walking guests and janitors (agents with bodies), what @@ -46,6 +47,10 @@ export interface Session { /** Quarter turns the next build faces (Z turns it). */ rotation: number; selectedObject: string | null; + /** Where the current left-button drag started (a world x/z), set by the overlay on pointer-down. */ + dragFrom: [number, number] | null; + /** The builder's undo list, newest last (`build/undo.ts`). */ + undo: BuildStep[]; guests: Map; staff: Map; /** Guests heading for or at each stall this tick - a crowd the next guest prices in. Rebuilt every tick. */ @@ -64,6 +69,8 @@ function freshSession(): Session { selectedTool: null, rotation: 0, selectedObject: null, + dragFrom: null, + undo: [], guests: new Map(), staff: new Map(), occupants: new Map(), diff --git a/brightway-park/src/game/sim/thoughts.ts b/brightway-park/src/game/sim/thoughts.ts index 3dae5176..6929b01f 100644 --- a/brightway-park/src/game/sim/thoughts.ts +++ b/brightway-park/src/game/sim/thoughts.ts @@ -73,6 +73,9 @@ export function think(guest: GuestState, id: ThoughtId, text: string, now: numbe const list = guest.thoughts ?? (guest.thoughts = []); const last = list.find((thought) => thought.id === id); if (last !== undefined && now - last.at < REPEAT_SECONDS) return; + // The same thought again moves to the top rather than filling the window with copies. + const same = list.findIndex((thought) => thought.id === id && thought.text === text); + if (same >= 0) list.splice(same, 1); list.unshift({ id, text, at: now }); if (list.length > KEEP) list.length = KEEP; } diff --git a/brightway-park/src/style.css b/brightway-park/src/style.css index 577632b4..3d7d6778 100644 --- a/brightway-park/src/style.css +++ b/brightway-park/src/style.css @@ -26,6 +26,8 @@ html,body,#root{height:100%;margin:0;background:#24444c} .bw-field input{width:min(360px,100%);padding:6px 4px;border:0;border-bottom:2px dashed var(--kit-ink);background:transparent;color:var(--kit-ink);font:700 22px var(--kit-font-display);outline:none} .bw-field input:focus{border-bottom-color:var(--kit-accent)} .bw-scenarios{display:flex;flex-wrap:wrap;gap:12px}.bw-scenarios small{display:block;margin-top:4px;font:600 12px var(--kit-font-body)} +/* With the palette open (it grows a ride-family row) the side card stops above it and scrolls. */ +.bw-hud:has(.bw-build) .bw-side{max-height:max(200px,calc(100% - 440px))} .bw-shut{display:grid;gap:6px;margin:0 0 8px;font-size:13px} .bw-lab{display:grid;gap:4px;margin-top:10px}.bw-lab h3{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--kit-pencil)} .bw-thoughts,.bw-said{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;font-size:13px;font-style:italic} From e93d1f65cdbb37489098ab0dc1b6bf907993f1a8 Mon Sep 17 00:00:00 2001 From: NoisemakerJon <139656120+Noisemaker111@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:13:08 -0400 Subject: [PATCH 3/3] brightway-park: give the multi-day save test room on slower runners --- brightway-park/src/game/persistence.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/brightway-park/src/game/persistence.test.ts b/brightway-park/src/game/persistence.test.ts index c435cbd0..d9b825a7 100644 --- a/brightway-park/src/game/persistence.test.ts +++ b/brightway-park/src/game/persistence.test.ts @@ -146,5 +146,6 @@ describe("park saves and real command boundaries", () => { live.ui.invoke("pickCarousel"); // The janitor was placed once, so placement ended; the refused pick did not start a new one. expect(session.selectedTool).toBeNull(); - }); + // Several simulated days of a full park: about 4 s locally, more on a CI runner. + }, 30_000); });