|
You last visited: Today at 13:43
Advertisement
[HELP]HP problem in source
Discussion on [HELP]HP problem in source within the CO2 Private Server forum part of the Conquer Online 2 category.
07/30/2013, 23:13
|
#16
|
elite*gold: 0
Join Date: Feb 2013
Posts: 51
Received Thanks: 22
|
Quote:
Originally Posted by Super Aids
Well actually thanks for something. Didn't know subclasses calculated HP clientside. Does anyone know the actual calculation for sublcasses HP.
|
Quote:
Originally Posted by marcbacor6666
yes i want to know also
|
here is mine, take care of the definitions changes
Code:
switch ((SubClassID)SC.ID)
{
---------
---------------
---------------
case SubClassID.Wrangler:
{
if (Phase == 7) Val = 800;
else if (Phase == 8) Val = 1000;
else if (Phase == 9) Val = 1200;
else Val = (ushort)(Phase * 100);
HpToAdd += Val;
break;
}
}
|
|
|
07/31/2013, 01:32
|
#17
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
how about this? in chi - if u activate chi/subclass, the maxhitpoints rises but it wont fill up the hitpoints if you use any lifefruit or any life items
|
|
|
07/31/2013, 03:18
|
#18
|
elite*gold: 0
Join Date: Feb 2013
Posts: 51
Received Thanks: 22
|
Quote:
Originally Posted by marcbacor6666
how about this? in chi - if u activate chi/subclass, the maxhitpoints rises but it wont fill up the hitpoints if you use any lifefruit or any life items
|
already answered , when u send the Chi/Sub class data to the client it automatically calculate the max hp for the client (client side) but u ddnt calculate it source side , so it show up at the client > source
and when the character uses any potions the source calculates it and gives the max hp it calculated
to make it more clear , lets say the client state points and items stats gives the character 2000 hp both client and source side
then u send the chi/subclass data the client gives for example +1000 hp
now the client thinks its max hp is 3000 while the source still 2000
when u use any potion the source will always send 2000 hp as current hp because it is the max hp the source has for that character
that is why it nvr fill the hp meter .
to fix that u need to calculate the Chi/Subclass hp points and add them to max hp source side so both client and source has the same max hp
|
|
|
07/31/2013, 03:21
|
#19
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
nice thanks.
|
|
|
08/03/2013, 17:31
|
#20
|
elite*gold: 0
Join Date: Aug 2013
Posts: 58
Received Thanks: 2
|
i had the same problem
|
|
|
08/04/2013, 21:40
|
#21
|
elite*gold: 15
Join Date: Dec 2008
Posts: 332
Received Thanks: 137
|
Open your source and search for
Code:
public void CalculateHPBonus()
You should see this code
Code:
#region Items
private int StatHP;
public void CalculateHPBonus()
{
switch (Entity.Class)
{
Close the Items region and replace it for this code
Code:
#region Items
private int StatHP;
public void CalculateHPBonus()
{
switch (Entity.Class)
{
case 11: Entity.MaxHitpoints = (uint)(StatHP * 1.05F); break;
case 12: Entity.MaxHitpoints = (uint)(StatHP * 1.08F); break;
case 13: Entity.MaxHitpoints = (uint)(StatHP * 1.10F); break;
case 14: Entity.MaxHitpoints = (uint)(StatHP * 1.12F); break;
case 15: Entity.MaxHitpoints = (uint)(StatHP * 1.15F); break;
default: Entity.MaxHitpoints = (uint)StatHP; break;
}
this.Entity.MaxHitpoints += this.Entity.ItemHP;
Entity.MaxHitpoints += Entity.ItemHP;
Entity.Hitpoints = Math.Min(Entity.Hitpoints, Entity.MaxHitpoints);
}
public void CalculateStatBonus()
{
byte ManaBoost = 5;
const byte HitpointBoost = 24;
sbyte Class = (sbyte)(Entity.Class / 10);
if (Class == 13 || Class == 14)
ManaBoost += (byte)(5 * (Entity.Class - (Class * 10)));
StatHP = (ushort)((Entity.Strength * 3) +
(Entity.Agility * 3) +
(Entity.Spirit * 3) +
(Entity.Vitality * HitpointBoost));
Entity.MaxMana = (ushort)((Entity.Spirit * ManaBoost) + Entity.ItemMP);
Entity.Mana = Math.Min(Entity.Mana, Entity.MaxMana);
}
public void SendStatMessage()
{
this.ReviewMentor();
Network.GamePackets.Message Msg = new PrvixyProject.Network.GamePackets.Message(" Your status has been changed", System.Drawing.Color.DarkGoldenrod
, Network.GamePackets.Message.TopLeft);
Msg.__Message = string.Format(Msg.__Message,
new object[] { Entity.MinAttack, Entity.MaxAttack, Entity.MagicAttack, Entity.Defence, (Entity.MagicDefence + Entity.MagicDefence), Entity.Dodge, Entity.PhysicalDamageDecrease, Entity.MagicDamageDecrease, Entity.PhysicalDamageIncrease, Entity.MagicDamageIncrease, Entity.Hitpoints, Entity.MaxHitpoints, Entity.Mana, Entity.MaxMana, Entity.BattlePower });
this.Send(Msg);
}
public void LoadItemStats2(Game.Entity e)
{
#region Set Every Variable to Zero
Entity.Defence = 0;
Entity.MagicDefence = 0;
Entity.Dodge = 0;
Entity.BaseMagicAttack = 0;
Entity.WoodResistance = 0;
Entity.MetalResistance = 0;
Entity.FireResistance = 0;
Entity.WaterResistance = 0;
Entity.EarthResistance = 0;
Entity.Breaktrough = 0;
Entity.CriticalStrike = 0;
Entity.Immunity = 0;
Entity.Penetration = 0;
Entity.Counteraction = 0;
Entity.Block = 0;
Entity.Detoxication = 0;
Entity.Intensification = 0;
Entity.Penetration = 0;
Entity.SkillCStrike = 0;
Entity.MaxAttack = 0;
Entity.MinAttack = 0;
Entity.PhysicalDamageDecrease = 0;
Entity.MagicDamageDecrease = 0;
Entity.MagicDamageIncrease = 0;
Entity.PhysicalDamageIncrease = 0;
Entity.MagicDefencePercent = 0;
Entity.ItemHP = 0;
Entity.ItemMP = 0;
Entity.ItemBless = 0;
Entity.AttackRange = 0;
Entity.BaseMinAttack = 0;
Entity.BaseMaxAttack = 0;
Entity.BaseMagicDefence = 0;
Entity.BaseDefence = 0;
Entity.MagicAttack = 0;
Entity.MagicDefence = 0;
Entity.DragonGem = 0;
Entity.PhoenixGem = 0;
Entity.TortisGem = 0;
Entity.MagicDefencePercent = 0;
Entity.MagicDamageIncrease = 0;
Entity.Gems = new UInt16[10];
#endregion
foreach (IConquerItem i in Equipment.Objects)
{
if (i != null)
{
if (i.Durability != 0 && i.Position > 9)
{
if (i.Position != ConquerItem.AltGarment && i.Position != ConquerItem.LeftWeaponAccessory && i.Position != ConquerItem.RightWeaponAccessory)
{
if (i.Position != ConquerItem.SteedArmor)
{
Database.ConquerItemInformation dbi = new Database.ConquerItemInformation(i.ID, i.Plus);
if (dbi != null)
{
/*if (i.ID == 0x493e0)
{
byte r = 0;
byte g = 0;
byte b = 0;
r = (byte)i.Serag1;
g = (byte)i.Serag2;
b = (byte)i.Serag3;
i.Color = (Conquer_Online_Server.Game.Enums.Color)b;
i.Bless = g;
i.Unknown40 = r;
}*/
#region Give Stats.
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new PrvixyProject.Database.ConquerItemInformation(i.Purification.PurificationItemID, 0);
if (i.RefineItem != 0)
refine = i.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += (byte)soulDB.BaseInformation.Dodge;
//Entity.Hitpoints += Infos.ItemHP;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.ItemHP += soulDB.BaseInformation.ItemHP;
Entity.ItemMP += soulDB.BaseInformation.ItemMP;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += dbi.BaseInformation.MagicDefence;
Entity.Dodge += (byte)dbi.BaseInformation.Dodge;
if (i.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
}
Entity.ItemHP += dbi.BaseInformation.ItemHP;
Entity.ItemMP += dbi.BaseInformation.ItemMP;
if (i.ID != 0x493e0)
{
Entity.ItemBless += i.Bless;
}
if (i.Position == ConquerItem.AltRightHand)
{
Entity.AttackRange += dbi.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (i.Position == ConquerItem.AltLeftHand)
{
Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(dbi.BaseInformation.MaxAttack * 0.5F);
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += dbi.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
}
if (i.Plus != 0)
{
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)dbi.PlusInformation.MagicDefence;
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)dbi.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)dbi.PlusInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.PlusInformation.MinAttack;
Entity.BaseMaxAttack += dbi.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += dbi.PlusInformation.MagicAttack;
Entity.Defence += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDefence += dbi.PlusInformation.MagicDefence;
Entity.ItemHP += dbi.PlusInformation.ItemHP;
if (i.Position == ConquerItem.AltBoots)
{
Entity.Dodge += (byte)dbi.PlusInformation.Dodge;
}
if (i.Position == ConquerItem.Steed)
{
Entity.ExtraVigor += dbi.PlusInformation.Agility;
}
}
}
byte socketone = (byte)i.SocketOne;
byte sockettwo = (byte)i.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
Entity.ItemHP += i.Enchant;
GemAlgorithm();
#endregion
}
}
}
}
}
}
}
public void LoadItemStats(Game.Entity e)
{
#region Set Every Variable to Zero
Entity.Defence = 0;
Entity.MagicDefence = 0;
Entity.Dodge = 0;
Entity.BaseMagicAttack = 0;
Entity.WoodResistance = 0;
Entity.FireResistance = 0;
Entity.WaterResistance = 0;
Entity.EarthResistance = 0;
Entity.MetalResistance = 0;
Entity.Breaktrough = 0;
Entity.CriticalStrike = 0;
Entity.Immunity = 0;
Entity.Penetration = 0;
Entity.Counteraction = 0;
Entity.Block = 0;
Entity.Detoxication = 0;
Entity.Intensification = 0;
Entity.Penetration = 0;
Entity.SkillCStrike = 0;
Entity.MaxAttack = 0;
Entity.MinAttack = 0;
Entity.PhysicalDamageDecrease = 0;
Entity.MagicDamageDecrease = 0;
Entity.MagicDamageIncrease = 0;
Entity.PhysicalDamageIncrease = 0;
Entity.MagicDefencePercent = 0;
Entity.ItemHP = 0;
Entity.ItemMP = 0;
Entity.ItemBless = 0;
Entity.AttackRange = 0;
Entity.BaseMinAttack = 0;
Entity.BaseMaxAttack = 0;
Entity.BaseMagicDefence = 0;
Entity.BaseDefence = 0;
Entity.MagicAttack = 0;
Entity.MagicDefence = 0;
Entity.DragonGem = 0;
Entity.PhoenixGem = 0;
Entity.TortisGem = 0;
Entity.MagicDefencePercent = 0;
Entity.MagicDamageIncrease = 0;
Entity.Gems = new UInt16[10];
#endregion
foreach (IConquerItem i in Equipment.Objects)
{
if (i != null)
{
if (i.Durability != 0 && i.Position < 20)
{
if (i.Position != ConquerItem.Garment && i.Position != ConquerItem.LeftWeaponAccessory && i.Position != ConquerItem.RightWeaponAccessory)
{
if (i.Position != ConquerItem.SteedArmor)
{
Database.ConquerItemInformation dbi = new Database.ConquerItemInformation(i.ID, i.Plus);
if (dbi != null)
{
if (i.ID == 0x493e0)
{
byte r = 0;
byte g = 0;
byte b = 0;
r = (byte)i.Mido1;
g = (byte)i.Mido2;
b = (byte)i.Mido3;
i.Color = (PrvixyProject.Game.Enums.Color)b;
i.Bless = g;
i.Unknown40 = r;
//i.Send(e.Owner);
}
#region Give Stats.
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new PrvixyProject.Database.ConquerItemInformation(i.Purification.PurificationItemID, 0);
if (i.RefineItem != 0)
refine = i.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += (byte)soulDB.BaseInformation.Dodge;
//Entity.Hitpoints += Infos.ItemHP;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
// Entity.MetalResistance += soulDB.BaseInformation.me;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.ItemHP += soulDB.BaseInformation.ItemHP;
Entity.ItemMP += soulDB.BaseInformation.ItemMP;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += dbi.BaseInformation.MagicDefence;
Entity.Dodge += (byte)dbi.BaseInformation.Dodge;
if (i.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
}
Entity.ItemHP += dbi.BaseInformation.ItemHP;
Entity.ItemMP += dbi.BaseInformation.ItemMP;
if (i.ID != 0x493e0)
{
Entity.ItemBless += i.Bless;
}
if (i.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange += dbi.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (i.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(dbi.BaseInformation.MaxAttack * 0.5F);
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += dbi.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
}
if (i.Plus != 0)
{
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)dbi.PlusInformation.MagicDefence;
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)dbi.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)dbi.PlusInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.PlusInformation.MinAttack;
Entity.BaseMaxAttack += dbi.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += dbi.PlusInformation.MagicAttack;
Entity.Defence += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDefence += dbi.PlusInformation.MagicDefence;
Entity.ItemHP += dbi.PlusInformation.ItemHP;
if (i.Position == ConquerItem.Boots)
{
Entity.Dodge += (byte)dbi.PlusInformation.Dodge;
}
if (i.Position == ConquerItem.Steed)
{
Entity.ExtraVigor += dbi.PlusInformation.Agility;
}
}
}
byte socketone = (byte)i.SocketOne;
byte sockettwo = (byte)i.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
Entity.ItemHP += i.Enchant;
GemAlgorithm();
#endregion
}
}
}
}
}
}
}
#region OLD LOADITEMSTATS
/*
public void LoadItemStats(Interfaces.IConquerItem item)//Use to load every item
{
if (item == null)
return;
if (item.Durability == 0)
return;
if (item.Position == ConquerItem.Garment)
return;
Database.ConquerItemInformation Infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
if (Infos.BaseInformation == null)
return;
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new Conquer_Online_Server.Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
if (item.RefineItem != 0)
refine = item.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += soulDB.BaseInformation.Dodge;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += Infos.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += Infos.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += Infos.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += Infos.BaseInformation.MagicDefence;
Entity.Dodge += (byte)Infos.BaseInformation.Dodge;
if (item.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += Infos.BaseInformation.MagicAttack;
}
Entity.ItemHP += Infos.BaseInformation.ItemHP;
Entity.ItemMP += Infos.BaseInformation.ItemMP;
Entity.ItemBless += item.Bless;
if (item.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange += Infos.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(Infos.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (item.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack += (uint)(Infos.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(Infos.BaseInformation.MaxAttack * 0.5F);
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += Infos.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += Infos.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += Infos.BaseInformation.MinAttack;
Entity.BaseMaxAttack += Infos.BaseInformation.MaxAttack;
}
if (item.Plus != 0)
{
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += Infos.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)Infos.PlusInformation.MagicDefence;
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)Infos.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)Infos.PlusInformation.MagicAttack;
}
else
{
if (item.Position == ConquerItem.Steed)
Entity.ExtraVigor += Infos.PlusInformation.Agility;
Entity.BaseMinAttack += Infos.PlusInformation.MinAttack;
Entity.BaseMaxAttack += Infos.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += Infos.PlusInformation.MagicAttack;
Entity.Defence += Infos.PlusInformation.PhysicalDefence;
Entity.MagicDefence += Infos.PlusInformation.MagicDefence;
Entity.ItemHP += Infos.PlusInformation.ItemHP;
if (item.Position == ConquerItem.Boots)
Entity.Dodge += (byte)Infos.PlusInformation.Dodge;
}
}
byte socketone = (byte)item.SocketOne;
byte sockettwo = (byte)item.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle)
{
Entity.ItemHP += item.Enchant;
GemAlgorithm();
}
}
public void UnloadItemStats(Interfaces.IConquerItem item, bool onPurpose)
{
if (item == null) return;
if (item.Durability == 0 && !onPurpose)
return;
if (item.Position == ConquerItem.Garment)
return;
Database.ConquerItemInformation Infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
if (Infos.BaseInformation == null)
return;
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new Conquer_Online_Server.Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
if (item.RefineItem != 0)
refine = item.RefineStats;
if (soulDB != null)
{
Entity.Defence -= soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence -= soulDB.BaseInformation.MagicDefence;
Entity.Dodge -= soulDB.BaseInformation.Dodge;
Entity.BaseMagicAttack -= soulDB.BaseInformation.MagicAttack;
Entity.WoodResistance -= soulDB.BaseInformation.WoodResist;
Entity.FireResistance -= soulDB.BaseInformation.FireResist;
Entity.WaterResistance -= soulDB.BaseInformation.WaterResist;
Entity.EarthResistance -= soulDB.BaseInformation.EarthResist;
Entity.Breaktrough -= soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike -= soulDB.BaseInformation.CriticalStrike;
Entity.Immunity -= soulDB.BaseInformation.Immunity;
Entity.Penetration -= soulDB.BaseInformation.Penetration;
Entity.Counteraction -= soulDB.BaseInformation.CounterAction;
Entity.Block -= soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction -= (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication -= (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification -= (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike -= (UInt16)(refine.Percent * 100);
break;
}
}
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease -= Infos.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease -= Infos.BaseInformation.MagicDefence;
}
else
{
Entity.Defence -= Infos.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent -= Infos.BaseInformation.MagicDefence;
Entity.Dodge -= (byte)Infos.BaseInformation.Dodge;
if (item.Position != ConquerItem.Fan)
Entity.BaseMagicAttack -= Infos.BaseInformation.MagicAttack;
}
Entity.ItemHP -= Infos.BaseInformation.ItemHP;
Entity.ItemMP -= Infos.BaseInformation.ItemMP;
Entity.ItemBless -= item.Bless;
if (item.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange -= Infos.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(Infos.BaseInformation.ID))
Entity.AttackRange -= 2;
}
if (item.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack -= (uint)(Infos.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack -= (uint)(Infos.BaseInformation.MaxAttack * 0.5F);
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease -= Infos.BaseInformation.MinAttack;
Entity.MagicDamageIncrease -= Infos.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack -= Infos.BaseInformation.MinAttack;
Entity.BaseMaxAttack -= Infos.BaseInformation.MaxAttack;
}
if (item.Plus != 0)
{
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease -= Infos.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease -= (ushort)Infos.PlusInformation.MagicDefence;
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease -= (ushort)Infos.PlusInformation.MinAttack;
Entity.MagicDamageIncrease -= (ushort)Infos.PlusInformation.MagicAttack;
}
else
{
if (item.Position == ConquerItem.Steed)
Entity.ExtraVigor -= Infos.PlusInformation.Agility;
Entity.BaseMinAttack -= Infos.PlusInformation.MinAttack;
Entity.BaseMaxAttack -= Infos.PlusInformation.MaxAttack;
Entity.BaseMagicAttack -= Infos.PlusInformation.MagicAttack;
Entity.Defence -= Infos.PlusInformation.PhysicalDefence;
Entity.MagicDefence -= Infos.PlusInformation.MagicDefence;
Entity.ItemHP -= Infos.PlusInformation.ItemHP;
if (item.Position == ConquerItem.Boots)
Entity.Dodge -= (byte)Infos.PlusInformation.Dodge;
}
}
byte socketone = (byte)item.SocketOne;
byte sockettwo = (byte)item.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease -= dadd;
Entity.MagicDamageDecrease -= madd;
Entity.PhysicalDamageIncrease -= aatk;
Entity.MagicDamageIncrease -= matk;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle)
{
Entity.ItemHP -= item.Enchant;
GemAlgorithm();
}
}
*/
#endregion
public void LoadSoulStats(uint ID)
{
var Infos = PrvixyProject.Database.ConquerItemInformation.BaseInformations[ID];
Entity.Defence += Infos.PhysicalDefence;
Entity.MagicDefence += Infos.MagicDefence;
Entity.Dodge += (byte)Infos.Dodge;
//Entity.max += Infos.ItemHP;
Entity.BaseMagicAttack += Infos.MagicAttack;
Entity.BaseMinAttack += Infos.MinAttack;
Entity.BaseMaxAttack += Infos.MaxAttack;
}
public void UnloadSoulStats(uint ID)
{
var Infos = PrvixyProject.Database.ConquerItemInformation.BaseInformations[ID];
Entity.Defence -= Infos.PhysicalDefence;
Entity.MagicDefence -= Infos.MagicDefence;
Entity.Dodge -= (byte)Infos.Dodge;
//Entity.Hitpoints -= Infos.ItemHP;
Entity.BaseMagicAttack -= Infos.MagicAttack;
Entity.BaseMinAttack -= Infos.MinAttack;
Entity.BaseMaxAttack -= Infos.MaxAttack;
}
public void GemAlgorithm()
{
Entity.MaxAttack = Entity.Strength + Entity.BaseMaxAttack;
Entity.MinAttack = Entity.Strength + Entity.BaseMinAttack;
Entity.MagicAttack = Entity.BaseMagicAttack;
if (Entity.PhoenixGem != 0)
{
Entity.MagicAttack += (uint)Math.Floor(Entity.MagicAttack * (double)(Entity.PhoenixGem * 0.01));
}
if (Entity.DragonGem != 0)
{
Entity.MaxAttack += (uint)Math.Floor(Entity.MaxAttack * (double)(Entity.DragonGem * 0.01));
Entity.MinAttack += (uint)Math.Floor(Entity.MinAttack * (double)(Entity.DragonGem * 0.01));
}
/*if (Entity.TortisGem != 0)
{
Entity.Defence += (ushort)Math.Floor(Entity.Defence * (double)(Entity.TortisGem * 0.01));
Entity.MagicDefence += (ushort)Math.Floor(Entity.MagicDefence * (double)(Entity.TortisGem * 0.01));
}*/
}
#endregion
Now search for
Code:
static void LoginMessages
Replace this
Code:
static void LoginMessages(Client.GameState client)
{
client.Send(new Network.GamePackets.AutoShow().ToArray());
if (client.WentToComplete)
return;
for this
Code:
static void LoginMessages(Client.GameState client)
{
client.Entity.MaxHitpoints += client.Entity.Hitpoints;
client.Entity.MaxMana += client.Entity.Mana;
client.Entity.Hitpoints = Math.Min(client.Entity.Hitpoints, client.Entity.MaxHitpoints);
client.Send(new Network.GamePackets.AutoShow().ToArray());
if (client.WentToComplete)
return;
Save, Debug/Publish and enjoy.
Leave a thanks
|
|
|
08/04/2013, 23:41
|
#22
|
elite*gold: 0
Join Date: Aug 2012
Posts: 21
Received Thanks: 0
|
Quote:
Originally Posted by elhermanos
Open your source and search for
Code:
public void CalculateHPBonus()
You should see this code
Code:
#region Items
private int StatHP;
public void CalculateHPBonus()
{
switch (Entity.Class)
{
Close the Items region and replace it for this code
Code:
#region Items
private int StatHP;
public void CalculateHPBonus()
{
switch (Entity.Class)
{
case 11: Entity.MaxHitpoints = (uint)(StatHP * 1.05F); break;
case 12: Entity.MaxHitpoints = (uint)(StatHP * 1.08F); break;
case 13: Entity.MaxHitpoints = (uint)(StatHP * 1.10F); break;
case 14: Entity.MaxHitpoints = (uint)(StatHP * 1.12F); break;
case 15: Entity.MaxHitpoints = (uint)(StatHP * 1.15F); break;
default: Entity.MaxHitpoints = (uint)StatHP; break;
}
this.Entity.MaxHitpoints += this.Entity.ItemHP;
Entity.MaxHitpoints += Entity.ItemHP;
Entity.Hitpoints = Math.Min(Entity.Hitpoints, Entity.MaxHitpoints);
}
public void CalculateStatBonus()
{
byte ManaBoost = 5;
const byte HitpointBoost = 24;
sbyte Class = (sbyte)(Entity.Class / 10);
if (Class == 13 || Class == 14)
ManaBoost += (byte)(5 * (Entity.Class - (Class * 10)));
StatHP = (ushort)((Entity.Strength * 3) +
(Entity.Agility * 3) +
(Entity.Spirit * 3) +
(Entity.Vitality * HitpointBoost));
Entity.MaxMana = (ushort)((Entity.Spirit * ManaBoost) + Entity.ItemMP);
Entity.Mana = Math.Min(Entity.Mana, Entity.MaxMana);
}
public void SendStatMessage()
{
this.ReviewMentor();
Network.GamePackets.Message Msg = new PrvixyProject.Network.GamePackets.Message(" Your status has been changed", System.Drawing.Color.DarkGoldenrod
, Network.GamePackets.Message.TopLeft);
Msg.__Message = string.Format(Msg.__Message,
new object[] { Entity.MinAttack, Entity.MaxAttack, Entity.MagicAttack, Entity.Defence, (Entity.MagicDefence + Entity.MagicDefence), Entity.Dodge, Entity.PhysicalDamageDecrease, Entity.MagicDamageDecrease, Entity.PhysicalDamageIncrease, Entity.MagicDamageIncrease, Entity.Hitpoints, Entity.MaxHitpoints, Entity.Mana, Entity.MaxMana, Entity.BattlePower });
this.Send(Msg);
}
public void LoadItemStats2(Game.Entity e)
{
#region Set Every Variable to Zero
Entity.Defence = 0;
Entity.MagicDefence = 0;
Entity.Dodge = 0;
Entity.BaseMagicAttack = 0;
Entity.WoodResistance = 0;
Entity.MetalResistance = 0;
Entity.FireResistance = 0;
Entity.WaterResistance = 0;
Entity.EarthResistance = 0;
Entity.Breaktrough = 0;
Entity.CriticalStrike = 0;
Entity.Immunity = 0;
Entity.Penetration = 0;
Entity.Counteraction = 0;
Entity.Block = 0;
Entity.Detoxication = 0;
Entity.Intensification = 0;
Entity.Penetration = 0;
Entity.SkillCStrike = 0;
Entity.MaxAttack = 0;
Entity.MinAttack = 0;
Entity.PhysicalDamageDecrease = 0;
Entity.MagicDamageDecrease = 0;
Entity.MagicDamageIncrease = 0;
Entity.PhysicalDamageIncrease = 0;
Entity.MagicDefencePercent = 0;
Entity.ItemHP = 0;
Entity.ItemMP = 0;
Entity.ItemBless = 0;
Entity.AttackRange = 0;
Entity.BaseMinAttack = 0;
Entity.BaseMaxAttack = 0;
Entity.BaseMagicDefence = 0;
Entity.BaseDefence = 0;
Entity.MagicAttack = 0;
Entity.MagicDefence = 0;
Entity.DragonGem = 0;
Entity.PhoenixGem = 0;
Entity.TortisGem = 0;
Entity.MagicDefencePercent = 0;
Entity.MagicDamageIncrease = 0;
Entity.Gems = new UInt16[10];
#endregion
foreach (IConquerItem i in Equipment.Objects)
{
if (i != null)
{
if (i.Durability != 0 && i.Position > 9)
{
if (i.Position != ConquerItem.AltGarment && i.Position != ConquerItem.LeftWeaponAccessory && i.Position != ConquerItem.RightWeaponAccessory)
{
if (i.Position != ConquerItem.SteedArmor)
{
Database.ConquerItemInformation dbi = new Database.ConquerItemInformation(i.ID, i.Plus);
if (dbi != null)
{
/*if (i.ID == 0x493e0)
{
byte r = 0;
byte g = 0;
byte b = 0;
r = (byte)i.Serag1;
g = (byte)i.Serag2;
b = (byte)i.Serag3;
i.Color = (Conquer_Online_Server.Game.Enums.Color)b;
i.Bless = g;
i.Unknown40 = r;
}*/
#region Give Stats.
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new PrvixyProject.Database.ConquerItemInformation(i.Purification.PurificationItemID, 0);
if (i.RefineItem != 0)
refine = i.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += (byte)soulDB.BaseInformation.Dodge;
//Entity.Hitpoints += Infos.ItemHP;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.ItemHP += soulDB.BaseInformation.ItemHP;
Entity.ItemMP += soulDB.BaseInformation.ItemMP;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += dbi.BaseInformation.MagicDefence;
Entity.Dodge += (byte)dbi.BaseInformation.Dodge;
if (i.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
}
Entity.ItemHP += dbi.BaseInformation.ItemHP;
Entity.ItemMP += dbi.BaseInformation.ItemMP;
if (i.ID != 0x493e0)
{
Entity.ItemBless += i.Bless;
}
if (i.Position == ConquerItem.AltRightHand)
{
Entity.AttackRange += dbi.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (i.Position == ConquerItem.AltLeftHand)
{
Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(dbi.BaseInformation.MaxAttack * 0.5F);
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += dbi.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
}
if (i.Plus != 0)
{
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)dbi.PlusInformation.MagicDefence;
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)dbi.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)dbi.PlusInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.PlusInformation.MinAttack;
Entity.BaseMaxAttack += dbi.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += dbi.PlusInformation.MagicAttack;
Entity.Defence += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDefence += dbi.PlusInformation.MagicDefence;
Entity.ItemHP += dbi.PlusInformation.ItemHP;
if (i.Position == ConquerItem.AltBoots)
{
Entity.Dodge += (byte)dbi.PlusInformation.Dodge;
}
if (i.Position == ConquerItem.Steed)
{
Entity.ExtraVigor += dbi.PlusInformation.Agility;
}
}
}
byte socketone = (byte)i.SocketOne;
byte sockettwo = (byte)i.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
Entity.ItemHP += i.Enchant;
GemAlgorithm();
#endregion
}
}
}
}
}
}
}
public void LoadItemStats(Game.Entity e)
{
#region Set Every Variable to Zero
Entity.Defence = 0;
Entity.MagicDefence = 0;
Entity.Dodge = 0;
Entity.BaseMagicAttack = 0;
Entity.WoodResistance = 0;
Entity.FireResistance = 0;
Entity.WaterResistance = 0;
Entity.EarthResistance = 0;
Entity.MetalResistance = 0;
Entity.Breaktrough = 0;
Entity.CriticalStrike = 0;
Entity.Immunity = 0;
Entity.Penetration = 0;
Entity.Counteraction = 0;
Entity.Block = 0;
Entity.Detoxication = 0;
Entity.Intensification = 0;
Entity.Penetration = 0;
Entity.SkillCStrike = 0;
Entity.MaxAttack = 0;
Entity.MinAttack = 0;
Entity.PhysicalDamageDecrease = 0;
Entity.MagicDamageDecrease = 0;
Entity.MagicDamageIncrease = 0;
Entity.PhysicalDamageIncrease = 0;
Entity.MagicDefencePercent = 0;
Entity.ItemHP = 0;
Entity.ItemMP = 0;
Entity.ItemBless = 0;
Entity.AttackRange = 0;
Entity.BaseMinAttack = 0;
Entity.BaseMaxAttack = 0;
Entity.BaseMagicDefence = 0;
Entity.BaseDefence = 0;
Entity.MagicAttack = 0;
Entity.MagicDefence = 0;
Entity.DragonGem = 0;
Entity.PhoenixGem = 0;
Entity.TortisGem = 0;
Entity.MagicDefencePercent = 0;
Entity.MagicDamageIncrease = 0;
Entity.Gems = new UInt16[10];
#endregion
foreach (IConquerItem i in Equipment.Objects)
{
if (i != null)
{
if (i.Durability != 0 && i.Position < 20)
{
if (i.Position != ConquerItem.Garment && i.Position != ConquerItem.LeftWeaponAccessory && i.Position != ConquerItem.RightWeaponAccessory)
{
if (i.Position != ConquerItem.SteedArmor)
{
Database.ConquerItemInformation dbi = new Database.ConquerItemInformation(i.ID, i.Plus);
if (dbi != null)
{
if (i.ID == 0x493e0)
{
byte r = 0;
byte g = 0;
byte b = 0;
r = (byte)i.Mido1;
g = (byte)i.Mido2;
b = (byte)i.Mido3;
i.Color = (PrvixyProject.Game.Enums.Color)b;
i.Bless = g;
i.Unknown40 = r;
//i.Send(e.Owner);
}
#region Give Stats.
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new PrvixyProject.Database.ConquerItemInformation(i.Purification.PurificationItemID, 0);
if (i.RefineItem != 0)
refine = i.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
//Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += (byte)soulDB.BaseInformation.Dodge;
//Entity.Hitpoints += Infos.ItemHP;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
// Entity.MetalResistance += soulDB.BaseInformation.me;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.ItemHP += soulDB.BaseInformation.ItemHP;
Entity.ItemMP += soulDB.BaseInformation.ItemMP;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += dbi.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += dbi.BaseInformation.MagicDefence;
Entity.Dodge += (byte)dbi.BaseInformation.Dodge;
if (i.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
}
Entity.ItemHP += dbi.BaseInformation.ItemHP;
Entity.ItemMP += dbi.BaseInformation.ItemMP;
if (i.ID != 0x493e0)
{
Entity.ItemBless += i.Bless;
}
if (i.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange += dbi.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (i.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(dbi.BaseInformation.MaxAttack * 0.5F);
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += dbi.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
}
if (i.Plus != 0)
{
if (i.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)dbi.PlusInformation.MagicDefence;
}
else if (i.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)dbi.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)dbi.PlusInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += dbi.PlusInformation.MinAttack;
Entity.BaseMaxAttack += dbi.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += dbi.PlusInformation.MagicAttack;
Entity.Defence += dbi.PlusInformation.PhysicalDefence;
Entity.MagicDefence += dbi.PlusInformation.MagicDefence;
Entity.ItemHP += dbi.PlusInformation.ItemHP;
if (i.Position == ConquerItem.Boots)
{
Entity.Dodge += (byte)dbi.PlusInformation.Dodge;
}
if (i.Position == ConquerItem.Steed)
{
Entity.ExtraVigor += dbi.PlusInformation.Agility;
}
}
}
byte socketone = (byte)i.SocketOne;
byte sockettwo = (byte)i.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
Entity.ItemHP += i.Enchant;
GemAlgorithm();
#endregion
}
}
}
}
}
}
}
#region OLD LOADITEMSTATS
/*
public void LoadItemStats(Interfaces.IConquerItem item)//Use to load every item
{
if (item == null)
return;
if (item.Durability == 0)
return;
if (item.Position == ConquerItem.Garment)
return;
Database.ConquerItemInformation Infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
if (Infos.BaseInformation == null)
return;
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new Conquer_Online_Server.Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
if (item.RefineItem != 0)
refine = item.RefineStats;
if (soulDB != null)
{
Entity.Defence += soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
Entity.Dodge += soulDB.BaseInformation.Dodge;
Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
Entity.FireResistance += soulDB.BaseInformation.FireResist;
Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
Entity.Immunity += soulDB.BaseInformation.Immunity;
Entity.Penetration += soulDB.BaseInformation.Penetration;
Entity.Counteraction += soulDB.BaseInformation.CounterAction;
Entity.Block += soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough += (UInt16)((refine.Percent * 10) + 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction += (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike += (UInt16)((refine.Percent * 100) + 1000);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification += (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration += (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
break;
}
}
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += Infos.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease += Infos.BaseInformation.MagicDefence;
}
else
{
Entity.Defence += Infos.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent += Infos.BaseInformation.MagicDefence;
Entity.Dodge += (byte)Infos.BaseInformation.Dodge;
if (item.Position != ConquerItem.Fan)
Entity.BaseMagicAttack += Infos.BaseInformation.MagicAttack;
}
Entity.ItemHP += Infos.BaseInformation.ItemHP;
Entity.ItemMP += Infos.BaseInformation.ItemMP;
Entity.ItemBless += item.Bless;
if (item.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange += Infos.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(Infos.BaseInformation.ID))
Entity.AttackRange += 3;
else
{
Entity.AttackRange += 2;
}
}
if (item.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack += (uint)(Infos.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack += (uint)(Infos.BaseInformation.MaxAttack * 0.5F);
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += Infos.BaseInformation.MinAttack;
Entity.MagicDamageIncrease += Infos.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack += Infos.BaseInformation.MinAttack;
Entity.BaseMaxAttack += Infos.BaseInformation.MaxAttack;
}
if (item.Plus != 0)
{
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease += Infos.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease += (ushort)Infos.PlusInformation.MagicDefence;
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease += (ushort)Infos.PlusInformation.MinAttack;
Entity.MagicDamageIncrease += (ushort)Infos.PlusInformation.MagicAttack;
}
else
{
if (item.Position == ConquerItem.Steed)
Entity.ExtraVigor += Infos.PlusInformation.Agility;
Entity.BaseMinAttack += Infos.PlusInformation.MinAttack;
Entity.BaseMaxAttack += Infos.PlusInformation.MaxAttack;
Entity.BaseMagicAttack += Infos.PlusInformation.MagicAttack;
Entity.Defence += Infos.PlusInformation.PhysicalDefence;
Entity.MagicDefence += Infos.PlusInformation.MagicDefence;
Entity.ItemHP += Infos.PlusInformation.ItemHP;
if (item.Position == ConquerItem.Boots)
Entity.Dodge += (byte)Infos.PlusInformation.Dodge;
}
}
byte socketone = (byte)item.SocketOne;
byte sockettwo = (byte)item.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease += dadd;
Entity.MagicDamageDecrease += madd;
Entity.PhysicalDamageIncrease += aatk;
Entity.MagicDamageIncrease += matk;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle)
{
Entity.ItemHP += item.Enchant;
GemAlgorithm();
}
}
public void UnloadItemStats(Interfaces.IConquerItem item, bool onPurpose)
{
if (item == null) return;
if (item.Durability == 0 && !onPurpose)
return;
if (item.Position == ConquerItem.Garment)
return;
Database.ConquerItemInformation Infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
if (Infos.BaseInformation == null)
return;
Refinery.RefineryItem refine = null;
Database.ConquerItemInformation soulDB = new Conquer_Online_Server.Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
if (item.RefineItem != 0)
refine = item.RefineStats;
if (soulDB != null)
{
Entity.Defence -= soulDB.BaseInformation.PhysicalDefence;
Entity.MagicDefence -= soulDB.BaseInformation.MagicDefence;
Entity.Dodge -= soulDB.BaseInformation.Dodge;
Entity.BaseMagicAttack -= soulDB.BaseInformation.MagicAttack;
Entity.WoodResistance -= soulDB.BaseInformation.WoodResist;
Entity.FireResistance -= soulDB.BaseInformation.FireResist;
Entity.WaterResistance -= soulDB.BaseInformation.WaterResist;
Entity.EarthResistance -= soulDB.BaseInformation.EarthResist;
Entity.Breaktrough -= soulDB.BaseInformation.BreakThrough;
Entity.CriticalStrike -= soulDB.BaseInformation.CriticalStrike;
Entity.Immunity -= soulDB.BaseInformation.Immunity;
Entity.Penetration -= soulDB.BaseInformation.Penetration;
Entity.Counteraction -= soulDB.BaseInformation.CounterAction;
Entity.Block -= soulDB.BaseInformation.Block;
}
if (refine != null)
{
switch (refine.Type)
{
case Refinery.RefineryItem.RefineryType.Block:
Entity.Block -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.BreakThrough:
Entity.Breaktrough -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Counteraction:
Entity.Counteraction -= (UInt16)(refine.Percent * 10);
break;
case Refinery.RefineryItem.RefineryType.Critical:
Entity.CriticalStrike -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Detoxication:
Entity.Detoxication -= (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Immunity:
Entity.Immunity -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.Intensification:
Entity.Intensification -= (UInt16)(refine.Percent);
break;
case Refinery.RefineryItem.RefineryType.Penetration:
Entity.Penetration -= (UInt16)(refine.Percent * 100);
break;
case Refinery.RefineryItem.RefineryType.SCritical:
Entity.SkillCStrike -= (UInt16)(refine.Percent * 100);
break;
}
}
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease -= Infos.BaseInformation.PhysicalDefence;
Entity.MagicDamageDecrease -= Infos.BaseInformation.MagicDefence;
}
else
{
Entity.Defence -= Infos.BaseInformation.PhysicalDefence;
Entity.MagicDefencePercent -= Infos.BaseInformation.MagicDefence;
Entity.Dodge -= (byte)Infos.BaseInformation.Dodge;
if (item.Position != ConquerItem.Fan)
Entity.BaseMagicAttack -= Infos.BaseInformation.MagicAttack;
}
Entity.ItemHP -= Infos.BaseInformation.ItemHP;
Entity.ItemMP -= Infos.BaseInformation.ItemMP;
Entity.ItemBless -= item.Bless;
if (item.Position == ConquerItem.RightWeapon)
{
Entity.AttackRange -= Infos.BaseInformation.AttackRange;
if (Network.PacketHandler.IsTwoHand(Infos.BaseInformation.ID))
Entity.AttackRange -= 2;
}
if (item.Position == ConquerItem.LeftWeapon)
{
Entity.BaseMinAttack -= (uint)(Infos.BaseInformation.MinAttack * 0.5F);
Entity.BaseMaxAttack -= (uint)(Infos.BaseInformation.MaxAttack * 0.5F);
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease -= Infos.BaseInformation.MinAttack;
Entity.MagicDamageIncrease -= Infos.BaseInformation.MagicAttack;
}
else
{
Entity.BaseMinAttack -= Infos.BaseInformation.MinAttack;
Entity.BaseMaxAttack -= Infos.BaseInformation.MaxAttack;
}
if (item.Plus != 0)
{
if (item.Position == ConquerItem.Tower)
{
Entity.PhysicalDamageDecrease -= Infos.PlusInformation.PhysicalDefence;
Entity.MagicDamageDecrease -= (ushort)Infos.PlusInformation.MagicDefence;
}
else if (item.Position == ConquerItem.Fan)
{
Entity.PhysicalDamageIncrease -= (ushort)Infos.PlusInformation.MinAttack;
Entity.MagicDamageIncrease -= (ushort)Infos.PlusInformation.MagicAttack;
}
else
{
if (item.Position == ConquerItem.Steed)
Entity.ExtraVigor -= Infos.PlusInformation.Agility;
Entity.BaseMinAttack -= Infos.PlusInformation.MinAttack;
Entity.BaseMaxAttack -= Infos.PlusInformation.MaxAttack;
Entity.BaseMagicAttack -= Infos.PlusInformation.MagicAttack;
Entity.Defence -= Infos.PlusInformation.PhysicalDefence;
Entity.MagicDefence -= Infos.PlusInformation.MagicDefence;
Entity.ItemHP -= Infos.PlusInformation.ItemHP;
if (item.Position == ConquerItem.Boots)
Entity.Dodge -= (byte)Infos.PlusInformation.Dodge;
}
}
byte socketone = (byte)item.SocketOne;
byte sockettwo = (byte)item.SocketTwo;
ushort madd = 0, dadd = 0, aatk = 0, matk = 0;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (socketone)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle &&
item.Position != ConquerItem.Steed)
switch (sockettwo)
{
case 1: Entity.PhoenixGem += 5; break;
case 2: Entity.PhoenixGem += 10; break;
case 3: Entity.PhoenixGem += 15; break;
case 11: Entity.DragonGem += 5; break;
case 12: Entity.DragonGem += 10; break;
case 13: Entity.DragonGem += 15; break;
case 71: Entity.TortisGem += 15; break;
case 72: Entity.TortisGem += 30; break;
case 73: Entity.TortisGem += 50; break;
case 101: aatk = matk += 100; break;
case 102: aatk = matk += 300; break;
case 103: aatk = matk += 500; break;
case 121: madd = dadd += 100; break;
case 122: madd = dadd += 300; break;
case 123: madd = dadd += 500; break;
}
Entity.PhysicalDamageDecrease -= dadd;
Entity.MagicDamageDecrease -= madd;
Entity.PhysicalDamageIncrease -= aatk;
Entity.MagicDamageIncrease -= matk;
if (item.Position != ConquerItem.Garment &&
item.Position != ConquerItem.Bottle)
{
Entity.ItemHP -= item.Enchant;
GemAlgorithm();
}
}
*/
#endregion
public void LoadSoulStats(uint ID)
{
var Infos = PrvixyProject.Database.ConquerItemInformation.BaseInformations[ID];
Entity.Defence += Infos.PhysicalDefence;
Entity.MagicDefence += Infos.MagicDefence;
Entity.Dodge += (byte)Infos.Dodge;
//Entity.max += Infos.ItemHP;
Entity.BaseMagicAttack += Infos.MagicAttack;
Entity.BaseMinAttack += Infos.MinAttack;
Entity.BaseMaxAttack += Infos.MaxAttack;
}
public void UnloadSoulStats(uint ID)
{
var Infos = PrvixyProject.Database.ConquerItemInformation.BaseInformations[ID];
Entity.Defence -= Infos.PhysicalDefence;
Entity.MagicDefence -= Infos.MagicDefence;
Entity.Dodge -= (byte)Infos.Dodge;
//Entity.Hitpoints -= Infos.ItemHP;
Entity.BaseMagicAttack -= Infos.MagicAttack;
Entity.BaseMinAttack -= Infos.MinAttack;
Entity.BaseMaxAttack -= Infos.MaxAttack;
}
public void GemAlgorithm()
{
Entity.MaxAttack = Entity.Strength + Entity.BaseMaxAttack;
Entity.MinAttack = Entity.Strength + Entity.BaseMinAttack;
Entity.MagicAttack = Entity.BaseMagicAttack;
if (Entity.PhoenixGem != 0)
{
Entity.MagicAttack += (uint)Math.Floor(Entity.MagicAttack * (double)(Entity.PhoenixGem * 0.01));
}
if (Entity.DragonGem != 0)
{
Entity.MaxAttack += (uint)Math.Floor(Entity.MaxAttack * (double)(Entity.DragonGem * 0.01));
Entity.MinAttack += (uint)Math.Floor(Entity.MinAttack * (double)(Entity.DragonGem * 0.01));
}
/*if (Entity.TortisGem != 0)
{
Entity.Defence += (ushort)Math.Floor(Entity.Defence * (double)(Entity.TortisGem * 0.01));
Entity.MagicDefence += (ushort)Math.Floor(Entity.MagicDefence * (double)(Entity.TortisGem * 0.01));
}*/
}
#endregion
Now search for
Code:
static void LoginMessages
Replace this
Code:
static void LoginMessages(Client.GameState client)
{
client.Send(new Network.GamePackets.AutoShow().ToArray());
if (client.WentToComplete)
return;
for this
Code:
static void LoginMessages(Client.GameState client)
{
client.Entity.MaxHitpoints += client.Entity.Hitpoints;
client.Entity.MaxMana += client.Entity.Mana;
client.Entity.Hitpoints = Math.Min(client.Entity.Hitpoints, client.Entity.MaxHitpoints);
client.Send(new Network.GamePackets.AutoShow().ToArray());
if (client.WentToComplete)
return;
Save, Debug/Publish and enjoy.
Leave a thanks 
|
not work
|
|
|
08/05/2013, 00:18
|
#23
|
elite*gold: 0
Join Date: Feb 2013
Posts: 51
Received Thanks: 22
|
Quote:
Originally Posted by elhermanos
Save, Debug/Publish and enjoy.
Leave a thanks 
|
Quote:
Originally Posted by ameralzlam10
not work
|
it wont work for the thread problem coz those codes are for the main character Hp and item Hp add , the problem occurs when u add the Chi and subclass systems
|
|
|
08/05/2013, 06:44
|
#24
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
show us yours egyptian, just like how he posted his. ^^
|
|
|
08/05/2013, 08:01
|
#25
|
elite*gold: 0
Join Date: Mar 2013
Posts: 12
Received Thanks: 2
|
this for Vitality
PHP Code:
public void CalculateHPBonus() { switch (this.Entity.Class) { case 11: this.Entity.MaxHitpoints = (uint)((float)this.StatHP * 1.05f); break; case 12: this.Entity.MaxHitpoints = (uint)((float)this.StatHP * 1.08f); break; case 13: this.Entity.MaxHitpoints = (uint)((float)this.StatHP * 1.1f); break; case 14: this.Entity.MaxHitpoints = (uint)((float)this.StatHP * 1.12f); break; case 15: this.Entity.MaxHitpoints = (uint)((float)this.StatHP * 1.15f); break; default: this.Entity.MaxHitpoints = (uint)this.StatHP; break; } this.Entity.MaxHitpoints += (uint)this.Entity.ItemHP; this.Entity.Hitpoints = System.Math.Min(this.Entity.Hitpoints, this.Entity.MaxHitpoints); } public void CalculateStatBonus() { byte ManaBoost = 5; const byte HitpointBoost = 24; sbyte Class = (sbyte)(Entity.Class / 10); if (Class == 13 || Class == 14) ManaBoost += (byte)(5 * (Entity.Class - (Class * 10))); StatHP = (ushort)((Entity.Strength * 3) + (Entity.Agility * 3) + (Entity.Spirit * 3) + (Entity.Vitality * HitpointBoost)); Entity.MaxMana = (ushort)((Entity.Spirit * ManaBoost) + Entity.ItemMP); Entity.Mana = Math.Min(Entity.Mana, Entity.MaxMana); }
this for items
PHP Code:
public void LoadItemStats(Game.Entity e) {
this.Entity.Defence = 0; this.Entity.MagicDefence = 0; this.Entity.Dodge = 0; this.Entity.BaseMagicAttack = 0u; this.Entity.WoodResistance = 0; this.Entity.FireResistance = 0; this.Entity.WaterResistance = 0; this.Entity.EarthResistance = 0; this.Entity.MetalResistance = 0; this.Entity.BreakThrough = 0; this.Entity.CriticalStrike = 0; this.Entity.Immunity = 0; this.Entity.Penetration = 0; this.Entity.Counteraction = 0; this.Entity.Block = 0; this.Entity.Detoxication = 0; this.Entity.Intensification = 0; this.Entity.Penetration = 0; this.Entity.SkillCStrike = 0; this.Entity.MaxAttack = 0u; this.Entity.MinAttack = 0u; this.Entity.PhysicalDamageDecrease = 0; this.Entity.MagicDamageDecrease = 0; this.Entity.MagicDamageIncrease = 0; this.Entity.PhysicalDamageIncrease = 0; this.Entity.MagicDefencePercent = 0; this.Entity.ItemHP = 0; this.Entity.ItemMP = 0; this.Entity.ItemBless = 0; this.Entity.AttackRange = 0; this.Entity.BaseMinAttack = 0u; this.Entity.BaseMaxAttack = 0u; this.Entity.BaseMagicDefence = 0u; this.Entity.BaseDefence = 0u; this.Entity.MagicAttack = 0u; this.Entity.MagicDefence = 0; this.Entity.DragonGem = 0; this.Entity.PhoenixGem = 0; this.Entity.TortisGem = 0; this.Entity.MagicDefencePercent = 0; this.Entity.MagicDamageIncrease = 0; this.Entity.Gems = new ushort[10]; IConquerItem[] objects = this.Equipment.Objects; for (int i = 0; i < objects.Length; i++) { IConquerItem conquerItem = objects[i]; if (conquerItem != null) { if (conquerItem.Durability != 0 && conquerItem.Position < 20) { if (conquerItem.Position != 9 && conquerItem.Position != 16 && conquerItem.Position != 15) { if (conquerItem.Position != 17) { Database.ConquerItemInformation conquerItemInformation = new Database.ConquerItemInformation(conquerItem.ID, conquerItem.Plus); if (conquerItemInformation != null) { if (conquerItem.ID == 300000u) { byte unknown = (byte)conquerItem.Hema1; byte bless = (byte)conquerItem.Hema2; byte color = (byte)conquerItem.Hema3; conquerItem.Color = (Game.Enums.Color)color; conquerItem.Bless = bless; conquerItem.Unknown40 = (uint)unknown; } Refinery.RefineryItem refineryItem = null; Database.ConquerItemInformation conquerItemInformation2 = new Database.ConquerItemInformation(conquerItem.Purification.PurificationItemID, 0); if (conquerItem.RefineItem != 0u) { refineryItem = conquerItem.RefineStats; } if (conquerItemInformation2 != null) { Game.Entity expr_347 = this.Entity; expr_347.Defence += conquerItemInformation2.BaseInformation.PhysicalDefence; Game.Entity expr_367 = this.Entity; expr_367.MagicDefence += conquerItemInformation2.BaseInformation.MagicDefence; Game.Entity expr_387 = this.Entity; expr_387.Dodge += conquerItemInformation2.BaseInformation.Dodge; this.Entity.BaseMagicAttack += (uint)conquerItemInformation2.BaseInformation.MagicAttack; this.Entity.BaseMinAttack += (uint)conquerItemInformation2.BaseInformation.MinAttack; this.Entity.BaseMaxAttack += (uint)conquerItemInformation2.BaseInformation.MaxAttack; Game.Entity expr_401 = this.Entity; expr_401.WoodResistance += conquerItemInformation2.BaseInformation.WoodResist; Game.Entity expr_420 = this.Entity; expr_420.FireResistance += conquerItemInformation2.BaseInformation.FireResist; Game.Entity expr_43F = this.Entity; expr_43F.WaterResistance += conquerItemInformation2.BaseInformation.WaterResist; Game.Entity expr_45E = this.Entity; expr_45E.EarthResistance += conquerItemInformation2.BaseInformation.EarthResist; Game.Entity expr_47D = this.Entity; expr_47D.Breaktrough += conquerItemInformation2.BaseInformation.Breaktrough; Game.Entity expr_49C = this.Entity; expr_49C.CriticalStrike += conquerItemInformation2.BaseInformation.CriticalStrike; Game.Entity expr_4BB = this.Entity; expr_4BB.Immunity += conquerItemInformation2.BaseInformation.Immunity; Game.Entity expr_4DA = this.Entity; expr_4DA.ItemHP += conquerItemInformation2.BaseInformation.ItemHP; Game.Entity expr_4F9 = this.Entity; expr_4F9.ItemMP += conquerItemInformation2.BaseInformation.ItemMP; Game.Entity expr_518 = this.Entity; expr_518.Penetration += conquerItemInformation2.BaseInformation.Penetration; Game.Entity expr_537 = this.Entity; expr_537.Counteraction += conquerItemInformation2.BaseInformation.CounterAction; Game.Entity expr_556 = this.Entity; expr_556.Block += conquerItemInformation2.BaseInformation.Block; } if (refineryItem != null) { switch (refineryItem.Type) { case Refinery.RefineryItem.RefineryType.Critical: { Game.Entity expr_62C = this.Entity; expr_62C.CriticalStrike += (ushort)(refineryItem.Percent * 100u + 1000u); break; } case Refinery.RefineryItem.RefineryType.SCritical: { Game.Entity expr_6CF = this.Entity; expr_6CF.SkillCStrike += (ushort)(refineryItem.Percent * 100u); break; } case Refinery.RefineryItem.RefineryType.Immunity: { Game.Entity expr_672 = this.Entity; expr_672.Immunity += (ushort)(refineryItem.Percent * 100u); break; } case Refinery.RefineryItem.RefineryType.BreakThrough: { Game.Entity expr_5E3 = this.Entity; expr_5E3.Breaktrough += (ushort)(refineryItem.Percent * 10u + 100u); break; } case Refinery.RefineryItem.RefineryType.Counteraction: { Game.Entity expr_609 = this.Entity; expr_609.Counteraction += (ushort)(refineryItem.Percent * 10u); break; } case Refinery.RefineryItem.RefineryType.Detoxication: { Game.Entity expr_655 = this.Entity; expr_655.Detoxication += (ushort)refineryItem.Percent; break; } case Refinery.RefineryItem.RefineryType.Block: { Game.Entity expr_5C0 = this.Entity; expr_5C0.Block += (ushort)(refineryItem.Percent * 100u); break; } case Refinery.RefineryItem.RefineryType.Penetration: { Game.Entity expr_6AF = this.Entity; expr_6AF.Penetration += (ushort)(refineryItem.Percent * 100u); break; } case Refinery.RefineryItem.RefineryType.Intensification: { Game.Entity expr_692 = this.Entity; expr_692.Intensification += (ushort)refineryItem.Percent; break; } } } if (conquerItem.Position == 11) { Game.Entity expr_704 = this.Entity; expr_704.PhysicalDamageDecrease += conquerItemInformation.BaseInformation.PhysicalDefence; Game.Entity expr_722 = this.Entity; expr_722.MagicDamageDecrease += conquerItemInformation.BaseInformation.MagicDefence; } else { Game.Entity expr_747 = this.Entity; expr_747.Defence += conquerItemInformation.BaseInformation.PhysicalDefence; Game.Entity expr_766 = this.Entity; expr_766.MagicDefencePercent += conquerItemInformation.BaseInformation.MagicDefence; Game.Entity expr_785 = this.Entity; expr_785.Dodge += conquerItemInformation.BaseInformation.Dodge; if (conquerItem.Position != 10) { this.Entity.BaseMagicAttack += (uint)conquerItemInformation.BaseInformation.MagicAttack; } } Game.Entity expr_7D2 = this.Entity; expr_7D2.ItemHP += conquerItemInformation.BaseInformation.ItemHP; Game.Entity expr_7F0 = this.Entity; expr_7F0.ItemMP += conquerItemInformation.BaseInformation.ItemMP; if (conquerItem.ID != 300000u) { Game.Entity expr_822 = this.Entity; expr_822.ItemBless += (ushort)conquerItem.Bless; } if (conquerItem.Position == 4) { Game.Entity expr_84F = this.Entity; expr_84F.AttackRange += conquerItemInformation.BaseInformation.AttackRange; if (PacketHandler.IsTwoHand(conquerItemInformation.BaseInformation.ID)) { Game.Entity expr_886 = this.Entity; expr_886.AttackRange += 3; } else { Game.Entity expr_89D = this.Entity; expr_89D.AttackRange += 2; } } if (conquerItem.Position == 5) { this.Entity.BaseMinAttack += (uint)((float)conquerItemInformation.BaseInformation.MinAttack * 0.5f); this.Entity.BaseMaxAttack += (uint)((float)conquerItemInformation.BaseInformation.MaxAttack * 0.5f); } else { if (conquerItem.Position == 10) { Game.Entity expr_92A = this.Entity; expr_92A.PhysicalDamageIncrease += conquerItemInformation.BaseInformation.MinAttack; Game.Entity expr_948 = this.Entity; expr_948.MagicDamageIncrease += conquerItemInformation.BaseInformation.MagicAttack; } else { this.Entity.BaseMinAttack += (uint)conquerItemInformation.BaseInformation.MinAttack; this.Entity.BaseMaxAttack += (uint)conquerItemInformation.BaseInformation.MaxAttack; } } if (conquerItem.Plus != 0) { if (conquerItem.Position == 11) { Game.Entity expr_9CC = this.Entity; expr_9CC.PhysicalDamageDecrease += conquerItemInformation.PlusInformation.PhysicalDefence; Game.Entity expr_9EA = this.Entity; expr_9EA.MagicDamageDecrease += conquerItemInformation.PlusInformation.MagicDefence; } else { if (conquerItem.Position == 10) { Game.Entity expr_A22 = this.Entity; expr_A22.PhysicalDamageIncrease += (ushort)conquerItemInformation.PlusInformation.MinAttack; Game.Entity expr_A41 = this.Entity; expr_A41.MagicDamageIncrease += conquerItemInformation.PlusInformation.MagicAttack; } else { this.Entity.BaseMinAttack += conquerItemInformation.PlusInformation.MinAttack; this.Entity.BaseMaxAttack += conquerItemInformation.PlusInformation.MaxAttack; this.Entity.BaseMagicAttack += (uint)conquerItemInformation.PlusInformation.MagicAttack; Game.Entity expr_ABD = this.Entity; expr_ABD.Defence += conquerItemInformation.PlusInformation.PhysicalDefence; Game.Entity expr_ADC = this.Entity; expr_ADC.MagicDefence += conquerItemInformation.PlusInformation.MagicDefence; Game.Entity expr_AFB = this.Entity; expr_AFB.ItemHP += conquerItemInformation.PlusInformation.ItemHP; if (conquerItem.Position == 8) { Game.Entity expr_B2C = this.Entity; expr_B2C.Dodge += conquerItemInformation.PlusInformation.Dodge; } if (conquerItem.Position == 12) { Game.Entity expr_B60 = this.Entity; expr_B60.ExtraVigor += conquerItemInformation.PlusInformation.Agility; } } } } byte socketOne = (byte)conquerItem.SocketOne; byte socketTwo = (byte)conquerItem.SocketTwo; ushort num = 0; ushort num2 = 0; ushort num3 = 0; ushort num4 = 0; byte b = socketOne; if (b <= 13) { switch (b) { case 1: { Game.Entity expr_C1E = this.Entity; expr_C1E.PhoenixGem += 5; break; } case 2: { Game.Entity expr_C37 = this.Entity; expr_C37.PhoenixGem += 10; break; } case 3: { Game.Entity expr_C51 = this.Entity; expr_C51.PhoenixGem += 15; break; } default: switch (b) { case 11: { Game.Entity expr_C6B = this.Entity; expr_C6B.DragonGem += 5; break; } case 12: { Game.Entity expr_C84 = this.Entity; expr_C84.DragonGem += 10; break; } case 13: { Game.Entity expr_C9E = this.Entity; expr_C9E.DragonGem += 15; break; } } break; } } else { switch (b) { case 71: { Game.Entity expr_CB8 = this.Entity; expr_CB8.TortisGem += 15; break; } case 72: { Game.Entity expr_CD2 = this.Entity; expr_CD2.TortisGem += 30; break; } case 73: { Game.Entity expr_CE9 = this.Entity; expr_CE9.TortisGem += 50; break; } default: switch (b) { case 101: num4 = (num3 = num4 += 100); break; case 102: num4 = (num3 = num4 += 300); break; case 103: num4 = (num3 = num4 += 500); break; default: switch (b) { case 121: num2 = (num = num2 += 100); break; case 122: num2 = (num = num2 += 300); break; case 123: num2 = (num = num2 += 500); break; } break; } break; } } b = socketTwo; if (b <= 13) { switch (b) { case 1: { Game.Entity expr_DDB = this.Entity; expr_DDB.PhoenixGem += 5; break; } case 2: { Game.Entity expr_DF4 = this.Entity; expr_DF4.PhoenixGem += 10; break; } case 3: { Game.Entity expr_E0E = this.Entity; expr_E0E.PhoenixGem += 15; break; } default: switch (b) { case 11: { Game.Entity expr_E28 = this.Entity; expr_E28.DragonGem += 5; break; } case 12: { Game.Entity expr_E41 = this.Entity; expr_E41.DragonGem += 10; break; } case 13: { Game.Entity expr_E5B = this.Entity; expr_E5B.DragonGem += 15; break; } } break; } } else { switch (b) { case 71: { Game.Entity expr_E75 = this.Entity; expr_E75.TortisGem += 15; break; } case 72: { Game.Entity expr_E8F = this.Entity; expr_E8F.TortisGem += 30; break; } case 73: { Game.Entity expr_EA6 = this.Entity; expr_EA6.TortisGem += 50; break; } default: switch (b) { case 101: num4 = (num3 = num4 += 100); break; case 102: num4 = (num3 = num4 += 300); break; case 103: num4 = (num3 = num4 += 500); break; default: switch (b) { case 121: num2 = (num = num2 += 100); break; case 122: num2 = (num = num2 += 300); break; case 123: num2 = (num = num2 += 500); break; } break; } break; } } Game.Entity expr_F17 = this.Entity; expr_F17.PhysicalDamageDecrease += num2; Game.Entity expr_F2C = this.Entity; expr_F2C.MagicDamageDecrease += num; Game.Entity expr_F41 = this.Entity; expr_F41.PhysicalDamageIncrease += num3; Game.Entity expr_F56 = this.Entity; expr_F56.MagicDamageIncrease += num4; Game.Entity expr_F6B = this.Entity; expr_F6B.ItemHP += (ushort)conquerItem.Enchant; this.GemAlgorithm();
} } } } } } }
this succeeded with me
if you have problem in knife
You must make sure items (text)
|
|
|
08/05/2013, 08:09
|
#26
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
did you click the chi button first then viewed your max hp?
about this.
you did not understand the chi problem.
Click the chi button first then view your maxhp,
then tell us if its fixed or not.
|
|
|
08/05/2013, 08:43
|
#27
|
elite*gold: 0
Join Date: Mar 2013
Posts: 12
Received Thanks: 2
|
Quote:
Originally Posted by marcbacor6666
did you click the chi button first then viewed your max hp?
about this.
you did not understand the chi problem.
Click the chi button first then view your maxhp,
then tell us if its fixed or not.
|
The picture after click chi button
to fix chi you must get load such
PHP Code:
flag = (client.Entity.Atributo1CHIDragon < 10010 ? true : client.Entity.Atributo1CHIDragon > 10200);
if (!flag)
{
atributo3CHITigre = client.Entity.Atributo1CHIDragon - 10000;
}
flag1 = (client.Entity.Atributo1CHIDragon < 20010 ? true : client.Entity.Atributo1CHIDragon > 20200);
if (!flag1)
{
atributo2CHITigre = client.Entity.Atributo1CHIDragon - 20000;
}
and more
|
|
|
08/05/2013, 08:46
|
#28
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
can u post the complete ^^
any updates?
|
|
|
08/05/2013, 20:56
|
#29
|
elite*gold: 0
Join Date: Feb 2013
Posts: 51
Received Thanks: 22
|
Quote:
Originally Posted by marcbacor6666
show us yours egyptian, just like how he posted his. ^^
|
i am using a different source and my structs are completely different , i already posted my Chi calculation, if u r asking about where to add them i also said it
create new void and put ur Chi calculations there then call it r8 after the load item state void
|
|
|
08/05/2013, 21:32
|
#30
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
Quote:
i am using a different source and my structs are completely different , i already posted my Chi calculation, if u r asking about where to add them i also said it
create new void and put ur Chi calculations there then call it r8 after the load item state void
|
after we click the chi button , the HP in our status will become different or not thesame in the HP below the interface the blood beside the mana
|
|
|
 |
|
Similar Threads
|
Problem in my source updated to version 5620+ *Impulse Source*
08/15/2012 - CO2 Private Server - 11 Replies
I updated my source to version 5620+
1) I open my account with any password.
2) Can I log into an account without having a registered account.
3) I cannot see the monsters or other players
Any help or hint is welcome.....
|
[Problem] Can you guys tell me about this problem with my source
12/08/2011 - CO2 Private Server - 5 Replies
Look at this:
CAN YOU HELP ME?
|
how i fix this problem at my source 5525>>no one say change source
10/28/2011 - CO2 Private Server - 5 Replies
my source close after like 2 hours or 3 hours and may after 5 hours
befor i close i see this errors o consol
i taked up this pic befor it clos by 1 second
http://www.m5zny.com/upfiles/j4o37683.jpg
http://www.m5zny.com/upfiles/b8q37683.jpg
|
[Source] Problem mit der Source
05/29/2011 - Flyff Private Server - 0 Replies
Hallo Leutz,
ich habe folgendes Problem ich habe meine source Compilet was vorher nie ein problem war jetz habe ich es wider gemacht und es kamen keine errors wie immer nur waren diesmal keine .exen im output ordner woran kann das liegen ich würde mich sehr über eine antwort freuen
mfg
|
[Source Problem] Source auf LANG 6 compilien [D-Flyff Font]
04/13/2011 - Flyff Private Server - 10 Replies
Hey Leutz,
ich komme da mal mit nem mehr oder weniger kleinen Problem.
Aufgrund der Misserfolge nur die Neuz in LANG 6 zu compilien, hat man mir geraten die kompletten Bins auf LANG 6 zu setzen.
Seitdem funktioniert die D-Flyff Schrift super, es ist nichts verrutscht, Login klappt auch etc.
Problem ist jetzt nur das ich keine inGame Rechte mehr habe.
Habe extra neuen acc erstellt, neuen char bin sämtliche Operatoren ( L, M, N, O, P, Z) durchgegangen nur leider habe ich immer noch...
|
All times are GMT +1. The time now is 13:43.
|
|