Don't have the game files infront of me, but there is a globalinit.lua or something close to that with wildcard import loops. Think it said: for *.*_aiblueprint in /units/ import (filename) end I believe this is where the bulk of the lua/blueprints get loaded. When you say ' destructive replacement of the entire file' does that mean you just refenced the key and overwrote the original with your ve
Peppe
One of the first things to do for any language is find a good editor. Color coding the different pieces of the language is very helpful. Notepad ++ has a text highlighting set for LUA, and someone posted a version of Notepad++ in this forum that handles some of the LUA customizations Gas Powered Games made for thier implimentaiton of LUA. If you are interested in programming outside of LUA modding it may help to pick an easy language to learn and run
[quote]While I was playing around in this game I noticed all AI controlled demigods half way through the game stop doing anything. http://www.gamereplays.org/demigod/replays.php?game=51&tab=upcoming&show=details&id=102922[/quote] Tried to watch with various version of my mod, but got gamestate error. Did your gamelog show any errors? Usaully if there is an error like that it happens at the start and I find
The capture goal is in \Skirmish_AI\hook\lua\sim\AI\Heroes\Goals\AdvanceGoals.lua. HeroAIGoalTemplates.CaptureFlag = { Name = 'CaptureFlag', BaseInsistence = 0, IncreasePerSecond = .5, } For testing you can set the base high, but there is a bug in the item shopping on somemaps where the AI won't shop if it is out of range of the shop at the start (fixed by setting shoppin
@ abuggeredhedgie Some of that logic could be added to the priorityfunctions in AIglobals.lua. Its jsut a matter of finding the variables syntax to reference the enemy warscore/warrank and doing a simple if statement like: if enemy warscore > ally warscore then return X priority
Don't have a lot of time this week, but was just poking around the code. The code to handle a player leaving is here: \lua\AIBrain.lua line 141 AbandonedByPlayer = function(self) local stronghold = self:GetStronghold() self:Alert(stronghold, 'PlayerLeft') print(LOCF('<LO
You can manually assign the keys over the camera keys by editing them directly in the game.prefs file. WASD example: UserKeyMap = { F1 = 'show_skills', ['1'] = 'control_minions_all', &n
morpheas768, if uninstall alone doesn't work go to %appdata% and blow away the notepad ++ folder there as well.
.12 up with some rough changes. Normally i would test more on my end before pushing this out, but it might be the last build for a few days. There is some built in targeting functions in AIutilities (that file added to mod). The default attacks select the weakest non fleeing hero in range (was weapon range by default). I've increased that range by adding a fixed amount, so heroes in the area should pick the same target. I don't know h
What do you think the AI needs to survive better or should that be a priority? Increasing the survival goal makes it chicken :P I had noticed it uses health potions well, so In my local build i will bump up big health potions and try to get it to carry those. Early game it has a gold advantage to buy most of the best stuff, so it makes sense it was able to push you around for a short while. For UB i believe after spending 4k it will hav
[quote who="Ahiodsohi" reply="24" id="2458355"] As an offline-only DG player I want the AI for the Rook rewritten so that I can actually use him in games. As an offline-only DG player I want the AI in general rewritten so that I don't have to either face or be on an entire team of feeders every single time I play. As a DG player I want SD and GPG to man up and admit to me to that they don't care and won't implement any of these suggestions so that I can stop w
.11 out. Comments added to demigod AI templates. UB template was not being applied (fails over to original game template). Fixed by assigning my template correctly (UnitAITemplate changed to UnitAITemplates).
pacov your testing has been very helpful. Same for myles. On a player dropping. We will need to confirm if it plays on using 'random' weighted skill selection (vs picking a build). With that I may need to write a section to handle item chioce when skills are randomly weighted. Right now th
.10 is up Code cleaned up thaks to bman. Blade of Serpant achievement item conditions for activation modified Goals modified somewhat to see what impact it has on the game. Hope for more flag capping and moving as a team. Alternate builds put in for most demigods. Sedna, DA, OC, and Erebus have a single build.
Thanks BMAN this is my first time using LUA, so this is great stuff. I think you have just opened the door to easy modding of the AI actions, goals, and all that. I did not even think they were variables i could overwrite in my own hooked files. Do I need to clear the templates before i replace them? This appears to be working, so i don't think so: For my characters i changed my file from: UnitAITemplate { &n
Item counting appears tied to a given unit. There might be a way to look at each unit on a team and count thier idols and adjust the priority of the priest idol based on the result, but it would be a good amount of custom code. I'll probably save that for sometime later unless its critical.
Use pacov. I recommend downloading notepad ++ it will color code the file for you making it easier to read. -- means ignore this line (commented out). The 3 builds for UB that came with the game I commented out. So the only active one is my build named 'ooze_speed_stats' SkillBuilds = { builds } is a table cotnaining all the builds this hero can use. The game randomly selects a build at the start of the g
Thanks myles. I'll remove Hungarian. What is a good priority on idols? I have minitour 4 at 15. Rest 0 (never buy) Archer 4 at 15. Rest 0 (never buy) Priest 1 10, priest 4. 20 rest 0 (never buy). Idols are weighted against items as well. For most builds scale helm and banded armor are in the 10-20 range. Also most consumables are ~10. Maybe priest 1 bump to 15? If it has the cash it will probab
Link fixed. .09 posted: Default shop priority added to force AI to shop at start. Rook has a second build added. Now has hammer+boulder and tower spam build. I was in the middle of the rook build, but it was functional, so I left it in. Since i have a goal override in for item purchasing I will probably see what some other goal overrides due to the AI macro game.
Well i have a little hack that seems to be working. There is a file called HeroAIGoal.lua in (lua\sim\AI). It is very simple file that creates the goals for each instance of the AI brain (each hero gets its own brain). The default purchase items goal has 0 priority (looks like almost all goals start at zero). Some goals increment on thier own, and some actions reduce goals. So the AI may have a goal of capping flags that grows every second of the
Pacov. I started up a 2v1 game and have you noticed if its always the AI that starts farthest away from the shop that doesn't buy? I wonder if this is a map thing. On Cataract the start locations 4 of the 5 are in range of the shop at the start. With every team size, a player always starts in the spot not near the shop. I'll see if i can find where this is intitialized and maybe send that AI to the shop or tell it to look for a shop in a wider radius. </
With nightmare i think teamates start with the same cash they would as enemies. Thanks both for the testing it is a very time consuming task and hard for me to code and do detailed play testing. I havn't closely monitored how the AI uses the skill, but QoT and TB both need to change forms a lot. The builds i picked for them use both sides of thier trees. I've never played either, so wasn't able to tell if they switched less often than a player
I had another thought on the selling loop. The default values on some potions around 1-5 depending on how many the AI has: # Robust Health Potion # Use: Heal 3000 health. Item_Large_Health_Potion = { MaxPurchase = 1, SellPriority = 3, PriorityFuncti
I put a health min back on sigil, so it should be out of most early game purchases at most difficulty levels. I think nightmare could get to 4000 health at level 1, so some AI's may buy it. I did a series of test games and if they are not rushing a flag most start banded armor + TP 1-2 + 0-1 potion. Normal AI with 1000 cash start.
Myles, what difficulty did you test at? Wondering if starting cash is low if it takes the cheap items.