Merge in xonotic/xonotic-data.pk3dir.git: mirceakitsune/damage_effects
git-manager created issue #996 (closed) on 2012-01-09T00:20:28Z:
Purpose of the branch:
Implements particles coming out of players and objects who are shot, during a brief amount of time (eg: Flames when a player is shot by a rocket, blue smoke when hit by Electro, blood when shot with a bullet, etc). Damage also sticks to the limb (bone) nearest to where the player got hit. The feature is fully client sided. Ready to test and merge.
Repository: xonotic/xonotic-data.pk3dir.git Commit: 21403f1e Branch: mirceakitsune/damage_effects
Merge commands:
cd data/xonotic-data.pk3dir
git checkout master
git reset --hard origin/master
git pull && git diff '21403f1e9510d608415d14bf4348880b9ff42204'..'origin/mirceakitsune/damage_effects'
# please check that the diff you just saw did not contain anything complex that
# needs a new merge request, and review these changes
git merge --no-ff 'origin/mirceakitsune/damage_effects'
# please make sure this merge worked, and if not, fix merge conflicts and git
# commit BEFORE the next command
#
# also, THIS is the point to do final pre-merge testing
#
# use git reset --hard origin/master to bail out
git push && git push --delete origin 'mirceakitsune/damage_effects'
Diffstat:
defaultXonotic.cfg | 8 +
effectinfo.txt | 701 ++++++++++++++++++++++++++++++++++++++
qcsrc/client/Main.qc | 4 +
qcsrc/client/autocvars.qh | 7 +
qcsrc/client/damage.qc | 107 ++++++-
qcsrc/client/gibs.qc | 1 +
qcsrc/common/util.qh | 5 +
qcsrc/dpdefs/csprogsdefs.qc | 7 +
qcsrc/server/cl_player.qc | 3 +
qcsrc/server/g_damage.qc | 9 +-
qcsrc/server/g_violence.qc | 7 +
qcsrc/server/mutators/sandbox.qc | 2 +-
qcsrc/server/vehicles/raptor.qc | 2 +-
qcsrc/server/w_common.qc | 13 +-
qcsrc/server/w_minstanex.qc | 4 -
qcsrc/server/w_nex.qc | 4 -
qcsrc/server/w_seeker.qc | 4 +-
17 files changed, 866 insertions(+), 22 deletions(-)
Revision log:
commit 21403f1e9510d608415d14bf4348880b9ff42204
Merge: 06251c1 05547ce
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 06251c1fe4c65a61a6d279368f4c9ee9d2dd6366
Author: Mircea Kitsune
Commit: Mircea Kitsune
Blacklist floating bones so the effect won't stick to them. I'm not a fan of doing it this way, and I wonder why those bones exist at all
commit 9df36326645398b4baafc0b9e713106bde71ffa3
Author: Mircea Kitsune
Commit: Mircea Kitsune
Hide damage effects on spectated players too, if we aren't using chase_active
commit ec83ed687a1e3e9567d015c4cc7a0fb60dab140b
Author: Mircea Kitsune
Commit: Mircea Kitsune
More minor tweaks and cleanups
commit 2abb176eca95b01bf3d64ec4886698daf7ea78d3
Author: Mircea Kitsune
Commit: Mircea Kitsune
Disable damage effects on objects by default. They mess with performance when shooting a load of gibs on the ground
commit 5e98d165bc4271e4ed2d31f6c57675eff46197ec
Author: Mircea Kitsune
Commit: Mircea Kitsune
Distribute particles between damage effects on the same player. eg: Having one damage causes its ticrate to be 0.1, having two damages causes their ticrate to be 0.2, and so on. This improves performance by maintaining the same particle count, but also looks better in practice
commit 96c9a4f521a27af8d7b409e820e4da9a82633276
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix a code failure
commit 379c2f68db30f92ed9b6f53c73869126ae732ecc
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix the cvar switch check
commit 99134acd238912cc231b1a588319fbfe2a551bab
Author: Mircea Kitsune
Commit: Mircea Kitsune
Make minimum lifetime of damage effects 3
commit 922994b2d4ff340f515c249c1c259fb0df38426d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Further improve some of the plasma damage particles
commit d03bf59652dab079deef7cf35e5b80599b13df05
Merge: 948221c 1b8067f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 948221c60f54a78c311f9210ca7721b5c224d1fb
Author: Mircea Kitsune
Commit: Mircea Kitsune
More code optimizations and code comments
commit c1ee9191bfd90692940db4c46cd8fa3a2d80396d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Don't show fire and some plasma damage effects underwater
commit eb3aeb12cb42f0f0cc9af7060f8d3a620fb7a790
Author: Mircea Kitsune
Commit: Mircea Kitsune
Larger changes and improvements to the damage particles. Added different types of sparks to plasma/ energy damage, made rocket flames look a lot better, and also tweaked bullet blood
commit 6fd3c15ebdc853879653acdff98a1bcff9cc857a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix blood-dependent damage effects
commit 59d507b4efda55971a5446fb878d49241674edaf
Author: Mircea Kitsune
Commit: Mircea Kitsune
Slightly lower light intensities
commit 8e286f7010f09a0896d41c966e43992347165af6
Author: Mircea Kitsune
Commit: Mircea Kitsune
More tweaks to the impact particles
commit ac7af2adb6a55351bd710db8af8f55e9d212657b
Author: Mircea Kitsune
Commit: Mircea Kitsune
Simpler way of defining the entity number of the player
commit ca88a9248335c9aba97d8df34fc89afd9d73cf6e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Allow cvar to specify whether effects should show only on players, or both players and objects. Also do more code cleanups and code comments
commit 5a6a099f7b95eeaffbcd9876a37ee044ba944ed4
Author: Mircea Kitsune
Commit: Mircea Kitsune
Change how damage effects are applied to non-player objects. Only allow one damage effect per object, and don't allow objects to bleed. Also do some code optimization and cleanup
commit 426ebfae15f715398aff635c411656aa6d608310
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix a bug causing damage effects to not show for alt-fire hits
commit 35727517e8242a27597304ad0f367dcc9d78fb30
Author: Mircea Kitsune
Commit: Mircea Kitsune
Kill damage effects when the player gets gibbed or goes spectating
commit aa267f19bc1f0e0c985b70f547a67d2158397be3
Author: Mircea Kitsune
Commit: Mircea Kitsune
Make damage effects last longer
commit d9ba706420bdb2cdc135fa9925855ed8a8783519
Author: Mircea Kitsune
Commit: Mircea Kitsune
Now that damage effects are limb based, make particles smaller and less distanced
commit 3918acc66e8f6678804be860cb81be37a50e172a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Improve the tag counting macro
commit c23e98576c85491afbdb69be9ed66fb4deaa858a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use a different and smarter way to go through the bones of a model. The previous loop had a bug which would eventually crash CSQC. Also use this for the sandbox to fix the same issue.
commit 22a9cf27830f1ced8fbf6c878b068b7d1a750a26
Author: Mircea Kitsune
Commit: Mircea Kitsune
Attach the damage effect entity to the bone and use its origin, instead of not attaching it but getting bone origin each time. This might have some uses and should be more optimal
commit bc7fffefc1ea799bc13f62da977dcb5acc7e3ea4
Author: Mircea Kitsune
Commit: Mircea Kitsune
Remove forgotten ReadByte (part of previous commit)
commit c68eca6795679646cfd4d15cc4e6038397119a55
Author: Mircea Kitsune
Commit: Mircea Kitsune
Remove the old way of showing damage effects on gibs. Currently, damage effects no longer display on gibs. The old way was clearly not a good implementation, and it will need to be done differently if possible at all.
commit 5daa331c4b445f65ccb64169ea146d10a27945f5
Author: Mircea Kitsune
Commit: Mircea Kitsune
Allow multiple damage effects on the same player, but limit the number of damages that can exist at the same time
commit ce15674b6021d2aaf48f8c55abedb6e91362668a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Skip damage effects for entities that have un model (eg: world)
commit 15bcc7df71c2dadbc5b8f29112e9196de6a4512f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Go through all bones on the player model, and select the one closest to the damage origin. Damage effects now show on the limb a player was shot on.
commit dbf4174c18e50013ef0a3d96092085d701c99408
Author: Mircea Kitsune
Commit: Mircea Kitsune
First part of bone-based damage effects: The origin of the effects is now a given player bone, not the player's origin
commit 45ac9fc0248eed87497d14ed517d41867412b13c
Author: Mircea Kitsune
Commit: Mircea Kitsune
Remove debug print now that species are working
commit da8cb9db8e6bf02b5c6adaa2b7e8512a06a78877
Author: Mircea Kitsune
Commit: Mircea Kitsune
Get the correct species value. This fixes the last known bug for the damage effects (except an issue with gibs)
commit eab34d0a1c791c5b2a9f061d877e1a7fdf579542
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use the correct damage value in damage effects. Edge damage will now be accounted, and damage particles will last based on the damage actually dealt
commit bf3c7957c34da3b561d688a160be6552de032ec7
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix an epic failure in my code. This finally gets the damage effects working as intended again, for both hitscan and splash damage weapons
commit 53b53682eea732737a642591786acf6f815c18dd
Author: Mircea Kitsune
Commit: Mircea Kitsune
Revert last commit, it was a mistake. The client already does a radius search in ent_DamageInfo, so we don't need to send it for each damaged player. We do however have to do this for hitscan weapons, including railgunbullet
commit fc077331241296eb409563333bb0b60d76241a18
Author: Mircea Kitsune
Commit: Mircea Kitsune
Send an ent_DamageInfo for each player in the radius of a splash damage blast. This should allow damage effects to work again, but will currently cause effects to show at the origin of each player too (eg: A rocket hitting the ground will also cause explosions to show on all players who are damaged). Do we want this?
commit 0b0999563ba9ed031559b4756b3b27c2ac89da7e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Also send ent_DamageInfo for hitscan weapons when they hit a player, not only when hitting a surface. First step in getting damage effects working for hitscan guns again.
commit c4b09062e3dc4b40cd17bc7658e8a21043abb66b
Merge: 53786a2 aa6943d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 53786a209467e5da2df529454e6cb70dc14e1fd6
Author: Mircea Kitsune
Commit: Mircea Kitsune
Some tweaks, and preparations for a fix
commit 4e0ce05203c4ebbe9b8fe88b62abd09647023648
Author: Mircea Kitsune
Commit: Mircea Kitsune
Damage_DamageInfo is already sent for hitscan weapons. I really need to check more before making a commit :P
commit 6be9f5889f409975b5cf6ac88d3be882c6eae570
Author: Mircea Kitsune
Commit: Mircea Kitsune
Send species properly from the server?
commit 74506d6244b1a6e2a02e7f44e5732085826954a9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Send ent_DamageInfo for hitscan damage too. Why wasn't this done in the first place? This change might need some checking to make sure it's ok.
commit 8b8bd3ee2c5039d47c7e7bcc1de38bda2404dac1
Author: Mircea Kitsune
Commit: Mircea Kitsune
Get damage effects working without using a separate entity, but taking advantage of the existing Ent_DamageInfo. Note that some damage effects seem to break, and I need to see why they aren't working.
commit c6c371883dde697e1f237d498c08e09788b6af6b
Merge: a8f44b0 6796c18
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
Conflicts:
effectinfo.txt
qcsrc/client/Main.qc
qcsrc/client/autocvars.qh
qcsrc/common/constants.qh
qcsrc/server/cl_player.qc
commit a8f44b0e98aedacaae872b937ee023e24fc30878
Merge: dce1a49 e97635c
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit dce1a493a7df370cb4134647d703ebd5c0a28232
Author: Mircea Kitsune
Commit: Mircea Kitsune
Revert entcs back, and use getplayerorigin() to get the origin for the effect
commit 472d57bed30b6534fb623873f275393516d25b51
Author: Mircea Kitsune
Commit: Mircea Kitsune
Update existing damage effect info instead of spawning a new one.
commit 6bbc463dada078044df5c0ed1733187e6f05c0e8
Author: Mircea Kitsune
Commit: Mircea Kitsune
Re-implement lifetime for the effects
commit 86e304ee7a73a0f2626d691019760ac7c02293cd
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix some things in the damage code
commit 6655f6128a9b56f9609b3d48964827ae6fd325ef
Author: Mircea Kitsune
Commit: Mircea Kitsune
Allow specifying how often to generate the particles. Also randomize them for gibs, so gibs don't all generate effects at the same time and look ugly.
commit 93ded04730657c553ebc0f7e7a833bcb16484627
Author: Mircea Kitsune
Commit: Mircea Kitsune
Arrange the code better, and allow setting effects on players and gibs independently.
commit 38df354bd3d66246bf025893e602330c3831ecfa
Author: Mircea Kitsune
Commit: Mircea Kitsune
Tweak some gib code and comments for the damage effects
commit 6e528e497cb051a75dd11966d535f3131d43dd03
Author: Mircea Kitsune
Commit: Mircea Kitsune
Enable damage effects on gibs again, and fix local player detection
commit 8dd1357708438bd75c9d13d59e1fa6242d3dbd56
Author: Mircea Kitsune
Commit: Mircea Kitsune
Another entcs tweak, to allow sending it for dead players. Again, this needs a decision.
commit 9a7544b57ac57e73f3cecfbfe1e6b1331714ad0e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Temporarily tweak entcs so it's sent for both self and enemy players in the view. This might be buggy and needs to be discussed first!
commit 923de6130311b7a95fdd3d9044ad1cd1ee1ca9a1
Author: Mircea Kitsune
Commit: Mircea Kitsune
Get the damage effects PARTLY working again. They will only show on team mates so far, due to an apparent entcs bug (entcs not being sent to enemies of the player).
commit fe8fa62ddd3321825b7628645e3d4b809f07929d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Attempt to move the repeater of the damage effect client side, using entcs to get the player's origin. Previously, the server would send the effect to all clients every 0.1 seconds (lots of bandwidth). With this change, it will only send it once per damage event, and the client will find the origin and repeat it. Not guaranteed to work yet, and this commit might break it!
commit f2a79cba0897fb6f6cb7ebeecb596b5547af3ddd
Merge: dd1c17f f3cd6e8
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
Conflicts:
effectinfo.txt
qcsrc/client/Main.qc
qcsrc/client/autocvars.qh
qcsrc/client/gibs.qc
commit dd1c17f2775c0249509992ee85edb71020fa09e9
Merge: 6c92788 2e23497
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 6c9278887b506ba1f4135a7ce2451706293938b3
Merge: d6d052a bdfd717
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit d6d052a48359a46ac57774650797e6cc6a6d7f31
Merge: c4cb3b3 e2daf8d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit c4cb3b3af3770d7629b3cef9332e06129294bb3a
Merge: 8896ed7 8e55f49
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 8896ed7041705fcd44babc2cfb7ad8f931bedcbc
Merge: 6d0b92f 396be1f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 6d0b92f2bd629d0e83a7b3a37db60863acbc480a
Merge: 594ccfa f7f36e7
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 594ccfa3382b16ee49d794043973c13ed4229dbd
Author: Mircea Kitsune
Commit: Mircea Kitsune
Stop showing the effect on gibbed dead bodies, and only show it on gibs instead. This fixes damage effects showing where the body is after it has been gibbed, therefore displaying there for no reason (also means less particles and better performance with gibs).
commit c3d9fd12137d3e490f9c65fe4ea15e6e08bf4102
Author: Mircea Kitsune
Commit: Mircea Kitsune
Do show damage effects on our own dead bodies.
commit fa40153228a30099ed0c532b602abf143480f093
Author: Mircea Kitsune
Commit: Mircea Kitsune
Gah, added that ReadByte in another code :P
commit 17801ac17058ccc839748430190a9368e7fa6a88
Author: Mircea Kitsune
Commit: Mircea Kitsune
Send the dead body / gibbed status as a separate WriteByte. I really see no other way of doing it. It's just one extra byte after all, and the entity is sent less intensively now that we added some checks to prevent extra networking.
commit 6fa8fe7d92f365c6066f31655aea592640e2c583
Author: Mircea Kitsune
Commit: Mircea Kitsune
Remove that trick to send dead bodies. It likely won't work as I expect it to. Don't know how I'm going to do it in the end...
commit e738cc4769480e2512a9eba7d072337ad88b209a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use 16 instead of 100. Needs to be done with a bitmask though.
commit 0bb9b18cb7655b7aeb66d2a252464dbf756dbaab
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix some comments to match the client ones
commit 5506123271187bcad52ac2ee9981342a48ea5953
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use a trick to indicate dead bodies to the client. Read code comments for more info on how it works. This requires that Xonotic will never have more than 99 species (although afaik, they currently range from 0 to 15, so it will likely never happen).
commit 1f7a2f1a806c0263e85046ac84504af6a8c55f47
Author: Mircea Kitsune
Commit: Mircea Kitsune
Do show damage effects on our own gibs, even when not in third person mode.
commit 3f59fe8b606a41c772fd053c127199f0808b06f4
Merge: c8955b3 00f45c5
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit c8955b373d56636be66557ac118f8e64fc4e6f6a
Author: Mircea Kitsune
Commit: Mircea Kitsune
Get rid of warnings.
commit 092a26d129b3f4c1116551c993065df71f835126
Author: Mircea Kitsune
Commit: Mircea Kitsune
Show the effect lower on dead bodies, else it appears floating above them. Uses a hard coded value to decrease the origin, which I hope is ok.
commit ad8e3697cb58e2f99bd481c5751766b7c35e48d9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Add a basic cvar check to avoid running code uselessly
commit d7b9211578dbf13a1ca200aa7a3d25a0aecbf61e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use the same probability system on players as on gibs. The cvar can be set to anything between 0 and 1 to specify probability of the effect showing each tick, allowing its intensity to be tweaked client side for performance and personal taste.
commit ee8fd10b209eeb7af02e8ac8e2b51df7c272dbd9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Also don't send the effect to a player if he has the feature disabled, further improving bandwidth.
commit 2579e5e423785cb7b77488f0f7e633a587f81ddd
Author: Mircea Kitsune
Commit: Mircea Kitsune
No need to use a self.owner to determine origin, as the sender entity already copies the player's origin.
commit fb331c55abb48a47d7de04e02cfdd0af29c2653f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Use checkpvs to determine if the client we're sending to can see the player with the damage effects. If not, abort sending to it. Should save a lot of bandwidth compared to before.
commit 0b6313611f76e9f8a2f7dcb4866a1479cd0a7b4b
Author: Mircea Kitsune
Commit: Mircea Kitsune
Some small tweaks to stuff
commit c9446b95db42208207010116ca4320196b9e6389
Author: Mircea Kitsune
Commit: Mircea Kitsune
Better (shorter) defaults for damage effects
commit 73f33a997a4499bdc04d1f8bd244d02856adfcbd
Merge: 84b6651 0df96e4
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 84b6651f9766fecf9fac970fb6856ee06452e76d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Allow the client-side cvar switch to specify particle count.
commit 6bcc9cde5eba6a8751615b2e330f08326bb11635
Author: Mircea Kitsune
Commit: Mircea Kitsune
Always apply the effect to bodies as well, even if gibs from that player are found. Otherwise, if a body is gibbed but the player has respawned, both the gibs and respawned player having damage effects would cause the gibs blocking the effect on the respawned player. Not sure how this can be prevented, but it shouldn't be a big issue.
commit f3da5f83d5dc80b924f57b70ddee0a115692f830
Author: Mircea Kitsune
Commit: Mircea Kitsune
Only bound the effect's lifetime if the cvar is enabled.
commit 91d8b2a74e3b94a0892f36fb97efd4be6748e0f9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Bound the maximum lifetime the effect might have at a time (server side). Currently defaulted to 8 seconds.
commit 20015a9462fdd6e2c29398e6973d6c311b084949
Author: Mircea Kitsune
Commit: Mircea Kitsune
Reduce effect probability on gibs each tick. Helps a lot with performance, and reduces the effect to a sane visual amount as well.
commit e05f7f73cad1d34d22a6b5db420d9491165084fa
Merge: 29c5aee 0731fd6
Author: Mircea Kitsune
Commit: Mircea Kitsune
Merge branch 'master' into mirceakitsune/damage_effects
commit 29c5aee553e1cf717bb1f576973b11b9b0f3fc4e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Copy an existing damage repeater to another entity by properly re-creating a new one, rather than using CopyEntity(). That was very buggy, and this seems to be safer, even if sometimes the effect won't show on players that respawn for some reason.
commit add2dffdf9178ba7f29ce8168718700734dfef1e
Author: Mircea Kitsune
Commit: Mircea Kitsune
I was wrong. Send the ent num of the player for dead bodies for both gib splashes and my damage effect.
commit 299cfb95d23fd1e53e000538c515e55bd3cf7d37
Author: Mircea Kitsune
Commit: Mircea Kitsune
Remove the effect from respawn ghosts
commit 369154a65f92953633f5dfc44d073b99b895ee8b
Author: Mircea Kitsune
Commit: Mircea Kitsune
Instead, send the entnum of the player from copied bodies on gib explosion.
commit e8695be3275ff9533216d8bc6c37897c65db3e48
Author: Mircea Kitsune
Commit: Mircea Kitsune
Undo one of my changes with ent num. I think it's best for our code if the body entnum is sent as it is, as our own damaged body can be shown to us after respawn.
commit 3ddd4db361f50281220dea80e39cc086fe726a88
Author: Mircea Kitsune
Commit: Mircea Kitsune
Make dead bodies not take any more damage after they gib. This should have always happened IMO, as it makes no sense to make a fully hidden entity jump around when shot.
commit 6c7347874801aaced1cb034e6f4c9aed8847f9a1
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix another bug with dead bodies. Also set the .owner entity of dead bodies to the player, which should be useful for other possible features.
commit 9cb6ed6f1554d3378ee4ba84ca38aa445ab2b83f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Some tweaks to my last commit.
commit 67787100e61130d015eb04205eccd04b18b884e4
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix many issues with how the effect is handles. Including copying it to dead bodies in CopyBody, removing it from players that disconnect or become spectators, and removing previous effects from players that respawn.
commit 466891e8a15f93ca3aa4cc060a9e117ef7d5fa11
Author: Mircea Kitsune
Commit: Mircea Kitsune
Second part of my latest change. When a body is gibbed, the damage effect will apply to the gibs instead of him. This will need much more work, as showing the same effect on each gib causes too many particles.
commit 33b0cf820fbc032b77f3cf4612d3e359fa639795
Author: Mircea Kitsune
Commit: Mircea Kitsune
First part of my attempt to apply damage effects to gibs as well. Send the entity number of the player when gibbing occurs, and set each gib's team function to it. The damage code in the client shall later scan for gibs, and if their owner's entity number is the same as the damaged player, draw particles there instead.
commit a7fd9d9c9f7ff71cc6b76e5a3ac5b8b19f48cd7f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Comment weapons that don't use this effect in effectinfo.txt. These include the Tuba, Porto, and Hook.
commit 0e1156ffaad14059ee48bac253317b3a3af83f9e
Author: Mircea Kitsune
Commit: Mircea Kitsune
And lastly, Rocket Launcher damage effect. All weapons that use this effect now have the proper particles.
commit 7390cf24e18ae61ab066591f7ef6884a23021467
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fireball effect. Obviously lotsa fire.
commit 777833a52c82ae594a2769e002f4463f134e655f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Move over to Hagar and Seeker. They have a fire effect similar to Mortar, but a little bit different.
commit 7ae33627eae0748b9f87d24bbcd8bcd0bc2de2bf
Author: Mircea Kitsune
Commit: Mircea Kitsune
More transparent Electro particles
commit a6d994680189b8870f2618459aabc4c8fbc37399
Author: Mircea Kitsune
Commit: Mircea Kitsune
Larger and fewer Electro and Crylink particles
commit 11d8b8ea730bae4544eaf77e7bcd3c21854e78ed
Author: Mircea Kitsune
Commit: Mircea Kitsune
Sniper Rifle, Nex and MinstaNex damage effects.
commit 90c2349a64b81ff8673a164e063e4e1fae84c90b
Author: Mircea Kitsune
Commit: Mircea Kitsune
HLAC damage effect, same as laser
commit e7625c78e4c263fb15d5ba16470981a2842ac7fa
Author: Mircea Kitsune
Commit: Mircea Kitsune
Faster light fading on all effects
commit d2c79b8996bacf2a0d14fa427a7626c6c441c197
Author: Mircea Kitsune
Commit: Mircea Kitsune
Half particle lifetime on all effects.
commit 4c05e030bad27d742157eb17730d3fe4748714d6
Author: Mircea Kitsune
Commit: Mircea Kitsune
Crylink effects, with some changes to Electro ones and lightning.
commit ea97ac3cbefd04c3d623b596feb1f48efcb4d855
Author: Mircea Kitsune
Commit: Mircea Kitsune
Electro effect
commit da0d6b398f05867b42daa136031ed7444daa4538
Author: Mircea Kitsune
Commit: Mircea Kitsune
Minelayer damage effect. Currently the same as mortar one.
commit 38f945ff985785468311898696c167b1f8c2e8ba
Author: Mircea Kitsune
Commit: Mircea Kitsune
Do the last change properly, and also hide our own effect in 1st person mode.
commit 9ca2e90b45fda21db625aabb195459ced2abd3b9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Network over one more byte, specifying if the damaged player is our own self. We need to know this in the client so we can disable self damage effects only if we aren't in chase_active mode, or other circumstances. I couldn't find any way to determine this in the client, so I have to network one more byte for this.
commit a31fdc40ac777dc34134fca5a28dd2f55c7ecf52
Author: Mircea Kitsune
Commit: Mircea Kitsune
Also make a client side cvar switch
commit 6928789ec01bfd54b7c9416b67e9b9f49c6d6627
Author: Mircea Kitsune
Commit: Mircea Kitsune
Skip the effect if the lifetime or tick cvars are disabled.
commit 7220660e55f971c95c45bdfeab097054d129a2d5
Author: Mircea Kitsune
Commit: Mircea Kitsune
GrenadeLauncher effect (fire)
commit 3aefe637cf39fb10db9e4acf3fc132fb5d82d68f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Uzi effects, as well as tweaks to the shotgun ones.
commit 3a28fe255565579072999546d57c8018674ae0c3
Author: Mircea Kitsune
Commit: Mircea Kitsune
If the repeater is being updated, increase its lifetime instead of re-setting it entirely. This fixes the shotgun among other things, where only the damage of one bullet would be taken into account. Also fix an issue I can't understand with some field entities...
commit ba9399c48c02004138b26bcc110a4b736038e4b9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Do as said in the last commit, and update the effect instead of waiting for old ones to finish. eg: If you are shot with the Laser while still bleeding after having been shot by the Shotgun, the damage effect will update to the red laser smoke and replace the blood, rather than being ignored cuz we were still bleeding from the Shotgun.
commit c9919c0a1f0b152fdcaa879541500ac65c8f9c58
Author: Mircea Kitsune
Commit: Mircea Kitsune
Turn the repeater entity into a field entity. This will allow us to modify its properties, allowing some new features (such as modifying the existing damage effect rather than having to wait for it to finish so we can spawn a new one).
commit 2f767a71a6ce3e8fa1c47da83df542ea09e5a1cc
Author: Mircea Kitsune
Commit: Mircea Kitsune
Base the lifetime of a damage effect on the damage done. Amount stays the same, but the more damage the longer the effect will last. Does not add and extra networking, as this is done server-side.
commit 7ad7241f01dc8744fd53e202e2e3b22ca1fac799
Author: Mircea Kitsune
Commit: Mircea Kitsune
Shotgun damage effect (bleeding). With blood colors for all species.
commit dc0ff9af9a4da3a2a1e0fd318b12ebc2c2b5e587
Author: Mircea Kitsune
Commit: Mircea Kitsune
Also remove my testing print. It's not needed any more.
commit a4b0012048e9f5063a6a978d9b98eae17b4eea3f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Properly fix the species effectnum
commit af1d5e9fe214334c1e6bf66e0db9afa5ef9682bb
Author: Mircea Kitsune
Commit: Mircea Kitsune
Fix per-species effectnum
commit 1249dc120cf78fba1b4a9befaccf89a69566fa5c
Author: Mircea Kitsune
Commit: Mircea Kitsune
If the weapon is a bullet weapon (shotgun uzi or sniper), its damage effect is blood. Since blood is species dependent, we make their effects per-species.
commit 4ec99c490d8ba7fe1de96d92065595938e758802
Author: Mircea Kitsune
Commit: Mircea Kitsune
More work on the laser damage effect
commit 9bc2df48b82701eac822ae621fe0237b0d0b6510
Author: Mircea Kitsune
Commit: Mircea Kitsune
0.05 even. I defy teh lag!
commit 6e88df336e6d228dc3f202549332c36791a5fc59
Author: Mircea Kitsune
Commit: Mircea Kitsune
Default the tick rate to 0.1. I don't believe this can cause any noticeable lag at all, even lower.
commit 904592e580d997a76615d7640734d075a4b0fbff
Author: Mircea Kitsune
Commit: Mircea Kitsune
Better laser particles
commit cb9511b472d4375bf0d6555c0be247d346e94517
Author: Mircea Kitsune
Commit: Mircea Kitsune
First code that causes damage particles to show! Functional with the Laser so far.
commit 6c73441c144aca2740dcba8d1d6876c214e9be9d
Author: Mircea Kitsune
Commit: Mircea Kitsune
Add the first type of damage effect to effectinfo.txt (laser)
commit 08179f9ccc6e0a8450b27225c2133ba03f0f2241
Author: Mircea Kitsune
Commit: Mircea Kitsune
Skip the effect if the damage was not caused by a weapon
commit 8ea3d89ce81755c729dfc3f69d4dc32dcabae31f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Make the effect dependent on both sv_gentle and cl_gentle
commit a41309866a7cfe5462207fd527395339047810df
Author: Mircea Kitsune
Commit: Mircea Kitsune
Add more info to the debug tester
commit 3cab0336b34886aa97c094e310a29cc9b863b08f
Author: Mircea Kitsune
Commit: Mircea Kitsune
Decrease effect tick to 0.2 seconds. I think this should be safe and not cause any lag.
commit 832d2a58e61aacb7599017a4b02a8d1d01a8fe02
Author: Mircea Kitsune
Commit: Mircea Kitsune
Correct cvar names in the cfg
commit a2766979ef719a1251d8a80c7059009b4a90cef9
Author: Mircea Kitsune
Commit: Mircea Kitsune
Rename the effect from WeaponDamage to DamageEffect in code
commit 88a6707668f9d519eca59ab12775c5c226f24ee7
Author: Mircea Kitsune
Commit: Mircea Kitsune
Cvar the server part of the effect
commit f9d4de755ce31f812d7bf918436d6a5201953d78
Author: Mircea Kitsune
Commit: Mircea Kitsune
Return if a damage effect is already active for that player. Else shooting a player too much will cause the effect to spam, and network too many bites at a time (which could cause lag). Not fully sure if this is needed, but its safest for now.
commit bca6b9d7b877d2570722a9b39d18fb06a2419bc4
Author: Mircea Kitsune
Commit: Mircea Kitsune
Make the repeater actually repeat properly
commit 49dc5c7b7dd79cdfc2fa04fd79680f8390b787fd
Author: Mircea Kitsune
Commit: Mircea Kitsune
The \n... it always gets forgotten
commit 0c6c4c412e87339ad97554344f800a33daa10225
Author: Mircea Kitsune
Commit: Mircea Kitsune
Put a little test in place client-side. No actual particles yet.
commit d7897f266d4e571395882a7d179339b6b4bdf84e
Author: Mircea Kitsune
Commit: Mircea Kitsune
Only send the effect if the target is a player or dead body (it would be creepy to see a weapon pickup BLEEDING when getting shot :P)
commit fd1186e5121e44e5d3573a9fd8d4bd69e747aa97
Author: Mircea Kitsune
Commit: Mircea Kitsune
First actual usage of the new code. Damage() will activate the repeater whenever taking place.
commit e189b041a83858d7b8f02d673ae2cb58cac893df
Author: Mircea Kitsune
Commit: Mircea Kitsune
Attempt (once again) to implement constant player damage effects. eg: If the player is shot with the uzi, blood will fall out of him for a few seconds. If he's shot with the electro, blue steam will come out of him instead. While if shot with a rocket, fire will come out of him. This is an effect only, and is not functional yet (just basic code in place).
How it works: It uses the same system as blood and gibs. When the player is damaged, the server creates an entity that will constantly send a client entity with info (such as origin and damage weapon). The client then receives it, and spawns particles at the player's origin each time the entity is sent. Once the lifetime of the server-side sender expires, the effect stops. The reason the repeater can't be client side is because we can't track an individual player's origin there (or at least not that I know of).
User agreed to the GPLv2*.
Diff:
<pre>diff —git a/defaultXonotic.cfg b/defaultXonotic.cfg
index 7f85e4d..868e41f 100644
— a/defaultXonotic.cfg
**+ b/defaultXonotic.cfg
@ -321,6 +321,14
@ set g_telefrags_teamplay 1 “never telefrag team mates”
set g_telefrags_avoid 1 “when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen”
set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter , 0 = don’t limit, 1 = keep no speed"
*set cl_damageeffect 1 “enable weapon damage effects. 1 enables the effect on players, 2 on players and objects”
*set cl_damageeffect_ticrate 0.1 “particles spawn rate”
*set cl_damageeffect_limit 5 “how many damages to allow on a player at once (objects are limited to one)”
*set cl_damageeffect_distribute 1 “divide particle intensity if multiple damages are present on a player”
*set cl_damageeffect_lifetime 0.1 “how much a damage effect lasts, multiplied by damage amount”
*set cl_damageeffect_lifetime_min 3 “minimum lifetime a damage effect may have”
*set cl_damageeffect_lifetime_max 6 “maximum lifetime a damage effect may have”
*
set g_respawn_ghosts 1 “if 1 dead bodies become ghosts and float away when the player respawns”
set g_respawn_ghosts_speed 5 “the speed with which respawn ghosts float and rotate”
set g_respawn_ghosts_maxtime 6 “maximum amount of time a respawn ghost can last, minimum time is half this value. 0 disables and ghosts fade when the body would”
diff —git a/effectinfo.txt b/effectinfo.txt
index 0d464f5..c7064ac 100644
— a/effectinfo.txt
**+ b/effectinfo.txt
0.35
*rotate 0 180 @ -6539,6 +6539,707
@ airfriction 4
color 0x4F4B46 0x000000
rotate 180 18020 20
*// laser damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_laser
*notunderwater
*count 3
*type smoke
*tex 0 8
*color 0x880000 0xff4400
*size 2 4
*sizeincrease 8
*alpha 128 16 128
*gravity 0
*originjitter 2 2 2
*velocityjitter 0.4 0.4 0.6
*velocitymultiplier 0
*airfriction30 30
+
*// shotgun damage effect, normal blood
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_shotgun
*count 0.6
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xA8FFFF 0xA8FFFFF
*bounce1
*airfriction 1
*liquidfriction 4
*velocityjitter 64 64 64
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_shotgun
*count 1
*type alphastatic
*tex 0 8
*size 8 16
*alpha 100 256 400
*color 0x000000 0x420000
*originjitter 1 1 1
*
*// shotgun damage effect, alien blood
*// used in qcsrc/client/gibs.qc: pointparticles(particleeffectnum(effectnum), org, ‘0 0 0’, 1);
*effect weapondamage_shotgun_alien
*count 0.6
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xDC9BCD 0xDC9BCD
*bounce 1
*airfriction 1
*liquidfriction 4
*velocityjitter 64 64 64
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_shotgun_alien
*count 1
*type alphastatic
*tex 0 8
*size 8 16
*alpha 100 256 400
*color 0x000000 0x204010
*originjitter 1 1 1
*
*// shotgun damage effect, robot blood
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_shotgun_robot
*count 0.6
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xC0D890 0xC0D890
*bounce1
*airfriction 1
*liquidfriction 4
*velocityjitter 64 64 64
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_shotgun_robot
*count 1
*type alphastatic
*tex 0 8
*size 8 16
*alpha 100 256 400
*color 0x000000 0x301860
*originjitter 1 1 1
*
*// uzi damage effect, normal blood
*// used in qcsrc/client/gibs.qc: pointparticles(particleeffectnum(effectnum), org, ‘0 0 0’, 1);
*effect weapondamage_uzi
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xA8FFFF 0xA8FFFFF
*bounce 1
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_uzi
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x420000
*originjitter 0 0 0
*
*// uzi damage effect, alien blood
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_uzi_alien
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xDC9BCD 0xDC9BCD
*bounce1
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_uzi_alien
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x204010
*originjitter 0 0 0
*
*// uzi damage effect, robot blood
*// used in qcsrc/client/gibs.qc: pointparticles(particleeffectnum(effectnum), org, ‘0 0 0’, 1);
*effect weapondamage_uzi_robot
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xC0D890 0xC0D890
*bounce 1
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_uzi_robot
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x301860
*originjitter 0 0 0
*
*// minelayer damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_minelayer
*notunderwater
*count 3
*type smoke
*tex 48 55
*size 4 8
*alpha 512 64 1024
*gravity0.5
*color 0x8f0d00 0xff5a00
*sizeincrease 15
*originjitter 2 2 2
*velocityjitter 22 22 50
*// smoke
*effect weapondamage_minelayer
*notunderwater
*type alphastatic
*count 2
*tex 0 8
*size 4 8
*sizeincrease 5
*alpha 128 32 128
*color 0x000000 0x111111
*gravity 0.35
*rotate 0 180 0.3
*originjitter 4 4 4
*velocityjitter 11 11 50
*// light
*effect weapondamage_minelayer
*notunderwater
*trailspacing 8
*lightradius 60
*lightradiusfade 280
*lightcolor 0.7 0.4 0.2
*
*// grenadelauncher damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_grenadelauncher
*notunderwater
*count 3
*type smoke
*tex 48 55
*size 4 8
*alpha 512 64 1024
*gravity0.5
*color 0x8f0d00 0xff5a00
*sizeincrease 15
*originjitter 2 2 2
*velocityjitter 22 22 50
*// smoke
*effect weapondamage_grenadelauncher
*notunderwater
*type alphastatic
*count 2
*tex 0 8
*size 4 8
*sizeincrease 5
*alpha 128 32 128
*color 0x000000 0x111111
*gravity 30 30
*// plasma smoke
*effect weapondamage_electro
*notunderwater
*count 4
*type smoke
*tex 0 8
*color 0x2244ff 0x002266
*size 4 8
*sizeincrease 10
*alpha 64 16 64
*gravity 0
*originjitter 4 4 4
*velocityjitter 0.4 0.4 0.6
*velocitymultiplier 0
*airfriction0.3
*originjitter 4 4 4
*velocityjitter 11 11 50
*// light
*effect weapondamage_grenadelauncher
*notunderwater
*trailspacing 8
*lightradius 60
*lightradiusfade 280
*lightcolor 0.7 0.4 0.2
*
*// electro damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_electro
*notunderwater
*count 2
*type static
*tex 47 47
*color 0x66ffff 0x2288ff
*size 6 10
*sizeincrease14
*alpha 48 8 48
*gravity 0.0001
*airfriction 0.2
*liquidfriction 0.8
*originjitter 3 3 3
*velocityjitter 8 8 16
*velocitymultiplier 0
*airfriction0.5
*rotate 180 36030 30
*// bouncing sparks
*effect weapondamage_electro
*count 0.5
*type spark
*tex 66 68
*color 0x003090 0x00CCFF
*size 1 1
*alpha 768 64 256
*gravity 0.2
*airfriction 1
*bounce 1.5
*liquidfriction 0.8
*velocityoffset 0 0 0
*velocityjitter 32 32 32
*// light
*effect weapondamage_electro
*notunderwater
*trailspacing 8
*lightradius 50
*lightradiusfade 220
*lightcolor 0.2 0.6 0.8
*
*// crylink damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_crylink
*notunderwater
*count 2
*type static
*tex 38 38
*color 0xff44ff 0x9966ff
*size 0.5 1
*sizeincrease8
*alpha 48 16 48
*gravity 0.0001
*airfriction 0.6
*liquidfriction 0.8
*originjitter 3 3 3
*velocityjitter 10 10 20
*velocitymultiplier 0
*airfriction0.5
*rotate 180 360 30 30
*// plasma smoke
*effect weapondamage_crylink
*notunderwater
*count 4
*type smoke
*tex 0 8
*color 0x8844ff 0x662244
*size 5 10
*sizeincrease 6
*alpha 64 16 64
*gravity 0.001
*originjitter 4 4 4
*velocityjitter 0.4 0.4 0.6
*velocitymultiplier 0
*airfriction 1
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_sniperrifle_alien
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x204010
*originjitter 0 0 0
*
*// sniperrifle damage effect, robot blood
*// used in qcsrc/client/gibs.qc: pointparticles(particleeffectnum(effectnum), org, ‘0 0 0’, 1);
*effect weapondamage_sniperrifle_robot
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xC0D890 0xC0D890
*bounce 0.35
*rotate 0 180 1
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_sniperrifle
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x420000
*originjitter 0 0 0
+
*// sniperrifle damage effect, alien blood
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_sniperrifle_alien
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xDC9BCD 0xDC9BCD
*bounce30 30
*// floating sparks
*effect weapondamage_crylink
*count 0.3
*type spark
*color 0x903090 0xFFD0FF
*size 0.5 0.5
*sizeincrease 30 30
*
*// nex damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_nex
*count 1
*type static
*tex 47 47
*color 0xffffff 0x88ffff
*size 5 10
*sizeincrease 5
*alpha 192 192 128
*gravity 0
*airfriction 0.2
*liquidfriction 0.8
*velocityoffset 0 0 0
*velocityjitter 12 12 12
*// light
*effect weapondamage_crylink
*notunderwater
*trailspacing 8
*lightradius 50
*lightradiusfade 240
*lightcolor 0.6 0.2 0.8
*
*// hlac damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_hlac
*notunderwater
*count 3
*type smoke
*tex 0 8
*color 0x880000 0xff4400
*size 2 4
*sizeincrease 10
*alpha 128 16 128
*gravity 0
*originjitter 4 4 4
*velocityjitter 0.4 0.4 0.6
*velocitymultiplier 0
*airfriction0.35
*rotate 0 18014
*alpha 64 8 64
*gravity0.0001
*airfriction 0.1
*liquidfriction 0.6
*originjitter 4 4 4
*velocityjitter 8 8 16
*velocitymultiplier 0
*airfriction 0.5
*rotate 180 360 30 30
*// bouncing sparks
*effect weapondamage_nex
*count 0.2
*type spark
*tex 41 41
*color 0xD9FDFF 0xD9FDFF
*size 1 1
*alpha 255 255 112
*bounce 1.6
*stretchfactor 0.7
*velocityjitter 100 100 300
*velocitymultiplier 3
*airfriction 2
*gravity 1
*// light
*effect weapondamage_nex
*trailspacing 8
*lightradius 60
*lightradiusfade 280
*lightcolor 0.6 0.8 0.8
*
*// minstanex damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_minstanex
*count 2
*type static
*tex 47 47
*color 0xffffff 0x88ffff
*size 5 10
*sizeincrease 30 30
*// plasma smoke
*effect weapondamage_nex
*count 2
*type smoke
*tex 0 8
*color 0x6688ff 0x226688
*size 4 8
*sizeincrease 8
*alpha 64 16 64
*gravity 0
*originjitter 2 2 2
*velocityjitter 0.5 0.5 0.8
*velocitymultiplier 0
*airfriction0.35
*rotate 0 18014
*alpha 64 8 64
*gravity0.0001
*airfriction 0.1
*liquidfriction 0.6
*originjitter 4 4 4
*velocityjitter 8 8 16
*velocitymultiplier 0
*airfriction 0.5
*rotate 180 360 30 30
*// bouncing sparks
*effect weapondamage_minstanex
*count 0.2
*type spark
*tex 41 41
*color 0xD9FDFF 0xD9FDFF
*size 1 1
*alpha 255 255 112
*bounce 1.6
*stretchfactor 0.7
*velocityjitter 100 100 300
*velocitymultiplier 3
*airfriction 2
*gravity 1
*// light
*effect weapondamage_minstanex
*trailspacing 8
*lightradius 60
*lightradiusfade 240
*lightcolor 0.6 0.8 0.8
*
*// sniperrifle damage effect, normal blood
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_sniperrifle
*count 0.3
*type blood
*tex 24 32
*size 2 4
*alpha 256 256 64
*color 0xA8FFFF 0xA8FFFFF
*bounce30 30
*// plasma smoke
*effect weapondamage_minstanex
*count 4
*type smoke
*tex 0 8
*color 0x6688ff 0x226688
*size 4 8
*sizeincrease 8
*alpha 64 16 64
*gravity 0
*originjitter 2 2 2
*velocityjitter 0.5 0.5 0.8
*velocitymultiplier 0
*airfriction0.35
*rotate 0 1801
*airfriction 1
*liquidfriction 4
*velocityjitter 32 32 32
*velocitymultiplier 5
*staincolor 0x808080 0x808080
*staintex 16 24
*//blood mist
*effect weapondamage_sniperrifle_robot
*count 1
*type alphastatic
*tex 0 8
*size 6 12
*alpha 100 256 400
*color 0x000000 0x301860
*originjitter 0 0 0
*
*// seeker damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_seeker
*notunderwater
*count 3
*type smoke
*tex 48 55
*size 4 8
*alpha 512 32 1024
*gravity0.3
*color 0x8f0c00 0xff2200
*sizeincrease –10
*originjitter 2 2 2
*velocityjitter 22 22 50
*// smoke
*effect weapondamage_seeker
*notunderwater
*type alphastatic
*count 2
*tex 0 8
*size 2 4
*sizeincrease 10
*alpha 128 32 128
*color 0x000000 0x111111
*gravity 0.3
*originjitter 4 4 4
*velocityjitter 11 11 50
*// light
*effect weapondamage_seeker
*notunderwater
*trailspacing 8
*lightradius 65
*lightradiusfade 280
*lightcolor 0.7 0.5 0.1
*
*// hagar damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_hagar
*notunderwater
*count 3
*type smoke
*tex 48 55
*size 4 8
*alpha 512 32 1024
*gravity0.3
*color 0x8f0c00 0xff3a00
*sizeincrease ~~10
*originjitter 2 2 2
*velocityjitter 22 22 50
*// smoke
*effect weapondamage_hagar
*notunderwater
*type alphastatic
*count 2
*tex 0 8
*size 2 4
*sizeincrease 10
*alpha 128 32 128
*color 0x000000 0x111111
*gravity 0.3
*originjitter 4 4 4
*velocityjitter 11 11 50
*// light
*effect weapondamage_hagar
*notunderwater
*trailspacing 8
*lightradius 65
*lightradiusfade 280
*lightcolor 0.7 0.5 0.1
*
*// fireball damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_fireball
*notunderwater
*count 4
*type smoke
*tex 48 55
*size 5 10
*alpha 256 16 512
*gravity0.5
*color 0x8f0d00 0xff5a00
*sizeincrease 10
*originjitter 8 8 8
*velocityjitter 22 22 50
*// smoke
*effect weapondamage_fireball
*notunderwater
*type alphastatic
*count 4
*tex 0 8
*size 4 8
*sizeincrease 10
*alpha 128 32 128
*color 0x000000 0x111111
*gravity 0.3
*originjitter 4 4 4
*velocityjitter 11 11 50
*// light
*effect weapondamage_rocketlauncher
*notunderwater
*trailspacing 8
*lightradius 60
*lightradiusfade 280
*lightcolor 0.8 0.6 0.2
+
// metal impact effect
// used in qcsrc/server/mutators/sandbox.qc: pointparticles, self.origin, ‘0 0 0’, 1);
effect impact_metal
diff —git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc
index 8facbf5..f2f5ac8 100644
— a/qcsrc/client/Main.qc
**+ b/qcsrc/client/Main.qc
0.3
*originjitter 6 6 6
*velocityjitter 11 11 50
*// light
*effect weapondamage_fireball
*notunderwater
*trailspacing 8
*lightradius 65
*lightradiusfade 280
*lightcolor 1.0 0.8 0.4
*
*// rocketlauncher damage effect
*// used in qcsrc/client/gibs.qc: pointparticles, org, ‘0 0 0’, 1);
*effect weapondamage_rocketlauncher
*notunderwater
*count 3
*type smoke
*tex 48 55
*size 5 10
*alpha 512 64 1024
*gravity0.7
*color 0x8f0c00 0xff2a00
*sizeincrease –10
*originjitter 4 4 4
*velocityjitter 22 22 30
*// smoke
*effect weapondamage_rocketlauncher
*notunderwater
*type alphastatic
*count 3
*tex 0 8
*size 4 8
*sizeincrease 10
*alpha 128 32 128
*color 0x000000 0x111111
*gravity@ -197,7 +197,11
@ void CSQC_Init
hud_configure_prev = 1;
tab_panel =1;
*
- precache_model;
draw_currentSkin = strzone));
+
}
// CSQC_Shutdown : Called every time the CSQC code is shutdown
diff —git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh
index 31fe318..fd5e8f5 100644
— a/qcsrc/client/autocvars.qh
**+ b/qcsrc/client/autocvars.qh
@ -373,6 +373,13
@ var float autocvar_cl_eventchase_distance = 140;
var float autocvar_cl_eventchase_speed = 1.3;
float autocvar_cl_lerpexcess;
string autocvar__togglezoom;
*float autocvar_cl_damageeffect;
*float autocvar_cl_damageeffect_ticrate;
*float autocvar_cl_damageeffect_limit;
*float autocvar_cl_damageeffect_distribute;
*float autocvar_cl_damageeffect_lifetime;
*float autocvar_cl_damageeffect_lifetime_min;
*float autocvar_cl_damageeffect_lifetime_max;
float autocvar_cl_playerdetailreduction;
float autocvar_cl_loddistance1 = 1024;
float autocvar_cl_loddistance2 = 4096;
diff —git a/qcsrc/client/damage.qc b/qcsrc/client/damage.qc
index 5910dba..eb49470 100644
— a/qcsrc/client/damage.qc
**+ b/qcsrc/client/damage.qc
@ -1,6 +1,7
@
*void DamageEffect;
void Ent_DamageInfo
{
~~ float dmg, rad, edge, thisdmg, forcemul;
- float dmg, rad, edge, thisdmg, forcemul, species; vector force, thisforce; entity oldself;
@ -18,6 +19,7
@ void Ent_DamageInfo(float isNew)
rad = ReadByte()