fix: 캐릭터 레벨업시 공격력, 방어력 증가하지 않는 버그 수정
This commit is contained in:
@@ -14,11 +14,11 @@ namespace TON
|
|||||||
public int fishAmount { get; private set; }
|
public int fishAmount { get; private set; }
|
||||||
public UserItemData userItem { get; private set; } = new UserItemData();
|
public UserItemData userItem { get; private set; } = new UserItemData();
|
||||||
|
|
||||||
public int defensiveIntention { get; private set; } = 200; // 방어력 변수 (조정 가능)
|
public float defensiveIntention { get; private set; } = 200f; // 방어력 변수 (조정 가능)
|
||||||
public int requireLevelUpExp; // 경험치 변수 (조정 가능)
|
public int requireLevelUpExp; // 경험치 변수 (조정 가능)
|
||||||
|
|
||||||
[SerializeField] private int expVariable = 50; // 경험치 변수 (조정 가능)
|
[SerializeField] private int expVariable = 50; // 경험치 변수 (조정 가능)
|
||||||
[SerializeField] private int attackGrowthFactor = 50; // 공격력 성장 변수 (조정 가능)
|
[SerializeField] private float attackGrowthFactor = 50f; // 공격력 성장 변수 (조정 가능)
|
||||||
|
|
||||||
private BackendCashDataManager cashDataManager;
|
private BackendCashDataManager cashDataManager;
|
||||||
private BackendItemDataManager itemDataManager;
|
private BackendItemDataManager itemDataManager;
|
||||||
@@ -138,10 +138,10 @@ namespace TON
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 공격력과 방어력 업데이트
|
// 공격력과 방어력 업데이트
|
||||||
private void UpdateStats(int currentLevel)
|
private void UpdateStats(int level)
|
||||||
{
|
{
|
||||||
player.attackPower = player.attackPower * (1 + (currentLevel - 1) / attackGrowthFactor);
|
player.attackPower = player.attackPower * (1 + level / attackGrowthFactor);
|
||||||
player.defensivePower = player.defensivePower * (1 + (currentLevel - 1) / defensiveIntention);
|
player.defensivePower = player.defensivePower * (1 + level / defensiveIntention);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 현재 레벨에서 다음 레벨까지 필요한 경험치 계산
|
// 현재 레벨에서 다음 레벨까지 필요한 경험치 계산
|
||||||
@@ -161,10 +161,10 @@ namespace TON
|
|||||||
{
|
{
|
||||||
// 레벨업 후 초과된 경험치를 반영하기 위해 다시 계산
|
// 레벨업 후 초과된 경험치를 반영하기 위해 다시 계산
|
||||||
player.experience -= requireLevelUpExp;
|
player.experience -= requireLevelUpExp;
|
||||||
// 레벨업으로 인한 공격력/방어력 업데이트
|
|
||||||
UpdateStats(player.level);
|
|
||||||
// 레벨 증가
|
// 레벨 증가
|
||||||
player.level++;
|
player.level++;
|
||||||
|
// 레벨업으로 인한 공격력/방어력 업데이트
|
||||||
|
UpdateStats(player.level);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -172,6 +172,7 @@ namespace TON
|
|||||||
|
|
||||||
public void UpdatePlayerData()
|
public void UpdatePlayerData()
|
||||||
{
|
{
|
||||||
|
Debug.Log($"player {player.level}: {player.attackPower}, {player.defensivePower}");
|
||||||
int index = playersData.FindIndex(x => x.id == player.id);
|
int index = playersData.FindIndex(x => x.id == player.id);
|
||||||
if (index > -1)
|
if (index > -1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ namespace TON
|
|||||||
// 캐릭터 마나(스킬 포인트)
|
// 캐릭터 마나(스킬 포인트)
|
||||||
public int mp;
|
public int mp;
|
||||||
// 기본 공격력
|
// 기본 공격력
|
||||||
public int attackPower;
|
public float attackPower;
|
||||||
// 기본 방어력
|
// 기본 방어력
|
||||||
public int defensivePower;
|
public float defensivePower;
|
||||||
// 캐릭터 크리티컬 수치
|
// 캐릭터 크리티컬 수치
|
||||||
public int critical;
|
public int critical;
|
||||||
|
|
||||||
@@ -37,8 +37,8 @@ namespace TON
|
|||||||
experience = 0;
|
experience = 0;
|
||||||
hp = 100;
|
hp = 100;
|
||||||
mp = 100;
|
mp = 100;
|
||||||
attackPower = 50;
|
attackPower = 50f;
|
||||||
defensivePower = 30;
|
defensivePower = 30f;
|
||||||
critical = 30;
|
critical = 30;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ namespace TON
|
|||||||
characterHp.text = $"{player.hp}";
|
characterHp.text = $"{player.hp}";
|
||||||
characterMp.text = $"{player.mp}";
|
characterMp.text = $"{player.mp}";
|
||||||
characterLevel.text = $"Lv {player.level}";
|
characterLevel.text = $"Lv {player.level}";
|
||||||
characterAttck.text = $"{player.attackPower}";
|
characterAttck.text = $"{Mathf.RoundToInt(player.attackPower)}";
|
||||||
characterDefence.text = $"{player.defensivePower}";
|
characterDefence.text = $"{Mathf.RoundToInt(player.defensivePower)}";
|
||||||
characterCritical.text = $"{player.critical}";
|
characterCritical.text = $"{player.critical}";
|
||||||
|
|
||||||
characterExp.text = $"{player.experience}/{PlayerDataManager.Singleton.requireLevelUpExp}";
|
characterExp.text = $"{player.experience}/{PlayerDataManager.Singleton.requireLevelUpExp}";
|
||||||
|
|||||||
Reference in New Issue
Block a user