diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 801af5331..62f51bf48 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -2005,6 +2005,18 @@ namespace Game.Entities player.SetStandState((UnitStandStateType.SitLowChair + (byte)info.BarberChair.chairheight), info.BarberChair.SitAnimKit); return; } + case GameObjectTypes.NewFlag: + { + GameObjectTemplate info = GetGoInfo(); + if (info == null) + return; + + if (!user.IsPlayer()) + return; + + spellId = info.NewFlag.pickupSpell; + break; + } case GameObjectTypes.ItemForge: { GameObjectTemplate info = GetGoInfo(); diff --git a/Source/Game/Spells/SpellEffects.cs b/Source/Game/Spells/SpellEffects.cs index ca2cf732c..b80631492 100644 --- a/Source/Game/Spells/SpellEffects.cs +++ b/Source/Game/Spells/SpellEffects.cs @@ -1343,6 +1343,11 @@ namespace Game.Spells return; } } + else if (goInfo.type == GameObjectTypes.NewFlag) + { + gameObjTarget.Use(player); + return; + } else if (m_spellInfo.Id == 1842 && gameObjTarget.GetGoInfo().type == GameObjectTypes.Trap && gameObjTarget.GetOwner() != null) { gameObjTarget.SetLootState(LootState.JustDeactivated);