diff --git a/Game/Scripting/ScriptManager.cs b/Game/Scripting/ScriptManager.cs index 935fa3102..7930aa7e4 100644 --- a/Game/Scripting/ScriptManager.cs +++ b/Game/Scripting/ScriptManager.cs @@ -77,34 +77,39 @@ namespace Game.Scripting foreach (var type in asm.GetTypes()) { - var attributes = (ScriptAttribute[])type.GetCustomAttributes(true); + var attributes = (ScriptAttribute[])type.GetCustomAttributes(); if (attributes.Empty()) { var baseType = type.BaseType; while (baseType != null) { if (baseType == typeof(ScriptObject)) + { Log.outWarn(LogFilter.Server, "Script {0} does not have ScriptAttribute", type.Name); + continue; + } baseType = baseType.BaseType; } } - - var constructors = type.GetConstructors(); - if (constructors.Length == 0) + else { - Log.outError(LogFilter.Scripts, "Type: {0} contains no Public Constructors. Can't load script.", type.Name); - break; - } - - foreach (var attribute in attributes) - { - if (!constructors.Any(p => p.GetParameters().Length == attribute.Args.Length)) + var constructors = type.GetConstructors(); + if (constructors.Length == 0) { - Log.outError(LogFilter.Scripts, "Type: {0} has ScriptAttribute that does not match paramter count: {1} Can't load script.", type.Name, attribute.Args.Length); + Log.outError(LogFilter.Scripts, "Type: {0} contains no Public Constructors. Can't load script.", type.Name); continue; } - Activator.CreateInstance(type, attribute.Args); + + foreach (var attribute in attributes) + { + if (!constructors.Any(p => p.GetParameters().Length == attribute.Args.Length)) + { + Log.outError(LogFilter.Scripts, "Type: {0} has ScriptAttribute that does not match paramter count: {1} Can't load script.", type.Name, attribute.Args.Length); + continue; + } + Activator.CreateInstance(type, attribute.Args); + } } } diff --git a/Scripts/Northrend/AzjolNerub/AzjolNerub/BossAnubarak.cs b/Scripts/Northrend/AzjolNerub/AzjolNerub/BossAnubarak.cs index c837dbd50..937627ce5 100644 --- a/Scripts/Northrend/AzjolNerub/AzjolNerub/BossAnubarak.cs +++ b/Scripts/Northrend/AzjolNerub/AzjolNerub/BossAnubarak.cs @@ -409,7 +409,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak } } - [Script] class npc_anubarak_pet_template : ScriptedAI { public npc_anubarak_pet_template(Creature creature, bool isLarge) : base(creature) diff --git a/Scripts/Spells/Items.cs b/Scripts/Spells/Items.cs index 90375b746..c8d7b5fcc 100644 --- a/Scripts/Spells/Items.cs +++ b/Scripts/Spells/Items.cs @@ -74,8 +74,8 @@ namespace Scripts.Spells.Items public const uint StrengthOfTheTaunkaHero = 71561; // +700 Strength //Defibrillate - public const uint GoblinJumperCablesFail = 8338; - public const uint GoblinJumperCablesXlFail = 23055; + public const int GoblinJumperCablesFail = 8338; + public const int GoblinJumperCablesXlFail = 23055; //Desperatedefense public const uint DesperateRage = 33898; @@ -1032,15 +1032,15 @@ namespace Scripts.Spells.Items // 8342 - Defibrillate (Goblin Jumper Cables) have 33% chance on success // 22999 - Defibrillate (Goblin Jumper Cables XL) have 50% chance on success // 54732 - Defibrillate (Gnomish Army Knife) have 67% chance on success - [Script("spell_item_goblin_jumper_cables", 33u, SpellIds.GoblinJumperCablesFail)] - [Script("spell_item_goblin_jumper_cables_xl", 50u, SpellIds.GoblinJumperCablesXlFail)] - [Script("spell_item_gnomish_army_knife", 67u)] + [Script("spell_item_goblin_jumper_cables", 33, SpellIds.GoblinJumperCablesFail)] + [Script("spell_item_goblin_jumper_cables_xl", 50, SpellIds.GoblinJumperCablesXlFail)] + [Script("spell_item_gnomish_army_knife", 67, 0)] class spell_item_defibrillate : SpellScriptLoader { - public spell_item_defibrillate(string name, uint chance, uint failSpell = 0) : base(name) + public spell_item_defibrillate(string name, int chance, int failSpell) : base(name) { - _chance = chance; - _failSpell = failSpell; + _chance = (uint)chance; + _failSpell = (uint)failSpell; } class spell_item_defibrillate_SpellScript : SpellScript