![]() |
|
#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
|
|||
|
|||
![]()
erm, doesn't this thread prove you can cheat horribly then post A HIGH SCORE?
I'm getting worried now ![]() |
#8
|
||||
|
||||
![]()
And you should be .
|
#9
|
|||
|
|||
![]()
This is why it is prudent that people should post a save game just before finishing the game along with their screenshots. I did that for my impossible no-loss mage game to show that everything is fair and square
![]() There are many things that can be modified in a game and still make it look like nothing has been touched though...
__________________
|
#10
|
||||
|
||||
![]()
Very true. Here is an example.
![]() All you can say to this is "How the hell !?!" |
![]() |
|
|