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 0ac442f19f)
Conflicts:
src/server/game/AuctionHouse/AuctionHouseMgr.h
- Stop storing guid for auctioneer.
- Store instead house ID
- No separate ID for various houses. Only Horde, Alliance and Neutral.
- Removed non-needed faction checks.
- Use enum for auction house IDs
NOTE: This will expire all current auctions and return item to player (or
award to high bidder) in order to prepare database for the changes.
(cherry-picked from commit 01ae5c4bf6)
Conflicts:
sql/base/characters_database.sql
src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
src/server/game/Handlers/AuctionHouseHandler.cpp
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)
* Fixes possible assertion failure in Aura::UnregisterSingleTarget
Closes#15696
Ref #15668
Cherry picked (manually) from b808910a89822f741d35d4b90e6c4bcf101cd9ef
This prevents duplicate key and transaction completion fail on pet save, if pet has same aura from two different casters present.
This closes (already closed) issue https://github.com/TrinityCore/TrinityCore/issues/10529
- Stop storing guid for auctioneer.
- Store instead house ID
- No separate ID for various houses. Only Horde, Alliance and Neutral.
- Removed non-needed faction checks.
- Use enum for auction house IDs
NOTE: This will expire all current auctions and return item to player (or
award to high bidder) in order to prepare database for the changes.
- Combat no longer removes stealth, only damage does
- Creatures will pursue a stealthed unit they cannot see if they're already in combat with them
- When a player is ~~3 yards~~ 8% + 1.5 yards away from the usual stealth detection distance, the creature will perform the "alerted" effect.
- When sitting/sleeping creatures are distracted or alerted, they will stand up
- Idle movement creatures will return to their original (spawn) orientation after distract/alert
- When entering combat with a distracted/alerted creature, distract state is removed
- NPC no longer have a limit to stealth visibility (granted by stealth modifier spells/buffs)
- If alert visibility is greater than aggro range, no alert sent
* This adds support to spell_custom_attr to allow a spell to be cast
upon a unit on a taxi/in flight.
* This will allow the Issue #11880 with Horde quest Test At Sea (11170) to be corrected.
* closes#14235
Signed-off-by: Naios <naios-dev@live.de>
For units with unfriendly reputation, check using the normal reaction function, instead of reading faction directly.
This allows specific buffs that alter creature reaction to work on the player, this allowing players to complete quests.
Closes#13629
- Ensures rep adjustment buff is always applied (overrides evade, implements existing evade + re-apply buff)
- Removes un-owned ravagers with incorrect faction from DB (the correct ones are spawned with their masters without the DB entries)
- Create some extra steps in the wolf's waypoints in order to generate some AI events for the Ryga NPC. I think it's a bit of a dirty solution, but it seems to work with minimal changes.
- Created RP series of events with Ryga NPC and Ancestral Wolf Spirit (Ryga Kneels, talks to wolf, then returns to spawn position after around a minute).
Closes#13619Fix#4028