1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Added list of all identifiers from base game

This commit is contained in:
Ivan Savenko 2023-09-23 19:26:15 +03:00
parent 43246477d4
commit 8210a2cafd
5 changed files with 855 additions and 38 deletions

View File

@ -190,38 +190,37 @@
"description" : "Various flags", "description" : "Various flags",
"additionalProperties" : false, "additionalProperties" : false,
"properties" : { "properties" : {
"indifferent" : { "indifferent" : {
"type" : "boolean",
"description" : "Spell is indifferent for target"
},
"negative" : {
"type" : "boolean",
"description" : "Spell is negative for target"
},
"positive" : {
"type" : "boolean",
"description" : "Spell is positive for target"
},
"damage" : {
"type" : "boolean",
"description" : "Spell does damage (direct or indirect)"
},
"offensive" : {
"type" : "boolean",
"description" : "Spell does direct damage (implicitly sets damage and negative)"
},
"rising" : {
"type" : "boolean",
"description" : "Rising spell (implicitly sets positive)"
},
"special" : {
"type" : "boolean",
"description" : "Special spell. Can be given only by BonusType::SPELL"
},
"nonMagical" : {
"type" : "boolean", "type" : "boolean",
"description" : "Non-magical ability. Usually used by some creatures. Should not be affected by sorcery and generic magic resistance. School resistances apply. Examples: dendroid bind, efreet fire shield." "description" : "Spell is indifferent for target"
} },
"negative" : {
"type" : "boolean",
"description" : "Spell is negative for target"
},
"positive" : {
"type" : "boolean",
"description" : "Spell is positive for target"
},
"damage" : {
"type" : "boolean",
"description" : "Spell does damage (direct or indirect)"
},
"offensive" : {
"type" : "boolean",
"description" : "Spell does direct damage (implicitly sets damage and negative)"
},
"rising" : {
"type" : "boolean",
"description" : "Rising spell (implicitly sets positive)"
},
"special" : {
"type" : "boolean",
"description" : "Special spell. Can be given only by BonusType::SPELL"
},
"nonMagical" : {
"type" : "boolean",
"description" : "Non-magical ability. Usually used by some creatures. Should not be affected by sorcery and generic magic resistance. School resistances apply. Examples: dendroid bind, efreet fire shield."
} }
} }
}, },
@ -315,5 +314,5 @@
"type" : "boolean", "type" : "boolean",
"description" : "If true, spell won't be available on a map without water" "description" : "If true, spell won't be available on a map without water"
} }
}, }
} }

View File

@ -0,0 +1,778 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Game Identifiers
## List of all game identifiers
This is a list of all game identifiers available to modders. Note that only identifiers from base game have been included. For identifiers from mods please look up corresponding mod
### artifact
- artifact.admiralsHat
- artifact.ambassadorsSash
- artifact.ammoCart
- artifact.amuletOfTheUndertaker
- artifact.angelFeatherArrows
- artifact.angelWings
- artifact.angelicAlliance
- artifact.armageddonsBlade
- artifact.armorOfTheDamned
- artifact.armorOfWonder
- artifact.armsOfLegion
- artifact.badgeOfCourage
- artifact.ballista
- artifact.birdOfPerception
- artifact.blackshardOfTheDeadKnight
- artifact.bootsOfLevitation
- artifact.bootsOfPolarity
- artifact.bootsOfSpeed
- artifact.bowOfElvenCherrywood
- artifact.bowOfTheSharpshooter
- artifact.bowstringOfTheUnicornsMane
- artifact.breastplateOfBrimstone
- artifact.breastplateOfPetrifiedWood
- artifact.bucklerOfTheGnollKing
- artifact.capeOfConjuring
- artifact.capeOfVelocity
- artifact.cardsOfProphecy
- artifact.catapult
- artifact.celestialNecklaceOfBliss
- artifact.centaurAxe
- artifact.charmOfMana
- artifact.cloakOfTheUndeadKing
- artifact.cloverOfFortune
- artifact.collarOfConjuring
- artifact.cornucopia
- artifact.crestOfValor
- artifact.crownOfDragontooth
- artifact.crownOfTheSupremeMagi
- artifact.deadMansBoots
- artifact.diplomatsRing
- artifact.dragonScaleArmor
- artifact.dragonScaleShield
- artifact.dragonWingTabard
- artifact.dragonboneGreaves
- artifact.elixirOfLife
- artifact.emblemOfCognizance
- artifact.endlessBagOfGold
- artifact.endlessPurseOfGold
- artifact.endlessSackOfGold
- artifact.equestriansGloves
- artifact.everflowingCrystalCloak
- artifact.everpouringVialOfMercury
- artifact.eversmokingRingOfSulfur
- artifact.firstAidTent
- artifact.garnitureOfInterference
- artifact.glyphOfGallantry
- artifact.goldenBow
- artifact.grail
- artifact.greaterGnollsFlail
- artifact.headOfLegion
- artifact.hellstormHelmet
- artifact.helmOfChaos
- artifact.helmOfHeavenlyEnlightenment
- artifact.helmOfTheAlabasterUnicorn
- artifact.hourglassOfTheEvilHour
- artifact.inexhaustibleCartOfLumber
- artifact.inexhaustibleCartOfOre
- artifact.ladybirdOfLuck
- artifact.legsOfLegion
- artifact.lionsShieldOfCourage
- artifact.loinsOfLegion
- artifact.mysticOrbOfMana
- artifact.necklaceOfDragonteeth
- artifact.necklaceOfOceanGuidance
- artifact.necklaceOfSwiftness
- artifact.ogresClubOfHavoc
- artifact.orbOfDrivingRain
- artifact.orbOfInhibition
- artifact.orbOfSilt
- artifact.orbOfTempestuousFire
- artifact.orbOfTheFirmament
- artifact.orbOfVulnerability
- artifact.pendantOfCourage
- artifact.pendantOfDeath
- artifact.pendantOfDispassion
- artifact.pendantOfFreeWill
- artifact.pendantOfHoliness
- artifact.pendantOfLife
- artifact.pendantOfNegativity
- artifact.pendantOfSecondSight
- artifact.pendantOfTotalRecall
- artifact.powerOfTheDragonFather
- artifact.quietEyeOfTheDragon
- artifact.recantersCloak
- artifact.redDragonFlameTongue
- artifact.ribCage
- artifact.ringOfConjuring
- artifact.ringOfInfiniteGems
- artifact.ringOfLife
- artifact.ringOfTheMagi
- artifact.ringOfTheWayfarer
- artifact.ringOfVitality
- artifact.sandalsOfTheSaint
- artifact.scalesOfTheGreaterBasilisk
- artifact.seaCaptainsHat
- artifact.sentinelsShield
- artifact.shacklesOfWar
- artifact.shieldOfTheDamned
- artifact.shieldOfTheDwarvenLords
- artifact.shieldOfTheYawningDead
- artifact.skullHelmet
- artifact.speculum
- artifact.spellBook
- artifact.spellScroll
- artifact.spellbindersHat
- artifact.sphereOfPermanence
- artifact.spiritOfOppression
- artifact.spyglass
- artifact.statesmansMedal
- artifact.statueOfLegion
- artifact.stillEyeOfTheDragon
- artifact.stoicWatchman
- artifact.surcoatOfCounterpoise
- artifact.swordOfHellfire
- artifact.swordOfJudgement
- artifact.talismanOfMana
- artifact.targOfTheRampagingOgre
- artifact.thunderHelmet
- artifact.titansCuirass
- artifact.titansGladius
- artifact.titansThunder
- artifact.tomeOfAirMagic
- artifact.tomeOfEarthMagic
- artifact.tomeOfFireMagic
- artifact.tomeOfWaterMagic
- artifact.torsoOfLegion
- artifact.tunicOfTheCyclopsKing
- artifact.unusedArtifact1
- artifact.unusedArtifact2
- artifact.unusedArtifact3
- artifact.vampiresCowl
- artifact.vialOfDragonBlood
- artifact.vialOfLifeblood
- artifact.wizardsWell
### battlefield
- battlefield.clover_field
- battlefield.cursed_ground
- battlefield.dirt_birches
- battlefield.dirt_hills
- battlefield.dirt_pines
- battlefield.evil_fog
- battlefield.fiery_fields
- battlefield.grass_hills
- battlefield.grass_pines
- battlefield.holy_ground
- battlefield.lava
- battlefield.lucid_pools
- battlefield.magic_clouds
- battlefield.magic_plains
- battlefield.rocklands
- battlefield.rough
- battlefield.sand_mesas
- battlefield.sand_shore
- battlefield.ship
- battlefield.ship_to_ship
- battlefield.snow_mountains
- battlefield.snow_trees
- battlefield.subterranean
- battlefield.swamp_trees
### creature
- creature.airElemental
- creature.airElementals
- creature.ammoCart
- creature.ancientBehemoth
- creature.angel
- creature.apprenticeGremlin
- creature.archDevil
- creature.archMage
- creature.archangel
- creature.archer
- creature.arrowTower
- creature.azureDragon
- creature.ballista
- creature.basilisk
- creature.battleDwarf
- creature.behemoth
- creature.beholder
- creature.blackDragon
- creature.blackKnight
- creature.boar
- creature.boneDragon
- creature.catapult
- creature.cavalier
- creature.centaur
- creature.centaurCaptain
- creature.cerberus
- creature.champion
- creature.chaosHydra
- creature.crusader
- creature.crystalDragon
- creature.cyclop
- creature.cyclopKing
- creature.demon
- creature.dendroidGuard
- creature.dendroidSoldier
- creature.devil
- creature.diamondGolem
- creature.dragonFly
- creature.dreadKnight
- creature.dwarf
- creature.earthElemental
- creature.efreet
- creature.efreetSultan
- creature.enchanter
- creature.enchanters
- creature.energyElemental
- creature.evilEye
- creature.fairieDragon
- creature.familiar
- creature.fireDragonFly
- creature.fireElemental
- creature.firebird
- creature.firstAidTent
- creature.genie
- creature.ghostDragon
- creature.giant
- creature.gnoll
- creature.gnollMarauder
- creature.goblin
- creature.goblinWolfRider
- creature.goblins
- creature.gog
- creature.goldDragon
- creature.goldGolem
- creature.gorgon
- creature.grandElf
- creature.greaterBasilisk
- creature.greenDragon
- creature.gremlin
- creature.griffin
- creature.halberdier
- creature.halfling
- creature.harpy
- creature.harpyHag
- creature.hellHound
- creature.hobgoblin
- creature.hobgoblinWolfRider
- creature.hornedDemon
- creature.hydra
- creature.iceElemental
- creature.imp
- creature.infernalTroglodyte
- creature.ironGolem
- creature.lich
- creature.lightCrossbowman
- creature.lizardWarrior
- creature.lizardman
- creature.mage
- creature.magicElemental
- creature.magmaElemental
- creature.magog
- creature.manticore
- creature.marksman
- creature.masterGenie
- creature.masterGremlin
- creature.medusa
- creature.medusaQueen
- creature.mightyGorgon
- creature.minotaur
- creature.minotaurKing
- creature.monk
- creature.mummy
- creature.naga
- creature.nagaQueen
- creature.nomad
- creature.obsidianGargoyle
- creature.ogre
- creature.ogreMage
- creature.orc
- creature.orcChieftain
- creature.peasant
- creature.pegasus
- creature.phoenix
- creature.pikeman
- creature.pitFiend
- creature.pitLord
- creature.pixie
- creature.pixies
- creature.powerLich
- creature.primitiveLizardman
- creature.psychicElemental
- creature.redDragon
- creature.roc
- creature.rogue
- creature.royalGriffin
- creature.rustDragon
- creature.scorpicore
- creature.serpentFly
- creature.sharpshooter
- creature.sharpshooters
- creature.silverPegasus
- creature.skeleton
- creature.skeletonWarrior
- creature.sprite
- creature.stoneGargoyle
- creature.stoneGolem
- creature.stormElemental
- creature.swordsman
- creature.thunderbird
- creature.titan
- creature.troglodyte
- creature.troll
- creature.unicorn
- creature.unused122
- creature.unused124
- creature.unused126
- creature.unused128
- creature.vampire
- creature.vampireLord
- creature.walkingDead
- creature.warUnicorn
- creature.waterElemental
- creature.waterElementals
- creature.wight
- creature.woodElf
- creature.wraith
- creature.wyvern
- creature.wyvernMonarch
- creature.zealot
- creature.zombie
- creature.zombieLord
### faction
- faction.castle
- faction.conflux
- faction.dungeon
- faction.fortress
- faction.inferno
- faction.necropolis
- faction.neutral
- faction.rampart
- faction.stronghold
- faction.tower
### hero
- hero.adela
- hero.adelaide
- hero.adrienne
- hero.aenain
- hero.aeris
- hero.aine
- hero.aislinn
- hero.ajit
- hero.alagar
- hero.alamar
- hero.alkin
- hero.andra
- hero.arlach
- hero.ash
- hero.astral
- hero.axsis
- hero.ayden
- hero.boragus
- hero.brissa
- hero.broghild
- hero.bron
- hero.caitlin
- hero.calh
- hero.calid
- hero.catherine
- hero.charna
- hero.christian
- hero.ciele
- hero.clancy
- hero.clavius
- hero.coronius
- hero.cragHack
- hero.cuthbert
- hero.cyra
- hero.dace
- hero.damacon
- hero.daremyth
- hero.darkstorn
- hero.deemer
- hero.dessa
- hero.dracon
- hero.drakon
- hero.edric
- hero.elleshar
- hero.erdamon
- hero.fafner
- hero.fiona
- hero.fiur
- hero.galthran
- hero.gelare
- hero.gelu
- hero.gem
- hero.geon
- hero.gerwulf
- hero.gird
- hero.gretchin
- hero.grindan
- hero.gundula
- hero.gunnar
- hero.gurnisson
- hero.halon
- hero.ignatius
- hero.ignissa
- hero.ingham
- hero.inteus
- hero.iona
- hero.isra
- hero.ivor
- hero.jabarkas
- hero.jaegar
- hero.jeddite
- hero.jenova
- hero.josephine
- hero.kalt
- hero.kilgor
- hero.korbac
- hero.krellion
- hero.kyrre
- hero.labetha
- hero.lacus
- hero.lordHaart
- hero.lorelei
- hero.loynis
- hero.luna
- hero.malcom
- hero.malekith
- hero.marius
- hero.melodia
- hero.mephala
- hero.merist
- hero.mirlanda
- hero.moandor
- hero.monere
- hero.mutare
- hero.mutareDrake
- hero.nagash
- hero.neela
- hero.nimbus
- hero.nymus
- hero.octavia
- hero.olema
- hero.oris
- hero.orrin
- hero.pasis
- hero.piquedram
- hero.pyre
- hero.rashka
- hero.rion
- hero.rissa
- hero.roland
- hero.rosic
- hero.ryland
- hero.sandro
- hero.sanya
- hero.saurug
- hero.sephinroth
- hero.septienna
- hero.serena
- hero.shakti
- hero.shiva
- hero.sirMullich
- hero.solmyr
- hero.sorsha
- hero.straker
- hero.styg
- hero.sylvia
- hero.synca
- hero.tamika
- hero.tazar
- hero.terek
- hero.thane
- hero.thant
- hero.theodorus
- hero.thorgrim
- hero.thunar
- hero.tiva
- hero.torosar
- hero.tyraxor
- hero.tyris
- hero.ufretin
- hero.uland
- hero.undeadHaart
- hero.valeska
- hero.verdish
- hero.vey
- hero.vidomina
- hero.vokial
- hero.voy
- hero.wystan
- hero.xarfax
- hero.xeron
- hero.xsi
- hero.xyron
- hero.yog
- hero.zubin
- hero.zydar
### heroClass
- heroClass.alchemist
- heroClass.barbarian
- heroClass.battlemage
- heroClass.beastmaster
- heroClass.cleric
- heroClass.deathknight
- heroClass.demoniac
- heroClass.druid
- heroClass.elementalist
- heroClass.heretic
- heroClass.knight
- heroClass.necromancer
- heroClass.overlord
- heroClass.planeswalker
- heroClass.ranger
- heroClass.warlock
- heroClass.witch
- heroClass.wizard
### playerColor
- playerColor.blue
- playerColor.green
- playerColor.orange
- playerColor.pink
- playerColor.purple
- playerColor.red
- playerColor.tan
- playerColor.teal
### primSkill
Deprected, please use primarySkill instead
- primSkill.attack
- primSkill.defence
- primSkill.knowledge
- primSkill.spellpower
### primarySkill
- primarySkill.attack
- primarySkill.defence
- primarySkill.knowledge
- primarySkill.spellpower
### resource
- resource.crystal
- resource.gems
- resource.gold
- resource.mercury
- resource.mithril
- resource.ore
- resource.sulfur
- resource.wood
### river
- river.iceRiver
- river.lavaRiver
- river.mudRiver
- river.waterRiver
### road
- road.cobblestoneRoad
- road.dirtRoad
- road.gravelRoad
### secondarySkill
- secondarySkill.airMagic
- secondarySkill.archery
- secondarySkill.armorer
- secondarySkill.artillery
- secondarySkill.ballistics
- secondarySkill.diplomacy
- secondarySkill.eagleEye
- secondarySkill.earthMagic
- secondarySkill.estates
- secondarySkill.fireMagic
- secondarySkill.firstAid
- secondarySkill.intelligence
- secondarySkill.leadership
- secondarySkill.learning
- secondarySkill.logistics
- secondarySkill.luck
- secondarySkill.mysticism
- secondarySkill.navigation
- secondarySkill.necromancy
- secondarySkill.offence
- secondarySkill.pathfinding
- secondarySkill.resistance
- secondarySkill.scholar
- secondarySkill.scouting
- secondarySkill.sorcery
- secondarySkill.tactics
- secondarySkill.waterMagic
- secondarySkill.wisdom
### skill
Deprected, please use secondarySkill instead
- skill.airMagic
- skill.archery
- skill.armorer
- skill.artillery
- skill.ballistics
- skill.diplomacy
- skill.eagleEye
- skill.earthMagic
- skill.estates
- skill.fireMagic
- skill.firstAid
- skill.intelligence
- skill.leadership
- skill.learning
- skill.logistics
- skill.luck
- skill.mysticism
- skill.navigation
- skill.necromancy
- skill.offence
- skill.pathfinding
- skill.resistance
- skill.scholar
- skill.scouting
- skill.sorcery
- skill.tactics
- skill.waterMagic
- skill.wisdom
### spell
- spell.acidBreath
- spell.acidBreathDamage
- spell.age
- spell.airElemental
- spell.airShield
- spell.animateDead
- spell.antiMagic
- spell.armageddon
- spell.berserk
- spell.bind
- spell.bless
- spell.blind
- spell.bloodlust
- spell.castleMoat
- spell.castleMoatTrigger
- spell.catapultShot
- spell.chainLightning
- spell.clone
- spell.counterstrike
- spell.cure
- spell.curse
- spell.cyclopsShot
- spell.deathCloud
- spell.deathRipple
- spell.deathStare
- spell.destroyUndead
- spell.dimensionDoor
- spell.disease
- spell.disguise
- spell.dispel
- spell.dispelHelpful
- spell.disruptingRay
- spell.dungeonMoat
- spell.dungeonMoatTrigger
- spell.earthElemental
- spell.earthquake
- spell.fireElemental
- spell.fireShield
- spell.fireWall
- spell.fireWallTrigger
- spell.fireball
- spell.firstAid
- spell.fly
- spell.forceField
- spell.forgetfulness
- spell.fortressMoat
- spell.fortressMoatTrigger
- spell.fortune
- spell.frenzy
- spell.frostRing
- spell.haste
- spell.hypnotize
- spell.iceBolt
- spell.implosion
- spell.inferno
- spell.infernoMoat
- spell.infernoMoatTrigger
- spell.landMine
- spell.landMineTrigger
- spell.lightningBolt
- spell.magicArrow
- spell.magicMirror
- spell.meteorShower
- spell.mirth
- spell.misfortune
- spell.necropolisMoat
- spell.necropolisMoatTrigger
- spell.paralyze
- spell.poison
- spell.prayer
- spell.precision
- spell.protectAir
- spell.protectEarth
- spell.protectFire
- spell.protectWater
- spell.quicksand
- spell.rampartMoat
- spell.rampartMoatTrigger
- spell.removeObstacle
- spell.resurrection
- spell.sacrifice
- spell.scuttleBoat
- spell.shield
- spell.slayer
- spell.slow
- spell.sorrow
- spell.stoneGaze
- spell.stoneSkin
- spell.strongholdMoat
- spell.strongholdMoatTrigger
- spell.summonBoat
- spell.summonDemons
- spell.teleport
- spell.thunderbolt
- spell.titanBolt
- spell.towerMoat
- spell.townPortal
- spell.viewAir
- spell.viewEarth
- spell.visions
- spell.waterElemental
- spell.waterWalk
- spell.weakness
### spellSchool
- spellSchool.air
- spellSchool.any
- spellSchool.earth
- spellSchool.fire
- spellSchool.water
### terrain
- terrain.dirt
- terrain.grass
- terrain.lava
- terrain.rock
- terrain.rough
- terrain.sand
- terrain.snow
- terrain.subterra
- terrain.swamp
- terrain.water

View File

@ -48,6 +48,7 @@ VCMI contains several new strings, to cover functionality not existing in Heroes
- In-game texts, most noticeably - in-game settings menu. - In-game texts, most noticeably - in-game settings menu.
- Game Launcher - Game Launcher
- Map Editor - Map Editor
- Android Launcher
Before you start, make sure that you have copy of VCMI source code. If you are not familiar with git, you can use Github Desktop to clone VCMI repository. Before you start, make sure that you have copy of VCMI source code. If you are not familiar with git, you can use Github Desktop to clone VCMI repository.
@ -72,6 +73,13 @@ VCMI Launcher and Map Editor use translation system provided by Qt framework so
Translation of Map Editor is identical, except for location of translation files. Open `<VCMI Sources>/editor/translation/` instead to translate Map Editor Translation of Map Editor is identical, except for location of translation files. Open `<VCMI Sources>/editor/translation/` instead to translate Map Editor
TODO: how to test translation locally
### Translation of Android Launcher
TODO
see https://github.com/vcmi/vcmi/blob/develop/android/vcmi-app/src/main/res/values/strings.xml
### Submitting changes ### Submitting changes
Once you have finished with translation you need to submit these changes to vcmi team using git or Github Desktop Once you have finished with translation you need to submit these changes to vcmi team using git or Github Desktop

View File

@ -355,16 +355,45 @@ void CIdentifierStorage::finalize()
errorsFound = true; errorsFound = true;
} }
debugDumpIdentifiers();
if (errorsFound) if (errorsFound)
{
for(const auto & object : registeredObjects)
{
logMod->trace("%s : %s -> %d", object.second.scope, object.first, object.second.id);
}
logMod->error("All known identifiers were dumped into log file"); logMod->error("All known identifiers were dumped into log file");
}
assert(errorsFound == false); assert(errorsFound == false);
state = ELoadingState::FINISHED; state = ELoadingState::FINISHED;
}
void CIdentifierStorage::debugDumpIdentifiers()
{
logMod->trace("List of all registered objects:");
std::map<std::string, std::vector<std::string>> objectList;
for(const auto & object : registeredObjects)
{
size_t categoryLength = object.first.find('.');
assert(categoryLength != std::string::npos);
std::string objectCategory = object.first.substr(0, categoryLength);
std::string objectName = object.first.substr(categoryLength + 1);
objectList[objectCategory].push_back("[" + object.second.scope + "] " + objectName);
}
for(auto & category : objectList)
boost::range::sort(category.second);
for(const auto & category : objectList)
{
logMod->trace("");
logMod->trace("### %s", category.first);
logMod->trace("");
for(const auto & entry : category.second)
logMod->trace("- " + entry);
}
} }
VCMI_LIB_NAMESPACE_END VCMI_LIB_NAMESPACE_END

View File

@ -65,6 +65,9 @@ class DLL_LINKAGE CIdentifierStorage
ELoadingState state = ELoadingState::LOADING; ELoadingState state = ELoadingState::LOADING;
/// Helper method that dumps all registered identifier into log file
void debugDumpIdentifiers();
/// Check if identifier can be valid (camelCase, point as separator) /// Check if identifier can be valid (camelCase, point as separator)
static void checkIdentifier(std::string & ID); static void checkIdentifier(std::string & ID);