![]() |
#1
|
|||
|
|||
![]()
Well, I've been looking through the ses.kfs file for the past 1 hour, so I may as well share the insights I got while doing so. It is my first time, yet it's so easy to find out what does what and how it does it
![]() Open the ses.kfs with winzip/winrar. There is a ton of files there, but we need only a few. 1. hero.txt This text file contains everything about the three classes. You can mod: the starting money, the starting runes, the starting leadership, the leadership gain per level, the speed of the improvement of the pet dragon, etc. Here's how the warrior looks: hero_warrior { // ******************** Воин ******************** // стартовые параметры -> "//" indicates a comment, so it's not taken into account by the program start { -> the next lines are the starting values. leadership=180 attack=2 defense=1 intellect=0 mana=10 rage=20 gold=2000 rune_might=5 rune_mind=2 rune_magic=1 crystals=3 book=6 // стартовые умения изученные и недоступные skills_open=rage_control //heroism, rage,traning //order,chaos,dist skills_off=hi_magic,resurrection ->delete those and Amelie will be able to learn the class specific skills of other classes as well army=bowman|3|footman|5|bear|2 -> the starting army spells { spell_haste=-1 } items { time_clock=1 picture_inspirit=1 } } // слоты slots { // имя_слота_в_интерфейсе=типы _предметов_которые_в_него_м жно_складывать_перечислен ые_через_запятую // не забываем указывать картинки нужных комбинаций в hero.txt -> slot_bgs -> this is the slot setup, if you change it, don't forget to point the right slot picture in the slot_bgs part of the hero.txt file - and make sure such picture exists, or it will not show 1=helmet 2=weapon 3=armor 4=boots 5=regalia,dress 6=weapon,shield 7=belt,gloves 8=artefact wife=wife } // прокачка level_up { -> the multiplier on level-up leadership=20 //60,80 book=1,6 // растет на 1 каждый 6 уровень ->how the spell book expands - in this case, by 1 scroll every 6 levels } k_spirit_up=1.0 // коэффициент набирания опыта спирита ->how quickly the pet dragon improves } It is the same for the other classes, simply the values are different. 2)companion.txt In this file you can edit the companion's bonuses, slots, etc. Simply use the pre-written codes. Now letls take moro dark for example: companion_dark { category=o image=heroitem_partner_maroc.png hint_config=object_item label=itm_companion_dark_name hint=itm_companion_dark_hint information_label= maphint= mapinfo= price=10 maxcount=0 level=3 race=human use {} wifeslots { ->here the game indicates the slots. Must be written properly, separated by a comma if he can equip more than one thing 9=weapon 10=armor 11=helmet 12=regalia,belt } children= fight { { filter { belligerent=ally race=undead } pbonus=moral,1,0,0,-100,0,0 dbonus= rbonus= attack_on= attack_off= } } mods { -> "mods" mean what will the companion affect if recruited - like moro's +3 attack bonus, jimmy's +700 leadership, etc. The values can be modified. attack=count,3 } propbits=usable,rare,wife params { use=100 item_count=1 footman=5 skeleton=2 kbk=50 } Here's jimmy's leadership bonus, for example: mods { leadership=count,700 } I wouldn't touch the actions thingy if I were you (and me)... It seems something hardcoded. 3)hidden.txt Now this is one very cool file. It contains all wanderers' spells with all their properties!!! Let's take a look: hidden_flame_gaze { ->the name of the scroll category=o image=buff_Flame_Gaze.png hint_config=object_item label= hint= information_label= maphint= mapinfo= price=10 maxcount=0 level=1 race=human use {} mods {->what does it modify - you can change the bonus at will as usual leadership=count,20% } propbits=hidden params { count=1 ->how many battles does it last. It is 1 battle by default. Titan sword has count=2 by default, meaning 2 battles } 4)items.txt This is one huge file that describes any item in the game and its bonuses. They can be changed at will. Here's the banner of true faith, for example: true_belief_banner { category=o image=heroitem_regalia_truebelief_banner.png hint_config=object_item label=itm_true_belief_banner_name hint=itm_true_belief_banner_hint information_label=itm_true_belief_banner_info maphint= mapinfo= atoms { 1 { atom= lu=template_item_mb label= } } price=55000 ->the price of the item maxcount=1 ->how many can spawn in a game level=4 race=human setref=set_inquisitor use {} fight { { filter { unit=paladin belligerent=ally } pbonus=krit,20,0,0,-100,0,0 dbonus= rbonus= attack_on= attack_off= } } mods { rage=limit,10 } propbits=regalia,usable params { item_count=10 ->how many it will give... item_add=rune_mind ->of this designated item - in our case, mind runes victory=50 ->this is the condition - 50 won battles } 5)itemmonsters.txt Concerns what kind of monsters spawn from eggs. Pretty much self-explanatory. 6)medals.txt Now this is the file concerning medals and their prerequisites. Here's the trapper medal: medal_trapper_1 { category=o image=heroitem_medal_trapper.png hint_config=object_item label=itm_medal_trapper_1_name hint=itm_medal_trapper_1_hint information_label= maphint= mapinfo= price=10 maxcount=0 level=1 race=human medclass=-1 use {} mods { sp_set_trap=count,1 sp_trap_attack=count,25 } propbits=medal params { ->there you go - the requirements of the trapper medal. Change them everywhere (in medal_trapper_2 and 3) to avoid discrepancies in-game. max1=10 max2=50 max3=100 order=7 param=0 var=killed_by_trap } It's pretty much the same for the other medals. Simply change the parameters. 7)skills.txt In this file are listed all the skills. Here you can edit prerequisites, rune count, etc. Seems a bit hard, but at least you can change the rune count easily. Let's take a look at the rage control skill: rage_control { pos=2,0 deps= pic=skillicon1_03_ name=skill_rage_control_caption hint_header=skill_rage_control hint_text=skill_rage_control_hint script=skill_rage levels { 1 { deps= runes=9,2,0 ->cost for lvl 1 trade= pars=+8 } 2 { deps= runes=10,2,0 ->cost for lvl 2 trade= pars=+16 } 3 { deps= runes=11,2,0 ->cost for lvl 3 trade= pars=+24 } } } Pretty much the same for the other skills ![]() ![]() Here you can edit the damage, the crystal cost and such. Here's the armageddon spell: spell_armageddon { category=s profit=5 price=60000 hide=0 image=book_spell_armageddon.png button_image=book_scroll_armageddon.png label=SN_armageddon attack=scripted school=3 hint=spell_armageddon_hint hint_header=spell_armageddon_header scripted { script_attack=spell_armageddon_attack script_calccells= attack_cursor=magicstick ad_factor=0 // use attack/defense //nfeatures=magic_immunitet } params { duration=0 typedmg=astral damage=200-300 lvl_dmg=70 ->percentage that damage improves by level. Min damage is 200, 70% of it is 140, so lvl 2 min damage is 340, and lvl 3 min damage is 480. prc=50,50,50 ->now some of these should be the damage that it does to allies... the good question is which one or it based on the level of the spell. burn=30 ->basic chance to burn - improves by 30% per lvl } levels { // level = mana_cost, crystals_cost to upgrade from previous level 1=30,15 2=40,25 3=50,35 } } ![]() Here you can mod the prices for the spells, so it's cheaper to buy them. 9)logic.txt Here you can find all the values the game uses in its formulas - like: - leadership count per unit killed // Коэффициент для перевода лидерства юнита в опыт игрока exp_from_lead_k=0.017 //0.016 -item prices and buyouts. // Коэффициенты для покупки/продажи default_buy_coeff=0 default_sell_coeff=0.25 ->this means the game will buy the items at 1/4 price. Set this to 1 and it will look like you have the trading skill from KBTL. default_sell_scroll_coeff=0.2 ->this means that the game will buy scrolls at 1/5 the price. Set it to 1 and the game will buy scrolls at cost. -difficulty settings (k-coefficient): difficulty_k { exp=0.5|1.0|1.30|1.7 // k for xp required for next level (meaning XP on normal*k) alead=0.5|1.0|1.30|1.7 // strength of enemy army spexp=0.5|1.0|1.15|1.3 // pet dragon improvement k money=3.0|1.0|0.75|0.5 // money gain per difficulty rage=2.0|1.0|0.85|0.7 // rage gain per diff. manarage=2.0|1.0|0.80|0.5 // rage loss/mana gain on the map k start_gold=5.0|1.0|1.00|1.0 // starting gold k start_crystals=5.0|1.0|1.00|1.0 // starting crystals k start_mana=2.0|1.0|1.00|1.0 // starting mana k start_rage=2.0|1.0|1.00|1.0 // starting rage k start_rune_might=3.0|1.0|1.00|1.0 // starting might runes k start_rune_mind=3.0|1.0|1.00|1.0 // starting mind runes k start_rune_magic=3.0|1.0|1.00|1.0 // starting magic runes k start_book=3.0|1.0|1.00|1.0 // magic book scroll space k bossatk=1.0|1.0|1.4|1.7 // k for boss damage bosshp=1.0|1.0|1.4|2.0 // k for boss HP deadmoney=3.0|2.0|1.7|1.5 // k for money when a battle is lost boxradar= 1 | 1 | 0 | 0 // this switch shows chests, flags, etc on the radar. It is 0 by default for hard&impossible, setting it to 1 will show them on those difficulties as well. } And numerous other things, it's very easy to grasp it ![]() 10)morale.txt Here you can edit morale relations so that you can mix armies at will. Simply refer to the coding, it's pretty much self-explanatory. 11)boxes.lua Shows what you can get from the chests. function genbox( racemask ) --ftag:boxgen local mapk = Game.MapLocDifficulty() local K = Boxgen.rnd(100) K = K - 1 -> if you increase this number, you will improve the chance that an item will spawn from a chest. If the value after the calculation is >=0, then the chest will give you cash. if K < 0 then if not Boxgen.object( mapk, racemask ) then -- генерируется предмет. Если не сгенерился, то деньги -- cant add object, add money Boxgen.parcount( "money", "*7" ) -- генерим денег Mini,Small,Average end return true end K = K - 3 if K < 0 then local r = Boxgen.rnd(3) if r == 0 then Boxgen.parcount( "rune_might", "1" ) ->"1" is the number of runes you can get. You can increase the number to improve rune gain. elseif r == 1 then Boxgen.parcount( "rune_magic", "1" ) else Boxgen.parcount( "rune_mind", "1" ) end return true end K = K - 5 if K < 0 then local r = Boxgen.rnd(113) if r < 100 then Boxgen.parcount( "crystals", "1" ) ->"1" is the number of crystals you can get. You can increase the number to improve crystal gain. elseif r < 110 then Boxgen.parcount( "crystals", "2" ) else Boxgen.parcount( "crystals", "3" ) end return true end K = K - 15 if K < 0 then -- простой свиток local r = Boxgen.rnd(100) local count = 3 if r < 80 then count = 1 elseif r < 95 then count = 2 end if not Boxgen.scroll( mapk, count ) then -- cant add scroll, add money Boxgen.parcount( "money", "*7" ) -- генерим денег Mini,Small,Average end return true end K = K - 1 ->you can increase this number to improve the chance that a wanderers' scroll will spawn from a chest if K < 0 then -- магия странствий if not Boxgen.scroll( ) then -- cant add scroll, add money Boxgen.parcount( "money", "*7" ) -- генерим денег Mini,Small,Average end return true end -- Boxgen.parcount( "money", "*7" ) -- генерим денег Mini,Small,Average local r = Boxgen.rnd(100) if r < 50 then Boxgen.parcount( "money", "*1" ) -- генерим денег Mini elseif r < 80 then Boxgen.parcount( "money", "*2" ) -- генерим денег Small else Boxgen.parcount( "money", "*4" ) -- генерим денег Average end There you go... Easy KBAP and KBTL modding ![]() Or, for all it seems... you can extract all the modified files from ses.kfs file and pack them with winzip/winrar in another kfs file named anyway you wish and put it in the data/mods folder. The current mods seem to be made this way ![]()
__________________
Last edited by DGDobrev; 12-08-2009 at 10:32 PM. |
#2
|
|||
|
|||
![]()
Good stuff, very nice finds DG !
![]() |
#3
|
|||
|
|||
![]()
Well, the only thing left to do now is to play around with the values I guess. I haven't done any modding at all, but it looks really easy-to-do stuff.
EDIT: And indeed it is ![]() ![]()
__________________
Last edited by DGDobrev; 12-09-2009 at 12:16 AM. |
#4
|
|||
|
|||
![]()
Nice this'll definitely help people out, only thing we now need is someone to explain stuff in the file embryos.txt (contains all troop spawns when you create new game etc.)
![]() |
#5
|
|||
|
|||
![]()
Any1 having errors when starting a new game after changing some stuff like leadership, runes, starting army etc?
cant start my game |
#6
|
|||
|
|||
![]() Quote:
![]() |
#7
|
|||
|
|||
![]()
When starting the game my game exits and i get a windows error window.
i only got the error after i changed the starting army setup is there any way top unlock islands without getting the actual map? wanted to start with lizardmen/or demon army ![]() |
#8
|
|||
|
|||
![]() Quote:
![]() |
#9
|
|||
|
|||
![]()
If you got an error after you changed the starting army setup, you probably got the coding all wrong. You should search the file for the proper names of the units and replace the ones you used with the proper ones.
__________________
|
#10
|
|||
|
|||
![]()
Probably mate...gonna have to investigate the situation
![]() rancor, what do you mean by the commands? well, gonna try to create my army. By the way. If having, for example, 100leardership and i create an army with, lets say, 100bears (having too many for the leadership) can an error occur? |
![]() |
Thread Tools | |
Display Modes | |
|
|