Ir para conteúdo
  • 0

Formula de dano


siginor

Pergunta

Olá, estou iniciado na programação e, como gosto de poketibia, peguei a base [DxP] V3 (Na parte de downloads do post DxP) pois ela tem todas as sources e estou conseguindo mexer bem nela.

 

Vou postar aqui pois eu não sei se a config disso é somente em .lua ou se envolve também a source do jogo.

 

O problema é o seguinte, eu não encontro a formula de dano das spells, vou passar aqui até onde eu consegui chegar:

 

Vou usar a skill "Quick Attack" do Rattata como exemplo:

Spoiler

Stats do pokemon:

Spoiler
<!-- Primeiro os stats do Rattata -->Em data\lib\112 - pokemonStatus.lua está a configuração dos stats do rattata:['Rattata'] = {offense = 0.2, defense = 6, specialattack = 2.5, life = 150, vitality = 3, agility = 190, exp = 10, level = 5, wildLvl = 5, type = 'normal', type2 = 'no type'},<!-- Essa parte é para atribuir as skills ao poke e talvez o "F = 40" influencie no dano -->Em data\lib\114 - pokemonSpells.lua nós temos a config das skills do pokemon:["Rattata"] =    {move1 = {name = "Quick Attack", level = 1, cd = 10, dist = 2, target = 1, f = 40, t = "normal"},		  move2 = {name = "Bite", level = 1, cd = 15, dist = 1, target = 1, f = 50, t = "dark"},		  move3 = {name = "Scratch", level = 1, cd = 15, dist = 1, target = 1, f = 40, t = "normal"},		  move4 = {name = "Super Fang", level = 12, cd = 25, dist = 1, target = 1, f = 65, t = "normal"},		 },

 

 

Para ver a formula da spell vá em data\lib\pokemon moves.lua :

Spoiler
<!-- Aqui a linha é pequena mesmo -->elseif spell == "Quick Attack" then   doDanoWithProtect(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 111)

 

 

Por último, a função doDanoWithProtect que fica em data\lib\newStatusSyst.lua:

Spoiler
function doDanoWithProtect(cid, element, pos, area, min, max, eff)  --Da dano com proteçoes	if not isCreature(cid) then return true end	if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end	if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end	doAreaCombatHealth(cid, element, pos, area, -(math.abs(min)), -(math.abs(max)), eff)   --print("Erro subistituir magia: " .. getPlayerStorageValue(cid, 21102))end

 

 

 

O meu problema é que eu não consigo encontrar o diacho do "min, max" que definem o dano máximo e mínimo da spell, já cacei em todos os luas e não consegui identificar, quando vou para o projeto no DEV C++ ai é que eu apanho mesmo.

 

Repp++ para quem souber me dizer onde fica a formula do min e max.

Editado por siginor
Editado para organizar
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
14 horas atrás, nociam disse:

f = 40

Eu sei que o f = 40 muda o dano, mas eu não estou entendendo esse min,max como eles estão sendo atribuidos.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...