COH ProjectFile
COH Project File (Work in Progress)
The Concept of this is simple...
The tool (No Title yet) I am working on will create a Standard or User Package.
The Standard Package
- Would be i24 Oroborus released original files imported from BIN/DEF and converted to XML.
- Idea was/is to create a common format wrapper for files that parse easily, and don't require a bunch of separate tools.
The User Project
- Will contain copies of Standard files that have edits or new files added.
- In other words the idea is to be able to tell what files you have altered, without altering the originals.
The Tool
- Will Import these XML Files
- Allow you to edit them in A GUI Window (Windows)
- Automate & Help in adding new classes etc.
- Edit Player Character Classes (Hero & Villain)
- Edit Enemy Classes
- Edit Language Entries
- Etc
When the User Project is Ready it would be exported, the tool will look to see what files need to be added and generate replacement Defs or other to be rebuilt by the assets.
Once all Assets are rebuilt, handle as normal.
In some cases I could see updates needing to be required to database etc, and if so a separate file could be generated with SQL or other commands to update those portions.
I would like to stress that there are other "official versions" of tools that are tried and tested.
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>