PadWorld-Entertainment / worldofpadman

World of PADMAN game repository
https://worldofpadman.net
Other
38 stars 8 forks source link

SYC: The player can get the PadHero medal in SYC team if he defends himself while carrying 5+ cartridges #207

Closed kai-li-wop closed 8 months ago

kai-li-wop commented 10 months ago

The player can get the PadHero medal in SYC team if he defends himself while carrying 5 or more cartridges, which is not correct. The player should get the medal only if he defends a player of his own team carrying 5 or more cartridges, not himself.

Steps to reproduction:

  1. start a SYC team game
  2. join a team
  3. add bots only to the other team
  4. collect at least 5 cartridges
  5. kill a player of the opposing team while carrying 5 cartridges
kai-li-wop commented 10 months ago

Should be fixed with ec1b073eabed2a52ffff4dd76595e6ac21254eef but we need approval if PadHero also works in other game modes like wanted. Please see #15 under what condition PadHero should be received.

3aTmE commented 10 months ago

I tried to replicate the Issue but was unable to ( seems to fixed ) . Unfortunately some new problems showed up on my end.

What was Tested?

kai-li-wop commented 10 months ago

@3aTmE: What about the other game types like CTL and BB? Still working there like expected? May we broke more? Would be good if @mgerhardy could have a look again.

3aTmE commented 10 months ago

@3aTmE: What about the other game types like CTL and BB? Still working there like expected? May we broke more? Would be good if @mgerhardy could have a look again.

I just tried CTL and BB with the most recent Codebase.

In both game modes the Medals just trigger fine!

kai-li-wop commented 8 months ago

Based on @3aTmE's description I try to give more information regarding the feature and issue. It looks like the feature is still unaffected and still working correctly with game types CTL and BB. The issue is SYC related.

Originally the PadHero (defense) medal should be awarded for defending a team mate carrying 5+ cartridges in SYC Team by eliminating opponents in the team mates vicinity (1000 units). This worked good so far.

The original issue was, that the player also received the PadHero medal for defending himself by eliminating opponents in the own vicinity (1000 units) while carrying 5+ cartridges. Fixing this was the task.

The fix somehow destroyed the feature in a way, that it is not possible to receive PadHero for defending a team mate carrying 5+ cartridges in SYC Team by eliminating opponents in the team mates vicinity (1000 units). Also additional individual points are not given any more when receiving PadHero. I can only guess, that with message is meant the message when defending someone.

I need to reproduce the issue by myself.

kai-li-wop commented 8 months ago

@mgerhardy: I could reproduce the issue. The original feature still works but the original issue also still exists.

  1. The PadHero (defense) medal is still awarded for defending a team mate carrying 5+ cartridges in SYC Team by eliminating opponents in the team mates vicinity (1000 units). But, the opponent needs to hit/hurt the 5+ cartridges carrier before. Join a match with 3 clients, 2 blue, one red. Collect with one blue client 5 cartridges, get together with all 3 clients (1000 units range). Shoot with red client with Nipper one time at the blue client with 5 cartridges, then kill with other blue client the red client. The other blue client will receive PadHero for defending the blue client carrying 5 cartridges. So far so good, but I cannot remember that it is only given, when 5+ cartridges carrier was attacked and hit before. I thought it originally worked also if the player was not attacked by the opponent.

  2. Whatever the fix should have fixed, but the original issue still remains. You still receive PadHero, when you carry 5+ cartridges by yourself and shoot an opponent in your own vicinity (1000 units), but he needs to attack/hit you first. You should not receive PadHero when you defend yourself. It should work exactly like in CTL carrying the lolly.

  3. In CTL you receive PadHero for defending a teammate carrying the lolly by eliminating opponents in the team mates vicinity (1000 units). For this, the enemy must not attack/hit the lolly carrier first. You also do not receive PadHero when you defend yourself while carrying the lolly. So the feature should be exactly the same in SYC Team. Only teammates should receive PadHero for defending a teammate carrying 5+ cartridges, whether hit or not hit before.

mgerhardy commented 8 months ago

thanks a lot for the explanation - in https://github.com/PadWorld-Entertainment/worldofpadman/commit/ec1b073eabed2a52ffff4dd76595e6ac21254eef I only fixed that you can get a padhero for self-killing. So I've tried to fix the wrong thing. Sorry for misunderstanding. Will have a look

kai-li-wop commented 8 months ago

@mgerhardy: Now the feature is definitely broken. I cannot receive PadHero in SYC Team at all. Looks like you fixed it with c65721f789bfa24409b22b15b2de68470c65d2b5 but broke it directly after with e6971b21fb6b6c3cd42a46328bc016c129326aef as far as I could find out by reverting it.

In BB and CTL it still works fine.

kai-li-wop commented 8 months ago

@mgerhardy: Should be fixed. and forget about my last comment. The thing is:

  1. In SYC team the attacker must hurt the Cartridge carrier before you kill him to receive PadHero and 2 bonus points.
  2. In CTL the attacker must NOT hurt the Lolly carrier before you kill him to receive PadHero and 1 bonus point
  3. In CTL the attacker must hurt the Lolly carrier before you kill him to receive PadHero and 2 bonus points

That's how I read the source code. Waiting for @3aTmE to approve my results.