Logo Platform
logo amplifiers simplified

Mon cher ThorTillas 2.0

Reply
Copied to clipboard!
12 years ago
Sep 7, 2012, 1:33:22 PM
I've looked for and failed to find how the game determines what system improvements a player starts with, and what system improvements a colony ship creates when starting a colony. I briefly asked Lt Miles about it, and he basically confirmed that it is hard coded, and I tend to agree with him. Is there any clever way around this?



If I want to create a formula regarding industry, and it make it so it adds $(industry) x $(population) to industry, I create a nasty circular loop that creates impossibly big numbers. Is there a way around that?



Regarding 'commandpoint' I've modded the values in EmpireDescriptor and ShipDescriptor to be MinValue="-2" and then created a module that grants -2 CP. Problem is when I create a fleet with multiple command -2 modules, my CP drops below -2 as each ship adds its -2 value to the commandpoint. However, the value displayed on the fleet never goes below -2 due my changes in the code. Is there any way to hardcap CP at a -2 value, so that no matter how many modules I make, it never ever goes below -2?
0Send private message
12 years ago
Aug 24, 2012, 1:56:08 PM
but... that can works ^^



Try that instead :

[CODE]







[...]







[/CODE]



You miss type (or I perhaps?) your modifier and then use it in the property part...



I think this will works now.
0Send private message
12 years ago
Aug 25, 2012, 3:53:50 AM
Still no go... I did test it sorta by setting ForwardedNumberOfWars=1 in the StarSystemDescriptor.xml file and my hero did give +300 approval. I also figured out why my custom localizations weren't working, I accidently corrupted my xml file. So after that I recopied all the xml files over in case I had corrupted one of them somehow too... didn't make a difference.



Basically what it appears like is that ForwardedNumberOfWars value isn't being copied over from NumberOfWars in the EmpireDescriptor.xml file or the ="0" in the StarSystemDescriptor.xml file prevents any value given to it from the empiredescriptor and is always 0. Or maybe it grabs the original NumberOfWars="0" and then never actually updates that value when it changes?



[CODE]







[...]























[/CODE]



Is there any way to determine what ForwardNumberOfWars is in game? some test to see if the value is actually reflecting what NumberOfWars is



Edit: I just tried setting NumberOfWars = 1 and nothing happen regarding the hero ability, I think that means ForwardedNumberOfWars still = 0



Edit2: I backtracked a bit and returned to the hero ability being applied to classempire (which works), I then added the appropriate line relating to ForwardedNumberOfWars=0 *short handed version, real code is longer* to the EmpireDescriptor.xml file. Finally I changed the right value in the hero descriptor file to $(ForwardedNumberOfWars). I confirmed again by setting ForwardNumberOfWars=1 to check if the hero ability actually worked.



The above should clone NumberOfWars value into ForwardedNumberOfWars variable and since it is target empire, avoid the issue of something going wrong when going between empire and system, therefore the problem isn't there. It is either not updating the value when cloning or I'm still not adding the clone NumberOfWars code correctly. I've insert the lines that were suggested, I've triple checked for any possible spelling mistakes, so it must be something I'm doing wrong with the code. The code I've bolded is directly below the line, is that correct placement? And I've added the appropriate closing lines of code after the main section correctly? The code itself makes sense, therefore I must have it placed wrong in the file unless its not updating the value correctly...



Edit3: HOT DAMN - it works! finally... I was putting the clone line in the wrong section - should have been above the







line, rather than create its own section. Now, to figure out how to attempt disapproval rating based on population... You loose a system, its going to be dependent on the number of population present in that system when lost (so if you evacuate, it hurts a lot less) relative to your total empire population. Ships will probably be calced based on MP relative to total MP value or something. If you fight, damn well be able to win or have a good propagandist (btw i'm dibbs that hero class!)
0Send private message
12 years ago
Aug 25, 2012, 2:45:15 PM
Actually before I tackle that, is it possible to adjust weapon firing based on battlephase? I want to go beyond simply adjusting accuracy, I want to completely disable the ships ability to fire that particular weapon type during a phase. Is this achievable given current limitations?



Ideally, I would want a trigger but since I cannot do that yet - is there some value that I can adjust and link? Current, I can have lasers fire only once in long range phase by adjusting turntoreach but it's an ugly method and causes problems in other phases if they don't have more turns then long range. I'm hoping there is some hidden value attached to weapons that =1 that allows the weapon to fire and if it = 0 then the weapon could not fire If such a value exists then I can manipulate it using # of phases. It's a really long shot but maybe you have an alternate idea, or do I just have to wait?
0Send private message
12 years ago
Aug 25, 2012, 3:10:58 PM
iblise wrote:
I'm hoping there is some hidden value attached to weapons that =1 that allows the weapon to fire and if it = 0 then the weapon could not fire


I have not found any way to achieve that effect. Hupa would have jumped on me previously for saying "it is impossible", but I think all of us are now able to find the limits of what can be modded. Maybe it will improve in the future, although 3/4 of the dev team is now diverted to work on the expansion pack. Almost all the ideas I have brainstormed haven't been implementable, such as evasion, more interesting weapons, using influence from ships, or even custom battlecards. It's hard to stay interested in changing a number here or there. I'm going to try something which will read-modify-write a turn 0 xml file; this may allow adding minor races or space monsters.
0Send private message
12 years ago
Aug 27, 2012, 2:29:07 AM
In addition to the above question regarding restricting weapon fire to specific battlephases, could you comment on the possibility of modding MaxCommandPoint from the Ship level and restricting it to that specific fleet? Some concerns were raised if my orginal question regarind MaxCommandPoint was actually answered or if only the WormHoleUnlock was.



After the knowledge I've gained working with your guidance on NumberOfWars, this should be another case of where I need to create a specific variable at the ship level to manipulate the MaxCommandPoint variable, as it is a ClassEmpire value. I believe that I can easily create a ship level module to update the MaxCommandPoint value to whatever I desire, however, will it not simply modify Empire level value defeating the ability to create unique commandpoint cap for different fleets? Ie a fleet with a cap of 5, another with a cap of 7 etc. Instead all values would have one cap shared across all fleets.



Basically:



[CODE]



[/CODE]



or would I need a ClassEmpire in my path too? Path="ClassEmpire,ClassShip/ClassFleet" or even Path="ClassEmpire,ClassShip/ClassFleet/SupportModuleElectronicWarfare"



The above should allow me to update the MaxCommandPoint from a module (called Electronic Warfare) level if my path isn't a mangled mess of illegal code - hah. Otherwise would be it be possible to create a unique variable at the ship or fleet level that determines fleet size.







I did attempt to adjust the CommandPoint value of ship below 0 but the I was never able to successful lower it past 0, no matter what I did, 0 was the lowest value it could be in game. I never really attempted to experiment but I suspect if add MinValue="Negative" correctly, I should be able to produce a negative value?



[CODE]

[/CODE]
0Send private message
12 years ago
Aug 27, 2012, 3:09:06 AM
Yes!!! great idea



[CODE]

[/CODE]



The above works, tried it with my mod and on a hero with 10 in Command (new stat, like labor or offense) they had -2.5 command points on that fleet.



This actually worked!



Up until 3 ships the fleet showed at 0/5 points, also it works when you have more than the allotted command points of ships. I was able to make a 7 ship fleet that was at 5/5, the only problem was that you could reassign your hero from a full fleet and you will have a 7/5 fleet.



The good news is you can not make a greater fleet by passing ships through a hero. What I mean is take a 7/5 fleet with hero (makes 5/5) and select 6 ships and make a new fleet that is 6/5. Unless you new fleet has that hero it will only let you make a 5/5 fleet. So I don't think this is too bad I'm just going to reduce CP to .1 per stat meaning even a high level hero (15+) will only get +2 points so at worst with the reduced hero reassign time a hero will be able to make a new fleet that is +2 CP per every 2 turns or so, sounds like an OK hero ability to me.





But thanks again for the idea.
0Send private message
12 years ago
Aug 27, 2012, 1:46:18 PM
too much to read all ^^ sorry but I start to get some heavy work to do on my side so I will need to reduce the time I can spent on the forum...



but :

-> As Nycidian found it, you can only play with the actual commandPoint and not with the maximal one. The MaxCommandPoint is empire wise only, for now at least.

Could be added to the wish list but can have some repercussion on performance...



-> You cannot ask a module to not fire during a round for now. You can ask them to fire ones or two per phase, but no "at all"...

You could set the accuracy to 0 which would have the "same" effect in simulation but will still spawn some projectile in the 3d view.



-> "ClassShip/ClassFleet" will never works.

The simulation is based on a hierarchy which is something like that :



On each step I put an arbitrary name which describe the object and, in [], I add some of the important descriptor you can found on this object (not all descriptors, just the class descriptor).

[Code]

Empire [ClassEmpire]

|->StarSystem1 [ClassStarSystem]

| |->Planet1 [ClassPlanet]

| |->Planet2 [ClassPlanet]

| | |->Moon1 [ClassMoon]

| |->HeroToto [ClassHero]

|->StarSystem2 [ClassStarSystem]

| |->Planet1 [ClassPlanet]

|->HeroInAcademy [ClassHero]

|->Fleet1 [ClassFleet]

| |->Ship1 [ClassShip]

| | |->ModuleDefLaser1 [ClassModule,ClassDefenseModule,WeaponClassLaser]

| | |->ModuleDefLaser2 [ClassModule,ClassDefenseModule,WeaponClassLaser]

| | |->ModuleWeaLaser1 [ClassModule,ClassWeaponModule,WeaponClassLaser]

| | |->ModuleWeaKinetic1 [ClassModule,ClassWeaponModule,WeaponClassKinetic]

etc...

[/Code]



Your path must work in this kind of hierarchy.

So as ClassShip/ClassFleet say "for all children of the ship which is a fleet", you will not be able to do something with ^^. when you want to go up, use :

./ClassToto to get the parent of the current object if the parent has the descriptor "ClassToto"

../ClassToto to get the first parent in the hierarchy which match the descriptor "ClassToto"

.../ClassToto to start at the root of the hierarchy, if the root has the descriptor "ClassToto"



I hope this can help you !



Cheers,

Flo
0Send private message
12 years ago
Aug 28, 2012, 3:26:27 AM
but but but - you're my go to guy for questions ThorT!



Actually if anyone has any insight into the entire CommandPoint exploit regarding removing the hero/ship with module from the fleet that would be extremely helpful as the idea was if that ship is destroyed / remove from the fleet, that fleet instantly disbands into single units or more ideally the max cap per fleet is refresh and any extra units would be separated out. That and I don't want the value stacking hmmm that gives me an idea!



[code] [/code]



WTF - so apparently the display shows as -2 but yet the game still adds all modifiers together first before capping? ie I have two -2 CP ships with modules that target ../ClassFleet. I merge those ships together and it displays a -2 value for CP, good. I merge a normal ship with a CP value of 1, nothing happens, nothing happens until I merge 3 normal ships into the fleet, then fleet CP goes to -1. Why isn't it hard capped at -2 CP?
0Send private message
12 years ago
Aug 24, 2012, 1:54:03 PM
iblise wrote:
if I change it to SimulationObjectPropertyModifier instead SOPD (shorthand for simobjpropdesc) in the empireDescriptor.xml - then all my custom tooltips become corrupt and show %blahblahtitle and the modification still doesn't work. What am I do wrong??
Stupid question, in both cases do you search in output_log.txt for "Modding", to see if there is any error? If you are seeing all the localization strings vanish, it sounds to me like the game is failing to load partway: enough to come up, not enough to load the strings.
0Send private message
12 years ago
Sep 7, 2012, 1:52:26 PM
iblise wrote:
I've looked for and failed to find how the game determines what system improvements a player starts with, and what system improvements a colony ship creates when starting a colony. I briefly asked Lt Miles about it, and he basically confirmed that it is hard coded, and I tend to agree with him. Is there any clever way around this?




Not as I can think of...

I think we would need to add some code to choose which building must be build on a new colonized system.



iblise wrote:


If I want to create a formula regarding industry, and it make it so it adds $(industry) x $(population) to industry, I create a nasty circular loop that creates impossibly big numbers. Is there a way around that?


You want to double the Industry? I don't understand what you want to archive...



iblise wrote:


Regarding 'commandpoint' I've modded the values in EmpireDescriptor and ShipDescriptor to be MinValue="-2" and then created a module that grants -2 CP. Problem is when I create a fleet with multiple command -2 modules, my CP drops below -2 as each ship adds its -2 value to the commandpoint. However, the value displayed on the fleet never goes below -2 due my changes in the code. Is there any way to hardcap CP at a -2 value, so that no matter how many modules I make, it never ever goes below -2?


this can be done in the xml.





I not sure which descriptor you should change... try both. But normally this default value for the "MinValue" is 0... so...
0Send private message
12 years ago
Sep 7, 2012, 3:04:03 PM
Initially what I wanted todo was take the heroes labor value talent of +3 and replace it with a formula that took the starsystems ind value multiplied it by the systems population and then applied another variable to it. The end result would be around +3 but it would change based on where the hero was. I ran into a problem with that so I attempt that again over the weekend.



What I then attempted was something simplier. I just modified a system improvement so that the improvement granted a value to industry that was based industry multiplied by population which worked perfectly until I end the turn at which point the bonus scales impossibly huge. What Im looking for is a way to modify industry through industry multiplied by population but not including that ind x pop



Ind = 100

Pop = 10

Formula => 100 + 100 x 10 => 1100



Turn two formula value is now

Ind = 1100 + 1100 x 10 = 12100

Bad!



Formula needs to apply only after all normal sources of industry are added up at start of turn and not include itself when calcing bonus to add.



Base industry (from all normal souces) multipled by population = industry bonus

Industry = base industry plus industry bonus (recalced every turn)
0Send private message
12 years ago
Sep 7, 2012, 3:23:43 PM
ok...



so, for now StarSystem will work like that :



Industry = (SUM(Planet.Industry) + SUM(Improvement.Industry) + other "addition" bonus) * population * (1 + All "Percent" Bonus)

EDIT : Industry = A * population * (1 + P)



and you want to do :



Industry = ((SUM(Planet.Industry) + SUM(Improvement.Industry) + other "addition" bonus) * (1 + All "Percent" Bonus)) ((SUM(Planet.Industry) + SUM(Improvement.Industry) + other "addition" bonus) * population * (1 + All "Percent" Bonus))

EDIT : Industry = A * (1 + P) + A * population * (1 + P)



which is



Industry = (Population + 1) * ((SUM(Planet.Industry) + SUM(Improvement.Industry) + other "addition" bonus) * (1 + All "Percent" Bonus))

EDIT : Industry = A * (1 + P) * (1 + population)



is it correct?



if so, transform the modifier which say "Industry * population" in :





Even, I'm not really sure this is what you want...



Another way of doing it is to use the "Production" part of the system which will be the final "Industry" used to build something... Perhaps you can say

Production = Industry + Industry * Population



and avoid the Industry = Industry * population



EDIT : As the industry is reset every turn, I don't understand your "turn two" formuly, It should be exactly the same as the one above, no?
0Send private message
12 years ago
Sep 8, 2012, 1:26:18 AM
Thank you, production was exactly what I needed to escape my industrialxindustrial loop... now I'm trying to figure out a formula, end game is around ~5000 ind... hmm actually its more like 1500ish as the food conversion isn't bundled directly into $(Industry)
0Send private message
12 years ago
Sep 8, 2012, 3:25:07 AM
Almost completed the code changes but I'm running into a scaling problem at high industry values. It starts becoming noticable around 200 industry (which isn't that much) but doesn't get too outrageous until around 500ish. At 1500 industry, the talent is granting around +82 ind which is ~5% industry bonus, not exactly out rageous but it scales more then I wanted.



Anyhow, if someone mathematical could take a peak at the following it would be interesting if there was a better way to scale it, I settled for ~3% ind bonus @ 1500 ind (multiplied final result by 0.6056) but that resulted in ~60% drop in low range industrial bonuses, which I don't like either... fml I need a formula that scales aggressively at low numbers but as industrial values increases, slows down until additional increases past x industrial value have no real effect. ie LOGARITHM equation! *hint hint* lol



[code] Production = (Industry*0.0461122943482+PercentSystemPopulation*7.07634966201+1*6.48363274377)*.6056 [/code]



Let PercentSystemPopulation = 1 for easy figuring



[code]







[/code]



Edit: for the time being I'm sticking with my orginal formula which is basically the same as above but without the 0.6056 modifier on it, however, ProductionP has a MaxValue="35" which means any industrial value past 450 doesn't do anything for this talent. Since I don't have to worry about 1500ish industrial values causing scaling issues, the lower industrial values scale much smoother now. Basically I forced the equation into a very abrupt log style shape.
0Send private message
12 years ago
Oct 16, 2012, 7:31:20 PM
Bringing this thread back up - what is going wrong here? I re-added my ForwardedNumberOfWars variable to the game, and checked using a hero to make sure the value is actually functioning correctly which it is (at least on the hero - the hero adds 300 approval to starsystem when at war hah) but when I tried to add my code to an star system improvement it didn't work. So to checked by adding a simple line to the colony improvement and it does not work - anyone see a reason why?



[code]













[/code]



From what I remember about how the AI handles war weariness it tracks wins and losses. Is there any to similiar track wins losses and use it as a variable that can be used in SimulationObjectDescriptors?
0Send private message
12 years ago
Oct 17, 2012, 12:48:23 PM
if the "ForwardedNumberOfWars" is define on the System as I imagine, you need to force the "Modifier" to use only "Destination" property for the lookup.



Try this :

[CODE]



[/CODE]
0Send private message
12 years ago
Aug 22, 2012, 2:20:57 AM
Alright here is a summation of my frustrations, distilled down in simple form regarding several topics... I've attempt multiple incarnations of the below coding and never managed to pull it off. Insight would be terribly delightful.



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



Specifically I've attempted to introduce ship modules which utilize the above TargetProperties. The goal is to create a ship module that is required to traverse wormholes rather than an empire level event. And to create a module that raises the MaxCommandPoint value for ship/fleets







Is it possible to effect specific player planetary systems through ships/fleets/modules. Playing around with the taxrate bonuses (ClassEmpire,AffinityAmoeba/ClassStarSystem) proves it is possible to affect systems through modules, but only through the affinity tag and it cannot be limited to a single system, rather all controlled systems + empire receive the effects - which is basically the tax effect. How can I/we make a ship module that only grants its bonus to system it is in orbit of?





Regarding events such as the TraitOccasionalEffect- the example of Hissho conquering / loosing systems, is this only achievable through hard-coding relating to the specific traits? The code defining the duration / effect / reset of said said events is very clear, just not the attached trigger that starts the event. I have a great desire to write several on successful invasion or on system loss events but I can't figure out how to start them, short of giving everyone the Hissho affinity :S It can't be as simple as putting SystemLost or InvasionVictory in the descriptor tag.



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.



Finally what is the deal with $(NumberOfWars)? Why cannot I not refer to this variable properly? I tried to create a hero ability based on this, and then a building, both refused to work. I basically copied the alien esteem coding so the variable does indeed exist but outside of a passive tech ability, it doesn't seem to work.
0Send private message
12 years ago
Aug 24, 2012, 1:13:28 PM
My StarSystemDescriptor.xml:



[CODE]





[/CODE]





My EmpireDescriptor.xml:



[CODE]





[/CODE]



The game spams me with errors... help NullReferenceException



if I change it to SimulationObjectPropertyModifier instead SOPD (shorthand for simobjpropdesc) in the empireDescriptor.xml - then all my custom tooltips become corrupt and show %blahblahtitle and the modification still doesn't work. What am I do wrong??
0Send private message
12 years ago
Aug 24, 2012, 8:41:48 AM
yes you should add the modifier to the ClassEmpire descriptor in the EmpireDescriptor.xml. I don't say it clearly... sorry...



For the localization... I have not an idea of what goes wrong, because it seams you did it correctly... sorry. Are you sure you use the correct file?



Try to modify the "main menu" one like setting it at TOTO to see... If this change your in game menu, then I have no clue...
0Send private message
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