Core/Spells: Implemented personal summons

This commit is contained in:
hondacrx
2018-04-08 18:50:05 -04:00
parent 7c8f9d5d15
commit c69c715cc0
10 changed files with 81 additions and 18 deletions
+4 -4
View File
@@ -3294,7 +3294,7 @@ namespace Game.Maps
}
}
public TempSummon SummonCreature(uint entry, Position pos, SummonPropertiesRecord properties = null, uint duration = 0, Unit summoner = null, uint spellId = 0, uint vehId = 0)
public TempSummon SummonCreature(uint entry, Position pos, SummonPropertiesRecord properties = null, uint duration = 0, Unit summoner = null, uint spellId = 0, uint vehId = 0, bool visibleBySummonerOnly = false)
{
var mask = UnitTypeMask.Summon;
if (properties != null)
@@ -3333,7 +3333,7 @@ namespace Game.Maps
mask = UnitTypeMask.Minion;
break;
default:
if (Convert.ToBoolean(properties.Flags & 512)) // Mirror Image, Summon Gargoyle
if (Convert.ToBoolean(properties.Flags & SummonPropFlags.Unk10)) // Mirror Image, Summon Gargoyle
mask = UnitTypeMask.Guardian;
break;
}
@@ -3374,10 +3374,10 @@ namespace Game.Maps
PhasingHandler.InheritPhaseShift(summon, summoner);
summon.SetUInt32Value(UnitFields.CreatedBySpell, spellId);
summon.SetHomePosition(pos);
summon.InitStats(duration);
summon.SetVisibleBySummonerOnly(visibleBySummonerOnly);
AddToMap(summon.ToCreature());
summon.InitSummon();