Are friendly AI lords supposed to be able to take trrops from your castle?

正在查看此主题的用户

Just fyi, as i said in the other thread: It also happens with a marshall that actually DOES HAVE fiefs. Mine had a castle AND the respective village and took my 300 high level troops anyway. Leaving behind only 119 archers oO
Will have to move my lair, but that kinda sucks, because I can't go campaigning in peace because with all my good men in the lair, my castles are not well defended...

:arrow: If somebody knows how to fix this (maybe its just a small .txt change, since this "feature" only occurs in Brytenwalda?), please POST IT HERE!

Thanks
 
Idibil 说:
Yes, lord save some days in castle for get troops. But this is in warband too.

This does not occur in native. The closest thing that could happen along these lines in native for a female player to marry and lord and remove troops from their garrison. If the lady adventurer is later given a castle the shared garrison might work both ways with her husband, but should definitely not be working with other lords of the kingdom, marshal or not.
 
Mea culpa. I added this with the campaign AI changes some versions back. This is the first I've heard it was actually triggering

It's in module_scripts

(else_try), #MOTO special state - marshall levies troops
  (faction_slot_eq, ":faction_no", slot_faction_marshall, ":troop_no"),
  (store_sub, reg0, ":lowest_acceptable_strength_percentage", ":distance_addition"), #MOTO ignore distance addition for this purpose
  (lt, ":party_strength_as_percentage_of_ideal", reg0),
  (eq, ":eek:peration_in_progress", 0),
 
  (assign, ":center_to_visit", -1),
  (assign, ":troops_to_transfer", 25), #don't go back until center recuits 25 more
 
  (try_for_range, ":center_no", walled_centers_begin, walled_centers_end),
(store_faction_of_party, ":center_faction", ":center_no"),
(eq, ":center_faction", ":faction_no"),

    (party_get_slot, ":center_max_garrison", ":center_no", slot_town_prosperity),
(val_mul, ":center_max_garrison", 6),
(val_add, ":center_max_garrison", 100), #100..700, average 400

    (store_party_size_wo_prisoners, ":center_strength", ":center_no"),
    (store_sub, ":surplus_troops", ":center_strength", ":center_max_garrison"),
(lt, ":troops_to_transfer", ":surplus_troops"),
    (assign, ":center_to_visit", ":center_no"),
(assign, ":troops_to_transfer", ":surplus_troops"),
  (try_end),
 
  (ge, ":center_to_visit", 0),
  (assign, ":action", spai_holding_center),
  (assign, ":eek:bject", ":center_to_visit"),
 
  (try_begin),
    (eq, ":troop_no", "$g_talk_troop"),
    (str_store_string, s14, "str_i_dont_have_enough_troops_and_i_need_to_get_some_more"),
    (str_store_string, s16, "str_i_am_running_low_on_troops"),
  (try_end),
 
  (try_begin),
(party_is_in_town, ":party_no", ":center_to_visit"),

(try_begin),
      (party_get_slot, ":town_lord", ":center_to_visit", slot_town_lord),
      (neq, ":town_lord", ":troop_no"),
  (try_begin),
(eq, ":town_lord", "trp_player"),
(assign, reg0, ":troops_to_transfer"),
(str_store_party_name, s10, ":center_to_visit"),
(display_message, "@The marshal is levying {reg0} troops from your center {s10}."),

  (else_try),
    (store_mul, ":attitude_adjustment", ":troops_to_transfer", 20),
        (store_party_size_wo_prisoners, ":center_strength", ":center_to_visit"),
    (val_div, ":attitude_adjustment", ":center_strength"),
    (val_add, ":attitude_adjustment", 1),
    (val_mul, ":attitude_adjustment", -1),
        (call_script, "script_troop_change_relation_with_troop", ":troop_no", ":town_lord", ":attitude_adjustment"),
  (try_end),
(try_end),

(assign, ":num_stacks", 0),
(assign, ":cur_stack", 1),

(try_for_range, reg0, 0, ":troops_to_transfer"),
  (try_begin),
    (ge, ":cur_stack", ":num_stacks"),
            (party_get_num_companion_stacks, ":num_stacks", ":center_to_visit"),
    (assign, ":cur_stack", 1),
  (try_end),
 
          (party_stack_get_troop_id, ":levy_troop", ":center_to_visit", ":cur_stack"),
          (party_stack_get_size, ":stack_size", ":center_to_visit", ":cur_stack"),
 
  (try_begin),
    (this_or_next|le, ":stack_size", 0),
    (is_between, ":levy_troop", active_npcs_begin, active_npcs_end),
(val_add, ":troops_to_transfer", 1), #not levying this guy!
  (else_try),
(party_remove_members, ":center_to_visit", ":levy_troop", 1),
(party_add_members, ":party_no", ":levy_troop", 1),
  (try_end),
 
  (val_add, ":cur_stack", 1),
(try_end),
  (try_end),
#MOTO end move here to inform marshall decisions

What's the idea? The idea is that the marshal needs troops and the faction's war effort won't be put on hold while he recruits a new army. After all, the complaint at the time was that the marshal was just sitting around in his castle...

EDIT: Oh, it was also to prevent the AI from stockpiling huge amounts of troops in centers. Above 700, and a marshal is sure to come along and take the surplus.

Several things here:
1. The marshal will levy from wherever he can get the most troops. If it's another non-player lord, the marshal loses serious relation. I daresay that happens with the player as well. You won't be voting for him next time!

2. He levies from the surplus troops, a number linearly related to center prosperity, the idea being if the center is not so valuable, it shouldn't have a large garrison. You guys must have all neglected town prosperity. The minimum is 100, so if he left you with fewer, there's definitely a bug, but I don't see it glancing over this again.

3. It ought to levy equally across troop types. If you just have recruits left, that must have been the largest group.

4. This could certainly be refined with relations, marshal personality, randomization, a proper splash screen notification, etc.
 
Well that explains it.. glad i had just started to get back into the mod so i know not to bother investing more of my time on what'll be rather frustrating. Maybe if it had a cap on how many men he can remove per castle/town per month or something, as it is seems to just hurt players by taking their hard earned soldiers and causing them to forfeit the money paid and time invested to train them.
 
后退
顶部 底部