Resolve circular dependency
This commit is contained in:
parent
89164bf83d
commit
dc63079081
6 changed files with 130 additions and 127 deletions
115
src/services/game/structures/attacks.ts
Normal file
115
src/services/game/structures/attacks.ts
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
import { DamageType } from "./damageTypes.js";
|
||||
|
||||
export interface IAttack {
|
||||
id: Attack;
|
||||
damageType: DamageType;
|
||||
damageMultiplier: number;
|
||||
messages: string[];
|
||||
messagesDead: string[];
|
||||
messagesOverpower: string[];
|
||||
}
|
||||
|
||||
export enum Attack {
|
||||
PUNCH = "PUNCH",
|
||||
CUT = "CUT",
|
||||
STAB = "STAB",
|
||||
KICK = "KICK",
|
||||
STOMP = "STOMP",
|
||||
SIT = "SIT",
|
||||
RIP = "RIP",
|
||||
}
|
||||
|
||||
export const attackPunch: IAttack = {
|
||||
id: Attack.PUNCH,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 0.5,
|
||||
messages: ["ATTACKER punches DEFENDER"],
|
||||
messagesDead: [
|
||||
"ATTACKER punches DEFENDER to death",
|
||||
"ATTACKER beats DEFENDER to death",
|
||||
],
|
||||
messagesOverpower: ["ATTACKER punches DEFENDER into mush"],
|
||||
};
|
||||
|
||||
export const attackCut: IAttack = {
|
||||
id: Attack.CUT,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 1,
|
||||
messages: ["ATTACKER cuts DEFENDER"],
|
||||
messagesDead: [
|
||||
"ATTACKER cuts DEFENDER in half",
|
||||
"ATTACKER cuts DEFENDER's head off",
|
||||
"ATTACKER cuts DEFENDER, instantly killing them",
|
||||
],
|
||||
messagesOverpower: ["ATTACKER cuts DEFENDER in half"],
|
||||
};
|
||||
|
||||
export const attackStab: IAttack = {
|
||||
id: Attack.STAB,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 1.5,
|
||||
messages: ["ATTACKER stabs DEFENDER"],
|
||||
messagesDead: [
|
||||
"ATTACKER stabs DEFENDER to death",
|
||||
"ATTACKER stabs DEFENDER, instantly killing them",
|
||||
],
|
||||
messagesOverpower: ["ATTACKER stabs DEFENDER, instantly killing them"],
|
||||
};
|
||||
|
||||
export const attackKick: IAttack = {
|
||||
id: Attack.KICK,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 0.75,
|
||||
messages: [
|
||||
"ATTACKER kick DEFENDER",
|
||||
"ATTACKER kick DEFENDER in their face",
|
||||
],
|
||||
messagesDead: ["ATTACKER kicks DEFENDER to death"],
|
||||
messagesOverpower: ["ATTACKER kicks DEFENDER into mush"],
|
||||
};
|
||||
|
||||
export const attackStomp: IAttack = {
|
||||
id: Attack.STOMP,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 0.75,
|
||||
messages: [
|
||||
"ATTACKER stomps DEFENDER",
|
||||
"ATTACKER stomps DEFENDER in their face",
|
||||
],
|
||||
messagesDead: ["ATTACKER stomps DEFENDER to death"],
|
||||
messagesOverpower: [
|
||||
"ATTACKER stomps DEFENDER into mush",
|
||||
"DEFENDER explodes after ATTACKER stomps them into bloody mush",
|
||||
],
|
||||
};
|
||||
|
||||
export const attackSit: IAttack = {
|
||||
id: Attack.SIT,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 0.65,
|
||||
messages: ["ATTACKER sits on DEFENDER"],
|
||||
messagesDead: ["ATTACKER sits on DEFENDER and crushes them to death"],
|
||||
messagesOverpower: [
|
||||
"ATTACKER sits on DEFENDER and crushes them into mush and goo",
|
||||
"DEFENDER explodes after ATTACKER sits on them with their full weight",
|
||||
],
|
||||
};
|
||||
|
||||
export const attackRip: IAttack = {
|
||||
id: Attack.RIP,
|
||||
damageType: DamageType.PHYSICAL,
|
||||
damageMultiplier: 0.3,
|
||||
messages: ["ATTACKER tries to rip DEFENDER's limbs off"],
|
||||
messagesDead: ["ATTACKER rips DEFENDER's head off"],
|
||||
messagesOverpower: ["ATTACKER effortlessly rips DEFENDER's body in half"],
|
||||
};
|
||||
|
||||
export const attacks = [
|
||||
attackPunch,
|
||||
attackCut,
|
||||
attackStab,
|
||||
attackKick,
|
||||
attackStomp,
|
||||
attackSit,
|
||||
attackRip,
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue