mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-08-06 14:01:48 +00:00
The powers you get for Orb of Yendor are now consistent with useless/dangerous/forbidden rules
This commit is contained in:
parent
0d00c70ed6
commit
8eba146750
37
yendor.cpp
37
yendor.cpp
@ -758,20 +758,29 @@ EX namespace yendor {
|
|||||||
if(yendor::yi[i].path[0] == c2)
|
if(yendor::yi[i].path[0] == c2)
|
||||||
changes.value_set(yendor::yi[i].foundOrb, true);
|
changes.value_set(yendor::yi[i].foundOrb, true);
|
||||||
// Shielding always, so that we know that it protects!
|
// Shielding always, so that we know that it protects!
|
||||||
for(int i=0; i<4; i++) switch(hrand(13)) {
|
int powers = 0;
|
||||||
case 0: items[itOrbSpeed] += 31; break;
|
for(int i=0; i<1000 && powers < 4; i++) {
|
||||||
case 1: items[itOrbLightning] += 78; break;
|
vector< pair<eItem, int> > choices = {
|
||||||
case 2: items[itOrbFlash] += 78; break;
|
{itOrbSpeed, 31},
|
||||||
case 3: items[itOrbTime] += 78; break;
|
{itOrbLightning, 78},
|
||||||
case 4: items[itOrbWinter] += 151; break;
|
{itOrbFlash, 78},
|
||||||
case 5: items[itOrbDigging] += 151; break;
|
{itOrbTime, 78},
|
||||||
case 6: items[itOrbTeleport] += 151; break;
|
{itOrbWinter, 151},
|
||||||
case 7: items[itOrbThorns] += 151; break;
|
{itOrbDigging, 151},
|
||||||
case 8: items[itOrbInvis] += 151; break;
|
{itOrbTeleport, 151},
|
||||||
case 9: items[itOrbPsi] += 151; break;
|
{itOrbThorns, 151},
|
||||||
case 10: items[itOrbAether] += 151; break;
|
{itOrbInvis, 151},
|
||||||
case 11: items[itOrbFire] += 151; break;
|
{itOrbPsi, 151},
|
||||||
case 12: items[itOrbSpace] += 78; break;
|
{itOrbAether, 151},
|
||||||
|
{itOrbFire, 151},
|
||||||
|
{itOrbSpace, 78}
|
||||||
|
};
|
||||||
|
auto p = hrand_elt(choices);
|
||||||
|
auto orb = p.first;
|
||||||
|
if(items[orb] && i < 500) continue;
|
||||||
|
if(among(getOLR(orb, getPrizeLand()), olrDangerous, olrUseless, olrForbidden)) continue;
|
||||||
|
items[orb] += p.second;
|
||||||
|
powers++;
|
||||||
}
|
}
|
||||||
items[itOrbYendor]++;
|
items[itOrbYendor]++;
|
||||||
items[itKey]--;
|
items[itKey]--;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user