Terrain concealment function in events.txt?

MikeLynch

Just a Baker Street Muse
Joined
Oct 5, 2003
Messages
540
Location
The Bering Isthmus
OK, so as I continue fiendishly editing ToT, I discover that the terrain is revealed on Centaurus when you arrive, due no doubt to the Apollo Program.

I find this ********. I thought half the fun of settling a new planet would be plowing through The Big Blackness again. That vague feeling of vulnerability.

So what I'm wondering is if there's an events.txt command -- or some other trick -- to render that map (and those of any subsequent planets) "unexplored" again. Anybody know?

(It's a long learning curve......)
:D
 
I was afraid you'd say that. B/c Apollo also allows construction of SS parts, so no map reveal = no space race at all. So if I'm understanding correctly, what I would need to do is:

-Disable Apollo, and probably also set the games to Bloodlust.

-Create an event in events.txt to place a settler-type unit on Centaurus when a particular technology (Hyperspace Travel, in my mod) is discovered. Probably also include a text message to explain how that unit got there!

-Make that same tech the prereq for the Transporter city improvement, so that units can be transported between Earth and the first Centaurus city, all the while maintaining the blackness on Centaurus.

It's ugly, but it might be the only way, eh?
 
might not be such a bad way of doing it. I have thought about this as well. As well as a tech, you could also have a wonder (not apollo) as a 'space colony' etc, then using the 'cityproduction' or similar tirgger, give colonists on centarus to whoever built the wonder (or give tech for colonists to the builder). Then wonder would also give benefits itself, maybe making people happy with their leaders for such an achivement (if you replaced one of the big cathedreal wonders etc). Also there could be a trigger timer for 10 or 20 turns, after which all other civs can get colonists, but the first coloniser has a big head start.

Then right at the end of the tech tree, apollo program could be 'ascent to transcendence' etc. Revelas the whole map because of physics using remote viewing or something!

Spaceship improvements could be 'aspects of higher consciousness' that you have to 'build'. that one would need a lot of work tho!
 
Then wonder would also give benefits itself, maybe making people happy with their leaders for such an achivement (if you replaced one of the big cathedreal wonders etc). Also there could be a trigger timer for 10 or 20 turns, after which all other civs can get colonists, but the first coloniser has a big head start.
Right now I'm working on something almost exactly like this; Cure for Cancer has become Alpha Centauri Mission. It has the same function as Cure for Cancer, plus the following, through events.txt:
-grants the tech required ("Terraforming") to build the only unit in the game that can make Teleporters on the terrain (I call them Jump Pads)
-puts 3 Engineers on Centaurus
...and when you finish "building" the Mission, you get a text box containing much of the same stuff from the landing movie ("you have fulfilled the dream of countless generations..."). For now, Apollo and all SS parts are disabled.

The timer delay thing is an interesting puzzle. If I take Terraforming out of the tech tree (it's very near the end), that ensures that the nation working on Alpha Centauri Mission doesn't discover it before the colonists "land," which is a very real possibility. But if I take it out of the tech tree, how can the other civs learn it without there being a cheesy "instant advance" event 10-20 turns later? You can't use an event to change the prereqs of a tech, can you?

Perhaps if I make Terraforming unlearnable. One has to steal the tech from the civ who got it, or bribe the unit it allows. I don't see why this is a terribly unfair proposition, since only one civ gets to build the "spaceship" now anyway. And plus anybody can use the Jump Pads, even if they didn't build them -- right? Like fortresses, right?
 
You could make the AC engineers a result of acquiring the Terraforming tech.

Don't make the terraforming tech unreachable, but make one of its prerequisites unreachable instead.

When someone builds the AC Mission wonder, the builder instantly gets Terraforming. Additionally, all civs get its unreachable prerequisite tech.

So, the next turn the one with the wonder with "land" their engineers on AC (since Terraforming triggers the engineer landing), while all the others can now start researching Terraforming (and whichever prerequisite techs they still need for it first, of course). Once they get Terraforming, they will also land engineers on AC.

:hmm: I guess that makes the names of the wonder and the tech a little misplaced though, but I hope you see what I mean.
 
Don't make the terraforming tech unreachable, but make one of its prerequisites unreachable instead.
A good idea, but I've run out of empty tech slots!! :cry:

I've compensated for Terraforming not being researchable by giving it a pretty darn high AI value, increasing the likelihood that opponents will try to obtain it in some other way. Though it sucks that Terraforming and its resultant city improvement now can't show up on the Civilopedia.
 
Originally posted by MikeLynch
A good idea, but I've run out of empty tech slots!! :cry:

How about requiring people to have discovered Future techs?

Or... Use the EnableTechnology action. When someone builds the wonder (test with the CityProduction trigger), enable Terraforming for everyone.

To do this, make Terraforming a normal researchable tech, but change the values in the @CIVILIZE2 and @LEADERS2 sections. Make Terraforming a separate group, unresearchable by anyone. The EnableTechnology will then enable it upon building of the wonder.

To give a slight advantage to the wonder builder, you can give the builder the Terraforming tech upon building of the wonder. All others will have to research it.

Let me see...

Code:
@IF
CityProduction
builder=AnyBody
improvement=(index of Alpha Centauri Mission)
@THEN
EnableTechnology
whom=AnyBody
technology=(index of Terraforming)
value=0
@ENDIF

@IF
CityProduction
builder=AnyBody
improvement=(index of Alpha Centauri Mission)
@THEN
GiveTechnology
technology=(index of Terraforming)
receiver=TriggerReceiver
@ENDIF

I used two different ones, because the macro.txt says Give Technology and EnableTechnology can't be in the same event.
 
Merc, you rock.

So if I use this code, Terraforming and all connected stuff will still show up in the Civilopedia? That would be the best of both worlds, and also not quite as unfair as an unresearchable tech.

Man, this advanced scenario language is some powerful stuff.
 
I'm just learning myself, but yes...

The @CIVILIZE2 section of the rules.txt allows you to divide all technologies into up to 8 groups (by giving each tech a group number of 0-7).

The following @LEADERS2 sections then allows you to decide whether techs from those groups can be owned (i.e. only acquired by trading/events) or researched by each of the 21 civs (the rules.txt provides a bit more info here).

And most interestingly, the EnableTechnology event allows you to change those group properties.

So, as I showed in the example, you can have a tech be unresearchable at the start, and make it researchable again by events.

It would be part of the technology tree just like any other tech, so it'll show up in the Civilopedia just fine. In fact, it will be marked in red because you can't research it (yet).

One more thing to note: the EnableTechnology asks for one technology, but the properties will change for the entire technology group it is a part of!
 
Back
Top Bottom