예제 #1
0
        public static void LewdAttack(Donger dong)
        {
            foreach (Effect f in dong.effects)
            {
                f.Execute(dong);
            }
            dong.effects.RemoveAll(x => x.Timer <= 0);

            int skillstrike = SeijaHelper.RandomProvider.GetThreadRandom().Next(0, 100);
            if (skillstrike < dong.skillChance && dong.skillUses > 0)
            {
                if (dong.skill == Donger.emtySkill)
                    Donger.SendMessages("\t" + dong.DongerInfo + " uses skill but it fails!");
                else
                {
                    dong.skill(dong);
                }
                dong.skillUses--;
            }
            else
                Donger.SendMessages(dong.DongerInfo + " is watching carefully!");
        }
예제 #2
0
        public static void AntimageAttack(Donger dong)
        {
            foreach (Effect f in dong.effects)
            {
                f.Execute(dong);
            }
            dong.effects.RemoveAll(x => x.Timer <= 0);

            if (dong.skillUses > 0)
            {
                if (dong.skill == Donger.emtySkill)
                    Donger.SendMessages("\t" + dong.DongerInfo + " uses skill but it fails!");
                else
                {
                    //Donger.SendMessages(dongerName + " uses skill!");
                    dong.skill(dong);
                }
                dong.skillUses--;
            }

                int strike = SeijaHelper.RandomProvider.GetThreadRandom().Next(0, 100);
                if (strike < dong.acurityMod)
                {
                    int damage = SeijaHelper.RandomProvider.GetThreadRandom().Next(3, 10);
                    //damage=?;
                    damage = (int)(damage * dong.damageMod);
                    if (dong.enemy.armor == Donger.defArmor)
                        Donger.SendMessages(dong.DongerInfo + " attacks " + dong.enemy.DongerInfo + " and deals " + damage.ToString() + " damage");
                    else
                        Donger.SendMessages(dong.DongerInfo + " attacks " + dong.enemy.DongerInfo + " and deals " + ((int)(damage / dong.enemy.armor)).ToString() + " damage");
                    dong.enemy.TakeDamage(damage);
                }
                else
                    Donger.SendMessages(dong.DongerInfo + " misses!");
        }
예제 #3
0
 public static void FrozenAttack(Donger dong)
 {
     foreach (Effect f in dong.effects)
     {
         f.Execute(dong);
     }
     dong.effects.RemoveAll(x => x.Timer <= 0);
     //if (dong.effectTimer > 0 && dong.effect != Donger.emtySkill)
     //{
     //    dong.effect(dong);
     //    dong.effectTimer--;
     //}
     int skillstrike = SeijaHelper.RandomProvider.GetThreadRandom().Next(0, 100);
     if (skillstrike < dong.skillChance && dong.skillUses > 0)
     {
         if (dong.skill == Donger.emtySkill)
             Donger.SendMessages("\t" + dong.DongerInfo + " uses skill but it fails!");
         else
         {
             //Donger.SendMessages(dongerName + " uses skill!");
             dong.skill(dong);
         }
         dong.skillUses--;
     }
     else
         Donger.SendMessages("\t" + dong.DongerInfo + " cant attack because he is frozen!");
 }