#include "pch.h" #include "Monster.h" #include "GameInstance.h" #include "Core/Subsystems/GameInputSystem.h" #include "Game/Characters/Player/Player.h" Monster::Monster(MonsterStatData&& Desc) : MonsterData(std::move(Desc)) { OriginalData = MonsterData; } Monster::~Monster() { Release(); } void Monster::Attack(class Player* Target) { GInput << MonsterData.Name << "이 공격했다! \n"; system("pause"); std::string TargetName = Target->GetName(); int TargetDefence = Target->GetDefence(); int Damage = 0; Damage = (MonsterData.Attack - TargetDefence) < 0 ? 1 : (MonsterData.Attack - TargetDefence); GInput << TargetName << "에게 " << Damage << " 데미지!" << "\n"; GInput << TargetName << " HP: " << Target->GetHP() << " -> "; Target->TakeDamage(Damage); GInput << Target->GetHP() << "\n"; system("pause"); } void Monster::Release() { } void Monster::TakeDamage(int Amount) { MonsterData.HP -= Amount; } bool Monster::IsDead() { return MonsterData.HP < 0; } void Monster::Reset() { MonsterData = OriginalData; } std::string Monster::GetName() const { return MonsterData.Name; } std::string Monster::GetDropItemName() const { return MonsterData.DropItemName; } int Monster::GetDropItemPrice() const { return MonsterData.DropItemPrice; } int Monster::GetHP() const { return MonsterData.HP; } int Monster::GetAttack() const { return MonsterData.Attack; } int Monster::GetDefence() const { return MonsterData.Defence; }