mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 08:52:00 +00:00
- manual update of NBlood commit 24908021f3b844a73de05632565d55d5b71b577c
- Fix kModernCustomDude is not inheriting sprite size if SEQ have zero repeats - Damage scale tweaks for kModernCustomDude - Fix hitscan kModernCondition
This commit is contained in:
parent
1732d206bd
commit
95acafdbac
3 changed files with 11 additions and 9 deletions
|
@ -1863,6 +1863,14 @@ void aiInitSprite(spritetype *pSprite)
|
||||||
case kDudeTentacleFire:
|
case kDudeTentacleFire:
|
||||||
aiNewState(actor, &tentacleIdle);
|
aiNewState(actor, &tentacleIdle);
|
||||||
break;
|
break;
|
||||||
|
#ifdef NOONE_EXTENSIONS
|
||||||
|
case kDudeModernCustom:
|
||||||
|
case kDudeModernCustomBurning:
|
||||||
|
if (!gModernMap) break;
|
||||||
|
aiGenDudeInitSprite(pSprite, pXSprite);
|
||||||
|
genDudePrepare(pSprite, kGenDudePropertyAll);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
aiNewState(actor, &genIdle);
|
aiNewState(actor, &genIdle);
|
||||||
break;
|
break;
|
||||||
|
@ -1918,11 +1926,6 @@ void aiInitSprite(spritetype *pSprite)
|
||||||
#ifdef NOONE_EXTENSIONS
|
#ifdef NOONE_EXTENSIONS
|
||||||
if (gModernMap) {
|
if (gModernMap) {
|
||||||
|
|
||||||
if (pSprite->type == kDudeModernCustom) {
|
|
||||||
aiGenDudeInitSprite(pSprite, pXSprite);
|
|
||||||
genDudePrepare(pSprite, kGenDudePropertyAll);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pXSprite->dudeFlag4) {
|
if (pXSprite->dudeFlag4) {
|
||||||
|
|
||||||
// restore dude's path
|
// restore dude's path
|
||||||
|
|
|
@ -1324,7 +1324,6 @@ void scaleDamage(XSPRITE* pXSprite) {
|
||||||
case kThingPodFireBall:
|
case kThingPodFireBall:
|
||||||
case kThingNapalmBall:
|
case kThingNapalmBall:
|
||||||
curScale[kDmgBurn] = 32;
|
curScale[kDmgBurn] = 32;
|
||||||
curScale[kDmgExplode] -= 32;
|
|
||||||
break;
|
break;
|
||||||
case kMissileLifeLeechRegular:
|
case kMissileLifeLeechRegular:
|
||||||
curScale[kDmgBurn] = 60 + Random(4);
|
curScale[kDmgBurn] = 60 + Random(4);
|
||||||
|
@ -1338,7 +1337,7 @@ void scaleDamage(XSPRITE* pXSprite) {
|
||||||
case kMissileFireballCerberus:
|
case kMissileFireballCerberus:
|
||||||
case kMissileFireballTchernobog:
|
case kMissileFireballTchernobog:
|
||||||
curScale[kDmgBurn] = 50;
|
curScale[kDmgBurn] = 50;
|
||||||
curScale[kDmgExplode] = 32;
|
curScale[kDmgExplode] -= 32;
|
||||||
curScale[kDmgFall] = 65 + Random(15);
|
curScale[kDmgFall] = 65 + Random(15);
|
||||||
break;
|
break;
|
||||||
case kThingTNTBarrel:
|
case kThingTNTBarrel:
|
||||||
|
@ -1348,7 +1347,7 @@ void scaleDamage(XSPRITE* pXSprite) {
|
||||||
case kThingArmedTNTStick:
|
case kThingArmedTNTStick:
|
||||||
case kModernThingTNTProx:
|
case kModernThingTNTProx:
|
||||||
curScale[kDmgBurn] -= 32;
|
curScale[kDmgBurn] -= 32;
|
||||||
curScale[kDmgExplode] = 32;
|
curScale[kDmgExplode] -= 32;
|
||||||
curScale[kDmgFall] = 65 + Random(15);
|
curScale[kDmgFall] = 65 + Random(15);
|
||||||
break;
|
break;
|
||||||
case kMissileTeslaAlt:
|
case kMissileTeslaAlt:
|
||||||
|
|
|
@ -3947,7 +3947,7 @@ bool condCheckSprite(XSPRITE* pXCond, int cmpOp, bool PUSH) {
|
||||||
var = HitScan(pSpr, pPlayer->zWeapon, pPlayer->aim.dx, pPlayer->aim.dy, pPlayer->aim.dz, arg1, arg3 << 1);
|
var = HitScan(pSpr, pPlayer->zWeapon, pPlayer->aim.dx, pPlayer->aim.dy, pPlayer->aim.dz, arg1, arg3 << 1);
|
||||||
else if (IsDudeSprite(pSpr))
|
else if (IsDudeSprite(pSpr))
|
||||||
var = HitScan(pSpr, pSpr->z, CosScale16(pSpr->ang), SinScale16(pSpr->ang), (!xspriRangeIsFine(pSpr->extra)) ? 0 : spractor->dudeSlope, arg1, arg3 << 1);
|
var = HitScan(pSpr, pSpr->z, CosScale16(pSpr->ang), SinScale16(pSpr->ang), (!xspriRangeIsFine(pSpr->extra)) ? 0 : spractor->dudeSlope, arg1, arg3 << 1);
|
||||||
else if (var2 & CSTAT_SPRITE_ALIGNMENT_FLOOR) {
|
else if ((var2 & CSTAT_SPRITE_ALIGNMENT_MASK) == CSTAT_SPRITE_ALIGNMENT_FLOOR) {
|
||||||
|
|
||||||
var3 = (var2 & 0x0008) ? 0x10000 << 1 : -(0x10000 << 1);
|
var3 = (var2 & 0x0008) ? 0x10000 << 1 : -(0x10000 << 1);
|
||||||
var = HitScan(pSpr, pSpr->z, Cos(pSpr->ang) >> 16, Sin(pSpr->ang) >> 16, var3, arg1, arg3 << 1);
|
var = HitScan(pSpr, pSpr->z, Cos(pSpr->ang) >> 16, Sin(pSpr->ang) >> 16, var3, arg1, arg3 << 1);
|
||||||
|
|
Loading…
Reference in a new issue