* Unlooted items / money persist across player sessions
* Loot inside items is tied to the item rather than the player so if trading
partially looted items becomes possible, this implementation will still work
* New tables added:
characters_database.sql (first time users)
characters_create_item_loot.sql (existing users)
Implementation Can be tested with:
Watertight Trunk [21113]
Bulging Sack of Gems [25422]
Fat Sack of Coins [11937]
Closes#2048
Following improvements:
- Spellscript for crystal spikes
- Spawn crystal tanglers with spell
- Usage of event map
- Correct usage of frenzy
- Heroic spells
- Target selection for crystal tanglers
Details for the spell script:
There are 4 spells. Each of them spawns the same trigger but in another direction. The trigger gets an aura which triggers the spell which summoned him after 250ms. This time is too long, so it triggers on apply. Don't worry - test ingame first, it's working blizzlike (I watched some videos on YT to find out which is the best amount of time difference between spawn and next summon).
Some summon types don't store the spell id which summoned them. The trigger is one of them which are not doing so. So I had to move the line, which stores the spell id in the summon out of the if. This could be done more specific, but it works fine. This improvement is required to find out which spell the aura applied to the summoned trigger has to cast to keep the right direction.
Closes#8193
Signed-off-by: Nay <dnpd.dd@gmail.com>
There are still some issues that need to be fixed, for more info see CalendarHandler.cpp TODO part.
Some unblizzlike behaviour possible, we don't have a lot of sniffs.
Big thanks to @Warpten, he joined my project and helped a lot.
IMPORTANT NOTE: Read / append packed time functions in ByteBuffer.h are not correct, they need to be fixed in order to have event times accurate
Signed-off-by: Nay <dnpd.dd@gmail.com>
- Send correct events when modifiying Ranks (Add, modify, delete)
- Store money/slots withdraw, not remaining slots. This will update remaining slots/money properly.
- Reset daily slots/money withdraw for all members at same time, configurable
- Better debug messages
- Fully parse CMSG_GMTICKET_CREATE, use GmTicket::GetChatLog() to access the reporters chat log from this session (unused atm, possible useful to detect chat harassment)
- Simplify SMSG_GMTICKET_GETTICKET and fix "category" field (renamed it same as in blizz LUA files)
- Store response in DB
Allows having different characters with names like "Subv" and "Súbv", it was not possible to have two characters with these names at the same time before
closes#7679
Cleaning databases for old/deprecated and expired quests should never be a
developers choice specifically. This should be done by admins, not developers,
through the use of the already existing paramters found in the worldserver config :
CleanCharacterDB / PersistentCharacterCleanFlags
An adjustment to the respective questloader prepared statement has been done to
accomodate for the earlier change (by not loading such quests into memory at all).
Documentation for how this cleanup-procedures work already exists in the core :
doc/CharacterDBCleanup.txt.
Note: The default config file action for clients failing the checks can be changed for each check via the characters.warden_action table
Credits to TOM_RUS
Fix priority of the player when its added to the lfg group
Better implementation of the Dungeon Deserter debuff
Rewrite the NeedBeforeGreed loot
Fixed players being shown as Unknown Entity when entering the lfg group
Some incremental optimizations after original patch
Thanks to Retriman and Paecman for base implementation
Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
Fix Shadow Prison implementation, the control aura should not be cast on players.
Fix Shadow Prison aura remaining on players if they leave the instance during the encounter,
causing them to kill all nearby moving enemies including inside battlegrounds.