mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-03-13 15:08:17 +00:00
added itOrbWinter as a secondary reverse for itCurseWater, and also made some reverses cancel each other
This commit is contained in:
parent
7cc075d96f
commit
ac070a72e9
20
orbs.cpp
20
orbs.cpp
@ -112,21 +112,27 @@ EX void reduceOrbPowerAlways(eItem it) {
|
||||
}
|
||||
}
|
||||
|
||||
EX void reverse_curse(eItem curse, eItem orb) {
|
||||
EX void reverse_curse(eItem curse, eItem orb, bool cancel) {
|
||||
if(items[curse] && markOrb(itOrbPurity)) {
|
||||
items[orb] += items[curse];
|
||||
if(curse == itCurseWeakness) items[itOrbWinter] += items[curse];
|
||||
items[curse] = 0;
|
||||
}
|
||||
if(cancel && items[curse] && items[orb]) {
|
||||
int m = min(items[curse], items[orb]);
|
||||
items[curse] -= m;
|
||||
items[orb] -= m;
|
||||
}
|
||||
}
|
||||
|
||||
EX void reduceOrbPowers() {
|
||||
|
||||
reverse_curse(itCurseWeakness, itOrbSlaying);
|
||||
reverse_curse(itCurseFatigue, itOrbSpeed); // OK
|
||||
reverse_curse(itCurseRepulsion, itOrbMagnetism); // OK
|
||||
reverse_curse(itCurseWater, itOrbFire); // OK
|
||||
reverse_curse(itCurseDraining, itOrbTime); // OK
|
||||
reverse_curse(itCurseGluttony, itOrbChoice); // OK
|
||||
reverse_curse(itCurseWeakness, itOrbSlaying, true);
|
||||
reverse_curse(itCurseFatigue, itOrbSpeed, false); // OK
|
||||
reverse_curse(itCurseRepulsion, itOrbMagnetism, true); // OK
|
||||
reverse_curse(itCurseWater, itOrbFire, true); // OK
|
||||
reverse_curse(itCurseDraining, itOrbTime, false); // OK
|
||||
reverse_curse(itCurseGluttony, itOrbChoice, true); // OK
|
||||
|
||||
if(haveMount()) markOrb(itOrbDomination);
|
||||
for(int i=0; i<ittypes; i++)
|
||||
|
Loading…
x
Reference in New Issue
Block a user