91 lines
2.5 KiB
Java
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);
|
|
}
|