| 2347 | } |
| 2348 | |
| 2349 | void 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 | |
| 2381 | void OperateShrineHidden(Player &player) |
| 2382 | { |
no test coverage detected