using System; using TaleWorlds.CampaignSystem; using TaleWorlds.CampaignSystem.GameMenus; using TaleWorlds.CampaignSystem.Overlay; using TaleWorlds.Localization; using TaleWorlds.CampaignSystem.Actions; using Helpers; using TaleWorlds.CampaignSystem.SandBox.GameComponents.Party; using System.Reflection; using System.Linq; using System.Xml.Linq; using TaleWorlds.Core; using TaleWorlds.ObjectSystem; using System.Collections.Generic; using NPOI.SS.Formula.Functions; using TaleWorlds.CampaignSystem.SandBox.CampaignBehaviors; using TaleWorlds.MountAndBlade; namespace Bannerlord.MedicalDistrict { internal class MedicalDistrictBehaviors : CampaignBehaviorBase { public override void SyncData(IDataStore dataStore) { } public override void RegisterEvents() { CampaignEvents.OnSessionLaunchedEvent.AddNonSerializedListener(this, new Action(this.OnSessionLaunched)); } public void OnSessionLaunched(CampaignGameStarter campaignGameStarter) { AddGameMenus(campaignGameStarter); } public void AddGameMenus(CampaignGameStarter campaignGameStarter) { campaignGameStarter.AddGameMenuOption("town", "town_medical_district", "{=l9sFJawW}Go: Characters", new GameMenuOption.OnConditionDelegate(game_menu_go_to_medical_district_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town_medical_district"); }, false, 4, false); // campaignGameStarter.AddGameMenuOption("town", "town_support_district", "{=*}Go: Character", new GameMenuOption.OnConditionDelegate(game_menu_go_to_medical_district_on_condition), delegate (MenuCallbackArgs x) // { // GameMenu.SwitchToMenu("town_support_district"); // }, false, 7, false); campaignGameStarter.AddGameMenuOption("town", "town_support2_district", "{=*}Go: Supplies", new GameMenuOption.OnConditionDelegate(game_menu_go_to_medical_district_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town_support2_district"); }, false, 5, false); campaignGameStarter.AddGameMenuOption("town", "town_support3_district", "{=*}Go: Hire", new GameMenuOption.OnConditionDelegate(game_menu_go_to_medical_district_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town_support3_district"); }, false, 6, false); campaignGameStarter.AddGameMenu("town_medical_district", "You arrive at the city's medical district. As you approach you notice the local nurses and doctors running about treating the masses.", new OnInitDelegate(town_medical_district_on_init), GameOverlays.MenuOverlayType.SettlementWithBoth, GameMenu.MenuFlags.none, null); // campaignGameStarter.AddGameMenu("town_support_district", "Support1", new OnInitDelegate(town_medical_district_on_init), GameOverlays.MenuOverlayType.SettlementWithBoth, GameMenu.MenuFlags.none, null); campaignGameStarter.AddGameMenu("town_support2_district", "Support: Supplies", new OnInitDelegate(town_medical_district_on_init), GameOverlays.MenuOverlayType.SettlementWithBoth, GameMenu.MenuFlags.none, null); campaignGameStarter.AddGameMenu("town_support3_district", "Support: Hire", new OnInitDelegate(town_medical_district_on_init), GameOverlays.MenuOverlayType.SettlementWithBoth, GameMenu.MenuFlags.none, null); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_self_heal", "{=*}Get yourself treated. ({HEAL_SELF_AMOUNT}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_needs_heal_on_condition), delegate (MenuCallbackArgs x) { HealPlayerCharacter(); }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_companion_heal", "{=*}Get your companions treated. ({HEAL_COMPANION_AMOUNT}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(companions_needs_heal_on_condition), delegate (MenuCallbackArgs x) { HealPartyCharacters(false); }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_player_and_companion_heal", "{=*}Get your companions and yourself treated. ({HEAL_ALL_AMOUNT}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(party_characters_needs_heal_on_condition), delegate (MenuCallbackArgs x) { HealPartyCharacters(true); }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_renown", "{=*}Buy 1 Renown ({PRICE_RENOWN}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_renown_on_condition), delegate (MenuCallbackArgs x) { int price_renown = 100 + Hero.MainHero.Level ^ 2; if (Hero.MainHero.Gold >= price_renown && Hero.MainHero.Clan.Renown < 6150) { Hero.MainHero.Clan.AddRenown(1, true); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_renown, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_renown_10", "{=*}Buy 10 Renown ({PRICE_RENOWN_10}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_renown_10_on_condition), delegate (MenuCallbackArgs x) { int price_renown_10 = 10 * (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_renown_10 && Hero.MainHero.Clan.Renown < 6150) { Hero.MainHero.Clan.AddRenown(10, true); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_renown_10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_renown_100", "{=*}Buy 100 Renown ({PRICE_RENOWN_100}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_renown_100_on_condition), delegate (MenuCallbackArgs x) { int price_renown_100 = 100 * (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_renown_100 && Hero.MainHero.Clan.Renown < 6050) { Hero.MainHero.Clan.AddRenown(100, true); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_renown_100, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_swap_renown_all", "{=*}Renown on all Influence", new GameMenuOption.OnConditionDelegate(player_swap_renown_all_on_condition), delegate (MenuCallbackArgs x) { if (Hero.MainHero.Clan.Influence >= 1 && Hero.MainHero.Clan.Renown < 6150) { Hero.MainHero.Clan.AddRenown(Hero.MainHero.Clan.Influence, true); Hero.MainHero.Clan.Influence = 0; GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_sell_renown_all", "{=*}Sell Renown (lower 50)", new GameMenuOption.OnConditionDelegate(player_sell_renown_all_on_condition), delegate (MenuCallbackArgs x) { if (Hero.MainHero.Clan.Renown < 50) { float renown_to_sell = Hero.MainHero.Clan.Renown * (100 + Hero.MainHero.Level ^ 2); int renown_to_sell2 = (int)renown_to_sell; GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, renown_to_sell2, false); Hero.MainHero.Clan.Renown = 0; Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_influence", "{=*}Buy 1 Influence ({PRICE_INFLUENCE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_influence_on_condition), delegate (MenuCallbackArgs x) { int price_influence = 100 + Hero.MainHero.Level ^ 2; if (Hero.MainHero.Gold >= price_influence) { Hero.MainHero.AddInfluenceWithKingdom(1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_influence, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_influence_10", "{=*}Buy 10 Influence ({PRICE_INFLUENCE_10}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_influence_10_on_condition), delegate (MenuCallbackArgs x) { int price_influence_10 = 10 * (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_influence_10) { Hero.MainHero.AddInfluenceWithKingdom(10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_influence_10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_buy_influence_100", "{=*}Buy 100 Influence ({PRICE_INFLUENCE_100}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_influence_100_on_condition), delegate (MenuCallbackArgs x) { int price_influence_100 = 100 * (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_influence_100) { Hero.MainHero.AddInfluenceWithKingdom(100); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_influence_100, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_swap_influence_all", "{=*}Influence on Renown (over 6150)", new GameMenuOption.OnConditionDelegate(player_swap_influence_all_on_condition), delegate (MenuCallbackArgs x) { if (Hero.MainHero.Clan.Renown > 6150) { float renown_to_influence = Hero.MainHero.Clan.Renown - 6150; Hero.MainHero.AddInfluenceWithKingdom(renown_to_influence); Hero.MainHero.Clan.Renown = 6150; GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_onehanded", "{=*}100 XP OneHanded ({PRICE_XP_ONEHANDED}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_onehanded_on_condition), delegate (MenuCallbackArgs x) { int price_xp_onehanded = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.OneHanded) * Hero.MainHero.GetSkillValue(DefaultSkills.OneHanded)); if (Hero.MainHero.Gold >= price_xp_onehanded) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_onehanded, false); Hero.MainHero.AddSkillXp(DefaultSkills.OneHanded, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_twohanded", "{=*}100 XP TwoHanded ({PRICE_XP_TWOHANDED}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_twohanded_on_condition), delegate (MenuCallbackArgs x) { int price_xp_twohanded = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.TwoHanded) * Hero.MainHero.GetSkillValue(DefaultSkills.TwoHanded)); if (Hero.MainHero.Gold >= price_xp_twohanded) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_twohanded, false); Hero.MainHero.AddSkillXp(DefaultSkills.TwoHanded, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_polearm", "{=*}100 XP Polearm ({PRICE_XP_POLEARM}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_polearm_on_condition), delegate (MenuCallbackArgs x) { int price_xp_polearm = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Polearm) * Hero.MainHero.GetSkillValue(DefaultSkills.Polearm)); if (Hero.MainHero.Gold >= price_xp_polearm) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_polearm, false); Hero.MainHero.AddSkillXp(DefaultSkills.Polearm, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_bow", "{=*}100 XP Bow ({PRICE_XP_BOW}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_bow_on_condition), delegate (MenuCallbackArgs x) { int price_xp_bow = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Bow) * Hero.MainHero.GetSkillValue(DefaultSkills.Bow)); if (Hero.MainHero.Gold >= price_xp_bow) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_bow, false); Hero.MainHero.AddSkillXp(DefaultSkills.Bow, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_crossbow", "{=*}100 XP Crossbow ({PRICE_XP_CROSSBOW}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_crossbow_on_condition), delegate (MenuCallbackArgs x) { int price_xp_crossbow = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Crossbow) * Hero.MainHero.GetSkillValue(DefaultSkills.Crossbow)); if (Hero.MainHero.Gold >= price_xp_crossbow) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_crossbow, false); Hero.MainHero.AddSkillXp(DefaultSkills.Crossbow, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_throwing", "{=*}100 XP Throwing ({PRICE_XP_THROWING}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_throwing_on_condition), delegate (MenuCallbackArgs x) { int price_xp_throwing = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Throwing) * Hero.MainHero.GetSkillValue(DefaultSkills.Throwing)); if (Hero.MainHero.Gold >= price_xp_throwing) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_throwing, false); Hero.MainHero.AddSkillXp(DefaultSkills.Throwing, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_riding", "{=*}100 XP Riding ({PRICE_XP_RIDING}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_riding_on_condition), delegate (MenuCallbackArgs x) { int price_xp_riding = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Riding) * Hero.MainHero.GetSkillValue(DefaultSkills.Riding)); if (Hero.MainHero.Gold >= price_xp_riding) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_riding, false); Hero.MainHero.AddSkillXp(DefaultSkills.Riding, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_athletics", "{=*}100 XP Athletics ({PRICE_XP_ATHLETICS}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_athletics_on_condition), delegate (MenuCallbackArgs x) { int price_xp_athletics = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Athletics) * Hero.MainHero.GetSkillValue(DefaultSkills.Athletics)); if (Hero.MainHero.Gold >= price_xp_athletics) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_athletics, false); Hero.MainHero.AddSkillXp(DefaultSkills.Athletics, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_crafting", "{=*}100 XP Crafting ({PRICE_XP_CRAFTING}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_crafting_on_condition), delegate (MenuCallbackArgs x) { int price_xp_crafting = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) * Hero.MainHero.GetSkillValue(DefaultSkills.Crafting)); if (Hero.MainHero.Gold >= price_xp_crafting) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_crafting, false); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_scouting", "{=*}100 XP Scouting ({PRICE_XP_SCOUTING}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_scouting_on_condition), delegate (MenuCallbackArgs x) { int price_xp_scouting = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Scouting) * Hero.MainHero.GetSkillValue(DefaultSkills.Scouting)); if (Hero.MainHero.Gold >= price_xp_scouting) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_scouting, false); Hero.MainHero.AddSkillXp(DefaultSkills.Scouting, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_tactics", "{=*}100 XP Tactics ({PRICE_XP_TACTICS}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_tactics_on_condition), delegate (MenuCallbackArgs x) { int price_xp_tactics = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Tactics) * Hero.MainHero.GetSkillValue(DefaultSkills.Tactics)); if (Hero.MainHero.Gold >= price_xp_tactics) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_tactics, false); Hero.MainHero.AddSkillXp(DefaultSkills.Tactics, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_roguery", "{=*}100 XP Roguery ({PRICE_XP_ROGUERY}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_roguery_on_condition), delegate (MenuCallbackArgs x) { int price_xp_roguery = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) * Hero.MainHero.GetSkillValue(DefaultSkills.Roguery)); if (Hero.MainHero.Gold >= price_xp_roguery) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_roguery, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_charm", "{=*}100 XP Charm ({PRICE_XP_CHARM}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_charm_on_condition), delegate (MenuCallbackArgs x) { int price_xp_charm = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Charm) * Hero.MainHero.GetSkillValue(DefaultSkills.Charm)); if (Hero.MainHero.Gold >= price_xp_charm) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_charm, false); Hero.MainHero.AddSkillXp(DefaultSkills.Charm, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_leadership", "{=*}100 XP Leadership ({PRICE_XP_LEADERSHIP}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_leadership_on_condition), delegate (MenuCallbackArgs x) { int price_xp_leadership = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) * Hero.MainHero.GetSkillValue(DefaultSkills.Leadership)); if (Hero.MainHero.Gold >= price_xp_leadership) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_leadership, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_trade", "{=*}100 XP Trade ({PRICE_XP_TRADE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_trade_on_condition), delegate (MenuCallbackArgs x) { int price_xp_trade = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Trade) * Hero.MainHero.GetSkillValue(DefaultSkills.Trade)); if (Hero.MainHero.Gold >= price_xp_trade) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_trade, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_steward", "{=*}100 XP Steward ({PRICE_XP_STEWARD}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_steward_on_condition), delegate (MenuCallbackArgs x) { int price_xp_steward = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Steward) * Hero.MainHero.GetSkillValue(DefaultSkills.Steward)); if (Hero.MainHero.Gold >= price_xp_steward) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_steward, false); Hero.MainHero.AddSkillXp(DefaultSkills.Steward, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_medicine", "{=*}100 XP Medicine ({PRICE_XP_MEDICINE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_medicine_on_condition), delegate (MenuCallbackArgs x) { int price_xp_medicine = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Medicine) * Hero.MainHero.GetSkillValue(DefaultSkills.Medicine)); if (Hero.MainHero.Gold >= price_xp_medicine) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_medicine, false); Hero.MainHero.AddSkillXp(DefaultSkills.Medicine, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_medical_district", "town_support_district_xp_engineering", "{=*}100 XP Engineering ({PRICE_XP_ENGINEERING}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_xp_engineering_on_condition), delegate (MenuCallbackArgs x) { int price_xp_engineering = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Engineering) * Hero.MainHero.GetSkillValue(DefaultSkills.Engineering)); if (Hero.MainHero.Gold >= price_xp_engineering) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_xp_engineering, false); Hero.MainHero.AddSkillXp(DefaultSkills.Engineering, 100); GameMenu.SwitchToMenu("town_medical_district"); }; }, false, -1, false); // // wood, min buy 6m (battania), max sell 75 (aserai); cost - 50, 100/2 campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_wood", "{=*}Buy 1 Wood ({PRICE_WOOD}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_wood_on_condition), delegate (MenuCallbackArgs x) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); if (Hero.MainHero.Gold >= price_wood) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("hardwood"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_wood, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_wood_10", "{=*}Buy 10 Wood ({PRICE_WOOD_10}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_wood_10_on_condition), delegate (MenuCallbackArgs x) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); if (Hero.MainHero.Gold >= price_wood * 10) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("hardwood"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_wood * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_wood_100", "{=*}Buy 100 Wood ({PRICE_WOOD_100}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_wood_100_on_condition), delegate (MenuCallbackArgs x) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); if (Hero.MainHero.Gold >= price_wood * 100) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("hardwood"), 100); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_wood * 100, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); // cost - 33 (wood/1.5), 100/3 campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_coal", "{=*}Buy 1 Coal ({PRICE_COAL}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_coal_on_condition), delegate (MenuCallbackArgs x) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); if (Hero.MainHero.Gold >= price_coal) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_coal, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_coal_10", "{=*}Buy 10 Coal ({PRICE_COAL_10}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_coal_10_on_condition), delegate (MenuCallbackArgs x) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); if (Hero.MainHero.Gold >= price_coal*10) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_coal*10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_coal_100", "{=*}Buy 100 Coal ({PRICE_COAL_100}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_coal_100_on_condition), delegate (MenuCallbackArgs x) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); if (Hero.MainHero.Gold >= price_coal*100) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), 100); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_coal*100, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_coal2", "{=*}3 Coal on 2 Wood x{WOOD_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_coal2_on_condition), delegate (MenuCallbackArgs x) { int wood_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("hardwood")); int wood_amount2 = (int)wood_amount / 2; if (wood_amount2 >= 1) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), wood_amount2 * 3); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("hardwood"), -wood_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, wood_amount2); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_coal", "{=*}Coal on Iron1 x{IRONINGOT1_AMOUNT}", new GameMenuOption.OnConditionDelegate(player_swap_coal_on_condition), delegate (MenuCallbackArgs x) { int ironIngot1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); if (ironIngot1_amount >= 1) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), ironIngot1_amount); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot1"), -ironIngot1_amount); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); // iron ore = min 11, max 94, cost 100 (iron1*3 or coal*3 or wood*2) campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_iron", "{=*}Buy 1 IronOre ({PRICE_IRON}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_iron_on_condition), delegate (MenuCallbackArgs x) { int price_iron = (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_iron) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("iron"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_iron, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_iron_10", "{=*}Buy 10 IronOre ({PRICE_IRON_10}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_iron_10_on_condition), delegate (MenuCallbackArgs x) { int price_iron = (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_iron*10) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("iron"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_iron*10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_iron_100", "{=*}Buy 100 IronOre ({PRICE_IRON_100}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_iron_100_on_condition), delegate (MenuCallbackArgs x) { int price_iron = (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_iron*100) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("iron"), 100); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_iron*100, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 100); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron", "{=*}IronOre (Iron2, Iron1) x{IRON_AMOUNT}", new GameMenuOption.OnConditionDelegate(player_swap_iron_on_condition), delegate (MenuCallbackArgs x) { int iron_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("iron")); if (iron_amount >= 1) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot2"), iron_amount); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot1"), iron_amount); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("iron"), -iron_amount); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, iron_amount); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron1", "{=*}Iron2 on Iron+Coal x{SWAP_IRON1_AMOUNT}", new GameMenuOption.OnConditionDelegate(player_swap_iron1_on_condition), delegate (MenuCallbackArgs x) { int iron1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); int coal_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("charcoal")); int swap_iron1_amount = Math.Min(iron1_amount, coal_amount); if (swap_iron1_amount >= 1) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot2"), swap_iron1_amount); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot1"), -swap_iron1_amount); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("charcoal"), -swap_iron1_amount); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, swap_iron1_amount); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron2", "{=*}Iron2 on 2 Iron1 x{IRONINGOT1_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_iron2_on_condition), delegate (MenuCallbackArgs x) { int ironIngot1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); int ironIngot1_amount2 = (int)ironIngot1_amount / 2; if (ironIngot1_amount2 >= 1) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot2"), ironIngot1_amount2); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot1"), -ironIngot1_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, ironIngot1_amount2 * 2); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron3", "{=*}Iron3 on 2 Iron2 x{IRONINGOT2_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_iron3_on_condition), delegate (MenuCallbackArgs x) { int ironIngot2_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot2")); int ironIngot2_amount2 = (int)ironIngot2_amount / 2; if (ironIngot2_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 25) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot3"), ironIngot2_amount2); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot2"), -ironIngot2_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, ironIngot2_amount2 * 4); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron4", "{=*}Iron4 on 2 Iron3 x{IRONINGOT3_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_iron4_on_condition), delegate (MenuCallbackArgs x) { int ironIngot3_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot3")); int ironIngot3_amount2 = (int)ironIngot3_amount / 2; if (ironIngot3_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 50) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot4"), ironIngot3_amount2); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot3"), -ironIngot3_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, ironIngot3_amount2 * 8); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron5", "{=*}Iron5 on 2 Iron4 x{IRONINGOT4_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_iron5_on_condition), delegate (MenuCallbackArgs x) { int ironIngot4_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot4")); int ironIngot4_amount2 = (int)ironIngot4_amount / 2; if (ironIngot4_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 75) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot5"), ironIngot4_amount2); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot4"), -ironIngot4_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, ironIngot4_amount2 * 16); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_swap_iron6", "{=*}Iron6 on 2 Iron5 x{IRONINGOT5_AMOUNT2}", new GameMenuOption.OnConditionDelegate(player_swap_iron6_on_condition), delegate (MenuCallbackArgs x) { int ironIngot5_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot5")); int ironIngot5_amount2 = (int)ironIngot5_amount / 2; if (ironIngot5_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 100) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot6"), ironIngot5_amount2); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("ironIngot5"), -ironIngot5_amount2 * 2); Hero.MainHero.AddSkillXp(DefaultSkills.Crafting, ironIngot5_amount2 * 32); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); // all food x1 ~500 dinar, cost - 1100 (11*100); craft min stamina -2 (grain 10 money, 1 for 5m); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_all_food", "{=*}Buy All Food ({PRICE_ALL_FOOD}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_food_on_condition), delegate (MenuCallbackArgs x) { int price_all_food = 11 * (100 + Hero.MainHero.Level ^ 2); if (Hero.MainHero.Gold >= price_all_food) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("grain"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("meat"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("fish"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("grape"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("butter"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("olives"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("cheese"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("date_fruit"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("beer"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("wine"), 1); Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("oil"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_all_food, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 11); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_sumpter_horse", "{=*}Buy 1 Sumpter Horse ({PRICE_SUMPTER_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_sumpter_horse_on_condition), delegate (MenuCallbackArgs x) { int price_sumpter_horse = (3 * (100 + Hero.MainHero.Level ^ 2) / 2); if (Hero.MainHero.Gold >= price_sumpter_horse) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sumpter_horse"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_sumpter_horse, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 1); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_10_sumpter_horse", "{=*}Buy 10 Sumpter Horse ({PRICE_10_SUMPTER_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_10_sumpter_horse_on_condition), delegate (MenuCallbackArgs x) { int price_sumpter_horse = (3 * (100 + Hero.MainHero.Level ^ 2) / 2); if (Hero.MainHero.Gold >= price_sumpter_horse * 10) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sumpter_horse"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_sumpter_horse * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 10); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_horse", "{=*}Buy 1 Horse ({PRICE_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_horse_on_condition), delegate (MenuCallbackArgs x) { int price_horse = (3 * (100 + Hero.MainHero.Level ^ 2)); if (Hero.MainHero.Gold >= price_horse) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battania_horse"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_horse, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 2); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_10_horse", "{=*}Buy 10 Horse ({PRICE_10_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_10_horse_on_condition), delegate (MenuCallbackArgs x) { int price_horse = (3 * (100 + Hero.MainHero.Level ^ 2)); if (Hero.MainHero.Gold >= price_horse * 10) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battania_horse"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_horse * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 20); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_war_horse", "{=*}Buy 1 WarHorse ({PRICE_WAR_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_war_horse_on_condition), delegate (MenuCallbackArgs x) { int price_war_horse = (9 * (100 + Hero.MainHero.Level ^ 2)); if (Hero.MainHero.Gold >= price_war_horse) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("t2_empire_horse"), 1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_war_horse, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 6); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support_district_buy_10_war_horse", "{=*}Buy 10 WarHorse ({PRICE_10_WAR_HORSE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_buy_10_war_horse_on_condition), delegate (MenuCallbackArgs x) { int price_war_horse = (9 * (100 + Hero.MainHero.Level ^ 2)); if (Hero.MainHero.Gold >= price_war_horse) { Campaign.Current.MainParty.ItemRoster.AddToCounts(Game.Current.ObjectManager.GetObject("t2_empire_horse"), 10); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_war_horse * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, 60); GameMenu.SwitchToMenu("town_support2_district"); }; }, false, -1, false); // // tier 0, lv 1, 10m campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_empire", "{=*}Hire 1 Villager (Empire) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_empire"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_empire", "{=*}Hire 10 Villager (Empire) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_empire"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_empire", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Empire) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_empire"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_vlandia", "{=*}Hire 1 Villager (Vlandia) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_vlandia"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_vlandia", "{=*}Hire 10 Villager (Vlandia) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_vlandia"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_vlandia", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Vlandia) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_vlandia"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_battania", "{=*}Hire 1 Villager (Battania) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_battania"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_battania", "{=*}Hire 10 Villager (Battania) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_battania"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_battania", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Battania) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_battania"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_sturgia", "{=*}Hire 1 Villager (Sturgia) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_sturgia"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_sturgia", "{=*}Hire 10 Villager (Sturgia) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_sturgia"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_sturgia", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Sturgia) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_sturgia"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_aserai", "{=*}Hire 1 Villager (Aserai) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_aserai"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_aserai", "{=*}Hire 10 Villager (Aserai) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_aserai"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_aserai", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Aserai) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_aserai"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_villager_khuzait", "{=*}Hire 1 Villager (Khuzait) {HIRE_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_villager_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_khuzait"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 1); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_villager_khuzait", "{=*}Hire 10 Villager (Khuzait) {HIRE_10_VILLAGER}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_villager_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = (10 * (100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_khuzait"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_villager * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 10); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_villager_khuzait", "{=*}Hire {PARTYSIZE_AMOUNT} Villager (Khuzait) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_villager_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_khuzait"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // // tier 1, lv 6, 20m campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_imperial_recruit", "{=*}Hire 1 Imperial Recruit {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_recruit"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_imperial_recruit", "{=*}Hire 10 Imperial Recruit {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_recruit"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_imperial_recruit", "{=*}Hire {PARTYSIZE_AMOUNT} Imperial Recruit {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_recruit"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_vlandian_recruit", "{=*}Hire 1 Vlandian Recruit {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_recruit"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_vlandian_recruit", "{=*}Hire 10 Vlandian Recruit {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_recruit"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_vlandian_recruit", "{=*}Hire {PARTYSIZE_AMOUNT} Vlandian Recruit {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_recruit"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_battanian_volunteer", "{=*}Hire 1 Battanian Volunteer {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_volunteer"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_battanian_volunteer", "{=*}Hire 10 Battanian Volunteer {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit * 10; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_volunteer"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_battanian_volunteer", "{=*}Hire {PARTYSIZE_AMOUNT} Battanian Volunteer {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_volunteer"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_sturgian_recruit", "{=*}Hire 1 Sturgian Recruit {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_recruit"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_sturgian_recruit", "{=*}Hire 10 Sturgian Recruit {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit * 10; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_recruit"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_sturgian_recruit", "{=*}Hire {PARTYSIZE_AMOUNT} Sturgian Recruit {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_recruit"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_aserai_recruit", "{=*}Hire 1 Aserai Recruit {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_recruit"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_aserai_recruit", "{=*}Hire 10 Aserai Recruit {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit * 10; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_recruit"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_aserai_recruit", "{=*}Hire {PARTYSIZE_AMOUNT} Aserai Recruit {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_recruit"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_khuzait_nomad", "{=*}Hire 1 Khuzait Nomad {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_nomad"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_khuzait_nomad", "{=*}Hire 10 Khuzait Nomad {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit * 10; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_nomad"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit * 10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_khuzait_nomad", "{=*}Hire {PARTYSIZE_AMOUNT} Khuzait Nomad {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_nomad"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_looter", "{=*}Hire 1 Looter {HIRE_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_recruit_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("looter"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_looter", "{=*}Hire 10 Looter {HIRE_10_RECRUIT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_10_recruit_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit_10 = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit_10; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("looter"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_recruit_10, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, 20); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_looter", "{=*}Hire {PARTYSIZE_AMOUNT} Looter {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_hire_all_recruit_on_condition), delegate (MenuCallbackArgs x) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("looter"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, partysize_amount * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // // tier 2, lv 11, 50m (100), clan 2 (renown 150), skill 50 campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_empire", "{=*}Hire 1 Elite (Empire) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_vigla_recruit"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_empire", "{=*}Hire 10 Elite (Empire) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_vigla_recruit"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_empire", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Empire) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_empire_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_vigla_recruit"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_vlandia", "{=*}Hire 1 Elite (Vlandia) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_squire"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_vlandia", "{=*}Hire 10 Elite (Vlandia) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_squire"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_vlandia", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Vlandia) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_vlandia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_squire"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_battania", "{=*}Hire 1 Elite (Battania) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_highborn_youth"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_battania", "{=*}Hire 10 Elite (Battania) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_highborn_youth"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_battania", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Battania) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_battania_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_highborn_youth"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_sturgia", "{=*}Hire 1 Elite (Sturgia) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_warrior_son"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_sturgia", "{=*}Hire 10 Elite (Sturgia) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_warrior_son"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_sturgia", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Sturgia) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_sturgia_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_warrior_son"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_aserai", "{=*}Hire 1 Elite (Aserai) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_youth"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_aserai", "{=*}Hire 10 Elite (Aserai) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_youth"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_aserai", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Aserai) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_aserai_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_youth"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_elite_khuzait", "{=*}Hire 1 Elite (Khuzait) {HIRE_ELITE}{GOLD_ICON}, 1 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_elite_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_noble_son"), 1, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite, false); Hero.MainHero.Clan.Influence -= 1; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_10_elite_khuzait", "{=*}Hire 10 Elite (Khuzait) {HIRE_10_ELITE}{GOLD_ICON}, 10 Inf.", new GameMenuOption.OnConditionDelegate(player_hire_10_elite_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_noble_son"), 10, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -hire_elite * 10, false); Hero.MainHero.Clan.Influence -= 10; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, 50); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_hire_all_elite_khuzait", "{=*}Hire {PARTYSIZE_AMOUNT} Elite (Khuzait) {PRICE_PARTYSIZE_AMOUNT}{GOLD_ICON}, {PARTYSIZE_AMOUNT} Inf.", new GameMenuOption.OnConditionDelegate(player_hire_all_elite_khuzait_on_condition), delegate (MenuCallbackArgs x) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_noble_son"), partysize_amount, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_partysize_amount, false); Hero.MainHero.Clan.Influence -= partysize_amount; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, partysize_amount * 5); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // // upgrade t0-t1, lv 1-6, 10-20 campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_empire", "{=*}{UPGRADE_VILLAGER} Villager (Empire) to Recruit ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_empire_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_empire")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_recruit"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_empire"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_vlandia", "{=*}{UPGRADE_VILLAGER} Villager (Vlandia) to Recruit ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_vlandia_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_vlandia")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_recruit"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_vlandia"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_battania", "{=*}{UPGRADE_VILLAGER} Villager (Battania) to Volunteer ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_battania_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_battania")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_volunteer"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_battania"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_sturgia", "{=*}{UPGRADE_VILLAGER} Villager (Sturgia) to Recruit ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_sturgia_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_sturgia")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_recruit"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_sturgia"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_aserai", "{=*}{UPGRADE_VILLAGER} Villager (Aserai) to Recruit ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_aserai_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_aserai")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_recruit"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_aserai"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_villager_khuzait", "{=*}{UPGRADE_VILLAGER} Villager (Khuzait) to Recruit ({PRICE_UPGRADE_VILLAGER}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_villager_khuzait_on_condition), delegate (MenuCallbackArgs x) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_khuzait")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_nomad"), upgrade_villager, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("villager_khuzait"), -upgrade_villager, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_villager, false); Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_villager); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // upgrade t1-t2, lv 6-11, 20-50m campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_empire", "{=*}{UPGRADE_ELITE} Recruit (Empire) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_empire_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("imperial_recruit")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_vigla_recruit"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("imperial_recruit"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_vlandia", "{=*}{UPGRADE_ELITE} Recruit (Vlandia) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_vlandia_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("vlandian_recruit")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_squire"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("vlandian_recruit"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_battania", "{=*}{UPGRADE_ELITE} Recruit (Battania) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_battania_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("battanian_volunteer")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_highborn_youth"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("battanian_volunteer"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_sturgia", "{=*}{UPGRADE_ELITE} Recruit (Sturgia) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_sturgia_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("sturgian_recruit")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_warrior_son"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("sturgian_recruit"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_aserai", "{=*}{UPGRADE_ELITE} Recruit (Aserai) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_aserai_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("aserai_recruit")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_youth"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("aserai_recruit"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_elite_khuzait", "{=*}{UPGRADE_ELITE} Recruit (Khuzait) to ELITE ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_khuzait_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("khuzait_nomad")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= upgrade_elite && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_noble_son"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("khuzait_nomad"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.Clan.Influence -= upgrade_elite; Hero.MainHero.AddSkillXp(DefaultSkills.Leadership, upgrade_elite * 3); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_looter", "{=*}{UPGRADE_ELITE} Looter to Watchman ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("looter")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("mercenary_1"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("looter"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, upgrade_elite); Hero.MainHero.AddSkillXp(DefaultSkills.Trade, upgrade_elite); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_upgrade_looter2", "{=*}{UPGRADE_ELITE} Looter to M.Bandit ({PRICE_UPGRADE_ELITE}{GOLD_ICON})", new GameMenuOption.OnConditionDelegate(player_upgrade_elite_on_condition), delegate (MenuCallbackArgs x) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("looter")); int price_upgrade_elite = upgrade_elite * 3 * ((100 + Hero.MainHero.Level ^ 2) / 5); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) { Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("mountain_bandits_bandit"), upgrade_elite, false, 0, 0, true, -1); Campaign.Current.MainParty.MemberRoster.AddToCounts(Game.Current.ObjectManager.GetObject("looter"), -upgrade_elite, false, 0, 0, true, -1); GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, Hero.MainHero, -price_upgrade_elite, false); Hero.MainHero.AddSkillXp(DefaultSkills.Roguery, upgrade_elite * 2); GameMenu.SwitchToMenu("town_support3_district"); }; }, false, -1, false); // // // campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_add_gold", "{=*}(Add 999k for trade)", new GameMenuOption.OnConditionDelegate(player_buy_food_on_condition), delegate (MenuCallbackArgs x) { GiveGoldAction.ApplyForSettlementToCharacter(Settlement.CurrentSettlement, null, -999999, false); GameMenu.SwitchToMenu("town_medical_district"); }, false, -1, false); // // campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_back", "{=qWAmxyYz}Back to town center", new GameMenuOption.OnConditionDelegate(back_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town"); }, false, -1, false); // campaignGameStarter.AddGameMenuOption("town_support_district", "town_support_district_back", "{=qWAmxyYz}Back to town center", new GameMenuOption.OnConditionDelegate(back_on_condition), delegate (MenuCallbackArgs x) // { // GameMenu.SwitchToMenu("town"); // }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support2_district", "town_support2_district_back", "{=qWAmxyYz}Back to town center", new GameMenuOption.OnConditionDelegate(back_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town"); }, false, -1, false); campaignGameStarter.AddGameMenuOption("town_support3_district", "town_support3_district_back", "{=qWAmxyYz}Back to town center", new GameMenuOption.OnConditionDelegate(back_on_condition), delegate (MenuCallbackArgs x) { GameMenu.SwitchToMenu("town"); }, false, -1, false); } // // private bool game_menu_go_to_medical_district_on_condition(MenuCallbackArgs args) { args.optionLeaveType = GameMenuOption.LeaveType.Submenu; return MenuHelper.SetOptionProperties(args, true, false, TextObject.Empty); } // private void town_medical_district_on_init(MenuCallbackArgs args) { args.MenuTitle = new TextObject("Medical District", null); } // // private bool player_buy_renown_on_condition(MenuCallbackArgs args) { int price_renown = (100 + Hero.MainHero.Level ^ 2); MBTextManager.SetTextVariable("PRICE_RENOWN", price_renown); if (Hero.MainHero.Gold >= price_renown && Hero.MainHero.Gold < price_renown * 100 && Hero.MainHero.Clan.Renown < 6150) return true; return false; } private bool player_buy_renown_10_on_condition(MenuCallbackArgs args) { int price_renown_10 = (10 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_RENOWN_10", price_renown_10); if (Hero.MainHero.Gold >= price_renown_10 && Hero.MainHero.Clan.Renown < 6150) return true; return false; } private bool player_buy_renown_100_on_condition(MenuCallbackArgs args) { int price_renown_100 = (100 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_RENOWN_100", price_renown_100); if (Hero.MainHero.Gold >= price_renown_100 && Hero.MainHero.Clan.Renown < 6050) return true; return false; } private bool player_buy_influence_on_condition(MenuCallbackArgs args) { int price_influence = (100 + Hero.MainHero.Level ^ 2); MBTextManager.SetTextVariable("PRICE_INFLUENCE", price_influence); if (Hero.MainHero.Gold >= price_influence && Hero.MainHero.Gold < price_influence * 100) return true; return false; } private bool player_buy_influence_10_on_condition(MenuCallbackArgs args) { int price_influence_10 = (10 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_INFLUENCE_10", price_influence_10); if (Hero.MainHero.Gold >= price_influence_10) return true; return false; } private bool player_buy_influence_100_on_condition(MenuCallbackArgs args) { int price_influence_100 = (100 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_INFLUENCE_100", price_influence_100); if (Hero.MainHero.Gold >= price_influence_100) return true; return false; } private bool player_swap_renown_all_on_condition(MenuCallbackArgs args) { if (Hero.MainHero.Clan.Influence >= 1 && Hero.MainHero.Clan.Renown < 6150) return true; return false; } private bool player_swap_influence_all_on_condition(MenuCallbackArgs args) { if (Hero.MainHero.Clan.Renown > 6150) return true; return false; } // private bool player_sell_renown_all_on_condition(MenuCallbackArgs args) { if (Hero.MainHero.Clan.Renown >= 1 && Hero.MainHero.Clan.Renown < 50) return true; return false; } // private bool player_xp_onehanded_on_condition(MenuCallbackArgs args) { int price_xp_onehanded = 100 + (Hero.MainHero.Level ^ 2) + (Hero.MainHero.GetSkillValue(DefaultSkills.OneHanded) * Hero.MainHero.GetSkillValue(DefaultSkills.OneHanded)); MBTextManager.SetTextVariable("PRICE_XP_ONEHANDED", price_xp_onehanded); if (Hero.MainHero.Gold >= price_xp_onehanded) return true; return false; } private bool player_xp_twohanded_on_condition(MenuCallbackArgs args) { int price_xp_twohanded = 100 + (Hero.MainHero.Level ^ 2) + (Hero.MainHero.GetSkillValue(DefaultSkills.TwoHanded) * Hero.MainHero.GetSkillValue(DefaultSkills.TwoHanded)); MBTextManager.SetTextVariable("PRICE_XP_TWOHANDED", price_xp_twohanded); if (Hero.MainHero.Gold >= price_xp_twohanded) return true; return false; } private bool player_xp_polearm_on_condition(MenuCallbackArgs args) { int price_xp_polearm = 100 + (Hero.MainHero.Level ^ 2) + (Hero.MainHero.GetSkillValue(DefaultSkills.Polearm) * Hero.MainHero.GetSkillValue(DefaultSkills.Polearm)); MBTextManager.SetTextVariable("PRICE_XP_POLEARM", price_xp_polearm); if (Hero.MainHero.Gold >= price_xp_polearm) return true; return false; } private bool player_xp_bow_on_condition(MenuCallbackArgs args) { int price_xp_bow = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Bow) * Hero.MainHero.GetSkillValue(DefaultSkills.Bow)); MBTextManager.SetTextVariable("PRICE_XP_BOW", price_xp_bow); if (Hero.MainHero.Gold >= price_xp_bow) return true; return false; } private bool player_xp_crossbow_on_condition(MenuCallbackArgs args) { int price_xp_crossbow = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Crossbow) * Hero.MainHero.GetSkillValue(DefaultSkills.Crossbow)); MBTextManager.SetTextVariable("PRICE_XP_CROSSBOW", price_xp_crossbow); if (Hero.MainHero.Gold >= price_xp_crossbow) return true; return false; } private bool player_xp_throwing_on_condition(MenuCallbackArgs args) { int price_xp_throwing = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Throwing) * Hero.MainHero.GetSkillValue(DefaultSkills.Throwing)); MBTextManager.SetTextVariable("PRICE_XP_THROWING", price_xp_throwing); if (Hero.MainHero.Gold >= price_xp_throwing) return true; return false; } private bool player_xp_riding_on_condition(MenuCallbackArgs args) { int price_xp_riding = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Riding) * Hero.MainHero.GetSkillValue(DefaultSkills.Riding)); MBTextManager.SetTextVariable("PRICE_XP_RIDING", price_xp_riding); if (Hero.MainHero.Gold >= price_xp_riding) return true; return false; } private bool player_xp_athletics_on_condition(MenuCallbackArgs args) { int price_xp_athletics = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Athletics) * Hero.MainHero.GetSkillValue(DefaultSkills.Athletics)); MBTextManager.SetTextVariable("PRICE_XP_ATHLETICS", price_xp_athletics); if (Hero.MainHero.Gold >= price_xp_athletics) return true; return false; } private bool player_xp_crafting_on_condition(MenuCallbackArgs args) { int price_xp_crafting = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) * Hero.MainHero.GetSkillValue(DefaultSkills.Crafting)); MBTextManager.SetTextVariable("PRICE_XP_CRAFTING", price_xp_crafting); if (Hero.MainHero.Gold >= price_xp_crafting) return true; return false; } private bool player_xp_scouting_on_condition(MenuCallbackArgs args) { int price_xp_scouting = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Scouting) * Hero.MainHero.GetSkillValue(DefaultSkills.Scouting)); MBTextManager.SetTextVariable("PRICE_XP_SCOUTING", price_xp_scouting); if (Hero.MainHero.Gold >= price_xp_scouting) return true; return false; } private bool player_xp_tactics_on_condition(MenuCallbackArgs args) { int price_xp_tactics = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Tactics) * Hero.MainHero.GetSkillValue(DefaultSkills.Tactics)); MBTextManager.SetTextVariable("PRICE_XP_TACTICS", price_xp_tactics); if (Hero.MainHero.Gold >= price_xp_tactics) return true; return false; } private bool player_xp_roguery_on_condition(MenuCallbackArgs args) { int price_xp_roguery = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) * Hero.MainHero.GetSkillValue(DefaultSkills.Roguery)); MBTextManager.SetTextVariable("PRICE_XP_ROGUERY", price_xp_roguery); if (Hero.MainHero.Gold >= price_xp_roguery) return true; return false; } private bool player_xp_charm_on_condition(MenuCallbackArgs args) { int price_xp_charm = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Charm) * Hero.MainHero.GetSkillValue(DefaultSkills.Charm)); MBTextManager.SetTextVariable("PRICE_XP_CHARM", price_xp_charm); if (Hero.MainHero.Gold >= price_xp_charm) return true; return false; } private bool player_xp_leadership_on_condition(MenuCallbackArgs args) { int price_xp_leadership = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) * Hero.MainHero.GetSkillValue(DefaultSkills.Leadership)); MBTextManager.SetTextVariable("PRICE_XP_LEADERSHIP", price_xp_leadership); if (Hero.MainHero.Gold >= price_xp_leadership) return true; return false; } private bool player_xp_trade_on_condition(MenuCallbackArgs args) { int price_xp_trade = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Trade) * Hero.MainHero.GetSkillValue(DefaultSkills.Trade)); MBTextManager.SetTextVariable("PRICE_XP_TRADE", price_xp_trade); if (Hero.MainHero.Gold >= price_xp_trade) return true; return false; } private bool player_xp_steward_on_condition(MenuCallbackArgs args) { int price_xp_steward = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Steward) * Hero.MainHero.GetSkillValue(DefaultSkills.Steward)); MBTextManager.SetTextVariable("PRICE_XP_STEWARD", price_xp_steward); if (Hero.MainHero.Gold >= price_xp_steward) return true; return false; } private bool player_xp_medicine_on_condition(MenuCallbackArgs args) { int price_xp_medicine = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Medicine) * Hero.MainHero.GetSkillValue(DefaultSkills.Medicine)); MBTextManager.SetTextVariable("PRICE_XP_MEDICINE", price_xp_medicine); if (Hero.MainHero.Gold >= price_xp_medicine) return true; return false; } private bool player_xp_engineering_on_condition(MenuCallbackArgs args) { int price_xp_engineering = 100 + (Hero.MainHero.Level * Hero.MainHero.Level) + (Hero.MainHero.GetSkillValue(DefaultSkills.Engineering) * Hero.MainHero.GetSkillValue(DefaultSkills.Engineering)); MBTextManager.SetTextVariable("PRICE_XP_ENGINEERING", price_xp_engineering); if (Hero.MainHero.Gold >= price_xp_engineering) return true; return false; } // // private bool player_buy_wood_on_condition(MenuCallbackArgs args) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); MBTextManager.SetTextVariable("PRICE_WOOD", price_wood); if (Hero.MainHero.Gold >= price_wood && Hero.MainHero.Gold < price_wood * 100) return true; return false; } private bool player_buy_wood_10_on_condition(MenuCallbackArgs args) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); MBTextManager.SetTextVariable("PRICE_WOOD_10", price_wood*10); if (Hero.MainHero.Gold >= price_wood*10) return true; return false; } private bool player_buy_wood_100_on_condition(MenuCallbackArgs args) { int price_wood = ((100 + Hero.MainHero.Level ^ 2) / 2); MBTextManager.SetTextVariable("PRICE_WOOD_100", price_wood*100); if (Hero.MainHero.Gold >= price_wood*100) return true; return false; } private bool player_buy_coal_on_condition(MenuCallbackArgs args) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); MBTextManager.SetTextVariable("PRICE_COAL", price_coal); if (Hero.MainHero.Gold >= price_coal && Hero.MainHero.Gold < price_coal * 100) return true; return false; } private bool player_buy_coal_10_on_condition(MenuCallbackArgs args) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); MBTextManager.SetTextVariable("PRICE_COAL_10", price_coal*10); if (Hero.MainHero.Gold >= price_coal*10) return true; return false; } private bool player_buy_coal_100_on_condition(MenuCallbackArgs args) { int price_coal = ((100 + Hero.MainHero.Level ^ 2) / 3); MBTextManager.SetTextVariable("PRICE_COAL_100", price_coal*100); if (Hero.MainHero.Gold >= price_coal*100) return true; return false; } private bool player_buy_iron_on_condition(MenuCallbackArgs args) { int price_iron = ((100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_IRON", price_iron); if (Hero.MainHero.Gold >= price_iron && Hero.MainHero.Gold < price_iron * 100) return true; return false; } private bool player_buy_iron_10_on_condition(MenuCallbackArgs args) { int price_iron = ((100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_IRON_10", price_iron*10); if (Hero.MainHero.Gold >= price_iron*10) return true; return false; } private bool player_buy_iron_100_on_condition(MenuCallbackArgs args) { int price_iron = ((100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_IRON_100", price_iron*100); if (Hero.MainHero.Gold >= price_iron*100) return true; return false; } private bool player_swap_coal2_on_condition(MenuCallbackArgs args) { int wood_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("hardwood")); int wood_amount2 = (int)wood_amount / 2; MBTextManager.SetTextVariable("WOOD_AMOUNT2", wood_amount2); if (wood_amount2 >= 1) return true; return false; } private bool player_swap_coal_on_condition(MenuCallbackArgs args) { int ironIngot1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); MBTextManager.SetTextVariable("IRONINGOT1_AMOUNT", ironIngot1_amount); if (ironIngot1_amount >= 1) return true; return false; } private bool player_swap_iron_on_condition(MenuCallbackArgs args) { int iron_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("iron")); MBTextManager.SetTextVariable("IRON_AMOUNT", iron_amount); if (iron_amount >= 1) return true; return false; } private bool player_swap_iron1_on_condition(MenuCallbackArgs args) { int iron1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); int coal_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("charcoal")); int swap_iron1_amount = Math.Min(iron1_amount, coal_amount); MBTextManager.SetTextVariable("SWAP_IRON1_AMOUNT", swap_iron1_amount); if (swap_iron1_amount >= 1) return true; return false; } private bool player_swap_iron2_on_condition(MenuCallbackArgs args) { int ironIngot1_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot1")); int ironIngot1_amount2 = (int)ironIngot1_amount / 2; MBTextManager.SetTextVariable("IRONINGOT1_AMOUNT2", ironIngot1_amount2); if (ironIngot1_amount2 >= 1) return true; return false; } private bool player_swap_iron3_on_condition(MenuCallbackArgs args) { int ironIngot2_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot2")); int ironIngot2_amount2 = (int)ironIngot2_amount / 2; MBTextManager.SetTextVariable("IRONINGOT2_AMOUNT2", ironIngot2_amount2); if (ironIngot2_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 25) return true; return false; } private bool player_swap_iron4_on_condition(MenuCallbackArgs args) { int ironIngot3_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot3")); int ironIngot3_amount2 = (int)ironIngot3_amount / 2; MBTextManager.SetTextVariable("IRONINGOT3_AMOUNT2", ironIngot3_amount2); if (ironIngot3_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 50) return true; return false; } private bool player_swap_iron5_on_condition(MenuCallbackArgs args) { int ironIngot4_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot4")); int ironIngot4_amount2 = (int)ironIngot4_amount / 2; MBTextManager.SetTextVariable("IRONINGOT4_AMOUNT2", ironIngot4_amount2); if (ironIngot4_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 75) return true; return false; } private bool player_swap_iron6_on_condition(MenuCallbackArgs args) { int ironIngot5_amount = Campaign.Current.MainParty.ItemRoster.GetItemNumber(Game.Current.ObjectManager.GetObject("ironIngot5")); int ironIngot5_amount2 = (int)ironIngot5_amount / 2; MBTextManager.SetTextVariable("IRONINGOT5_AMOUNT2", ironIngot5_amount2); if (ironIngot5_amount2 >= 1 && Hero.MainHero.GetSkillValue(DefaultSkills.Crafting) >= 100) return true; return false; } // private bool player_buy_food_on_condition(MenuCallbackArgs args) { int price_all_food = (11 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_ALL_FOOD", price_all_food); if (Hero.MainHero.Gold >= price_all_food) return true; return false; } // private bool player_buy_sumpter_horse_on_condition(MenuCallbackArgs args) { int price_sumpter_horse = (3 * (100 + Hero.MainHero.Level ^ 2) / 2); MBTextManager.SetTextVariable("PRICE_SUMPTER_HORSE", price_sumpter_horse); if (Hero.MainHero.Gold >= price_sumpter_horse) return true; return false; } private bool player_buy_10_sumpter_horse_on_condition(MenuCallbackArgs args) { int price_sumpter_horse = (3 * (100 + Hero.MainHero.Level ^ 2) / 2); MBTextManager.SetTextVariable("PRICE_10_SUMPTER_HORSE", price_sumpter_horse * 10); if (Hero.MainHero.Gold >= price_sumpter_horse * 10) return true; return false; } private bool player_buy_horse_on_condition(MenuCallbackArgs args) { int price_horse = (3 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_HORSE", price_horse); if (Hero.MainHero.Gold >= price_horse) return true; return false; } private bool player_buy_10_horse_on_condition(MenuCallbackArgs args) { int price_horse = (3 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_10_HORSE", price_horse * 10); if (Hero.MainHero.Gold >= price_horse * 10) return true; return false; } private bool player_buy_war_horse_on_condition(MenuCallbackArgs args) { int price_war_horse = (9 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_WAR_HORSE", price_war_horse); if (Hero.MainHero.Gold >= price_war_horse) return true; return false; } private bool player_buy_10_war_horse_on_condition(MenuCallbackArgs args) { int price_war_horse = (9 * (100 + Hero.MainHero.Level ^ 2)); MBTextManager.SetTextVariable("PRICE_10_WAR_HORSE", price_war_horse * 10); if (Hero.MainHero.Gold >= price_war_horse * 10) return true; return false; } // // lv 1, cost - 10 (20) private bool player_hire_villager_empire_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) return true; return false; } private bool player_hire_10_villager_empire_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) return true; return false; } private bool player_hire_all_villager_empire_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) return true; return false; } private bool player_hire_villager_vlandia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) return true; return false; } private bool player_hire_10_villager_vlandia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) return true; return false; } private bool player_hire_all_villager_vlandia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) return true; return false; } private bool player_hire_villager_battania_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) return true; return false; } private bool player_hire_10_villager_battania_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) return true; return false; } private bool player_hire_all_villager_battania_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) return true; return false; } private bool player_hire_villager_sturgia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) return true; return false; } private bool player_hire_10_villager_sturgia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) return true; return false; } private bool player_hire_all_villager_sturgia_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) return true; return false; } private bool player_hire_villager_aserai_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) return true; return false; } private bool player_hire_10_villager_aserai_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) { return true; }; return false; } private bool player_hire_all_villager_aserai_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) return true; return false; } private bool player_hire_villager_khuzait_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_VILLAGER", hire_villager); if (Hero.MainHero.Gold >= hire_villager && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) return true; return false; } private bool player_hire_10_villager_khuzait_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_VILLAGER", hire_villager * 10); if (Hero.MainHero.Gold >= hire_villager * 10 && partysize_amount >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) return true; return false; } private bool player_hire_all_villager_khuzait_on_condition(MenuCallbackArgs args) { int hire_villager = ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_villager; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount > 0 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) return true; return false; } // // lv 6, cost - 20 (40), clan 1 (50 renown), tier 1 (25 skill) private bool player_hire_recruit_empire_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_empire_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_empire_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } // private bool player_hire_recruit_vlandia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= hire_recruit && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_vlandia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_vlandia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_recruit_battania_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_battania_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_battania_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_recruit_sturgia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_sturgia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_sturgia_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_recruit_aserai_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_aserai_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_aserai_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_recruit_khuzait_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_khuzait_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_recruit * 10); if (Hero.MainHero.Gold >= hire_recruit * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_khuzait_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } // private bool player_hire_recruit_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_RECRUIT", hire_recruit); if (Hero.MainHero.Gold >= hire_recruit && partysize_amount > 0 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_10_recruit_on_condition(MenuCallbackArgs args) { int hire_10_recruit = 10 * 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_RECRUIT", hire_10_recruit); if (Hero.MainHero.Gold >= hire_10_recruit && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_hire_all_recruit_on_condition(MenuCallbackArgs args) { int hire_recruit = 2 * ((100 + Hero.MainHero.Level ^ 2) / 5); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_recruit; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 50) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } //hire elite private bool player_hire_elite_empire_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_empire_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_empire_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_elite_vlandia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_vlandia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_vlandia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_elite_battania_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_battania_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_battania_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_elite_sturgia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_sturgia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_sturgia_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_elite_aserai_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_aserai_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_aserai_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_elite_khuzait_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_ELITE", hire_elite); if (Hero.MainHero.Gold >= hire_elite && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_10_elite_khuzait_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; MBTextManager.SetTextVariable("HIRE_10_ELITE", hire_elite * 10); if (Hero.MainHero.Gold >= hire_elite * 10 && partysize_amount >= 10 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 10 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_hire_all_elite_khuzait_on_condition(MenuCallbackArgs args) { int hire_elite = (100 + Hero.MainHero.Level ^ 2); int partysize_amount = PartyBase.MainParty.PartySizeLimit - PartyBase.MainParty.NumberOfAllMembers; int price_partysize_amount = partysize_amount * hire_elite; MBTextManager.SetTextVariable("PARTYSIZE_AMOUNT", partysize_amount); MBTextManager.SetTextVariable("PRICE_PARTYSIZE_AMOUNT", price_partysize_amount); if (Hero.MainHero.Gold >= price_partysize_amount && partysize_amount >= 1 && Hero.MainHero.Clan.Renown >= 150 && Hero.MainHero.Clan.Influence >= 1 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } // // upgrade lv 1-6, cost: 10-20 (20), clan 1 (50 renown), tier 1 (25 skill) private bool player_upgrade_villager_empire_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_empire")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_upgrade_villager_vlandia_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_vlandia")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_upgrade_villager_battania_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_battania")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_upgrade_villager_sturgia_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_sturgia")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_upgrade_villager_aserai_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_aserai")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } private bool player_upgrade_villager_khuzait_on_condition(MenuCallbackArgs args) { int upgrade_villager = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("villager_khuzait")); int price_upgrade_villager = upgrade_villager * ((100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_VILLAGER", upgrade_villager); MBTextManager.SetTextVariable("PRICE_UPGRADE_VILLAGER", price_upgrade_villager); if (Hero.MainHero.Gold >= price_upgrade_villager && upgrade_villager > 0 && Hero.MainHero.Clan.Renown >= 50 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) // if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 25 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 75) return true; return false; } // lv 6-11, cost: 20-50 (60), clan 2 (150 renown), tier 2 (skill 50) private bool player_upgrade_elite_empire_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("imperial_recruit")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Empire) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 100) return true; return false; } private bool player_upgrade_elite_vlandia_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("vlandian_recruit")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Vlandia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_upgrade_elite_battania_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("battanian_volunteer")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Battania) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_upgrade_elite_sturgia_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("sturgian_recruit")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Sturgia) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_upgrade_elite_aserai_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("aserai_recruit")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Aserai) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } private bool player_upgrade_elite_khuzait_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("khuzait_nomad")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150 && Settlement.CurrentSettlement.Culture.GetCultureCode() == CultureCode.Khuzait) if (Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } // private bool player_upgrade_elite_on_condition(MenuCallbackArgs args) { int upgrade_elite = Campaign.Current.MainParty.MemberRoster.GetTroopCount(Game.Current.ObjectManager.GetObject("looter")); int price_upgrade_elite = upgrade_elite * (3 * (100 + Hero.MainHero.Level ^ 2) / 5); MBTextManager.SetTextVariable("UPGRADE_ELITE", upgrade_elite); MBTextManager.SetTextVariable("PRICE_UPGRADE_ELITE", price_upgrade_elite); if (Hero.MainHero.Gold >= price_upgrade_elite && upgrade_elite > 0 && Hero.MainHero.Clan.Renown >= 150) if (Hero.MainHero.GetSkillValue(DefaultSkills.Roguery) >= 50 || Hero.MainHero.GetSkillValue(DefaultSkills.Leadership) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Trade) >= 100 || Hero.MainHero.GetSkillValue(DefaultSkills.Steward) >= 150) return true; return false; } // // // private bool player_needs_heal_on_condition(MenuCallbackArgs args) { if (Hero.MainHero.HitPoints < Hero.MainHero.MaxHitPoints) { int price = PriceToHeal(Hero.MainHero); MBTextManager.SetTextVariable("HEAL_SELF_AMOUNT", price); args.optionLeaveType = GameMenuOption.LeaveType.RansomAndBribe; return true; } return false; } private void HealPlayerCharacter() { int price = PriceToHeal(Hero.MainHero); Hero.MainHero.HitPoints = Hero.MainHero.MaxHitPoints; GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price, false); GameMenu.SwitchToMenu("town_medical_district"); } private bool companions_needs_heal_on_condition(MenuCallbackArgs args) { int numberInjured = 0; int price = 0; CalculatePriceAndNumInjured(ref price, ref numberInjured, false, false); if (numberInjured > 0) { MBTextManager.SetTextVariable("HEAL_COMPANION_AMOUNT", price); args.optionLeaveType = GameMenuOption.LeaveType.RansomAndBribe; return true; } return false; } private bool party_characters_needs_heal_on_condition(MenuCallbackArgs args) { int numberInjured = 0; int price = 0; CalculatePriceAndNumInjured(ref price, ref numberInjured, true, false); if (numberInjured > 1 && Hero.MainHero.HitPoints < Hero.MainHero.MaxHitPoints) { MBTextManager.SetTextVariable("HEAL_ALL_AMOUNT", price); args.optionLeaveType = GameMenuOption.LeaveType.RansomAndBribe; return true; } return false; } private void HealPartyCharacters(bool healplayer) { int numberTreated = 0; int price = 0; CalculatePriceAndNumInjured(ref price, ref numberTreated, healplayer, true); if (numberTreated > 0) { GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price, false); } GameMenu.SwitchToMenu("town_medical_district"); } private bool back_on_condition(MenuCallbackArgs args) { args.optionLeaveType = GameMenuOption.LeaveType.Leave; return true; } private int PriceToHeal(Hero hero) { double basePrice = 100 + Hero.MainHero.Level ^ 2; double percentHpMissing = (double)(hero.MaxHitPoints - hero.HitPoints) / hero.MaxHitPoints; return Convert.ToInt32(basePrice * percentHpMissing); } private void CalculatePriceAndNumInjured(ref int price, ref int numberTreated, bool includeMainHero, bool restoreHealth) { TroopRoster memberRoster = MobileParty.MainParty.MemberRoster; if (memberRoster.TotalHeroes > 0) { for (int i = 0; i < memberRoster.Count; i++) { Hero heroObject = memberRoster.GetCharacterAtIndex(i).HeroObject; if (heroObject != null) { if (heroObject.HitPoints < heroObject.MaxHitPoints && (includeMainHero || heroObject != Hero.MainHero)) { numberTreated++; price += PriceToHeal(heroObject); if (restoreHealth) { heroObject.HitPoints = heroObject.MaxHitPoints; } } } } } } } }