[SCENARIO] World War I

I found what was breaking revolutions, 'Arab' cavalry and the alignment adjustments based on units lost: def onUnitLost! Since BtS, it is blocked by a Python callback not enabled by default. Instead, I moved all the coding to onUnitKilled and all is working now (although I have to play as the British to see if the 'Arab' cavalry comes in time...).

Play testing time before new release! :scan:
 
Wow, you have impressive debugging skills! Are you an software engineer? :goodjob:
 
Not really, never studied anything of a kind. Just 4 years of modding BtS... :D

I thought I could reply by posting an updated version but what I unlocked in the events led to other smaller problems and others and others...

Tomorrow is the day of the weekly update! :)
 
Version 5 uploaded to the database.

Changes:

Flamethrower, Machine Gun, Light Machine Gun: added collateral damage (limit: 50; maxunits: 2/3)

Submarine: added attack bonus 25% against Transport, Destroyer and Dreadnought

Settler is OUT again, until I set up a follow-up to this scenario

Corporations re-enabled (3 available for this period)

Scotland Yard & National Security: National buildings, buffed their statistics overall to compensate

TEAMS:
Split big teams:
The Ottomans are a separate team
Russia and Serbia are a separate team
Coutries entering the war do not join a team, just declare war

MAP:

Added Market to all cities

Added University to German cities: Cologne, Hanover, Königsberg, Munich, Strassburg & Stuttgart (as per request; checked: all were in existence in 1914)

For balance: added University to Kazan, Kharkov, Kiev, Odessa, Warsaw, Saratov (as per post #72; checked them all, rejected Vilna/Vilnius)

And also in Sevilla, Santiago, Salamanca, Granada, Zaragoza, Bordeaux, Toulouse, Cagliari, Palermo, Naples, Christiania, Uppsala, Trieste, Graz, Zagreb, Pressburg, Lemberg, Helsinki

Suppressed University in Plymouth, Hull, Calais, Reims, Smolensk

Changed name Vilnius to Vilna, Tallinn to Reval (same post #72), rejected Helsingfors

Python events:

reviewed score system
Reviewed Alignment system (see my post #358)

Fixed the Revolutions system: was not working because onUnitLost Python Callback should be activated since BtS (onUnitKilled instead)
This automatically fixed the 'Arab' cavalry not appearing and the unit lost count for the Alignment system not working
reviewed the Revolutions system: added check for angry citizens, number of cities, civics, made the process not random anymore.


Sometimes you might get an error. That is due to the placing of rebelling units on the map: the process moves units which were there before and it has to find a suitable plot for replacement. The error is not so problematic but it breaks the chain of Python codes for one turn. Beware, the rebel unit might be placed on one of your cities and eject all military forces!

I think that the scenario/mod is now ready for the 100th anniversary! It might need some tweakings and corrections, we still have four full days for that.

Thank you for your comments and reports. :)
 
Great update! Don't be so stressed by exact anniversary date, this entire year is 100th year anniversary.

Subs becoming too overpowered, don't you think? No one can see them and now they got bonus against everyone! We really need to nerf them a little, at least do not give them bonus against Destroyers. Also Cruiser unit or naval mine unit would be really nice in this game.
 
Yes, I noticed in testing that submarines were powerful. I read a bit about them and cut the bonus attack against destroyers and dreadnoughts.

Cruisers: another ship between destroyers and dreadnoughts, what would be their specific usage? Speed only? I'm a bit reluctant to add them. They are in "In The Trenches" of course: Light Cruiser, Armored Cruiser, Protected Cruiser and Battlecruiser!

Naval mines: how would they operate? A naval unit with one movement point? In Blood and Iron, they made them transportable by ships, with coast and ocean as "Terrain impassable". A bit weird. I don't see them as units in the last version, just as a separate text entry.
 
You are right about cruisers, not much uses for them, vanila BTS does not have them either. But .. life just looks wrong without them :) One can give Dreadnoughts collateral damage (CD) and range bombardment(RB), cruisers RB but no CD, destroyers no RB or CD, but bonus against subs. Also ocean going Destroyers were few during early WW1, so one can further discriminate between Destroyers and Cruisers by limiting Destroyers to Coast tiles only.

I spent a lot of effort designing proper mine units, back in Civ 3 era, without Python of course. I see those units as zero move point subs that can demage enemy ships only when they are stumbling across them. But how to bring them and unload them into the water? If one could equip Subs and Destroyers with carry missiles ability and make those missiles range one and water based -- then this would create mine warfare. When your ship is next to mine(missile) it can fire at you. But when you are ramming it -- you clear the minefield.
 
You have strange ideas about units... missile mines jumping out of the sea... :lol:

For me, they should not attack, just passively be destructive (strength 8). I wonder why they took them out from Blood and Iron? :think:

I tested them a little as: naval units with zero movement (requires them to be loaded on a mine tender, it seems to work), defensive only, hidden nationality, always hostile but not invisible. If they are invisible, you can't attack them, I mean there would be no clash, no damage. If they are from a friendly country, still your ship can be damaged, only your mines don't hurt you (did not test the team thing). It might seem awkward but (naval or land) mines are just awful.

Problems:

- will the AI use them effectively or simply use them? Probably not.
- why use naval mines when you can build stronger ships? (and that is linked to the problem of invisibility, I don't see how to change that without dll coding).
- (Edit) animation: Ships will launch an attack like for any other naval enemy unit.

The art is OK (Blood & Iron) and it gives a varied touch.

I also checked the speed of some boats in WWI. I was surprised to see that submarines were not faster than dreadnoughts, destroyers not faster than cruisers. They were considering that a cruiser should be 30% faster than a battleship/dreadnought to be efficient. I've added a cruiser (not beautiful). I still don't think they are necessary but if you want them... :)

On a different matter, the other day I reviewed the leaders:

France: replaced PM Clemenceau by President Poincaré (both were prominent actors in WWI but President remained throughout all WWI while PM was only there as from November 1917). in France, President is more important than PM. Further notes: Blood & Iron + In The Trenches: Poincaré.

Great-Britain: it is debatable whether it should be H H Asquith, PM until December 1916 or D Lloyd George until October 1922. Or even King George V, present throughout all WWI. No change so far. Further notes: Blood & Iron: George V; In The Trenches: D Lloyd George.

Austria-Hungary: Emperor Franz Joseph I dies in November 1916 and is replaced by his son Karl I. No change.

Ottomans: Sultan Mehmed V dies in July 1918 and is replaced by Mehmed VI. No change.

Serbia: could be King Petar I but OK.

Romania: could be King Carol I, but he died in October 1914.

Greece: PM Venizelos. Fine as he was pro-British and won the support of Entente. King Konstantinos, pro-German, forced to abdicate. There is a whole list of PMs for the period.

Portugal: there is no King Manoel III! It was corrected in Spanish as King Manuel II but he was forced into exile in London as from 1910 when Portugal became a Republic. Although pro-British, he had no role in Portugal's politics. There's a whole succession of Presidents during the period (4) so the leader is changed to President of Portugal. Further notes: Blood & Iron: President Machado; In The Trenches: President de Arriaga.

Expect a release tomorrow...
 
Wow, never thought Jon Shafer himself still visits these forums :goodjob:
 
Great work isenchine! Looking forward to giving it a spin. :)

- Jon

Thank you, Jon.

What a pleasant surprise, I too was not expecting you to come back and check the forum!

I hope that you will find the changes I made to be not too detrimental to the spirit of your mod. If you want things changed or corrected, please tell me so.

I was glad to make this great little mod playable with BtS, especially in view of the 100th anniversary today of the start of the Great War.

If you want to take the mod back from here, no problem, it's all yours! :)
 
Version 6 uploaded to the Database.

Added Cruiser ship, Naval Mines (and Mine Tender) and changed 2 leaders. See my post #368 for details.

Time for a commemoration game!
 
Very true! Will set it up today ... unless you want to hosr your first PBEM yourself!
 
Not really, no!

But playing?.. Now maybe... A small nation or two...

But I'm not available during weekends.

I have no idea how you set this up. Is the AI still controlling some civs?

Edit: hum... I don't have a clean copy of BtS, there are some changes in it, mainly in the Art section.
 
Can you reinstall BTS maybe?

We need 3 human players only: France+Britain, Central Powers, Russia. The rest are AI. If you clean your BTS you can be Russia and we can wait over weekends for you :)
 
Try to find somebody else then, sorry.

My problem is that, in the beginning, my own mod was replacing BtS. So I can't change it like that. Many of my Art files are mingled with BtS. A clean reinstall of BtS could do with XML and Python but not with the Art I'm afraid.
 
Edit:
version 6 uploaded 28 July 2014, 100th Anniversary of the start of the Great War (see post 368 for details)

I am getting some undesirable Alignment -241 info every turn! :badcomp:

Why would Railway gun be so inferior to Heavy Artillery? 20 vs 24 (which is bad)... No possibility to gain exp (which is ok)...

Also Mine tender could have use a smaller art. :)

Two different units called Destroyer. And if you against new improved artillery Basic Light Artillery can be just named Light Artillery.

I understand that most Python events are tied to the current chronology (72 turns with Month=turn) but finishing long war in 72 turns is just too ... short! Fortnight chronology could be a better solution. Of course all the tech costs need to be doubled as a result.
 
Also I have the strangest issue, perhaps you could explain me how Ottomans join the war.

So I did not like Vassal states in 1914 and No permanent peace/war situation and added those options:

Option=GAMEOPTION_NO_CITY_RAZING
Option=GAMEOPTION_NO_CITY_FLIPPING
Option=GAMEOPTION_NO_TECH_TRADING
Option=GAMEOPTION_NO_TECH_BROKERING
Option=GAMEOPTION_PERMANENT_ALLIANCES
Option=GAMEOPTION_NO_CHANGING_WAR_PEACE
Option=GAMEOPTION_COMPLETE_KILLS
Option=GAMEOPTION_NO_VASSAL_STATES
Option=GAMEOPTION_NO_GOODY_HUTS

For some reason this forces Germany to declare on Turkey during the August 1914! :crazyeye:

If I leave options as is Ottomans declare war on historical date and to historical enemy. BUT we get all the weird things like Romania declaring war in July 1914 by becoming Russian vassal.
 
Alignment messages: at least the number should change each turn... It is informative for me, when you reach 400 or -400, you declare war. I can get rid of the messages of course (comment out lines 256, 257 of CvWWIEvents.py). There is also a message about revolutions (lines 404-406) if you reach 60% of the threshold...

Railway Gun vs Dicke Bertha: because the model of RG is a 320mm and DB was 420mm! :devil:

Mine Tender: CIV4ArtDefines_Unit.xml line 3368 fScale 0.8 instead of 0.92. (edit: 0.7 even)

2nd Destroyer: it only shows in the civilopedia as it is not (yet) buildable. It's the regular destroyer from BtS. I didn't want to call the WWI one 'Early Destroyer'.

Basic Light Artillery: WWITextInfos_Objects.xml line 1571: changed French and forgot English...

Fortnight is not an option in BtS. Weeks are. I agree that it is a bit short but weeks mean some 240 turns at least and some cautious work in Python + technologies, iCost...

Ottomans join war via lines 1340-1344 in Python file CvWWIEvents (onBeginGameTurn function).

GAMEOPTION_NO_VASSAL_STATES is a choice, but not mine. Call it puppet states in your head. Cuba and Panama declared war in WWI as soon as the USA did. Romania becoming a vassal of Russia is not so odd. Then of course they will declare war earlier. In my tests, Portugal very often becomes a vassal of Italy. I don't know why.

GAMEOPTION_NO_CHANGING_WAR_PEACE should work but it will be overridden by Python events. And no, Germany declaring war on Ottomans is not coded! Yesterday in my game, at the first turn, Greece declared war on the Entente (without being a vassal). That's Civ4!

Edit: added GAMEOPTION_COMPLETE_KILLS (because of the rebels who can "capture" a city without a fight and expel the defenders).
 
Option=GAMEOPTION_NO_CHANGING_WAR_PEACE is a good candidate to become a default setting. One can always uncheck it via Custom Scenario, but by default all the countries need to declare wars within historical time frame, while neutral countries must stay neutral. No vassals option needs to be there for the same reason. But! When I do that -- something triggers war declaration from Germany. I mean try it yourself please, start the game with Custom scenario, select Permanent War or Peace , play one turn with Germany -- it will say you have declared on Turkey during the August 1914. I used WB to enforce peace but war was declared during september this time!

Please, please :help:
 
Back
Top Bottom