📄 monstermanager.h
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : MonsterManager.h // Written by : excel96// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __MONSTER_MANAGER_H__#define __MONSTER_MANAGER_H__#include "CreatureManager.h"#include "MonsterCounter.h"#include "Item.h"#include "Timeval.h"#include <hash_map>#include <list>#include <vector>//////////////////////////////////////////////////////////////////////////////// class MonsterManager//////////////////////////////////////////////////////////////////////////////class Zone;class Monster;class MonsterCorpse;struct SUMMON_INFO;struct ITEM_TEMPLATE;struct EventMonsterInfo{ MonsterType_t monsterType; int regenDelay; Timeval regenTime; bool bExist;};class MonsterManager : public CreatureManager {public: MonsterManager(Zone* pZone) throw(Error); ~MonsterManager() throw(); public: // load from database void load() throw(Error); // add monster void addCreature(Creature* pCreature) throw(DuplicatedException, Error); // 阁胶磐甸阑 眠啊茄促. void addMonsters(ZoneCoord_t x, ZoneCoord_t y, MonsterType_t monsterType, int num, const SUMMON_INFO& summonInfo, list<Monster*>* pSummonedMonsters=NULL); // delete monster void deleteCreature(ObjectID_t objectID) throw();//NoSuchElementException, Error); // 概聪历俊 家加等 农府贸甸(NPC,Monster)阑 贸府茄促. void processCreatures() throw(Error); // 阁胶磐狼 箭磊啊 临绢甸菌阑 版快俊, 阁胶磐甫 眠啊茄促. void regenerateCreatures() throw(Error); // 阁胶磐甫 眠啊且 利例茄 困摹甫 八祸茄促. bool findPosition(MonsterType_t monsterType, ZoneCoord_t& x, ZoneCoord_t& y) const throw(); // 磷篮 农府贸甫 贸府茄促. void killCreature(Creature* pDeadMonster) throw(Error); // 磷篮 阁胶磐俊霸辑 酒捞袍阑 积己茄促. void addItem(Monster* pDeadMonster, MonsterCorpse* pMonsterCorpse) throw(Error); // 秦浆甘阑 流立 咀技胶且 锭 const hash_map<MonsterType_t, MonsterCounter*>& getMonsters(void) { return m_Monsters;} // 傈眉狼 泪犁利牢 利栏肺 牢侥茄促. pMonster甫 pCreature啊 傍拜茄 版快俊.. void addPotentialEnemy(Monster* pMonster, Creature* pCreature) throw(Error); // 傈眉狼 利栏肺 牢侥茄促. pMonster甫 pCreature啊 傍拜茄 版快俊.. void addEnemy(Monster* pMonster, Creature* pCreature) throw(Error); // get debug string string toString() const throw(); // delete AllMonsters void deleteAllMonsters(bool bDeleteFromZone=true) throw(Error);//NoSuchElementException, Error); // kill AllMonsters void killAllMonsters(const hash_map<ObjectID_t, ObjectID_t>& exceptCreatures) throw(Error);//NoSuchElementException, Error); int upgradeItemTypeByLuck(int luckLevel, Creature::CreatureClass ownerCreatureClass, ITEM_TEMPLATE& it) throw (Error); int upgradeOptionByLuck(int luckLevel, Creature::CreatureClass ownerCreatureClass, ITEM_TEMPLATE& it) throw (Error);protected : void parseMonsterList(const string& text, bool bReload=false) throw (Error); void parseEventMonsterList(const string& text, bool bReload=false) throw (Error);private: Zone* m_pZone; // 阁胶磐 概聪历啊 家加等 粮俊 措茄 器牢磐 hash_map< SpriteType_t, MonsterCounter* > m_Monsters; // 泅犁 粮俊 粮犁窍绰 阁胶磐狼 箭磊 泅炔 Timeval m_RegenTime; // 促澜 阁胶磐 犁积 矫埃 int m_RICE_CAKE_PROB_RATIO[5]; int m_SumOfCakeRatio; // by sigi. 2002.10.14 vector<EventMonsterInfo>* m_pEventMonsterInfo; int m_nEventMonster; ZoneID_t m_CastleZoneID;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -