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.
In the interests of reducing the amount of vigorous debate displayed in this thread, I've created another thread to discuss the Poison Blood Potion and Ooze issues. If everyone could take the discussion there, I think it would be for the best. This way we would also get more publicity for things as many people don't visit the modding forum.
Current Progress: Monks stuck in citadels
So, I've been toying around with the monks getting stuck in citadels glitch. I think I have some things that may reduce or prevent it from occuring. The problem is that it does change how monks move. If I post a test patch is there someone out there with extensive monk observation skills who can tell me how much differently they behavior. I'm trying to keep this from being a balance change instead of a bugfix.
I saw the post that found that giants could get stuck in citadels. Is there any evidence that other units can get stuck?
Re: Current GPG bugfixing effort
I sent off a communication to GPG who told me that Stardock is the one that controls communications. I then forwarded my request to Stardock last Friday. I haven't heard anything back yet. After the announcement of the 1.3 patch yesterday, an unspecified number of bugs have been patched and are into QA at Stardock. I'm going to slack off on working on anything until they release it to the public or I get a hold of any prerelease information. I'm hopeful that they will put all of the UberFix patches into the mainline install.
Still no work from Stardock it seems? Feels a tad silly continuing work on uberfix until we know what will be resolved for us.
Indeed - slacking off appears to be the logical decision until we have any idea what they've done.
re: 1.3 Patch
Frogboy posted the patch notes for the 1.3 patch. It has some good stuff in it. Given how long it took, I'm guessing that things are really busy at Stardock. They seem to be doing all the QA in house and without public awareness. It is too bad they won't let us help out, but given how the community has attacked them in the past for things, not too surprising.
I've been trying to understand how the bugs to be fixed were selected, but I'm not coming up with very much insight. The best idea I have is that they all correspond to the buglist Frogboy posted.
Where does that leave us?
Well, once we get a copy of the patch, we can remove the redundant patches from the UberFix. If we want to get more patches in, we may have to create more detail bug reports for them to add to the official ones. Otherwise, back to the buglist we have.
I also posted the following in the 1.3 thread. I'd like to get more active contributors to the project.
New patches are always so exciting. I can't wait to see the changes to the lua. I'm really curious how some of these were implemented, either in the lua or in the engine. I also add my vote to be happy about the patches.
However, given my interest in the lua, I'm going to make some comments and observations about them. Again, I'm really excited about this patch so please don't use me as an excuse to start flaming. I'm also hoping I can increase modding interest in Demigod since it is so straightforward to work with.
All in all a very interesting start for the new patches. I'm looking forward to removing all of the new fixes from the UberFix with the next release. Also, if the UberFixers can be of any service to GPG and SD in making these patches happen, please contact us.
I now have a dedicated 24 hour server machine. Me and my roommate are sharing it, and it will be mostly used for torrenting, however I have convinced him to let me deploy JiRA on it and use it for this project. It's way faster than my PS3 which suffered from overly long page loads and took 30 minutes to start Tomcat...
Seems odd that they wouldn't at least include all of the Uberfix's I mean the work is essentially done already. I guess they had reason not to or they would have.
There are a bunch of feasible reasons.
re: hedgie
So, what's the plan?
I'll transfer over bugs onto my Jira and expose the port (8080) once it's all setup. For the most part, my roommate has to set everything up since he is the sudoer. I'm going to investigate if we can link up Jira with SVN like how I have it at work with CVS, so we can tell exactly what lines of code fixed a given bug.
I still think that distributing Uberfix as a mod in the mod folder would get past a lot of legal. They don't have to worry about it being legal or protected, you can distribute it "as is", especially if it is given the proper license (allow commercial). Then they don't have to spend time Q&A'ing it either. Either it works, or it doesn't, but at least the entire playerbase has the code.
omg I like this idea
2 quick questions
1. I assume I'd only have to download the 1.2 version to get all the fixes listed in the older versions or do I need to download all 3?
2. I assume I can activate and deactivate this in the 'Mod Manager' so can still play with the majority of players not using this?
1. Yep. The 1.2 contains all of the fixes from the previous versions.
2. Yep. The mod manager completely controls it.
So I've been working on the QoT Balance mod while the 1.3 goes through QA and I started examining Compost. It is... probably not working correctly.
Compost has three ranks. The tooltip is not very precise, although does provide the basis of understanding what Compost does.
As nearby enemies die, their bodies nourish Queen of Thorns. For every 3 enemies killed, Uproot increases in damage. Her Shamblers gain Weapon Damage and Health. The effects cap at 9 enemies killed, and the effects diminish over time.
Direct examination of the code provides better description.
There are 6 levels of the Compost Buff. It takes 3 kills to advance a rank, and your kill count maxes at 9. Every 7 seconds you lose one kill. To get your buff level, you add your kills plus 1, divide by three and add your compost rank. In addition the icons for the buff weren't fully filled out, so all buff levels above 2 get the same buff icon.
What you might expect then is with three levels into compost and 9 kills you would get the rank 6 buff. This is not what happens.
The following data is from Demigod and characterizes the behaviors of Compost.
Compost Buff Level is the effective buff that the QoT and Shamblers Receive. It ranges from 0 (absent) to 6 (max).
CompostLevel is the Number of levels received from kills. It is effectively (Kills + 1) / 3 (rounded down)
CompostRank is the Rank the number of Ranks in Compost the QoT has. It ranges from 0 (Rank 1 Compost) to 2 (Rank 3 Compost)
Kills is the number of enemies that have died within rank of the QoT (some weirdness exists with how this is done, but I'm ignore that for now). It ranges from 0 to 9.
First the log for what happens with Rank 1 Compost.
info: 00:03:29: Compost Buff Level: 3 CompostLevel :3 CompostRank: 0 Kills: 9info: 00:03:36: Compost Buff Level: 3 CompostLevel :3 CompostRank: 0 Kills: 8info: 00:03:44: Compost Buff Level: 2 CompostLevel :2 CompostRank: 0 Kills: 7info: 00:03:51: Compost Buff Level: 2 CompostLevel :2 CompostRank: 0 Kills: 6info: 00:03:58: Compost Buff Level: 2 CompostLevel :2 CompostRank: 0 Kills: 5info: 00:04:06: Compost Buff Level: 1 CompostLevel :1 CompostRank: 0 Kills: 4info: 00:04:13: Compost Buff Level: 1 CompostLevel :1 CompostRank: 0 Kills: 3info: 00:04:20: Compost Buff Level: 1 CompostLevel :1 CompostRank: 0 Kills: 2info: 00:04:27: Compost Buff Level: 0 CompostLevel :0 CompostRank: 0 Kills: 1info: 00:04:34: Compost Buff Level: 0 CompostLevel :0 CompostRank: 0 Kills: 0
The way the calculations were made might be odd, but the end result is more/less as expected. With 0 kills the QoT receives no bonus. With 9 kills the QoT receives the Level 3 Buff. Arguments can be made about the number of kills required, but that's another discussion.
Now the log for Rank 3 Compost.
info: 00:06:28: Compost Buff Level: 5 CompostLevel :3 CompostRank: 2 Kills: 9info: 00:06:28: Compost Buff Level: 5 CompostLevel :3 CompostRank: 2 Kills: 8info: 00:06:34: Compost Buff Level: 4 CompostLevel :2 CompostRank: 2 Kills: 7info: 00:06:42: Compost Buff Level: 4 CompostLevel :2 CompostRank: 2 Kills: 6info: 00:06:49: Compost Buff Level: 4 CompostLevel :2 CompostRank: 2 Kills: 5info: 00:06:57: Compost Buff Level: 3 CompostLevel :1 CompostRank: 2 Kills: 4info: 00:07:04: Compost Buff Level: 3 CompostLevel :1 CompostRank: 2 Kills: 3info: 00:07:12: Compost Buff Level: 3 CompostLevel :1 CompostRank: 2 Kills: 2info: 00:07:19: Compost Buff Level: 2 CompostLevel :0 CompostRank: 2 Kills: 1info: 00:07:27: Compost Buff Level: 2 CompostLevel :0 CompostRank: 2 Kills: 0
The important part is that Rank 6 is never achieved.
So, I believe this is flawed and should be fixed. However, I've heard rumors that I'm making crazy balance changes so I thought I'd get some audience participation. (Also please ignore the argument that Compost is a useless skill and whatever ends up happening won't matter anyway.)
Should rank 6 of compost ever happen? Is it just a leftover piece of code?
If it should be fixed, how?
Also, I made some icons to show the current correct rank of the Compost buff and I'm including those.
Another issue:
I find the UB Ooze On/Off buttons to be too similar. Would changing them to be more obvious be within the range of a Bugfix or not?
So I'm not completely crazy. I'm also pretty sure I don't have colorblindness (not dichromat nor trichromat am I). I do have a relatively small screen and play at a fair distance from the screen.
Here is the original graphics with context.
Here are some enhancements.
Something like a slightly less neon version of the top-right would be an improvement. A bit more green than the original, but not quite that much.
As an aside, is there a post somewhere with good debug mode / cheat info specific to Demigod? I have no idea how to do things like set demigod levels, add abilities, etc from the console. Or, ah, even how to get a console. Is there one? I'm rather used to SCFA, so I know my way around the lua, but the in-game debug capabilities seem to be quite different.
To my knowledge they removed the console in one of the post release versions. I read some discussions about it when I first started looking into demigods, but I can't find it again. It might be in Sorian's posts on another forum (I don't recall). I keep running across various references, but nothing that I can trace back to actually getting it to work, so I think it might be the case.
My way of doing these sorts of things is unfortunately very crude. I've directly access the blueprints and functions and then hit Ctrl-F10 to reload the game. I know, I'm a savage.
I don't have an organized list of information, but here is my roughly organized reminder notepad.
Command line toggles that are useful:
/skipintro /debugger /windowed 1024 768
Code - Demigod debug mode cheat (doesn't work anymore)To Enable Cheats Open the Game.prefs file with Notepad. This file is located in My DocumentsMy GamesGas Powered GamesDemigod. Add the following lines to the beginning of the file (above the 'profile = {'): debug = { enable_debug_facilities = true } (do it without space from the profile) Save the file, right click and choose properties. Tick READ ONLY box You may now use any of the following cheat commands while playing skirmish or tournament mode. The Enemy may or may not have the cheat effect when enabledCode: Effect:CTRL+ALT+B 999.999 Gold (1Million)CTRL+SHIFT+C Copy Unit / StructureMinus Decrease game speedALT+N God ModePlus Increase game speedALT+F Instant level up to 20CTRL+K Kill selected unitCTRL+SHIFT+V Paste Unit / StructureCTRL+ALT+Z Reveal MapALT+F2 Spawn any unitALT+T Teleport selected unitALT+A Toggle Opponent AI (untested)ALT+V Wireframe mode
I guess they annihilated the console in both DG and SC2. That's harsh.
I'd be happy to help you convert the Uberfix to use hooking wherever possible. My free time is hit-or-miss, but I can do a chunk at a time here and there. Might just want to post on the Google Code wiki which section of the mod you're currently converting / planning to convert, and I'll work around that, and upload my results somewhere.
I've been meaning to setup the cvs and whatnot on it. Hedgie was getting somewhere with his own setup, but I'm not sure where he has gotten. If you want to do that, you are welcome to start it .
Also, do you need/want more access to the google code site? If so send me or hedgie your account name and we can set you up.
I've not updated any of the files for compatible hooking. I've been working on the qot mod and trying to reorganize the bugs. So if you want to start, do so and just give me a heads up on how far you get.
I just attached a fix for issue 10 on the google code site - that's my account name.
The only visible difference it makes in 1.2 is QoT's attack time and DPS display, but it can support changing other aspects of QoT/TB's weapons separately in a balance mod.
I'm not sure that the method I used to remove the callback for SCREEN_hero.lua:CreateMini.mini.Update is actually successfully removing it. I forgot to repr the OnBeat callbacks to see if it was still in there. It correctly changes the display of the mini-stats window, but that may just be because my new/hooked version is being called after the original, which would mean that there may be a bit of useless work being done every sync beat.
Edit: Speaking of useless work every beat, I threw a log message into both Update()s, and the mini.Update() was running every beat whether or not the shop display was open or not. Maybe there's a reason for this, but the main inventory Update() uses an OnFrame callback, and only runs when the screen is actually open. I don't know enough about moho UI to understand why there's a difference here, or if anything can be done about it (or if it would even make an appreciable difference in performance - probably not).
I hate the way they did a lot of moho engine UI code - functions defining other functions that are then added to callbacks, preventing the callback versions from being directly modified. They can be hooked, but you have to hook the function that's creating them and cross your fingers that it returns the table containing the function that you want to change. And then you have to remove the old callback (again, if you can - I didn't confirm that) and add a new one. Agghhh.
Just a quick update-- we're still picking away at a few of the leftover issues that DG 1.3 didn't solve, and there should be a 1.3-compatible Uberfix update eventually.
Modders who want their mod to remain compatible with future versions of Demigod patches and the Uberfix should start looking into non-destructive methods for altering blueprints, functions, etc. It's not hard at all - I posted a few methods for doing this in Exxentric's how-to-add-items thread, but if you have further questions, feel free to post them here, in that thread, or in a new thread.
Symbol of Purity can be used to cure Silence. This is a bug, since you can use it while Misted as well and that's just silly :#
Ptarth and I have already discussed this privately.
You're saying it removes the Mist silencing? That doesn't really make sense - the Mist silence has Debuff = false, and should not be getting canceled by the HSoP ability-- which, like Mist, uses RemoveBuffsByDebuff(self, true), which only removes buffs that have Debuff set to true.
There's even a second check in RemoveBuffsByDebuff that looks for CanBeDispelled == true, which should also prevent Mist silence from being canceled by the HSoP.
There are many great features available to you once you register, including:
Sign in or Create Account