public EquipmentWeapon createEquipmentWeaponObject(WeaponEnum _WeaponEnum) { EquipmentWeapon equipmentWeaponObject = new EquipmentWeapon(); equipmentWeaponObject.Scale = 1; equipmentWeaponObject.Velocity = new Vector3(0, 0, 0); equipmentWeaponObject.StackMax = 1; equipmentWeaponObject.Size = new Microsoft.Xna.Framework.Vector3(32, 32, 0); equipmentWeaponObject.ItemEnum = ItemEnum.Weapon; switch (_WeaponEnum) { case WeaponEnum.Sword: { equipmentWeaponObject.NormalDamage = 4; equipmentWeaponObject.WeaponEnum = _WeaponEnum; Attack var_Attack = new Attack(50, 1.0f, 20.0f, AttackType.Front); equipmentWeaponObject.Attacks.Add(var_Attack); equipmentWeaponObject.Body.MainBody.TexturePath = "Character/Sword"; equipmentWeaponObject.ItemIconGraphicPath = "Object/Item/Small/Sword1"; //equipmentWeaponObject.SearchFlags.Add(new Map.World.SearchFlags.()); break; } case WeaponEnum.Spear: { equipmentWeaponObject.NormalDamage = 2; equipmentWeaponObject.WeaponEnum = _WeaponEnum; Attack var_Attack = new Attack(80, 1.0f, 30.0f, AttackType.Front); equipmentWeaponObject.Attacks.Add(var_Attack); break; } case WeaponEnum.Paper: { equipmentWeaponObject.NormalDamage = 5; equipmentWeaponObject.WeaponEnum = _WeaponEnum; Attack var_Attack = new Attack(80, 1.0f, 20.0f, AttackType.Front); equipmentWeaponObject.Attacks.Add(var_Attack); break; } } return(equipmentWeaponObject); }
public void setItem(string itemID) { itemToDisplay = FindObjectOfType <EquipmentDictionary>().weaponDictionary[itemID]; updatePanel(); }
void OnEquipmentChanged(Equipment newEquipment, Equipment oldEquipment) { bool movSpdChanged = false; bool hpmChanged = false; int hpNow = hp; int hpmNow = hpm.GetValue(); if (oldEquipment != null) { if (oldEquipment.equipmentType == EquipmentType.Weapon && newEquipment == null) { atkSpeed.SetBaseValue(100); } if (oldEquipment.hpmAdd != 0) { hpm.AddModifier(ModifierType.modifiersAdd, oldEquipment.hpmAdd, true); hpmChanged = true; } if (oldEquipment.hpmMul != 0) { hpm.AddModifier(ModifierType.modifiersMul, oldEquipment.hpmMul, true); hpmChanged = true; } if (oldEquipment.phyAtkAdd != 0) { phyAtk.AddModifier(ModifierType.modifiersAdd, oldEquipment.phyAtkAdd * (1f + oldEquipment.phyAtkMulSelf * .01f), true); } if (oldEquipment.phyAtkMul != 0) { phyAtk.AddModifier(ModifierType.modifiersMul, oldEquipment.phyAtkMul, true); } if (oldEquipment.phyDefAdd != 0) { phyDef.AddModifier(ModifierType.modifiersAdd, oldEquipment.phyDefAdd * (1f + oldEquipment.phyDefMulSelf * .01f), true); } if (oldEquipment.phyDefMul != 0) { phyDef.AddModifier(ModifierType.modifiersMul, oldEquipment.phyDefMul, true); } if (oldEquipment.hitRate != 0) { hitRate.AddModifier(ModifierType.modifiersAdd, oldEquipment.hitRate, true); } if (oldEquipment.evadeRate != 0) { evadeRate.AddModifier(ModifierType.modifiersAdd, oldEquipment.evadeRate, true); } if (oldEquipment.critRate != 0) { critRate.AddModifier(ModifierType.modifiersAdd, oldEquipment.critRate, true); } if (oldEquipment.phyDmgRdc != 0) { phyDmgReduce.AddModifier(ModifierType.modifiersAdd, oldEquipment.phyDmgRdc, true); } if (oldEquipment.phyDmgRdcRate != 0) { phyDmgRdcRate.AddModifier(ModifierType.modifiersAdd, oldEquipment.phyDmgRdcRate, true); } if (oldEquipment.attackSpeedAdd != 0) { atkSpeed.AddModifier(ModifierType.modifiersAdd, oldEquipment.attackSpeedAdd, true); } if (oldEquipment.attackSpeedMul != 0) { atkSpeed.AddModifier(ModifierType.modifiersMul, oldEquipment.attackSpeedMul, true); } if (oldEquipment.movementSpeedAdd != 0) { movSpeed.AddModifier(ModifierType.modifiersAdd, oldEquipment.movementSpeedAdd, true); movSpdChanged = true; } if (oldEquipment.movementSpeedMul != 0) { movSpeed.AddModifier(ModifierType.modifiersMul, oldEquipment.movementSpeedMul, true); movSpdChanged = true; } } if (newEquipment != null) { if (newEquipment.equipmentType == EquipmentType.Weapon) { EquipmentWeapon newWeapon = (EquipmentWeapon)newEquipment; switch (newWeapon.weaponType) { case WeaponType.Knife: atkSpeed.SetBaseValue(120); break; case WeaponType.Axe: atkSpeed.SetBaseValue(60); break; case WeaponType.Club: atkSpeed.SetBaseValue(80); break; default: break; } } if (newEquipment.hpmAdd != 0) { hpm.AddModifier(ModifierType.modifiersAdd, newEquipment.hpmAdd); hpmChanged = true; } if (newEquipment.hpmMul != 0) { hpm.AddModifier(ModifierType.modifiersMul, newEquipment.hpmMul); hpmChanged = true; } if (newEquipment.phyAtkAdd != 0) { phyAtk.AddModifier(ModifierType.modifiersAdd, newEquipment.phyAtkAdd * (1f + newEquipment.phyAtkMulSelf * .01f)); } if (newEquipment.phyAtkMul != 0) { phyAtk.AddModifier(ModifierType.modifiersMul, newEquipment.phyAtkMul); } if (newEquipment.phyDefAdd != 0) { phyDef.AddModifier(ModifierType.modifiersAdd, newEquipment.phyDefAdd * (1f + newEquipment.phyDefMulSelf * .01f)); } if (newEquipment.phyDefMul != 0) { phyDef.AddModifier(ModifierType.modifiersMul, newEquipment.phyDefMul); } if (newEquipment.hitRate != 0) { hitRate.AddModifier(ModifierType.modifiersAdd, newEquipment.hitRate); } if (newEquipment.evadeRate != 0) { evadeRate.AddModifier(ModifierType.modifiersAdd, newEquipment.evadeRate); } if (newEquipment.critRate != 0) { critRate.AddModifier(ModifierType.modifiersAdd, newEquipment.critRate); } if (newEquipment.phyDmgRdc != 0) { phyDmgReduce.AddModifier(ModifierType.modifiersAdd, newEquipment.phyDmgRdc); } if (newEquipment.phyDmgRdcRate != 0) { phyDmgRdcRate.AddModifier(ModifierType.modifiersAdd, newEquipment.phyDmgRdcRate); } if (newEquipment.attackSpeedAdd != 0) { atkSpeed.AddModifier(ModifierType.modifiersAdd, newEquipment.attackSpeedAdd); } if (newEquipment.attackSpeedMul != 0) { atkSpeed.AddModifier(ModifierType.modifiersMul, newEquipment.attackSpeedMul); } if (newEquipment.movementSpeedAdd != 0) { movSpeed.AddModifier(ModifierType.modifiersAdd, newEquipment.movementSpeedAdd); movSpdChanged = true; } if (newEquipment.movementSpeedMul != 0) { movSpeed.AddModifier(ModifierType.modifiersMul, newEquipment.movementSpeedMul); movSpdChanged = true; } } if (movSpdChanged) { agent.speed = movSpeed.GetValue() / 100f; } if (hpmChanged) { hp = (int)((float)hpm.GetValue() * hpNow / hpmNow); } UIManager.instance.UpdateStats(); }