rendered paste bodybool User::GotRobeSetEnchanted()
{
CItem *pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdGloves);
if(pItem->GetEnchant() >= 6)
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdChest);
if(pItem->GetEnchant() >= 6)
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdLegs);
if(pItem->GetEnchant() >= 6)
{
return true;
}
return false;
}
bool User::GotLightSetEnchanted()
{
CItem *pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdFeet);
if(pItem->GetEnchant() >= 6)
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdChest);
if(pItem->GetEnchant() >= 6)
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdLegs);
if(pItem->GetEnchant() >= 6)
{
return true;
}
return false;
}
bool User::GotHeavySetEnchanted()
{
CItem *pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdHead);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdOnePiece);
if(pItem!=NULL)
{
if(pItem->GetEnchant() >= 6)
return true;
}else
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdChest);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdLegs);
if(pItem->GetEnchant() >= 6)
return true;
}
}
}
return false;
}
bool User::GotBASSetEnchanted()
{
CItem *pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdHead);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdFeet);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdGloves);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdOnePiece);
if(pItem!=NULL)
{
if(pItem->GetEnchant() >= 6)
return true;
}else
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdChest);
if(pItem->GetEnchant() >= 6)
{
pItem = this->GetInventory()->GetItemByIndex(this->GetSharedData()->nObjIdLegs);
if(pItem->GetEnchant() >= 6)
return true;
}
}
}
}
}
return false;
}
void User::CheckEnchantedSetBonus()
{
int nSetSkill[49];
nSetSkill[0] = 3507;
nSetSkill[1] = 3504;
nSetSkill[2] = 3505;
nSetSkill[3] = 3503;
nSetSkill[4] = 3506;
nSetSkill[5] = 3502; //End of d grade
nSetSkill[6] = 3517;
nSetSkill[7] = 3510;
nSetSkill[8] = 3513;
nSetSkill[9] = 3515;
nSetSkill[10] = 3514;
nSetSkill[11] = 3511;
nSetSkill[12] = 3508;
nSetSkill[13] = 3516;
nSetSkill[14] = 3512;
nSetSkill[15] = 3509; //end of C grades
nSetSkill[16] = 3518; //heavy
nSetSkill[17] = 3519; //heavy
nSetSkill[18] = 3520; //light
nSetSkill[19] = 3521; //light
nSetSkill[20] = 3522; //robe
nSetSkill[21] = 3523; //robe //avadon & zubei
nSetSkill[22] = 3524; //heavy
nSetSkill[23] = 3525; //heavy
nSetSkill[24] = 3526; //light
nSetSkill[25] = 3527; //light
nSetSkill[26] = 3528; //robe
nSetSkill[27] = 3529; //robe //blue wolf & doom - end of B grades
nSetSkill[28] = 3530; //heavy
nSetSkill[29] = 3531; //heavy
nSetSkill[30] = 3532; //light
nSetSkill[31] = 3533; //light
nSetSkill[32] = 3534; //robe
nSetSkill[33] = 3535; //robe //tallum & dark crystal
nSetSkill[34] = 3536; //heavy
nSetSkill[35] = 3537; //heavy
nSetSkill[36] = 3538; //light
nSetSkill[37] = 3539; //light
nSetSkill[38] = 3540; //robe
nSetSkill[39] = 3541; //robe // NM & majestic - end of A grades
nSetSkill[40] = 3553; //heavy
nSetSkill[41] = 3555; //light
nSetSkill[42] = 3556; //robe // end of S grades
nSetSkill[43] = 3608; //heavy
nSetSkill[44] = 3609; //light
nSetSkill[45] = 3610; //robe //End of apella Heavy Light Robe
nSetSkill[46] = 3605; //heavy
nSetSkill[47] = 3606; //light
nSetSkill[48] = 3607; //robe //End of Oath Heavy Light Robe
int nSetSkillID[15];
nSetSkillID[0]=3611;
nSetSkillID[1]=3612;
nSetSkillID[2]=3613; //d grade end
nSetSkillID[3]=3614;
nSetSkillID[4]=3615;
nSetSkillID[5]=3616; //c grade end
nSetSkillID[6]=3617;
nSetSkillID[7]=3618;
nSetSkillID[8]=3619; //b grade end
nSetSkillID[9]=3620;
nSetSkillID[10]=3621;
nSetSkillID[11]=3622; //a grade end
nSetSkillID[12]=3623;
nSetSkillID[13]=3624;
nSetSkillID[14]=3625; //s grade end
int nPlace = 0;
bool hasSet = false;
bool Enchanted = false;
for(unsigned int i=0;i<49;i++)
{
if(this->haveSkill(nSetSkill[i], 1))
{
nPlace = i;
hasSet= true;
}
}
if(!hasSet)
for(unsigned int i=0;i<15;i++)
{
if(this->haveSkill(nSetSkillID[i], 1))
this->DeleteSkill(nSetSkillID[i]);
}
if(hasSet)
{
if(((nPlace>3)&&(nPlace<6))||((nPlace>12) && (nPlace<16))) //heavy d/c grade
{
Enchanted = this->GotHeavySetEnchanted();
}else
if(((nPlace>1)&&(nPlace<4))||((nPlace>8) && (nPlace<13))) //light d/c grade
{
Enchanted = this->GotLightSetEnchanted();
}else
if(((nPlace>=0)&&(nPlace<2))||((nPlace>5) && (nPlace<9))) //robe d/c grade
{
Enchanted = this->GotRobeSetEnchanted();
}else
if((nPlace>15)&&(nPlace<43)) // BAS grades
{
Enchanted = this->GotBASSetEnchanted();
}
}
if(Enchanted)
{
CLog::Log()->AddAnsi(CLog::SystemConsoleBlue, "[EnchantedSet]Player[%ls] got +6 set, adding bonus skill.", this->GetSharedData()->wszName);
if((nPlace>3)&&(nPlace<6)) //heavy d grade
{
this->AcquireSkill(nSetSkillID[0], 1);
}else
if((nPlace>1)&&(nPlace<4)) //light d grade
{
this->AcquireSkill(nSetSkillID[1], 1);
}else
if((nPlace>=0)&&(nPlace<2)) //robe d grade
{
this->AcquireSkill(nSetSkillID[2], 1);
}else
if((nPlace>12)&&(nPlace<16)) //heavy c grade
{
this->AcquireSkill(nSetSkillID[3], 1);
}else
if((nPlace>8)&&(nPlace<13)) //light c grade
{
this->AcquireSkill(nSetSkillID[4], 1);
}else
if((nPlace>5)&&(nPlace<9)) //robe c grade
{
this->AcquireSkill(nSetSkillID[5], 1);
}else
if(((nPlace>15)&&(nPlace<18))||((nPlace>21) && (nPlace<24))) //heavy b grade
{
this->AcquireSkill(nSetSkillID[6], 1);
}else
if(((nPlace>17)&&(nPlace<20))||((nPlace>23) && (nPlace<26))) //light b grade
{
this->AcquireSkill(nSetSkillID[7], 1);
}else
if(((nPlace>19)&&(nPlace<22))||((nPlace>25) && (nPlace<28))) //robe b grade
{
this->AcquireSkill(nSetSkillID[8], 1);
}else
if(((nPlace>27)&&(nPlace<30))||((nPlace>33) && (nPlace<36))) //heavy a grade
{
this->AcquireSkill(nSetSkillID[9], 1);
}else
if(((nPlace>29)&&(nPlace<32))||((nPlace>35) && (nPlace<38))) //light a grade
{
this->AcquireSkill(nSetSkillID[10], 1);
}else
if(((nPlace>31)&&(nPlace<34))||((nPlace>37) && (nPlace<40))) //robe a grade
{
this->AcquireSkill(nSetSkillID[11], 1);
}else
if(nPlace==40) this->AcquireSkill(nSetSkillID[12], 1);
else
if(nPlace==41) this->AcquireSkill(nSetSkillID[13], 1);
else
if(nPlace==42) this->AcquireSkill(nSetSkillID[14], 1);
}
this->ValidateParameters();
this->ValidateSkillList();
}