UberFix
The UberFix is a compilation of bugfixes for Demigods version 1.2. The patches incorporated into the modare listed below along with the creator of the patch.
Download:
v1.02
Installer format: www.box.net (Recommended Download)
filesize: 334,609 bytes
MD5 Checksum: 5322667e9be4dbd0fc9cb44823a6dc81
Source Code: www.box.net
Old Versions
v1.01
Installer format: www.box.net
filesize: 322,544 bytes (Downloaded 223 times)
v1.00
Downloaded 178 times
zip format: 16.5 KB v1.00 Mediafire v1.00 Box.net
exe format: 301.2KB v1.00 Box.net
Currently Included Patches
Uberfix 1.02
UberFix 1.01
UberFix 1.00
Current Buglist (Todo list: Verified and replicatable)
Bugs Requiring Research List (requires verification and a reliable replication method)
Current Unfixable Errors (Can't do list)
Current Nonbugs (Feature List)
Bugs Fixed by Previous Official Patches (SD & GPG fixed it list)(not complete, just ones that come up)
Current Potential Additions to the BugFix (Addition list) 1. SkillInfoMod 2. AIMod by Peppe
Current Semi-Active Project Members
Ptarth - guy who does stuff
awuffleablehedgie - guy who finds bugs
UhelligGudn - new guy with lots of energy
Plea to Community
If we want Stardock and Gas Powered Games to increase their support of Demigods, we need to demonstrate our commitment and our willingness to support it. If we want to accomplish anything worthwhile to demonstrate our commitment, we need to work together. If you have time, please consider helping out. Every little bit helps.
frame rate STAYS terrible or just for a few moments?
Pacov: it remains terrible.
I was actually only half joking about the infinite gold glitch There is an issue with how a certain circle of events work out. I'm having a hard time figure out EXACTLY how to reproduce it reliably but I've done it twice so far on accident. I actually was 100% joking before I posted it, but I may be on to something now...
It requires a critical mass of gold on hand (more than 2k) and it's time-consuming and requires certain favor items and demigods. You are also limited to doing it roughly once every 30 seconds. The more cash you have on hand when you begin the cycle the more you will get per cycle (eg, having 5k on hand would get you roughly 3k per cycle. Starting with 2k would only get you about 500). I know what terrible programmer assumption causes the issue, I'm just having difficulty figuring out where exactly it breaks in respect to which actions you take prior.
Alright, turns out I was wrong (which is good!)
I have a replay demonstrating the bug in action, and it is a game-breaker in that if it happens to you it heavily punishes you depending on what happened.
Since you can't see my clicks in replays, here are my steps to reproduce:
1- Select a General
2- Purchase any idol (I've been using siege gunners)
3- Summon the idols
4- Sell them using the cooldown-idol glitch I reported earlier today
5- Wait for 30 seconds for your cooldown timer to expire
6- Resummon idols, watch it "fizzle"
7- Open up the shop menu, and click Trinkets, then Narmoth's Ring. Then Armor and then Banded Armor
8- Right click the Siege Gunner symbol on your dashboard
---
Expected Behavior:
Nothing should happen, you're attempting to sell a non-existent item
Observed Behavior:
You sell your Narmoth's at it's refund value. (or whatever item you first purchased when you opened the shop dialog, if you had existing items already there)
What I thought was happening, initially, was you're selling the item you most recently purchased at the refund value of your idols. This could mean you could resell Scailmail at say, 1800 with Demolishers.
Replay:
http://www.box.net/shared/au3n3ev5kl
Hmmm...
I replicated as Hedgie instructed. I didn't see any error messages in the debug window. However, I think that it works as normal (it just is confused what you are selling).
However, when you sell your favor item in a similar manner, the following error continuous scrolls the debug window:
warning: 00:03:28: Evaluating LazyVar failed: error evaluating lazy variable: ... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua(133): error evaluating lazy variable: ...ardock games\demigod\dgdata.zip\lua\maui\control.lua(37): error evaluating lazy variable: ...ardock games\demigod\dgdata.zip\lua\maui\control.lua(35): circular dependency in lazy evaluation for variable [Set lazyvar.ExtendedErrorMessages for extra trace info] stack traceback: [C]: in function `error' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(21): in function `Bottom' ...ardock games\demigod\dgdata.zip\lua\maui\control.lua(35): in function <...ardock games\demigod\dgdata.zip\lua\maui\control.lua:35> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function `Top' ...ardock games\demigod\dgdata.zip\lua\maui\control.lua(37): in function <...ardock games\demigod\dgdata.zip\lua\maui\control.lua:37> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function `Bottom' ... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua(133): in function <... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua:133> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function <...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua:18> Stack trace from definition: [Set lazyvar.ExtendedErrorMessages for extra trace info] stack traceback: [C]: in function `error' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(37): in function `Top' ...ardock games\demigod\dgdata.zip\lua\maui\control.lua(37): in function <...ardock games\demigod\dgdata.zip\lua\maui\control.lua:37> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function `Bottom' ... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua(133): in function <... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua:133> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function <...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua:18> Stack trace from definition: [Set lazyvar.ExtendedErrorMessages for extra trace info] stack traceback: [C]: in function `error' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(37): in function `Bottom' ... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua(133): in function <... games\demigod\dgdata.zip\lua\maui\layouthelpers.lua:133> [C]: in function `pcall' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(31): in function <...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua:18> Stack trace from definition: [Set lazyvar.ExtendedErrorMessages for extra trace info] stack traceback: [C]: in function `error' ...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua(37): in function <...es\stardock games\demigod\dgdata.zip\lua\lazyvar.lua:18>
Hmm... I remember finding an error message like this a while back and looking into it, but I don't remember what and when. I wonder what it was about. If I'd have to guess I say it is erroring out on trying to access an object that no longer exists.
Also for note: This is a flaw within Demigods 1.20, it isn't due to the UberFix.
I disable all mods when I test things, even UI.
I know that you knew that. I just didn't want people coming in here and saying that the UberFix is broken because glitches things like selling your favor item. I've got a hard enough time hiding my own real mistakes.
had a look into this, you dont even need to buy an item at the shop to cause the favor item to bug, provided you have used the shop on one previous occassion and have purchased something and that your favor item is on cooldown.
Looking into it further but i cant seem to find a direct cause.
A couple of interesting tidbits.
1. I can stop you from selling clickable achievement items with:
local MsgsFailure = import('/lua/ui/game/HUD_msgs_failure.lua').ShowFailureMsg# Can the item specified be sold at the given shop?function CanSellItem( shopper, shop, item ) local syncData = Common.GetSyncData(shopper) if not item or item:GetParent() != shopper then WARN(shopper:GetUnitId(), " tried to sell an item they don't have.") return false elseif item.Blueprint.InventoryType and (item.Blueprint.InventoryType == 'Achievement') then return false end LOG(repr(item)) return trueend
2. Apparently I've lost the ability to replicate the bug that glitches idols while you sell them from the UI. Can someone specify the circumstances that have to occur for you to reproduce it? I thought it was:
I still can reproduce the UI summon icon remaining after you sell the idol during cooldown. However, I can't seem to get the original bug to work now.
3. While I did find out how to prevent you from selling your achievement item. I haven't narrowed down why it even lets you have the option.
4. The tooltip for idols on the UI says you can drop them if you right click on them. This is fixable in tooltip.lua.
Didn't it work that way once? I think it did by design... maybe I'm remembering it wrong (either way, it does work that way now).
And hey - I'd like to use the latest version of uberfix and have you get the fug out of beta, but if you keep adding things... it ain't gonna happen... not that I don't love that you are finding and fixing more things
Fair enough. I'll release the 1.02c as the official 1.02.
atta boy. Danke!
If you want to add more fixes, just make a 1.03 beta version
re: 1.03b
I'm still working on things, no worries about that.
Although I'd still love for others to help write their own fixes.
Did I mention the Uberfix offers a training program?
re:tournament
I wonder if I should have joined and added something like to the following to the 1.02 release
[code]
if unit.Playername == 'Ptarth'
damage = 0
end[/code]
I think it would have been funny.
re:selling idols prevents UI summoning
Still waiting on someone to tell me what I'm doing wrong in replicating this
re: Forces of XXX Control the Map
Still needs to be tested
LMAO It would have been hilarious
So Ptarth, did the Oc Brainstorm Purge make it into official 1.2? Thanks for all your hard work..
Out of pure curiosity, I would like to ask Ptarth a question:
How come you put so much effort and dedication in fixing almost every bug in Demigod? Is it because you like modding/bug-fixing or you just want to make it a better game for everyone that plays DG including yourself?
re: Brainstorm Fix
1.02 has the typo fix for Brainstorm to remove debuffs on the target. I included it in the documentation for 1.00, but apparently didn't implement it. It hadn't occurred to me that there was a problem with the targets for the debuff removal until pacov and Ke5trel pointed it out.
re: Why the UberFix?
A bunch of reasons really. </violins> It gives me a hobby of sorts. I like to code, to debug things, and to make things. I'm a big fan of Chris Taylor, not from his HardBall 3 days, but at least from his Total Annihilation days. I think Demigods got the short end of the stick when it comes to polishing, and it deserves a little better that what it got. BraveSirRobin, Ahnteis, Pawz and Silencer were modders who inspired me with their work with Total Annihilation. I figured I could do something as a tribute. I like the perversity of fixing issues of a game that seems to be mostly abandoned by its creators (but not its NA publisher). I like Stardock. I like Brad's policies on a number of things. I do it because I want my karma to be over 100 and higher than pacov's karma. And lastly, I do it because I want to demonstrate that individuals can make a huge difference in things. One person is enough to do many things. On that note, I still would love for more people to actively help out. Regardless, I'll still keep working in my own slow fashion. </violins>
And you proved so, sir
I was thinking about the tourney. Although I'm fine with the current character selection pool, I still do think that certain combos are weaker than others. I made a small suggestion regarding having a third players act as a spectator who's only purpose would be to purchase regen, XP 1 or Currency for their team. I was wondering how complicated it would be to create a mod that would give a given side citadel upgrades as soon as they became valid (or earlier, even).
Eg, if I have a "DarkSide Regen" mod, then Forces of Darkness begin the game with regen. This might be another way to help diversify character selection and see some of the less common demigod choices appear. Either starting with currency from the beginning of the game or getting it immediately at 3 at no cost to the players might be a significant enough of an incentive to see some of the less-obviously-strong combinations.
Great, thanks!
re:handicap mods
As I understand it, adding handicaps or advantages as you suggest are relatively trivial.
you Son of a...
hehe... beer for you all the same
*flex*
^^
only because Mumblefratz follows you around giving you karma on different forums to inflate your count...
There are many great features available to you once you register, including:
Sign in or Create Account