Jump to content


WFG Programming Team
  • Content count

  • Joined

  • Last visited

  • Days Won


leper last won the day on October 4

leper had the most liked content!

Community Reputation

810 Excellent


About leper

  • Rank
    Primus Pilus

Profile Information

  • Gender
  1. That might be a limitation of the AI as for everyone but the GUI (which should just display the visible classes) there is no distinction between Classes and VisibleClasses.
  2. Maybe all of them. The classes the actual templates have might be somewhat inconsistent, check the files if you want more detailed information. I don't expect a lot of unification to happen there since number of devs caring about that decreased recently.
  3. See the function comment for MatchesClassList. Also do not use the "hybrid" thing that is broken and inconsistent and is going to be removed (see D869 and related discussions).
  4. You could probably use the special filter to add a class (Foundation) to the foundation, then change the aura to not apply to entities that have the Foundation class (+!Foundation for each entry or something).
  5. So the ruins are to be gathered while under construction? Or only when fully constructed? And they should decay while under construction, or only once fully constructed? For just removing the spawning while that thing is a foundation is to modify the special/filter/formation template to disable SpawnEntityOnDeath. Add the following to the <Health> tag: <SpawnEntityOnDeath disable=""/>. That way no foundation (so this is not limited to this specific template, but to all) will spawn an entity on death. If that is what you want I cannot tell. Auras stack if you make them stackable.
  6. Yes, look at some buildings for how this is done. For the most part (unless it is about moving, or anything tied to UnitAI) there is no difference between units and buildings.
  7. Accuracy graphs for ranged units

    When anyone talks about something decimal in the simulation, which for reasons of being shorter and people being lazy and everyone knowing better (at least I hope the last one is true), they mean fixed point. That's the reason why we have cross-platform (or actually same-platform in some cases) multiplayer and a reproducible simulation which is quite important. As for float getting messed up, well only if you decide that you like NaNs, apart from that the remaining issues are some platform specific functions, actually used internal precision for floating point operations, and rounding modes, most of which one can work around, which is partially done by JS itself and implementations adhering to it, or us taking some care to fix the other parts (the first paragraph is about the C++ part of the simulation, though for what we use floats in the JS simulation they should be considered equivalent to fixed point). So yes, internally (simulation that is, though I think the rounding is only done in the GUI, as opposed to the simulation side that provides those values to it) health is a floating point value.
  8. Localization of the game 0 AD

    Actual translation discussions (per language that is) mostly happen on transifex itself. And that is where you should coordinate with other translators (if there are any that are active). The source files are updated about twice a week, so if there are changes to them those will show up on transifex. If you decide to work offline for that whole time instead of regularly uploading then you will be confronted with having done pointless work that might not apply anymore. Upload your changes regularly if you prefer a proper local tool over transifex' ever changing interface, at one point I think they had a feature to "lock" a translation so others are notified that you are working on that currently, but that was more of a note to other that they shouldn't change that one resource only. So we cannot stop updating the source files, and you should not assume that they aren't going to be changed by other translators. The closer you stay to what is the current state in transifex, the easier working on the translation will be. Sharing the work is part of what this whole open source/free software thing is about, and doing so early as opposed to having one huge drop in the end helps when you might have to interact with others. That said this sounds like a very nice project, so welcome and have fun!
  9. Debian Stretch and 0ad 0.22

    As one can see from the links fatherbushido posted earlier A22 is in unstable. If you want updated packages running Debian Stable is most likely not the best choice, if that doesn't satisfy you get in contact with the package maintainers, or build things from source.
  10. Trolling on Facebook

    Then only play against "Medium" level AIs. Or read the descriptions of the higher levels. Part of non C&C/SC/WC-style (read: mostly AoE-style) maps is that they aren't perfectly symmetrical, adapt to that, or play maps that are. One civ does not mean that every map is symmetrical, I'm not even sure if that applies to random maps. Making RMS symmetrical should be relatively easy, if those maps are actually fun to play is something else. I however think that having the option of playing a map that is perfectly symmetrical is better than forcing everyone to play those maps. We aren't taking care to make this game easy to mod because we think that we know best, we are doing so because we think that we might have a few sound ideas, but not everyone needs to agree with those, so if they don't they can just do some work and show us that we were wrong. We don't claim to be infallible, and if someone can actually show that we are wrong in some aspect and is nice about the whole thing because they also care about this project we are very likely to listen to that advice. So to be slightly more concise, purely symmetrical maps for ranked multiplayer might very well be something a few people on the team might care about. So if someone wants to see that happening they should submit some of those maps.
  11. See Health's SpawnEntityOnDeath as documented in the entity XML documentation. You will most likely also have to change the death type (to vanish). Depending on what you spawn you might want to prefix the template name with resource|. To find out what that does read the special/filter/resource.xml file in addition to the CParamNode documentation. Or in case you don't want to read that much on how it works behind the scenes just look at the resource filter template listed above, and eg the sheep template, and compare that to a tree template. Depending on what you want you should pick either something similar to the sheep template, or something like a tree template.
  12. 0abc mod

    They aren't compressed, they are however packed into one file. That helps with actually loading from disk and might very well help with loading times.
  13. Hyrule Conquest

    File loading order is alphabetical, a mod can just add a few files to actually extend the AI. As you have to add some code to make the AI do what you want, you can just add that to the AI. I suspect patches to make some parts easier to configure for mods are very likely to be accepted.
  14. Hyrule Conquest

    No. You just have to pass that setting like all other gameAttributes. Nomad for most maps is probably going to happen for RMS, for Skirmish maps that is already unlikely, and Scenario maps are either nomad or aren't. Why do mods need a specific init? So far everything has worked without one and there hasn't been any good reason to add something that isn't needed.
  15. 0abc mod

    Might be caused by how the AI currently handles template loading. In A22 it loads all of them at the start, so that does slow things down. It still does that in SVN, but some work to enable us to move away from that behaviour has been done. However it seems the contributor working on that has been busy. As I haven't looked at any of those mods in any detail take this with a grain of salt. As long as the New Horse mod does not change any templates (because only the actor files change), and your mod does not change any of the horse actors, and both of the mods have dependencies specified correctly such that they depend on 0ad, then there shouldn't be any need for manually ordering them in any specific way. Just because something works a certain way right now does not mean it cannot be a bug. Same as eg the AI not serializing/deserializing properly is considered a bug.