Anonymous | Login | Signup for a new account | 2024-04-25 12:55 UTC |
My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0001283 | Zandronum | [All Projects] Suggestion | public | 2013-02-17 18:55 | 2019-06-04 21:54 | ||||||||
Reporter | Dusk | ||||||||||||
Assigned To | Dusk | ||||||||||||
Priority | normal | Severity | major | Reproducibility | N/A | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | OS | OS Version | |||||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0001283: Spread rune revamp | ||||||||||||
Description | Thought to do some science. :P 'https://bitbucket.org/CrimsonDusk/neurosphere/commits [^]' So far it's working, though it's obviously going to need a good bit of testing to make sure it functions properly. I've added a layer of wrapper functions into a p_spreadrune.cpp. They call P_LineAttack, P_SpawnPlayerMissile and so on and return an array containing all missiles/puffs spawned. I've gone through every weapon and updated them to use the new wrapper functions. As a result, the spread rune behavior is pretty much centralized to one code file. Right now I'm gonna try see if I can get this tested on neurosphere somehow to ensure everything behaves as they should. The fun bit is that this code could also allow for customizable spread runes. | ||||||||||||
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. | ||||||||||||
Attached Files | |||||||||||||
Relationships | |||||||||||
|
Only registered users can voice their support. Click here to register, or here to log in. | |
Supporters: | No one explicitly supports this issue yet. |
Opponents: | No one explicitly opposes this issue yet. |
Issue History | |||
Date Modified | Username | Field | Change |
2013-02-17 18:55 | Dusk | New Issue | |
2013-02-17 18:55 | Dusk | Status | new => assigned |
2013-02-17 18:55 | Dusk | Assigned To | => Dusk |
2013-02-17 19:02 | Dusk | Additional Information Updated | View Revisions |
2014-06-19 11:44 | Dusk | Relationship added | parent of 0000136 |
2019-06-04 21:54 | Dusk | Status | assigned => new |
Copyright © 2000 - 2024 MantisBT Team |