From eb77311b5a523e5ef49c163ef5e06a5cbd5382a7 Mon Sep 17 00:00:00 2001 From: logg-y Date: Mon, 20 Jun 2022 17:56:14 +0100 Subject: [PATCH] v1.0.5 --- blessgen.py | 19 ++- changelog.txt | 21 +++- data/blesseffects/combat.txt | 201 ++++++++++++++++++++---------- data/blesseffects/templetrain.txt | 2 +- data/blesseffects/utility.txt | 37 +++--- 5 files changed, 193 insertions(+), 87 deletions(-) diff --git a/blessgen.py b/blessgen.py index 59c42a3..494287d 100644 --- a/blessgen.py +++ b/blessgen.py @@ -7,7 +7,7 @@ import traceback from blessgenerationsettings import BlessGenerationSettings -ver = "1.0.4" +ver = "1.0.5" def _parseDataFiles(): if len(utils.blesseffects) < 0: @@ -62,7 +62,7 @@ def _buildRarestCombinationPool(self): numEffects = len(blessList) # Give more non-incarnate effects if level < 5: - numEffects -= 1 + numEffects -= 2 if numEffects - lowestEffectCount <= self.combinationTolerance: combo = BlessGenerationSettings(path, None, level) pathAndLevelCombinationPool.append(combo) @@ -86,7 +86,20 @@ def selectBlessSettings(self): self._buildRarestCombinationPool() if self.combinationTolerance > 5: raise ValueError("Failed to build an effect from the least common path/level combination pool") - settings = self._cachedCombinationPool.pop() + # Skew even further to nonincarnate (or lesser primary path cost effects) + tries = 0 + while True: + settings = self._cachedCombinationPool.pop() + if tries >= 10: + break + if settings.primarypath > 4: + skipchance = 10 + (settings.primarypath*5) + if random.random() * 100 < skipchance: + self._cachedCombinationPool.append(settings) + tries += 1 + continue + break + return settings def generateBless(self, settings): diff --git a/changelog.txt b/changelog.txt index b68e2f2..bba689e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,6 +1,25 @@ +TODO + +Secondshapes reportedly work, test this (should look for a code basis for units not secondshaping into themselves via disassembly) + +v1.0.5 - 20/06/22 + +Capped elegist's value at 2 to prevent it from becoming incarnate (thanks Andy for pointing this one out) +Disabled extra arm bless due to glitchiness with shrouds (thanks kurtcop for this one) +Fixed vine ogre temple train so it doesn't make tigers (thanks Imperator for finding that) +Nerfed reduce unrest down to a bit under half what it was +Increased resist power again somewhat, but it's still below vanilla +Increased cost of damage reversal somewhat (14 -> 16) +Attempted to reduce the number of high level effects generated, but due to the small effect pool this won't always happen +Disabled various aura effects because they only work on commanders when added via bless +Penetration bonus is no longer stackable +Increased the base cost of strength by 1 (now X2 for 1 point, increasing returns with scaling) +Added percentage more likely to cause afflictions +Added nonstackable X1 resist options that give 2 in the resistance type related to the path + v1.0.4 - 28/04/22 -Fixed a very stupid mistake in the previous version that brroke everything +Fixed a very stupid mistake in the previous version that broke everything v1.0.3 - 28/04/22 diff --git a/data/blesseffects/combat.txt b/data/blesseffects/combat.txt index 325d3b0..2c2d421 100644 --- a/data/blesseffects/combat.txt +++ b/data/blesseffects/combat.txt @@ -33,7 +33,7 @@ #newbless "Strength" #name eb "Strength +[EFFECT151]" #paths eb -#pathlevel 1 +#pathlevel 2 #addeffect 151 1 #scaleeffect 151 1.2 #maxeffectvalue 151 8 @@ -73,21 +73,21 @@ #paths s #pathlevel 3 #addeffect 162 1 -#scaleeffect 162 0.3 -#maxeffectvalue 162 2 -#multipick 1 +#scaleeffect 162 0.25 +#maxeffectvalue 162 3 #end -#newbless "Plague Carrier" -#name d "Disease Aura [EFFECT172] + Disease Immune" -#paths d -#pathlevel 5 -#addeffect 172 2 -- disease aura -#addeffect 513 100 -- disease resist -#scaleeffect 172 1 -#negscaleaffinity 3 100 -#maxeffectvalue 172 4 -#end +-- Works on commanders only +-- #newbless "Plague Carrier" +-- #name d "Disease Aura [EFFECT172] + Disease Immune" +-- #paths d +-- #pathlevel 5 +-- #addeffect 172 2 -- disease aura +-- #addeffect 513 100 -- disease resist +-- #scaleeffect 172 1 +-- #negscaleaffinity 3 100 +-- #maxeffectvalue 172 4 +-- #end #newbless "Disease Explosion" #name d "Disease Explosion [EFFECT401] + Immunity" @@ -164,43 +164,103 @@ #maxeffectvalue 190 10 #end -#newbless "Fire Resistance" + +#newbless "Fire Resistance Minor" #name f "Fire Resistance +[EFFECT198]" #paths f #pathlevel 1 -#addeffect 198 1 -#scaleeffect 198 1.2 -#maxeffectvalue 198 5 +#addeffect 198 2 +#end + +#newbless "Cold Resistance Minor" +#name w "Cold Resistance +[EFFECT201]" +#paths w +#pathlevel 1 +#addeffect 201 2 +#end + +#newbless "Shock Resistance Minor" +#name a "Shock Resistance +[EFFECT199]" +#paths a +#pathlevel 1 +#addeffect 199 2 +#end + +#newbless "Poison Resistance Minor" +#name n "Poison Resistance +[EFFECT200]" +#paths n +#pathlevel 1 +#addeffect 200 2 +#end + +#newbless "Cold Resistance" +#name w "Cold Resistance +[EFFECT201]" +#paths w +#pathlevel 4 +#addeffect 201 5 +#scaleeffect 201 2 +#maxeffectvalue 201 10 +#multipick 1 +#end + +#newbless "Shock Resistance" +#name a "Shock Resistance +[EFFECT199]" +#paths a +#pathlevel 4 +#addeffect 199 5 +#scaleeffect 199 2 +#maxeffectvalue 199 10 +#multipick 1 +#end + +#newbless "Poison Resistance" +#name n "Poison Resistance +[EFFECT200]" +#paths n +#pathlevel 4 +#addeffect 200 5 +#scaleeffect 200 2 +#maxeffectvalue 200 10 +#multipick 1 +#end + + +#newbless "Fire Resistance" +#name f "Fire Resistance +[EFFECT198]" +#paths f +#pathlevel 4 +#addeffect 198 5 +#scaleeffect 198 2 +#maxeffectvalue 198 10 #multipick 1 #end #newbless "Cold Resistance" #name w "Cold Resistance +[EFFECT201]" #paths w -#pathlevel 1 -#addeffect 201 1 -#scaleeffect 201 1.2 -#maxeffectvalue 201 5 +#pathlevel 4 +#addeffect 201 5 +#scaleeffect 201 2 +#maxeffectvalue 201 10 #multipick 1 #end #newbless "Shock Resistance" #name a "Shock Resistance +[EFFECT199]" #paths a -#pathlevel 1 -#addeffect 199 1 -#scaleeffect 199 1.2 -#maxeffectvalue 199 5 +#pathlevel 4 +#addeffect 199 5 +#scaleeffect 199 2 +#maxeffectvalue 199 10 #multipick 1 #end #newbless "Poison Resistance" #name n "Poison Resistance +[EFFECT200]" #paths n -#pathlevel 1 -#addeffect 200 1 -#scaleeffect 200 1.2 -#maxeffectvalue 200 5 +#pathlevel 4 +#addeffect 200 5 +#scaleeffect 200 2 +#maxeffectvalue 200 10 #multipick 1 #end @@ -212,11 +272,11 @@ #addeffect 199 2 #addeffect 200 2 #addeffect 201 2 -#scaleeffect 198 0.5 -#scaleeffect 199 0.5 -#scaleeffect 200 0.5 -#scaleeffect 201 0.5 -#maxeffectvalue 200 20 +#scaleeffect 198 0.8 +#scaleeffect 199 0.8 +#scaleeffect 200 0.8 +#scaleeffect 201 0.8 +#maxeffectvalue 200 10 #multipick 1 #end @@ -226,12 +286,12 @@ #name s "Damage Reversal" #paths sb #reqcrosspath 1 -#pathlevel 14 +#pathlevel 16 #addeffect 202 1 #end #newbless "Air Shield" -#name a "Air Shield +[EFFECT208]%" +#name a "Air Shield +[EFFECT208]% (max total 90%)" #paths a #pathlevel 2 #addeffect 208 30 @@ -386,15 +446,16 @@ #maxeffectvalue 327 3 #end -#newbless "Poison Aura" -#name n "Poison Aura +[EFFECT106], Poison Res +20" -#paths n -#pathlevel 9 -#addeffect 106 2 -#addeffect 200 20 -#scaleeffect 106 1 -#maxeffectvalue 106 5 -#end +-- Functions only on commanders, making pricing really really hard +-- #newbless "Poison Aura" +-- #name n "Poison Aura +[EFFECT106], Poison Res +20" +-- #paths n +-- #pathlevel 9 +-- #addeffect 106 2 +-- #addeffect 200 20 +-- #scaleeffect 106 1 +-- #maxeffectvalue 106 5 +-- #end #newbless "Reinvigoration" #name e "Reinvigoration +[EFFECT117]" @@ -470,10 +531,10 @@ --#end #newbless "Disbelieve" -#name a "Disbelieve +[EFFECT295]" -#name s "Disbelieve +[EFFECT295]" +#name a "Disbelieve +[EFFECT295] (Cmdr only)" +#name s "Disbelieve +[EFFECT295] (Cmdr only)" #paths as -#pathlevel 2 +#pathlevel 1 #addeffect 295 5 #end @@ -488,14 +549,15 @@ #multipick 1 #end -#newbless "Sleep Aura" -#name n "Sleep Aura +[EFFECT306]" -#paths n -#pathlevel 8 -#addeffect 306 2 -#scaleeffect 306 1 -#maxeffectvalue 306 5 -#end +-- Functions only on commanders, making pricing really really hard +-- #newbless "Sleep Aura" +-- #name n "Sleep Aura +[EFFECT306]" +-- #paths n +-- #pathlevel 8 +-- #addeffect 306 2 +-- #scaleeffect 306 1 +-- #maxeffectvalue 306 5 +-- #end #newbless "Reforming" #name n "Reforming +[EFFECT337]%" @@ -645,13 +707,14 @@ #maxeffectvalue 383 20 #end -#newbless "Mind Slimer" -#name s "Mind Slimer [EFFECT402] + Void Sanity" -#paths s -#pathlevel 10 -#addeffect 402 2 -#addeffect 277 5 -#end +-- Functions only on commanders, making pricing really really hard +-- #newbless "Mind Slimer" +-- #name s "Mind Slimer [EFFECT402] + Void Sanity" +-- #paths s +-- #pathlevel 10 +-- #addeffect 402 2 +-- #addeffect 277 5 +-- #end #newbless "Affliction Resistance" #name e "Affliction Resistance +[EFFECT406]" @@ -687,6 +750,16 @@ #multipick 1 #end +#newbless "Affliction Rate" +#name d "+[EFFECT301]% to cause Afflictions" +#paths d +#pathlevel 1 +#addeffect 301 35 +#scaleeffect 301 50 +#maxeffectvalue 301 300 +#multipick 1 +#end + #newbless "Limited Regen" #name n "Limited Regeneration +[EFFECT462]%" #paths n diff --git a/data/blesseffects/templetrain.txt b/data/blesseffects/templetrain.txt index 392b80c..4e7820a 100644 --- a/data/blesseffects/templetrain.txt +++ b/data/blesseffects/templetrain.txt @@ -552,7 +552,7 @@ #name n "Temple Train: Vine Ogre" #paths n #pathlevel 2 -#addeffect 564 1140 +#addeffect 564 362 #addeffect 158 10 -- magic leadership #skipchance 90 #alwaysactive 1 diff --git a/data/blesseffects/utility.txt b/data/blesseffects/utility.txt index 06dfc3e..baf8732 100644 --- a/data/blesseffects/utility.txt +++ b/data/blesseffects/utility.txt @@ -191,9 +191,9 @@ #name w "Reduce Unrest +[EFFECTDIV10_223]" #paths ws #pathlevel 1 -#addeffect 223 5 -#scaleeffect 223 8 -#maxeffectvalue 223 40 +#addeffect 223 -2 +#scaleeffect 223 -3 +#maxeffectvalue 223 -40 #alwaysactive 1 #skipchance 50 #end @@ -271,24 +271,25 @@ #skipchance 50 #end -#newbless "Extra Arm" -#name n "Number of Arms +[EFFECT361]" -#name e "Number of Arms +[EFFECT361]" -#paths ne -#pathlevel 5 -#addeffect 361 1 -#scaleeffect 361 0.45 -#maxeffectvalue 361 4 -#alwaysactive 1 -#skipchance 50 -#end +-- Glitchy. Shrouding a commander makes the shroud take up the wrong slot +-- #newbless "Extra Arm" +-- #name n "Number of Arms +[EFFECT361]" +-- #name e "Number of Arms +[EFFECT361]" +-- #paths ne +-- #pathlevel 5 +-- #addeffect 361 1 +-- #scaleeffect 361 0.45 +-- #maxeffectvalue 361 4 +-- #alwaysactive 1 +-- #skipchance 50 +-- #end #newbless "Master Smith" #name e "Master Smith +[EFFECT363]" #paths e -#pathlevel 6 +#pathlevel 3 #addeffect 363 1 -#scaleeffect 363 0.3 +#scaleeffect 363 0.8 #maxeffectvalue 363 3 #alwaysactive 1 #skipchance 50 @@ -297,7 +298,7 @@ #newbless "Master Ritualist" #name s "Master Ritualist +[EFFECT463]" #paths s -#pathlevel 7 +#pathlevel 5 #addeffect 463 1 #scaleeffect 463 0.3 #maxeffectvalue 463 2 @@ -348,7 +349,7 @@ #pathlevel 3 #addeffect 411 1 #scaleeffect 411 0.8 -#maxeffectvalue 411 3 +#maxeffectvalue 411 2 #alwaysactive 1 #skipchance 50 #end