View Single Post
Old 09-27-2021, 01:13 AM
MattCaspermeyer MattCaspermeyer is offline
Approved Member
Join Date: Aug 2010
Posts: 553
Exclamation Version 1.0 2021-MM-DD

Checkout my other post, but these are changes I've been working on, with the bulk of these done almost 4 years ago and then some new changes in the past month since King's Bounty 2 has come out.

These changes are unreleased, but here is the change list with a hopeful release before the end of the year:

Version 1.0 2021-MM-DD
*.ATOM - altered the movement points of a lot of units and added the run ability to quite a few more atoms and the action points are now variable
^ Most biped units move just 1 or 2 movement points, but have the run ability to make up for it and it is also reloadable
^ Snakes have either 1 or 2 movement points (but can run)
^ Spiders have 2 movement points (but can run)
^ Most 4-legged units move 3 movement points (and can run)
^ Most flyers move 5 or more movement points
^ Most other units that could run before now have variable AP
^ Ogre's rage ability now has variable AP (and they can run now)
^ Increased dwarf unit resistance since they all move just 1 movement point now (they can run, though) and gave them Magic Resistance
^ Snakes now have Night Sight and receive a defense bonus in forests, but have reduced health in winter arenas.
^ ARCHMAGE.ATOM - fixed issues with shock no longer working for Archmages - thanks @SlickDragon! (when I added Blue Dragons, I broke Archmage's shock):
% Removed the level= custom parameter from their moveattack section (now they can't shock with melee any more)
% Added level=5 custom parameter to their lightning section (now they can shock with their ranged attack again)
^ WOLF.ATOM: Werewolf Elves in Wolf form now have their own Werewolf Cry which affects level 3 units
^ Changed Phoenix damage (all 3) to be 25% astral / 75% fire (instead of 50 / 50 before)
^ Increased Physical Resistance and Fire Resistance for Footmen, Horsemen, and Knights
^ Increased Physical Resistance of Black Knights
^ The following units are now furious (always retaliating to attacks):
$ All Barbarians, Bears, and Cerberi
^ Thorns (Thorn Hunters, Thorn Warriors, and Royal Thorns) now rejuvenate 10% of their lost stack hp each turn
^ Cyclops recover 25% of their lost hp each turn
*.CHAT - I currently don't have these put in as players can just run away from the dragon if it's too tough
^ These two deal with the changes to the increase in difficulty on impossible allowing the starting Dragon to be defeated (with the default 10 Knight's and Horsemen it was possible that the Dragon was unbeatable).
% - increased Iron Richard's +Leadership to allow for 15 Knights and Horsemen
% - Iron Richard now removes the same leadership added as above
^ ITEXTURES.DAT - added new TEX340.DAT to include list
^ TEX340.DAT - new DDS icon data file for the item bonus icons
^ TEX340.DDS - new picture file that contains the item bonus icons (i.e. attack, defense, etc.)
*.LNG - some of these are pretty much just grammar / spelling fixes
% Added new features to the combat log
^ EN(G)_CHAT_0814853819_0185019267.LNG (Lady Beaulla) - fixed misspelling: honer -> honor
^ EN(G)_CHAT_1920750196_1155319803.LNG (Furious Paladin) - "but no I don't remember... so what's" -> "but no, I don't remember... so, what's" (thanks to Dohi64)
^ EN(G)_ITEMS.LNG - grammar fixes (some of these are from my grammar patch that forked and others provided by Dohi64)
% "strike it couple of" -> "strike it a couple of" (thanks to Dohi64)
% "image of the skull and the crossbones" -> "image of a skull and crossbones"
% "The ordinary golden" -> "An ordinary golden" (thanks to Dohi64)
% "with a straw" -> "with straw" & "even of teeth" -> "even teeth"
% "trident more" -> "trident is more" x3
% "This is item" -> "This item"
% "are still sometimes still used" -> "are sometimes still"
^ EN(G)_CREDITS.LNG - updated the credits for beta testers! Pretty much if you provided comments in the forum then I included you in the credits:
% @bacchus1974
% @Gza
% @Helios
% @jorko80
% @Kiras
% @Nevar
% @ShuiMienLung
% @SirLancelot
% @Sir Whiskers
% @SlickDragon
% @Zepdog
^ EN(G)_HERO.LNG - added bonuses to descriptions for the following on the hero screen:
% Gold
% Rage
% Mana
^ EN(G)_ITEMS_BONUS.LNG - new file that contains all the labels for the auto-generated item bonuses
% Added Summon Dragonfly to the list of talents affected by the Glory skill
% Clarified Frenzy description a little bit
% Skill Healer:
$ (Level 3) now lists the bonus for Bless as two possibilities, whichever is greater (see SPELL_EFFECTS.LUA)
$ Added Recovery and Rejuvenation to the list of abilities increased by it
% Skill Necromancy (Level 3) now lists the bonus for Weakness as two possibilities, whichever is greater (see SPELL_EFFECTS.LUA)
% Bless now maximizes the target's damage for all attacks and allows use of talents at maximum capability
% Weakness now minimizes the target's damage for all attacks and allows use of talents at minimum capability
% Added updates to spell descriptions where the number of targets could change as a function of level
% Leadership reduction bonus is now shown on the unit card
% Added new multi-unit descriptions for combined units:
$ cpsn_sprites - all sprites (Sprites & Lake Fairies)
$ cpsn_unicorns - all unicorns (Unicorns & Black Unicorns)
$ cpsn_zombies - all zombies (Zombies & Decaying Zombies)
$ cpsn_ghosts - all ghosts (Ghosts & Cursed Ghosts)
$ cpsn_imps - all imps (Imps and Scoffer Imps)
$ cpsn_barbarians - all barbarians (Barbarians & Berserkers)
$ cpsn_dragonflies - all dragonflies (Fire & Lake Dragonflies)
$ cpsn_snakes - all level 2 snakes (Snakes & Swamp Snakes)
$ cpsn_bears - all level 3 bears (Bears & Ancient Bears)
% Updated descriptions to include changes to snakes
% Added new features:
$ Recovery for Cyclops
$ Rejuvenation for all Thorns
% Updated description of Bless to include changes (see EN(G)_SPELLS.LNG)
$ Updated hints on the loading screen for the new features
$ Changed version ID
% Added new macros to "left_t" template for displaying the additional information identified in EN(G)_HERO.LNG
% Added weakness macro to "skills_tPar" template to display the bonus to the weakness spell in the Necromancy skill description (see EN(G)_SKILLS.LNG)
% Added new sp_lead_unit macro to def_hint_t1 template for showing the leadership reduction bonus on the unit card
% Added new bonuses macro to items_tM to auto generate all item bonuses
^ ***BUG*** Fixed issue that only affected Paladins: the Holy Rage Attack bonus would cause the Evil Book to apply 2x damage to Undead and Demons when casting damage causing spells on these targets
^ ***NEW*** Function correct_damage_minmax now is used to apply Bless / Weakness bonuses to talents and abilities (see EN(G)_SPELLS.LNG)
^ ***FIX*** I think I was double dipping on the Morale and Attack / Defense / Critical Hit penalties during long combats and so I've commented out the code that was changing the 3 latter parameters and now am relying solely on the Morale penalty to affect the other 3
^ New! Added logic for the new Werewolf Cry
^ Beautiful units now only have a 50% and Cute units a 25% chance of being struck by humanoid troops
^ New! Haas's influence now spreads far and wide and there is a chance of a unit's map difficulty bonus being doubled at the start of combat & the unit always retaliating
% As an example of this, if you're fighting in Marshan Swamp Impossible, the difficulty bonus is 0.5 and the map bonus is 0.0625 for a total of 0.5625. The 0.0625 could now double to 0.135 for a total of 0.635.
% The chance of this happening is diff_k * maplocK in LOGIC.TXT (0.5625 * 1e4 = 5625) out of maplocPct in LOGIC.TXT (25000) or about 1/5 of the units could be affected in Marshan Swamp. Chance for the number of units affected goes up by map location difficulty.
^ Due to the change in CONFIG.TXT to include ITEMS.TXT (and hence its includes) now the function brute_force_get_params can use Game.Config to get egg parameters when the Object library is not available
^ New function: gen_item_bonus_fight_hint that autogenerates the item "fight" bonuses
^ New function: gen_item_bonus_mod_hint that autogenerates the item "mod" bonuses
& LOGIC.LUA - total hints is now 185
& LOGIC_HERO.LUA - implemented new levelup parameter, sp_counter, functions:
^ Function hero_sp_counter: implemented the logic to parse through the sp_counter list
^ Function levelup_counter: generic function that adds a value to a counter or limit
^ The spell's level (i.e. profit) is now used to divide into the chance of getting that spell at start (so for example if spell_chance = 15 and profit = 5, then there is only a 15 / 5 = 3% chance of getting that spell at the start of that game)
^ ***FIX*** Added Blue Dragons to leadership reduction list for Glory Skill (note that this change either requires a restart or for you to have remaining points in your Glory skill since this code only runs when selecting a skill (note that you'll be missing part of the bonus if you already have a point or two in this skill))
^ Updated function skill_param to output changes to Healer and Necromancy (see EN(G)_SKILLS.LNG)
^ ***BUG*** AI Black Dragons were still landing on your troops with the WotN code, and so I added logic for all the functions to default to the TL logic if they are controlled by the computer
^ Summon functions now use the new common function in SPELLS.LUA to apply your hero's leadership reduction bonuses to summon talents:
% special_cast_thorn
% special_cast_bear
% special_cast_demon
% special_summon_plant
% special_summon_dragonfly
^ Updated talent functions so that they implement the changes to Bless / Weakness (see EN(G)_SPELLS.LNG)
^ ***BUG*** I screwed up on the implementation of a change to the special_bless_attack thereby breaking Priest's Bless and Inquisitor's Holy Rage - now it's fixed!
^ New! Added new Werewolf Cry functions
^ ***BUG*** There was an issue with transforming units where it was possible that their special difficulty bonus was not reapplied after transforming and I think I now have this fixed!
^ Updated function gen_special_hint to include changes to Bless / Weakness (see EN(G)_SPELLS.LNG)
^ Due to the issues with sp_lvl_inc, I needed to change the bonus name to sp_lev_inc
^ ***FIX*** Function effect_bless_weakness_attack: added belligerent input so that the bonus to either Bless or Weakness is only carried out if the caster is human
^ ***NEW*** Function apply_bless_weakness_bonus: now either adds ┬▒bonus or ┬▒bonus*10%, whichever is greater
^ New function, common_get_leadership_bonus, for applying hero leadership reduction bonuses (sp_lead_unit_<atom>) to summoning spells / abilities
^ sp_lead_unit_<demon_atom> bonus now applies to Demon Portal
^ ***FIX*** Spell functions spell_weakness_attack and spell_bless_attack now pass the belligerent into their common function so that the bonus is only applied if the caster is human (see SPELL_EFFECTS.LUA)
^ Function common_freeze_attack: cold_fear (the unit's fire resistance used as a pseudo cold resistance) is now capped at 0 (so, for example, plants have -100 fire resistance, but this doesn't necessarily give them +100 cold resistance, which was causing them to be freeze immune)
^ ***FIX*** Commented out the Critical Hit increase for spell_reaction_attack since the Morale bonus should account for the Critical Hit increase
^ The following spells can be cast on 1, 3, or all targets based on spell level:
% Stone Skin, Bless, Helplessness, Dragon & Demon Slayer, Battle Cry, Precision, Haste, Slow, Magic Shackles, Weakness, and Doom
^ The Following spells can be cast on 1, 1, or 3 targets based on spell level:
% Divine Armor, Blind, and Fear
^ Updated Life Light so that it can now be cast on 3, 7, and 19 targets depending on its level
^ Trap can now be cast on 1, 3 (triangular), and 3 (line) squares depending on its level
^ Updated selection functions to handle number of targets changes
^ ***NEW*** function get_ehero_spell_bonus - this function allows the addition of a new spell parameter in SPELLS.TXT, ehero_bonus, that effectively implements a spell power modifier (which the enemy hero files don't have)
^ ***FIX*** Glory was supposed to increase the leadership value for the Demonologist and Hypnosis spells, but it wasn't doing this and now I've added the proper Glory Leadership bonus to these spells for your hero
^ ***NEW*** Function int_dur:
% Now has updated description for the Bless / Weakness bonuses to include changes in SPELL_EFFECTS.LUA
% Added new description for item bonuses (this had been omitted before)
^ Due to the issues with sp_lvl_inc, I needed to change the bonus name to sp_lev_inc
^ Implemented addition of the changes to EN(G)_HERO.LNG Hero Screen to display Gold, Rage, and Mana bonuses with the description when pointing at them with the mouse
^ Implemented changes to gen_lead_count to also compute and show the leadership reduction bonus on the unit card
^ Function special_bowman:
% Updated the special_bowman function to take into account the arrows=1 custom parameter for all their ranged attacks to properly show / do damage
% Removed bonus applicators for burn, freeze, and arrows since they are meant to be identifiers
% Organized the function to properly show / perform damage based on which attack the Bowman is using
^ Function special_archer:
% Did similar to special_bowman to ensure that modifiers aren't used for parameters that are set to specific values
% Added "special_difficulty" to the list of bonuses not dispelled by the Archer Dispel skill
& BABY TXT's - numbered all fight filters (where appropriate) so that their bonuses may be auto generated, affects:
% ***BUG*** made an error in the sp_rage_battle bonus that affected 9 babies - it has now been corrected
% ***BUG*** made an error in the intellect bonus that affected 10 babies - it has now been corrected
% kid_bron and kid_arlach - added Werewolf Elves and Werewolves to their bonuses
% ***BUG*** made an error in the sp_rage_battle bonus that affected 12 babies - it has now been corrected
% ***BUG*** made an error in the sp_rage_battle bonus that affected 11 babies - it has now been corrected
% ***BUG*** made an error in the sp_rage_battle bonus that affected 11 babies - it has now been corrected
% ***BUG*** made an error in the intellect bonus that affected 7 babies - it has now been corrected
^ Now includes ITEMS.TXT which in turn includes a lot of files - there appears to be no change in performance (so far as I can tell from including all of ITEMS.TXT and its includes in the Game.Config data structure)
^ The above allows leverage of the Game.Config to enumerate any list included and so this opens up the possibility of being able to autogenerate item descriptions amongst other things
^ New levelup parameter, sp_counter:
% Extensible list of the form: sp_counter=sp_counter1_group1,pct,value1-value2,type|sp_counter2_group1,pct,value1-value2,type;sp_counter1_group2,pct,value1-value2,type;sp_counter1_group3,pct,value1-value2,type|sp_counter2_group3,pct,value1-value2,type|sp_counter3_group3,pct,value1-value2,type;...
% Note that pct is normalized to the sum of all pct's (i.e. it does not need to add to 100)
% Note that with value1-value2, value2 may be omitted if the value doesn't have variance
% Type is either "count" or "limit"
^ Implements sp_counter such that now during levelup, a hero will get a +1 in either rage decrease on the map (sp_rage_map) or mana increase on the map (sp_mana_map_prc)
% Warriors are:
$ 67% chance of +1 to sp_rage_map (average at level 30 is +20 or 20% slower rage drain)
$ 33% chance of +1 to sp_mana_map_prc (average at level 30 is +10 or 10% faster mana recovery)
% Paladins are:
$ 50% chance of +1 to sp_rage_map (average at level 30 is +15 or 15% slower rage drain)
$ 50% chance of +1 to sp_mana_map_prc (average at level 30 is +15 or 15% faster mana recovery)
% Mages are:
$ 33% chance of +1 to sp_rage_map (average at level 30 is +10 or 10% slower rage drain)
$ 67% chance of +1 to sp_mana_map_prc (average at level 30 is +20 or 20% faster mana recovery)
% Note that these are in addition to any item or skill bonuses to these counters
^ ***FIX*** rahha_shield (Rahha's Shield) - added Blue Dragons to the list of dragons that the shield can produce
^ ***FIX*** demetrios1,2,3 (all levels - Demetrius, Class 1, 2, & 3) now applies the leadership reduction to Fire Spiders (since they are Demon troops and I had overlooked this in the past)
^ ***NEW*** in order to auto generate item descriptions, each fight item (for multiple bonuses) must be numbered
^ Items that increase rage inflow now use the bonus sp_rage_battle_inflow to delineate them from sp_rage_battle_prc, which is now only used for items that convert mana into rage (for example, this affect the item rage_spear)
& LOGIC.TXT - these changes either make easy difficulty level easier or hard and impossible difficulty levels harder:
^ Easy:
% Enemy units have 75% (was 100%) of nominal statistics
% Enemy hero spell power is 75% (was 100%) of nominal
% Round at which mana gain is 1/2: 35 (was 30); 1/4: 50 (was 40)
% Boss attack and hitpoints are 75% (was 100%) of nominal
% When dying, the hero now gets 125% (was 100%) of money
^ Hard:
% Hero experience gain is 50% (was 70%)
% Enemy power is 150% (was 130%)
% Spirit experience gain is 75% (was 85%)
% Money gain is 75% (was 77%)
% Rage gain during combat is 75% (was 85%)
% Rage decreases 25% (was 20%) faster on the map
% Mana recharges 25% (was 20%) slower on the map
% Enemy units have 125% (was 110%) of nominal statistics
% Enemy hero spell power is 125% (was 110%) of nominal
% Boss attack and hitpoints are 150% (were 140%) of nominal
^ Impossible:
% Hero experience gain is 25% (was 30%)
% Enemy power is 200% (was 170%)
% Spirit experience gain is 50% (was 70%)
% Money gain is 50% (was 60%)
% Rage gain during combat is 50% (was 70%)
% Enemy units have 150% (was 125%) of nominal statistics
% Enemy hero spell power is 150% (was 125%) of nominal
^ Added 2 new parameters for the Haas Map Location Difficulty Bonus
% maplocK - this is the gain applied to the chance that this will happen
% maplocPct - this is the chance that the Haas bonus can be applied and goes with maplocK above
^ ***FIX*** Added Blue Dragons to +1 Morale unit list for Diplomacy Level 2
^ ***FIX*** Added Blue Dragons to Dark Commander skill bonuses
^ ***BUG*** I did not implement the level 3 Tolerance +6 Resist All bonus properly (now it's fixed!) - thanks @SlickDragon!
^ New! Added Werewolf Cry special ability (which is a more powerful version of the Wolf Cry)
^ (Technically not used, but) sp_lev_inc_resurrection -> sp_lvl_inc_resurrection (all the other bonuses like this are this way)
^ Okay, I tried the above and it would cause new games to crash! So now all sp_lvl_inc bonuses are sp_lev_inc bonuses since naming all the bonuses those names does not cause new games to crash and makes all the names consistent. Now I just have to fix where these are used in the LUA files...
^ New! Added new sp_... for the Werewolf Cry
^ Demon Portal (spell_demonologist) - power is now 5, 10, 20 (was 10, 20, 40) this still gives over 100% of Leadership for really high-power mages
^ Evil Book (spell_evilbook) - mana is now 15 (was 10) for level 1 (levels 2 and 3 via formula)
^ ***NEW*** parameter, ehero_bonus:
% That is of the form: actor_number:bonus (multiple enemy heroes are separated by commas, i.e. actor1_number:bonus,actor2_number:bonus)
% The actor numbers are in EN(G)_ACTORS.LNG
% Implements spell power mod functionality for enemy heroes since they technically didn't have this capability in their .HERO file
% Note that it is now possible to give enemy hero spell power bonuses, for example, all enemy Demon(ess) heroes have a bonus to Demon Portal that restores the power to 10, 20, 40 only for them
% Current Enemy Hero Spell Bonuses:
$ Resurrection: Zelum:27, Puppeteer:16
$ Berserker: Igdym Urkurshak:18, Bagud:29
$ Hypnosis: Aha:25, Heo:15
$ Fire Ball: Baal:27, Raab Sotten: 25
$ Evil Book: Book of Evil:23
$ Demonologist: Isshara, Deira Oman, Xeona, Baal, and Raab Sotten: all 100
$ Fire Rain: Isshara:25, Deira Oman:24, Xeona:23
$ Necromancy: Ambrosius:27, Zelberra:23, Ehno Partes:23, Ruin Guy:14, Necromancer Neirum:20, Duke Helm:10, Katana:26, General Karador:50, Egirra:7, Sir Amber:26, Kemilho:30, Tiberius:12
^ Updated spells for multiple targets based on level (see above in SPELLS.LUA for those spells affected)
^ Updated Price, Mana, and Crystals for the above changes
^ Numbered all fight filters (where appropriate) so that their bonuses may be auto generated
^ Rina - added peasants, pirates, and sea dogs to her bonuses
^ Feanora - added Werewolf Elves and Werewolves to her bonuses
^ For wives with attack / defense bonuses, the bonuses are now:
% Level 2: +4
% Level 3: +9
% Level 4: +16
% Level 5: +25

Okay, that's it for now! I don't have any other features that I want to add or any other changes I can think of implementing for now; however, if I find any bugs, etc., I'll work on fixing them...

Hopefully some playtesting can be done so that I can release this before the end of the year...

Reply With Quote