fix: Removes scale speed by dex for monsters, fixes NPC movement/thinking speed (#1019)

* Removes scaled speed by dex for monsters
* Changes scaled speed by dex for pets (HS+ expansion) to be 400ms -> 100ms between 50 -> 200 dex
* Removes speed changes that were broken for various mobs
* Combines "Legacy" speed and renames the class to `NPCSpeeds`
* Creates speed "classes" (slow, medium, fast, very fast)
* Introduces a new overridable property `SpeedClass`. Register a new speed class using `NPCSpeeds.Register()` and then set the speed class to bulk/mass apply speeds.

Order of speed determination:
1. SpeedMod
2. SpeedClass property (not null)
3. SpeedClass entry in Data\npc-speeds.json for that type
4. "Fast" (200ms Active, 400ms Passive)
This commit is contained in:
Kamron Batman 2022-05-15 10:01:14 -07:00 • committed by GitHub
parent 6ec84b3c01
commit eee8494558
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
74 changed files with 477 additions and 472 deletions

View file

@ -486,16 +486,13 @@ namespace Server.SkillHandlers
if (m_Creature is GreaterDragon)
{
ScaleSkills(m_Creature, 0.72, 0.90); // 72% of original skills trainable to 90%
m_Creature.Skills.Magery.Base =
m_Creature.Skills.Magery
.Cap; // Greater dragons have a 90% cap reduction and 90% skill reduction on magery
// Greater dragons have a 90% cap reduction and 90% skill reduction on magery
m_Creature.Skills.Magery.Base = m_Creature.Skills.Magery.Cap;
}
else if (m_Paralyzed)
{
ScaleSkills(
m_Creature,
0.86
); // 86% of original skills if they were paralyzed during the taming
// 86% of original skills if they were paralyzed during the taming
ScaleSkills(m_Creature, 0.86);
}
else
{