protected virtual void EnemyCustomAttack() { Attack_helper(); enemyAnimationUpdater.RangedAttack(rangedAnimation); AmmoMaster AM_temp = fireProjectile(CustomAngle()).GetComponent <AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); }
protected override void EnemyCustomAttack() { float spread = Random.Range(-SpreadAngle_half, SpreadAngle_half); Attack_helper(); enemyAnimationUpdater.RangedAttack(rangedAnimation); AmmoMaster AM_temp = fireProjectile(CustomAngle() + spread).GetComponent <AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); }
protected override void Attack() { for (int i = enemyProj.childCount - 1; i > 0; --i) { AmmoMaster am = enemyProj.GetChild(i).GetComponent <AmmoMaster>(); if (am) { am.KineticReversalHelper(); enemyProj.GetChild(i).parent = playerProj; } } }
public override void AnimationTriggerAttack() //Can be overwritten { if (EnemyWeapon) { AmmoMaster AM_temp = fireProjectile(CustomAngle()).GetComponent<AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); } else { fireProjectile(CustomAngle()).GetComponent<AmmoMaster>().Setup(ReturnFinalDamage(damage), dt_in: DT); } }
private void OnTriggerEnter(Collider other) { if (reflection) { AmmoMaster ammo = other.GetComponent <AmmoMaster>(); if (ammo) { if (playerCreated && !ammo.Player_Fired) { health.take_damage(ammo.returnDamageStats().Item1, DT: ammo.returnDamageStats().Item2); ammo.KineticReversalHelper(); } } } }
public override void AnimationTriggerAttack() { float angle = CustomAngle(); float fanMod = -fanAngle / 2; for (int i = 0; i < ProjectileCount; ++i) { float projectileAngle = angle + fanMod; if (EnemyWeapon) { if (i == 0) { AmmoMaster AM_temp = fireProjectile(projectileAngle, true).GetComponent <AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); } else { AmmoMaster AM_temp = fireProjectile(projectileAngle, true).GetComponent <AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); } } else { if (i == 0) { fireProjectile(projectileAngle, true).GetComponent <AmmoMaster>().Setup(ReturnFinalDamage(damage), dt_in: DT); } else { fireProjectile(projectileAngle, false).GetComponent <AmmoMaster>().Setup(ReturnFinalDamage(damage), dt_in: DT); } } fanMod += fanAngle / ProjectileCount; } }
private void CustomAttack() { if (CheckAmmo()) { if (energy.Drain_ES(false, energyCost)) //Like this because this uses energy { Attack_helper(); playMove.SetFollowCursorSustained(1f); animationUpdater.RangedAttack(rangedAnimation); if (EnemyWeapon) { AmmoMaster AM_temp = fireProjectile(CustomAngle()).GetComponent <AmmoMaster>(); AM_temp.Setup(ReturnFinalDamage(damage), dt_in: DT); AM_temp.AdditionalNPCSetup(ETM.Return_FactionEnum(), FL, ETM.Return_customReputation()); } else { fireProjectile(CustomAngle()).GetComponent <AmmoMaster>().Setup(ReturnFinalDamage(damage), dt_in: DT); } } } }