コード例 #1
0
 public override void OnKill(IDamagable target)
 {
     base.OnKill(target);
     if (target is CreatureActor)
     {
         CreatureActor creature = target as CreatureActor;
         AwardXP(creature.ExpAward);
         if (weapon != null)
         {
             if (weapon.characterData[id].GainSkill())
             {
                 UI.DamageNumber.Display(transform, "Wpn UP!");
             }
         }
         PlayerController.Instance.playerData.gp += creature.GpAward;
     }
 }
コード例 #2
0
        public override int Damage(int amount, IDamageSource damageSource)
        {
            if (timeLeftRooted < 0f)
            {
                byte rnd = (byte)UnityEngine.Random.Range(0, 100);
                if (rnd < evadeChance)
                {
                    Animation.SetAnimation("Dodge", true);
                    UI.DamageNumber.Display(transform, "dodge");
                    audioSource.PlayOneShot(soundDodge.GetRandom());
                    return(0);
                }

                if (damageSource is CreatureActor)
                {
                    CreatureActor creature = damageSource as CreatureActor;
                    Move(-creature.movementDirection);
                }
            }
            int dmg = System.Math.Max(amount - (int)defense, 0);

            return(base.Damage(dmg, damageSource));
        }