-
-
![]()
-
-
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/types.ts b/src/types.ts
index 069e77a..88a63ce 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -10,23 +10,10 @@ export type Asset = {
type: 'base64' | 'link'
}
-export type Sprite = {
- id: string
- name: string
- origin_x: number
- origin_y: number
- frameSpeed: number
- frameWidth: number
- frameHeight: number
- isLooping: boolean
- createdAt: Date
- updatedAt: Date
-}
-
export type Tile = {
id: string
name: string
- tags?: any
+ tags: any | null
createdAt: Date
updatedAt: Date
}
@@ -34,7 +21,7 @@ export type Tile = {
export type Object = {
id: string
name: string
- tags?: any
+ tags: any | null
origin_x: number
origin_y: number
isAnimated: boolean
@@ -49,54 +36,19 @@ export type Object = {
export type Item = {
id: string
name: string
- description: string
+ description: string | null
stackable: boolean
createdAt: Date
updatedAt: Date
characters: CharacterItem[]
}
-export type User = {
- id: number
- username: string
- password: string
- characters: Character[]
-}
-
-export type Character = {
- id: number
- userId: number
- user: User
- name: string
- hitpoints: number
- mana: number
- level: number
- experience: number
- role: string
- position_x: number
- position_y: number
- rotation: number
- zoneId: number
- zone: Zone
- chats: Chat[]
- items: CharacterItem[]
-}
-
-export type CharacterItem = {
- id: number
- characterId: number
- character: Character
- itemId: string
- item: Item
- quantity: number
-}
-
export type Zone = {
id: number
name: string
width: number
height: number
- tiles: string[][]
+ tiles: any | null
pvp: boolean
zoneEventTiles: ZoneEventTile[]
zoneObjects: ZoneObject[]
@@ -133,6 +85,92 @@ export type ZoneEventTile = {
position_y: number
}
+export type User = {
+ id: number
+ username: string
+ password: string
+ characters: Character[]
+}
+
+export enum CharacterGender {
+ MALE = 'MALE',
+ FEMALE = 'FEMALE'
+}
+
+export enum CharacterRace {
+ HUMAN = 'HUMAN',
+ ELF = 'ELF',
+ DWARF = 'DWARF',
+ ORC = 'ORC',
+ GOBLIN = 'GOBLIN'
+}
+
+export type CharacterType = {
+ id: number
+ name: string
+ gender: CharacterGender
+ race: CharacterRace
+ characters: Character[]
+ spriteId: string
+ sprite: Sprite
+ createdAt: Date
+ updatedAt: Date
+}
+
+export type Character = {
+ id: number
+ userId: number
+ user: User
+ name: string
+ hitpoints: number
+ mana: number
+ level: number
+ experience: number
+ role: string
+ position_x: number
+ position_y: number
+ rotation: number
+ zoneId: number
+ zone: Zone
+ characterTypeId: number | null
+ characterType: CharacterType | null
+ chats: Chat[]
+ items: CharacterItem[]
+}
+
+export type CharacterItem = {
+ id: number
+ characterId: number
+ character: Character
+ itemId: string
+ item: Item
+ quantity: number
+}
+
+export type Sprite = {
+ id: string
+ name: string
+ createdAt: Date
+ updatedAt: Date
+ spriteImages: SpriteImage[]
+ characterTypes: CharacterType[]
+}
+
+export type SpriteImage = {
+ id: string
+ spriteId: string
+ sprite: Sprite
+ name: string
+ action: string
+ origin_x: number
+ origin_y: number
+ isAnimated: boolean
+ isLooping: boolean
+ frameWidth: number
+ frameHeight: number
+ frameSpeed: number
+}
+
export type Chat = {
id: number
characterId: number