- Converted ExplosiveBarrel, BulletPuff and DoomUnusedStates to DECORATE.
- Added VSpeed DECORATE property so that an actor can be given an initial vertical speed. - Removed the barrel check in P_DamageMobj. AActor::Die is doing the same operation unconditionally so this is redundant. - Added A_BarrelDestroy to the list of DECORATE code pointers so that the same effect can be recreated for other items as well. - Renamed A_BarrelRespawn to A_Respawn, changed it so that it works for monsters and added it to the list of DECORATE code pointers. Now Quake-style zombies should be possible. ;) - Changed handling of MF4_RANDOMIZE so that it applies to all actors being spawned and not just projectiles. - Converted Berserk and Megasphere to DECORATE. - Fixed: HealThing should respect the stamina a player has and the Dehacked health compatibility flag if max is 0. To do that it calls P_GiveBody now. SVN r373 (trunk)
This commit is contained in:
parent
c745c635db
commit
29195a913c
25 changed files with 819 additions and 859 deletions
|
|
@ -2838,6 +2838,20 @@ void P_LineAttack (AActor *t1, angle_t angle, fixed_t distance,
|
|||
}
|
||||
}
|
||||
|
||||
void P_LineAttack (AActor *t1, angle_t angle, fixed_t distance,
|
||||
int pitch, int damage, FName damageType, FName pufftype)
|
||||
{
|
||||
const PClass * type = PClass::FindClass(pufftype);
|
||||
if (type == NULL)
|
||||
{
|
||||
Printf("Attempt to spawn unknown actor type '%s'\n", pufftype.GetChars());
|
||||
}
|
||||
else
|
||||
{
|
||||
P_LineAttack(t1, angle, distance, pitch, damage, damageType, type);
|
||||
}
|
||||
}
|
||||
|
||||
void P_TraceBleed (int damage, fixed_t x, fixed_t y, fixed_t z, AActor *actor, angle_t angle, int pitch)
|
||||
{
|
||||
if (!cl_bloodsplats)
|
||||
|
|
@ -3061,7 +3075,7 @@ void P_RailAttack (AActor *source, int damage, int offset, int color1, int color
|
|||
}
|
||||
if (trace.CrossedWater)
|
||||
{
|
||||
AActor *puff = Spawn<ABulletPuff> (0, 0, 0, ALLOW_REPLACE);
|
||||
AActor *puff = Spawn ("BulletPuff", 0, 0, 0, ALLOW_REPLACE);
|
||||
if (puff != NULL)
|
||||
{
|
||||
SpawnDeepSplash (source, trace, puff, vx, vy, vz);
|
||||
|
|
@ -3083,7 +3097,7 @@ void P_RailAttack (AActor *source, int damage, int offset, int color1, int color
|
|||
if ((RailHits[i].HitActor->flags & MF_NOBLOOD) ||
|
||||
(RailHits[i].HitActor->flags2 & (MF2_DORMANT|MF2_INVULNERABLE)))
|
||||
{
|
||||
P_SpawnPuff (RUNTIME_CLASS(ABulletPuff), x, y, z, source->angle - ANG180, 1, true);
|
||||
P_SpawnPuff (PClass::FindClass(NAME_BulletPuff), x, y, z, source->angle - ANG180, 1, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue