Actually as this is still no total order (and it is basicly impossible to define a reasonable total order for areatrigger_teleport) it is not well defined, but probably good enough for all cases
- Update dodge, parry, block to cata.
- Some mastery fixes and stylefixes.
- Remove some no longer used functions.
Signed-off-by: Yaki Khadafi <elsoldollo@gmail.com>
Implement AreaLockStatus concept by rsa
Also drop basicly unneeded `areatrigger_teleport`.required_failed_text field.
This concept is still in testing phase, please feedback results of some glitches that might exist!
TODO: Use Player::GetAreaLockStatus or GetAreaTriggerLockStatus for other "CanEnter" checks as well.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This condition returns true if a DungeonEncounter is done in this map.
value1, value2 are expected to be the IDs from DungeonEncounter(dbc)
value2 is optional, if both values are given, the condition will be true if one of the two DungeonEncounters are done.
Thanks to crackm for testing
TODO:
- implement currency requirements/rewards
- skill rewards
- skill learned requirements.
- not show quests with RewSkill to players which do not have that skill
Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
Add exemplarily support for spells 21387(used with Ragnaros) and 62388(related to Demonic Circle)
Further table columns can be added as required.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This will assert controlled behaviour when loading a `gameobject_template` entry of type Capture Point with bad data
Patch improved by stfx
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
Add exemplarily support for spells 21387(used with Ragnaros) and 62388(related to Demonic Circle)
Further table columns can be added as required.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This fixes to integrity check to report unused gossip_menu entries. Before only menus used by creatures with gossip_menu_items were reported
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>
* 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>
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>