Thx to fr1nge for reporting the bug.
Problem spotting and patch by vovk
Additional cleanup by fr1nge
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Patch taken from insider's repo.
Also rename DoSummon function to DoSummonPet function.
Signed-off-by: stfx <stfx@hotmail.de>
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
* Allow SCRIPT_COMMAND_KILL_CREDIT to give the kill of an involved npc.
This is marked by datalong (creature-entry) == 0
* Remove immediate execution of commands. This will prevent infinite loops when db-scripts trigger db-scripts which are executed immediately
* Add check for SCRIPT_COMMAND_PLAY_SOUND
* Add check to catch an invalid command
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Tree-like design idea by Faramir118, thanks for that!
* Add `conditions` table to store conditions.
* REPLACE current handling of conditions for the *_loot_template tables
Convert the old conditions in *_loot_template to the new system by SQL-Queries
* ADD support for new conditions to gossip_menu and gossip_menu_option.
If for these tables no condition_id (new system) is provided, the old conditions will still be used
* Add a small helper python script to contrib/convertConditions, see README there for details
* Add new command to reload the `conditions` table (.reload conditions)
* Add two Meta-Condition types CONDITION_AND (-1) and CONDITION_OR (-2) which are used as:
value1 (as condition_entry) AND / OR value2 (as condition_entry)
With these meta-conditions it is possible to create tree like and very complicated combined conditions (like HasAura && (HasItem || HasQuest))
NOTE about conversion:
For easier convertion all the old table data is still preserved, but will be removed eventually (within a circle of the moon approximately)
The python script will not create an optimal initial fill of the `conditions` table. You might want to tweak it manually or suggest some optimized algorithm :)
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Remove the actually not required faction check in Player::GetNPCIfCanInteractWith - this is done by IsHostileTo a line before
Improve the Player-login AtWar selection to also consider forced reactions
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This flag is intended to make the process of removing the automatismn gossip.click -> quest-credit easier.
This flag will be removed when the converting is complete
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Add options 1/ 2 in second argument to check if a quest is INCOMPLETE/ COMPLETE, default will behave like currently
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>