- New properties include TeleFogSourceType and TeleFogDestType.
- TeleFogSourceType is the fog left behind where the actor teleported away from.
- TeleFogDestType is the fog the actor sees when it arrives at its destination.
- Added A_SetTeleFog(<oldpos>,<newpos>) -- oldpos sets TeleFogSourceType, newpos sets TeleFogDestType.
- HITTARGET, HITMASTER, and HITTRACER.
- A missile that dies hitting an actor will set this impacted actor as the new target/master/tracer, depending on specifications.
- Added THRUREFLECT, MIRRORREFLECT, and AIMREFLECT. All require REFLECTIVE to work.
- THRUREFLECT prevents missiles from changing course if reflected, and takes precedence over all reflective flags.
- MIRRORREFLECT causes missiles to perform a direct 180 turn-around.
- AIMREFLECT turns the missile back to the original shooter, and does not slow the missile down.
Monsters with this flag can enter pain states, regardless of
invulnerability or damage absorption.
- Fixed: god2 cheat wasn't being considered for drowning and thrusting.
Apparently a band-aid fix was applied to this function because AActor::Destroy could not be called on an already destroyed actor again which could happen here due to incorrect ordering of actions.
Moving the state change to a later point in this function - after hitting a sky has been checked and decals have been spawned - returns everything to a safe state and ensures that nothing gets skipped.
- fixed: Thing_Raise didn't properly set the spawn health.
- fixed: Thing_Raise did not the CanRaise state flag.
- fixed: Reviving a monster must also reset the damage type.
- fixed: Thing_Raise reset the actor after calling the raise state, but it should be before, just as the Archvile code is doing.
- consolidated some common code of Thing_Raise and Archvile resurrection into AActor methods.
Corrected entries were blood would spawn inconsistently because of
cl_bloodtype. Blood now always spawns but is marked invisible according
to cl_bloodtype.
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
similar ACS APROPs set this when changing an angle. This forces the
renderer to interpolate the view angles instead of updating with the
latest mouse positions. The effect lasts one tick.
- Instead of tying NoDelay behavior to OF_JustSpawned, use a new actor
flag, MF7_HANDLENODELAY. This only gets cleared once it has actually
been checked by Tick(). This is necessary because freeze mode delays the
initial run of Tick() past the initial spawn, so OF_JustSpawned will no
longer be set when it does the initial tick.
- Delay NoDelay processing if an actor is spawned dormant. Actors spawned
dormant have Deactivate() called before they tick, so MF7_HANDLENODELAY
will remain set as long as an actor is dormant. This allows the NoDelay
handling to occur as expected once it is activated.
- fixed: Damage of type 'extreme' did not get recorded as an extreme death for the mugshot code.
- changed: extreme deaths now only get recorded when an extreme death state was actually used, to ensure that the crash state being used is the correct one associated with the death state.
- fixed: DamageTypeReceived was not serialized.
- fixed: The check for unhandled damage type was rendered ineffective by the old code handling the DeathType.
DECORATE). Then you can use:
* Bounce
* Bounce.Floor
* Bounce.Ceiling
* Bounce.Wall
* Bounce.Actor
* Bounce.Actor.Creature
Partial matches work just like Pain states, so if an actor bounces off a floor and you don't
have a Bounce.Floor state, but you do have a Bounce state, it will use the Bounce state.
Conversely, if you only have a Bounce.Floor state but no Bounce state, then the actor will
only enter the Bounce.Floor state when it bounces on a floor; bouncing off anything else will
not cause it to change state.
SVN r4250 (trunk)
When set, the actor will run this state during its first tick. This means Spawn
states may now run an action function if you set this flag. Note that this action function
is executed during the actor's first tick, which is not the same as when it is spawned.
SVN r4240 (trunk)
whatever spawned the random spawner already took care of this.
- Added a maxdist parameter to P_CheckMissileSpawn() to help ensure that it doesn't completely
move the spawned missile outside of its shooter (and potentially beyond a wall the shooter
might happen to be standing next to).
SVN r4194 (trunk)
can perform based on the amount of damage actually taken after all modifications are done to
it. However, if the damage is canceled away, blood will still spawn for the original damage
amount rather than the modified amount.
SVN r4012 (trunk)
* GruntSpeed: The minimum speed a player must be falling at the time of landing to play *grunt.
* FallingScreamSpeed: When a player is falling within this range of speeds, they will play *falling.
SVN r3829 (trunk)
is more efficient than ThingCount(tid, T_NONE), because it only needs to check for one actor
with the TID and not all of them. It also makes no distinction between dead things and live
things like ThingCount does.
- Added ACS function UniqueTID(tid, limit): It returns a new TID that is not currently used by
any actors. It has two modes of operation. If tid is non-zero, then it checks TIDs one-by-one
starting at the given tid until if finds a free one. If tid is zero, then it returns a completely
random TID. If limit is non-zero, then it will only check that many times for a free TID, so
it might not find a free one. If no free TID is found, 0 is returned. If limit is zero, then
the search is effectively unlimited.
SVN r3798 (trunk)