Compare commits

..

8 Commits

16 changed files with 11976 additions and 12119 deletions

View File

@ -116,6 +116,14 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_lint": true,
"_docs": "能否使用或装备",
"_data": "当前能否使用或装备该道具仅对cls不为items有效。null表示始终不可使用但可装备"
},
"canBatchUse": {
"_leaf": true,
"_type": "textarea",
"_string": true,
"_lint": true,
"_docs": "能否批量使用",
"_data": "该道具是否允许批量使用仅对cls为tools或constants有效true表示可批量使用。建议同时勾选【回放不绘制道具栏】"
}
}
},

View File

@ -1529,7 +1529,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"hp": 1000,
"manamax": -1,
"mana": 0,
"atk": 60,
"atk": 10,
"def": 10,
"mdef": 100,
"speed": 10,
@ -1912,6 +1912,24 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
}
],
"startText": [
{
"type": "setText"
},
{
"type": "setHeroOpacity",
"opacity": 0
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 500,
"keep": true
},
{
"type": "function",
"function": "function(){\ncore.getItem('book', 1);\ncore.getItem('fly', 1);\n}"
@ -1923,6 +1941,10 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
{
"type": "insert",
"name": "强制横屏"
},
{
"type": "insert",
"name": "chapter0"
}
],
"shops": [

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,189 @@ main.floors.KTV=
"images": [],
"ratio": 1,
"defaultGround": "grass",
"firstArrive": [],
"firstArrive": [
{
"type": "changebg",
"img1": "",
"memory1": false,
"img2": "bg_3531.webp",
"memory2": false,
"time": 30,
"style": "引入"
},
{
"type": "cgtextList",
"textList": "chapter002"
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "0",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "1",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "2",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "3",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "4",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "5",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "6",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "cgtext",
"bg": "bg_3531.webp",
"memory": false,
"WindowSkin": false,
"head": {
"name": "",
"px": -300
},
"index": "7",
"time": 0,
"wait": 2000,
"bodyList": [
{
"name": "",
"px": 0,
"filter": false
}
]
},
{
"type": "setHeroOpacity",
"opacity": 1
},
{
"type": "setCurtain",
"time": 1000
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},
@ -47,7 +229,7 @@ main.floors.KTV=
[ 17,71797,71797,71797,71797,71797,71797,71797,71797,71797, 90, 17, 0],
[ 17,90211,90211,90211,90211,71877,90211,90211, 0,90587, 0, 17, 0],
[ 17,90541,90542,90543, 17,71761, 17, 17,71288,71116, 0, 17, 0],
[ 17, 0,30216, 0, 0, 0, 0, 0, 0,71257, 0, 17, 0],
[ 17, 0,30216, 0, 0,123, 0, 0, 0,71257, 0, 17, 0],
[ 17, 0, 0, 0,71568,71754,20167, 0, 0,71265, 0, 17, 0],
[ 17, 0, 0, 0,71887, 0, 0, 0,60160,71265, 0, 17, 0],
[ 17,71340, 17, 17, 0, 0, 0, 17, 17,70568, 0,71796,71797],

View File

@ -11,7 +11,36 @@ main.floors.changguan1=
"images": [],
"ratio": 1,
"defaultGround": "grass2",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "autoText",
"text": "通称——",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "changguan2",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -11,7 +11,36 @@ main.floors.changguan2=
"images": [],
"ratio": 1,
"defaultGround": "X20003",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "autoText",
"text": "《牢狱》",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "KTV",
"loc": [
10,
8
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -11,7 +11,250 @@ main.floors.guangchang=
"images": [],
"ratio": 1,
"defaultGround": "X90078",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "setText",
"position": "center"
},
{
"type": "move",
"loc": [
6,
7
],
"time": 500,
"keep": true,
"async": true,
"steps": [
"up:1",
"left:1",
"up:2"
]
},
{
"type": "sleep",
"time": 400
},
{
"type": "move",
"loc": [
8,
8
],
"time": 500,
"keep": true,
"async": true,
"steps": [
"up:1",
"left:2"
]
},
{
"type": "sleep",
"time": 500
},
{
"type": "move",
"loc": [
4,
9
],
"time": 500,
"keep": true,
"steps": [
"right:1"
]
},
{
"type": "waitAsync"
},
{
"type": "autoText",
"text": "浮游都市,《诺瓦斯·艾蒂尔》。",
"time": 2000
},
{
"type": "move",
"loc": [
6,
5
],
"time": 500,
"keep": true,
"async": true,
"steps": [
"up:2"
]
},
{
"type": "move",
"loc": [
6,
7
],
"time": 500,
"keep": true,
"steps": [
"up:1"
]
},
{
"type": "waitAsync"
},
{
"type": "sleep",
"time": 2000
},
{
"type": "move",
"loc": [
6,
3
],
"time": 500,
"async": true,
"steps": [
"down:9"
]
},
{
"type": "move",
"loc": [
5,
4
],
"time": 500,
"keep": true,
"async": true,
"steps": [
"up:1",
"right:1"
]
},
{
"type": "move",
"loc": [
6,
6
],
"time": 300,
"keep": true,
"async": true,
"steps": [
"right:2"
]
},
{
"type": "sleep",
"time": 1000
},
{
"type": "move",
"loc": [
8,
6
],
"time": 500,
"keep": true,
"steps": [
"left:1"
]
},
{
"type": "sleep",
"time": 2000
},
{
"type": "waitAsync"
},
{
"type": "jump",
"from": [
7,
6
],
"to": [
7,
6
],
"time": 500,
"keep": true,
"async": true
},
{
"type": "move",
"loc": [
6,
3
],
"time": 500,
"async": true,
"steps": [
"up:2"
]
},
{
"type": "move",
"loc": [
7,
9
],
"time": 500,
"async": true,
"steps": [
"up:1",
"right:3"
]
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "waitAsync"
},
{
"type": "setBlock",
"number": "0",
"loc": [
[
5,
9
],
[
7,
6
],
[
4,
4
],
[
6,
3
]
]
},
{
"type": "changeFloor",
"floorId": "guangchang2",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},
@ -50,13 +293,13 @@ main.floors.guangchang=
[120007,120007,120007,120007,120020, 0, 91, 0, 0,130187,130188,130189,130190],
[120015,120015,120015,120015,120028, 0, 0, 0, 0,120144,120145,120146,120147],
[130172,130173,130174,130175, 0, 0, 0, 0,71320,120152,120153,120154,120155],
[130180,130181,130182,130183,200199, 0, 0, 0,71328,120160,120161,120162,120163],
[130188,130189,130190,130191, 0, 0, 0, 0,71336,120168,120169,120170,120171],
[130196,130197,130198,130199,140087, 0, 0, 0, 0,120176,140020,140020,140020],
[130180,130181,130182,130183,200199, 0, 0,122,71328,120160,120161,120162,120163],
[130188,130189,130190,130191,121, 0, 0, 0,71336,120168,120169,120170,120171],
[130196,130197,130198,130199,140087, 0,121, 0, 0,120176,140020,140020,140020],
[130204, 0,130206,130207,140095, 0, 0, 0, 0, 0,140028,140028,140028],
[ 0, 0,130214,130215,140103, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0,130214,120172,140111, 0, 0, 0, 0, 0, 0, 0, 94],
[ 0, 0, 0,120180, 0, 0, 0, 0, 0,200199, 0, 0, 0],
[ 0, 0,130214,130215,140103, 0,121, 0, 0, 0, 0, 0, 0],
[ 0, 0,130214,120172,140111, 0, 0, 0,123, 0, 0, 0, 94],
[ 0, 0, 0,120180,121, 0, 0,121, 0,200199, 0, 0, 0],
[140107,140108,140109,362,363, 0, 0, 0,361,362,362,362,362],
[210186,210186,210186,210186,210179, 0, 0, 0,210179,210185,210186,210186,210186],
[210178,210178,210178,210178,210171, 0, 93, 0,210171,210177,210178,210178,210178]

View File

@ -11,7 +11,35 @@ main.floors.guangchang2=
"images": [],
"ratio": 1,
"defaultGround": "X90078",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "sleep",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "guangchang5",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -11,7 +11,35 @@ main.floors.guangchang3=
"images": [],
"ratio": 1,
"defaultGround": "X90078",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "sleep",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "guangchang4",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -11,7 +11,36 @@ main.floors.guangchang4=
"images": [],
"ratio": 1,
"defaultGround": "X90078",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "autoText",
"text": "是被险峻的峭壁环绕,与世隔绝的,都市的最底部",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "changguan1",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -11,7 +11,36 @@ main.floors.guangchang5=
"images": [],
"ratio": 1,
"defaultGround": "X90078",
"firstArrive": [],
"firstArrive": [
{
"type": "setCurtain",
"time": 1000
},
{
"type": "autoText",
"text": "《特别受灾地区》——",
"time": 2000
},
{
"type": "setCurtain",
"color": [
0,
0,
0,
1
],
"time": 1000,
"keep": true
},
{
"type": "changeFloor",
"floorId": "guangchang3",
"loc": [
0,
0
]
}
],
"eachArrive": [],
"parallelDo": "",
"events": {},

View File

@ -55,9 +55,9 @@ main.floors.xiaoxiang01=
[120147, 0, 32, 0,200199, 0,201029,225,110132,224, 0, 0,90675],
[120164,225,200998,200999,201037, 81,201029, 0, 0, 0,110116, 0, 94],
[120172, 0,222, 0,221, 0,201029, 81,110116,225,110137,110138,90650],
[120180,201037,201037, 81,201037,201037,201037, 0,110124, 0, 81, 31,90658],
[120180,201037,201037, 81,201037,201037,201037,246,110124, 0, 81, 31,90658],
[ 92, 32, 32, 22, 21,80089, 31, 0,110132, 0,110122,110122,110197],
[140,110191, 21, 21, 21,80089, 0, 0, 81, 0,222, 29,110197],
[140,110191, 21, 21, 21,80089, 0,246, 81, 0,222, 29,110197],
[140,140,140,110191,80083,80097, 93,110138,110138,140189,140,140,140]
],
"areas": "牢狱",

View File

@ -48,8 +48,8 @@ main.floors.yiqu1=
[140142, 0,120015,120028,201037, 0,201029, 0, 0, 0, 0, 0,110197],
[140150, 0, 0,120019, 0, 0,201029, 0,110189,140,110191, 0,110205],
[ 92, 0, 0,120019,201037,201037,201037, 0,110197,140,110199, 81,110224],
[ 0, 0, 0,120027, 37, 37, 0, 0,110197,140,110199, 0,110232],
[110191, 0, 0, 0, 36, 35,110189,140,140,140,110199, 0, 94],
[ 0, 0, 0,120027, 0, 0, 0, 0,110197,140,110199, 0,110232],
[110191, 0, 0, 0, 0, 0,110189,140,140,140,110199, 0, 94],
[110199,140,140,110191, 0, 0,110197,140,140,110204,110207, 0, 0],
[140,140,140,110199,90684,90684,110197,140,140,110199,110234, 0, 0],
[140,140,140,110199,100307,100308,110197,140,140,110199, 0, 0, 0]

View File

@ -282,7 +282,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
return true;
},
"afterBattle": function (enemyId, x, y) {
"afterBattle": async function (enemyId, x, y) {
// 战斗结束后触发的事件
var enemy = core.getEnemyInfo(enemyId, hero, x, y)
var special = enemy.special;
@ -295,7 +295,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
animate = core.material.items[equipId].equip.animate;
// 你也可以在这里根据自己的需要比如enemyId或special或flag来修改播放的动画效果
// if (enemyId == '...') animate = '...';
if (core.getFlag('noAnimate')) {
// 检查该动画是否存在SE如果不存在则使用默认音效
if (!(core.material.animates[animate] || {}).se)
core.playSound('attack.mp3');
@ -305,11 +305,11 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
core.drawAnimate(animate, x, y);
else
core.drawHeroAnimate(animate);
}
// 获得战斗伤害信息
var damageInfo = core.getDamageInfo(enemyId, null, x, y) || {};
if (!core.getFlag("noAnimate")) core.attackAnimate(
if (!core.getFlag("noAnimate")) await core.attackAnimate(
enemyId,
damageInfo.start[0],
damageInfo.start[1],
@ -928,6 +928,17 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
origin_hero_atk = core.getStatusOrDefault(hero, "atk"),
origin_hero_def = core.getStatusOrDefault(hero, "def");
//编辑器特判
if (main.mode == "editor") {
hero_hp = hero?.hp ?? core.status.hero.hp,
hero_atk = hero?.atk ?? core.status.hero.atk,
hero_def = hero?.def ?? core.status.hero.def,
hero_matk = hero?.matk ?? core.status.hero.matk,
hero_mdef = hero?.mdef ?? core.status.hero.mdef,
hero_mhp = hero?.mhp ?? core.status.hero.mhp,
hero_speed = hero?.speed ?? core.status.hero.speed,
hero_spell = hero?.spell ?? core.status.hero.spell;
}
// 怪物的各项数据
// 对坚固模仿等处理扔到了脚本编辑-getEnemyInfo之中
var enemyInfo = core.enemys.getEnemyInfo(enemy, hero, x, y, floorId);
@ -1017,7 +1028,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
//需要变更
const onegcd = gcd(...oneTurn) //最大公约数
oneTurn = lcm(...oneTurn) / onegcd //单次回合长度
oneTurn = lcm(...oneTurn) //单次回合长度
//在这里处理equip的初始位置now
equipInfo.forEach(v => {
switch (v.id) {
@ -1029,7 +1040,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
v.onAttack = false
if (v.now === oneTurn) v.onAttack = true //增加正在攻击的标志
})
const heroinfo = { hp: hero_hp, atk: hero_atk, def: hero_def, mdef: hero_mdef, spell: hero_spell, mhp: Math.floor(hero_spell * hero_mhp / 100), matk: Math.floor(hero_spell * hero_matk / 100), speed: hero_speed, now: 0, isAttack: false } //勇士属性
const heroinfo = { hp: hero_hp, atk: hero_atk, def: hero_def, mdef: (!hero?.mdef || hero?.mdef === 100) ? hero_mdef : hero.mdef, spell: hero_spell, mhp: Math.floor(hero_spell * hero_mhp / 100), matk: Math.floor(hero_spell * hero_matk / 100), speed: hero_speed, now: 0, isAttack: false } //勇士属性
const enemyinfo = { hp: mon_hp, atk: mon_atk, def: mon_def, mdef: mon_mdef, spell: mon_spell, speed: mon_speed, special: mon_special, now: 0, onAttack: false, isAttack: false } //怪物属性
//先攻,先攻为怪物和勇士勇士行动前怪物出第一刀
if (core.hasSpecial(mon_special, 1)) {
@ -1062,7 +1073,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(enemyinfo.atk - heroinfo.def, 0),
per_mdamage = Math.floor(enemyinfo.spell * (100 - heroinfo.mdef) / 100);
//这里记录伤害触发后的属性变化和动画同时计入diff、damage
//这里记录伤害触发后的属性变化和动画同时计入diff、damage(不要在此直接修改heroinfo和enemyinfo)
if (core.hasSpecial(mon_special, 6)) {
hero_damage += per_damage * enemy.n + per_mdamage * enemy.n
} else {
@ -1071,12 +1082,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let animate = core.plugin.enemyanimate[enemy.id] ?? "sword"
//这里可通过if更改默认的怪物攻击特效
hero_animate.push(animate) //勇士身上绘制sword动画
if (heroinfo.mhp - hero_damage >= 0) {
heroinfo.mhp = heroinfo.mhp - hero_damage
if (heroinfo.mhp + (hero_diff.mhp ?? 0) - hero_damage >= 0) {
hero_diff.mhp = (hero_diff.mhp ?? 0) - hero_damage
hero_damage = 0
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
} else {
hero_damage -= heroinfo.mhp
heroinfo.hp -= hero_damage
hero_damage -= heroinfo.mhp + (hero_diff.mhp ?? 0)
hero_diff.mhp = (hero_diff.mhp ?? 0) - heroinfo.mhp - (hero_diff.mhp ?? 0)
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
}
@ -1089,7 +1102,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (v.onAttack) {
let mon_damage = 0
let hero_damage = 0
//这里写生效装备的技能效果同时对双方属性的修改计入diff
//这里写生效装备的技能效果同时对双方属性的修改计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.equipanimate[v.id] ?? "sword"
//这里可通过if更改默认的道具特效
enemy_animate.push(animate) //勇士身上绘制动画
@ -1104,6 +1117,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
enemyDiffList.push(enemy_diff)
heroanimateList.push(hero_animate)
enemyanimateList.push(enemy_animate)
//处理属性变化
for (let v in hero_diff) {
heroinfo[v] += hero_diff[v]
}
for (let v in enemy_diff) {
enemyinfo[v] += enemy_diff[v]
}
continue //进入下一循环
}
heroinfo.now += heroinfo.speed
@ -1124,12 +1144,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(heroinfo.atk - enemyinfo.def, 0)
let per_mdamage = Math.max(Math.floor(heroinfo.matk * (100 - enemyinfo.mdef) / 100), 0)
mon_damage = per_damage + per_mdamage
//这里记录伤害触发后的属性变化和动画同时计入diff
//这里记录伤害触发后的属性变化和动画同时计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.heroanimate[equip0] ?? "sword"
//这里可通过if更改默认的武器攻击特效
enemy_animate.push(animate)
enemyinfo.hp -= mon_damage
enemy_diff.hp = (enemy_diff.hp ?? 0) - mon_damage
heroinfo.now -= oneTurn
hero_turn++
@ -1145,7 +1165,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(enemyinfo.atk - heroinfo.def, 0),
per_mdamage = Math.floor(enemyinfo.spell * (100 - heroinfo.mdef) / 100);
//这里记录伤害触发后的属性变化和动画同时计入diff、damage
//这里记录伤害触发后的属性变化和动画同时计入diff、damage(不要在此直接修改heroinfo和enemyinfo)
if (core.hasSpecial(mon_special, 6)) {
hero_damage += per_damage * enemy.n + per_mdamage * enemy.n
} else {
@ -1154,12 +1174,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let animate = core.plugin.enemyanimate[enemy.id] ?? "sword"
//这里可通过if更改默认的怪物攻击特效
hero_animate.push(animate) //勇士身上绘制sword动画
if (heroinfo.mhp - hero_damage >= 0) {
heroinfo.mhp = heroinfo.mhp - hero_damage
if (heroinfo.mhp + (hero_diff.mhp ?? 0) - hero_damage >= 0) {
hero_diff.mhp = (hero_diff.mhp ?? 0) - hero_damage
hero_damage = 0
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
} else {
hero_damage -= heroinfo.mhp
heroinfo.hp -= hero_damage
hero_damage -= heroinfo.mhp + (hero_diff.mhp ?? 0)
hero_diff.mhp = (hero_diff.mhp ?? 0) - heroinfo.mhp - (hero_diff.mhp ?? 0)
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
}
@ -1172,7 +1194,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (v.now >= oneTurn) {
let mon_damage = 0
let hero_damage = 0
//这里写生效装备的技能效果同时对双方属性的修改计入diff
//这里写生效装备的技能效果同时对双方属性的修改计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.equipanimate[v.id] ?? "sword"
//这里可通过if更改默认的道具特效
enemy_animate.push(animate) //怪物身上绘制动画
@ -1183,20 +1205,27 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
})
if (onattack) { //处理完毕后的数据处理
//处理完毕后的数据处理
heroDiffList.push(hero_diff)
enemyDiffList.push(enemy_diff)
heroanimateList.push(hero_animate)
enemyanimateList.push(enemy_animate)
let a = hero_turn % 50 //出手50回合怪物生命未降低直接判负避免死循环
if (a === 0) {
//处理属性变化
for (let v in hero_diff) {
heroinfo[v] += hero_diff[v]
}
for (let v in enemy_diff) {
enemyinfo[v] += enemy_diff[v]
}
//出手50回合怪物生命未降低直接判负避免死循环
if (hero_turn === 50) {
if (enemyinfo.hp >= beforehp) {
return null
} else {
beforehp = enemyinfo.hp
}
}
}
}
//下面这些还没修改,原有技能除先攻、连击外暂时全部移除,所有技能需要在上方的模拟循环中做修正

View File

@ -310,13 +310,15 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"itemEffectTip": ",防御+100护盾+100"
},
"superPotion": {
"cls": "items",
"cls": "tools",
"name": "圣水",
"itemEffect": "core.status.hero.hp *= 2",
"itemEffectTip": ",生命值翻倍",
"useItemEffect": "core.status.hero.hp *= 2;core.playSound('回血');",
"canUseItemEffect": "true",
"text": "生命值翻倍"
"text": "生命值翻倍",
"canBatchUse": "true",
"hideInReplay": true
},
"book": {
"cls": "constants",

File diff suppressed because it is too large Load Diff