public void CallDefaultNPC(DefaultNPCType type, params object[] value) { string key = string.Empty; switch (type) { case DefaultNPCType.Login: key = "Login"; break; case DefaultNPCType.UseItem: if (value.Length < 1) return; key = string.Format("UseItem({0})", value[0]); break; case DefaultNPCType.Trigger: if (value.Length < 1) return; key = string.Format("Trigger({0})", value[0]); break; case DefaultNPCType.MapCoord: if (value.Length < 3) return; key = string.Format("MapCoord({0},{1},{2})", value[0], value[1], value[2]); break; case DefaultNPCType.MapEnter: if (value.Length < 1) return; key = string.Format("MapEnter({0})", value[0]); break; case DefaultNPCType.Die: key = "Die"; break; case DefaultNPCType.LevelUp: key = "LevelUp"; break; case DefaultNPCType.CustomCommand: if (value.Length < 1) return; key = string.Format("CustomCommand({0})", value[0]); break; case DefaultNPCType.OnAcceptQuest: if (value.Length < 1) return; key = string.Format("OnAcceptQuest({0})", value[0]); break; case DefaultNPCType.OnFinishQuest: if (value.Length < 1) return; key = string.Format("OnFinishQuest({0})", value[0]); break; case DefaultNPCType.Daily: key = "Daily"; Info.NewDay = false; break; case DefaultNPCType.TalkMonster: if (value.Length < 1) return; key = string.Format("TalkMonster({0})", value[0]); break; } key = string.Format("[@_{0}]", key); DelayedAction action = new DelayedAction(DelayedType.NPC, SMain.Envir.Time + 0, DefaultNPC.ObjectID, key); ActionList.Add(action); Enqueue(new S.NPCUpdate { NPCID = DefaultNPC.ObjectID }); }
public void CallDefaultNPC(DefaultNPCType type, PlayerObject player, params object[] value) { string key = string.Empty; switch (type) { case DefaultNPCType.Login: key = "Login"; break; case DefaultNPCType.UseItem: if (value.Length < 1) { return; } key = string.Format("UseItem({0})", value[0]); break; case DefaultNPCType.Trigger: if (value.Length < 1) { return; } key = string.Format("Trigger({0})", value[0]); break; case DefaultNPCType.MapCoord: if (value.Length < 3) { return; } key = string.Format("MapCoord({0},{1},{2})", value[0], value[1], value[2]); break; case DefaultNPCType.MapEnter: if (value.Length < 1) { return; } key = string.Format("MapEnter({0})", value[0]); break; case DefaultNPCType.Die: key = "Die"; break; case DefaultNPCType.LevelUp: key = "LevelUp"; break; case DefaultNPCType.CustomCommand: if (value.Length < 1) { return; } key = string.Format("CustomCommand({0})", value[0]); break; case DefaultNPCType.OnAcceptQuest: if (value.Length < 1) { return; } key = string.Format("OnAcceptQuest({0})", value[0]); break; case DefaultNPCType.OnFinishQuest: if (value.Length < 1) { return; } key = string.Format("OnFinishQuest({0})", value[0]); break; case DefaultNPCType.Daily: key = "Daily"; player.Info.NewDay = false; break; case DefaultNPCType.TalkMonster: if (value.Length < 1) { return; } key = string.Format("TalkMonster({0})", value[0]); break; case DefaultNPCType.EventReward: key = "EventReward"; break; } key = string.Format("[@_{0}]", key); if (player == null) { return; } DelayedAction action = new DelayedAction(DelayedType.NPC, SMain.Envir.Time + 1, DefaultNPC.ObjectID, key); player.ActionList.Add(action); player.Enqueue(new S.NPCUpdate { NPCID = DefaultNPC.ObjectID }); }