diff --git a/public/img/equips/jewelry/屠妖.png b/public/img/equips/jewelry/屠妖.png new file mode 100644 index 0000000..1ab7bf9 Binary files /dev/null and b/public/img/equips/jewelry/屠妖.png differ diff --git a/public/img/equips/neck/百八烦恼珠.png b/public/img/equips/neck/百八烦恼珠.png new file mode 100644 index 0000000..ccca332 Binary files /dev/null and b/public/img/equips/neck/百八烦恼珠.png differ diff --git a/public/img/equips/neck/诛仙.png b/public/img/equips/neck/诛仙.png new file mode 100644 index 0000000..22b7993 Binary files /dev/null and b/public/img/equips/neck/诛仙.png differ diff --git a/public/img/equips/ring/冰心.png b/public/img/equips/ring/冰心.png new file mode 100644 index 0000000..3a9c855 Binary files /dev/null and b/public/img/equips/ring/冰心.png differ diff --git a/public/img/equips/ring/愣伽指环.png b/public/img/equips/ring/愣伽指环.png index 16f91e5..bccf618 100644 Binary files a/public/img/equips/ring/愣伽指环.png and b/public/img/equips/ring/愣伽指环.png differ diff --git a/public/img/equips/ring/镇鬼.png b/public/img/equips/ring/镇鬼.png new file mode 100644 index 0000000..4a7f8e3 Binary files /dev/null and b/public/img/equips/ring/镇鬼.png differ diff --git a/public/img/equips/ring/黄泉之尘.png b/public/img/equips/ring/黄泉之尘.png index d85d690..9e1ef1f 100644 Binary files a/public/img/equips/ring/黄泉之尘.png and b/public/img/equips/ring/黄泉之尘.png differ diff --git a/src/config/equips/jewelry.ts b/src/config/equips/jewelry.ts index 99cf94a..070e92f 100644 --- a/src/config/equips/jewelry.ts +++ b/src/config/equips/jewelry.ts @@ -43,7 +43,8 @@ export const jewelryColorfulCategorys: Categorys[] = [ { type: 'critDmg', valCoefficient: 1.5 }, { type: 'atk', valCoefficient: 0.8 }, ], - 'Vampire1' + 'Vampire1', + 0.9 ), new Categorys( 'jingboyu', diff --git a/src/config/equips/pants.ts b/src/config/equips/pants.ts index 459c738..60cd763 100644 --- a/src/config/equips/pants.ts +++ b/src/config/equips/pants.ts @@ -13,7 +13,7 @@ export const pantsColorfulCategorys: Categorys[] = [ { type: 'bloc', valCoefficient: 1.5 }, { type: 'hp', valCoefficient: 1.4 }, ], - 'SLWX,JinGangZhuo' + 'FuRenPiHu' ), ]; diff --git a/src/config/equips/ring.ts b/src/config/equips/ring.ts index 91a7c81..c40a279 100644 --- a/src/config/equips/ring.ts +++ b/src/config/equips/ring.ts @@ -18,6 +18,47 @@ export const ringColorfulCategorys: Categorys[] = [ 'SLWX,JinGangZhuo', 0.9 ), + new Categorys( + 'pojie', + 'ring/破戒.png', + [ + { type: 'critDmg', valCoefficient: 1.5 }, + { type: 'crit', valCoefficient: 0.5 }, + { type: 'atk', valCoefficient: 0.7 }, + ], + 'FengXie' + ), + new Categorys( + 'mantanghong', + 'ring/满堂红.png', + [ + { type: 'critDmg', valCoefficient: 1 }, + { type: 'crit', valCoefficient: 0.5 }, + { type: 'hp', valCoefficient: 1.5 }, + ], + 'ShiZhong' + ), + new Categorys( + 'hanba', + 'ring/旱魃.png', + [ + { type: 'critDmg', valCoefficient: 1 }, + { type: 'crit', valCoefficient: 0.5 }, + { type: 'hp', valCoefficient: 1.5 }, + ], + 'ShenShang' + ), + new Categorys( + 'yaozuzhili', + 'ring/妖族之力.png', + [ + { type: 'critDmg', valCoefficient: 0.7 }, + { type: 'crit', valCoefficient: 0.5 }, + { type: 'atk', valCoefficient: 1.5 }, + ], + 'TongJueFanJi', + 0.5 + ), ]; export const ringUniqueCategorys: Categorys[] = [ diff --git a/src/config/i18n/zh/euips.ts b/src/config/i18n/zh/euips.ts index 3b0bcc7..b85ed75 100644 --- a/src/config/i18n/zh/euips.ts +++ b/src/config/i18n/zh/euips.ts @@ -86,6 +86,8 @@ export const neck = { type: '项链', chitong: ['赤瞳金玉坠', '传闻为仙族神器。佩戴者回洞悉敌人的弱点。'], duanji: ['断·极', '若众生都断了情欲,那世间岂不是一色苍凉。'], + fannao: ['百八烦恼珠', '求人不如求己。'], + zhuxian: ['诛仙', '原来,神的身体流动的血,都是冷的。'], fodengyou: ['佛灯油', '听说灵山永寂,灯影不摇,我若去了,便叫它风起云动。 ----黄风大圣'], guiyan: ['鬼眼', '多少楼台平山演,鬼使飞阁绿林空。'], hushi: ['虎视', '我看见了你,偷丹贼。 ----三仙的丹房'], @@ -114,14 +116,16 @@ export const neck = { export const ring = { type: '戒指', jingangzhuo: ['金刚琢', '无敌。'], - yaozuzhili: ['妖族之力', '妖王的荣耀。'], - mantanghong: ['满堂红', '青灯知有喜,花发满堂红。'], pojie: ['破戒', '我心中爱你美丽,怎能嘴上装四大皆空。 ----金蝉子'], + mantanghong: ['满堂红', '青灯知有喜,花发满堂红。'], + hanba: ['旱魃', '国师与旱魃斗法七日,始有甘霖降车迟国。'], + yaozuzhili: ['妖族之力', '妖王的荣耀。'], siyan: ['四眼', '我花了十万年才长出一只眼睛。'], taiyang: ['太阳真火戒', '这里面有太阳的光辉。'], taiyin: ['太阴紫电戒', '这里面有月亮的锋芒。'], + zhengui: ['镇鬼', '妖王的血染红了他,而群鬼闻之顿寂。'], + bingxin: ['冰心', '这是一颗世间最冷的心,再没有更寒的霜可以加诸其上。'], huangquan: ['黄泉之尘', '这尘埃上有一个黄泉的国度。'], - hanba: ['旱魃', '国师与旱魃斗法七日,始有甘霖降车迟国。'], lengqie: ['楞伽指环', '楞伽,此云难入。'], luwuzhimu: ['陆吾之目', '似乎随时会睁开。'], yishan: ['移山', '山神很忙。'], @@ -146,6 +150,7 @@ export const ring = { }; export const jewelry = { type: '饰品', + tuyao: ['屠妖', '没有妖证明过“自由”两个字,试图证明得妖,都死了'], shadan: ['杀旦头饰', '好一个三生醉的大青衣,转眼是冷如冰的刺杀旦!'], simianta: ['太乙神器·四面塔', '李天王有一次差点拿错了。'], shuzhuang: ['梳妆镜', '都上来,一个个仔细看打! ----琵琶精'], diff --git a/src/config/i18n/zh/skills.ts b/src/config/i18n/zh/skills.ts index 27276ea..e591014 100644 --- a/src/config/i18n/zh/skills.ts +++ b/src/config/i18n/zh/skills.ts @@ -4,8 +4,9 @@ export const passive = '被动'; export const control = ['${0}使用了${1},', '${0}被控制${1}回合', '控制失败', '${0}被控制,无法释放技能,剩余${1}回合']; export const crit = ['触发了暴击']; +export const attack = ['普通攻击', '伤害倍率100%', '${0}使用了${1}${4},对${2}造成了${3}点伤害']; export const iceBlade = ['冰刃', '暴击时有${0}几率释放冰线冲击,附加${1}%攻击力的伤害和${2}回合冰冻效果。', '触发了冰刃,附加${0}点伤害,冰冻${1}${2}回合']; -export const seeRed = ['见红', '攻击倍率${0}%,冷却${1}回合。']; +export const seeRed = ['见红', '伤害倍率${0}%,冷却${1}回合。']; export const qici = ['鳍刺', '攻击时有${0}%概率对目标造成流血,持续${1}回合。']; export const bhxdjc = [ @@ -14,23 +15,42 @@ export const bhxdjc = [ '触发百花羞得矜持,获得${0}点护盾。', ]; -export const duan = ['断', '伤害目标后,若目标血量低于${0}%,则直接处决目标。', '目标血量低于${0}%,触发【断】,造成${1}点伤害']; +export const duan = ['断', '攻击目标后,若目标血量低于${0}%,则直接处决目标。', '目标血量低于${0}%,触发【断】,造成${1}点伤害']; export const SLWX = ['森罗万象', '增加${0}%攻击加成、伤害加成、暴击率、暴击伤害。']; export const jinggangzhuo = ['金刚琢', '攻击时有${0}%几率使目标进入缴械状态${1}回合。', '触发金刚镯,目标缴械${0}回合']; +export const fengxie = ['奉邪', '每次暴击,增加${0}%的暴击伤害,最多叠加${1}层,未暴击时层数清零。', '触发奉邪,当前层数${0}层。']; +export const shizhong = ['噬忠', '每次被暴击,增加${0}%的暴击伤害减免,最多叠加${1}层,持续到战斗结束。', '触发噬忠,当前层数${0}层。']; +export const shenshang = ['神赏', '暴击时有${0}%概率恢复自身生命${1}点。', '触发神赏,恢复生命${0}点。']; +export const tongjuefanji = ['痛觉反击', '每次受到暴击时,对目标使用刺痛反击,伤害倍率${0}%。', '触发刺痛反击,对${0}造成${1}点伤害。']; export const fate = ['化缘', '副本掉落金币奖励提高${0}%。']; export const vampire = ['汲血', '生命偷取${0}%。', '触发汲血,偷取${0}点生命']; export const prototype = ['现原形', '将目标变为猴子,持续${0}回合,冷却${1}回合,对boss只有${2}%成功率。']; -export const attack = ['普通攻击', '攻击倍率100%', '${0}使用了${1}${4},对${2}造成了${3}点伤害']; export const critFear = ['暴击恐惧', '暴击时附加${0}%攻击力的额外伤害。', '触发暴击恐惧,附加${0}点伤害']; export const liulipan = ['琉璃盘', '使用后产生黑红内丹,临时提高${0}点基础攻击力进行攻击,冷却${1}回合。']; -export const JHSY = ['镜花水月', '受到伤害时有${0}%概率反弹${1}%所受伤害。', '${0}触发了镜花水月,反弹${1}点伤害']; +export const JHSY = ['镜花水月', '被攻击时有${0}%概率反弹${1}%所受伤害。', '${0}触发了镜花水月,反弹${1}点伤害']; export const xianglong = ['降龙', '攻击时,若生命值低于${0}%,增加${1}%伤害加成。', '触发降龙,增加${1}%伤害加成。']; export const furenpihu = [ '白骨夫人的庇护', - '血量低于${0}%时,获得白骨夫人的庇护,获得${1}%伤害减免,持续${2}回合,此效果每场战斗只能触发一次。', + '血量低于${0}%时,获得${1}%伤害减免,持续${2}回合,此效果每场战斗只能触发一次。', '血量低于${0}%,触发白骨夫人的庇护,获得${1}%伤害减免', ]; + +//未实装,待补充 +export const shayi = ['杀意', '攻击时增加一层杀意(提升${0}%基础攻击力),被暴击则减少${1}层,杀意最多叠加${2}层。']; +export const ruiyayin = ['锐牙印', '攻击时有${0}概率偷取目标${1}%暴击率,持续${2}回合。']; +export const numu = ['怒目', '被攻击时提升${0}点基础攻击力,最多叠加${1}层。']; +export const xuanwo = ['漩涡', '攻击时有${0}概率提升${1}%点基础攻击力,持续${2}回合,冷去${3}回合。']; +export const kongbulingyu = ['恐怖领域', '自身防御力提升${0}点,周围敌方目标防御力降低${1}点。']; +export const shichou = ['世仇', '每回合对周围地方目标施加震慑(攻击力降低${0}%)状态,最多叠加${1}层。']; +export const nuyi = ['奴役', '攻击时有${0}概率附加尸毒,持续${1}回合,若目标在尸毒持续时间内死亡,则回复所有生命。']; +export const hongyan = ['红眼', '生命低于65%时,攻击附加${0}攻击力的附加伤害,并提高${1}基础攻击力。']; +export const jinguanghushen = ['金光护身', '抵抗一次死亡,并回复${0}%的生命,此效果每场战斗只能触发一次。']; +export const jinmaibaolie = ['筋脉爆裂', '攻击时有${0}概率使目标筋脉爆裂,每回合流失%{1}当前生命值,持续${2}回合。']; +export const jiupinjinlian = ['九品金莲', '目标死亡时有${0}%概率额外掉一件装备。']; +export const zhuanjie = ['黑白钻戒', '获得${0}%伤害减免。']; +export const laobukepo = ['牢不可破', '提升${0}%格挡值。']; +export const xingyunshuzi = ['幸运数字', '战斗开始时随机获得${0}个幸运数字,攻击造成的伤害以幸运数字结尾时,????']; diff --git a/src/config/skill/index.ts b/src/config/skill/index.ts index 5492769..92f2aff 100644 --- a/src/config/skill/index.ts +++ b/src/config/skill/index.ts @@ -5,3 +5,4 @@ export * from './neck'; export * from './ring'; export * from './jewelry'; export * from './bracers'; +export * from './pants'; diff --git a/src/config/skill/neck.ts b/src/config/skill/neck.ts index 5dbf0de..f8ecdc0 100644 --- a/src/config/skill/neck.ts +++ b/src/config/skill/neck.ts @@ -1,8 +1,9 @@ -import { SufPassiveSkill, PrePassiveSkill } from './base'; +import { SufPassiveSkill, PassiveSkill } from './base'; import i18n from '../i18n'; import { BattleRole, replace } from '@/tool'; const { t } = i18n; +//断 export class Duan extends SufPassiveSkill { name: string = 'duan'; rate: number = 10; diff --git a/src/config/skill/pant.ts b/src/config/skill/pants.ts similarity index 100% rename from src/config/skill/pant.ts rename to src/config/skill/pants.ts diff --git a/src/config/skill/ring.ts b/src/config/skill/ring.ts index b8337ca..c0df853 100644 --- a/src/config/skill/ring.ts +++ b/src/config/skill/ring.ts @@ -1,8 +1,9 @@ -import { SufPassiveSkill, PrePassiveSkill } from './base'; +import { SufPassiveSkill, PrePassiveSkill, PassiveSkill, CounterSkill } from './base'; import i18n from '../i18n'; import { BattleRole, replace } from '@/tool'; const { t } = i18n; +//森罗万象 export class SLWX extends PrePassiveSkill { name: string = 'SLWX'; percent: number = 20; @@ -21,9 +22,10 @@ export class SLWX extends PrePassiveSkill { } } +//金刚琢 export class JinGangZhuo extends SufPassiveSkill { name: string = 'jinggangzhuo'; - rate: number = 5; + rate: number = 10; last: number = 2; desc(): string { return replace(t('skill.jinggangzhuo.1'), [this.rate, this.last]); @@ -33,7 +35,100 @@ export class JinGangZhuo extends SufPassiveSkill { } takeEffect(owner: BattleRole, target: BattleRole): void { target.control = target.control > this.last ? target.control : this.last; - const log = replace(t('skill.jinggangzhuo.2'), [this.last]); - owner.battleLog(log); + owner.battleLog(replace(t('skill.jinggangzhuo.2'), [this.last])); + } +} + +//奉邪 +export class FengXie extends PassiveSkill { + name: string = 'fengxie'; + critDmg: number = 50; + layer: number = 0; + maxLayer: number = 5; + desc(): string { + return replace(t('skill.fengxie.1'), [this.critDmg, this.maxLayer]); + } + beforeAtk(owner: BattleRole, target: BattleRole): void { + this.takeEffect(owner, target); + } + trigger(owner: BattleRole, target: BattleRole): boolean { + return owner.crit; + } + takeEffect(owner: BattleRole, target: BattleRole): void { + owner.extraAttr.critDmg = this.critDmg * this.layer; + } + afterAtk(owner: BattleRole, target: BattleRole): void { + if (this.trigger(owner, target)) { + this.layer < this.maxLayer && this.layer++; + owner.battleLog(replace(t('skill.fengxie.2'), [this.layer])); + } else { + this.layer = 0; + } + } +} + +//噬忠 +export class ShiZhong extends PassiveSkill { + name: string = 'shizhong'; + critDmgReduc: number = 50; + layer: number = 0; + maxLayer: number = 3; + desc(): string { + return replace(t('skill.shizhong.1'), [this.critDmgReduc, this.maxLayer]); + } + beforeAtk(owner: BattleRole, target: BattleRole): void { + this.takeEffect(owner, target); + } + trigger(owner: BattleRole, target: BattleRole): boolean { + return target.crit; + } + takeEffect(owner: BattleRole, target: BattleRole): void { + owner.extraAttr.critDmgReduc = this.critDmgReduc * this.layer; + } + onAtked(owner: BattleRole, target: BattleRole): void { + if (this.trigger(owner, target)) { + this.layer < this.maxLayer && this.layer++; + owner.battleLog(replace(t('skill.shizhong.2'), [this.layer])); + } + } +} + +//神赏 +export class ShenShang extends SufPassiveSkill { + name: string = 'shenshang'; + rate: number = 20; + hp: number = 10000; + desc(): string { + return replace(t('skill.shenshang.1'), [this.rate, this.hp]); + } + trigger(owner: BattleRole, target: BattleRole): boolean { + return owner.crit && Math.random() < this.rate / 100; + } + takeEffect(owner: BattleRole, target: BattleRole): void { + owner.addHp(this.hp); + owner.battleLog(replace(t('skill.shenshang.2'), [this.hp])); + } +} + +//痛觉反击 +export class TongJueFanJi extends CounterSkill { + name: string = 'tongjuefanji'; + percent: number = 100; + desc(): string { + return replace(t('skill.tongjuefanji.1'), [this.percent]); + } + trigger(owner: BattleRole, target: BattleRole): boolean { + return target.crit; + } + takeEffect(owner: BattleRole, target: BattleRole): void { + if (owner.control > 0) { + const log = replace(t('skill.control.3'), [t(owner.type), owner.control]); + owner.battleLog(log); + return; + } + owner.skillPercent = this.percent; + owner.callDmg(target); + target.addHp(-1 * owner.dmg); + owner.battleLog(replace(t('skill.tongjuefanji.2'), [owner.dmg])); } }