New Beta Version - Feb. 9th (2-9)

Status
Not open for further replies.
Indian War Elephant still has Anti-mounted I instead of the Siamese war elephant.
That's fixed in the repo...it just didn't make it to a new hotfix; that is, if there will be a new hotfix...it'll be fixed for the next beta at the latest.

Also, "slightly" OT, but I "fixed" my earlier code to be more compact, if you wanna have a laugh...
Spoiler take THAT Python-nerds!!! :
Code:
// This program recursively walks through a folder and checks all the last modified times of the files contained therein
// and then prints the most recent one (and optionally all files found) and then gives the user the option of deleting the
// folder with all files (compact version with less lines of code...Python-style)

import java.util.*;
import java.util.stream.Stream;
import java.nio.file.*;
import java.nio.file.attribute.FileTime;
import java.io.*;

class EUIRemoverCompact {
    public static void main(String... args) {
        if (args.length == 1 && args[0].compareToIgnoreCase("help") == 0) System.out.println("\nSyntax: EUIRemoverCompact targetFolderPath [optional]debugflag (\"1\")\n\nThis program recursively walks through a folder and checks all the last modified times of the files contained therein and then prints the most recent one (and optionally all files found) and then gives the user the option of deleting the folder with all files. The optional debugflag will cause all files found to be printed along with their last modified times; by default the folder C:\\Program Files (x86)\\Steam is used, but a different folder can be specified. If \"default\" is entered as the targetFolderPath then the mentioned default folder is used.");
        else new EUIRemoverCompact().processFiles((args.length == 0 || args[0].compareTo("default") == 0) ? "C:\\Program Files (x86)\\Steam" : args[0],   (args.length > 1) ? args[1].compareTo("1") == 0 : false);}
    void processFiles(String workingDir, boolean debug) {
        ArrayDeque<FileTime> mostRecentTimes = new ArrayDeque<>();
        try (Stream<Path> pathStream = Files.walk(Paths.get(workingDir))) { // by default Files.walk() does not follow symbolic links
            pathStream.filter(e -> Files.isRegularFile(e, LinkOption.NOFOLLOW_LINKS))   .forEach(e -> processFile(e, debug, mostRecentTimes));}
        catch (SecurityException | IOException e) { System.err.println("While trying to walk the filesystem from " + workingDir + " we encountered the following exception, which requires aborting this action:\n" + e.toString());}
        if (!mostRecentTimes.isEmpty()) {
            System.out.println("\n\nProcessed " + mostRecentTimes.size() + " files, of which the most recently modified was modified on: " + mostRecentTimes.pop().toString() + "\n\nDo you wish to (recursively) delete all files and folders inside of and including the targetFolderPath (" + workingDir + ")? (y/n)");
            if (new Scanner(System.in).nextLine().compareToIgnoreCase("y") == 0) {
                try (Stream<Path> pathStream = Files.walk(Paths.get(workingDir))){
                    pathStream.map(Path::toFile)   .sorted(Comparator.reverseOrder())   .forEach(File::delete);}
                catch (SecurityException | IOException e) { System.err.println("While trying to walk the filesystem from " + workingDir + " we encountered the following exception, which requires aborting this action:\n" + e.toString() + "\n\nYou need to manually delete the remaining files.");}}}
        else System.out.println("We have found no files to check...exiting.");}
    void processFile(Path p, boolean print, ArrayDeque<FileTime> mostRecentTimes) {
        try { FileTime modTime = Files.getLastModifiedTime(p);
            if (print) System.out.println(modTime.toString().substring(0, 16) + "     " + p.toString());
            if (mostRecentTimes.peek() != null && mostRecentTimes.peek().compareTo(modTime) < 0) mostRecentTimes.push(modTime);
            else mostRecentTimes.offer(modTime);}
        catch (SecurityException | IOException e) { System.err.println("While accessing the file " + p.toString() + " we caught the following exception:\n" + e.toString());}}}
 
Just like Indian war elephants getting anti-mounted now instead of siamese war elephants.

That was just a typo on my part, grabbed the wrong elephant when doing a find and replace. Nitpicking my merge and replace mishap isn't helpful, tbh I did that version push on Sunday in spite of being dead-dog tired after a very long weekend of work.

G
 
I've decided to join Team Archer Range 1. It's realistic. And forces you to use Drill promotions. I've never seen the point of Drill in the early game. I usually only use the melee attack to finish off the city that has 0 hp because I've softened it up with ranged attacks. It would be a nice change to force melee City Conquest in ancient times.
 
Last edited:
Yeah, I don't mind the 1 range archers either. I use them for barb hunting or as city defense until upgraded to c-bows later.

I wouldn't mind move-after-attack that disappears on next tier to make them a bit more interesting in the field.
 
Last edited:
City-states getting embassies by using the gold for improvements is a thing -- I ran into it playing as pineappledan's Phoenicia and thought it was a civ-specific bug I was going to report to him later, but it appears to be a thing for everyone.

1 range archers is feeling pretty good, I for one am happy with the change.
 
City-states getting embassies by using the gold for improvements is a thing -- I ran into it playing as pineappledan's Phoenicia and thought it was a civ-specific bug I was going to report to him later, but it appears to be a thing for everyone.

1 range archers is feeling pretty good, I for one am happy with the change.

I'm aware, hotfix is being tested now.


G
 
That was just a typo on my part, grabbed the wrong elephant when doing a find and replace. Nitpicking my merge and replace mishap isn't helpful, tbh I did that version push on Sunday in spite of being dead-dog tired after a very long weekend of work.
We've been through these proposals for weakened CS on UUs before. The end result is always that they are better as upgrades than as an actual UU. ie. Berserkers are now stronger Tercios than they are Berserkers. I think many people, including you, didn't want to go that route, and wanted the full power of a UU to rest on the actual unit in its own era.

Even so, it's weird that the siam anti-mounted promotion missed 2 hotfixes then
Also, If a hot fix is coming and we're already on the topic of Siam's elephant, the elephant doesn't carry anything forward as a UU. Both it's unique promotions are dropped on upgrade. I have been adding PROMOTION_GENERAL_STACKING for years now. Just a small bonus that gives them at least a little boost in later eras.
 
Last edited:
Hmm... it was all ok with 2-9-2b with diplomacy, i had enemies, i had neutrals and i had friends amongst the AI. 10 turns after i installed 2-9-3b all AIs are denounced me and now i suddenly in war with all the world without any doing from my part... So either there is some bug in 2-9-3b or nothing is changed from previous AI hive mind...
Has anything been done with phony wars and DiPlOmAcY? AIs still are brutally peaceful towards each other, even warmongers, no cities taken and no DoWs for most of them, while they ganged up on me, even when I was not a leader in anything and declared war myself only once. Of course powerful Huns, who conquered much more and about before everyone was asking me to go for war with him, now have defensive pacts with half of the world. And no one bats an eye, even when he is the real menace with cities six tiles from their capitals and long borders. Of course I am on the other side of the world with no borders with civilizations which declare on me. Just like Acaerus I had normal diplomacy which recognized friend from foe in its national interest department before updating.

If not is there a way to disable competition penalty and thus achieve more realistic AI behavior?

Several things I found this playthrough:
Grocery still have banana, but bananas are displayed for Customs house info. Needs a clearup.
I dont know if that was a case before. I have city beside the grand mesa and every unit from every city gets altitude training. If this is intended it should be nerfed to the ground, e.g. Only units from this city

I definitely made some changes that should prevent the kind of behavior you would see last time, and looking at the repository code the hotfix did not revert that.

It's difficult to diagnose the cause of general issues like "the AI is too aggressive/passive" from forum posts, because it's unclear which factor(s) are in play in individual games. Sometimes improbable things happen.

It's helpful when giving such feedback to mouse over the diplomacy portraits and include a screenshot of the opinion table - this gives some idea of why the AI is angry at you.

I'm rewriting the approach function (and a couple others) to include more detailed logging/debug information which should hopefully provide some insight on future problems.
 
Did the God of War pantheon belief got removed? I didn't see it anywhere when founding my pantheon.
 
Playing Spain on Standard size Epic speed Immortal Difficulty, late Renaissance abandoned the game, pretty much game over, i'm ahead in tech, 2 policies in imperialism before anyone finishing the 2nd tree ... an army of 65 units eliminated 2 players and winning the war with the rest of the world.
A couple of things i'd like to point.
  • Spain with food is pretty much the strongest civ to start the game, having 3 population on settle in every single city is game changing ... researching pottery first and popping a settler at turn 20-25 is really a huge advantage.
  • There seem to be a major pathing issue with roads, naval units have a similar issue with avoiding ZOC
    Spoiler :
    pfDNRJZ.jpg
  • For the first time in forever i actually had a DOF with someone and a defensive pact until i actually broke it, the AI seem to be less on RED EYE ELIMINATE HUMANS at least for this game.
EDIT : The pathing issue seems to be units both civilians, military and GG ignoring the presence of the roads and preferring the more direct route even if it takes more turns, i had to manually move every unit tile by tile, sometimes this is not even feasible if you have to transfer a unit from a non-road tile to a road tile occupied with a unit with no moves left.
more pictures for the pathing issue.
Spoiler :
UJcodgG.jpg

Spoiler :
W0STyzj.jpg
 
Last edited:
Bronze Working is still required if you are trying to clear a forest by building a GPT
 
Playing Spain on Standard size Epic speed Immortal Difficulty, late Renaissance abandoned the game, pretty much game over, i'm ahead in tech, 2 policies in imperialism before anyone finishing the 2nd tree ... an army of 65 units eliminated 2 players and winning the war with the rest of the world.
A couple of things i'd like to point.
  • Spain with food is pretty much the strongest civ to start the game, having 3 population on settle in every single city is game changing ... researching pottery first and popping a settler at turn 20-25 is really a huge advantage.
  • There seem to be a major pathing issue with roads, naval units have a similar issue with avoiding ZOC
    Spoiler :
    pfDNRJZ.jpg
  • For the first time in forever i actually had a DOF with someone and a defensive pact until i actually broke it, the AI seem to be less on RED EYE ELIMINATE HUMANS at least for this game.

That's good, although you're more than a full thousand points in score ahead of the next leading AI, I think you'd have experienced less resistance otherwise :)

If not is there a way to disable competition penalty and thus achieve more realistic AI behavior?

Forgot to answer this question: go to (1) Community Patch > Core Files > Core Changes > DiploAIOptions.sql, and set the "DISABLE VICTORY COMPETITION" setting to 1.
 
That's good, although you're more than a full thousand points in score ahead of the next leading AI, I think you'd have experienced less resistance otherwise :)

.

I actually felt the change that game and wanted to see what degree of aggression will force the AI to react, they were not that aggressive at me until i declared war on my vassal, Ghandi and eliminated him ..... this is where America ended our DOF and became hostile, the Inca and Carthage declared war on me.
Songhai was hostile to me pretty much the entire game, only one war between us tho and it was a pretty much defensive war on my side and i have not occupied any of his cities.

Please post to GitHub.
I'm not familiar with using github at all, anyway where can i report this on github ? a link would be appreciated!
Edit : never mind, it's in G's signature.
 
Status
Not open for further replies.
Back
Top Bottom