예제 #1
0
    Daram RandomDaram()
    {
        if (DaramBias == null || Random.value < 0.01)   // 낮은 확률로 타겟 변경
        {
            DaramBias = Daram.All[Random.Range(0, Daram.All.Count)];
        }

        return(DaramBias);
    }
예제 #2
0
    void Start()
    {
        gm     = GameManager.gm;
        button = GetComponent <Button>();
        Daram  = daram.GetComponent <Daram>();

        //DaramCost = Daram.Cost;
        DaramHP            = Daram.InitialHP;
        daramInfo          = transform.GetChild(0).gameObject;
        daramInfoText      = daramInfo.GetComponentInChildren <Text>();
        daramInfoText.text = daram.name + "\n\n체력 : " + DaramHP + "\n특성 : " + Daram.feature;
        pointerOn          = false;
        DaramAmountText    = transform.GetChild(2).GetComponentInChildren <Text>();
    }
예제 #3
0
    //lv2 다람쥐가 해금되면 실행됨
    public void FameDaram2()
    {
        // IsInterRound가 true이면 인기도는 변하지 않아도 함수는 작동함
        Quadric q = DaramFunction[User.level2];

        q.k   = 0.2f;
        q.x   = Daram.FindByType("Basic", 2);
        q.a   = 5 + userCount[User.level2] / 100 + userCount[User.level1] / 2000;
        q.max = 2;
        q.min = -3;

        if (!isInterRound)
        {
            fame += (int)q.value;
        }
    }
예제 #4
0
    void CalculateQuadric()
    {
        Quadric q = DaramFunction[User.level1];

        q.x        = Daram.FindByType("", 1);
        q.a        = 9.0f + (float)userCount[User.level1] / 500.0f;
        q.max      = 5.0f + Daram.VarietyModifier / 2.0f;
        q.min      = -5.0f;
        q.solution = 10.0f * Daram.VarietyModifier + q.a / 10.0f;

        q          = DaramFunction[User.level2];
        q.x        = Daram.FindByType("", 2);
        q.a        = 5.0f + (float)userCount[User.level2] / 500.0f + (float)userCount[User.level1] / 2000.0f;
        q.max      = 2.0f + Daram.VarietyModifier / 3.0f;
        q.min      = -3.0f;
        q.solution = 5.0f * Daram.VarietyModifier + q.a / 10.0f;
    }
예제 #5
0
    void DaramDeath2()  // 중수에 의한 데미지
    {
        int TotalDamage = (int)(userCount[User.level2] * userDamagePerLevel[User.level2]);

        while (Daram.All.Count != 0 && TotalDamage > 0)
        {
            float DamageEff = 1.0f;    // 다람쥐 종류별 데미지계수
            Daram d         = RandomDaram();

            switch (d.Level)
            {
            case 1:
                DamageEff = 0.5f;       // 흥미가 없어서 안잡습니다
                break;

            case 2:
                DamageEff = 1.0f;
                break;
            }
            float DamageDealt = Mathf.Max(Mathf.Min(TotalDamage * DamageEff, d.HP), 1);
            d.HP        -= (int)DamageDealt;
            TotalDamage -= (int)(DamageDealt / DamageEff);
        }
    }