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

Function MonstCheckDoors

Source/objects.cpp:2265–2308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2263}
2264
2265void MonstCheckDoors(int m)
2266{
2267 int i, oi;
2268 int dpx, dpy, mx, my;
2269
2270 mx = monster[m]._mx;
2271 my = monster[m]._my;
2272 if (dObject[mx - 1][my - 1]
2273 || dObject[mx][my - 1]
2274 || dObject[mx + 1][my - 1]
2275 || dObject[mx - 1][my]
2276 || dObject[mx + 1][my]
2277 || dObject[mx - 1][my + 1]
2278 || dObject[mx][my + 1]
2279 || dObject[mx + 1][my + 1]) {
2280 for (i = 0; i < nobjects; ++i) {
2281 oi = objectactive[i];
2282 if ((object[oi]._otype == OBJ_L1LDOOR || object[oi]._otype == OBJ_L1RDOOR) && !object[oi]._oVar4) {
2283 dpx = abs(object[oi]._ox - mx);
2284 dpy = abs(object[oi]._oy - my);
2285 if (dpx == 1 && dpy <= 1 && object[oi]._otype == OBJ_L1LDOOR)
2286 OperateL1LDoor(myplr, oi, TRUE);
2287 if (dpx <= 1 && dpy == 1 && object[oi]._otype == OBJ_L1RDOOR)
2288 OperateL1RDoor(myplr, oi, TRUE);
2289 }
2290 if ((object[oi]._otype == OBJ_L2LDOOR || object[oi]._otype == OBJ_L2RDOOR) && !object[oi]._oVar4) {
2291 dpx = abs(object[oi]._ox - mx);
2292 dpy = abs(object[oi]._oy - my);
2293 if (dpx == 1 && dpy <= 1 && object[oi]._otype == OBJ_L2LDOOR)
2294 OperateL2LDoor(myplr, oi, TRUE);
2295 if (dpx <= 1 && dpy == 1 && object[oi]._otype == OBJ_L2RDOOR)
2296 OperateL2RDoor(myplr, oi, TRUE);
2297 }
2298 if ((object[oi]._otype == OBJ_L3LDOOR || object[oi]._otype == OBJ_L3RDOOR) && !object[oi]._oVar4) {
2299 dpx = abs(object[oi]._ox - mx);
2300 dpy = abs(object[oi]._oy - my);
2301 if (dpx == 1 && dpy <= 1 && object[oi]._otype == OBJ_L3RDOOR)
2302 OperateL3RDoor(myplr, oi, TRUE);
2303 if (dpx <= 1 && dpy == 1 && object[oi]._otype == OBJ_L3LDOOR)
2304 OperateL3LDoor(myplr, oi, TRUE);
2305 }
2306 }
2307 }
2308}
2309
2310void ObjChangeMap(int x1, int y1, int x2, int y2)
2311{

Callers 8

MAI_PathFunction · 0.85
MAI_RoundFunction · 0.85
MAI_RangedFunction · 0.85
MAI_RoundRangedFunction · 0.85
MAI_RR2Function · 0.85
MAI_SkelKingFunction · 0.85
MAI_RhinoFunction · 0.85
MAI_CounselorFunction · 0.85

Calls 6

OperateL1LDoorFunction · 0.85
OperateL1RDoorFunction · 0.85
OperateL2LDoorFunction · 0.85
OperateL2RDoorFunction · 0.85
OperateL3RDoorFunction · 0.85
OperateL3LDoorFunction · 0.85

Tested by

no test coverage detected