Simplify novelty skeleton and add scaffolding for yellow ray priorities#62
Simplify novelty skeleton and add scaffolding for yellow ray priorities#62Ignose wants to merge 1 commit intoPantocyclus:mainfrom
Conversation
| !haveFreeSkeletonBanish())), | ||
| do: $location`The Skeleton Store`, | ||
| do: () => { | ||
| const force = pickForceSource(skeletonZone); |
There was a problem hiding this comment.
If a user has both the peridot and cartography, this seems to return peridot for the first adventure and map the monsters for the second through fourth.
| return { | ||
| ...baseOutfit(false), | ||
| shirt: useParkaSpit ? $item`Jurassic Parka` : undefined, | ||
| acc2: $item`cursed monkey's paw`, |
There was a problem hiding this comment.
The ability to monkey slap seems to have been removed here
| export function yellowRayPossible(): boolean { | ||
| if (have($effect`Everything Looks Yellow`)) return false; | ||
| return yellowRaySources.find((s) => s.available()) !== undefined; | ||
| } |
There was a problem hiding this comment.
YR support seems to have been added here but was not used. Is this intended? (Also, we do use other YR sources within the script such as the candelabra and spitball)
| shirt: useParkaSpit ? $item`Jurassic Parka` : undefined, | ||
| acc2: $item`cursed monkey's paw`, | ||
| familiar: chooseFamiliar(false), | ||
| offhand: $item`Roman Candelabra`, |
There was a problem hiding this comment.
We can avoid equipping the Candelabra if we have ELY active
| }, | ||
| { | ||
| name: "Map Novelty Tropical Skeleton", | ||
| name: "Novelty Tropical Skeleton (Unified)", |
There was a problem hiding this comment.
I'm fine with leaving "(Unified)" out of the task name. It will not be apparent to the user what this means if they do not know about the code history
| if (haveEquipped($item`miniature crystal ball`)) equip($slot`familiar`, $item.none); | ||
| } | ||
| // fallback prep | ||
| if (!force) { |
There was a problem hiding this comment.
Fallback should be an else instead of a if (!force) to fully cover all the conditional branches
| if (haveEquipped($item`miniature crystal ball`)) equip($slot`familiar`, $item.none); | ||
| } | ||
| if (get("_snokebombUsed") === 0) attemptRestoringMpWithFreeRests(50); | ||
| if (haveEquipped($item`miniature crystal ball`)) equip($slot`familiar`, $item.none); |
There was a problem hiding this comment.
The miniature crystal ball seems to be in all the conditional branches, is there a reason why we do not want to pull it outside instead?
| if (have($item`Roman Candelabra`) && !have($effect`Everything Looks Yellow`)) | ||
| equip($slot`offhand`, $item`Roman Candelabra`); | ||
| else unbreakableUmbrella(); |
There was a problem hiding this comment.
If we do eventually check for ELY prior to equipping the candelabra in the outfit part of the code, then we can do a simple/similar check for equipping the unbreakable umbrella here. This probably also can then be pulled out of the conditional branches
…zation