public static void RemoveDelayedAction(string value, WorldClient client) { int id = int.Parse(value); DelayedActionRecord record = DelayedActionRecord.DelayedActions.Find(r => r.Id == id); DelayedActionManager.DelayedActions.RemoveAll(act => act.Record == record); record.RemoveInstantElement(); client.Character.Reply($"Successfully deleted DelayedAction {id}."); }
public static void DJCommand(string value, WorldClient client) { int id = DelayedActionRecord.DelayedActions.DynamicPop(x => x.Id); DelayedActionRecord record = new DelayedActionRecord(id, "Monsters", 30, value, client.Character.Map.Id.ToString()); record.AddElement(); DelayedAction action = new DelayedAction(record); DelayedActionManager.AddAction(action); action.Execute(); }
public static void DjCommand(string value, WorldClient client) { if (value == null) { client.Character.ReplyError("You must provide a list of monsters to spawn. Example: 23,24,25,26."); return; } int id = DelayedActionRecord.DelayedActions.DynamicPop(x => x.Id); DelayedActionRecord record = new DelayedActionRecord(id, "Monsters", 30, value, client.Character.Map.Id.ToString()); record.AddElement(); DelayedAction action = new DelayedAction(record); DelayedActionManager.AddAction(action); action.Execute(); }
public static void CreateDelayedAction(string value, WorldClient client) { var split = value.Split(' '); string actionType = split[0]; // for dungeon: Monsters int interval = int.Parse(split[1]); // ex: 30 (in seconds) string value1 = split[2]; // For dungeons: list of monsters var value2 = client.Character.Map.Id.ToString(); DelayedActionRecord record = new DelayedActionRecord(actionType, interval, value1, value2); record.AddInstantElement(); DelayedAction action = new DelayedAction(record); DelayedActionManager.AddAction(action); action.Execute(); client.Character.Reply($"Successfully created DelayedAction record {record}."); }
public static void TestCommand(string value, WorldClient client) { client.SendRaw(RawDataManager.GetRawData("gvgpanel")); client.Character.Reply("Done"); // client.Character.SpellAnim(7356); return; client.Character.Record.Stats.LifePoints = 99999; client.Character.Record.Stats.ActionPoints.Base += 99; client.Character.Record.Stats.MaxLifePoints = 99999; client.Character.RefreshStats(); return; int id = DelayedActionRecord.DelayedActions.DynamicPop(x => x.Id); DelayedActionRecord record = new DelayedActionRecord(id, "CharacterMonster", 50, value, client.Character.Map.Id.ToString()); record.AddElement(); DelayedAction action = new DelayedAction(record); DelayedActionManager.AddAction(action); action.Execute(); }
public DelayedAction(DelayedActionRecord record) { this.Record = record; this.Timer = new ActionTimer(record.Interval * 1000, Execute, true); this.Action = (DelayedActionEnum)Enum.Parse(typeof(DelayedActionEnum), Record.ActionType); }