MCPcopy Create free account
hub / github.com/diasurgical/DevilutionX / OperateShrineMysterious

Function OperateShrineMysterious

Source/objects.cpp:2349–2379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2347}
2348
2349void OperateShrineMysterious(Player &player)
2350{
2351 if (&player != MyPlayer)
2352 return;
2353
2354 ModifyPlrStr(player, -1);
2355 ModifyPlrMag(player, -1);
2356 ModifyPlrDex(player, -1);
2357 ModifyPlrVit(player, -1);
2358
2359 switch (static_cast<CharacterAttribute>(GenerateRnd(4))) {
2360 case CharacterAttribute::Strength:
2361 ModifyPlrStr(player, 6);
2362 break;
2363 case CharacterAttribute::Magic:
2364 ModifyPlrMag(player, 6);
2365 break;
2366 case CharacterAttribute::Dexterity:
2367 ModifyPlrDex(player, 6);
2368 break;
2369 case CharacterAttribute::Vitality:
2370 ModifyPlrVit(player, 6);
2371 break;
2372 }
2373
2374 CheckStats(player);
2375 CalcPlrInv(player, true);
2376 RedrawEverything();
2377
2378 InitDiabloMsg(EMSG_SHRINE_MYSTERIOUS);
2379}
2380
2381void OperateShrineHidden(Player &player)
2382{

Callers 1

OperateShrineFunction · 0.85

Calls 9

ModifyPlrStrFunction · 0.85
ModifyPlrMagFunction · 0.85
ModifyPlrDexFunction · 0.85
ModifyPlrVitFunction · 0.85
GenerateRndFunction · 0.85
CheckStatsFunction · 0.85
CalcPlrInvFunction · 0.85
RedrawEverythingFunction · 0.85
InitDiabloMsgFunction · 0.85

Tested by

no test coverage detected