The Forums Are Now Closed!

The content will remain as a historical reference, thank you.

Pinned Post

UberFix 1.06 [1/18/2012]

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

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

+76 Karma | 294 Replies
December 13, 2010 8:56:11 AM from Stardock Forums Stardock Forums

Are you sure about that? I've seen the treb bug before, but never this. Nor have I ever heard about it affecting ToLs and archer towers.

I have heard this reported quite some time ago, but have never experienced the tower of light thing (or... let's just say I've never noticed it).

If you do code a fix for the trebuchets, would you either release a standalone patch for me or point me to an updated uberfix patch so I can incorporate it in my testing?  A lot of my testing currently is focused around rook and as the issue is difficult to reproduce, I'll probably have the best odds of seeing if your patch doesn't fix it through multiple play tests. 

December 14, 2010 11:52:14 AM from Demigod Forums Demigod Forums

Ancient link to ToL bug

There were some other threads, but I didn't see them off the bat.

December 14, 2010 5:19:19 PM from Demigod Forums Demigod Forums

Oh, the shoulder ToL.  Right.  Yeah, that makes sense.  I thought everyone was talking about the summoned ToLs.

December 17, 2010 1:38:29 PM from Stardock Forums Stardock Forums

hey - our current tournament is pretty much over.  We'll probably be starting another one in the next 20-60 days.  If you have a new version you'd like to release, please do so and I'll get the testing going now so we can ensure we have a stable build.  Thanks.

December 17, 2010 2:39:53 PM from Demigod Forums Demigod Forums

I'm just riding out a burnout.  I'll start working on it again in a few days.

Current to-do list:

1) Shoulder weapon fix

2) Absorption re-write

3) Cooldown display bug

 

No clue if I'll ever be able to solve 3.  I've logged a bunch of the places where it's calculating cooldown, and it's always correct.  I don't know what's going on.  Absorption re-write is simple enough, I just have to take the time to do it.  Shoulder weapon fix will take some experimentation to find something that works without being too obtrusive.

I still have no idea how to solve the QoT attack-move thing, nor stuck minions, nor the Oculus autoattack-underneath issue.  These three are firmly ensconced in the engine, and any fix I try (like forced movement / stopping) will be really noticeably clumsy and not any better than the current problem.

Haven't forgotten about the Erebus potion re-write either, but I'm not going to commit to that one for the next release.  I haven't had time to look at the part of the code that handles kill rewards.  I also know next to nothing about emitters, so I'll probably need someone else's help in creating an effect for the potions.  Or I could use a custom shader mesh - not sure if anyone's done that before for demigod, although I do know how to implement the blueprint side of it.

December 17, 2010 3:26:10 PM from Stardock Forums Stardock Forums

I'm just riding out a burnout.

get some rest at any rate... my burn out was black friday week... just about recovered from that...

December 17, 2010 10:51:51 PM from Demigod Forums Demigod Forums

Posting a list of the fixes I've done so far for 1.04, mostly so I don't forget what to put in the first post.  Not listing the things I haven't finished yet, as mentioned in the last post.

 

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 (and Tower Strength buffs are not).

Torch Bearer Permafrost I Debuff
This aura level is now in-line with all other levels, with -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.

 

 

Related to the last item, I completely forgot about the whole minion buff application issue.  When you upgrade a minion ability that is supposed to bestow better buffs, the buffs aren't actually applied to already-summoned minions, and you have to completely re-summon all of them.  I get the impression from the way it's coded that this is not specifically intended and is just an artifact of the method they used.  I personally find it clunky and annoying.

If there's no objection, I'd like to switch all of these to using ArmyBonuses so that the bonuses are upgraded on the fly.  This is a fairly minor change code-wise.  I'm not sure which units this affects, although I know for certain that Shamblers and Yetis are affected, and pretty sure that Nightwalkers are as well.  Ball Lightning actually summon a completely different unit for each level, and receive no buffs, so they will not be affected by this.

December 19, 2010 4:56:17 AM from Demigod Forums Demigod Forums

I also know next to nothing about emitters, so I'll probably need someone else's help in creating an effect for the potions.  Or I could use a custom shader mesh - not sure if anyone's done that before for demigod, although I do know how to implement the blueprint side of it.

 

i can help with these if you need it, i have done both for different things in favormod and so have had a "little" practice (ie i am not fantastic with it, but it can be done).

 

Exx

December 19, 2010 11:17:39 AM from Demigod Forums Demigod Forums

Cool.  I'm thinking now that it's impossible to do a custom mesh without having it appear for both teams, so what I'll probably need to do is create an emitter that just spawns one single unmoving bitmap of a red X right in the middle of the potion or something like that.  Do you think that's doable?

January 14, 2011 3:05:28 AM from Demigod Forums Demigod Forums

hmm thats pretty precise

 

TBH mesh would be easier, i could just change something small, say the lid so you need to take due care in selecting it. Another option is to give EB a small effect when he dies that shows that it is posion pot, so everyone in the local area will see it, but you wont if your not paying attention/ on the other side of the field

January 14, 2011 1:14:51 PM from Demigod Forums Demigod Forums

I'd really prefer that the potions not be distinguishable by the enemy team at all, otherwise that skill tree becomes totally useless again (as it can't be used to self-farm, and enemies will always avoid them).  It's already easy enough to know when an Erebus opponent has the ability, and to watch where he dies.

I've experimented with emitters in other games, and have been able to achieve things like this (essentially a floating sprite over a mesh), but I have no experience at all with the moho engine's emitters, and as far as I'm aware they never released an editor for them.  If it isn't possible to do that, I'd settle with a red cloud around it or something like that.

Or, I might be able to get around the mesh viz issues by using the mesh of a dummy entity attached to the potion that has its viz set to allies only.  That wouldn't let me simply replace the original mesh however, and I'd have to do it scaled up slightly so it completely covers the actual potion mesh

 

I haven't really had any time or motivation to work on the UberFix lately, but I haven't forgotten about it.  I'll give this a try eventually, as I know the entity attachment and setmesh functions are still working in Demigod.  SetVizToAllies/Enemies seem to be in the luadoc as well.

January 23, 2011 2:37:32 PM from Demigod Forums Demigod Forums

miri - as I remember, you made some changes to X file (cant remember name) that gives us access to some additional information (like dodge %, etc).  I'm interested in toying around with the ui and trying to get some of this information available.  Is there any chance you'd provide a really simple tutorial to help me get the ball rolling?  I'm not really sure where to begin... I believe its quite obnoxious to find the correct coordinates to do this - I'm not looking for help there... just looking to see an example where the text appears anywhere on the screen and then I can toy with getting the coordinates right myself... if that makes any sense.

January 23, 2011 7:48:38 PM from Demigod Forums Demigod Forums

the file was BuffAffects.lua if i remember corrrectly (feel free to correct me if i am wrong lol).

 

UI is rather difficult (and i only have a small idea of how to do this myself. I would like a tutorial as well .

 

 

January 24, 2011 4:50:14 AM from Demigod Forums Demigod Forums

Yeah, it's all in the comments in BuffAffects, since that's the source of most of the information.

If you're wondering where to start, extract MODULE_herostats.lua and SCREEN_hero.lua from dgdata.zip\lua\ui\game and throw them into a mod folder, inside \hook with the same path.  Just work with one of those overrides to start with - one is the mini-stats screen on the shop, and the other is the full-sized inventory screen.

Then look at the two hooks I did to those files in the Uberfix.  The actual method I used to hook those functions probably won't make sense (it barely makes sense to me), but you can see how I overrode the existing variables for weapon stats from heroData; all of the stuff I added in BuffAffects is available in heroData in that file as well.

 

As long as your mod has a numerically-lower UID than the UberFix, it will load first and all the UberFix files will do is replace those weapon values.  You can tweak positions and add other stuff to your heart's content (however that's done; I would have no clue without studying the UI a lot more).

Don't worry too much about compatibility.  If you can come up with something workable, I can help you make it fully compatible with the UberFix code.

January 25, 2011 4:54:24 PM from Demigod Forums Demigod Forums

I think UberFix is a huge improvement over the original behavior of the AIs however I have seen a bug that seems specific to Oak (though I have not tested all DGs for this behavior). If I target a priest (regardless of rank) with Oak - he will take one swing then re-target other units nearby (a demigod if available but other grunts if not). If I target a second time it sticks and he will fight till the priest is dead. Is this a bug that can be fixed with LUA?

Has anyone else seen this?

January 28, 2011 1:04:50 AM from Demigod Forums Demigod Forums

That's not something I've ever noticed.  However, there are so many issues with targeting (contained entirely within the engine, as far as I can tell) that I wouldn't be surprised if this specific thing exists.

Oak in particular seems to have a lot of swing-and-miss issues, and there's nothing in his weapon scripting or blueprint settings that should make him any different from other Demigods, so I can only conclude that they're related to animation in some way.  After fixing the QoT issue, I gained a little insight into how animation times and transitions can affect weapon performance, but I haven't seen anything that would cause a melee weapon miss due to either, and definitely nothing that could cause a target switch, so v0v.

 

In other news, I've fixed the cooldown display bug, non-destructively.  Relatively simple once I figured out what was going on, which took a bunch more logging and a lot of staring at code that I barely understand.

 

I've also thought a bit more about the Erb potion issue, and even disregarding the difficulty in differentiating potions between teams, I think that it would re-nerf the ability significantly if teammates could no longer gain health from his potions.

Seeing as the ability in its original (and proposed re-modified) form disables the normal dropping of potions that he or his teammates can safely use, it could reasonably be considered an overall negative ability choice (even more so with an inability to self-farm).  The current fix that Ptarth introduced already lowers the quality of the dropped potions by making a level 10+ Erb drop what is equivalent to a level 1-9 potion, so I'm going to let this sleeping dog lie.

January 28, 2011 8:50:21 AM from Stardock Forums Stardock Forums

In other news, I've fixed the cooldown display bug, non-destructively. Relatively simple once I figured out what was going on, which took a bunch more logging and a lot of staring at code that I barely understand.

Good stuff. 

January 30, 2011 3:08:06 PM from Demigod Forums Demigod Forums

Found out that I hadn't actually included the flag domination message fix in 1.03.  Oops.

On the bright side, that made me take another look at it, and I improved it a bit more - it should only play when crossing the threshold upward, rather than every time a flag is captured with >75% control.  It also now respects the game.lua flag domination percentage (which a mod can change) rather than being hard-set to 75%.

I'm gonna try to tackle the ROLLOVER DATA ERROR issue in the flag scripts as well, by giving both teams momentary viz on the neutral flags when the game starts.  Not sure if that'll work, but it's the only hope I've got - it's an engine function itself that's returning the wrong entityid for un-seen flags captured behind FoW to the rollover lua, and there is no way to correct this within the UI layer.

 

Doing the full absorption re-write now.  It's more involved than I thought it'd be, because I'm trying to make it burn through absorption buffs individually in the order that they were added, while still keeping it fully compatible with all existing absorption buffs (and still exporting the total to the sync).  Have to override the original DoTakeDamage to accomplish this, but that shouldn't be an issue.

 

Also adding a bunch of utility functions and new energy-drain buff affects for modders (which at this point pretty much means me and Exxentric) to use.  I'd love more suggestions for these kinds of additions, but there really isn't anyone left to give them.  Welp.

January 30, 2011 7:17:13 PM from Demigod Forums Demigod Forums

Glad to hear that inspiration is returning to you   Looking forward to testing 1.04. 

January 31, 2011 10:01:18 AM from Demigod Forums Demigod Forums

lol mithy, ty for you posts and i am looking forward to seeing what you can whip up!

 

been playing around with the buffaffects utility functions as well. I am sure that i can come up with a bunch of them but all in good time .

 

been playing around with the concept of rage:

At level 10 you can shop at a new shop and purchase a single ability (free --> these abilities are generic (same to all demigods) and purchasable off your demigod from the window described below.

This:

Adds a new mana bar which is filled up every time you strike an enemy unit (or are struck by one). 

This ability has its own window on the ui bar. Using the ability will decrease rage. Rage abilities will have 10 sec cooldown provided you have the rage to use it.

Rage decreases over time and will return to 0 if out of combat long enough.

 

What do you think? Kinda like a second favor item but adapted to be an ability that uses a new resource.

 

Also can you take a look at my vampire mits problem:

Vampire mits proc damage to you on striking another unit

Maim (reg skill) procs on any unit that is damaged by reg

---------> this leads to maiming yourself for the rest of the game.

 

Currently there is know way of determining the instigator of a buff unless you are dealing directly with that buff (ie after it is cast the instigator data disappears never to be seen again as far as i can tell) and tell it to save this information in a table.

 

I have had a go at saving the instigator of every buff in a new table in buff.lua buffAffect function but to no avail. 

If i had this information i could use:

 

if maim.instigator == vampiremits.instigator

removebuff maim

end

 

Any suggestions? or should i just hotfix it and set reg maim code so he cant proc himself?

 

EDIT: i havent yet looked for this but i was wondering if you know if there is a way to prevent a buff being removed after death? Otherwise i might have to hook it through sync.health instead of using buffs cause you lose them all when you die. just FYI this item adds 4 health on weapon proc and deals 1% Maxhealth damage to you.

 

 

January 31, 2011 11:10:30 AM from Demigod Forums Demigod Forums

been playing around with the concept of rage:

I dunno, it sounds doable, but you'd need to do some UI modifications while keeping the UI compatible with existing UI mods.  All of the sim code would be easy enough.

 

Also can you take a look at my vampire mits problem:

Just looked at Maim, and this is happening because Maim is set up to apply to all damage done by Reg, where all other snares and on-hit abilities (that I've seen) actually look at the weapon target instead.  Presumably this is to make Maim apply on Snipe.  So yeah, a simple unit == target check in the MaimTarget function should be good enough.  I'll fix this in the next UberFix release, but for now if you want to throw this into an empty hook of Reg's abilities file, it should take care of the issue with no buff add/remove overhead (quote to copy - you know the drill):

Code: c++
  1. --Add a self-damage check to all levels of Maim, so it cannot be applied to Regulus himself
  2. for i=1, 3 do
  3.     local maimAbil = Ability['HGSA01Maim0..i']
  4.     if maimAbil and maimAbil.MaimTarget then
  5.         local prevMaimTarget = maimAbil.MaimTarget
  6.         maimAbil.MaimTarget = function(self, unit, target, data)
  7.             if not target == unit then
  8.                 prevMaimTarget(self, unit, target, data)
  9.             end
  10.         end
  11.     end
  12. end

If you find any other abilities that have the same problem, lemme know.

 

EDIT: i havent yet looked for this but i was wondering if you know if there is a way to prevent a buff being removed after death? Otherwise i might have to hook it through sync.health instead of using buffs cause you lose them all when you die. just FYI this item adds 4 health on weapon proc and deals 1% Maxhealth damage to you.

Nope.  When a Demigod dies, its unit is completely destroyed.  I'm not even sure how the sync issue is handled, because upon respawning, the DG's unit will have a new entityid.  So everything in Sync is also lost, and is actually re-created from scratch by all of the Demigod's items, abilities, etc which are held in global tables.

Besides, that seems like it'd be, uh, really imbalanced.  There might be a way to jury-rig something using a global table, but you'd end up with 13-16k+ health by the end of a game, maybe more if you go for ROF items and farm creeps nonstop.

January 31, 2011 7:03:54 PM from Demigod Forums Demigod Forums

- Absorption re-write complete, working 100%.  All absorption affects will now work exactly as expected, with the behavior of individual REPLACE buffs (e.g. all Bramble Shields) relative to one another being unchanged.  I took the liberty of altering the float text to act exactly like damage text, so that it only displays for the two involved parties.  GPG's code for absorption (and text) was very basic, and looks like it was added before they solidified float text handling and the rest of the damage system.

I can also make it display the amount absorbed.  I'm experimenting with ways of doing this that actually look good; '463 ABSORBED!' '110 ABSORBED!' etc etc all on top of each other is somewhat unreadable (though no worse than the original 'ABSORBED!'), even using the exact same positioning method as normal damage.  Maybe it's the green color?

Anyway, I'd like ideas here.  Thinking about going with parentheses or brackets and ditching the 'ABSORBED!', e.g. '(-462)' '[-110]' or something along those lines.

- ROLLOVER DATA ERROR fix is implemented, haven't seen the issue in 5-6 quick starts so far.  This just needs lots of testing, since it's so intermittent.  Crucible seems to be the best map, since the creeps never go near the flags.

- I've got a basic test fix for the Rook shoulder weapon issue.  It's very clumsy right now, because I don't know what the problem is, and it's so intermittent that I have no way to reproduce it.  How it works is that every time the weapons fire, a thread is launched that waits twice their ROF time.  It is canceled and re-launched every time the weapon fires.  If it survives its timer (e.g. the weapon didn't fire at anything for 2x ROF delay), it does a bunch of checks on the status of the weapon's target, if any, dumps the supposed reason to the log, and does a ResetTarget() on the weapon.

As I can't reproduce the issue, so far all I've gotten is 'no target', because when it's working properly, that's really the only reason it should ever not be firing.  Logging is going to be REALLY important with this fix; if you care at all about this issue, play the next test release with logging enabled, or it will probably never get fixed.  If you observe it happening, pastebin the log and link it here.  Hell, pastebin any logs with Rook shoulder weapons even if you don't see it happen.  Maybe the hack fix I'm using will do the job, but I need a bunch of logs to confirm and streamline it either way.

- Added a check to Reg's Maim callback that prevents it from being applied to himself.  This only affects mods, e.g. FavorMod.


- New BuffAffects are in: EnergyAdd (think BotS), EnergyLeech (same but takes from target, only works on Demigods), and EnergyDrain (cross between EnergyLeech and a normal -Energy buff).

 

I can't seem to find my UberFix to-do list, but this covers everything that I added to the google code issues other than the optional Oak/Erebus raise dead re-write (which should be easier to manage with what I learned from doing Absorption).

I'll definitely have a test release by the weekend, and maybe sooner if I can confirm the stability of the shoulder weapon fix.

January 31, 2011 8:50:31 PM from Demigod Forums Demigod Forums

Absorption re-write complete, working 100%.

Nice!

I'll definitely have a test release by the weekend, and maybe sooner if I can confirm the stability of the shoulder weapon fix.

Very nice.  Thanks!

The rook randomly ceasing fire with trebs and tower of light was something that needed looked at. 

Saw where it stopped working exactly watching the replay. I'm level 8 attacking an enemy rook (elmnar). The enemy rook gets pushed back and walks out of range... my trebuchet stops firing. My trebuchet starts firing again the moment I come into contact with elmnar again (10 min or so). Then, when he's out of range again, it stops firing and won't reacquire any targets. I fight 2 enemy dgs and a tower, but treb does not fire again as neither of the dgs I'm fighting is elmnar. Elmnar walks close enough for my treb to acquire and it starts attacking him again.

Elmnar fights for a bit, then tps out. My treb stops firing again. Elmnar comes back into view. My treb attacks him again.

So - what ends the treb only targeting the 1 dg? That dg dying. I noticed that I had 0 deaths and so did elmnar. Once I killed him the trebs were acquiring targets left and right. Its possible that the targeting issue would end if I died as well, but I can't confirm that.

Trigger event. Here's the precise scenario that occurred. Me(rook) vs 3 ai rooks near my tower on cata near cd flag. I hit level 8 while while I'm still near the 3 ai. I kill 2 of the ai, then get trebuchets. This leaves me vs elmnar (ai). My treb starts hitting elmnar and I engage. Elmnar is forced to retreat and walks away into the fog of war (note - elmnar does not tp away, but walks to the crystal). From this point on, until elmnar is killed, my trebucet will ONLY fire at him when he is in range.

Action that ends the event: death of the dg that has been locked on (possibly death of the dg that has the "stuck" trebuchet as well")

Solution: modify trebucet acquisition to believe the target is dead if it is out of los?

edit - hmm... I tried to replicate this in a 1v1 human v human rook game. Starting level 10. Test on cata. Both rooks goto mana flag with trebs engaged. Wait until both rooks are targeting each other with trebs. Walk away. 1 rook stays on mana, the other goes to health. Trebs continued to fire, so couldn't replicate this way. Test 2 - Do not get trebs until both rooks are near each other and will only target each other with trebs. Both players get trebs, the targeting goes as expected. 1 rook backs away. The other rook backs up as well, but close enough to hit creeps. The trebs on both rooks continue to work normally. So, I could not replicate the problem this way.

your response is in reply #100.... also, I swear I saw a list from you as well somewhere for to do items... I don't see it in this thread. 

January 31, 2011 11:39:44 PM from Demigod Forums Demigod Forums

After lots of logging and a half-dozen L20 Rook v Rook games, I've determined that weapon target reliability in this game is pretty terrible.  They added an extra layer of target management on top of what FA used, apparently to take the place of just targeting recon blips, and it's extremely unreliable at detecting when targets are dead, and definitely less consistent than FA's method at detecting proper target ranges (although this part does only seem to affect attached units like the shoulder weapons).  Visibility is no better or worse, that is, weapons still try to target things they can't see, if they saw them once before.

My current fix is waiting 3x ROF delay, and checking whether or not the target is the same as when the weapon last fired.  If not, it does nothing except log a little note.  If the target is the same, then it runs a battery of tests and outputs the results to both the log and the console (the latter shows up at the top of the screen), and then resets the weapon's target.  So with this in place, it should be obvious when it's happening and why, even without checking the log.

What it checks on a stuck target:
- Is destroyed
- Is alive
- Has a blip
- Blip currently visible
- In range
- Too close (if min radius)

This is more so I can narrow down what the problems are, whenever this happens.  One way or another, if the target is stuck, it gets cleared and a console notification issued.

 

For now, I'm going with this format for absorption damage (still in green):
( -138 )

It's fairly easy to tell apart from healing, and it's nice to be able to see the damage done to your shield(s).  It should also show crits in yellow, and if the crit exceeds the shield health, it'll be split between an absorption crit float and a normal crit float.

Absorption Mult affects, previously completely broken, now work as a DamageTakenMult for absorption only.  Since absorption happens before both armor checks and damage-taken checks, this offers mods a way to modify absorption toughness.  It works just like DamageTakenMult except that it's floored at 0.1 (which would result from an -0.9 mult), or 10% damage taken, and of course defaults to 1 / 100%.  No GPG buffs change this, for good reason (it did crazy things).

February 1, 2011 12:47:30 AM from Demigod Forums Demigod Forums

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.

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

 

I.. think we're out of bugs.  At least those that can be fixed by mods (still can't fix Oculus' autoattack failure, minion pathing issues, achievements/connectivity, or QoT attack-move weirdness).  Unless someone knows something that I don't.

Stardock Forums v1.0.0.0    #108436  walnut3   Server Load Time: 00:00:00.0000594   Page Render Time:

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

Copyright ?? 2012 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.