|
public void Die(uint killer)
public void Die(uint killer)
{
if (MyClones.Count != 0)
{
foreach (var clone in MyClones)
clone.RemoveThat();
MyClones.Clear();
}
if (PlayerFlag == PlayerFlag.Player)
{
Owner.XPCount = 0;
if (Owner.Booth != null)
{
Owner.Booth.Remove();
Owner.Booth = null;
}
}
Killed = true;
Hitpoints = 0;
DeathStamp = Time32.Now;
ToxicFogLeft = 0;
if (Companion)
{
if (Hitpoints < 1)
{
Hitpoints = 0;
AddFlag((ulong)MsgUpdate.Flags.Ghost | (ulong)MsgUpdate.Flags.Dead | (ulong)MsgUpdate.Flags.FadeAway);
MsgInteract attack = new MsgInteract(true);
attack.Attacked = UID;
attack.InteractType = MsgInteract.Kill;
attack.X = X;
attack.Y = Y;
MonsterInfo.SendScreen(attack);
Owner.Map.RemoveEntity(this);
Owner.Pet.RemovePet(pettype);
}
}
if (PlayerFlag == PlayerFlag.Player)
{
Owner.Pet.ClearAll();
}
if (PlayerFlag == PlayerFlag.Player)
{
if (Constants.PKFreeMaps.Contains(MapID))
goto Over;
Over:
AddFlag((ulong)MsgUpdate.Flags.Dead);
AddFlag((ulong)MsgUpdate.Flags.Ghost);
RemoveFlag((ulong)MsgUpdate.Flags.Fly);
RemoveFlag((ulong)MsgUpdate.Flags.Ride);
RemoveFlag((ulong)MsgUpdate.Flags.Cyclone);
RemoveFlag((ulong)MsgUpdate.Flags.Superman);
RemoveFlag((ulong)MsgUpdate.Flags.FatalStrike);
RemoveFlag((ulong)MsgUpdate.Flags.FlashingName);
RemoveFlag((ulong)MsgUpdate.Flags.ShurikenVortex);
RemoveFlag((ulong)MsgUpdate.Flags.CastPray);
RemoveFlag((ulong)MsgUpdate.Flags.Praying);
RemoveFlag2((ulong)MsgUpdate.Flags2.Oblivion);
RemoveFlag3((ulong)MsgUpdate.Flags3.SuperCyclone);
RemoveFlag3((ulong)MsgUpdate.Flags3.DragonCyclone);
RemoveFlag2((ulong)MsgUpdate.Flags2.AzureShield);
RemoveFlag((ulong)MsgUpdate.Flags.GodlyShield);
RemoveFlag2((ulong)MsgUpdate.Flags2.CarryingFlag);
RemoveFlag3((ulong)MsgUpdate.Flags3.BackFire);
RemoveFlag2((ulong)MsgUpdate.Flags2.EarthAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.FireAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.WaterAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.WoodAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.MetalAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.FendAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.TyrantAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.EarthAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.FireAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.WaterAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.WoodAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.MetalAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.FendAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.TyrantAura);
RemoveFlag3((ulong)MsgUpdate.Flags3.WarriorEpicShield);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer2);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer3);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer4);
RemoveFlag3((ulong)MsgUpdate.Flags3.BladeFlurry);
RemoveFlag4(MsgUpdate.Flags4.Omnipotence);
RemoveFlag4(MsgUpdate.Flags4.RevengeTaill);
RemoveFlag4(MsgUpdate.Flags4.ChillingSnow);
RemoveFlag4(MsgUpdate.Flags4.FreezingPelter);
RemoveFlag4((ulong)MsgUpdate.Flags4.RevengeTaill);
RemoveFlag4(MsgUpdate.Flags4.HealingSnow);
RemoveFlag4(MsgUpdate.Flags4.ShadowofChaser);
RemoveFlag4(MsgUpdate.Flags4.ImmortalForce);
if (ContainsFlag3((ulong)MsgUpdate.Flags3.AuroraLotus))
{
AuroraLotusEnergy = 0;
Lotus(AuroraLotusEnergy, (byte)MsgUpdate.DataType.AuroraLotus);
}
if (ContainsFlag3((ulong)MsgUpdate.Flags3.FlameLotus))
{
FlameLotusEnergy = 0;
Lotus(FlameLotusEnergy, (byte)MsgUpdate.DataType.FlameLotus);
}
Update(MsgName.Mode.Effect, "pie", true);
MsgInteract Interact = new MsgInteract(true);
Interact.InteractType = MsgInteract.Kill;
Interact.X = X;
Interact.Y = Y;
Interact.Attacked = UID;
Interact.Attacker = killer;
Interact.Damage = 0;
Owner.SendScreen(Interact, true);
GodlyShield = false;
Owner.removeAuraBonuses(Aura_actType, Aura_actPower, 1);
Aura_isActive = false;
Aura_actType = 0;
Aura_actPower = 0;
if (Body == 2005)
{
TransformationID = 99;
}
else if (Body == 1006)
{
TransformationID = 98;
}
Owner.Send(new MsgMapInfo() { BaseID = Owner.Map.BaseID, ID = Owner.Map.ID, Status = Database.MapsTable.MapInformations[Owner.Map.ID].Status, Weather = Database.MapsTable.MapInformations[Owner.Map.ID].Weather });
Owner.EndQualifier();
}
else
{
Kernel.Maps[MapID].Floor[X, Y, MapObjType, this] = true;
}
if (PlayerFlag == PlayerFlag.Player)
if (OnDeath != null) OnDeath(this);
}
public void Die(uint killer)
public void Die(uint killer)
{
if (MyClones.Count != 0)
{
foreach (var clone in MyClones)
clone.RemoveThat();
MyClones.Clear();
}
if (PlayerFlag == PlayerFlag.Player)
{
Owner.XPCount = 0;
if (Owner.Booth != null)
{
Owner.Booth.Remove();
Owner.Booth = null;
}
}
Killed = true;
Hitpoints = 0;
DeathStamp = Time32.Now;
ToxicFogLeft = 0;
if (Companion)
{
if (Hitpoints < 1)
{
Hitpoints = 0;
AddFlag((ulong)MsgUpdate.Flags.Ghost | (ulong)MsgUpdate.Flags.Dead | (ulong)MsgUpdate.Flags.FadeAway);
MsgInteract attack = new MsgInteract(true);
attack.Attacked = UID;
attack.InteractType = MsgInteract.Kill;
attack.X = X;
attack.Y = Y;
MonsterInfo.SendScreen(attack);
Owner.Map.RemoveEntity(this);
Owner.Pet.RemovePet(pettype);
}
}
if (PlayerFlag == PlayerFlag.Player)
{
Owner.Pet.ClearAll();
}
if (PlayerFlag == PlayerFlag.Player)
{
if (Constants.PKFreeMaps.Contains(MapID))
goto Over;
Over:
AddFlag((ulong)MsgUpdate.Flags.Dead);
AddFlag((ulong)MsgUpdate.Flags.Ghost);
RemoveFlag((ulong)MsgUpdate.Flags.Fly);
RemoveFlag((ulong)MsgUpdate.Flags.Ride);
RemoveFlag((ulong)MsgUpdate.Flags.Cyclone);
RemoveFlag((ulong)MsgUpdate.Flags.Superman);
RemoveFlag((ulong)MsgUpdate.Flags.FatalStrike);
RemoveFlag((ulong)MsgUpdate.Flags.FlashingName);
RemoveFlag((ulong)MsgUpdate.Flags.ShurikenVortex);
RemoveFlag((ulong)MsgUpdate.Flags.CastPray);
RemoveFlag((ulong)MsgUpdate.Flags.Praying);
RemoveFlag2((ulong)MsgUpdate.Flags2.Oblivion);
RemoveFlag3((ulong)MsgUpdate.Flags3.SuperCyclone);
RemoveFlag3((ulong)MsgUpdate.Flags3.DragonCyclone);
RemoveFlag2((ulong)MsgUpdate.Flags2.AzureShield);
RemoveFlag((ulong)MsgUpdate.Flags.GodlyShield);
RemoveFlag2((ulong)MsgUpdate.Flags2.CarryingFlag);
RemoveFlag3((ulong)MsgUpdate.Flags3.BackFire);
RemoveFlag2((ulong)MsgUpdate.Flags2.EarthAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.FireAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.WaterAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.WoodAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.MetalAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.FendAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.TyrantAuraIcon);
RemoveFlag2((ulong)MsgUpdate.Flags2.EarthAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.FireAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.WaterAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.WoodAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.MetalAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.FendAura);
RemoveFlag2((ulong)MsgUpdate.Flags2.TyrantAura);
RemoveFlag3((ulong)MsgUpdate.Flags3.WarriorEpicShield);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer2);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer3);
RemoveFlag3((ulong)MsgUpdate.Flags3.FlameLayer4);
RemoveFlag3((ulong)MsgUpdate.Flags3.BladeFlurry);
RemoveFlag4(MsgUpdate.Flags4.Omnipotence);
RemoveFlag4(MsgUpdate.Flags4.RevengeTaill);
RemoveFlag4(MsgUpdate.Flags4.ChillingSnow);
RemoveFlag4(MsgUpdate.Flags4.FreezingPelter);
RemoveFlag4((ulong)MsgUpdate.Flags4.RevengeTaill);
RemoveFlag4(MsgUpdate.Flags4.HealingSnow);
RemoveFlag4(MsgUpdate.Flags4.ShadowofChaser);
RemoveFlag4(MsgUpdate.Flags4.ImmortalForce);
if (ContainsFlag3((ulong)MsgUpdate.Flags3.AuroraLotus))
{
AuroraLotusEnergy = 0;
Lotus(AuroraLotusEnergy, (byte)MsgUpdate.DataType.AuroraLotus);
}
if (ContainsFlag3((ulong)MsgUpdate.Flags3.FlameLotus))
{
FlameLotusEnergy = 0;
Lotus(FlameLotusEnergy, (byte)MsgUpdate.DataType.FlameLotus);
}
Update(MsgName.Mode.Effect, "pie", true);
MsgInteract Interact = new MsgInteract(true);
Interact.InteractType = MsgInteract.Kill;
Interact.X = X;
Interact.Y = Y;
Interact.Attacked = UID;
Interact.Attacker = killer;
Interact.Damage = 0;
Owner.SendScreen(Interact, true);
GodlyShield = false;
Owner.removeAuraBonuses(Aura_actType, Aura_actPower, 1);
Aura_isActive = false;
Aura_actType = 0;
Aura_actPower = 0;
if (Body == 2005)
{
TransformationID = 99;
}
else if (Body == 1006)
{
TransformationID = 98;
}
Owner.Send(new MsgMapInfo() { BaseID = Owner.Map.BaseID, ID = Owner.Map.ID, Status = Database.MapsTable.MapInformations[Owner.Map.ID].Status, Weather = Database.MapsTable.MapInformations[Owner.Map.ID].Weather });
Owner.EndQualifier();
}
else
{
Kernel.Maps[MapID].Floor[X, Y, MapObjType, this] = true;
}
if (PlayerFlag == PlayerFlag.Player)
if (OnDeath != null) OnDeath(this);
}
if (client.player.action == game.enums.conqueraction.cool)
if (client.player.hitpoints < 1)
return;
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
أدوات الموضوع | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
عاوز اول ما الاكونت يموت يصحي علي طول | Mr3bdallahPro | مشكلات السيرفيرات كونكر الشخصيه | 4 | 2020-05-02 03:47 PM |
طلب بخصوص اول ما الايميل يموت | abdocoder | مشكلات السيرفيرات كونكر الشخصيه | 8 | 2020-05-02 03:43 PM |
مشكلة الاج الخفيف لما الاكونت يموت | MRonlineGvrix | مشكلات السيرفيرات كونكر الشخصيه | 4 | 2020-02-29 01:37 PM |
حل مشكلة ان الاميل بيرقص لما يبندرب بي اسكلت SuperTwofoldBlade | ElSaher | تطوير سيرفرات كونكر | 0 | 2020-02-04 01:08 AM |
مشكلة الننجا والرهاب لزم الاميل يبا جمب الاميل لزق علشان يضرب في بعض | Mawdo3jded | مشكلات السيرفيرات كونكر الشخصيه | 2 | 2019-12-05 07:28 PM |