View Issue Details

IDProjectCategoryLast Update
0021849AI War 2Bug - OtherDec 27, 2019 3:51 pm
ReporterArnaudB Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version0.954 Hacking Log! 
Summary0021849: XML editing existing units issue
DescriptionUpon trying to make a simple mod to tweak the AIP on claim from special fleets, I have run into a problem where : is_partial_record="true" doesn't properly load the rest of the value from the vanilla file.

I used the wiki to check it was correct: https://wiki.arcengames.com/index.php?title=AI_War_2:_Basic_Stat_Modding

For some reason it doesn't work.

I could rewrite the entire stats for the fleets, but that would conflict with any rebalance attempts of the fleet in the future, so I'd rather replace the simple 'aip_to_claim' value properly.

Any insight? It must be a very simple fix but I can't see it.
TagsNo tags attached.

Relationships

related to 0022433 resolvedChris_McElligottPark Flag is_partial_record="true" seemingly does not apply to all properties 
related to 0022136 resolvedChris_McElligottPark Modloader isn't overriding existing entries with is_partial 

Activities

ArnaudB

Oct 19, 2019 5:43 am

manager  

CMP_Ships_FlagshipsOther.xml (431 bytes)   
<?xml version="1.0" encoding="utf-8"?>
<root>

  <entity graphicsdone="true" name="SpireLostFrigateLance" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
    <entity graphicsdone="true" name="SpireLostFrigateLaser" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
    <entity name="SpireLostFrigateRailcannon" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
</root>
KDL_Ships_Arks.xml (549 bytes)   
<?xml version="1.0" encoding="utf-8"?>
<root>
  
  <entity name="RorqualHegira" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
    <entity name="Thanatos" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
  <entity name="Gyrn" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
  <entity name="Orchid" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
  <entity name="ArkOne" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
 
 
</root>
KDL_Ships_Arks.xml (549 bytes)   
KDL_Ships_Golems.xml (778 bytes)   
<?xml version="1.0" encoding="utf-8"?>
<root>
  
  <entity name="ArmoredGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>

  <entity name="ArtilleryGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
    <entity name="RegeneratorGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
    <entity name="CursedGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
  <entity name="BotnetGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
  <entity name="BlackWidowGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>

  <entity name="HiveGolem" is_partial_record="true"
			aip_to_claim="0"
			>
  </entity>
  
   
  


</root>
KDL_Ships_Golems.xml (778 bytes)   
ArcenDebugLog.txt (11,993 bytes)   
10/19/2019 11:40:46 AM	Current directory used: C:/Program Files (x86)/Steam/steamapps/common/AI War 2/
Process Count = 0 so PlayerDataDirectory used: C:/Program Files (x86)/Steam/steamapps/common/AI War 2/PlayerData/
10/19/2019 11:40:46 AM	Boot up FleetOS (0.3014s)
10/19/2019 11:40:46 AM	graphicsDeviceType in use: Direct3D11
graphicsDeviceVersion in use: Direct3D 11.0 [level 11.1]
graphicsMultiThreaded: True
graphicsShaderLevel: 50
operatingSystem: Windows 10  (10.0.0) 64bit
graphicsDeviceName: NVIDIA GeForce GTX 1050
graphicsDeviceID: 7309
graphicsDeviceVendor: NVIDIA
graphicsDeviceVendorID: 4318
graphicsDeviceVersion: Direct3D 11.0 [level 11.1]
graphicsMemorySize: 1979
maxTextureSize: 16384
npotSupport: Full
processorType: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
processorCount: 4
processorFrequency: 2496
systemMemorySize: 8084
supportedRenderTargetCount: 8
supportsComputeShaders: True
supportsShadows: True
usesReversedZBuffer: True
10/19/2019 11:40:46 AM	Check System Logs For Rogue Intelligence (0.0269s)
10/19/2019 11:40:46 AM	Organizing Alien Translation Routines (0.0738s)
10/19/2019 11:40:46 AM	Remembering Alamo (0.0309s)
10/19/2019 11:40:47 AM	Generating Framerates (0.0229s)
10/19/2019 11:40:47 AM	Bring Cloaking Systems Online (0.0299s)
10/19/2019 11:40:47 AM	Game Version: 0.954
10/19/2019 11:40:47 AM	Eject Trash Into Hyperspace (0.0429s)
10/19/2019 11:40:47 AM	Recalculate Speed Of Light (0.0389s)
10/19/2019 11:40:47 AM	Check Nearby Stellar Masses (0.0329s)
10/19/2019 11:40:47 AM	No resolution change was required.
10/19/2019 11:40:47 AM	Applied graphics settings: 
AntialiasingMode:x2
UseSoftParticles:False
BillboardsFaceCameraPosition:False
AnisotropicMode:ForceEnable
TextureQuality:Full
10/19/2019 11:40:47 AM	Applied Framerate Type: 60 FPS (vsync: 0 targetFPS:60)
10/19/2019 11:40:47 AM	Refresh Optical Lensing (0.0254s)
10/19/2019 11:40:47 AM	Revise Fundamental Physical Laws (0.0608s)
10/19/2019 11:40:47 AM	Boot Audio Comms (0.0090s)
10/19/2019 11:40:47 AM	Establish Individual Audio Links (0.0175s)
10/19/2019 11:40:47 AM	Prepare Explosions and Crackles (0.2982s)
10/19/2019 11:40:47 AM	Optimize Comfort On Command Decks (0.1170s)
10/19/2019 11:40:47 AM	Check For Extra Modules (0.0319s)
10/19/2019 11:40:47 AM	Calculate Odds Of Success (0.0140s)
10/19/2019 11:40:47 AM	Briefly Panic (0.1905s)
10/19/2019 11:40:48 AM	Install Confidence Routines (0.2503s)
10/19/2019 11:40:48 AM	Bring Commander Interface Online (0.0848s)
10/19/2019 11:40:48 AM	Motivate All Crews (0.0280s)
10/19/2019 11:40:48 AM	Externalizing Patterns (0.0160s)
10/19/2019 11:40:48 AM	Disengaging Constants (0.0339s)
10/19/2019 11:40:48 AM	Late Axionic Computations (0.0528s)
10/19/2019 11:40:48 AM	Thinking Of Advice (0.0060s)
10/19/2019 11:40:48 AM	Degaussing Advice (0.0230s)
10/19/2019 11:40:48 AM	Naming All Known Planets (0.0110s)
10/19/2019 11:40:48 AM	Remembering Speeds (0.0190s)
10/19/2019 11:40:48 AM	Prioritizing Targets (0.0160s)
10/19/2019 11:40:48 AM	Rebooting Sensor Arrays (0.0160s)
10/19/2019 11:40:48 AM	Unloading Prismatic Grid (0.0180s)
10/19/2019 11:40:48 AM	Thinking Of Objectives (0.0160s)
10/19/2019 11:40:48 AM	Re-Aligning Objectives (0.0180s)
10/19/2019 11:40:48 AM	Inhibiting Visual Scans (0.0190s)
10/19/2019 11:40:48 AM	Synthesizing Vocals (0.0134s)
10/19/2019 11:40:48 AM	Ventilating Scenarios (0.0180s)
10/19/2019 11:40:48 AM	Decontaminating Targeting Systems (0.0168s)
10/19/2019 11:40:48 AM	Ejecting Tactical Core (0.0163s)
10/19/2019 11:40:48 AM	Calibrating Formations (0.0160s)
10/19/2019 11:40:48 AM	Intercepting Galactic Maps (0.0189s)
10/19/2019 11:40:48 AM	Sterilizing Test Chamber (0.0185s)
10/19/2019 11:40:48 AM	Faction Diagnostics (0.0190s)
10/19/2019 11:40:48 AM	Buffering Hackers (0.0189s)
10/19/2019 11:40:48 AM	Inverting Death (0.0103s)
10/19/2019 11:40:48 AM	Linear Field Variance (0.0967s)
10/19/2019 11:40:48 AM	Charging Marks (0.0080s)
10/19/2019 11:40:48 AM	Range Manifolds (0.0180s)
10/19/2019 11:40:48 AM	Purging ROFs (0.0161s)
10/19/2019 11:40:48 AM	Manipulating Speeds (0.0177s)
10/19/2019 11:40:48 AM	Detecting Projectiles (0.0159s)
10/19/2019 11:40:48 AM	Grouping Flow Fields (0.0160s)
10/19/2019 11:40:48 AM	Modulating Flow Field Groups (0.0212s)
10/19/2019 11:40:48 AM	Designing Fleets (0.0209s)
10/19/2019 11:40:48 AM	Thinking Of Technologies (0.0089s)
10/19/2019 11:40:48 AM	Categorizing Starbord Sensors (0.0180s)
10/19/2019 11:40:48 AM	Injecting Galactic Variables (0.0189s)
10/19/2019 11:40:49 AM	Discharging Colored Ions (0.0302s)
10/19/2019 11:40:49 AM	Replicating Ion Colors (0.0060s)
10/19/2019 11:40:49 AM	Investigating Starfields (0.2563s)
10/19/2019 11:40:50 AM	Dissolving Distant Planets (1.4338s)
10/19/2019 11:40:50 AM	Investigating Map Signatures (0.0369s)
10/19/2019 11:40:50 AM	Collating Solar Systems (0.0080s)
10/19/2019 11:40:50 AM	Categorizing All Planets (0.0150s)
10/19/2019 11:40:50 AM	Organizing Commands (0.0289s)
10/19/2019 11:40:50 AM	Calculating Firing Cones (0.0040s)
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for SpireLostFrigateLance.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for SpireLostFrigateLaser.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for SpireLostFrigateRailcannon.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for RorqualHegira.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for Thanatos.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for Gyrn.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for Orchid.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for ArkOne.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for ArmoredGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for ArtilleryGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for RegeneratorGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for CursedGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for BotnetGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for BlackWidowGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	EXPToGrantOnDeath: was 0 for HiveGolem.  It should either be set to a positive value (to give EXP), or to -1 (to indicate no EXP is granted).
10/19/2019 11:40:51 AM	Errors in reading GameEntityTypeDataTable
SpireLostFrigateLance: is missing string attribute ship_or_structure_explosion_sfx
SpireLostFrigateLance: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
SpireLostFrigateLaser: is missing string attribute ship_or_structure_explosion_sfx
SpireLostFrigateLaser: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
SpireLostFrigateRailcannon: is missing string attribute ship_or_structure_explosion_sfx
SpireLostFrigateRailcannon: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
RorqualHegira: is missing string attribute ship_or_structure_explosion_sfx
RorqualHegira: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
Thanatos: is missing string attribute ship_or_structure_explosion_sfx
Thanatos: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
Gyrn: is missing string attribute ship_or_structure_explosion_sfx
Gyrn: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
Orchid: is missing string attribute ship_or_structure_explosion_sfx
Orchid: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
ArkOne: is missing string attribute ship_or_structure_explosion_sfx
ArkOne: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
ArmoredGolem: is missing string attribute ship_or_structure_explosion_sfx
ArmoredGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
ArtilleryGolem: is missing string attribute ship_or_structure_explosion_sfx
ArtilleryGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
RegeneratorGolem: is missing string attribute ship_or_structure_explosion_sfx
RegeneratorGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
CursedGolem: is missing string attribute ship_or_structure_explosion_sfx
CursedGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
BotnetGolem: is missing string attribute ship_or_structure_explosion_sfx
BotnetGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
BlackWidowGolem: is missing string attribute ship_or_structure_explosion_sfx
BlackWidowGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
HiveGolem: is missing string attribute ship_or_structure_explosion_sfx
HiveGolem: is missing string attribute ship_or_structure_explosion_if_on_other_planet_sfx
10/19/2019 11:40:51 AM	Breaking In New Ship Parts (0.5403s)
10/19/2019 11:40:54 AM	Remote Probe Programmed To Replicate (2.7379s)
10/19/2019 11:40:54 AM	Issuing Orders (0.0050s)
10/19/2019 11:40:54 AM	Augmenting Infusers (0.0189s)
10/19/2019 11:40:54 AM	Infusing (0.0318s)
10/19/2019 11:40:54 AM	Post-Proton Surge (0.0050s)
10/19/2019 11:40:54 AM	Calibrate Weapons Arrays (0.0259s)
10/19/2019 11:40:54 AM	Stimulate Modulation (0.0200s)
10/19/2019 11:40:54 AM	ArcenAssetBundleCache.InstantiatedObjects: 804
10/19/2019 11:40:55 AM	Load Surrogates (0.9434s)
10/19/2019 11:40:55 AM	Load Historical Documents (0.0179s)
10/19/2019 11:40:55 AM	8.6 seconds total load time.
Boot up FleetOS (0.3s)
Prepare Explosions and Crackles (0.3s)
Install Confidence Routines (0.3s)
Investigating Starfields (0.3s)
Dissolving Distant Planets (1.4s)
Breaking In New Ship Parts (0.5s)
Remote Probe Programmed To Replicate (2.7s)
Load Surrogates (0.9s)
10/19/2019 11:40:55 AM
Hello Steam user 'arnaud_defrance'

  at System.Environment.get_StackTrace () [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0 
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity) [0x00000] in <0958997c59b34432aac32a54c8068af8>:0 
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, Arcen.Universal.Verbosity Verbosity) [0x00000] in <0958997c59b34432aac32a54c8068af8>:0 
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <0958997c59b34432aac32a54c8068af8>:0 
  at ArcenGameController.Update () [0x00000] in <a976f0772cbd4ccaa087edc1bc48666c>:0 

ArcenDebugLog.txt (11,993 bytes)   

RocketAssistedPuffin

Oct 19, 2019 7:15 am

reporter   ~0053793

From what I remember from doing this a year ago, all you need to do is include the experience and sfx items in your modded variant. That's it.

Why, I dunno. I haven't used it since. You can see the really old mini things I did in the Modding bit of the forum, in the middle of the first page. I think there's more issues with it than just this, but nobody really uses it much I think.

ArnaudB

Oct 19, 2019 7:34 am

manager   ~0053794

Well, I tried and didn't have the bug in the log, however now they don't show up in the Galaxy view. (They do exist in the intel and on the planets, so I think it doesn't keep the setting draw_in_galaxy_view="true" from vanilla).

I don't know if people use it. It does seems like it'd discourage modding though, just changing a single value from an existing unit probably shouldn't cause that many problems.
I might do the change manually, though I'll need to update when the changes for Golems and such show up. It doesn't really take that long (search and replace is really good).

Is it an issue with partial_issue_record? It sounds like it only keeps track of a limited numbers of thing and maybe forget the rest.

RocketAssistedPuffin

Oct 19, 2019 8:42 am

reporter   ~0053795

None of the things I modified I think showed on the galaxy map before, so I don't have my own experience there.

I imagine it is an issue with that, but I'm not a programmer, I've no idea how that thing works. I don't think it's even been touched since.

Chris_McElligottPark

Oct 21, 2019 6:24 pm

administrator   ~0053825

Are the partial records being put in your own mod folder under XmlMods? Or are you putting them directly in the GameData folder? If you put them directly in the GameData folder, you can't guarantee what order they'll be read in, and will get strange problems.

We've not done a lot with partial records in a while, it might have issues.

ArnaudB

Oct 22, 2019 8:17 am

manager   ~0053831

I did put the files in their own mods in XmlMods, and I set up the loading order. So far it seems that "partial_issue_records" let a number of <entity> parameters be overwritten in the vanilla format. Like ExpOnDeath.

Chris_McElligottPark

Oct 22, 2019 9:39 am

administrator   ~0053832

I think that may be because of what I did with descendant records (copy_from) where I wanted certain things not to copy over to descendants. That I think had an unfortunate impact on partial records, where we DO want everything to copy over. I'll have to comb through the code sometime in the next couple of weeks and make it so that partial records always inherit everything.

To be honest, we just hadn't been using partial records for a really super long time, but we use copy_from all over the place, so things atrophied a bit I suppose.

Chris_McElligottPark

Dec 27, 2019 2:53 pm

administrator   ~0055184

Thank you! The specific items (EXP, etc) mentioned here finally work. There are still some other cases in other reports that probably need fixing, and I'm about to look into those. Here's what I've fixed so far:

* Several different things were not staying properly on ships when using an is_partial_record="true" to mod them:
** exp_to_grant_on_death
** watch_planets_at_X_hops
** tags (ow this would cause many problems)
** capturable_seed_weight (again very problematic)
** capturable_max_per_galaxy
** capturable_can_seed_at_all

* Fixed a couple of things that would complain they could not be found properly on ships when using an is_partial_record="true" to mod them (but in reality these were carrying over fine from the base version being modded):
** ship_or_structure_explosion_sfx
** ship_or_structure_explosion_if_on_other_planet_sfx

ArnaudB

Dec 27, 2019 3:38 pm

manager   ~0055186

Thank you!

Chris_McElligottPark

Dec 27, 2019 3:51 pm

administrator   ~0055189

Sure thing! Sorry this took so long. I expect there to be other issues, based on thoughts on 0022433, but we'll get them sorted!

Issue History

Date Modified Username Field Change
Oct 19, 2019 5:43 am ArnaudB New Issue
Oct 19, 2019 5:43 am ArnaudB File Added: CMP_Ships_FlagshipsOther.xml
Oct 19, 2019 5:43 am ArnaudB File Added: KDL_Ships_Arks.xml
Oct 19, 2019 5:43 am ArnaudB File Added: KDL_Ships_Golems.xml
Oct 19, 2019 5:43 am ArnaudB File Added: ArcenDebugLog.txt
Oct 19, 2019 7:15 am RocketAssistedPuffin Note Added: 0053793
Oct 19, 2019 7:34 am ArnaudB Note Added: 0053794
Oct 19, 2019 8:42 am RocketAssistedPuffin Note Added: 0053795
Oct 21, 2019 6:24 pm Chris_McElligottPark Note Added: 0053825
Oct 22, 2019 8:17 am ArnaudB Note Added: 0053831
Oct 22, 2019 9:39 am Chris_McElligottPark Note Added: 0053832
Oct 22, 2019 9:39 am Chris_McElligottPark Assigned To => Chris_McElligottPark
Oct 22, 2019 9:39 am Chris_McElligottPark Status new => assigned
Dec 27, 2019 2:52 pm Chris_McElligottPark Relationship added related to 0022433
Dec 27, 2019 2:52 pm Chris_McElligottPark Relationship added related to 0022136
Dec 27, 2019 2:53 pm Chris_McElligottPark Status assigned => resolved
Dec 27, 2019 2:53 pm Chris_McElligottPark Resolution open => fixed
Dec 27, 2019 2:53 pm Chris_McElligottPark Note Added: 0055184
Dec 27, 2019 3:38 pm ArnaudB Note Added: 0055186
Dec 27, 2019 3:51 pm Chris_McElligottPark Note Added: 0055189