private static ExecutionResult SendMessage(Kingdom k, Dictionary <string, object> dict) { if (!dict.ContainsKey("kingdom")) { return(new ExecutionResult(false, new MessageCallback(Locale.Get("commands.build.no_kingdom", k.Language), ECharacter.Knight))); } Guid hid = (dict.Get("human") as Human ?? k.FindBySkill("dyplomacy")).HumanId; string dest = dict["kingdom"] as string; int index; for (index = 0; index < k.Humans.Count && k.Humans[index].HumanId != hid; ++index) { ; } if (k.Humans[index].AddTask(new HumanTask(k.Humans[index]) { Destination = dest, TaskType = ETask.ListeningKing })) { k.Humans[index].TasksToDo.Last().CalculateTaskTime(k.Humans[index], 1, "dyplomacy"); k.Temp = k.Humans[index].HumanId.ToString(); return(new ExecutionResult(new MessageCallback(Locale.Get("answers.write_message", k.Language))) { NewState = EState.Dictates }); } else { return(new ExecutionResult(false, new MessageCallback( Locale.Get(string.Format("problems.dont_work", k.Humans[index].GetName(k.Language)), k.Language), ECharacter.Knight ))); } }