darkstar icon indicating copy to clipboard operation
darkstar copied to clipboard

/nominate command

Open TeoTwawki opened this issue 8 years ago • 8 comments

I have:

  • [x] searched existing issues (http://github.com/darkstarproject/darkstar/issues/) to see if the issue I am posting has already been addressed or opened by another contributor
  • [x] checked the commit log to see if my issue has been resolved since my server was last updated

Client Version (type /ver in game) : non relevant

Server Version (type @revision in game) : d44a781f97f467cfaa021ad0d457e4cf0767f259

Source Branch (master/stable) : master

Additional Information (Steps to reproduce/Expected behavior) : I assume the reason /nominate does not work is because its such an under used feature of retail that nobody thought to capture and implement that.

TeoTwawki avatar Mar 12 '16 00:03 TeoTwawki

/nominate @dazusu

takhlaq avatar Mar 12 '16 00:03 takhlaq

This could be a fun starter bug. Will look into this.

mrhappyasthma avatar Jan 13 '20 00:01 mrhappyasthma

The current behavior for this command seems a bit wonky. Also I couldn't easily test casting a vote, since it's limited on trial commands.

The lines of text feel reversed to me, but here's what I got so far:

  • Proposing a question: https://i.imgur.com/zqho9Od.jpg

  • Receiving a vote, updates tally for you (not sure what the vote caster sees): https://i.imgur.com/kK91I3A.jpg

  • Calling propose again ends the tally: https://i.imgur.com/zb0O4ZX.jpg

Some nuances:

  • Zoning ends the vote but doesn't seem to show the final tally.
  • /vote is documented on FFXIclopediate to take two arguments <vote#>. I found a volunteer to vote for my question and they said that format didn't work. Only /vote <vote#> without the username. Its possible a typo by them, since I cant see their screen.
  • Max of 8 options allowed on the proposal. If you have more, it just truncates and ignores the 9th+ elements. No error is shown or anything.
  • When calling propose a second time to end an existing vote, it simply ignores any additional parameters. (e.g. /propose and /propose "this is a test" a b c would both just end the existing proposal if one already existed)
  • Calling /propose without any more arguments will start an empty poll. This feels like a bug: https://i.imgur.com/OGDDUik.jpg. If you use /propose again to end this empty poll, it shows garbage: https://i.imgur.com/A8S4kRr.jpg

mrhappyasthma avatar Jan 13 '20 01:01 mrhappyasthma

Commands seem to be:

Propose = 0x0A0 Vote = 0x0A1

https://github.com/DarkstarProject/darkstar/blob/7661e2f74218fb5baa1e531894f0bd2f7960b413/src/map/packet_system.cpp#L6112-L6113

mrhappyasthma avatar Jan 13 '20 01:01 mrhappyasthma

Strings seem to be here: https://github.com/DarkstarProject/darkstar/blob/a142cd9fe6e85bf8d66f8354e5ed13a7c69685f5/documentation/MessageSystemIDs.log#L141-L155

Can be used here: https://github.com/DarkstarProject/darkstar/blob/afa754c6bc8e9ddb0453f4eed4b170fc3fe0dc26/src/map/packets/message_standard.cpp

mrhappyasthma avatar Jan 13 '20 01:01 mrhappyasthma

Nominate is also canceled on user logout.

~~One thing I need to check is can you have two proposals at once in different chat types: e.g. one in linkshell and another in party~~ EDIT: This isn't a concern. Even if you tried to make a separate poll it would trigger the secondary behavior of making the command end the existing poll. All arguments are ignored in that case.

mrhappyasthma avatar Jan 13 '20 03:01 mrhappyasthma

I have the incoming packet parsing down. Just need to implement the poll management and sending outgoing packets to the client to display the messages.

mrhappyasthma avatar Jan 13 '20 04:01 mrhappyasthma

Error messages are herer: https://github.com/DarkstarProject/darkstar/blob/09b3ddfe5f24190203a2ceb225c479bcc699d045/documentation/MessageSystemIDs.log#L37-L38

mrhappyasthma avatar Jan 13 '20 05:01 mrhappyasthma