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

Function OperateTrapLever

Source/objects.cpp:2259–2285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2257}
2258
2259void OperateTrapLever(Object &flameLever)
2260{
2261 PlaySfxLoc(IS_LEVER, flameLever.position);
2262
2263 if (flameLever._oAnimFrame == 1) {
2264 flameLever._oAnimFrame = 2;
2265 for (int j = 0; j < ActiveObjectCount; j++) {
2266 Object &target = Objects[ActiveObjects[j]];
2267 if (target._otype == flameLever._oVar2 && target._oVar1 == flameLever._oVar1) {
2268 target._oVar2 = 1;
2269 target._oAnimFlag = false;
2270 }
2271 }
2272 return;
2273 }
2274
2275 flameLever._oAnimFrame--;
2276 for (int j = 0; j < ActiveObjectCount; j++) {
2277 Object &target = Objects[ActiveObjects[j]];
2278 if (target._otype == flameLever._oVar2 && target._oVar1 == flameLever._oVar1) {
2279 target._oVar2 = 0;
2280 if (target._oVar4 != 0) {
2281 target._oAnimFlag = true;
2282 }
2283 }
2284 }
2285}
2286
2287void OperateSarcophagus(Object &sarcophagus, bool sendMsg, bool sendLootMsg)
2288{

Callers 1

OperateObjectFunction · 0.85

Calls 1

PlaySfxLocFunction · 0.70

Tested by

no test coverage detected