📄 creature.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : Creature.cpp// Written By : Reiot// Description : //////////////////////////////////////////////////////////////////////////////#include "Creature.h"#include "ZoneInfo.h"#include "ZoneInfoManager.h"#include "Zone.h"#include "ZoneGroup.h"#include "ZoneGroupManager.h"#include "Slayer.h"#include "Party.h"#include "ZoneUtil.h"#include "VisionInfo.h"#include "Gpackets/GCSay.h"#include "Effect.h"//#include "EffectHPRecovery.h"//////////////////////////////////////////////////////////////////////////////// Constructor//////////////////////////////////////////////////////////////////////////////Creature::Creature (ObjectID_t objectID , Player* pPlayer) throw () : Object(objectID){ __BEGIN_TRY m_pPlayer = pPlayer; m_MoveMode = MOVE_MODE_WALKING; m_pZone = NULL; m_pEffectManager = new EffectManager(); m_PartyID = 0; m_pNewZone = NULL; m_bDeriveDestructed = false; m_Value = 999; m_CClass = CREATURE_CLASS_MAX; Assert(m_pEffectManager != NULL); m_LastTarget = 0; __END_CATCH}//////////////////////////////////////////////////////////////////////////////// Destructor//////////////////////////////////////////////////////////////////////////////Creature::~Creature () throw (Error){ __BEGIN_TRY m_pPlayer = NULL; // delete绰 寇何俊辑 茄促. SAFE_DELETE(m_pEffectManager); if ( m_CClass == CREATURE_CLASS_SLAYER || m_CClass == CREATURE_CLASS_VAMPIRE ) { if ( !m_bDeriveDestructed ) { filelog( "destructor.log", "Name : %s Class : %d value : %d" , m_Owner.c_str(), (int)m_CClass, m_Value ); } } __END_CATCH}//////////////////////////////////////////////////////////////////////////////// get object priority// 鸥老狼 Object List 惑狼 快急鉴困蔼阑 府畔茄促.// 农府贸狼 版快, 捞悼 葛靛俊 蝶扼辑 捞 快急鉴困啊 搬沥等促.//////////////////////////////////////////////////////////////////////////////ObjectPriority Creature::getObjectPriority () const throw (Error){ __BEGIN_TRY switch (m_MoveMode) { case MOVE_MODE_WALKING: return OBJECT_PRIORITY_WALKING_CREATURE; case MOVE_MODE_FLYING: return OBJECT_PRIORITY_FLYING_CREATURE; case MOVE_MODE_BURROWING: return OBJECT_PRIORITY_BURROWING_CREATURE; default : throw Error("invalid move mode"); } __END_CATCH}//////////////////////////////////////////////////////////////////////////////// vision state 包访 皋筋靛//////////////////////////////////////////////////////////////////////////////VisionState Creature::getVisionState (ZoneCoord_t x , ZoneCoord_t y) throw (Error){ __BEGIN_DEBUG // 林籍贸府 by sigi //if (isFlag(Effect::EFFECT_CLASS_DARKNESS)) // return g_pVisionInfoManager->getVisionInfo(DARKNESS_SIGHT,m_Dir)->getVisionState(m_X,m_Y,x,y); //return g_pVisionInfoManager->getVisionInfo(m_Sight,m_Dir)->getVisionState(m_X,m_Y,x,y); return VisionInfoManager::getVisionState( m_X, m_Y, x, y ); __END_DEBUG}VisionState Creature::getVisionState (Coord_t x , Coord_t y, Sight_t sight) throw (Error){ __BEGIN_DEBUG// return g_pVisionInfoManager->getVisionInfo(sight,m_Dir)->getVisionState(m_X,m_Y,x,y); return VisionInfoManager::getVisionState( m_X, m_Y, x, y ); __END_DEBUG}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ZoneID_t Creature::getZoneID () const throw (){ return (m_pZone) ? m_pZone->getZoneID() : 0 ;}ZoneID_t Creature::getNewZoneID () const throw (){ return (m_pNewZone) ? m_pNewZone->getZoneID() : 0 ;}//////////////////////////////////////////////////////////////////////////////// set zone id//// (1) ZoneInfoManager 俊辑 ZoneID 甫 荤侩秦辑 ZoneInfo 按眉俊 立辟茄促.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -