开发分支

This commit is contained in:
枫谷剑仙 2024-03-18 21:54:03 +08:00
parent 604cd0d34a
commit 8fe8a165a8
4 changed files with 81 additions and 17 deletions

View File

@ -238,7 +238,7 @@ label[for="screenshot-transparent"]::after{
content: "🔄Rotating ABC Team";
}
.control-box .lbl-henshin-change::before{
content: "🦸Henshin";
content: "🦸Changes";
}
.control-box .lbl-remove-assist::before{
content: "⛔Remove Assist";
@ -555,12 +555,12 @@ label[for="real-time-change-card"]::after
.henshin .evo-type::before,
.henshin .evo-type::after
{
content: "Henshin";
content: "Changes";
}
.random-henshin .evo-type::before,
.random-henshin .evo-type::after
{
content: "Random Henshin";
content: "Random Changes";
}
.random-henshin .evo-type-div
{
@ -574,7 +574,7 @@ label[for="real-time-change-card"]::after
.henshin-loop .evo-type::before,
.henshin-loop .evo-type::after
{
content: "Loop Henshin";
content: "Loop Changes";
}
.henshin-loop .evo-type
{

View File

@ -134,8 +134,8 @@ let localTranslating = {
reduce_damage: tp`${'condition'}${'chance'}${'icon'}Reduces ${'attrs'} damage taken by ${'value'}`,
power_up: tp`${'condition'}${'targets'}${'each_time'}${'value'}${'reduceDamage'}${'additional'}`,
power_up_targets: tp`[${'attrs_types'}]'s `, //attrs, types, attrs_types
henshin: tp`Transforms into ${'cards'}`,
random_henshin: tp`Random transforms into ${'cards'}`,
henshin: tp`Changes to ${'cards'}`,
random_henshin: tp`Random changes to ${'cards'}`,
void_poison: tp`Voids ${'poison'} damage`,
skill_proviso: tp`The follow-up effect can only be activates ${'condition'}`,
impart_awoken: tp`Impart ${'attrs_types'} additional ${'awakenings'}`,

View File

@ -649,14 +649,14 @@ function valueAt(level, maxLevel, curve) {
function curve(c, level, maxLevel, limitBreakIncr, limitBreakIncr120) {
let value = valueAt(level, maxLevel, {
min: c.min,
max: c.max !== undefined ? c.max : (c.min * maxLevel),
max: c.max !== void 0 ? c.max : (c.min * maxLevel),
scale: c.scale || 1
});
if (level > maxLevel) {
const exceed99 = Math.min(level - maxLevel, 11);
const exceed110 = Math.max(0, level - 110);
value += c.max !== undefined ?
value += c.max !== void 0 ?
((c.max * (limitBreakIncr / 100) * (exceed99 / 11)) + (c.max * (limitBreakIncr120 / 100) * (exceed110 / 10))) :
(c.min * exceed99 + c.min * exceed110);
}

View File

@ -123,7 +123,7 @@ class Plus extends Array {
this[1] = hp[1];
this[2] = hp[2];
} else { //传入三个数字的形式
if (!Number.isInteger(hp) || !Number.isInteger(atk) || !Number.isInteger(rcv)) throw new TypeError("传入的+值不是整数");
if (!Number.isInteger(hp) || !Number.isInteger(atk) || !Number.isInteger(rcv)) throw new TypeError("传入的 +值 不是整数");
this[0] = hp;
this[1] = atk;
this[2] = rcv;
@ -133,21 +133,24 @@ class Plus extends Array {
return this[0];
}
set hp(num) {
if (!Number.isInteger(num)) throw new TypeError("传入的+值不是整数");
if (!Number.isInteger(num)) throw new TypeError("传入的 HP +值 不是整数");
if (num < 0 || num > 99) throw new RangeError("HP +值应为 0-99 之间的整数");
this[0] = num;
}
get atk() {
return this[1];
}
set atk(num) {
if (!Number.isInteger(num)) throw new TypeError("传入的+值不是整数");
if (!Number.isInteger(num)) throw new TypeError("传入的 ATK +值 不是整数");
if (num < 0 || num > 99) throw new RangeError("ATK +值应为 0-99 之间的整数");
this[1] = num;
}
get rcv() {
return this[2];
}
set rcv(num) {
if (!Number.isInteger(num)) throw new TypeError("传入的+值不是整数");
if (!Number.isInteger(num)) throw new TypeError("传入的 RCV +值 不是整数");
if (num < 0 || num > 99) throw new RangeError("RCV +值应为 0-99 之间的整数");
this[2] = num;
}
get is297() {
@ -190,6 +193,9 @@ class LatentAwakening extends Array {
Object.assign(this, arg);
}
}
get usedHole() {
return this.reduce((p,v)=>p + latentUseHole(v),0);
}
toBigInt() {
//直接使用目前的最新版本
const leftNumn = 0b111n;
@ -220,12 +226,13 @@ class LatentAwakening extends Array {
}
}
class Member2 {
id = 0;
id = 0; //原始id
changes = null; //变身后id
level = 1;
plus = new Plus();
awakening = 0;
superAwakening= 0;
latentAwakening = new LatentAwakening();
#plus = new Plus();
#latentAwakening = new LatentAwakening();
skillLevel = 0;
assistMember = null;
get hasAssist() {
@ -247,6 +254,48 @@ class Member2 {
get card() {
return Cards[this.id] ?? Cards[0];
}
get plus() {
return this.#plus;
}
set plus(arr) {
if (!Array.isArray(arr) || !arr.every(n=>Number.isInteger(n)))
throw new TypeError("直接设定 +值 应当为整形数组");
this.#plus[0] = arr[0];
this.#plus[1] = arr[1];
this.#plus[2] = arr[2];
}
get latentAwakening() {
return this.#latentAwakening;
}
set latentAwakening(arr) {
if (!Array.isArray(arr) || !arr.every(n=>Number.isInteger(n)))
throw new TypeError("直接设定 潜在觉醒 应当为整形数组");
this.#latentAwakening.length = arr.length;
for (let i=0;i<arr.length;i++) {
this.#latentAwakening[i] = arr[i];
}
}
get needExp() {
const expArray = [
Math.round(valueAt(this.level, 99, this.card.exp)) //99级以内的经验
];
if (this.level > 99)
expArray.push(Math.max(0, Math.min(this.level, 110) - 100) * 5000000);
if (this.level > 110)
expArray.push(Math.max(0, Math.min(this.level, 120) - 110) * 20000000);
return expArray;
}
getWorkingAwakenings(states) {
const {awakningsBind, removeAssist} = states;
if (awakningsBind) return [];
const awaknings = this.card.awakenings.slice(0, this.awakening);
if (this.hasAssist && !removeAssist) //有武器并且没有禁武器时
awaknings.push(...this.assistMember.getAwakenings(states));
return awaknings;
}
getAbilities(states) {
const {awakningsBind, removeAssist, dungeonEnchance} = states;
}
}
class Card {
flags = 0;
@ -553,8 +602,8 @@ class LeaderSkillType_ExtraEffects {
class Team extends Array {
badge = 0;
helperTeam = null;
constructor(memberCount = 6)
{
switchesLeader = null;
constructor(memberCount = 6) {
super(memberCount);//建立 Array
}
get leader1(){
@ -565,6 +614,21 @@ class Team extends Array {
return helperTeam instanceof Team ? this.helperTeam.leader1 : this[5];
}
}
class Formation2 {
teams = [];
title = "";
detail = "";
dungeonEnchance = null;
constructor(teamCount) {
for (let i=0; i<teamCount; i++) {
this.teams.push(new Team(teamCount === 2 ? 5 : 6));
}
if (teamCount === 2) { //当为2人对物时互相设定为互助队伍
this.teams[0].helperTeam = this.teams[1];
this.teams[1].helperTeam = this.teams[0];
}
}
}
//队员基本的留空
var Member = function(id = 0) {