diff --git a/.browserslistrc b/.browserslistrc index aa6359805..1af9a66cd 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,3 +1,3 @@ -last 4 versions +last 8 versions not dead not ie <= 11 diff --git a/src/CotMG/ui/StaneksGiftRoot.tsx b/src/CotMG/ui/StaneksGiftRoot.tsx index 17c10e103..a7a3b8bf2 100644 --- a/src/CotMG/ui/StaneksGiftRoot.tsx +++ b/src/CotMG/ui/StaneksGiftRoot.tsx @@ -4,6 +4,8 @@ import { CONSTANTS } from "../../Constants"; import { StaneksGiftEvents } from "../StaneksGiftEvents"; import { MainBoard } from "./MainBoard"; import { IStaneksGift } from "../IStaneksGift"; +import { Info } from "@mui/icons-material"; +import { dialogBoxCreate } from "../../ui/React/DialogBox"; import Typography from "@mui/material/Typography"; type IProps = { @@ -18,7 +20,76 @@ export function StaneksGiftRoot({ staneksGift }: IProps): React.ReactElement { useEffect(() => StaneksGiftEvents.subscribe(rerender), []); return ( <> - Stanek's Gift + + Stanek's Gift + + dialogBoxCreate( + <> + + Stanek's Gift is a powerful, unique augmentation obtained by joining the Church of the Machine God, + which can be found in Chongqing. It is only possible to join the church if you are in BitNode 13 or + possess at least one level of Source File 13, and you will be turned away if you have purchased or + installed any augmentations beside NeuroFlux Governors. You are, however, permitted to install + augmentations as normal once you have joined the church. + +
+ + Initially, those bearing the gift will find that its overwhelming power worsens all of their stats by + 10%. This penalty can be overcome in time by receiving free upgrades from the Church of the Machine + God faction, but the reputation requirements for these upgrades are steep, and you can only obtain + reputation with the church by charging the gift. + +
+ + In order to charge Stanek's Gift, the user must first arrange stat-modifying fragments within the grid + located on the device. This may be done manually or by scripts that utilize the Stanek's Gift + Netscript API. Not every tile of the grid must house a fragment, but fragments cannot overlap or + otherwise share tiles. Fragments can be rotated, but their design does not allow them to be flipped + around to mirror their original shape. Note that the size of the grid is determined by the BitNode you + are currently in and the level of your Source File 13, if applicable. + +
+ + There exist two kinds of fragments. The first are Stat Fragments, which take up 4 tiles of the grid. + Each Stat Fragment is unique, and there is only one of each. There is no way to obtain more of these + fragments. Each Stat Fragment has an associated stat that it will improve, as well as a multiplier on + its effectiveness known as power. When initially placed, a Stat Fragment will have no effect. In order + for the fragment to gain stat boosts, it must be charged. The other kind of fragments are known as + Booster Fragments, which take up 5 tiles of the grid. There is no shortage of Booster Fragments, and + it is virtually impossible to run out of them. While not providing any direct stat increases to their + user, Stat Fragments increase the efficacy of adjacent Stat Fragments by 10%, and do not need to be + charged. + + + {/* + TODO: + Board showing a booster fragment touching a single stat fragment on one edge, labeled as providing a 10% bonus to the stat fragment. + Board showing a booster fragment touching a single stat fragment on many edges, labeled as providing a 10% bonus to the stat fragment. + Board showing a booster fragment diagonal from a single stat fragment along multiple corners, labeled as providing no bonus to the stat fragment. + Board showing a booster fragment touching multiple stat fragments, labeled as providing a 10% bonus to each stat fragment. + */} + +
+ + Stat Fragments are charged using the stanek.chargeFragment(rootX, rootY) NetScript API function. The + charging process ordinarily takes 1000ms to complete, but only takes 200ms during bonus time. When the + function finishes executing, the fragment's charge levels will be raised by an amount corresponding to + the number of threads that were used. Note that it is no more effective to charge a fragment many + times with few threads than to charge few times with many threads, so there is no need to distribute + charging jobs across multiple scripts. As a Stat Fragment's charge level is increased, its bonuses + will increase, but there will be diminishing returns. As such, it is generally most efficient to + charge all of the placed fragments equally. The charge level of a fragment will not decrease over + time, but it will be reset to 0 upon removing it from the board or installing augmentations. + + , + ) + } + /> +
+ The gift is a grid on which you can place upgrades called fragments. The main type of fragment increases a stat, like your hacking skill or agility exp. Once a stat fragment is placed it then needs to be charged via scripts