示例#1
0
    public override void LearnDarknessSkill(Character.Stats monsterStats, Transform monster)
    {
        if (this.ActiveSkills == null)
        {
            this.ActiveSkills = new int[3];
        }
        if (this.AcquiredSkills == null)
        {
            this.AcquiredSkills = new List <int>();
        }
        ////랜덤으로 암속성 스킬 습득(패시브면 1번만 쓰고 사라짐 액티브면 저장)

        int randomSkillnum = Random.Range(0, 2);

        switch (randomSkillnum)
        {
        case 0:     // default Skills
            LearnDefaultSkill(monsterStats, monster);
            break;

        case 1:
            switch (Random.Range(SkillKind.kDarkNessTmp1, SkillKind.kDarkNessTmp1 + 1))    //추후 수정
            {
            //DarknessSkills - Active
            case SkillKind.kDarkNessTmp1:
                this.ActiveSkills[SkillCount] = SkillKind.kDarkNessTmp1; this.SkillCount++;
                AcquiredSkills.Add(SkillKind.kDarkNessTmp1);
                Debug.Log("어둠속성 스킬을 배웠습니다"); break;
            }
            break;
        }
        CheckOverlap(SkillKind.kDarkNessTmp1, SkillKind.kDarkNessTmp1); //추후 수정
    }
    public override void LearnWaterSkill(Character.Stats monsterStats, Transform monster)
    {
        if (this.ActiveSkills == null)
        {
            this.ActiveSkills = new int[3];
        }
        if (this.AcquiredSkills == null)
        {
            this.AcquiredSkills = new List <int>();
        }
        ////랜덤으로 수속성 스킬 습득(패시브면 1번만 쓰고 사라짐 액티브면 저장)
        ///
        int randomSkillnum = Random.Range(0, 2);

        switch (randomSkillnum)
        {
        case 0:     // default Skills
            LearnDefaultSkill(monsterStats, monster);
            break;

        case 1:
            switch (Random.Range(SkillKind.kSlow, SkillKind.kSlow + 1))       //추후 수정
            //WaterSkills - Active
            {
            case SkillKind.kSlow:
                this.ActiveSkills[SkillCount] = SkillKind.kSlow; this.SkillCount++;
                AcquiredSkills.Add(SkillKind.kSlow);
                Debug.Log("슬로우를 배웠습니다"); break;
            }
            break;
        }
        CheckOverlap(SkillKind.kSlow, SkillKind.kSlow);//추후 수정
    }
示例#3
0
 public void AcquireSkill(SkillDefinition definition)
 {
     if (!HasAcquiredSkill(definition))
     {
         AcquiredSkills.Add(definition);
         CombatText.NewText(new Rectangle((int)player.position.X, (int)player.position.Y, player.width, player.height), new Color(145, 228, 255), definition.DisplayName + " Unlocked!", true, false);
     }
 }
示例#4
0
    public override void LearnKingSlimeSkill(Character.Stats monsterStats, Transform monster)
    {
        if (this.ActiveSkills == null)
        {
            this.ActiveSkills = new int[4] {
                -1, -1, -1, -1
            }
        }
        ;
        if (this.AcquiredSkills == null)
        {
            this.AcquiredSkills = new List <int>();
        }

        for (int i = 0; i < 4; i++)
        {
            this.ActiveSkills[i] = i; this.SkillCount++;
            AcquiredSkills.Add(i);
        }
    }
    public override void LearnFlameSkill(Character.Stats monsterStats, Transform monster)
    {
        if (this.ActiveSkills == null)
        {
            this.ActiveSkills = new int[3] {
                -1, -1, -1
            }
        }
        ;
        if (this.AcquiredSkills == null)
        {
            this.AcquiredSkills = new List <int>();
        }
        ////랜덤으로 화염스킬 습득(패시브면 1번만 쓰고 사라짐 액티브면 저장)
        ///
        int randomSkillnum = Random.Range(0, 2);

        switch (randomSkillnum)
        {
        case 0:     // default Skills
            LearnDefaultSkill(monsterStats, monster);
            break;

        case 1:
            switch (Random.Range(SkillKind.kLava, SkillKind.kFlameColak + 1))
            {
            //FlameSkills - Active
            case SkillKind.kLava:
                this.ActiveSkills[SkillCount] = SkillKind.kLava; this.SkillCount++;
                AcquiredSkills.Add(SkillKind.kLava);
                Debug.Log("라바를 배웠습니다"); break;

            case SkillKind.kFlameColak:
                this.ActiveSkills[SkillCount] = SkillKind.kFlameColak; this.SkillCount++;
                AcquiredSkills.Add(SkillKind.kFlameColak);
                Debug.Log("호염망토를 배웠습니다"); break;
            }
            break;
        }
        CheckOverlap(SkillKind.kLava, SkillKind.kFlameColak);
    }
    protected void LearnDefaultSkill(Character.Stats monsterStats, Transform monster)
    {
        switch (Random.Range(0, SkillKind.defaultSkillCount))
        {
        //DefaultSkills - Passive
        case SkillKind.kHaste:
            Haste(monsterStats);
            AcquiredSkills.Add(SkillKind.kHaste);
            Debug.Log("신속함을 배웠습니다"); break;

        case SkillKind.kRapid:
            Rapid(monsterStats);
            AcquiredSkills.Add(SkillKind.kRapid);
            Debug.Log("날렵한을 배웠습니다"); break;

        case SkillKind.kSharp:
            Sharp(monsterStats);
            AcquiredSkills.Add(SkillKind.kSharp);
            Debug.Log("날카로움를 배웠습니다"); break;

        case SkillKind.kHealty:
            Healty(monsterStats);
            AcquiredSkills.Add(SkillKind.kHealty);
            Debug.Log("건강함을 배웠습니다"); break;

        case SkillKind.kVolant:
            Volant(monsterStats);
            AcquiredSkills.Add(SkillKind.kVolant);
            Debug.Log("날쌘을 배웠습니다"); break;

        case SkillKind.kSonic:
            Sonic(monsterStats);
            AcquiredSkills.Add(SkillKind.kSonic);
            Debug.Log("소닉을 배웠습니다"); break;

        case SkillKind.kSuperArmor:
            SuperArmor(monsterStats, monster);
            AcquiredSkills.Add(SkillKind.kSuperArmor);
            Debug.Log("슈퍼아머를 배웠습니다"); break;

        case SkillKind.kGiant:
            Giant(monsterStats, monster);
            AcquiredSkills.Add(SkillKind.kGiant);
            Debug.Log("거대한을 배웠습니다"); break;

        //DefaultSkills - Active
        case SkillKind.kHeadHunter:
            this.ActiveSkills[SkillCount] = SkillKind.kHeadHunter; this.SkillCount++;
            AcquiredSkills.Add(SkillKind.kHeadHunter);
            Debug.Log("머리노리기를 배웠습니다"); break;

        case SkillKind.kSmash:
            this.ActiveSkills[SkillCount] = SkillKind.kSmash; this.SkillCount++;
            AcquiredSkills.Add(SkillKind.kSmash);
            Debug.Log("강격을 배웠습니다"); break;

        case SkillKind.kTwiceAttack:
            this.ActiveSkills[SkillCount] = SkillKind.kTwiceAttack; this.SkillCount++;
            AcquiredSkills.Add(SkillKind.kTwiceAttack);
            Debug.Log("난 한번에 두번 때려를 배웠습니다"); break;
        }
    }