LG

Pegar no Boost Diminui o CD

Por lgan, 29 de jun. de 2015 em Archived

5
792
lganL
29 de junho de 2015 às 22:30

Estava vendo torneio do final de semana e lembrei dessa função, se alguém puder ajudar....

 

se o move x (que cause algum status, ou que possa ser configurado em alguma tabela) pegar no BOOST, o cooldown diminui para

 

y segundos.

 

não sei se é difícil fazer mas se alguém puder ajudar... seria interessante...

zipter98Z
29 de junho de 2015 às 22:49

O cooldown diminuído será em % baseado no CD total da magia, ou será diferente para cada uma?

Responde rápido se possível, logo vou sair e amanhã irei viajar e só voltarei mês que vem.

Enfim, escrevi para que o cooldown seja diminuído em 30% (achei esta a melhor porcentagem de redução de tempo de recarga). Se este valor não lhe agradar, mude o 0.3 (que equivale a 30%).

O código talvez possa ser escrito de maneira mais simples, porém, como já disse, estou com pressa para sair.

pokemon moves.lua:

Nas spells que apliquem condições negativas (como Silence, Sleep, Slow, etc), haverá esta linha:

 

local ret = {}

Abaixo dela, coloque:

 

ret.Spell = {cid, spell}

Depois, em newStatusSyst.lua, abaixo de:

 

doSendAnimatedText(getThingPosWithDebug(ret.id), "BOOST", 215)   --alterado v1.8  

coloque:

 

local user, spell = ret.Spell[1], ret.Spell[2]
if user and spell and isSummon(user) then
    local pid = getCreatureMaster(user)
    if isPlayer(pid) then
        local ball, index, cooldown = getPlayerSlotItem(pid, 8).uid, 0, 0
        for i = 1, 12 do
            local move = getNewMoveTable(movestable[getCreatureName(user)], i)
            if move and move.name == spell then
                index = i
                cooldown = move.cd
                break
            end
        end
        if index ~= 0 then
            local newCd = math.floor(cooldown - cooldown * 0.3)
            setCD(ball, "move"..index, newCd)
        end
    end
end

Editado Junho 29 por zipter98

lganL
30 de junho de 2015 às 19:54

na verdade o ideal seria que pudesse ser configurado poke por poke, pois isso serve para ajudar no balanceamento do serv, visto que alguns pokes com def e vitality baixos, são "dependentes" de causar status negativo...

 

se pudesse ser algo assim:

 

move8 = {name = "Hypnosis", level = 80, cd = 80, boost = 20, dist = 10, target = 1, f = 0, t = "psychic"},

 

no caso o "boost = 20" seria o cd caso a spell pegue no boost do adversário.

 

será que eh possível fazer para que possa ser configurado poke por poke?

Editado Junho 30 por lgan

nociamN
30 de junho de 2015 às 23:17

sabe aonde ele falo 0.3 ali vc altera pra pegar essa tabela no caso se coloca a % tipo assim movestable[getCreatureName(cid)].boost

2 meses depois...
BrunoB
20 de agosto de 2015 às 14:39

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.