From: Luca P. <lpa...@us...> - 2006-05-28 19:03:35
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32746/src/server Modified Files: combatmanager.cpp workmanager.cpp Log Message: fixed for weapon decay and weapon repair Index: combatmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/combatmanager.cpp,v retrieving revision 1.125 retrieving revision 1.126 diff -C2 -d -r1.125 -r1.126 *** combatmanager.cpp 5 May 2006 07:07:36 -0000 1.125 --- combatmanager.cpp 28 May 2006 19:03:30 -0000 1.126 *************** *** 500,504 **** psItem *struckArmor = target_data->Inventory().GetEffectiveArmorInSlot(event->AttackLocation); ! float ArmorVsWeapon = weapon->GetArmorVSWeaponResistance(struckArmor->GetBaseStats()); // clamp values due to bad data ArmorVsWeapon = ArmorVsWeapon > 1.0F ? 1.0F : ArmorVsWeapon; --- 500,507 ---- psItem *struckArmor = target_data->Inventory().GetEffectiveArmorInSlot(event->AttackLocation); ! // if no armor, then ArmorVsWeapon = 1 ! float ArmorVsWeapon = 1; ! if (struckArmor) ! ArmorVsWeapon = weapon->GetArmorVSWeaponResistance(struckArmor->GetBaseStats()); // clamp values due to bad data ArmorVsWeapon = ArmorVsWeapon > 1.0F ? 1.0F : ArmorVsWeapon; Index: workmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/workmanager.cpp,v retrieving revision 1.177 retrieving revision 1.178 diff -C2 -d -r1.177 -r1.178 *** workmanager.cpp 16 May 2006 16:17:59 -0000 1.177 --- workmanager.cpp 28 May 2006 19:03:30 -0000 1.178 *************** *** 300,303 **** --- 300,313 ---- } + // Calculate if current skill is enough to repair the item + int rankneeded = repairTarget->GetPrice().GetTotal() / 150; + int skillid = repairTarget->GetBaseStats()->GetCategory()->repair_skill_id; + int repairskillrank = client->GetCharacterData()->GetSkills()->GetSkillRank(PSSKILL(skillid)); + if (repairskillrank<rankneeded) + { + psserver->SendSystemError(client->GetClientNum(),"This item is too complex for your current repair skill. You cannot repair it." ); + return; + } + // Calculate time required for repair based on item and skill level var_time_Object->SetObject(repairTarget); |