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:
Stats do pokemon:
<!-- 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 :
<!-- 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:
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.