* [Cleanup] Mask GM Show Buff message behind EntityVariable
Removes the spam of "Your GM flag allows you to always see your targets' buffs." for GMs every time a buff lands on a target.
It will now lock to an Entity Variable and only show once per zone.
* Convert string to constexpr
* Switch from string to char
* [Bug Fix] Prox aggro for frustrated and undead.
If mob is frustrated (Rooted and has no one to kill or is undead will add prox aggro to hate list.
* Update aggro.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
* [Bug Fix] Corpse Call removing Rez Effects
When calling a corpse, it should not remove rez effects.
* Update client_process.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
* [Rules] Add HasteCap and Hastev3Cap rules for NPCs, Bots and Mercs
Previously NPCs, bots and mercs all had a flat haste cap of 150 whereas clients were capped at 100.
NPCs, bots and mercs used the character rule for v3 cap, they now each have their own.
Rules for v3 cap are the default of 25 as they were using.
Rules for haste caps are the default of 150 for NPCs they were using but lowered to 100 for bots and mercs, the same as clients.
This also adds haste output to the GM target stat window
* Fix for stat windows to account for client haste
Code Credit TAKP:
Bug Post: https://discord.com/channels/212663220849213441/1258430167764832319
Resolved issue with split message being sent to group members when no split is present which creates an "Unknown Split".
Also added the random remainder split portion unless using a manual /split
Converted manual messages to Strings
* fix stacking issues with Aegolism spell line
Issue: When casting buffing a player with aegolism spell line, who already has cleric AC, symbol and heroism spell, it would overwrite heorism buff and leave other two.
Aegolism spell line when applied when a client has Heroism spell line, AC spell line, and symbol spell line. Should overwrite the Heroism spell and fade the AC and Symbol buffs.
* Update spdat.cpp
Previous change did not account for the modern slay undead and holyforge spells.
Reverted some of the changes and cleaned up others.
Rule Renamed (Default value was incorrect, this was a clean way to fix that) - SlayDamageAdjustment -> SlayDamageMultiplier
Also added a rate multiplier
RULE_REAL(Combat, SlayRateMultiplier, 1.0, "Slay Rate Adjustments - Multiply final slay rate check by this value. Default: 1.0")
Fixed the ordering of the constants for the slay undead SPA that were backwards and causing major headaches with tuning and setting up slay undead correctly.
Base = Damage Mod (100 is base, so 240 = 140% more)
Limit = Proc Rate - Value is divided by 10000 for a Float %. e.g. 1700 becomes 0.17 (Or 17% proc rate).
Damage bonus should be additive not std::max as AA, Spells and Item bonuses should stack.
e.g. Slay Undead RK3 240 + Holy Forge 140 should = 380 (280% damage)
* Fix bazaar trading
* Update `constexpr`
* Added world trader table truncate on boot to ensure that the trader table is always empty when world starts.
---------
Co-authored-by: Mitch Freeman <65987027+neckkola@users.noreply.github.com>
* [Rule] Classic Harm Touch Formula
Pre 2007 Harm Touch was handled differently with base harm Touch ( Ability or 2 ranks aa) and Improved Harm Touch AA. It was converted into 10 ranks of Harm Touch -
http://www.tski.co.jp/baldio/patch/20071113.html
It was further refined in 2008 to have a DoT component.
http://www.tski.co.jp/baldio/patch/20080709.html
This rule focuses on the pre 2007 version and allows the damage to properly scale
* Updated logic
* Update per feedback.
MendAlwaysSucceedValue allows you to adjust skill at which mend will always succeed its check.
SneakAlwaysSucceedOver100 allows sneak to always succeed when over skill 100 (Higher skill increases the movement speed).
* Potential fix for players having empty bazaar window dropdown list, even though trader is tagged as a trader.
* Update the truncate of the trader table to avoid inappropriate deletions if an instance of bazaar was started.
* [Bug] Prevent Ressurection Spells from being resisted
Added IsRessurectionSpell(uint16 spell_id) to assist with checking on a spell is a ressurection spell.
This was noticed when Dragons of Norrath launched and the Tier 5 Progression AA provided SPA 180 2% SE_ResistSpellChance
* Helps if I spell it correctly
* Update per feedback
* [Rule] Snare Override Movement Bonus
This rule allows snare to override any movement bonuses.
RULE_BOOL(Spells, AllowSnareEffectsOverrideBonus, false, "Enabling will allow snares to override any speed bonuses the entity may have. Default: False")
Default: False
* Rule name
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
* [NPC Spells} fixed an issue where the repository spell adj value was overriding the spell difficulty default value.
[Command] Add resist adj to #show spells_list command to see the resist value.
* True fix, do IsValidSpell on actual spell
---------
Co-authored-by: Akkadius <akkadius1@gmail.com>