* Script/Commands: Remove sync db queries from ".account onlinelist"
* Add additional "account onlinelist" commands
- "account onlinelist ip" to filter by ip address
- "account onlinelist limit" to limit the output rows
- "account onlinelist map" to filter by map id
- "account onlinelist zone" to filter by zone id
* Update src/server/scripts/Commands/cs_account.cpp
(cherry picked from commit e3591b25a5)
* Script/Commands: Allow to specify the target player in .additem command
New syntax: .additem <required item id> <optional item count> <optional player name>
Close#25875
* Move target player to new command ".additem to <player> <item> <count>"
(cherry picked from commit bebf1876ab)
* Core/Misc: Improvement item durability repair logic.
* Move item repair cost calculation logic from Player::DurabilityRepair to Item::CalculateDurabilityRepairCost
* Make item repair cost calculation more congruent with client logic (std::round)
* Do not repair items if player does not have enough money to pay for the repair of all items at once
* Withdrawing money from guild bank only once to avoid spam in the guild bank log and reduce number of transactions in the database
Closes#25937
* Fix build
* Remove unnecessary scope
* Fix visual studio warning and one more check for reliability
(cherry picked from commit 3cef126d0a)
So far I see that only Cannot Turn flag can be changed by scripts and action to change it didn't existed in 3xx. If someone will need to change that flag, it should be implemented by action which will change only that flag and not any flag of that type.
(cherry picked from commit c8061d8ba6)
* Core/SAI: Show a clear error for no longer supported SAI actions
* Core/SAI: Show a warning for deprecated SAI events, still loading them.
Disable log "sql.sql.deprecation" in config if you want to ignore the warning
(cherry picked from commit 3af4d17188)
* Core/DB: Improve MySQL version check messages
* Make it more clear that any version above the required one is supported
* Implement feedback
(cherry picked from commit d9a0db79a8)
* Core/Quests: check PreviousQuestID values as well when trying to make a quest available to support quest group requirements for another quest group
* checking for previous quests via NextQuestID only works for single followup quests. However, if we want to make multiple quests available after rewarding all quests of an exclusive group we have to consider PreviousQuestID values as well as every single quest of the next quest group has to check the rewarded exclusive group
* only check for previous quests that must be rewarded instead of being active
(cherry picked from commit a0aa9730e2)
* Core/Config: Implement config override with env vars
Implement overriding of configuration from the .conf file with environment variables.
Environment variables keys are autogenerated based on the keys defined in .conf file.
Usage example:
$ export TC_DATA_DIR=/usr
$ TC_WORLD_SERVER_PORT=8080 ./worldserver
* Core/Config Fix typo in logs
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
* Core/Config Fix code style in EnvVarForIniKey
Co-authored-by: Shauren <shauren.trinity@gmail.com>
* Update tests/common/Config.cpp
* Apply suggestions from code review
Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
* Apply suggestions from code review
Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
Co-authored-by: Anton Popovichenko <anton.popovichenko@mendix.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
(cherry picked from commit 1ddd9dc19c)