public Weapon GetCopy(int index)
{
Weapon wpn = new Weapon();
wpn.minimumLevel = weapon[index].minimumLevel;
wpn.minimumClassLevel = weapon[index].minimumClassLevel;
wpn.equipType = weapon[index].equipType;
wpn.buyPrice = weapon[index].buyPrice;
wpn.sellable = weapon[index].sellable;
wpn.sellPrice = weapon[index].sellPrice;
wpn.sellSetter = weapon[index].sellSetter;
wpn.ownAttack = weapon[index].ownAttack;
wpn.dropable = weapon[index].dropable;
wpn.ownBaseAnimations = weapon[index].ownBaseAnimations;
wpn.battleAnimations = new BattleAnimationSettings(weapon[index].battleAnimations.GetData(new Hashtable()));
wpn.equipPart = new bool[weapon[index].equipPart.Length];
wpn.blockPart = new bool[weapon[index].blockPart.Length];
for(int i=0; i<weapon[index].equipPart.Length; i++)
{
wpn.equipPart[i] = weapon[index].equipPart[i];
wpn.blockPart[i] = weapon[index].blockPart[i];
}
wpn.skillEffect = new SkillEffect[weapon[index].skillEffect.Length];
for(int i=0; i<weapon[index].skillEffect.Length; i++)
{
wpn.skillEffect[i] = weapon[index].skillEffect[i];
}
wpn.equipmentSkill = new EquipmentSkill[weapon[index].equipmentSkill.Length];
for(int i=0; i<weapon[index].equipmentSkill.Length; i++)
{
wpn.equipmentSkill[i] = new EquipmentSkill(weapon[index].equipmentSkill[i].requireStatus.Length);
wpn.equipmentSkill[i].skill = weapon[index].equipmentSkill[i].skill;
wpn.equipmentSkill[i].skillLevel = weapon[index].equipmentSkill[i].skillLevel;
wpn.equipmentSkill[i].requireLevel = weapon[index].equipmentSkill[i].requireLevel;
wpn.equipmentSkill[i].level = weapon[index].equipmentSkill[i].level;
wpn.equipmentSkill[i].requireClassLevel = weapon[index].equipmentSkill[i].requireClassLevel;
wpn.equipmentSkill[i].classLevel = weapon[index].equipmentSkill[i].classLevel;
wpn.equipmentSkill[i].requireClass = weapon[index].equipmentSkill[i].requireClass;
wpn.equipmentSkill[i].classNumber = weapon[index].equipmentSkill[i].classNumber;
for(int j=0; j<weapon[index].equipmentSkill[i].requireStatus.Length; j++)
{
wpn.equipmentSkill[i].requireStatus[j] = weapon[index].equipmentSkill[i].requireStatus[j];
wpn.equipmentSkill[i].statusValue[j] = weapon[index].equipmentSkill[i].statusValue[j];
wpn.equipmentSkill[i].statusRequirement[j] = weapon[index].equipmentSkill[i].statusRequirement[j];
}
}
wpn.element = weapon[index].element;
wpn.baseAttack = new int[weapon[index].baseAttack.Length];
for(int i=0; i<weapon[index].baseAttack.Length; i++)
{
wpn.baseAttack[i] = weapon[index].baseAttack[i];
}
wpn.bonus.SetData(weapon[index].bonus.GetData(new Hashtable()));
wpn.raceValue = new int[weapon[index].raceValue.Length];
for(int i=0; i<weapon[index].raceValue.Length; i++)
{
wpn.raceValue[i] = weapon[index].raceValue[i];
}
wpn.sizeValue = new int[weapon[index].sizeValue.Length];
for(int i=0; i<weapon[index].sizeValue.Length; i++)
{
wpn.sizeValue[i] = weapon[index].sizeValue[i];
}
wpn.elementValue = new int[weapon[index].elementValue.Length];
wpn.elementOperator = new SimpleOperator[weapon[index].elementOperator.Length];
for(int i=0; i<weapon[index].elementValue.Length; i++)
{
wpn.elementValue[i] = weapon[index].elementValue[i];
wpn.elementOperator[i] = weapon[index].elementOperator[i];
}
return wpn;
}