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);//추후 수정
    }
Esempio n. 2
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); //추후 수정
    }
Esempio n. 3
0
    private void Start()
    {
        GetSpawnPoints();
        gameObject.transform.position = spawnpoints[spawnIndex].transform.position;
        isNearWater = false;
        isNearTree  = false;
        camera      = Camera.main;
        if (skills == null)
        {
            skills = new AcquiredSkills();
        }

        XPDropComponentStatic = XPDropComponent;
        if (UIButtons.newgame)
        {
            currentHealth     = maxHealth;
            currentStamina    = maxStamina;
            UIButtons.newgame = false;
        }
        healthBar.SetMaxHealth(maxHealth);
        healthBar.SetHealth(currentHealth);
        staminaBar.SetMaxStamina(maxStamina);
        staminaBar.SetStamina(currentStamina);
        InvokeRepeating("RegenStamina", staminaRegenTime, staminaRegenTime);
    }
Esempio n. 4
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);
     }
 }
Esempio n. 5
0
        public bool HasAcquiredSkill(SkillDefinition definition)
        {
            for (int i = 0; i < AcquiredSkills.Count; i++)
            {
                if (AcquiredSkills.Contains(definition))
                {
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 6
0
    public void LoadStats(int maxHP, int currHP, int maxSTA, int currSTA, bool[] currSkills,
                          int currXP, int currSkillPoints, int currLevel, int crabsKilled)
    {
        maxHealth     = maxHP;
        currentHealth = currHP;

        maxStamina     = maxSTA;
        currentStamina = currSTA;

        skills       = new AcquiredSkills(currSkills);
        XP           = currXP;
        skillPoints  = currSkillPoints;
        currentLevel = currLevel;
        CharacterController.crabsKilled = crabsKilled;
        //Debug.Log(skills.HasAcquired(AcquiredSkills.SkillEnum.StaminaRegen));
        healthBar.SetMaxHealth(maxHealth);
        healthBar.SetHealth(currentHealth);
        staminaBar.SetMaxStamina(maxStamina);
        staminaBar.SetStamina(currentStamina);
    }
Esempio n. 7
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;
        }
    }