Core/Players: PlayerChoice improvements

* Add missing choice properties to database (InfiniteRange, ShowChoicesAsList)
* Allow limiiting the number of responses sent at the same time
* Fixed duration sent in SMSG_DISPLAY_PLAYER_CHOICE
* Remove dynamically generated response identifiers from database
* Remove auto rewarding choice responses
* Change response scripts to be bound to scriptname
This commit is contained in:
Shauren
2025-06-22 21:56:58 +02:00
parent 7ca6b226a7
commit e59059e1bd
14 changed files with 421 additions and 278 deletions

View File

@@ -0,0 +1,11 @@
ALTER TABLE `playerchoice`
MODIFY `Duration` bigint NULL DEFAULT 0 AFTER `CloseSoundKitId`
ADD `InfiniteRange` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `Question`,
MODIFY `HideWarboardHeader` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `Question`,
MODIFY `KeepOpenAfterChoice` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `HideWarboardHeader`,
ADD `ShowChoicesAsList` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `KeepOpenAfterChoice`,
ADD `ForceDontShowChoicesAsList` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `ShowChoicesAsList`,
ADD `MaxResponses` int unsigned DEFAULT NULL AFTER `ForceDontShowChoicesAsList`,
ADD `ScriptName` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL AFTER `MaxResponses`;
ALTER TABLE `playerchoice_response` DROP `ResponseIdentifier`;