Jump to content

Freagarach

WFG Programming Team
  • Posts

    1.118
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by Freagarach

  1. Yeah, it seems PetraAI must have the metadata.

    if (ent.getMetadata(PlayerID, "role") === PETRA.Worker.ROLE_WORKER)

    How do you spawn the units?

    [EDIT]
    When the AI produces something it adds metadata to know later what the produced unit is used for. If it doesn't have any, it is probably used in the next attack only. When converting the entity, indeed another message is sent that is also picked up by the AI.

    • Like 1
  2. On 17/03/2023 at 8:23 PM, Atrik said:

    I've pinpointed the event triggering the bug: the rally point is set to a resource that no longer exist.
    That shouldn't make bugs normally, but it seems with my others mods it does.

    What mods do you have that could cause this? If it can be triggered without mods (that doesn't seem the case) or from the GUI we should find out how to reproduce and fix it. :)

    On 18/03/2023 at 1:11 AM, Atrik said:

    Thank you so much @Freagarach for finding where the problem was and helping/explain me how to debug this. :thumbsup:

    Glad to be of service! :)

    • Like 2
  3. 44 minutes ago, Atrik said:

    However I'm probably doing something wrong, with the following code only "player" will ever print. (Also tested until getting game crash).

    You should ditch the

    warn("player");
    

    and add the if-statement at "AddResourceGatherer". But the rest should still be called.

    44 minutes ago, Atrik said:

    Context:
    I've installed 0ad with snap.
    I haven't figure out how to write on the original file (on Windows I think I was able to do it somehow). So it is ReRegistered in a mod by Player_MyMod.js.

    Snap is annoying. ;) But using a mod should work.

    I get an OOS at turn 20, so can't use that replay? Do you get the crash when watching that replay?

    • Like 1
  4. Do you have a replay that reproduces the error?

    The "undefined:NaN" is the problem here, I can try to help you debug it. Did you add a resource to the game? Can you check with an if-statement (if (type === undefined)) at https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/components/Player.js$263 the stacktrace what called that function? (warn(new Error().stack))

     

    • Thanks 1
  5. Hello @Helicity and thank you for your feedback,

    attack-move is indeed partly broken, there have been several attempts at fixing it, but there can be quite some edge cases we need to work with. We would love seeing the solution either as a mod or a patch submitted on Phabricator. :)

    Here is the most recent file: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js, where "WALKINGANDFIGHTING" is attack-move. As for the preference to certain units, you can define those in the templates in the Attack component.

    See also e.g. https://code.wildfiregames.com/D3853 for an attempt at improving walk-and-fight behaviour. This is not merged because the method used is very expensive, computationally.

    • Like 1
    • Thanks 2
  6. On 24/01/2023 at 11:58 AM, Sapphro said:

    Also, why it doesn't upgrade old towers to stone ones? At least, in my experience.

    There is an almost-finished patch by @smiley: https://code.wildfiregames.com/D4782.

    As for the walls, the chances are bigger that the AI chokes itself than that it will pose any thread for the player, unfortunately.

    @real_tabasco_sauce If I were you I would make that patch on Phabricator, not the community mod. This since we're 'close' (TM) to a RC and that would provide better context for the change. Up to you though.
    My experience with garrisoning on walls is that it is hardly viable (against the PetraAI). Doubling the amount of units that can die on the wall isn't enough, IMHO. I'd vote for also increasing resistance and range a bit. The staticness of walls means you'll (almost) always be at a worse position against a good player, so buffing them a bit too much shouldn't be a big problem, I guess.

×
×
  • Create New...