Merge branch 'status' into story-laodeng

This commit is contained in:
草莓 2024-12-24 14:54:32 +08:00
commit 3980c9b423
36 changed files with 3393 additions and 1410 deletions

View File

@ -952,6 +952,7 @@ action
| removeMouse_s
| drawWarning_s
| addPop_s
| over_s
| playStereo_s
| moveStereo_s
| pass_s
@ -1060,8 +1061,23 @@ if (block.isCollapsed() || !block.isEnabled() || pos || Int_0 || Bool_0) {
return code+',\n';
*/;
over_s
: '旁白文字' ':' EvalString BGNL? Newline
'背景' EvalString? '持续时长' Int? '渐入渐出时长' Int? '音频文件' EvalString? BGNL? Newline
'文字颜色' ColorString? Colour '描边颜色' ColorString? Colour '字体信息' EvalString? Newline
/*over_s
tooltip : over这段话将出现在屏幕中心
helpUrl : /_docs/#/instruction
allImages : ['EvalString_1']
allSounds : ['EvalString_2']
default : ["这段话将在屏幕中心","bg_5043.png",3000,30,"","255,255,255,1",'rgba(255,255,255,1)',"0,0,0,1",'rgba(0,0,0,1)','bold 48px Verdana']
var code = '{"type": "over", "text": "'+EvalString_0+'","image":"'+EvalString_1+'","time":'+Int_0+',"hidetime":'+Int_1+',"sound":"'+EvalString_2+'","textColor": ['+ColorString_0+'], "boldColor": ['+ColorString_1+'], "font": "'+EvalString_3+'"},\n';
return code;
*/;
cgtext_s
: '背景' EvalString? '移除对话框' Bool? '头像' EvalString?'名字' EvalString?'坐标PX' Number'打字间隔' Int? BGNL? Newline
'音频文件(需在全塔属性——使用音效注册)'EvalString? BGNL? Newline
EvalString? BGNL? Newline textcgDrawingList*? Newline
@ -1069,10 +1085,11 @@ cgtext_s
tooltip : cgtext显示一段包含cg的文字剧情
helpUrl : /_docs/#/instruction
allImages : ['EvalString_0','EvalString_1']
default : ["bg_5043.png","face_050445.png",false,"菲奥奈",-300,0,"这句话显示在对话框内",[{ "name":"tati_050145a.png" , "px": 100,"filter":false }]]
allSounds : ['EvalString_3']
default : ["bg_5043.png","face_050445.png",false,"菲奥奈",-300,0,"","这句话显示在对话框内",[{ "name":"tati_050145a.png" , "px": 100,"filter":false }]]
var head ='{ "name": "'+EvalString_1+'", "px": '+Number_0+' }'
var list=',"bodyList": [\n'+textcgDrawingList_0+'\n]'
var code = '{"type": "cgtext", "bg":"'+EvalString_0+'","WindowSkin":'+Bool_0+',"head":'+head+' ,"name":"'+EvalString_2+'","time":'+Int_0+',"text": "'+EvalString_3+'"'+list+' },\n';
var code = '{"type": "cgtext", "bg":"'+EvalString_0+'","WindowSkin":'+Bool_0+',"head":'+head+' ,"name":"'+EvalString_2+'","time":'+Int_0+',"sound":"'+EvalString_3+'","text": "'+EvalString_4+'"'+list+' },\n';
return code;
*/;
textcgDrawingList
@ -1285,6 +1302,7 @@ IdString_0 = IdString_0 && (', "icon": "' + IdString_0 + '"');
var code = '{"type": "tip", "text": "'+EvalString_0+'"'+IdString_0+'},\n';
return code;
*/;
addPop_s
: '弹出弹幕' ':' EvalString BGNL? Newline
'出现像素位置px' Int 'py' Int '文字颜色' ColorString? Colour '描边颜色' ColorString? Colour BGNL? Newline

View File

@ -315,7 +315,7 @@ ActionParser.prototype.parseAction = function() {
return res;
}
this.next = MotaActionBlocks['cgtext_s'].xmlText([
data.bg,data.WindowSkin,data.head.name, data.name||"", data.head.px||-300,data.time, data.text,buildcgDrawing(data.bodyList), this.next]);
data.bg,data.WindowSkin,data.head.name, data.name||"", data.head.px||-300,data.time, data.sound,data.text,buildcgDrawing(data.bodyList), this.next]);
break;
case "moveTextBox": // 移动对话框
@ -352,6 +352,10 @@ ActionParser.prototype.parseAction = function() {
this.next = MotaActionBlocks['addPop_s'].xmlText([
data.value,data.px, data.py, data.color,'rgba('+data.color+')', data.boldColor,'rgba('+data.boldColor+')', data.left, data.jump, data.time, data.show, data.font, data.speed,this.next]);
break;
case "over":
this.next = MotaActionBlocks['over_s'].xmlText([
data.text??"",data.image??"", data.time??3000, data.hidetime??100,data.sound??"", data.textColor,'rgba('+data.textColor+')', data.boldColor,'rgba('+data.boldColor+')', data.font??"bold 48px Verdana",this.next]);
break;
case "tip":
this.next = MotaActionBlocks['tip_s'].xmlText([
data.text,data.icon||"",this.next]);

File diff suppressed because one or more lines are too long

View File

@ -32,6 +32,23 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_docs": "道具类别",
"_data": "items(宝石、血瓶) constants(永久物品) tools(消耗道具) equips(装备)"
},
"equipCls": {
"_leaf": true,
"_type": "select",
"_select": {
"values": [
"单手剑",
"法杖",
"双手剑",
"匕首",
"盾牌",
"护具",
"饰品"
]
},
"_docs": "装备类别",
"_data": "单手剑作为副手时主手必须为单手剑,匕首作为副手时主手武器必须为单手剑、法杖、匕首之一,盾牌仅可作为副手使用且主手必须为单手剑、法杖之一"
},
"name": {
"_leaf": true,
"_type": "textarea",
@ -170,7 +187,23 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"def": {
"_leaf": true,
"_type": "textarea",
"_data": "防御力"
"_data": "物理防御力"
},
"mdef": {
"_leaf": true,
"_type": "textarea",
"_data": "魔法防御力"
},
"speed": {
"_leaf": true,
"_type": "textarea",
"_data": "速度"
},
"magic": {
"_leaf": true,
"_type": "checkbox",
"_docs": "是否为魔法攻击",
"_data": "勾选以魔法攻击计算,不勾选以物理攻击计算"
},
"money": {
"_leaf": true,

View File

@ -257,17 +257,48 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"atk": {
"_leaf": true,
"_type": "textarea",
"_data": "初始攻击"
"_data": "攻击"
},
"def": {
"_leaf": true,
"_type": "textarea",
"_data": "初始防御"
"_data": "物理防御"
},
"mdef": {
"_leaf": true,
"_type": "textarea",
"_data": "初始护盾"
"_data": "魔法防御"
},
"speed": {
"_leaf": true,
"_type": "textarea",
"_data": "攻击速度"
},
"str": {
"_leaf": true,
"_type": "textarea",
"_data": "力量"
},
"agi": {
"_leaf": true,
"_type": "textarea",
"_data": "敏捷"
},
"int": {
"_leaf": true,
"_type": "textarea",
"_data": "智力"
},
"con": {
"_leaf": true,
"_type": "textarea",
"_data": "体质"
},
"magic": {
"_leaf": true,
"_type": "checkbox",
"_docs": "攻击类型",
"_data": "攻击类型是否是魔法"
},
"money": {
"_leaf": true,

Binary file not shown.

BIN
project/bgms/Crawler.mp3 Normal file

Binary file not shown.

View File

@ -31,13 +31,18 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"bg_2011.png",
"bg_2521.png",
"bg_3042.png",
"bg_3531.png",
"bg_3551.png",
"bg_3563.png",
"bg_3571.png",
"bg_3601.png",
"bg_3721.png",
"bg_5033.png",
"bg_5043.png",
"bg_5044.png",
"bg_6004.png",
"brave.png",
"cao.png",
"d.png",
"dl.png",
"dlr.png",
@ -93,12 +98,17 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"h25.png",
"hero.png",
"l.png",
"lane1.png",
"light.png",
"lock.png",
"lr.png",
"maba.png",
"now.png",
"null.png",
"other_0001.png",
"other_0002.png",
"other_0003.png",
"other_0004.png",
"r.png",
"status.png",
"statusBackground.jpg",
@ -155,9 +165,22 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
],
"bgms": [
"Asphodelus_Ceui.mp3",
"Blind_Alley.mp3",
"Crawler.mp3",
"theme.mp3"
],
"sounds": [
"aiy010000010.mp3",
"aiy010000020.mp3",
"aiy010000030.mp3",
"aiy310000010.mp3",
"aiy310000020.mp3",
"aiy710000010.mp3",
"aiy710000020.mp3",
"aiy710000030.mp3",
"aiy710000040.mp3",
"aiy710000050.mp3",
"aiy710000060.mp3",
"attack.mp3",
"bomb.mp3",
"cancel.mp3",
@ -216,7 +239,9 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"levelChoose": null,
"equipName": [
"武器",
"盾牌"
"武器",
"防具",
"饰品"
],
"startBgm": "theme.mp3",
"styles": {
@ -292,7 +317,14 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"useBetweenLight": true
},
"followers": [],
"steps": 0
"steps": 0,
"matk": 0,
"speed": 0,
"str": 10,
"agi": 10,
"int": 10,
"con": 10,
"magic": false
},
"startCanvas": [
{

View File

@ -10,7 +10,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"vampire": {"name":"冥灵魔王","hp":888,"atk":888,"def":888,"money":888,"exp":888,"point":0,"special":[6],"n":8},
"skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"magic":false},
"zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"rock": {"name":"石头人","hp":50,"atk":50,"def":0,"money":3,"exp":0,"point":0,"special":3},
"bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":[9]},

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
main.floors.Caimhome=
{
"floorId": "Caimhome",
"title": "主塔 11 层",
"title": "主塔11层",
"name": "11",
"width": 13,
"height": 13,

View File

@ -1,7 +1,7 @@
main.floors.jiuguan=
{
"floorId": "jiuguan",
"title": "主塔 11 层",
"title": "主塔11层",
"name": "11",
"width": 13,
"height": 13,
@ -27,8 +27,28 @@ main.floors.jiuguan=
"direction": "down"
}
],
"3,6": [
"\t[小妖精,fairy]\f[fairy.png,0,0]欢迎使用事件编辑器(双击方块可直接预览)"
"4,10": [
{
"type": "over",
"text": "这段话将在屏幕中心",
"image": "bg_5043.png",
"time": 3000,
"hidetime": 30,
"sound": "",
"textColor": [
255,
255,
255,
1
],
"boldColor": [
0,
0,
0,
1
],
"font": "bold 48px Verdana"
}
]
},
"changeFloor": {},

View File

@ -177,6 +177,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (!core.hasVisitedFloor(floorId)) {
core.insertAction(core.floors[floorId].firstArrive);
core.visitFloor(floorId);
core.plugin.bfs();
}
}
},
@ -491,10 +492,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 名字和描述可以直接写字符串也可以写个function将怪物传进去
return [
[1, "先攻", "怪物首先攻击", "#ffcc33"],
[2, "魔攻", "怪物无视角色的防御", "#bbb0ff"],
[3, "坚固", "怪物防御不小于角色攻击-1", "#c0b088"],
[4, "2连击", "怪物每回合攻击2次", "#ffee77"],
[5, "3连击", "怪物每回合攻击3次", "#ffee77"],
[6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }, "#ffee77"],
[7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.breakArmor || core.values.breakArmor || 0)) + "%作为伤害"; }, "#88c0ff"],
[8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.counterAttack || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"],
@ -518,7 +516,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
[26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1],
[27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"]
];
},
},
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
// 例如:坚固、模仿、仿攻等等
@ -641,7 +639,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
"special": mon_special,
"guards": guards, // 返回支援情况
};
},
},
"getDamageInfo": function (enemy, hero, x, y, floorId) {
// 获得战斗伤害信息(实际伤害计算函数)
//
@ -705,15 +703,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 每回合怪物对勇士造成的战斗伤害
var per_damage = mon_atk - hero_def;
// 魔攻:战斗伤害就是怪物攻击力
if (core.hasSpecial(mon_special, 2)) per_damage = mon_atk;
// 战斗伤害不能为负值
if (per_damage < 0) per_damage = 0;
// 2连击 & 3连击 & N连击
if (core.hasSpecial(mon_special, 4)) per_damage *= 2;
if (core.hasSpecial(mon_special, 5)) per_damage *= 3;
if (core.hasSpecial(mon_special, 6)) per_damage *= (enemy.n || 4);
// 连击
if (core.hasSpecial(mon_special, 6)) per_damage *= (enemy.n || 2);
// 每回合的反击伤害;反击是按照勇士的攻击次数来计算回合
var counterDamage = 0;
@ -799,7 +794,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
"turn": Math.floor(turn),
"damage": Math.floor(damage)
};
}
}
},
"actions": {
"onKeyUp": function (keyCode, altKey) {
@ -1167,6 +1162,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
}
},
"updateStatusBar": function () {
//更新属性映射
core.updateStatus()
// 更新状态栏
core.ui.statusBar.update();

BIN
project/images/bg_3531.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
project/images/bg_3563.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

BIN
project/images/bg_3601.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
project/images/bg_6004.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
project/images/cao.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
project/images/lane1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -144,7 +144,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"itemEffectTip": ",攻击+0"
},
"sword1": {
"cls": "items",
"cls": "equips",
"name": "铁剑",
"text": "一把很普通的铁剑",
"equip": {
@ -152,27 +152,31 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"animate": "sword",
"value": {
"atk": 10
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.atk += 10",
"itemEffectTip": ",攻击+10"
"itemEffectTip": ",攻击+10",
"equipCls": "双手剑"
},
"sword2": {
"cls": "items",
"cls": "equips",
"name": "银剑",
"text": "一把很普通的银剑",
"equip": {
"type": 0,
"type": "武器",
"animate": "sword",
"value": {
"atk": 20
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.atk += 20",
"itemEffectTip": ",攻击+20"
"itemEffectTip": ",攻击+20",
"equipCls": "匕首"
},
"sword3": {
"cls": "items",
"cls": "equips",
"name": "骑士剑",
"text": "一把很普通的骑士剑",
"equip": {
@ -180,38 +184,44 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"animate": "sword",
"value": {
"atk": 40
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.atk += 40",
"itemEffectTip": ",攻击+40"
"itemEffectTip": ",攻击+40",
"equipCls": "法杖"
},
"sword4": {
"cls": "items",
"cls": "equips",
"name": "圣剑",
"text": "一把很普通的圣剑",
"equip": {
"type": 0,
"type": "武器",
"animate": "sword",
"value": {
"atk": 80
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.atk += 80",
"itemEffectTip": ",攻击+80"
"itemEffectTip": ",攻击+80",
"equipCls": "单手剑"
},
"sword5": {
"cls": "equips",
"name": "神圣剑",
"text": "一把很普通的神圣剑",
"equip": {
"type": 0,
"type": "武器",
"animate": "sword",
"value": {
"atk": 160
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.atk += 100",
"itemEffectTip": ",攻击+100"
"itemEffectTip": ",攻击+100",
"equipCls": "匕首"
},
"shield0": {
"cls": "items",
@ -234,10 +244,12 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"type": 1,
"value": {
"def": 10
}
},
"percentage": {}
},
"itemEffect": "core.status.hero.def += 10",
"itemEffectTip": ",防御+10"
"itemEffectTip": ",防御+10",
"equipCls": "盾牌"
},
"shield2": {
"cls": "items",

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.