vbraun said:I wish the current Civ3 modders would realize this.![]()
DiamanteLouco said:That means my own people can grab weapons and fight against me? (oh lord please say yes)
warpstorm said:I'm sure that some of them do. I saw the lead on Rise and Rule is now a consultant to Firaxis (whatever that means).
But most of them hate it because there scared of the 3d graphics, because they think they might not be able to edit them.warpstorm said:I'm sure that some of them do. I saw the lead on Rise and Rule is now a consultant to Firaxis (whatever that means).
vbraun said:But most of them hate it because there scared of the 3d graphics, because they think they might not be able to edit them.
vbraun said:Well if you find wading into python is easy, then civil wars might be a little bit harder.
In Rise of Nations there is just one XML file that gives the specs for ALL of the units.I imagine each unit will have a xml file ...
Yes, it is a better idea. In a mod, we just need to edit one xml file. Possibly this file will have everything about units: defense and offense for each unit type, movement points accordingly to terrain type, production cost, upgrade possibilities, etc.Jaybe said:In Rise of Nations there is just one XML file that gives the specs for ALL of the units.
<UNIT>
<NAME>Partisan</NAME>
<GRAPH>PARTISANS</GRAPH>
<OBJ_MASK>GFP</OBJ_MASK>
<FLAGS>jlmaps</FLAGS>
<WHERE>Tower</WHERE>
<ATTACK>24</ATTACK>
<HITS>85</HITS>
<MOVES>24</MOVES>
<SUPPORT>2f/2f support</SUPPORT>
<COST>60m/60f</COST>
<JOB_TIME>200</JOB_TIME>
<PREQ0>Modern Age</PREQ0>
<PREQ1>none</PREQ1>
<FROM>Minuteman</FROM>
<JUMP>disable</JUMP>
<GRAFT>none</GRAFT>
<RANGE>0-10rng</RANGE>
<LOS>10</LOS>
<SCIENCE_LOS>0</SCIENCE_LOS>
<FLY_HIGH>0</FLY_HIGH>
<FLY_LOW>50%</FLY_LOW>
<RECHARGE>35</RECHARGE>
<ARMOR>3</ARMOR>
<DOMAIN>Land</DOMAIN>
<TO_HIT>300</TO_HIT>
<ATTENUATE>-3</ATTENUATE>
<CAT>Foot</CAT>
<PROGRESSION>0</PROGRESSION>
<SPLASH>0</SPLASH>
<SPLASH_PERCENT>100</SPLASH_PERCENT>
<AMMO_PER_ATT>1</AMMO_PER_ATT>
<TURN_SPEED>24</TURN_SPEED>
<PROJ_SPEED>400</PROJ_SPEED>
<CARRY_SIZE>1</CARRY_SIZE>
<POP>1</POP>
<RESEARCH_PREMIUM_TIME>1</RESEARCH_PREMIUM_TIME>
<RESEARCH_PREMIUM_COST>1</RESEARCH_PREMIUM_COST>
<JOB_EXTRA_TIME>1/10tsx</JOB_EXTRA_TIME>
<MANA>0</MANA>
<TRIBE_MASK>111111111111111111</TRIBE_MASK>
<CARRY>0</CARRY>
<GUY_SPACING>12</GUY_SPACING>
<X_SPACING>12</X_SPACING>
<Y_SPACING>12</Y_SPACING>
<CIRCLE_RADIUS>1</CIRCLE_RADIUS>
<BLOCK_RADIUS>1</BLOCK_RADIUS>
<TARGET_SIZE>3</TARGET_SIZE>
<UBER_SIZE>1</UBER_SIZE>
<CREW_SIZE>0</CREW_SIZE>
<GRID_X>0</GRID_X>
<GRID_Y>0</GRID_Y>
<UPGRADE/>
<PUSH_SIZE>1</PUSH_SIZE>
<PUSH_CIRCLES>1</PUSH_CIRCLES>
<TYPENAME>Partisan</TYPENAME>
</UNIT>
PeteT said:Here's how a unit is defined in RON's unitrules.xml:
Code:<UNIT> <NAME>Partisan</NAME> <GRAPH>PARTISANS</GRAPH> <OBJ_MASK>GFP</OBJ_MASK> <FLAGS>jlmaps</FLAGS> <WHERE>Tower</WHERE> <ATTACK>24</ATTACK> <HITS>85</HITS> <MOVES>24</MOVES> <SUPPORT>2f/2f support</SUPPORT> <COST>60m/60f</COST> <JOB_TIME>200</JOB_TIME> <PREQ0>Modern Age</PREQ0> <PREQ1>none</PREQ1> <FROM>Minuteman</FROM> <JUMP>disable</JUMP> <GRAFT>none</GRAFT> <RANGE>0-10rng</RANGE> <LOS>10</LOS> <SCIENCE_LOS>0</SCIENCE_LOS> <FLY_HIGH>0</FLY_HIGH> <FLY_LOW>50%</FLY_LOW> <RECHARGE>35</RECHARGE> <ARMOR>3</ARMOR> <DOMAIN>Land</DOMAIN> <TO_HIT>300</TO_HIT> <ATTENUATE>-3</ATTENUATE> <CAT>Foot</CAT> <PROGRESSION>0</PROGRESSION> <SPLASH>0</SPLASH> <SPLASH_PERCENT>100</SPLASH_PERCENT> <AMMO_PER_ATT>1</AMMO_PER_ATT> <TURN_SPEED>24</TURN_SPEED> <PROJ_SPEED>400</PROJ_SPEED> <CARRY_SIZE>1</CARRY_SIZE> <POP>1</POP> <RESEARCH_PREMIUM_TIME>1</RESEARCH_PREMIUM_TIME> <RESEARCH_PREMIUM_COST>1</RESEARCH_PREMIUM_COST> <JOB_EXTRA_TIME>1/10tsx</JOB_EXTRA_TIME> <MANA>0</MANA> <TRIBE_MASK>111111111111111111</TRIBE_MASK> <CARRY>0</CARRY> <GUY_SPACING>12</GUY_SPACING> <X_SPACING>12</X_SPACING> <Y_SPACING>12</Y_SPACING> <CIRCLE_RADIUS>1</CIRCLE_RADIUS> <BLOCK_RADIUS>1</BLOCK_RADIUS> <TARGET_SIZE>3</TARGET_SIZE> <UBER_SIZE>1</UBER_SIZE> <CREW_SIZE>0</CREW_SIZE> <GRID_X>0</GRID_X> <GRID_Y>0</GRID_Y> <UPGRADE/> <PUSH_SIZE>1</PUSH_SIZE> <PUSH_CIRCLES>1</PUSH_CIRCLES> <TYPENAME>Partisan</TYPENAME> </UNIT>
Fields are specified by starting with a "<...>" and ending with a "</...>". So if, e.g., you wanted to change the attack value of the above partisan type unit, you'd change the line "<ATTACK>24</ATTACK>" to
maybe "<ATTACK>30</ATTACK>". Easy, eh?
xml as used in games is just a simple way of formatting data.
weakciv said:Something that I have been thinking about (and it is in-line with adding features) is that because of how open the XML/Python design is, we should be able to ADD variables/functions/features/processes into the play of the game. Doing all of this rather than just modifying a behavior.
Now I know that modifying behavior will likely be a primary part of modding the game, but if we are smart about it we could add different unit commands. For example like a combat engineer. A hybrid defensive unit that can build a fortress or airfield.
If I have hijacked this thread, I'm sorry. The topics in this thread made me think of it so I thought I'd share it.