Code: Select all
case 196: // Snoopy: Ajout de Earth-Shock-Wave
m_pEffectList[i]->m_mX = sX*32;
m_pEffectList[i]->m_mY = sY*32;
m_pEffectList[i]->m_iErr = 0;
m_pEffectList[i]->m_cMaxFrame = 30;
m_pEffectList[i]->m_dwFrameTime = 25;
sAbsX = abs(320 - (sX - m_sViewPointX));
sAbsY = abs(240 - (sY - m_sViewPointY));
if (sAbsX > sAbsY) sDist = sAbsX;
else sDist = sAbsY;
sDist = sDist / 32;
SetCameraShakingEffect(sDist);
break;
case 80:
case 196: // Earth-Shock-Wave
cTempFrame = m_pEffectList[i]->m_cFrame;
if (cTempFrame < 0) break;
dX = (m_pEffectList[i]->m_mX) - m_sViewPointX;
dY = (m_pEffectList[i]->m_mY) - m_sViewPointY;
m_pEffectSpr[91]->PutSpriteFast(dX, dY, cTempFrame, dwTime); //Nbe d'arguments modifiés ds la 351....
m_pEffectSpr[92]->PutTransSprite(dX, dY, cTempFrame, dwTime);
break;
cTempFrame = m_pEffectList[i]->m_cFrame;
if (cTempFrame < 0) break;
dX = (m_pEffectList[i]->m_mX) - m_sViewPointX;
dY = (m_pEffectList[i]->m_mY) - m_sViewPointY;
m_pEffectSpr[33]->PutTransSprite_NoColorKey(dX, dY, cTempFrame, dwTime);
cTempFrame = m_pEffectList[i]->m_cFrame;
if (cTempFrame < 0) cTempFrame = 0;
dX = (m_pEffectList[i]->m_mX) - m_sViewPointX;
dY = (m_pEffectList[i]->m_mY) - m_sViewPointY;
m_pEffectSpr[29]->PutTransSprite50_NoColorKey(dX, dY, cTempFrame, dwTime);
break;
case 196: // Earth-Shock-Wave
m_Misc.GetPoint(m_pEffectList[i]->m_mX
, m_pEffectList[i]->m_mY
, m_pEffectList[i]->m_dX*32
, m_pEffectList[i]->m_dY*32
, &m_pEffectList[i]->m_mX
, &m_pEffectList[i]->m_mY
, &m_pEffectList[i]->m_iErr
, 40);
bAddNewEffect(80, m_pEffectList[i]->m_mX + (rand() % 30) - 15, m_pEffectList[i]->m_mY + (rand() % 30) - 15, NULL, NULL, 0, 1);
bAddNewEffect(80, m_pEffectList[i]->m_mX + (rand() % 20) - 10, m_pEffectList[i]->m_mY + (rand() % 20) - 10, NULL, NULL, 0, 0);
if (m_pEffectList[i]->m_cFrame >= m_pEffectList[i]->m_cMaxFrame)
{ delete m_pEffectList[i];
m_pEffectList[i] = NULL;
}else
{ sAbsX = abs(((m_sViewPointX / 32) + 10) - m_pEffectList[i]->m_dX);
sAbsY = abs(((m_sViewPointY / 32) + 7) - m_pEffectList[i]->m_dY);
if (sAbsX > sAbsY) sDist = sAbsX -10;
else sDist = sAbsY -10;
lPan = -(((m_sViewPointX / 32) + 10) - m_pEffectList[i]->m_dX);
PlaySound('E', 1, sDist, lPan);
}
break;
thats the 3 cases from esw ...
Edit: i use 3.82 client by snoopy81 diuuuude and cleroth