Jump to content


Community Members
  • Posts

  • Joined

  • Last visited

Everything posted by azayrahmad

  1. I'm wondering if some kind of trick can be used to make man-made looking bridge as terrain in Atlas?
  2. I'd argue that they are complimenting each other. Batch training has gameplay impact though, while auto queue simply let you focus on other things beside 'always creating citizen' micro.
  3. Regarding the historical background, I found a relevant article from WorldHistory.com (previously Ancient.eu). Excerpts: So I guess this mod is pretty spot-on, at least according to the article. I think I just got an idea on elephant morale for my mod...
  4. A preview of Morale System on Gaul (me) vs Rome (AI) swordsmen fight. 0AD 24b. Due to UnitAI that makes units in formation break formation while attacking, manual interventions are needed to ensure the Gaul swordsmen to stay in formation.
  5. Great adaptation, @maroder! Perhaps create a new class e.g. Habituated. Or add Basic class to the aura so advance /elite units are not affected. As to @faction02's concern, I think it could be mitigated by tweaking the aura range, i.e. should be within elephant's attack range so fleeing enemies can still be killed.
  6. I never did it before, but I'm going to try. I think this patch has different purpose than my proposed mod, perhaps I'll try combining it both in another patch.
  7. Darn it I knew I must not be the only one trying to implement this feature here. I searched for 'queue' and 'auto queue' in this forum and found nothing relevant. To answer @seeh's question, yes it is the exact same functionally. The only difference beside the name is that autociv uses hotkey and my proposed mod uses button. I think I'm going to add hotkey to my mod.
  8. Auto-Queue is an ability of a building to loop through production queue indefinitely as long as resources and population limits permit it. So instead of training units repeatedly, you can simply set the queue once and set the building to auto-queue. If you played Age of Mythology you probably have used this features. In Rise of Nations it's called Infinite Queue. I have searched through the forum in case this topic has been discussed before, but I can't find any. So I decided to make a small mod to demonstrate this feature, inspired mostly from RoN's infinite queue. I attached the mod below (also accessible from GitHub). Here is the screenshot of 0 A.D (Alpha 24b release) using Auto-Queue mod. The button is accessible in middle panel at the bottom (command section, beside delete and rally point button). When the button is toggled on, units in queue will be indefinitely looped. It doesn't work with technologies as they are one time only. I know that auto-queue is generally considered as a rather controversial feature in RTS, as it is reducing micro but also can be dangerous if left unattended. I personally think that 0 A.D. vision is to reduce repetitive actions, so this feature is a must. What do you think about adding auto-queuing in 0 A.D? 0AD-Auto-Queue.zip
  9. Very nice... I think you could reduce the damage variants to only 3/4 variants. Now I've got an idea of spreading fires through palisades... I've also thought on removing defense and dropsite capability of civic centers. However I realized that civic centers in 0 AD is based on AoE games, which is meant to be the first and eventually the last building you'll ever have in the game, and thus needs all basic economic and defense capabilities for a city to survive. My suggestion is to do it like Stronghold games, by giving free first granary and stockpile. In 0 AD case, free first farmstead/storehouse and small tower. You could make separate templates for them (like template_structure_defensive_tower_free.xml), set the cost to 0, and limit this to 1 per civic center. I haven't use AutoBuildable component, but I imagine this would be able to be used in such scenario. Good luck with your mod!
  10. Recent changelog: Improved fleeing behavior (low morale units flee when sighting enemy or being attacked) Unit Stance change based on morale (low morale units automatically have Passive stance, high morale units have Violent stance). Units reaching maximum morale will cheer. Average morale display on multiple units selection in selection panel. Morale for structures is now supported, complete with garrison morale effect and capture points reduction on low morale. Plans for next updates: Improve performance (currently noticeable in large battles, but should be fine on smaller maps). Rage/amok behavior (raging unit attacks both ally and enemy) Multipliers for specific classes (e.g. cavalry should decrease enemy infantry morale more, or camel's stench should decrease cavalry morale for allies and enemies alike). Player's multiplier (players with bigger city and more kills will decrease enemies' morale more) Complete morale setting differentiation of different unit types and ranks and also structures. (Higher ranks units, champions and heroes should have higher Significance and max morale) Complete code documentation to make the mod easier to use as dependency for other mods. Let me know if you guys have some more suggestions!
  11. Why didn't I spot this thread sooner... These status effects icons are cool, and foreshadows what may come to 0AD (frozen effect, terrain/biome effects are coming to 0AD?)
  12. 0 AD has TvTropes page analysing popular tropes found in the game. https://tvtropes.org/pmwiki/pmwiki.php/VideoGame/ZeroAD Feel free to add or edit the page as I think some of the tropes are outdated.
  13. I think someone has proposed here in this forum that deleting building should decrease building HP gradually, and I agree with it. This proposal sounds similar. In addition to this idea id also like to add that building deletion should be able to be cancelled. This is useful to prevent accidental deletion and allow opponent to retake captured building and stop the process. Also I think instead of calling it deletion it should be called salvaging since we got loot from it.
  14. This is achievable using Significance, which multiplies morale regenerate rate effect and death instant morale damage/bonus to nearby enemies/allies. However I avoid editing template files for now to keep compatibility with as many Alpha versions and mods as possible. I'd probably release template changes either as separate mod or as part of City Building mod.
  15. Overview This mod adds morale system to 0 A.D. Please read an overview of morale in Wikipedia page here. This mod tries to represent military morale and to some extent also employee morale (for workers). Morale system here is inspired from a mix between Total War and Stronghold style morale. So basically the higher the morale, the better your units at gathering, building, and fighting, and vice versa. Morale is influenced by unit's health, being attacked, being near other units, etc. On a very low morale, units will flee the battlefield. I originally develop this mod for Happiness system in my City Building Mod, however it became more complicated so I decided to release it separately as Morale system. Therefore, this mod is designed to be as bare-boned and customizable as possible, so it will be compatible to many mods, although the mod should be quite playable as it is. Features Every unit has morale icon to represent its current state. Some aspects that can influence unit morale: Presence of other units on viewing distance. Allies increase morale and enemies decrease morale. Being attacked. Arrow shots would decrease morale, even if it missed. Health increase/decrease. Morale would increase/decrease accordingly. Unit death would cause significant morale decrease to nearby allies and vice versa. Low morale can cause a unit to have decreased gathering rate, building rate, and attack rate. Extremely low morale cause unit to flee from enemy and became passive. Units reaching max morale would cheer and start becoming violent. Structures can also have morale. Structures with low morale can have reduced attacks speed and also slower training and research time. Garrison units with high morale inside for increased morale. Some variables that can be customized for further modding (mostly need to edit component variable but later planned to be customizable via template): Significance (the higher unit significance the higher influence it has on nearby units) Range (by default it uses unit vision but can be altered) RegenRate (default morale regenerate rate) etc (please look at Init function of Morale.js) Installation Clone or download the mod from GitHub page to My Games/0ad/mods folder. (I will add mod.io link later) Contribute This mod is very much a work in progress. Everyone is certainly welcome to contribute by testing the mod and tell me what you think! If you found issue or have some ideas you'd like to implement, feel free to discuss here or even create Pull Request to the GitHub repo. I also currently have no access to a better quality computer to create high quality screenshot/video preview, so you can share your screenshots here as well! Credits Thank you very much to: @Freagarach, @wraitii for helping out on problems I encountered with some components (see the discussion behind the scene here) @Grapjasfor letting me adapt his Wounded feature from Grapejuice mod (another interesting mod you should check) @wowgetoffyourcellphone for arrow morale damage suggestion and fear units (implementable by Significance, but not yet).
  16. The original Rome: Total War is remastered, guys! Gameplay preview:
  17. For now it's just injury and being near allied/enemy units. Still working on unit death effect on other units in range.
  18. Thanks @wraitii for your help! It turns out that OnRangeUpdate seems to not detect entity once it is destroyed, so the solution is to reverse how ApplyMoraleInfluence and RemoveMoraleInfluence work. Previously the unit applies aura to other units in range, now I reversed it so all units in range applies the effect to the unit instead. I haven't tested this thoroughly but so far it seems to be okay. OnDestroy seems to be what I just looking for. Perhaps for morale damage on death instead of mucking around in Health component. That stackability trick is neat. I wonder why Aura component do it like that, your comment explains it well, thank you.
  19. Preview of upcoming mod, Morale System, using We are Legion scenario demo map. Framework is mostly done, but many variables need to be fine-tuned.
  20. I mean the huge screenshot (higher resolution), hotkey Shift+F2.
  21. A big screenshot of this city would be wonderful
  22. Hi @Ratkid welcome to the forum! I think this forum exists for this exact reason, so if you have any question you can simply ask about it here, specifically in Game Development or Game Modification subforum. Me or someone else more knowledgeable could probably answer your question, and other people who have similar question in mind could look up your topic here instead of having to join separate Discord. Thanks!
  23. Hi @Freagarach, Yes, I realized that I had misnamed the variable, already fixed now. In addition to stackable problem above, I found that OnRangeUpdate does not trigger for other units if a unit is killed. So if unit A is applying effect to unit B in range, and then unit A is killed, unit B still has effect applied Debugging current code shown that the effect removal (RemoveMoraleInfluence) does not trigger for unit B. However if in this case unit B is killed instead, the removal is triggered (removing effect applied from unit A to unit B as unit B is no longer in range). Do you perhaps have any idea how to solve this? i.e. ensure that killing units also remove its effect? Thank you.
  24. Hi @Freagarach I finally found out why it didn't work.Applying the morale regeneration must be looped per entity. So e.g. ApplyMoraleInfluence must be: Morale.prototype.ApplyMoraleInfluence = function(ents) { var cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); for (let ent of ents) { cmpModifiersManager.AddModifiers( "MoraleSupport", { "Morale/RegenRate": [{ "affects": ["Unit"], "add": this.GetMoraleLevel() }], }, ent ); } } Not sure why cmpModifiersManager cannot apply to all entities at once like in ApplyMorale, perhaps there's something to do with the format of entities retrieved from this function: let affectedPlayers = cmpPlayer.GetAllies(); Apparently cmpModifiersManager.AddModifiers cannot be applied to affectedPlayers all at once, need to be looped per entity. EDIT: Although after further tests, I see that the effect do not stack, i.e. the RegenRate would stay the same once modified, therefore multiple units in the same range do not have their morale increased exponentially. I already added True at the end of AddModifiers but it seems to change nothing. Like this: cmpModifiersManager.AddModifiers( "MoraleAllies", { "Morale/RegenRate": [{ "affects": ["Unit"], "add": this.GetMoraleLevel() }], }, ent, true, ); If you or anyone reading this know how to fix this, I would be very thankful. Thanks!
  25. I'm not a historian, but gameplay-wise every 0 AD unit already has knife for slaughtering purpose. Xenophon said that Peltast (javelineers) use swords as secondary weapon. He also recommends kopis/makhaira for horsemen instead of xiphos. You probably have seen this Survival mod by @Angen , otherwise this might help you as it has secondary weapon concept:
  • Create New...