Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.93 KB | None | 0 0
  1. void MI_Lightctrl(int i)
  2. {
  3.     int pn, dam, p, mx, my;
  4.  
  5.     p = missile[i]._misource;
  6.     missile[i]._mirange--;
  7.     if (p != -1) {
  8.         if (!missile[i]._micaster) {
  9.             dam = random(79, plr[p]._pLevel);
  10.             dam += random(79, 2);
  11.             dam += 2;
  12.             dam <<= 6;
  13.         } else {
  14.             dam = 2 * (monster[p].mMinDamage + random(80, monster[p].mMaxDamage - monster[p].mMinDamage + 1));
  15.         }
  16.     } else {
  17.         dam = random(81, currlevel) + 2 * currlevel;
  18.     }
  19.     missile[i]._mitxoff += missile[i]._mixvel;
  20.     missile[i]._mityoff += missile[i]._miyvel;
  21.     GetMissilePos(i);
  22.     mx = missile[i]._mix;
  23.     my = missile[i]._miy;
  24.     p = missile[i]._misource;
  25.     pn = dPiece[missile[i]._mix][my];
  26.     if (p != -1 || mx != missile[i]._misx || my != missile[i]._misy) {
  27.         if (nMissileTable[pn])
  28.             missile[i]._mirange = 0;
  29.     }
  30.     if (!nMissileTable[pn] && !(mx == missile[i]._miVar1 && my == missile[i]._miVar2 || mx <= 0 || my <= 0 || mx >= MAXDUNX || my >= MAXDUNY)) {
  31.         //if (mx == missile[i]._miVar1 && my == missile[i]._miVar2 || mx <= 0 || my <= 0 || mx >= MAXDUNX || my >= MAXDUNY)
  32.         //  goto LABEL_27;
  33.         if (p != -1) {
  34.             if (missile[i]._micaster == 1) {
  35.                 if (monster[p].MType->mtype >= MT_STORM && monster[p].MType->mtype <= MT_MAEL) {
  36.                     AddMissile(mx, my, missile[i]._misx, missile[i]._misy, i, MIS_LIGHTNING2, missile[i]._micaster, p, dam, missile[i]._mispllvl);
  37.                     //missile[i]._miVar1 = missile[i]._mix;
  38.                     //missile[i]._miVar2 = missile[i]._miy;
  39.                     goto LABEL_26;
  40.                 }
  41.             }
  42.             AddMissile(mx, my, missile[i]._misx, missile[i]._misy, i, MIS_LIGHTNING, missile[i]._micaster, p, dam, missile[i]._mispllvl);
  43.         } else {
  44.             AddMissile(mx, my, missile[i]._misx, missile[i]._misy, i, MIS_LIGHTNING, missile[i]._micaster, -1, dam, missile[i]._mispllvl);
  45.         }
  46.     LABEL_26:
  47.         missile[i]._miVar1 = missile[i]._mix;
  48.         missile[i]._miVar2 = missile[i]._miy;
  49.     }
  50.     //LABEL_27:
  51.     if (!missile[i]._mirange || mx <= 0 || my <= 0 || mx >= MAXDUNX || my > MAXDUNY)
  52.         missile[i]._miDelFlag = TRUE;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement