Search results

  1. Steam Workshop Support [BETA] - GAMECHANGER

    Recently tried to update the perisno mod on the steam workshop but I have encountered a new error

    Uploading item failed with result: 25

    Anyone know what this means?

    Edit - the workshop log shows that the update was successful but the launcher itself does not and it does not seem to update on the workshop
    "Uploading item failed with result: 25" apparently means that your icon is too big. Try size "512 x 414". I hope this helps someone who has the same problem.
  2. Balance?

    The ability to keep coming back with fresh armies only a few days later is a vanilla game issue, as are the wars against random factions.
    Both can be changed by the modder
  3. SP Dark Ages Medieval Adventure in the East

    If anyone wants to help in any way, with historical troops or characters, or whatever, just PM me or reply here.
  4. SP Dark Ages Medieval Adventure in the East

    The mod was available to download when I found this page a few hours, but it's down for authenticating now.
    It was uploaded to the wrong part of the website and I reuploaded it.
  5. SP Dark Ages Medieval Adventure in the East

    Hello, I've created a mod called "Adventure in the East" using assets from the abandoned mod "Rise of Islam" with the permission of the mod's author. I'd appreciate if someone would give it a try.
  6. B Medieval 1487 AD: A Time for Change

    If there are sensible scriptwriters and stage designers willing to help develop the mod, please let me know. There are a lot of ideas, but with my knowledge of the module system and the production of scenes, I'm afraid the development of the mod will drag on for an indefinite period or will stall again, as has already happened several times

    I can help with scripts and module system. What problem do you have?
  7. OSP Code Campaign [WIP] Way of the Sea - water travel -

    I think I've managed to fix problems with the script with this clumsy Simple Trigger that I wrote.

    Simple_triggers.py
    Code:
    #UPDATE PATHING WATER TRAVEL
    (1,
      [
    (try_for_parties, ":party_no"),
     (party_is_active, ":party_no"),
     (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_kingdom_hero_party),
     (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_kingdom_caravan),
     (party_slot_eq, ":party_no", slot_party_type, spt_village_farmer),
     (store_faction_of_party, ":party_faction", ":party_no"),
      (try_begin),
                (party_get_slot, ":target_center", ":party_no", slot_party_ai_object),
                (ge, ":target_center", 0),
     (party_is_active, ":target_center"),
       (party_slot_eq, ":party_no", slot_party_type, spt_kingdom_hero_party),
       (party_slot_eq, ":party_no", slot_party_ai_state, spai_accompanying_army),
       (neg|party_slot_eq, ":target_center", slot_party_type, spt_kingdom_hero_party),
        (try_begin),
         (faction_get_slot, ":faction_marshal", ":party_faction", slot_faction_marshall),
                (ge, ":faction_marshal", 0),
         (party_is_active, ":faction_marshal"),
         (assign, ":target_center", ":faction_marshal"),
         (assign, "$g_party_no", ":party_no"),
            (assign, "$g_target_center", ":target_center"),
         (call_script, "script_calculate_distances"),
        (else_try),
         (faction_get_slot, ":faction_leader", ":party_faction", slot_faction_leader),
         (party_is_active, ":faction_leader"),
         (assign, ":target_center", ":faction_leader"),
         (assign, "$g_party_no", ":party_no"),
            (assign, "$g_target_center", ":target_center"),
         (call_script, "script_calculate_distances"),
        (else_try),
              (call_script, "script_party_set_ai_state", ":party_no", spai_undefined, -1),
              (assign, "$g_recalculate_ais", 1),
        (try_end),
    (else_try),
    (party_get_current_terrain, ":terrain", ":party_no"),
    (this_or_next|eq, ":terrain", 0),
    (eq, ":terrain", 8),
    
    (party_get_slot, ":target_center", ":party_no", slot_party_destination),
                (ge, ":target_center", 0),
     (party_is_active, ":target_center"),
         (assign, "$g_party_no", ":party_no"),
            (assign, "$g_target_center", ":target_center"),
         (call_script, "script_calculate_distances"),
        (else_try),
                (party_get_slot, ":target_center", ":party_no", slot_party_ai_object),
                (ge, ":target_center", 0),
     (party_is_active, ":target_center"),
         (assign, "$g_party_no", ":party_no"),
            (assign, "$g_target_center", ":target_center"),
         (call_script, "script_calculate_distances"),
    (else_try),
    (party_slot_eq, ":party_no", slot_party_type, spt_kingdom_hero_party),
              (call_script, "script_party_set_ai_state", ":party_no", spai_undefined, -1),
              (assign, "$g_recalculate_ais", 1),
      (try_end),
    (try_end),
      ]),
  8. OSP Kit QoL Dead roam the Earth

    Game crashes when I encounter a party that has skeletons. Anyone know what's the cause?
  9. OSP Code Campaign [WIP] Way of the Sea - water travel -

    plazzard, does a version of this naval AI exist that doesn't get stuck in the ocean?
  10. OSP Code Campaign [WIP] Way of the Sea - water travel -

    Alright, I've managed to fix the problems I mentioned earlier. However, there's still the problem is lords getting stuck at a port when the are following the marshal.

    Is there a fix or a away to stop the marshal from using ports?

    Would this work to stop Marshals from using Ports and make them use the old pathfinding instead?

    Python:
    (eq, ":new_ai_state", spai_visiting_village),
             (try_for_range, ":troop_no", active_npcs_begin, kingdom_ladies_end),
             (faction_slot_eq,  ":faction_no", slot_faction_marshall, ":troop_no"),
                    (party_get_position, pos1, ":new_ai_object"),
                    (map_get_random_position_around_position, pos2, pos1, 2),
                    (party_set_ai_behavior, ":party_no", ai_bhvr_travel_to_point),
                    (party_set_ai_target_position, ":party_no", pos2),
                    (party_set_ai_object, ":party_no", ":new_ai_object"),
                (party_set_flags, ":party_no", pf_default_behavior, 0),
                (party_set_slot, ":party_no", slot_party_ai_substate, 0),
            (else_try),
                (party_set_flags, ":party_no", pf_default_behavior, 0),
                (party_set_slot, ":party_no", slot_party_ai_substate, 0),
                    (assign, "$g_party_no", ":party_no"),
                    (assign, "$g_target_center", ":new_ai_object"),
                    (call_script, "script_calculate_distances"),        #F&B injected
        (try_end),
                (try_begin),
                  (gt, ":party_is_in_town", 0),
                  (neq, ":party_is_in_town", ":new_ai_object"),
                  (party_detach, ":party_no"),
                (try_end),

    edit: This code doesn't give me errors and I haven't seen a marshal go into water. But I don't know for sure if it works. :ohdear:
  11. OSP Code Campaign [WIP] Way of the Sea - water travel -

    I deleted it because there's more strange things going on. When lords go to their faction's own town, the town is "Being Raided". :grin:
  12. OSP Code Campaign [WIP] Way of the Sea - water travel -

    Here

    from header_common import *
    from header_parties import *
    from ID_troops import *
    from ID_factions import *
    from ID_party_templates import *
    from ID_map_icons import *

    ####################################################################################################################
    # Each party record contains the following fields:
    # 1) Party id: used for referencing parties in other files.
    # The prefix p_ is automatically added before each party id.
    # 2) Party name.
    # 3) Party flags. See header_parties.py for a list of available flags
    # 4) Menu. ID of the menu to use when this party is met. The value 0 uses the default party encounter system.
    # 5) Party-template. ID of the party template this party belongs to. Use pt_none as the default value.
    # 6) Faction.
    # 7) Personality. See header_parties.py for an explanation of personality flags.
    # :cool: Ai-behavior
    # 9) Ai-target party
    # 10) Initial coordinates.
    # 11) List of stacks. Each stack record is a triple that contains the following fields:
    # 11.1) Troop-id.
    # 11.2) Number of troops in this stack.
    # 11.3) Member flags. Use pmf_is_prisoner to note that this member is a prisoner.
    # 12) Party direction in degrees [optional]
    ####################################################################################################################

    no_menu = 0
    #pf_town = pf_is_static|pf_always_visible|pf_hide_defenders|pf_show_faction
    pf_town = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large
    pf_castle = pf_is_static|pf_always_visible|pf_show_faction|pf_label_medium
    pf_village = pf_is_static|pf_always_visible|pf_hide_defenders|pf_label_small

    #sample_party = [(trp_swadian_knight,1,0), (trp_swadian_peasant,10,0), (trp_swadian_crossbowman,1,0), (trp_swadian_man_at_arms, 1, 0), (trp_swadian_footman, 1, 0), (trp_swadian_militia,1,0)]

    # NEW TOWNS:
    # NORMANDY: Rouen, Caen, Bayeux, Coutances, Evreux, Avranches
    # Brittany: Rennes, Nantes,
    # Maine: Le Mans
    # Anjou: Angers


    parties = [
    ("main_party","Main Party",icon_player|pf_limit_members, no_menu, pt_none,fac_player_faction,0,ai_bhvr_hold,0,(17, 52.5),[(trp_player,1,0)]),
    ("temp_party","{!}temp_party",pf_disabled, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0,0),[]),
    ("camp_bandits","{!}camp_bandits",pf_disabled, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(1,1),[(trp_temp_troop,3,0)]),
    #parties before this point are hardwired. Their order should not be changed.

    ("temp_party_2","{!}temp_party_2",pf_disabled, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0,0),[]),
    #Used for calculating casulties.
    ("temp_casualties","{!}casualties",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("temp_casualties_2","{!}casualties",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("temp_casualties_3","{!}casualties",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("temp_wounded","{!}enemies_wounded",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("temp_killed", "{!}enemies_killed", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("main_party_backup","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("encountered_party_backup","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    # ("ally_party_backup","_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("collective_friends_backup","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("player_casualties","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("enemy_casualties","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("ally_casualties","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),

    ("collective_enemy","{!}collective_enemy",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    #TODO: remove this and move all to collective ally
    ("collective_ally","{!}collective_ally",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),
    ("collective_friends","{!}collective_ally",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),

    ("total_enemy_casualties","{!}_", pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]), #ganimet hesaplari icin #new:
    ("routed_enemies","{!}routed_enemies",pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]), #new:

    # ("village_reinforcements","village_reinforcements",pf_is_static|pf_disabled, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(1,1),[]),

    ###############################################################
    ("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),[]),

    ("town_1","Sargoth", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-19.9, 83.46),[], 170), #[swycartographr] prev. coords: (-17.6, 79.7) #[swycartographr] prev. coords: (-18.19, 81.31)
    ("town_2","Tihr", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-50.9, 82.2:cool:,[], 120), #[swycartographr] prev. coords: (-53.5, 78.4) #[swycartographr] prev. coords: (-51.67, 81.12)
    ("town_3","Veluca", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-57.4, -44.5),[], 80),
    ("town_4","Suno", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-70, 15.4),[], 290),
    ("town_5","Jelkala", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-74.6, -79.7),[], 90),
    ("town_6","Praven", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-106.2, 34.0:cool:,[], 155), #[swycartographr] prev. coords: (-96, 26.4)
    ("town_7","Uxkhal", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-50, -8.5),[], 240),

    ("town_8","Reyvadin", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(48.44, 39.3),[], 175),
    ("town_9","Khudan", icon_town_snow|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(94, 65.2),[], 90),
    ("town_10","Tulga", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(135.5, -22),[], 310),
    ("town_11","Curaw", icon_town_snow|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(43, 67.5),[], 150),
    ("town_12","Wercheg", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1.99, 107.33),[], 25), #[swycartographr] prev. coords: (-1.2, 108.9)
    ("town_13","Rivacheg",icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(65.17, 116.21),[], 60), #[swycartographr] prev. coords: (64.8, 113.7)
    ("town_14","Halmar", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(55.5, -45),[], 135),

    ("town_15","Yalen", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-134.06, -48.07),[], 45), #[swycartographr] prev. coords: (-132.8, -47.3)
    ("town_16","Dhirim", icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(14, -2),[], 0),
    ("town_17","Ichamur", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(121.8, 8.6),[], 90),
    ("town_18","Narra", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(88, -26.5),[], 135),

    ("town_19","Shariz", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(15, -107),[], 45),
    ("town_20","Durquba", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(90, -95.1),[], 270),
    ("town_21","Ahmerrad", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(130.5, -78.5),[], 330),
    ("town_22","Bariyye", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(165, -106.7),[], 225),

    # Aztaq_Castle
    # Malabadi_Castle
    ("castle_1","Culmarr_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.3, -21),[],50),
    ("castle_2","Malayurg_Castle",icon_castle_b|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(97.5, -2.2),[],75),
    ("castle_3","Bulugha_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(47.5, 111.3),[],100),
    ("castle_4","Radoghir_Castle",icon_castle_c|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(32.5, 47.:cool:,[],180),
    ("castle_5","Tehlrog_Castle",icon_castle_c|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-4.8, 63.7),[],90),
    ("castle_6","Tilbaut_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(37.6, 17.1),[],55),
    ("castle_7","Sungetche_Castle",icon_castle_snow_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(109.5, 41.5),[],45),
    ("castle_8","Jeirbe_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(35.2, 89),[],30),
    ("castle_9","Jamiche_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-7.5, -82.6),[],100),
    ("castle_10","Alburq_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(24.2, 96.85),[],110),
    ("castle_11","Curin_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-27.50, 83.46),[],75),
    ("castle_12","Chalbek_Castle",icon_castle_b|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-84.75, 105.5),[],95),
    ("castle_13","Kelredan_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-10.6, 17.6),[],115),
    ("castle_14","Maras_Castle",icon_castle_c|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-122.4, -18.1),[],90),
    ("castle_15","Ergellon_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-52.5, -2:cool:,[],235),
    ("castle_16","Almerra_Castle",icon_castle_c|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-10.6, -65.6),[],45),
    ("castle_17","Distar_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(140.3, -10.:cool:,[],15),
    ("castle_18","Ismirala_Castle",icon_castle_snow_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(14.4, 70.1),[],300),
    ("castle_19","Yruma_Castle",icon_castle_snow_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(69.5, 55.6),[],280),
    ("castle_20","Derchios_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(16, 11.5),[],260),
    ("castle_21","Ibdeles_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-73, -89.5),[],260),
    ("castle_22","Unuzdaq_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(33, -64),[],260),
    ("castle_23","Tevarin_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-124.8, 44.3),[],80),
    ("castle_24","Reindi_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(24.9, -35.6),[],260),
    ("castle_25","Ryibelet_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-57, 30.6),[],260),
    ("castle_26","Senuzgda_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-2.5, -9.5),[],260),
    ("castle_27","Rindyar_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(63.3, -2),[],260),
    ("castle_28","Grunwalder_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-36.4, -39.3),[],260),

    ("castle_29","Nelag_Castle",icon_castle_snow_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(147.7, 50.4),[],280),
    ("castle_30","Asugan_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(176, -47),[],260),
    ("castle_31","Vyincourd_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-65.7, -12.5),[],260),
    ("castle_32","Knudarr_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(2, 30.1),[],260),
    ("castle_33","Etrosq_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.4, -32.1),[],80),
    ("castle_34","Hrus_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-72.5, 78.6),[],260),
    ("castle_35","Haringoth_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-110, 0),[],260),
    ("castle_36","Jelbegi_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-47.3, 53.2),[],260),
    ("castle_37","Dramug_Castle",icon_castle_c|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(55.3, 23),[],260),
    ("castle_38","Tulbuk_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(141.7, 33.3),[],260),
    ("castle_39","Slezkh_Castle",icon_castle_snow_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(56.8, 74.5),[],280),
    ("castle_40","Uhhun_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(62.9, -26),[],260),

    ("castle_41","Jameyyed_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(71.3, -71.1),[],260),
    ("castle_42","Teramma_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(70, -96),[],80),
    ("castle_43","Sharwa_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(172, -65),[],260),
    ("castle_44","Durrin_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(128, -87),[],260),
    ("castle_45","Caraf_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(30.6, -110.6),[],260),
    ("castle_46","Weyyah_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(13.3, -84.4),[],260),
    ("castle_47","Samarra_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(116, -74),[],260),
    ("castle_48","Bardaq_Castle",icon_castle_d|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(157, -80),[],260),


    # Rinimad
    # Rietal Derchios Gerdus
    # Tuavus Pamir vezona

    ("village_1", "Yaragar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-60, -9.5),[], 100),
    ("village_2", "Burglen", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-13.5, 3.5),[], 110),
    ("village_3", "Azgad", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-97.4, 36),[], 120),
    ("village_4", "Nomar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-36.6, -13.2),[], 130),
    ("village_5", "Kulum", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-121.76, 101.44),[], 170), #[swycartographr] prev. coords: (-122.7, 106.3)
    ("village_6", "Emirin", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(5.5, -2.5),[], 100),
    ("village_7", "Amere", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(39.3, -5.25),[], 110),
    ("village_8", "Haen", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-49.7, 74),[], 120),
    ("village_9", "Buvran", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-85, -75.35),[], 130),
    ("village_10","Mechin", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(8.8, 34.75),[], 170),

    ("village_11","Dusturil", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(137.2, -36.5),[], 100),
    ("village_12","Emer", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-45.8, -58.5),[], 110),
    ("village_13","Nemeja", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-119, 3),[], 120),
    ("village_14","Sumbuja", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(40,52),[], 130),
    ("village_15","Ryibelet", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-49.3, 26.25),[], 170),
    ("village_16","Shapeshte", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(74, 86.:cool:,[], 170),
    ("village_17","Mazen", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(44.7, 91.4),[], 35),
    ("village_18","Ulburban", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(73.7, 30.1),[], 170),
    ("village_19","Hanun", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(152.3, 53.5),[], 170),
    ("village_20","Uslum", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(116, 80.3),[], 170),

    ("village_21","Bazeck", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(60.4, 85),[], 100),
    ("village_22","Shulus", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(125.4, 64),[], 110),
    ("village_23","Ilvia", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-133.3, -37.6),[], 120),
    ("village_24","Ruldi", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-57.6, -73),[], 130),
    ("village_25","Dashbigha", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(125.2, -:cool:,[], 170),
    ("village_26","Pagundur", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-58.5, -30.:cool:,[], 170),
    ("village_27","Glunmar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-146.3, -16.6),[], 170),
    ("village_28","Tash_Kulun", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(95, -11.4),[], 170),
    ("village_29","Buillin", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-90.6, 110.9),[], 170),

    ("village_30","Ruvar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(31.39, 116.82),[], 170), #[swycartographr] prev. coords: (29.2, 114.3)
    ("village_31","Ambean", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-24, 53),[], 100),
    ("village_32","Tosdhar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(8.3 , 14.5 ),[], 110),
    ("village_33","Ruluns", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-59, 10.6),[], 120),
    ("village_34","Ehlerdah", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(34.15, -30),[], 130),
    ("village_35","Fearichen", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(2.14, 86.9),[], 170),
    ("village_36","Jayek", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(17.4, 100.7),[], 170),
    ("village_37","Ada_Kulun", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(164.4, 26),[], 170),
    ("village_38","Ibiran", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-42.8, 11.25),[], 170),
    ("village_39","Reveran", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-124.3, -29.5),[], 170),
    ("village_40","Saren", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-12, -53),[], 170),

    ("village_41","Dugan", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(175, -39.5),[], 100),
    ("village_42","Dirigh_Aban", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(115.4, 21.6),[], 110),
    ("village_43","Zagush", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(99.4, -21.3),[], 120),
    ("village_44","Peshmi", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(51.8, -50),[], 130),
    ("village_45","Bulugur", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(151.5, -3),[], 170),
    ("village_46","Fedner", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-82.4, -48.:cool:,[], 170),
    ("village_47","Epeshe", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.2, -53.7),[], 170),
    ("village_48","Veidar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-103, 15.3),[], 170),
    ("village_49","Tismirr", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(90.8, 60.5),[], 10),
    ("village_50","Karindi", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(64.1, 55.9),[], 170),

    ("village_51","Jelbegi", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-40, 62),[], 100),
    ("village_52","Amashke", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(38.2, -67.7),[], 110),
    ("village_53","Balanli", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-130.3, 42),[], 120),
    ("village_54","Chide", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-19, 15.5),[], 130),
    ("village_55","Tadsamesh", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(37.3, 23.7),[], 170),
    ("village_56","Fenada", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-5.55, 75.5),[], 170),
    ("village_57","Ushkuru", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(24.75, -7.7),[], 170),
    ("village_58","Vezin", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(78.50, 118.3),[], 170),
    ("village_59","Dumar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101, -45),[], 170),
    ("village_60","Tahlberl", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-26.6, 30),[], 170),

    ("village_61","Aldelen", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-99.8, 85.65),[], 100),
    ("village_62","Rebache", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(36.7, 59.5),[], 100),
    ("village_63","Rduna", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(70.75, 1.6),[], 100),
    ("village_64","Serindiar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-41.5, -35.:cool:,[], 100),
    ("village_65","Iyindah", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-86.3, 12.4),[], 100),
    ("village_66","Fisdnar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(109, 127.5),[], 100),
    ("village_67","Tebandra", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(65, 23),[], 100),
    ("village_68","Ibdeles", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-72.6, -97.5),[], 100),
    ("village_69","Kwynn", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-26.5, 77.6),[], 100),
    ("village_70","Dirigsene", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-94, -27),[], 100),

    ("village_71","Tshibtin", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-9, -20),[], 20),
    ("village_72","Elberl", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-144, 16.15),[], 60),
    ("village_73","Chaeza", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-63.2, -51.4),[], 55),
    ("village_74","Ayyike", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(49, 31),[], 15),
    ("village_75","Bhulaban", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(110.2, 48.:cool:,[], 10),
    ("village_76","Kedelke", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(91.5, -34.:cool:,[], 35),
    ("village_77","Rizi", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-64.8, 81.5),[], 160),
    ("village_78","Sarimish", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-30.2, -53.3),[], 180),
    ("village_79","Istiniar", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-134.1, -5.5),[], 0),
    ("village_80","Vayejeg", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1.5, 56),[], 40),

    ("village_81","Odasan", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-17.2, 123.6),[], 20),
    ("village_82","Yalibe", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(12, -26),[], 60),
    ("village_83","Gisim", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-85.29, 51.62),[], 55), #[swycartographr] prev. coords: (-79.9, 55.2)
    ("village_84","Chelez", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-45.6, -83),[], 15),
    ("village_85","Ismirala", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(22.8, 71.7),[], 10),
    ("village_86","Slezkh", icon_village_snow_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(60.5, 68.2),[], 35),
    ("village_87","Udiniad", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(52.3, 111.:cool:,[], 160),
    ("village_88","Tulbuk", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(135.8, 24.7),[], 180),
    ("village_89","Uhhun", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(70.1, -27.9),[], 0),
    ("village_90","Jamiche", icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-12.7, -85.5),[], 40),

    ("village_91","Ayn Assuadi", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(21.6, -95.3),[], 20),
    ("village_92","Dhibbain", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(42.5, -111.6),[], 60),
    ("village_93","Qalyut", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(50, -94.:cool:,[], 55),
    ("village_94","Mazigh", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(75.4, -61.65),[], 15),
    ("village_95","Tamnuh", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(99, -90.5),[], 10),
    ("village_96","Habba", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(107, -75),[], 35),
    ("village_97","Sekhtem", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.3, -76.:cool:,[], 160),
    ("village_98","Mawiti", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(117.7, -62.2),[], 180),
    ("village_99","Fishara", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(158.35, -9:cool:,[], 0),
    ("village_100","Iqbayl", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(150, -106.5),[], 40),

    ("village_101","Uzgha", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(154, -69.5),[], 20),
    ("village_102","Shibal Zumr", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(77.2, -91),[], 60),
    ("village_103","Mijayet", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(121, -95.6),[], 55),
    ("village_104","Tazjunat", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(159, -58.5),[], 15),
    ("village_105","Aab", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(135, -88.5),[], 10),
    ("village_106","Hawaha", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(10.3, -91.0),[], 35),
    ("village_107","Unriya", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(156.6, -84),[], 160),
    ("village_108","Mit Nun", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(28.8, -107.3),[], 180),
    ("village_109","Tilimsal", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(53, -114.5),[], 0),
    ("village_110","Rushdigh", icon_village_c|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(38, -104),[], 40),

    ("salt_mine","Salt_Mine",icon_village_a|pf_disabled|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(14.2, -31),[]),
    ("four_ways_inn","Four_Ways_Inn",icon_village_a|pf_disabled|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(4.8, -39.6),[]),
    ("test_scene","test_scene",icon_village_a|pf_disabled|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(10.8, -19.6),[]),
    #("test_scene","test_scene",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(10.8, -19.6),[]),
    ("battlefields","battlefields",pf_disabled|icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(10.8, -16.6),[]),
    ("dhorak_keep","Dhorak_Keep",icon_town|pf_disabled|pf_is_static|pf_always_visible|pf_no_label|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-50,-5:cool:,[]),

    ("training_ground","Training Ground", pf_disabled|icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(3, -7),[]),

    ("training_ground_1", "Training Field", icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible|pf_label_medium, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(37.4, 102.:cool:,[], 100),
    ("training_ground_2", "Training Field", icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible|pf_label_medium, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-12.8, 33),[], 100),
    ("training_ground_3", "Training Field", icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible|pf_label_medium, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(70.5, 72.0),[], 100),
    ("training_ground_4", "Training Field", icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible|pf_label_medium, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(11.5, -75.2),[], 100),
    ("training_ground_5", "Training Field", icon_training_ground|pf_hide_defenders|pf_is_static|pf_always_visible|pf_label_medium, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-125.8, 12.5),[], 100),


    # bridge_a
    ("Bridge_1","{!}1",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(39.37, 65.10),[], -44.:cool:,
    ("Bridge_2","{!}2",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(56.44, 77.8:cool:,[], 4.2:cool:,
    ("Bridge_3","{!}3",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(70.87, 87.95),[], 64.5),
    ("Bridge_4","{!}4",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(93.71, 62.13),[], -2.13),
    ("Bridge_5","{!}5",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(11.02, 72.61),[], 21.5),
    ("Bridge_6","{!}6",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-8.83, 52.24),[], -73.5),
    ("Bridge_7","{!}7",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-29.79, 76.84),[], -64),
    ("Bridge_8","{!}8",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-64.05, -6),[], 1.72),
    ("Bridge_9","{!}9",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-64.95, -9.60),[], -33.76),
    ("Bridge_10","{!}10",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-75.32, -75.27),[], -44.07),
    ("Bridge_11","{!}11",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-24.39, 67.82),[], 81.3),
    ("Bridge_12","{!}12",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-114.33, -1.94),[], -35.5),
    ("Bridge_13","{!}13",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-84.02, -7),[], -17.7),
    ("Bridge_14","{!}14",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-23.36, 75.:cool:,[], 66.6),

    #Wulf
    ("ship_raider_spawn_point_1" ,"the_ocean",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-5.23,90.26),[(trp_looter,15,0)]),
    #Wulf
    ("looter_spawn_point" ,"{!}looter_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(26, 77),[(trp_looter,15,0)]),
    ("steppe_bandit_spawn_point" ,"the steppes",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(125, 9),[(trp_looter,15,0)]),
    ("taiga_bandit_spawn_point" ,"the tundra",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(78, 84),[(trp_looter,15,0)]),
    ## ("black_khergit_spawn_point" ,"black_khergit_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(47.1, -73.3),[(trp_looter,15,0)]),
    ("forest_bandit_spawn_point" ,"the forests",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-35, 1:cool:,[(trp_looter,15,0)]),
    ("mountain_bandit_spawn_point","the highlands",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-90, -26.:cool:,[(trp_looter,15,0)]),
    ("sea_raider_spawn_point_1" ,"the coast",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(48.5, 110),[(trp_looter,15,0)]),
    ("sea_raider_spawn_point_2" ,"the coast",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-42, 76.7),[(trp_looter,15,0)]),
    ("desert_bandit_spawn_point" ,"the deserts",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(110, -100),[(trp_looter,15,0)]),
    # add extra towns before this point
    #### Water travel ports
    ("port_1","Port 1",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-87.67, 49.52),[]), #[swycartographr] prev. coords: (-333.97, -172.24)
    #("port_2","Port 2",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-311.29, -96.3:cool:,[]),
    ("port_3","Port 3",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-13.01, -88.65),[]), #[swycartographr] prev. coords: (-55.49, -59.4:cool:
    ("port_4","Port 4",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-137.58, -50.47),[]), #[swycartographr] prev. coords: (-78.8, -39.55)
    ("port_5","Port 5",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-19.07, 85.82),[]), #[swycartographr] prev. coords: (20.8, -22.12) rot: 0 #[swycartographr] prev. coords: (-15.51, 81.57) #[swycartographr] prev. coords: (-13.89, 82.17) #[swycartographr] prev. coords: (-18.02, 84.15)
    #("port_6","Port 6",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(274.33, -6.06),[]),
    #("port_7","Port 7",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-155.4, -224.61),[]),
    ("port_8","Port 8",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-124.61, 99.7:cool:,[]), #[swycartographr] prev. coords: (18.84, 35.96)
    ("port_9","Port 9",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-105.14, 37.6),[]), #[swycartographr] prev. coords: (-70.05, 12.42)
    #("port_10","Port 10",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(86.05, -26.52),[]),
    ("port_11","Port 11",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-16.33, 127.13),[]), #[swycartographr] prev. coords: (130.68, 39.62)
    #("port_12","Port 12",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-244.51, 60.62),[]),
    #("port_13","Port 13",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.78, 264.12),[]),
    ("port_14","Port 14",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1.48, 104.9:cool:,[]), #[swycartographr] prev. coords: (199.55, 236.01) #[swycartographr] prev. coords: (-1.53, 106.97) #[swycartographr] prev. coords: (0.06, 105.79) #[swycartographr] prev. coords: (0.13, 106.04)
    ("port_15","Port 15",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-51.14, 85.03),[]), #[swycartographr] prev. coords: (14.2, -31) #[swycartographr] prev. coords: (-55.71, 80.21) #[swycartographr] prev. coords: (-54.41, 81.42) #[swycartographr] prev. coords: (-50.38, 83.52)
    ("port_16","Port 16",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(65.54, 119.49),[]), #[swycartographr] prev. coords: (14.2, -31)
    ("port_17","Port 17",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-134.3, 43.7:cool:,[]), #[swycartographr] prev. coords: (14.2, -31)
    ("port_18","Port 18",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(30.81, 120.96),[]), #[swycartographr] prev. coords: (14.2, -31)
    #("port_19","Port 19",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(14.2, -31),[]),
    #("port_20","Port 20",icon_village_a|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(14.2, -31),[]),
    #F&B end ports
    ("spawn_points_end" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ("reserved_1" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ("reserved_2" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ("reserved_3" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ("reserved_4" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ("reserved_5" ,"{!}last_spawn_point", pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
    ]
  13. OSP Code Campaign [WIP] Way of the Sea - water travel -

    ports_begin = "p_port_1"
    ports_end = "p_spawn_points_end"

    I have done this
  14. OSP Code Campaign [WIP] Way of the Sea - water travel -

    Hello,

    I have a small problem with this mod. AI Lords raid Ports like they are villages and I get a popup that "Your village {town name}'s Port is being raided."

    How do I make lords not think ports are villages?
  15. OSP Kit Campaign Trade with caravans

    Hello,

    What does this line do?

    ["caravan_masters_end","caravan_masters_end","caravan_masters_end",tf_hero, 0,0, fac_commoners,[],def_attrib|level(2),wp(20),knows_inventory_management_10,0],
Top Bottom