[TOT] The Test Of Time Patch Project

I recall this, too. In my old Empire of the Rising Sun scenario, I wanted all cities on the Japanese Islands to demand three slots of Hides, renamed "SE Asian Goods," or something like that. Then, when you captured cities like Saigon, Balikpapen, Davao, and a few others, which were also edited to produce SE Asian Goods (Hides) you got free spawned Freight, homed to the city they were spawned in, which, of course, like all spawned Freight (or Caravans), automatically had the Hides commodity slot. Then, you "ran the gauntlet," of spawned US Submarines to carry them to the Home Islands and cash them in. This flaw in CivCity, kind of killed that idea.
 
TNO, another feature question: Would it be possible to let the game control the city graphics not by the tribe which controls the city, but rather by the tribe which founded it (from the data structure it would simply reference a different byte in the city data, right?).

And since you managed to have the option of city graphics defineable separately for tribe and/or map: Would something like that also work for the "people.bmp"?
If that could reference to the founding tribe too optionally that would then be completely awesome! (I'm thinking, like, a fantasy scenario where orcs occupy an elven town, and the elvish population simply remains in place ...)
 
Next thing you know we'll be petitioning for Civ3-style cultural assimilation... :mischief:
 
Next thing you know we'll be petitioning for Civ3-style cultural assimilation... :mischief:

You know - I was thinking about that a lot. :D
If the "founder" data bit can also be edited with lua ...

But no, let's not get ahead of ourselves. Or rather, ahead of TNO. ;)
 
Question about events: Since ToTPP allows for extra terrain types, are they automatically included in the "ExceptionMask" parameter, if I want the game to ignore a new terrain type when it changes the terrain in a set square?
 
Another question: Since ToTPP now utilizes LUA, would it be possible to have specific units change terrain when they attack?

Example: In a space opera scenario, with oceans being empty space, and land representing individual planets/stars, and it has there are two nuclear units.

The first is "Planet killer", which kills half a city/planet's population, and pollutes any neighboring "land" tiles.

Then some sadistic bastard researches "Artificial black holes". "Singularity bomb" attacks a planet/city/lone barbarian Partisans, completely wipes the planet and/or surrounding tiles from the map and changes them to ocean/Empty Space squares.

Might this be possible?
 
I'm not sure where I'd need to post anything for help with this, so... Here goes.

I've been trying to get this working with my own install of the game, since I've had a nostalgia hit for this version of the game again as I actually played this before MGE. But even though I've properly patched to 1.1, and the patch recognizes I have, the game will always lock up at the main menu after a short bit of the music plays. If I actually keep the cd in the drive it doesn't even get to there and just automatically crashes on a black screen.

What exactly did I do wrong here?

Edit: Messing around with it I seem to have found it's related to the directshow options... Directx9 has been a constant thorn in my side since moving to windows 8.
 
Edit: Messing around with it I seem to have found it's related to the directshow options... Directx9 has been a constant thorn in my side since moving to windows 8.

Uh, that sounds bad - hope this does not point to a more general problem with Win8 ...
Perhaps it would be helpful if you would give some more information on the exact system you're using, perhaps that can help TNO to narrow the problem down. But I'm afraid he's the only one who can actually provide some helpful solution ...


Another question: Since ToTPP now utilizes LUA, would it be possible to have specific units change terrain when they attack?

But this on the other hand is something I can actually help with (I hope) :)

Sure, that works, easy peasy.

Code:
--specify ID of terrain entry which is "Empty Space"
local ID_EmptySpace = 10

civ.scen.onUnitKilled(function (killed, killedBy)

  if killedBy.name == "Singularity bomb" then
    killed.location.terrainType = ID_EmptySpace  
  end

end)

I confess I did not playtest it (and I don't really know much lua to begin with), but in essence that's all that is needed.
Only question is, if and how atomic bombs actually trigger the Unit Killed event. Solution might be to create an attack=98 unit - or even actually something with a chance of being intercepted/shot down.


And since I'm typing a post anyway - a real cool lua functionality: Every unit can build roads! (Or any other improvement for that matter)
Code:
unit.order=5
Wait two turns and voila. :) The unit does not stop automatically though, so in an actual scenario environment one would have to somehow take care to have some event delete the command again. But still. :)
 
Uh, that sounds bad - hope this does not point to a more general problem with Win8 ...
Perhaps it would be helpful if you would give some more information on the exact system you're using, perhaps that can help TNO to narrow the problem down. But I'm afraid he's the only one who can actually provide some helpful solution ...

Yeah it... Turned out to be user error. It was crashing since I was missing directshow compatible codecs, works perfectly fine now with all options enabled.
 
Yeah it... Turned out to be user error. It was crashing since I was missing directshow compatible codecs, works perfectly fine now with all options enabled.

Great to hear! :goodjob:


I think the hard part is telling the game to change the terrain in the spot the unit was killed, isnt it?

Well .... not really?
Code:
killed.location.terrainType = ID_EmptySpace
That's it, all's there. :) Nothing more needed actually.

The function parameter "killed" points to the destroyed unit, method ".location" gives the tile. "terrainType" can be used to both get and set the id. You just have to specify which terrain number the resulting "empty space" actually has in your rules.

I guess one could improve it even a little bit, so it triggers only when the "singularity bomb" is the attacking unit - condition could be
Code:
if killedBy.name == "Singularity bomb" and killedBy.owner==civ.getCurrentTribe then

Perhaps you'll get around to playtest it - hope I did not put a code bug in it. :)

@TNO: By the way, since I requested a method to have the combat event trigger only for attacker or defender - I think that's already possible like written above. Hope it works as intended at least. :)
 
This has probably been asked, but is it possible to set up things so a scenario designer can set barbarian units to pack as much "punch" as a unit with the same or similar stats controlled by a player civ - that is, to disable the barbarian attack and defense penalty versus player civ units?
 
Now that I see this thread - I need to make sure to install and play TOT again :D!
 
Question: Now tha Lua is integrated with ToT/ToTPP, will it be possible to replace existing maps that were already imported into a scenario, with a different map?
 
Question: Now tha Lua is integrated with ToT/ToTPP, will it be possible to replace existing maps that were already imported into a scenario, with a different map?

Hmmm ... perhaps the still undocumented features allow a more direct and suitable way ... but technically that is possible, yes. It's very brute force, not plug-and-play, and needs some minor programming in two steps. And rivers and special resources cannot not be "imported", as far as I see.

Step 1: You have to have the new map in an existing game (can be any, regardless of where you want to put it).
Then you have to define a small script to be executed in the lua console - looping over all x from 0 to (user defined) maxX and all y from 0 to (user defined) maxY and printing the terraintype, like e.g
Code:
print(x, y, civ.getTile(x,y, mapID).terrainType) )
.
Copy/paste that info in a text file

Step 2a: prepare a local definition of a variable array containing the informations on x,y,terrainType
Step 2b: Start up the actual game you want to put the map into. Start a second lua scripts which again loops over x and y, this time however setting the terraintype
Code:
civ.getTile(x,y, mapID).terrainType = arrayvar[x,y]

(Again disclaimer, I'm not perfectly familiar with lua yet so even these syntax snippets might be incorrect in details)

So, to reiterate - definitely a dirty brute force method - but it will yield the same terrain types in the same tiles, sans rivers and resources (which can be read but not set in the current lua interface, as far as I read it).
 
Hello and thanks for keeping the fire burning!

But I can't make ToTLauncher work, it doesn't run at all. It's in the D:\Civ2 ToT folder, Civ2.exe patched to 1.1, WinXP system. What could be wrong?
 
Hello everyone, unfortunately I'm coming with problems.
I have Windows 8.1 64bit and basically I have followed the Catfish's Cave ToT Installation Guide.
I can run the launcher, but when I run the game: I see main menu, I hear music for like 1 second and then game hangs. Compatibility mode does not help. Anyone had similar situation?

Edit:
@Swaigstiks: Try to run TOTLauncher.exe with compatibility mode for Windows 2000 - it helped for my virtual machine with Windows XP.
 
Top Bottom