[TOT] The Test Of Time Patch Project

@TheNamelessOne

If it isn't too much trouble, can you please allow civ.playMusic to accept the full file path (as it did before) in the next release? I may have used civ.playMusic in the scenarios that I worked on with JPetroski, so this regression could affect someone trying to play a scenario that is supposed to work. If this would be inconvenient for some reason, then I can go back and re-release the scenarios.
 
I think this is what your extra techs should look like
Code:
Tech With ID 100, 3, 0, no, no, 0, 0 ; X64
Tech With ID 101, 3, 0, no, no, 0, 0 ; X65
Tech With ID 102, 3, 0, no, no, 0, 0 ; X66
Tech With ID 103, 3, 0, no, no, 0, 0 ; X67
Tech With ID 104, 3, 0, no, no, 0, 0 ; X68
Tech With ID 105, 3, 0, no, no, 0, 0 ; X69
Tech With ID 106, 3, 0, no, no, 0, 0 ; X6A
Tech With ID 107, 3, 0, no, no, 0, 0 ; X6B
Tech With ID 108, 3, 0, no, no, 0, 0 ; X6C
Tech With ID 109, 3, 0, no, no, 0, 0 ; X6D
Tech With ID 110, 3, 0, no, no, 0, 0 ; X6E
Tech With ID 111, 3, 0, no, no, 0, 0 ; X6F
Tech With ID 112, 3, 0, no, no, 0, 0 ; X70
Tech With ID 113, 3, 0, no, no, 0, 0 ; X71
Tech With ID 114, 3, 0, no, no, 0, 0 ; X72
Tech With ID 115, 3, 0, no, no, 0, 0 ; X73
Tech With ID 116, 3, 0, no, no, 0, 0 ; X74
Tech With ID 117, 3, 0, no, no, 0, 0 ; X75
Tech With ID 118, 3, 0, no, no, 0, 0 ; X76
Tech With ID 119, 3, 0, no, no, 0, 0 ; X77
Tech With ID 120, 3, 0, no, no, 0, 0 ; X78
Tech With ID 121, 3, 0, no, no, 0, 0 ; X79
Tech With ID 122, 3, 0, no, no, 0, 0 ; X7A
Tech With ID 123, 3, 0, no, no, 0, 0 ; X7B
Tech With ID 124, 3, 0, no, no, 0, 0 ; X7C
Tech With ID 125, 3, 0, no, no, 0, 0 ; X7D
Tech With ID 126, 3, 0, no, no, 0, 0 ; X7E
Tech With ID 127, 3, 0, no, no, 0, 0 ; X7F
Tech With ID 128, 3, 0, no, no, 0, 0 ; X80
Tech With ID 129, 3, 0, no, no, 0, 0 ; X81
Tech With ID 130, 3, 0, no, no, 0, 0 ; X82
Tech With ID 131, 3, 0, no, no, 0, 0 ; X83
Tech With ID 132, 3, 0, no, no, 0, 0 ; X84
Tech With ID 133, 3, 0, no, no, 0, 0 ; X85
Tech With ID 134, 3, 0, no, no, 0, 0 ; X86
Tech With ID 135, 3, 0, no, no, 0, 0 ; X87
Tech With ID 136, 3, 0, no, no, 0, 0 ; X88
Tech With ID 137, 3, 0, no, no, 0, 0 ; X89
Tech With ID 138, 3, 0, no, no, 0, 0 ; X8A
Tech With ID 139, 3, 0, no, no, 0, 0 ; X8B
Tech With ID 140, 3, 0, no, no, 0, 0 ; X8C
Tech With ID 141, 3, 0, no, no, 0, 0 ; X8D
Tech With ID 142, 3, 0, no, no, 0, 0 ; X8E
Tech With ID 143, 3, 0, no, no, 0, 0 ; X8F
Tech With ID 144, 3, 0, no, no, 0, 0 ; X90
Tech With ID 145, 3, 0, no, no, 0, 0 ; X91
Tech With ID 146, 3, 0, no, no, 0, 0 ; X92
Tech With ID 147, 3, 0, no, no, 0, 0 ; X93
Tech With ID 148, 3, 0, no, no, 0, 0 ; X94
Tech With ID 149, 3, 0, no, no, 0, 0 ; X95
Tech With ID 150, 3, 0, no, no, 0, 0 ; X96
Tech With ID 151, 3, 0, no, no, 0, 0 ; X97
Tech With ID 152, 3, 0, no, no, 0, 0 ; X98
Tech With ID 153, 3, 0, no, no, 0, 0 ; X99
Tech With ID 154, 3, 0, no, no, 0, 0 ; X9A
Tech With ID 155, 3, 0, no, no, 0, 0 ; X9B
Tech With ID 156, 3, 0, no, no, 0, 0 ; X9C
Tech With ID 157, 3, 0, no, no, 0, 0 ; X9D
Tech With ID 158, 3, 0, no, no, 0, 0 ; X9E
Tech With ID 159, 3, 0, no, no, 0, 0 ; X9F
Tech With ID 160, 3, 0, no, no, 0, 0 ; XA0
Tech With ID 161, 3, 0, no, no, 0, 0 ; XA1
Tech With ID 162, 3, 0, no, no, 0, 0 ; XA2
Tech With ID 163, 3, 0, no, no, 0, 0 ; XA3
Tech With ID 164, 3, 0, no, no, 0, 0 ; XA4
Tech With ID 165, 3, 0, no, no, 0, 0 ; XA5
Tech With ID 166, 3, 0, no, no, 0, 0 ; XA6
Tech With ID 167, 3, 0, no, no, 0, 0 ; XA7
Tech With ID 168, 3, 0, no, no, 0, 0 ; XA8
Tech With ID 169, 3, 0, no, no, 0, 0 ; XA9
Tech With ID 170, 3, 0, no, no, 0, 0 ; XAA
Tech With ID 171, 3, 0, no, no, 0, 0 ; XAB
Tech With ID 172, 3, 0, no, no, 0, 0 ; XAC
Tech With ID 173, 3, 0, no, no, 0, 0 ; XAD
Tech With ID 174, 3, 0, no, no, 0, 0 ; XAE
Tech With ID 175, 3, 0, no, no, 0, 0 ; XAF
Tech With ID 176, 3, 0, no, no, 0, 0 ; XB0
Tech With ID 177, 3, 0, no, no, 0, 0 ; XB1
Tech With ID 178, 3, 0, no, no, 0, 0 ; XB2
Tech With ID 179, 3, 0, no, no, 0, 0 ; XB3
Tech With ID 180, 3, 0, no, no, 0, 0 ; XB4
Tech With ID 181, 3, 0, no, no, 0, 0 ; XB5
Tech With ID 182, 3, 0, no, no, 0, 0 ; XB6
Tech With ID 183, 3, 0, no, no, 0, 0 ; XB7
Tech With ID 184, 3, 0, no, no, 0, 0 ; XB8
Tech With ID 185, 3, 0, no, no, 0, 0 ; XB9
Tech With ID 186, 3, 0, no, no, 0, 0 ; XBA
Tech With ID 187, 3, 0, no, no, 0, 0 ; XBB
Tech With ID 188, 3, 0, no, no, 0, 0 ; XBC
Tech With ID 189, 3, 0, no, no, 0, 0 ; XBD
Tech With ID 190, 3, 0, no, no, 0, 0 ; XBE
Tech With ID 191, 3, 0, no, no, 0, 0 ; XBF
Tech With ID 192, 3, 0, no, no, 0, 0 ; XC0
Tech With ID 193, 3, 0, no, no, 0, 0 ; XC1
Tech With ID 194, 3, 0, no, no, 0, 0 ; XC2
Tech With ID 195, 3, 0, no, no, 0, 0 ; XC3
Tech With ID 196, 3, 0, no, no, 0, 0 ; XC4
Tech With ID 197, 3, 0, no, no, 0, 0 ; XC5
Tech With ID 198, 3, 0, no, no, 0, 0 ; XC6
Tech With ID 199, 3, 0, no, no, 0, 0 ; XC7
Tech With ID 200, 3, 0, no, no, 0, 0 ; XC8
Tech With ID 201, 3, 0, no, no, 0, 0 ; XC9
Tech With ID 202, 3, 0, no, no, 0, 0 ; XCA
Tech With ID 203, 3, 0, no, no, 0, 0 ; XCB
Tech With ID 204, 3, 0, no, no, 0, 0 ; XCC
Tech With ID 205, 3, 0, no, no, 0, 0 ; XCD
Tech With ID 206, 3, 0, no, no, 0, 0 ; XCE
Tech With ID 207, 3, 0, no, no, 0, 0 ; XCF
Tech With ID 208, 3, 0, no, no, 0, 0 ; XD0
Tech With ID 209, 3, 0, no, no, 0, 0 ; XD1
Tech With ID 210, 3, 0, no, no, 0, 0 ; XD2
Tech With ID 211, 3, 0, no, no, 0, 0 ; XD3
Tech With ID 212, 3, 0, no, no, 0, 0 ; XD4
Tech With ID 213, 3, 0, no, no, 0, 0 ; XD5
Tech With ID 214, 3, 0, no, no, 0, 0 ; XD6
Tech With ID 215, 3, 0, no, no, 0, 0 ; XD7
Tech With ID 216, 3, 0, no, no, 0, 0 ; XD8
Tech With ID 217, 3, 0, no, no, 0, 0 ; XD9
Tech With ID 218, 3, 0, no, no, 0, 0 ; XDA
Tech With ID 219, 3, 0, no, no, 0, 0 ; XDB
Tech With ID 220, 3, 0, no, no, 0, 0 ; XDC
Tech With ID 221, 3, 0, no, no, 0, 0 ; XDD
Tech With ID 222, 3, 0, no, no, 0, 0 ; XDE
Tech With ID 223, 3, 0, no, no, 0, 0 ; XDF
Tech With ID 224, 3, 0, no, no, 0, 0 ; XE0
Tech With ID 225, 3, 0, no, no, 0, 0 ; XE1
Tech With ID 226, 3, 0, no, no, 0, 0 ; XE2
Tech With ID 227, 3, 0, no, no, 0, 0 ; XE3
Tech With ID 228, 3, 0, no, no, 0, 0 ; XE4
Tech With ID 229, 3, 0, no, no, 0, 0 ; XE5
Tech With ID 230, 3, 0, no, no, 0, 0 ; XE6
Tech With ID 231, 3, 0, no, no, 0, 0 ; XE7
Tech With ID 232, 3, 0, no, no, 0, 0 ; XE8
Tech With ID 233, 3, 0, no, no, 0, 0 ; XE9
Tech With ID 234, 3, 0, no, no, 0, 0 ; XEA
Tech With ID 235, 3, 0, no, no, 0, 0 ; XEB
Tech With ID 236, 3, 0, no, no, 0, 0 ; XEC
Tech With ID 237, 3, 0, no, no, 0, 0 ; XED
Tech With ID 238, 3, 0, no, no, 0, 0 ; XEE
Tech With ID 239, 3, 0, no, no, 0, 0 ; XEF
Tech With ID 240, 3, 0, no, no, 0, 0 ; XF0
Tech With ID 241, 3, 0, no, no, 0, 0 ; XF1
Tech With ID 242, 3, 0, no, no, 0, 0 ; XF2
Tech With ID 243, 3, 0, no, no, 0, 0 ; XF3
Tech With ID 244, 3, 0, no, no, 0, 0 ; XF4
Tech With ID 245, 3, 0, no, no, 0, 0 ; XF5
Tech With ID 246, 3, 0, no, no, 0, 0 ; XF6
Tech With ID 247, 3, 0, no, no, 0, 0 ; XF7
Tech With ID 248, 3, 0, no, no, 0, 0 ; XF8
Tech With ID 249, 3, 0, no, no, 0, 0 ; XF9
Tech With ID 250, 3, 0, no, no, 0, 0 ; XFA
Tech With ID 251, 3, 0, no, no, 0, 0 ; XFB
Tech With ID 252, 3, 0, no, no, 0, 0 ; XFC

Massive thanks, Prof! That list has saved so much time and head-scratching. Scrolling down that series of techs is mind-blowing.
It's like back to the early days of CIV2...Endless possibilities. :)
 
Thanks for reporting this, 0.18 skips fortifying units from being activated to fix an issue with the status panel not updating. This is clearly an unintended consequence of that change.

I'll upload a fix later today.
 
Release 0.18.1:

Fixes
:
- Fixed units unable to fortify.
- Changed civ.playMusic to accept absolute paths again.

This build depends on the Microsoft C++ runtime libraries (Older version for Windows XP). Install this if you get an error on launch.

As always, detailed information about the patches is available in the launcher. For an overview of all patches, as well as installation instructions & requirements, see the included README.txt. For Lua API documentation see the Lua reference thread. Happy gaming! :)
 

Attachments

  • TOTPPv018.1.zip
    255.5 KB · Views: 55
LUA: Added onGetFormattedDate

onGetFormattedDate (since 0.18)
civ.scen.onGetFormattedDate(function (turn, defaultDateString) -> string) -> void

Registers a function that is called when the game needs to get the date string for a given turn (e.g. "4000 B.C." for turn 1). `turn` is the turn for which the date is requested (not always the current turn), and `defaultDateString` is the string as formatted by the game

I think that the game is always providing this function with the current turn, not the turn for the date desired. I did a test by returning 'Testing Turn '..turn, and the spaceship window showed my spaceship arriving on the current turn (203), not the actual turn (I think 207, but doesn't really matter). Returning defaultDateString provided the correct date. Let me know if you'd like a working scenario with this bug.
 
Fortify now works a charm. Thanks, TNO.

Future idea - I am wondering if there is any way to meddle with the bonuses of cty improvements above 50% increments.
Or is there any way to increase improvement count in the same manner as the techs and units? Perhaps cloning existing ones?
 
Yes. Well, we recently just saw the limits for units pushed to 189.
using some values that would "naturally" belong to excess improvements.

Prof explained about the 256 storage values, with about 128 positive for units and 128 negative for improvements.
first expansion made use of all the positive values. Second expansion made use of negative values left unused by improvements.

Again, if remembering well ;) . And, after all, indeed, we may see a(nother) creative genius stroke pushing away the limit again someday.
 
I'm trying to utilize the extra unit slots for my 1937 scenario now under construction. I installed Curt's new unit bmp, and I've changed the number of units in @COSMIC2 to 189, added 9 additional lines to @UNITS and the same number to @UNITS_ADVANCED. I added 9 more units, up to #134. Only the first two (126 and 127) appear or are buildable or can be added with the cheat menu. Interestingly, the #127 unit slot is on the next row in the units bmp. file. Perhaps I've overlooked something. Can anyone help? Thanks.
 
Hi Tech,

Have you tried updating the @@UNIT_INDEX in the describe.txt file?

As per the TOTPP reference guide
"
Describe.txt:
To make the Civilopedia work with the new unit types, it is important to update @@UNIT_INDEX. This list needs to have the same order as the unit entries in Rules.txt. Set the extra entries to -1 for a quick fix (no description).
"
 
using some values that would "naturally" belong to excess improvements.

Prof explained about the 256 storage values, with about 128 positive for units and 128 negative for improvements.
first expansion made use of all the positive values. Second expansion made use of negative values left unused by improvements.

Again, if remembering well ;) . And, after all, indeed, we may see a(nother) creative genius stroke pushing away the limit again someday.

It's best to keep an open mind, and not shoot down suggestions.
I'll wait to see what TNO himself says. Cheers for your input.
 
Tech here's a rules file that works (including getting them in the cheat menu). It has all 189 units present and it works in cheat menu as well as the build (well, assuming you modify @Units Advanced to allow it). It might just be easier to spend a few minutes copying and pasting back and forth than to troubleshoot.

I'm also attaching a working units.bmp for you.

Note that while all 189 are present I have attached a rules file that just has them more or less blank (though extra unit 62 is now buildable by the white civ just for testing). So hopefully this doesn't jam you up and you can just move forward with it and only use the units you need.
 

Attachments

  • Rules.txt
    82.6 KB · Views: 26
  • Units.bmp
    2.7 MB · Views: 27
@TheNamelessOne

How feasible is it to add the civ.scen.onCanFoundCity check to advanced tribes? I'm confident I can work around it using tile.fertility and make a simplified interface for the designer in my template, but it would be more convenient to have it in the same place as the other checks.

Now that I think about it, we don't have a way of checking if a tile has a village (or, at least I don't know how), so messing with the fertility values of all the tiles might impact the AI's play (more than this event will do anyway) since I can't restrict fertility changes to tiles with villages. This would only be relevant for circumstances where the AI would be allowed to build with a setter, but wouldn't deserve an advanced tribe. This might be an unlikely problem, but I still think we could use a village check for tiles anyway.
 
Top Bottom