In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.
Original version provided by ciphercom.
This reverts commit 10784a8c7cc81c468b5411e973d36ecf31de9603.
Main reason: impossibility for me as commiter test problem and fix all corner cases problems.
* Implment vendor at show replace BoA item with reputation requirement
by identical item without rep. reqs for player that fit this requirements
of original item.
* Table also can be used for store item convertion data form one team items
to similar other team items. This case not impement but added function easy
used for it.
* Note: strict single convert for item not created problem for both way use:
item converted for same team or all, can't be original item for conversion to
another team.
* This fixes possible problems with Spell::FillAreaTargets(center of search should be (x,y) position, not spell caster's position)
* Cleanup Cell class, removed old and unused code
This reverts commit 4ce902e5d9c3cfc635c0eff1ba3552da5ecd0c5b.
Check done at client side so useless skip it at server side.
Proper fix expect show diff items in vendor list depndent from required reputation.
Now in case when creature/etc some tices not updates in result stay
in not active (no near players or active objects) cell some important
timers (corpse decay, summon timers, group loot expire, aura durations, etc) will
updates at real diff time from last prev. update call.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
For some systems added exclude use real diff time because current limitations
like move generators. So its stay use last tick diff and considered freeze and
skip all time while creature in not active map part.
Item reputation requirements checked at buy, and in quest case
related quests expected to have own reputation requirements
preventing rewarding items with not fit reputation requirements.
* 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
Create new table and convert existing data.
Simplify how game event quests are activated during event by adding generic function to set quest active/inactive.
Any quest in game_event_quest are disabled until event start (and deactivated once stopped)
Signed-off-by: NoFantasy <nofantasy@nf.no>
Create enum for SpecialFlags (database flags and internally computed)
Added related functions for specialFlags and update code accordingly.
Signed-off-by: NoFantasy <nofantasy@nf.no>
Quest that can repeated each month are set by quest_template.SpecialFlags |0x04 flag
Quest are reset at midnight the first day of each month.
Note: for the time being, quest must also be set repeatable (SpecialFlags |0x01)
Signed-off-by: NoFantasy <nofantasy@nf.no>
* Player's knockback movement now smooth and doesn't looks like teleporting
* Cleanup WorldSession::HandleMovementOpcodes, separated opcode specific and generic movement handlers code
* Handle Feign Death aura interrupting into more appropriate place
Use 3 hours timer when bones really expired by Corpse::IsExpired code each 1 hr
just lol ;) So restore old 20 min time used long time ago.
Thanks to TGM for pointing to patch.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* 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