Exemplo n.º 1
0
            static bool Prefix(Clan clan, Kingdom newKingdom, ChangeKingdomAction.ChangeKingdomActionDetail detail)
            {
                // newKingdom can be null
                if (clan != null)
                {
                    if (ClanInKingdoms.ContainsKey(clan.StringId))
                    {
                        ClanInKingdoms.Remove(clan.StringId);
                    }

                    if (detail == LeaveKingdom || detail == LeaveAsMercenary || detail == LeaveByClanDestruction)
                    {
                        ClanInKingdoms.Add(clan.StringId, null);
                    }
                    else if (detail == CreateKingdom || detail == JoinKingdom || detail == JoinAsMercenary || detail == LeaveWithRebellion)
                    {
                        ClanInKingdoms.Add(clan.StringId, newKingdom);
                    }
                    else
                    {
                        ErrorHandler.ShowPureErrorMessage("Unexpected change kingdom action \"" + detail + "\". " +
                                                          " for clan " + clan.StringId + "/" + clan.Name + "A new " +
                                                          "update added a new state. It needs fixing.");
                    }
                }
                return(true);
            }
Exemplo n.º 2
0
 private void ClanChangedKingdom(Clan c, Kingdom k1, Kingdom k2, ChangeKingdomAction.ChangeKingdomActionDetail details, Boolean b)
 {
     if (k1 != null && k2 != null)
     {
         WriteString("Clan " + c.Name + " has left " + k1.Name + " to join " + k2.Name + ". (reason: " + details + ")");
     }
     else if (k1 != null && k2 == null)
     {
         WriteString("Clan " + c.Name + " left " + k1.Name + ". (reason: " + details + ")");
     }
     else if (k1 == null && k2 != null)
     {
         WriteString("Clan " + c.Name + " joined " + k2.Name + ". (reason: " + details + ")");
     }
 }