GetAngle can be called for self from very many places, not only DB-errors, hence adding the assert is too strong in the moment
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>
Original idea and improved design for this by PSZ, who also implemented spells 66881 (with diffmodes)
Original patch for spells 28241, 54363 by Azerus
Also fix spell 24811
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Thanks to piroy1337 for version of ICC Decimate,
thanks to ZuSe for bumping the issue of missing implementation
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
You can use .cast 11010 and .unaura 11010 instead
Thanks to stfx for improving patch and porting it for us :)
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Some effects or target-combinations might need exception from the generic rule that calculated targets from one effect are used by other effects with same targets.
This will fix bugs that different random targets for different effects are selected, even when they should be the same.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This changes the handling of SCRIPT_COMMAND_MOVE_TO, to not expect some travel-time, but directly provide the speed for the movement (*100).
Attention to DB-Devs, please check your MOVE_TO scripts.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
* Moved actual script processing code to ScriptMgr
* Unifed and improved log output. Now table-name is passed to each script execution
* Added the "buddy concept" to all commands (except the outdated direct field change commands):
Now all commands support to search a creature (or go for some commands) in a radius, with which to do some stuff.
See doc/script_commands.txt for more details and information
Attention DB Devs:
Current DB-Scripts are converted automatically as far as possible, but some old target selecting mechanics were not reasonable to do automated.
For such cases the command is marked with data_flags & 0x10 (==16), which will throw DB-Errors to track them down faster
Thanks to NeatElves and especially Grz3s for testing!
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Authors for these fixes: mns, michalpolko, PSZ, fallenangelX, rsa, mosst, przemratajczak, reamer
And hopefully no forgotten!
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
'I see dead people, they are everywhere' - and now you can interact with them for quests.
Also fix aura 10848
Please report any missing issues (could not test all cases)
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>