mirror of
https://github.com/ZDoom/Raze.git
synced 2025-01-18 22:51:50 +00:00
- parameter stuff in a few weapon functions.
This commit is contained in:
parent
e64e359d07
commit
ea7ff0b5eb
1 changed files with 18 additions and 12 deletions
|
@ -1430,15 +1430,16 @@ void AltFireFlare(int nTrigger, PLAYER *pPlayer)
|
||||||
void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
nTrigger--;
|
nTrigger--;
|
||||||
int nSprite = pPlayer->nSprite;
|
auto actor = pPlayer->actor();
|
||||||
spritetype *pSprite = pPlayer->pSprite;
|
spritetype *pSprite = pPlayer->pSprite;
|
||||||
if (nTrigger == 4)
|
if (nTrigger == 4)
|
||||||
{
|
{
|
||||||
actDamageSprite_(nSprite, pSprite, kDamageBullet, 1<<4);
|
actDamageSprite(actor, actor, kDamageBullet, 1<<4);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
assert(pPlayer->voodooTarget >= 0);
|
assert(pPlayer->voodooTarget >= 0);
|
||||||
spritetype *pTarget = &sprite[pPlayer->voodooTarget];
|
auto targetactor = &bloodActors[pPlayer->voodooTarget];
|
||||||
|
spritetype *pTarget = &targetactor->s();
|
||||||
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
||||||
return;
|
return;
|
||||||
switch (nTrigger)
|
switch (nTrigger)
|
||||||
|
@ -1447,7 +1448,7 @@ void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(pSprite, 460, 2, 0);
|
sfxPlay3DSound(pSprite, 460, 2, 0);
|
||||||
fxSpawnBlood(pTarget, 17<<4);
|
fxSpawnBlood(pTarget, 17<<4);
|
||||||
int nDamage = actDamageSprite_(nSprite, pTarget, kDamageSpirit, 17<<4);
|
int nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, 17<<4);
|
||||||
UseAmmo(pPlayer, 9, nDamage/4);
|
UseAmmo(pPlayer, 9, nDamage/4);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1455,7 +1456,7 @@ void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(pSprite, 460, 2, 0);
|
sfxPlay3DSound(pSprite, 460, 2, 0);
|
||||||
fxSpawnBlood(pTarget, 17<<4);
|
fxSpawnBlood(pTarget, 17<<4);
|
||||||
int nDamage = actDamageSprite_(nSprite, pTarget, kDamageSpirit, 9<<4);
|
int nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, 9<<4);
|
||||||
if (IsPlayerSprite(pTarget))
|
if (IsPlayerSprite(pTarget))
|
||||||
WeaponLower(&gPlayer[pTarget->type-kDudePlayer1]);
|
WeaponLower(&gPlayer[pTarget->type-kDudePlayer1]);
|
||||||
UseAmmo(pPlayer, 9, nDamage/4);
|
UseAmmo(pPlayer, 9, nDamage/4);
|
||||||
|
@ -1465,7 +1466,7 @@ void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(pSprite, 463, 2, 0);
|
sfxPlay3DSound(pSprite, 463, 2, 0);
|
||||||
fxSpawnBlood(pTarget, 17<<4);
|
fxSpawnBlood(pTarget, 17<<4);
|
||||||
int nDamage = actDamageSprite_(nSprite, pTarget, kDamageSpirit, 49<<4);
|
int nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, 49<<4);
|
||||||
UseAmmo(pPlayer, 9, nDamage/4);
|
UseAmmo(pPlayer, 9, nDamage/4);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1473,7 +1474,7 @@ void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(pSprite, 460, 2, 0);
|
sfxPlay3DSound(pSprite, 460, 2, 0);
|
||||||
fxSpawnBlood(pTarget, 17<<4);
|
fxSpawnBlood(pTarget, 17<<4);
|
||||||
int nDamage = actDamageSprite_(nSprite, pTarget, kDamageSpirit, 11<<4);
|
int nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, 11<<4);
|
||||||
if (IsPlayerSprite(pTarget))
|
if (IsPlayerSprite(pTarget))
|
||||||
{
|
{
|
||||||
PLAYER *pOtherPlayer = &gPlayer[pTarget->type - kDudePlayer1];
|
PLAYER *pOtherPlayer = &gPlayer[pTarget->type - kDudePlayer1];
|
||||||
|
@ -1487,6 +1488,7 @@ void FireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
|
|
||||||
void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
|
auto actor = pPlayer->actor();
|
||||||
if (nTrigger == 2) {
|
if (nTrigger == 2) {
|
||||||
|
|
||||||
// by NoOne: trying to simulate v1.0x voodoo here.
|
// by NoOne: trying to simulate v1.0x voodoo here.
|
||||||
|
@ -1498,7 +1500,8 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
for (int i = 0; i < pPlayer->aimTargetsCount; i++)
|
for (int i = 0; i < pPlayer->aimTargetsCount; i++)
|
||||||
{
|
{
|
||||||
int nTarget = pPlayer->aimTargets[i];
|
int nTarget = pPlayer->aimTargets[i];
|
||||||
spritetype* pTarget = &sprite[nTarget];
|
auto targetactor = &bloodActors[nTarget];
|
||||||
|
spritetype* pTarget = &targetactor->s();
|
||||||
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
||||||
continue;
|
continue;
|
||||||
int nDist = approxDist(pTarget->x - pPlayer->pSprite->x, pTarget->y - pPlayer->pSprite->y);
|
int nDist = approxDist(pTarget->x - pPlayer->pSprite->x, pTarget->y - pPlayer->pSprite->y);
|
||||||
|
@ -1508,7 +1511,7 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
int v8 = pPlayer->ammoCount[9] << 1;
|
int v8 = pPlayer->ammoCount[9] << 1;
|
||||||
int nDamage = (v8 + Random(vc)) << 4;
|
int nDamage = (v8 + Random(vc)) << 4;
|
||||||
nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200;
|
nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200;
|
||||||
nDamage = actDamageSprite_(pPlayer->nSprite, pTarget, kDamageSpirit, nDamage);
|
nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, nDamage);
|
||||||
|
|
||||||
if (IsPlayerSprite(pTarget))
|
if (IsPlayerSprite(pTarget))
|
||||||
{
|
{
|
||||||
|
@ -1534,7 +1537,8 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
for (int i = 0; i < pPlayer->aimTargetsCount; i++)
|
for (int i = 0; i < pPlayer->aimTargetsCount; i++)
|
||||||
{
|
{
|
||||||
int nTarget = pPlayer->aimTargets[i];
|
int nTarget = pPlayer->aimTargets[i];
|
||||||
spritetype* pTarget = &sprite[nTarget];
|
auto targetactor = &bloodActors[nTarget];
|
||||||
|
spritetype* pTarget = &targetactor->s();
|
||||||
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
||||||
continue;
|
continue;
|
||||||
if (v4 > 0)
|
if (v4 > 0)
|
||||||
|
@ -1546,7 +1550,7 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
||||||
int v8 = pPlayer->ammoCount[9] << 1;
|
int v8 = pPlayer->ammoCount[9] << 1;
|
||||||
int nDamage = (v8 + Random2(vc)) << 4;
|
int nDamage = (v8 + Random2(vc)) << 4;
|
||||||
nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200;
|
nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200;
|
||||||
nDamage = actDamageSprite_(pPlayer->nSprite, pTarget, kDamageSpirit, nDamage);
|
nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, nDamage);
|
||||||
UseAmmo(pPlayer, 9, nDamage);
|
UseAmmo(pPlayer, 9, nDamage);
|
||||||
if (IsPlayerSprite(pTarget))
|
if (IsPlayerSprite(pTarget))
|
||||||
{
|
{
|
||||||
|
@ -1689,6 +1693,7 @@ void FireLifeLeech(int nTrigger, PLAYER *pPlayer)
|
||||||
int r1 = Random2(2000);
|
int r1 = Random2(2000);
|
||||||
int r2 = Random2(2000);
|
int r2 = Random2(2000);
|
||||||
int r3 = Random2(1000);
|
int r3 = Random2(1000);
|
||||||
|
auto actor = pPlayer->actor();
|
||||||
spritetype *pMissile = playerFireMissile(pPlayer, 0, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, 315);
|
spritetype *pMissile = playerFireMissile(pPlayer, 0, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, 315);
|
||||||
if (pMissile)
|
if (pMissile)
|
||||||
{
|
{
|
||||||
|
@ -1699,12 +1704,13 @@ void FireLifeLeech(int nTrigger, PLAYER *pPlayer)
|
||||||
if (checkAmmo2(pPlayer, 8, 1))
|
if (checkAmmo2(pPlayer, 8, 1))
|
||||||
UseAmmo(pPlayer, 8, 1);
|
UseAmmo(pPlayer, 8, 1);
|
||||||
else
|
else
|
||||||
actDamageSprite_(pPlayer->nSprite, pPlayer->pSprite, kDamageSpirit, 16);
|
actDamageSprite(actor, actor, kDamageSpirit, 16);
|
||||||
pPlayer->visibility = ClipHigh(pPlayer->visibility+5, 50);
|
pPlayer->visibility = ClipHigh(pPlayer->visibility+5, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AltFireLifeLeech(int , PLAYER *pPlayer)
|
void AltFireLifeLeech(int , PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
|
auto actor = pPlayer->actor();
|
||||||
sfxPlay3DSound(pPlayer->pSprite, 455, 2, 0);
|
sfxPlay3DSound(pPlayer->pSprite, 455, 2, 0);
|
||||||
spritetype *pMissile = playerFireThing(pPlayer, 0, -4730, kThingDroppedLifeLeech, 0x19999);
|
spritetype *pMissile = playerFireThing(pPlayer, 0, -4730, kThingDroppedLifeLeech, 0x19999);
|
||||||
if (pMissile)
|
if (pMissile)
|
||||||
|
|
Loading…
Reference in a new issue