feat: 修改学习与胜利之号技能

This commit is contained in:
AncTe committed 2024-09-28 18:04:28 +08:00
1 parent 5871558b15
commit d11699e06e
5 files changed
+93 -77

No files matched your search

+59 -49
View File
@@ -1,5 +1,18 @@
let levels: number[] = [];
export type Chapter = 'chapter1' | 'chapter2';
export interface Skill {
index: number;
title: string;
desc: string[];
consume: (level: number) => number;
front: [skill: number, level: number][];
loc: LocArr;
max: number;
effect: (level: number) => string[];
}
/**
* @type {Record<Chapter, Skill[]>}
*/
@@ -9,21 +22,21 @@ export const skills: Record<Chapter, Skill[]> = {
index: 0,
title: '力量',
desc: ['力量就是根本!可以通过智慧增加力量,每级增加2点攻击。'],
consume: '10 * level + 10',
consume: level => 10 * level + 10,
front: [],
loc: [1, 2],
max: 10,
effect: ['攻击 + ${level * 2}']
effect: level => [`攻击 + ${level * 2}`]
},
{
index: 1,
title: '致命一击',
desc: ['爆发出全部力量攻击敌人,每级增加5点额外攻击。'],
consume: '30 * level + 30',
consume: level => 30 * level + 30,
front: [[0, 5]],
loc: [2, 1],
max: 10,
effect: ['额外攻击 + ${level * 5}']
effect: level => [`额外攻击 + ${level * 5}`]
},
{
index: 2,
@@ -32,31 +45,31 @@ export const skills: Record<Chapter, Skill[]> = {
'<span style="color: gold">主动技能,快捷键1</span>,',
'开启后会在战斗时会额外增加一定量的攻击,但同时减少一定量的防御。'
],
consume: '200 * level + 400',
consume: level => 200 * level + 400,
front: [[1, 5]],
loc: [4, 1],
max: 5,
effect: ['增加${level * 10}%攻击,减少${level * 10}%防御']
effect: level => [`增加${level * 10}%攻击,减少${level * 10}%防御`]
},
{
index: 3,
title: '坚韧',
desc: ['由智慧转化出坚韧!每级增加2点防御'],
consume: '10 * level + 10',
consume: level => 10 * level + 10,
front: [],
loc: [1, 4],
max: 10,
effect: ['防御 + ${level * 2}']
effect: level => [`防御 + ${level * 2}`]
},
{
index: 4,
title: '回春',
desc: ['让智慧化为治愈之泉水!每级增加1点生命回复'],
consume: '20 * level + 20',
consume: level => 20 * level + 20,
front: [[3, 5]],
loc: [2, 5],
max: 25,
effect: ['生命回复 + ${level}']
effect: level => [`生命回复 + ${level}`]
},
{
index: 5,
@@ -64,21 +77,21 @@ export const skills: Record<Chapter, Skill[]> = {
desc: [
'让生命变得更多一些吧!每吃50瓶血瓶就增加当前生命回复10%的生命回复'
],
consume: '1500',
consume: () => 1500,
front: [[4, 25]],
loc: [4, 5],
max: 1,
effect: ['50瓶血10%生命回复']
effect: () => [`50瓶血10%生命回复`]
},
{
index: 6,
title: '坚固之盾',
desc: ['让护甲更加坚硬一些吧!每级增加10点防御'],
consume: '50 + level * 50',
consume: level => 50 + level * 50,
front: [[3, 5]],
loc: [2, 3],
max: 10,
effect: ['防御 + ${level * 10}']
effect: level => [`防御 + ${level * 10}`]
},
{
index: 7,
@@ -86,7 +99,7 @@ export const skills: Record<Chapter, Skill[]> = {
desc: [
'<span style="color: #dd4">第一章终极技能</span>,战斗时智慧的 1/10 会充当等量护盾。'
],
consume: '2500',
consume: () => 2500,
front: [
[6, 10],
[5, 1],
@@ -94,7 +107,7 @@ export const skills: Record<Chapter, Skill[]> = {
],
loc: [5, 3],
max: 1,
effect: ['战斗时智慧会充当护盾']
effect: () => [`战斗时智慧会充当护盾`]
}
],
chapter2: [
@@ -102,21 +115,21 @@ export const skills: Record<Chapter, Skill[]> = {
index: 8,
title: '锋利',
desc: ['让剑变得更加锋利!每级使攻击增加1%(buff式增加)'],
consume: 'level > 5 ? 50 * level ** 2 : 250 * level + 250',
consume: level => (level > 5 ? 50 * level ** 2 : 250 * level + 250),
front: [],
loc: [1, 2],
max: 15,
effect: ['攻击增加${level}%']
effect: level => [`攻击增加${level}%`]
},
{
index: 9,
title: '坚硬',
desc: ['让盾牌变得更加坚固!每级使防御增加1%(buff式增加)'],
consume: 'level > 5 ? 50 * level ** 2 : 250 * level + 250',
consume: level => (level > 5 ? 50 * level ** 2 : 250 * level + 250),
front: [],
loc: [1, 4],
max: 15,
effect: ['防御增加${level}%']
effect: level => [`防御增加${level}%`]
},
{
index: 10,
@@ -125,59 +138,60 @@ export const skills: Record<Chapter, Skill[]> = {
'<span style="color: gold">主动技能,快捷键3</span>,',
'减少一定的攻击,增加一定的防御'
],
consume: '1000 * level ** 2 + 1000',
consume: level => 1000 * level ** 2 + 1000,
front: [[9, 5]],
loc: [2, 5],
max: 5,
effect: ['增加${level * 10}%的防御,减少${level * 10}%的攻击']
effect: level => [
`增加${level * 10}%的防御,减少${level * 10}%的攻击`
]
},
{
index: 11,
title: '学习',
desc: [
'<span style="color: gold">主动技能</span>,可以消耗500智慧学习一个怪物的技能,',
'持续5场战斗,每学习一次消耗的智慧点增加250,每次升级使持续的战斗次数增加3次。更多信息可在学习后在百科全书查看。'
],
consume: '2500 * 2 ** level + 5000',
title: '魔法盾',
desc: ['为主角提供魔法防御,每级增加100点魔法防御'],
consume: level => 5000 * level + 5000,
front: [
[8, 10],
[12, 10]
],
loc: [4, 1],
max: 6,
effect: ['学习怪物技能,持续${level * 3 + 2}场战斗']
max: 10,
effect: level => [`学习怪物技能,持续${level * 3 + 2}场战斗`]
},
{
index: 12,
title: '聪慧',
desc: ['使主角变得更加聪明,每级使绿宝石增加的智慧点上升5%'],
consume: 'level > 5 ? 100 * level ** 2 : 250 * level + 1250',
consume: level =>
level > 5 ? 100 * level ** 2 : 250 * level + 1250,
front: [
[8, 10],
[9, 10]
],
loc: [3, 3],
max: 20,
effect: ['增加${level * 5}%绿宝石效果']
effect: level => [`增加${level * 5}%绿宝石效果`]
},
{
index: 13,
title: '治愈',
desc: ['使主角能够更好地回复生命,每级使血瓶的加血量增加2%'],
consume: 'level > 5 ? 100 * level ** 2 : 250 * level + 1250',
consume: level =>
level > 5 ? 100 * level ** 2 : 250 * level + 1250,
front: [[10, 3]],
loc: [4, 5],
max: 20,
effect: ['增加${level * 2}%的血瓶回血量']
effect: level => [`增加${level * 2}%的血瓶回血量`]
},
{
index: 14,
title: '胜利之号',
desc: [
'<span style="color: #dd4">第二章终极技能</span>,',
'每打一个怪物,勇士在本楼层对怪物造成的伤害便增加1%'
'勇士攻防增加10%(buff式增加)'
],
consume: '25000',
consume: () => 25000,
front: [
[13, 10],
[12, 10],
@@ -185,7 +199,7 @@ export const skills: Record<Chapter, Skill[]> = {
],
loc: [5, 3],
max: 1,
effect: ['每打一个怪,勇士造成的伤害增加1%']
effect: () => [`攻防增加10%`]
}
]
};
@@ -210,17 +224,9 @@ export function getSkillLevel(skill: number) {
}
export function getSkillConsume(skill: number) {
return eval(
getSkillFromIndex(skill)?.consume.replace(
/level(:\d+)?/g,
(str, $1) => {
if ($1)
return `Mota.Plugin.require('skillTree_g').getSkillLevel(${$1})`;
else
return `Mota.Plugin.require('skillTree_g').getSkillLevel(${skill})`;
}
) ?? ''
);
const s = getSkillFromIndex(skill);
if (!s) return 0;
return s.consume(getSkillLevel(skill));
}
export function openTree() {
@@ -285,7 +291,11 @@ export function upgradeSkill(skill: number) {
core.setFlag('shieldOn', true);
break;
case 11: // 学习
core.setItem('I565', 1);
core.status.hero.magicDef += 100;
break;
case 12:
core.addBuff('atk', 0.1);
core.addBuff('def', 0.1);
break;
}
const consume = getSkillConsume(skill);