diff --git a/src/components/equip.vue b/src/components/equip.vue
index 3b78e4b..7e01745 100644
--- a/src/components/equip.vue
+++ b/src/components/equip.vue
@@ -8,7 +8,10 @@
diff --git a/src/config/equips/armor.ts b/src/config/equips/armor.ts
index 4af702d..0a52494 100644
--- a/src/config/equips/armor.ts
+++ b/src/config/equips/armor.ts
@@ -1,6 +1,6 @@
import { createExtraEntry, createBase, createSamples } from './base';
import { Entry, Quality, EquipBase, Equip, Categorys } from './bean';
-import { qualitys, entry_initor, extra_entry_num } from './constant';
+import { qualitys, extra_entry_num } from './constant';
const extraEntrys = ['atk', 'hp', 'def', 'defPercent', 'hpPercent', 'dmgReduc', 'critAvoid', 'critDmgReduc'];
const coefficient = { shabby: 0.7, ordinary: 1, artifact: 1.5, epic: 1.8, unique: 2, colorful: 2 };
@@ -57,7 +57,8 @@ export const armorColorfulCategorys: Categorys[] = [
{ type: 'bloc', valCoefficient: 2.8 },
{ type: 'def', valCoefficient: 1.0 },
],
- 'LaoBuKePo'
+ 'LaoBuKePo',
+ 0.6
),
];
@@ -124,26 +125,26 @@ export const armorCategorys: ArmorCategory[] = [
export const initialArmor = () => {
const type = 'armor';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('initial', 'A_A3.png', [new Entry('def', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('hp', 10, '+10', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createarmor = (quality, lv, category) => {
+export const createarmor = (quality, lv, category, extraQuality) => {
const type = 'armor';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(armorExtraEntry(quality, lv));
+ extraEntry.push(armorExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const armorExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const armorExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const armorSamples = createSamples(armorCategorys, armorUniqueCategorys, armorColorfulCategorys, 'armor', coefficient);
diff --git a/src/config/equips/base.ts b/src/config/equips/base.ts
index f9518f4..7442ca0 100644
--- a/src/config/equips/base.ts
+++ b/src/config/equips/base.ts
@@ -1,46 +1,54 @@
import { Categorys, Equip, EquipBase, Quality } from './bean';
-import { entry_initor, EntryInitor, extra_entry_num, qualitys } from './constant';
+import { entry_initor, EntryInitor, extra_entry_num, extra_quality, extra_quality_lv, qualitys } from './constant';
-export const createBase = (quality, lv, category, coefficient) => {
+export const createBase = (quality, lv, category, coefficient, extraQuality) => {
const entry = new Array();
category.entry.forEach((item) => {
const initor: EntryInitor = entry_initor[item.type];
const qualityCoefficient = coefficient[quality];
- entry.push(initor.init(lv, qualityCoefficient, item.valCoefficient));
+ entry.push(initor.init(lv, qualityCoefficient, item.valCoefficient, extraQuality));
});
return new EquipBase(category.name, category.icon, entry, category.skill);
};
-export const createExtraEntry = (quality, lv, extraEntrys, coefficient) => {
+export const createExtraEntry = (quality, lv, extraEntrys, coefficient, extraQuality) => {
const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)];
const initor: EntryInitor = entry_initor[type];
const qualityCoefficient = coefficient[quality];
- return initor.init(lv, qualityCoefficient);
+ return initor.init(lv, qualityCoefficient, 1, extraQuality);
};
export const createSamples = (categorys: Categorys[], uniqueCategorys: Categorys[], colorfulCategorys: Categorys[], type, coefficient) => {
const samples = {
+ taigu: new Array(),
+ yuangu: new Array(),
colorful: new Array(),
unique: new Array(),
epic: new Array(),
artifact: new Array(),
};
colorfulCategorys.forEach((item) => {
- samples.colorful.push(createSample('colorful', item, type, coefficient));
+ samples.taigu.push(createSample('colorful', item, type, coefficient, extra_quality[1]));
+ });
+ colorfulCategorys.forEach((item) => {
+ samples.yuangu.push(createSample('colorful', item, type, coefficient, extra_quality[0]));
+ });
+ colorfulCategorys.forEach((item) => {
+ samples.colorful.push(createSample('colorful', item, type, coefficient, ''));
});
uniqueCategorys.forEach((item) => {
- samples.unique.push(createSample('unique', item, type, coefficient));
+ samples.unique.push(createSample('unique', item, type, coefficient, ''));
});
categorys.forEach((item) => {
- samples.epic.push(createSample('epic', item, type, coefficient));
- samples.artifact.push(createSample('artifact', item, type, coefficient));
+ samples.epic.push(createSample('epic', item, type, coefficient, ''));
+ samples.artifact.push(createSample('artifact', item, type, coefficient, ''));
});
return samples;
};
-const createSample = (quality, category, type, coefficient): Equip => {
- const lv = 100;
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+const createSample = (quality, category, type, coefficient, extraQuality): Equip => {
+ const lv = extraQuality ? 100 + extra_quality_lv : 100;
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const sample = new Equip(type, lv, qualityBean, base, extraEntry);
sample.reRoll = category.reRoll;
diff --git a/src/config/equips/bean.ts b/src/config/equips/bean.ts
index 0bc2e0f..4171310 100644
--- a/src/config/equips/bean.ts
+++ b/src/config/equips/bean.ts
@@ -21,13 +21,13 @@ export class Entry {
export class Quality {
quality: string;
qualityCoefficient: number;
- // color: string;
extraEntryNum: number;
- constructor(quality: string, coefficient: number) {
+ extraQuality: string;
+ constructor(quality: string, coefficient: number, extraQuality: string) {
this.quality = quality;
this.qualityCoefficient = coefficient;
- // this.color = quality_collor[quality];
this.extraEntryNum = extra_entry_num[quality];
+ this.extraQuality = extraQuality;
}
}
diff --git a/src/config/equips/bracers.ts b/src/config/equips/bracers.ts
index ee51049..627bd8f 100644
--- a/src/config/equips/bracers.ts
+++ b/src/config/equips/bracers.ts
@@ -112,26 +112,26 @@ export const bracersCategorys: BracersCategory[] = [
export const initialbracers = () => {
const type = 'bracers';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('shiwangsy', 'bracers/新手.png', [new Entry('atk', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('hp', 20, '+20', 20, 20)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createbracers = (quality, lv, category): Equip => {
+export const createbracers = (quality, lv, category, extraQuality): Equip => {
const type = 'bracers';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(bracersExtraEntry(quality, lv));
+ extraEntry.push(bracersExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const bracersExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const bracersExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const bracersSamples = createSamples(bracersCategorys, bracersUniqueCategorys, bracersColorfulCategorys, 'bracers', coefficient);
diff --git a/src/config/equips/constant.ts b/src/config/equips/constant.ts
index 3f7a6fb..cd03978 100644
--- a/src/config/equips/constant.ts
+++ b/src/config/equips/constant.ts
@@ -3,8 +3,8 @@ import { Entry } from './bean';
//装备质量
export const qualitys = ['shabby', 'ordinary', 'artifact', 'epic', 'unique', 'colorful'];
export const extra_quality = ['yuangu', 'taigu'];
-export const extra_quality_rate = [0.1, 0.1];
-export const extra_quality_lv = 20;
+export const extra_quality_rate = [0.1, 0.01];
+export const extra_quality_lv = 50;
//装备颜色
export const quality_collor = {
@@ -53,15 +53,13 @@ class BaseInitor implements EntryInitor {
factor1: number;
factor2: number;
constant: number;
- defCoefficient: number = 1;
constructor(type: string, factor1: number, factor2: number, constant: number) {
this.type = type;
this.factor1 = factor1;
this.factor2 = factor2;
this.constant = constant;
}
- init(lv: number, qualityCoefficient: number, valCoefficient?: number, extraQuality?: string): Entry {
- valCoefficient = valCoefficient || this.defCoefficient;
+ init(lv: number, qualityCoefficient: number, valCoefficient: number, extraQuality?: string): Entry {
const num1 = lv * valCoefficient * this.factor1;
const num2 = Math.random() * lv * this.factor2 + this.constant;
const manNum2 = lv * this.factor2 + this.constant;
@@ -69,27 +67,26 @@ class BaseInitor implements EntryInitor {
const value = Math.round((num1 + num2) * qualityCoefficient) || 1;
const max = Math.round((num1 + manNum2) * qualityCoefficient) || 1;
const min = Math.round((num1 + minNum2) * qualityCoefficient) || 1;
- return new Entry(this.type, value, '+' + value, max, min);
+ return this.createEntry(value, max, min, extraQuality);
}
-}
-class PercentInitor extends BaseInitor {
- init(lv: number, qualityCoefficient: number, valCoefficient?: number, extraQuality?: string): Entry {
- const entry = super.init(lv, qualityCoefficient, valCoefficient, extraQuality);
- entry.showVal += '%';
- return entry;
+
+ createEntry(value, max, min, extraQuality): Entry {
+ const unity = attr_unitys[this.type] || '';
+ if (extraQuality == extra_quality[1]) {
+ return new Entry(this.type, max, '+' + max + unity, max, max);
+ }
+ return new Entry(this.type, value, '+' + value + unity, max, min);
}
}
class CritInitor extends BaseInitor {
constructor(type: string, factor1: number, factor2: number, constant: number) {
super(type, factor1, factor2, constant);
- this.defCoefficient = 0;
}
- init(lv: number, qualityCoefficient: number, valCoefficient?: number, extraQuality?: string): Entry {
- valCoefficient = valCoefficient || this.defCoefficient;
+ init(lv: number, qualityCoefficient: number, valCoefficient: number, extraQuality?: string): Entry {
const value = this.call(Math.random() * this.factor1, lv, valCoefficient, qualityCoefficient);
const max = this.call(this.factor1, lv, valCoefficient, qualityCoefficient);
const min = this.call(0, lv, valCoefficient, qualityCoefficient);
- return new Entry(this.type, value, '+' + value + '%', max, min);
+ return this.createEntry(value, max, min, extraQuality);
}
call(num1, lv, valCoefficient, qualityCoefficient): number {
const lvFactor = (0.5 * lv) / 100 + 0.5;
@@ -98,24 +95,23 @@ class CritInitor extends BaseInitor {
}
}
class DmgInitor extends BaseInitor {
- init(lv: number, qualityCoefficient: number, valCoefficient?: number, extraQuality?: string): Entry {
- valCoefficient = valCoefficient || 1;
+ init(lv: number, qualityCoefficient: number, valCoefficient: number, extraQuality?: string): Entry {
const value = Math.round((lv * this.factor1 * (Math.random() + this.factor2) + this.constant) * qualityCoefficient * valCoefficient) || 1;
const max = Math.round((lv * this.factor1 * (1 + this.factor2) + this.constant) * qualityCoefficient * valCoefficient) || 1;
const min = Math.round((lv * this.factor1 * this.factor2 + this.constant) * qualityCoefficient * valCoefficient) || 1;
- return new Entry(this.type, value, '+' + value + '%', max, min);
+ return this.createEntry(value, max, min, extraQuality);
}
}
export const entry_initor = {
atk: new BaseInitor('atk', 1, 0.5, 1),
- atkPercent: new PercentInitor('atkPercent', 0.11, 0.1, 4),
+ atkPercent: new BaseInitor('atkPercent', 0.11, 0.1, 4),
hp: new BaseInitor('hp', 5, 0.5, 1),
- hpPercent: new PercentInitor('hpPercent', 0.1, 0.1, 4),
+ hpPercent: new BaseInitor('hpPercent', 0.1, 0.1, 4),
def: new BaseInitor('def', 1, 0.5, 1),
- defPercent: new PercentInitor('defPercent', 0.13, 0.1, 4),
+ defPercent: new BaseInitor('defPercent', 0.13, 0.1, 4),
bloc: new BaseInitor('bloc', 0.25, 1 / 3, 1),
- blocPercent: new PercentInitor('blocPercent', 0.1, 0.1, 4),
+ blocPercent: new BaseInitor('blocPercent', 0.1, 0.1, 4),
crit: new CritInitor('crit', 5, 2, 5),
critDmg: new CritInitor('critDmg', 15, 7, 16),
critAvoid: new CritInitor('critAvoid', 5, 0, 7),
diff --git a/src/config/equips/jewelry.ts b/src/config/equips/jewelry.ts
index 92c5533..b985830 100644
--- a/src/config/equips/jewelry.ts
+++ b/src/config/equips/jewelry.ts
@@ -125,26 +125,26 @@ export const jewelryCategorys: JewelryCategory[] = [
export const initialJewelry = () => {
const type = 'jewelry';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('shiwangsy', 'jewelry/狮王手印.png', [new Entry('atk', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('crit', 10, '+10%', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createjewelry = (quality, lv, category): Equip => {
+export const createjewelry = (quality, lv, category, extraQuality): Equip => {
const type = 'jewelry';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(jewelryExtraEntry(quality, lv));
+ extraEntry.push(jewelryExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const jewelryExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const jewelryExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const jewelrySamples = createSamples(jewelryCategorys, jewelryUniqueCategorys, jewelryColorfulCategorys, 'jewelry', coefficient);
diff --git a/src/config/equips/neck.ts b/src/config/equips/neck.ts
index e047bf0..0c79619 100644
--- a/src/config/equips/neck.ts
+++ b/src/config/equips/neck.ts
@@ -98,26 +98,26 @@ export const neckCategorys: NeckCategory[] = [
export const initialNeck = () => {
const type = 'neck';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('initial', 'Ac_3.png', [new Entry('atk', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('crit', 10, '+10%', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createneck = (quality, lv, category) => {
+export const createneck = (quality, lv, category, extraQuality) => {
const type = 'neck';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(neckExtraEntry(quality, lv));
+ extraEntry.push(neckExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const neckExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const neckExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const neckSamples = createSamples(neckCategorys, neckUniqueCategorys, neckColorfulCategorys, 'neck', coefficient);
diff --git a/src/config/equips/pants.ts b/src/config/equips/pants.ts
index de5728a..b34f192 100644
--- a/src/config/equips/pants.ts
+++ b/src/config/equips/pants.ts
@@ -105,26 +105,26 @@ export const pantsCategorys: PantsCategory[] = [
export const initialpants = () => {
const type = 'pants';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('initial', 'pants/新手.png', [new Entry('def', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('hp', 10, '+10', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createpants = (quality, lv, category) => {
+export const createpants = (quality, lv, category, extraQuality) => {
const type = 'pants';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(pantsExtraEntry(quality, lv));
+ extraEntry.push(pantsExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const pantsExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const pantsExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const pantsSamples = createSamples(pantsCategorys, pantsUniqueCategorys, pantsColorfulCategorys, 'pants', coefficient);
diff --git a/src/config/equips/ring.ts b/src/config/equips/ring.ts
index cc72582..6641059 100644
--- a/src/config/equips/ring.ts
+++ b/src/config/equips/ring.ts
@@ -105,26 +105,26 @@ export const ringCategorys = [
export const initialRing = () => {
const type = 'ring';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('initial', 'Ac_10.png', [new Entry('atk', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('crit', 10, '+10%', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createring = (quality, lv, category) => {
+export const createring = (quality, lv, category, extraQuality) => {
const type = 'ring';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(ringExtraEntry(quality, lv));
+ extraEntry.push(ringExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const ringExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const ringExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const ringSamples = createSamples(ringCategorys, ringUniqueCategorys, ringColorfulCategorys, 'ring', coefficient);
diff --git a/src/config/equips/shoes.ts b/src/config/equips/shoes.ts
index a15a66a..928c7ec 100644
--- a/src/config/equips/shoes.ts
+++ b/src/config/equips/shoes.ts
@@ -71,26 +71,26 @@ export const shoesCategorys: ShoesCategory[] = [
export const initialshoes = () => {
const type = 'shoes';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('initial', 'shoes/新手.png', [new Entry('moveSpeed', 10, '+10%', 10, 10)]);
const extraEntry = [new Entry('hp', 10, '+10', 10, 10)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createshoes = (quality, lv, category) => {
+export const createshoes = (quality, lv, category, extraQuality) => {
const type = 'shoes';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(shoesExtraEntry(quality, lv));
+ extraEntry.push(shoesExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const shoesExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const shoesExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const shoesSamples = createSamples(shoesCategorys, shoesUniqueCategorys, shoesColorfulCategorys, 'shoes', coefficient);
diff --git a/src/config/equips/weapon.ts b/src/config/equips/weapon.ts
index d950a26..9255762 100644
--- a/src/config/equips/weapon.ts
+++ b/src/config/equips/weapon.ts
@@ -93,26 +93,26 @@ export const weaponCategorys: WeaponCategory[] = [
export const initialWeapon = () => {
const type = 'weapon';
- const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]);
+ const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]], '');
const base = new EquipBase('zhanma', 'weapon/初拥.png', [new Entry('atk', 1, '+1', 1, 1)]);
const extraEntry = [new Entry('atk', 1, '+1', 1, 1)];
return new Equip(type, 1, qualityBean, base, extraEntry);
};
-export const createweapon = (quality, lv, category) => {
+export const createweapon = (quality, lv, category, extraQuality) => {
const type = 'weapon';
- const qualityBean = new Quality(quality, coefficient[quality]);
- const base = createBase(quality, lv, category, coefficient);
+ const qualityBean = new Quality(quality, coefficient[quality], extraQuality);
+ const base = createBase(quality, lv, category, coefficient, extraQuality);
const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality];
for (let i = 0; i < extraEntryNum; i++) {
- extraEntry.push(weaponExtraEntry(quality, lv));
+ extraEntry.push(weaponExtraEntry(quality, lv, extraQuality));
}
return new Equip(type, lv, qualityBean, base, extraEntry);
};
-export const weaponExtraEntry = (quality, lv) => {
- return createExtraEntry(quality, lv, extraEntrys, coefficient);
+export const weaponExtraEntry = (quality, lv, extraQuality) => {
+ return createExtraEntry(quality, lv, extraEntrys, coefficient, extraQuality);
};
export const weaponSamples = createSamples(weaponCategorys, weaponUniqueCategorys, weaponColorfulCategorys, 'weapon', coefficient);
diff --git a/src/config/i18n/zh/euips.ts b/src/config/i18n/zh/euips.ts
index e9cb69d..02ccd57 100644
--- a/src/config/i18n/zh/euips.ts
+++ b/src/config/i18n/zh/euips.ts
@@ -6,9 +6,9 @@ export const quality = {
unique: '神器',
colorful: '神话',
};
-export const extra_quality = {
- 1: '远古',
- 2: '太古',
+export const extraQuality = {
+ yuangu: '远古',
+ taigu: '太古',
};
export const weapon = {
type: '武器',
diff --git a/src/config/i18n/zh/index.ts b/src/config/i18n/zh/index.ts
index 6e628ae..7c0d054 100644
--- a/src/config/i18n/zh/index.ts
+++ b/src/config/i18n/zh/index.ts
@@ -1,4 +1,4 @@
-import { weapon, armor, neck, ring, jewelry, pants, shoes, bracers, quality } from './euips';
+import { weapon, armor, neck, ring, jewelry, pants, shoes, bracers, quality, extraQuality } from './euips';
import * as skills from './skills';
export default class Zh {
@@ -26,6 +26,7 @@ export default class Zh {
shoes = shoes;
bracers = bracers;
quality = quality;
+ extraQuality = extraQuality;
skill = skills;
lv = '等级';
@@ -115,8 +116,8 @@ export default class Zh {
'BOSS有概率额外掉落神器装备,难度越高爆率越高',
'100以后开放小秘境和大秘境',
'大小秘境有概率掉落神话品质装备',
- '神话品质装备有概率提升为远古(lv+20)或太古(lv+20且满ROLL)',
- '大秘境有概率掉落强化保护卷',
+ '神话品质装备有概率提升为远古神话或太古神话',
+ '大秘境有概率掉落强化相关卷轴(未实装)',
];
dungeonAction = ['重复挑战', '向上挑战', '开始挑战'];
diff --git a/src/config/skill/armor.ts b/src/config/skill/armor.ts
index c35abc5..c802d22 100644
--- a/src/config/skill/armor.ts
+++ b/src/config/skill/armor.ts
@@ -69,7 +69,7 @@ export class JinGuangHuShen extends CounterSkill {
owner.battleLog(replace(t('skill.jinguanghushen.2'), [this.hpPercent]));
}
}
-//laobukepo
+//牢不可破
export class LaoBuKePo extends PrePassiveSkill {
name: string = 'laobukepo';
percent: number = 200;
diff --git a/src/tool/random.ts b/src/tool/random.ts
index 110fdbe..9cd278c 100644
--- a/src/tool/random.ts
+++ b/src/tool/random.ts
@@ -1,4 +1,4 @@
-import { difficultys, Categorys, qualitys } from '@/config';
+import { difficultys, Categorys, qualitys, extra_quality, extra_quality_rate, extra_quality_lv } from '@/config';
import * as Equips from '@/config/equips';
const types = ['weapon', 'arrmor', 'neck', 'ring', 'jewelry', 'bracers', 'pants', 'shoes'];
@@ -33,9 +33,11 @@ export const randomEquip = (rates, lv) => {
const quality = randomQuality(rates);
if (quality) {
lv = randomLv(lv, quality);
+ const extraQuality = randomExtraQuality(quality);
+ extraQuality && (lv += extra_quality_lv);
const category = randomCategory(quality);
const creator = Equips['create' + category.type];
- return creator(quality, lv, category);
+ return creator(quality, lv, category, extraQuality);
} else {
return null;
}
@@ -49,6 +51,22 @@ const randomLv = (lv, quality) => {
lv = lv > 100 ? 100 : lv;
return lv;
};
+const randomExtraQuality = (quality) => {
+ const r = Math.random();
+ let tmp = 0;
+ let extraQuality = '';
+ if (quality != qualitys[5]) {
+ return extraQuality;
+ }
+ for (let i = 0; i < extra_quality_rate.length; i++) {
+ tmp += extra_quality_rate[i];
+ if (r < tmp) {
+ extraQuality = extra_quality[i];
+ break;
+ }
+ }
+ return extraQuality;
+};
const randomQuality = (rates) => {
const r = Math.random();
let tmp = 0;
diff --git a/src/views/backpack/strengthen.vue b/src/views/backpack/strengthen.vue
index d265105..95c859e 100644
--- a/src/views/backpack/strengthen.vue
+++ b/src/views/backpack/strengthen.vue
@@ -33,7 +33,7 @@
{{ t('stren.0') }}:{{ needCoins }}
+ }}
{{ t('stren.0') }}:{{ needCoins }}
@@ -168,10 +168,11 @@ const reforge = () => {
}
const equip = prop.equip;
const quality = equip.quality.quality;
+ const extraQuality = equip.quality.extraQuality;
const extraEntryNum = extra_entry_num[quality];
const extraEntry = new Array();
for (let i = 0; i < extraEntryNum; i++) {
- const entry = reforger[equip.type](quality, equip.lv);
+ const entry = reforger[equip.type](quality, equip.lv, extraQuality);
extraEntry.push(entry);
}
commit("add_player_coins", -1 * reforgeNeed.value);
diff --git a/src/views/illustrated/equips.vue b/src/views/illustrated/equips.vue
index 1ea00b4..89ef8c3 100644
--- a/src/views/illustrated/equips.vue
+++ b/src/views/illustrated/equips.vue
@@ -1,5 +1,7 @@
- {{ t('quality.' + quality) }}{{ t(type + '.type') }}
+
+ {{ t('extraQuality.' + extraQuality) }}
+ {{ t('quality.' + quality) }}{{ t(type + '.type') }}
@@ -28,6 +30,10 @@ const props = defineProps({
type: String,
default: ''
},
+ extraQuality: {
+ type: String,
+ default: ''
+ },
samples: {
type: Array as () => any[],
default: [],
diff --git a/src/views/illustrated/illustrated.vue b/src/views/illustrated/illustrated.vue
index 25b9c30..b7876f1 100644
--- a/src/views/illustrated/illustrated.vue
+++ b/src/views/illustrated/illustrated.vue
@@ -6,6 +6,8 @@
+
+
@@ -28,6 +30,26 @@ const { state, commit, dispatch } = useStore();
const showIllustrated = computed(() => {
return state.curMenu == 'illustrated';
});
+const taigu = {
+ weapon: weaponSamples.taigu,
+ armor: armorSamples.taigu,
+ neck: neckSamples.taigu,
+ ring: ringSamples.taigu,
+ jewelry: jewelrySamples.taigu,
+ pants: pantsSamples.taigu,
+ shoes: shoesSamples.taigu,
+ bracers: bracersSamples.taigu,
+}
+const yuangu = {
+ weapon: weaponSamples.yuangu,
+ armor: armorSamples.yuangu,
+ neck: neckSamples.yuangu,
+ ring: ringSamples.yuangu,
+ jewelry: jewelrySamples.yuangu,
+ pants: pantsSamples.yuangu,
+ shoes: shoesSamples.yuangu,
+ bracers: bracersSamples.yuangu,
+}
const colorful = {
weapon: weaponSamples.colorful,
armor: armorSamples.colorful,