Compare commits

..

No commits in common. 'v1.0' and 'master' have entirely different histories.
v1.0 ... master

  1. 12
      src/config/equips/armor.ts
  2. 6
      src/config/equips/bean.ts
  3. 12
      src/config/equips/neck.ts
  4. 12
      src/config/equips/ring.ts
  5. 11
      src/config/equips/weapon.ts
  6. 2
      src/tool/caller.ts

12
src/config/equips/armor.ts

@ -1,8 +1,8 @@
import { Entry, Quality, EquipBase, Equip } from './bean'; import { Entry, Quality, EquipBase, Equip } from './bean';
import { qualitys, entry_initor, extra_entry_num } from './constant'; import { qualitys, entry_initor, extra_entry_num, quality_coefficient } from './constant';
const extraEntrys = ['atk', 'hp', 'def', 'defPercent', 'hpPercent']; const extraEntrys = ['atk', 'hp', 'def', 'defPercent', 'hpPercent'];
const coefficient = { shabby: 0.7, ordinary: 1, artifact: 1.5, epic: 2, unique: 2.2 };
export const armorUniqueCategorys = [ export const armorUniqueCategorys = [
{ {
name: 'dispute', name: 'dispute',
@ -114,7 +114,7 @@ export const armorCategorys = [
export const initialArmor = () => { export const initialArmor = () => {
const type = 'armor'; const type = 'armor';
const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]); const qualityBean = new Quality(qualitys[0], type);
const base = new EquipBase('initial', 'A_A3.png', [new Entry('def', 1, '+1', 100)]); const base = new EquipBase('initial', 'A_A3.png', [new Entry('def', 1, '+1', 100)]);
const extraEntry = [new Entry('hp', 10, '+10', 100)]; const extraEntry = [new Entry('hp', 10, '+10', 100)];
return new Equip(type, 1, qualityBean, base, extraEntry); return new Equip(type, 1, qualityBean, base, extraEntry);
@ -122,7 +122,7 @@ export const initialArmor = () => {
export const createArmor = (quality, lv) => { export const createArmor = (quality, lv) => {
const type = 'armor'; const type = 'armor';
const qualityBean = new Quality(quality, coefficient[quality]); const qualityBean = new Quality(quality, type);
const base = createBase(quality, lv); const base = createBase(quality, lv);
const extraEntry = new Array(); const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality]; const extraEntryNum = extra_entry_num[quality];
@ -135,7 +135,7 @@ export const createArmor = (quality, lv) => {
export const armorExtraEntry = (quality, lv) => { export const armorExtraEntry = (quality, lv) => {
const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)]; const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)];
const initor = entry_initor[type]; const initor = entry_initor[type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.armor[quality];
const entry = initor(lv, qualityCoefficient); const entry = initor(lv, qualityCoefficient);
return entry; return entry;
}; };
@ -146,7 +146,7 @@ const createBase = (quality, lv) => {
const entry = new Array(); const entry = new Array();
category.entry.forEach((item) => { category.entry.forEach((item) => {
const initor = entry_initor[item.type]; const initor = entry_initor[item.type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.armor[quality];
entry.push(initor(lv, qualityCoefficient, item.valCoefficient)); entry.push(initor(lv, qualityCoefficient, item.valCoefficient));
}); });
return new EquipBase(category.name, category.icon, entry); return new EquipBase(category.name, category.icon, entry);

6
src/config/equips/bean.ts

@ -1,4 +1,4 @@
import { quality_collor, extra_entry_num } from './constant'; import { quality_coefficient, quality_collor, extra_entry_num } from './constant';
export class Entry { export class Entry {
type: string; type: string;
@ -19,9 +19,9 @@ export class Quality {
qualityCoefficient: number; qualityCoefficient: number;
color: string; color: string;
extraEntryNum: number; extraEntryNum: number;
constructor(quality: string, coefficient: number) { constructor(quality: string, type: string) {
this.quality = quality; this.quality = quality;
this.qualityCoefficient = coefficient; this.qualityCoefficient = quality_coefficient[type][quality];
this.color = quality_collor[quality]; this.color = quality_collor[quality];
this.extraEntryNum = extra_entry_num[quality]; this.extraEntryNum = extra_entry_num[quality];
} }

12
src/config/equips/neck.ts

@ -1,10 +1,8 @@
import { Entry, Quality, EquipBase, Equip } from './bean'; import { Entry, Quality, EquipBase, Equip } from './bean';
import { qualitys, entry_initor, extra_entry_num } from './constant'; import { qualitys, entry_initor, extra_entry_num, quality_coefficient } from './constant';
const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def', 'bloc']; const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def', 'bloc'];
const coefficient = { shabby: 0.6, ordinary: 0.9, artifact: 1.3, epic: 1.6, unique: 2 };
export const neckUniqueCategorys = [ export const neckUniqueCategorys = [
{ {
name: 'demonSlayer', name: 'demonSlayer',
@ -83,7 +81,7 @@ export const neckCategorys = [
export const initialNeck = () => { export const initialNeck = () => {
const type = 'neck'; const type = 'neck';
const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]); const qualityBean = new Quality(qualitys[0], type);
const base = new EquipBase('initial', 'Ac_3.png', [new Entry('hp', 20, '+20', 100)]); const base = new EquipBase('initial', 'Ac_3.png', [new Entry('hp', 20, '+20', 100)]);
const extraEntry = [new Entry('crit', 10, '+10%', 100)]; const extraEntry = [new Entry('crit', 10, '+10%', 100)];
return new Equip(type, 1, qualityBean, base, extraEntry); return new Equip(type, 1, qualityBean, base, extraEntry);
@ -91,7 +89,7 @@ export const initialNeck = () => {
export const createNeck = (quality, lv) => { export const createNeck = (quality, lv) => {
const type = 'neck'; const type = 'neck';
const qualityBean = new Quality(quality, coefficient[quality]); const qualityBean = new Quality(quality, type);
const base = createBase(quality, lv); const base = createBase(quality, lv);
const extraEntry = new Array(); const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality]; const extraEntryNum = extra_entry_num[quality];
@ -104,7 +102,7 @@ export const createNeck = (quality, lv) => {
export const neckExtraEntry = (quality, lv) => { export const neckExtraEntry = (quality, lv) => {
const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)]; const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)];
const initor = entry_initor[type]; const initor = entry_initor[type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.neck[quality];
const entry = initor(lv, qualityCoefficient); const entry = initor(lv, qualityCoefficient);
return entry; return entry;
}; };
@ -115,7 +113,7 @@ const createBase = (quality, lv) => {
const entry = new Array(); const entry = new Array();
category.entry.forEach((item) => { category.entry.forEach((item) => {
const initor = entry_initor[item.type]; const initor = entry_initor[item.type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.neck[quality];
entry.push(initor(lv, qualityCoefficient, item.valCoefficient)); entry.push(initor(lv, qualityCoefficient, item.valCoefficient));
}); });
return new EquipBase(category.name, category.icon, entry); return new EquipBase(category.name, category.icon, entry);

12
src/config/equips/ring.ts

@ -1,10 +1,8 @@
import { Entry, Quality, EquipBase, Equip } from './bean'; import { Entry, Quality, EquipBase, Equip } from './bean';
import { qualitys, entry_initor, extra_entry_num } from './constant'; import { qualitys, entry_initor, extra_entry_num, quality_coefficient } from './constant';
const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def']; const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def'];
const coefficient = { shabby: 0.6, ordinary: 0.9, artifact: 1.3, epic: 1.6, unique: 2 };
export const ringUniqueCategorys = [ export const ringUniqueCategorys = [
{ {
name: 'death', name: 'death',
@ -77,7 +75,7 @@ export const ringCategorys = [
export const initialRing = () => { export const initialRing = () => {
const type = 'ring'; const type = 'ring';
const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]); const qualityBean = new Quality(qualitys[0], type);
const base = new EquipBase('initial', 'Ac_10.png', [new Entry('hp', 20, '+20', 100)]); const base = new EquipBase('initial', 'Ac_10.png', [new Entry('hp', 20, '+20', 100)]);
const extraEntry = [new Entry('crit', 10, '+10%', 100)]; const extraEntry = [new Entry('crit', 10, '+10%', 100)];
return new Equip(type, 1, qualityBean, base, extraEntry); return new Equip(type, 1, qualityBean, base, extraEntry);
@ -85,7 +83,7 @@ export const initialRing = () => {
export const createRing = (quality, lv) => { export const createRing = (quality, lv) => {
const type = 'ring'; const type = 'ring';
const qualityBean = new Quality(quality, coefficient[quality]); const qualityBean = new Quality(quality, type);
const base = createBase(quality, lv); const base = createBase(quality, lv);
const extraEntry = new Array(); const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality]; const extraEntryNum = extra_entry_num[quality];
@ -98,7 +96,7 @@ export const createRing = (quality, lv) => {
export const ringExtraEntry = (quality, lv) => { export const ringExtraEntry = (quality, lv) => {
const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)]; const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)];
const initor = entry_initor[type]; const initor = entry_initor[type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.ring[quality];
const entry = initor(lv, qualityCoefficient); const entry = initor(lv, qualityCoefficient);
return entry; return entry;
}; };
@ -109,7 +107,7 @@ const createBase = (quality, lv) => {
const entry = new Array(); const entry = new Array();
category.entry.forEach((item) => { category.entry.forEach((item) => {
const initor = entry_initor[item.type]; const initor = entry_initor[item.type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.ring[quality];
entry.push(initor(lv, qualityCoefficient, item.valCoefficient)); entry.push(initor(lv, qualityCoefficient, item.valCoefficient));
}); });
return new EquipBase(category.name, category.icon, entry); return new EquipBase(category.name, category.icon, entry);

11
src/config/equips/weapon.ts

@ -1,8 +1,7 @@
import { Entry, Quality, EquipBase, Equip } from './bean'; import { Entry, Quality, EquipBase, Equip } from './bean';
import { qualitys, entry_initor, extra_entry_num } from './constant'; import { qualitys, entry_initor, extra_entry_num, quality_coefficient } from './constant';
const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def', 'atkPercent', 'defPercent', 'hpPercent']; const extraEntrys = ['atk', 'crit', 'critDmg', 'hp', 'def', 'atkPercent', 'defPercent', 'hpPercent'];
const coefficient = { shabby: 0.7, ordinary: 1, artifact: 1.5, epic: 2, unique: 2.2 };
export const weaponUniqueCategorys = [ export const weaponUniqueCategorys = [
{ {
@ -143,7 +142,7 @@ export const weaponCategorys = [
export const initialWeapon = () => { export const initialWeapon = () => {
const type = 'weapon'; const type = 'weapon';
const qualityBean = new Quality(qualitys[0], coefficient[qualitys[0]]); const qualityBean = new Quality(qualitys[0], type);
const base = new EquipBase('initial', 'W_Sword001.png', [new Entry('atk', 1, '+1', 100)]); const base = new EquipBase('initial', 'W_Sword001.png', [new Entry('atk', 1, '+1', 100)]);
const extraEntry = [new Entry('atk', 1, '+1', 100)]; const extraEntry = [new Entry('atk', 1, '+1', 100)];
return new Equip(type, 1, qualityBean, base, extraEntry); return new Equip(type, 1, qualityBean, base, extraEntry);
@ -151,7 +150,7 @@ export const initialWeapon = () => {
export const createWeapon = (quality, lv) => { export const createWeapon = (quality, lv) => {
const type = 'weapon'; const type = 'weapon';
const qualityBean = new Quality(quality, coefficient[quality]); const qualityBean = new Quality(quality, type);
const base = createBase(quality, lv); const base = createBase(quality, lv);
const extraEntry = new Array(); const extraEntry = new Array();
const extraEntryNum = extra_entry_num[quality]; const extraEntryNum = extra_entry_num[quality];
@ -164,7 +163,7 @@ export const createWeapon = (quality, lv) => {
export const weaponExtraEntry = (quality, lv) => { export const weaponExtraEntry = (quality, lv) => {
const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)]; const type = extraEntrys[Math.floor(Math.random() * extraEntrys.length)];
const initor = entry_initor[type]; const initor = entry_initor[type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.weapon[quality];
const entry = initor(lv, qualityCoefficient); const entry = initor(lv, qualityCoefficient);
return entry; return entry;
}; };
@ -175,7 +174,7 @@ const createBase = (quality, lv) => {
const entry = new Array(); const entry = new Array();
category.entry.forEach((item) => { category.entry.forEach((item) => {
const initor = entry_initor[item.type]; const initor = entry_initor[item.type];
const qualityCoefficient = coefficient[quality]; const qualityCoefficient = quality_coefficient.weapon[quality];
entry.push(initor(lv, qualityCoefficient, item.valCoefficient)); entry.push(initor(lv, qualityCoefficient, item.valCoefficient));
}); });
return new EquipBase(category.name, category.icon, entry); return new EquipBase(category.name, category.icon, entry);

2
src/tool/caller.ts

@ -66,7 +66,7 @@ export const callPlayerAttribute = (playerAttribute: any, rA: any) => {
attribute.dps = Math.ceil((1 - crit + crit * critdmg) * atk); attribute.dps = Math.ceil((1 - crit + crit * critdmg) * atk);
//计算减伤比例 //计算减伤比例
// attribute.def = 500; // attribute.def = 500;
attribute.reducPercent = attribute.def / (200 + 1.1 * attribute.def) + (0.09 * attribute.def) / (attribute.def + 200); attribute.reducPercent = (0.5 * attribute.def) / (35 + 0.55 * attribute.def) + (0.09 * attribute.def) / (attribute.def + 200);
// attribute.reducPercent = (0.5 * attribute.def) / (200 + 0.502 * attribute.def); // attribute.reducPercent = (0.5 * attribute.def) / (200 + 0.502 * attribute.def);
return attribute; return attribute;
}; };

Loading…
Cancel
Save