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

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001330Zandronum[All Projects] Bugpublic2013-04-27 12:172017-05-07 10:49
ReporterIvan 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusfeedbackResolutionopen 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version1.0 
Target VersionFixed in Version 
Summary0001330: When you die in TLMS, any projectile that was yours becomes server's
DescriptionAfter an ally dies and you get hit by a projectile spawned by them you get hurt. Watermelon AFAIK told this to me way back in Skulltag times that once you die everything you had became the server's, so if you died you would be dead to server or something.
Steps To ReproduceGo in TLMS, have at least 3 allies. Have the guy on your team shoot something at you and die right after (or spectate, both works). You'll get hurt.
Attached Files? file icon removebug-spawn.pk3 [^] (771 bytes) 2016-12-13 00:57

- Relationships
related to 0001798resolvedKaminsky Method to track when damage is dealt from players to other players (and monsters?) 

-  Notes
User avatar (0007227)
Watermelon (developer)
2013-09-18 21:07

This is an issue in servers because people grief teams by using a strong weapon by spectating.

I was thinking of a new dmflag that would prevent this, thoughts?
User avatar (0007229)
Catastrophe (reporter)
2013-09-18 21:24

Yes add this, perhaps on by default?
User avatar (0007233)
Toxicity (reporter)
2013-09-19 00:15

Or perhaps only on-by-default for team gamemodes.


... Unless this happens in coop too?
User avatar (0007236)
Qent (updater)
2013-09-19 00:56

Is there a legitimate reason to allow this behavior?
User avatar (0007241)
Toxicity (reporter)
2013-09-19 16:28

Yes, you can fuck your teammates over if you're shooting a volley of plasma in their direction. If you die while the plasma projectiles are still in flight, it can damage your teammates and possibly kill them.
User avatar (0007242)
Qent (updater)
2013-09-19 17:22

But why? Why should it be different depending on whether you had lives remaining or not? Why would anyone think that in a server without teamdamage, spectating will instantly cause their projectiles to harm teammates? How would you communicate that to new players? Sure you can add a lot of gimmicks to TLMS to make it more challenging, but this is so arbitrary and unintuitive that adding a compatflag for it is just clutter.
User avatar (0007298)
Torr Samaho (administrator)
2013-09-29 07:35

I agree with, Qent. This is a bug and not something you should introduce a flag for.
User avatar (0007300)
Dusk (developer)
2013-09-29 09:14

I agree too, this is a bug that should be fixed.
User avatar (0008287)
Ivan (reporter)
2014-02-27 13:06

Any news on this?
User avatar (0008754)
Watermelon (developer)
2014-05-09 13:42

Does the projectile still carry the team with it or just a pointer to who owned it (that is then cleared)? It makes sense to give it to the server if the player is gone since it references a non existent player, but the server should most likely inherit the team it was shot from and then on impact decide what to do. That is the only way I can see this being solved, unless someone knows a better way.
User avatar (0008759)
ZzZombo (reporter)
2014-05-09 14:58

The owner of the projectile is just an actor. So whatever ever happens, you just preserve the body of the player until all projectiles belonging to him are gone. After that, if the player isn't supposed to return to the action, you may delete the body. In short, it's how I would handle this.

P. S.: that might be useful and for other types of actors, if the owner is dead, but there is still a projectile fired by the actor a mod might want to do some stuff depending on who fired it (how many health/ammo it had, for example) upon some event.
User avatar (0008765)
Ivan (reporter)
2014-05-10 02:15
edited on: 2014-05-10 02:15

It might require testing to show, but I think this also happens when you shoot something and die right after. I might be wrong on this though.

User avatar (0010672)
Dusk (developer)
2014-10-22 19:25

Perhaps the projectiles need to maintain some sort of affiliation to prevent this from happening.
User avatar (0010673)
Watermelon (developer)
2014-10-23 19:09

One idea I have is to add a team ID to who fired it, and then just add an extra damage check to make sure it's not on the same team as the person it's damaging.
User avatar (0010674)
ZzZombo (reporter)
2014-10-24 04:16

Quote
The owner of the projectile is just an actor. So whatever ever happens, you just preserve the body of the player until all projectiles belonging to him are gone. After that, if the player isn't supposed to return to the action, you may delete the body.


Your solution, Water, will work only for simple projectiles. If I'd like to perform scripting I'd still need access to the originator.
User avatar (0010675)
Watermelon (developer)
2014-10-24 15:26
edited on: 2014-10-24 15:26

Quote
Your solution, Water, will work only for simple projectiles. If I'd like to perform scripting I'd still need access to the originator.

Mark it with a TID and any other information you need in ACS then?

User avatar (0010690)
ZzZombo (reporter)
2014-10-26 02:26

No? Why would I involve ACS if I can do it in Decorate by just accessing the target of the missile?
User avatar (0010902)
Watermelon (developer)
2014-11-18 15:34

Quote
No? Why would I involve ACS if I can do it in Decorate by just accessing the target of the missile?


Then I have no idea what you mean by scripting that you said in your previous post if you don't intend on using ACS.
User avatar (0010905)
Watermelon (developer)
2014-11-18 18:39

Pull request sent, requesting code review.
User avatar (0010913)
ZzZombo (reporter)
2014-11-20 06:56

"Then I have no idea what you mean by scripting that you said in your previous post if you don't intend on using ACS."

Shit, Decorate can do some pretty complex stuff...
User avatar (0010951)
Watermelon (developer)
2014-11-24 12:57

Please take this to PM since it's going off topic.
User avatar (0011015)
Watermelon (developer)
2014-11-30 23:51

Updated
User avatar (0015485)
Ivan (reporter)
2016-08-18 13:44
edited on: 2016-08-18 13:45

The bug is still there in 3.0. Screenshot:'http://i.imgur.com/2oVHVxx.png [^]'

Notice the bug can occur even if you spectate, so it can be used for griefing as well...

User avatar (0015487)
Dusk (developer)
2016-08-18 13:57

There isn't really any very good ways to fix this other than deleting any such projectiles. Is that what we want?
User avatar (0015490)
Ru5tK1ng (updater)
2016-08-18 15:54

It seems people are more concerned with possible trolling rather than friendly fire. So if it is not possible to determine what team the projectile came from, then the only solution is to make server owned projectiles do no damage if they were gained by a player spectating.
User avatar (0016289)
Catastrophe (reporter)
2016-11-22 23:16
edited on: 2016-11-22 23:21

Hey, just letting you guys know that this is still quite a big issue for mods like All our War. You can imagine there's a good amount of trolling going on with players launching projectiles and spectating to either teamkill or harm the base terminal.

The problem is that as a modder there's no way to fix this unless we introduce a ton of damagetypes/damagefactors, which is quite a lot of work to just stop this teamkilling issue from happening.

I think rusts idea is the best in that the damage should just be negated to 0. Or at the very least, build-in a damagefactor called "server" and change the current projectile's damagetype to "server" and let us decide what happens.

User avatar (0016306)
Torr Samaho (administrator)
2016-11-23 19:07

Instead of making these projectiles deal no damage, I'd say Dusk's solution, i.e. to simply delete the projectiles, is cleaner and much more fool-proof.
User avatar (0016309)
Empyre (reporter)
2016-11-24 00:19

I second Torr's seconding of Dusk's idea.
User avatar (0016319)
Catastrophe (reporter)
2016-11-25 18:51

As long as this also covers inventory items that spawn projectiles, that sounds fine.
User avatar (0016336)
Torr Samaho (administrator)
2016-11-27 08:55

This build should remove all missiles associated to a player if that player leaves the game. Please test if it works as intended.
User avatar (0016487)
Catastrophe (reporter)
2016-12-13 00:59

It works on basic inventory items and player missiles, but fails when used with a_spawnitemex. The example wad should show this.

So in the example wad when the item has been thrown (imp ball) and you spectate, it will disappear accordingly. However, when it lands, dies, and spawns the cacoball it will not disappear if you spectate.
User avatar (0017528)
Combinebobnt (reporter)
2017-05-02 23:26

This current 'fix' being discussed (removing projectiles on death) is ok at stopping bad teamkilling trolling in some wads, but I don't see it as good behavior, only a trolling bandaid.

An immediate problem: if two players on opposite teams shoot rockets at eachother but one dies before the other, only one person will die as the other rocket will disappear in mid air. That of course doesn't happen right now. I think a better true fix is to keep projectiles registered on a team no matter the state of the firing player, so that a red team rocket will forever be a red team rocket.
User avatar (0017539)
Cutman (reporter)
2017-05-03 12:34
edited on: 2017-05-03 12:38

I'm against it too, it could potentially be harmful to some complex mods if it straight up rips every projectile out of existence. I think this method is something modders should do (and actually have been doing for a while), not something the engine should do automatically (or a server option).

If I lined up the perfect Rocket kill on an opponent far away, but someone killed me right after and I became a dead spectator, that Rocket should just go away and I get robbed of the kill? Seems a bit unfair. Also the example isn't that extreme considering all the different kinds of slow/long lasting projectiles that exist these days.

There's gotta be a better way (although I don't know what considering how projectile ownership is handled).

User avatar (0017563)
Torr Samaho (administrator)
2017-05-07 09:58

I think you misunderstood what the build in 0001330:0016336 is doing: It only removed the missiles of players who leave the game, i.e. either by disconnecting or by turning into a true spectator. It does not touch any missiles if a player is turned into a dead spectator.

Is there any reason not to remove missiles for disconnected players or true spectators?
User avatar (0017570)
Cutman (reporter)
2017-05-07 10:49

Oh my bad, that seems more reasonable then. I can't think of any situation where this would be bad (but if one comes up, modders can fix it by checking if a player exists).

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: Toxicity WaTaKiD The Toxic Avenger Marcaek FascistCat Raddok Combinebobnt carpathia Hypnotoad Korshun Catastrophe
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2013-04-27 12:17 Ivan New Issue
2013-09-18 21:07 Watermelon Note Added: 0007227
2013-09-18 21:08 Watermelon Assigned To => Watermelon
2013-09-18 21:08 Watermelon Status new => assigned
2013-09-18 21:24 Catastrophe Note Added: 0007229
2013-09-19 00:15 Toxicity Note Added: 0007233
2013-09-19 00:56 Qent Note Added: 0007236
2013-09-19 16:28 Toxicity Note Added: 0007241
2013-09-19 17:22 Qent Note Added: 0007242
2013-09-29 07:35 Torr Samaho Note Added: 0007298
2013-09-29 09:14 Dusk Note Added: 0007300
2014-02-27 13:06 Ivan Note Added: 0008287
2014-05-05 23:07 Watermelon Assigned To Watermelon =>
2014-05-05 23:07 Watermelon Status assigned => new
2014-05-05 23:07 Watermelon Status new => confirmed
2014-05-09 13:38 Watermelon Relationship added related to 0001798
2014-05-09 13:42 Watermelon Note Added: 0008754
2014-05-09 14:58 ZzZombo Note Added: 0008759
2014-05-10 02:15 Ivan Note Added: 0008765
2014-05-10 02:15 Ivan Note Edited: 0008765 View Revisions
2014-10-22 19:25 Dusk Note Added: 0010672
2014-10-23 19:09 Watermelon Note Added: 0010673
2014-10-24 04:16 ZzZombo Note Added: 0010674
2014-10-24 15:26 Watermelon Note Added: 0010675
2014-10-24 15:26 Watermelon Note Edited: 0010675 View Revisions
2014-10-26 02:26 ZzZombo Note Added: 0010690
2014-11-18 15:34 Watermelon Note Added: 0010902
2014-11-18 18:39 Watermelon Note Added: 0010905
2014-11-18 18:39 Watermelon Assigned To => Watermelon
2014-11-18 18:39 Watermelon Status confirmed => needs review
2014-11-20 06:56 ZzZombo Note Added: 0010913
2014-11-24 12:57 Watermelon Note Added: 0010951
2014-11-30 23:51 Watermelon Note Added: 0011015
2014-12-04 04:29 Watermelon Status needs review => assigned
2016-04-10 19:25 Dusk Status assigned => new
2016-04-10 19:26 Dusk Assigned To Watermelon =>
2016-08-18 13:44 Ivan Note Added: 0015485
2016-08-18 13:45 Ivan Note Edited: 0015485 View Revisions
2016-08-18 13:57 Dusk Note Added: 0015487
2016-08-18 15:54 Ru5tK1ng Note Added: 0015490
2016-11-22 23:16 Catastrophe Note Added: 0016289
2016-11-22 23:21 Catastrophe Note Edited: 0016289 View Revisions
2016-11-23 19:07 Torr Samaho Note Added: 0016306
2016-11-24 00:19 Empyre Note Added: 0016309
2016-11-25 18:51 Catastrophe Note Added: 0016319
2016-11-27 08:55 Torr Samaho Note Added: 0016336
2016-11-27 09:14 Edward-san Status new => feedback
2016-12-13 00:57 Catastrophe File Added: removebug-spawn.pk3
2016-12-13 00:59 Catastrophe Note Added: 0016487
2017-05-02 23:26 Combinebobnt Note Added: 0017528
2017-05-03 12:34 Cutman Note Added: 0017539
2017-05-03 12:37 Cutman Note Edited: 0017539 View Revisions
2017-05-03 12:38 Cutman Note Edited: 0017539 View Revisions
2017-05-07 09:58 Torr Samaho Note Added: 0017563
2017-05-07 10:49 Cutman Note Added: 0017570






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker