UberFix 1.06 [1/18/2012]

By on November 28, 2010 11:03:32 AM from Demigod Forums Demigod Forums

miriyaka

Join Date 11/2008
+76

The UberFix is a compilation of bug fixes for Demigod version 1.3.

OFFICAL DEMIGOD PATCH NOTE:
Demigod must be updated to version 1.3 or higher to take advantage of several of the fixes contained herein.  Additionally, any bugfixes found in Demigod Patch 1.3 have been dropped from the UberFix code for purposes of maximum compatibility with version 1.3, so using an older version of Demigod with this release of the UberFix will re-introduce many bugs.

To insure that the latest Demigod patch is installed, enter the Multiplayer screen in the main menu, choose Internet, and log in with your Impulse username and password.  The game will be automatically patched.


Download v1.06:

http://www.box.com/s/hdsoycixo3p8f5fs82aj


Installation Instructions for Demigod Mods in Archive Format:
If you have downloaded the executable, it should place the files automatically.
If you downloaded the zipped version, use the following instructions:

1) Locate your Demigod mod directory.  This will be \bindata\mods, within your Demigod install folder. The default location for this is C:\Program Files\Stardock Games\Demigod\bindata\mods.

2) Extract the mod archive directly into this folder.  If you are using a program like Winrar or 7zip to extract the archive via a drag action, make sure you choose the first option to extract files directly into the mods folder, rather than the second option to extract into a sub-folder with the same name as the archive file.

3) The result should be a folder within \mods called e.g. 'UberFix 1.05', containing several files and sub-folders.  If instead you see only one folder with the same name as the archive (e.g. 'Uberfix105') and an 'UberFix 1.05' folder within, then you chose the wrong option when extracting, and will need to move that sub-folder back one level into the mods folder, or delete the result and re-extract the archive into \mods without specifying a sub-folder.

To enable the mod, run Demigod, select the Mod Manager, select the UberFix, and click enable. If the mod is properly enabled it will show up in the right pane of the Mod Manager screen.

To delete a mod, simply delete the that mod's individual folder in \bindata\mods\. Do not delete \bindata\mods unless you wish to remove all mods!


New in v1.06:

-Created new UID
-Fixed code error in Regulus' Vengeance skill, now properly does a metahit
-Fixed code error introduced with previous Iron Walkers fix
-Fixed Theurgist's Hat description, it is a weapon proc, not an armor proc


Version History

v1.05

 

Minion and Reinforcement Base Armor Not Applied Until Armor Is Buffed
Units with a blueprint base armor value (most idol summons and heavy reinforcement units) will now correctly have this armor value applied.  Previously, this value only took effect once the unit was affected by some other armor buff, remaining if that armor buff was removed.

 

Regulus Maims Allies When Using Universal Gadget
The previous fix for Regulus' self-maiming already solved the unreported issue of self-maiming via potion use.  The fix has been expanded to insure against any maim application on negative damage (healing) as well as on allied or self damage.

 

All Valor Flag Bonuses Lost When Enemy Valor Flag Is Captured And Lost
This was accidentally introduced in the 1.04 release with the ArmyBonus stacking protection fix.  This fix now always allows stacking unless the buffs the ArmyBonus contains have the REPLACE stacking flag.

 

Miscellaneous Small Fixes

Gloves of Despair now show their existing 8% attack bonus

 


v1.04

Ranged Demigod Attack Stutter
Ranged Demigods (other than Regulus in Angelic Fury) would have their attacks repeatedly interrupted due to constant stop and start while chasing a slower target, effectively penalizing greater speed.  They are now able to successfully attack periodically in this situation, though not from a standstill.  This is intended, to preserve the advantage bestowed by Regulus' Angelic Fury lock-on bonus.

Queen of Thorns Extreme Rate of Fire
Related to the above fix, Queen of Thorns will no longer be able to attack far more rapidly than should be possible while chasing a target or when stuck on map geometry.

Queen of Thorns Compost Uses Incorrect Buff Levels And Adds Infinite ArmyBonuses
Despite using a similar buff counting method to Oak's Soul Power, Compost started at 'rank 0' internally and caused the level 6 buff to go unused regardless of skill rank and compost level.  It now uses exactly the same calculation method as Soul Power.
Additionally, it would add an ArmyBonus every time it gained or lost a level, potentially causing the game to process hundreds or even thousands of ArmyBonuses and their associated buff add/removes every time one of Queen of Thorns' minions was summoned or killed.  All buffs and ArmyBonuses added by Compost are now correctly removed, which should significantly reduce the sim overhead of this ability.

Unclean Beast Ooze Suicide
Ooze is now completely incapable of causing suicides.  Unclean Beast will be left with one hitpoint in any situation where Ooze damage occurs in the same tick (but just after) any other damage event.

Rook Shoulder Weapon Stuck And Illegal Targets
These weapon addons should no longer become fixated on a single target that is out of range or is no longer visible, and should be unable to fire on non-structure targets that are not currently visible.  Structures in the fog of war can still be attacked as intended.

Rook AI Movement Stutter

This was caused by the high rate of fire of Rook's arrow towers.  Their ROF has been quartered and damage quadrupled, for the same overall DPS.  Poison chance and duration have been increased slightly to give the same chance per second of poison activation, as well as the same chance per poison cycle of renewal under consistent fire.

Torch Bearer Permafrost I Debuff

This aura level is now in-line with all other levels, at -5% ROF from -3%.

Torch Bearer Frost Nova Slow Duration
The snare duration for this ability now takes into account the duration of its freeze, each level providing a full 5 seconds of slow post-unfreeze as the description indicates (instead of as little as 2s at level III).

Oculus Ball Lightning Produce Nightwalkers/Spirits On Death
Due to the disposable nature of Ball Lightning (particularly with Explosive End), this caused an extremely exploitable level of synergy with Oak and Erebus allies, and can safely be inferred as unintended and a consequence of Oculus' poor testing.

Oculus Blast Off! I Radius
This ability level is now in-line with all other levels, at 6 radius from 3.

Sedna Horn of the Yeti IV Buff
Sedna's Yetis will now correctly receive the level IV buff with this ability.  Existing Yetis now also receive the appropriate level of buff upon ability upgrade, as was the case with Shamblers and Entourage.

Absorption Refresh On Addition/Removal
Shield buffs such as Bramble Shield and Groffling Warplate will no longer cause all related buffs to be fully recharged any time one is added or removed.  Additionally, absorption damage float text is now only displayed for both involved parties (like all other damage float text) and displays the amount of damage done.

Illegal AI Area-Targeted Ability Lock-on
The effect location of area-targeted abilities e.g. Hammer Slam will no longer illegally follow a moving unit whose position the AI chose for a target location.

Ability Tooltips Display Unmodified Cooldown Time While Cooling Down
The correct total cooldown time is now always shown in all ability bar tooltips.  Skill sheet and inventory tooltip cooldown times remain unmodified, as intended. 

Map Domination Voice-Over On Loss Of Map Control (Second Attempt)
The map domination voice-over now correctly activates on flag capture for the team gaining map control any time they capture a flag above the domination threshold.  In addition, the map domination threshold is read from game settings instead of being fixed at 75%.  This fix was absent from the released 1.03 code, despite being listed in changelog.

Trebuchet Damage Unaffected By Tower Strength Citadel Upgrade
The tower strength upgrades will now affect both Fort-upgrade Trebuchets and flag-controlled Trebuchets.

ROLLOVER DATA ERROR Or No Rollover On Flag Mouseover
Flags captured by the enemy team behind the Fog of War should now always display the correct rollover information.  This issue was caused by an engine bug related to non-visible unit replacement and could not be directly fixed via Lua.  Fortunately, a workaround involving giving the opposing team momentary 1-radius visibility on any captured flag to allow the engine to report the correct flag unit to the rollover system seems to have resolved it in practice.

 

Miscellaneous Small Fixes
Cosmetic changes (thanks to Lord Orion for finding most of these):

  • Compost and Soul Power now show their current level in the buff icon (thanks to Ptarth for the IV-VI Compost icons)
  • Torchbearer's mode-change buffs now show the correct names
  • Warlord's Punisher now uses the correct cast animation for its cast time
  • As noted above, absorption damage float text now displays the amount of damage done in a different format than normal damage float text, and will show critical hits in yellow.  Shielded minions will show absorption damage float text to their demigod as well.

Small functional/internal changes:

  • Demon Assassin's Warp Area ability now has a pre-cast check that prevents it from being cast when no targets are in range (it has no range ring, and unlike other instant-cast area abilities, does not work on a variety of target types)
  • Regulus can no longer Maim himself with self-damaging abilities (this only affected mod items)
  • Made several changes to the AIBrain functions RemoveArmyBonus and AddArmyBonus to prevent endless ArmyBonus stacking (which carries a fairly heavy sim performance penalty in extreme cases e.g. vanilla Compost)
  • Ability damage now has the CanEvade flag set to false by default.  This is the intended functionality, as all abilities other than Unclean Beast's Venom Spit specifically disable this.  Practically speaking, in vanilla Demigod this only affects Spit damage-over-time, which can no longer be inexplicably dodged.
  • Wyrmskin Gauntlets' ranged on-hit chance is now in line with every other ranged on-hit chance (10% from 8%, 66% of melee chance)
  • Weapons with a blueprint-specified DamageRadius can no longer have their splash damage reduced unless the buff doing the reduction is flagged as a debuff.  This was necessary to keep the Tower Strength citadel upgrade from reducing the splash damage of Trebuchets.


Feature Additions
Mod UI texture/icon support has been added:

Any .dds files in your mod folder within /textures/ui/common will have their path relative to the mod folder cached in a table that the UIFile function looks at when assigning most non-background, in-game UI textures.  This can be used both for adding and overriding existing textures without having to use relative paths.  This (along with the mod-folder doscript hook included) allows you to change the name of your mod folder between versions without having to update any of your code.

For example, the path:
    /mods/mymod/textures/ui/common/abilities/dgqueenofthorns/newqueenclose.dds
Would override the existing file:
    /bindata/textures/ui/common/abilities/dgqueenofthorns/newqueenclose.dds

Adding a new file:
    /mods/mymod/textures/ui/common/abilities/mymod/myicon_01.dds
Would let you assign this icon to a buff or ability the same as you would an existing icon in that relative path, by setting its blueprint's Icon field to:
    'mymod/myicon_01'

This affects any UI texture calls that use UIUtils.UIFile, including buff and ability icons, shop tab icons, and many UI window elements.
As UIFile only returns paths within /textures/ui/common, it does not affect any files outside of that path, and there are quite a few files within that path that do not use UIFile.  Expanding this support to all of these files would require hooking every UI creation function that ignores UIFile and directly assigns a texture path, which would unfortunately involve 30+ file hooks and upwards of a hundred destructive function overrides (as most texture path variables are declared local within a function).

Several new BuffAffects have been added for use by mods:

  • EnergyAdd: Functions like LifeSteal, adding energy based on a percent of damage done (works on grunts and minions)
  • EnergyLeech: As above, except that energy is stolen from the target based on a percent of damage (demigods only)
  • EnergyDrain: A one-off application of EnergyLeech, like a normal negative Energy.Add buff that transfers between demigods


Additional Sync variables for displaying unit information in the UI have also been created, in addition to those from 1.03 (note that some of the associated buffs are currently unused in stock Demigod):

New BuffAffects:

  • EnergyAdd
  • EnergyLeech

Existing BuffAffects:

  • Absorption
  • AbsorptionMult
  • MagicResistance
  • MissChance
  • Invincible
  • StunImmune
  • DebuffImmune
  • BountyGivenMod
  • BountyReceivedMod

Weapon BuffAffects:

  • SplashMult
  • DamageRadius
  • FiringRandomness
  • MetaRadius
  • MetaAmount

Note: The secondary weapon stats and associated UI hooks from 1.03 have been removed, and replaced by an entirely sim-side system where each Demigod tracks the stats for all of its main weapons and updates the primary weapon sync variables any time its weapon/mode is changed.


Several other internal changes and additions have been made to facilitate easier and more non-destructive modding of BuffAffects.  See the comments in /hook/lua/sim/BuffAffects.lua for details.


v1.03 

Knockback Kill/Damage Credit (Ptarth)
Creeps killed by knockback damage (e.g. Post-Mortem, Ring of Divine Might, etc) now correctly give a share of credit for their death to the instigating demigod, as well as contribute toward that demigod's cumulative damage statistics.

Lord Erebus Poisoned Blood (Ptarth & Mithy)
Updated so that the correct audio cue and visual effects are now played when Erebus or his allies are healed by his poisoned potions.

Instant-Cast Item Activation (Ptarth & Mithy)
The fix for Sludge Slinger and Parasite Egg not activating unless the activating demigod was facing its target (present in 1.02) was not taking effect due to an error in implementation.  This fix is now fully functional, and is also now applied to Deathbringer's silence ability.

Ironwalkers and Desperate Boots Persistent Buff (Mithy)
The conditional buffs for these items are now properly rescinded when the item is removed from inventory by any means.

Ironwalkers Always-On for Rook (Mithy)
The item's speed condition now compares against a percent (90%) of the demigod's base speed, for a similar activation threshold (<= 5.4, from 5.5) for most demigods.

Late Map Control Voice-Over (Mithy)
The map control voice-over now correctly activates any time the dominating team captures a flag with over 75% map control, rather than when a flag is lost above 75%.

Oak Raise Dead Ward Skill Level Crossover (Mithy)
All raise dead chances, spirit levels, and spirit caps now conform to the correct skill level of the demigod for whom the spirit is raised, as was already the case with Lord Erebus' Conversion Aura.

Gold Loss/Gain On Unsuccessful Item Transaction (Mithy)
Item transaction events now insure against gold loss or gain when the item itself cannot be bought or sold, e.g. when dying.

Enemy Gold Amounts Visisble In UI Mods (Mithy)
Enemy gold values are no longer accessible to the UI.  Existing UI mods that previously displayed enemy gold amounts will now only show zero.

Modal Demigod Weapon Stats (Mithy)
The UI will now correctly show the damage, rate of fire, and DPS calculations for the demigod's currently selected weapon.  Without other mods in effect, this only affects Queen of Thorns' packed mode, but the fix will allow the display of asymmetric changes to Torchbearer's weapons as well.

Oculus Ball Lightning Auto-Attack/Advance (Mithy)
Ball Lightning now correctly attack-move to the location specified by the reticle, instead of ignoring the reticle and only attacking nearby targets.

Oculus Ball Lightning Health Bar (Mithy)
Ball Lightning now have a normal, fully-visible health bar above their mesh, like every other unit and minion.

Oculus Ball Lightning Formation Movement (Mithy)
Ball Lightning no longer cause Oculus and other minions selected and commanded with them to move slowly and attempt to join a formation.  Ball Lightning will now behave exactly like other minions when given movement commands.

Oculus 'Sticky' Chain Lightning and Ball Lightning Effects (Mithy)
These lightning attacks should no longer break and create persistent lightning effects attached between the attacker and the former location of the target.

AI Citadel Upgrade Purchasing (Mithy)
AI are now able to purchase citadel upgrades that do not have a buff with the same name, e.g. Experience. Standard Demigod AI will still not purchase any upgrades unless a mod that enables this (such as the Skirmish AI Mod) is also used.

Experience Citadel Upgrade Persistence (Mithy)
Experience IV now correctly removes the Experience III bonus when purchased.


Feature Additions:
Several additional unit stats are now added to the Sync, allowing UI mods to display them for allied Demigods.
More details can be found in the comments in BuffAffects.lua.  The added stats are as follows:

  • Evasion Chance
  • Slow Cap
  • Life Steal
  • Damage Return
  • Damage Reduction
  • Vision Radius
  • Omni Radius
  • Gold Production
  • Experience Multiplier
  • Death Penalty Multiplier


Previous fixes removed due to inclusion in Demigod Patch 1.3:

  • Oculus Sacrifice not healing allied units
  • Oculus Ball Lightning summoning in map void
  • Unclean Beast Plague/Post-Mortem conflict
  • Minion summoned hitpoints
  • Heart of Life and Wings of the Seraphim halting on healing

Previous fixes left in due to the patch 1.3 solution being insufficient/ineffective:

  • Oculus Electrocution ineffectuality
  • Lord Erebus Mist deactivation threshold
  • Unclean Beast Ooze deactivation threshold

v1.02

Oculus Sacrifice Fix by Ptarth
Sacrifice now will heal allied units.

Unclean Beast Ooze Suicide Fix by Ptarth
Ooze now correctly ends when the Unclean Beast is low on Health.

Lord Erebus Poisoned Blood Fix by Ptarth
Poisoned Blood Potions now act like the potions they disguise themselves as to the team whose Lord Erebus dropped them. This prevents Lord Erebus from farming his death and stops his team from being penalized for his skill choice.

Oculus Electrocution Fix by Ptarth
Health and Mana regeneration are now correctly stopped when a unit is under the effect of Electrocution.

Torch Bearer Projectile slowdown Fix by Ptarth
Torch Bearer's fireballs and Ice blasts now correctly home in on targets. This includes his Fireball ability.

Unclean Beast Post Mortem Plague Conflict Fix by Exxcentric
Plague I and II no longer remove the Post Mortem death effect.

Rook Move Attack Fix by Ptarth
Rook now is able to move attack properly.


v1.01

Orb of Veiled Storms Fix by Ptarth (bug reported by awuffleablehedgie)
The Orb of Veiled Storms now deals ArmorImmune damage like every other demigod ability and weapon ability (except for the Doomspite Grips and Girdle of Giants, which have a cleave attack).

Lord Erebus Mist Form by Ptarth
Fixed Mist Form ability so that it correctly ends when Lord Erebus has less than 125 mana.

ZikFix (Zikurat Tower Fix) by mrappard
The Dark side towers on Zikurat while playing Conquest now spawn correctly.


v1.0

Minion +hp Fix by Ptarth
Minions summoned by Demigods Generals [Sedna, Lord Erebus, Oak, Queen of Thorns, Oculus] with +minion hp items now have the correct health.

Oculus Brain Storm Fix by Ptarth
Brain Storm now has a visual effect at all levels, instead of only when Oculus has Mental Agility Brain Storm now removes debuffs on targeted unit as specified by the rollover tooltip text.

Queen of Thorns Attack Animation Glitch by Ptarth
Reduced the lifetime of the QoT's root attack animation to make the animation look better. This is only a cosmetic change.

Oculus Lightning Ball Summons by Ptarth
Lightning Balls will no longer summon in map void space.

Oculus Lightning Blast by Ptarth
Lightning Blast now occurs at the origin of the target instead of the origin of the unit that triggers the effect.

Missing Oculus Shield Effect by Ptarth
Oculus now has a visible Shield effect.

Heart of Life and Wings of the Seraphim Healing Fix by Ptarth (awuffleablehedgie provided starter code)
The Heart of Life and Wings of Seraphim no longer stop their regeneration effects when the user is healed.


Outstanding Bugs/Issues

Solvable Issues:
Modal Demigods spawning in default mode rather than last used mode
This is trivial to implement if there is popular support for it.  At this point, I'd consider two or three votes 'popular', so make it known if you'd like this to be changed (or not).

Plague causes massive sim slowdowns
This is fixable, but will require a full re-write of how Plague works and infects units.  Some balance changes may need to be made to reduce the check rate and radius of infection, as well as to reduce the overall run time of each Plague infection.  This should result in similar overall effectiveness, with slightly less infection but faster damage delivery.

Unsolvable Issues:
Minion pathing issues / stuck minions
This is caused by poor handling of the pathfinding map's edges, usually around corners or the citadel.  Without the ability to alter these pathing maps (they use a raw image format of some kind), there is nothing that can be done about this.

Unreliable multiplayer connectivity
This is contained completely within the engine/Impulse.

Achievements fail to record progress properly
As above.


Credits

Ptarth - the original creator of the Uberfix, responsible for most of the fixes prior to 1.03

Mithy/miriyaka - took the reins for 1.03, currently maintaining the project

awuffleablehedgie - bug reports and suggestions

pacov - lots of testing, feedback, and motivation

Pinned, Locked Post 296 Replies +2 Karma
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
Quitch
Ptarth
March 23, 2011 11:47:13 PM from Demigod Forums Demigod Forums

ere's the thing: I added a broadcast message that should play whenever the weapon gets stuck on a target that it can't hit. Nobody has reported seeing this broadcast once, ever.

Confirmed - i have NEVER heard a unique message associated with this... and I'm pretty sure I'm the guy that's paying the most attention doing the most tests. As I'm your prime beta tester here, you might have to release 1.4 final and then do a 1.4.1 release in case someone finds that the rook fix does not work.  All I can say is that everything looks good and I've intentionally tried to get dg's targeted so that when they ran off into the fog, I'd either stop firing trebs or reaquire a target.  And everytime, I'm reaquiring targets.  Anyway, its more a real world scenario here - your tester says it looks good.  But I'm only 1 guy testing over 20-30 games or so. In tester world, that's generally good enough... in the real world, sometimes not.

We might have 2 different approaches.  I'd go so far as to release a final of 1.4.  If there are problems discovered AFTER release, then release a bugfix version.  You've really only got me as a primary tester anymore, methinks. 

All of that said, I'll get some more trial games in soon, but I'd wager the outcome will be the same. 

And side note... I won't be making a post about this outside of this, but I'm reasonably confident dg has a future.  Time will tell, but imo, its no longer a "don't hold your breath" scenario.  That said, I've been wrong before. 

Reason for Karma (Optional)
Successfully updated karma reason!
March 24, 2011 2:39:47 AM from Demigod Forums Demigod Forums

- Added an extension function to the Health BuffAffect to allow non-destructive modding of healing and ability damage based on any conditions that you can derive from the buff, target, or instigator.

- Got the new weapon stat framework going.  No more UI hooks needed, and it technically supports any number of primary switchable weapons on a demigod, as well as potential ability modes on demigods other than QoT and TB.  It's a lot cleaner under the hood, not that it matters when nobody is modding the game anymore.

- Added a few more weapon stats being tracked in the sync: MetaAmount, MetaRadius, and FiringRandomness (though the latter isn't used in stock DG from what I can tell).

- Made CanEvade default to false for ability damage.

- Added a precast check to DA's Warp Area that makes sure there's at least one target in range before allowing a cast (may have mentioned this already)

- Took care of the last few cosmetic things posted.

 

That just leaves Plague, which I'll work on as soon as I can.

Reason for Karma (Optional)
Successfully updated karma reason!
March 26, 2011 12:39:17 AM from Demigod Forums Demigod Forums

QoT compost status Icons

These are bugged, and I forgot that we've known about it for awhile.

Ideally the effect icon would show a I,II or III depending at what effect level you are at. (each effect level representing 3 kills)

Right now, you can't tell what level you are at when you have 3 skill points invested. It always shows a 'III' regardless if you have 3 kills or 9 kills.

The other solution, implemented by Ptarth in his various QoT mods, was to actually be specific in displaying which level you are at... I, II, III, IV, or V icons, depending on skill points and kills.

eg: kills 3,6,9

1: Shows I,II,III

2: Shows, II,III,IV

3: Shows III,IV,V

Incidentally, there are 6 compost effect levels, but level 6 is never attainable.

 

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 10:56:32 AM from Demigod Forums Demigod Forums

Also in relation to compost, looking at soul power, should its counters work like compost?

It does have VI effect levels like compost does, and works on the number of spirits in groups of 3 (instead of kills of 3 like compost)

Spirit Buff Level (gives oak auto attack damage based on # of spirits in play)

Soul Power I: 20,40,60

Soul Power II: 40,60,80

Soul Power III: 60,80,100

edit: The code comment confirms this actually.
"# That is, when a player has Soul Power II and has 3 spirits, they use the second rank buff instead of the first."

From all of our discussions, it seems that they way Soul Power works is that it is 20 damage for every 3 spirits. Which is why the skil looks so wrong

eg: Right now, Max damage per level assuming max spirits in play
1: 80 (60 from spirits 20 from base damage)
2: 100 (60 from spirits 40 from base damage)
3: 120 (60 from spirits 60 from base damage)

What it should be
1: 80 (60 from spirits 20 from base damage)
2: 120 (80 from spirits 40 from base damage)
3: 160 (100 from spirits 60 from base damage)

 

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 5:27:39 PM from Demigod Forums Demigod Forums

What?  No, this skill is working fine.  I haven't looked at Compost recently, but I don't think the two use the same formula.

Soul Power buff level starts at 1 + math.floor(spirits / 3), and has a check for spiritCount > 0.  This means the 01 buff is only used at level I of the skill, from 1 to 2 spirits.  If you have three spirits and level I, you get the 02 buff.  If you have three spirits and III, you get the 04 buff.  9-10 spirits and III gives you the 06 buff and 120 damage along with the 60 base, for 180 total damage.

At max spirits:
1: 100 (80 from spirits 20 from base damage)
2: 140 (100 from spirits 40 from base damage)
3: 180 (120 from spirits 60 from base damage)

Of course this assumes max Raise Dead Ward for a consistent 10 spirits at each level.

Again, SoulPowerRank starts at 1 at level I of the ability, and this is added directly onto the number of spirits / 3.  At I with 3 spirits, 1 + 1, or 'HOakSoulPowerBuff02' (40).   At II with 6 spirits, 2+2, or 'HOakSoulPowerBuff04' (80).  At III with 9+ spirits, 3 + 3, or 'HOakSoulPowerBuff06' (120).

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 8:20:41 PM from Demigod Forums Demigod Forums

NVM, you are right... sorry.

It is 180 at level 3 + 10 spirits.

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 9:20:40 PM from Demigod Forums Demigod Forums

You're wrong.  Trying to guess at soul power level by looking at your damage is not going to be accurate, because many things can affect damage.  Actually logging the function perfectly corroborates my description of how it works.

Here's an override of the function with nothing changed, and three log messages added, one to each if condition.
http://pastebin.com/BiZW2wLk

Here's the log output from the two added log messages:
http://pastebin.com/6wMiQH40

You're welcome to look over the code and test this yourself, but all relevant information is listed in each log message - spirit count, spirit groups, soul power ability rank, as well as the actual results of the math the function uses to generate a buff name.  It works exactly as I outlined.

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 9:33:26 PM from Demigod Forums Demigod Forums

Just looked at Compost, and it uses a pretty similar method, except that CompostRank is 0-2 instead of 1-3 like SoulPowerRank.  Given the presence of the sixth level of Compost, combined with how sloppily this function is put together, I'd say the 0-2 is a mistake and/or unintended.  From what I'm seeing, there's nothing in the function that explicitly removes the level 5 buff and/or armybonus, although both should be replaced by the level 4 version long before all buffs are removed.

I'll be fixing this in the next release to work the same as Soul Power.


Edit: This compost function also decrements the compost level when it's at 9, even if a unit is killed.  This is not appropriate - it should only be decrementing when it's not coming from a unit kill.  This means that killing a 10th unit actually decrements the Compost level to 8, instead of keeping it at 9.  What a mess.


Edit 2: Compost level also had 1 added to it inexplicably.  So Compost I and 2 kills would actually still give you buff 01, even though the description claims three kills per level (which is accurate for every subsequent level, requiring 5 kills for skill I to hit the 02 buff).  Now it will work like Soul Power, where the rank of the ability is added to the buff provided per three kills.

Compost I plus 1 kill will give the 01 buff.  Compost I plus 3 kills will give the 02 buff.  Compost II plus 5 kills will give the 03 buff (same as before), and Compost II plus 6 kills will give the 04 buff (previously 03 until 8 kills).  Compost III plus 9 kills will correctly give the 06 buff.

 

Additionally, in fixing the decrement error above, I'm considering upping the actual maximum Compost level to 10.  This does not give any better bonuses, but allows you to keep the counter from decrementing your buff level from maximum so long as you're consistently getting kills within the decrement timer (7 seconds).  The decrement timer runs regardless of whether or not you're getting kills, that is, a kill does not reset it, so with the max at 9, you will lose the 06 buff every 7 seconds even if you're killing dozens of units within that time period.

Reason for Karma (Optional)
Successfully updated karma reason!
March 27, 2011 11:53:22 PM from Demigod Forums Demigod Forums

And the hits keep coming:  the game's ArmyBonus system has absolutely no duplicate tracking, meaning that calling AddArmyBonus twice for the same ArmyBonus will insert two entries into the AIBrain's ArmyBonusData table, and RemoveArmyBonus only removes one per call.

This is important, because Compost calls AddArmyBonus potentially many, many, many times as the Compost level goes up and down, without ever calling any removes.  This means that after about 15-20 minutes and a few hundred creep kills, there could be upwards of 1000 ArmyBonus entries in QoT's brain's ArmyBonusData.

This is very important, because every time a unit is created for a player's army, that player's AIBrain iterates this entire ArmyBonusData table, and applies any and all buffs that each ArmyBonus contains to these units (in addition to doing a bunch of other checks on a per-unit basis).  This doesn't result in stacking buffs, because all ArmyBonus buffs (that I'm aware of) use REPLACE stacking, however, it does result in thousands of buff add/remove calls every single time a new unit is summoned or killed, and several thousand every time the owning Demigod is killed (each ArmyBonus adds an OnKilled callback to the owning demigod unit).  That's a -lot- of overhead, to say the least.

The fix should be simple: hook AddArmyBonus in AIBrain and pre-check for a bonus of the same name, call a remove for it, and proceed with the addition.  This way no more than one of each ArmyBonus can exist in the table.

I also have to hook RemoveArmyBonus and add a pre-check for the existence of the bonus being removed, because right now it goes through all the motions for removing a bonus every time it's called, whether or not that bonus even exists.

Really, ArmyBonuses should have a 'BonusType' field similar to 'BuffType', so that they specify stacking in the same way, but it's clear that they didn't originally plan to use ArmyBonuses for things like procedural abilities, and the system is very simple.  Expanding it in that way would require modifying potentially hundreds of existing buffs, something I'm not particularly interested in doing.

 

Re: Compost
In addition to these changes, the new compost counter will now save the number of the last ArmyBonus used and remove it before adding the new one.  Buffs and ArmyBonuses are also untouched unless their level actually changes.  Previously, going from 3 kills to 4 kills would have added another ArmyBonus instance (never to be removed) and removed and re-added the same buffs, even though nothing changed functionally.  So now only one ArmyBonus will be in effect at any given time (from hundreds to thousands) and no unnecessary buff overhead will be performed.

Reason for Karma (Optional)
Successfully updated karma reason!
March 28, 2011 12:15:09 AM from Demigod Forums Demigod Forums

The level 10 compost level makes sense. It would be kind of dumb to lose the top compost effect the second after you gained it because the decrement counter went off. This is kind of like making the decrement counter reset every kill when you hit the top buff.

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
March 28, 2011 7:58:40 PM from Demigod Forums Demigod Forums

Whoops, found one intentional duplicate ArmyBonus: Morale applies the same bonus up to 6 times, and is the only ArmyBonus I can see whose buffs have 'ALWAYS' stacking.  Added a new parameter to AddArmyBonus that tells it to allow stacking and updated the Morale OnStartAbility functions to specify this.

Modders take note - if you want to stack ArmyBonuses, make sure you do so in moderation, and add a third 'true' parameter to your AddArmyBonus calls to support the UberFix (the extra parameter is totally harmless in non-UberFix games), e.g.:

brain:AddArmyBonus('MyBonusName', instigatorUnit, true)

 

Also added a new utility function to AIBrain, HasArmyBonus(self, bonusName) which returns true if the bonus exists and at least one instance is present in that brain's bonus table, or false if either condition fails.  It does not return a number of bonus instances, although I guess I could have it do that..

 

Edit: HasArmyBonus will return the number of instances for that brain, or false if none (or the bonus doesn't exist).  RemoveArmyBonus now has an optional parameter as well, removeNum.  The default behavior is unchanged (remove 1 instance).  Example:

brain:RemoveArmyBonus('MyBonusName', 2)
..to remove up to two instances, or:
brain:RemoveArmyBonus('MyBonusName', -1)
..to remove all instances.

The number of instances removed is capped at the actual number present according to HasArmyBonus.  This extra parameter is also harmless without the UberFix present, although if you're relying on it to remove multiple instances, you'll have to either require the UberFix or alter your ability logic accordingly.

Multi-instance removal goes through the entire normal removal process for each instance, including running the ArmyBonus's OnRemove function (if present).  Unfortunately, this process does NOT remove the RemoveOnDeath callback added to the owning demigod, so when this flag is present in an ArmyBonus, one instance of the ArmyBonus will always be removed per AddArmyBonus call when the demigod dies.  There is no clean, easy fix for this, so I'm not going to override the whole original RemoveArmyBonus function just to make a half-assed attempt at one.

Reason for Karma (Optional)
Successfully updated karma reason!
March 30, 2011 12:03:44 AM from Demigod Forums Demigod Forums

Wyrmskin handguards ranged proc rate is incorrect (probably a brain fart on the person plugging in the stats)

Every item is 33% less proc for ranged, while Wyrmskin is the only item with 50% (even poison dagger is the same %)

Wyrmskin handguards
Melee WeaponProcChance = 15,
Ranged WeaponProcChanceRanged = 8, (Should be 10)

Gauntlets of Despair
Melee WeaponProcChance = 15,
Ranged WeaponProcChanceRanged = 10,

Doomsprite
Melee GripsWeaponProcChance = 25,
Ranged WeaponProcChanceRanged = 16

Gloves of Fell-Darkur
Melee WeaponProcChance = 20,
Ranged WeaponProcChanceRanged = 13,

Nature's Reckoning
Melee WeaponProcChance = 15,
Ranged WeaponProcChanceRanged = 10,

Unmaker
Melee WeaponProcChance = 20,
Ranged WeaponProcChanceRanged = 13,

Poisoned Dagger
Melee WeaponProcChance = 20,
Ranged WeaponProcChanceRanged = 13,

Furious Blade
WeaponProcChance = 15,
WeaponProcChanceRanged = 10,

Nitpicky? Yes.
But there should be no doubt this is wrong.

Reason for Karma (Optional)
Successfully updated karma reason!
March 30, 2011 4:49:57 PM from Demigod Forums Demigod Forums

What is the difference between DamageRating and DamageBonus?

In hex Scroll; DamageBonus is reduced on minions but DamageRating is reduced on Demigods?

 

Reason for Karma (Optional)
Successfully updated karma reason!
March 30, 2011 4:54:46 PM from Demigod Forums Demigod Forums

One more question on the subject of plague.

If you remove plague by a debuff skill/item, does this still make you immune to catching plague again like you should be? Or does this also remove the immunity "buff" as well.

Reason for Karma (Optional)
Successfully updated karma reason!
March 31, 2011 11:11:25 AM from Demigod Forums Demigod Forums

Quoting LORD-ORION,
Wyrmskin handguards ranged proc rate is incorrect (probably a brain fart on the person plugging in the stats)

Not really something that will ever be noticeable, but I'll change it anyway.

 

Quoting LORD-ORION,
What is the difference between DamageRating and DamageBonus?

Look at GetBaseDamage in /lua/sim/Weapon.lua:

Code: c++
  1. local damage = (self.unit.Sync.DamageRating + (bp.Damage or 0)) * (self.DamageBonus or 1)
DamageBonus is a final, per-weapon multiplier to blueprint damage + damagerating.  DamageRating.Mult only multiplies DamageRating, while DamageBonus.Add multiplies the entire combined damage, and DamageBonus.Mult (which does nothing on its own) multiplies DamageBonus.Add.

Basically, DamageBonus is not meant for use on demigods, as they have no blueprint damage, only DamageRating.  The buffaffects code that handles it and updates weapon damage in the UI doesn't quite get it right if multiple weapons are in use.  The new weapon stat code in the UberFix 1.04 will fix this, although I still wouldn't recommend using DamageBonus on demigods.

Conversely, DamageRating isn't really meant to be used on towers and grunts, and as far as I'm aware all grunt and tower citadel uprgades specify DamageBonus.Add.  DamageRating.Mult would do absolutely nothing to towers and grunts, as they have no base damagerating.  Most minions have no base DamageRating either, but all minion damage buffs use DamageRating.Add.

 

Quoting LORD-ORION,
If you remove plague by a debuff skill/item, does this still make you immune to catching plague again like you should be? Or does this also remove the immunity "buff" as well.

Code: c++
  1.     OnBuffRemove = function(self, unit)
  2.         Buff.ApplyBuff(unit, 'HEPA01PlagueImmune', unit)
  3.     end,
That runs every time the plague buff is removed, through any means.  So yes, you still get the immunity buff if Heal, Shield, or Brain Storm remove the plague debuff.

Reason for Karma (Optional)
Successfully updated karma reason!
March 31, 2011 6:10:57 PM from Demigod Forums Demigod Forums

After seeing how existing mods handled added icons, I made a UIUtil.UIFile hook in the UberFix that returns mod texture paths from an absolute path.  This lets mods include their own buff, ability, etc icons without using relative paths, as well as override existing icons just by including a texture within the same path in their mod folder.

e.g. including a file:
  /mods/mymod/textures/ui/common/abilities/icons/mymod_icon.dds
..will allow a buff or ability to use it just by specifying:
  Icon = 'mymod_icon',
..just like the icons found in the base game.

This works for a wide variety of other textures found within /textures/ui/common as well, but not all of them (e.g. cursors and window frames), and none outside that folder.

Related to this, I'd like to use the Compost icons from the LoP QoT mod, but I don't know who made them.

Reason for Karma (Optional)
Successfully updated karma reason!
April 1, 2011 4:09:54 PM from Demigod Forums Demigod Forums

Quoting miriyaka,


Related to this, I'd like to use the Compost icons from the LoP QoT mod, but I don't know who made them.

That would be Ptarth

Reason for Karma (Optional)
Successfully updated karma reason!
April 4, 2011 9:39:56 PM from Demigod Forums Demigod Forums

Just dragging this forward so its easier to find.

Quoting miriyaka,
I'm going to go ahead and drop another release candidate, because I've added a pretty significant number of new stuff in the last two days. It's been running fine for a few games with no log errors, so it should be good enough to get feedback on.

http://code.google.com/p/uberfix/downloads/detail?name=UberFix 1.04 RC2.zip

New fixes from the last version:

- Cooldown fix works while dead
- Shoulder weapon viz fix (both blueprint and script)
- Area-target ability AI lock-on fix
- Flag rollover fix (third attempt)
- Flag domination message always triggers >=75%

Don't feel like you have to specifically test most of these, as I'm 99.99% sure that they work, but do please play a few normal games (multiplayer if possible) with logging enabled and at least one Rook, and pastebin the logs if any console prints appear, so I can sort through them.

Also make note of enemy-captured flags whenever possible, to make sure they're getting a (non-error) rollover. I can't get this particular issue in the log reliably, since 9 times out of 10 it produces no event and no rollover.



Stuff I should still work on:

- Ability cooldown overlay pop/flicker when dead (not related to cooldown fix)
- Some sort of token thing for Fire and Ice, since it's such a hot-button issue (loool pun)
- Continued perusal of rollover code to better understand the 'stickiness' and general unreliability of rollover info. I understand how it works for the most part, but I am not sure why it has any data persistence whatsoever.
- Figure out something with CAiTarget or CAttackManager methods to solve the shoulder weapon issue more gracefully (probably never going to happen barring the release of the game's source code or some serious internal docs)

Any further input on these or any other issues that I may have forgotten (I haven't touched the issue tracking site for a week or so, whoops) is welcome.

Tentative changelog for 1.04:

-------------------------------

Unclean Beast Ooze Suicide
Ooze is now completely incapable of causing suicides.  Unclean Beast will be left with one hitpoint in any situation where Ooze damage occurs in the same tick (but just after) any other damage event.

AI Rook Movement Stutter
This was caused by the high rate of fire of Rook's arrow towers.  Their ROF has been quartered and damage quadrupled, for the same overall DPS.  Poison chance and duration have been increased slightly to give the same chance per second of poison activation, as well as the same chance per poison cycle of renewal under consistent fire.

Ranged Demigod Attack Stutter
Non-Regulus ranged Demigods would have their attacks repeatedly interrupted due to constant stop and start while chasing a slower target, effectively penalizing greater speed.  They are now able to successfully attack periodically in this situation, though not from a standstill.  This is intended, to preserve the advantage bestowed by Regulus' Angelic Fury lock-on bonus.

Queen of Thorns Extreme Rate of Fire
Related to the above fix, Queen of Thorns will no longer be able to attack far more rapidly than should be possible while chasing a target or when stuck on map geometry.

Tower Strength Upgrade Reduces Trebuchet Damage
The tower strength upgrades will no longer negatively affect the damage of stationary Trebuchet units.  Towers of Light were unaffected, and Forts and Arrow Towers still correctly recieve reduced splash damage.  This fix also prevents any reduction to splash damage from affecting a weapon with a blueprint-specified damage radius, unless the buff is flagged as a debuff (Tower Strength buffs are not).

Torch Bearer Permafrost I Debuff
This aura level is now in-line with all other levels, at -5% ROF from -3%.

Torch Bearer Frost Nova Slow Duration
The snare duration for this ability now takes into account the duration of its freeze, each level providing a full 5 seconds of slow post-unfreeze as the description indicates (instead of as little as 2s at level III).

Oculus Ball Lightning Produce Nightwalkers/Spirits On Death
Due to the disposable nature of Ball Lightning (particularly with Explosive End), this caused an extremely exploitable level of synergy with Oak and Erebus allies, and can safely be inferred as unintended and a consequence of Oculus' poor testing.

Oculus Blast Off! I Radius
This ability level is now in-line with all other levels, at 6 radius from 3.

Sedna Horn of the Yeti IV Buff
Sedna's Yetis will now correctly receive the level IV buff with this ability.  Existing Yetis now also receive the appropriate level of buff upon ability upgrade, as was the case with Shamblers and Entourage.

Rook Shoulder Weapon Stuck Targets
These weapon addons should no longer become fixated on a single target that is out of range or is no longer visible.

Absorption Refresh On Addition/Removal
Shield buffs such as Bramble Shield and Groffling Warplate will no longer cause all related buffs to be fully recharged any time one is added or removed.  Addtionally, absorption damage float text is now only displayed for both involved parties (like all other damage float text) and displays the amount of damage done.

Ability Tooltips Display Unmodified Cooldown Time While Cooling Down
The correct total cooldown time is now always shown in all ability bar tooltips.  Skill sheet and inventory tooltip cooldown times remain unmodified, as intended. 

Late Map Control Voice-Over, Second Try
The map control voice-over now correctly activates on flag capture for the team gaining map control, and only when the control threshold is crossed.  In addition, the map control threshold is read from game settings instead of being fixed at 75%.  This fix was absent from the released 1.03 code, despite being listed in changelog.

 

Feature Additions:
Several new BuffAffects have been added for use by mods--
- EnergyAdd: Functions like LifeSteal, adding energy based on a percent of damage done
- EnergyLeech: As above, except that energy is stolen from the target based on a percent of damage (demigods only)
- EnergyDrain: A one-off application of EnergyLeech, like a normal negative Energy.Add buff that transfers between demigods

Additional Sync variables for displaying unit information in the UI have also been created, in addition to those from 1.03 (note that some of the associated buffs are currently unused in stock Demigod)--
- EnergyAdd
- EnergyLeech
- AbsorptionMult
- SplashMult and SplashMult2
- DamageRadius and DamageRadius2
- MagicResistance
- MissChance
- Invincible
- StunImmune
- DebuffImmune
- BountyGivenMod
- BountyReceivedMod

Several other internal changes and additions have been made to facilitate easier and more non-destructive modding.

-------------------------------

 

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
April 4, 2011 11:57:46 PM from Demigod Forums Demigod Forums

Any expectation on when a final of 1.04 will come out?  I'm all for keeping setting 1.04rc2 as the final version and renaming it 1.04.  Then, move any additional fixes over to a 1.05beta version.  I've done enough play testing now to be comfortable with finalizing 1.04.  AND I'd love to use an official version for our tournament in 3 weeks. If you are willing, miri, please release a finalized 1.04 version (let me know if you want/need me to create an executable).  I'd appreciate it.  Thanks!

Reason for Karma (Optional)
Successfully updated karma reason!
April 5, 2011 12:42:21 AM from Demigod Forums Demigod Forums

Sorry, I kind of used my allotment of Demigod modding time and energy on Compost and the weapon stat issues mostly to avoid having to work on Plague.  The test version I have now should be releasable as well, and fixes up a few more minor issues.

I'm not going to bother fixing the red cooldown overlay flicker while dead, since it's really really minor and will have a fairly complex solution, so that pretty much leaves Plague, which will probably take too much trial and error and testing to perfect in advance of the tournament.  So, I'll just release what I have as 1.04.  Give me a day or two to repackage it, compile a changelist, and update the OP.

Reason for Karma (Optional)
Successfully updated karma reason!
April 5, 2011 2:58:33 AM from Demigod Forums Demigod Forums

You can use the icons if you were worried about the permissions. They aren't perfect, but they aren't horrible.

Reason for Karma (Optional)
Successfully updated karma reason!
April 5, 2011 10:36:33 AM from Stardock Forums Stardock Forums

Quoting miriyaka,
Sorry, I kind of used my allotment of Demigod modding time and energy on Compost and the weapon stat issues mostly to avoid having to work on Plague.  The test version I have now should be releasable as well, and fixes up a few more minor issues.

I'm not going to bother fixing the red cooldown overlay flicker while dead, since it's really really minor and will have a fairly complex solution, so that pretty much leaves Plague, which will probably take too much trial and error and testing to perfect in advance of the tournament.  So, I'll just release what I have as 1.04.  Give me a day or two to repackage it, compile a changelist, and update the OP.

Awesome - Thx miri. 

Reason for Karma (Optional)
Successfully updated karma reason!
April 5, 2011 12:06:10 PM from Demigod Forums Demigod Forums

Quoting Ptarth,
You can use the icons if you were worried about the permissions. They aren't perfect, but they aren't horrible.

Thanks.  They're more than good enough, especially since they're only used at about 1/4 size.  In fact, do you recall which font or process you used to make them?  I may as well do a set for Soul Power as well.

Reason for Karma (Optional)
Successfully updated karma reason!
April 5, 2011 3:41:19 PM from Stardock Forums Stardock Forums

Well - if you get a chance and want to dump out another rc or whatnot, I'll be around some tonight for testing methinks - and I can probably get some folks to join me (if testing is needed).  Otherwise, whenever you get around to it.  Thanks!

Reason for Karma (Optional)
Successfully updated karma reason!
April 6, 2011 3:55:31 AM from Demigod Forums Demigod Forums

I used Gimp with Times New Roman with a couple of layers.

I've got the graphic format all setup if you want the file, or you can just tell me what you want and I can whip it up.

I looked up the Soul Power Icons and they are at:

C:\Program Files\Stardock Games\Demigod\bindata\textures\ui\common\abilities\icons\DGOak

However, there are already 6 of them, so I'm not sure what you want.

 

Also, did this ever get resolved:

Torchbearer Permafrost I ROF debuff too low
This ability has a 3/7/10% reduction to Movement Speed and a 3/10/15% reduction to ROF.  It can be logically concluded that developer intent for the ROF penalty is 5% at level I; both of the 3%s are in the same buff on adjacent lines, so it's easy to understand how this error happened.  I'm deferring this change until after the second tournament is concluded, on request from pacov.

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #101114  walnut1   Server Load Time: 00:00:00.0000532   Page Render Time:

Stardock Magazine | Register | Online Privacy Policy | Terms of Use

Copyright © 2016 Stardock Entertainment and Gas Powered Games. Demigod is a trademark of Gas Powered Games. All rights reserved. All other trademarks and copyrights are the properties of their respective owners. Windows, the Windows Vista Start button and Xbox 360 are trademarks of the Microsoft group of companies, and 'Games for Windows' and the Windows Vista Start button logo are used under license from Microsoft. © 2012 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.