Clean-up NpcAct280.cpp
This commit is contained in:
parent
e7ce855121
commit
20a6b60bcb
1 changed files with 110 additions and 108 deletions
|
@ -30,7 +30,7 @@ void ActNpc280(NPCHAR *npc)
|
||||||
npc->act_no = 1;
|
npc->act_no = 1;
|
||||||
npc->ani_no = 0;
|
npc->ani_no = 0;
|
||||||
npc->ani_wait = 0;
|
npc->ani_wait = 0;
|
||||||
npc->x += 0xC00;
|
npc->x += 6 * 0x200;
|
||||||
npc->tgt_x = npc->x;
|
npc->tgt_x = npc->x;
|
||||||
PlaySoundObject(29, 1);
|
PlaySoundObject(29, 1);
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
|
@ -78,7 +78,7 @@ void ActNpc280(NPCHAR *npc)
|
||||||
if (npc->act_wait / 2 % 2)
|
if (npc->act_wait / 2 % 2)
|
||||||
npc->x = npc->tgt_x;
|
npc->x = npc->tgt_x;
|
||||||
else
|
else
|
||||||
npc->x = npc->tgt_x + 0x200;
|
npc->x = npc->tgt_x + (1 * 0x200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ void ActNpc281(NPCHAR *npc)
|
||||||
case 11:
|
case 11:
|
||||||
++npc->act_wait;
|
++npc->act_wait;
|
||||||
|
|
||||||
SetNpChar(270, npc->x, npc->y + 0x10000, 0, 0, 2, npc, 0x100);
|
SetNpChar(270, npc->x, npc->y + (128 * 0x200), 0, 0, 2, npc, 0x100);
|
||||||
|
|
||||||
if (npc->act_wait > 150)
|
if (npc->act_wait > 150)
|
||||||
npc->act_no = 12;
|
npc->act_no = 12;
|
||||||
|
@ -147,7 +147,7 @@ void ActNpc282(NPCHAR *npc)
|
||||||
case 20:
|
case 20:
|
||||||
npc->xm = -0x200;
|
npc->xm = -0x200;
|
||||||
|
|
||||||
if (npc->x < -0x8000)
|
if (npc->x < -64 * 0x200)
|
||||||
npc->cond = 0;
|
npc->cond = 0;
|
||||||
|
|
||||||
if (npc->tgt_y < npc->y)
|
if (npc->tgt_y < npc->y)
|
||||||
|
@ -160,9 +160,9 @@ void ActNpc282(NPCHAR *npc)
|
||||||
if (npc->ym < -0x100)
|
if (npc->ym < -0x100)
|
||||||
npc->ym = -0x100;
|
npc->ym = -0x100;
|
||||||
|
|
||||||
if (gMC.flag & 8 && gMC.y < npc->y - 0x800 && gMC.x > npc->x - 0x3000 && gMC.x < npc->x + 0x3000)
|
if (gMC.flag & 8 && gMC.y < npc->y - (4 * 0x200) && gMC.x > npc->x - (24 * 0x200) && gMC.x < npc->x + (24 * 0x200))
|
||||||
{
|
{
|
||||||
npc->tgt_y = 0x12000;
|
npc->tgt_y = 144 * 0x200;
|
||||||
npc->ani_no = 2;
|
npc->ani_no = 2;
|
||||||
}
|
}
|
||||||
else if (npc->ani_no != 1)
|
else if (npc->ani_no != 1)
|
||||||
|
@ -170,22 +170,22 @@ void ActNpc282(NPCHAR *npc)
|
||||||
npc->ani_no = 0;
|
npc->ani_no = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gMC.flag & 1 && gMC.x < npc->x - npc->hit.back && gMC.x > npc->x - npc->hit.back - 0x1000 && gMC.y + gMC.hit.bottom > npc->y - npc->hit.top && gMC.y - gMC.hit.top < npc->y + npc->hit.bottom)
|
if (gMC.flag & 1 && gMC.x < npc->x - npc->hit.back && gMC.x > npc->x - npc->hit.back - (8 * 0x200) && gMC.y + gMC.hit.bottom > npc->y - npc->hit.top && gMC.y - gMC.hit.top < npc->y + npc->hit.bottom)
|
||||||
{
|
{
|
||||||
npc->bits &= ~NPC_SOLID_HARD;
|
npc->bits &= ~NPC_SOLID_HARD;
|
||||||
npc->ani_no = 1;
|
npc->ani_no = 1;
|
||||||
}
|
}
|
||||||
else if (gMC.flag & 4 && gMC.x > npc->x + npc->hit.back && gMC.x < npc->x + npc->hit.back + 0x1000 && gMC.y + gMC.hit.bottom > npc->y - npc->hit.top && gMC.y - gMC.hit.top < npc->y + npc->hit.bottom)
|
else if (gMC.flag & 4 && gMC.x > npc->x + npc->hit.back && gMC.x < npc->x + npc->hit.back + (8 * 0x200) && gMC.y + gMC.hit.bottom > npc->y - npc->hit.top && gMC.y - gMC.hit.top < npc->y + npc->hit.bottom)
|
||||||
{
|
{
|
||||||
npc->bits &= ~NPC_SOLID_HARD;
|
npc->bits &= ~NPC_SOLID_HARD;
|
||||||
npc->ani_no = 1;
|
npc->ani_no = 1;
|
||||||
}
|
}
|
||||||
else if (gMC.flag & 2 && gMC.y < npc->y - npc->hit.top && gMC.y > npc->y - npc->hit.top - 0x1000 && gMC.x + gMC.hit.front > npc->x - npc->hit.back && gMC.x - gMC.hit.back < npc->x + npc->hit.front)
|
else if (gMC.flag & 2 && gMC.y < npc->y - npc->hit.top && gMC.y > npc->y - npc->hit.top - (8 * 0x200) && gMC.x + gMC.hit.front > npc->x - npc->hit.back && gMC.x - gMC.hit.back < npc->x + npc->hit.front)
|
||||||
{
|
{
|
||||||
npc->bits &= ~NPC_SOLID_HARD;
|
npc->bits &= ~NPC_SOLID_HARD;
|
||||||
npc->ani_no = 1;
|
npc->ani_no = 1;
|
||||||
}
|
}
|
||||||
else if (gMC.flag & 8 && gMC.y > npc->y + npc->hit.bottom - 0x800 && gMC.y < npc->y + npc->hit.bottom + 0x1800 && gMC.x + gMC.hit.front > npc->x - npc->hit.back - 0x800 && gMC.x - gMC.hit.back < npc->x + npc->hit.front + 0x800)
|
else if (gMC.flag & 8 && gMC.y > npc->y + npc->hit.bottom - (4 * 0x200) && gMC.y < npc->y + npc->hit.bottom + (12 * 0x200) && gMC.x + gMC.hit.front > npc->x - npc->hit.back - (4 * 0x200) && gMC.x - gMC.hit.back < npc->x + npc->hit.front + (4 * 0x200))
|
||||||
{
|
{
|
||||||
npc->bits &= ~NPC_SOLID_HARD;
|
npc->bits &= ~NPC_SOLID_HARD;
|
||||||
npc->ani_no = 1;
|
npc->ani_no = 1;
|
||||||
|
@ -201,6 +201,10 @@ void ActNpc282(NPCHAR *npc)
|
||||||
// Misery (transformed)
|
// Misery (transformed)
|
||||||
void ActNpc283(NPCHAR *npc)
|
void ActNpc283(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
int direct;
|
||||||
|
|
||||||
RECT rcLeft[11] = {
|
RECT rcLeft[11] = {
|
||||||
{0, 64, 32, 96},
|
{0, 64, 32, 96},
|
||||||
{32, 64, 64, 96},
|
{32, 64, 64, 96},
|
||||||
|
@ -232,14 +236,11 @@ void ActNpc283(NPCHAR *npc)
|
||||||
if (npc->act_no < 100 && (gBoss[0].cond == 0 || npc->life < 400))
|
if (npc->act_no < 100 && (gBoss[0].cond == 0 || npc->life < 400))
|
||||||
npc->act_no = 100;
|
npc->act_no = 100;
|
||||||
|
|
||||||
int x;
|
|
||||||
int y;
|
|
||||||
int direct;
|
|
||||||
switch (npc->act_no)
|
switch (npc->act_no)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
npc->act_no = 1;
|
npc->act_no = 1;
|
||||||
npc->y -= 0x1000;
|
npc->y -= 8 * 0x200;
|
||||||
PlaySoundObject(29, 1);
|
PlaySoundObject(29, 1);
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -353,7 +354,7 @@ void ActNpc283(NPCHAR *npc)
|
||||||
|
|
||||||
PlaySoundObject(103, 1);
|
PlaySoundObject(103, 1);
|
||||||
|
|
||||||
if (gMC.y < 0x14000)
|
if (gMC.y < 160 * 0x200)
|
||||||
npc->count2 = 290;
|
npc->count2 = 290;
|
||||||
else
|
else
|
||||||
npc->count2 = 289;
|
npc->count2 = 289;
|
||||||
|
@ -377,18 +378,18 @@ void ActNpc283(NPCHAR *npc)
|
||||||
y = npc->y + (Random(-0x40, 0x40) * 0x200);
|
y = npc->y + (Random(-0x40, 0x40) * 0x200);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x < 0x4000)
|
if (x < 32 * 0x200)
|
||||||
x = 0x4000;
|
x = 32 * 0x200;
|
||||||
if (x > (gMap.width - 2) * 0x200 * 0x10)
|
if (x > (gMap.width - 2) * 0x200 * 0x10)
|
||||||
x = (gMap.width - 2) * 0x200 * 0x10;
|
x = (gMap.width - 2) * 0x200 * 0x10;
|
||||||
|
|
||||||
if (y < 0x4000)
|
if (y < 32 * 0x200)
|
||||||
y = 0x4000;
|
y = 32 * 0x200;
|
||||||
if (y > (gMap.length - 2) * 0x200 * 0x10)
|
if (y > (gMap.length - 2) * 0x200 * 0x10)
|
||||||
y = (gMap.length - 2) * 0x200 * 0x10;
|
y = (gMap.length - 2) * 0x200 * 0x10;
|
||||||
|
|
||||||
PlaySoundObject(39, 1);
|
PlaySoundObject(39, 1);
|
||||||
SetNpChar(npc->count2, x, y, 0, 0, 0, 0, 0x100);
|
SetNpChar(npc->count2, x, y, 0, 0, 0, NULL, 0x100);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (npc->act_wait > 50)
|
if (npc->act_wait > 50)
|
||||||
|
@ -447,7 +448,7 @@ void ActNpc283(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
if (npc->direct == 0)
|
if (npc->direct == 0)
|
||||||
{
|
{
|
||||||
x = npc->x + 0x1400;
|
x = npc->x + (10 * 0x200);
|
||||||
y = npc->y;
|
y = npc->y;
|
||||||
|
|
||||||
switch (npc->act_wait / 6 % 4)
|
switch (npc->act_wait / 6 % 4)
|
||||||
|
@ -471,7 +472,7 @@ void ActNpc283(NPCHAR *npc)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
x = npc->x - 0x1400;
|
x = npc->x - (10 * 0x200);
|
||||||
y = npc->y;
|
y = npc->y;
|
||||||
|
|
||||||
switch (npc->act_wait / 6 % 4)
|
switch (npc->act_wait / 6 % 4)
|
||||||
|
@ -495,14 +496,14 @@ void ActNpc283(NPCHAR *npc)
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaySoundObject(39, 1);
|
PlaySoundObject(39, 1);
|
||||||
SetNpChar(301, x, y, 0, 0, direct, 0, 0x100);
|
SetNpChar(301, x, y, 0, 0, direct, NULL, 0x100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (npc->act_wait % 24 == 1)
|
else if (npc->act_wait % 24 == 1)
|
||||||
{
|
{
|
||||||
if (npc->direct == 0)
|
if (npc->direct == 0)
|
||||||
{
|
{
|
||||||
x = npc->x + 0x1400;
|
x = npc->x + (10 * 0x200);
|
||||||
y = npc->y;
|
y = npc->y;
|
||||||
|
|
||||||
switch (npc->act_wait / 6 % 4)
|
switch (npc->act_wait / 6 % 4)
|
||||||
|
@ -526,7 +527,7 @@ void ActNpc283(NPCHAR *npc)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
x = npc->x - 0x1400;
|
x = npc->x - (10 * 0x200);
|
||||||
y = npc->y;
|
y = npc->y;
|
||||||
|
|
||||||
switch (npc->act_wait / 6 % 4)
|
switch (npc->act_wait / 6 % 4)
|
||||||
|
@ -550,13 +551,14 @@ void ActNpc283(NPCHAR *npc)
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaySoundObject(39, 1);
|
PlaySoundObject(39, 1);
|
||||||
SetNpChar(301, x, y, 0, 0, direct, 0, 0x100);
|
SetNpChar(301, x, y, 0, 0, direct, NULL, 0x100);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (npc->act_wait > 50)
|
if (npc->act_wait > 50)
|
||||||
{
|
{
|
||||||
npc->act_no = 42;
|
npc->act_no = 42;
|
||||||
npc->act_wait = 0;
|
npc->act_wait = 0;
|
||||||
|
|
||||||
if (npc->x > gMC.x)
|
if (npc->x > gMC.x)
|
||||||
npc->direct = 0;
|
npc->direct = 0;
|
||||||
else
|
else
|
||||||
|
@ -580,15 +582,15 @@ void ActNpc283(NPCHAR *npc)
|
||||||
npc->bits |= NPC_IGNORE_SOLIDITY;
|
npc->bits |= NPC_IGNORE_SOLIDITY;
|
||||||
npc->ym = -0x200;
|
npc->ym = -0x200;
|
||||||
npc->shock += 50;
|
npc->shock += 50;
|
||||||
npc->hit.bottom = 0x1800;
|
npc->hit.bottom = 12 * 0x200;
|
||||||
++gBoss[0].ani_no;
|
++gBoss[0].ani_no;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 101:
|
case 101:
|
||||||
npc->ym += 0x20;
|
npc->ym += 0x20;
|
||||||
|
|
||||||
if (npc->y > 0x1B000 - npc->hit.bottom)
|
if (npc->y > (216 * 0x200) - npc->hit.bottom)
|
||||||
{
|
{
|
||||||
npc->y = 0x1B000 - npc->hit.bottom;
|
npc->y = (216 * 0x200) - npc->hit.bottom;
|
||||||
npc->act_no = 102;
|
npc->act_no = 102;
|
||||||
npc->ani_no = 10;
|
npc->ani_no = 10;
|
||||||
npc->xm = 0;
|
npc->xm = 0;
|
||||||
|
@ -614,6 +616,8 @@ void ActNpc283(NPCHAR *npc)
|
||||||
// Sue (transformed)
|
// Sue (transformed)
|
||||||
void ActNpc284(NPCHAR *npc)
|
void ActNpc284(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
|
unsigned char deg;
|
||||||
|
|
||||||
RECT rcLeft[13] = {
|
RECT rcLeft[13] = {
|
||||||
{0, 128, 32, 160},
|
{0, 128, 32, 160},
|
||||||
{32, 128, 64, 160},
|
{32, 128, 64, 160},
|
||||||
|
@ -649,29 +653,27 @@ void ActNpc284(NPCHAR *npc)
|
||||||
if (npc->act_no < 100 && (gBoss[0].cond == 0|| npc->life < 500))
|
if (npc->act_no < 100 && (gBoss[0].cond == 0|| npc->life < 500))
|
||||||
npc->act_no = 100;
|
npc->act_no = 100;
|
||||||
|
|
||||||
unsigned char deg;
|
|
||||||
|
|
||||||
switch (npc->act_no)
|
switch (npc->act_no)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
npc->act_no = 1;
|
npc->act_no = 1;
|
||||||
npc->y -= 0x800;
|
npc->y -= 4 * 0x200;
|
||||||
PlaySoundObject(29, 1);
|
PlaySoundObject(29, 1);
|
||||||
npc->count2 = npc->life;
|
npc->count2 = npc->life;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 1:
|
case 1:
|
||||||
if (++npc->act_wait / 2 % 2)
|
if (++npc->act_wait / 2 % 2)
|
||||||
{
|
{
|
||||||
npc->view.top = 0x2000;
|
npc->view.top = 16 * 0x200;
|
||||||
npc->view.back = 0x2000;
|
npc->view.back = 16 * 0x200;
|
||||||
npc->view.front = 0x2000;
|
npc->view.front = 16 * 0x200;
|
||||||
npc->ani_no = 11;
|
npc->ani_no = 11;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
npc->view.top = 0x600;
|
npc->view.top = 3 * 0x200;
|
||||||
npc->view.back = 0x1000;
|
npc->view.back = 8 * 0x200;
|
||||||
npc->view.front = 0x1000;
|
npc->view.front = 8 * 0x200;
|
||||||
npc->ani_no = 12;
|
npc->ani_no = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -683,9 +685,9 @@ void ActNpc284(NPCHAR *npc)
|
||||||
case 10:
|
case 10:
|
||||||
npc->act_no = 11;
|
npc->act_no = 11;
|
||||||
npc->ani_no = 11;
|
npc->ani_no = 11;
|
||||||
npc->view.top = 0x2000;
|
npc->view.top = 16 * 0x200;
|
||||||
npc->view.back = 0x2000;
|
npc->view.back = 16 * 0x200;
|
||||||
npc->view.front = 0x2000;
|
npc->view.front = 16 * 0x200;
|
||||||
DeleteNpCharCode(257, 1);
|
DeleteNpCharCode(257, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -699,8 +701,8 @@ void ActNpc284(NPCHAR *npc)
|
||||||
npc->bits &= ~NPC_IGNORE_SOLIDITY;
|
npc->bits &= ~NPC_IGNORE_SOLIDITY;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 21:
|
case 21:
|
||||||
npc->xm = 7 * npc->xm / 8;
|
npc->xm = (npc->xm * 7) / 8;
|
||||||
npc->ym = 7 * npc->ym / 8;
|
npc->ym = (npc->ym * 7) / 8;
|
||||||
|
|
||||||
if (++npc->ani_wait > 20)
|
if (++npc->ani_wait > 20)
|
||||||
{
|
{
|
||||||
|
@ -765,9 +767,9 @@ void ActNpc284(NPCHAR *npc)
|
||||||
npc->bits &= ~NPC_SHOOTABLE;
|
npc->bits &= ~NPC_SHOOTABLE;
|
||||||
|
|
||||||
if (gMC.x < npc->x)
|
if (gMC.x < npc->x)
|
||||||
npc->tgt_x = gMC.x - 0x14000;
|
npc->tgt_x = gMC.x - (160 * 0x200);
|
||||||
else
|
else
|
||||||
npc->tgt_x = gMC.x + 0x14000;
|
npc->tgt_x = gMC.x + (160 * 0x200);
|
||||||
|
|
||||||
npc->tgt_y = gMC.y;
|
npc->tgt_y = gMC.y;
|
||||||
|
|
||||||
|
@ -843,13 +845,9 @@ void ActNpc284(NPCHAR *npc)
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 35:
|
case 35:
|
||||||
if (++npc->act_wait > 20 && npc->shock)
|
if (++npc->act_wait > 20 && npc->shock)
|
||||||
{
|
|
||||||
npc->act_no = 40;
|
npc->act_no = 40;
|
||||||
}
|
|
||||||
else if (npc->act_wait > 50 || npc->flag & 5)
|
else if (npc->act_wait > 50 || npc->flag & 5)
|
||||||
{
|
|
||||||
npc->act_no = 20;
|
npc->act_no = 20;
|
||||||
}
|
|
||||||
|
|
||||||
if (++npc->ani_wait > 1)
|
if (++npc->ani_wait > 1)
|
||||||
{
|
{
|
||||||
|
@ -873,8 +871,8 @@ void ActNpc284(NPCHAR *npc)
|
||||||
npc->bits &= ~NPC_IGNORE_SOLIDITY;
|
npc->bits &= ~NPC_IGNORE_SOLIDITY;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 41:
|
case 41:
|
||||||
npc->xm = 7 * npc->xm / 8;
|
npc->xm = (npc->xm * 7) / 8;
|
||||||
npc->ym = 7 * npc->ym / 8;
|
npc->ym = (npc->ym * 7) / 8;
|
||||||
|
|
||||||
if (++npc->act_wait > 6)
|
if (++npc->act_wait > 6)
|
||||||
{
|
{
|
||||||
|
@ -937,9 +935,9 @@ void ActNpc284(NPCHAR *npc)
|
||||||
case 101:
|
case 101:
|
||||||
npc->ym += 0x20;
|
npc->ym += 0x20;
|
||||||
|
|
||||||
if (npc->y > 0x1B000 - npc->hit.bottom)
|
if (npc->y > (216 * 0x200) - npc->hit.bottom)
|
||||||
{
|
{
|
||||||
npc->y = 0x1B000 - npc->hit.bottom;
|
npc->y = (216 * 0x200) - npc->hit.bottom;
|
||||||
npc->act_no = 102;
|
npc->act_no = 102;
|
||||||
npc->ani_no = 10;
|
npc->ani_no = 10;
|
||||||
npc->xm = 0;
|
npc->xm = 0;
|
||||||
|
@ -1000,10 +998,12 @@ void ActNpc285(NPCHAR *npc)
|
||||||
|
|
||||||
npc->tgt_x += npc->xm;
|
npc->tgt_x += npc->xm;
|
||||||
|
|
||||||
npc->x = npc->tgt_x + 4 * GetCos(deg);
|
npc->x = npc->tgt_x + (GetCos(deg) * 4);
|
||||||
npc->y = npc->tgt_y + 6 * GetSin(deg);
|
npc->y = npc->tgt_y + (GetSin(deg) * 6);
|
||||||
|
|
||||||
SetNpChar(286, npc->x, npc->y, 0, 0, 0, 0, 0x100);
|
SetNpChar(286, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
npc->rect = rc;
|
npc->rect = rc;
|
||||||
|
@ -1050,8 +1050,8 @@ void ActNpc287(NPCHAR *npc)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
npc->xm = 20 * npc->xm / 21;
|
npc->xm = (npc->xm * 20) / 21;
|
||||||
npc->ym = 20 * npc->ym / 21;
|
npc->ym = (npc->ym * 20) / 21;
|
||||||
|
|
||||||
npc->x += npc->xm;
|
npc->x += npc->xm;
|
||||||
npc->y += npc->ym;
|
npc->y += npc->ym;
|
||||||
|
@ -1129,10 +1129,10 @@ void ActNpc288(NPCHAR *npc)
|
||||||
else
|
else
|
||||||
npc->xm = 0x400;
|
npc->xm = 0x400;
|
||||||
|
|
||||||
npc->view.back = 0x1800;
|
npc->view.back = 12 * 0x200;
|
||||||
npc->view.front = 0x1800;
|
npc->view.front = 12 * 0x200;
|
||||||
npc->view.top = 0x1800;
|
npc->view.top = 12 * 0x200;
|
||||||
npc->view.bottom = 0x1800;
|
npc->view.bottom = 12 * 0x200;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
case 3:
|
case 3:
|
||||||
if (++npc->ani_no > 4)
|
if (++npc->ani_no > 4)
|
||||||
|
@ -1141,12 +1141,12 @@ void ActNpc288(NPCHAR *npc)
|
||||||
if (++npc->act_wait % 4 == 1)
|
if (++npc->act_wait % 4 == 1)
|
||||||
{
|
{
|
||||||
if (npc->direct == 1)
|
if (npc->direct == 1)
|
||||||
SetNpChar(287, npc->x, npc->y, 0, 0x400, 0, 0, 0x100);
|
SetNpChar(287, npc->x, npc->y, 0, 0x400, 0, NULL, 0x100);
|
||||||
else
|
else
|
||||||
SetNpChar(287, npc->x, npc->y, 0, -0x400, 0, 0, 0x100);
|
SetNpChar(287, npc->x, npc->y, 0, -0x400, 0, NULL, 0x100);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (npc->x < 0x200 * 0x10 || npc->x > (gMap.width * 0x200 * 0x10) - 0x200 * 0x10)
|
if (npc->x < 1 * 0x200 * 0x10 || npc->x > (gMap.width * 0x200 * 0x10) - (1 * 0x200 * 0x10))
|
||||||
npc->cond = 0;
|
npc->cond = 0;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1188,8 +1188,8 @@ void ActNpc289(NPCHAR *npc)
|
||||||
if (++npc->act_wait > 16)
|
if (++npc->act_wait > 16)
|
||||||
{
|
{
|
||||||
npc->act_no = 10;
|
npc->act_no = 10;
|
||||||
npc->view.top = 0x1000;
|
npc->view.top = 8 * 0x200;
|
||||||
npc->view.bottom = 0x1000;
|
npc->view.bottom = 8 * 0x200;
|
||||||
npc->damage = 2;
|
npc->damage = 2;
|
||||||
npc->bits |= NPC_SHOOTABLE;
|
npc->bits |= NPC_SHOOTABLE;
|
||||||
}
|
}
|
||||||
|
@ -1261,8 +1261,8 @@ void ActNpc289(NPCHAR *npc)
|
||||||
|
|
||||||
if (npc->act_no == 1)
|
if (npc->act_no == 1)
|
||||||
{
|
{
|
||||||
npc->rect.top += 8 - npc->act_wait / 2;
|
npc->rect.top += 8 - (npc->act_wait / 2);
|
||||||
npc->rect.bottom -= npc->act_wait / 2 + 8;
|
npc->rect.bottom -= 8 + (npc->act_wait / 2);
|
||||||
npc->view.top = (npc->act_wait * 0x200) / 2;
|
npc->view.top = (npc->act_wait * 0x200) / 2;
|
||||||
npc->view.bottom = (npc->act_wait * 0x200) / 2;
|
npc->view.bottom = (npc->act_wait * 0x200) / 2;
|
||||||
}
|
}
|
||||||
|
@ -1298,8 +1298,8 @@ void ActNpc290(NPCHAR *npc)
|
||||||
if (++npc->act_wait > 16)
|
if (++npc->act_wait > 16)
|
||||||
{
|
{
|
||||||
npc->act_no = 10;
|
npc->act_no = 10;
|
||||||
npc->view.top = 0x1000;
|
npc->view.top = 8 * 0x200;
|
||||||
npc->view.bottom = 0x1000;
|
npc->view.bottom = 8 * 0x200;
|
||||||
npc->damage = 2;
|
npc->damage = 2;
|
||||||
npc->bits |= NPC_SHOOTABLE;
|
npc->bits |= NPC_SHOOTABLE;
|
||||||
npc->tgt_y = npc->y;
|
npc->tgt_y = npc->y;
|
||||||
|
@ -1347,8 +1347,8 @@ void ActNpc290(NPCHAR *npc)
|
||||||
|
|
||||||
if (npc->act_no == 1)
|
if (npc->act_no == 1)
|
||||||
{
|
{
|
||||||
npc->rect.top += 8 - npc->act_wait / 2;
|
npc->rect.top += 8 - (npc->act_wait / 2);
|
||||||
npc->rect.bottom -= npc->act_wait / 2 + 8;
|
npc->rect.bottom -= 8 + (npc->act_wait / 2);
|
||||||
npc->view.top = (npc->act_wait * 0x200) / 2;
|
npc->view.top = (npc->act_wait * 0x200) / 2;
|
||||||
npc->view.bottom = (npc->act_wait * 0x200) / 2;
|
npc->view.bottom = (npc->act_wait * 0x200) / 2;
|
||||||
}
|
}
|
||||||
|
@ -1404,11 +1404,11 @@ void ActNpc293(NPCHAR *npc)
|
||||||
if (++npc->ani_no > 1)
|
if (++npc->ani_no > 1)
|
||||||
npc->ani_no = 0;
|
npc->ani_no = 0;
|
||||||
|
|
||||||
SetNpChar(4, npc->x + (Random(0, 0x10) * 0x200), npc->y + (Random(-0x10, 0x10) * 0x200), 0, 0, 0, 0, 0x100);
|
SetNpChar(4, npc->x + (Random(0, 0x10) * 0x200), npc->y + (Random(-0x10, 0x10) * 0x200), 0, 0, 0, NULL, 0x100);
|
||||||
|
|
||||||
npc->x -= 0x1000;
|
npc->x -= 8 * 0x200;
|
||||||
|
|
||||||
if (npc->x < -0x4000)
|
if (npc->x < -32 * 0x200)
|
||||||
npc->cond = 0;
|
npc->cond = 0;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1440,17 +1440,17 @@ void ActNpc294(NPCHAR *npc)
|
||||||
|
|
||||||
if (gMC.equip & 0x20)
|
if (gMC.equip & 0x20)
|
||||||
{
|
{
|
||||||
npc->x = gMC.x + 0x8000;
|
npc->x = gMC.x + (64 * 0x200);
|
||||||
|
|
||||||
if (npc->x < 0x34000)
|
if (npc->x < 416 * 0x200)
|
||||||
npc->x = 0x34000;
|
npc->x = 416 * 0x200;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
npc->x = gMC.x + 0xC000;
|
npc->x = gMC.x + (96 * 0x200);
|
||||||
|
|
||||||
if (npc->x < 0x2E000)
|
if (npc->x < 368 * 0x200)
|
||||||
npc->x = 0x2E000;
|
npc->x = 368 * 0x200;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (npc->x > (gMap.width - 10) * 0x200 * 0x10)
|
if (npc->x > (gMap.width - 10) * 0x200 * 0x10)
|
||||||
|
@ -1463,14 +1463,14 @@ void ActNpc294(NPCHAR *npc)
|
||||||
else
|
else
|
||||||
x = npc->x + (Random(-11, 11) * 0x200 * 0x10);
|
x = npc->x + (Random(-11, 11) * 0x200 * 0x10);
|
||||||
|
|
||||||
y = gMC.y - 0x1C000;
|
y = gMC.y - (224 * 0x200);
|
||||||
|
|
||||||
if (Random(0, 10) % 2) // Because just doing 'Random(0, 1)' is too hard
|
if (Random(0, 10) % 2) // Because just doing 'Random(0, 1)' is too hard
|
||||||
dir = 0;
|
dir = 0;
|
||||||
else
|
else
|
||||||
dir = 2;
|
dir = 2;
|
||||||
|
|
||||||
SetNpChar(279, x, y, 0, 0, dir, 0, 0x100);
|
SetNpChar(279, x, y, 0, 0, dir, NULL, 0x100);
|
||||||
|
|
||||||
npc->act_wait = Random(0, 15);
|
npc->act_wait = Random(0, 15);
|
||||||
}
|
}
|
||||||
|
@ -1498,50 +1498,50 @@ void ActNpc295(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
npc->ym = -1000;
|
npc->ym = -1000;
|
||||||
npc->view.back = 0xD000;
|
npc->view.back = 104 * 0x200;
|
||||||
npc->view.front = 0xD000;
|
npc->view.front = 104 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
npc->ym = -0x800;
|
npc->ym = -0x800;
|
||||||
npc->view.back = 0x7000;
|
npc->view.back = 56 * 0x200;
|
||||||
npc->view.front = 0x7000;
|
npc->view.front = 56 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
npc->ym = -0x400;
|
npc->ym = -0x400;
|
||||||
npc->view.back = 0x4000;
|
npc->view.back = 32 * 0x200;
|
||||||
npc->view.front = 0x4000;
|
npc->view.front = 32 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
npc->ym = -0x200;
|
npc->ym = -0x200;
|
||||||
npc->view.back = 0x2800;
|
npc->view.back = 20 * 0x200;
|
||||||
npc->view.front = 0x2800;
|
npc->view.front = 20 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
npc->xm = -0x400;
|
npc->xm = -0x400;
|
||||||
npc->view.back = 0xD000;
|
npc->view.back = 104 * 0x200;
|
||||||
npc->view.front = 0xD000;
|
npc->view.front = 104 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
npc->xm = -0x200;
|
npc->xm = -0x200;
|
||||||
npc->view.back = 0x7000;
|
npc->view.back = 56 * 0x200;
|
||||||
npc->view.front = 0x7000;
|
npc->view.front = 56 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
npc->xm = -0x100;
|
npc->xm = -0x100;
|
||||||
npc->view.back = 0x4000;
|
npc->view.back = 32 * 0x200;
|
||||||
npc->view.front = 0x4000;
|
npc->view.front = 32 * 0x200;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
npc->xm = -0x80;
|
npc->xm = -0x80;
|
||||||
npc->view.back = 0x2800;
|
npc->view.back = 20 * 0x200;
|
||||||
npc->view.front = 0x2800;
|
npc->view.front = 20 * 0x200;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1550,10 +1550,12 @@ void ActNpc295(NPCHAR *npc)
|
||||||
case 1:
|
case 1:
|
||||||
npc->x += npc->xm;
|
npc->x += npc->xm;
|
||||||
npc->y += npc->ym;
|
npc->y += npc->ym;
|
||||||
if (npc->x < -0x8000)
|
|
||||||
|
if (npc->x < -64 * 0x200)
|
||||||
npc->cond = 0;
|
npc->cond = 0;
|
||||||
if (npc->y < -0x4000)
|
if (npc->y < -32 * 0x200)
|
||||||
npc->cond = 0;
|
npc->cond = 0;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1596,7 +1598,7 @@ void ActNpc296(NPCHAR *npc)
|
||||||
|
|
||||||
x = Random(-10, 10) * 0x200 * 0x10 + npc->x;
|
x = Random(-10, 10) * 0x200 * 0x10 + npc->x;
|
||||||
y = npc->y;
|
y = npc->y;
|
||||||
SetNpChar(295, x, y, 0, 0, dir, 0, pri);
|
SetNpChar(295, x, y, 0, 0, dir, NULL, pri);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1621,7 +1623,7 @@ void ActNpc296(NPCHAR *npc)
|
||||||
|
|
||||||
x = npc->x;
|
x = npc->x;
|
||||||
y = Random(-7, 7) * 0x200 * 0x10 + npc->y;
|
y = Random(-7, 7) * 0x200 * 0x10 + npc->y;
|
||||||
SetNpChar(295, x, y, 0, 0, dir + 4, 0, pri);
|
SetNpChar(295, x, y, 0, 0, dir + 4, NULL, pri);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1631,8 +1633,8 @@ void ActNpc297(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
RECT rc = {112, 48, 0x80, 64};
|
RECT rc = {112, 48, 0x80, 64};
|
||||||
|
|
||||||
npc->x = npc->pNpc->x + 0x2000;
|
npc->x = npc->pNpc->x + (16 * 0x200);
|
||||||
npc->y = npc->pNpc->y + 0x1000;
|
npc->y = npc->pNpc->y + (8 * 0x200);
|
||||||
|
|
||||||
npc->rect = rc;
|
npc->rect = rc;
|
||||||
}
|
}
|
||||||
|
@ -1655,7 +1657,7 @@ void ActNpc298(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
npc->act_no = 1;
|
npc->act_no = 1;
|
||||||
npc->y -= 0x1000;
|
npc->y -= 8 * 0x200;
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1760,7 +1762,7 @@ void ActNpc299(NPCHAR *npc)
|
||||||
{
|
{
|
||||||
npc->ani_no = 1;
|
npc->ani_no = 1;
|
||||||
npc->act_wait = 25;
|
npc->act_wait = 25;
|
||||||
npc->y -= 1600;
|
npc->y -= 0x40 * (50 / 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue