1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-01-23 15:36:59 +00:00

inv:: buffed up the Orb of Intensity

This commit is contained in:
Zeno Rogue 2019-11-28 00:14:22 +01:00
parent e82f1906e1
commit 07477e2b23
3 changed files with 10 additions and 3 deletions

View File

@ -7281,7 +7281,7 @@ EX bool collectItem(cell *c2, bool telekinesis IS(false)) {
it = itOrbSpeed; it = itOrbSpeed;
} }
if(c2->land == laAsteroids) oc = 10; if(c2->land == laAsteroids) oc = 10;
if(markOrb(itOrbIntensity)) oc = oc * 6 / 5; if(markOrb(itOrbIntensity)) oc = intensify(oc);
if(!items[it]) items[it]++; if(!items[it]) items[it]++;
items[it] += oc; items[it] += oc;
} }

View File

@ -354,6 +354,9 @@ EX string generateHelpForItem(eItem it) {
if(it == itOrbWinter) if(it == itOrbWinter)
help += XLAT("\n\nThis orb also allows you to collect items encased in ice."); help += XLAT("\n\nThis orb also allows you to collect items encased in ice.");
if(it == itOrbIntensity && inv::on)
help += XLAT("\n\nIn the Orb Strategy Mode, the effect is increased to +100%.");
if(it == itOrbEmpathy) { if(it == itOrbEmpathy) {
int cnt = 0; int cnt = 0;

View File

@ -69,12 +69,16 @@ EX void empathyMove(const movei& mi) {
} }
} }
EX int intensify(int val) {
return inv::on ? 2 * val : val * 6 / 5;
}
EX bool reduceOrbPower(eItem it, int cap) { EX bool reduceOrbPower(eItem it, int cap) {
if(items[it] && (lastorbused[it] || (it == itOrbShield && items[it]>3) || !markOrb(itOrbTime))) { if(items[it] && (lastorbused[it] || (it == itOrbShield && items[it]>3) || !markOrb(itOrbTime))) {
items[it] -= multi::activePlayers(); items[it] -= multi::activePlayers();
if(isHaunted(cwt.at->land)) survivalist = false; if(isHaunted(cwt.at->land)) survivalist = false;
if(items[it] < 0) items[it] = 0; if(items[it] < 0) items[it] = 0;
if(items[it] > cap && markOrb(itOrbIntensity)) cap = cap * 6 / 5; if(items[it] > cap && markOrb(itOrbIntensity)) cap = intensify(cap);
if(items[it] > cap && timerghost) items[it] = cap; if(items[it] > cap && timerghost) items[it] = cap;
if(items[it] == 0 && it == itOrbLove) if(items[it] == 0 && it == itOrbLove)
princess::bringBack(); princess::bringBack();
@ -1377,7 +1381,7 @@ EX int orbcharges(eItem it) {
case itOrbChoice: case itOrbChoice:
return 60; return 60;
case itOrbIntensity: case itOrbIntensity:
return 50; return inv::on ? 150 : 50;
case itOrbWinter: // "pickup-winter" case itOrbWinter: // "pickup-winter"
return inv::on ? 45 : 30; return inv::on ? 45 : 30;
break; break;