Logo Platform
logo amplifiers simplified

[Guide] Adding new traits, sciences, buildings and components

Reply
Copied to clipboard!
12 years ago
Aug 6, 2012, 10:56:48 AM
As always: When you edit game files always make backups and even more don't act unless you know what you are doing!



Game has 2 important files when it comes to editing these objects:

...\Endless Space\EndlessSpace_Data\sharedassets17.assets file This contains all values and information how objects are linked.

...\Endless Space\Public\Localization\english\Localization_Locales.xml This tells to game how to print dfferent objects on screen. For example race descriptions are in this file.





Tools you need:


I use notepad++ but any xml editor works.

do NOT use normal notepad... it messes up things (and notepad++ is easier to read)





Adding new trait:



There are 3 codes which are important for traits:



This one is important it tells whats trait name, it's family, possible root, cost, prerequisities, Tittle, description and so on.

[code]



TraitPopulation01Norm1

!TraitScience01Norm1;!TraitScience01Norm2;!TraitScience02Norm1;!TraitScience02Norm2;!TraitEconomy02Alt1;!TraitHero03Alt1;!TraitHero04Alt;!TraitScience03VisibleNorm1;!TraitScience03VisibleNorm2



Cybernetic

Cybernetic, eats half of production







[/code]





This one tells what it exactly does. In this case it first tells starsystem food value by 0.5 and then adds 50% of production to food.

[code]








OperationType="Addition"

BinaryOperationType="Multiplication"

Left="0.5"

Right="$(Industry)"

Path="ClassEmpire/ClassStarSystem" Priority="2"/>







[/code]



And this one tells what players see on their screen.

[code]

Builders

Receives an Industry bonus for System Improvements, Planetary Improvements, and Wonders

[/code]



To add completly new trait one would have to make similarly looking xml code snippets.



Example:

We want to make trait Good and deny access to traits bad and ugly.

We decide that good is good at creating FIDS but not that good in combat.

Last we want to make sure that game understands trait name good.



First we have to create (notice that if you just copy and paste without deleting something else first you crash the game):



[code]



TraitGood1Norm

!TraitBad1Norm;!TraitUgly1Norm



Good

Hippies and other treehuggers







[/code]



lets go this quickly through:

Traitname=TraitGood tells to game that for now on everything which says: TraitGood links to this.

Family="Alignment" puts this to same group with other Alignments

Cost="0" tells to game that cost of this trait is 0 points

Descriptors is needed to verify (or more like to actually create) that same link than in Traitname=TraitGood

Prerequisties tells that if one has these traits (!) he can't have this trait (if you don't have ! one needs to have trait to have this one too)

Title tells how game shows this trait

Descriptor puts some stuff bottom of icon.



Norm1 isn't needed but I tend to use it just to make next step easier



[code]























[/code]



And gain short description what this does:

Name this one requires skill complete name

Trait (remember that how we add Norm1 to everywhere, this is reason) This is shortened version of name.



First of all there is 2 kinds of SimolationObject descriptrors:

basically if you want to make something simple and nice you use SimulationObjectPropertyModifierDescriptor.

If you want to make some calculation and add ending value you use: SimulationObjectPropertyBinaryModifierDescriptor (there is bit upper one example how these goes and difference between these 2)



TargetProperty: This tells what we are changing

Value: tells how much

OperationType: tells how we are chainging TargetProperty possible OperationsTypes are: Divide (I tend to prefer Multiplication), Multiplication (your normal 2*2=4 type thing), Percent (2+10%=2,2), Addition (2+1=1) and I'm fairly sure that there is Negation too. Basically you can get quite far with Multiplication (notice 2*0.5 = 2/2), Percent (well sometimes it's just easier to think than Multi) and Addition (2+(-1) = 2-1)

Path= this tells where object is what we want to change.

Couple examples of Paths:

Path="ClassEmpire" affects to whole empire

Path="ClassEmpire/ClassStarSystem" affects to solar systems

Path="ClassEmpire/ClassStarSystem/ClassPlanet" affects to planet

Path="ClassEmpire/ClassStarSystem/PlanetTypeJungle" affects only to jungle planets

Path="ClassEmpire//ClassShip" affects to ships

Path="ClassEmpire//ClassFleet//WeaponModule" affects to weaponmodules



priority: One can easily skip this and forget whole thing. Basically this tells that in which priority game counts values. It's important if you have topmost value which turns production to food and then bottommost value which multiples food by 0.



[code]

Good

Being Good is magnificient thingy

[/code]



This should be easy to understand and doesn't require any explanations.







Right, I am heavily sick, will update this with rest of the stuff later. I just can't write right now more than half an hour at once :/
0Send private message
12 years ago
Aug 6, 2012, 11:52:36 AM
Adding new science:



First we have 2 things we have to edit when we want to add new technologies:



This is the main one, this includes everything what one wants to know about techonology. Where it is, what it does and how it acts. What you need to open it and so on.

[code]





!$(TraitScience03Default)









%TechE01Title

%TechE01Description







[/code]



This one just tells what it looks like and what it does.

[code]

Arid Epigenetics

The ability to permanently apply grafted or genetically engineered traits into the DNA of succulent plants has great, long-term advantages for simplifying colonization.

Unlocks the technology of the same name

[/code]





Example:



We want to add to our trait good techonology what traits bad and ugly don't have. It's in right side (with science technologies) and opens building "nice peoples place" (will tell on next post how we add that kind of building).



[code]





!$(TraitUgly1Norm);!$(TraitBad1Norm)









%TechE29Title

%TechE29Description







[/code]



Explanation

Name: This is techonology name, basically this creates link to this techonology

Cost: Cost of research technology costs

IsUnique: if you don't set this to true you can (probably I think) study this techonology more than once

X and Y: 2 quite important values, these tells where technology is. Think the middle of the screen as a origo and then step to direction by following these numbers.

Category: Tells that to which group techonology belongs, thanks to X and Y it could in theory belong to any group (or hey, you could even make your own ones)

: One requires this to be even able to see techonology (usually this is trait). Important when one wants to make race specific techonology trees.

: Same than last one but for technologies, right now none of the game techonolgy uses this.

: Another important value, this tells what techonologies are needed to be able to get this techonology. Notice difference between this and Prerequisite is that you can actually see technology if you put it here.

: Yet another important thingy, Basically this whole thing tells what is opened when this technology is taken. I'm not sure whether it can be trait but I'm fairly sure that it can be almost anything else.



I don't describe GUI part (because I am sick) mostly because it's describes itself so well.



[code]

Good doers

For hippies and other good people

Unlocks the technology of the same name

[/code]
0Send private message
?

Click here to login

Reply
Comment