示例#1
0
 private void InstantDMGDelegate(Collider2D collision)
 {
     if (GameManager.CheckHostile(NPCinfo.tag, collision.tag))
     {
         NPCBase target = collision.GetComponent <NPCBase>();
         NPCinfo.DealDmg2Target(ChargeDmg, target, DMGType.None);
     }
 }
示例#2
0
 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);
     }
 }
示例#3
0
 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;
         }
     }
 }
示例#4
0
 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();
 }
示例#5
0
 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;
             }
         };
     }
 }
示例#6
0
 protected override void InstantEffect()
 {
     NPCinfo.DealDmg2Target(AADmg, DMGType.Melee);
     base.InstantEffect();
 }