Esempio n. 1
0
    //Whenever a new skill is added, have to include a skillType -> Constructor mapping for it
    //  so that it can be added in the loadout setup phase
    public static Skill InstantiateNewSkill(SKILLTYPE skillType, Chr chr)
    {
        Skill skillNew = null;

        switch (skillType)
        {
        //TESTING
        case SKILLTYPE.LEECH:
            skillNew = new SkillLeech(chr);
            break;

        case SKILLTYPE.TRANSFUSE:
            skillNew = new SkillTransfuse(chr);
            break;

        case SKILLTYPE.KNOCKBACK:
            skillNew = new SkillKnockback(chr);
            break;

        case SKILLTYPE.ADVANCE:
            skillNew = new SkillAdvance(chr);
            break;

        case SKILLTYPE.BUNKER:
            skillNew = new SkillBunker(chr);
            break;

        case SKILLTYPE.FIREBALL:
            skillNew = new SkillFireball(chr);
            break;

        case SKILLTYPE.EXPLOSION:
            skillNew = new SkillExplosion(chr);
            break;

        case SKILLTYPE.HEAL:
            skillNew = new SkillHeal(chr);
            break;

        case SKILLTYPE.STRATEGIZE:
            skillNew = new SkillStrategize(chr);
            break;

        case SKILLTYPE.MANABLOSSOM:
            skillNew = new SkillManaBlossom(chr);
            break;


        //Fischer
        case SKILLTYPE.BUCKLERPARRY:
            skillNew = new SkillBucklerParry(chr);
            break;

        case SKILLTYPE.HARPOONGUN:
            skillNew = new SkillHarpoonGun(chr);
            break;

        case SKILLTYPE.HUNTERSQUARRY:
            skillNew = new SkillHuntersQuarry(chr);
            break;

        case SKILLTYPE.IMPALE:
            skillNew = new SkillImpale(chr);
            break;

        //Katarina
        case SKILLTYPE.CACOPHONY:
            skillNew = new SkillCacophony(chr);
            break;

        case SKILLTYPE.FORTISSIMO:
            skillNew = new SkillFortissimo(chr);
            break;

        case SKILLTYPE.REVERBERATE:
            skillNew = new SkillReverberate(chr);
            break;

        case SKILLTYPE.SERENADE:
            skillNew = new SkillSerenade(chr);
            break;

        //Pit Beast
        case SKILLTYPE.FORCEDEVOLUTION:
            skillNew = new SkillForcedEvolution(chr);
            break;

        case SKILLTYPE.SADISM:
            skillNew = new SkillSadism(chr);
            break;

        case SKILLTYPE.TANTRUM:
            skillNew = new SkillTantrum(chr);
            break;

        case SKILLTYPE.TENDRILSTAB:
            skillNew = new SkillTendrilStab(chr);
            break;

        //Rayne
        case SKILLTYPE.CHEERLEADER:
            skillNew = new SkillCheerleader(chr);
            break;

        case SKILLTYPE.CLOUDCUSHION:
            skillNew = new SkillCloudCushion(chr);
            break;

        case SKILLTYPE.SPIRITSLAP:
            skillNew = new SkillSpiritSlap(chr);
            break;

        case SKILLTYPE.THUNDERSTORM:
            skillNew = new SkillThunderStorm(chr);
            break;

        //Saiko
        case SKILLTYPE.AMBUSH:
            skillNew = new SkillAmbush(chr);
            break;

        case SKILLTYPE.SMOKECOVER:
            skillNew = new SkillSmokeCover(chr);
            break;

        case SKILLTYPE.STICKYBOMB:
            skillNew = new SkillStickyBomb(chr);
            break;

        case SKILLTYPE.TRANQUILIZE:
            skillNew = new SkillTranquilize(chr);
            break;

        //Sophidia
        case SKILLTYPE.HISS:
            skillNew = new SkillHiss(chr);
            break;

        case SKILLTYPE.HYDRASREGEN:
            skillNew = new SkillHydrasRegen(chr);
            break;

        case SKILLTYPE.TWINSNAKES:
            skillNew = new SkillTwinSnakes(chr);
            break;

        case SKILLTYPE.VENEMOUSBITE:
            skillNew = new SkillVenomousBite(chr);
            break;

        case SKILLTYPE.REST:
            skillNew = new SkillRest(chr);
            break;



        default:
            Debug.LogError("ERROR! No constructor for " + skillType + " exists!");
            break;
        }

        return(skillNew);
    }
Esempio n. 2
0
    public void SkillOrderClick()
    {
        // スキルの待ち時間がある場合
        if (skill_info_.CurrentWaitTurn > 0)
        {
            return;
        }

        if (skill_style_ == 1)
        {
            //instance skillAction
            SkillAction skill_action = this.gameObject.AddComponent <SkillAction>();
            //impleachment parcticle

            /* GameObject skill_effect_go = Instantiate(skill_effect_prehab_, skill_effect_trans_);
             * skill_effect_go.transform.localPosition = Vector3.zero;
             * skill_effect_go.transform.localRotation = new Quaternion();
             */
            //スキルの効果を発動
            skill_action.Setuo(skill_info_);
            skill_action.Setvalue(skill_damage_);
            skill_action.Entity = battle_main_.UserList[0];
            skill_action.Target = battle_main_.UserList[0];
            battle_main_.AddAction(skill_action);
        }
        else if (skill_style_ == 2)
        {
            SkillDefence skill_deffence = this.gameObject.AddComponent <SkillDefence>();


            //スキルの効果を発動
            skill_deffence.Setuo(skill_info_);
            skill_deffence.Setvalue(skill_damage_);
            skill_deffence.Entity = battle_main_.UserList[0];
            skill_deffence.Target = battle_main_.UserList[0];
            battle_main_.AddAction(skill_deffence);
        }
        else if (skill_style_ == 3)
        {
            SkillDebuff skill_debuff = this.gameObject.AddComponent <SkillDebuff>();

            /*GameObject skill_effect_go = Instantiate(skill_effect_prehab_, skill_effect_trans_);
             * skill_effect_go.transform.localPosition = Vector3.zero;
             * skill_effect_go.transform.localRotation = new Quaternion();
             */
            //スキルの効果を発動
            skill_debuff.Setuo(skill_info_);
            skill_debuff.Setvalue(skill_damage_);
            skill_debuff.Entity = battle_main_.EnemyList[0];
            skill_debuff.Target = battle_main_.EnemyList[0];
            battle_main_.AddAction(skill_debuff);
        }
        else if (skill_style_ == 4)
        {
            SkillHeal skill_heal = this.gameObject.AddComponent <SkillHeal>();
            skill_heal.Setuo(skill_info_);
            skill_heal.Entity = battle_main_.UserList[0];
            skill_heal.Target = battle_main_.UserList[0];
            battle_main_.AddAction(skill_heal);
        }
        else if (skill_style_ == 0)
        {
            Debug.Log("null!");
        }


        if (skill_set_callback_ != null)
        {
            skill_set_callback_();
        }

        // スキル実行後はスキルの待機時間を設定
        skill_info_.CurrentWaitTurn = skill_info_.WaitTurn;
    }