Got some time to work in this last night, and a bit this morning. I could only test it with bots, which have very different rules regarding nicknames, chat, etc and I had to modify a lot of conditions to make the bot squelching and list management work. So, I don't know if it works with actual human players, but this version has all of the right conditions in, so it should. If it isn't obvious from the code or the comments, this does a whole lot more than what you
miriyaka
Like I said in your PM, it should be easy enough to modify the squelch system to save to and load from preferences. I'll take another look at the preferences system, and see what I can come up with. Until then, I'm willing to help, but I'd really prefer to help you learn to use non-destructive hooking first, as it's very advantageous and fairly simple. I'd much rather fix and explain a failed attempt at a hook than have to re-write all of someone else&#
Float text on unit gold/xp events is certainly doable, even easy - but I'm not sure if you can create new colors, or only use the ones available. There is an unused purple IIRC, but that's the only one. Edit: [quote who="OMG_pacov" reply="15" id="2950142"]edit - i should just read your posts in their entirety, eh. Guess you already answered this one, miri![/quote] The formula is two pieces - the first half in /lua/sim/conquest.lua, lines 1101 (kill) and 1
It does not show actual bounty. It's a buff value, a multiplier that is always at 1 for all players, including AI. It does not reflect the demigod's level and does not show the amount of gold killing that demigod will net. It would be pretty simple to copy the same formula the sim uses to actually calculate bounty, replacing the unit variables with sync variables. Of course, this would only work for self and teammates, and is probably not worth includin
Extending the rollover display to include some extra info wouldn't be too difficult. That would be the best way to show teammate stats. You'd need to keep things pretty minimal for readability anyway; nobody wants to have to sift through irrelevant teammate stats to see the few things that matter, like damage, ROF, speed, etc. You can already infer a lot of these stats from equipment and character choice, of course. Expanding the two inventory stat displays (
Most of what you requested is not really possible. The best you could do is switch armies, but it requires cheats enabled, is extremely buggy and laggy, and the AI does not deactivate when you switch to its army. And if you can switch to an AI army, you can switch to an enemy army, and easily do all sorts of other cheating things to the point where the rules would no longer matter. Nevermind that this would require a lot of work, and that time and energy (that nobody left
Whoops, I missed that. Obviously I typed it out by hand and didn't test it. Sometimes it pays to copy bits and pieces of the original, and reduce it down to what you need, as it eliminates these kinds of errors.
If you want help learning to write hooked / non-destructive code, or help hooking any individual files or functions, I'll be glad to assist with that - but I don't have any interest in digging through entire files to find changes. At the very least, always leave tagged comments next to all of your changes, so that it's easy to find them (e.g. --pacov: etc etc). Since I know what to look for in this particular instance, I'll write a hook for it for demonstration p
For an installer, a warning wouldn't really be enough. For a direct mod download, maybe, but then you run into the problem of how to allow the mod author to update his/her mod so that the game directs to the latest version? That would require a large enough update to the game (and enough QA time) that they may as well just include the fixes directly, which is a much better solution for everyone involved. Regardless of how the game is patched, it will require money.&nbs
Is this with just the original mod on, or with the combined Enhanced UI on? I.e. have you narrowed it down to this mod with 100% certainty? Because this mod should not affect the rest of the demigod panel at all - the only reason those little bits of frame were there for me is because the bar display object overlaps them, and its OnUpdate callback (this OnHeroChange function) was apparently not doing a proper Hide().
What? That works fine for me. Always displays the text when you're viewing from a specific player's POV as well. What part of the UI blanks out? You realize that with 'Observer' selected in the player dropdown, there's no demigod-specific UI at all, right? In fact, I just tested this with the original code (from the Enhanced UI in your last mod pack), and I'm not seeing any visual problems at all, and the bar displays just fine, and th
[quote who="awuffleablehedgie" reply="5" id="2947813"]you could have it based on flag count. Eg, if you own ALL the flags, damage-reflect is reduced to 0. If you have ZERO flags, you take full damage-reflect. If you're halfway, you take half-damage. The 10% damage modifier makes spirit-rushing barely viable, but you don't want to punish Oak teams that are having "Citadel zerg rush". Eg, one 'winning' team has most of the map + enemy portals, then the 'losi
We've already discussed the problems with adding user-created mods as direct downloads or updates in various other threads. Either you allow the mod authors to update their mods, and open everyone up to potential exploitation via official channels (it's one thing to download a malicious mod/installer of your own volition, but having it hand-delivered via the game interface is a PR disaster waiting to happen) or you don't, and the mod authors can't update their mods, and
That's doable, I guess. Hook WELevelUp in conquest.lua, and at WR10, set a sync value on the enemy citadel that lifts the return damage, and sets its armor back to Structure. At that point though, you may as well implement some kind of minor game mode change where the citadel always does return damage to everything and/or has damage reduction until certain conditions are met (e.g. towers destroyed, flag control, enemy WR level, or decreasing levels of damage return based on
How does it break? Does it just make the health/mana bars not show up? There's no incorrect use of GetFocusArmy, either in the hook or in the original, but it's possible that the hero unit isn't being passed to OnHeroChange, as the hook does no check for hero. Replace the OnHeroChange function with this:[code="c++"]function OnHeroChange(unit) OriginalOnHeroChange(unit) --Make sure hero and text are available &n
I've found it much more worthwhile for the Yetis to have higher HP, armor, and regen (+5 per level or so, about doubling the amount you can get from items) than super-high damage, otherwise you're just replacing them non-stop and don't have any mana for heal, pounce, etc, AND they aren't doing as much damage as they would be if they only did ~60dps apiece but actually lived for more than 10 seconds against giants and catapults or towers. I'd rather have to cast an oc
Sorry, but comparing Shambler and Yeti health at max skill/item loadout has little or no reflection on each unit's real-world effectiveness. In practice, Yetis take way, way, way more damage than Shamblers, especially non-armorimmune damage (towers, high-level creeps, etc). Sedna's minion regeneration bonuses are already pretty pointless at stock Yeti health, but increasing their health more without touching their armor makes them utterly non-existent, especially late game
There are other options available, if you want to get a bit more complicated. It wouldn't be too difficult to add a small damage return to the citadels that only affects spirits. Hook /lua/sim/SpireUnit.lua with something like this:[code="c++"]--Hook to enable Citadel damage return against Spirits local prevClass = SpireUnit SpireUnit = Class(prevClass) { OnCreate = function(self) prevClass.OnC
Yes, it's the last thing on my list to get done - now in addition to the nightwalker fix, which is about 3 lines of code. The problem is that it'll take a lot of work, testing, and experimentation, and I haven't had the time or motivation to start on it. It should happen eventually, but I'm making no promises as to when.
Mines do have hitpoints. All units have hitpoints, including many invincible units such as walls, trebuchets, portals, gold mines, etc. Some of these cannot be hovered over at all because they have the BENIGN category (e.g. walls), but most of them can be hovered over for information purposes (e.g. to see what level a ward is at, or who owns a captureable structure). However, as in all GPG games, units with UNTARGETABLE and NOSPLASHDAMAGE categories are intended to be abso
Out of curiosity, can Nightwalkers be used like this as well? I realize that they don't have the same mobility, nor the persistent, non-present creation via totem that spirits have, but they're still really plentiful as long as Erebus is anywhere near a lane, and they have more hitpoints. I suppose the towers snipe them before they can get to the citadel? Also, what's this about only Nightwalkers being able to attack wards? That's not intended, and is
Adding a dynamic item slot is probably possible, but you'd have to modify a lot of code to get it to work. Every bit of the current shop, inventory, and UI code assumes a set number of item slots, set locations in the interface, and these assumptions are duplicated in quite a few places.
Range-based damage on any reasonable timer (more than 0.5s between checks and it's useless) would add a lot of sim work, and significantly increase the game's CPU load. It could certainly be done, but it would be complicated and would have notable performance consequences in general-heavy games. Additionally, because minions have both blueprint-specified damage and damagerating damage (from items, Morale, etc), there's no clean way to vary their damage that
Hook /lua/common/ArmorTypes.lua with this:[code="c++"]---Copy Structure armor type to Citadel ArmorTypes.Citadel = table.copy(ArmorTypes.Structure) --Reduce spirit damage to Citadel ArmorTypes.Citadel.Spirit = 0.25 --Optionally reduce spirit damage vs non-Citadel structures ArmorTypes.Structure.Spirit = 0.5[/code]..and then create a mod_units.bp in the mod's root folder that does something like this:[code="c++"]--Switch citadels to new Citadel armortype UnitB
Well, you can see the log message at the top that tells you roughly how far it's getting before it runs into the error. I don't have that code saved, and pastebin is down at the moment, so I can't tell you what the problem is exactly, but it's obviously a bad functioncall. It may be that Demigod's lua version isn't 5.1 (it may be 5.01, whoops), and there is no string.match. If this is the case, it's possible to use string.gsub to do the same thi