Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Miscellaneous > Archive > CtP2-Creation/AI/Mods/Scenarios-Archive > IW, Could you help with one of yours Slics?
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!

bottom of page
  
Author
Thread    < Last Thread     Next Thread > Post New Thread     Post A Reply
Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 14-01-2002 22:49
Edit/Delete Message Reply w/Quote
#1 Report this post to a moderator
IW, Could you help with one of yours Slics? Remove this text

code:
city_t tmpCity; int_t tmpPlayer; int_t tmpWonder; void_f VeteranEffect (location_t tmpLoc, int_t tmpPlayer) { int_t i; unit_t tmpUnit; int_t tmpNum; int_t numUnits; int_t tmpPlayer2; player[0] = tmpPlayer; numUnits = player[0].units; tmpPlayer2 = tmpPlayer; if (IsPlayerAlive(tmpPlayer2)) { // Make all Units non veteran, except Special Units for (i = 0; i < numUnits; i = i + 1) { GetUnitByIndex(tmpPlayer2, i, tmpUnit); tmpNum = tmpUnit.type; if (tmpNum >= 106 && tmpNum <= 112) { ToggleVeteran(tmpUnit, 1); } else { ToggleVeteran(tmpUnit, 0); } } } // Make all Units veterans who share the location Alexander, Robin Hood and Richard The Lion Heart tmpNum = GetUnitsAtLocation(tmpLoc); for (i = 0; i < tmpNum; i = i + 1) { GetUnitFromCell(tmpLoc, i, tmpUnit); ToggleVeteran(tmpUnit, 1); } } // Hammurabi HandleEvent(CreateWonder) 'Hammurabi' post { tmpWonder = value[0]; if(tmpWonder == WonderDB(WONDER_HANGING_GARDENS)) { tmpCity = city[0]; tmpPlayer = tmpCity.owner; CreateUnit(tmpPlayer, UnitDB(UNIT_HAMMURABI), city[0].location, 0); DisableTrigger('Hammurabi'); } }


This is your Wonder Unit Code, IW. But could you make a small change. Instead of making the Wonder unit appear after finish building a Wonder could you make this unit appear after research an advance? Maybe appearing in the Capital City (or anywhere else if it became a problem)? And with a 20 % (1 out of 5) chance of happenning.

Last edited by Pedrunn on 14-01-2002 at 23:22

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 14-01-2002 23:41 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#2 Report this post to a moderator
Support Apolyton buy from Amazon

Fair enough

The veteran function can remain the same. It deals with the unit, not the creation effect, so just leave that in. Then for every unit you want created, make one of these handlers (as in the wonder-unit code):

code:
HandleEvent(GrantAdvance) 'Hammurabi' post { city_t tmpCity; int_t tmpPlayer; int_t tmpAdvance; int_t randomnum; tmpAdvance = value[0]; if(tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) { randomnum = random(4); if(randomnum > 3){ tmpPlayer = player[0]; int_t i; i = 0; while(i < player[0].cities){ GetCityByIndex(tmpPlayer, i, tmpCity); city[0] = tmpCity; if(UnitsAtLocation(city[0].location) != 12){ CreateUnit(tmpPlayer, UnitDB(UNIT_HAMMURABI), city[0].location, 0); } else { i = i + 1; } } } } }


Just change two bits for each one. The name of the handler - in between the two ' s at the top, and then change the unit it refers to in the UnitDB( brackets.

Then in the veteran function you will need to change some things:
code:
if (tmpNum >= 106 && tmpNum <= 112) {

Make the numbers in there be the lower 'wonderunit' number, and upper 'wonderunit' number. So it only refers to the wonderunits you want.

It strikes me that the veteran function is never actually used in the code. I don't know how that got through...
Add these lines:
code:
HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); }



DISCLAIMER: untried, untested, bugs likely.

Last edited by Immortal Wombat on 14-01-2002 at 23:52

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 15-01-2002 00:33
Edit/Delete Message Reply w/Quote
#3 Report this post to a moderator
Re: IW, Could you help with one of yours Slics? Got spare money?

Is that correct?

OBS: I guess this definitions will be off:
city_t tmpCity;
int_t tmpWonder;

Or should i leave both there for no reason since they wont interfere?
Or are they needed?

code:
city_t tmpCity; int_t tmpPlayer; int_t tmpWonder; void_f VeteranEffect (location_t tmpLoc, int_t tmpPlayer) { int_t i; unit_t tmpUnit; int_t tmpNum; int_t numUnits; int_t tmpPlayer2; player[0] = tmpPlayer; numUnits = player[0].units; tmpPlayer2 = tmpPlayer; if (IsPlayerAlive(tmpPlayer2)) { // Make all Units non veteran, except Special Units for (i = 0; i < numUnits; i = i + 1) { GetUnitByIndex(tmpPlayer2, i, tmpUnit); tmpNum = tmpUnit.type; if (tmpNum >= 106 && tmpNum <= 112) { ToggleVeteran(tmpUnit, 1); } else { ToggleVeteran(tmpUnit, 0); } } } // Make all Units veterans who share the location Alexander, Robin Hood and Richard The Lion Heart tmpNum = GetUnitsAtLocation(tmpLoc); for (i = 0; i < tmpNum; i = i + 1) { GetUnitFromCell(tmpLoc, i, tmpUnit); ToggleVeteran(tmpUnit, 1); } } HandleEvent(GrantAdvance) 'Hammurabi' post { city_t tmpCity; int_t tmpPlayer; int_t tmpAdvance; int_t randomnum; tmpAdvance = value[0]; if(tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) { randomnum = random(4); if(randomnum > 3){ tmpPlayer = player[0]; int_t i; i = 0; while(i < player[0].cities){ GetCityByIndex(tmpPlayer, i, tmpCity); city[0] = tmpCity; if(UnitsAtLocation(city[0].location) != 12){ CreateUnit(tmpPlayer, UnitDB(UNIT_HAMMURABI), city[0].location, 0); } else { i = i + 1; } } } } } HandleEvent(GrantAdvance) 'Alexander' post { city_t tmpCity; int_t tmpPlayer; int_t tmpAdvance; int_t randomnum; tmpAdvance = value[0]; if(tmpAdvance == AdvanceDB(ADVANCE_INFANTRY_TACTICS)) { randomnum = random(4); if(randomnum > 3){ tmpPlayer = player[0]; int_t i; i = 0; while(i < player[0].cities){ GetCityByIndex(tmpPlayer, i, tmpCity); city[0] = tmpCity; if(UnitsAtLocation(city[0].location) != 12){ CreateUnit(tmpPlayer, UnitDB(UNIT_ALEXANDER), city[0].location, 0); } else { i = i + 1; } } } } }

Last edited by Pedrunn on 15-01-2002 at 00:45

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 15-01-2002 01:14 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#4 Report this post to a moderator
Tired of ads?

That is correct.

The definitions you noted at the top need leaving out! Otherwise they are defined twice, and cause SLIC errors.

The code is not the fastest way of doing it, but it is the easiest way of doing it so you (and anyone else viewing this thread) can add more of your own.

One small thing to add. I don't like while-loops and I'm a bit concerned about this one. To be on the safe side, after the CreateUnit line in each handler, add the line

code:
i = i + player[0].cities;

That will break out of the loop, and prevent any infinitely long delays...

reminder, you need this in there somewhere (below the void_f VeteranEffect line):
code:
HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); }

Locutus is offline Locutus
ACS CTP1/2 Manager & Civ4 Co-Manager
Hengelo, The Netherlands
Nov 1999
time: 06:17
  Old Post 15-01-2002 04:37 Visit Locutus<br><img src=/forums/images/staff-icon.gif>'s homepage!
Edit/Delete Message Reply w/Quote
#5 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

Don't worry, Ben, it looks like you ripped that while loop straight from the Alexander scenario, meaning either I or Tony Evans wrote it. Since Tony is almost as good a programmer as I am, it has to be high quality code and you should be safe either way

BTW, you forgot about the chances. To have a 20% change of getting the unit, replace this line (and the ones like it):

if (tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) {

with this one:

if ((tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) && (Random(5) < 1)) {

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 15-01-2002 18:01 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#6 Report this post to a moderator
Support Apolyton buy from Amazon

quote:
Originally posted by Locutus
Don't worry, Ben, it looks like you ripped that while loop straight from the Alexander scenario, meaning either I or Tony Evans wrote it. Since Tony is almost as good a programmer as I am, it has to be high quality code and you should be safe either way

BTW, you forgot about the chances. To have a 20% change of getting the unit, replace this line (and the ones like it):

if (tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) {

with this one:

if ((tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) && (Random(5) < 1)) {

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 15-01-2002 18:02 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#7 Report this post to a moderator
Increase the size of your Attachments

quote:
Originally posted by Locutus
Don't worry, Ben, it looks like you ripped that while loop straight from the Alexander scenario, meaning either I or Tony Evans wrote it. Since Tony is almost as good a programmer as I am, it has to be high quality code and you should be safe either way

Yeah, the only thing is that it means you cannot have any veterans apart from the wonderunits...
quote:

BTW, you forgot about the chances. To have a 20% change of getting the unit, replace this line (and the ones like it):
No I didn't

Its in there as:

code:
if(tmpAdvance == AdvanceDB(ADVANCE_INFANTRY_TACTICS)) { randomnum = random(4); if(randomnum > 3){

Locutus is offline Locutus
ACS CTP1/2 Manager & Civ4 Co-Manager
Hengelo, The Netherlands
Nov 1999
time: 06:17
  Old Post 15-01-2002 18:23 Visit Locutus<br><img src=/forums/images/staff-icon.gif>'s homepage!
Edit/Delete Message Reply w/Quote
#8 Report this post to a moderator
Support Apolyton buy from Amazon

Oops, you're right, I overlooked those odds. I'm not sure they're correct though, I *think* Random(4) returns 0, 1, 2 or 3 but never anything larger (would have to double check that though).

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 15-01-2002 18:44 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#9 Report this post to a moderator
Remove this text

Ah, stupid Activision and their 0s...

if(randomnum> 2){

then

Locutus is offline Locutus
ACS CTP1/2 Manager & Civ4 Co-Manager
Hengelo, The Netherlands
Nov 1999
time: 06:17
  Old Post 15-01-2002 19:29 Visit Locutus<br><img src=/forums/images/staff-icon.gif>'s homepage!
Edit/Delete Message Reply w/Quote
#10 Report this post to a moderator
Support Apolyton buy from Amazon

Actually, your insulting all CS people here: mathematicians always starting counting at 1, programmers and software designers at 0 (naturally the latter is the superior system )...

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 15-01-2002 20:56 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#11 Report this post to a moderator
Get a bigger avatar today!

Stupid software designers...

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 19-01-2002 16:39
Edit/Delete Message Reply w/Quote
#12 Report this post to a moderator
Support Apolyton buy from Amazon

IW, could you check if the code is right now?

code:
void_f VeteranEffect (location_t tmpLoc, int_t tmpPlayer) HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); } { int_t i; unit_t tmpUnit; int_t tmpNum; int_t numUnits; int_t tmpPlayer2; player[0] = tmpPlayer; numUnits = player[0].units; tmpPlayer2 = tmpPlayer; if (IsPlayerAlive(tmpPlayer2)) { // Make all Units non veteran, except Special Units for (i = 0; i < numUnits; i = i + 1) { GetUnitByIndex(tmpPlayer2, i, tmpUnit); tmpNum = tmpUnit.type; if (tmpNum >= 106 && tmpNum <= 112) { ToggleVeteran(tmpUnit, 1); } else { ToggleVeteran(tmpUnit, 0); } } } // Make all Units veterans who share the location Alexander, Robin Hood and Richard The Lion Heart tmpNum = GetUnitsAtLocation(tmpLoc); for (i = 0; i < tmpNum; i = i + 1) { GetUnitFromCell(tmpLoc, i, tmpUnit); ToggleVeteran(tmpUnit, 1); } } HandleEvent(GrantAdvance) 'Hammurabi' post { city_t tmpCity; int_t tmpPlayer; int_t tmpAdvance; int_t randomnum; tmpAdvance = value[0]; if(tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) { randomnum = random(4); if(randomnum > 3){ tmpPlayer = player[0]; int_t i; i = 0; while(i < player[0].cities){ GetCityByIndex(tmpPlayer, i, tmpCity); city[0] = tmpCity; if(UnitsAtLocation(city[0].location) != 12){ CreateUnit(tmpPlayer, UnitDB(UNIT_HAMMURABI), city[0].location, 0); } else { i = i + 1; } } } } }


I want to know if only one civ can get this unit or every civ that research the advance can have it (this mean every civ can have a hammurabi in the same game).

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 19-01-2002 17:29 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#13 Report this post to a moderator
Put an end to popups!

quote:
Originally posted by Pedrunn
IW, could you check if the code is right now?

Not quite

code:
void_f VeteranEffect (location_t tmpLoc, int_t tmpPlayer) { int_t i; unit_t tmpUnit; int_t tmpNum; int_t numUnits; int_t tmpPlayer2; player[0] = tmpPlayer; numUnits = player[0].units; tmpPlayer2 = tmpPlayer; if (IsPlayerAlive(tmpPlayer2)) { // Make all Units non veteran, except Special Units for (i = 0; i < numUnits; i = i + 1) { GetUnitByIndex(tmpPlayer2, i, tmpUnit); tmpNum = tmpUnit.type; if (tmpNum >= 106 && tmpNum <= 112) { ToggleVeteran(tmpUnit, 1); } else { ToggleVeteran(tmpUnit, 0); } } } // Make all Units veterans who share the location Alexander, Robin Hood and Richard The Lion Heart tmpNum = GetUnitsAtLocation(tmpLoc); for (i = 0; i < tmpNum; i = i + 1) { GetUnitFromCell(tmpLoc, i, tmpUnit); ToggleVeteran(tmpUnit, 1); } } HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); } HandleEvent(GrantAdvance) 'Hammurabi' post { city_t tmpCity; int_t tmpPlayer; int_t tmpAdvance; int_t randomnum; tmpAdvance = value[0]; if(tmpAdvance == AdvanceDB(ADVANCE_IRON_WORKING)) { randomnum = random(4); if(randomnum >= 3){ tmpPlayer = player[0]; int_t i; i = 0; while(i < player[0].cities){ GetCityByIndex(tmpPlayer, i, tmpCity); city[0] = tmpCity; if(UnitsAtLocation(city[0].location) != 12){ CreateUnit(tmpPlayer, UnitDB(UNIT_HAMMURABI), city[0].location, 0); } else { i = i + 1; } } } } }

[/quote]
That is now right.
quote:

I want to know if only one civ can get this unit or every civ that research the advance can have it (this mean every civ can have a hammurabi in the same game).

Every civ can get one. Is this right?
If not, add the line
code:
DisableTrigger('Hammurabi');

below the CreateUnit line. This will mean it only fires once in the game. First person to get there gets the chance of getting it. If you want everyone to have the chance of getting it, leave it as it is.

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 19-01-2002 17:46
Edit/Delete Message Reply w/Quote
#14 Report this post to a moderator
Remove this text

quote:

below the CreateUnit line. This will mean it only fires once in the game. First person to get there gets the chance of getting it. If you want everyone to have the chance of getting it, leave it as it is.


Actually i rather have every civ with a chance of the unit in the same game. so i will leave the way it is.

Last edited by Pedrunn on 19-01-2002 at 18:01

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 19-01-2002 22:07
Edit/Delete Message Reply w/Quote
#15 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

Oh Oh!

code:
No fuction named UnitsAtLocation


I'm getting a message like that for each unit i add.
So i changed this fuction by
code:
GetUnitsAtLocation


and the errors messages disappeared. What i did was right?
I'm going to test it now anyway.

Last edited by Pedrunn on 19-01-2002 at 22:17

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 20-01-2002 02:38 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#16 Report this post to a moderator
Support Apolyton buy from Amazon

Oh, yeah, sorry, its GetUnitsAtLocation, or UnitsInCell.

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 31-01-2002 14:36
Edit/Delete Message Reply w/Quote
#17 Report this post to a moderator
Suffering from ads?

quote:

It strikes me that the veteran function is never actually used in the code. I don't know how that got through...
Add these lines:
code:
HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); }



It strikes me too, soo how do i use the veteran fuction alone. I want to make special leaders units buildable as any other now instead of only coming after discovering an advance. Can you change the code for me again?

Immortal Wombat is offline Immortal Wombat
Prince
in perpetuity
Dec 2000
time: 05:17
  Old Post 31-01-2002 21:05 Visit Immortal Wombat's homepage!
Edit/Delete Message Reply w/Quote
#18 Report this post to a moderator
Lose 30 kilos (of popups)

Just use this:

code:
void_f VeteranEffect (location_t tmpLoc, int_t tmpPlayer) { int_t i; unit_t tmpUnit; int_t tmpNum; int_t numUnits; int_t tmpPlayer2; player[0] = tmpPlayer; numUnits = player[0].units; tmpPlayer2 = tmpPlayer; if (IsPlayerAlive(tmpPlayer2)) { // Make all Units non veteran, except Special Units for (i = 0; i < numUnits; i = i + 1) { GetUnitByIndex(tmpPlayer2, i, tmpUnit); tmpNum = tmpUnit.type; if (tmpNum >= 106 && tmpNum <= 112) { ToggleVeteran(tmpUnit, 1); } else { ToggleVeteran(tmpUnit, 0); } } } // Make all Units veterans who share the location Alexander, Robin Hood and Richard The Lion Heart tmpNum = GetUnitsAtLocation(tmpLoc); for (i = 0; i < tmpNum; i = i + 1) { GetUnitFromCell(tmpLoc, i, tmpUnit); ToggleVeteran(tmpUnit, 1); } } HandleEvent(MoveUnits) 'MakeVeteran' pre { location_t tmpLoc; tmpLoc = unit[0].location; tmpPlayer = unit[0].owner; VeteranEffect(tmpLoc, tmpPlayer); }

Make sure the tmpNum in the first function has the right boundaries (includes only the wonder units) and that you have not got CannotBuild lines in their units.txt entries.
Ben

Pedrunn is offline Pedrunn
King
of Natal, Brazil
Jul 2001
time: 02:17
  Old Post 01-02-2002 03:22
Edit/Delete Message Reply w/Quote
#19 Report this post to a moderator
Support Apolyton or Terrorists Win

quote:
Originally posted by Immortal Wombat
and that you have not got CannotBuild lines in their units.txt entries.
Ben


Call me stupid, please . Just take the cantBuild lines off, Pedrunn. Is that so hard?

Last edited by Pedrunn on 01-02-2002 at 07:31

  < Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:17.
Apolyton Time is 00:17.
    top of page
Rate This Thread:
archivepost
Forum Jump:
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0533 seconds (92.39% PHP - 7.61% MySQL) with 31 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net