mirror of
https://git.srhtnin.garden/sarah/srhtnin.github.io.git
synced 2026-10-13 18:38:11 +02:00
Updated pages and stuff to be accurate. Also made magic trowel havest
all of a plant you harvest with it.
This commit is contained in:
1 parent
38146ff1db
commit
d6fa5572ed
4 files changed
+304
-17
No files matched your search
+85
-13
@@ -19,8 +19,9 @@ $PageSection = "Guide";
|
||||
|
||||
<p>
|
||||
A quick guide to growing plants, earning Dew,
|
||||
and discovering mutations. You do not need to
|
||||
know everything here before you start playing.
|
||||
discovering mutations, and using the Garden's
|
||||
tools and upgrades. You do not need to know
|
||||
everything here before you start playing.
|
||||
(But it's useful to do..)
|
||||
</p>
|
||||
|
||||
@@ -53,9 +54,9 @@ $PageSection = "Guide";
|
||||
|
||||
<p>
|
||||
In the <a href="/Pages/Garden.html">Garden</a>,
|
||||
select a seed and then choose an empty plot.
|
||||
Plants continue growing with real time, even while
|
||||
you are away from the page.
|
||||
select a seed and then choose an empty plot with
|
||||
the Trowel. Plants continue growing with real time,
|
||||
even while you are away from the page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -82,7 +83,9 @@ $PageSection = "Guide";
|
||||
More valuable seeds usually give more Dew.
|
||||
The Shop shows the current seed cost,
|
||||
harvest reward, growth time, and how many seeds you
|
||||
already own. So you can be smart in your plant investments!
|
||||
already own. The Garden can also quick-buy the selected
|
||||
seed without making you leave the page. So you can be
|
||||
smart in your plant investments!
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -102,7 +105,9 @@ $PageSection = "Guide";
|
||||
Mutation-derived seed prices are based on their
|
||||
recipes, so discovering and performing mutations is
|
||||
often a useful alternative to simply buying the
|
||||
resulting seed.
|
||||
resulting seed. The Shop also contains tools, Garden
|
||||
expansions, additional Gardens, and optional information
|
||||
upgrades.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -186,6 +191,9 @@ $PageSection = "Guide";
|
||||
additional seeds in the Shop, so you can skip
|
||||
creating them through mutations. Though it always
|
||||
costs more to buy the seeds than create them by mutation..
|
||||
Your discoveries are also recorded in the
|
||||
<a href="/Pages/Plants.html">Plant encyclopedia</a> and
|
||||
<a href="/Pages/Mutations.html">Mutation encyclopedia</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -212,7 +220,8 @@ $PageSection = "Guide";
|
||||
The <strong>Magic trowel</strong> fills as many empty
|
||||
plots as it can with the selected seed. If you have
|
||||
fewer seeds than empty plots, it simply plants every
|
||||
seed you have.
|
||||
seed you have. Use it on a mature plant to harvest every
|
||||
mature plant of that same type in the active Garden.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -243,6 +252,49 @@ $PageSection = "Guide";
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="Gardens"
|
||||
class="GuideSection"
|
||||
>
|
||||
<h2>Gardens and rotation</h2>
|
||||
|
||||
<p>
|
||||
You can buy additional Gardens from the Shop. Each Garden
|
||||
has its own name, plots, mutation cooldowns, and expansion
|
||||
size. Use the arrows beside the Garden name to switch
|
||||
between the Gardens you own.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Plot rotation upgrade adds a direction to planted
|
||||
plots. Rotation matters for directional mutations and
|
||||
functional plants, and plants with directional sprites
|
||||
can visually face their saved direction.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="FunctionalPlants"
|
||||
class="GuideSection"
|
||||
>
|
||||
<h2>Functional plants</h2>
|
||||
|
||||
<p>
|
||||
Some mutation-created plants do more than grow and harvest.
|
||||
Once mature, functional plants can affect nearby plots or
|
||||
the wider Garden by harvesting, planting, duplicating,
|
||||
advancing growth, changing mutation behaviour, or modifying
|
||||
harvest rewards. Their exact behaviour depends on the plant.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Directional functional plants use their plot rotation to
|
||||
decide where effects such as <strong>Front</strong> and
|
||||
<strong>Behind</strong> point. Other effects can target
|
||||
cardinal neighbours, adjacent plots, or the whole Garden.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="Account"
|
||||
class="GuideSection"
|
||||
@@ -251,11 +303,11 @@ $PageSection = "Guide";
|
||||
|
||||
<p>
|
||||
Your <a href="/Pages/Profile.html">Profile</a>
|
||||
contains your username, colour, statistics, and
|
||||
Account Key. Garden saves can sync through the API,
|
||||
while the Account Key lets you use the same Garden
|
||||
in another browser or on another device.
|
||||
It's basically just like logging into an account.
|
||||
contains your username, colour, Garden display settings,
|
||||
statistics, and Account Key. Garden saves can sync through
|
||||
the API, while the Account Key lets you use the same Garden
|
||||
in another browser or on another device. It's basically
|
||||
just like logging into an account.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -297,6 +349,26 @@ $PageSection = "Guide";
|
||||
browser storage and cannot be cleared remotely.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="Contact"
|
||||
class="GuideSection"
|
||||
>
|
||||
<h2>Contact</h2>
|
||||
|
||||
<p>
|
||||
For general Garden questions or anything that does not fit
|
||||
elsewhere, email
|
||||
<a href="mailto:[email protected]">[email protected]</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Found a bug? Send it to
|
||||
<a href="mailto:[email protected]">[email protected]</a>.
|
||||
Ideas and suggestions can go to
|
||||
<a href="mailto:[email protected]">[email protected]</a>.
|
||||
</p>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<script src="/Scripts/Garden/PlantImages.js"></script>
|
||||
|
||||
+34
-4
@@ -17,9 +17,9 @@ $PageTitle = "Profile";
|
||||
<h1>Profile</h1>
|
||||
|
||||
<p>
|
||||
Manage your Garden profile, view your
|
||||
statistics, and move your account between
|
||||
devices.
|
||||
Manage your Garden profile and display settings,
|
||||
view your statistics, move your account between
|
||||
devices, and find the Garden contact addresses.
|
||||
</p>
|
||||
|
||||
|
||||
@@ -292,7 +292,17 @@ $PageTitle = "Profile";
|
||||
|
||||
<div class="ProfileStatistic">
|
||||
<span class="ProfileStatisticName">
|
||||
Garden size
|
||||
Gardens owned
|
||||
</span>
|
||||
|
||||
<strong id="ProfileGardensOwned">
|
||||
...
|
||||
</strong>
|
||||
</div>
|
||||
|
||||
<div class="ProfileStatistic">
|
||||
<span class="ProfileStatisticName">
|
||||
Active Garden size
|
||||
</span>
|
||||
|
||||
<strong id="ProfileGardenSize">
|
||||
@@ -303,6 +313,26 @@ $PageTitle = "Profile";
|
||||
</section>
|
||||
|
||||
|
||||
<section
|
||||
id="Contact"
|
||||
class="Panel ProfileSection"
|
||||
>
|
||||
<h2 class="PanelHeader PanelHeaderInset">Contact</h2>
|
||||
|
||||
<p>
|
||||
For general Garden questions, email
|
||||
<a href="mailto:[email protected]">[email protected]</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Bug reports can be sent to
|
||||
<a href="mailto:[email protected]">[email protected]</a>,
|
||||
while ideas and suggestions can be sent to
|
||||
<a href="mailto:[email protected]">[email protected]</a>.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
<section
|
||||
id="Account"
|
||||
class="Panel ProfileSection"
|
||||
|
||||
@@ -1826,6 +1826,46 @@ function CreatePlotElement(
|
||||
}
|
||||
|
||||
|
||||
if (
|
||||
SelectedGardenTool ===
|
||||
"MagicTrowel"
|
||||
) {
|
||||
if (Progress < 1) {
|
||||
MainButton.title =
|
||||
Plant.Name +
|
||||
" - " +
|
||||
Math.floor(
|
||||
Progress * 100
|
||||
) +
|
||||
"% grown";
|
||||
|
||||
MainButton.disabled = true;
|
||||
return Tile;
|
||||
}
|
||||
|
||||
Tile.classList.add(
|
||||
"GardenPlotMature",
|
||||
"GardenPlotMagicPlant"
|
||||
);
|
||||
|
||||
MainButton.title =
|
||||
"Harvest all mature " +
|
||||
Plant.Name +
|
||||
" plants in this Garden";
|
||||
|
||||
MainButton.addEventListener(
|
||||
"click",
|
||||
() => {
|
||||
HarvestManyPlants(
|
||||
Plot.Plant
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
return Tile;
|
||||
}
|
||||
|
||||
|
||||
if (
|
||||
SelectedGardenTool !==
|
||||
"Trowel"
|
||||
@@ -2364,6 +2404,137 @@ async function PlantManySeeds() {
|
||||
}
|
||||
|
||||
|
||||
async function HarvestManyPlants(
|
||||
PlantKey
|
||||
) {
|
||||
const ActionTime = Date.now();
|
||||
|
||||
AdvanceGameSimulation(
|
||||
GameSave,
|
||||
ActionTime
|
||||
);
|
||||
|
||||
const Plant =
|
||||
Plants[PlantKey];
|
||||
|
||||
if (Plant === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
const MatchingPlotIndexes = [];
|
||||
|
||||
GameSave.Garden.Plots.forEach(
|
||||
(Plot, PlotIndex) => {
|
||||
if (
|
||||
Plot !== null &&
|
||||
Plot.Plant === PlantKey &&
|
||||
IsPlantMature(
|
||||
Plot,
|
||||
Plant
|
||||
)
|
||||
) {
|
||||
MatchingPlotIndexes.push(
|
||||
PlotIndex
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
if (MatchingPlotIndexes.length === 0) {
|
||||
SetGardenMessage(
|
||||
"There aren't any mature " +
|
||||
Plant.Name +
|
||||
" plants to harvest."
|
||||
);
|
||||
|
||||
RenderGame();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
let HarvestedCount = 0;
|
||||
let RewardAmount = 0;
|
||||
let DisabledCount = 0;
|
||||
let RewardUnavailableCount = 0;
|
||||
|
||||
for (
|
||||
const PlotIndex
|
||||
of MatchingPlotIndexes
|
||||
) {
|
||||
const HarvestResult =
|
||||
HarvestGardenPlot(
|
||||
GameSave,
|
||||
GameSave.ActiveGardenIndex,
|
||||
PlotIndex,
|
||||
ActionTime
|
||||
);
|
||||
|
||||
if (!HarvestResult.Harvested) {
|
||||
if (HarvestResult.Disabled) {
|
||||
DisabledCount++;
|
||||
} else if (
|
||||
HarvestResult.RewardUnavailable
|
||||
) {
|
||||
RewardUnavailableCount++;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
HarvestedCount++;
|
||||
RewardAmount +=
|
||||
HarvestResult.RewardAmount;
|
||||
}
|
||||
|
||||
|
||||
if (HarvestedCount <= 0) {
|
||||
if (DisabledCount > 0) {
|
||||
SetGardenMessage(
|
||||
Plant.Name +
|
||||
" can't be harvested right now."
|
||||
);
|
||||
} else if (
|
||||
RewardUnavailableCount > 0
|
||||
) {
|
||||
SetGardenMessage(
|
||||
"Couldn't calculate the harvest reward for " +
|
||||
Plant.Name +
|
||||
"."
|
||||
);
|
||||
}
|
||||
|
||||
RenderGame();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
SetGardenMessage(
|
||||
"Magic trowel harvested " +
|
||||
HarvestedCount.toLocaleString() +
|
||||
" " +
|
||||
Plant.Name +
|
||||
(HarvestedCount === 1
|
||||
? " plant"
|
||||
: " plants") +
|
||||
" for " +
|
||||
RewardAmount.toLocaleString() +
|
||||
" Dew."
|
||||
);
|
||||
|
||||
CheckGardenMutations(
|
||||
GameSave,
|
||||
ActionTime
|
||||
);
|
||||
|
||||
RenderGame();
|
||||
|
||||
await SaveGame(
|
||||
GameSave
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
async function HarvestPlant(
|
||||
PlotIndex
|
||||
) {
|
||||
|
||||
@@ -796,6 +796,12 @@ function RenderProfileStatistics() {
|
||||
?.length ??
|
||||
0;
|
||||
|
||||
const GardensOwned =
|
||||
ProfileSave
|
||||
?.Gardens
|
||||
?.length ??
|
||||
1;
|
||||
|
||||
const GardenWidth =
|
||||
ProfileSave
|
||||
?.Garden
|
||||
@@ -837,6 +843,13 @@ function RenderProfileStatistics() {
|
||||
)
|
||||
);
|
||||
|
||||
SetProfileStatistic(
|
||||
"ProfileGardensOwned",
|
||||
FormatProfileNumber(
|
||||
GardensOwned
|
||||
)
|
||||
);
|
||||
|
||||
SetProfileStatistic(
|
||||
"ProfileGardenSize",
|
||||
GardenWidth +
|
||||
@@ -852,6 +865,7 @@ function RenderProfileStatisticsError() {
|
||||
"ProfileLifetimeDew",
|
||||
"ProfilePlantsDiscovered",
|
||||
"ProfileMutationsDiscovered",
|
||||
"ProfileGardensOwned",
|
||||
"ProfileGardenSize"
|
||||
];
|
||||
|
||||
|
||||
Reference in new issue
Block a user