Ir para conteúdo

Novos Tipos de DAMAGE (como criar)


Posts Recomendados

em enums.h

abaixo disso, ou abaixo de outro tipo de COMBAT:


COMBAT_FIREDAMAGE = 1 << 3,

add (nesse caso o nome que eu coloquei é dark, mas é claro que vc pode colocar outro nome):


COMBAT_DARKDAMAGE = 1 << 4, // não sei o que esses numeros querem dizer mas deixem esse valor

vc precisa aumentar o contador, neste caso é só 1 de aumento


COMBAT_COUNT = 12 // normal contador

agora com o aumento:


COMBAT_COUNT = 13 // contador aumentado em 1

em game.cpp

abaixo desse "case" vc vai colocar o seu novo damage, isso é muito importante, aqui que vc vai dizer qual a cor que ele vai ser, qual o efeito que vai ser feito quando ele for usado por um player ou monstro...


case COMBAT_LIFEDRAIN: {
color = TEXTCOLOR_RED;
effect = CONST_ME_MAGIC_RED;
break;
}

add:


case COMBAT_DARKDAMAGE: {
color = TEXTCOLOR_DARKRED; // aqui vc escolhe a cor possivel do seu novo damage
effect = CONST_ME_BLACKSMOKE; // aqui o effect do seu novo damage
break;
}

aqui estão as cores possiveis para o seu damage, não estou certo se são apenas essas, se alguém souber e puder falar eu mudarei aqui.


TEXTCOLOR_BLUE = 5,
TEXTCOLOR_LIGHTGREEN = 30,
TEXTCOLOR_LIGHTBLUE = 35,
TEXTCOLOR_MAYABLUE = 95,
TEXTCOLOR_DARKRED = 108,
TEXTCOLOR_LIGHTGREY = 129,
TEXTCOLOR_SKYBLUE = 143,
TEXTCOLOR_PURPLE = 154,
TEXTCOLOR_RED = 180,
TEXTCOLOR_ORANGE = 198,
TEXTCOLOR_YELLOW = 210,
TEXTCOLOR_WHITE_EXP = 215,
TEXTCOLOR_NONE = 255,

em monsters.cpp

abaixo do else if:


} else if (tmpName == "lifedrain") {
combat->setParam(COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN);

add:


} else if (tmpName == "dark") {
combat->setParam(COMBAT_PARAM_TYPE, COMBAT_DARKDAMAGE);

agora vc precisa colocar o seu damage como possivel de ser atribuida como imunidade pra monstros...

em monsters.cpp

abaixo:


} else if ((attr = immunityNode.attribute("lifedrain"))) {
if (attr.as_bool()) {
mType->damageImmunities |= COMBAT_LIFEDRAIN;
}

add:


} else if ((attr = immunityNode.attribute("dark"))) {
if (attr.as_bool()) {
mType->damageImmunities |= COMBAT_DARKDAMAGE;
}

agora vc precisa colocar ele como element percent, aquele que vai na tag dos monsters.

ainda em monsters.cpp

below:


} else if ((attr = elementNode.attribute("lifedrainPercent"))) {
mType->elementMap[COMBAT_LIFEDRAIN] = pugi::cast<int32_t>(attr.value());

add:


} else if ((attr = elementNode.attribute("darkPercent"))) {
mType->elementMap[COMBAT_DARKDAMAGE] = pugi::cast<int32_t>(attr.value());

em spells.cpp

abaixo (eu não tenho certeza se essa mudança é necessaria, mas faça clear.png)


"lifedrain",

add:


"dark",

isso é tudo... mas tenha certeza que os nomes que vc for dar pro seu damage sejam os mesmos em todas as mudanças pra não ter bugs...

funciona em tfs 1.1 ou 1.2 ... nas outras não sei, não uso essas mais velhas...

créditos: silveralol (otland) // eu por trazer pra cá.

Link para o comentário
Compartilhar em outros sites

  • 6 months later...

 

Acho que ele pegou daqui https://otland.net/threads/new-types-of-damage-how-to-create.233109/

se for, é TFS 1.X

 

da uma lida e vê se algo te ajuda ^^

Que bosta, não vai ter como por para 0.3.6

Mas valeu mesmo assim,

Feliz ano novo!

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...