Daram RandomDaram() { if (DaramBias == null || Random.value < 0.01) // 낮은 확률로 타겟 변경 { DaramBias = Daram.All[Random.Range(0, Daram.All.Count)]; } return(DaramBias); }
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>(); }
//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; } }
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; }
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); } }