ZombiesRus5 ZombiesRus5

[Mod Utility] Entity Editor and Validation Tool (Fan made, Supports Rebellion)

[Mod Utility] Entity Editor and Validation Tool (Fan made, Supports Rebellion)

http://code.google.com/p/soaseplugin/

I have a set of eclipse and ant based tools for modding with Sins that others may find useful when validating or building their projects.

Current Downloads (older downloads: Downloads

FAQ

System Requirements 

Syntax Wiki - A syntaxual representation of almost all of the Sins editable files.

 

How To's:
How To Install Eclipse

How To Setup Entity Validation Eclipse Plugin (Updated for new preference with v0.6)

Video: How to setup and configure the Soase Eclipse Plugin


References:

Mod Development with Eclipse (Forum link providing a general overview of Eclipse)

Eclipse download site (http://eclipse.org/downloads)

 


Tools Supported:

Entity Editor (Click me for cool stuff about visual Entity Validations)

Eclipse Editor builder/nature extension that provides visual feedback to the following validations.

Entity Definition View - Displays the syntax rules for the currently opened entity file.

 

Summary of validations currently supported:

Boolean: Validates boolean entries contain TRUE or FALSE only
Brush: Validates a referenced brush entry exists for the value entered
Conditional Validation: Allows conditional structures to follow based on a field value
Key word: Validates all entity file key words are spelled correctly
Quotes: Validates any values requiring qoutes have beginning and ending quotation marks
Integer: Validates integer entries contain digits
Decimal: Validates decimal entries contain ####.#####
Entity References: Validates a referenced entity file exists for the value entered
String Reference: Validates a referenced String entry exists for the value entered
Sound Reference: Validates a referenced Sound entry exists for the value entered
Enumeration Validation: Validates an entry confirms to an allowed set of values (i.e. buffInstantActionType)
Iteration Validation: Validates repeating elements are correct
Structure Validation: Validates entries appear in the correct order in the entity file (configurable to allow unordered structures)
Explosion Validation: Validates a referenced explosion entry exists for the value entered
Texture Validation: Validates a referenced texture exists for the value entered
Particle Validation: Validates a referenced effect exists for the value entered
Sounddata Validation: Validates sounddata files for correctness including referenced sound files
GalaxyScenarioDef Validation: Validates galaxyScenarioDef files for correctness with 2 pass validations
StringInfo Validation: Validates English.str for correctness
Brushes Validation: Validates brushes files for correctness
Gameplay.constants: Validates the Gameplay.constant file for correctness
Explosiondata Validation: Validates sounddata files for correctness including referenced sound files
Galaxy Validation: Validates galaxy files for correctness and performs additional validations on referenced templates and design names.

Content Assistance: [ctrl]+[space bar] on keywords or constants and get suggested completions
Syntax Coloring: change syntax coloring of entity files to suit your preferences (defaults to all black currently)
Hover Help: hover over a keyword and get additional details about the value or structure
Quick link to wiki syntax

1,202,949 views 278 replies | Pinned
Reply #176 Top

more on previous reply...

Gameplay.constants:

<structure name="TitanExperienceLevelData">
<field name="ExperienceNeededForNextLevel" validation="Decimal" />
<field name="ExperienceGainedForDestroying" validation="Decimal" />
</structure>

<structure name="DiplomaticPointsSpeedData">
<field name="diplomaticPointsRateSpeedScalar" validation="Decimal" />
<field name="occupyVictoryTimeScalar" validation="Decimal" version="Rebellion"/>
</structure>

<field name="timeForPeaceTreatyCooldown" validation="Integer" />
<field name="defaultGravWellColor" validation="Color" version="Rebellion"/>
<field name="phaseLaneWidth" validation="Decimal" version="Rebellion"/>
<field name="unexploredPhaseLaneWidth" validation="Decimal" version="Rebellion"/>
<field name="gravWellThickness" validation="Decimal" version="Rebellion"/>
<field name="preferNewAssetsGameCountThreshold" validation="Integer" version="Rebellion"/>
<structure name="EconomyData">

<field name="scuttleTime" validation="Decimal" />
<field name="stripTime" validation="Decimal" version="Rebellion"/>
</structure>
<structure name="CapitalShipData">

<structure version="Rebellion" name="TitanData">
<structure_reference name="ExperienceLevelData:0" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:1" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:2" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:3" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:4" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:5" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:6" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:7" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:8" type="TitanExperienceLevelData" />
<structure_reference name="ExperienceLevelData:9" type="TitanExperienceLevelData" />
<field name="LevelUpEffectName" validation="Particle"/>
<field name="LevelUpEffectSoundID" validation="Sound"/>
</structure>

<structure_reference name="ChanceToHitTargetType:TITAN" type="ChanceToHitTarget" version="Rebellion"/>

<field name="DamagePercentBonus:ANTIVERYLIGHT:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:ANTILIGHT:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:ANTIMEDIUM:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:ANTIHEAVY:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:ANTIVERYHEAVY:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:ANTIMODULE:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:COMPOSITE:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:CAPITALSHIP:Titan" validation="Decimal" version="Rebellion" />

<field name="DamagePercentBonus:CAPITALABILITY:Titan" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:CapitalShip" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:VeryLight" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Light" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Medium" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Heavy" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:VeryHeavy" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Module" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Pirate" validation="Decimal" version="Rebellion" />
<field name="DamagePercentBonus:TITAN:Titan" validation="Decimal" version="Rebellion" />

<structure required="false" name="pirateMercenariesInfo">
<field name="minTimeBetweenAttacks" validation="Integer" />
<field name="maxTimeBetweenAttacks" validation="Integer" />
<field name="arrivalDelayTime" validation="Integer" />
<structure name="spawnShips">
<field name="minFleetPoints" validation="Integer" />
<field name="maxFleetPoints" validation="Integer" />
<iterative_field name="requiredShipCount">
<structure required="false" name="requiredShip">
<field name="type" validation="Entity" />
<field name="minCount" validation="Integer"/>
<field name="maxCount" validation="Integer"/>
</structure>
</iterative_field>
<iterative_field name="randomShipCount">
<structure required="false" name="randomShip">
<field name="type" validation="Entity" />
<field name="weight" validation="Integer" />
</structure>
</iterative_field>
</structure>
</structure>

<structure_reference name="diplomaticPointsSpeedData-Slow" type="DiplomaticPointsSpeedData" version="DiplomacyOnly"/>
<structure_reference name="diplomaticPointsSpeedData-Normal" type="DiplomaticPointsSpeedData" version="DiplomacyOnly"/>
<structure_reference name="diplomaticPointsSpeedData-Fast" type="DiplomaticPointsSpeedData" version="DiplomacyOnly"/>
<structure_reference name="diplomaticPointsSpeedData-Faster" type="DiplomaticPointsSpeedData" version="DiplomacyOnly"/>
<structure_reference name="victorySpeedData-Slow" type="DiplomaticPointsSpeedData" version="Rebellion"/>
<structure_reference name="victorySpeedData-Normal" type="DiplomaticPointsSpeedData" version="Rebellion"/>
<structure_reference name="victorySpeedData-Fast" type="DiplomaticPointsSpeedData" version="Rebellion"/>
<structure_reference name="victorySpeedData-Faster" type="DiplomaticPointsSpeedData" version="Rebellion"/>

<field name="diplomacyPointsForRelationship:Trade" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForRelationship:ExternalVision" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForRelationship:InternalVision" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForRelationship:CeaseFire" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForRelationship:PeaceTreaty" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:1" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:2" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:3" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:4" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:5" validation="Decimal" version="Rebellion"/>
<field name="diplomacyPointsForPactCount:6" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:2" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:3" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:4" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:5" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:6" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:7" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:8" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:9" validation="Decimal" version="Rebellion"/>
<field name="diplomaticVictoryForPlayerCount:10" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Easy" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Medium" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Hard" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Unfair" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Nightmare" validation="Decimal" version="Rebellion"/>
<field name="aiDiplomaticPointBonusScalar:Impossible" validation="Decimal" version="Rebellion"/>

<field name="factionRelationsIncrement" validation="Decimal" version="Rebellion"/>

<field name="diplomaticVictoryMultiplier" validation="Decimal" version="DiplomacyOnly"/>
<field name="positiveDiplomaticPointsPerPoint" validation="Decimal" version="DiplomacyOnly"/>
<field name="negativeDiplomaticPointsPerPoint" validation="Decimal" version="DiplomacyOnly"/>

<iterative_field name="FactionCount" version="Rebellion">
<field required="false" name="FactionName" validation="StringInfo"/>
</iterative_field>

<structure name="victoryData" version="Rebellion">
<field name="occupationVictoryStarType" validation="Entity"/>
<field name="occupationVictoryStarName" validation="Any"/>
<field name="occupationVictoryPlanetType" validation="GalaxyDesign"/>
<field name="occupationVictoryPlanetName" validation="Any"/>
<field name="occupationVictoryPlanetTemplate" validation="GalaxyTemplate"/>
<field name="occupationVictoryTime" validation="Integer"/>
</structure>

 

more coming...

Reply #177 Top

more on previous reply...

finishCondition:

<condition><value version="Rebellion">OwnerNoLongerHasBuff</value>
<field required="true" name="buffTypeToQuery" validation="Entity"/>
</condition>

<value version="Rebellion">AbilityUsed</value>
<value version="Rebellion">AnyOnConditionInstantActionDone</value>

galaxy_scenario_def:

PlayerType:

<field name="isInsurgentPlayer" validation="Boolean" />
<field name="isOccupationPlayer" validation="Boolean" version="Rebellion"/>
<field name="themeGroup" validation="Any" />

instantActionTriggerType:

<condition value="OnCondition" version="Rebellion">
<condition_field name="instantActionConditionType">
<condition>
<value>IfOwnerIsAboutToDie</value>
</condition>
<condition>
<value>IfFirstSpawnerHasBuff</value>
<value>IfOwnerHasBuff</value>
<value>IfFirstSpawnerDoesNotHaveBuff</value>
<value>IfOwnerDoesNotHaveBuff</value>
<field name="conditionBuffType" validation="Entity" />
<field name="conditionBuffShortName" validation="StringInfo" />
</condition>
</condition_field>
</condition>

levelSourceType:

<condition>
<value>TitanUpgradeLevel</value>
<field required="true" name="sourcePropertyType" validation="Simple">
<value>AbilityALevel</value>
<value>AbilityBLevel</value>
<value>AbilityCLevel</value>
<value>AbilityDLevel</value>
<value>AbilityELevel</value>
</field>
</condition>

planets:

meshInfoCount:

<field name="shouldPrefer" validation="Boolean" version="Rebellion"/>

<structure name="planetRuinDef" version="Rebellion">
<field name="ruinPlanetType" validation="Entity"/>
<field name="attachType" />
<field name="effectName" validation="Particle"/>
<field name="startTime" validation="Decimal"/>
<field name="soundID" validation="Sound"/>
<field name="creditsOnStrippedToTheCore" validation="Decimal"/>
<field name="metalOnStrippedToTheCore" validation="Decimal"/>
<field name="crystalOnStrippedToTheCore" validation="Decimal"/>
</structure>

 

more coming...

Reply #178 Top

more on previous...

ResearchSubject:

ResearchField:

<value version="Rebellion">ResearchUnlock</value>

modifierTypeBool:

<value version="Rebellion">CapitalShipsTitansAndStarBasesCountAsPlanetForNoGameLoss</value> <!-- diplomacy 1.3 -->
<value version="Rebellion">FriendlyWithPiratesRebelNeutrals</value> 
<value version="Rebellion">StripPlanetsOnScuttle</value> 
<value version="Rebellion">StarBasesCanHyperspace</value> 
<value version="Rebellion">AllowAlliesToUsePhaseGates</value>
<value version="Rebellion">ResearchVictory</value> 
<value version="Rebellion">SpawnCopyOfPirateRaidsAtRandomPlanet</value> 
<value version="Rebellion">FriendlyInsurgentShipsSpawnedAtHomePlanetWhenEnemyPlanetLiberated</value>
<value version="Rebellion">DestabilizationProtection</value> 

<condition>
<value version="Rebellion">ApplyBuffToPlanetsAfterScuttle</value>
<value version="Rebellion">ApplyBuffToAllOwnedShipsWhenOwnedPlanetFalls</value>
<value version="Rebellion">ApplyBuffToShipsAfterHyperspace</value>
<value version="Rebellion">ApplyBuffToOwnedPlanetAfterLastEnemyShipLeavesOrDies</value>
<value version="Rebellion">ApplyBuffToPlanetAfterColonization</value>
<value version="Rebellion">ApplyBuffToPlanetAfterPlayerDestroys</value>
<field name="buffToApply" validation="Entity"/>
</condition>
<condition>
<value version="Rebellion">SetFaction</value>
<field name="factionNameID" validation="StringInfo"/>
</condition>

modifierTypeFloat:

<value version="Rebellion">OrbitalCannonPriceAdjustment</value>
<value version="Rebellion">BombingCooldownDecrease</value>
<value version="Rebellion">TradeGoodsValueAdjustmentWithNonAlliedPlayers</value>
<value version="Rebellion">PopulationTaxRateAdjustmentWhenEnemyInGravityWell</value>
<value version="Rebellion">StarBasesPerGravityWellAdjustment</value>
<value version="Rebellion">TitanConstructionCap</value>
<value version="Rebellion">ShipMaxSlotsWhenOnlyAlliedWithSameRaceSameFactionPlayers</value>
<value version="Rebellion">LabsPerCapitalShip</value>
<value version="Rebellion">LabsPerCapitalShipMax</value>
<value version="Rebellion">ChanceToRespawnFrigateAtHomeworldUponDeath</value>
<value version="Rebellion">ChanceToTemporarilyCloneEnemyFrigateWhenKilled</value>
<value version="Rebellion">ChanceToTemporarilyCloneEnemyFrigateWhenKilledDuration</value>
<value version="Rebellion">CultureShieldRegenAmount</value>
<value version="Rebellion">CreditsGainedPerPointOfBombingDamageDealt</value>
<value version="Rebellion">OrbitalCannonSlotCostAdjustment</value>
<value version="Rebellion">ArmorBaseAdjustmentWhenInFriendlyGravityWell</value>
<value version="Rebellion">CultureModuleCostAdjustment</value>
<value version="Rebellion">CultureSpreadRateBaseAdjustment</value>
<value version="Rebellion">HyperspaceAntimatterCostAdjustmentWhenGoingToFriendlyGravityWell</value>
<value version="Rebellion">StarBaseUpgradeCostAdjustment</value>
<value version="Rebellion">CultureChanceToIgnoreShieldsAsDamageTarget</value>
<value version="Rebellion">ChanceToConvertFrigatesHyperspacingFromPlanet</value>
<value version="Rebellion">ShipBuildRateAdjustmentWhenEnemyInGravityWell</value>
<value version="Rebellion">CapitalShipTaxIncome</value>
<value version="Rebellion">CapitalShipAndTitanAngularThrustAdjustment</value>
<value version="Rebellion">ExperienceAwardedAdjustmentWhenInFriendlyGravityWell</value>
<value version="Rebellion">CultureEnemyAllegianceRateAdjustment</value>

<condition>
<value version="Rebellion">WeaponRateOfFireAdjustmentWhenInGravityWellBeingBombed</value> <!-- diplomacy 1.3 -->
<value version="Rebellion">WeaponDamageAdjustmentWhenInGravityWellBeingBombed</value> <!-- diplomacy 1.3 -->
<value version="Rebellion">WeaponDamageAdjustmentWhenInFriendlyGravityWell</value> <!-- diplomacy 1.3 -->
<value version="Rebellion">WeaponDamageAdjustmentForEachAlliedPlayerInGravityWell</value>
<value>WeaponRangeAdjustment</value>
<value>WeaponRateOfFireAdjustment</value>
<value>WeaponDamageAdjustment</value>
<value>WeaponIgnoresShieldsAdjustment</value>
<field name="baseValue" validation="Decimal"/>
<field name="perLevelValue" validation="Decimal"/>
<field name="linkedWeaponClass"/>
</condition>

Reply #179 Top

more on previous...

Titan Upgrade:

<?xml version="1.0" encoding="UTF-8"?>
<tns:entity_definitions xmlns:tns="http://www.example.org/element_definitions/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/element_definitions/ entity_definitions.xsd ">
<structure name="TitanUpgrade">
<iterative_field name="stageCount">
<structure required="false" name="stage">
<field name="nameStringID" validation="StringInfo"/>
<field name="descStringID" validation="StringInfo"/>
<structure_reference name="researchPrerequisites"/>
<field name="levelRequirement" validation="Integer"/>
<field name="hudIcon" validation="Brush"/>
<field name="smallHudIcon" validation="Brush"/>
<field name="infoCardIcon" validation="Brush"/>
<iterative_field name="upgradePropertyCount">
<structure required="false" name="upgradeProperty">
<field name="propertyType" validation="Simple">
<value>WeaponDamage</value>
<value>MaxHullPoints</value>
<value>HullPointRestoreRate</value>
<value>MaxShieldPoints</value>
<value>ShieldPointRestoreRate</value>
<value>BaseArmorPoints</value>
<value>MaxAntiMatterPoints</value>
<value>AntiMatterRestoreRate</value>
<value>AbilityCooldownRate</value>
<value>AbilityALevel</value>
<value>AbilityBLevel</value>
<value>AbilityCLevel</value>
<value>AbilityDLevel</value>
</field>
<field name="value" validation="Decimal"/>
</structure>
</iterative_field>
<iterative_field name="upgradeBoolPropertyCount">
<field required="false" name="upgradeBoolProperty" validation="Simple">
<value>CanPreventEnemyColonize</value>
<value>CanPreventPlanetLossByBombing</value>
<value>CanPreventEnemyColonize</value>
<value>CanPreventPlanetLossByBombing</value>
</field>
</iterative_field>
</structure>
</iterative_field>
</structure>
</tns:entity_definitions>

Titan:

<?xml version="1.0" encoding="UTF-8"?>
<tns:entity_definitions xmlns:tns="http://www.example.org/element_definitions/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/element_definitions/ entity_definitions.xsd ">
<structure name="Titan">
<field name="ability:0" validation="Entity"/>
<field name="ability:1" validation="Entity"/>
<field name="ability:2" validation="Entity"/>
<field name="ability:3" validation="Entity"/>
<field name="ability:4" validation="Entity" version="Entrenchment"/>
<field name="defaultAutoAttackRange" type="defaultAutoAttackRange"/>
<field name="defaultAutoAttackOn" validation="Boolean"/>
<field name="prefersToFocusFire" validation="Boolean"/>
<field name="usesFighterAttack" validation="Boolean" version="Entrenchment"/>
<field name="autoJoinFleetDefault" validation="Boolean"/>
<field name="canBomb" type="canBomb"/>
<field name="mainViewIcon" validation="Brush"/>
<structure_reference name="basePrice" type="Cost"/>
<field name="slotCount" validation="Decimal"/>
<field name="BuildTime" validation="Decimal"/>
<structure_reference name="MaxHullPoints" type="LevelIncrease"/>
<structure_reference name="MaxShieldPoints" type="LevelIncrease"/>
<structure_reference name="HullPointRestoreRate" type="LevelIncrease"/>
<structure_reference name="ShieldPointRestoreRate" type="LevelIncrease"/>
<structure_reference name="ArmorPointsFromExperience" type="LevelIncrease"/>
<structure_reference name="maxMitigation" type="LevelIncrease"/>
<structure_reference name="MaxAntiMatter" type="LevelIncrease"/>
<structure_reference name="AntiMatterRestoreRate" type="LevelIncrease"/>
<structure_reference name="CultureProtectRate" type="LevelIncrease"/>
<field name="NameStringID" validation="StringInfo"/>
<field name="DescriptionStringID" validation="StringInfo"/>
<field name="picture" validation="Brush"/>
<structure_reference name="Prerequisites" type="researchPrerequisites"/>
<field name="statCountType" type="statCountType"/>
<iterative_field name="UpgradeTypeCount">
<field required="false" name="UpgradeType" validation="Entity"/>
</iterative_field>
<field name="numRandomDebrisLarge" validation="Integer"/>
<field name="numRandomDebrisSmall" validation="Integer"/>
<iterative_field name="numSpecificDebris">
<field required="false" name="specificDebrisMeshName" validation="Mesh"/>
</iterative_field>
<field name="armorType" type="armorType"/>
<field name="hudIcon" validation="Brush"/>
<field name="smallHudIcon" validation="Brush"/>
<field name="infoCardIcon" validation="Brush"/>
<field name="minZoomDistanceMult" validation="Decimal"/>
<iterative_field name="NumWeapons">
<structure_reference required="false" name="Weapon"/>
</iterative_field>
<field name="m_weaponIndexForRange" validation="Integer"/>
<field name="firingAlignmentType" type="firingAlignmentType" version="Entrenchment"/>
<field name="TargetCountPerBank:FRONT" validation="Integer" version="Entrenchment"/>
<field name="TargetCountPerBank:BACK" validation="Integer" version="Entrenchment"/>
<field name="TargetCountPerBank:LEFT" validation="Integer" version="Entrenchment"/>
<field name="TargetCountPerBank:RIGHT" validation="Integer" version="Entrenchment"/>
<field name="canOnlyTargetStructures" validation="Boolean" version="Entrenchment"/>
<field name="mass" validation="Decimal"/>
<field name="ShieldMeshName" validation="Mesh"/>
<field name="renderShield" validation="Boolean" version="Entrenchment"/>
<field name="maxAccelerationLinear" validation="Decimal"/>
<field name="maxAccelerationStrafe" validation="Decimal"/>
<field name="maxDecelerationLinear" validation="Decimal"/>
<field name="maxAccelerationAngular" validation="Decimal"/>
<field name="maxDecelerationAngular" validation="Decimal"/>
<field name="maxSpeedLinear" validation="Decimal"/>
<field name="maxRollRate" validation="Decimal" version="Entrenchment"/>
<field name="maxRollAngle" validation="Decimal" version="Entrenchment"/>
<field name="squadTypeEntityDef:0" validation="Entity"/>
<field name="squadAntiMatterCost:0" validation="Decimal"/>
<field name="squadTypeEntityDef:1" validation="Entity"/>
<field name="squadAntiMatterCost:1" validation="Decimal"/>
<field name="squadTypeEntityDef:2" validation="Entity" version="Entrenchment"/>
<field name="squadAntiMatterCost:2" validation="Decimal" version="Entrenchment"/>
<field name="squadTypeEntityDef:3" validation="Entity" version="Entrenchment"/>
<field name="squadAntiMatterCost:3" validation="Decimal" version="Entrenchment"/>
<iterative_field name="NumSoundsFor:ONATTACKORDERISSUED">
<field required="false" name="SoundID" validation="Sound"/>
</iterative_field>
<iterative_field name="NumSoundsFor:ONCREATION">
<field required="false" name="SoundID" validation="Sound"/>
</iterative_field>
<iterative_field name="NumSoundsFor:ONGENERALORDERISSUED">
<field required="false" name="SoundID" validation="Sound"/>
</iterative_field>
<iterative_field name="NumSoundsFor:ONSELECTED">
<field required="false" name="SoundID" validation="Sound"/>
</iterative_field>
<iterative_field name="NumSoundsFor:ONSTARTPHASEJUMP">
<field required="false" name="SoundID" validation="Sound"/>
</iterative_field>
<field name="MeshName" validation="Mesh" version="Vanilla"/>
<iterative_field name="MeshNameInfoCount" version="Entrenchment">
<structure_reference required="false" name="MeshNameInfo"/>
</iterative_field>
<field name="meshNameIncreasedEffectName" validation="Particle" version="Entrenchment"/>
<field name="meshNameDecreasedEffectName" validation="Particle" version="Entrenchment"/>
<field name="ExhaustParticleSystemName" validation="Particle"/>
<field name="ExplosionName" validation="Explosion"/>
<structure_reference name="CommandPoints" type="LevelIncrease"/>
<structure_reference name="weaponCooldownDecreasePerc" type="LevelIncrease"/>
<structure_reference name="weaponDamageIncreasePerc" type="LevelIncrease"/>
<field name="HyperspaceChargingSoundID" validation="Sound"/>
<field name="HyperspaceTravelSoundID" validation="Sound"/>
<field name="EngineSoundID" validation="Sound"/>
<field name="formationRank" validation="Integer" values="0,1,2,3"/>
<field name="minShadow" validation="Decimal"/>
<field name="maxShadow" validation="Decimal"/>
</structure>
</tns:entity_definitions>

Reply #180 Top

more on previous...

useCostType:

<condition>
<value version="Rebellion">ResourcesAndMustHaveTitan</value>
<value>Resources</value>
<structure_reference name="resourceCost" type="Cost"/>
<structure_reference name="cooldownTime" type="GenericLevel"/>
<field name="orderAcknowledgementType" type="orderAcknowledgementType" version="Entrenchment"/>
</condition>
<condition><value>HullAndAntimatter</value>
<structure_reference name="hullCost" type="GenericLevel"/>
<structure_reference name="antiMatterCost" type="GenericLevel"/>
<structure_reference name="cooldownTime" type="GenericLevel"/>
<field name="orderAcknowledgementType" type="orderAcknowledgementType" version="Entrenchment"/>
</condition>

Reply #181 Top

Wiki's been updated too for the current Rebellion content (See link in OP).

Reply #182 Top

Quoting ZombiesRus5, reply 182
Wiki's been updated too for the current Rebellion content (See link in OP).

Looks like no changes with the release of Rebellion so I've uploaded the latest version of the plugin. Install it the same way as before.

This plugin will support the previous versions of sins and rebellion, BUT not in the same workspace. You will need to create another workspace for Rebellion and setup the SOASE preferences for that workspace similar to below.

Reply #183 Top

I got a couple of issue reports today which is nice.

I think they are related with the Strict Version Validation defaulting to Diplomacy. If your using the tool for Rebellion, make sure to go into Windows/Preferences/Sins Preferences and select the Rebellion Strict Version Validation.

 

Reply #184 Top

Thanks for the quick reply;

I was the one that posted those reports; I did check that i was in fact using the Rebellion validation and I was. Both issues still occur with strict validation set to Rebellion; also note that at least the issue with targetfilter in buffs is not related to Rebellion, since this existed in pre-Rebellion files as well.

edit:

I just checked the xml definitions and they do seem to contain both the targetfilter and the POINTDEFENSELASER;

the targetfilter issue might be that the targetfilter item is not available for all possible buffs that can use it; I'm using it on instantaction buff type: ApplyBuffToLocalOrbitBodyWithTravel; so I suspect targetfilter may be used in more situations than you anticipated (the (dev) game seems to handle it just fine)

I also checked the .pref file and the strictVersion string was Rebellion, so I believe the problem may be that the conditional items are not being handled properly;

 

edit 2:

I just realized a possible cause for the POINTDEFENSELASER: I use it in linkedWeaponClass as part of a researchModifier; you may have missed those. - just confirmed that the xml is missing the rebellion weapon entries.

Reply #185 Top

Quoting TMPhoenix, reply 185
the targetfilter issue might be that the targetfilter item is not available for all possible buffs that can use it; I'm using it on instantaction buff type: ApplyBuffToLocalOrbitBodyWithTravel; so I suspect targetfilter may be used in more situations than you anticipated (the (dev) game seems to handle it just fine)

Can you post your example here? This is only included because Ironclad said it existed, though no actual entity file exists that uses it currently in the core game.

Quoting TMPhoenix, reply 185
I just realized a possible cause for the POINTDEFENSELASER: I use it in linkedWeaponClass as part of a researchModifier; you may have missed those. - just confirmed that the xml is missing the rebellion weapon entries.

Fixed internally. I validated against the Rebellion source which didn't include these in any research modifiers. Though this may be a mistake with some of the pacts.

Reply #186 Top

Well, here's an example of the targetfilter usage:

 

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "ApplyBuffToLocalOrbitBodyWithTravel"
    instantActionTriggerType "OnHyperspaceExit"
    buffType "BuffInherentPhaseGate"
    targetFilter
        numOwnerships 3
        ownership "Friendly"
        ownership "Enemy"
        ownership "NoOwner"
        numObjects 2
        object "Planet"
        object "Star"
        numSpaces 1
        space "Normal"
        numConstraints 0
    travelSpeed 1000.000000
    hasWeaponEffects TRUE
    weaponEffectOriginType "Targetter"
    weaponEffectAttachInfo
        attachType "Aura"
    weaponEffectImpactOffsetType "RandomMesh"
    canWeaponEffectHitHull TRUE
    canWeaponEffectHitShields TRUE
    weaponEffectsDef
        weaponType "Projectile"
        burstCount 1
        burstDelay 1.000000
        fireDelay 0.000000
        muzzleEffectName ""
        muzzleSoundMinRespawnTime 0.100000
        muzzleSounds
            soundCount 1
            sound ""
        hitEffectName ""
        hitHullEffectSounds
            soundCount 1
            sound ""
        hitShieldsEffectSounds
            soundCount 1
            sound ""
        projectileTravelEffectName ""
numPeriodicActions 0
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 0



+1 Loading…
Reply #187 Top

Quoting TMPhoenix, reply 187
Well, here's an example of the targetfilter usage:

Thanks, I uploaded a new version that addresses this gap as well as the new weapon class types used in research subjects.

+1 Loading…
Reply #188 Top

Great,

it's working as expected now; thanks.

Reply #189 Top

I do not know if this has already been reported but I'm trying to update my mod of diplomacy to rebellion and unless I am mistaken there is a new line added at the end of the research that the validator does not report:

uniqueOverlayBrush ""


Thanks for your wonderful tool and sorry for my english

+1 Loading…
Reply #190 Top

Quoting dondurito, reply 190
I do not know if this has already been reported but I'm trying to update my mod of diplomacy to rebellion and unless I am mistaken there is a new line added at the end of the research that the validator does not report:

uniqueOverlayBrush ""




Thanks for your wonderful tool and sorry for my english

Ah yes, thanks for pointing this out. The tool indeed did not care because it was the last line of the file and it stopped validating at artifactPicture. Hence I did not see any issues with validating against the rebellion reference files.

I'll fix this with my next update.

Reply #191 Top

Quoting ZombiesRus5, reply 183
Looks like no changes with the release of Rebellion so I've uploaded the latest version of the plugin. Install it the same way as before.

This plugin will support the previous versions of sins and rebellion, BUT not in the same workspace. You will need to create another workspace for Rebellion and setup the SOASE preferences for that workspace similar to below.

Unless I missed it you might want to add this to your wiki instillation page. :thumbsup:

Reply #192 Top

Quoting GoaFan77, reply 192

Quoting ZombiesRus5, reply 183Looks like no changes with the release of Rebellion so I've uploaded the latest version of the plugin. Install it the same way as before.

This plugin will support the previous versions of sins and rebellion, BUT not in the same workspace. You will need to create another workspace for Rebellion and setup the SOASE preferences for that workspace similar to below.

Unless I missed it you might want to add this to your wiki instillation page.

Thanks, I added that portion to the plugin setup.

Reply #193 Top

This is truly an awesome thread...and sticky too.

Reply #194 Top

Quoting Sinperium, reply 194
This is truly an awesome thread...and sticky too.

Schwaa! When did this get stickied? Does that mean I get to stop updating it like the rest of the stickies?

Reply #195 Top

N0--now you are subject to excessive whining and trolling when you don't update.

En joy.

Reply #196 Top

Awesome! Did you do this plugin all by yourself? Also I'm quite impressed that you force people to work with Eclipse (and thus download the Java JDK/JRE) - it's highly useful :) Do you program in Java as well?

+1 Loading…
Reply #197 Top

Quoting KhanAndSteak, reply 197
Awesome!

Thank you!

Quoting KhanAndSteak, reply 197
Did you do this plugin all by yourself?

Yes, it is was designed and developed soley by myself. It started in concept as a batch mod validator, but I soon realized after I had a working prototype created that I could potentially fit it as an Eclipse plugin. After some light researching on how to make Eclipse plugins I set about adding in the hooks to my mod validation tool. Even though I didn't accomplish all the goals I had set out for the Eclipse plugin, all in all it was a fairly satisfying experience.

Quoting KhanAndSteak, reply 197
Also I'm quite impressed that you force people to work with Eclipse (and thus download the Java JDK/JRE)

I consider this the entry price and gateway to using the plugin. Basically if you can't download, extract Eclipse and the Java JDK then this tool is most likely above your head to use.

This tool is probably not for the notepad tinkerers, though if they are competent the content assistance and instant feedback of syntax errors can save a whole lot of hours in debugging. Also the quick openining of referenced entities is a godsend too (i.e. open a capital ship entity, highlight an ability->right click->open entity, and so on through the buffs). Add in the search capabilities of Eclipse, support for SVN, ... I could go on.

Quoting KhanAndSteak, reply 197
Do you program in Java as well?

Yes, I've been coding in Java for a very long time now.

Reply #198 Top

So are we going to be able to download 2.0.8 anytime soon? The version history says you had an update on June 28th but the latest download is from the 18th.

Reply #199 Top

Quoting GoaFan77, reply 199
So are we going to be able to download 2.0.8 anytime soon? The version history says you had an update on June 28th but the latest download is from the 18th.

I've uploaded 2.0.8 today. Thanks for reminding me.

6/28/2012 v2.0.8
# Defect: Changed RequiredFactionNameID from Any to StringInfo
# Defect: Added Invalid to WeaponClassType
# Enhancement: weaponClassForWeaponPassive now references global WeaponClassType
# Defect: PirateStrengthAgainstYouAdjustment changed to NotDiplomacyOrRebellion
# Enhancement: Added new version policy NotDiplomacyOrRebellion
# Defect: Added xpModifier to star base upgrade

Reply #200 Top

Quoting KhanAndSteak, reply 197
Awesome! Did you do this plugin all by yourself? Also I'm quite impressed that you force people to work with Eclipse (and thus download the Java JDK/JRE) - it's highly useful Do you program in Java as well?

So, I've been meaning to look at some metrics on this tool. 

Total Lines of Code: 5380

  • Soase Validation Logic: 2414 lines
  • Eclipse Plugin: 2479 lines
  • Soase XML Definitions: 5759 (all time consumingly hand edited)
  • Soase Wiki: 21588 lines (Generated from xml's)