📄 zoneutil.h
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : ZoneUtil.h// Written by : excel96// Description : // 粮苞 包访等 漂沥茄 累诀甸阑 荐青窍绰 窃荐甸阑 粮 救俊 持栏聪鳖,// 粮 颇老捞 呈公 目瘤绰 版氢捞 乐绢辑, 粮 颇老 寇何肺 波辰 窃荐甸捞促.//////////////////////////////////////////////////////////////////////////////#ifndef __ZONE_UTIL_H__#define __ZONE_UTIL_H__#include "Types.h"#include "Exception.h"#include "Creature.h"#include "Effect.h"#include "VSDateTime.h"#include <list>// forward declarationclass Zone;class Mine;class Effect;class PlayerCreature;class Item;class Monster;class Slayer;class Corpse;struct ZONE_COORD;struct SUMMON_INFO;// 辆幅喊肺 家券struct SUMMON_INFO2;//////////////////////////////////////////////////////////////////////////////// 漂沥 农府媚甫 歹且 荐 乐绰 困摹甫 茫绰促.// // Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t cx : 歹窍绊磊 窍绰 檬扁 困摹 x// ZoneCoord_t cy : 歹窍绊磊 窍绰 檬扁 困摹 y// Creature::MoveMode MMode : 农府媚狼 框流烙 葛靛//////////////////////////////////////////////////////////////////////////////TPOINT findSuitablePosition( Zone* pZone, ZoneCoord_t cx, ZoneCoord_t cy, Creature::MoveMode MMode) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 酒捞袍阑 歹且 荐 乐绰 困摹甫 茫绰促.//// Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t cx : 歹窍绊磊 窍绰 檬扁 困摹 x// ZoneCoord_t cy : 歹窍绊磊 窍绰 檬扁 困摹 y// bool bAllowCreature : 农府媚啊 粮犁窍绰 镑档 宝满篮啊?//////////////////////////////////////////////////////////////////////////////TPOINT findSuitablePositionForItem( Zone* pZone, ZoneCoord_t cx, ZoneCoord_t cy, bool bAllowCreature, bool bAllowSafeZone = true, bool bForce = false) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 捞棋飘甫 歹且 荐 乐绰 困摹甫 茫绰促.//// Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t cx : 歹窍绊磊 窍绰 檬扁 困摹 x// ZoneCoord_t cy : 歹窍绊磊 窍绰 檬扁 困摹 y// Effect::EffectClass EClass : 歹窍绊磊 窍绰 捞棋飘 努贰胶//////////////////////////////////////////////////////////////////////////////TPOINT findSuitablePositionForEffect( Zone* pZone, ZoneCoord_t cx, ZoneCoord_t cy, Effect::EffectClass EClass) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 困摹俊辑 瘤沥等 公宏 葛靛狼 农府媚甫 眠啊且 荐 乐绰瘤 八荤茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t x : 滚肺快窍绊磊 窍绰 谅钎 x// ZoneCoord_t y : 滚肺快窍绊磊 窍绰 谅钎 y// Creature::MoveMode MMode : 农府媚狼 公宏 葛靛//////////////////////////////////////////////////////////////////////////////bool canAddCreature( Zone* pZone, ZoneCoord_t x, ZoneCoord_t y, Creature::MoveMode MMode) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 困摹俊 滚肺快啊 啊瓷茄瘤 眉农甫 茄促. //// Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t x : 滚肺快窍绊磊 窍绰 谅钎 x// ZoneCoord_t y : 滚肺快窍绊磊 窍绰 谅钎 y//////////////////////////////////////////////////////////////////////////////bool canBurrow( Zone* pZone, ZoneCoord_t x, ZoneCoord_t y) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 困摹俊 攫滚肺快啊 啊瓷茄瘤 眉农甫 茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// ZoneCoord_t x : 滚肺快窍绊磊 窍绰 谅钎 x// ZoneCoord_t y : 滚肺快窍绊磊 窍绰 谅钎 y//////////////////////////////////////////////////////////////////////////////bool canUnburrow( Zone* pZone, ZoneCoord_t x, ZoneCoord_t y) throw();//////////////////////////////////////////////////////////////////////////////// 农府媚甫 第肺 拱矾唱霸 茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 拱矾唱霸 且 农府媚// ZoneCoord_t originX : pCreature甫 拱矾唱霸 茄 惑措规狼 谅钎 x// ZoneCoord_t originY : pCreature甫 拱矾唱霸 茄 惑措规狼 谅钎 y//////////////////////////////////////////////////////////////////////////////Dir_t knockbackCreature( Zone* pZone, Creature* pCreature, ZoneCoord_t originX, ZoneCoord_t originY) throw(ProtocolException, Error);//////////////////////////////////////////////////////////////////////////////// 窍捞靛甫 敬 农府媚甫 粮俊促 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 窍捞靛甫 敬 农府媚// ZoneCoord_t cx : 农府媚狼 盔贰 谅钎 x // ZoneCoord_t cy : 农府媚狼 盔贰 谅钎 y//////////////////////////////////////////////////////////////////////////////void addBurrowingCreature( Zone* pZone, Creature* pCreature, ZoneCoord_t cx, ZoneCoord_t cy) throw(EmptyTileNotExistException, Error);//////////////////////////////////////////////////////////////////////////////// 窍捞靛甫 乾 农府媚甫 粮俊促 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 窍捞靛甫 乾 农府媚// ZoneCoord_t cx : 农府媚狼 盔贰 谅钎 x// ZoneCoord_t cy : 农府媚狼 盔贰 谅钎 y// Dir_t dir : 唱柯 农府媚啊 氢且 规氢//////////////////////////////////////////////////////////////////////////////void addUnburrowCreature( Zone* pZone, Creature* pCreature, ZoneCoord_t cx, ZoneCoord_t cy, Dir_t dir ) throw(EmptyTileNotExistException, Error);//////////////////////////////////////////////////////////////////////////////// 函脚阑 乾 农府媚甫 粮俊促 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 函脚阑 乾 农府媚// bool bForce : 捞棋飘狼 duration捞 父扁啊 登瘤 臼疽绰单,// 碍力肺 仟绰 巴牢啊?//////////////////////////////////////////////////////////////////////////////void addUntransformCreature ( Zone* pZone, Creature* pCreature, bool bForce) throw();//////////////////////////////////////////////////////////////////////////////// 救 焊捞绰 农府媚甫 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 救 焊捞绰 农府媚// ZoneCoord_t cx : 农府媚狼 盔贰 谅钎 x// ZoneCoord_t cy : 农府媚狼 盔贰 谅钎 y//////////////////////////////////////////////////////////////////////////////void addInvisibleCreature( Zone* pZone, Creature* pCreature, ZoneCoord_t cx, ZoneCoord_t cy) throw();//////////////////////////////////////////////////////////////////////////////// 救 焊捞带 农府媚啊 焊老 版快, 捞 农府媚甫 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 救 焊捞带 农府媚// bool bForce : 碍力肺 visible 惑怕啊 登菌唱?//////////////////////////////////////////////////////////////////////////////void addVisibleCreature( Zone* pZone, Creature* pCreature, bool bForced) throw();//////////////////////////////////////////////////////////////////////////////// 胶唱捞俏 葛靛狼 农府媚甫 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 救 焊捞绰 农府媚// ZoneCoord_t cx : 农府媚狼 盔贰 谅钎 x// ZoneCoord_t cy : 农府媚狼 盔贰 谅钎 y//////////////////////////////////////////////////////////////////////////////void addSnipingModeCreature(Zone* pZone, Creature* pCreature, ZoneCoord_t cx, ZoneCoord_t cy) throw();//////////////////////////////////////////////////////////////////////////////// 救 焊捞带 农府媚啊 焊老 版快, 捞 农府媚甫 眠啊茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 救 焊捞带 农府媚// bool bForce : 碍力肺 visible 惑怕啊 登菌唱?//////////////////////////////////////////////////////////////////////////////void addUnSnipingModeCreature(Zone* pZone, Creature* pCreature, bool bForced) throw();//////////////////////////////////////////////////////////////////////////////// 粮俊促 瘤汾甫 歹茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Mine* pMine : 瘤汾 按眉俊 措茄 器牢磐// ZoneCoord_t cx : 瘤汾甫 歹且 谅钎 x// ZoneCoord_t cy : 瘤汾甫 歹且 谅钎 y//////////////////////////////////////////////////////////////////////////////void addInstalledMine(Zone* pZone, Mine* pMine, ZoneCoord_t cx, ZoneCoord_t cy) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 农府媚啊 瘤汾甫 光瘤 臼疽绰瘤 眉农茄促.//// Zone* pZone : 粮俊 措茄 器牢磐// Creature* pCreature : 八荤且 农府媚// ZoneCoord_t X : 八荤且 谅钎 x// ZoneCoord_t Y : 八荤且 谅钎 y//////////////////////////////////////////////////////////////////////////////bool checkMine(Zone* pZone, Creature* pCreature, ZoneCoord_t X, ZoneCoord_t Y) throw();bool checkMine(Zone* pZone, ZoneCoord_t X, ZoneCoord_t Y ) throw();bool checkTrap(Zone* pZone, Creature* pCreature);//////////////////////////////////////////////////////////////////////////////// 漂沥 农府媚甫 促弗 粮栏肺 捞悼矫挪促.//// Creature* pCreature : 捞悼且 农府媚// ZoneID_t TargetZoneID : 捞悼且 粮 ID// ZoneCoord_t TargetX : 捞悼且 粮 谅钎 X// ZoneCoord_t TargetY : 捞悼且 粮 谅钎 Y// bool bSendMoveOK : GCMoveOK甫 朝妨林绰啊俊 措茄 咯何//////////////////////////////////////////////////////////////////////////////void transportCreature( Creature* pCreature, ZoneID_t TargetZoneID, ZoneCoord_t TX, ZoneCoord_t TY, bool bSendMoveOK = true) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 粮ID甫 啊柳 粮阑 茫酒辑 器牢磐甫 府畔茄促.// ZoneID_t ZID : 茫绊磊 窍绰 粮 ID//////////////////////////////////////////////////////////////////////////////Zone* getZoneByZoneID(ZoneID_t ZID) throw(Error);//////////////////////////////////////////////////////////////////////////////// 款康磊 疙飞绢肺辑, 漂沥 鸥涝狼 阁胶磐甫 粮俊促 眠啊茄促.//////////////////////////////////////////////////////////////////////////////void addMonstersToZone( Zone* pZone, ZoneCoord_t x, ZoneCoord_t y, SpriteType_t SType, MonsterType_t MType, int num, const SUMMON_INFO& summonInfo, list<Monster*>* pSummonedMonsters=NULL) throw();void addMonstersToZone( Zone* pZone, const SUMMON_INFO2& summonInfo, list<Monster*>* pSummonedMonsters=NULL) throw();//////////////////////////////////////////////////////////////////////////////// 漂沥 农府媚啊 泅犁 救傈 瘤措 郴何俊 乐绰啊甫 八荤窍绰 窃荐// 背券且 锭 静牢促. //////////////////////////////////////////////////////////////////////////////bool isInSafeZone(Creature* pCreature);//////////////////////////////////////////////////////////////////////////////// 谅钎啊 粮狼 裹困 救牢瘤甫 眉农茄促.//////////////////////////////////////////////////////////////////////////////bool isValidZoneCoord(Zone* pZone, ZoneCoord_t x, ZoneCoord_t y, int offset=0);//////////////////////////////////////////////////////////////////////////////// master lair 俊 pCreature啊 甸绢哎 荐 乐绰啊?//////////////////////////////////////////////////////////////////////////////bool enterMasterLair(Zone* pZone, Creature* pCreature) throw (Error);// 具傈荤飞何俊辑 檬焊磊甸阑 促弗 镑栏肺 焊尘锭.. 格钎 粮狼 沥焊void checkNewbieTransportToGuild(Slayer* pSlayer);void getNewbieTransportZoneInfo(Slayer* pSlayer, ZONE_COORD& zoneInfo);// Corpse甫 Zone俊 眠啊茄促.bool addCorpseToZone(Corpse* pCorpse, Zone* pZone, ZoneCoord_t cx, ZoneCoord_t cy) throw (Error);// 裹困 救俊 漂沥茄 阁胶磐 矫眉啊 乐绰瘤 犬牢茄促. // 乐栏搁 true, 绝栏搁 falsebool checkCorpse( Zone* pZone, MonsterType_t MType, ZoneCoord_t x1, ZoneCoord_t y1, ZoneCoord_t x2, ZoneCoord_t y2 ) throw();void makeZoneIDList(const string& zoneIDs, list<ZoneID_t>& zoneIDList ) throw(Error);uint getZoneTimeband( Zone* pZone );bool createBulletinBoard( Zone* pZone, ZoneCoord_t X, ZoneCoord_t Y, MonsterType_t type, const string& msg, const VSDateTime& timeLimit );void loadBulletinBoard( Zone* pZone );void forbidDarkness( Zone* pZone, ZoneCoord_t X, ZoneCoord_t Y, int range );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -