diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2008-03-23 01:27:13 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2008-03-23 01:27:13 +0000 |
commit | 9dd811b55587aeb76344b835006cb4a01601bb5d (patch) | |
tree | bd297391e264a09ce8467bcf780927a4cef09991 /src/resources/monsterinfo.cpp | |
parent | bd8a35eca8c2fa6eb33e7d9219e3fa4d287a2059 (diff) | |
download | mana-9dd811b55587aeb76344b835006cb4a01601bb5d.tar.gz mana-9dd811b55587aeb76344b835006cb4a01601bb5d.tar.bz2 mana-9dd811b55587aeb76344b835006cb4a01601bb5d.tar.xz mana-9dd811b55587aeb76344b835006cb4a01601bb5d.zip |
Merged revisions 3823,3825-3826,3829,3831-3839,3841-3842 via svnmerge from
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0
........
r3823 | crush_tmw | 2007-12-28 19:36:58 +0100 (Fri, 28 Dec 2007) | 1 line
Added the possibility to assign particle effects to monsters in the monster database. Added flame particle effect to fire goblin as a proof of concept.
........
r3826 | crush_tmw | 2007-12-30 01:02:14 +0100 (Sun, 30 Dec 2007) | 1 line
Added a key for targeting the nearest player character based on patches by Trinexx. Some mapping fixes at snake dungeon map.
........
r3839 | the_enemy | 2008-01-13 17:28:50 +0100 (Sun, 13 Jan 2008) | 1 line
Fixed non-default location music loading
........
r3842 | crush_tmw | 2008-01-14 11:48:13 +0100 (Mon, 14 Jan 2008) | 1 line
ixed an error in Davids last commit (couldn't compile that way).
........
Diffstat (limited to 'src/resources/monsterinfo.cpp')
-rw-r--r-- | src/resources/monsterinfo.cpp | 63 |
1 files changed, 23 insertions, 40 deletions
diff --git a/src/resources/monsterinfo.cpp b/src/resources/monsterinfo.cpp index a7ad51a3..0af09c53 100644 --- a/src/resources/monsterinfo.cpp +++ b/src/resources/monsterinfo.cpp @@ -30,20 +30,17 @@ MonsterInfo::MonsterInfo(): mSprite("error.xml") { - } MonsterInfo::~MonsterInfo() { // kill vectors in mSoundEffects - for_each (mSounds.begin(), mSounds.end(), - make_dtor(mSounds)); + for_each(mSounds.begin(), mSounds.end(), make_dtor(mSounds)); mSounds.clear(); } - void -MonsterInfo::addSound(MonsterSoundEvent event, std::string filename) +MonsterInfo::addSound(MonsterSoundEvent event, const std::string &filename) { if (mSounds.find(event) == mSounds.end()) { @@ -53,59 +50,45 @@ MonsterInfo::addSound(MonsterSoundEvent event, std::string filename) mSounds[event]->push_back("sfx/" + filename); } - const std::string & MonsterInfo::getSound(MonsterSoundEvent event) const { - static std::string nothing(""); - std::map<MonsterSoundEvent, std::vector<std::string>* >::const_iterator i; - i = mSounds.find(event); - if (i == mSounds.end()) - { - return nothing; - } - else - { - return i->second->at(rand()%i->second->size()); - } + static std::string empty(""); + std::map<MonsterSoundEvent, std::vector<std::string>* >::const_iterator i = + mSounds.find(event); + return (i == mSounds.end()) ? empty : + i->second->at(rand() % i->second->size()); } const std::string & MonsterInfo::getAttackParticleEffect(int attackType) const { - static std::string nothing(""); - std::map<int, MonsterAttack*>::const_iterator i; - i = mMonsterAttacks.find(attackType); - if (i == mMonsterAttacks.end()) - { - return nothing; - } - else - { - return (*i).second->particleEffect; - } + static std::string empty(""); + std::map<int, MonsterAttack*>::const_iterator i = + mMonsterAttacks.find(attackType); + return (i == mMonsterAttacks.end()) ? empty : (*i).second->particleEffect; } SpriteAction MonsterInfo::getAttackAction(int attackType) const { - std::map<int, MonsterAttack*>::const_iterator i; - i = mMonsterAttacks.find(attackType); - if (i == mMonsterAttacks.end()) - { - return ACTION_ATTACK; - } - else - { - return (*i).second->action; - } + std::map<int, MonsterAttack*>::const_iterator i = + mMonsterAttacks.find(attackType); + return (i == mMonsterAttacks.end()) ? ACTION_ATTACK : (*i).second->action; } void -MonsterInfo::addMonsterAttack (int id, const std::string &particleEffect, SpriteAction action) +MonsterInfo::addMonsterAttack(int id, + const std::string &particleEffect, + SpriteAction action) { - MonsterAttack* a = new MonsterAttack; + MonsterAttack *a = new MonsterAttack; a->particleEffect = particleEffect; a->action = action; mMonsterAttacks[id] = a; } + +void MonsterInfo::addParticleEffect(const std::string &filename) +{ + mParticleEffects.push_back(filename); +} |