一个全随机的刷装备小游戏
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.8 KiB

import { extra_entry_num } from './constant';
2 months ago
export class Entry {
type: string;
value: number;
showVal: string;
percent: number;
max: number;
min: number;
2 months ago
constructor(type: string, value: number, showVal: string, max: number, min: number) {
2 months ago
this.type = type;
this.value = value;
this.showVal = showVal;
this.max = max;
this.min = min;
this.percent = Math.round(((value - min) / (max - min)) * 100);
2 months ago
}
}
export class Quality {
quality: string;
qualityCoefficient: number;
// color: string;
2 months ago
extraEntryNum: number;
constructor(quality: string, coefficient: number) {
2 months ago
this.quality = quality;
this.qualityCoefficient = coefficient;
// this.color = quality_collor[quality];
2 months ago
this.extraEntryNum = extra_entry_num[quality];
}
}
export class EquipBase {
name: string;
icon: string;
entry: Entry[];
skill?: string;
constructor(name: string, icon: string, entry: Entry[], skill?: string) {
2 months ago
this.name = name;
this.icon = icon;
this.entry = entry;
this.skill = skill;
2 months ago
}
}
export class Equip {
id?: string;
2 months ago
type: string;
lv: number;
locked: boolean = false;
strengthenLv: number = 0;
quality: Quality;
base: EquipBase;
extraEntry: Entry[];
reRoll?: number;
2 months ago
constructor(type: string, lv, quality: Quality, base: EquipBase, extraEntry: Entry[]) {
this.type = type;
this.lv = lv;
this.quality = quality;
this.base = base;
this.extraEntry = extraEntry;
}
}
export class Categorys {
name: string;
icon: string;
entry: any[];
skill?: string;
reRoll: number;
constructor(name: string, icon: string, entry: any[], skill?: string, reRoll?: number) {
this.name = name;
this.icon = icon;
this.entry = entry;
this.skill = skill;
this.reRoll = reRoll || 0;
}
}