It kinda works now, but doesn't handle all edge cases yet.
TODO:
* before start:
* Check if > 1 player
* allow buff in safezone
* on enter:
* leave party
* remove buffs of skills
* remove fenrir, horse(?), raven
* on end:
* Ranking
* Other:
* Handle relogin when player was in CC before
* current state of 0.95d integration
notes:
* initialization data is not complete - it was just copied from 0.75 by now
* there is some kind of bug, so that the client doesn't show the character when entering the game. couldn't find out what's wrong yet
* added missing packet changes
* fixed invisible character
thanks @fos83 for the hints
* Fixed hit messages which were sent with false header code
The character moved on the map instead
* Fixed skill animations
* Fixed skill usage
* Fixed consumption of items
* fixed guild creation
* fixed gate entering and teleport skill
* fixed adding/removing skills
* fixed closing chaos machine dialog
* Adapted data initialization to actual 0.95d config
* Devil Square - current state
My current state of implementing the devil square event.
Still some things to do - i didn't do any tests yet, too.
* Fixed missing ticket removing when entering event
* Fixed entering devil square event
* the result message had the wrong size
* fixed intepreting the level of the devil square and the inventory slot index
* Fixed selecting the correct map definition
* fixed att files for devil square
* Added missing player limit
* Added missing max item level for event tickets
* Set Noria as safe zone for devil square
* Use DevilSquareInitializer of Season 6 for Season 6
* Improvements for Devil Square (etc.)
* fixed state change notifications, as they're sent 30 seconds in advance
* changed locking to use a SemaphoreSlim to prevent locking threads of the thread pool
* Current state of the devil square development
New stuff:
* Rewards
* Ranking
Changes:
* Cleaned up the item drop generator a bit
* Optimized money distribution within a party
What's missing:
* Different monsters should spawn at different times. The monsters get harder over time. At the end, there is a one-time spawn of 5 boss monsters.
* I'm also not sure, if the packet for the result is correct, because in my tests, the client showed nothing.
* Another thing is, that when a client leaves the game while in devil square, he will respawn there, too. Instead, he has to be moved back to the noria map when he leaves the game.
* Fixed that a player respawns at event maps after reconnection
Also fixed, that the player kept getting logged in the game even if it already disconnected. Exceptions happened when the server was trying to send some packets after it was disconnected.
* Update ConnectionExtensions.cs
* Implemented wave based spawns for mini games
* fixed namespace
* fixed regex replacement for resistancies
* updated todos
* Fixed item extension method CanHaveSkill
When an item can not be equipped, it can't have skill. Because of this bug, scrolls and orbs dropped with skill, because they have a skill defined in the ItemDefinition. But this skill is meant to be learned, not meant to be equipped.
* added missing comment
* Fixed versioning of the packet handler for normal hits
* Fixed sending of MiniGameScoreTable
When not using the constructor, the header code is not set.
* Fixed item serialization
* Added check for the ticket item level
* Some code fixes according to codacy
* Event ticket ingredients should drop
* added missing ConfigureAwait(false)
* more missing ConfigureAwait(false) ...
* Character is not moving back to its spawn point after attacking a target. Reason was the attack animation packet, which should not be sent back to the attacking player.
* Character walking packets
* Money drops
* Quest packets should not be sent, because this version doesn't have quests
* Map change packet was corrected
Jekyll (more precisely: jekyll-relative-links) has problems when there are any escaped characters or unescaped brackets in the links.
As I don't expect any improvements in this direction, I change the naming scheme in my project.