Napisałem krótki tutorial, w którym każdy może nauczyć się jak dodawać nowe oddziały na mapie.
1. Tworzysz żołnierzy, których chcesz mieć w party, w Module_troops.py.
2. Dodajesz w Module_parties.py nowy spawn point. Przykładowo:
("nowy_sp" ,"nowy_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(57, 86),[(trp_looter,15,0)]),
57, 86 to współrzędne geograficzne spawn pointu na mapie Calradii, więc zmień je aby odpowiadały twoim oczekiwaniom. Najprościej zrobić to ściągając Edytor Mapy Thorgrima i przesuwając nowopowstały spawn point.
trp_looter,15,0 nie odpowiada dodaniu żołnierzowi "Looter" do party, jest to tylko nie mający tu żadnego znaczenia punkt w kodzie. Jest on przydatny przy robieniu załogi miast, ale nie tym się zajmujemy.
3. Dobrze, teraz przejdźmy do party_templates.py i dodajmy następujący kod:
("sea_band","Sea Band",icon_axeman|carries_goods(2),0,fac_outlaws,bandit_personality,[(trp_sea_raider,5,50)]),
icon_axeman to ikonka danej drużyny. Można ją zmienić, tylko trzeba zobaczyć jaki ma ID w module_map_icons.py.
carries_goods(2) to wartość łupów, które zdobędziemy po pokonaniu party.
fac_outlaws to frakcja danej party. Można ją również zmienić, po uprzednim obejrzeniu pliku module_factions.py.
bandit_personality to - jak sama nazwa wskazuje - charakter drużyny, można go zmienić po uprzednim obejrzeniu listy charakterów w header_parties.py.
trp_sea_raider,5,50 to rodzaje i liczba występujących w party żołnierzy. 5 to wartość minimalna liczby żołnierzy, a 50 to maksymalna. Można dodawać nowych żołnierzy w następujący sposób:
("sea_band","Sea Band",icon_axeman|carries_goods(2),0,fac_outlaws,bandit_personality,[(trp_sea_raider,5,50),(trp_looter,2,15),(trp_mountain_bandit,5,10)]),
4. Okej, mamy już nową drużynę. Teraz otwieramy module_scripts.py, naciskamy razem klawisze Ctrl+F, a następnie w okienko wpisujemy: "spawn_bandits" i klikamy ok. Automatycznie przeskakujemy do podświetlonej linijki. Poniżej pierwszego napotkanego "try_end" wklejamy ten kod:
(try_begin),
(store_num_parties_of_template, ":num_parties", "pt_sea_band"),
(lt,":num_parties",14),
(store_random,":spawn_point",num_nowy_sp),
(val_add,":spawn_point","p_nowy_sp"),
(spawn_around_party,":spawn_point","pt_sea_band"),
(try_end),
Tłumaczyć nie będę, bo jest to stosunkowo proste do odgadnięcia. Teraz otwieramy module_constants.py i szukamy znanym już sposobem (Ctrl+f): "num_sea_raider_spawn_points = 2". Poniżej wklejamy:
num_nowy_sp = 1
W ten sposób dodaliśmy nowy spawn point. Klikamy dwa razy na build_module.bat i sprawdzamy to w grze.