Como regular o ataque dos skill
Página 1 de 1 • Compartilhe
Como regular o ataque dos skill
- Tutorial em Texto:
- 1-Abra o projeto da sua source no visual Studio
2-No solution Explore procure por : Game/Attacking/Handle.cs
Bom é na Handle.cs que fica programado todos os skill e quando eles vão tirar de dano, para você mudar você certamente terá que pesquisar por um skill e nesse tutorial vou usar como exemplo o skill do Mortal Wound ( é só apertar ctrl +f no visual studio, e colocar o nome do skill que você será levado até o skill, ou procure pelo id do skill)
(Amplie a imagem clicando em Ver em tamanho real )
Notem que na imagem eu circulei em azul la em baixo a seguinte parte:- Código:
damage = (uint)(damage * 0.7);
No meu caso o skill está tirando pouco então vou simplesmente alterar dessa forma para que meu skill tire mais dano:- Código:
damage = (uint)(damage * 1.0);
Apos fazer a alteração você tem que fazer o debug e testar se está como você quer.

Última edição por FelipeXP em Seg Dez 19, 2016 5:10 pm, editado 4 vez(es)
Re: Como regular o ataque dos skill
é sempre bom lembrar que nem todo skill terá damage = (uint)(damage * 1.0);
alguns são diferentes, como o skill do ninja o SuperTwofoldBlade você irá encontrar da seguinte forma =
se vim dessa forma você ira alterar sempre o numero depois do * sendo dessa forma :
mais sempre virá damage =
alguns são diferentes, como o skill do ninja o SuperTwofoldBlade você irá encontrar da seguinte forma =
- Código:
damage = (uint)((damage * 40) / 100);
se vim dessa forma você ira alterar sempre o numero depois do * sendo dessa forma :
- Código:
damage = (uint)((damage * 60) / 100);
mais sempre virá damage =
parabens mano
Felipe Costa escreveu:é sempre bom lembrar que nem todo skill terá damage = (uint)(damage * 1.0);
alguns são diferentes, como o skill do ninja o SuperTwofoldBlade você irá encontrar da seguinte forma =
- Código:
damage = (uint)((damage * 40) / 100);
se vim dessa forma você ira alterar sempre o numero depois do * sendo dessa forma :
- Código:
damage = (uint)((damage * 60) / 100);
mais sempre virá damage =
cleitoM- Membro
- Mensagens : 3
Data de inscrição : 11/06/2014
Re: Como regular o ataque dos skill
eu fiz exatamente e não consigo achar os skill radiant palm, e tornado de mago...na fb, ss, hercules...não existe valores para ser alterado...como arrumo isso?
nagnata- Membro
- Mensagens : 32
Data de inscrição : 28/09/2016
Re: Como regular o ataque dos skill
nagnata escreveu:eu fiz exatamente e não consigo achar os skill radiant palm, e tornado de mago...na fb, ss, hercules...não existe valores para ser alterado...como arrumo isso?
procura pelo id do skill e adiciona essa linha para editar
_________________

CodeMaster- Membro
- Mensagens : 38
Data de inscrição : 28/05/2014
Idade : 22
Localização : Fortaleza ceara
Re: Como regular o ataque dos skill
#region SuperTwofoldBlade
case 12080:
{
if (CanUseSpell(spell, attacker.Owner))
{
//var dis = spell.Distance;
//if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= dis)
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance)
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
http://suse.SpellLevelHu = client_Spell.UseSpell;
Game.Attacking.InLineAlgorithm ila = new LordsRoad.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
bool aaAttack = false;
var Array = attacker.Owner.Screen.Objects;
foreach (Interfaces.IMapObject _obj in Array)
{
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 4)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
else if (ila.InLine(attacked.X, attacked.Y))
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (attackedsob.UID == Target)
{
if (CanAttack(attacker, attackedsob, spell))
{
aaAttack = true;
// if (!moveIn.InRange(attackedsob.X, attackedsob.Y, 4, ranger))
// continue;
var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
//damage += damage * 15 / 100;
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
if (aaAttack)
attacker.Owner.SendScreen(suse, true);
http://attacker.RadiantStamp = DateTime.Now;
}
}
break;
}
#endregion
independente de onde eu mecha ai, o ataque não altera....
case 12080:
{
if (CanUseSpell(spell, attacker.Owner))
{
//var dis = spell.Distance;
//if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= dis)
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance)
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
http://suse.SpellLevelHu = client_Spell.UseSpell;
Game.Attacking.InLineAlgorithm ila = new LordsRoad.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
bool aaAttack = false;
var Array = attacker.Owner.Screen.Objects;
foreach (Interfaces.IMapObject _obj in Array)
{
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 4)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
else if (ila.InLine(attacked.X, attacked.Y))
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (attackedsob.UID == Target)
{
if (CanAttack(attacker, attackedsob, spell))
{
aaAttack = true;
// if (!moveIn.InRange(attackedsob.X, attackedsob.Y, 4, ranger))
// continue;
var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
//damage += damage * 15 / 100;
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
if (aaAttack)
attacker.Owner.SendScreen(suse, true);
http://attacker.RadiantStamp = DateTime.Now;
}
}
break;
}
#endregion
independente de onde eu mecha ai, o ataque não altera....
nagnata- Membro
- Mensagens : 32
Data de inscrição : 28/09/2016
Re: Como regular o ataque dos skill
nagnata escreveu: #region SuperTwofoldBlade
case 12080:
{
if (CanUseSpell(spell, attacker.Owner))
{
//var dis = spell.Distance;
//if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= dis)
if (Kernel.GetDistance(attacker.X, attacker.Y, X, Y) <= spell.Distance)
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
//suse.SpellLevelHu = client_Spell.UseSpell;
Game.Attacking.InLineAlgorithm ila = new LordsRoad.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
bool aaAttack = false;
var Array = attacker.Owner.Screen.Objects;
foreach (Interfaces.IMapObject _obj in Array)
{
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (Kernel.GetDistance(attacker.X, attacker.Y, attacked.X, attacked.Y) <= 4)
{
if (attacked.UID == Target)
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
else if (ila.InLine(attacked.X, attacked.Y))
{
if (CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
{
aaAttack = true;
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack, client_Spell.LevelHu2);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (attackedsob.UID == Target)
{
if (CanAttack(attacker, attackedsob, spell))
{
aaAttack = true;
// if (!moveIn.InRange(attackedsob.X, attackedsob.Y, 4, ranger))
// continue;
var damage = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
//damage += damage * 15 / 100;
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
if (aaAttack)
attacker.Owner.SendScreen(suse, true);
//attacker.RadiantStamp = DateTime.Now;
}
}
break;
}
#endregion
independente de onde eu mecha ai, o ataque não altera....
isso acontece por que a linha que calcula o dano do skill está entre //.
Todo código com essas barras // são nulos, é como se não estivesse ali
é só tirar as barras //, nessa parte:
//damage += damage * 15 / 100;
Re: Como regular o ataque dos skill
Felipe como resolver um bug parecido, sendo que e no ataque basico, tipo ataque normal tirando muito dano, como resolver?
João Paulo- Membro
- Mensagens : 8
Data de inscrição : 20/01/2016
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|