Recent content by Calabanar

  1. Calabanar

    Beta Patch Notes v1.2.0-v1.2.6

    If you share a support ticket, we can look into its current status.
    Will do
  2. Calabanar

    Beta Patch Notes v1.2.0-v1.2.6

    Can we expect a fix for the "getting kicked out of settlement siege when kingdom hires/disbands mercenaries" soon?
  3. Calabanar

    Death Rate needs to be fixed

    It would be nice to have mortality be a genuine risk that is mitigated through behavior rather than dice rolls. If wars were waged for more specific reasons with clear goals (territory reclamation, retaliation against peace-time raids, opportunistic conquest of a border city) then they would happen less frequently, no longer have inscrutable logic, and be more flavorful. They also wouldn't result in so many castle siege flip-flops on average (which also means fewer opportunities for field battles to break sieges), because the AI would focus on the declared goal and not run off to siege whichever castle their omniscience tells them has the lowest garrison (even if it's far from the border or objective). Plus, there is the potential feature of ending wars with terms other than tribute, as surrendering a territorial claim could be readily given a monetary value.

    Sim battles absolutely should not result in 100% casualties for one side every single time, it's a vastly different outcome than what the player typically experiences first hand. Scatter armies & lord parties, breaking up casualties into four groups: killed, captured, escaped, deserted. Weight casualties in descending order respectively, to accurately reflect the player's experience, and if you want to get fancy then you can have the weighting shift based on unit tier, with low tier having the highest chance to die, mid-tier having the highest chance to desert, and high-tier having the highest chance to be captured or escape. That is to say, death would have the highest chance for all unit tiers, but the lower tiers might face a 75% death rate compared to a top-tier unit only facing 40% or so. Deserters could pop up as their own parties, or be tallied into a regional pool and dispersed into bandit parties that spawn naturally. In this way, factions would feel longer-term consequences of war because of the subsequent increase in banditry. Lords would have combat-oriented tasks even in peace, and more reason to subdue bandits themselves.
    Wholeheartedly agree with this take.
  4. Calabanar

    What bonus should the Dragon Banner give in your opinion?

    I think one interesting mechanic could be accelerating a world conquest for players who want to do that. So having the banner makes enemy lords (who see you flying the banner) assemble most of what they have to fight you in the field in one final series of winner-takes-all battles. I get the impression that this is what the conspiracy quest is supposed to be.
    That actually sounds like an interesting idea.

    Story mode would have a proper conclusion, instead of immediately going back to sandbox mode with a banner that... really doesn't do anything at all.

    I guess after all the cutscenes, the player could still choose to keep on playing, à la Civilization V.
  5. Calabanar

    1.2 = No Wars = Boring

    Eh, I like the current pace.
  6. Calabanar

    Beta Patch Notes v1.2.0-v1.2.6

    Well, this looks like a veeery promising patchie!

    I must say, deciding to team-colour all armors is probably a good choice: if you're doing something, might as well go all the way!

    I might reinstall Bannerlord to give this beta a try, looking good! :party:
  7. Calabanar

    Patch Notes v1.1.4

    Hoping for Japan DLC :smile: Yes I'm a Weeabo my profile icon lol. Steampunk would be cool too. Airships!!!!!!!!!!!!!
    :neutral:
  8. Calabanar

    About the new animations for female characters.

    Eeeeh... from an animation standpoint there is a clear difference between what you are showing and the way the female character moves in game, that I would summarize it this way: the female character doesn't feel confident or competent. Their movements are uncertain, slappy... that's the actual core of the problem imo.

    Unless of course they actually plan on adding different animations depending on character skill (I remember this being a thing in devblogs but don't know wether it has been implemented?). Basically it looks a bit too goofy for sexy walks, and not confident enough for a warrior. The animator is probably learning, so no biggie on them.
  9. Calabanar

    SP Tutorial Module System How to make troops recruitable from castle/towns.

    Oh. My. Bloody. God. Finally got this to work. I have spent way too much time on this, but at least it works now, and uh, yeah, the initial tutorial is unfortunately very confusing, so...


    For any newcomer who would like to use this OSP code but isn't good at navigating the module system, here is what you have to do:

    Hint: When I say Ctrl+f "something" you should hold Ctrl + f and then paste the text in bold.

    Alright, let's get started.

    Open module_scripts and Ctrl+f #script_cf_village_recruit_volunteers_cond , once you have found it, paste the following code on top, as shown here (additions are in green, the rest is for reference so you know put the code in the right place):

    #script_cf_troop_agent_is_alive
    # INPUT: arg1 = troop_id
    ("cf_troop_agent_is_alive",
    [(store_script_param, ":troop_no", 1),
    (assign, ":alive_count", 0),
    (try_for_agents, ":cur_agent"),
    (agent_get_troop_id, ":cur_agent_troop", ":cur_agent"),
    (eq, ":troop_no", ":cur_agent_troop"),
    (agent_is_alive, ":cur_agent"),
    (val_add, ":alive_count", 1),
    (try_end),
    (gt, ":alive_count", 0),
    ]),

    #script_cf_town_castle_recruit_volunteers_cond
    # INPUT: none
    # OUTPUT: none
    ("cf_castle_recruit_nobles_cond",
    [(store_faction_of_party, ":town_faction", "$current_town"),
    (party_get_slot, ":center_relation", "$current_town", slot_center_player_relation),
    (store_relation, ":town_faction_relation", ":town_faction", "fac_player_faction"),
    (ge, ":center_relation", 0),
    (this_or_next|ge, ":center_relation", 5),
    (this_or_next|eq, ":town_faction", "$players_kingdom"),
    (this_or_next|ge, ":town_faction_relation", 5),
    (this_or_next|eq, ":town_faction", "$supported_pretender_old_faction"),
    ( eq, "$players_kingdom", 0),
    (party_slot_ge, "$current_town", slot_center_volunteer_troop_amount, 0),
    (party_slot_ge, "$current_town", slot_center_volunteer_troop_type, 1),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (ge, ":free_capacity", 1),
    ]),

    #script_cf_town_recruit_volunteers_cond
    # INPUT: none
    # OUTPUT: none
    ("cf_town_recruit_professionals_cond", #renamed
    [(store_faction_of_party, ":town_faction", "$current_town"),
    (party_get_slot, ":center_relation", "$current_town", slot_center_player_relation),
    (store_relation, ":town_faction_relation", ":town_faction", "fac_player_faction"),
    (ge, ":center_relation", 0),
    (this_or_next|ge, ":center_relation", 10),
    (this_or_next|eq, ":town_faction", "$players_kingdom"),
    (this_or_next|ge, ":town_faction_relation", 0),
    (this_or_next|eq, ":town_faction", "$supported_pretender_old_faction"),
    ( eq, "$players_kingdom", 0),
    (party_slot_ge, "$current_town", slot_center_volunteer_troop_amount, 0),
    (party_slot_ge, "$current_town", slot_center_volunteer_troop_type, 1),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (ge, ":free_capacity", 1),
    ]),


    #script_cf_village_recruit_volunteers_cond
    # INPUT: none
    # OUTPUT: none
    ("cf_village_recruit_volunteers_cond",

    Once that is done, Ctrl+f #script_village_recruit_volunteers_recruit , again, post the following code (in green) on top as shown here:

    (try_begin),
    (eq, "$cheat_mode", 1),
    (display_message, "str_party_has_capacity"),
    (try_end),


    ]),

    #script_town_castle_recruit_nobles_recruit
    # INPUT: none
    # OUTPUT: none
    ("cf_castle_recruit_nobles",
    [(store_faction_of_party, ":cur_faction", "$current_town"),
    (faction_get_slot, ":volunteer_troop", ":cur_faction", slot_faction_tier_5_troop),
    (party_get_slot, ":volunteer_amount", "$current_town", slot_center_volunteer_troop_amount),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (val_min, ":volunteer_amount", ":free_capacity"),
    (store_troop_gold, ":gold", "trp_player"),
    (store_div, ":gold_capacity", ":gold", 200),#200 denars per man
    (val_min, ":volunteer_amount", ":gold_capacity"),
    (party_add_members, "p_main_party", ":volunteer_troop", ":volunteer_amount"),
    (party_set_slot, "$current_town", slot_center_volunteer_troop_amount, -1),
    (store_mul, ":cost", ":volunteer_amount", 200),#10 denars per man (troop_remove_gold, "trp_player", ":cost"),
    ]),

    #script_town_recruit_nobles_recruit
    # INPUT: none
    # OUTPUT: none
    ("cf_town_recruit_professionals", #renamed
    [(store_faction_of_party, ":cur_faction", "$current_town"),
    (faction_get_slot, ":volunteer_troop", ":cur_faction", slot_faction_tier_3_troop), #Since this updated version of the code sets recruit cost to 40 denars it might be good to change the #troop tier
    (party_get_slot, ":volunteer_amount", "$current_town", slot_center_volunteer_troop_amount),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (val_min, ":volunteer_amount", ":free_capacity"),
    (store_troop_gold, ":gold", "trp_player"),
    (store_div, ":gold_capacity", ":gold", 50),#50 denars per man (val_min, ":volunteer_amount", ":gold_capacity"),
    (party_add_members, "p_main_party", ":volunteer_troop", ":volunteer_amount"),
    (party_set_slot, "$current_town", slot_center_volunteer_troop_amount, -1),
    (store_mul, ":cost", ":volunteer_amount", 50),#10 denars per man
    (troop_remove_gold, "trp_player", ":cost"),
    ]),


    #script_village_recruit_volunteers_recruit
    # INPUT: none
    # OUTPUT: none

    We are done with module_scripts so make sure to save so we can safely open the next file: module_game_menus

    Once you have opened module_game_menus, Ctrl+f ("castle_castle", , scroll down or ctrl+f once (otherwise you will be in the wrong section of the code) and find ], "Door to the castle."), . Now paste the following code underneath so it looks like this:

    ], "Door to the castle."),

    ("recruit_nobles",
    [(is_between, "$current_town", castles_begin, castles_end),
    (call_script, "script_cf_castle_recruit_nobles_cond"),
    ],"Recruit Nobles.",
    [
    (try_begin),
    (call_script, "script_cf_enter_center_location_bandit_check"),
    (else_try),
    (jump_to_menu, "mnu_recruit_nobles"),
    (try_end),
    ]),

    ("recruit_professionals",
    [(is_between, "$current_town", towns_begin, towns_end),
    (call_script, "script_cf_town_recruit_professionals_cond"),
    ],"Recruit Professionals.",
    [
    (try_begin),
    (call_script, "script_cf_enter_center_location_bandit_check"),
    (else_try),
    (jump_to_menu, "mnu_recruit_professionals"),
    (try_end),
    ]),



    ("join_tournament", [
    (neg|is_currently_night),

    For our final addition in module_game_menus, Ctrl+f notification_relieved_as_marshal and add the following code on top of it so it looks as such:

    ("continue",[],"Hold off...",
    [
    (jump_to_menu, "mnu_town"),
    ]),
    ]
    ),

    ###Town/Castle Recruitment Part 2
    (
    "recruit_nobles",0,
    "{s18}",
    "none",
    [(store_faction_of_party, ":cur_faction", "$current_town"),
    (faction_get_slot, ":volunteer_troop", ":cur_faction", slot_faction_tier_5_troop),
    (party_get_slot, ":volunteer_amount", "$current_town", slot_center_volunteer_troop_amount),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (store_troop_gold, ":gold", "trp_player"),
    (store_div, ":gold_capacity", ":gold", 200),#200 denars per noble
    (assign, ":party_capacity", ":free_capacity"),
    (val_min, ":party_capacity", ":gold_capacity"),
    (try_begin),
    (gt, ":party_capacity", 0),
    (val_min, ":volunteer_amount", ":party_capacity"),
    (try_end),
    (assign, reg5, ":volunteer_amount"),
    (assign, reg7, 0),
    (try_begin),
    (gt, ":volunteer_amount", ":gold_capacity"),
    (assign, reg7, 1), #not enough money
    (try_end),
    (try_begin),
    (eq, ":volunteer_amount", 0),
    (str_store_string, s18, "@no One here seems to be willing to join your party."),
    (else_try),
    (store_mul, reg6, ":volunteer_amount", 200),#200 denars per noble
    (str_store_troop_name_by_count, s3, ":volunteer_troop", ":volunteer_amount"),
    (try_begin),
    (eq, reg5, 1),
    (str_store_string, s18, "@One {s3} volunteers to follow you."),
    (else_try),
    (str_store_string, s18, "@{reg5} {s3} volunteer to follow you."),
    (try_end),
    (set_background_mesh, "mesh_pic_recruits"),
    (try_end),
    ],
    [
    ("continue_not_enough_gold",
    [
    (eq, reg7, 1),
    ],
    "I don't have enough money...",
    [
    (jump_to_menu, "mnu_town"),
    ]),

    ("continue",
    [
    (eq, reg7, 0),
    (eq, reg5, 0),
    ], #noone willing to join
    "Continue...",
    [
    (party_set_slot, "$current_town", slot_center_volunteer_troop_amount, -1),
    (jump_to_menu, "mnu_town"),
    ]),

    ("recruit_them",
    [
    (eq, reg7, 0),
    (gt, reg5, 0),
    ],
    "Recruit them ({reg6} denars).",
    [
    (call_script, "script_cf_castle_recruit_nobles"),

    (jump_to_menu, "mnu_town"),
    ]),

    ("forget_it",
    [
    (eq, reg7, 0),
    (gt, reg5, 0),
    ],
    "Forget it.",
    [
    (jump_to_menu, "mnu_town"),
    ]),
    ],
    ),

    (
    "recruit_professionals",0,
    "{s18}",
    "none",
    [(store_faction_of_party, ":cur_faction", "$current_town"),
    (faction_get_slot, ":volunteer_troop", ":cur_faction", slot_faction_tier_3_troop), #Notice the changed tier
    (party_get_slot, ":volunteer_amount", "$current_town", slot_center_volunteer_troop_amount),
    (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
    (store_troop_gold, ":gold", "trp_player"),
    (store_div, ":gold_capacity", ":gold", 50),#50 denars per man
    (assign, ":party_capacity", ":free_capacity"),
    (val_min, ":party_capacity", ":gold_capacity"),
    (try_begin),
    (gt, ":party_capacity", 0),
    (val_min, ":volunteer_amount", ":party_capacity"),
    (try_end),
    (assign, reg5, ":volunteer_amount"),
    (assign, reg7, 0),
    (try_begin),
    (gt, ":volunteer_amount", ":gold_capacity"),
    (assign, reg7, 1), #not enough money
    (try_end),
    (try_begin),
    (eq, ":volunteer_amount", 0),
    (str_store_string, s18, "@no One here seems to be willing to join your party."),
    (else_try),
    (store_mul, reg6, ":volunteer_amount", 50),#50 denars per man
    (str_store_troop_name_by_count, s3, ":volunteer_troop", ":volunteer_amount"),
    (try_begin),
    (eq, reg5, 1),
    (str_store_string, s18, "@One {s3} volunteers to follow you."),
    (else_try),
    (str_store_string, s18, "@{reg5} {s3} volunteer to follow you."),
    (try_end),
    (set_background_mesh, "mesh_pic_recruits"),
    (try_end),
    ],
    [
    ("continue_not_enough_gold",
    [
    (eq, reg7, 1),
    ],
    "I don't have enough money...",
    [
    (jump_to_menu, "mnu_town"),
    ]),

    ("continue",
    [
    (eq, reg7, 0),
    (eq, reg5, 0),
    ], #noone willing to join
    "Continue...",
    [
    (party_set_slot, "$current_town", slot_center_volunteer_troop_amount, -1),
    (jump_to_menu, "mnu_town"),
    ]),

    ("recruit_them",
    [
    (eq, reg7, 0),
    (gt, reg5, 0),
    ],
    "Recruit them ({reg6} denars).",
    [
    (call_script, "script_cf_town_recruit_professionals"),

    (jump_to_menu, "mnu_town"),
    ]),

    ("forget_it",
    [
    (eq, reg7, 0),
    (gt, reg5, 0),
    ],
    "Forget it.",
    [
    (jump_to_menu, "mnu_town"),
    ]),
    ],
    ),


    ("notification_relieved_as_marshal", mnf_disable_all_keys,

    Note: You may have a different script on top, but as long as you add the code before the ("notification_relieved_as_marshal" ... you should be fine.


    Finally, open up module_simple_triggers, Ctrl+f # Adding mercenary troops to the towns , and replace villages_begin, villages_end with centers_begin, centers_end so it looks like this:

    # Adding mercenary troops to the towns
    (72,
    [
    (call_script, "script_update_mercenary_units_of_towns"),
    #NPC changes begin
    # removes (call_script, "script_update_companion_candidates_in_taverns"),
    #NPC changes end
    (call_script, "script_update_ransom_brokers"),
    (call_script, "script_update_tavern_travellers"),
    (call_script, "script_update_tavern_minstrels"),
    (call_script, "script_update_booksellers"),
    (call_script, "script_update_villages_infested_by_bandits"),
    (try_for_range, ":village_no", centers_begin, centers_end),
    (call_script, "script_update_volunteer_troops_in_village", ":village_no"),
    (call_script, "script_update_npc_volunteer_troops_in_village", ":village_no"),
    (try_end),
    ]),

    That's it! Hopefully this ends up helping someone.
  10. Calabanar

    Documentation MaBLED - Mount & Blade Language and Engine Documentation

    Great work, thanks for your time and effort :wink:
  11. Calabanar

    Statement regarding Singleplayer IV

    I like how positive this thread seems, good job Duh :grin:
  12. Calabanar

    About the new animations for female characters.

    The running one looks goofy, she looks lost/panicking :grin:

    It'd be nice if they could improve on these animations to make them a tad less caricatural.


    At least they gave it a shot, if they can improve on them, then props to them, it's a nice detail.
  13. Calabanar

    Patch Notes v1.1.4

    NFD_V.jpg
    Genuinely never noticed this! :lol:

    Thanks for the share, everything makes much more sense now.
  14. Calabanar

    Patch Notes v1.1.2

    @Dejan any patch likely this month?
    You're probably asking a tad too early there :smile:
  15. Calabanar

    Patch Notes v1.1.4

    If you want to chat that badly, do it with pms, not by bloating the thread.
Back
Top Bottom