forked from clanner/cocdp
-
Notifications
You must be signed in to change notification settings - Fork 6
Csv Files
clanner edited this page Feb 13, 2015
·
2 revisions
The game rules are encoded in .csv files. You can browse the decompressed files here and here
These files are lzma
compressed, with a slightly modified header:
You should add 4 0x00 bytes at offset 9 in the file. So for example buildings.csv looks like this:
00000000: 5d 00 00 04 00 bc bb 00 00 00 11 13 88 26 d3 4d
00000010: 46 2e b6 95 4a a1 a0 f1 d5 a6 2b 9b 1a 5e 3b 89
...
then you change that to this using your favorite hex-editor:
00000000: 5d 00 00 04 00 bc bb 00 00 00 00 00 00 00 11 13
00000010: 88 26 d3 4d 46 2e b6 95 4a a1 a0 f1 d5 a6 2b 9b
...
And then use 'lzma' to decompress, or from the unix commandline:
(
dd if="buildings.csv" bs=1 count=9
dd if=/dev/zero bs=1 count=4
dd if="buildings.csv" bs=1 skip=9
) | lzma -dc
Then you get:
"Name","TID","InfoTID","TID_Instructor","BuildingClass","SWF","ExportName","ExportNameNpc","ExportNameConstruction","BuildTimeD","BuildTimeH","BuildTimeM","BuildResource","BuildCost","TownHallLevel","Width","Height","Icon","ExportNameBuildAnim","MaxStoredGold","MaxStoredElixir","MaxStoredDarkElixir","MaxStoredWarGold","MaxStoredWarElixir","MaxStoredWarDarkElixir","Bunker","HousingSpace","ProducesResource","ResourcePerHour","ResourceMax","ResourceIconLimit","UnitProduction","UpgradesUnits","ProducesUnitsOfType","BoostCost","Hitpoints","RegenTime","AttackRange","AltAttackMode","AltAttackRange","AttackSpeed","Damage","PreferredTarget","PreferredTargetDamageMod","RandomHitPosition","DestroyEffect","AttackEffect","AttackEffect2","HitEffect","Projectile","ExportNameDamaged","BuildingW","BuildingH","ExportNameBase","ExportNameBaseNpc","ExportNameBaseWar","AirTargets","GroundTargets","AltAirTargets","AltGroundTargets","AltMultiTargets","AmmoCount","AmmoResource","AmmoCost","MinAttackRange","DamageRadius","PushBack","WallCornerPieces","LoadAmmoEffect","NoAmmoEffect","ToggleAttackModeEffect","PickUpEffect","PlacingEffect","CanNotSellLast","DefenderCharacter","DefenderCount","DefenderZ","DestructionXP","Locked","Hidden","AOESpell","AOESpellAlternate","TriggerRadius","ExportNameTriggered","AppearEffect","ForgesSpells","IsHeroBarrack","HeroType","IncreasingDamage","DamageLv2","DamageLv3","DamageMulti","Lv2SwitchTime","Lv3SwitchTime","AttackEffectLv2","AttackEffectLv3","TransitionEffectLv2","TransitionEffectLv3","AltNumMultiTargets","PreventsHealing","StrengthWeight","AlternatePickNewTargetDelay","AltBuildResource"
"String","String","String","String","String","String","String","String","String","int","int","int","String","int","int","int","int","String","String","int","int","int","int","int","int","boolean","int","String","int","int","int","int","boolean","int","int","int","int","int","boolean","int","int","int","String","int","boolean","String","String","String","String","String","String","int","int","String","String","String","boolean","boolean","boolean","boolean","boolean","int","String","int","int","int","boolean","boolean","String","String","String","String","String","boolean","String","int","int","int","Boolean","Boolean","String","String","int","String","String","boolean","boolean","String","Boolean","int","int","int","int","int","String","String","String","String","int","boolean","int","int","String"
"Troop Housing","TID_BUILDING_HOUSING","TID_HOUSING_INFO","TID_HINT_BUILD_HOUSING","Army","sc/buildings.sc","fireplace_lvl1",,"fireplace_const",,,5,"Elixir",250,1,5,5,,"fireplace_upg",,,,,,,,20,,,,,,,,,250,15,,,,,,,,,"Building Destroyed",,,,,"gen_destructed_state5",2,2,"fireplace_lvl1_base",,"war_fireplace_lvl1_base",,,,,,,,,,,,,,,,"Troop Housing Pickup","Troop Housing Placing","true",,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,"TID_HINT_UPGRADE_HOUSING",,,"fireplace_lvl2",,,,1,0,,2500,2,,,,,,,,,,,,30,,,,,,,,,270,,,,,,,,,,,,,,,,,,"fireplace_lvl2_base",,"war_fireplace_lvl2_base",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...