Para o Navicat
Código:
Para Handle.cs
Código:
Código:
- Código:
INSERT
INTO `spells` VALUES ('12770', '12770', '0084', 'Pounce', '1', '1',
'0', '0004', '0000', '0000', '30030', '0000', '0100', '0000', '0005',
'0020', '0000', '0000', '500', '3000', '60', '0900', '0000', '0',
'0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');
INSERT INTO `spells` VALUES ('12771', '12770', '0084', 'Pounce',
'1', '1', '0', '0004', '0001', '0000', '30035', '0000', '0100', '0000',
'0005', '0020', '0000', '0000', '1000', '6000', '70', '0900', '0000',
'0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000',
'0001');
INSERT INTO `spells` VALUES ('12772', '12770', '0084',
'Pounce', '1', '1', '0', '0004', '0002', '0000', '30040', '0000',
'0100', '0000', '0005', '0020', '0000', '0000', '10000', '10000', '80',
'0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000',
'0000', '0000', '0001');
INSERT INTO `spells` VALUES ('12773',
'12770', '0084', 'Pounce', '1', '1', '0', '0004', '0003', '0000',
'30045', '0000', '0100', '0000', '0005', '0020', '0000', '0000',
'50000', '50000', '90', '0900', '0000', '0', '0000', '0', '0000', '0',
'0000', '0', '0000', '0000', '0000', '0001');
INSERT INTO
`spells` VALUES ('12774', '12770', '0084', 'Pounce', '1', '1', '0',
'0004', '0004', '0000', '30050', '0000', '0100', '0000', '0005', '0020',
'0000', '0000', '100000', '100000', '100', '0900', '0000', '0', '0000',
'0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');
INSERT
INTO `spells` VALUES ('12775', '12770', '0084', 'Pounce', '1', '1',
'0', '0004', '0005', '0000', '30055', '0000', '0100', '0000', '0005',
'0020', '0000', '0000', '500000', '150000', '110', '0900', '0000', '0',
'0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');
INSERT INTO `spells` VALUES ('12776', '12770', '0084', 'Pounce',
'1', '1', '0', '0004', '0006', '0000', '30060', '0000', '0100', '0000',
'0005', '0020', '0000', '0000', '0', '0000', '0', '0900', '0000', '0',
'0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');
Para Handle.cs
Código:
- Código:
#region Pounce
case 12770:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
//suse.SpellLevelHu = client_Spell.LevelHu2;
suse.SpellLevel = spell.Level;
ushort _X = attacker.X, _Y = attacker.Y;
ushort _tX = X, _tY = Y;
UInt16 ox, oy;
ox = attacker.X;
oy = attacker.Y;
byte dist = (byte)spell.Distance;
var Array = attacker.Owner.Screen.Objects;
InLineAlgorithm algo = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, dist,
InLineAlgorithm.Algorithm.DDA);
X = attacker.X;
Y = attacker.Y;
int i = 0;
for (i = 0; i < algo.lcoords.Count; i++)
{
if
(attacker.Owner.Map.Floor[algo.lcoords[i].X, algo.lcoords[i].Y,
MapObjectType.Player]
&& !attacker.ThroughGate(algo.lcoords[i].X, algo.lcoords[i].Y))
{
X = (ushort)algo.lcoords[i].X;
Y = (ushort)algo.lcoords[i].Y;
}
else
{
break;
}
}
suse.X = X;
suse.Y = Y;
if (!attacker.Owner.Map.Floor[X, Y, MapObjectType.Player, null])
return;
double disth = 1.5;
if (attacker.MapID == DeathMatch.MAPID) disth = 1;
foreach (Interfaces.IMapObject _obj in Array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if
(Kernel.GetDDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[j].X,
(ushort)algo.lcoords[j].Y) <= disth)
hit = true;
if (hit)
{
if (_obj.MapObjType == MapObjectType.Monster)
{
attacked = _obj as Entity;
if
(CanAttack(attacker, attacked, spell, attack.AttackType ==
Attack.Melee))
{
var damage =
Game.Attacking.Calculate.Melee(attacker, attacked, spell, ref attack,
client_Spell.LevelHu2);
damage = (uint)(damage * 0.9);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if
(CanAttack(attacker, attacked, spell, attack.AttackType ==
Attack.Melee))
{
var damage =
Game.Attacking.Calculate.Melee(attacker, attacked, ref attack,
client_Spell.LevelHu2);
damage = (uint)(damage * 0.6);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);
suse.AddTarget(attacked, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (CanAttack(attacker, attackedsob, spell))
{
var damage =
Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);
suse.AddTarget(attackedsob, damage, attack);
}
}
}
}
attacker.PX = attacker.X;
attacker.PY = attacker.Y;
attacker.X = X;
attacker.Y = Y;
attacker.Owner.SendScreen(suse, true);
attacker.Owner.Screen.Reload(suse);
}
break;
}
#endregion
Downloads:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]