MCPcopy Create free account
hub / github.com/diasurgical/devilution / FindValidShrine

Function FindValidShrine

Source/objects.cpp:3505–3530  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3503}
3504
3505int FindValidShrine(int i)
3506{
3507 BOOL done;
3508 int rv;
3509
3510 while (1) {
3511 done = FALSE;
3512 while (!done) {
3513 rv = random_(0, NUM_SHRINETYPE);
3514 if (currlevel >= shrinemin[rv] && currlevel <= shrinemax[rv] && rv != 8)
3515 done = TRUE;
3516 }
3517
3518 if (gbMaxPlayers != 1) {
3519 if (shrineavail[rv] != 1) {
3520 break;
3521 }
3522 } else {
3523 if (shrineavail[rv] != 2) {
3524 break;
3525 }
3526 }
3527 }
3528
3529 return rv;
3530}
3531
3532void OperateGoatShrine(int pnum, int i, int sType)
3533{

Callers 2

OperateGoatShrineFunction · 0.85
OperateCauldronFunction · 0.85

Calls 1

random_Function · 0.85

Tested by

no test coverage detected