public static void WriteGOEntryId() { GOMgr.LoadAll(); WriteEnum("GOEntryId", "GameObjects", GOMgr.Entries, false, (entry) => { return(true); }, (entry) => { return(entry.Name.Trim().Length > 0 ? entry.Name.Trim() : "Unknown"); }, (entry) => { var strs = new List <string>(); strs.Add("Type: " + entry.Type + (entry.IsConsumable ? " (Consumable)" : "")); if (entry.LinkedTrap != null) { strs.Add("Trap: " + entry.LinkedTrap); } if (entry.Lock != null) { strs.Add("Lock: " + entry.Lock); } //if (entry.Templates != null && entry.Templates.Count > 0) //{ // strs.Add("Templates: " + entry.Templates.ToString("; ")); //} return(strs.ToString("\n")); }, (entry, name) => null, (entry) => { return(entry.Id.ToString()); }); }
public static void InitGOs() { var rethilgoreDoorEntry = GOMgr.GetEntry(GOEntryId.CourtyardDoor); // rethilgore door if (rethilgoreDoorEntry != null) { rethilgoreDoorEntry.Activated += go => { var instance = go.Map as ShadowfangKeep; if (instance != null && instance.rethilgoreDoor == null) { // set the instance's Door object after the Door spawned instance.rethilgoreDoor = go; } }; } var fenrusDoorEntry = GOMgr.GetEntry(GOEntryId.SorcerersGate); // fenrus door if (fenrusDoorEntry != null) { fenrusDoorEntry.Activated += go => { var instance = go.Map as ShadowfangKeep; if (instance != null && instance.fenrusDoor == null) { // set the instance's Door object after the Door spawned instance.fenrusDoor = go; } }; } }
public static void FixDeathComesGOs() { var entry = GOMgr.GetEntry(GOEntryId.EyeOfAcherusControlMechanism); entry.Used += ControlMechanismUsed; entry = GOMgr.GetEntry(GOEntryId.AbandonedMail); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.SaroniteArrow); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_269); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_350); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_351); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_352); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_353); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_354); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_359); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_361); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_363); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_364); entry.Activated += NewAvalonSpawnsActivated; entry = GOMgr.GetEntry(GOEntryId.Unknown_365); entry.Activated += NewAvalonSpawnsActivated; }
/// <summary> /// spawns all of our GOs, including {buffs} and doors. /// </summary> protected override void SpawnGOs() { base.SpawnGOs(); GOEntry allianceDoorEntry1 = GOMgr.GetEntry(GOEntryId.Doodad_PortcullisActive04); GOEntry allianceDoorEntry2 = GOMgr.GetEntry(GOEntryId.Doodad_PortcullisActive02_2); GOEntry allianceDoorEntry3 = GOMgr.GetEntry(GOEntryId.Doodad_PortcullisActive01_2); GOEntry hordeDoor1 = GOMgr.GetEntry(GOEntryId.Doodad_RazorfenDoor01); GOEntry hordeDoor2 = GOMgr.GetEntry(GOEntryId.Doodad_RazorfenDoor02); _allianceDoor1 = allianceDoorEntry1.FirstSpawnEntry.Spawn(this); _allianceDoor2 = allianceDoorEntry2.FirstSpawnEntry.Spawn(this); _allianceDoor3 = allianceDoorEntry3.FirstSpawnEntry.Spawn(this); _hordeDoor1 = hordeDoor1.FirstSpawnEntry.Spawn(this); _hordeDoor2 = hordeDoor2.FirstSpawnEntry.Spawn(this); // adjust anim progress so the door appears upright right off the bat _allianceDoor1.AnimationProgress = 255; _allianceDoor2.AnimationProgress = 255; _allianceDoor3.AnimationProgress = 255; _hordeDoor1.AnimationProgress = 255; _hordeDoor2.AnimationProgress = 255; RegisterPowerupEvents(); }
public static void FixGOs() { var entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_2); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_3); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_4); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_5); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_6); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_7); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_8); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_9); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_10); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_11); entry.Used += SoulPrisonUsed; entry = GOMgr.GetEntry(GOEntryId.AcherusSoulPrison_12); entry.Used += SoulPrisonUsed; }
public static void RegisterEvents() { var standEntry = GOMgr.GetEntry(SilverwingFlagStandId) as GOFlagStandEntry; standEntry.Side = BattlegroundSide.Alliance; var droppedEntry = GOMgr.GetEntry(SilverwingFlagId) as GOFlagDropEntry; droppedEntry.Side = BattlegroundSide.Alliance; standEntry = GOMgr.GetEntry(WarsongClanFlagStandId) as GOFlagStandEntry; standEntry.Side = BattlegroundSide.Horde; droppedEntry = GOMgr.GetEntry(WarsongFlagId) as GOFlagDropEntry; droppedEntry.Side = BattlegroundSide.Horde; // register AreaTrigger capture events AreaTrigger hordeFlagAT = AreaTriggerMgr.GetTrigger(AreaTriggerId.WarsongGulchHordeFlagSpawn); AreaTrigger allianceFlagAT = AreaTriggerMgr.GetTrigger(AreaTriggerId.WarsongGulchAllianceFlagSpawn); hordeFlagAT.Triggered += HordeCaptureTriggered; allianceFlagAT.Triggered += AllianceCaptureTriggered; GOMgr.GetEntry(WarsongClanFlagStandId).Used += HandleFlagStandUsed; GOMgr.GetEntry(SilverwingFlagStandId).Used += HandleFlagStandUsed; GOMgr.GetEntry(WarsongFlagId).Used += HandleDroppedFlagUsed; GOMgr.GetEntry(SilverwingFlagId).Used += HandleDroppedFlagUsed; }
private static void OnLoadClicked(GossipConversation convo) { GOMgr.LoadAllLater(); NPCMgr.LoadAllLater(); convo.Character.SendSystemMessage(RealmLangKey.PleaseWait); convo.Character.AddUpdateAction(new PeriodicLoadMapTimer(convo)); }
private static void OnLoadClicked(GossipConversation convo) { GOMgr.LoadAllLater(); NPCMgr.LoadAllLater(); convo.Character.SendSystemMessage(RealmLangKey.PleaseWait, new object[0]); convo.Character.AddUpdateAction((ObjectUpdateTimer) new MapEditorMenu.PeriodicLoadMapTimer(convo)); }
protected override void SpawnGOs() { base.SpawnGOs(); GOEntry allianceDoorEntry = GOMgr.GetEntry(GOEntryId.ALLIANCEDOOR); GOEntry hordeDoorEntry = GOMgr.GetEntry(GOEntryId.HORDEDOOR); _allianceDoor = allianceDoorEntry.FirstSpawnEntry.Spawn(this); _hordeDoor = hordeDoorEntry.FirstSpawnEntry.Spawn(this); }
public static void InitGOs() { scourgeTransporter = GOMgr.GetEntry(GOEntryId.ScourgeTransporter_3); scourgeTransporter.DefaultGossip = new GossipMenu(1, new MultiStringGossipMenuItem(DefaultAddonLocalizer.Instance.GetTranslations(AddonMsgKey.NPCTiare), convo => convo.Speaker.SpellCast.Trigger(SpellId.UpperSpireTeleport, convo.Character)) ); iceWall = GOMgr.GetEntry(GOEntryId.IceWall_2); }
/// <summary> /// Creates a new GameObject with the given parameters /// </summary> public static GameObject Create(GOEntryId id, Map map, GOSpawnEntry spawnEntry = null, GOSpawnPoint spawnPoint = null) { var entry = GOMgr.GetEntry(id); if (entry != null) { return(Create(entry, map, spawnEntry, spawnPoint)); } return(null); }
/// <summary> /// Creates the given kind of GameObject with the default Template /// </summary> public static GameObject Create(GOEntryId id, IWorldLocation location, GOSpawnEntry spawnEntry = null, GOSpawnPoint spawnPoint = null) { var entry = GOMgr.GetEntry(id); if (entry == null) { return(null); } return(Create(entry, location, spawnEntry, spawnPoint)); }
public override void Process(CmdTrigger <RealmServerCmdArgs> trigger) { var mod = trigger.Text.NextModifiers(); var id = trigger.Text.NextEnum(GOEntryId.End); var entry = GOMgr.GetEntry(id, false); var target = trigger.Args.Target; var map = target != null ? target.Map : World.Kalimdor; if (mod == "c") { // spawn closest GOSpawnEntry closest; if (entry != null) { // Entry specified closest = entry.SpawnEntries.GetClosestEntry(target); } else { // no entry, just spawn any nearby Template var templates = GOMgr.GetSpawnPoolTemplatesByMap(map.Id); closest = templates == null ? null : templates.GetClosestEntry(target); } if (closest == null) { trigger.Reply("No valid SpawnEntries found (Entry: {0})", entry); } else { closest.Spawn(map); trigger.Reply("Spawned: " + closest.Entry); if (target != null) { target.TeleportTo(map, closest.Position); } } } else { if (entry != null) { // spawn a new GO var go = entry.Spawn(trigger.Args.Target, trigger.Args.Target); trigger.Reply("Successfully spawned new GO: {0}.", go.Name); } else { trigger.Reply("Invalid GO."); } } }
/// <summary> /// Creates a normal-looking portal to represent a node in the network /// </summary> public static WorldObject CreateDefaultPortal(TeleportNode node, Map map, Vector3 pos) { var teleportMenu = WorldLocationMgr.CreateTeleMenu(node.Destinations); var portalEntry = GOMgr.GetEntry(DefaultPortalGOid); var go = portalEntry.Spawn(map, pos); go.State = GameObjectState.Enabled; go.ScaleX = 1.5f; go.GossipMenu = teleportMenu; return(go); }
public static void RegisterEvents() { var consoleEntry = GOMgr.GetEntry(TonkControlConsoleGOEntryId); if (consoleEntry == null) { return; } consoleEntry.Used += TonkConsoleUsed; consoleEntry.Activated += TonkConsoleActivated; }
public static void WriteAllQuests() { Tools.StartRealm(); QuestMgr.LoadAll(); ItemMgr.LoadAll(); NPCMgr.LoadNPCDefs(); GOMgr.LoadAll(); AreaTriggerMgr.Initialize(); WriteQuests("Quests", null); }
public static void InitGOs() { _ulduarTeleport = GOMgr.GetEntry(GOEntryId.UlduarTeleporter); _ulduarTeleport.DefaultGossip = new GossipMenu(1, new MultiStringGossipMenuItem(DefaultAddonLocalizer.Instance.GetTranslations(AddonMsgKey.NPCTiare), convo => convo.Speaker.SpellCast.Trigger(SpellId.AntechamberTeleport, convo.Character)) ); __doodadUlIniverseGlobe01 = GOMgr.GetEntry(GOEntryId.Doodad_UL_UniverseGlobe01); }
private static void DeSpawnEvent(WorldEvent worldEvent) { foreach (var worldEventNPC in worldEvent.NPCSpawns) { var spawnEntry = NPCMgr.GetSpawnEntry(worldEventNPC.Guid); var map = spawnEntry.Map; //if the map is null then this saves us some work //since the map wont spawn any inactive events when //it is created if (map == null) { continue; } if (worldEventNPC.Spawn) { map.RemoveNPCSpawnPool(spawnEntry.PoolTemplate); } else { foreach (var point in spawnEntry.SpawnPoints.ToArray()) { point.Respawn(); } } } foreach (var worldEventGO in worldEvent.GOSpawns) { var spawnEntry = GOMgr.GetSpawnEntry(worldEventGO.Guid); var map = spawnEntry.Map; //if the map is null then this saves us some work //since the map wont spawn any inactive events when //it is created if (map == null) { continue; } if (worldEventGO.Spawn) { map.RemoveGOSpawnPool(spawnEntry.PoolTemplate); } else { foreach (var point in spawnEntry.SpawnPoints.ToArray()) { point.Respawn(); } } } }
/// <summary>Creates a new GameObject with the given parameters</summary> public static GameObject Create(GOEntryId id, Map map, GOSpawnEntry spawnEntry = null, GOSpawnPoint spawnPoint = null) { GOEntry entry = GOMgr.GetEntry(id, true); if (entry != null) { return(GameObject.Create(entry, map, spawnEntry, spawnPoint)); } return((GameObject)null); }
protected override void AddSpawns() { neutralBannerSpawn = GOMgr.GetEntry(GOEntryId.BlacksmithBanner_2).FirstSpawnEntry; neutralAuraSpawn = GOMgr.GetEntry(GOEntryId.NeutralBannerAura).SpawnEntries[(int)ArathiBases.Blacksmith]; allianceBannerSpawn = GOMgr.GetEntry(GOEntryId.AllianceBanner_10).SpawnEntries[(int)ArathiBases.Blacksmith]; allianceAuraSpawn = GOMgr.GetEntry(GOEntryId.AllianceBannerAura).SpawnEntries[(int)ArathiBases.Blacksmith]; hordeBannerSpawn = GOMgr.GetEntry(GOEntryId.HordeBanner_10).SpawnEntries[(int)ArathiBases.Blacksmith]; hordeAuraSpawn = GOMgr.GetEntry(GOEntryId.HordeBannerAura).SpawnEntries[(int)ArathiBases.Blacksmith]; allianceAttackBannerSpawn = GOMgr.GetEntry(GOEntryId.ContestedBanner_26).SpawnEntries[(int)ArathiBases.Blacksmith]; hordeAttackBannerSpawn = GOMgr.GetEntry(GOEntryId.ContestedBanner_25).SpawnEntries[(int)ArathiBases.Blacksmith]; }
public static void FixGOs() { GOEntry allianceDoorEntry = GOMgr.GetEntry(GOEntryId.ALLIANCEDOOR); GOEntry hordeDoorEntry = GOMgr.GetEntry(GOEntryId.HORDEDOOR); allianceDoorEntry.FirstSpawnEntry.State = GameObjectState.Enabled; allianceDoorEntry.Flags |= GameObjectFlags.DoesNotDespawn | GameObjectFlags.InUse; allianceDoorEntry.FirstSpawnEntry.AutoSpawns = false; hordeDoorEntry.FirstSpawnEntry.State = GameObjectState.Enabled; hordeDoorEntry.Flags |= GameObjectFlags.DoesNotDespawn | GameObjectFlags.InUse; hordeDoorEntry.FirstSpawnEntry.AutoSpawns = false; GOEntry bersekerBuffEntry = GOMgr.GetEntry(GOEntryId.BerserkBuff_6); GOEntry foodBuffEntry = GOMgr.GetEntry(GOEntryId.FoodBuff_5); GOEntry speedBuffEntry = GOMgr.GetEntry(GOEntryId.SpeedBuff_3); GOEntry allianceAttackFlagEntry = GOMgr.GetEntry(GOEntryId.ContestedBanner_26); GOEntry hordeControlledFlagEntry = GOMgr.GetEntry(GOEntryId.HordeBanner_10); GOEntry hordeAttackFlagEntry = GOMgr.GetEntry(GOEntryId.ContestedBanner_25); GOEntry allianceControlledFlagEntry = GOMgr.GetEntry(GOEntryId.AllianceBanner_10); GOEntry farmBannerEntry = GOMgr.GetEntry(GOEntryId.FarmBanner_2); GOEntry mineBannerEntry = GOMgr.GetEntry(GOEntryId.MineBanner_2); GOEntry lumbermillBannerEntry = GOMgr.GetEntry(GOEntryId.LumberMillBanner_2); GOEntry stablesBannerEntry = GOMgr.GetEntry(GOEntryId.StableBanner_2); GOEntry blacksmithBannerEntry = GOMgr.GetEntry(GOEntryId.BlacksmithBanner_2); GOEntry neutralBannerAuraEntry = GOMgr.GetEntry(GOEntryId.NeutralBannerAura); GOEntry hordeBannerAuraEntry = GOMgr.GetEntry(GOEntryId.HordeBannerAura); GOEntry allianceBannerAuraEntry = GOMgr.GetEntry(GOEntryId.AllianceBannerAura); farmBannerEntry.FirstSpawnEntry.AutoSpawns = false; mineBannerEntry.FirstSpawnEntry.AutoSpawns = false; lumbermillBannerEntry.FirstSpawnEntry.AutoSpawns = false; stablesBannerEntry.FirstSpawnEntry.AutoSpawns = false; blacksmithBannerEntry.FirstSpawnEntry.AutoSpawns = false; allianceAttackFlagEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); allianceControlledFlagEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); hordeAttackFlagEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); hordeControlledFlagEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); neutralBannerAuraEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); hordeBannerAuraEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); allianceBannerAuraEntry.SpawnEntries.ForEach(spawn => spawn.AutoSpawns = false); }
public override void Process(CmdTrigger <RealmServerCmdArgs> trigger) { string str = trigger.Text.NextModifiers(); GOEntry entry = GOMgr.GetEntry(trigger.Text.NextEnum(GOEntryId.End), false); Unit target = trigger.Args.Target; Map map = target != null ? target.Map : World.Kalimdor; if (str == "c") { GOSpawnEntry goSpawnEntry; if (entry != null) { goSpawnEntry = entry.SpawnEntries.GetClosestEntry(target); } else { List <GOSpawnPoolTemplate> poolTemplatesByMap = GOMgr.GetSpawnPoolTemplatesByMap(map.Id); goSpawnEntry = poolTemplatesByMap == null ? null : poolTemplatesByMap.GetClosestEntry(target); } if (goSpawnEntry == null) { trigger.Reply("No valid SpawnEntries found (Entry: {0})", (object)entry); } else { goSpawnEntry.Spawn(map); trigger.Reply("Spawned: " + goSpawnEntry.Entry); if (target == null) { return; } target.TeleportTo(map, goSpawnEntry.Position); } } else if (entry != null) { GameObject gameObject = entry.Spawn(trigger.Args.Target, trigger.Args.Target); trigger.Reply("Successfully spawned new GO: {0}.", (object)gameObject.Name); } else { trigger.Reply("Invalid GO."); } }
public static void InitGOs() { var cathedralDoorEntry = GOMgr.GetEntry(GOEntryId.HighInquisitorsDoor); if (cathedralDoorEntry != null) { cathedralDoorEntry.Activated += go => { var instance = go.Map as ScarletMonastery; if (instance != null && instance.cathedralDoor == null) { // set the instance's Door object after the Door spawned instance.cathedralDoor = go; } }; } }
private static void DeSpawnEvent(WorldEvent worldEvent) { foreach (WorldEventNPC npcSpawn in worldEvent.NPCSpawns) { NPCSpawnEntry spawnEntry = NPCMgr.GetSpawnEntry(npcSpawn.Guid); Map map = spawnEntry.Map; if (map != null) { if (npcSpawn.Spawn) { map.RemoveNPCSpawnPool(spawnEntry.PoolTemplate); } else { foreach (SpawnPoint <NPCSpawnPoolTemplate, NPCSpawnEntry, NPC, NPCSpawnPoint, NPCSpawnPool> spawnPoint in spawnEntry.SpawnPoints.ToArray()) { spawnPoint.Respawn(); } } } } foreach (WorldEventGameObject goSpawn in worldEvent.GOSpawns) { GOSpawnEntry spawnEntry = GOMgr.GetSpawnEntry(goSpawn.Guid); Map map = spawnEntry.Map; if (map != null) { if (goSpawn.Spawn) { map.RemoveGOSpawnPool(spawnEntry.PoolTemplate); } else { foreach (SpawnPoint <GOSpawnPoolTemplate, GOSpawnEntry, GameObject, GOSpawnPoint, GOSpawnPool> spawnPoint in spawnEntry.SpawnPoints.ToArray()) { spawnPoint.Respawn(); } } } } }
#pragma warning restore 0649 #endregion protected WSGFaction(WarsongGulch instance, SpellId flagSpell, SpellId flagDropSpell, SpellId flagDropDebuff, SpellId flagCarrierDebuffSpellId, GOEntryId flagStand, GOEntryId flagDropId) { Instance = instance; _flagSpell = SpellHandler.Get(flagSpell); _flagDropSpell = SpellHandler.Get(flagDropSpell); _flagDropDebuff = SpellHandler.Get(flagDropDebuff); _flagCarrierDebuffSpell = SpellHandler.Get(flagCarrierDebuffSpellId); FlagStandEntry = GOMgr.GetEntry(flagStand); DroppedFlagEntry = GOMgr.GetEntry(flagDropId); _flagRespawnTime = WarsongGulch.FlagRespawnTimeMillis; Score = 0; }
public static void RegisterEvents() { var blastenheimer5000Elwynn = GOMgr.GetEntry(Blastenheimer5000ElwynnId) as GOGooberEntry; var blastenheimer5000Terokkar = GOMgr.GetEntry(Blastenheimer5000TerokkarId) as GOGooberEntry; var blastenheimer5000Mulgore = GOMgr.GetEntry(Blastenheimer5000MulgoreId) as GOGooberEntry; if (blastenheimer5000Elwynn != null) { blastenheimer5000Elwynn.Used += Blastenheimer5000Used; } if (blastenheimer5000Terokkar != null) { blastenheimer5000Terokkar.Used += Blastenheimer5000Used; } if (blastenheimer5000Mulgore != null) { blastenheimer5000Mulgore.Used += Blastenheimer5000Used; } }
public override void Process(CmdTrigger <RealmServerCmdArgs> trigger) { if (GOMgr.Loaded) { trigger.Reply("GO definitions have already been loaded."); } else { ServerApp <WCell.RealmServer.RealmServer> .IOQueue.AddMessage((Action)(() => { trigger.Reply("Loading GOs..."); GOMgr.LoadAll(); if (Map.AutoSpawnMaps) { MapCommand.MapSpawnCommand.SpawnAllMaps(trigger); } trigger.Reply("Done."); })); } }
/// <summary>Finalize this GOSpawnEntry</summary> /// <param name="addToPool">If set to false, will not try to add it to any pool (recommended for custom GOSpawnEntry that share a pool)</param> public override void FinalizeDataHolder(bool addToPool) { if (Entry == null) { Entry = GOMgr.GetEntry(EntryId, false); if (Entry == null) { ContentMgr.OnInvalidDBData("{0} had an invalid EntryId.", (object)this); return; } } if (Scale == 0.0) { Scale = 1f; } if (EntryId == GOEntryId.Loot) { EntryId = (GOEntryId)EntryIdRaw; } else { EntryIdRaw = (uint)EntryId; } if (Rotations == null) { Rotations = new float[4]; } base.FinalizeDataHolder(addToPool); if (MapId == MapId.End || MapId == MapId.None) { return; } Entry.SpawnEntries.Add(this); ArrayUtil.Set(ref GOMgr.SpawnEntries, SpawnId, this); if (!addToPool) { return; } AddToPoolTemplate(); }
/* * /// <summary> * /// Converts the log-file in the given file (within the <c>LogFolder</c>) * /// to a human-readable file within the <c>LogOutputFolder</c>. * /// </summary> * /// <param name="filename">The name of the file within the LogFolder to be converter</param> * /// <param name="converter">The Converter-method, either <c>KSnifferLogConverter.ConvertLog</c> or <c>SniffzitLogConverter.ConvertLog</c></param> * public static void ConvertLog(string filename, Action<string, string> converter) * { * Directory.CreateDirectory(ToolConfig.LogFolder); * Directory.CreateDirectory(ToolConfig.LogOutputFolder); * * var inputFile = Path.Combine(ToolConfig.LogFolder, filename); * Console.WriteLine("Converting log-file: " + new FileInfo(inputFile).FullName); * * DebugUtil.Init(); * * var outFile = Path.Combine(ToolConfig.LogOutputFolder, filename); * if (!outFile.EndsWith(".txt")) * { * outFile += ".txt"; * } * converter(inputFile, outFile); * } * * [Tool] * public static void ConvertKSnifferLogSingleLine(string filename) * { * Directory.CreateDirectory(ToolConfig.LogFolder); * Directory.CreateDirectory(ToolConfig.LogOutputFolder); * * var inputFile = Path.Combine(ToolConfig.LogFolder, filename); * Console.Write("Converting log-file: " + new FileInfo(inputFile).FullName + " ..."); * * DebugUtil.Init(); * * var outFile = Path.Combine(ToolConfig.LogOutputFolder, filename); * if (!outFile.EndsWith(".txt")) * { * outFile += ".txt"; * } * * KSnifferLogConverter.ConvertLog(inputFile, outFile, true); * Console.WriteLine("Done. - Output has been written to: " + new FileInfo(outFile).FullName); * //Console.WriteLine(); * }*/ public static void Startup() { Utility.Measure("Load all", 1, () => { ItemMgr.LoadAll(); NPCMgr.LoadNPCDefs(); GOMgr.LoadAll(); QuestMgr.LoadAll(); }); Utility.Measure("Basic startup sequence", 1, () => { RealmServ.Instance.Start(); Utility.Measure("Load all", 1, () => { ItemMgr.LoadAll(); NPCMgr.LoadNPCDefs(); GOMgr.LoadAll(); QuestMgr.LoadAll(); }); Map.AutoSpawnMaps = true; var easternKD = World.GetNonInstancedMap(MapId.EasternKingdoms); var kalimdor = World.GetNonInstancedMap(MapId.Kalimdor); var outlands = World.GetNonInstancedMap(MapId.Outland); Utility.Measure("Spawning Main Maps", 1, () => { //easternKD.Start(); //kalimdor.Start(); }); GC.Collect(); Console.WriteLine("Total memory usage with fully spawned world: {0}", GC.GetTotalMemory(true)); }); }
public override void Apply() { var goId = (GOEntryId)Effect.MiscValue; var goEntry = GOMgr.GetEntry(goId); var caster = m_cast.CasterUnit; if (goEntry != null) { if (Cast.TargetLoc.X != 0) { var worldLocation = new WorldLocation(caster.Map, Cast.TargetLoc); go = goEntry.Spawn(worldLocation); } else { go = goEntry.Spawn(caster, null); } go.State = GameObjectState.Enabled; go.Orientation = caster.Orientation; go.ScaleX = 1; } }