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

@ -1,8 +1,8 @@
[
{
"name": "Slow",
"active": 0.6,
"passive": 1.4,
"active": 0.3,
"passive": 0.6,
"types": [
"AntLion", "ArcticOgreLord", "BogThing",
"Bogle", "BoneKnight", "EarthElemental",
@ -18,57 +18,10 @@
"GreaterDragon", "PlagueBeastLord"
]
},
{
"name": "Fast",
"active": 0.3,
"passive": 1.0,
"types": [
"LordOaks", "Silvani", "AirElemental",
"AncientWyrm", "Balron", "BladeSpirits",
"DreadSpider", "Efreet", "EtherealWarrior",
"Lich", "Nightmare", "OphidianArchmage",
"OphidianMage", "OphidianWarrior", "OphidianMatriarch",
"OphidianKnight", "PoisonElemental", "Revenant",
"SandVortex", "SavageRider", "SavageShaman",
"SnowElemental", "WhiteWyrm", "Wisp",
"DemonKnight", "GiantBlackWidow", "SummonedAirElemental",
"LesserHiryu", "Hiryu", "LadyOfTheSnow",
"RaiJu", "Ronin", "RuneBeetle",
"Changeling", "LadyJennifyr", "LadyMarai", "MasterJonath",
"MasterMikael", "MasterTheophilus", "RedDeath",
"SirPatrick", "Miasma", "Rend",
"Grobu", "Gnaw", "Guile",
"Irk", "Spite", "LadyLissith",
"LadySabrix", "Malefic", "Silk",
"Virulent", "SeaHorse", "UnholyFamiliar",
"HolyFamiliar", "GiantIceWorm", "Phoenix",
"Succubus", "EnragedRabbit", "EnragedHind",
"EnragedHart", "EnragedBlackBear", "EnragedEagle",
"RagingGrizzlyBear", "CorrosiveSlime", "DarkWisp",
"DarkGuardian", "HarrowerTentacles", "ServantOfSemidar",
"Ninja", "Samurai"
]
},
{
"name": "Very Fast",
"active": 0.25,
"passive": 0.7,
"types": [
"Barracoon", "Mephitis", "Neira",
"Rikktor", "Semidar", "EnergyVortex",
"EliteNinja", "Pixie", "SilverSerpent",
"VorpalBunny", "FleshRenderer", "KhaldunRevenant",
"FactionDragoon", "FactionKnight", "FactionPaladin",
"FactionHenchman", "FactionMercenary", "FactionNecromancer",
"FactionSorceress", "FactionWizard", "FactionBerserker",
"FactionPaladin", "Leviathan", "FireBeetle",
"FanDancer", "FactionDeathKnight"
]
},
{
"name": "Medium",
"active": 0.5,
"passive": 1.2,
"active": 0.25,
"passive": 0.5,
"types": [
"AcidElemental", "AgapiteElemental", "Alligator",
"AncientLich", "Betrayer", "Bird",
@ -144,5 +97,52 @@
"Parrot", "ElfBrigand", "GreaterMongbat",
"AnimatedWeapon", "Reaper", "Corpser"
]
},
{
"name": "Fast",
"active": 0.2,
"passive": 0.4,
"types": [
"LordOaks", "Silvani", "AirElemental",
"AncientWyrm", "Balron", "BladeSpirits",
"DreadSpider", "Efreet", "EtherealWarrior",
"Lich", "Nightmare", "OphidianArchmage",
"OphidianMage", "OphidianWarrior", "OphidianMatriarch",
"OphidianKnight", "PoisonElemental",
"SandVortex", "SavageRider", "SavageShaman",
"SnowElemental", "WhiteWyrm", "Wisp",
"DemonKnight", "GiantBlackWidow", "SummonedAirElemental",
"LesserHiryu", "Hiryu", "LadyOfTheSnow",
"RaiJu", "Ronin", "RuneBeetle",
"Changeling", "LadyJennifyr", "LadyMarai", "MasterJonath",
"MasterMikael", "MasterTheophilus", "RedDeath",
"SirPatrick", "Miasma", "Rend",
"Grobu", "Gnaw", "Guile",
"Irk", "Spite", "LadyLissith",
"LadySabrix", "Malefic", "Silk",
"Virulent", "SeaHorse", "UnholyFamiliar",
"HolyFamiliar", "GiantIceWorm", "Phoenix",
"Succubus", "EnragedRabbit", "EnragedHind",
"EnragedHart", "EnragedBlackBear", "EnragedEagle",
"RagingGrizzlyBear", "CorrosiveSlime", "DarkWisp",
"DarkGuardian", "HarrowerTentacles", "ServantOfSemidar",
"Reptalon"
]
},
{
"name": "Very Fast",
"active": 0.175,
"passive": 0.35,
"types": [
"Barracoon", "Mephitis", "Neira",
"Rikktor", "Semidar", "EnergyVortex",
"EliteNinja", "Pixie", "SilverSerpent",
"VorpalBunny", "FleshRenderer", "KhaldunRevenant",
"FactionDragoon", "FactionKnight", "FactionPaladin",
"FactionHenchman", "FactionMercenary", "FactionNecromancer",
"FactionSorceress", "FactionWizard", "FactionBerserker",
"FactionPaladin", "Leviathan", "FireBeetle",
"FanDancer", "FactionDeathKnight", "Revenant"
]
}
]