Including the weird quirks.
Changes:
* Deposit caculated according to same rule as client. (detailed below). Should always match client deposit now
* Deposit for multiple auctions now only collected once. Deferred calculation of deposit until all auctions listed.
Deposit calculation is as follows:
Base deposit calculation = MSV x 15/75% (depending on AH). However this is not rounded. Case to int is used (so always round down)
The remainder is held in a float.
The base is then multiplied by number of items, and the time multiplier (x2 for 24 hour, x4 for 48 hour)
The nearest (no of items or lower) no of items when multiplied by the remainder that creates a whole number is then multiplied by the time multiplier (x1/x2/x4) and then added to deposit.
Example:
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 1 = 36c. Remainder = 0.75 (n) Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 2 = 72c. Remainder = 1.50 (n) Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 3 = 108c. Remainder = 2.25 (n) Min = 1s. Deposit 1s08c
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 4 = 144c. Remainder = 3.00 (n) Min = 1s. Deposit 1s50c (144c + (3c * 2))
Horrible kludge, to re-create a very weird deposit method.
Closes#15674 (PR)
Closes#15643 (Issue)
(cherry picked from commit 0ac442f19fcfa8c39775c5ae06bba8f3bcbd0407)
# Conflicts:
# src/server/game/AuctionHouse/AuctionHouseMgr.h
Relax const uses in BossBoundaryEntry so the compiler can generate proper
copy assignment operator (error C2582: 'operator =' function is unavailable in 'BossBoundaryEntry')
Also renamed its members to match our coding standards
(public members should be UpperCamelCase)
(cherry picked from commit 954323d9cb13d4ab3d478bcb51eeb157009d8853)
Update https://github.com/TrinityCore/TrinityCore/commit/01beba21b5210860ddd6a37471c6b2bea77a369e to more reliabily complete quest to actually allow quest to be returned rather than just been marked as complete in quest log and on map but quest giver still showing grey ? ad grey continue button.
(cherry picked from commit 6d10b920718fdbaf526254d74d906733edcb561d)
1) Move the http://www.wowhead.com/spell=52214/rainspeaker-treasures-see-invisibility and http://www.wowhead.com/spell=50735/frenzyheart-chicken-see-invisibility to spell area instead of been cast and removed by quest giver on quest accept and return - this solves the issue of Gods Like Shiny Things, Appeasing the Great Rainstone , Flown the Coop! and Chicken Party not working properly (due to player not been able to see npcs) if player relogged or left zone while had quest uncompleted in log unles quest was abandoned and retaken
2) Someone had put non repeatable flags on some of the events for Guardians since I originally scripted these npcs which resulted in that once guardian and dug up one treasure or threw net at one chicken would not work again, all events on these npcs need to repeatable
(cherry picked from commit 4f2cd84625e36bb300317b724489e8aa0c2a22df)
correct faction for http://www.wowhead.com/npc=30012/victorious-challenger
This npc should not be hostile unless spoken for via gosip to fight for quest
(cherry picked from commit 615906e51fc76de0a8ef1a625b50077757fbc48f)