mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-27 22:49:25 +02:00
Merge pull request #5819 from Laserlicht/battle_anim
Using attack sprite
This commit is contained in:
@@ -56,6 +56,9 @@ public:
|
|||||||
/// returns true if specified object is the currently active hero
|
/// returns true if specified object is the currently active hero
|
||||||
virtual bool isActiveHero(const CGObjectInstance* obj) const = 0;
|
virtual bool isActiveHero(const CGObjectInstance* obj) const = 0;
|
||||||
|
|
||||||
|
/// Returns moveDir of hero that attacked this wandering monster, or -1 on failure
|
||||||
|
virtual int attackedMonsterDirection(const CGObjectInstance * wanderingMonster) const = 0;
|
||||||
|
|
||||||
virtual size_t objectGroupIndex(ObjectInstanceID objectID) const = 0;
|
virtual size_t objectGroupIndex(ObjectInstanceID objectID) const = 0;
|
||||||
virtual Point objectImageOffset(ObjectInstanceID objectID, const int3 & coordinates) const = 0;
|
virtual Point objectImageOffset(ObjectInstanceID objectID, const int3 & coordinates) const = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -420,6 +420,19 @@ std::shared_ptr<CAnimation> MapRendererObjects::getAnimation(const AnimationPath
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<IImage> MapRendererObjects::getImage(const ImagePath & filename) const
|
||||||
|
{
|
||||||
|
auto it = images.find(filename);
|
||||||
|
|
||||||
|
if(it != images.end())
|
||||||
|
return it->second;
|
||||||
|
|
||||||
|
auto ret = ENGINE->renderHandler().loadImage(filename, EImageBlitMode::SIMPLE);
|
||||||
|
images[filename] = ret;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> MapRendererObjects::getFlagAnimation(const CGObjectInstance* obj)
|
std::shared_ptr<CAnimation> MapRendererObjects::getFlagAnimation(const CGObjectInstance* obj)
|
||||||
{
|
{
|
||||||
//TODO: relocate to config file?
|
//TODO: relocate to config file?
|
||||||
@@ -456,7 +469,7 @@ std::shared_ptr<CAnimation> MapRendererObjects::getOverlayAnimation(const CGObje
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<IImage> MapRendererObjects::getImage(IMapRendererContext & context, const CGObjectInstance * obj, const std::shared_ptr<CAnimation>& animation) const
|
std::shared_ptr<IImage> MapRendererObjects::getImageToRender(IMapRendererContext & context, const CGObjectInstance * obj, const std::shared_ptr<CAnimation>& animation) const
|
||||||
{
|
{
|
||||||
if(!animation)
|
if(!animation)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@@ -465,6 +478,17 @@ std::shared_ptr<IImage> MapRendererObjects::getImage(IMapRendererContext & conte
|
|||||||
|
|
||||||
if(animation->size(groupIndex) == 0)
|
if(animation->size(groupIndex) == 0)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
|
auto attackerPos = context.attackedMonsterDirection(obj);
|
||||||
|
if(attackerPos != -1)
|
||||||
|
{
|
||||||
|
const auto * creature = dynamic_cast<const CArmedInstance *>(obj);
|
||||||
|
auto const & creatureType = LIBRARY->creh->objects[creature->appearance->subid];
|
||||||
|
auto dir = std::vector<int>({1, 2, 7, 8});
|
||||||
|
ImagePath imgPath = std::count(dir.begin(), dir.end(), attackerPos) ? creatureType->mapAttackFromRight : creatureType->mapAttackFromLeft;
|
||||||
|
if(!imgPath.empty())
|
||||||
|
return getImage(imgPath);
|
||||||
|
}
|
||||||
|
|
||||||
size_t frameIndex = context.objectImageIndex(obj->id, animation->size(groupIndex));
|
size_t frameIndex = context.objectImageIndex(obj->id, animation->size(groupIndex));
|
||||||
|
|
||||||
@@ -502,9 +526,9 @@ void MapRendererObjects::renderImage(IMapRendererContext & context, Canvas & tar
|
|||||||
|
|
||||||
void MapRendererObjects::renderObject(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * instance)
|
void MapRendererObjects::renderObject(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * instance)
|
||||||
{
|
{
|
||||||
renderImage(context, target, coordinates, instance, getImage(context, instance, getBaseAnimation(instance)));
|
renderImage(context, target, coordinates, instance, getImageToRender(context, instance, getBaseAnimation(instance)));
|
||||||
renderImage(context, target, coordinates, instance, getImage(context, instance, getFlagAnimation(instance)));
|
renderImage(context, target, coordinates, instance, getImageToRender(context, instance, getFlagAnimation(instance)));
|
||||||
renderImage(context, target, coordinates, instance, getImage(context, instance, getOverlayAnimation(instance)));
|
renderImage(context, target, coordinates, instance, getImageToRender(context, instance, getOverlayAnimation(instance)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapRendererObjects::renderTile(IMapRendererContext & context, Canvas & target, const int3 & coordinates)
|
void MapRendererObjects::renderTile(IMapRendererContext & context, Canvas & target, const int3 & coordinates)
|
||||||
|
|||||||
@@ -73,14 +73,16 @@ public:
|
|||||||
class MapRendererObjects
|
class MapRendererObjects
|
||||||
{
|
{
|
||||||
std::map<AnimationPath, std::shared_ptr<CAnimation>> animations;
|
std::map<AnimationPath, std::shared_ptr<CAnimation>> animations;
|
||||||
|
mutable std::map<ImagePath, std::shared_ptr<IImage>> images;
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> getBaseAnimation(const CGObjectInstance * obj);
|
std::shared_ptr<CAnimation> getBaseAnimation(const CGObjectInstance * obj);
|
||||||
std::shared_ptr<CAnimation> getFlagAnimation(const CGObjectInstance * obj);
|
std::shared_ptr<CAnimation> getFlagAnimation(const CGObjectInstance * obj);
|
||||||
std::shared_ptr<CAnimation> getOverlayAnimation(const CGObjectInstance * obj);
|
std::shared_ptr<CAnimation> getOverlayAnimation(const CGObjectInstance * obj);
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> getAnimation(const AnimationPath & filename, bool generateMovementGroups, bool enableOverlay);
|
std::shared_ptr<CAnimation> getAnimation(const AnimationPath & filename, bool generateMovementGroups, bool enableOverlay);
|
||||||
|
std::shared_ptr<IImage> getImage(const ImagePath & filename) const;
|
||||||
|
|
||||||
std::shared_ptr<IImage> getImage(IMapRendererContext & context, const CGObjectInstance * obj, const std::shared_ptr<CAnimation> & animation) const;
|
std::shared_ptr<IImage> getImageToRender(IMapRendererContext & context, const CGObjectInstance * obj, const std::shared_ptr<CAnimation> & animation) const;
|
||||||
|
|
||||||
void renderImage(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * object, const std::shared_ptr<IImage> & image);
|
void renderImage(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * object, const std::shared_ptr<IImage> & image);
|
||||||
void renderObject(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * obj);
|
void renderObject(IMapRendererContext & context, Canvas & target, const int3 & coordinates, const CGObjectInstance * obj);
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
#include "../../lib/spells/CSpellHandler.h"
|
#include "../../lib/spells/CSpellHandler.h"
|
||||||
#include "../../lib/mapping/CMap.h"
|
#include "../../lib/mapping/CMap.h"
|
||||||
#include "../../lib/pathfinder/CGPathNode.h"
|
#include "../../lib/pathfinder/CGPathNode.h"
|
||||||
|
#include "../../lib/battle/CPlayerBattleCallback.h"
|
||||||
|
#include "../../lib/battle/IBattleState.h"
|
||||||
|
|
||||||
MapRendererBaseContext::MapRendererBaseContext(const MapRendererContextState & viewState)
|
MapRendererBaseContext::MapRendererBaseContext(const MapRendererContextState & viewState)
|
||||||
: viewState(viewState)
|
: viewState(viewState)
|
||||||
@@ -85,6 +87,18 @@ bool MapRendererBaseContext::isActiveHero(const CGObjectInstance * obj) const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int MapRendererBaseContext::attackedMonsterDirection(const CGObjectInstance * wanderingMonster) const
|
||||||
|
{
|
||||||
|
if(wanderingMonster->ID != Obj::MONSTER)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
for(auto & battle : GAME->interface()->cb->getActiveBattles())
|
||||||
|
if(wanderingMonster->pos == battle.second->getBattle()->getLocation())
|
||||||
|
return battle.second->getBattle()->getSideHero(BattleSide::ATTACKER)->moveDir;
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
bool MapRendererBaseContext::tileAnimated(const int3 & coordinates) const
|
bool MapRendererBaseContext::tileAnimated(const int3 & coordinates) const
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public:
|
|||||||
bool tileAnimated(const int3 & coordinates) const override;
|
bool tileAnimated(const int3 & coordinates) const override;
|
||||||
|
|
||||||
bool isActiveHero(const CGObjectInstance* obj) const override;
|
bool isActiveHero(const CGObjectInstance* obj) const override;
|
||||||
|
int attackedMonsterDirection(const CGObjectInstance * wanderingMonster) const override;
|
||||||
|
|
||||||
const TerrainTile & getMapTile(const int3 & coordinates) const override;
|
const TerrainTile & getMapTile(const int3 & coordinates) const override;
|
||||||
const MapObjectsList & getObjects(const int3 & coordinates) const override;
|
const MapObjectsList & getObjects(const int3 & coordinates) const override;
|
||||||
|
|||||||
@@ -354,6 +354,16 @@ std::shared_ptr<IImage> RenderHandler::loadImage(const AnimationPath & path, int
|
|||||||
|
|
||||||
std::shared_ptr<IImage> RenderHandler::loadImage(const ImagePath & path, EImageBlitMode mode)
|
std::shared_ptr<IImage> RenderHandler::loadImage(const ImagePath & path, EImageBlitMode mode)
|
||||||
{
|
{
|
||||||
|
auto name = path.getOriginalName();
|
||||||
|
|
||||||
|
std::vector<std::string> splitted;
|
||||||
|
boost::split(splitted, name, boost::is_any_of(":"));
|
||||||
|
if(splitted.size() == 3)
|
||||||
|
{
|
||||||
|
ImageLocator locator = getLocatorForAnimationFrame(AnimationPath::builtin(splitted[0]), std::stoi(splitted[2]), std::stoi(splitted[1]), 1, mode);
|
||||||
|
return loadImage(locator);
|
||||||
|
}
|
||||||
|
|
||||||
ImageLocator locator(path, mode);
|
ImageLocator locator(path, mode);
|
||||||
return loadImage(locator);
|
return loadImage(locator);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:0",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:1",
|
||||||
"animation": "CPKMAN.DEF"
|
"animation": "CPKMAN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -39,6 +41,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:2",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:3",
|
||||||
"animation": "CHALBD.DEF"
|
"animation": "CHALBD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -66,6 +70,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:4",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:5",
|
||||||
"animation": "CLCBOW.DEF",
|
"animation": "CLCBOW.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -103,6 +109,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:6",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:7",
|
||||||
"animation": "CHCBOW.DEF",
|
"animation": "CHCBOW.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -140,6 +148,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:8",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:9",
|
||||||
"animation": "CGRIFF.DEF"
|
"animation": "CGRIFF.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -169,6 +179,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:10",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:11",
|
||||||
"animation": "CRGRIF.DEF"
|
"animation": "CRGRIF.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -188,6 +200,8 @@
|
|||||||
"upgrades": ["crusader"],
|
"upgrades": ["crusader"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:12",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:13",
|
||||||
"animation": "CSWORD.DEF"
|
"animation": "CSWORD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -214,6 +228,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:14",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:15",
|
||||||
"animation": "CCRUSD.DEF"
|
"animation": "CCRUSD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -240,6 +256,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:16",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:17",
|
||||||
"animation": "CMONKK.DEF",
|
"animation": "CMONKK.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -273,6 +291,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:18",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:19",
|
||||||
"animation": "CZEALT.DEF",
|
"animation": "CZEALT.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -306,6 +326,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:20",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:21",
|
||||||
"animation": "CCAVLR.DEF"
|
"animation": "CCAVLR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -333,6 +355,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:22",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:23",
|
||||||
"animation": "CCHAMP.DEF"
|
"animation": "CCHAMP.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -384,6 +408,8 @@
|
|||||||
"upgrades": ["archangel"],
|
"upgrades": ["archangel"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:24",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:25",
|
||||||
"animation": "CANGEL.DEF"
|
"animation": "CANGEL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -451,6 +477,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:26",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:27",
|
||||||
"animation": "CRANGL.DEF"
|
"animation": "CRANGL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:236",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:237",
|
||||||
"animation": "CPIXIE.DEF"
|
"animation": "CPIXIE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -44,6 +46,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:238",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:239",
|
||||||
"animation": "CSPRITE.DEF"
|
"animation": "CSPRITE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -111,6 +115,8 @@
|
|||||||
"upgrades": ["stormElemental"],
|
"upgrades": ["stormElemental"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:224",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:225",
|
||||||
"animation": "CAELEM.DEF"
|
"animation": "CAELEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -196,6 +202,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:254",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:255",
|
||||||
"animation": "CSTORM.DEF",
|
"animation": "CSTORM.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -285,6 +293,8 @@
|
|||||||
"upgrades": ["iceElemental"],
|
"upgrades": ["iceElemental"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:230",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:231",
|
||||||
"animation": "CWELEM.DEF"
|
"animation": "CWELEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -388,6 +398,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:246",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:247",
|
||||||
"animation": "CICEE.DEF",
|
"animation": "CICEE.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -452,6 +464,8 @@
|
|||||||
"upgrades": ["energyElemental"],
|
"upgrades": ["energyElemental"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:228",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:229",
|
||||||
"animation": "CFELEM.DEF"
|
"animation": "CFELEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -530,6 +544,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:258",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:259",
|
||||||
"animation": "CNRG.DEF"
|
"animation": "CNRG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -593,6 +609,8 @@
|
|||||||
"upgrades": ["magmaElemental"],
|
"upgrades": ["magmaElemental"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:226",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:227",
|
||||||
"animation": "CEELEM.DEF"
|
"animation": "CEELEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -671,6 +689,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:250",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:251",
|
||||||
"animation": "CSTONE.DEF"
|
"animation": "CSTONE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -710,6 +730,8 @@
|
|||||||
"upgrades": ["magicElemental"],
|
"upgrades": ["magicElemental"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:240",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:241",
|
||||||
"animation": "CPSYEL.DEF"
|
"animation": "CPSYEL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -749,6 +771,8 @@
|
|||||||
"doubleWide" : false,
|
"doubleWide" : false,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:242",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:243",
|
||||||
"animation": "CMAGEL.DEF"
|
"animation": "CMAGEL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -790,6 +814,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:260",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:261",
|
||||||
"animation": "CFBIRD.DEF"
|
"animation": "CFBIRD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -840,6 +866,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:262",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:263",
|
||||||
"animation": "CPHX.DEF"
|
"animation": "CPHX.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:140",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:141",
|
||||||
"animation": "CTROGL.DEF"
|
"animation": "CTROGL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -52,6 +54,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:142",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:143",
|
||||||
"animation": "CITROG.DEF"
|
"animation": "CITROG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -83,6 +87,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:144",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:145",
|
||||||
"animation": "CHARPY.DEF"
|
"animation": "CHARPY.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -116,6 +122,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:146",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:147",
|
||||||
"animation": "CHARPH.DEF"
|
"animation": "CHARPH.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -148,6 +156,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:148",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:149",
|
||||||
"animation": "CBEHOL.DEF",
|
"animation": "CBEHOL.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -190,6 +200,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:150",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:151",
|
||||||
"animation": "CEVEYE.DEF",
|
"animation": "CEVEYE.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -241,6 +253,8 @@
|
|||||||
"upgrades": ["medusaQueen"],
|
"upgrades": ["medusaQueen"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:152",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:153",
|
||||||
"animation": "CMEDUS.DEF",
|
"animation": "CMEDUS.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -284,6 +298,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:154",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:155",
|
||||||
"animation": "CMEDUQ.DEF",
|
"animation": "CMEDUQ.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -317,6 +333,8 @@
|
|||||||
"upgrades": ["minotaurKing"],
|
"upgrades": ["minotaurKing"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:156",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:157",
|
||||||
"animation": "CMINOT.DEF"
|
"animation": "CMINOT.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -344,6 +362,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:158",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:159",
|
||||||
"animation": "CMINOK.DEF"
|
"animation": "CMINOK.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -372,6 +392,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:160",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:161",
|
||||||
"animation": "CMCORE.DEF"
|
"animation": "CMCORE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -405,6 +427,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:162",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:163",
|
||||||
"animation": "CCMCOR.DEF"
|
"animation": "CCMCOR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -456,6 +480,8 @@
|
|||||||
"upgrades": ["blackDragon"],
|
"upgrades": ["blackDragon"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:164",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:165",
|
||||||
"animation": "CRDRGN.DEF"
|
"animation": "CRDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -511,6 +537,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:166",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:167",
|
||||||
"animation": "CBDRGN.DEF"
|
"animation": "CBDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
"upgrades": ["gnollMarauder"],
|
"upgrades": ["gnollMarauder"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:196",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:197",
|
||||||
"animation": "CGNOLL.DEF"
|
"animation": "CGNOLL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -25,6 +27,8 @@
|
|||||||
"faction": "fortress",
|
"faction": "fortress",
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:198",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:199",
|
||||||
"animation": "CGNOLM.DEF"
|
"animation": "CGNOLM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -54,6 +58,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:200",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:201",
|
||||||
"animation": "CPLIZA.DEF",
|
"animation": "CPLIZA.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -85,6 +91,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:202",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:203",
|
||||||
"animation": "CALIZA.DEF",
|
"animation": "CALIZA.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -124,6 +132,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:208",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:209",
|
||||||
"animation": "CDRFLY.DEF"
|
"animation": "CDRFLY.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -161,6 +171,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:210",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:211",
|
||||||
"animation": "CDRFIR.DEF"
|
"animation": "CDRFIR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -191,6 +203,8 @@
|
|||||||
"upgrades": ["greaterBasilisk"],
|
"upgrades": ["greaterBasilisk"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:212",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:213",
|
||||||
"animation": "CBASIL.DEF"
|
"animation": "CBASIL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -219,6 +233,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:214",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:215",
|
||||||
"animation": "CGBASI.DEF"
|
"animation": "CGBASI.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -239,6 +255,8 @@
|
|||||||
"doubleWide" : true,
|
"doubleWide" : true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:204",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:205",
|
||||||
"animation": "CCGORG.DEF"
|
"animation": "CCGORG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -267,6 +285,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:206",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:207",
|
||||||
"animation": "CBGOG.DEF"
|
"animation": "CBGOG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -294,6 +314,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:216",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:217",
|
||||||
"animation": "CWYVER.DEF"
|
"animation": "CWYVER.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -326,6 +348,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:218",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:219",
|
||||||
"animation": "CWYVMN.DEF"
|
"animation": "CWYVMN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -367,6 +391,8 @@
|
|||||||
"upgrades": ["chaosHydra"],
|
"upgrades": ["chaosHydra"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:220",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:221",
|
||||||
"animation": "CHYDRA.DEF"
|
"animation": "CHYDRA.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -407,6 +433,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:222",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:223",
|
||||||
"animation": "CCHYDR.DEF"
|
"animation": "CCHYDR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
"upgrades": ["familiar"],
|
"upgrades": ["familiar"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:84",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:85",
|
||||||
"animation": "CIMP.DEF"
|
"animation": "CIMP.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -33,6 +35,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:86",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:87",
|
||||||
"animation": "CFAMIL.DEF"
|
"animation": "CFAMIL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -61,6 +65,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:88",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:89",
|
||||||
"animation": "CGOG.DEF",
|
"animation": "CGOG.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -97,6 +103,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:90",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:91",
|
||||||
"animation": "CMAGOG.DEF",
|
"animation": "CMAGOG.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -122,6 +130,8 @@
|
|||||||
"doubleWide" : true,
|
"doubleWide" : true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:92",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:93",
|
||||||
"animation": "CHHOUN.DEF"
|
"animation": "CHHOUN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -152,6 +162,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:94",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:95",
|
||||||
"animation": "CCERBU.DEF"
|
"animation": "CCERBU.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -171,6 +183,8 @@
|
|||||||
"upgrades": ["hornedDemon"],
|
"upgrades": ["hornedDemon"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:96",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:97",
|
||||||
"animation": "COHDEM.DEF"
|
"animation": "COHDEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -189,6 +203,8 @@
|
|||||||
"faction": "inferno",
|
"faction": "inferno",
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:98",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:99",
|
||||||
"animation": "CTHDEM.DEF"
|
"animation": "CTHDEM.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -208,6 +224,8 @@
|
|||||||
"upgrades": ["pitLord"],
|
"upgrades": ["pitLord"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:100",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:101",
|
||||||
"animation": "CPFIEN.DEF"
|
"animation": "CPFIEN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -246,6 +264,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:102",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:103",
|
||||||
"animation": "CPFOE.DEF"
|
"animation": "CPFOE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -289,6 +309,8 @@
|
|||||||
"upgrades": ["efreetSultan"],
|
"upgrades": ["efreetSultan"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:104",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:105",
|
||||||
"animation": "CEFREE.DEF"
|
"animation": "CEFREE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -336,6 +358,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:106",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:107",
|
||||||
"animation": "CEFRES.DEF"
|
"animation": "CEFRES.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -396,6 +420,8 @@
|
|||||||
"upgrades": ["archDevil"],
|
"upgrades": ["archDevil"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:108",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:109",
|
||||||
"animation": "CDEVIL.DEF"
|
"animation": "CDEVIL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -456,6 +482,8 @@
|
|||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
"missile" : null,
|
"missile" : null,
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:110",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:111",
|
||||||
"animation": "CADEVL.DEF"
|
"animation": "CADEVL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:112",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:113",
|
||||||
"animation": "CSKELE.DEF"
|
"animation": "CSKELE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -39,6 +41,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:114",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:115",
|
||||||
"animation": "CWSKEL.DEF"
|
"animation": "CWSKEL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -66,6 +70,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:116",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:117",
|
||||||
"animation": "CZOMBI.DEF"
|
"animation": "CZOMBI.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -84,6 +90,8 @@
|
|||||||
"faction": "necropolis",
|
"faction": "necropolis",
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:118",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:119",
|
||||||
"animation": "CZOMLO.DEF"
|
"animation": "CZOMLO.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -133,6 +141,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:120",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:121",
|
||||||
"animation": "CWIGHT.DEF"
|
"animation": "CWIGHT.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -172,6 +182,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:122",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:123",
|
||||||
"animation": "CWRAIT.DEF"
|
"animation": "CWRAIT.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -206,6 +218,8 @@
|
|||||||
"upgrades": ["vampireLord"],
|
"upgrades": ["vampireLord"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:124",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:125",
|
||||||
"animation": "CVAMP.DEF"
|
"animation": "CVAMP.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -246,6 +260,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:126",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:127",
|
||||||
"animation": "CNOSFE.DEF"
|
"animation": "CNOSFE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -285,6 +301,8 @@
|
|||||||
"upgrades": ["powerLich"],
|
"upgrades": ["powerLich"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:128",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:129",
|
||||||
"animation": "CLICH.DEF",
|
"animation": "CLICH.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -325,6 +343,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:130",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:131",
|
||||||
"animation": "CPLICH.DEF",
|
"animation": "CPLICH.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -363,6 +383,8 @@
|
|||||||
"upgrades": ["dreadKnight"],
|
"upgrades": ["dreadKnight"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:132",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:133",
|
||||||
"animation": "CBKNIG.DEF"
|
"animation": "CBKNIG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -400,6 +422,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:134",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:135",
|
||||||
"animation": "CBLORD.DEF"
|
"animation": "CBLORD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -450,6 +474,8 @@
|
|||||||
"upgrades": ["ghostDragon"],
|
"upgrades": ["ghostDragon"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:136",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:137",
|
||||||
"animation": "CNDRGN.DEF"
|
"animation": "CNDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -505,6 +531,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:138",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:139",
|
||||||
"animation": "CHDRGN.DEF"
|
"animation": "CHDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -20,6 +20,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:232",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:233",
|
||||||
"animation": "CGGOLE.DEF"
|
"animation": "CGGOLE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -51,6 +53,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:234",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:235",
|
||||||
"animation": "CDGOLE.DEF"
|
"animation": "CDGOLE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -124,6 +128,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:264",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:265",
|
||||||
"animation": "CADRGN.DEF"
|
"animation": "CADRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -170,6 +176,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:266",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:267",
|
||||||
"animation": "CCDRGN.DEF"
|
"animation": "CCDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -282,6 +290,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:268",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:269",
|
||||||
"animation": "CFDRGN.DEF"
|
"animation": "CFDRGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -340,6 +350,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:270",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:271",
|
||||||
"animation": "CRSDGN.DEF"
|
"animation": "CRSDGN.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -423,6 +435,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:272",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:273",
|
||||||
"animation": "Cench.DEF",
|
"animation": "Cench.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -464,6 +478,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:274",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:275",
|
||||||
"animation": "CSHARP.DEF",
|
"animation": "CSHARP.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -501,6 +517,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:276",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:277",
|
||||||
"animation": "CHALF.DEF",
|
"animation": "CHALF.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -524,6 +542,8 @@
|
|||||||
"faction": "neutral",
|
"faction": "neutral",
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:278",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:279",
|
||||||
"animation": "CPEAS.DEF"
|
"animation": "CPEAS.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -543,6 +563,8 @@
|
|||||||
"doubleWide" : true,
|
"doubleWide" : true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:280",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:281",
|
||||||
"animation": "CBOAR.DEF"
|
"animation": "CBOAR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -574,6 +596,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:282",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:283",
|
||||||
"animation": "CMUMMY.DEF"
|
"animation": "CMUMMY.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -602,6 +626,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:284",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:285",
|
||||||
"animation": "CNOMAD.DEF"
|
"animation": "CNOMAD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -647,6 +673,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:286",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:287",
|
||||||
"animation": "CROGUE.DEF"
|
"animation": "CROGUE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -673,6 +701,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:288",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:289",
|
||||||
"animation": "CTROLL.DEF"
|
"animation": "CTROLL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
"missile" : null,
|
"missile" : null,
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:28",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:29",
|
||||||
"animation": "CCENTR.DEF"
|
"animation": "CCENTR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -31,6 +33,8 @@
|
|||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
"missile" : null,
|
"missile" : null,
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:30",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:31",
|
||||||
"animation": "CECENT.DEF"
|
"animation": "CECENT.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -58,6 +62,8 @@
|
|||||||
"upgrades": ["battleDwarf"],
|
"upgrades": ["battleDwarf"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:32",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:33",
|
||||||
"animation": "CDWARF.DEF"
|
"animation": "CDWARF.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -84,6 +90,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:34",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:35",
|
||||||
"animation": "CBDWAR.DEF"
|
"animation": "CBDWAR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -111,6 +119,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:36",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:37",
|
||||||
"animation": "CELF.DEF",
|
"animation": "CELF.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -149,6 +159,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:38",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:39",
|
||||||
"animation": "CGRELF.DEF",
|
"animation": "CGRELF.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -187,6 +199,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:40",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:41",
|
||||||
"animation": "CPEGAS.DEF"
|
"animation": "CPEGAS.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -218,6 +232,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:42",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:43",
|
||||||
"animation": "CAPEGS.DEF"
|
"animation": "CAPEGS.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -246,6 +262,8 @@
|
|||||||
"upgrades": ["dendroidSoldier"],
|
"upgrades": ["dendroidSoldier"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:44",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:45",
|
||||||
"animation": "CTREE.DEF"
|
"animation": "CTREE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -273,6 +291,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:46",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:47",
|
||||||
"animation": "CBTREE.DEF"
|
"animation": "CBTREE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -308,6 +328,8 @@
|
|||||||
"upgrades": ["warUnicorn"],
|
"upgrades": ["warUnicorn"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:48",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:49",
|
||||||
"animation": "CUNICO.DEF"
|
"animation": "CUNICO.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -342,6 +364,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:50",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:51",
|
||||||
"animation": "CWUNIC.DEF"
|
"animation": "CWUNIC.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -393,6 +417,8 @@
|
|||||||
"upgrades": ["goldDragon"],
|
"upgrades": ["goldDragon"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:52",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:53",
|
||||||
"animation": "CGDRAG.DEF"
|
"animation": "CGDRAG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -442,6 +468,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:54",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:55",
|
||||||
"animation": "CDDRAG.DEF"
|
"animation": "CDDRAG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
"upgrades": ["hobgoblin"],
|
"upgrades": ["hobgoblin"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:168",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:169",
|
||||||
"animation": "CGOBLI.DEF"
|
"animation": "CGOBLI.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -27,6 +29,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:170",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:171",
|
||||||
"animation": "CHGOBL.DEF"
|
"animation": "CHGOBL.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -48,6 +52,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:172",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:173",
|
||||||
"animation": "CBWLFR.DEF"
|
"animation": "CBWLFR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -75,6 +81,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:174",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:175",
|
||||||
"animation": "CUWLFR.DEF"
|
"animation": "CUWLFR.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -102,6 +110,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:176",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:177",
|
||||||
"animation": "CORC.DEF",
|
"animation": "CORC.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -133,6 +143,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:178",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:179",
|
||||||
"animation": "CORCCH.DEF",
|
"animation": "CORCCH.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -157,6 +169,8 @@
|
|||||||
"upgrades": ["ogreMage"],
|
"upgrades": ["ogreMage"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:180",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:181",
|
||||||
"animation": "COGRE.DEF"
|
"animation": "COGRE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -194,6 +208,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:182",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:183",
|
||||||
"animation": "COGMAG.DEF"
|
"animation": "COGMAG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -222,6 +238,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:184",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:185",
|
||||||
"animation": "CROC.DEF"
|
"animation": "CROC.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -260,6 +278,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:186",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:187",
|
||||||
"animation": "CTBIRD.DEF"
|
"animation": "CTBIRD.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -292,6 +312,8 @@
|
|||||||
"upgrades": ["cyclopKing"],
|
"upgrades": ["cyclopKing"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:188",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:189",
|
||||||
"animation": "CCYCLR.DEF",
|
"animation": "CCYCLR.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -335,6 +357,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:190",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:191",
|
||||||
"animation": "CCYCLLOR.DEF",
|
"animation": "CCYCLLOR.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -373,6 +397,8 @@
|
|||||||
"upgrades": ["ancientBehemoth"],
|
"upgrades": ["ancientBehemoth"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:192",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:193",
|
||||||
"animation": "CYBEHE.DEF"
|
"animation": "CYBEHE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -405,6 +431,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:194",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:195",
|
||||||
"animation": "CABEHE.DEF"
|
"animation": "CABEHE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
"hasDoubleWeek": true,
|
"hasDoubleWeek": true,
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:56",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:57",
|
||||||
"animation": "CGREMA.DEF"
|
"animation": "CGREMA.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -36,6 +38,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:58",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:59",
|
||||||
"animation": "CGREMM.DEF",
|
"animation": "CGREMM.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -71,6 +75,8 @@
|
|||||||
"upgrades": ["obsidianGargoyle"],
|
"upgrades": ["obsidianGargoyle"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:60",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:61",
|
||||||
"animation": "CGARGO.DEF"
|
"animation": "CGARGO.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -100,6 +106,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:62",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:63",
|
||||||
"animation": "COGARG.DEF"
|
"animation": "COGARG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -132,6 +140,8 @@
|
|||||||
"upgrades": ["stoneGolem"],
|
"upgrades": ["stoneGolem"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:64",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:65",
|
||||||
"animation": "CSGOLE.DEF"
|
"animation": "CSGOLE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -163,6 +173,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:66",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:67",
|
||||||
"animation": "CIGOLE.DEF"
|
"animation": "CIGOLE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -199,6 +211,8 @@
|
|||||||
"upgrades": ["archMage"],
|
"upgrades": ["archMage"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:68",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:69",
|
||||||
"animation": "CMAGE.DEF",
|
"animation": "CMAGE.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -243,6 +257,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:70",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:71",
|
||||||
"animation": "CAMAGE.DEF",
|
"animation": "CAMAGE.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
@@ -294,6 +310,8 @@
|
|||||||
"upgrades": ["masterGenie"],
|
"upgrades": ["masterGenie"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:72",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:73",
|
||||||
"animation": "CGENIE.DEF"
|
"animation": "CGENIE.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -346,6 +364,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:74",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:75",
|
||||||
"animation": "CSULTA.DEF"
|
"animation": "CSULTA.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -374,6 +394,8 @@
|
|||||||
"upgrades": ["nagaQueen"],
|
"upgrades": ["nagaQueen"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:76",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:77",
|
||||||
"animation": "CNAGA.DEF"
|
"animation": "CNAGA.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -400,6 +422,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:78",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:79",
|
||||||
"animation": "CNAGAG.DEF"
|
"animation": "CNAGAG.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -431,6 +455,8 @@
|
|||||||
"upgrades": ["titan"],
|
"upgrades": ["titan"],
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:80",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:81",
|
||||||
"animation": "CLTITA.DEF"
|
"animation": "CLTITA.DEF"
|
||||||
},
|
},
|
||||||
"sound" :
|
"sound" :
|
||||||
@@ -476,6 +502,8 @@
|
|||||||
},
|
},
|
||||||
"graphics" :
|
"graphics" :
|
||||||
{
|
{
|
||||||
|
"mapAttackFromRight": "AvWattak.def:0:82",
|
||||||
|
"mapAttackFromLeft": "AvWattak.def:0:83",
|
||||||
"animation": "CGTITA.DEF",
|
"animation": "CGTITA.DEF",
|
||||||
"missile" :
|
"missile" :
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -153,6 +153,16 @@
|
|||||||
"items" : { "type" : "string" },
|
"items" : { "type" : "string" },
|
||||||
"description" : "Object mask that describes on which tiles object is visible/blocked/activatable"
|
"description" : "Object mask that describes on which tiles object is visible/blocked/activatable"
|
||||||
},
|
},
|
||||||
|
"mapAttackFromLeft" : {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Adventure map creature image when attacked from left",
|
||||||
|
"format" : "imageFile"
|
||||||
|
},
|
||||||
|
"mapAttackFromRight" : {
|
||||||
|
"type" : "string",
|
||||||
|
"description" : "Adventure map creature image when attacked from right",
|
||||||
|
"format" : "imageFile"
|
||||||
|
},
|
||||||
"iconLarge" : {
|
"iconLarge" : {
|
||||||
"type" : "string",
|
"type" : "string",
|
||||||
"description" : "Large icon for this creature, used for example in town screen",
|
"description" : "Large icon for this creature, used for example in town screen",
|
||||||
|
|||||||
@@ -128,6 +128,10 @@ In order to make functional creature you also need:
|
|||||||
"iconSmall" : "",
|
"iconSmall" : "",
|
||||||
// Large icon for this creature, used for example in town screen
|
// Large icon for this creature, used for example in town screen
|
||||||
"iconLarge" : "",
|
"iconLarge" : "",
|
||||||
|
|
||||||
|
// Optional. Images of creatures when attacked on adventure map
|
||||||
|
"mapAttackFromRight": "",
|
||||||
|
"mapAttackFromLeft": "",
|
||||||
|
|
||||||
// animation parameters
|
// animation parameters
|
||||||
|
|
||||||
|
|||||||
@@ -902,6 +902,8 @@ void CCreatureHandler::loadJsonAnimation(CCreature * cre, const JsonNode & graph
|
|||||||
void CCreatureHandler::loadCreatureJson(CCreature * creature, const JsonNode & config) const
|
void CCreatureHandler::loadCreatureJson(CCreature * creature, const JsonNode & config) const
|
||||||
{
|
{
|
||||||
creature->animDefName = AnimationPath::fromJson(config["graphics"]["animation"]);
|
creature->animDefName = AnimationPath::fromJson(config["graphics"]["animation"]);
|
||||||
|
creature->mapAttackFromLeft = ImagePath::fromJson(config["graphics"]["mapAttackFromLeft"]);
|
||||||
|
creature->mapAttackFromRight = ImagePath::fromJson(config["graphics"]["mapAttackFromRight"]);
|
||||||
|
|
||||||
for(const auto & ability : config["abilities"].Struct())
|
for(const auto & ability : config["abilities"].Struct())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ public:
|
|||||||
std::set<CreatureID> upgrades; // IDs of creatures to which this creature can be upgraded
|
std::set<CreatureID> upgrades; // IDs of creatures to which this creature can be upgraded
|
||||||
|
|
||||||
AnimationPath animDefName; // creature animation used during battles
|
AnimationPath animDefName; // creature animation used during battles
|
||||||
|
ImagePath mapAttackFromLeft; // adventure map creature image when attacked from left
|
||||||
|
ImagePath mapAttackFromRight; // adventure map creature image when attacked from right
|
||||||
|
|
||||||
si32 iconIndex = -1; // index of icon in files like twcrport, used in tests now.
|
si32 iconIndex = -1; // index of icon in files like twcrport, used in tests now.
|
||||||
/// names of files with appropriate icons. Used only during loading
|
/// names of files with appropriate icons. Used only during loading
|
||||||
|
|||||||
@@ -79,6 +79,11 @@ void CBattleCallback::onBattleEnded(const BattleID & battleID)
|
|||||||
activeBattles.erase(battleID);
|
activeBattles.erase(battleID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::map<BattleID, std::shared_ptr<CPlayerBattleCallback>> CBattleCallback::getActiveBattles()
|
||||||
|
{
|
||||||
|
return activeBattles;
|
||||||
|
}
|
||||||
|
|
||||||
void CBattleCallback::battleMakeSpellAction(const BattleID & battleID, const BattleAction & action)
|
void CBattleCallback::battleMakeSpellAction(const BattleID & battleID, const BattleAction & action)
|
||||||
{
|
{
|
||||||
assert(action.actionType == EActionType::HERO_SPELL);
|
assert(action.actionType == EActionType::HERO_SPELL);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public:
|
|||||||
|
|
||||||
void onBattleStarted(const IBattleInfo * info);
|
void onBattleStarted(const IBattleInfo * info);
|
||||||
void onBattleEnded(const BattleID & battleID);
|
void onBattleEnded(const BattleID & battleID);
|
||||||
|
std::map<BattleID, std::shared_ptr<CPlayerBattleCallback>> getActiveBattles();
|
||||||
};
|
};
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
|||||||
Reference in New Issue
Block a user