Recent content by Geoffrey Ashe

  1. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Sorry guys but the next two months are filled with urgent things in my life so I have to put it on hiatus till at least February.

    I'll fix the source for the tavern recruitment though, thanks vonmistont and good luck with your project :smile:.
  2. NNY (Gameplay mod): Sources released | Mod is on hiatus

    vonmistont said:
    Geoffrey Ashe said:
    Have any mods got those yet?

    Yes excellent kingdom managment is in Age of Machinery. Source is released, to implement it you need to ask Highlander. I admit i grew impatient and already did small mod for my own personal use. I implemented kingom management from Age of Machinery and fisheye's Aotoloot script (makes companions management much much easier). I was also going to implement Mirathei's Battlefield Tactics.

    Implementing Aotoloot and Tactics is described in posts on this forum:
    http://forums.taleworlds.com/index.php/topic,34685.0.html Tactics
    http://forums.taleworlds.com/index.php/topic,50883.0.html Autoloot

    As to kingdom management you must download Age of Machinery. It comes with source code. And it's really excellent code i must say :smile: It's also just teh matter of copy and paste but if you need any help with that let me know. One tip: the easiest way to find all instances of this code is to look for "#own" sentence (with # !) as each part of code is followed by "#own kingdom" commentary.

    And thanks for source btw.

    P.S.
    Are you going to implement any of that (and possibly the threat) into your mod in nearest future?

    I wouldn't mind, if you were to implement that. I can send you the complete module system I am currently editing if you like. Or you can take my sources and put them in your own mod or something.

    Edit: And just in case you would like to implement that:
    http://forums.taleworlds.com/index.php/topic,28839.0.html Faction creation guide :wink:

    Greetings

    Thanks, but I really haven't got the time to design troop trees, think of names, which equipment each tier uses and so on.
  3. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Adorno said:
    I like the idea of names to the patrols. Hope you will consider (work on) that.

    Someone might have mentioned this, but what about a:
    Patrol interface: like an overview or list of your patrols (and perhaps also what they are ordered to do). And from there you could give them new orders - with imaginary dispatches.
    It could be in the 'camp' menu or something. That way you could feel like a warlord, controlling your Minions from the castle  :smile:
    But it's probably pretty hard to do, I imagine. Just a thought...

    Sounds interesting. There is even a "mouse_get_position" command so it may even work.

    FleshyStarfish said:
    I'm quite excited to see where this could go.  It would be great if some more implementations could be added in as far as kingdom control.  Most players are quite annoyed at not having this in Native, so I think this void could be filled quite well with this mod.

    FS

    Have any mods got those yet?


    Btw, see the first post for the sources.
  4. PYTHON SCRIPT/SCHEME EXCHANGE

    Okay here it goes, the sources of the NNY mod. I hope they are getting used:

    Explanation how to the read/insert the code
    filename
    #######

    this file is meant, till another one is mentioned.


    code1
    #----------------------------------------------------------------------------------
    code2
    #----------------------------------------------------------------------------------
    code3

    code 2 is new and is supposed t o be inserted between code1 and code3 (they are mentioned to find where exactly the code is supposed to go)


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-

    Desperation between each code piece

    Talk to village elder/guild master
    module_game_menus.py
    ####################

            ], "Door to the castle."),
    #----------------------------------------------------------------------------------
        ("talk_mayor",[
              (party_slot_eq,"$current_town",slot_party_type, spt_town),
              (this_or_next|eq,"$entry_to_town_forbidden",0),
              (eq, "$sneaked_into_town",1)]
          ,"Talk to the Guild Master.",
          [
              (assign, "$talk_context", 0),
              (try_begin),
                (call_script, "script_cf_enter_center_location_bandit_check"),
              (else_try),
                (party_get_slot, ":town_scene", "$current_town", slot_town_center),
                (modify_visitors_at_site, ":town_scene"),
                (reset_visitors),
                (assign, "$g_mt_mode", tcm_default),
                (store_faction_of_party, ":town_faction","$current_town"),
                (try_begin),
                  (neq, ":town_faction", "fac_player_supporters_faction"),
                  (faction_get_slot, ":troop_prison_guard", "$g_encountered_party_faction", slot_faction_prison_guard_troop),
                  (faction_get_slot, ":troop_castle_guard", "$g_encountered_party_faction", slot_faction_castle_guard_troop),
                  (set_visitor, 23, ":troop_castle_guard"),
                  (set_visitor, 24, ":troop_prison_guard"),
                (try_end),
                (faction_get_slot, ":tier_2_troop", ":town_faction", slot_faction_tier_2_troop),
                (faction_get_slot, ":tier_3_troop", ":town_faction", slot_faction_tier_3_troop),

                (try_begin),
                  (gt,":tier_2_troop", 0),
                  (assign,reg(0),":tier_3_troop"),
                  (assign,reg(1),":tier_3_troop"),
                  (assign,reg(2),":tier_2_troop"),
                  (assign,reg(3),":tier_2_troop"),
                (else_try),
                  (assign,reg(0),"trp_vaegir_infantry"),
                  (assign,reg(1),"trp_vaegir_infantry"),
                  (assign,reg(2),"trp_vaegir_archer"),
                  (assign,reg(3),"trp_vaegir_footman"),
                (try_end),
                (shuffle_range,0,4),
                (set_visitor,25,reg(0)),
                (set_visitor,26,reg(1)),
                (set_visitor,27,reg(2)),
                (set_visitor,28,reg(3)),

                (party_get_slot, ":spawned_troop", "$current_town", slot_town_armorer),
                (set_visitor, 9, ":spawned_troop"),
                (party_get_slot, ":spawned_troop", "$current_town", slot_town_weaponsmith),
                (set_visitor, 10, ":spawned_troop"),
                (party_get_slot, ":spawned_troop", "$current_town", slot_town_horse_merchant),
                (set_visitor, 12, ":spawned_troop"),
                (party_get_slot, ":spawned_troop", "$current_town", slot_town_elder),
                (set_visitor, 11, ":spawned_troop"),

                (call_script, "script_init_town_walkers"),
                (set_jump_mission,"mt_town_center"),
                (assign, ":eek:verride_state", af_override_horse),
                (try_begin),
                  (eq, "$sneaked_into_town", 1), #setup disguise
                  (assign, ":eek:verride_state", af_override_all),
                (try_end),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 0, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 2, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 3, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 4, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 5, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 6, ":eek:verride_state"),
                (mission_tpl_entry_set_override_flags, "mt_town_center", 7, ":eek:verride_state"),
                (try_begin),
                  (eq, "$town_entered", 0),
                  (assign, "$town_entered", 1),
                  (eq, "$town_nighttime", 0),
                  (set_jump_entry, 1),
                (try_end),
                (jump_to_scene, ":town_scene"),
                (change_screen_map_conversation, ":spawned_troop"),
              (try_end),
            ],"Door to the town center."),
    #----------------------------------------------------------------------------------     
          ("town_center",[



    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-



              (jump_to_menu, "mnu_center_manage"),
            ]),
    #---------------------------------------------------------------------------------- 
          ("village_elder_talk",[(neg|party_slot_eq, "$current_town", slot_village_state, svs_looted),
                            (neg|party_slot_eq, "$current_town", slot_village_state, svs_being_raided),
                            (neg|party_slot_ge, "$current_town", slot_village_infested_by_bandits, 1),]
          ,"Speak with the Village Elder.",
          [
            (try_begin),
              (call_script, "script_cf_enter_center_location_bandit_check"),
            (else_try),
              (party_get_slot, ":village_scene", "$current_town", slot_castle_exterior),
              (modify_visitors_at_site,":village_scene"),
              (reset_visitors),
              (party_get_slot, ":village_elder_troop", "$current_town",slot_town_elder),
              (set_visitor, 11, ":village_elder_troop"),

              (call_script, "script_init_town_walkers"),

              (try_begin),
                (check_quest_active, "qst_hunt_down_fugitive"),
                (neg|is_currently_night),
                (quest_slot_eq, "qst_hunt_down_fugitive", slot_quest_target_center, "$current_town"),
                (neg|check_quest_succeeded, "qst_hunt_down_fugitive"),
                (neg|check_quest_failed, "qst_hunt_down_fugitive"),
                (set_visitor, 45, "trp_fugitive"),
              (try_end),

              (set_jump_mission,"mt_village_center"),
              (jump_to_scene,":village_scene"),

              (change_screen_map_conversation, ":village_elder_troop"),
            (try_end),
            ],"Door to the village center."),
    #---------------------------------------------------------------------------------- 
          ("recruit_volunteers",[(call_script, "script_cf_village_recruit_volunteers_cond"),]

    Bandit bribery
    module_dialog.py
    ################

        ], "{s5}", "close_window",[encounter_attack]],
    #----------------------------------------------------------------------------------
    [anyone|plyr,"bandit_meet", [], "I spare your life if you join me", "bandit_recruit",[]],

    [anyone,"bandit_recruit", [
    (store_random_in_range,":rand",0,20),
    (gt,"$player_honor",":rand"),
    ], "A {boy/girl} like you, who could do no misdeeds? Heck no. We will slit your throat for your impudence!","close_window",[encounter_attack]],#needs dialog rewrite

    [anyone,"bandit_recruit",[
    (store_encountered_party,":party"),
    (store_party_size,":size",":party"),
    (store_mul,":size",":size",50),
    (assign, reg0, ":size"),
    ],"we consider your offer for {reg0} denars","bandit_recruit_2",[]],

    [anyone|plyr,"bandit_recruit_2",
    [
            (store_troop_gold, ":gold", "trp_player"),
            (ge, ":gold", reg0),
    (party_can_join),
    ],"Okay","close_window",
    [
    (troop_remove_gold, "trp_player", reg0),
    (party_join),
    (assign, "$g_leave_encounter", 1)
    ]],

     
    [anyone|plyr,"bandit_recruit_2",[],"Nevermind","bandit_meet",[]],
    #----------------------------------------------------------------------------------
      [anyone|plyr,"bandit_meet", [], "Never mind, I have no business with you.", "close_window",[(assign, "$g_leave_encounter", 1)]],

    Tavern recruitment and ale
    module_dialog.py
    ################


          (assign, "$buy_drinks_last_time", ":cur_hours"),
          ]],
    #----------------------------------------------------------------------------------
      [anyone|plyr,"tavernkeeper_talk", [
          (store_current_hours,":cur_hours"),
          (val_sub, ":cur_hours", 24),
          (gt, ":cur_hours", "$buy_drinks_last_time"),
          ], "I'd like to buy me and my men a barrel of your best ale.", "tavernkeeper_buy_drinks_troops",[]],

      [anyone,"tavernkeeper_buy_drinks_troops",
      [
        ], "Of course, {my lord/my lady}. I reckon {reg5} denars should be enough for that. What should I tell the lads?", "tavernkeeper_buy_drinks_troops_2",[
            (assign, "$temp", 20),
    (store_party_size_wo_prisoners, reg5, "p_main_party"),
    (store_mul, "$temp", "$temp", reg5),
            (assign, reg5, "$temp"),
            ]],

      [anyone|plyr,"tavernkeeper_buy_drinks_troops_2",
      [
            (store_troop_gold, ":gold", "trp_player"),
            (ge, ":gold", "$temp"),
            (str_store_party_name, s10, "$current_town"),
        ], "The price is fair enough, let my men have at it.", "tavernkeeper_buy_drinks_troops_end",[
           
            ]],

      [anyone,"tavernkeeper_buy_drinks_troops_end",
      [], "Don't worry {sir/madam}. Your men will enjoy their pints.", "tavernkeeper_pretalk",
      [
          (troop_remove_gold, "trp_player", "$temp"),
      (call_script, "script_change_player_party_morale", 20),
          (store_current_hours,":cur_hours"),
          (assign, "$buy_drinks_last_time", ":cur_hours"),
      (rest_for_hours, 2, 5, 0)
          ]],

      [anyone|plyr,"tavernkeeper_buy_drinks_troops_2", [], "Actually, cancel that order.", "tavernkeeper_pretalk",[]],
    #----------------------------------------------------------------------------------
      [anyone|plyr,"tavernkeeper_talk", [], "It's time for me to leave.", "close_window",[]],#I altered that line...


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


        (call_script, "script_end_quest", "qst_deliver_wine"),
      ]],
    #----------------------------------------------------------------------------------
      [anyone|plyr,"tavernkeeper_talk", [], "I need to hire some soldiers. Can you help me?", "tavernkeeper_buy_peasants",[]],
      [anyone,"tavernkeeper_buy_peasants",
      [
          (store_encountered_party,reg(3)),
          (store_faction_of_party,reg(4),reg(3)),
          (store_relation,reg(5),"fac_player_supporters_faction",reg(4)),
          (lt, reg(5), -3),
        ], "I don't think anyone from this town will follow somebody like you. Try your luck elsewhere.", "tavernkeeper_buy_peasants_2",[]],
      [anyone,"tavernkeeper_buy_peasants", [], "I know a few fellows who would follow you if you paid for their equipment.", "tavernkeeper_buy_peasants_2",[(store_encountered_party,reg(2)),(party_get_slot,"$tavernkeeper_party",reg(2)),slot_town_mercs),(set_mercenary_source_party,"$tavernkeeper_party"),(change_screen_buy_mercenaries)]],
      [anyone,"tavernkeeper_buy_peasants_2", [], "Anything else?", "tavernkeeper_talk",[]],
    #----------------------------------------------------------------------------------
    ##  [anyone|plyr,"tavernkeeper_talk", [], "I want to rest for a while.", "tavernkeeper_rest",[]],

    Note: thanks vonmistont for the fix.

    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_scripts.py
    #################


    #        (party_set_slot,":town_no", slot_town_seneschal, ":cur_object_no"),
    #----------------------------------------------------------------------------------
    (store_add, ":cur_object_no", "p_town_merc_1", ":eek:ffset"),
    (party_set_slot,":town_no", slot_town_mercs,":cur_object_no"),
    #----------------------------------------------------------------------------------
            (store_add, ":cur_object_no", "scn_town_1_center", ":eek:ffset"),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    at the end of module_script.py
    #----------------------------------------------------------------------------------
    #no input/output
    #could need a faction check
    #that's from the 808 module system

    ("add_tavern_troops",
    [
    (try_for_range,reg(2),merc_parties_begin,merc_parties_end),
            (store_party_size,reg(6),reg(2)),
    (lt,reg(6),30), #never have many more than 20 troops in the tavern
    (store_random,reg(7),:cool:,
    (party_add_members,reg(2),"trp_townsman",reg(7)),
    (store_random,reg(:cool:,5),
    (party_add_members,reg(2),"trp_refugee",reg(:cool:),
    (store_random,reg(9),5),
    (party_add_members,reg(2),"trp_manhunter",reg(9)),
    (try_end),
     
    ]),
    #----------------------------------------------------------------------------------
    before the last ]


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    Note: You can modify the join cost in "game_get_join_cost"


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


            (call_script, "script_spawn_bandits"),
          (try_end),
    #----------------------------------------------------------------------------------
    (call_script, "script_add_tavern_troops"),
    #----------------------------------------------------------------------------------
          (set_spawn_radius, 50),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_constants.py
    ###################


    at the end of module_constants.py
    #----------------------------------------------------------------------------------
    merc_parties_begin = "p_town_merc_1"
    merc_parties_end = "p_castle_1"
    #----------------------------------------------------------------------------------


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_parties.py
    #################

    #  ("village_reinforcements","village_reinforcements",pf_is_static|pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    #----------------------------------------------------------------------------------
      ("town_merc_1","sargoth_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_2","tihr_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_3","veluca_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_4","suno_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_5","jelkala_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_6","praven_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_7","uxkhal_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_8","reyvadin_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_9","khudan_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_10","tulga_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_11","curaw_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_12","wercheg_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_13","rivacheg_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_14","halmar_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_15","yalen_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_16","dhirim_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_17","ichamur_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
      ("town_merc_18","narra_mercs",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0,0),[]),
    #----------------------------------------------------------------------------------
      ("zendar","Zendar",pf_disabled|icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(18,60),[]),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_triggers.py
    ##################


        (call_script, "script_update_companion_candidates_in_taverns"),
        ],
      []
      ),
    #----------------------------------------------------------------------------------
      (24.0, 0, 0.0, [],
    [
    (call_script, "script_add_tavern_troops"),
     
    ],
      ),
    #----------------------------------------------------------------------------------
    #Process morale and determine personality clashes

    Patrol
    module_party_templates.py
    #########################


      ("looters","Looters",icon_axeman|carries_goods(:cool:,0,fac_outlaws,bandit_personality,[(trp_looter,4,25)]),
    #----------------------------------------------------------------------------------
    ("player_patrol","Patrol",icon_gray_knight,0,fac_player_faction,hold_personality,[]),
    #----------------------------------------------------------------------------------
      ("manhunters","Manhunters",icon_gray_knight,0,fac_manhunters,soldier_personality,[(trp_manhunter,9,40)]),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_scripts.py
    #################

    at the end of module_script.py
    #----------------------------------------------------------------------------------
    #identify party as patrol
    #input: party
    #output: reg0
    #0 yes, 1 no

    ("cf_is_patrol",
    [
    (store_script_param, ":cur_party", 1),
    (assign,reg0,0),
    (store_faction_of_party,":cur_faction",":cur_party"),
    (eq, ":cur_faction", "fac_player_faction"),
    (party_stack_get_troop_id,":cur_troop",":cur_party",0),
    (neq,":cur_troop","trp_player"),
    (try_for_range,":num",companions_begin,heroes_end),
      (eq,":cur_troop",":num"),
      (assign, reg0,1),
    (try_end),
    ]
    ),

    #find all patrols and count them
    #input: none
    #output: reg0
    #amount of existing patrols

    ("check_for_patrols",
    [
    (assign,":num",0),
    (try_for_parties,":cur_party"),
      (call_script, "script_cf_is_patrol",":cur_party"),
      (eq,reg0,0),
      (val_add,":num",1),
    (try_end),
    (assign,reg0,":num"),
    ]
    ),

    #enforce patrol party size limit
    #it is assumed that the party prisoner limit equals zero
    #except for npc prisoners

    #input: party, mode
    #mode 0: delete all troops w/o doing anything else
    #mode 1: all deleted troops are being added to the player party

    #output: none (it uses reg0, but the information is useless outside of this script and its recursive brother)

    ("cf_fix_party_size",
    [
    (store_script_param, ":cur_party", 1),
    (store_script_param, ":mode", 2),
    (call_script, "script_cf_is_patrol",":cur_party"),
    (try_begin),
      (eq,reg0,0),
      (call_script,"script_game_get_party_companion_limit",3),
      (call_script,"script_cf_fix_party_size_recursive",":cur_party",":mode"),

      (assign,":bool",0),
      (party_get_num_prisoner_stacks, ":num_stacks",":cur_party"),
      (try_for_range_backwards,":index",0,":num_stacks"),
        (party_prisoner_stack_get_troop_id,":cur_troop",":cur_party",":index"),
        (party_prisoner_stack_get_size,":cur_size",":cur_party",":index"),
    (try_for_range,":num",companions_begin,heroes_end),
          (eq,":cur_troop",":num"),
      (assign,":bool",1),
    (try_end),
    (try_begin),
      (neq,":bool",1),
          (party_remove_prisoners,":cur_party",":cur_troop",":cur_size"),
    (try_end),
      (try_end),
    (try_end),
    ]
    ),

    #a while do loop for cf_fix_party_size
    #don't use it outside of the previous script

    ("cf_fix_party_size_recursive", #I am not exactly happy about the recursive
    [
    (store_script_param, ":cur_party", 1),
    (store_script_param, ":mode", 2),
    (assign,":reg0_backup",reg0),
    (store_party_size_wo_prisoners,":num",":cur_party"),
    (try_begin),
      (gt,":num",reg0),
      (neq,0,reg0),
      (store_sub,":delta",":num",reg0),
      (party_get_num_companion_stacks,":num_stacks",":cur_party"),
      (assign, ":to_del_stack",0),
      (assign, ":checker", 100),
      (try_for_range,":index",0,":num_stacks"),
        (party_stack_get_troop_id,":cur_troop",":cur_party",":index"),
        (store_character_level,":cur_level",":cur_troop"),
        (le,":cur_level",":checker"),
        (assign,":checker",":cur_level"),
        (assign,":to_del_stack",":index"),
      (try_end),
      (party_stack_get_size,":num_troop",":cur_party",":to_del_stack"),
      (party_stack_get_troop_id,":cur_troop",":cur_party",":to_del_stack"),
      (try_begin),
        (le,":num_troop",":delta"),
        (assign, ":delta", ":num_troop"),
      (try_end),
      (party_remove_members,":cur_party",":cur_troop",":delta"),
      (try_begin),
        (eq,":mode",1),
        (party_add_members,"p_main_party",":cur_troop",":delta"),
      (try_end),
      (assign,reg0,":reg0_backup"),
      (call_script,"script_cf_fix_party_size_recursive",":cur_party",":mode"),
    (try_end),
    ]
    ),
    #----------------------------------------------------------------------------------
    before the last ]


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    in "game_event_simulate_battle"
    ...
                  (call_script, "script_clear_party_group", ":root_defeated_party"),
    #----------------------------------------------------------------------------------
      (call_script,"script_cf_fix_party_size", "p_temp_party",0),
    #----------------------------------------------------------------------------------
                (try_end),

    Note: this is not tested


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-

    in "let_nearby_parties_join_current_battle"
    ...
              (display_message, "str_s1_joined_battle_enemy"),
    #----------------------------------------------------------------------------------
    (else_try),
      (eq, ":besiege_mode", 0),
              (lt, ":reln_with_player", 0),
              (gt, ":reln_with_enemy", 0),
      (store_faction_of_party,":cur_faction","$g_encountered_party"),
      (this_or_next|eq,":cur_faction","fac_outlaws"),
      (this_or_next|eq,":cur_faction","fac_deserters"),
      (this_or_next|eq,":cur_faction","fac_mountain_bandits"),
      (eq,":cur_faction","fac_forest_bandits"),
      (store_faction_of_party,":cur_faction",":party_no"),
      (this_or_next|eq,":cur_faction","fac_outlaws"),
      (this_or_next|eq,":cur_faction","fac_deserters"),
      (this_or_next|eq,":cur_faction","fac_mountain_bandits"),
      (eq,":cur_faction","fac_forest_bandits"),
              (party_quick_attach_to_current_battle, ":party_no", ":enemy_side"), #attach as enemy
              (str_store_party_name, s1, ":party_no"),
              (display_message, "str_s1_joined_battle_enemy"),
    (else_try),
              (eq, ":dont_add_friends", 0),
      (gt, ":reln_with_player", 0),
              (lt, ":reln_with_enemy", 0),
      (store_faction_of_party,":cur_faction",":party_no"),
      (eq,":cur_faction","fac_player_faction"),
              (party_quick_attach_to_current_battle, ":party_no", 0), #attach as ally
              (str_store_party_name, s1, ":party_no"),
              (display_message, "str_s1_joined_battle_friend"),
    #----------------------------------------------------------------------------------
            (else_try),
              (eq, ":dont_add_friends", 0),


    Note: this also allows other bandit parties to join the fight if you are fighting a bandit party.


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    replace "calculate_player_faction_wage" with this:
    #----------------------------------------------------------------------------------
      # script_calculate_player_faction_wage
      # Input: arg1 = party_no
      # Output: reg0 = weekly wage
      ("calculate_player_faction_wage",
        [(assign, ":nongarrison_wages", 0),
        (assign, ":garrison_wages", 0),
        (try_for_parties, ":party_no"),
          (assign, ":garrison_troop", 0),
      (assign, ":ungarrison_troop", 0),
          (try_begin),
            (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_town),
            (party_slot_eq, ":party_no", slot_party_type, spt_castle),
            (party_slot_eq, ":party_no", slot_town_lord, "trp_player"),
            (assign, ":garrison_troop", 1),
          (try_end),
      (try_begin),
        (call_script, "script_cf_is_patrol",":party_no"),
        (eq,reg0,0),
        (assign, ":ungarrison_troop", 1),
    (try_end),
          (this_or_next|eq, ":party_no", "p_main_party"),
          (this_or_next|eq, ":garrison_troop", 1),
      (eq, ":ungarrison_troop", 1),
          (party_get_num_companion_stacks, ":num_stacks",":party_no"),
          (try_for_range, ":i_stack", 0, ":num_stacks"),
            (party_stack_get_troop_id, ":stack_troop",":party_no",":i_stack"),
            (party_stack_get_size, ":stack_size",":party_no",":i_stack"),
            (call_script, "script_game_get_troop_wage", ":stack_troop", ":party_no"),
            (assign, ":cur_wage", reg0),
            (val_mul, ":cur_wage", ":stack_size"),
            (try_begin),
              (eq, ":garrison_troop", 1),
              (val_add, ":garrison_wages", ":cur_wage"),
            (else_try),
      (try_begin),
        (eq,":ungarrison_troop",1),
        (val_mul, ":cur_wage",3),
        (val_div, ":cur_wage",2),
      (try_end),
              (val_add, ":nongarrison_wages", ":cur_wage"),
            (try_end),
          (try_end),
        (try_end),
        (val_div, ":garrison_wages", 2),#Half payment for garrisons
        (store_sub, ":total_payment", 14, "$g_cur_week_half_daily_wage_payments"), #between 0 and 7
        (val_mul, ":nongarrison_wages", ":total_payment"),
        (val_div, ":nongarrison_wages", 14),
        (store_add, reg0, ":nongarrison_wages", ":garrison_wages"),
        ]),
    #----------------------------------------------------------------------------------

    Note: Currently patrols got an extra upkeep of +50%, see below (eq,":ungarrison_troop",1),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_game_menus.py
    ####################

    in "total_victory"
    ...
                (call_script, "script_party_add_party", "$g_ally_party", "p_temp_party"), #Add remaining prisoners to ally TODO: FIX it.
    #----------------------------------------------------------------------------------
                (call_script,"script_cf_fix_party_size", "$g_ally_party",0),
    #----------------------------------------------------------------------------------
              (else_try),

    ...
    (call_script, "script_party_add_party", ":helper_party", "p_temp_party"), #Add remaining prisoners to our reinforcements
    #----------------------------------------------------------------------------------
                (call_script,"script_cf_fix_party_size", ":helper_party",0),
    #----------------------------------------------------------------------------------
              (try_end),


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    module_dialogs.py
    #################


    Replace everything:

    ######################################
    # GENERIC MEMBER CHAT
    ######################################
    #----------------------------------------------------------------------------------
      [anyone,"member_chat", [], "Your orders {sir/madam}?", "regular_member_talk",[]],
      [anyone|plyr,"regular_member_talk", [], "Tell me about yourself", "view_regular_char_requested",[]],
      [anyone,"view_regular_char_requested", [], "Aye {sir/madam}. Let me tell you all there is to know about me.", "do_regular_member_view_char",[[change_screen_view_character]]],
      [anyone,"do_regular_member_view_char", [], "Anything else?", "regular_member_talk",[]],
      [anyone|plyr,"regular_member_talk", [], "Become Party", "mate_check_leadership",[]],
      [anyone,"mate_check_leadership", [
    (call_script, "script_check_for_patrols"),
    (store_skill_level,":max_amount",skl_leadership,"trp_player"),
    (troop_get_slot, ":renown", "trp_player", slot_troop_renown),
    (val_div, ":renown", 250),
    (val_add, ":max_amount",":renown"),
    (try_for_range,":num",walled_centers_begin,walled_centers_end),
                  (party_slot_eq, ":num", slot_town_lord, "trp_player"),
      (val_add,":max_amount",1),
    (try_end),
    (gt,":max_amount",reg0),
    ],"Very well.","close_window",[
    (store_conversation_troop,":soldier"),
    (remove_member_from_party,":soldier"),
    (spawn_around_party,"p_main_party","pt_player_patrol"),
    (party_add_members,reg(0),":soldier",1),
    (party_set_ai_behavior,reg(0),ai_bhvr_hold),
    ]],

      [anyone,"mate_check_leadership", [],"I am sorry, but we don't think that you are capable of leading more parties.","member_chat",[]],
     
      [anyone|plyr,"regular_member_talk", [], "Nothing. Keep moving.", "close_window",[]],

     
     
      [anyone,"start", [(store_encountered_party,"$temp"),
    (store_faction_of_party, ":cur_faction", "$temp"),
                        (eq,":cur_faction","fac_player_faction"),
                        ],
      "Yes?", "mate_chat_talk",[(assign, "$g_leave_encounter", 1)]],
     
     
      [anyone|plyr,"mate_chat_talk",[],"I have a new task for you.", "mate_give_order_ask",[]],

      [anyone,"mate_give_order_ask", [],
      "What do you wish?", "mate_give_order",[]],
     
      [anyone|plyr,"mate_give_order",[],"Follow me","mate_follow",[]],
      [anyone,"mate_follow",[],"All right","close_window",[
    (party_set_ai_object,"$temp","p_main_party"),
    (party_set_ai_behavior,"$temp",ai_bhvr_escort_party),
    ]],
      [anyone|plyr,"mate_give_order",[],"Stay here","mate_stay",[]],
      [anyone,"mate_stay",[],"All right","close_window",[
    (party_set_ai_behavior,"$temp",ai_bhvr_hold),
    (party_get_position, pos1, "$temp"),
    (party_set_ai_target_position,"$temp",pos1),
    ]],
      [anyone|plyr,"mate_give_order",[],"Patrol this area","mate_patrol",[]],
      [anyone,"mate_patrol",[],"All right","close_window",[
    (party_set_ai_behavior,"$temp",ai_bhvr_patrol_location),
    (party_get_position, pos1, "$temp"),
    (party_set_ai_target_position,"$temp",pos1),
    ]],
     
      [anyone|plyr,"mate_give_order", [],"Go to...", "mate_give_order_details_ask",[(assign, "$temp_1", spai_holding_center),]],
      [anyone|plyr,"mate_give_order", [],"Patrol around...", "mate_give_order_details_ask",[(assign, "$temp_1", spai_patrolling_around_center),]],
      [anyone|plyr,"mate_give_order", [],"Forget it.", "mate_chat_pre_talk",[]],
     

      [anyone,"mate_give_order_details_ask", [],
      "Where?", "mate_give_order_details",[]],
     
      [anyone|plyr|repeat_for_parties, "mate_give_order_details",
      [
        (store_repeat_object, ":party_no"),
        (assign, ":continue", 0),
        (try_begin),
          (eq, "$temp_1", spai_holding_center),
          (try_begin),
            (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_castle),
            (party_slot_eq, ":party_no", slot_party_type, spt_town),
            (assign, ":continue", 1),
          (try_end),
        (else_try),
          (eq, "$temp_1", spai_patrolling_around_center),
          (try_begin),
            (is_between, ":party_no", centers_begin, centers_end),
            (assign, ":continue", 1),
          (try_end),
        (try_end),
        (eq, ":continue", 1),
        (neq, ":party_no", "$g_encountered_party"),
        (str_store_party_name, s1, ":party_no")],
      "{s1}", "mate_give_order_details_done",
      [
        (store_repeat_object, "$temp_2"),
        ]],

      [anyone,"mate_give_order_details_done", [],"Okay","close_window",[
    (try_begin),
      (eq,"$temp_1", spai_holding_center),
      (party_set_ai_behavior,"$temp",ai_bhvr_travel_to_point),
      (party_get_position, pos1, "$temp_2"),
      (map_get_land_position_around_position, pos1, pos1,1),
      (party_set_ai_target_position,"$temp",pos1),
    (try_end),
    (try_begin),
      (eq,"$temp_1", spai_patrolling_around_center),
      (party_set_ai_behavior,"$temp",ai_bhvr_patrol_party),
      (party_set_ai_object,"$temp","$temp_2"),
      (party_set_ai_patrol_radius ,"$temp",1),
    (try_end),
    ]],
     

      [anyone|plyr,"mate_chat_talk", [], "I want to give you troops.", "mate_give_troops",[(call_script,"script_game_get_party_companion_limit",3),(display_message, "@allowed party size {reg0}"),(change_screen_give_members),]],
      [anyone,"mate_give_troops", [], "Yes...", "mate_give_troops_end",[]],
      [anyone,"mate_give_troops_end", [], "That are good lads.", "mate_chat_pre_talk",[
    (store_encountered_party,":cur_party"),
    (call_script,"script_cf_fix_party_size",":cur_party",1),
    ]],
      [anyone,"mate_chat_pre_talk", [], "Anything else?", "mate_chat_talk",[]],
     
      [anyone|plyr,"mate_chat_talk", [], "I want to you to join me again.", "mate_chat_rejoin",[]],
      [anyone,"mate_chat_rejoin", [(party_can_join)], "Very Well.", "close_window",[(party_join),]],
      [anyone,"mate_chat_rejoin", [(neg|party_can_join)], "We can't follow you, you haven't got enough capacity","mate_chat_talk",[]],

      [anyone|plyr,"mate_chat_talk", [], "Nevermind", "close_window",[]],
    #----------------------------------------------------------------------------------
    ######################################
    # GENERIC PARTY ENCOUNTER
    ######################################


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    header_parties.py

    at the end
    hold_personality = aggressiveness_0 | courage_15


    #--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#-


    Note: It is not very important, but you might want to change the faction color
    replace this line for the current deep blue.
    #----------------------------------------------------------------------------------
      ("player_faction","Player Faction",0, 0.9, [], [],0x000000FF),
    #----------------------------------------------------------------------------------

    I hope I didn't forget anything and please keep the discussion in the NNY thread.

    06.12.08 fixed talk to village elder/guild master feature (replace it again, if you were already using it)
    05.12.08 fixed tavern recruitment, thanks to vonmistont (green text).
  5. NNY (Gameplay mod): Sources released | Mod is on hiatus

    vonmistont said:
    So summing up implementing this idea means:
    1) Creating New faction with new troop tree (but from existing items, or if we want new fancy nation there are plenty of resources in other mods, this new faction could also be so popular fantasy-undead) - Completely and easy doable.
    2) Adding trigger to spawn this faction's armies at certain moment. - Should be doable. And if it is then it would be easy.
    3) AI for this faction would be constant campaign. - If there is already campaign AI (and i also believe i saw mod that even enhances that AI) making it permanent for one, or more allied factions should be easy (i don't know if one faction can have two or more "armies" consisting of few lords at war campaign that's why I'm talking about few factions but i believe it's possible with just one).

    I think this would nicely synergize with your mod's feature of patrols, that make player powerful and with the kingdom management from Age of Machinery or similar (if you decide to implement it).

    Regards

    1. I haven't exactly got time to design a new faction, but I would prefer to keep fantasy out of it.
    2. Need to look into the spawning first
    3. Same as 2, I didn't look much in the lord ai yet.

    Sounds good though.

    Yongilman said:
    If I could be so bold as to make a suggestion: today I saw on the suggestion board the idea for giving parties names. I think this would be a wonderful addition to your mod. Not only the ability to make patrols, but the ability to name them as well. This way you can actually have a scouting party named as a scouting party.

    I would think that the best way to add this dynamic would be to add a line in the conversation menu where you tell them to change the name of their party, then you type in the new name.
    I don't know if I can even make an interface for typing stuff in, but there could be dialog deciding for the names of scouts, warbands and such.

    As far as other suggestions go: I really think ten patrols is a bit much, especially if they are all following you at a time. I would just limit the patrol number to half of one's leadership score.

    This way a patrol is more of a commodity, and not something that can easily break the game. I also like the idea of maximizing the patrol size to 1/3 of your own army size, and increasing their wages. This gives me a great way of keeping my lands bandit free.

    Maybe it is just me, but I hate seeing bandits and deserters running around my properties. I would certainly use some patrols to keep my lands safe.

    OR, if you want a high number of patrols, then maybe you should limit the amount that can follow the player at any given time. This could be broken though, a user would just have to leap-frog their army of patrols (take some and move them, then take the next group and move them.) *this was the edit*
    Money should be the main deciding factor so you have to weigh out how many patrols of which strength to use. But yes I see the problem with the following.

    Also, if it is at all possible, it would be great if a player could hire a caravan. Not escort one, but actually pay for one to go between one of their villages/castles/cities and other cities. The in game mechanic would be to increase the players popularity with the city in question, and to raise the cities prosperity. The caravan would just spawn from the city, travel around a while, travel back, and then the prosperity would increase by a set amount (maybe 2% per city visited by the caravan.)

    To add this, I would make it an option when talking to a guild master or a tavern keeper. It would of course not be cheap, but I think it would add a bit of exotic flavor. Especially if you got a cut of the profit from the caravan.
    Sounds interesting, but I don't know how much sense that makes. I mean, the caravans want to gain money and that hardly works with a backwater village. Also the villagers go to the town to trade and increase prosperity already.

    Perhaps if you bought supplies your peasants need like a different way to solve the wheat and cattle quests and the caravan would leave the town to make the delivery or something.

    FleshyStarfish said:
    How about calling this mod Kingdom Creation or Kingdom Expansion or even Kingdom Management.

    FS
    This isn't exactly the direction I wanted to go. :wink:


    I am looking forward to release the source of the stuff I currently got, even if it means that this mod will tank. :smile:

  6. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Adorno said:
    kavien said:
    Patrols are the best thing in the world, now I can have armies placed at key locations (mountain passes, bridges etc...)
    It's really an extraordinary addition to tactics in the game. It only needs to be balanced.
    Introducing large warparties, scouts, foragers etc. and making the patrols expensive (and not too big) would be good.
    It's just important that these foragers, scouts etc. only attack you if you are allied to a faction.
    Otherwise the beginning of the game could be too hard: constantly being attacked by all these parties...
    I have coded a limit of the number of patrols with the formula: leadership skill + (renown/250) + every castle or town you own.
    That would be for the last game I have played: 4+4+2 = 10 parties. Suggestions  are welcome and I can ditch this too if it doesn't make much sense. Especially as money should be the limiting factor in my opinion.
    Your party limit / 3 (and no prisoner) seems to be a good party size for the patrols. (But it requires a work around)
    And a Price factor of 150%.

    The patrols belong to the player_faction, I assume that they got the same relations to the other factions like you do.

    @ Geoffrey:
    Can you make changes to the map? I know it's troublesome, but adding more bridges and mountain passes would expand the tactical elements.
    Especially if the AI could use it too; making warparties, scouts etc. spawn/patrol at these strategic places on the map.
    I'd prefer to stick with the coding. I don't mind if anyone wants to add any changes though.

    Geoffrey Ashe said:
    kavien said:
    2. Can you have companions like Rolf and Matheld lead their own parties? That is something I'd like to see...Train them up to be Lords and Ladies....and then be able to award fiefs to them.
    No, maybe in the future.
    In 0.903 you could 'disband' NPC's and give them troops, but you couldn't order them to anything. It would be fun to add that to the patrol feature.
    Especially if they could get captured. I would go through hell and back to retrieve a valuable imprisoned NPC  :smile:
    Good point. That should be easy, but I don't know how game reacts after the defeat of a companion.

    This is really a great mod  :razz:
    :smile:

    EDIT: Recruited a townsman, a refugee and a manhunter from a tavern, and they all upgraded by training.
    So I'm not getting that error. Really nice to have the swordsisters and manhunters back in large numbers  :smile:
    Good to know.

    vonmistont said:
    Just registered to reply here.

    First of all thanks for your mod.

    Somehow all the other mods among some great features hide some unbearable too. Like the Age of Machinery, with really great Kingdom features and really stupid... machines. Siege machines that cannot be used in siege (except few castles) but are used in battle? (sic)

    Well my point is that your mod seems to have really huge potential and neither already implemented features nor your plans seem to have any flaws.

    If i may suggest few things that would be:
    Implementing more kingdom menagement if possible. As to exact features that would be recruiting lords of course (but not for free to make it too easy, lets say some cash + at least castle fief for each lord or he won't join).
    I don't know if tax level from fiefs is adjustable but if it is then maybe you could change them too (low taxes would increase your  popularity in towns/villages and make them more prosperous over time and vice versa).
    And some features already done in:
    Realm of Freedom http://forums.taleworlds.com/index.php/topic,47321.0.html like:
    "When you attain your independence, there will be some new functions in the “castle/town manage" menu:
      #Can change banner when in your castle/towns.
      #Can take tax in any fiefs of your faction. In towns owned by your fellow lord you can take 30% from the town’s tax income, the owner of this town will get the rest 70%.
      #You have right to distribute the new captured town/castle to your vassal."
    and in Everyone Can Be The Leader http://forums.taleworlds.com/index.php/topic,46178.0.html like:
    "4. After rebelling, you can order your NPCs out into the world map and combine forces later on. NPCs have the same AI as lords on the world map. However, in battle they will listen to you.*** (...)
    5. All rebels can be recruited by the player after rebelling.
    (...)
    7. All cities and castles will recruit from their prisoners every 24 hours. Desertion rate is 20%."

    And to make the whole game have purpose (other than wipping everything on the map, which is quite easy) the easiest and already made thousand times in thousand games way to do that is to add a THREAT. Let's say another Khegrit-like invasion of wild, powerfull tribes through the mountains. Huge, and i mean really really (really) huge armies that come after some time, so that player should hurry and gather as much strength as he can till the dead line... AI kingdoms (if they still exist) should fall very fast to this new threat and the player alone, even rulling whole Caladria should have problems too (well in my opinion the difficulty level is set all right only when it's TOO high :smile: ).

    Anyway, i know that this wishes might be too much, but worth a try i think, maybe you could use some of them.

    Good luck.

    EDIT:
    ***Made it bold for Sir Garon. Don't give up hpe :wink:

    Splitting up the quotes gets confusing so pardon me if I don't do it with your post.

    @The lords joining you
    You shouldn't be able to recruit the honorable ones atleast (bound to oath). And it should only work if they haven't got a fief yet. Your suggestion wouldn't be too imbalancing even, and the companions would simply become captains of warbands. (the lords wouldn't like it if someone without noble blood would become your vassal I guess, but then you are a bandit king anyway)

    @taxes
    I figure this should work out

    @the 2 mods
    If I can get the source or so.

    @threat
    That's really a big wish.

    There might something work out, but probably way later, sorry. You could refine the ideas of the lords joining you and threat though.

    You guys are great but you start to overburden me :smile:
    Keep it coming.
  7. NNY (Gameplay mod): Sources released | Mod is on hiatus

    kavien said:
    very good, simple gameplay changes like this can be fun for far longer than any amount of new items.
    I had about 10 patrols of bandits (totaling near a thousand) and I conquered all of calradia with them.

    I am glad you like it but wow, Adorno was definitely correct about the imbalance. :smile:
    I am sorry to tell you, but I am currently balancing them. But the way I am doing this there should be an easy way to get around (two or so values), so you can have your monster parties again.

    Patrols are the best thing in the world, now I can have armies placed at key locations (mountain passes, bridges ect...), I like the tavern recruiting, it brings back all the nostalgia. the ale in tavern is a great idea as well, there is a bug with the tavern recruited units: they don't upgrade into other units, or is it just a native error?

    I remember that the townsmen didn't want to upgrade at first but I thought I fixed it. I'll look into it. What about the refugees and the manhunters?

    sergeant113 said:
    Awesome mod! I love the creating-patrol-parties feature. My suggesstion is to allow other lords the same advantage, let them creat patrol parties too. It'll be total chaos......

    I figure reactivating the old parties will do. (It's definitely on my list)

    Sir Garon said:
    Questions...

    1. Is this mod compatible with 1.003?


    2. Can you have companions like Rolf and Matheld lead their own parties? That is something I'd like to see...Train them up to be Lords and Ladies....and then be able to award fiefs to them.

    1. It's for 1.010/1.011.

    2. No, maybe in the future.
  8. Modding Q&A [For Quick Questions and Answers]

    Rongar said:
    I think the only way to limit AI parties is to check places where they can get new prisoners or members. As I know parties without a npc leader get new members or prisoners then spawn and  after battles.

    Good point. I know how I will make my work-around now.
    As you say find out where the numbers change (after battle and a certain screen), check if the party size is greater than the party limit.
    If yes then find the lowest level guys (if the same level then the latter stack) and boot aka delete them. Same for prisoners.
    I just don't know what happens if I remove a lord though, but I guess they can be kept as prisoner, even if the limit is zero.

    For the personality thing: I create a new party with the desired personality and add stack for stack to them, while removing of the original one.

    Unless anyone sees a better method of course.
  9. Modding Q&A [For Quick Questions and Answers]

    Does anyone know, how the setting the party size limit works?
    I know there are the scripts: script_party_get_ideal_size and script_game_get_party_companion_limit
    but I never see them to set anything. Even the output Reg0 is only being used for comparison.
    I want to set the party size and prisoner limit for a party without a npc leader.

    Also can you change the personality of a party on the fly? (the one with aggressiveness and courage)
    Like setting from an offensive to a passive party personality ingame?

    If not, any ideas for a get-around?
  10. NNY (Gameplay mod): Sources released | Mod is on hiatus

    NICK.ALTMAN said:
    Can I input this in Dukes and Mercenaries?

    Tell does this have a feature to have lords when you have your own kingdom? that is really missing in native, recruiting lords. I think age of machinery has this feature but I don't like their arty.

    To make it clear one more time: I want to release the source (I don't know when, next weekend sounds nice, but no promise) till I am sure there are no problems with balancing or bugs or something.

    And you can't recruit any lords yet. How does age of machinery do it? I heard that you get a lord each time you capture a castle?

    Adorno said:
    Geoffrey Ashe said:
    Have you got any idea to balance it?
    The patrols could be limited - as you say - and they could be more expensive - and have a maximum size.
    Perhaps double the amount of troop costs to troops in patrols.
    A fun feature could be desertion: On rare occasions a patrol could be bribed to switch sides (not sure how though). (Yes, I've played Medieval II  :smile:)
    Introducing the 'old' foragers, scouts etc. would be fun (it's being done in 'The Return of Zendar' mod).

    Desertion sounds cool.
    And I know that Chel has done the reintroducing of the parties in an earlier M&B version, but I can't remember if he released the source.

    About more ways to boost morale:
    I can only think of the possibility to hold feasts at castles and towns to increase morale (it could just be an option in castle/town menu when you own it).

    This isn't very different to the ale. But perhaps feasting can increase relation with the town or something. Nice idea.

    You should think of a name for the mod, perhaps make a poll; it'd be fun  :smile:

    Too be honest I already got one in my mind.I want to call it LIM - Lordly Interaction Mod.
    It's just that, that it doesn't make much sense yet and I don't want to get any hopes up.
    Especially as I can't and won't make any promises.

    You can still make suggestions for a name if you like though.
  11. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Adorno said:
    Very impressive.

    You forgot to say that bandits, looters etc. now join the battle if you attack some of them.
    I almost got mobbed by 20 looters thinking I only engaged 6 - Nice feature  :smile:

    Ehm yes, but then this isn't the first mod to introduce it :smile: (Timeless Kingdoms springs to mind)

    I have yet to find any bugs, but I have some thoughts:
    Patrols:
    I think the name is just fine, by the way. They make the player very powerful.
    Later in the game you can have multiple parties at you side. So as the mod is now, the enemies should be stronger.
    You can also become much quicker on the map by having several small parties instead of one large.
    That way you easily catch all enemies in sight (think of the quests to capture spies and runaway villagers).
    All in all the game is much easier. That needs to be balanced.

    Have you got any idea to balance it?

    I could think of limiting the amount of patrols to the value of the leadership skill and them only be able to take half your party limit?
    Reenable the non npc parties (foragers/partols/war parties)?
    Increase their wages?

    They also shouldn't take prisoners, unless I add a new dialog for prisoner exchange.

    Any complains about the lack of their aggressiveness?

    Recruiting at taverns:
    Excellent. But the troops there are more expensive than at villages (about 24-54 denars per troop).
    Perhaps I'll just hire at villages instead. But then again, I get to hire refugees (women) that are hard to come by  :smile:

    I'll look into it.

    Buying ale at taverns:
    To boost the morale this way is really good. I think native lacks more ways to boost morale (food is not very efficient).

    What other ways could you imagine?


    Thank you a lot for the input.
  12. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Thanks for the kind words.

    FleshyStarfish said:
    Hey that's really cool!  This would be great if it would mesh with Blood and Glory http://forums.taleworlds.com/index.php/topic,50350.0.html, that's almost like the finishing of Native...so to speak.

    FS

    SoTAL said:
    Yes, talk to Zanyr about integrating mods. If you manage to merge them somehow, it'd be great.

    To quote myself:

    Firstly, if those features work without bugs I want to offer the source for them.

    So this should eventually happen.

    Telapicus said:
    Nice work Geoffrey how about for a name OldNative

    Thanks for the suggestion.


    Did anyone break the code yet? Bugs/problems?
  13. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Titanshoe said:
    but how do u make more parties?

    You talk to a fellow soldier, there is a new dialog beside the "tell me about your stats" one. [P - Talk - Second dialog entry]
    It spawns a new party called "Patrol" for the lack of a better word yet. Then talk to them.

    Sorry if it isn't very intuitive.
  14. NNY (Gameplay mod): Sources released | Mod is on hiatus

    Hello there, 05.12.08 Mod goes on hiatus till at least February. 29.11.08 Source code released, see bottom What is this? Not much yet, it adds a few gameplay features but perhaps it becomes something big and earning a real name. Current features: - Talk to the Village Elder/Guild Master...
Back
Top Bottom