コード例 #1
0
 public static Skill getAcidBlade()
 {
     if (acidBlade == null)
     {
         acidBlade             = new Skill();
         acidBlade.name        = "Acid\nBlade";
         acidBlade.icon        = Resources.Load <Sprite>("SpellVisuals/ASSASSIN/ACID BLADE/acid blade");
         acidBlade.description = "Weaker than Shiv but corrodes your enemy's armor!";
         acidBlade.basePower   = 3;
         acidBlade.aoe         = 0;
         acidBlade.range       = 1;
         acidBlade.manaCost    = user => 0;
         acidBlade.cooldown    = 3;
         acidBlade.damageType  = Skill.DamageType.DAMAGE;
         acidBlade.targetType  = Skill.TargetType.ENEMY;
         acidBlade.OnTarget    = (user, target, args) =>
         {
             float amt = user.DamageMultiplier * acidBlade.basePower;
             target.TakeDamage(amt, user);
             target.AddEffect(EffectFactory.GetWeakenDefenseEffect(), 3);
         };
         acidBlade.GenerateTasks = (user, tile, args) =>
         {
             List <Unit> list = acidBlade.gatherTargets(user, tile);
             GameManager.instance.tasks.Add(new Task_Face_Eachother(user, tile.unit));
             GameManager.instance.tasks.Add(new Task_Trigger_Animation(user, "Punch"));
             GameManager.instance.tasks.Add(new Task_Wait(0.3f));
             GameManager.instance.tasks.Add(new Task_PlaySound(Resources.Load <AudioClip>("SE/Sward4")));
             GameManager.instance.tasks.Add(new Task_ShowParticleAnimation((GameObject)Resources.Load("SpellVisuals/ASSASSIN/shiv/shiv prefab"), tile.transform.position, 1));
             GameManager.instance.tasks.Add(new Task_Trigger_Animation(tile.unit, "Hit"));
             acidBlade.EnqueueExecuteTask(user, tile, args);
         };
     }
     return(acidBlade);
 }
コード例 #2
0
 public static Skill GetWeakenDefense()
 {
     if (weakenDefense == null)
     {
         weakenDefense             = new Skill();
         weakenDefense.name        = "Weaken\nDefense";
         weakenDefense.icon        = Resources.Load <Sprite>("SpellIcons/weakenDefense");
         weakenDefense.description = "Weakens the armor of your target";
         weakenDefense.basePower   = 2;
         weakenDefense.manaCost    = user => 1;
         weakenDefense.aoe         = 3;
         weakenDefense.range       = 4;
         weakenDefense.cooldown    = 0;
         weakenDefense.damageType  = Skill.DamageType.DAMAGE;
         weakenDefense.targetType  = Skill.TargetType.ENEMY;
         weakenDefense.OnTarget    = (user, target, args) => {
             target.AddEffect(EffectFactory.GetWeakenDefenseEffect(), -1);
         };
         weakenDefense.GenerateTasks = (user, tile, args) => {
             foreach (Unit target in weakenDefense.gatherTargets(user, tile))
             {
                 GameManager.instance.tasks.Add(new Task_Face_Eachother(user, target));
                 GameManager.instance.tasks.Add(new Task_Trigger_Animation(user, "Punch"));
                 GameManager.instance.tasks.Add(new Task_Wait(0.3f));
                 GameManager.instance.tasks.Add(new Task_Fire_Projectile(user.transform.position + Vector3.up, target.tile.transform.position + Vector3.up, (GameObject)Resources.Load("SpellVisuals/TANK/tank projectile prefab"), 3));
                 GameManager.instance.tasks.Add(new Task_PlaySound(Resources.Load <AudioClip>("SE/Damage2")));
                 GameManager.instance.tasks.Add(new Task_ShowParticleAnimation((GameObject)Resources.Load("SpellVisuals/TANK/WEAKEN DEFENSE/WeakenDefense prefab"), target.transform.position, 1));
                 GameManager.instance.tasks.Add(new Task_Trigger_Animation(target, "Hit"));
             }
             weakenDefense.EnqueueExecuteTask(user, tile, args);
         };
     }
     return(weakenDefense);
 }