-
Notifications
You must be signed in to change notification settings - Fork 2
hotfix‐StatApply
Jeon-YJ1004 edited this page Jul 29, 2023
·
3 revisions
아직 미구현인 스탯
- GameManager.cs 에서 CharacterData(CharacterScriptableObject)로 캐릭터 초기 스탯 값 설정
- CharacterStats(float[])에 파워업과 아이템 습득에 따른 가변적 스탯 저장 스탯의 초기값에 따라 저장되는 CharacterStats의 형태가 다르다.(0상수값 /1퍼센트)
//퍼센트
CharacterStats[(int)Enums.EStat.Might] = CharacterData.Might + UserInfo.instance.UserDataSet.PowerUpStat[(int)Enums.EStat.Might];
// 상수값
CharacterStats[(int)Enums.EStat.MaxHealth] = 1 + UserInfo.instance.UserDataSet.PowerUpStat[(int)Enums.EStat.MaxHealth];
//곱셈식
CharacterStats[(int)Enums.EStat.Magnet] = CharacterData.MagnetBonus *(1+ UserInfo.instance.UserDataSet.PowerUpStat[(int)Enums.EStat.Magnet]);
[Character.cs]
private void Start()
{
mArmor = GameManager.instance.CharacterStats[(int)Enums.EStat.Armor];
}
private void Update()
{
mArmor = GameManager.instance.CharacterStats[(int)Enums.EStat.Armor];
}
public void TakeDamage(float damage, int weaponIndex)
{
if (damage - mArmor> 0)
{
mCurrentHp -= Time.deltaTime * (damage - mArmor) * 2;
}
}
[Character.cs]
private void Start()
{
mMaxExp = 100;
mCurrentHp = GameManager.instance.CharacterData.MaxHealth * GameManager.instance.CharacterStats[(int)Enums.EStat.MaxHealth];
mMaxHp = GameManager.instance.CharacterData.MaxHealth * GameManager.instance.CharacterStats[(int)Enums.EStat.MaxHealth];
}
매초 recovery스탯만큼 체력회복, 치킨 습득시 스탯 만큼 추가 회복
[Character.cs]
private void Start()
{
InvokeRepeating("RepeatRecovery", 1, 1);
}
public void RestoreHealth(float amount)
{
if (mCurrentHp < mMaxHp)
{
amount = amount * (1 + GameManager.instance.CharacterStats[(int)Enums.EStat.Recovery]);
mCurrentHp += amount;
}
}
private void RepeatRecovery()
{
if (mCurrentHp < mMaxHp)
{
mCurrentHp +=GameManager.instance.CharacterStats[(int)Enums.EStat.Recovery];
}
}
[PlayerMovement.cs]
private const float mMOVE_SPEED = 4f;// 기본 속도
private void FixedUpdate()
{
mRb.MovePosition(mRb.position + mMovement * (mMOVE_SPEED*GameManager.instance.CharacterStats[(int)Enums.EStat.MoveSpeed]) * Time.fixedDeltaTime);
}
Magnet = 30 * character bonus * PowerUp multiplier
[GameManager.cs]
private void Start()
{
CharacterStats[(int)Enums.EStat.Magnet] = CharacterData.MagnetBonus *(1+
UserInfo.instance.UserDataSet.PowerUpStat[(int)Enums.EStat.Magnet]);
}
[GoToPlayer.cs]
private float mPickupDistance = 2.5f;
private void Update()
{
mPickupDistance *= GameManager.instance.CharacterStats[(int)Enums.EStat.Magnet];
}
뱀서 위키- Luck 스탯 [행운 효과 정리]
- 레벨업 선택지의 네 번째 옵션 등장 확률 증가.
- 화로가 재등장할 확률 증가.
- 화로 파괴 시 금화 이외의 드롭 아이템이 나올 확률 증가.
- 보물상자에서 3/5개의 보상을 얻을 확률 증가.
- 스테이지 아이템이 여러개 등장할 확률 증가.
- 스테이지의 이벤트 보스가 등장하고 보물상자를 드롭할 확률 증가.
- 박쥐, 꽃무리 등 부정적 이벤트의 확률 감소.
- 함정의 재발동 시간 증가. <무기 관련>
- 치명타가 발동하는 무기의 치명 확률 증가.
- 치명타 확률 = 무기의 기본 치명타 확률 x 총 행운(기본 행운 100% + 추가 행운 + 스테이지 보너스) 등등 너무 많아서 아직 미적용된 부분이 많음
[GameManager.cs]
private void Start()
{
UpdateLuck(CharacterStats[(int)Enums.EStat.Luck]);
}
UpdateLuck(CharacterStats[(int)Enums.EStat.Luck]);
[GameManager.cs]
public void GetExp(float exp)
{
exp=exp*GameManager.instance.CharacterStats[(int)Enums.EStat.Growth];
}
탐욕 수치를 통한 골드 획득량 = (기본 수치 + 추가 능력치) x 스테이지 골드 보너스
[GameManager.cs]
public void GetCoin(int amount)
{
amount =(int)Math.Ceiling(amount * CharacterStats[(int)Enums.EStat.Greed]);
Coin += amount;
}
- 몬스터 웨이브 양,주기 증가
- 몬스터 체력, 스피드 증가
[Enemy.cs]
private void FixedUpdate()
{
if (EnemyData.SpriteType == 4)
{
Vector2 nextVec = 0.01f * EnemyData.Speed * GameManager.instance.CharacterStats[(int)Enums.EStat.Curse] * Time.fixedDeltaTime * mDirection;
mRb.position += nextVec;
}
else
{
Vector2 nextVec = 0.01f * EnemyData.Speed * GameManager.instance.CharacterStats[(int)Enums.EStat.Curse] * Time.fixedDeltaTime * mDirection;
}
private void OnEnable()
{
mHealth = EnemyData.MaxHP*mLevel* GameManager.instance.CharacterStats[(int)Enums.EStat.Curse];
}
- Weapon.cs에서 일괄적으로 Might, Cooldown, Area, ProjectileSpeed, Duration, Amount 스탯 값 설정
Reroll 새로고침, Skip 건너뛰기, Banish 지우기
- Reflection
- Ommi: stats in Vampire Survivors. It affects the damage, size, projectile speed and duration of all the weapons.