Jump to content

0abc mod


Nescio
 Share

Recommended Posts

Feature requests (things I can't do myself):

  • AI: build forge adjacent to metal mines; fundamentally, dropsite determination ought to be based on resource type, instead of treating wood, stone, metal all as one and the same
  • AI: replace all hard-coded template file name paths with classes
  • attach points for units (e.g. chariots, elephants), to allow soldiers to fight and be killed independently from the unit that's carrying them
  • `<BuildRestrictions/Distance>` applies to other players as well, e.g. you can't build a fortress right next to one of a different player
  • damage variance: instead of a fixed amount of damage, attack damage now varies from 50% to 150% of the defined value
  • currency-based market, rather than barter-based (see D1957 and onwards)
  • units should be able to have a garrison size greater than 1 (similar to population); e.g. cavalry occupies two garrison slots, elephants six
  • resource variance: resource suppliers now start with a random amount between `<ResourceSupply/Min>` and `<ResourceSupply/Max>`.
  • resource consumption for attacks; e.g. everytime a stone-thrower shoots, you pay 1 stone
  • elevation bonus is taken into account for attack range visualization
  • elevation bonus applies to vision range as well
  • different ranged attacks for different garrisoned units (e.g. archers, javelineers, and stone-throwers on quinqueremes)
Link to comment
Share on other sites

16 minutes ago, Nescio said:

resource variance: resource suppliers now start with a random amount between `<ResourceSupply/Min>` and `<ResourceSupply/Max>`

I'll do that after D1718 is committed, (maybe after the template differential to actually use that feature)

 

18 minutes ago, Nescio said:

elevation bonus is taken into account for attack range visualization

I think there is a patch for that. 

18 minutes ago, Nescio said:

different ranged attacks for different garrisoned units (e.g. archers, javelineers, and stone-throwers on quinqueremes)

You mean like if you garrison a catapult the building should fire catapult projectiles ?

Link to comment
Share on other sites

39 minutes ago, Stan` said:

You mean like if you garrison a catapult the building should fire catapult projectiles ?

Yes! And if a structure has both archers and javelineers inside, it ought to fire both arrows (long range, lower damage) and javelins (shorter range, high damage).

  • Like 1
Link to comment
Share on other sites

1 hour ago, Nescio said:

elevation bonus applies to vision range as well

c++ changes required

1 hour ago, Nescio said:

elevation bonus is taken into account for attack range visualization

see D1800, I may update it today to affect units and recalculate once per turn

 

1 hour ago, Nescio said:

AI: build forge adjacent to metal mines; fundamentally, dropsite determination ought to be based on resource type, instead of treating wood, stone, metal all as one and the same

basemanager : findBestDropsiteLocation

remove these lines

for (let res in gameState.sharedScript.resourceMaps)
				if (res != "food")
					total += gameState.sharedScript.resourceMaps[res].map[j];

 

Link to comment
Share on other sites

27 minutes ago, Angen said:

basemanager : findBestDropsiteLocation

remove these lines


for (let res in gameState.sharedScript.resourceMaps)
				if (res != "food")
					total += gameState.sharedScript.resourceMaps[res].map[j];

 

Thanks, I tried that, but the AI doesn't build forges near mines. My guess is something should be changed in lines 421 onwards.

Link to comment
Share on other sites

ai buidls new dropsite only if assumes it is worth it.

basemanager 543

 

you may need to play with the numbers when it is worth because you just removed 3 other resources from equation ( as the main would calculate twice I think)

 

And sure, there is dropsite to dropsite and dropsite to cc cutoff at some distance.

 

Link to comment
Share on other sites

The AI doesn't use DropsiteMetal or DropsiteStone, instead, it uses the Storehouse class, which means it will build centres or storehouses near mines, even though it can only drop of iron at the forge.

I made the forge a requirement for every phase, to ensure the AI builds one, but as a consequence its units move long distances to and from the mines.

Link to comment
Share on other sites

Minor tweaks:

  • structures can no longer attack structures
  • outposts no longer have attack or vision of there own; instead, outposts has aura which improves garrisoned unit; one unit can be garrisoned on it, instead of inside; can be killed indepently from outpost (cf. walls);
    ungarrisoned outpost:
    2052278883_Screenshotfrom2019-06-2906-06-19.png.976c006ffe996fa5d6b83caf7e687a4f.png
    garrisoned outpost:
    1568358707_Screenshotfrom2019-06-2906-07-08.png.591520b12c918b1f39b7359509a942a4.png
  • Like 4
Link to comment
Share on other sites

And I've been playing around with the gui again:

713668606_Screenshotfrom2019-07-0315-53-41.thumb.png.d096c5879ca36a90abcbfccdaaa9f7bf.png

However, I'm having some issues with the panel entities:

  • I want not only to display heroes and catafalques, but also wonders, therefore I changed `gui/session/session.js` line 186 into:
    var g_PanelEntityOrder = ["Hero", "Relic", "Wonder"];

    As you can see the wonder doesn't show up. What am I doing wrong?

  • The panels show the health bar, which is helpful for heroes. For catafalques and wonders capture points are at least as important as health, therefore a capture bar should be displayed too. I tried implementing it myself, but couldn't get it working properly without errors. Maybe someone more versed in javascript than me is willing to write a patch for that and upload it to phabricator?
Link to comment
Share on other sites

Several 0abc updates:

  • city walls have 49 pierce armour, all other structures 36
  • standardized structure foundation armour for all structures to 1 crush, 2 hack, 16 pierce, 4 thrust
  • altered random map starter units:
    • infantry:
      • Carthage: 5 spearmen
      • Gauls, Rome: 5 swordsmen
      • Kush, Mauryas: 5 archers
      • Macedon, Ptolemies, Seleucids: 5 pikemen
    • one cavalry:
      • Carthage, Macedon, Seleucids: lancer champion
      • Gauls, Kushites, Ptolemies: spearman champion
      • Mauryas: javelineer
      • Rome: spearman
    • one healer
    • animals worth 300 food
    • Mauryas: one worker elephant
  • changed centre costs to 200 food, 200 metal, 400 stone, 200 wood; 400 building time; 10 population bonus
  • new civ bonuses:
    Spoiler

    All bonuses and penalties from the default distribution have been removed.

    • Carthage:
      • markets −50% wood cost;
      • city walls +25% stone cost, −25% wood cost, +20% build time, +20% health;
      • merchant ships and traders −15% training time.
    • Gauls:
      • centres 0 stone cost, +150% wood cost, −20% build time, −20% health, −10% territory influence;
      • economic structures −15% build time, −15% health;
      • fortresses −50% stone cost, +100% wood cost;
      • military structures −20% build time, −20% health;
      • city walls −10% build time, −10% health;
      • temples 0 stone cost, +200% wood cost, −40% build time, −40% health;
      • healers +2 armour levels;
      • melee cavalry −15% training time.
    • Kushites:
      • economic structures −70% wood cost, +100% build time;
      • healers +3 healing range.
    • Macedon:
      • military structures −10% build time;
      • siege engines −15% construction time.
    • Mauryas:
      • centres 0 stone cost, +200% wood cost, +5 population bonus, +10 garrison capacity;
      • economic structures −10% wood cost, −10% build time, −10% health;
      • city walls 0 stone cost, +200% wood cost, −25% build time, −25% health;
      • temples 0 stone cost, +300% wood cost, −20% build time, −20% health;
      • elephants −15% training time.
    • Ptolemies:
      • economic structures −70% wood cost, +100% build time;
      • healers −20% healing time.
    • Rome:
      • siege walls −10% build time;
      • city walls +10% stone cost, +10% wood cost, +10% build time, +10% health.
      • stone throwers +25% wood cost, +20% health, +25% ranged attack crush damage.
    • Seleucids:
      • starting centre +30% resource costs, +30% build time, +5 population bonus, +10 garrison capacity, +30% health, +30% capture points, +11% territory influence.

    Team bonuses

  • [EDIT]: In the city phase, Carthage can upgrade their houses to apartment blocks (+50% health and capacity) and their centres to fortified centres (+100% health and capacity):
    Spoiler

    From left to right: centre, fortified centre, fortress:

    1896986554_Screenshotfrom2019-07-0523-15-23.thumb.png.c366da1d9a69aaf4796f737c545b0dc3.png

Edited by Nescio
cart fortified centre
  • Like 1
Link to comment
Share on other sites

On 7/3/2019 at 4:45 PM, Nescio said:

want not only to display heroes and catafalques, but also wonders, therefore I changed `gui/session/session.js` line 186 into:


var g_PanelEntityOrder = ["Hero", "Relic", "Wonder"];

As you can see the wonder doesn't show up. What am I doing wrong?

You'll have to add `Wonder` to "Player.js" line 42 in simulation.

On 7/3/2019 at 4:45 PM, Nescio said:

The panels show the health bar, which is helpful for heroes. For catafalques and wonders capture points are at least as important as health, therefore a capture bar should be displayed too. I tried implementing it myself, but couldn't get it working properly without errors. Maybe someone more versed in javascript than me is willing to write a patch for that and upload it to phabricator?

I've just been fooling around with that, I got the capture bar, without errors, but it overwrites the health bar. I'm just not very experienced with the GUI.

Link to comment
Share on other sites

6 hours ago, Freagarach said:

You'll have to add `Wonder` to "Player.js" line 42 in simulation.

Thanks for pointing that out! Indeed I didn't look outside the gui folder when tweaking the gui. It now works:

Spoiler

1047397108_Screenshotfrom2019-07-0615-10-22.thumb.png.918f23bbd6de7023a98da8d84251389f.png

6 hours ago, Freagarach said:

I've just been fooling around with that, I got the capture bar, without errors, but it overwrites the health bar. I'm just not very experienced with the GUI.

Posted some feedback at https://code.wildfiregames.com/D2047

 

Another thing, when you have insufficient population capacity to train units, the population numbers flash orange every 0.5 s. Similarily, I want resource amounts to flash orange when they're negative (because of resource trickle rates in my mod). If you have time and are willing to, then perhaps you can figure out how to do that?

  • Like 1
Link to comment
Share on other sites

Glad it works! Thanks for the feedback, I'll update when I get the chance.

29 minutes ago, Nescio said:

Another thing, when you have insufficient population capacity to train units, the population numbers flash orange every 0.5 s. Similarily, I want resource amounts to flash orange when they're negative (because of resource trickle rates in my mod). If you have time and are willing to, then perhaps you can figure out how to do that?

You can take a look at "session.js" at line 817.

The "IsTrainingBlocked" comes from the "GuiInterface.js"-component in simulation.

Link to comment
Share on other sites

On 6/29/2019 at 5:18 AM, Nescio said:

Minor tweaks:

  • structures can no longer attack structures
  • outposts no longer have attack or vision of there own; instead, outposts has aura which improves garrisoned unit; one unit can be garrisoned on it, instead of inside; can be killed indepently from outpost (cf. walls);
    ungarrisoned outpost:
    2052278883_Screenshotfrom2019-06-2906-06-19.png.976c006ffe996fa5d6b83caf7e687a4f.png
    garrisoned outpost:
    1568358707_Screenshotfrom2019-06-2906-07-08.png.591520b12c918b1f39b7359509a942a4.png

This is cool, but how does it work with a melee unit?

Link to comment
Share on other sites

1 hour ago, borg- said:

This is cool, but how does it work with a melee unit?

It works as I expect one would expect: you can garrison one melee infantry inside an outpost, giving extensive vision and protection from melee attacks. However, he can't attack nearby units (because he doesn't have a ranged attack himself) and he can be hit by enemy ranged attacks.

768288585_Screenshotfrom2019-07-0622-19-28.png.70d1a0bc77b75076547c15a6c3d1262f.png

(Those two poor blue men can't attack the red one, therefore they try to capture the outpost. Unfortunately they have a capture attack of 2 each and the outpost has a garrisoned capture regeneration of 5 (0 when ungarrisoned), which means they'll never be able to capture it; they need at least three men to capture a garrisoned outpost.)

Minor details: red pike goes through the roof and garrisoned flag is unnecessary.

[EDIT]: civ flags are now removed

Edited by Nescio
new commit
  • Like 1
Link to comment
Share on other sites

5 minutes ago, Nescio said:

It works as I expect one would expect: you can garrison one melee infantry inside an outpost, giving extensive vision and protection from melee attacks. However, he can't attack nearby units (because he doesn't have a ranged attack himself) and he can be hit by enemy ranged attacks.

768288585_Screenshotfrom2019-07-0622-19-28.png.70d1a0bc77b75076547c15a6c3d1262f.png

(Those two poor blue men can't attack the red one, therefore they try to capture the outpost. Unfortunately they have a capture attack of 2 each and the outpost has a garrisoned capture regeneration of 5 (0 when ungarrisoned), which means they'll never be able to capture it; they need at least three men to capture a garrisoned outpost.)

Minor details: red pike goes through the roof and garrisoned flag is unnecessary.

Thank you for the explanation, very interesting.

  • Like 1
Link to comment
Share on other sites

3 hours ago, balduin said:

Is there a version of this mod, which can be downloaded from the in-game download manager? If there is a version available what is the name?

No, there isn't, nor will there be. Uploading a mod to https://mod.io/ (the host for the in-game mod download manager) is rather time consuming; I tried it once for a tiny mod, which took me about fifteen minutes to write the mod but over an hour to upload it to mod.io and complete all required steps over there. Moreover, everytime a new version of a mod is uploaded, it has to be checked and signed by a dedicated team member (@Itms or someone else with similar privileges) before it becomes available for download. In other words, it might be convenient from a player point-of-view but is quite inefficient from a developer perspective.

My mod is very much a work-in-progress, sometimes I do nothing for a month, sometimes I make more than a dozen commits per day. Uploading changes to the repository ( https://github.com/0abc/0abc-a23 ) takes a few seconds via the command line. Everyone can view the newest version immediately and clone the repository or download a zip. Place the mod in your mod folder and it is available in game. See also posts on the first page of this thread.

  • Like 2
Link to comment
Share on other sites

On 6/21/2019 at 1:19 PM, Nescio said:

units should be able to have a garrison size greater than 1 (similar to population); e.g. cavalry occupies two garrison slots, elephants six

D2056.

On 6/21/2019 at 1:19 PM, Nescio said:

damage variance: instead of a fixed amount of damage, attack damage now varies from 50% to 150% of the defined value

That one is not too hard: In "Armour.js"-component, line 53 (in TakeDamage) you could add "* randFloat(0.5, 1.5)".

Edited by Freagarach
Typo. Link.
Link to comment
Share on other sites

1 hour ago, Freagarach said:

Glad to be of service :)

I saw in your requested features at git that you want to have capturable foundations: see here.

Thanks, missed that one.

On 4/2/2019 at 5:11 PM, Freagarach said:

It can indeed be done. For anyone interested: add the "capturable" element in "templates/special/filter/foundation.xml".

Just tried it, but both <Capturable/> and <Capturable merge=""/> cause errors for structures that aren't capturable (e.g. palisades and walls in my mod).

[EDIT]: Ignore that, it seems to work indeed; something else is causing errors with wallsets. [EDIT]: D2054, apparently. [EDIT]: now fixed.

Edited by Nescio
update
  • Like 2
Link to comment
Share on other sites

Happy it works, I was already trying to reproduce it ;) The only thing I dislike is that a uncapturable structure also has a foundation which is not capturable.

Fun fact: AI will also capture foundations and finish them :D

Edited by Freagarach
Typo.
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...