diff options
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/beinginfo.cpp | 6 | ||||
-rw-r--r-- | src/resources/beinginfo.h | 8 | ||||
-rw-r--r-- | src/resources/itemdb.cpp | 3 | ||||
-rw-r--r-- | src/resources/iteminfo.cpp | 5 | ||||
-rw-r--r-- | src/resources/iteminfo.h | 7 | ||||
-rw-r--r-- | src/resources/monsterdb.cpp | 9 |
6 files changed, 28 insertions, 10 deletions
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp index eef4ba7b7..f55d1f2e3 100644 --- a/src/resources/beinginfo.cpp +++ b/src/resources/beinginfo.cpp @@ -32,7 +32,7 @@ BeingInfo *BeingInfo::unknown = nullptr; Attack *BeingInfo::empty = new Attack(SpriteAction::ATTACK, - -1, -1, -1, std::string()); + -1, -1, -1, -1, std::string()); BeingInfo::BeingInfo() : mName(_("unnamed")), @@ -117,13 +117,14 @@ const Attack *BeingInfo::getAttack(const int id) const void BeingInfo::addAttack(const int id, std::string action, const int effectId, const int hitEffectId, const int criticalHitEffectId, + const int missEffectId, const std::string &missileParticle) { if (mAttacks[id]) delete mAttacks[id]; mAttacks[id] = new Attack(action, effectId, hitEffectId, - criticalHitEffectId, missileParticle); + criticalHitEffectId, missEffectId, missileParticle); } void BeingInfo::clear() @@ -141,5 +142,6 @@ void BeingInfo::init() empty->mEffectId = paths.getIntValue("effectId"); empty->mHitEffectId = paths.getIntValue("hitEffectId"); empty->mCriticalHitEffectId = paths.getIntValue("criticalHitEffectId"); + empty->mMissEffectId = paths.getIntValue("missEffectId"); } } diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h index d08e85608..208fcd541 100644 --- a/src/resources/beinginfo.h +++ b/src/resources/beinginfo.h @@ -34,15 +34,17 @@ struct Attack final int mEffectId; int mHitEffectId; int mCriticalHitEffectId; + int mMissEffectId; std::string mMissileParticle; Attack(const std::string &action, const int effectId, const int hitEffectId, const int criticalHitEffectId, - const std::string &missileParticle) : + const int missEffectId, const std::string &missileParticle) : mAction(action), mEffectId(effectId), mHitEffectId(hitEffectId), mCriticalHitEffectId(criticalHitEffectId), + mMissEffectId(missEffectId), mMissileParticle(missileParticle) { } @@ -105,9 +107,9 @@ class BeingInfo final const std::string &getSound(const SoundEvent event) const; - void addAttack(const int id, std::string action, + void addAttack(const int id, std::string action, const int effectId, const int hitEffectId, const int criticalHitEffectId, - const int effectId, + const int missEffectId, const std::string &missileParticle); const Attack *getAttack(const int id) const; diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp index 8fd4a9fdc..559015be9 100644 --- a/src/resources/itemdb.cpp +++ b/src/resources/itemdb.cpp @@ -245,6 +245,8 @@ void ItemDB::load() const int criticalEffectId = XML::getProperty( node, "critical-hit-effect-id", paths.getIntValue("criticalHitEffectId")); + const int missEffectId = XML::getProperty(node, "miss-effect-id", + paths.getIntValue("missEffectId")); SpriteDisplay display; display.image = image; @@ -305,6 +307,7 @@ void ItemDB::load() itemInfo->setMissileParticleFile(missileParticle); itemInfo->setHitEffectId(hitEffectId); itemInfo->setCriticalHitEffectId(criticalEffectId); + itemInfo->setMissEffectId(missEffectId); itemInfo->setDrawBefore(-1, parseSpriteName(drawBefore)); itemInfo->setDrawAfter(-1, parseSpriteName(drawAfter)); itemInfo->setDrawPriority(-1, drawPriority); diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp index 7e106af80..c7d8ecc0e 100644 --- a/src/resources/iteminfo.cpp +++ b/src/resources/iteminfo.cpp @@ -81,8 +81,9 @@ ItemInfo::ItemInfo() : mMissileParticle(""), mColors(nullptr), mColorList(""), - mHitEffectId(0), - mCriticalHitEffectId(0), + mHitEffectId(-1), + mCriticalHitEffectId(-1), + mMissEffectId(-1), maxFloorOffset(32) { for (int f = 0; f < 10; f ++) diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index 644b80154..ba429341d 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -194,6 +194,12 @@ class ItemInfo final int getCriticalHitEffectId() const { return mCriticalHitEffectId; } + void setMissEffectId(const int s) + { mMissEffectId = s; } + + int getMissEffectId() const + { return mMissEffectId; } + const std::string &getAttackAction() const { return mAttackAction; } @@ -306,6 +312,7 @@ class ItemInfo final std::string mColorList; int mHitEffectId; int mCriticalHitEffectId; + int mMissEffectId; int maxFloorOffset; }; diff --git a/src/resources/monsterdb.cpp b/src/resources/monsterdb.cpp index 3629357d1..22441c34e 100644 --- a/src/resources/monsterdb.cpp +++ b/src/resources/monsterdb.cpp @@ -192,11 +192,13 @@ void MonsterDB::load() const int id = XML::getProperty(spriteNode, "id", 0); const int effectId = XML::getProperty( spriteNode, "effect-id", paths.getIntValue("effectId")); - int hitEffectId = XML::getProperty(spriteNode, + const int hitEffectId = XML::getProperty(spriteNode, "hit-effect-id", paths.getIntValue("hitEffectId")); - int criticalHitEffectId = XML::getProperty(spriteNode, + const int criticalHitEffectId = XML::getProperty(spriteNode, "critical-hit-effect-id", paths.getIntValue("criticalHitEffectId")); + const int missEffectId = XML::getProperty(spriteNode, + "miss-effect-id", paths.getIntValue("missEffectId")); const std::string spriteAction = XML::getProperty( spriteNode, "action", "attack"); @@ -205,7 +207,8 @@ void MonsterDB::load() spriteNode, "missile-particle", ""); currentInfo->addAttack(id, spriteAction, effectId, - hitEffectId, criticalHitEffectId, missileParticle); + hitEffectId, criticalHitEffectId, missEffectId, + missileParticle); } else if (xmlNameEqual(spriteNode, "particlefx")) { |