分离了楼层文件之外的数据的注释
This commit is contained in:
parent
62fbd21836
commit
9197a4d727
@ -1,15 +1,32 @@
|
||||
(function(){
|
||||
|
||||
editor_file = {};
|
||||
|
||||
(function(){
|
||||
var script = document.createElement('script');
|
||||
script.src = 'comment.js';
|
||||
if (window.location.href.indexOf('_server')!==-1)
|
||||
script.src = '../project/comment.js';
|
||||
else
|
||||
script.src = 'project/comment.js';
|
||||
document.body.appendChild(script);
|
||||
script.onload = function () {
|
||||
editor_file.comment=comment_c456ea59_6018_45ef_8bcc_211a24c627dc;
|
||||
delete(comment_c456ea59_6018_45ef_8bcc_211a24c627dc);
|
||||
}
|
||||
})();
|
||||
(function(){
|
||||
var script = document.createElement('script');
|
||||
if (window.location.href.indexOf('_server')!==-1)
|
||||
script.src = '../project/data.comment.js';
|
||||
else
|
||||
script.src = 'project/data.comment.js';
|
||||
document.body.appendChild(script);
|
||||
script.onload = function () {
|
||||
editor_file.dataComment=data_comment_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d;
|
||||
delete(data_comment_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d);
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
editor_file.getFloorFileList = function(editor,callback){
|
||||
if (!isset(callback)) throw('未设置callback');
|
||||
@ -38,24 +55,24 @@
|
||||
return;
|
||||
}
|
||||
editor.currentFloorId = floorId;
|
||||
editor.currentfloorData = floorData;
|
||||
editor.currentFloorData = floorData;
|
||||
callback(null)
|
||||
});
|
||||
}
|
||||
//callback(err:String)
|
||||
editor_file.saveFloorFile = function(editor,callback){
|
||||
if (!isset(callback)) throw('未设置callback');
|
||||
if (!isset(editor.currentFloorId) || !isset(editor.currentfloorData)) {
|
||||
if (!isset(editor.currentFloorId) || !isset(editor.currentFloorData)) {
|
||||
callback('未选中文件或无数据');
|
||||
}
|
||||
var filename = 'project/floors/' + editor.currentFloorId + '.js';
|
||||
var datastr = ['main.floors.' , editor.currentFloorId , '=\n{'];
|
||||
for(var ii in editor.currentfloorData)
|
||||
if (editor.currentfloorData.hasOwnProperty(ii)) {
|
||||
for(var ii in editor.currentFloorData)
|
||||
if (editor.currentFloorData.hasOwnProperty(ii)) {
|
||||
if (ii=='map')
|
||||
datastr=datastr.concat(['\n"',ii,'": [\n',formatMap(editor.currentfloorData[ii]),'\n],']);
|
||||
datastr=datastr.concat(['\n"',ii,'": [\n',formatMap(editor.currentFloorData[ii]),'\n],']);
|
||||
else
|
||||
datastr=datastr.concat(['\n"',ii,'": ',JSON.stringify(editor.currentfloorData[ii],null,4),',']);
|
||||
datastr=datastr.concat(['\n"',ii,'": ',JSON.stringify(editor.currentFloorData[ii],null,4),',']);
|
||||
}
|
||||
datastr=datastr.concat(['\n}']);
|
||||
datastr=datastr.join('');
|
||||
@ -67,10 +84,10 @@
|
||||
editor_file.saveFloorFileAs = function(editor,saveAsFilename,callback){
|
||||
//saveAsFilename不含'/'不含'.js'
|
||||
if (!isset(callback)) throw('未设置callback');
|
||||
if (!isset(editor.currentfloorData)) {
|
||||
if (!isset(editor.currentFloorData)) {
|
||||
callback('无数据');
|
||||
}
|
||||
editor.currentfloorData.floorId=saveAsFilename;
|
||||
editor.currentFloorData.floorId=saveAsFilename;
|
||||
editor.currentFloorId=saveAsFilename;
|
||||
editor_file.saveFloorFile(editor,callback);
|
||||
}
|
||||
@ -138,23 +155,53 @@
|
||||
为[]时只查询不修改
|
||||
*/
|
||||
if (!isset(callback)) throw('未设置callback');
|
||||
callback([
|
||||
{'items':{'cls': 'items', 'name': '红宝石'},'itemEffect':'core.status.hero.atk += core.values.redJewel','itemEffectTip':"',攻击+'+core.values.redJewel"},
|
||||
editor_file.comment.items,
|
||||
null]);
|
||||
//只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items
|
||||
if (isset(actionList) && actionList.length > 0){
|
||||
actionList.forEach(function (value) {
|
||||
var tempindex = value[1].indexOf(']')+1;
|
||||
value[1] = [value[1].slice(0,tempindex),"['"+id+"']",value[1].slice(tempindex)].join('');
|
||||
});
|
||||
saveSetting('items',actionList,function (err) {
|
||||
callback([
|
||||
{'items':editor.core.items.items[id],'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]},
|
||||
editor_file.comment.items,
|
||||
err]);
|
||||
});
|
||||
} else {
|
||||
callback([
|
||||
{'items':editor.core.items.items[id],'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]},
|
||||
editor_file.comment.items,
|
||||
null]);
|
||||
}
|
||||
//只有items.cls是items的才有itemEffect和itemEffectTip,keys和constants和tools只有items
|
||||
}
|
||||
|
||||
//callback(obj,commentObj,err:String)
|
||||
//callback([obj,commentObj,err:String])
|
||||
editor_file.editEnemy = function(editor,id,actionList,callback){
|
||||
//obj形式同callback的obj,为null或undefined时只查询不修改
|
||||
/*actionList:[
|
||||
["change","['name']","初级巫师的新名字"],
|
||||
["add","['新的和name同级的属性']",123],
|
||||
["change","['bomb']",null],
|
||||
]
|
||||
为[]时只查询不修改
|
||||
*/
|
||||
if (!isset(callback)) throw('未设置callback');
|
||||
callback([
|
||||
{'name': '初级巫师', 'hp': 100, 'atk': 120, 'def': 0, 'money': 16, 'experience': 0, 'special': 15, 'value': 100, "bomb": false},
|
||||
editor_file.comment.enemys,
|
||||
null]);
|
||||
if (isset(actionList) && actionList.length > 0){
|
||||
actionList.forEach(function (value) {
|
||||
value[1] = "['"+id+"']"+value[1];
|
||||
});
|
||||
saveSetting('enemys',actionList,function (err) {
|
||||
callback([
|
||||
editor.core.enemys.enemys[id],
|
||||
editor_file.comment.enemys,
|
||||
err]);
|
||||
});
|
||||
} else {
|
||||
callback([
|
||||
editor.core.enemys.enemys[id],
|
||||
editor_file.comment.enemys,
|
||||
null]);
|
||||
}
|
||||
}
|
||||
//callback(obj,commentObj,err:String)
|
||||
//callback([obj,commentObj,err:String])
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -241,7 +288,7 @@
|
||||
|
||||
$range((function(){typeof(thiseval)==typeof(0)||})())
|
||||
if( 注释.indexof('$range(')!= -1){
|
||||
thiseval = 新值;
|
||||
var thiseval = 新值;
|
||||
evalstr = 注释.split('$range')[1].split('$end')[0];
|
||||
if(eval(evalstr) !== true)alert('不在取值范围内')
|
||||
}
|
||||
|
||||
@ -30,8 +30,8 @@
|
||||
<table class="col" id='mapColMark'></table>
|
||||
<table class="row" id='mapRowMark'></table>
|
||||
<div class="map" id="mapEdit">
|
||||
<canvas class='gameCanvas' id='bg' width='416' height='416' style='z-index:1'></canvas>
|
||||
<canvas class='gameCanvas' id='event' width='416' height='416' style='z-index:2'></canvas>
|
||||
<canvas class='gameCanvas' id='bg' width='416' height='416'></canvas>
|
||||
<canvas class='gameCanvas' id='event' width='416' height='416'></canvas>
|
||||
<canvas class='egameCanvas' id='eui' width='416' height='416' style='z-index:100'></canvas>
|
||||
</div>
|
||||
<div class="tools">
|
||||
@ -167,8 +167,8 @@
|
||||
<p class="statusLabel tools" id="hard"></p>
|
||||
</div>
|
||||
<div id="curtain"></div>
|
||||
<!-- <canvas class='gameCanvas' id='bg' width='416' height='416'></canvas>
|
||||
<canvas class='gameCanvas' id='event' width='416' height='416'></canvas> -->
|
||||
<!-- <canvas class='gameCanvas' id='bg' width='416' height='416'></canvas> -->
|
||||
<!-- <canvas class='gameCanvas' id='event' width='416' height='416'></canvas> -->
|
||||
<canvas class='gameCanvas' id='fg' width='416' height='416'></canvas>
|
||||
<canvas class='gameCanvas' id='hero' width='416' height='416'></canvas>
|
||||
<canvas class='gameCanvas' id='ui' width='416' height='416'></canvas>
|
||||
@ -206,7 +206,7 @@
|
||||
<script>
|
||||
|
||||
//所有全局量
|
||||
__all__=['Vue','fs','printf','editor','main','core'];
|
||||
__all__=['Vue','fs','editor_file','printf','editor','main','core'];
|
||||
__id__=['printOut','arrRowMark','mapRowMark','data','bg','dataSelection'];
|
||||
__Vue__=['exportM','editArea','editTip','clear','tip','selectBox'];
|
||||
//var event = document.getElementById('event');
|
||||
@ -695,6 +695,8 @@ editor.changeFloor = function(floorId,callback) {
|
||||
var mapArray = core.maps.getMapArray(core.status.maps, core.status.floorId);
|
||||
editor.map = mapArray.map(function(v){return v.map(function(v){return editor.ids[[editor.indexs[v][0]]]})});
|
||||
editor.updateMap();
|
||||
editor.currentFloorId=core.status.floorId;
|
||||
editor.currentFloorData = core.floors[core.status.floorId];
|
||||
if (core.isset(callback))callback();
|
||||
});
|
||||
}
|
||||
@ -709,6 +711,8 @@ var afterMainInit = function(){
|
||||
var mapArray = core.maps.getMapArray(core.status.maps, core.status.floorId);
|
||||
editor.map = mapArray.map(function(v){return v.map(function(v){return editor.ids[[editor.indexs[v][0]]]})});
|
||||
editor.updateMap();
|
||||
editor.currentFloorId=core.status.floorId;
|
||||
editor.currentFloorData = core.floors[core.status.floorId];
|
||||
|
||||
|
||||
});
|
||||
|
||||
@ -2,7 +2,7 @@ comment_c456ea59_6018_45ef_8bcc_211a24c627dc =
|
||||
{
|
||||
"items" : {
|
||||
'items':{
|
||||
'cls': "只能取keys items constants tools\n$range(thiseval in ['keys','items','constants','tools'])$end",
|
||||
'cls': "只能取keys(钥匙) items(宝石、血瓶) constants(物品) tools(道具)\n$range(thiseval in ['keys','items','constants','tools'])$end",
|
||||
'name': '名称',
|
||||
'text': '道具在道具栏中显示的描述'
|
||||
},
|
||||
@ -16,7 +16,7 @@ comment_c456ea59_6018_45ef_8bcc_211a24c627dc =
|
||||
'def': '防御力',
|
||||
'money': '金币',
|
||||
'experience': '经验',
|
||||
'special': '特殊属性\n1:先攻,2:魔攻,3:坚固,4:2连击,5:3连击,6:n连击,7:破甲,8:反击,9:净化,10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,20:无敌\n多个属性例如用[1,4,11]表示先攻2连击吸血\n模仿怪的攻防设为0就好\n',
|
||||
'special': '特殊属性\n1:先攻,2:魔攻,3:坚固,4:2连击,5:3连击,6:n连击,7:破甲,8:反击,9:净化,10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,20:无敌\n多个属性例如用[1,4,11]表示先攻2连击吸血\n模仿怪的攻防设为0就好\n$leaf(true)$end',
|
||||
'value': '特殊属性的数值\n领域怪需要加value表示领域伤害的数值\n吸血怪需要在后面添加value代表吸血比例',
|
||||
'zoneSquare': '领域怪zoneSquare代表是否九宫格伤害',
|
||||
'range': 'range可选,代表领域伤害的范围;不加默认为1\n$range(thiseval==~~thiseval &&thiseval>0)$end',
|
||||
165
project/data.comment.js
Normal file
165
project/data.comment.js
Normal file
@ -0,0 +1,165 @@
|
||||
data_comment_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
{
|
||||
"main": {
|
||||
"useCompress": " 是否使用压缩文件 \n 当你即将发布你的塔时,请使用“JS代码压缩工具”将所有js代码进行压缩,然后将这里的useCompress改为true。 \n 请注意,只有useCompress是false时才会读取floors目录下的文件,为true时会直接读取libs目录下的floors.min.js文件。 \n 如果要进行剧本的修改请务必将其改成false。 ",
|
||||
"floorIds": " 在这里按顺序放所有的楼层;其顺序直接影响到楼层传送器的顺序和上楼器/下楼器的顺序 \n$leaf(true)$end",
|
||||
"pngs": " 在此存放所有可能的背景图片;背景图片最好是416*416像素,其他分辨率会被强制缩放成416*416 \n 建议对于较大的图片,在网上使用在线的“图片压缩工具”来进行压缩,以节省流量 \n 有关使用自定义背景图,请参见文档的“自定义素材”说明 \n\n 依次向后添加 \n$leaf(true)$end",
|
||||
"bgms": " 在此存放所有的bgm,和文件名一致。第一项为默认播放项 \n 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好 \n$leaf(true)$end",
|
||||
"sounds": " 在此存放所有的SE,和文件名一致 \n 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好 \n$leaf(true)$end"
|
||||
},
|
||||
"firstData": {
|
||||
"title": " 游戏名,将显示在标题页面以及切换楼层的界面中 ",
|
||||
"name": " 游戏的唯一英文标识符。由英文、数字、下划线组成,不能超过20个字符。 ",
|
||||
"version": " 当前游戏版本;版本不一致的存档不能通用。 ",
|
||||
"floorId": " 初始楼层ID ",
|
||||
"hero": {
|
||||
"name": " 勇士初始数据 \n 勇士名;可以改成喜欢的 ",
|
||||
"lv": " 初始等级,该项必须为正整数 ",
|
||||
"hp": " 初始生命值 ",
|
||||
"atk": " 初始攻击 ",
|
||||
"def": " 初始防御 ",
|
||||
"mdef": " 初始魔防 ",
|
||||
"money": " 初始金币 ",
|
||||
"experience": " 初始经验 ",
|
||||
"items": {
|
||||
"keys": {
|
||||
"yellowKey": " 初始道具个数 ",
|
||||
"blueKey": "",
|
||||
"redKey": ""
|
||||
},
|
||||
"constants": "\n$leaf(true)$end",
|
||||
"tools": "\n$leaf(true)$end"
|
||||
},
|
||||
"flyRange": " 初始可飞的楼层;一般留空数组即可 \n$leaf(true)$end",
|
||||
"loc": {
|
||||
"direction": " 勇士初始位置 ",
|
||||
"x": "",
|
||||
"y": ""
|
||||
},
|
||||
"flags": {
|
||||
"poison": " 游戏过程中的变量或flags \n 毒 ",
|
||||
"weak": " 衰 ",
|
||||
"curse": " 咒 "
|
||||
}
|
||||
},
|
||||
"startText": " 游戏开始前剧情。如果无剧情直接留一个空数组即可。 \n$leaf(true)$end",
|
||||
"shops": {
|
||||
"moneyShop1": {
|
||||
"name": " 定义全局商店(即快捷商店) \n 商店唯一ID \n 商店名称(标题) ",
|
||||
"icon": " 商店图标,blueShop为蓝色商店,pinkShop为粉色商店 ",
|
||||
"textInList": " 在快捷商店栏中显示的名称 ",
|
||||
"use": " 商店所要使用的。只能是\"money\"或\"experience\"。 ",
|
||||
"need": " 商店需要的金币/经验数值;可以是一个表达式,以times作为参数计算。 \n 这里用到的times为该商店的已经的访问次数。首次访问该商店时times的值为0。 \n 上面的例子是50层商店的计算公式。你也可以写任意其他的计算公式,只要以times作为参数即可。 \n 例如: \"need\": \"25\" 就是恒定需要25金币的商店; \"need\": \"20+2*times\" 就是第一次访问要20金币,以后每次递增2金币的商店。 \n 如果是对于每个选项有不同的计算公式,写 \"need\": \"-1\" 即可。可参见下面的经验商店。 ",
|
||||
"text": " 显示的文字,需手动加换行符。可以使用${need}表示上面的need值。 ",
|
||||
"choices": [
|
||||
{
|
||||
"text": "",
|
||||
"effect": " 商店的选项 \n 如果有多个effect以分号分开,参见下面的经验商店 "
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"effect": ""
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"effect": ""
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"effect": " effect只能对status和item进行操作,不能修改flag值。 \n 必须是X+=Y的形式,其中Y可以是一个表达式,以status:xxx或item:xxx为参数 \n 其他effect样例: \n \"item:yellowKey+=1\" 黄钥匙+1 \n \"item:pickaxe+=3\" 破墙镐+3 \n \"status:hp+=2*(status:atk+status:def)\" 将生命提升攻防和的数值的两倍 "
|
||||
}
|
||||
]
|
||||
},
|
||||
"expShop1": {
|
||||
"name": " 商店唯一ID ",
|
||||
"icon": "",
|
||||
"textInList": "",
|
||||
"use": " 该商店使用的是经验进行计算 ",
|
||||
"need": " 如果是对于每个选项所需要的数值不同,这里直接写-1,然后下面选项里给定具体数值 ",
|
||||
"text": "",
|
||||
"choices": [
|
||||
{
|
||||
"text": "",
|
||||
"need": "",
|
||||
"effect": " 在choices中写need,可以针对每个选项都有不同的需求。 \n 这里的need同样可以以times作为参数,比如 \"need\": \"100+20*times\" 多个effect直接以分号分开即可。如上面的意思是生命+1000,攻击+7,防御+7。 "
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"need": "",
|
||||
"effect": ""
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"need": "",
|
||||
"effect": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"levelUp": [
|
||||
" 经验升级所需要的数值,是一个数组 \n 第一项为初始等级,可以简单留空,也可以写name \n 每一个里面可以含有三个参数 need, name, effect \n need为所需要的经验数值,是一个正整数。请确保need所需的依次递增 \n name为该等级的名称,也可以省略代表使用系统默认值;本项将显示在状态栏中 \n effect为本次升级所执行的操作,可由若干项组成,由分号分开 \n 其中每一项写法和上面的商店完全相同,同样必须是X+=Y的形式,Y是一个表达式,同样可以使用status:xxx或item:xxx代表勇士的某项数值/道具个数 \n$leaf(true)$end",
|
||||
{
|
||||
"need": "",
|
||||
"name": "",
|
||||
"effect": " 先将生命提升攻防和的2倍;再将攻击+10,防御+10 "
|
||||
},
|
||||
{
|
||||
"need": "",
|
||||
"effect": " effect也允许写一个function,代表本次升级将会执行的操作 \n 依次往下写需要的数值即可 "
|
||||
}
|
||||
]
|
||||
},
|
||||
"values": {
|
||||
"HPMAX": " 各种数值;一些数值可以在这里设置 /****** 角色相关 ******/ \n HP上限;-1则无上限 ",
|
||||
"lavaDamage": " 经过血网受到的伤害 ",
|
||||
"poisonDamage": " 中毒后每步受到的伤害 ",
|
||||
"weakValue": " 衰弱状态下攻防减少的数值 ",
|
||||
"redJewel": " /****** 道具相关 ******/ \n 红宝石加攻击的数值 ",
|
||||
"blueJewel": " 蓝宝石加防御的数值 ",
|
||||
"greenJewel": " 绿宝石加魔防的数值 ",
|
||||
"redPotion": " 红血瓶加血数值 ",
|
||||
"bluePotion": " 蓝血瓶加血数值 ",
|
||||
"yellowPotion": " 黄血瓶加血数值 ",
|
||||
"greenPotion": " 绿血瓶加血数值 ",
|
||||
"sword1": " 铁剑加攻数值 ",
|
||||
"shield1": " 铁盾加防数值 ",
|
||||
"sword2": " 银剑加攻数值 ",
|
||||
"shield2": " 银盾加防数值 ",
|
||||
"sword3": " 骑士剑加攻数值 ",
|
||||
"shield3": " 骑士盾加防数值 ",
|
||||
"sword4": " 圣剑加攻数值 ",
|
||||
"shield4": " 圣盾加防数值 ",
|
||||
"sword5": " 神圣剑加攻数值 ",
|
||||
"shield5": " 神圣盾加防数值 ",
|
||||
"moneyPocket": " 金钱袋加金币的数值 ",
|
||||
"breakArmor": " /****** 怪物相关 ******/ \n 破甲的比例(战斗前,怪物附加角色防御的x%作为伤害) ",
|
||||
"counterAttack": " 反击的比例(战斗时,怪物每回合附加角色攻击的x%作为伤害,无视角色防御) ",
|
||||
"purify": " 净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害) ",
|
||||
"hatred": " 仇恨属性中,每杀死一个怪物获得的仇恨值 ",
|
||||
"animateSpeed": " /****** 系统相关 ******/ \n 动画时间 "
|
||||
},
|
||||
"flags": {
|
||||
"enableFloor": " 系统FLAG,在游戏运行中中请不要修改它。 /****** 状态栏相关 ******/ \n 是否在状态栏显示当前楼层 ",
|
||||
"enableLv": " 是否在状态栏显示当前等级 ",
|
||||
"enableMDef": " 是否在状态栏及战斗界面显示魔防(护盾) ",
|
||||
"enableMoney": " 是否在状态栏、怪物手册及战斗界面显示金币 ",
|
||||
"enableExperience": " 是否在状态栏、怪物手册及战斗界面显示经验 ",
|
||||
"enableLevelUp": " 是否允许等级提升(进阶);如果上面enableExperience为false,则此项恒视为false ",
|
||||
"enableDebuff": " 是否涉及毒衰咒;如果此项为false则不会在状态栏中显示毒衰咒的debuff ////// 上述的几个开关将直接影响状态栏的显示效果 ////// ",
|
||||
"flyNearStair": " /****** 道具相关 ******/ \n 是否需要在楼梯边使用传送器 ",
|
||||
"pickaxeFourDirections": " 使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁 ",
|
||||
"bombFourDirections": " 使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价) ",
|
||||
"bigKeyIsBox": " 如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙 ",
|
||||
"enableNegativeDamage": " /****** 怪物相关 ******/ \n 是否支持负伤害(回血) ",
|
||||
"zoneSquare": " 领域类型。如果此项为true则为九宫格伤害,为false则为十字伤害 ",
|
||||
"startDirectly": " /****** 系统相关 ******/ \n 点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面 ",
|
||||
"canOpenBattleAnimate": " 是否允许用户开启战斗过程;如果此项为false,则下面两项均强制视为false ",
|
||||
"showBattleAnimateConfirm": " 是否在游戏开始时提供“是否开启战斗动画”的选项 ",
|
||||
"battleAnimate": " 是否默认显示战斗动画;用户可以手动在菜单栏中开关 ",
|
||||
"displayEnemyDamage": " 是否地图怪物显伤;用户可以手动在菜单栏中开关 ",
|
||||
"displayExtraDamage": " 是否地图高级显伤(领域、夹击等);用户可以手动在菜单栏中开关 ",
|
||||
"enableGentleClick": " 是否允许轻触(获得面前物品) ",
|
||||
"portalWithoutTrigger": " 经过楼梯、传送门时是否能“穿透”。穿透的意思是,自动寻路得到的的路径中间经过了楼梯,行走时是否触发楼层转换事件 ",
|
||||
"potionWhileRouting": " 寻路算法是否经过血瓶;如果该项为false,则寻路算法会自动尽量绕过血瓶 "
|
||||
}
|
||||
}
|
||||
109
project/data.js
109
project/data.js
@ -6,21 +6,24 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
// 请注意,只有useCompress是false时才会读取floors目录下的文件,为true时会直接读取libs目录下的floors.min.js文件。
|
||||
// 如果要进行剧本的修改请务必将其改成false。
|
||||
|
||||
"floorIds" : [ // 在这里按顺序放所有的楼层;其顺序直接影响到楼层传送器的顺序和上楼器/下楼器的顺序
|
||||
"floorIds" : [
|
||||
"sample0", "sample1", "sample2"
|
||||
],
|
||||
"pngs" : [ // 在此存放所有可能的背景图片;背景图片最好是416*416像素,其他分辨率会被强制缩放成416*416
|
||||
],// 在这里按顺序放所有的楼层;其顺序直接影响到楼层传送器的顺序和上楼器/下楼器的顺序
|
||||
"pngs" : [
|
||||
"bg.png", "yewai.png", // 在此存放所有可能的背景图片;背景图片最好是416*416像素,其他分辨率会被强制缩放成416*416
|
||||
// 建议对于较大的图片,在网上使用在线的“图片压缩工具”来进行压缩,以节省流量
|
||||
// 有关使用自定义背景图,请参见文档的“自定义素材”说明
|
||||
"bg.png", "yewai.png", // 依次向后添加
|
||||
// 依次向后添加
|
||||
],
|
||||
"bgms" : [ // 在此存放所有的bgm,和文件名一致。第一项为默认播放项
|
||||
// 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好
|
||||
"bgms" : [
|
||||
'058-Slow01.mid', 'bgm.mp3', 'qianjin.mid', 'star.mid',
|
||||
],
|
||||
"sounds" : [ // 在此存放所有的SE,和文件名一致
|
||||
// 在此存放所有的bgm,和文件名一致。第一项为默认播放项
|
||||
// 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好
|
||||
],
|
||||
"sounds" : [
|
||||
'floor.mp3', 'attack.ogg', 'door.ogg', 'item.ogg',
|
||||
// 在此存放所有的SE,和文件名一致
|
||||
// 音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好
|
||||
],
|
||||
},
|
||||
"firstData" : {
|
||||
@ -28,8 +31,9 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"name": "template", // 游戏的唯一英文标识符。由英文、数字、下划线组成,不能超过20个字符。
|
||||
"version": "Ver 1.0.0 (Beta)", // 当前游戏版本;版本不一致的存档不能通用。
|
||||
"floorId": "sample0", // 初始楼层ID
|
||||
"hero": { // 勇士初始数据
|
||||
"name": "阳光", // 勇士名;可以改成喜欢的
|
||||
"hero": {
|
||||
"name": "阳光", // 勇士初始数据
|
||||
// 勇士名;可以改成喜欢的
|
||||
'lv': 1, // 初始等级,该项必须为正整数
|
||||
"hp": 1000, // 初始生命值
|
||||
"atk": 100, // 初始攻击
|
||||
@ -37,7 +41,7 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"mdef": 100, // 初始魔防
|
||||
"money": 100, // 初始金币
|
||||
"experience": 0, // 初始经验
|
||||
"items": { // 初始道具个数
|
||||
"items": {
|
||||
"keys": {
|
||||
"yellowKey": 0,
|
||||
"blueKey": 0,
|
||||
@ -45,23 +49,26 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
},
|
||||
"constants": {},
|
||||
"tools": {}
|
||||
},
|
||||
},// 初始道具个数
|
||||
"flyRange": [], // 初始可飞的楼层;一般留空数组即可
|
||||
"loc": {"direction": "up", "x": 6, "y": 10}, // 勇士初始位置
|
||||
"flags": { // 游戏过程中的变量或flags
|
||||
"poison": false, // 毒
|
||||
"flags": {
|
||||
"poison": false, // 游戏过程中的变量或flags
|
||||
// 毒
|
||||
"weak": false, // 衰
|
||||
"curse": false, // 咒
|
||||
}
|
||||
},
|
||||
"startText": [ // 游戏开始前剧情。如果无剧情直接留一个空数组即可。
|
||||
"startText": [
|
||||
"Hi,欢迎来到 HTML5 魔塔样板!\n\n本样板由艾之葵制作,可以让你在不会写任何代码\n的情况下也能做出属于自己的H5魔塔!",
|
||||
"这里游戏开始时的剧情。\n定义在data.js的startText处。\n\n你可以在这里写上自己的内容。",
|
||||
"赶快来试一试吧!"
|
||||
],
|
||||
"shops": { // 定义全局商店(即快捷商店)
|
||||
"moneyShop1": { // 商店唯一ID
|
||||
"name": "贪婪之神", // 商店名称(标题)
|
||||
], // 游戏开始前剧情。如果无剧情直接留一个空数组即可。
|
||||
"shops": {
|
||||
"moneyShop1": {
|
||||
"name": "贪婪之神", // 定义全局商店(即快捷商店)
|
||||
// 商店唯一ID
|
||||
// 商店名称(标题)
|
||||
"icon": "blueShop", // 商店图标,blueShop为蓝色商店,pinkShop为粉色商店
|
||||
"textInList": "1F金币商店", // 在快捷商店栏中显示的名称
|
||||
"use": "money", // 商店所要使用的。只能是"money"或"experience"。
|
||||
@ -71,8 +78,8 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
// 例如: "need": "25" 就是恒定需要25金币的商店; "need": "20+2*times" 就是第一次访问要20金币,以后每次递增2金币的商店。
|
||||
// 如果是对于每个选项有不同的计算公式,写 "need": "-1" 即可。可参见下面的经验商店。
|
||||
"text": "勇敢的武士啊,给我${need}金币就可以:", // 显示的文字,需手动加换行符。可以使用${need}表示上面的need值。
|
||||
"choices": [ // 商店的选项
|
||||
{"text": "生命+800", "effect": "status:hp+=800"},
|
||||
"choices": [
|
||||
{"text": "生命+800", "effect": "status:hp+=800"}, // 商店的选项
|
||||
// 如果有多个effect以分号分开,参见下面的经验商店
|
||||
{"text": "攻击+4", "effect": "status:atk+=4"},
|
||||
{"text": "防御+4", "effect": "status:def+=4"},
|
||||
@ -85,25 +92,27 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
// "status:hp+=2*(status:atk+status:def)" 将生命提升攻防和的数值的两倍
|
||||
]
|
||||
},
|
||||
"expShop1": { // 商店唯一ID
|
||||
"name": "经验之神",
|
||||
"expShop1": {
|
||||
"name": "经验之神", // 商店唯一ID
|
||||
"icon": "pinkShop",
|
||||
"textInList": "1F经验商店",
|
||||
"use": "experience", // 该商店使用的是经验进行计算
|
||||
"need": "-1", // 如果是对于每个选项所需要的数值不同,这里直接写-1,然后下面选项里给定具体数值
|
||||
"text": "勇敢的武士啊,给我若干经验就可以:",
|
||||
"choices": [
|
||||
{"text": "等级+1", "need": "100", "effect": "status:lv+=1;status:hp+=1000;status:atk+=7;status:def+=7"},
|
||||
// 在choices中写need,可以针对每个选项都有不同的需求。
|
||||
// 这里的need同样可以以times作为参数,比如 "need": "100+20*times"
|
||||
{"text": "等级+1", "need": "100", "effect": "status:lv+=1;status:hp+=1000;status:atk+=7;status:def+=7"},
|
||||
|
||||
// 多个effect直接以分号分开即可。如上面的意思是生命+1000,攻击+7,防御+7。
|
||||
{"text": "攻击+5", "need": "30", "effect": "status:atk+=5"},
|
||||
{"text": "防御+5", "need": "30", "effect": "status:def+=5"},
|
||||
]
|
||||
},
|
||||
},
|
||||
"levelUp": [ // 经验升级所需要的数值,是一个数组
|
||||
{}, // 第一项为初始等级,可以简单留空,也可以写name
|
||||
"levelUp": [
|
||||
{}, // 经验升级所需要的数值,是一个数组
|
||||
// 第一项为初始等级,可以简单留空,也可以写name
|
||||
|
||||
// 每一个里面可以含有三个参数 need, name, effect
|
||||
// need为所需要的经验数值,是一个正整数。请确保need所需的依次递增
|
||||
@ -112,26 +121,29 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
// 其中每一项写法和上面的商店完全相同,同样必须是X+=Y的形式,Y是一个表达式,同样可以使用status:xxx或item:xxx代表勇士的某项数值/道具个数
|
||||
{"need": 20, "name": "第二级", "effect": "status:hp+=2*(status:atk+status:def);status:atk+=10;status:def+=10"}, // 先将生命提升攻防和的2倍;再将攻击+10,防御+10
|
||||
|
||||
// effect也允许写一个function,代表本次升级将会执行的操作
|
||||
{"need": 40, "effect": function () {
|
||||
|
||||
{"need": 40, "effect": `function () {
|
||||
core.drawText("恭喜升级!");
|
||||
core.status.hero.hp *= 2;
|
||||
core.status.hero.atk += 100;
|
||||
core.status.hero.def += 100;
|
||||
}},
|
||||
}`}, // effect也允许写一个function,代表本次升级将会执行的操作
|
||||
|
||||
// 依次往下写需要的数值即可
|
||||
]
|
||||
},
|
||||
// 各种数值;一些数值可以在这里设置
|
||||
|
||||
"values" : {
|
||||
|
||||
"HPMAX": 999999, // 各种数值;一些数值可以在这里设置
|
||||
/****** 角色相关 ******/
|
||||
"HPMAX": 999999, // HP上限;-1则无上限
|
||||
// HP上限;-1则无上限
|
||||
"lavaDamage": 100, // 经过血网受到的伤害
|
||||
"poisonDamage": 10, // 中毒后每步受到的伤害
|
||||
"weakValue": 20, // 衰弱状态下攻防减少的数值
|
||||
/****** 道具相关 ******/
|
||||
"redJewel": 3, // 红宝石加攻击的数值
|
||||
|
||||
"redJewel": 3, /****** 道具相关 ******/
|
||||
// 红宝石加攻击的数值
|
||||
"blueJewel": 3, // 蓝宝石加防御的数值
|
||||
"greenJewel": 5, // 绿宝石加魔防的数值
|
||||
"redPotion": 100, // 红血瓶加血数值
|
||||
@ -149,18 +161,22 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"sword5": 160, // 神圣剑加攻数值
|
||||
"shield5": 160, // 神圣盾加防数值
|
||||
"moneyPocket": 500, // 金钱袋加金币的数值
|
||||
/****** 怪物相关 ******/
|
||||
'breakArmor': 0.9, // 破甲的比例(战斗前,怪物附加角色防御的x%作为伤害)
|
||||
|
||||
'breakArmor': 0.9, /****** 怪物相关 ******/
|
||||
// 破甲的比例(战斗前,怪物附加角色防御的x%作为伤害)
|
||||
'counterAttack': 0.1, // 反击的比例(战斗时,怪物每回合附加角色攻击的x%作为伤害,无视角色防御)
|
||||
'purify': 3, // 净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)
|
||||
'hatred': 2, // 仇恨属性中,每杀死一个怪物获得的仇恨值
|
||||
/****** 系统相关 ******/
|
||||
'animateSpeed': 500, // 动画时间
|
||||
|
||||
'animateSpeed': 500, /****** 系统相关 ******/
|
||||
// 动画时间
|
||||
},
|
||||
// 系统FLAG,在游戏运行中中请不要修改它。
|
||||
|
||||
"flags" : {
|
||||
|
||||
"enableFloor": true, // 系统FLAG,在游戏运行中中请不要修改它。
|
||||
/****** 状态栏相关 ******/
|
||||
"enableFloor": true, // 是否在状态栏显示当前楼层
|
||||
// 是否在状态栏显示当前楼层
|
||||
"enableLv": true, // 是否在状态栏显示当前等级
|
||||
"enableMDef": true, // 是否在状态栏及战斗界面显示魔防(护盾)
|
||||
"enableMoney": true, // 是否在状态栏、怪物手册及战斗界面显示金币
|
||||
@ -168,16 +184,19 @@ data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"enableLevelUp": true, // 是否允许等级提升(进阶);如果上面enableExperience为false,则此项恒视为false
|
||||
"enableDebuff": true, // 是否涉及毒衰咒;如果此项为false则不会在状态栏中显示毒衰咒的debuff
|
||||
////// 上述的几个开关将直接影响状态栏的显示效果 //////
|
||||
/****** 道具相关 ******/
|
||||
"flyNearStair": true, // 是否需要在楼梯边使用传送器
|
||||
|
||||
"flyNearStair": true, /****** 道具相关 ******/
|
||||
// 是否需要在楼梯边使用传送器
|
||||
"pickaxeFourDirections": true, // 使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁
|
||||
"bombFourDirections": true, // 使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价)
|
||||
"bigKeyIsBox": false, // 如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙
|
||||
/****** 怪物相关 ******/
|
||||
"enableNegativeDamage": true, // 是否支持负伤害(回血)
|
||||
|
||||
"enableNegativeDamage": true, /****** 怪物相关 ******/
|
||||
// 是否支持负伤害(回血)
|
||||
"zoneSquare": false, // 领域类型。如果此项为true则为九宫格伤害,为false则为十字伤害
|
||||
/****** 系统相关 ******/
|
||||
"startDirectly": false, // 点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面
|
||||
|
||||
"startDirectly": false, /****** 系统相关 ******/
|
||||
// 点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面
|
||||
"canOpenBattleAnimate": true, // 是否允许用户开启战斗过程;如果此项为false,则下面两项均强制视为false
|
||||
"showBattleAnimateConfirm": true, // 是否在游戏开始时提供“是否开启战斗动画”的选项
|
||||
"battleAnimate": true, // 是否默认显示战斗动画;用户可以手动在菜单栏中开关
|
||||
|
||||
@ -257,7 +257,7 @@ main.floors.sample1 = {
|
||||
"12,11": [ // 自定义事件的老人
|
||||
"\t[老人,womanMagician]使用 {\"type\":\"function\"} 可以写自定义的JS脚本。\n本塔支持的所有主要API会在doc文档内给出。",
|
||||
"\t[老人,womanMagician]例如这个例子:即将弹出一个输入窗口,然后会将你的输入结果直接加到你的攻击力上。",
|
||||
{"type": "function", "function": function() { // 自己写JS脚本并执行
|
||||
{"type": "function", "function": `function() { // 自己写JS脚本并执行
|
||||
var value = prompt("请输入你要加攻击力的数值:"); // 弹出一个输入框让用户输入数据
|
||||
if (value!=null) {
|
||||
value=parseInt(value);
|
||||
@ -271,7 +271,7 @@ main.floors.sample1 = {
|
||||
]);
|
||||
}
|
||||
}
|
||||
}},
|
||||
}`},
|
||||
"\t[老人,womanMagician]具体可参见样板中本事件的写法。"
|
||||
]
|
||||
},
|
||||
|
||||
@ -2,12 +2,12 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
{
|
||||
|
||||
"items" : {
|
||||
// 钥匙
|
||||
|
||||
'yellowKey': {'cls': 'keys', 'name': '黄钥匙'},
|
||||
'blueKey': {'cls': 'keys', 'name': '蓝钥匙'},
|
||||
'redKey': {'cls': 'keys', 'name': '红钥匙'},
|
||||
|
||||
// 宝石、血瓶
|
||||
|
||||
'redJewel': {'cls': 'items', 'name': '红宝石'},
|
||||
'blueJewel': {'cls': 'items', 'name': '蓝宝石'},
|
||||
'greenJewel': {'cls': 'items', 'name': '绿宝石'},
|
||||
@ -29,7 +29,7 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
'superPotion': {'cls': 'items', 'name': '圣水'},
|
||||
'moneyPocket': {'cls': 'items', 'name': '金钱袋'},
|
||||
|
||||
// 物品
|
||||
|
||||
'book': {'cls': 'constants', 'name': '怪物手册', 'text': '可以查看当前楼层各怪物属性'},
|
||||
'fly': {'cls': 'constants', 'name': '楼层传送器', 'text': '可以自由往来去过的楼层'},
|
||||
'coin': {'cls': 'constants', 'name': '幸运金币', 'text': '持有时打败怪物可得双倍金币'},
|
||||
@ -38,7 +38,7 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
'knife': {'cls': 'constants', 'name': '屠龙匕首', 'text': '该道具尚未被定义'},
|
||||
'shoes': {'cls': 'constants', 'name': '绿鞋', 'text': '持有时无视负面地形'},
|
||||
|
||||
// 道具
|
||||
|
||||
'bigKey': {'cls': 'tools', 'name': '大黄门钥匙', 'text': '可以开启当前层所有黄门'},
|
||||
'greenKey': {'cls': 'tools', 'name': '绿钥匙', 'text': '可以打开一扇绿门'},
|
||||
'steelKey': {'cls': 'tools', 'name': '铁门钥匙', 'text': '可以打开一扇铁门'},
|
||||
@ -63,8 +63,9 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"redJewel":"core.status.hero.atk += core.values.redJewel",
|
||||
"blueJewel":"core.status.hero.def += core.values.blueJewel",
|
||||
"greenJewel":"core.status.hero.mdef += core.values.greenJewel",
|
||||
// 黄宝石属性:需自己定义
|
||||
|
||||
"yellowJewel":"core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;",
|
||||
// 黄宝石属性:需自己定义
|
||||
"redPotion":"core.status.hero.hp += core.values.redPotion",
|
||||
"bluePotion":"core.status.hero.hp += core.values.bluePotion",
|
||||
"yellowPotion":"core.status.hero.hp += core.values.yellowPotion",
|
||||
@ -79,8 +80,9 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"shield3":"core.status.hero.def += core.values.shield3",
|
||||
"shield4":"core.status.hero.def += core.values.shield4",
|
||||
"shield5":"core.status.hero.def += core.values.shield5",
|
||||
// 只有是钥匙盒才会执行这一步
|
||||
|
||||
"bigKey":"core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;",
|
||||
// 只有是钥匙盒才会执行这一步
|
||||
"superPotion":"core.status.hero.hp *= 2",
|
||||
"moneyPocket":"core.status.hero.money += core.values.moneyPocket",
|
||||
},
|
||||
|
||||
193
project/maps.comment.js
Normal file
193
project/maps.comment.js
Normal file
@ -0,0 +1,193 @@
|
||||
maps_comment_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
{
|
||||
////////////////////////// 地形部分 //////////////////////////
|
||||
|
||||
// 0-20 地形
|
||||
'1':' 黄墙',
|
||||
'2':' 白墙',
|
||||
'3':' 蓝墙',
|
||||
'4':' 星空',
|
||||
'5':' 岩浆',
|
||||
'6':' 岩浆',
|
||||
'7':' 蓝色商店左',
|
||||
'8':' 蓝色商店右',
|
||||
'9':' 粉色商店左',
|
||||
'10':' 粉色商店左',
|
||||
'11':' 血网',
|
||||
'12':' 毒网',
|
||||
'13':' 衰网',
|
||||
'14':' 咒网',
|
||||
'15':' 水',
|
||||
// 在这里添加更多地形
|
||||
// 如果空位不足,可以从180以后开始继续放,只要不和现有的数字冲突即可
|
||||
|
||||
// Autotile
|
||||
'20':' autotile',
|
||||
// 更多的autotile从151到160等,只要不和现有的数字冲突即可
|
||||
'151':'',
|
||||
'152':'',
|
||||
'153':'',
|
||||
|
||||
////////////////////////// 物品部分 //////////////////////////
|
||||
|
||||
// 21-80 物品
|
||||
'21':' 黄钥匙',
|
||||
'22':' 蓝钥匙',
|
||||
'23':' 红钥匙',
|
||||
'24':' 绿钥匙',
|
||||
'25':' 铁门钥匙',
|
||||
'26':' 大黄门钥匙(钥匙盒)',
|
||||
'27':' 红宝石',
|
||||
'28':' 蓝宝石',
|
||||
'29':' 绿宝石',
|
||||
'30':' 黄宝石',
|
||||
'31':' 红血瓶',
|
||||
'32':' 蓝血瓶',
|
||||
'33':' 绿血瓶',
|
||||
'34':' 黄血瓶',
|
||||
'35':' 铁剑',
|
||||
'36':' 铁盾',
|
||||
'37':' 银剑',
|
||||
'38':' 银盾',
|
||||
'39':' 骑士剑',
|
||||
'40':' 骑士盾',
|
||||
'41':' 圣剑',
|
||||
'42':' 圣盾',
|
||||
'43':' 神圣剑',
|
||||
'44':' 神圣盾',
|
||||
'45':' 怪物手册',
|
||||
'46':' 楼层传送器',
|
||||
'47':' 破墙镐',
|
||||
'48':' 破冰镐',
|
||||
'49':' 炸弹',
|
||||
'50':' 中心对称',
|
||||
'51':' 上楼器',
|
||||
'52':' 下楼器',
|
||||
'53':' 幸运金币',
|
||||
'54':' 冰冻徽章',
|
||||
'55':' 十字架',
|
||||
'56':' 圣水',
|
||||
'57':' 地震卷轴',
|
||||
'58':' 解毒药水',
|
||||
'59':' 解衰药水',
|
||||
'60':' 解咒药水',
|
||||
'61':' 万能药水',
|
||||
'62':' 屠龙匕首',
|
||||
'63':' 金钱袋',
|
||||
'64':' 绿鞋',
|
||||
'65':' 圣锤',
|
||||
|
||||
|
||||
////////////////////////// 门、楼梯、传送点部分 //////////////////////////
|
||||
|
||||
// 81-100 门
|
||||
'81':' 黄门',
|
||||
'82':' 蓝门',
|
||||
'83':' 红门',
|
||||
'84':' 绿门',
|
||||
'85':' 机关门左',
|
||||
'86':' 铁门',
|
||||
'87':' 上楼梯',
|
||||
'88':' 下楼梯',
|
||||
'89':' 传送门',
|
||||
'90':' 星空传送门',
|
||||
'91':' 上箭头',
|
||||
'92':' 左箭头',
|
||||
'93':' 下箭头',
|
||||
'94':' 右箭头',
|
||||
|
||||
|
||||
////////////////////////// NPC部分 //////////////////////////
|
||||
|
||||
// 121-150 NPC
|
||||
'121':'',
|
||||
'122':'',
|
||||
'123':'',
|
||||
'124':'',
|
||||
'125':'',
|
||||
'126':'',
|
||||
'127':'',
|
||||
'128':'',
|
||||
'129':'',
|
||||
'130':'',
|
||||
'131':'',
|
||||
'132':'',
|
||||
|
||||
////////////////////////// 其他部分 //////////////////////////
|
||||
|
||||
// 161-200 其他(单向箭头、灯、箱子等等)
|
||||
'161':' 单向上箭头',
|
||||
'162':' 单向下箭头',
|
||||
'163':' 单向左箭头',
|
||||
'164':' 单向右箭头',
|
||||
'165':' 灯',
|
||||
'166':' 暗灯',
|
||||
|
||||
|
||||
////////////////////////// 怪物部分 //////////////////////////
|
||||
|
||||
// 201-300 怪物
|
||||
'201':'',
|
||||
'202':'',
|
||||
'203':'',
|
||||
'204':'',
|
||||
'205':'',
|
||||
'206':'',
|
||||
'207':'',
|
||||
'208':'',
|
||||
'209':'',
|
||||
'210':'',
|
||||
'211':'',
|
||||
'212':'',
|
||||
'213':'',
|
||||
'214':'',
|
||||
'215':'',
|
||||
'216':'',
|
||||
'217':'',
|
||||
'218':'',
|
||||
'219':'',
|
||||
'220':'',
|
||||
'221':'',
|
||||
'222':'',
|
||||
'223':'',
|
||||
'224':'',
|
||||
'225':'',
|
||||
'226':'',
|
||||
'227':'',
|
||||
'228':'',
|
||||
'229':'',
|
||||
'230':'',
|
||||
'231':'',
|
||||
'232':'',
|
||||
'233':'',
|
||||
'234':'',
|
||||
'235':'',
|
||||
'236':'',
|
||||
'237':'',
|
||||
'238':'',
|
||||
'239':'',
|
||||
'240':'',
|
||||
'241':'',
|
||||
'242':'',
|
||||
'243':'',
|
||||
'244':'',
|
||||
'245':'',
|
||||
'246':'',
|
||||
'247':'',
|
||||
'248':'',
|
||||
'249':'',
|
||||
'250':'',
|
||||
'251':'',
|
||||
'252':'',
|
||||
'253':'',
|
||||
'254':'',
|
||||
'255':'',
|
||||
'256':'',
|
||||
'257':'',
|
||||
'258':'',
|
||||
'259':'',
|
||||
'260':'',
|
||||
|
||||
////////////////////////// 待定... //////////////////////////
|
||||
// 目前ID暂时不要超过400
|
||||
}
|
||||
@ -25,7 +25,7 @@
|
||||
</div>
|
||||
<p id='startTopLoadTips'>资源即将开始加载</p>
|
||||
</div>
|
||||
<img id='startBackground' src='images/bg.png'>
|
||||
<img id='startBackground' src='project/images/bg.png'>
|
||||
<!-- 标题界面;可以改style的color使标题改变颜色 -->
|
||||
<p id='startLogo' style="color: black"></p>
|
||||
<div id='startButtonGroup'>
|
||||
@ -48,39 +48,39 @@
|
||||
</div>
|
||||
<div id='statusBar' class="clearfix">
|
||||
<div class="status" id="floorCol">
|
||||
<img src='images/floor.png' id="img-floor">
|
||||
<img src='project/images/floor.png' id="img-floor">
|
||||
<p class='statusLabel' id='floor'></p>
|
||||
</div>
|
||||
<div class="status" id="lvCol">
|
||||
<img src='images/lv.png' id="img-lv">
|
||||
<img src='project/images/lv.png' id="img-lv">
|
||||
<p class='statusLabel' id='lv'></p>
|
||||
</div>
|
||||
<div class="status">
|
||||
<img src='images/hp.png' id="img-hp">
|
||||
<img src='project/images/hp.png' id="img-hp">
|
||||
<p class='statusLabel' id='hp'></p>
|
||||
</div>
|
||||
<div class="status">
|
||||
<img src='images/atk.png' id="img-atk">
|
||||
<img src='project/images/atk.png' id="img-atk">
|
||||
<p class='statusLabel' id='atk'></p>
|
||||
</div>
|
||||
<div class="status">
|
||||
<img src='images/def.png' id="img-def">
|
||||
<img src='project/images/def.png' id="img-def">
|
||||
<p class='statusLabel' id='def'></p>
|
||||
</div>
|
||||
<div class="status" id="mdefCol">
|
||||
<img src='images/mdef.png' id="img-mdef">
|
||||
<img src='project/images/mdef.png' id="img-mdef">
|
||||
<p class='statusLabel' id='mdef'></p>
|
||||
</div>
|
||||
<div class="status" id="moneyCol">
|
||||
<img src='images/money.png' id="img-money">
|
||||
<img src='project/images/money.png' id="img-money">
|
||||
<p class='statusLabel' id='money'></p>
|
||||
</div>
|
||||
<div class="status" id="expCol">
|
||||
<img src='images/experience.png' id="img-experience">
|
||||
<img src='project/images/experience.png' id="img-experience">
|
||||
<p class='statusLabel' id='experience'></p>
|
||||
</div>
|
||||
<div class="status" id="upCol">
|
||||
<img src='images/up.png' id="img-up">
|
||||
<img src='project/images/up.png' id="img-up">
|
||||
<p class='statusLabel' id='up'></p>
|
||||
</div>
|
||||
<div class="status">
|
||||
@ -95,13 +95,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="toolBar" class="clearfix">
|
||||
<img src="images/book.png" class="tools" id='img-book'>
|
||||
<img src="images/fly.png" class="tools" id='img-fly'>
|
||||
<img src="images/toolbox.png" class="tools" id='img-toolbox'>
|
||||
<img src="images/shop.png" class="tools" id='img-shop'>
|
||||
<img src="images/save.png" class="tools" id='img-save'>
|
||||
<img src="images/load.png" class="tools" id='img-load'>
|
||||
<img src="images/settings.png" class="tools" id='img-settings'>
|
||||
<img src="project/images/book.png" class="tools" id='img-book'>
|
||||
<img src="project/images/fly.png" class="tools" id='img-fly'>
|
||||
<img src="project/images/toolbox.png" class="tools" id='img-toolbox'>
|
||||
<img src="project/images/shop.png" class="tools" id='img-shop'>
|
||||
<img src="project/images/save.png" class="tools" id='img-save'>
|
||||
<img src="project/images/load.png" class="tools" id='img-load'>
|
||||
<img src="project/images/settings.png" class="tools" id='img-settings'>
|
||||
<p class="statusLabel tools" id="hard"></p>
|
||||
</div>
|
||||
<div id="curtain"></div>
|
||||
@ -131,15 +131,17 @@ var replay = function(){
|
||||
}
|
||||
|
||||
var afterInit = function(){
|
||||
main.editor.disableGlobalAnimate=false;
|
||||
main.editor.drawMapBg();
|
||||
main.editor.updateMap();
|
||||
core.setHeroMoveTriggerInterval();
|
||||
}
|
||||
var start = function(){
|
||||
var hard = 'Hard';
|
||||
core.resetStatus(core.firstData.hero, hard, core.firstData.floorId, core.initStatus.maps);
|
||||
core.changeFloor(core.status.floorId, null, core.firstData.hero.loc, null, function() {
|
||||
/* core.setHeroMoveTriggerInterval(); */
|
||||
//afterInit();
|
||||
afterInit();
|
||||
});
|
||||
core.events.setInitData(hard);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user