You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
317 lines
12 KiB
317 lines
12 KiB
-- Pawn by Vger-Azjol-Nerub
|
|
-- www.vgermods.com
|
|
-- © 2006-2022 Travis Spomer. This mod is released under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 license.
|
|
-- See Readme.htm for more information.
|
|
--
|
|
-- Ask Mr. Robot scales
|
|
------------------------------------------------------------
|
|
|
|
local ScaleProviderName = "MrRobot"
|
|
|
|
PawnMrRobotLastUpdatedVersion = 2.0535
|
|
|
|
|
|
function PawnMrRobotScaleProvider_AddScales()
|
|
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
6, -- Death Knight
|
|
1, -- Blood
|
|
{ Armor=59.82, Avoidance=27.23, CritRating=40.13, HasteRating=30.67, Indestructible=0.01, Leech=10.07, MasteryRating=53.46, MaxDamage=0.01, MinDamage=0.01, MovementSpeed=0.01, Stamina=90.86, Strength=71.85, Versatility=77.25 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
6, -- Death Knight
|
|
2, -- Frost
|
|
{ Avoidance=0.02, CritRating=2.42, HasteRating=1.47, Indestructible=0.01, Leech=0.01, MasteryRating=2.10, MaxDamage=1.74, MinDamage=1.74, MovementSpeed=0.03, Strength=3.67, Versatility=1.60 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
6, -- Death Knight
|
|
3, -- Unholy
|
|
{ Avoidance=0.02, CritRating=1.99, HasteRating=2.74, Indestructible=0.01, Leech=0.01, MasteryRating=2.48, MaxDamage=2.99, MinDamage=2.99, MovementSpeed=0.03, Strength=4.33, Versatility=1.89 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
12, -- Demon Hunter
|
|
1, -- Havoc
|
|
{ Agility=3.43, Avoidance=0.02, CritRating=1.36, HasteRating=1.43, Indestructible=0.01, Leech=0.01, MasteryRating=1.57, MaxDamage=2.62, MinDamage=2.62, MovementSpeed=0.03, Versatility=1.56 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
12, -- Demon Hunter
|
|
2, -- Vengeance
|
|
{ Agility=42.58, Armor=116.93, Avoidance=0.02, CritRating=28.56, HasteRating=39.36, Indestructible=0.01, Leech=47.24, MasteryRating=15.68, MaxDamage=29.61, MinDamage=29.61, MovementSpeed=0.01, Stamina=54.41, Versatility=64.90 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
11, -- Druid
|
|
1, -- Balance
|
|
{ Avoidance=0.03, CritRating=1.64, HasteRating=1.77, Indestructible=0.01, Intellect=3.49, Leech=0.01, MasteryRating=2.25, MovementSpeed=0.02, Versatility=1.69 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
11, -- Druid
|
|
2, -- Feral
|
|
{ Agility=3.33, Avoidance=0.02, CritRating=1.90, HasteRating=1.55, Indestructible=0.01, Leech=0.01, MasteryRating=1.60, MaxDamage=2.72, MinDamage=2.72, MovementSpeed=0.03, Versatility=1.58 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
11, -- Druid
|
|
3, -- Guardian
|
|
{ Agility=48.32, Armor=133.39, Avoidance=21.64, CritRating=16.41, HasteRating=28.84, Indestructible=0.01, Leech=34.36, MasteryRating=41.26, MaxDamage=0.01, MinDamage=0.01, MovementSpeed=0.01, Stamina=76.22, Versatility=55.46 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
11, -- Druid
|
|
4, -- Restoration
|
|
{ Avoidance=0.02, CritRating=1.47, HasteRating=1.59, Indestructible=0.01, Intellect=3.49, Leech=0.85, MasteryRating=1.36, MovementSpeed=0.01, Versatility=1.52 }
|
|
)
|
|
|
|
if VgerCore.EvokersExist then
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
13, -- Evoker
|
|
1, -- Devastation
|
|
{ }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
13, -- Evoker
|
|
2, -- Preservation
|
|
{ }
|
|
)
|
|
|
|
end
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
3, -- Hunter
|
|
1, -- Beast Mastery
|
|
{ Agility=4.20, Avoidance=0.03, CritRating=1.80, HasteRating=2.46, Indestructible=0.01, Leech=0.01, MasteryRating=1.49, MaxDamage=2.35, MinDamage=2.35, MovementSpeed=0.02, Versatility=1.71 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
3, -- Hunter
|
|
2, -- Marksmanship
|
|
{ Agility=3.60, Avoidance=0.03, CritRating=1.98, HasteRating=1.58, Indestructible=0.01, Leech=0.01, MasteryRating=2.12, MaxDamage=3.77, MinDamage=3.77, MovementSpeed=0.02, Versatility=1.57 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
3, -- Hunter
|
|
3, -- Survival
|
|
{ Agility=3.47, Avoidance=0.02, CritRating=1.60, HasteRating=1.95, Indestructible=0.01, Leech=0.01, MasteryRating=1.08, MaxDamage=2.17, MinDamage=2.17, MovementSpeed=0.03, Versatility=1.57 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
8, -- Mage
|
|
1, -- Arcane
|
|
{ Avoidance=0.03, CritRating=1.70, HasteRating=1.19, Indestructible=0.01, Intellect=3.40, Leech=0.01, MasteryRating=1.92, MovementSpeed=0.02, Versatility=1.57 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
8, -- Mage
|
|
2, -- Fire
|
|
{ Avoidance=0.03, CritRating=1.67, HasteRating=1.64, Indestructible=0.01, Intellect=3.32, Leech=0.01, MasteryRating=1.47, MovementSpeed=0.02, Versatility=1.51 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
8, -- Mage
|
|
3, -- Frost
|
|
{ Avoidance=0.03, CritRating=1.31, HasteRating=1.65, Indestructible=0.01, Intellect=3.60, Leech=0.01, MasteryRating=1.41, MovementSpeed=0.02, Versatility=1.64 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
10, -- Monk
|
|
1, -- Brewmaster
|
|
{ Agility=37.20, Armor=40.77, Avoidance=0.02, CritRating=12.83, HasteRating=1.20, Indestructible=0.01, Leech=4.79, MasteryRating=19.18, MaxDamage=0.01, MinDamage=0.01, MovementSpeed=0.01, Stamina=22.99, Versatility=27.28 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
10, -- Monk
|
|
2, -- Mistweaver
|
|
{ Avoidance=0.02, CritRating=1.18, HasteRating=1.75, Indestructible=0.01, Intellect=2.87, Leech=0.80, MasteryRating=1.19, MovementSpeed=0.01, Versatility=1.22 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
10, -- Monk
|
|
3, -- Windwalker
|
|
{ Agility=2.77, Avoidance=0.02, CritRating=1.31, HasteRating=1.10, Indestructible=0.01, Leech=0.01, MasteryRating=1.41, MaxDamage=2.15, MinDamage=2.15, MovementSpeed=0.03, Stamina=0.18, Versatility=1.42 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
2, -- Paladin
|
|
1, -- Holy
|
|
{ Avoidance=0.02, CritRating=1.34, HasteRating=1.53, Indestructible=0.01, Intellect=3.17, Leech=0.91, MasteryRating=1.44, MovementSpeed=0.01, Versatility=1.25 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
2, -- Paladin
|
|
2, -- Protection
|
|
{ Avoidance=0.03, CritRating=1.12, HasteRating=0.98, Indestructible=0.01, Leech=0.02, MasteryRating=1.63, MaxDamage=2.89, MinDamage=2.89, MovementSpeed=0.01, Strength=2.78, Versatility=1.21 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
2, -- Paladin
|
|
3, -- Retribution
|
|
{ Avoidance=0.02, CritRating=1.49, HasteRating=1.80, Indestructible=0.01, Leech=0.01, MasteryRating=1.78, MaxDamage=2.70, MinDamage=2.70, MovementSpeed=0.03, Strength=3.35, Versatility=1.56 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
5, -- Priest
|
|
1, -- Discipline
|
|
{ Avoidance=0.02, CritRating=0.87, HasteRating=0.13, Indestructible=0.01, Intellect=2.16, Leech=0.63, MasteryRating=0.72, MovementSpeed=0.01, Versatility=0.98 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
5, -- Priest
|
|
2, -- Holy
|
|
{ Avoidance=0.02, CritRating=1.38, HasteRating=1.12, Indestructible=0.01, Intellect=3.36, Leech=0.63, MasteryRating=1.81, MovementSpeed=0.01, Versatility=1.52 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
5, -- Priest
|
|
3, -- Shadow
|
|
{ Avoidance=0.03, CritRating=1.94, HasteRating=2.31, Indestructible=0.01, Intellect=3.79, Leech=0.01, MasteryRating=2.05, MovementSpeed=0.02, Versatility=1.71 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
4, -- Rogue
|
|
1, -- Assassination
|
|
{ Agility=4.29, Avoidance=0.02, CritRating=2.28, HasteRating=2.20, Indestructible=0.01, Leech=0.01, MasteryRating=2.13, MaxDamage=6.84, MinDamage=6.84, MovementSpeed=0.03, Versatility=1.87 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
4, -- Rogue
|
|
2, -- Outlaw
|
|
{ Agility=2.94, Avoidance=0.02, CritRating=1.26, HasteRating=1.30, Indestructible=0.01, Leech=0.01, MasteryRating=1.11, MaxDamage=2.71, MinDamage=2.71, MovementSpeed=0.03, Versatility=1.33 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
4, -- Rogue
|
|
3, -- Subtlety
|
|
{ Agility=4.08, Avoidance=0.02, CritRating=1.87, HasteRating=0.94, Indestructible=0.01, Leech=0.01, MasteryRating=1.62, MaxDamage=5.64, MinDamage=5.64, MovementSpeed=0.03, Versatility=1.80 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
7, -- Shaman
|
|
1, -- Elemental
|
|
{ Avoidance=0.03, CritRating=1.47, HasteRating=1.86, Indestructible=0.01, Intellect=3.82, Leech=0.01, MasteryRating=1.32, MovementSpeed=0.02, Versatility=1.80 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
7, -- Shaman
|
|
2, -- Enhancement
|
|
{ Agility=3.60, Avoidance=0.02, CritRating=1.59, HasteRating=2.00, Indestructible=0.01, Leech=0.01, MasteryRating=1.69, MaxDamage=2.28, MinDamage=2.28, MovementSpeed=0.03, Versatility=1.52 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
7, -- Shaman
|
|
3, -- Restoration
|
|
{ Avoidance=0.02, CritRating=1.51, HasteRating=0.54, Indestructible=0.01, Intellect=3.12, Leech=1.16, MasteryRating=1.42, MovementSpeed=0.01, Versatility=1.37 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
9, -- Warlock
|
|
1, -- Affliction
|
|
{ Avoidance=0.03, CritRating=1.66, HasteRating=1.82, Indestructible=0.01, Intellect=3.50, Leech=0.01, MasteryRating=2.25, MovementSpeed=0.02, Versatility=1.61 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
9, -- Warlock
|
|
2, -- Demonology
|
|
{ Avoidance=0.03, CritRating=1.73, HasteRating=1.57, Indestructible=0.01, Intellect=3.64, Leech=0.01, MasteryRating=1.48, MovementSpeed=0.02, Versatility=1.70 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
9, -- Warlock
|
|
3, -- Destruction
|
|
{ Avoidance=0.03, CritRating=2.17, HasteRating=2.16, Indestructible=0.01, Intellect=4.26, Leech=0.01, MasteryRating=2.14, MovementSpeed=0.02, Versatility=1.97 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
1, -- Warrior
|
|
1, -- Arms
|
|
{ Avoidance=0.02, CritRating=1.96, HasteRating=1.64, Indestructible=0.01, Leech=0.01, MasteryRating=1.94, MaxDamage=2.58, MinDamage=2.58, MovementSpeed=0.03, Strength=3.75, Versatility=1.69 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
1, -- Warrior
|
|
2, -- Fury
|
|
{ Avoidance=0.02, CritRating=1.74, HasteRating=2.14, Indestructible=0.01, Leech=0.01, MasteryRating=2.08, MaxDamage=2.12, MinDamage=2.12, MovementSpeed=0.03, Strength=3.74, Versatility=1.77 }
|
|
)
|
|
|
|
PawnAddPluginScaleFromTemplate(
|
|
ScaleProviderName,
|
|
1, -- Warrior
|
|
3, -- Protection
|
|
{ Armor=36.08, Avoidance=24.20, CritRating=14.12, HasteRating=40.16, Indestructible=0.01, Leech=16.98, MasteryRating=36.13, MaxDamage=48.55, MinDamage=48.55, MovementSpeed=0.01, Stamina=43.18, Strength=48.12, Versatility=50.81 }
|
|
)
|
|
|
|
|
|
------------------------------------------------------------
|
|
|
|
-- PawnMrRobotScaleProviderOptions.LastAdded keeps track of the last time that we tried to automatically enable scales for this character.
|
|
if not PawnMrRobotScaleProviderOptions then PawnMrRobotScaleProviderOptions = { } end
|
|
if not PawnMrRobotScaleProviderOptions.LastAdded then PawnMrRobotScaleProviderOptions.LastAdded = 0 end
|
|
|
|
local _, Class = UnitClass("player")
|
|
if PawnMrRobotScaleProviderOptions.LastClass ~= nil and Class ~= PawnMrRobotScaleProviderOptions.LastClass then
|
|
-- If the character has changed class since last time, let's start over.
|
|
PawnSetAllScaleProviderScalesVisible(ScaleProviderName, false)
|
|
PawnMrRobotScaleProviderOptions.LastAdded = 0
|
|
end
|
|
PawnMrRobotScaleProviderOptions.LastClass = Class
|
|
|
|
-- These scales are new, and we don't need any upgrade logic yet.
|
|
PawnMrRobotScaleProviderOptions.LastAdded = 1
|
|
|
|
-- After this function terminates there's no need for it anymore, so cause it to self-destruct to save memory.
|
|
PawnMrRobotScaleProvider_AddScales = nil
|
|
|
|
end -- PawnMrRobotScaleProvider_AddScales
|
|
|
|
------------------------------------------------------------
|
|
|
|
if VgerCore.IsMainline then
|
|
PawnAddPluginScaleProvider(ScaleProviderName, PawnLocal.UI.AskMrRobotProvider, PawnMrRobotScaleProvider_AddScales)
|
|
else
|
|
-- These scales aren't useful on WoW Classic versions, so skip them.
|
|
PawnMrRobotScaleProvider_AddScales = nil
|
|
end
|
|
|