Ir para conteúdo

Featured Replies

  • Respostas 20
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Essas são as modificações que você ira precisar, basta alterar sua source, config.lua, creaturescript. Oque as alterações fazem, Black Skull pode soltar magia, ele não leva mais dano por estar Black

  • Esse sistema só funciona corretamente com alterações na source.

  • posta a tag da magia ai, das duas de preferencia da que funciona e da que nao funciona.

Postado

posta combat.cpp

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Postado

Acabei deixando passar algumas alterações, faça elas e creio que vai funcionar ?

 

spells.cpp

Spoiler

spells.cpp

em
bool Spell::checkInstantSpell(Player* player, Creature* creature)

Altere
if(!needTarget)
			return true;


	Player* targetPlayer = creature->getPlayer();
	if(!isAggressive || !targetPlayer || Combat::isInPvpZone(player, targetPlayer)
		|| player->getSkullType(targetPlayer) != SKULL_NONE)
		return true;

	if(player->getSecureMode() == SECUREMODE_ON)
	{
		player->sendCancelMessage(RET_TURNSECUREMODETOATTACKUNMARKEDPLAYERS);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	if(player->getSkull() == SKULL_BLACK)
	{
		player->sendCancelMessage(RET_YOUMAYNOTATTACKTHISPLAYER);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	return true;
}

Para
if(!needTarget)
			return true;


	Player* targetPlayer = creature->getPlayer();
	if(!isAggressive || !targetPlayer || Combat::isInPvpZone(player, targetPlayer)
		|| player->getSkullType(targetPlayer) != SKULL_NONE)
		return true;

	if(player->getSecureMode() == SECUREMODE_ON)
	{
		player->sendCancelMessage(RET_TURNSECUREMODETOATTACKUNMARKEDPLAYERS);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}


	return true;
}



em
bool Spell::checkInstantSpell(Player* player, const Position& toPos)

altere
if(blockingSolid && tile->hasProperty(BLOCKSOLID))
	{
		player->sendCancelMessage(RET_NOTENOUGHROOM);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	if(player->getSkull() == SKULL_BLACK && isAggressive && range == -1) // CHECKME: -1 is (usually?) an area spell
	{
		player->sendCancelMessage(RET_YOUMAYNOTCASTAREAONBLACKSKULL);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	return true;
}

para
if(blockingSolid && tile->hasProperty(BLOCKSOLID))
	{
		player->sendCancelMessage(RET_NOTENOUGHROOM);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}


	return true;
}


em
bool Spell::checkRuneSpell(Player* player, const Position& toPos)

altere
if(player->getSecureMode() == SECUREMODE_ON)
	{
		player->sendCancelMessage(RET_TURNSECUREMODETOATTACKUNMARKEDPLAYERS);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	if(player->getSkull() != SKULL_BLACK)
		return true;

	player->sendCancelMessage(RET_YOUMAYNOTATTACKTHISPLAYER);
	player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
	return false;
}

para
if(player->getSecureMode() == SECUREMODE_ON)
	{
		player->sendCancelMessage(RET_TURNSECUREMODETOATTACKUNMARKEDPLAYERS);
		player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
		return false;
	}

	return true;
}

em
bool InstantSpell::SummonMonster(const InstantSpell* spell, Creature* creature, const std::string& param)

remova
if(player->getSkull() == SKULL_BLACK)
		{
			player->sendCancelMessage(RET_NOTPOSSIBLE);
			player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
			return false;
		}


em
bool RuneSpell::Convince(const RuneSpell* spell, Creature* creature, Item*, const Position&, const Position& posTo)

remova
if(player->getSkull() == SKULL_BLACK)
		{
			player->sendCancelMessage(RET_NOTPOSSIBLE);
			player->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF);
			return false;
		}
		

 

 

       112674.gif

 

 

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo