Zandronum Chat on our Discord Server Get the latest version: 3.2.1
Source Code

View Revisions: Issue #1283 Back to Issue ]
Summary 0001283: Spread rune revamp
Revision 2013-02-17 18:55 by Dusk
Additional Information TArray<AActor*> P_SpreadLineAttack( AActor *t1, angle_t angle, fixed_t distance,
    int pitch, int damage, FName damageType, const PClass *pufftype, bool ismelee = false );
TArray<AActor*> P_SpreadLineAttack( AActor *t1, angle_t angle, fixed_t distance,
    int pitch, int damage, FName damageType, FName pufftype, bool ismelee = false );
-----------------------------
This one is exactly the same as P_LineAttack except that it returns an array of puffs spawned instead of one puff.

-----------------------------
TArray<AActor*> P_SpreadRuneMissile (AActor *source, const PClass *type);
TArray<AActor*> P_SpreadRuneMissile (AActor *source, const PClass *type, angle_t angle, bool bSpawnSound = true );
TArray<AActor*> P_SpreadRuneMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z, const PClass *type, angle_t angle,
    AActor **pLineTarget = NULL, AActor **MissileActor = NULL, bool nofreeaim = false, bool bSpawnSound = true,
    bool bSpawnOnClient = true, bool bReturnMissileActors = false );
-----------------------------
Spread-version of P_SpawnPlayerMissile, spawns missiles, takes spread into account and returns an array of the missiles. bReturnMissileActors causes the function to return the pMissileActors of the calls instead of return values for Heretic's powered skull rod.

TArray<AActor*> P_SpreadSpawn( const char *type, fixed_t x, fixed_t y, fixed_t z,
    replace_t allowreplacement, AActor* runeholder, bool bSetAngle );
-----------------------------
This is Spawn that takes spread into account. runeholder is the player actor who is supposed to have the rune. If bSetAngle is set to true, every spawned actor has their angle set to face their spread direction.

TArray<AActor*> P_SpreadRuneSubMissile( AActor *source, const PClass *type, AActor *target );
TArray<AActor*> P_SpreadRuneMissileAngle( AActor *source, const PClass *type, angle_t angle, fixed_t momz );
-----------------------------
The former one is for Strife (P_SpawnSubMissile), the latter one is for Heretic (P_SpawnMissileAngle)

bool P_ActorHasSpreadRune( AActor* mo );
-----------------------------
Returns true if the actor has the spread rune

ULONG P_SpreadRuneMultiplier( AActor* mo );
-----------------------------
Amount of missiles the player will shoot (right now either 1 or 3)

angle_t P_SpreadRuneCone( AActor* mo );
-----------------------------
Cone of missile spread, either 0 or ANGLE_60 / 2

angle_t P_SpreadRuneAngle( AActor* mo, ULONG ulDelta );
-----------------------------
Calculates angles for individual missiles.
Revision 2013-02-17 19:02 by Dusk
Additional Information TArray<AActor*> P_SpreadLineAttack( AActor *t1, angle_t angle, fixed_t distance,
    int pitch, int damage, FName damageType, const PClass *pufftype, bool ismelee = false );
TArray<AActor*> P_SpreadLineAttack( AActor *t1, angle_t angle, fixed_t distance,
    int pitch, int damage, FName damageType, FName pufftype, bool ismelee = false );
-----------------------------
This one does spread-savvy P_LineAttack and returns an array of puffs spawned.

-----------------------------
TArray<AActor*> P_SpreadRuneMissile (AActor *source, const PClass *type);
TArray<AActor*> P_SpreadRuneMissile (AActor *source, const PClass *type, angle_t angle, bool bSpawnSound = true );
TArray<AActor*> P_SpreadRuneMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z, const PClass *type, angle_t angle,
    AActor **pLineTarget = NULL, AActor **MissileActor = NULL, bool nofreeaim = false, bool bSpawnSound = true,
    bool bSpawnOnClient = true, bool bReturnMissileActors = false );
-----------------------------
Spread-version of P_SpawnPlayerMissile, spawns missiles, takes spread into account and returns an array of the missiles. bReturnMissileActors causes the function to return the pMissileActors of the calls instead of return values for Heretic's powered skull rod.

TArray<AActor*> P_SpreadSpawn( const char *type, fixed_t x, fixed_t y, fixed_t z,
    replace_t allowreplacement, AActor* runeholder, bool bSetAngle );
-----------------------------
This is Spawn that takes spread into account. runeholder is the player actor who is supposed to have the rune. If bSetAngle is set to true, every spawned actor has their angle set to face their spread direction.

TArray<AActor*> P_SpreadRuneSubMissile( AActor *source, const PClass *type, AActor *target );
TArray<AActor*> P_SpreadRuneMissileAngle( AActor *source, const PClass *type, angle_t angle, fixed_t momz );
-----------------------------
The former one is for Strife (P_SpawnSubMissile), the latter one is for Heretic (P_SpawnMissileAngle)

bool P_ActorHasSpreadRune( AActor* mo );
-----------------------------
Returns true if the actor has the spread rune

ULONG P_SpreadRuneMultiplier( AActor* mo );
-----------------------------
Amount of missiles the player will shoot (right now either 1 or 3)

angle_t P_SpreadRuneCone( AActor* mo );
-----------------------------
Cone of missile spread, either 0 or ANGLE_60 / 2

angle_t P_SpreadRuneAngle( AActor* mo, ULONG ulDelta );
-----------------------------
Calculates angles for individual missiles.






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker