1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-19 15:20:27 +00:00

the orb power gaining order is now: Purity extras -> Choice loss -> standard gain

This commit is contained in:
Zeno Rogue 2022-02-01 17:27:29 +01:00
parent 231b510f16
commit fae4ceb672

View File

@ -139,16 +139,7 @@ EX bool collectItem(cell *c2, cell *last, bool telekinesis IS(false)) {
else if(it == itOrbSpeed) playSound(c2, "pickup-speed"); else if(it == itOrbSpeed) playSound(c2, "pickup-speed");
else if(it == itRevolver) playSound(c2, "pickup-key"); else if(it == itRevolver) playSound(c2, "pickup-key");
else playSound(c2, "pickup-orb"); else playSound(c2, "pickup-orb");
if(items[itOrbChoice]) items[itOrbChoice] = 0, had_choice = true; had_choice = items[itOrbChoice];
int oc = orbcharges(it);
if(dual::state && among(it, itOrbTeleport, itOrbFrog, itOrbPhasing, itOrbDash, itOrbRecall)) {
oc = 10;
it = itOrbSpeed;
}
if(c2->land == laAsteroids) oc = 10;
if(markOrb(itOrbIntensity)) oc = intensify(oc);
if(!items[it]) items[it]++;
items[it] += oc;
if(it == itOrbPurity) { if(it == itOrbPurity) {
bool no_curses = true; bool no_curses = true;
@ -162,6 +153,18 @@ EX bool collectItem(cell *c2, cell *last, bool telekinesis IS(false)) {
items[itOrbChoice] += 5; items[itOrbChoice] += 5;
} }
} }
if(had_choice) items[itOrbChoice] = 0;
int oc = orbcharges(it);
if(dual::state && among(it, itOrbTeleport, itOrbFrog, itOrbPhasing, itOrbDash, itOrbRecall)) {
oc = 10;
it = itOrbSpeed;
}
if(c2->land == laAsteroids) oc = 10;
if(markOrb(itOrbIntensity)) oc = intensify(oc);
if(!items[it]) items[it]++;
items[it] += oc;
} }
else if(c2->item == itOrbLife) { else if(c2->item == itOrbLife) {
playSound(c2, "pickup-orb"); // TODO summon playSound(c2, "pickup-orb"); // TODO summon