if(const Monster* monster = creature->getMonster())
{
if(hasFlag(TILESTATE_PROTECTIONZONE))
return RET_NOTPOSSIBLE;
if(hasFlag(TILESTATE_PROTECTIONZONE) && !monster->isPlayerSummon())
|| (tmp->getMonster()->isSummon() && tmp->getMonster()->isPlayerSummon())
In tile.cpp(sources)
Find and remove that line:
C++:|| (tmp->getMonster()->isSummon() && tmp->getMonster()->isPlayerSummon())
if(!tmp->getMonster() || !tmp->isPushable() || tmp->isPlayerSummon())
return RET_NOTPOSSIBLE;
So make it instead
C++:if((!tmp->getMonster() && !tmp->isPlayerSummon())|| !tmp->isPushable() ) return RET_NOTPOSSIBLE;
Can you please post whole function that prevents monk from going in?
(if you know already which function it is)
if(const Monster* monster = creature->getMonster())
{
if(hasFlag(TILESTATE_PROTECTIONZONE))
return RET_NOTPOSSIBLE;
if(hasFlag(TILESTATE_PROTECTIONZONE) && !monster->isPlayerSummon())
I don't have a 0.x server but looking at the source code i found online
Have a look at: Tile.cpp
C++:if(const Monster* monster = creature->getMonster()) { if(hasFlag(TILESTATE_PROTECTIONZONE)) return RET_NOTPOSSIBLE;
This may do the job.
C++:if(hasFlag(TILESTATE_PROTECTIONZONE) && !monster->isPlayerSummon())
If the tile is a PZ and isn't a player summon say "sorry not possible"