Weapons tested and general changes made to support the results of those tests
This commit is contained in:
@@ -308,30 +308,47 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
return;
|
||||
}
|
||||
|
||||
if (equipable is Weapon && EquipmentComponent.EquippedWeapon.Value != null && !EquipmentComponent.EquippedWeapon.Value.Glued)
|
||||
Unequip(EquipmentComponent.EquippedWeapon.Value);
|
||||
if (equipable is Armor && EquipmentComponent.EquippedArmor.Value != null && !EquipmentComponent.EquippedArmor.Value.Glued)
|
||||
Unequip(EquipmentComponent.EquippedArmor.Value);
|
||||
if (equipable is Accessory && EquipmentComponent.EquippedAccessory.Value != null && !EquipmentComponent.EquippedAccessory.Value.Glued)
|
||||
Unequip(EquipmentComponent.EquippedAccessory.Value);
|
||||
if (equipable is Ammo && EquipmentComponent.EquippedAmmo.Value != null && !EquipmentComponent.EquippedAmmo.Value.Glued)
|
||||
Unequip(EquipmentComponent.EquippedAmmo.Value);
|
||||
|
||||
if (equipable.ItemTag == ItemTag.GlueOnEquip)
|
||||
equipable.Glued = true;
|
||||
|
||||
HealthComponent.RaiseMaximumHP(equipable.BonusHP, false);
|
||||
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
|
||||
LuckComponent.IncreaseLuck(equipable.BonusLuck);
|
||||
|
||||
if (equipable is IAugmentableItem augmentable)
|
||||
if (augmentable.Augment != null)
|
||||
augmentable.Augment.AugmentType.Apply();
|
||||
|
||||
EquipmentComponent.Equip(equipable);
|
||||
SfxDatabase.Instance.Play(SoundEffect.Equip);
|
||||
|
||||
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||
PersuaderCrosshair.Show();
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
if (weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||
PersuaderCrosshair.Show();
|
||||
if (weapon.WeaponTag == WeaponTag.InverseHPAttackPower)
|
||||
InverseHPToAttackPowerSync(HealthComponent.CurrentHP.Value);
|
||||
}
|
||||
}
|
||||
|
||||
public void Unequip(IEquipableItem equipable)
|
||||
{
|
||||
HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP);
|
||||
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
|
||||
LuckComponent.DecreaseLuck(equipable.BonusLuck);
|
||||
|
||||
if (equipable is IAugmentableItem augmentItem && augmentItem.Augment != null)
|
||||
augmentItem.Augment.AugmentType.Remove();
|
||||
|
||||
EquipmentComponent.Unequip(equipable);
|
||||
SfxDatabase.Instance.Play(SoundEffect.Unequip);
|
||||
|
||||
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||
PersuaderCrosshair.Hide();
|
||||
@@ -594,8 +611,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
}
|
||||
|
||||
if (weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||
{
|
||||
PlayAttackAnimation();
|
||||
fired = PersuaderBullet.Fire();
|
||||
|
||||
}
|
||||
if (!fired)
|
||||
return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user