Misc fixes

This commit is contained in:
hondacrx
2022-05-24 13:20:05 -04:00
parent 3c8c31ecd7
commit c3e8791aac
8 changed files with 18 additions and 143 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ namespace Framework.Constants
/// <summary>
/// Loot Const
/// </summary>
public const int MaxNRLootItems = 16;
public const int MaxNRLootItems = 18;
public const int MaxNRQuestItems = 32;
public const int PlayerCorpseLootEntry = 1;
+2 -2
View File
@@ -1403,8 +1403,8 @@ namespace Game.AI
break;
// Set the timer to 1 ms so the path will be resumed on next update loop
if (((SmartAI)_me.GetAI()).CanResumePath())
((SmartAI)_me.GetAI()).SetWPPauseTimer(1);
if (_me.GetAI<SmartAI>().CanResumePath())
_me.GetAI<SmartAI>().SetWPPauseTimer(1);
break;
}
case SmartActions.SetOrientation:
+1 -1
View File
@@ -105,7 +105,7 @@ namespace Game.Chat
player.GetPosition(out x, out y, out z);
handler.SendSysMessage("{0:D4}{1:D2}{2:D2}.mmtile", player.GetMapId(), gy, gx);
handler.SendSysMessage("gridloc [{0}, {1}]", gx, gy);
handler.SendSysMessage("tileloc [{0}, {1}]", gx, gy);
// calculate navmesh tile location
uint terrainMapId = PhasingHandler.GetTerrainMapId(player.GetPhaseShift(), player.GetMap(), x, y);
+1 -1
View File
@@ -187,7 +187,7 @@ namespace Game.Chat
return true;
}
[CommandNonGroup("additemset", RBACPermissions.CommandAdditemset)]
[CommandNonGroup("additem set", RBACPermissions.CommandAdditemset)]
static bool HandleAddItemSetCommand(CommandHandler handler, StringArguments args)
{
if (args.Empty())
+8
View File
@@ -4328,6 +4328,14 @@ namespace Game.Entities
spellInfo.NegativeEffects[2] = true;
});
// Headless Horseman Climax - Return Head (Hallow End)
// Headless Horseman Climax - Body Regen (confuse only - removed on death)
// Headless Horseman Climax - Head Is Dead
ApplySpellFix(new[] { 42401, 43105, 42428 }, spellInfo =>
{
spellInfo.Attributes |= SpellAttr0.UnaffectedByInvulnerability;
});
foreach (var spellInfo in mSpellInfoMap.Values)
{
// Fix range for trajectory triggered spell
+5 -12
View File
@@ -46,7 +46,6 @@ namespace Scripts.Spells.Quest
//Quest11587
public const uint SummonArcanePrisonerMale = 45446; // Summon Arcane Prisoner - Male
public const uint SummonArcanePrisonerFemale = 45448; // Summon Arcane Prisoner - Female
public const uint ArcanePrisonerKillCredit = 45456; // Arcane Prisoner Kill Credit
//Quest11730
public const uint SummonScavengebot004a8 = 46063;
@@ -554,22 +553,16 @@ namespace Scripts.Spells.Quest
{
public override bool Validate(SpellInfo spellEntry)
{
return ValidateSpellInfo(SpellIds.SummonArcanePrisonerMale, SpellIds.SummonArcanePrisonerFemale, SpellIds.ArcanePrisonerKillCredit);
return ValidateSpellInfo(SpellIds.SummonArcanePrisonerMale, SpellIds.SummonArcanePrisonerFemale);
}
void HandleDummy(uint effIndex)
{
Unit caster = GetCaster();
Unit unitTarget = GetHitUnit();
if (unitTarget)
{
uint spellId = SpellIds.SummonArcanePrisonerMale;
if (Convert.ToBoolean(RandomHelper.Rand32() % 2))
spellId = SpellIds.SummonArcanePrisonerFemale;
caster.CastSpell(caster, spellId, true);
unitTarget.CastSpell(caster, SpellIds.ArcanePrisonerKillCredit, true);
}
uint spellId = SpellIds.SummonArcanePrisonerMale;
if ((RandomHelper.Rand32() % 2) != 0)
spellId = SpellIds.SummonArcanePrisonerFemale;
caster.CastSpell(caster, spellId, true);
}
public override void Register()
-86
View File
@@ -56,9 +56,6 @@ namespace Scripts.World.GameObjects
public const uint RedPunchCard = 11528;
public const uint PrismaticPunchCard = 11545;
//Arcaneprison
public const uint ArcanePrisonerKillCredit = 45456;
//Jotunheimcage
public const uint SummonBladeKnightH = 56207;
public const uint SummonBladeKnightNe = 56209;
@@ -111,9 +108,6 @@ namespace Scripts.World.GameObjects
//Southfury
public const uint Rizzle = 23002;
//Scourgecage
public const uint ScourgePrisoner = 25610;
//Bloodfilledorb
public const uint Zelemar = 17830;
@@ -129,9 +123,6 @@ namespace Scripts.World.GameObjects
//Amberpineouthouse
public const uint OuthouseBunny = 27326;
//Hives
public const uint HiveAmbusher = 13301;
//Missingfriends
public const uint CaptiveChild = 22314;
@@ -173,21 +164,12 @@ namespace Scripts.World.GameObjects
public const uint LearnLeaveReturn = 12790;
public const uint TeleCrystalFlag = 12845;
//Arcaneprison
public const uint PrisonBreak = 11587;
//Tabletheka
public const uint SpiderGold = 2936;
//Tadpoles
public const uint OhNoesTheTadpoles = 11560;
//Amberpineouthouse
public const uint DoingYourDuty = 12227;
//Hives
public const uint HiveInTheTower = 9544;
//Missingfriends
public const uint MissingFriends = 10852;
@@ -221,9 +203,6 @@ namespace Scripts.World.GameObjects
public const string GossipBashirCrystalforgeItem5 = "Purchase 5 Unstable Flask Of The Sorcerer For The Cost Of 50 Apexis Shards";
public const string GossipBashirCrystalforgeItemReturn = "Use The Bashir Crystalforge To Make Another Purchase.";
//Tabletheka
public const uint GossipTableTheka = 1653;
//Amberpineouthouse
public const uint GossipOuthouseInuse = 12775;
public const uint GossipOuthouseVacant = 12779;
@@ -515,42 +494,6 @@ namespace Scripts.World.GameObjects
}
}
[Script]
class go_scourge_cage : GameObjectAI
{
public go_scourge_cage(GameObject go) : base(go) { }
public override bool OnGossipHello(Player player)
{
me.UseDoorOrButton();
Creature pNearestPrisoner = me.FindNearestCreature(CreatureIds.ScourgePrisoner, 5.0f, true);
if (pNearestPrisoner)
{
player.KilledMonsterCredit(CreatureIds.ScourgePrisoner, pNearestPrisoner.GetGUID());
pNearestPrisoner.DisappearAndDie();
}
return true;
}
}
[Script]
class go_arcane_prison : GameObjectAI
{
public go_arcane_prison(GameObject go) : base(go) { }
public override bool OnGossipHello(Player player)
{
if (player.GetQuestStatus(QuestIds.PrisonBreak) == QuestStatus.Incomplete)
{
me.SummonCreature(25318, 3485.089844f, 6115.7422188f, 70.966812f, 0, TempSummonType.TimedDespawn, TimeSpan.FromMinutes(1));
player.CastSpell(player, SpellIds.ArcanePrisonerKillCredit, true);
return true;
}
return false;
}
}
[Script]
class go_blood_filled_orb : GameObjectAI
{
@@ -565,21 +508,6 @@ namespace Scripts.World.GameObjects
}
}
[Script]
class go_table_theka : GameObjectAI
{
public go_table_theka(GameObject go) : base(go) { }
public override bool OnGossipHello(Player player)
{
if (player.GetQuestStatus(QuestIds.SpiderGold) == QuestStatus.Incomplete)
player.AreaExploredOrEventHappens(QuestIds.SpiderGold);
player.SendGossipMenu(GossipConst.GossipTableTheka, me.GetGUID());
return true;
}
}
[Script]
class go_soulwell : GameObjectAI
{
@@ -640,20 +568,6 @@ namespace Scripts.World.GameObjects
}
}
[Script]
class go_hive_pod : GameObjectAI
{
public go_hive_pod(GameObject go) : base(go) { }
public override bool OnGossipHello(Player player)
{
player.SendLoot(me.GetGUID(), LootType.Corpse);
me.SummonCreature(CreatureIds.HiveAmbusher, me.GetPositionX() + 1, me.GetPositionY(), me.GetPositionZ(), me.GetAbsoluteAngle(player), TempSummonType.TimedOrDeadDespawn, TimeSpan.FromMinutes(1));
me.SummonCreature(CreatureIds.HiveAmbusher, me.GetPositionX(), me.GetPositionY() + 1, me.GetPositionZ(), me.GetAbsoluteAngle(player), TempSummonType.TimedOrDeadDespawn, TimeSpan.FromMinutes(1));
return true;
}
}
[Script]
class go_massive_seaforium_charge : GameObjectAI
{
-40
View File
@@ -166,9 +166,6 @@ namespace Scripts.World.NpcSpecial
//Guardianspells
public const uint Deathtouch = 5;
//Tonkmine
public const uint TonkMineDetonate = 25099;
//Brewfestreveler
public const uint BrewfestToast = 41586;
@@ -1300,43 +1297,6 @@ namespace Scripts.World.NpcSpecial
}
}
[Script]
class npc_tonk_mine : ScriptedAI
{
public npc_tonk_mine(Creature creature) : base(creature)
{
Initialize();
me.SetReactState(ReactStates.Passive);
}
void Initialize()
{
ExplosionTimer = 3000;
}
uint ExplosionTimer;
public override void Reset()
{
Initialize();
}
public override void JustEngagedWith(Unit who) { }
public override void AttackStart(Unit who) { }
public override void MoveInLineOfSight(Unit who) { }
public override void UpdateAI(uint diff)
{
if (ExplosionTimer <= diff)
{
DoCast(me, SpellIds.TonkMineDetonate, new CastSpellExtraArgs(true));
me.SetDeathState(DeathState.Dead); // unsummon it
}
else
ExplosionTimer -= diff;
}
}
[Script]
class npc_brewfest_reveler : ScriptedAI
{