Difference between revisions of "Packages"
From VCMI Project Wiki
(→Configuration) |
(→Configuration) |
||
Line 34: | Line 34: | ||
=Configuration= | =Configuration= | ||
There are two types of configuration for a package: | There are two types of configuration for a package: | ||
− | *Setting the value of variable | + | *Setting the value of variable, numerical or boolen (on/off) |
*Grouping objects which can be turned on and off at the same time for convenience. | *Grouping objects which can be turned on and off at the same time for convenience. |
Revision as of 16:05, 5 February 2012
Package structure
Packages may consist of following files:
- mod.py - main file required by Mod Handler. Includes unique name and version of package. Lists all related files included in mod.
- Script defining new objects and requesting Mod Handler to put them in game.
- Graphics files
- Sound files
- Additional Python script files (.py)
- Additional text files
- Possibly .json files
All files should be placed within the scope of root folder of mod.py file. Mods folder in main VCMI directory is scanned upon entering "new game" menu in search of mod.py files.
Adding new objects
An example pseudo-code in Python for adding new artifact:
id = CreateArtifact( 'CrystalOrb', #reference name 'Crystal Orb', #actual name in game Artifact.ART_RELIC, #rarity from namespace Atifact Artifact.ART_HERO, #artifact type (including combined artifacts, commander or creature art) Artifact.ARTPOS_MISC #slot ) id.AddBonus (Bonus.SIGHT_RADIOUS,+12) #using namespace Bonus (in Python they are called packages and modules, but that's confusing) id.price = 8000 id.AIValue = 12000 id.description = ParseTextFile ('.\CrystalOrb.txt') SetArtifactDef ('CrystalOrb','.\lodfile\orb.def') ArtHandler.SetArtAvaliable ('CrystalOrb')
Configuration
There are two types of configuration for a package:
- Setting the value of variable, numerical or boolen (on/off)
- Grouping objects which can be turned on and off at the same time for convenience.