make a new class file named
Roar - 1040.cs in Attack Processor/Spells
and replace the content of the that file you just created with
Code:
using ConquerServer_v2.Client;
using ConquerServer_v2.Packet_Structures;
namespace ConquerServer_v2.Attack_Processor
{
public unsafe partial class AttackProcessor
{
public static void Roar(GameClient Attacker)
{
if (Attacker.InTeam)
{
foreach (GameClient TeamMember in Attacker.Team.Teammates)
{
TeamMember.XPSkillCounter += 20;
UpdatePacket Update = UpdatePacket.Create();
Update.UID = TeamMember.Entity.UID;
Update.ID = UpdateID.XPCircle;
Update.Value = (byte)TeamMember.XPSkillCounter;
TeamMember.Send(&Update);
}
}
}
}
}
then go to Magic.cs
then find
private static bool ProcessBomb
and replace that Block with
Code:
private static bool ProcessBomb(GameClient AttackerClient, IBaseEntity Opponent, MAttackData* Data, ref Dictionary<IBaseEntity, Damage> Targets)
{
if (AttackerClient != null)
{
bool Success = false;
if (Data->TargetType == MAttackTargetType.BombMagic)
{
switch (Data->SpellID)
{
case 1040: Roar(AttackerClient); break;
default:
{
Success = true;
Targets = AttackProcessor.FieldOfViewMAttack<object, object>(AttackerClient, Data, AttackerClient.PKMode,
MagicDamage, null, null, null, Data->Range, Data->BaseDamage);
break;
}
}
}
else if (Data->TargetType == MAttackTargetType.Physical ||
Data->TargetType == MAttackTargetType.WeaponSkill)
{
Success = true;
int Base = Kernel.Random.Next(AttackerClient.Entity.MinAttack, AttackerClient.Entity.MaxAttack);
Targets = AttackProcessor.FieldOfViewMAttack<double, object>(AttackerClient, Data, AttackerClient.PKMode,
PhysicalDamage, Data->BaseDamagePercent, null, null, Data->Range, Base);
}
return Success;
}
return false;
}