revive the low health/armor hud effect from fruitiex/goldenhealth, also set both healthmax/armormax at 200 (this determines when the status bars on the hud are full, used to be 250 and 150 so they had different scales...)
Mircea Kitsune [Sun, 10 Apr 2011 21:21:41 +0000 (00:21 +0300)]
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).
Mircea Kitsune [Sun, 10 Apr 2011 21:07:32 +0000 (00:07 +0300)]
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.
Mircea Kitsune [Sun, 10 Apr 2011 17:19:45 +0000 (20:19 +0300)]
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).
Mircea Kitsune [Sun, 10 Apr 2011 15:22:56 +0000 (18:22 +0300)]
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.
Mircea Kitsune [Sun, 10 Apr 2011 14:32:28 +0000 (17:32 +0300)]
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.
ACTUALLY make drawpic_aspect_skin_expanding use the proper rendering for the aspect ratio. Fixes a bug that the expanding image mismatches the normal image in the HUD, now can be used for any HUD skin
By request of many, swap the priority for grenadelauncher and minelayer - Most people want the grenadelauncher to come up first when they press the bind.
Mircea Kitsune [Mon, 4 Apr 2011 14:10:27 +0000 (17:10 +0300)]
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.
This enables a featured I added in the engine a while ago which basically smooths the view when crouching (previously it was an instant switch... which looked very odd.) This was SUPPOSED to be added into master a long time ago, but I didn't notice as I had it in my config.
Mircea Kitsune [Sun, 3 Apr 2011 22:24:57 +0000 (01:24 +0300)]
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.
Mircea Kitsune [Sun, 3 Apr 2011 21:33:12 +0000 (00:33 +0300)]
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.
Mircea Kitsune [Sun, 3 Apr 2011 21:30:40 +0000 (00:30 +0300)]
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.
Mircea Kitsune [Sun, 3 Apr 2011 21:02:30 +0000 (00:02 +0300)]
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.
Mircea Kitsune [Sun, 3 Apr 2011 16:53:32 +0000 (19:53 +0300)]
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.
Mircea Kitsune [Sun, 3 Apr 2011 16:32:25 +0000 (19:32 +0300)]
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.