Jump to content
  • 0
unknown.oz

Scripting [Spell] First Aid

Question

unknown.oz

Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo:

https://forums.otserv.com.br/index.php?/forums/topic/168583-regras-da-seção/

https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/

OBS: NÃO DELETE ESSE FORMULÁRIO PRÉ-DEFINIDO DO TÓPICO, COMPLETE-O CORRETAMENTE PARA POSTAR O SEU TÓPICO! 

Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.).

  • Base: OTServBR-Global
  • Client: Tibia 12.61

Qual é a sua pergunta?

Boa tarde a todos,

Estou com um projeto de servidor no qual a ideia de cura do jogo é um pouco mais complexa, onde nem todas as vocações tem acesso a magias de cura.

Então decide criar  uma magia/habilidade chamada de "First Aid", onde todas as vocações poderiam utilizar sendo viavel para leveis baixos.

Idéia: O personagem após combater algumas criaturas e nao ter acesso a alguma poção ou auxilio de magia de se recuperar do combate e ir para o próximo, tendo que ficar parado por um certo periodo de tempo, sem poder atacar durante o tempo de cura e com a movimentação debilitada. Com base nessa idéia

Realizado: Com essa base de idéia, peguei com base a Magia Recovery (Utura), alterei o custo de mana, valor de cura e velocidade de cura. Adicionei tambem o condição de pacifismo do Swift Foot ( Utamo tempo san ) e a condição da Paralyze do Sharpshooter (Utito tempo san).

Ajuda: Gostaria de um auxilio no script para que a animação do brilho da cura se repita para cada tick de valor de cura e criar uma lógica para que quando ele use a magia, caso atinja o valor maximo da vida a magia seja encerrada, porem com o cooldown normal. Seria possível essa idéia, como eu poderia fazer isso ?

 

Script first_aid.lua

Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:

Spoiler
local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)

local condition = Condition(CONDITION_REGENERATION)
condition:setParameter(CONDITION_PARAM_SUBID, 1)
condition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
condition:setParameter(CONDITION_PARAM_TICKS, 1 * 10 * 1000)
condition:setParameter(CONDITION_PARAM_HEALTHGAIN, 20)
condition:setParameter(CONDITION_PARAM_HEALTHTICKS, 2000)
combat:addCondition(condition)

local speed = Condition(CONDITION_PARALYZE)
speed:setParameter(CONDITION_PARAM_TICKS, 10000)
speed:setFormula(-0.7, 56, -0.7, 56)
combat:addCondition(speed)

local disable = createConditionObject(CONDITION_PACIFIED)
setConditionParam(disable, CONDITION_PARAM_TICKS, 10000)
setCombatCondition(combat, disable)

function onCastSpell(creature, var)
	return combat:execute(creature, var)
end

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:

Spoiler

 

 

Share this post


Link to post

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×