COH ProjectFile

From OuroDev
Revision as of 16:34, 19 May 2019 by Dragonsire (talk | contribs)

COH Project File (Work in Progress)

Current Features Already Implemented

  • Extract BINs From some PIGG Files
  • Extract Character Classes, PowerSets, PowerCategories, Origins, Powers and few other CrypticS String Defs Structures directly from BIN
  • Convert Classes Extracted to Usable XML
  • Rebuild BINs that were extracted for above classes
  • Extract MessageStore Language Files and use for pulling strings for editing classes above
  • Some very Basic UI Forms for viewing some of the XML Files
  • A Managed system for interacting with all the data.
  • Not reliant on C Code, or Specific to any future branched projects.
  • Usage of a Project File for Standard Content and Modified Content to allow editing only what you need, and packing up the changes


I would like to stress that there are other "official versions" of tools that are tried and tested.

    • Will be open source when somewhat stable.

DragonSire "Reality is Boring"

XML Example (Work in Progress)

<?xml version="1.0" encoding="utf-8"?> <COH_ProjectFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 <Name>CityofHeroes_StandardProject</Name>
 <Author>Crytic/Paragon Studios Revised by Ouroboros</Author>
 <Website />
 <Version>1.0.Alpha</Version>
 <ReleaseDate>01/01/2020</ReleaseDate>
 <COH_PC_Heroes>
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Blaster" Path=".\Class_Blaster.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Controller" Path=".\Class_Controller.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Defender" Path=".\Class_Defender.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Scrapper" Path=".\Class_Scrapper.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Tanker" Path=".\Class_Tanker.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Peacebringer" Path=".\Class_Peacebringer.xml" />
   <COH_PC_Hero EntryType="CharacterClass_Player_Hero" Name="Warshade" Path=".\Class_Warshade.xml" />
 </COH_PC_Heroes>
 <COH_PC_Villians>
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Brute" Path=".\Class_Brute.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Stalker" Path=".\Class_Stalker.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Mastermind" Path=".\Class_Mastermind.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Dominator" Path=".\Class_Dominator.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Corruptor" Path=".\Class_Corruptor.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Widow" Path=".\Class_Arachnos_Widow.xml" />
   <COH_PC_Villian EntryType="CharacterClass_Player_Villian" Name="Soldier" Path=".\Class_Arachnos_Soldier.xml" />
 </COH_PC_Villians>
 <COH_Enemies>
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Fire" Path=".\Class_Minion_Fire.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Grunt" Path=".\Class_Minion_Grunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Henchman" Path=".\Class_Minion_Henchman.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Monument" Path=".\Class_Minion_Monument.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion OilSlickTarget" Path=".\Class_Minion_OilSlickTarget.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Pets" Path=".\Class_Minion_Pets.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Practice" Path=".\Class_Minion_Practice.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion PraetorianGrunt" Path=".\Class_Minion_PraetorianGrunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion PraetorianSmall" Path=".\Class_Minion_PraetorianSmall.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Small Agressive" Path=".\Class_Minion_Small_Agressive.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Small" Path=".\Class_Minion_Small.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Swarm" Path=".\Class_Minion_Swarm.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion Turret" Path=".\Class_Minion_Turret.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Minion UnkillableNPC" Path=".\Class_Minion_UnkillableNPC.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt Grunt" Path=".\Class_Lt_Grunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt Sniper" Path=".\Class_Lt_Sniper.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt Turret" Path=".\Class_Lt_Turret.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt Henchman" Path=".\Class_Lt_Henchman.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt LongRangeDrone" Path=".\Class_Lt_LongRangeDrone.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Lt PraetorianGrunt" Path=".\Class_Lt_PraetorianGrunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Archvillain" Path=".\Class_Boss_Archvillain.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Archvillain_Flying" Path=".\Class_Boss_Archvillain_Flying.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Elite" Path=".\Class_Boss_Elite.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss EliteTurret" Path=".\Class_Boss_EliteTurret.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Grunt" Path=".\Class_Boss_Grunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Guard" Path=".\Class_Boss_Guard.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Hamidon" Path=".\Class_Boss_Hamidon.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss HeavyPet" Path=".\Class_Boss_HeavyPet.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Henchman" Path=".\Class_Boss_Henchman.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss HugeDevice" Path=".\Class_Boss_HugeDevice.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Mito" Path=".\Class_Boss_Mito.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Monster" Path=".\Class_Boss_Monster.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Monster_Flying" Path=".\Class_Boss_Monster_Flying.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss PraetorianArchvillain" Path=".\Class_Boss_PraetorianArchvillain.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss PraetorianAVLowPerception" Path=".\Class_Boss_PraetorianAVLowPerception.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss PraetorianElite" Path=".\Class_Boss_PraetorianElite.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss PraetorianGrunt" Path=".\Class_Boss_PraetorianGrunt.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Reichsman" Path=".\Class_Boss_Reichsman.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Rularuu" Path=".\Class_Boss_Rularuu.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss RularuuCoP" Path=".\Class_Boss_RularuuCoP.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss RularuuFM" Path=".\Class_Boss_RularuuFM.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Shield" Path=".\Class_Boss_Shield.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Signature_Pets" Path=".\Class_Boss_Signature_Pets.xml" />
   <COH_Enemy EntryType="CharacterClass_EnemyClass" Name="Boss Turret" Path=".\Class_Boss_Turret.xml" />
 </COH_Enemies>
 <COH_PowerCategories>
   <COH_PowerCategory EntryType="PowerCategory" Name="Blaster (Ranged)" Path=".\Blaster_Ranged.xml" />
   <COH_PowerCategory EntryType="PowerCategory" Name="Blaster (Support)" Path=".\Blaster_Support.xml" />
 </COH_PowerCategories>
 <COH_PowerSets>
   <COH_PowerSet EntryType="PowerSets" Name="Archery" Path=".\Blaster_Ranged\Blaster_Ranged.Archery.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Assault Rifle" Path=".\Blaster_Ranged\Blaster_Ranged.Assault_Rifle.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Beam Rifle" Path=".\Blaster_Ranged\Blaster_Ranged.Beam_Rifle.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Dark Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Dark_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Dual Pistols" Path=".\Blaster_Ranged\Blaster_Ranged.Dual_Pistols.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Electrical Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Electrical_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Energy Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Energy_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Fire Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Fire_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Ice Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Ice_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Psychic Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Psychic_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Radiation Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Radiation_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Sonic Attack" Path=".\Blaster_Ranged\Blaster_Ranged.Sonic_Attack.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Water Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Water_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Wind Blast" Path=".\Blaster_Ranged\Blaster_Ranged.Wind_Blast.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Darkness Manipulation" Path=".\Blaster_Support\Blaster_Support.Darkness_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Electricity Manipulation" Path=".\Blaster_Support\Blaster_Support.Electricity_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Energy Manipulation" Path=".\Blaster_Support\Blaster_Support.Energy_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Fire Manipulation" Path=".\Blaster_Support\Blaster_Support.Fire_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Gadgets" Path=".\Blaster_Support\Blaster_Support.Gadgets.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Ice_Manipulation" Path=".\Blaster_Support\Blaster_Support.Ice_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Martial Manipulation" Path=".\Blaster_Support\Blaster_Support.Martial_Manipulation.xml" />
   <COH_PowerSet EntryType="PowerSets" Name="Mental Manipulation" Path=".\Blaster_Support\Blaster_Support.Mental_Manipulation.xml" />
 </COH_PowerSets>

</COH_ProjectFile>