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

Function Obj_Circle

Source/objects.cpp:1501–1539  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1499}
1500
1501void Obj_Circle(int i)
1502{
1503 int ox, oy, wx, wy;
1504
1505 ox = object[i]._ox;
1506 oy = object[i]._oy;
1507 wx = plr[myplr].WorldX;
1508 wy = plr[myplr].WorldY;
1509 if (wx == ox && wy == oy) {
1510 if (object[i]._otype == OBJ_MCIRCLE1)
1511 object[i]._oAnimFrame = 2;
1512 if (object[i]._otype == OBJ_MCIRCLE2)
1513 object[i]._oAnimFrame = 4;
1514 if (ox == 45 && oy == 47) {
1515 object[i]._oVar6 = 2;
1516 } else if (ox == 26 && oy == 46) {
1517 object[i]._oVar6 = 1;
1518 } else {
1519 object[i]._oVar6 = 0;
1520 }
1521 if (ox == 35 && oy == 36 && object[i]._oVar5 == 3) {
1522 object[i]._oVar6 = 4;
1523 ObjChangeMapResync(object[i]._oVar1, object[i]._oVar2, object[i]._oVar3, object[i]._oVar4);
1524 if (quests[QTYPE_VB]._qactive == 2)
1525 quests[QTYPE_VB]._qvar1 = 4;
1526 AddMissile(plr[myplr].WorldX, plr[myplr].WorldY, 35, 46, plr[myplr]._pdir, MIS_RNDTELEPORT, 0, myplr, 0, 0);
1527 track_repeat_walk(FALSE);
1528 sgbMouseDown = 0;
1529 ClrPlrPath(myplr);
1530 StartStand(myplr, 0);
1531 }
1532 } else {
1533 if (object[i]._otype == OBJ_MCIRCLE1)
1534 object[i]._oAnimFrame = 1;
1535 if (object[i]._otype == OBJ_MCIRCLE2)
1536 object[i]._oAnimFrame = 3;
1537 object[i]._oVar6 = 0;
1538 }
1539}
1540
1541void Obj_StopAnim(int i)
1542{

Callers 1

ProcessObjectsFunction · 0.85

Calls 5

ObjChangeMapResyncFunction · 0.85
AddMissileFunction · 0.85
track_repeat_walkFunction · 0.85
ClrPlrPathFunction · 0.85
StartStandFunction · 0.85

Tested by

no test coverage detected