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

@ -13,7 +13,6 @@ namespace Server.Engines.Quests.Necro
{
m_Necromancer = necromancer;
SetSpeed(0.3, 1.0);
InitStats(45, 30, 5);
Title = "the Paladin";

View file

@ -8,7 +8,6 @@ namespace Server.Engines.Quests.Ninja
[Constructible]
public Henchman() : base(AIType.AI_Melee, FightMode.Aggressor)
{
SetSpeed(0.3, 1.0);
InitStats(45, 30, 5);
Hue = Race.Human.RandomSkinHue();

View file

@ -11,7 +11,6 @@ namespace Server.Engines.Quests.Samurai
Body = 3;
BaseSoundID = 471;
SetSpeed(0.3, 1.0);
SetStr(20, 40);
SetDex(40, 60);
SetInt(15, 25);

View file

@ -11,7 +11,6 @@ namespace Server.Engines.Quests.Samurai
BaseSoundID = 422;
Hue = 0x66A;
SetSpeed(0.3, 1.0);
SetStr(91, 115);
SetDex(61, 80);
SetInt(86, 105);

View file

@ -11,7 +11,6 @@ namespace Server.Engines.Quests.Samurai
Hue = Utility.RandomAnimalHue();
BaseSoundID = 0x69;
SetSpeed(0.3, 1.0);
SetStr(9);
SetDex(35);
SetInt(5);

View file

@ -10,7 +10,6 @@ namespace Server.Engines.Quests.Samurai
Body = 103;
BaseSoundID = 362;
SetSpeed(0.3, 1.0);
SetStr(6000, 6020);
SetDex(0);
SetInt(850, 870);

View file

@ -12,7 +12,6 @@ namespace Server.Engines.Quests.Samurai
Hue = Utility.RandomAnimalHue();
SetSpeed(0.3, 1.0);
SetStr(10, 20);
SetDex(45, 65);
SetInt(10, 15);

View file

@ -8,7 +8,6 @@ namespace Server.Engines.Quests.Samurai
[Constructible]
public YoungNinja() : base(AIType.AI_Melee, FightMode.Aggressor)
{
SetSpeed(0.3, 1.0);
InitStats(45, 30, 5);
SetHits(20, 30);

View file

@ -8,7 +8,6 @@ namespace Server.Engines.Quests.Samurai
[Constructible]
public YoungRonin() : base(AIType.AI_Melee, FightMode.Aggressor)
{
SetSpeed(0.3, 1.0);
InitStats(45, 30, 5);
SetHits(10, 20);

View file

@ -11,7 +11,6 @@ namespace Server.Engines.Quests.Haven
[Constructible]
public MilitiaFighter() : base(AIType.AI_Melee)
{
SetSpeed(0.3, 1.0);
InitStats(40, 30, 5);
Title = "the Militia Fighter";