Jump to content

Introducing the Official community mod for Alpha 26


wraitii
 Share

Should these patches be merged in the Community Mod? II  

41 members have voted

  1. 1. Add Centurions: Upgradable at a cost of 100 food 50 metal from rank 3 swordsmen and spearmen. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/27

    • Yes
      31
    • No
      6
    • Skip / No Opinion
      4
  2. 2. Alexander - Remove Territory Bonus Aura, add Attack, Speed, and Attack de-buff Auras https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/26

    • Yes
      25
    • No
      6
    • Skip / No Opinion
      10
  3. 3. Unit specific upgrades: 23 new upgrades found in stable/barracks for different soldier types. Tier 1 available in town phase, tier 2 available in city phase. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/25

    • Yes
      21
    • No
      18
    • Skip / No Opinion
      2
  4. 4. Add a civ bonus for seleucids: Farms -25% resource cost, -75% build time. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/24

    • Yes
      29
    • No
      7
    • Skip / No Opinion
      5
  5. 5. Cav speed -1 m/s for all cavalry https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/23

    • Yes
      14
    • No
      19
    • Skip / No Opinion
      8
  6. 6. Cavalry health adjustments https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/22

    • Yes
      14
    • No
      15
    • Skip / No Opinion
      12
  7. 7. Crush (re)balance: decreased crush armor for all units, clubmen/macemen get a small hack attack. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/20

    • Yes
      18
    • No
      14
    • Skip / No Opinion
      9
  8. 8. Spearcav +15% acceleration. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/19

    • Yes
      29
    • No
      3
    • Skip / No Opinion
      9
  9. 9. Pikemen decreased armor, increased damage: 8hack,7pierce armor; 6 pierce 3 hack damage. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/18

    • Yes
      16
    • No
      16
    • Skip / No Opinion
      9
  10. 10. Rome camp allowed in p2, rams train in p3 as normal, decreased health and cost. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/17

    • Yes
      31
    • No
      5
    • Skip / No Opinion
      5
  11. 11. Crossbow nerf: +400 ms prepare time. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/15

    • Yes
      12
    • No
      16
    • Skip / No Opinion
      13
  12. 12. adjust javelineer and pikemen roles, rework crush armor https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/14

    • Yes
      10
    • No
      21
    • Skip / No Opinion
      10


Recommended Posts

Just now, real_tabasco_sauce said:

Were you in multiplayer? The crashes only seem to happen in multiplayer with a player opponent or spectator.

I was not in multiplayer, but if my theory is correct that excessive destroy calls on the same entity are the cause of the crash then it's a useful line of investigation.

  • Like 1
Link to comment
Share on other sites

community-testing-5.zip

these changes add @Norse_Harold's above suggestion to prevent entities from being deleted more than once, and includes the changes to only return false; if the building is not a wall or palisade.

This prevented any crashes until we started building walls. We did a game where we only placed walls on completely bare ground, completely avoiding trees and decorative entities, and the crash still occurred.

Edited by real_tabasco_sauce
Link to comment
Share on other sites

1 hour ago, real_tabasco_sauce said:

This prevented any crashes until we started building walls. We did a game where we only placed walls on completely bare ground, completely avoiding trees and decorative entities, and the crash still occurred.

Good idea to run that test. That's interesting that the crash still occurred. I advise separating the walls delete trees mod from the rest of community-mod for further testing, so that a binary search algorithm can be applied where the search space is cut in half with each iteration.

If the problem is then found to be correlated with the walls delete trees mod then here are some things to consider.

  • Normally (invisible or less visible) obstructions would be destroyed before the foundation is committed instead of after it's finished.
  • Maybe isFinished isn't called after every structure is completely constructed. In that case, obstructing entities aren't destroyed.
  • Units blocking construction might conflict with or be locked into the structure if return false isn't present on line 275 of Foundation.js.
Edited by Norse_Harold
Link to comment
Share on other sites

recently, I tried another conditional return, only when totalBuildRate was NaN. This didn't help, because totalBuildRate presumably becomes NaN after commit().

			if (isNaN(this.totalBuilderRate)) {
				warn("Value of builder rate is NaN");
				return false;
			}

I wonder if there is something we can check instead of totalBuildRate that will return false when we want it to.

Maybe EntstoDestroy being empty or something else?

Edited by real_tabasco_sauce
Link to comment
Share on other sites

Well, as i said it was more of a prototype code and expected someone to build off of it :D.

As for entsToDestroy, it doesn't need to be cleaned or emptied because a foundation will just start with an empty variable to begin with and be gone when the foundation has been built.

The new zip below has some fun JS edge case (also why are empty arrays truthy <_<) going on where it pushes ent twice, not really an issue but it shouldn't regardless.

Also got the shading to mark entities red that would be destroyed semi working aswell (not in this zip tho) but i've honestly got to much projects going on to finish it anytime soon lol.

Lemme know if this one's better and tweak it as you need.

BTW, can't you simply delete my mod (or files) to test if it still happens without?

walls_destroy_trees.zip

Edited by Grapjas
  • Like 1
Link to comment
Share on other sites

4 minutes ago, Grapjas said:

As for entsToDestroy, it doesn't need to be cleaned or emptied because a foundation will just start with an empty variable to begin with and be gone when the foundation has been built.

I think that isFinished() can be called multiple times when build progress is 1.0, so entsToDestroy is being processed multiple times. I've confirmed this with testing.

Link to comment
Share on other sites

21 minutes ago, Norse_Harold said:

I think that isFinished() can be called multiple times when build progress is 1.0, so entsToDestroy is being processed multiple times. I've confirmed this with testing.

It gets called alot throughout when the foundation is being built, but the statement should still only run once. Maybe twice, but engine.DestroyEntity does nothing gamebreaking if the ent doesn't exist anyway otherwise i'd expect it to throw an error.

EDIT: you are right the var should be emptied if it does called multiple times though

Edited by Grapjas
Link to comment
Share on other sites

Ok, there have been issues with OOS in the new version of the community mod. It seems many of these are related to install issues with version 12:

For example:

<p class="warning">WARNING: Technology "phase_town_spart" does not exist</p>

In this case, a version 10 file called "phase_town_spart" remains after installing version 12, which is supposed to be deleted in version 12.

How to fix (and hopefully this solves the OOS for good).

  1. uninstall all your mods
  2. navigate to your mods folder (For example, windows might be C:/Documents/My\ Games/0ad/mods/
  3. delete the community mod folder
  4. open 0ad and re-install the community mod and your other mods.
Link to comment
Share on other sites

https://gitea.wildfiregames.com/0ad/0ad-community-mod-a26/pulls

some more com mod changes:

reintroduced non-random building ai (see the discussion for that)

Ptol civ bonuses: bolt shooters now get 10% net damage buff instead of 0, all 3 farming techs available in village phase

roman reforms allows conscript spearmen from cc

kushite pyramid 150s,75m 120sec -> 100s, 100m, 100sec (should help with build order flexibility, doesn't "punish" the player by only allowing one barracks with 300 starting stone)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...