Oltopeteeh
Regular
Base .dll mod: MedicalDistrict
Small Change:
Change cost healing 1.000 -> 100 (testing the ability to compile an edited file);
___
Buy Renown
and technical addition (hiding the option, if the conditions are not met):
___
Buy Influence
plus technical addition
___
Change Renown over 6150 to Influence
===
Bannerlord.MedicalDistrict_OltoMod.rar (dll only, need to insert with replacement into the original mod):
===
Question: How add item to the player's inventory?
For example, coal (id = "charcoal").
This do not work and I don't understand "why"
GitHub - sweatty1/Bannerlord.MedicalDistrict
Contribute to sweatty1/Bannerlord.MedicalDistrict development by creating an account on GitHub.
github.com
Small Change:
Change cost healing 1.000 -> 100 (testing the ability to compile an edited file);
___
Buy Renown
Code:
campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_buy_renown", "{=*}1 Renown {PRICE_RENOWN}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_buy_renown_on_condition), delegate (MenuCallbackArgs x)
{
int price_renown = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
if (Hero.MainHero.Gold >= price_renown)
{
Hero.MainHero.Clan.AddRenown(1, true);
GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price_renown, false);
};
}, false, -1, false);
Code:
private bool player_buy_renown_on_condition(MenuCallbackArgs args)
{
int price_renown = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
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;
}
___
Buy Influence
Code:
campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_district_buy_influence", "{=*}1 Influence {PRICE_INFLUENCE}{GOLD_ICON}", new GameMenuOption.OnConditionDelegate(player_buy_influence_on_condition), delegate (MenuCallbackArgs x)
{
int price_influence = 100 + Hero.MainHero.Level * Hero.MainHero.Level;
if (Hero.MainHero.Gold >= price_influence)
{
Hero.MainHero.AddInfluenceWithKingdom(1);
GiveGoldAction.ApplyBetweenCharacters(null, Hero.MainHero, -price_influence, false);
};
}, false, -1, false);
___
Change Renown over 6150 to Influence
Code:
campaignGameStarter.AddGameMenuOption("town_medical_district", "town_medical_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 -= renown_to_influence;
};
}, false, -1, false);
===
Bannerlord.MedicalDistrict_OltoMod.rar (dll only, need to insert with replacement into the original mod):
Bannerlord.MedicalDistrict_OltoMod.rar
drive.google.com
Question: How add item to the player's inventory?
For example, coal (id = "charcoal").
Campaign.Current.MainParty.ItemRoster.Add(new ItemRosterElement(new ItemObject("charcoal"), 1));
This do not work and I don't understand "why"
Last edited: