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); }
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 + ")"); } }