private void InstantDMGDelegate(Collider2D collision) { if (GameManager.CheckHostile(NPCinfo.tag, collision.tag)) { NPCBase target = collision.GetComponent <NPCBase>(); NPCinfo.DealDmg2Target(ChargeDmg, target, DMGType.None); } }
private void PiercingDMGDelegate(Collider2D collision) { if (GameManager.CheckHostile(NPCinfo.tag, collision.tag)) { NPCBase target = collision.GetComponent <NPCBase>(); NPCinfo.DealDmg2Target(piercingMult * PiercingDMG, target, DMGType.None); piercingMult -= piercingDecline; piercingMult = Mathf.Clamp(piercingMult, minnDecline, 1.0f); } }
virtual protected void InstantDMGDelegate(Collider2D collision) { if (GameManager.CheckHostile(NPCinfo.tag, collision.tag)) { NPCBase target = collision.GetComponent <NPCBase>(); NPCinfo.DealDmg2Target(AADmg / cnt, target, DMGType.None); SpeedStatus tmp = target.GetComponent <SpeedStatus>(); if (tmp == null) { tmp = target.gameObject.AddComponent <SpeedStatus>(); tmp.duration = slowDuration; tmp.addSpeedMult = -slow; } } }
protected override void InstantEffect() { if (NPCinfo.target) { if (moveable) { moveable.targetPos = transform.position; } GameObject newArrow = Instantiate(arrowPrefab, transform.position, Quaternion.identity); HomingArrow homingArrow = newArrow.GetComponent <HomingArrow>(); homingArrow.destination = NPCinfo.target.transform; homingArrow.grounded += delegate { NPCinfo.DealDmg2Target(AADmg, homingArrow.destination.GetComponent <NPCBase>(), DMGType.Range); }; } base.InstantEffect(); }
protected override void InstantEffect() { base.InstantEffect(); if (NPCinfo.target) { GameObject newArrow = Instantiate(arrowPrefab, transform.position, Quaternion.identity); HomingArrow homingArrow = newArrow.GetComponent <HomingArrow>(); homingArrow.destination = NPCinfo.target.transform; homingArrow.grounded += delegate { if (NPCinfo.target) { NPCinfo.DealDmg2Target(AADmg); Burning burning = NPCinfo.target.gameObject.AddComponent <Burning>(); burning.duration = FireDuration; burning.dps = FireDPS; } }; } }
protected override void InstantEffect() { NPCinfo.DealDmg2Target(AADmg, DMGType.Melee); base.InstantEffect(); }