Logo Platform
logo amplifiers simplified

Mon cher ThorTillas 2.0

Reply
Copied to clipboard!
12 years ago
Aug 24, 2012, 4:45:53 AM
sigh - I 'almost get it' what you says makes sense but...



I added the lines in the StarSystemDescriptor.xml file. This sets the variable to 0 at the StarSystemLevel as default.



[CODE]



[/CODE]



The next part I'm unsure about, I opened EmpireDescriptor.xml file and attempt several different methods of adding the code. If I understand correctly I am suppose to create a new value (you did mean SimulationObjectPropertyModifierDescriptor right?) like so:



[CODE]







[/CODE]







or should it be under:



[CODE]

[/CODE]



I also noticed that tooltip gives %ForwardedNumberOfWarsTitle despite adding NUMBER OF WARS in my localization_local.xml file.
0Send private message
12 years ago
Aug 23, 2012, 1:15:41 PM
-> This one does not work - what do I have to change to fix it?

It does not work because you want to use an "Empire" property (NumberOfWars) on a system from an hero... and you can deal only between two object, the source and the destination.

You need to duplicate the empire property "NumberOfWars" to the hero (source) or to the system (destination) and then use it.



You can do that from many ways but I think the simplest one is to add a property on the ClassStarSystem descriptor named "ForwardedNumberOfWars".





Then add a modifier on the ClassEmpire Descriptor:





And finally change you binary modifier of the hero ability like that :





-> Does it matter where BinaryOperationType and OperationType are order wise? Even the left and right. As long as coding is correct does it matter the order the words are in?

Nope, you can write all xml attribute in the order you prefer. That works for all descriptor/modifier/etc, even the order of the xml element in the file is not important.
0Send private message
12 years ago
Aug 23, 2012, 12:52:31 PM
[CODE]

[/CODE]



The above works



[CODE] [/CODE]



This one does not work - what do I have to change to fix it. You refer to forwarding NumberOfWars to the system level and then using SystemNumberofWars. What do you mean? ClassEmpire//ClassStartSystem in the path? I'm just guessing - I understand what you mean by forwarding but do not understand how to forward in game code. Racing to post before you go to sleep for the day, silly timezones!





Oh and I was referring to this in regards to order of arguments but what you wrote down makes a lot of sense. Clarity if good, thank you! Anyhow -



TargetProperty="Approval" OperationType="Addition" BinaryOperationType="Multiplication" Left="300" Right="$(NumberOfWars)"



vs





TargetProperty="Approval" Left="300 Right="$(NumberOfWars)" BinaryOperationType="Multiplication" OperationType="Addition"



Does it matter where BinaryOperationType and OperationType are order wise? Even the left and right. As long as coding is correct does it matter the order the words are in?
0Send private message
12 years ago
Aug 23, 2012, 8:44:44 AM
well... No sure I understand all your sentence... sorry... I think I start to reach my English limits ^^



But still, I will try to answer some of your interrogation.



-> What make "BindOnSource"?

BindOnSource allow to choose if the property use as "Value", "Left" or "Right" tag must be taken from the source of the modifier or the destination.

Let take an example.





Say that this modifier is part of a descriptor which will be applied on a "Source".

if you do nothing, BindOnSource is set at true by default and will try to resolve "AProperty" in the source object.

If you set it to false, this time we will try to resolve "AProperty" on the "Destination"...



-> Why nothing appear in the Empire description tab?

This is due to a design and UI decision which say :

- The empire description tab must display all modifiers that comes from the empire and are applied to the children.

So when you modify something on the empire from the children... this will no be displayed in the description tab. But you must see it in the "Tooltip" of the target property normally.



-> Can I use a property on the left or right or both and what are the hidden-hard coding stuff around BinaryModifier?

First, you can use property on left, right or both. When you ask to "BindOnSource=false" both will be resolve on the target. You cannot say "ok, use this one from the hero and this other from me".

The only hard coded think with binary is related to the tooltip generation.

We use the "Right" as "Per" one and the "Left" as base.

Example :





when you will over the "Toto" property, you will get a line which say :

+FOOD on TOTO per POPULATION from ... (if it not already build or, in case of ability, unlocked)

+(FoodValue) on TOTO per POPULATION from ... (if you have build or unlock the ability)



if you invert them :



+POPULATION on TOTO per FOOD from ... (if it not already build or, in case of ability, unlocked)

+(PopulationValue) on TOTO per FOOD from ... (if you have build or unlock the ability)



I am not sure this is very clear...



-> And cannot I refer this to ../ClassStarSystem ? If it works at ../ClassEmpire, albeit hidden tooltips, is this another case of a variable that cannot be accessed below the empire level?

I haven't understand the question here... sorry...

What want you to archive? use the NumberOfWar from the empire to add something in the system with an Hero ability?

In that case you will first need to forward the NumberOfWar to the star system and then use the "SystemNumberOfWar" in your ability.



I hope it helped you!



Cheers,

Flo
0Send private message
12 years ago
Aug 23, 2012, 2:48:38 AM
It definitely isn't working when referencing $(NumberOfWars)



[code]











[/code]



Edit: Alright its official right now - I kinda of hate the coding checks you guys implemented... Apparently the deal with utilizing approval from heroes (might be from other things too, is it because of the binddonsource="false"?) on ../ClassEmpire is THAT IT DOESN'T DISPLAY IN THE EMPIRE DESCRIPTION tab. I never bothered testing big values, because I was working with small values like I intended for the actual version. I pulled up some old test work



[code] [/code]



because I wasn't sure if the having the operationtype methods being on the right of the variables matter or if it could only be on left... does it matter? >.> And I knew the above worked 100%. So when I set that to ../ClassEmpire and then I noticed that little smiley face went all green without displaying any bonuses in the empire description tab. From there it was a simple matter to test the code with $(NumberOfWars). /sigh (Left="500" QQ)



Any idea why it doesn't display in the Empire Tab? And cannot I refer this to ../ClassStarSystem ? If it works at ../ClassEmpire, albeit hidden tooltips, is this another case of a variable that cannot be accessed below the empire level?
0Send private message
12 years ago
Aug 22, 2012, 5:45:17 PM
It is their private bug tracking list. We "add to the list" by writing a post which says "please add this to the improvement list". I doubt they will show us the list.
0Send private message
0Send private message
12 years ago
Aug 22, 2012, 3:27:51 PM
-> are you saying this completely impossible or will this be an update in the future?

I cannot say this will be done in a update and I cannot that we will never doing it. We have an entry in the improvement list that say we want to be able to add some descriptor and/or modifier on the fleet orbit... but... that is all I can affirm. The rest will be decided by prioritization and process that I cannot deal with myself (or any of other programmers I think ^^)



-> So that doesn't work because the variable cannot be called on that level unless I modify the pathway where NumberOfWars is stored? Im just surprised I cannot call on NumberOfWars the same way I can on Population etc inside a normal simulationobjectproperty modifier

I think your modifier should work because, in this case, you want to modify the empire, which have the NumberOfWars property. You correctly set the "BindOnSource" to false, so the only mistake I can think of is :

- Have you not said that this modifier was an HeroAbility? In that case, you have to change your path from "./ClassEmpire" to "../ClassEmpire".



-> And yes I was looking for way to remove a population as a requirement for ship and I could trace the colony module population requirement. The plan is to require all ship to have a population requirement

You want to ask a population for each ship? but not allowing the ship to colonize?

This is not include in the improvement request I have made to loic, so please, if this is what you want, add it to the list ! ^^
0Send private message
12 years ago
Aug 22, 2012, 3:03:51 PM
Oops my bad regarding the gender preposition :S



So which variables are restricted to the empire level. Not being to modify MaxCommandPoint to a ship module / hero level really crushes a lot of plans regarding ship/fleet revision. Similarly not being to prevent my starbases from using wormholes is depressing. Oh well hopefully this will be included in one of the updates



Regarding ship modules effecting the system their in orbit of - are you saying this completely impossible or will this be an update in the future? I had some awesome FIDS modules for my space stations (stations that can warp through wormholes smiley: frown )





- You will need to add a property "NumberOfWars" on the hero.

- Add a modifier on the empire which keep the "NumberOfWars" property on all hero up to date.





[code]



[/code]



So that doesn't work because the variable cannot be called on that level unless I modify the pathway where NumberOfWars is stored? Im just surprised I cannot call on NumberOfWars the same way I can on Population etc inside a normal simulationobjectproperty modifier



And yes I was looking for way to remove a population as a requirement for ship and I could trace the colony module population requirement. The plan is to require all ship to have a population requirement
0Send private message
12 years ago
Aug 22, 2012, 2:55:17 PM
davea wrote:
That is too bad. It seems "obvious" that putting a descriptor on a module with "../../../Food" should work; a module is inside a ship, a ship is inside a fleet, and a fleet is inside a system.




Well, I have to disagree with you on that...

We choose to not attach the fleet as child of the system to keep track of which empire is owned it. Otherwise you won't be able to create some Empire wise bonus which must be applied on fleet which are attached to another empire system...



We think about it several times and, clearly, the easiest way to respond to our designer wills was to keep the fleet always attached to the owner empire in the simulation and create a "gameplay" link for the orbit.



I can understand that this decision can be really limiting for you but... still, I not really sure on how we can keep both link in the simulation...

The most easy way to do that is list the several descriptor that a fleet (or ship or module) must add to the orbit when arriving... and add them on the fly in the gameplay code...

We will see that when this improvement will come out of the list...
0Send private message
12 years ago
Aug 22, 2012, 2:31:21 PM
ThorTillas wrote:
-> Is it possible to effect specific player planetary systems through ships/fleets/modules?

no. fleet are never connected to his orbit. So you will not be able to say "Add 2 food at this orbit". You can actually affect "all systems" of your empire, but not a specific one. ... Please, if you found it really needed, ask Loicus to add it ^^.


That is too bad. It seems "obvious" that putting a descriptor on a module with "../../../Food" should work; a module is inside a ship, a ship is inside a fleet, and a fleet is inside a system. There are many things we could do with this. Please see the thread "brainstorming: influence" for some ideas. Please do add it to the improvement list.
0Send private message
12 years ago
Aug 22, 2012, 8:39:44 AM
So, first of all, I change your title to match my gender... don't mind, do you? ^^



Now the real interesting part ^^



-> Is it possible to manipulate events such as WormHoleUnlock and MaxCommandPoint below the empire level, specifically at the ClassShip, ClassFleet and/or Module level?

no.

By design, it is the empire which say when you can go through wormhole or not. So our path finding manager use the empire property to see when your fleet can go through wormhole or not.



-> Is it possible to effect specific player planetary systems through ships/fleets/modules?

no.

fleet are never connected to his orbit. So you will not be able to say "Add 2 food at this orbit". You can actually affect "all systems" of your empire, but not a specific one. The thing is that you have no possibility to add a descriptor on a specific system to specialize it.

An improvement that could be interesting to use is to add a descriptor on the system which is based on the system name and then add the same descriptor on the fleet which orbit around this system. With that you will be able to search through your empire to find the correct system with a path. But this must be done partially with code, so need to be add to the improvement list.

Please, if you found it really needed, ask Loicus to add it ^^.



-> Is this only achievable through hard-coding relating to the specific traits?

Yes.

In fact, this is the same as any other "Trigger event" that we talk about our last post (/#/endless-space/forum/37-modding/thread/15737-answer-to-a-mp-from-iblise).

We have add it to the improvement list and we will try to figure out a way of letting modder describe some logic to add descriptor on event based (system invasion, battle win or loose, etc)

This will take some time to be implemented...



-> How does a colony ship cost 1 population to produce?

Like Pleasure said, this is because you need one population to colonize your future system. If you don't do that, you can create population with industry which can be an exploit.

Unlike Pleasure said, PlanetStatusColonized doesn't do anything with the "1" population removed or added. This is build in the colonization module. When you build a ship, we remove as much as colonization module on the system and then add as much as colonization module on the new system.

PlanetStatusColonized is only used to start multiplying the food by population or test if a planet is colonized or not.

But, I know that Loic just add it to the improvement list. Our idea is to provide a "Population" attribute on the "ColonizationModule" which will allow you to define how many population you want to be taken from the building system and then added to the new system...



-> What is the deal with $(NumberOfWars)?

I am not really sure of what you want to do...^^

"NumberOfWars" is an empire property. If you want to use it with an hero ability, you will need an indirection.

I will try to make an example out of my mind, but that is not so easy ^^



Let say that you want to add 1 food on the hero's assigned system per war.

- You will need to add a property "NumberOfWars" on the hero.

- Add a modifier on the empire which keep the "NumberOfWars" property on all hero up to date.

- Create a descriptor for your ability which use the "NumberOfWars" to add food on the system.



This is due to the fact that you cannot create a modifier which use a property from another object than him or the target as input for your operation.

So, you have to forward your "NumberOfWar" on the hero or on the system and then use this one...



To avoid having too many memory used, I really suggest that your modifier which will keep the hero property updated has a path like "ClassEmpire/ClassSystem/ClassHero". Because if you use "ClassEmpire//ClassHero", even the ship, modules, planet, moon, etc will try to look in his children to find a hero... which will never append...



That said, I hope that I have answered your questions ^^. Sorry for the "no you can't" which come too often I think... We will try to reduce them in the next few months...



Cheers,

Flo
0Send private message
12 years ago
Aug 22, 2012, 6:40:09 AM
iblise wrote:


How does a colony ship cost 1 population to produce - very frustrating this one, as I can see everything else related to construction cost but yet the population requirement defies me.





who do you think is colonizing the planet ? You need Population because the new Colonie needs 1 population.





















i think this is where you get one population after colonizing.. its in PlanetDescriptor.xml

still looking for the population that gets removed



EDIT..



hmm can't find it anywhere ;D
0Send private message
?

Click here to login

Reply
Comment