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

Function AddElement

Source/missiles.cpp:2063–2086  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2061}
2062
2063void AddElement(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
2064{
2065 int i;
2066
2067 if (sx == dx && sy == dy) {
2068 dx += XDirAdd[midir];
2069 dy += YDirAdd[midir];
2070 }
2071 missile[mi]._midam = 2 * (plr[id]._pLevel + random_(60, 10) + random_(60, 10)) + 4;
2072 for (i = missile[mi]._mispllvl; i > 0; i--) {
2073 missile[mi]._midam += missile[mi]._midam >> 3;
2074 }
2075 missile[mi]._midam >>= 1;
2076 GetMissileVel(mi, sx, sy, dx, dy, 16);
2077 SetMissDir(mi, GetDirection8(sx, sy, dx, dy));
2078 missile[mi]._mirange = 256;
2079 missile[mi]._miVar1 = sx;
2080 missile[mi]._miVar2 = sy;
2081 missile[mi]._miVar3 = 0;
2082 missile[mi]._miVar4 = dx;
2083 missile[mi]._miVar5 = dy;
2084 missile[mi]._mlid = AddLight(sx, sy, 8);
2085 UseMana(id, SPL_ELEMENT);
2086}
2087
2088extern void FocusOnInventory();
2089

Callers

nothing calls this directly

Calls 6

random_Function · 0.85
GetMissileVelFunction · 0.85
SetMissDirFunction · 0.85
GetDirection8Function · 0.85
AddLightFunction · 0.85
UseManaFunction · 0.85

Tested by

no test coverage detected