* Rename barGoLink -> BarGoLink as expected by mangos code style
* Add uint32/uint6 constructor versions for BarGoLink,
and remove lot casts required before for BarGoLink use
* At game events table loading checked not only allowed event ids range but also event existance.
* Renamed CONDITION_ACTIVE_EVENT -> CONDITION_ACTIVE_GAME_EVENT
* Implemented new conditions:
- CONDITION_NOT_ACTIVE_GAME_EVENT
- CONDITION_ACTIVE_HOLIDAY
- CONDITION_NOT_ACTIVE_HOLIDAY
Recomended use holiday version where possible as more portable.
* Fishing now prowide junk loot at fail skill check.
This can be disabled for old way work using SkillFail.Loot.Fishing option.
Junk loot expected to be listed in fishing_loot_template entry 0.
* Fishing can gain skill grow at skill fail check case.
Controlled by SkillFail.Gain.Fishing option.
* Fishing from fishing pool gameobject can't be fail.
Controlled by SkillFail.Possible.FishingPool
* Not deleted normal item loot at first loot window close.
* Save current item loot content to DB for later continue looting.
* Cleanup spell effect SPELL_EFFECT_OPEN_LOCK check code
* Cleanup Player::AutoStoreLoot calls
* List its independelty. Each from this 2 fields have own flags. Cleanup lists.
* Not copy proto flags to item flags update field. This fix heroic item versions
show in client in result mixed use ITEM_DYNFLAG_WRAPPED (0x8) with ITEM_FLAG_HEROIC (0x8)
* Update uses to proto case use for some cases where before wrongly has been used item dyn.flags
* For ITEM_DYNFLAG_UNLOCKED (0x4) set for item at unlock and check for prevent re-unlocking.
This mostly for future case when will be implemented partly loting items support.
* For ITEM_FLAG_LOOTABLE (0x4) check loot absent or conflicting setting with containers/casted at use items.
Report wrong cases art loading.
* Better check related loot tables content using ITEM_FLAG_PROSPECTABLE and ITEM_FLAG_MILLABLE
* Allow loot for not used in quest mail templates.
This let use mail template based mails from scripts for example.
* Not allow use same mail template id in more ine quests.
for alterac valley we've defined Player-loot inside creature_loot_template
with id=0
this hack is used, so that we won't need to create an extra table
player_loot_template for just one case
if later more player-loot will be needed, we should implement
new table and remove this
also added sql-fix for reputation of last commit
it will just fix those which are hated by faction 729/730
* Implement use `consumable` field in gameobject template for gameobject required explcit despawn at use.
* Move gameobject template fields cech function from Gameobject to gameobject template class, and update callers.
* Cast spells at gameobject use with gameobject guid as original caster guid, as already used in some other cases.
* SPELL_EFFECT_OPEN_LOCK_ITEM (59) effect removed in 3.1.3
* It replaced by SPELL_EFFECT_CREATE_RANDOM_ITEM (59), random item without template replace spells like clam loot spells)
Used by spells that use before SPELL_EFFECT_CREATE_ITEM_2 (157) with itemtype==0
Note: required DB support in `spell_loot_termplate`
Also optimize strcture LootStoreItem that let use 4 byte for loot template element in memory instead 5 bytes.
But limit group id to 127 max value. Check this at loading.
For grouped loot use rates create problems with impossibility loot some items including quest items.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Replace reqClass by reqSkillVlaue field in `skill_discovery_template`
and check expected skill points amount for specific reipe discovery.
* Add new `spell_loot_template` loot table for store item selection data for spells.
At this moment for expclicit recipes discovery spells.
* Code cleanups.