Opened 7 years ago

Last modified 7 years ago

#4769 new defect

Several victory messages on Treasure Island

Reported by: serveurix Owned by:
Priority: Should Have Milestone: Backlog
Component: Maps Keywords:
Cc: Patch:

Description

On current svn, on the demo map Treasure Island, I've sent a unit on the bottom island which contains 3 treasures. Apparently I was 1 treasure away from victory. The unit collects the first treasure, and then the two others. I get the victory, map is revealed, enemy turns gaia, the victory message window appears, I click "no" to stay on the map, and two other victory windows follow. There were some error messages displayed but I haven't kept a trace of them. And then I get a new victory window for each treasure I gather after victory.

Tell me if you can reproduce it, if you can't I'll try to do it again and get some more data.

Attachments (1)

patch.diff (1.9 KB ) - added by fatherbushido 7 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by fatherbushido, 7 years ago

Errors fixed in a recent commit. The other issue is known, see that other ticket. Perhaps refs in that one and close this one as dupe.

edit : (fix identation which made my message unreadable)

Last edited 7 years ago by fatherbushido (previous) (diff)

comment:2 by elexis, 7 years ago

Phab:rP20156 fixes the duplicate GUI victory events of the game. The duplicate victory messages of the map are still prevalent.

Don't know about the mentioned treasure picking issue in #4507, nor what the map was meant to do or should do, but the remaining duplicate map chat message is Your treasury is filled to the brim, you are victorious. Perhaps an early return onTreasureCollected if one of the players is inactive would do already (in other trigger scripts the code usually has to unset some timer and clearn variables too. There is at least one timer this.RegisterTrigger("OnInterval", "BattleMessage", {).

(Also that var cmpTrigger should become let, put into a scope (as in r19552) so that it can't be called from the prototype which must use this after deserialization or gets an OOS as in r18909)

comment:3 by fatherbushido, 7 years ago

The map is unrelated. It's a bug in the ResourceSupply component (or in the unitAI one, it depends of the pov) which is mainly noticeable if you change time things.

EDIT: In fact, I read a bit fast, there is indeed that map related thing unrelated to the other similar bug in #4507.

Last edited 7 years ago by fatherbushido (previous) (diff)

comment:4 by elexis, 7 years ago

In r20161 by fatherbushido:

Add ResourceSupply component unit tests.
Differential Revision: ​https://code.wildfiregames.com/D901

by fatherbushido, 7 years ago

Attachment: patch.diff added

comment:5 by fatherbushido, 7 years ago

unregistering the OnTreasure event when winning do the job. Is this ok?

comment:6 by elexis, 7 years ago

Should do the trick, but the mentioned timer should be stopped too, right? So it doesn't recommend you to Defeat your enemy to win! after having won.

comment:7 by fatherbushido, 7 years ago

ah, yes

Note: See TracTickets for help on using tickets.