合并V2.8素材
@ -2797,7 +2797,7 @@ return code;
|
||||
*/;
|
||||
|
||||
choices_s
|
||||
: '选项' ':' EvalString_Multi? BGNL? '标题' EvalString? '图像' IdString? '默认选中项' Int '超时毫秒数' Int '宽度' IntString? BGNL? Newline choicesContext+ BEND Newline
|
||||
: '选项' ':' EvalString_Multi? BGNL? '标题' EvalString? '图像' IdString? '超时毫秒数' Int '宽度' IntString? BGNL? Newline choicesContext+ BEND Newline
|
||||
|
||||
|
||||
/* choices_s
|
||||
@ -2816,10 +2816,9 @@ if (EvalString_0==''){
|
||||
}
|
||||
EvalString_Multi_0 = title+EvalString_Multi_0;
|
||||
EvalString_Multi_0 = EvalString_Multi_0 ?(', "text": "'+EvalString_Multi_0+'"'):'';
|
||||
Int_0 = Int_0 ? (', "selected": '+Int_0) : '';
|
||||
Int_1 = Int_1 ? (', "timeout": '+Int_1) : '';
|
||||
Int_0 = Int_0 ? (', "timeout": '+Int_0) : '';
|
||||
IntString_0 = IntString_0 ? (', "width": ' + IntString_0) : '';
|
||||
var code = ['{"type": "choices"',EvalString_Multi_0,Int_0,Int_1,IntString_0,
|
||||
var code = ['{"type": "choices"',EvalString_Multi_0,Int_0,IntString_0,
|
||||
block.isCollapsed()?', "_collapsed": true':'',
|
||||
block.isEnabled()?'':', "_disabled": true',
|
||||
', "choices": [\n',
|
||||
@ -4115,8 +4114,8 @@ MoveMode_List
|
||||
/*MoveMode_List ['', 'easeIn', 'easeOut', 'easeInOut']*/;
|
||||
|
||||
NameMap_List
|
||||
: '确定'|'取消'|'操作失败'|'光标移动'|'打开界面'|'读档'|'存档'|'获得道具'|'回血'|'炸弹'|'飞行器'|'开关门'|'上下楼'|'跳跃'|'破墙镐'|'阻激夹域'|'穿脱装备'
|
||||
/*NameMap_List ['确定','取消','操作失败','光标移动','打开界面','读档','存档','获得道具','回血','炸弹','飞行器','开关门','上下楼','跳跃','破墙镐','阻激夹域','穿脱装备']*/;
|
||||
: '确定'|'取消'|'操作失败'|'光标移动'|'打开界面'|'读档'|'存档'|'获得道具'|'回血'|'宝石'|'炸弹'|'飞行器'|'开关门'|'上下楼'|'跳跃'|'破墙镐'|'破冰镐'|'阻激夹域'|'穿脱装备'|'商店'
|
||||
/*NameMap_List ['确定','取消','操作失败','光标移动','打开界面','读档','存档','获得道具','回血','宝石','炸弹','飞行器','开关门','上下楼','跳跃','破墙镐','破冰稿','阻激夹域','穿脱装备','商店']*/;
|
||||
|
||||
//转blockly后不保留需要加"
|
||||
EvalString
|
||||
|
||||
@ -863,7 +863,7 @@ ActionParser.prototype.parseAction = function() {
|
||||
if (!this.isset(data.text)) data.text = '';
|
||||
var info = this.getTitleAndPosition(data.text);
|
||||
this.next = MotaActionFunctions.xmlText('choices_s', [
|
||||
info[3],info[0],info[1],data.selected||0,data.timeout||0,data.width,text_choices,this.next], /* isShadow */false, /*comment*/ null, /*collapsed*/ data._collapsed, /*disabled*/ data._disabled);
|
||||
info[3],info[0],info[1],data.timeout||0,data.width,text_choices,this.next], /* isShadow */false, /*comment*/ null, /*collapsed*/ data._collapsed, /*disabled*/ data._disabled);
|
||||
break;
|
||||
case "for": // 循环遍历
|
||||
this.next = MotaActionFunctions.xmlText('for_s',[
|
||||
|
||||
@ -383,7 +383,7 @@
|
||||
<select id="selectFloor" style="clear:left"></select>
|
||||
<input type="button" value="保存地图" id='saveFloor'/>
|
||||
<input type="button" value="后退" id="undoFloor" />
|
||||
<input type="button" value="查看帮助文档" id="openDoc" />
|
||||
<input type="button" value="帮助文档" id="openDoc" />
|
||||
<span id='mobileeditdata' style="display:none">
|
||||
<input type="button" value="编辑"/>
|
||||
<input type="button" value="显示完整名称" style="display: none;"/>
|
||||
|
||||
24
editor.html
@ -306,18 +306,18 @@
|
||||
<div class="tools">
|
||||
<div id="tip"></div>
|
||||
<select id="editModeSelect">
|
||||
<option value="map">地图编辑</option>
|
||||
<option value="loc">地图选点</option>
|
||||
<option value="enemyitem">图块属性</option>
|
||||
<option value="floor">楼层属性</option>
|
||||
<option value="tower">全塔属性</option>
|
||||
<option value="functions">脚本编辑</option>
|
||||
<option value="appendpic">追加素材</option>
|
||||
<option value="commonevent">公共事件</option>
|
||||
<option value="plugins">插件编写</option>
|
||||
<option value="map">地图编辑Z</option>
|
||||
<option value="loc">地图选点X</option>
|
||||
<option value="enemyitem">图块属性C</option>
|
||||
<option value="floor">楼层属性V</option>
|
||||
<option value="tower">全塔属性B</option>
|
||||
<option value="functions">脚本编辑N</option>
|
||||
<option value="appendpic">追加素材M</option>
|
||||
<option value="commonevent">公共事件 ,</option>
|
||||
<option value="plugins">插件编写 .</option>
|
||||
</select>
|
||||
<span style="font-size: 12px"><input type="checkbox" id="showMovable"/>通行度</span>
|
||||
<select id="editorTheme" style="margin-left: 3px; font-size: 11px;">
|
||||
<span style="font-size: 12px"><input type="checkbox" id="showMovable" style="margin-left:0;margin-right: 2px"/>通行度</span>
|
||||
<select id="editorTheme" style="margin-left: 0; font-size: 11px;">
|
||||
<option value="editor_color">默认白</option>
|
||||
<option value="editor_color_dark">夜间黑</option>
|
||||
</select>
|
||||
@ -347,7 +347,7 @@
|
||||
<select id="selectFloor" style="margin-bottom: 5px;"></select>
|
||||
<input type="button" value="保存地图" id='saveFloor'/>
|
||||
<input type="button" value="后退" id="undoFloor" />
|
||||
<input type="button" value="查看帮助文档" id="openDoc" />
|
||||
<input type="button" value="帮助文档" id="openDoc" />
|
||||
<input type="button" value="前往游戏" onclick="window.open('./index.html', '_blank')"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -2033,7 +2033,6 @@ events.prototype._action_choices = function (data, x, y, prefix) {
|
||||
try { return core.calValue(x.condition, prefix); } catch (e) { return true; }
|
||||
})
|
||||
if (data.choices.length == 0) return this.doAction();
|
||||
var selected = data.selected || 0;
|
||||
if (core.isReplaying()) {
|
||||
var action = core.status.replay.toReplay.shift();
|
||||
if (action.indexOf('choices:') == 0 && !(action == 'choices:none' && !data.timeout)) {
|
||||
@ -2049,7 +2048,7 @@ events.prototype._action_choices = function (data, x, y, prefix) {
|
||||
if (main.replayChecking) {
|
||||
// 录像验证系统中选择第一项
|
||||
if (action != 'choices:none') core.status.replay.toReplay.unshift(action); // 首先归还刚才读出的下一步操作
|
||||
core.events.__action_choices_replaying(data, selected)
|
||||
core.events.__action_choices_replaying(data, 0)
|
||||
} else {
|
||||
// 正常游戏中弹窗选择
|
||||
core.myprompt('录像回放出错!当前需要执行选择项但录像中未记录。\n如需修复请输入您要选的项(从0起),点击取消将不会修复。', 0, function (value) {
|
||||
@ -2077,7 +2076,6 @@ events.prototype._action_choices = function (data, x, y, prefix) {
|
||||
data.choices[i] = {"text": data.choices[i]};
|
||||
data.choices[i].text = core.replaceText(data.choices[i].text, prefix);
|
||||
}
|
||||
core.status.event.selection = selected;
|
||||
core.ui.drawChoices(core.replaceText(data.text, prefix), data.choices, data.width);
|
||||
}
|
||||
|
||||
|
||||
@ -25,24 +25,27 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"bgm.mp3"
|
||||
],
|
||||
"sounds": [
|
||||
"floor.mp3",
|
||||
"attack.mp3",
|
||||
"door.mp3",
|
||||
"item.mp3",
|
||||
"equip.mp3",
|
||||
"zone.mp3",
|
||||
"jump.mp3",
|
||||
"pickaxe.mp3",
|
||||
"bomb.mp3",
|
||||
"centerFly.mp3",
|
||||
"error.mp3",
|
||||
"cancel.mp3",
|
||||
"cursor.mp3",
|
||||
"centerFly.mp3",
|
||||
"confirm.mp3",
|
||||
"open_ui.mp3",
|
||||
"cursor.mp3",
|
||||
"door.mp3",
|
||||
"equip.mp3",
|
||||
"error.mp3",
|
||||
"floor.mp3",
|
||||
"gem.mp3",
|
||||
"icePickaxe.mp3",
|
||||
"item.mp3",
|
||||
"jump.mp3",
|
||||
"load.mp3",
|
||||
"open_ui.mp3",
|
||||
"pickaxe.mp3",
|
||||
"recovery.mp3",
|
||||
"save.mp3"
|
||||
"save.mp3",
|
||||
"shop.mp3",
|
||||
"zone.mp3"
|
||||
],
|
||||
"fonts": [],
|
||||
"nameMap": {
|
||||
@ -61,11 +64,14 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"上下楼": "floor.mp3",
|
||||
"跳跃": "jump.mp3",
|
||||
"破墙镐": "pickaxe.mp3",
|
||||
"破冰镐": "icePickaxe.mp3",
|
||||
"宝石": "gem.mp3",
|
||||
"阻激夹域": "zone.mp3",
|
||||
"穿脱装备": "equip.mp3",
|
||||
"背景音乐": "bgm.mp3",
|
||||
"攻击": "attack.mp3",
|
||||
"背景图": "bg.jpg",
|
||||
"商店": "shop.mp3",
|
||||
"领域": "zone"
|
||||
},
|
||||
"levelChoose": [
|
||||
@ -73,6 +79,12 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"title": "简单",
|
||||
"name": "Easy",
|
||||
"hard": 1,
|
||||
"color": [
|
||||
64,
|
||||
255,
|
||||
85,
|
||||
1
|
||||
],
|
||||
"action": [
|
||||
{
|
||||
"type": "comment",
|
||||
@ -85,9 +97,21 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"name": "Normal",
|
||||
"hard": 2,
|
||||
"color": [
|
||||
0,
|
||||
255,
|
||||
0,
|
||||
221,
|
||||
32,
|
||||
1
|
||||
],
|
||||
"action": []
|
||||
},
|
||||
{
|
||||
"title": "困难",
|
||||
"name": "Hard",
|
||||
"hard": 3,
|
||||
"color": [
|
||||
255,
|
||||
68,
|
||||
64,
|
||||
1
|
||||
],
|
||||
"action": []
|
||||
@ -101,7 +125,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"styles": {
|
||||
"startBackground": "project/images/bg.jpg",
|
||||
"startVerticalBackground": "project/images/bg.jpg",
|
||||
"startLogoStyle": "color: white",
|
||||
"startLogoStyle": "color: black",
|
||||
"startButtonsStyle": "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;",
|
||||
"statusLeftBackground": "url(project/materials/ground.png) repeat",
|
||||
"statusTopBackground": "url(project/materials/ground.png) repeat",
|
||||
@ -131,7 +155,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"firstData": {
|
||||
"title": "魔塔样板",
|
||||
"name": "template",
|
||||
"version": "Ver 2.8",
|
||||
"version": "Ver 2.8.1",
|
||||
"floorId": "sample0",
|
||||
"hero": {
|
||||
"image": "hero.png",
|
||||
|
||||
@ -1,30 +1,30 @@
|
||||
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
{
|
||||
"greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]},
|
||||
"greenSlime": {"name":"绿头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10},
|
||||
"blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]},
|
||||
"bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":1},
|
||||
"bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":[1]},
|
||||
"bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":4},
|
||||
"vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redBat": {"name":"红蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"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},
|
||||
"zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":3},
|
||||
"bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2},
|
||||
"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]},
|
||||
"redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2},
|
||||
"redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true},
|
||||
"swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]},
|
||||
"swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":4},
|
||||
"soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redKnight": {"name":"红骑士","hp":500,"atk":200,"def":50,"money":0,"exp":0,"point":0,"special":[7]},
|
||||
"darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8},
|
||||
"goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"poisonSkeleton": {"name":"紫骷髅","hp":50,"atk":60,"def":70,"money":80,"exp":0,"point":0,"special":13},
|
||||
"poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13},
|
||||
"skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20},
|
||||
"skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
@ -33,20 +33,19 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14},
|
||||
"whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8},
|
||||
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12},
|
||||
"redSwordsman": {"name":"剑王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]},
|
||||
"octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"princessEnemy": {"name":"假公主","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20},
|
||||
"evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]},
|
||||
"frozenSkeleton": {"name":"冻死骨","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"steelGuard": {"name":"铁守卫","hp":50,"atk":50,"def":50,"money":0,"exp":0,"point":0,"special":[18],"value":20},
|
||||
"evilBat": {"name":"邪恶蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"skeletonWarrior": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"whiteSlimeman": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"slimeman": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3},
|
||||
"slimeman": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[9],"atkValue":2,"defValue":3},
|
||||
"yellowGateKeeper": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0},
|
||||
"blueGateKeeper": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redGateKeeper": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
@ -59,25 +58,23 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"ironRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"grayRock": {"name":"灰色石头人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"yellowPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"evilPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"evilPrincess": {"name":"痛苦魔女","hp":1000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[10]},
|
||||
"blademaster": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"evilFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"blueRock": {"name":"鬼邪石","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"skeletonLite": {"name":"骷髅精英","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"bowman": {"name":"弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"liteBowman": {"name":"精锐弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"crimsonZombie": {"name":"红兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"bowman": {"name":"初级弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"watcherSlime": {"name":"邪眼怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"mutantSlimeman": {"name":"变异战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"devilKnight": {"name":"恶灵骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"devilKnight": {"name":"恶灵骑士","hp":150,"atk":100,"def":50,"money":0,"exp":0,"point":0,"special":[1,5,7,8]},
|
||||
"grayPriest": {"name":"混沌法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"greenGateKeeper": {"name":"卫兵队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"ghostSoldier": {"name":"冥队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"ghostSoldier": {"name":"冥队长","hp":200,"atk":100,"def":50,"money":0,"exp":0,"point":0,"special":8},
|
||||
"frostBat": {"name":"寒蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":0,"notBomb":true},
|
||||
"yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"blueKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16}
|
||||
"blueKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16},
|
||||
"keiskeiFairy": {"name":"铃兰花妖","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"tulipFairy": {"name":"郁金香花妖","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"purpleBowman": {"name":"高级弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}
|
||||
}
|
||||
@ -11,18 +11,18 @@ main.floors.sample0=
|
||||
"bgm": "bgm.mp3",
|
||||
"ratio": 1,
|
||||
"map": [
|
||||
[ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42],
|
||||
[ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41],
|
||||
[219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40],
|
||||
[ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39],
|
||||
[216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38],
|
||||
[ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37],
|
||||
[224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36],
|
||||
[201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35],
|
||||
[ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25],
|
||||
[ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1],
|
||||
[ 0, 0,220, 0, 0, 20, 87, 3, 58, 59, 60, 61, 64],
|
||||
[ 0,246, 0,246, 0, 20, 0, 3, 57, 62, 63, 43, 44],
|
||||
[219, 0, 0, 0,219, 20, 0, 3, 53, 54, 55, 56, 69],
|
||||
[ 20, 20,125, 20, 20, 20, 0, 3, 49, 50, 51, 52, 68],
|
||||
[251,247,256,234,248, 6, 0, 3, 35, 36, 46, 47, 48],
|
||||
[ 6, 6,125, 6, 6, 6, 0, 3, 0, 0, 0, 0, 0],
|
||||
[208,227,212,216,278, 5, 0, 1, 1, 1,319, 1, 1],
|
||||
[201,205,217,215,224, 5, 0, 1, 27, 28, 29, 30, 31],
|
||||
[ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 26],
|
||||
[ 0, 0,263, 0, 0, 0, 45, 1, 1, 1,121, 1, 1],
|
||||
[ 4, 4,133, 4, 4, 4, 0, 0, 0, 0, 0, 85,124],
|
||||
[ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2],
|
||||
[ 87, 11, 12, 13, 14, 4, 4, 2, 2,122, 2, 2, 2],
|
||||
[ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86]
|
||||
],
|
||||
"firstArrive": [
|
||||
@ -37,23 +37,6 @@ main.floors.sample0=
|
||||
"本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。"
|
||||
],
|
||||
"events": {
|
||||
"10,9": [
|
||||
"\t[老人,man]\b[down,null]这些是本样板支持的所有的道具。\n\n道具分为四类:items, constants, tools,equips。\nitems 为即捡即用类道具,例如宝石、血瓶等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。",
|
||||
"\t[老人,man]\b[up]有关道具效果,定义在project文件夹的items.js中。\n目前大多数道具已有默认行为,如有自定义的需求请修改道具的图块属性。",
|
||||
"\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"10,11": [
|
||||
"\t[老人,trader]\b[this]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
|
||||
"\t[老人,trader]\b[this]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"2,10": [
|
||||
"\t[少女,npc0]\b[this]这些是路障、楼梯、传送门。",
|
||||
"\t[少女,npc1]\b[this]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在全塔属性(快捷键B)的全局数值(values)内定义。\n\n路障同样会尽量被自动寻路绕过。",
|
||||
@ -72,7 +55,7 @@ main.floors.sample0=
|
||||
],
|
||||
"2,3": [
|
||||
"\t[老人,wizard]\b[this]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。",
|
||||
"\t[老人,wizard]\b[this]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。",
|
||||
"\t[老人,wizard]\b[this]当领域、阻击、激光和夹击同时发生时,先计算领域、阻击、激光(同时计算),再计算夹击。\n自动寻路同样会尽量绕过这些区域。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
@ -92,13 +75,30 @@ main.floors.sample0=
|
||||
]
|
||||
},
|
||||
"2,8": [
|
||||
"\t[老人,wizard]\b[this]这些都是各种各样的怪物,所有怪物的数据都在project文件夹的enemys.js中设置。",
|
||||
"\t[老人,wizard]\b[this]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。",
|
||||
"\t[老人,wizard]\b[this]这些都是各种各样的怪物,所有怪物的数据都在 project 文件夹的 enemys.js 中设置。\n(注意是 enemys,而非 enemies)",
|
||||
"\t[老人,wizard]\b[this]这批怪物分别为:\n\\i[greenSlime]普通、\\i[bat]先攻、\\i[bluePriest]魔攻、\\i[rock]坚固、\\i[swordsman]2连击、\\i[vampire]多连击、\\i[redKnight]破甲、\\i[ghostSoldier]反击、\\i[slimeman]净化。",
|
||||
"\t[老人,wizard]\b[this]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"9,11": [
|
||||
"\t[老人,trader]\b[this]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
|
||||
"\t[老人,trader]\b[this]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"10,9": [
|
||||
"\t[老人,man]\b[down,null]这些是部分本样板支持的道具。\n\n道具分为 items、constants、tools、equips 四类。\nitems 为即捡即用类道具,例如宝石、血瓶等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。",
|
||||
"\t[老人,man]\b[up]有关道具效果,定义在project文件夹的items.js中。\n目前大多数道具已有默认行为,如有自定义的需求请修改道具的图块属性。",
|
||||
"\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
]
|
||||
},
|
||||
"changeFloor": {
|
||||
@ -170,50 +170,70 @@ main.floors.sample0=
|
||||
"afterBattle": {
|
||||
"2,6": [
|
||||
"\t[ghostSoldier]\b[this]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)"
|
||||
],
|
||||
"0,9": [
|
||||
"这是一个高度为 48 个像素而非 32 个像素的敌人。\n高敌人的素材存放在 materials 文件夹中 enemy48.png 的部分。"
|
||||
]
|
||||
},
|
||||
"afterGetItem": {
|
||||
"11,8": [
|
||||
"由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门仍然会自动使用钥匙(根据全塔属性的系统开关勾选与否,铁门可能不需要钥匙)开门。"
|
||||
"9,1": [
|
||||
"样板给出的道具素材中有很多道具都是未定义甚至未注册的,需要自行实现功能。\n(比如屠龙匕首就是一个没有功能的道具)\n如果你想为未定的道具添加自定义功能,请参照样板中其他道具的写法;如果有更多疑问,请查阅帮助文档。"
|
||||
],
|
||||
"8,6": [
|
||||
"由于吸血、夹击和净化等的存在,玩家可能希望自动寻路能尽量绕开血瓶和绿宝石,\n他们可以自行在游戏设置中开关这一功能。"
|
||||
"12,2": [
|
||||
"跳跃本身没有音效,使用跳跃鞋时播放的音效是通过跳跃鞋的道具效果实现的。\n如果想为跳跃设置音效,请在 events.js 的 jumpHero 函数执行前插入一行代码,用 core.playSound 的方式来播放音效即可。\n如果想了解更多关于这方面的内容,请参与帮助文档中的“脚本——复写函数”章节。\n\n类似的是,敌人的“支援”技能也是通过在支援技能中播放音效实现的。"
|
||||
],
|
||||
"8,7": [
|
||||
"如需修改消耗品的效果,请前往全塔属性(快捷键B),找到并修改values(全局数值)内对应的具体数值即可。\n如果有高级的需求(如每个区域宝石数值变化),请修改楼层属性(快捷键V)最下方的“宝石血瓶效果”。\n如果有更高级的需求,请阅读帮助文档。"
|
||||
"8,3": [
|
||||
"炸弹是只能炸面前的怪物还是四个方向的怪物,由其图块属性(快捷键C)中的“使用效果”决定。\n不能被炸的怪物请直接在该怪物的图块属性中勾选“不可炸”,可参见样板里黑衣魔王和黑暗大法师的写法。"
|
||||
],
|
||||
"9,5": [
|
||||
"10,3": [
|
||||
"“上楼”和“下楼”的目标层由全塔属性(快捷键B)的“楼层列表”顺序所决定。"
|
||||
],
|
||||
"12,3": [
|
||||
"如果想制作类似于生命魔杖等可以被批量使用的道具,请参照生命魔杖图块属性(快捷键B)中\n useItemEvent 的写法。\n其基本原理就是使用【接受用户输入】让玩家在弹窗中输入想要使用的物品数量,再判断玩家的输入是否合法,如果输入合法就扣减相应数量的物品并结算物品效果。\n要注意的是,在使用物品时会先消耗一个物品,所以记得在编辑 useItemEvent 时先用 core.addItem 恢复一个物品。"
|
||||
],
|
||||
"8,4": [
|
||||
"剑盾的道具类别设为equips才可以装备,\n如果设为items则会直接增加属性。",
|
||||
"在全塔属性(快捷键B)的系统开关中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。\n无论是否启用,玩家都可以双击道具栏按钮呼出装备栏。"
|
||||
],
|
||||
"9,4": [
|
||||
"装备的种类由全塔属性(快捷键B)中的“装备孔”决定。\n每件装备的“类型”就是在“装备孔”中的索引,例如默认情况下 0 代表武器。\n同时,只有第一个装备孔中的装备,其“普攻动画”属性才会生效。"
|
||||
],
|
||||
"10,4": [
|
||||
"每层楼的“可楼传”勾选框决定了该楼层能否被飞到。\n\n勇士在不能被飞到的楼层也无法使用楼层传送器。",
|
||||
"飞行的楼层顺序由全塔属性(快捷键B)中的“楼层列表”所决定。\n\n是否必须在楼梯边使用楼传器由全塔属性中的系统开关所决定。"
|
||||
],
|
||||
"10,5": [
|
||||
"11,4": [
|
||||
"破墙镐是破面前的墙壁还是四个方向的墙壁,由其图块属性(快捷键C)的“使用效果”决定。\n哪些图块(怪物和道具除外)可以被破震,由该图块的图块属性中的“可破震”决定。"
|
||||
],
|
||||
"8,4": [
|
||||
"炸弹是只能炸面前的怪物还是四个方向的怪物,由其图块属性(快捷键C)中的“使用效果”决定。\n不能被炸的怪物请直接在该怪物的图块属性中勾选“不可炸”,可参见样板里黑衣魔王和黑暗大法师的写法。"
|
||||
"12,4": [
|
||||
"在 2.8.1 版更新后,能够被破冰镐摧毁的冰块被移动到了 animates 下。\n如果想制作一个可以以特定触发器的方式移除特定图块的道具,可以参照破冰镐物品图块属性中\n useItemEffect 和 canUseItemEffect 的写法。"
|
||||
],
|
||||
"10,4": [
|
||||
"“上楼”和“下楼”的目标层由全塔属性(快捷键B)的“楼层列表”顺序所决定。"
|
||||
"11,8": [
|
||||
"由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门时仍然会自动使用钥匙开门。",
|
||||
{
|
||||
"type": "comment",
|
||||
"text": "由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门仍然会自动使用钥匙(根据全塔属性的系统开关勾选与否,铁门可能不需要钥匙)开门。"
|
||||
}
|
||||
],
|
||||
"9,2": [
|
||||
"12,8": [
|
||||
"该道具默认是大黄门钥匙,如需改为钥匙盒直接修改其图块属性(快捷键C)的“道具类别”为items即可。"
|
||||
],
|
||||
"10,2": [
|
||||
"屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见帮助文档。"
|
||||
"8,7": [
|
||||
"如需修改消耗品的效果,请前往全塔属性(快捷键B),找到并修改values(全局数值)内对应的具体数值即可。\n如果有高级的需求(如每个区域宝石数值变化),请修改楼层属性(快捷键V)最下方的“宝石血瓶效果”。\n如果有更高级的需求,请查阅帮助文档。"
|
||||
],
|
||||
"11,7": [
|
||||
"与大黄门钥匙类似的是,如果将黄宝石的图块属性设为 items ,那么黄宝石将在被拾取触发 itemEffect 效果。\n\n注意:触碰或使用事件(useItemEvent)对 items、tools、constants 都有效。\n这意味着,如果黄宝石的图块属性为 items ,那么在拾取黄宝石时,黄宝石不会进入背包,并且其“即捡即用”和“触碰或使用事件”都会被触发。"
|
||||
],
|
||||
"12,7": [
|
||||
"剑盾的道具类别设为equips才可以装备,\n如果设为items则会直接增加属性。"
|
||||
],
|
||||
"12,6": [
|
||||
"在全塔属性(快捷键B)的系统开关中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。\n无论是否启用,玩家都可以双击道具栏按钮呼出装备栏。"
|
||||
],
|
||||
"12,5": [
|
||||
"装备的种类由全塔属性(快捷键B)中的“装备孔”决定,每件装备的“类型”就是在“装备孔”中的索引,\n例如默认情况下0代表武器。同时,只有第一个装备孔中的装备,其“普攻动画”属性才会生效。"
|
||||
"由于吸血、夹击、净化等属性值的存在,玩家可能希望自动寻路时能尽量绕开血瓶和绿宝石。\n他们可以自行在游戏设置中开关这一功能。"
|
||||
]
|
||||
},
|
||||
"afterOpenDoor": {
|
||||
"11,12": [
|
||||
"你开了一个绿门,触发了一个afterOpenDoor事件"
|
||||
"你打开了一扇绿门,触发了一个 afterOpenDoor 事件。"
|
||||
],
|
||||
"10,6": [
|
||||
"这是一扇高度为 48 个像素而非 32 个像素的门。\n高门和高NPC的素材存放在 materials 文件夹中 npc48.png 的部分。"
|
||||
]
|
||||
},
|
||||
"cannotMove": {},
|
||||
@ -237,5 +257,7 @@ main.floors.sample0=
|
||||
],
|
||||
"width": 13,
|
||||
"height": 13,
|
||||
"autoEvent": {}
|
||||
"autoEvent": {},
|
||||
"beforeBattle": {},
|
||||
"cannotMoveIn": {}
|
||||
}
|
||||
@ -30,17 +30,6 @@ main.floors.sample1=
|
||||
],
|
||||
"firstArrive": [],
|
||||
"events": {
|
||||
"4,10": [
|
||||
"\t[样板提示]本层楼将会对各类事件进行介绍。",
|
||||
"左边是一个仿51层的陷阱做法,上方是商店、快捷商店的使用方法,右上是一个典型的杀怪开门的例子,右下是各类可能的NPC事件。",
|
||||
"本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\ntip: 左上角显示提示\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nanimate: 显示动画\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)",
|
||||
"openShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nshowImage: 显示图片\nsetCurtain: 更改画面色调\nsetWeather: 更改天气\nmove: 移动事件效果\nmoveHero: 移动勇士效果\nplayBgm: 播放某个背景音乐\npauseBgm: 暂停背景音乐\nresumeBgm: 恢复背景音乐的播放\nplaySound: 播放某个音频",
|
||||
"if: 条件判断\nchoices: 提供选项\nsetValue: 设置勇士属性道具,或某个变量/flag\nupdate: 更新状态栏和地图显伤\nwin: 获得胜利(游戏通关)\nlose: 游戏失败\nsleep: 等待多少毫秒\nexit: 立刻结束当前事件\nfunction: 自定义JS脚本\n\n更多支持的事件还在编写中,欢迎您宝贵的意见。",
|
||||
"有关各事件的样例,可参见本层一些NPC的写法。\n所有事件样例本层都有介绍。\n\n一个自定义事件处理完后,需要调用{\"type\": \"hide\"}该事件才不会再次出现。",
|
||||
{
|
||||
"type": "hide"
|
||||
}
|
||||
],
|
||||
"1,7": [
|
||||
{
|
||||
"type": "setBlock",
|
||||
@ -180,6 +169,10 @@ main.floors.sample1=
|
||||
11
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "comment",
|
||||
"text": "{type: openDoor} 不止可以开“门”,也可以用来开墙等等"
|
||||
},
|
||||
{
|
||||
"type": "sleep",
|
||||
"time": 300
|
||||
@ -189,9 +182,8 @@ main.floors.sample1=
|
||||
"type": "move",
|
||||
"time": 750,
|
||||
"steps": [
|
||||
"right",
|
||||
"right",
|
||||
"down"
|
||||
"right:2",
|
||||
"down:1"
|
||||
]
|
||||
},
|
||||
"上面是个move事件,可以对NPC等进行移动。\n详见样板中小偷事件的写法。",
|
||||
@ -623,5 +615,6 @@ main.floors.sample1=
|
||||
}
|
||||
},
|
||||
"width": 13,
|
||||
"height": 13
|
||||
"height": 13,
|
||||
"beforeBattle": {}
|
||||
}
|
||||
@ -70,5 +70,6 @@ main.floors.sample2=
|
||||
"fgmap": [
|
||||
|
||||
],
|
||||
"autoEvent": {}
|
||||
"autoEvent": {},
|
||||
"beforeBattle": {}
|
||||
}
|
||||
@ -458,6 +458,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// isGentleClick:是否是轻按触发的
|
||||
if (itemId.endsWith('Potion') && core.material.items[itemId].cls == 'items')
|
||||
core.playSound('回血');
|
||||
else if (itemId.endsWith('Gem') && core.material.items[itemId].cls == 'items')
|
||||
core.playSound('宝石')
|
||||
else
|
||||
core.playSound('获得道具');
|
||||
|
||||
@ -494,30 +496,30 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 名字和描述可以直接写字符串,也可以写个function将怪物传进去
|
||||
return [
|
||||
[1, "先攻", "怪物首先攻击", "#ffcc33"],
|
||||
[2, "魔攻", "怪物无视勇士的防御", "#bbb0ff"],
|
||||
[3, "坚固", "怪物防御不小于勇士攻击-1", "#c0b088"],
|
||||
[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.defValue || core.values.breakArmor || 0)) + "%作为伤害"; }, "#b30000"],
|
||||
[7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.defValue || core.values.breakArmor || 0)) + "%作为伤害"; }, "#88c0ff"],
|
||||
[8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.atkValue || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"],
|
||||
[9, "净化", function (enemy) { return "战斗前,怪物附加勇士护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#80eed6"],
|
||||
[10, "模仿", "怪物的攻防和勇士攻防相等", "#b0c0dd"],
|
||||
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#ff00d2"],
|
||||
[12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"],
|
||||
[13, "衰弱", "战斗后,勇士陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"],
|
||||
[14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"],
|
||||
[9, "净化", function (enemy) { return "战斗前,怪物附加角色护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#80eed6"],
|
||||
[10, "模仿", "怪物的攻防和角色攻防相等", "#b0c0dd"],
|
||||
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#dd4448"],
|
||||
[12, "中毒", "战斗后,角色陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"],
|
||||
[13, "衰弱", "战斗后,角色陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"],
|
||||
[14, "诅咒", "战斗后,角色陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"],
|
||||
[15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }, "#c677dd"],
|
||||
[16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半", "#bb99ee"],
|
||||
[16, "夹击", "经过两只相同的怪物中间,角色生命值变成一半", "#bb99ee"],
|
||||
[17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)", "#b0b666"],
|
||||
[18, "阻击", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }, "#8888e6"],
|
||||
[19, "自爆", "战斗后勇士的生命值变成1", "#ff6666"],
|
||||
[20, "无敌", "勇士无法打败怪物,除非拥有十字架", "#aaaaaa"],
|
||||
[21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
|
||||
[22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视勇士护盾。"; }, "#ff9977"],
|
||||
[19, "自爆", "战斗后角色的生命值变成1", "#ff6666"],
|
||||
[20, "无敌", "角色无法打败怪物,除非拥有十字架", "#aaaaaa"],
|
||||
[21, "退化", function (enemy) { return "战斗后角色永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
|
||||
[22, "固伤", function (enemy) { return "战斗前,怪物对角色造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视角色护盾。"; }, "#ff9977"],
|
||||
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"],
|
||||
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }, "#dda0dd"],
|
||||
[25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.zoneSquare ? "该怪物九宫格" : "该怪物十字") + enemy.range + "格范围内") : "同楼层所有" ) + "怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }, "#e6e099", 1],
|
||||
[25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.zoneSquare ? "该怪物九宫格" : "该怪物十字") + enemy.range + "格范围内") : "同楼层所有") + "怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }, "#e6e099", 1],
|
||||
[26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1],
|
||||
[27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"]
|
||||
];
|
||||
|
||||
109
project/icons.js
@ -34,42 +34,41 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"grass2": 2,
|
||||
"ground2": 3,
|
||||
"ground3": 4,
|
||||
"ice": 5,
|
||||
"downFloor": 6,
|
||||
"upFloor": 7,
|
||||
"blueShopLeft": 8,
|
||||
"pinkShopLeft": 9,
|
||||
"blueShopRight": 10,
|
||||
"pinkShopRight": 11,
|
||||
"arrowUp": 12,
|
||||
"arrowDown": 13,
|
||||
"arrowLeft": 14,
|
||||
"arrowRight": 15,
|
||||
"light": 16,
|
||||
"darkLight": 17,
|
||||
"ski": 18,
|
||||
"flower": 19,
|
||||
"box": 20,
|
||||
"boxed": 21,
|
||||
"sWallT": 22,
|
||||
"sWallL": 23,
|
||||
"sWallR": 24,
|
||||
"sWallB": 25,
|
||||
"sWallTL": 26,
|
||||
"sWallBR": 27,
|
||||
"sWallTR": 28,
|
||||
"sWallBL": 29,
|
||||
"sWallTB": 30,
|
||||
"sWallLR": 31,
|
||||
"sWallBLR": 32,
|
||||
"sWallTLR": 33,
|
||||
"sWallTBR": 34,
|
||||
"sWallTBL": 35
|
||||
"downFloor": 5,
|
||||
"upFloor": 6,
|
||||
"blueShopLeft": 7,
|
||||
"pinkShopLeft": 8,
|
||||
"blueShopRight": 9,
|
||||
"pinkShopRight": 10,
|
||||
"arrowUp": 11,
|
||||
"arrowDown": 12,
|
||||
"arrowLeft": 13,
|
||||
"arrowRight": 14,
|
||||
"light": 15,
|
||||
"darkLight": 16,
|
||||
"ski": 17,
|
||||
"flower": 18,
|
||||
"box": 19,
|
||||
"boxed": 20,
|
||||
"sWallT": 21,
|
||||
"sWallL": 22,
|
||||
"sWallR": 23,
|
||||
"sWallB": 24,
|
||||
"sWallTL": 25,
|
||||
"sWallBR": 26,
|
||||
"sWallTR": 27,
|
||||
"sWallBL": 28,
|
||||
"sWallTB": 29,
|
||||
"sWallLR": 30,
|
||||
"sWallBLR": 31,
|
||||
"sWallTLR": 32,
|
||||
"sWallTBR": 33,
|
||||
"sWallTBL": 34
|
||||
},
|
||||
"animates": {
|
||||
"star": 0,
|
||||
"lava": 1,
|
||||
"blueWater": 2,
|
||||
"blueLava": 2,
|
||||
"water": 3,
|
||||
"yellowDoor": 4,
|
||||
"blueDoor": 5,
|
||||
@ -94,11 +93,8 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"leftPortal": 24,
|
||||
"rightPortal": 25,
|
||||
"upPortal": 26,
|
||||
"steelDoor2": 27,
|
||||
"steelDoor3": 28,
|
||||
"iceDoor": 29,
|
||||
"iceDoor2": 30,
|
||||
"magentaWall": 31
|
||||
"ice": 27,
|
||||
"magentaWall": 28
|
||||
},
|
||||
"npcs": {
|
||||
"man": 0,
|
||||
@ -115,8 +111,6 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"princess": 11,
|
||||
"greenMan": 28,
|
||||
"blueTrader": 29,
|
||||
"redMSNpc": 30,
|
||||
"blackTrader": 31,
|
||||
"octopusLeftTop": 12,
|
||||
"octopusTop": 13,
|
||||
"octopusRightTop": 14,
|
||||
@ -138,7 +132,13 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"npc0": 0,
|
||||
"npc1": 1,
|
||||
"npc2": 2,
|
||||
"npc3": 3
|
||||
"npc3": 3,
|
||||
"tallYellowDoor": 4,
|
||||
"tallBlueDoor": 5,
|
||||
"tallRedDoor": 6,
|
||||
"tallGreenDoor": 7,
|
||||
"tallSpecialDoor": 8,
|
||||
"tallSteelDoor": 9
|
||||
},
|
||||
"enemys": {
|
||||
"greenSlime": 0,
|
||||
@ -178,7 +178,6 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"octopus": 57,
|
||||
"princessEnemy": 59,
|
||||
"skeletonWarrior": 9,
|
||||
"frozenSkeleton": 69,
|
||||
"silverSlimelord": 60,
|
||||
"goldSlimelord": 61,
|
||||
"whiteSlimeman": 54,
|
||||
@ -198,25 +197,23 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"evilPrincess": 50,
|
||||
"blademaster": 48,
|
||||
"evilFairy": 51,
|
||||
"blueRock": 63,
|
||||
"skeletonLite": 64,
|
||||
"greenKnight": 65,
|
||||
"bowman": 66,
|
||||
"liteBowman": 67,
|
||||
"crimsonZombie": 68,
|
||||
"watcherSlime": 70,
|
||||
"mutantSlimeman": 71,
|
||||
"frostBat": 72,
|
||||
"devilKnight": 73,
|
||||
"grayPriest": 74,
|
||||
"greenGateKeeper": 75,
|
||||
"greenKnight": 63,
|
||||
"bowman": 64,
|
||||
"watcherSlime": 66,
|
||||
"frostBat": 67,
|
||||
"devilKnight": 68,
|
||||
"grayPriest": 69,
|
||||
"greenGateKeeper": 70,
|
||||
"ghostSoldier": 11,
|
||||
"evilHero": 40,
|
||||
"blackKing": 28,
|
||||
"yellowKing": 29,
|
||||
"greenKing": 30,
|
||||
"redKing": 44,
|
||||
"blueKing": 45
|
||||
"blueKing": 45,
|
||||
"keiskeiFairy": 71,
|
||||
"tulipFairy": 72,
|
||||
"purpleBowman": 65
|
||||
},
|
||||
"enemy48": {
|
||||
"angel": 0,
|
||||
@ -270,12 +267,12 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"curseWine": 27,
|
||||
"superWine": 28,
|
||||
"dagger": 42,
|
||||
"silverCoin": 46,
|
||||
"amulet": 47,
|
||||
"hammer": 48,
|
||||
"jumpShoes": 49,
|
||||
"skill1": 30,
|
||||
"wand": 10
|
||||
"wand": 10,
|
||||
"pack": 46
|
||||
},
|
||||
"autotile": {
|
||||
"autotile": 0,
|
||||
|
||||
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.0 KiB |
@ -297,16 +297,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"name": "圣水",
|
||||
"itemEffect": "core.status.hero.hp *= 2",
|
||||
"itemEffectTip": ",生命值翻倍",
|
||||
"useItemEffect": "core.status.hero.hp *= 2; core.playSound('回血');",
|
||||
"useItemEffect": "core.status.hero.hp *= 2;\ncore.playSound('回血');",
|
||||
"canUseItemEffect": "true",
|
||||
"text": "生命值翻倍"
|
||||
},
|
||||
"silverCoin": {
|
||||
"cls": "items",
|
||||
"name": "银币",
|
||||
"itemEffect": "core.status.hero.money += 500",
|
||||
"itemEffectTip": ",金币+500"
|
||||
},
|
||||
"book": {
|
||||
"cls": "constants",
|
||||
"name": "怪物手册",
|
||||
@ -381,8 +375,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"cls": "tools",
|
||||
"name": "破冰镐",
|
||||
"text": "可以破坏勇士面前的一堵冰墙",
|
||||
"useItemEffect": "(function () {\n\tcore.removeBlock(core.nextX(), core.nextY());\n\tcore.playSound('打开界面');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
|
||||
"canUseItemEffect": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice' || core.getBlockId(core.nextX(), core.nextY()) == 'iceDoor';\n})();"
|
||||
"useItemEffect": "(function () {\n\tcore.openDoor(core.nextX(), core.nextY(), false);\n\tcore.playSound('破冰镐');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
|
||||
"canUseItemEffect": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice';\n})();"
|
||||
},
|
||||
"bomb": {
|
||||
"cls": "tools",
|
||||
@ -416,35 +410,35 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"cls": "tools",
|
||||
"name": "地震卷轴",
|
||||
"text": "可以破坏当前层的所有墙",
|
||||
"useItemEffect": "(function () {\n\tvar indexes = [];\n\tfor (var index in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[index];\n\t\tif (!block.disable && block.event.canBreak) {\n\t\t\tindexes.push(index);\n\t\t}\n\t}\n\tcore.removeBlockByIndexes(indexes);\n\tcore.drawMap();\n\tcore.playSound('打开界面');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
|
||||
"useItemEffect": "(function () {\n\tvar indexes = [];\n\tfor (var index in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[index];\n\t\tif (!block.disable && block.event.canBreak) {\n\t\t\tindexes.push(index);\n\t\t}\n\t}\n\tcore.removeBlockByIndexes(indexes);\n\tcore.drawMap();\n\tcore.playSound('炸弹');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
|
||||
"canUseItemEffect": "(function () {\n\treturn core.status.thisMap.blocks.filter(function (block) {\n\t\treturn !block.disable && block.event.canBreak;\n\t}).length > 0;\n})();"
|
||||
},
|
||||
"poisonWine": {
|
||||
"cls": "tools",
|
||||
"name": "解毒药水",
|
||||
"text": "可以解除中毒状态",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'poison');",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'poison');\ncore.playSound('回血');",
|
||||
"canUseItemEffect": "core.hasFlag('poison');"
|
||||
},
|
||||
"weakWine": {
|
||||
"cls": "tools",
|
||||
"name": "解衰药水",
|
||||
"text": "可以解除衰弱状态",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'weak');",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'weak');\ncore.playSound('回血');",
|
||||
"canUseItemEffect": "core.hasFlag('weak');"
|
||||
},
|
||||
"curseWine": {
|
||||
"cls": "tools",
|
||||
"name": "解咒药水",
|
||||
"text": "可以解除诅咒状态",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'curse');",
|
||||
"useItemEffect": "core.triggerDebuff('remove', 'curse');\ncore.playSound('回血');",
|
||||
"canUseItemEffect": "core.hasFlag('curse');"
|
||||
},
|
||||
"superWine": {
|
||||
"cls": "tools",
|
||||
"name": "万能药水",
|
||||
"text": "可以解除所有不良状态",
|
||||
"useItemEffect": "core.triggerDebuff('remove', ['poison', 'weak', 'curse']);",
|
||||
"useItemEffect": "core.triggerDebuff('remove', ['poison', 'weak', 'curse']);\ncore.playSound('回血');",
|
||||
"canUseItemEffect": "(function() {\n\treturn core.hasFlag('poison') || core.hasFlag('weak') || core.hasFlag('curse');\n})();"
|
||||
},
|
||||
"hammer": {
|
||||
@ -473,6 +467,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"type": "input",
|
||||
"text": "请输入生命魔杖使用次数:(0-${item:lifeWand})"
|
||||
},
|
||||
{
|
||||
"type": "comment",
|
||||
"text": "【接受用户输入】弹窗输入的结果将会保存在“flag:input”中\n如果需要更多帮助,请查阅帮助文档"
|
||||
},
|
||||
{
|
||||
"type": "if",
|
||||
"condition": "flag:input<=item:lifeWand",
|
||||
@ -524,5 +522,11 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"wand": {
|
||||
"cls": "items",
|
||||
"name": "新物品"
|
||||
},
|
||||
"pack": {
|
||||
"cls": "items",
|
||||
"name": "钱袋",
|
||||
"itemEffect": "core.status.hero.money += 500",
|
||||
"itemEffectTip": ",金币+500"
|
||||
}
|
||||
}
|
||||
@ -5,7 +5,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}},
|
||||
"4": {"cls":"animates","id":"star","name":"星空"},
|
||||
"5": {"cls":"animates","id":"lava","name":"岩浆"},
|
||||
"6": {"cls":"terrains","id":"ice"},
|
||||
"6": {"cls":"animates","id":"ice","doorInfo":{"time":160,"openSound":"icepickaxe.mp3","closeSound":"door.mp3","keys":{"specialKey":1}},"animate":1},
|
||||
"7": {"cls":"terrains","id":"blueShopLeft"},
|
||||
"8": {"cls":"terrains","id":"blueShopRight"},
|
||||
"9": {"cls":"terrains","id":"pinkShopLeft"},
|
||||
@ -14,7 +14,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'poison');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"毒网"},
|
||||
"13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'weak');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"衰网"},
|
||||
"14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'curse');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"},
|
||||
"15": {"cls":"animates","id":"blueWater"},
|
||||
"15": {"cls":"animates","id":"blueLava"},
|
||||
"16": {"cls":"animates","id":"water"},
|
||||
"20": {"cls":"autotile","id":"autotile"},
|
||||
"21": {"cls":"items","id":"yellowKey"},
|
||||
@ -59,7 +59,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"60": {"cls":"items","id":"curseWine"},
|
||||
"61": {"cls":"items","id":"superWine"},
|
||||
"62": {"cls":"items","id":"dagger"},
|
||||
"63": {"cls":"items","id":"silverCoin"},
|
||||
"63": {"cls":"items","id":"pack"},
|
||||
"64": {"cls":"items","id":"amulet"},
|
||||
"65": {"cls":"items","id":"hammer"},
|
||||
"68": {"cls":"items","id":"lifeWand"},
|
||||
@ -86,10 +86,6 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"102": {"cls":"animates","id":"crystalBottom"},
|
||||
"103": {"cls":"animates","id":"fire"},
|
||||
"104": {"cls":"animates","id":"switch"},
|
||||
"105": {"cls":"animates","id":"steelDoor2","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
|
||||
"106": {"cls":"animates","id":"steelDoor3","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
|
||||
"107": {"cls":"animates","id":"iceDoor","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
|
||||
"108": {"cls":"animates","id":"iceDoor2","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
|
||||
"109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}},
|
||||
"121": {"cls":"npcs","id":"man"},
|
||||
"122": {"cls":"npcs","id":"trader"},
|
||||
@ -109,8 +105,6 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
|
||||
"137": {"cls":"npcs","id":"greenMan"},
|
||||
"138": {"cls":"npcs","id":"blueTrader"},
|
||||
"139": {"cls":"npcs","id":"redMSNpc"},
|
||||
"140": {"cls":"npcs","id":"blackTrader"},
|
||||
"151": {"cls":"autotile","id":"autotile1"},
|
||||
"152": {"cls":"autotile","id":"autotile2"},
|
||||
"153": {"cls":"autotile","id":"autotile3"},
|
||||
@ -207,15 +201,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"265": {"cls":"enemys","id":"silverSlimelord"},
|
||||
"266": {"cls":"enemys","id":"goldSlimelord"},
|
||||
"267": {"cls":"enemys","id":"grayRock"},
|
||||
"268": {"cls":"enemys","id":"blueRock"},
|
||||
"269": {"cls":"enemys","id":"skeletonLite"},
|
||||
"270": {"cls":"enemys","id":"greenKnight"},
|
||||
"271": {"cls":"enemys","id":"bowman"},
|
||||
"272": {"cls":"enemys","id":"liteBowman"},
|
||||
"273": {"cls":"enemys","id":"crimsonZombie"},
|
||||
"274": {"cls":"enemys","id":"frozenSkeleton"},
|
||||
"272": {"cls":"enemys","id":"purpleBowman"},
|
||||
"275": {"cls":"enemys","id":"watcherSlime"},
|
||||
"276": {"cls":"enemys","id":"mutantSlimeman"},
|
||||
"277": {"cls":"enemys","id":"frostBat"},
|
||||
"278": {"cls":"enemys","id":"devilKnight"},
|
||||
"279": {"cls":"enemys","id":"grayPriest"},
|
||||
@ -238,5 +227,13 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]},
|
||||
"316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]},
|
||||
"317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]},
|
||||
"318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]}
|
||||
"318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]},
|
||||
"319": {"cls":"npc48","id":"tallYellowDoor","trigger":"openDoor","name":"高黄门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"yellowKey":1}}},
|
||||
"320": {"cls":"npc48","id":"tallBlueDoor","trigger":"openDoor","name":"高蓝门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"blueKey":1}}},
|
||||
"321": {"cls":"npc48","id":"tallRedDoor","trigger":"openDoor","name":"高红门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"redKey":1}}},
|
||||
"322": {"cls":"npc48","id":"tallGreenDoor","trigger":"openDoor","name":"高绿门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"greenKey":1}}},
|
||||
"323": {"cls":"npc48","id":"tallSpecialDoor","trigger":"openDoor","name":"高机关门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"specialKey":1}}},
|
||||
"324": {"cls":"npc48","id":"tallSteelDoor","trigger":"openDoor","name":"高铁门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"steelKey":1}}},
|
||||
"325": {"cls":"enemys","id":"keiskeiFairy"},
|
||||
"326": {"cls":"enemys","id":"tulipFairy"}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 24 KiB |
@ -169,7 +169,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
"text": choice.text,
|
||||
"icon": choice.icon,
|
||||
"color": ableToBuy && !previewMode ? choice.color : [153, 153, 153, 1],
|
||||
"action": ableToBuy && !previewMode ? [{ "type": "playSound", "name": "确定" }].concat(choice.action) : [
|
||||
"action": ableToBuy && !previewMode ? [{ "type": "playSound", "name": "商店" }].concat(choice.action) : [
|
||||
{ "type": "playSound", "name": "操作失败" },
|
||||
{ "type": "tip", "text": previewMode ? "预览模式下不可购买" : "购买条件不足" }
|
||||
]
|
||||
|
||||
BIN
project/sounds/gem.mp3
Normal file
BIN
project/sounds/icePickaxe.mp3
Normal file
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 194 KiB |