From a880cd83274d539d1ac21ac23b9d0ff2f8498a6d Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 26 May 2022 16:39:48 -0400 Subject: [PATCH] Scripts/Spells: Add script for Salvage Wreckage & update similar scripts Port From (https://github.com/TrinityCore/TrinityCore/commit/2583aee17aa73f182d6867d504c2720a94deb6dc) --- Source/Scripts/Spells/Quest.cs | 73 ++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 29 deletions(-) diff --git a/Source/Scripts/Spells/Quest.cs b/Source/Scripts/Spells/Quest.cs index f7ec4c820..956eafb62 100644 --- a/Source/Scripts/Spells/Quest.cs +++ b/Source/Scripts/Spells/Quest.cs @@ -94,10 +94,10 @@ namespace Scripts.Spells.Quest public const uint SummonNorthSeaBlueShark = 66740; //Redsnapperverytasty - public const uint CastNet = 29866; + public const uint FishedUpRedSnapper = 29867; public const uint FishedUpMurloc = 29869; - //Pounddrumspells + //BreakfastOfChampions public const uint SummonDeepJormungar = 66510; public const uint StormforgedMoleMachine = 66492; @@ -121,6 +121,10 @@ namespace Scripts.Spells.Quest public const uint ChooseLoc = 40056; public const uint AggroCheck = 40112; + //RecoverTheCargo + public const uint SummonLockbox = 42288; + public const uint SummonBurrower = 42289; + //Spellzuldrakrat public const uint SummonGorgedLurkingBasilisk = 50928; @@ -297,9 +301,6 @@ namespace Scripts.Spells.Quest public const byte Say1 = 1; public const byte Say2 = 2; - //RedSnapperVeryTasty - public const uint ItemIdRedSnapper = 23614; - //Acleansingsong public const uint AreaIdBittertidelake = 4385; public const uint AreaIdRiversheart = 4290; @@ -1016,42 +1017,38 @@ namespace Scripts.Spells.Quest } } - // http://old01.wowhead.com/quest=9452 - Red Snapper - Very Tasty! - [Script] + [Script] // 29866 - Cast Fishing Net class spell_q9452_cast_net : SpellScript { - public override bool Load() + public override bool Validate(SpellInfo spell) { - return GetCaster().IsTypeId(TypeId.Player); + return ValidateSpellInfo(SpellIds.FishedUpRedSnapper, SpellIds.FishedUpMurloc); } void HandleDummy(uint effIndex) { - Player caster = GetCaster().ToPlayer(); - if (RandomHelper.randChance(66)) - caster.AddItem(Misc.ItemIdRedSnapper, 1); - else - caster.CastSpell(caster, SpellIds.FishedUpMurloc, true); - } + Unit caster = GetCaster(); - void HandleActiveObject(uint effIndex) - { - PreventHitDefaultEffect(effIndex); - GetHitGObj().SetRespawnTime(RandomHelper.randChance(50) ? 2 * Time.Minute : 3 * Time.Minute); - GetHitGObj().Use(GetCaster()); - GetHitGObj().SetLootState(LootState.JustDeactivated); + if (RandomHelper.randChance(66)) + caster.CastSpell(caster, SpellIds.FishedUpRedSnapper, true); + else + caster.CastSpell(null, SpellIds.FishedUpMurloc, true); } public override void Register() { OnEffectHit.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy)); - OnEffectHitTarget.Add(new EffectHandler(HandleActiveObject, 1, SpellEffectName.ActivateObject)); } } - [Script] + [Script] // 66512 - Pound Drum class spell_q14076_14092_pound_drum : SpellScript { + public override bool Validate(SpellInfo spell) + { + return ValidateSpellInfo(SpellIds.SummonDeepJormungar, SpellIds.StormforgedMoleMachine); + } + void HandleSummon() { Unit caster = GetCaster(); @@ -1062,15 +1059,9 @@ namespace Scripts.Spells.Quest caster.CastSpell(caster, SpellIds.StormforgedMoleMachine, true); } - void HandleActiveObject(uint effIndex) - { - GetHitGObj().SetLootState(LootState.JustDeactivated); - } - public override void Register() { OnCast.Add(new CastHandler(HandleSummon)); - OnEffectHitTarget.Add(new EffectHandler(HandleActiveObject, 0, SpellEffectName.ActivateObject)); } } @@ -1362,6 +1353,30 @@ namespace Scripts.Spells.Quest } } + [Script] // 42287 - Salvage Wreckage + class spell_q11140salvage_wreckage : SpellScript + { + public override bool Validate(SpellInfo spell) + { + return ValidateSpellInfo(SpellIds.SummonLockbox, SpellIds.SummonBurrower); + } + + void HandleDummy(uint effIndex) + { + Unit caster = GetCaster(); + + if (RandomHelper.randChance(50)) + caster.CastSpell(caster, SpellIds.SummonLockbox, true); + else + caster.CastSpell(null, SpellIds.SummonBurrower, true); + } + + public override void Register() + { + OnEffectHit.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy)); + } + } + [Script] class spell_q12527_zuldrak_rat : SpellScript {