SapiensAnatis / Dawnshard

Server emulator for Dragalia Lost
https://dawnshard.co.uk
MIT License
76 stars 29 forks source link

Handle RewardGrantResult in StoryService #800

Closed SapiensAnatis closed 2 weeks ago

SapiensAnatis commented 2 weeks ago

Handle the returned result of attempting to grant a quest story reward in StoryService, so that these entities correctly show as going to the gift box which is particularly an issue with dragons.

Note that even if you explicitly send the first Midgardsormr to the gift box, the game will still have you bond with him in the subsequent Dragon's Roost tutorial, which causes a server error if he isn't owned.

To counteract this, Midgardsormr is special-cased and the reliability is created anyway if he isn't added due to RewardGrantResult.Limit. It's a bit dodgy to have a reliability for a dragon that you do not own, but I expect this corner case (beating Ch1 1-4 with full dragon storage) will become incredibly rare once the 1.2m starting wyrmite is removed.

Also includes a "little bit" of refactoring of the presents feature that got out of hand... removing AutoMapper, and the repository, and fixing some pagination logic that just didn't make any sense. Misc refactoring of file locations relating to quests/stories as well.