Files
HW-04-JAVA-KNIGHT/Java-Knight/src/main/java/org/project/entity/Entity.java
T
2026-05-17 06:17:48 -07:00

91 lines
2.5 KiB
Java

package org.project.entity;
import org.project.abilities.SpecialAbility;
import org.project.item.armors.Armor;
import org.project.item.weapons.Weapon;
import org.project.managers.StatusEffectManager;
import org.project.weaponEffects.StatusEffect;
public interface Entity {
// =========================================================
// IDENTITY
// =========================================================
String getName();
// =========================================================
// STATS
// =========================================================
int getHp();
int getMp();
int getMaxHP();
int getMaxMP();
void useMana(int amount);
int getBaseDamage();
// =========================================================
// EQUIPMENT
// =========================================================
Weapon getWeapon();
Armor getArmor();
void setWeapon(Weapon weapon);
void setArmor(Armor armor);
Armor getPersonalArmor();
// =========================================================
// ABILITIES
// =========================================================
SpecialAbility getSpacialAbility();
void addAbilityEffect(SpecialAbility ability, Entity target);
void tickAbilityEffects(Entity target);
// =========================================================
// STATUS EFFECTS
// =========================================================
void heal(int amount);
void freeze();
void stun();
void addStatusEffect(StatusEffect effect);
void tickStatusEffects();
StatusEffectManager getEffectManager();
// // =========================================================
// // RESOURCE MANAGEMENT
// // =========================================================
//
// void useMana(int amount);
// =========================================================
// COMBAT
// =========================================================
void takeDamage(int amount);
// =========================================================
// STATES
// =========================================================
void defend();
boolean isDefending();
boolean isFrozen();
boolean isStunned();
void resetTurnState();
// =========================================================
// INTERNAL SETTERS
// =========================================================
void setHp(int value);
void setMp(int value);
}