Boogie's Moding Class #3: United Planets Issues
from
Stardock Forums
// ********************************************
// CUSTOM UNITED PLANETS ISSUES
// ********************************************
Ok friends, it’s time to kick back, relax, and learn all there is to know about making Issues for the United Planets Council. Files of this type are of the *.UPISSUE extension and will need to be located in the /GalCiv/Data/UP_Issues/ directory. As you make new issues, it’s a good idea to save you game right before a UP Meeting and reload after clearing your “UP_Issues” directory of all issues except the one you’re working on. Just make sure to store of extra files in a “backup” directory for safe keeping
The UPIssue file will need to look like this…
//------------------------------------------------------------------------
UPISSUE UniqueIssueNameHere
//------------------------------------------------------------------------
Question “This is where a nice long question goes dealing with the issue. Use %s along with the QuestionStr values at the end of the file to fill the text with player specific data.”
SubQuestion “This is not yet used. Just Leave Blank.”
Option01 to 05 “Text to be displayed for each option. Only necessary for certain types of Issues, other issues will Automatically List the major races..”
OptionVal01 to 06 x
(Where x == a numeric value to be used if the player selects that option. Only necessary for certain types of Issues.)
Attribute x
(Where x == a numeric value stating what the in game effect of the selected option will be. Valid attributes are listed under “UP Attribute List”)
AppliesTo x
(Not Used, just put 0)
Prereq x
(Not Used, just put 0)
Probability x
(Not Used, just put 0)
YearsInEffect x
(number of years the proposal will last. 0 means it is limitless unless a similar Issue comes up)
Value01 to 04 x
(the x depends on the Attribute of the issue. If not necessary just put 0.)
QuestionStr01 to 04 x
(Use %s in the Question string to add player specific data to the text. See “Question String List” for more info.)
HowAIWouldVote x
(the x = numeric corresponding with how the AI players will vote on the item. See “AI Voting List” for all the values. )
ENDUPISSUE
(Indicates the end of the file.)
** UP Attribute List **
1 // change the number of trade routes
>>> value01 = # of trade routes to alter
>>> years in effect not applied
2 // anomalies in an owned sector can only be searched by sector owner
>>> yes or no question
3 // tax on those engaging in warfare:
>>> BC per month value taken from winning option
4 // bonus income for civilizations with other races existing in their sector
>>> BC per month value taken from winning option
5 // transports can now be armed
>>> new base attack taken from options
6 // player holds the galactic olympics, get increased revenue for a number of years
>>> auto-lists major races
7 // freighters are protected from attacks, at the cost of a certain % of trade revenue
>>> options are YES and NO
>>> value01 = % of trade revenue to federation
8 // something to up an ability has been found...which race gets it?
>>> value01 = AbilityType
>>> value02 = strength of new ability
11 // a once uninhabitable star has reciently become inhabitable...who gets the star?
>>> auto-lists major races
12 // all major races at war have to make peace
>>> Yes or No question
13 // a theme park holding space creatures is constructed on a planet, with a risk of beasts escaping
>>> auto-lists major races
14 // evil civs are forced to suspend trade for x years
>>> route limit taken from winning option
16 // number of modules allowed on a starbase is restriced
>>> module limit value taken from winning option
17 // starbases with assist upgrades will help allied ships/planets in the sector
// yes or no question
18 // all players must conform to a certain government
>>> new government taken from option value (0 = none, 1 = imperial, 2 = republic, 3 = democracy, 4 = star federation)
20 // a random planet is converted to a prison world...production is doubled, but risk pirate breakout
>>> auto-lists major races
21 // a planet is chosen as the up headquarters, increasing influence of that planet
>>> auto-lists major races
22 // each player has to exchange technology secrets...leveling technology playing field
>>> number of techs to trade taken from winning option
25 // vote on whether or not terror stars are allowed in the galaxy for a # of years
>> yes or no
26 // each race puts money (x bc) towards event, morale is increased for to set number of years
>>> value taken from winning option
28 // costs money to have a starbase in someone else's sector
>>> BC per month (per starbase) value taken from winning option
30 // raise the base speed of constructors so they aren't sitting ducks
>>> new base speed taken from winning option
31 // whoever is winning has to pay everyone else a % of their revenue
>>> value taken from winning option
** AI Voting List **
0 // randomly vote, no logic involved
1 // vote on the higher number if winning the game
2 // vote on higher number if losing the game
3 // vote higher value if evil
4 // vote higher value if good
5 // vote for your enemy, or random person
6 // vote for you friend or yourself
7 // vote for yourself if losing, otherwise for a friend
** Question String List **
1 - Player's Name
2 - Player's Empire Name
5 - Selected Race (only for certain issues)
7 - Name of Planet being voted on (only for certain issues)
Looking back, I'm a bit disappointed in the modability of the UP Issues. Each possible issue is fairly unique, but at the same time, that uniqueness also makes them not as expandable. Hopefully this little tutorial will allow you guys to create some interesting offshoots to the issues available, but unfortunately, everything ends up doing pretty much the same thing
Two fields that I could add that may spice things up a bit are a "TechPreReq" field, where tech related issues won't come up until someone's discovered the necessary technology, and a "YearLimit" field, where the issue wont occur till a certain year is reached. I'm sure you can come up with some ideas that could spice up the ol' UP Issues, and as long as they're easy to get going, I'll be happy to get them in (It'll just be harder once I get working on Political Machine). Thanks again for reading through my notes, and hopefully they'll prove useful in expanding GalCiv into something truly phenomenal!
Stay tuned for my next tutorial, "Political Parties and Invasion Tactics"!
ScottT
GC Development Team
// CUSTOM UNITED PLANETS ISSUES
// ********************************************
Ok friends, it’s time to kick back, relax, and learn all there is to know about making Issues for the United Planets Council. Files of this type are of the *.UPISSUE extension and will need to be located in the /GalCiv/Data/UP_Issues/ directory. As you make new issues, it’s a good idea to save you game right before a UP Meeting and reload after clearing your “UP_Issues” directory of all issues except the one you’re working on. Just make sure to store of extra files in a “backup” directory for safe keeping
The UPIssue file will need to look like this…
//------------------------------------------------------------------------
UPISSUE UniqueIssueNameHere
//------------------------------------------------------------------------
Question “This is where a nice long question goes dealing with the issue. Use %s along with the QuestionStr values at the end of the file to fill the text with player specific data.”
SubQuestion “This is not yet used. Just Leave Blank.”
Option01 to 05 “Text to be displayed for each option. Only necessary for certain types of Issues, other issues will Automatically List the major races..”
OptionVal01 to 06 x
(Where x == a numeric value to be used if the player selects that option. Only necessary for certain types of Issues.)
Attribute x
(Where x == a numeric value stating what the in game effect of the selected option will be. Valid attributes are listed under “UP Attribute List”)
AppliesTo x
(Not Used, just put 0)
Prereq x
(Not Used, just put 0)
Probability x
(Not Used, just put 0)
YearsInEffect x
(number of years the proposal will last. 0 means it is limitless unless a similar Issue comes up)
Value01 to 04 x
(the x depends on the Attribute of the issue. If not necessary just put 0.)
QuestionStr01 to 04 x
(Use %s in the Question string to add player specific data to the text. See “Question String List” for more info.)
HowAIWouldVote x
(the x = numeric corresponding with how the AI players will vote on the item. See “AI Voting List” for all the values. )
ENDUPISSUE
(Indicates the end of the file.)
** UP Attribute List **
1 // change the number of trade routes
>>> value01 = # of trade routes to alter
>>> years in effect not applied
2 // anomalies in an owned sector can only be searched by sector owner
>>> yes or no question
3 // tax on those engaging in warfare:
>>> BC per month value taken from winning option
4 // bonus income for civilizations with other races existing in their sector
>>> BC per month value taken from winning option
5 // transports can now be armed
>>> new base attack taken from options
6 // player holds the galactic olympics, get increased revenue for a number of years
>>> auto-lists major races
7 // freighters are protected from attacks, at the cost of a certain % of trade revenue
>>> options are YES and NO
>>> value01 = % of trade revenue to federation
8 // something to up an ability has been found...which race gets it?
>>> value01 = AbilityType
>>> value02 = strength of new ability
11 // a once uninhabitable star has reciently become inhabitable...who gets the star?
>>> auto-lists major races
12 // all major races at war have to make peace
>>> Yes or No question
13 // a theme park holding space creatures is constructed on a planet, with a risk of beasts escaping
>>> auto-lists major races
14 // evil civs are forced to suspend trade for x years
>>> route limit taken from winning option
16 // number of modules allowed on a starbase is restriced
>>> module limit value taken from winning option
17 // starbases with assist upgrades will help allied ships/planets in the sector
// yes or no question
18 // all players must conform to a certain government
>>> new government taken from option value (0 = none, 1 = imperial, 2 = republic, 3 = democracy, 4 = star federation)
20 // a random planet is converted to a prison world...production is doubled, but risk pirate breakout
>>> auto-lists major races
21 // a planet is chosen as the up headquarters, increasing influence of that planet
>>> auto-lists major races
22 // each player has to exchange technology secrets...leveling technology playing field
>>> number of techs to trade taken from winning option
25 // vote on whether or not terror stars are allowed in the galaxy for a # of years
>> yes or no
26 // each race puts money (x bc) towards event, morale is increased for to set number of years
>>> value taken from winning option
28 // costs money to have a starbase in someone else's sector
>>> BC per month (per starbase) value taken from winning option
30 // raise the base speed of constructors so they aren't sitting ducks
>>> new base speed taken from winning option
31 // whoever is winning has to pay everyone else a % of their revenue
>>> value taken from winning option
** AI Voting List **
0 // randomly vote, no logic involved
1 // vote on the higher number if winning the game
2 // vote on higher number if losing the game
3 // vote higher value if evil
4 // vote higher value if good
5 // vote for your enemy, or random person
6 // vote for you friend or yourself
7 // vote for yourself if losing, otherwise for a friend
** Question String List **
1 - Player's Name
2 - Player's Empire Name
5 - Selected Race (only for certain issues)
7 - Name of Planet being voted on (only for certain issues)
Looking back, I'm a bit disappointed in the modability of the UP Issues. Each possible issue is fairly unique, but at the same time, that uniqueness also makes them not as expandable. Hopefully this little tutorial will allow you guys to create some interesting offshoots to the issues available, but unfortunately, everything ends up doing pretty much the same thing
Stay tuned for my next tutorial, "Political Parties and Invasion Tactics"!
ScottT
GC Development Team