diff --git a/src/app/games/massive-darkness2/massive-darkness2.db.model.ts b/src/app/games/massive-darkness2/massive-darkness2.db.model.ts new file mode 100644 index 0000000..c151bc9 --- /dev/null +++ b/src/app/games/massive-darkness2/massive-darkness2.db.model.ts @@ -0,0 +1,63 @@ +import { MobType } from "./massive-darkness2.model"; +import { MobSkillType } from "./massive-darkness2.model.boss"; + +export enum MobSkillTarget { + Random = 40, + LeastHp = 50, + LeastMp = 60, + HighestHp = 70, + HighestMp = 80, + LowestLevel = 90, + MostCorruption = 200, + LeastCorruption = 201 +} + +export enum GameBundle { + CoreGame, + HeavenFallen, + Zombiecide +} +export interface MD2MobInfo { + id: string; + type: MobType; + from: GameBundle; + name: string; + leaderImgUrl: string; + minionImgUrl: string; + mobLevelInfos: MD2MobLevelInfo[]; +} + +export interface MD2MobLevelInfo { + id: string; + mobInfoId: string; + rewardTokens: number; + fixedRareTreasure: number; + fixedEpicTreasure: number; + fixedLegendTreasure: number; + fixedHp: number; + hpPerHero: number; + actions: number; + attackInfo: MD2DiceSet; + defenceInfo: MD2DiceSet; + skills: MD2MobSkill[]; +} + +export interface MD2MobSkill { + id: string; + mobLevelInfoId: string; + type: MobSkillType; + skillTarget: MobSkillTarget | null; + clawRoll: number; + skillRoll: number; + name: string; + description: string; +} + +export interface MD2DiceSet { + yellow: number | null; + orange: number | null; + red: number | null; + blue: number | null; + green: number | null; + black: number | null; +} \ No newline at end of file diff --git a/src/app/games/massive-darkness2/service/massive-darkness2.service.ts b/src/app/games/massive-darkness2/service/massive-darkness2.service.ts new file mode 100644 index 0000000..cd3488c --- /dev/null +++ b/src/app/games/massive-darkness2/service/massive-darkness2.service.ts @@ -0,0 +1,37 @@ +import { Injectable } from '@angular/core'; +import { CrudService } from '../../../services/crudServices/crud.service'; +import { MD2MobInfo, MD2MobLevelInfo, MD2MobSkill } from '../massive-darkness2.db.model'; +import { HttpClient } from '@angular/common/http'; + +@Injectable({ + providedIn: 'root' +}) +export class MD2MobInfoService extends CrudService { + + constructor(http: HttpClient) { + super(http, (action: string = null) => { return `MD2MobInfo${(action ? `/${action}` : '')}` }); + } + +} + + +@Injectable({ + providedIn: 'root' +}) +export class MD2MobLevelInfoService extends CrudService { + + constructor(http: HttpClient) { + super(http, (action: string = null) => { return `MD2MobLevelInfo${(action ? `/${action}` : '')}` }); + } + +} +@Injectable({ + providedIn: 'root' +}) +export class MD2MobSkillService extends CrudService { + + constructor(http: HttpClient) { + super(http, (action: string = null) => { return `MD2MobSkill${(action ? `/${action}` : '')}` }); + } + +} \ No newline at end of file diff --git a/src/environments/environment.ts b/src/environments/environment.ts index fe5d828..c198d5a 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -13,7 +13,7 @@ const urls = [ 'https://api.golife.love' ]; const LINE_CLIENT_ID = '1657422139'; -const dockerDebug = urls[2]; +const dockerDebug = urls[0]; export const environment = { production: false, apiUrl: dockerDebug,