public void Initialize(Proxy proxy)
{
proxy.HookPacket(PacketType.UPDATE, OnUpdate);
proxy.HookCommand("dyeskin", OnSettings);
}
public void OnUpdate(Client client, Packet packet)
{
UpdatePacket updatePacket = (UpdatePacket)packet;
Classes @Class = client.PlayerData.Class;
if @Class <= Classes.Archer)
{
if @Class != Classes****gue)
{
if @Class == Classes.Archer)
{
this.skintype = Conf.Default.ArcherSkin;
}
}
else
{
this.skintype = Conf.Default****gueSkin;
}
}
else if @Class != Classes.Wizard)
{
if @Class != Classes.Priest)
{
switch @Class)
{
case Classes.Warrior:
this.skintype = Conf.Default.WarriorSkin;
break;
case Classes.Knight:
this.skintype = Conf.Default.KnightSkin;
break;
case Classes.Paladin:
this.skintype = Conf.Default.PaladinSkin;
break;
case Classes.Assassin:
this.skintype = Conf.Default.AssassinSkin;
break;
case Classes.Necromancer:
this.skintype = Conf.Default.NecroSkin;
break;
case Classes.Huntress:
this.skintype = Conf.Default.HuntressSkin;
break;
case Classes.Mystic:
this.skintype = Conf.Default.MysticSkin;
break;
case Classes.Trickster:
this.skintype = Conf.Default.TricksterSkin;
break;
case Classes.Sorcerer:
this.skintype = Conf.Default.SorcererSkin;
break;
case Classes.Ninja:
this.skintype = Conf.Default.NinjaSkin;
break;
}
}
else
{
this.skintype = Conf.Default.PriestSkin;
}
}
else
{
this.skintype = Conf.Default.WizardSkin;
}
bool flag = this.y == 0;
if (flag)
{
bool enabled = Conf.Default.Enabled;
if (enabled)
{
for (int i = 0; i < this.largedyes.Length; i++)
{
bool flag2 = this.largedyes[i].ToLower() == Conf.Default.LargeDye.ToLower();
if (flag2)
{
this.LDyeNum = this.largedyenums[i];
}
}
for (int j = 0; j < this.smalldyes.Length; j++)
{
bool flag3 = this.smalldyes[j].ToLower() == Conf.Default.SmallDye.ToLower();
if (flag3)
{
this.SDyeNum = this.smalldyenums[j];
}
}
for (int k = 0; k < this.skins.Length; k++)
{
bool flag4 = this.skins[k].ToLower() == this.skintype.ToLower();
if (flag4)
{
this.skinnumber = this.skinnums[k];
}
}
}
bool enabled2 = Conf.Default.Enabled;
if (enabled2)
{
bool flag5 = this.skinnumber != 0;
if (flag5)
{
for (int l = 0; l < updatePacket.NewObjs.Length; l++)
{
bool flag6 = updatePacket.NewObjs[l].Status.ObjectId == client.ObjectId;
if (flag6)
{
for (int m = 0; m < updatePacket.NewObjs[l].Status.Data.Length; m++)
{
bool flag7 = updatePacket.NewObjs[l].Status.Data[m].Id == 80;
if (flag7)
{
updatePacket.NewObjs[l].Status.Data[m].IntValue = this.skinnumber;
}
}
}
}
}
bool flag8 = this.LDyeNum != 0;
if (flag8)
{
for (int n = 0; n < updatePacket.NewObjs.Length; n++)
{
bool flag9 = updatePacket.NewObjs[n].Status.ObjectId == client.ObjectId;
if (flag9)
{
for (int num = 0; num < updatePacket.NewObjs[n].Status.Data.Length; num++)
{
bool flag10 = updatePacket.NewObjs[n].Status.Data[num].Id == 32;
if (flag10)
{
updatePacket.NewObjs[n].Status.Data[num].IntValue = this.LDyeNum;
}
}
}
}
}
bool flag11 = this.SDyeNum != 0;
if (flag11)
{
for (int num2 = 0; num2 < updatePacket.NewObjs.Length; num2++)
{
bool flag12 = updatePacket.NewObjs[num2].Status.ObjectId == client.ObjectId;
if (flag12)
{
for (int num3 = 0; num3 < updatePacket.NewObjs[num2].Status.Data.Length; num3++)
{
bool flag13 = updatePacket.NewObjs[num2].Status.Data[num3].Id == 33;
if (flag13)
{
updatePacket.NewObjs[num2].Status.Data[num3].IntValue = this.SDyeNum;
}
}
}
}
}
}
}
}
private void OnSettings(Client client, string command, string[] args)
{
bool flag = args.Length >= 1;
if (flag)
{
Console.WriteLine("Use /dyeskin for settings!");
}
else
{
PluginUtils.ShowGenericSettingsGUI(Conf.Default, "Dye/Skin Settings");
}
}
}
}