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

Function OperateShrine

Source/objects.cpp:3089–3210  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3087}
3088
3089void OperateShrine(Player &player, Object &shrine, _sfx_id sType)
3090{
3091 if (shrine._oSelFlag == 0)
3092 return;
3093
3094 if (DropGoldFlag) {
3095 CloseGoldDrop();
3096 }
3097
3098 SetRndSeed(shrine._oRndSeed);
3099 shrine._oSelFlag = 0;
3100
3101 PlaySfxLoc(sType, shrine.position);
3102 shrine._oAnimFlag = true;
3103 shrine._oAnimDelay = 1;
3104
3105 switch (shrine._oVar1) {
3106 case ShrineMysterious:
3107 OperateShrineMysterious(player);
3108 break;
3109 case ShrineHidden:
3110 OperateShrineHidden(player);
3111 break;
3112 case ShrineGloomy:
3113 OperateShrineGloomy(player);
3114 break;
3115 case ShrineWeird:
3116 OperateShrineWeird(player);
3117 break;
3118 case ShrineMagical:
3119 case ShrineMagicaL2:
3120 OperateShrineMagical(player);
3121 break;
3122 case ShrineStone:
3123 OperateShrineStone(player);
3124 break;
3125 case ShrineReligious:
3126 OperateShrineReligious(player);
3127 break;
3128 case ShrineEnchanted:
3129 OperateShrineEnchanted(player);
3130 break;
3131 case ShrineThaumaturgic:
3132 OperateShrineThaumaturgic(player);
3133 break;
3134 case ShrineFascinating:
3135 OperateShrineCostOfWisdom(player, SpellID::Firebolt, EMSG_SHRINE_FASCINATING);
3136 break;
3137 case ShrineCryptic:
3138 OperateShrineCryptic(player);
3139 break;
3140 case ShrineEldritch:
3141 OperateShrineEldritch(player);
3142 break;
3143 case ShrineEerie:
3144 OperateShrineEerie(player);
3145 break;
3146 case ShrineDivine:

Callers 4

OperateGoatShrineFunction · 0.85
OperateCauldronFunction · 0.85
OperateObjectFunction · 0.85
SyncOpObjectFunction · 0.85

Calls 15

CloseGoldDropFunction · 0.85
SetRndSeedFunction · 0.85
OperateShrineMysteriousFunction · 0.85
OperateShrineHiddenFunction · 0.85
OperateShrineGloomyFunction · 0.85
OperateShrineWeirdFunction · 0.85
OperateShrineMagicalFunction · 0.85
OperateShrineStoneFunction · 0.85
OperateShrineReligiousFunction · 0.85
OperateShrineEnchantedFunction · 0.85

Tested by

no test coverage detected