diff --git a/project/data.js b/project/data.js index be797b2..6f52790 100644 --- a/project/data.js +++ b/project/data.js @@ -1,967 +1,1045 @@ -var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = { - main: { - floorIds: [ - "Caimhome", - "jiuguan", - "KTV", - "KTVF2", - "goldkey", - "bihusuo", - "jiaotang", - "shengnvhome", - "shinvhome", - "jiedao", - "street01", - "street02", - "guangchang", - "guangchang2", - "xiaoxiang01", - "xiaoxiang02", - "xiaoxiang3", - "yiqu1", - "yiqu2", - "yiqu3", - "yiqu4", - "yiqu5", - "yiqu6", - "yiqu7", - "yiqu8", - "yiqu9", - "yiqu10", - ], - floorPartitions: [], - images: [ - "HPGaugeEnemy_A.webp", - "HPGaugeEnemy_B.webp", - "background.webp", - "backgroundvertical.webp", - "bg_1511.webp", - "bg_1521.webp", - "bg_2010.webp", - "bg_2011.webp", - "bg_2521.webp", - "bg_3042.webp", - "bg_3531.webp", - "bg_3551.webp", - "bg_3563.webp", - "bg_3571.webp", - "bg_3601.webp", - "bg_3721.webp", - "bg_5033.webp", - "bg_5043.webp", - "bg_5044.webp", - "bg_6004.webp", - "cao.webp", - "d.webp", - "dl.webp", - "dlr.webp", - "dr.webp", - "dragon.webp", - "eve_010102.webp", - "eve_010203.webp", - "eve_010304.webp", - "eve_010501.webp", - "eve_010601.webp", - "eve_010701.webp", - "eve_010801.webp", - "eve_010902.webp", - "eve_011001.webp", - "eve_011101.webp", - "eve_011202.webp", - "eve_011302.webp", - "eve_011402.webp", - "eve_020102.webp", - "eve_020201.webp", - "eve_020301.webp", - "eve_020401.webp", - "eve_020501.webp", - "eve_020605.webp", - "eve_020701.webp", - "eve_020801.webp", - "eve_030101.webp", - "eve_030206.webp", - "eve_030302.webp", - "eve_030508.webp", - "eve_030601.webp", - "eve_030801.webp", - "eve_030901.webp", - "eve_031002.webp", - "eve_031101.webp", - "eve_040201.webp", - "eve_040401.webp", - "eve_040501.webp", - "eve_040601.webp", - "eve_040702.webp", - "eve_040801.webp", - "eve_050101.webp", - "eve_050201.webp", - "eve_050401.webp", - "eve_050501.webp", - "eve_050601.webp", - "eve_050704.webp", - "eve_050801.webp", - "eve_070101.webp", - "face_020101.webp", - "face_020102.webp", - "face_020103.webp", - "face_020104.webp", - "face_020105.webp", - "face_020106.webp", - "face_020107.webp", - "face_020108.webp", - "face_020109.webp", - "face_020110.webp", - "face_020111.webp", - "face_020112.webp", - "face_020113.webp", - "face_020114.webp", - "face_020115.webp", - "face_020116.webp", - "face_020117.webp", - "face_020118.webp", - "face_020121.webp", - "face_020122.webp", - "face_020123.webp", - "face_020124.webp", - "face_020125.webp", - "face_020126.webp", - "face_020127.webp", - "face_020128.webp", - "face_020129.webp", - "face_020130.webp", - "face_020131.webp", - "face_020132.webp", - "face_020133.webp", - "face_020134.webp", - "face_020135.webp", - "face_020136.webp", - "face_020137.webp", - "face_020141.webp", - "face_020142.webp", - "face_020143.webp", - "face_020144.webp", - "face_020145.webp", - "face_020146.webp", - "face_020147.webp", - "face_020148.webp", - "face_020149.webp", - "face_020150.webp", - "face_020151.webp", - "face_020152.webp", - "face_020153.webp", - "face_020154.webp", - "face_020155.webp", - "face_020156.webp", - "face_020157.webp", - "face_020158.webp", - "face_020159.webp", - "face_050445.webp", - "face_120107.webp", - "green.webp", - "hero.webp", - "l.webp", - "lane1.webp", - "light.webp", - "lock.webp", - "lr.webp", - "maba.webp", - "null.webp", - "other_0001.webp", - "other_0002.webp", - "other_0003.webp", - "other_0004.webp", - "r.webp", - "status.webp", - "tati_020101.webp", - "tati_020101a.webp", - "tati_020101y.webp", - "tati_020102.webp", - "tati_020102a.webp", - "tati_020103.webp", - "tati_020103y.webp", - "tati_020104.webp", - "tati_020104a.webp", - "tati_020104y.webp", - "tati_020105.webp", - "tati_020105a.webp", - "tati_020105y.webp", - "tati_020106.webp", - "tati_020107.webp", - "tati_020107a.webp", - "tati_020107y.webp", - "tati_020109.webp", - "tati_020110.webp", - "tati_020111.webp", - "tati_020111a.webp", - "tati_020113.webp", - "tati_020113a.webp", - "tati_020114.webp", - "tati_020115.webp", - "tati_020115y.webp", - "tati_020116.webp", - "tati_020116a.webp", - "tati_020117.webp", - "tati_020117a.webp", - "tati_020118.webp", - "tati_020121a.webp", - "tati_020122.webp", - "tati_020123.webp", - "tati_020123y.webp", - "tati_020124.webp", - "tati_020124a.webp", - "tati_020125.webp", - "tati_020125a.webp", - "tati_020125y.webp", - "tati_020126.webp", - "tati_020126y.webp", - "tati_020127.webp", - "tati_020129.webp", - "tati_020130.webp", - "tati_020131.webp", - "tati_020131a.webp", - "tati_020131y.webp", - "tati_020132.webp", - "tati_020133.webp", - "tati_020134.webp", - "tati_020135.webp", - "tati_020135a.webp", - "tati_020136.webp", - "tati_020137.webp", - "tati_020141.webp", - "tati_020141a.webp", - "tati_020142.webp", - "tati_020142a.webp", - "tati_020142y.webp", - "tati_020143.webp", - "tati_020143y.webp", - "tati_020144.webp", - "tati_020144a.webp", - "tati_020145.webp", - "tati_020145a.webp", - "tati_020145y.webp", - "tati_020146.webp", - "tati_020147.webp", - "tati_020149.webp", - "tati_020150.webp", - "tati_020151.webp", - "tati_020151a.webp", - "tati_020152.webp", - "tati_020153.webp", - "tati_020154.webp", - "tati_020157.webp", - "tati_020157a.webp", - "tati_020158.webp", - "tati_050145a.webp", - "tati_120124.webp", - "u.webp", - "ud.webp", - "udl.webp", - "udlr.webp", - "udr.webp", - "ul.webp", - "ulr.webp", - "unknow.webp", - "ur.webp", - "winskin.webp", - "winskin1.webp", - ], - tilesets: [ - "magictower.webp", - "5.webp", - "4.webp", - "3.webp", - "2.webp", - "1.webp", - "11.webp", - "6.webp", - "12.webp", - "Outside_B.webp", - "C4.webp", - "C3.webp", - "C2.webp", - "C1.webp", - "IconSet.webp", - "9.webp", - "8.webp", - "7.webp", - "10.webp", - "C5.webp", - ], - animates: ["hand", "jianji", "sword", "thunder", "yongchang", "zone"], - 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", - "centerFly.mp3", - "confirm.mp3", - "cursor.mp3", - "door.mp3", - "equip.mp3", - "error.mp3", - "floor.mp3", - "gem.mp3", - "icePickaxe.mp3", - "item.mp3", - "jingbao.mp3", - "jump.mp3", - "load.mp3", - "open_ui.mp3", - "pickaxe.mp3", - "recovery.mp3", - "save.mp3", - "shop.mp3", - "zone.mp3", - ], - fonts: ["HATTEN", "number", "pala", "simhei"], - nameMap: { - 确定: "confirm.mp3", - 取消: "cancel.mp3", - 操作失败: "error.mp3", - 光标移动: "cursor.mp3", - 打开界面: "open_ui.mp3", - 读档: "load.mp3", - 存档: "save.mp3", - 获得道具: "item.mp3", - 回血: "recovery.mp3", - 炸弹: "bomb.mp3", - 飞行器: "centerFly.mp3", - 开关门: "door.mp3", - 上下楼: "floor.mp3", - 跳跃: "jump.mp3", - 破墙镐: "pickaxe.mp3", - 破冰镐: "icePickaxe.mp3", - 宝石: "gem.mp3", - 阻激夹域: "zone.mp3", - 穿脱装备: "equip.mp3", - 背景音乐: "bgm.mp3", - 攻击: "attack.mp3", - 背景图: "bg.webp", - 商店: "shop.mp3", - 领域: "zone", - }, - levelChoose: null, - equipName: ["武器", "武器", "防具", "饰品"], - startBgm: "theme.mp3", - styles: { - startBackground: "project/images/background.webp", - startVerticalBackground: "project/images/backgroundvertical.webp", - startLogoStyle: "color: black", - startButtonsStyle: - "background-color: #000000; opacity: 0.45; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", - statusLeftBackground: "url(project/materials/ground.webp) repeat", - statusTopBackground: "url(project/materials/ground.webp) repeat", - toolsBackground: "url(project/materials/ground.webp) repeat", - floorChangingStyle: "background-color: black; color: white", - statusBarColor: [255, 255, 255, 1], - borderColor: [204, 204, 204, 1], - selectColor: [255, 215, 0, 1], - font: "pala", - }, - splitImages: [ - { - name: "dragon.webp", - width: 384, - height: 96, - prefix: "dragon_", - }, - ], - }, - firstData: { - title: "秽翼的尤斯蒂娅", - name: "Eustia", - version: "鸽子窝造塔小队", - floorId: "street01", - hero: { - image: "hero.webp", - animate: false, - name: "Caim", - lv: 1, - hpmax: 9999, - hp: 1000, - manamax: -1, - mana: 0, - atk: 100, - def: 100, - mdef: 0, - money: 0, - exp: 0, - equipment: [], - items: { - constants: {}, - tools: {}, - equips: {}, - }, - loc: { - direction: "up", - x: 5, - y: 11, - }, - flags: { - itemDetail: true, - useBetweenLight: true, - }, - followers: [], - steps: 0, - matk: 0, - speed: 0, - str: 10, - agi: 10, - int: 10, - con: 10, - magic: false, - }, - startCanvas: [ - { - type: "comment", - text: "在这里可以用事件来自定义绘制标题界面的背景图等", - }, - { - type: "comment", - text: "也可以直接切换到其他楼层(比如某个开始剧情楼层)进行操作。", - }, - { - type: "previewUI", - action: [ - { - type: "fillRect", - x: 0, - y: 0, - width: "core._PX_ || core.__PIXELS__", - height: "core._PY_ || core.__PIXELS__", - style: [82, 82, 82, 1], - }, - { - type: "setAttribute", - align: "center", - }, - { - type: "fillBoldText", - x: "(core._PX_ || core.__PIXELS__) / 2", - y: 80, - style: [255, 255, 255, 1], - strokeStyle: [0, 0, 0, 1], - font: "bold 40px Verdana", - text: "${core.firstData.title}", - }, - ], - }, - { - type: "setValue", - name: "flag:selection", - value: "0", - }, - { - type: "comment", - text: "在右下方自绘一个对话框进行显示选择项", - }, - { - type: "previewUI", - action: [ - { - type: "fillRect", - x: 230, - y: 250, - width: 150, - height: 142, - radius: 10, - style: [50, 54, 159, 0.85], - }, - { - type: "strokeRect", - x: 230, - y: 250, - width: 150, - height: 142, - radius: 10, - style: [255, 255, 255, 1], - lineWidth: 2, - }, - { - type: "fillBoldText", - x: 305, - y: 290, - style: [255, 255, 255, 1], - font: "bold 25px Verdana", - text: "开始游戏", - }, - { - type: "fillBoldText", - x: 305, - y: 330, - font: "bold 25px Verdana", - text: "读取存档", - }, - { - type: "fillBoldText", - x: 305, - y: 370, - font: "bold 25px Verdana", - text: "回放录像", - }, - ], - }, - { - type: "while", - condition: "1", - data: [ - { - type: "drawSelector", - image: "winskin.webp", - code: 1, - x: 245, - y: "261 + 40*flag:selection", - width: 120, - height: 40, - }, - { - type: "wait", - data: [ - { - case: "keyboard", - keycode: "13,32", - break: true, - action: [ - { - type: "switch", - condition: "flag:selection", - caseList: [ - { - case: "0", - action: [ - { - type: "comment", - text: "在“开始游戏”确定", - }, - { - type: "break", - n: 1, - }, - ], - }, - { - case: "1", - action: [ - { - type: "comment", - text: "在“读取存档”确定", - }, - { - type: "callLoad", - }, - ], - }, - { - case: "2", - action: [ - { - type: "comment", - text: "在“回放录像”确定", - }, - { - type: "if", - condition: "(!core.isReplaying())", - true: [ - { - type: "function", - function: - "function(){\ncore.chooseReplayFile()\n}", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - case: "keyboard", - keycode: "38", - break: true, - action: [ - { - type: "comment", - text: "光标上键", - }, - { - type: "setValue", - name: "flag:selection", - value: "(flag:selection + 2) % 3", - }, - ], - }, - { - case: "keyboard", - keycode: "40", - break: true, - action: [ - { - type: "comment", - text: "光标下键", - }, - { - type: "setValue", - name: "flag:selection", - value: "(flag:selection + 1) % 3", - }, - ], - }, - { - case: "mouse", - px: [245, 365], - py: [261, 300], - break: true, - action: [ - { - type: "comment", - text: "点击“开始游戏”", - }, - { - type: "break", - n: 1, - }, - ], - }, - { - case: "mouse", - px: [245, 365], - py: [301, 340], - break: true, - action: [ - { - type: "comment", - text: "点击“读取存档”", - }, - { - type: "callLoad", - }, - ], - }, - { - case: "mouse", - px: [245, 365], - py: [341, 380], - break: true, - action: [ - { - type: "comment", - text: "点击“播放录像”", - }, - { - type: "if", - condition: "(!core.isReplaying())", - true: [ - { - type: "function", - function: "function(){\ncore.chooseReplayFile()\n}", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - type: "setValue", - name: "flag:selection", - value: "null", - }, - { - type: "drawSelector", - code: 1, - }, - { - type: "clearMap", - }, - { - type: "function", - function: "function(){\ncore.control.checkBgm()\n}", - }, - { - type: "if", - condition: "(main.levelChoose.length == 0)", - true: [ - { - type: "comment", - text: "没有难度选择:直接开始游戏", - }, - ], - false: [ - { - type: "comment", - text: "难度选择:作为样例,这里只提供了一个显示选择项。", - }, - { - type: "function", - function: - 'function(){\nvar choices = [];\nmain.levelChoose.forEach(function (one) {\n\tchoices.push({\n\t\t"text": one.title || \'\',\n\t\t"action": [\n\t\t\t{ "type": "function", "function": "function() { core.status.hard = \'" + (one.name || \'\') + "\'; }" }\n\t\t]\n\t});\n})\ncore.insertAction({ "type": "choices", "choices": choices });\n}', - }, - { - type: "comment", - text: "你也可以仿照上面的样例进行自己创建等待用户操作来处理不同的难度分歧。\n如需自己处理,请设置 core.status.hard \n(例如,自定义js脚本:core.status.hard = 'Easy' )", - }, - ], - }, - { - type: "clearMap", - }, - { - type: "comment", - text: "接下来会执行startText中的事件", - }, - { - type: "comment", - text: "状态栏默认处于隐藏状态;可以使用“显示状态栏”事件进行显示。", - }, - ], - startText: [ - { - type: "setValue", - name: "item:book", - value: "1", - }, - { - type: "setValue", - name: "item:fly", - value: "1", - }, - ], - shops: [ - { - id: "shop1", - text: "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:", - textInList: "1F金币商店", - mustEnable: false, - disablePreview: false, - choices: [ - { - text: "生命+800", - need: "status:money>=20+2*flag:shop1", - action: [ - { - type: "comment", - text: "新版商店中需要手动扣减金币和增加访问次数", - }, - { - type: "setValue", - name: "status:money", - operator: "-=", - value: "20+2*flag:shop1", - }, - { - type: "setValue", - name: "flag:shop1", - operator: "+=", - value: "1", - }, - { - type: "setValue", - name: "status:hp", - operator: "+=", - value: "800", - }, - ], - }, - { - text: "攻击+4", - need: "status:money>=20+2*flag:shop1", - action: [ - { - type: "comment", - text: "新版商店中需要手动扣减金币和增加访问次数", - }, - { - type: "setValue", - name: "status:money", - operator: "-=", - value: "20+2*flag:shop1", - }, - { - type: "setValue", - name: "flag:shop1", - operator: "+=", - value: "1", - }, - { - type: "setValue", - name: "status:atk", - operator: "+=", - value: "4", - }, - ], - }, - ], - }, - { - id: "shop2", - text: "\t[贪婪之神,expShop]勇敢的武士啊, 给我一定经验就可以:", - textInList: "1F经验商店", - mustEnable: false, - disablePreview: true, - choices: [ - { - text: "等级+1(100经验)", - need: "status:exp>=100", - action: [ - { - type: "setValue", - name: "status:exp", - operator: "-=", - value: "100", - }, - { - type: "setValue", - name: "status:lv", - operator: "+=", - value: "1", - }, - { - type: "setValue", - name: "status:hp", - operator: "+=", - value: "1000", - }, - ], - }, - ], - }, - { - id: "itemShop", - item: true, - textInList: "道具商店", - use: "money", - mustEnable: false, - choices: [ - { - id: "yellowKey", - number: 10, - money: "10", - sell: "5", - }, - ], - }, - { - id: "keyShop", - textInList: "回收钥匙商店", - mustEnable: false, - commonEvent: "回收钥匙商店", - }, - ], - levelUp: [ - { - need: "0", - title: "", - action: [ - { - type: "comment", - text: "此处是初始等级,只需填写称号", - }, - ], - }, - { - need: "20", - title: "", - action: [ - { - type: "setValue", - name: "status:atk", - operator: "+=", - value: "10", - }, - { - type: "setValue", - name: "status:def", - operator: "+=", - value: "10", - }, - ], - }, - { - need: "40", - title: "", - action: [ - { - type: "tip", - text: "恭喜升级", - }, - ], - }, - ], - }, - values: { - lavaDamage: 100, - poisonDamage: 10, - weakValue: 20, - redGem: 3, - blueGem: 3, - greenGem: 5, - redPotion: 100, - bluePotion: 250, - yellowPotion: 500, - greenPotion: 800, - breakArmor: 0.9, - counterAttack: 0.1, - purify: 3, - hatred: 2, - animateSpeed: 300, - moveSpeed: 100, - statusCanvasRowsOnMobile: 3, - floorChangeTime: 500, - }, - flags: { - statusBarItems: [ - "enableFloor", - "enableLv", - "enableHP", - "enableMana", - "enableAtk", - "enableDef", - "enableMDef", - "enableMoney", - "enableExp", - "enableKeys", - "enablePZF", - "enableSkill", - ], - autoScale: true, - extendToolbar: false, - flyNearStair: false, - flyRecordPosition: true, - itemFirstText: false, - equipboxButton: false, - enableAddPoint: false, - enableNegativeDamage: false, - betweenAttackMax: false, - useLoop: true, - startUsingCanvas: false, - statusCanvas: false, - enableEnemyPoint: true, - enableGentleClick: true, - ignoreChangeFloor: true, - canGoDeadZone: false, - enableMoveDirectly: true, - enableRouteFolding: true, - disableShopOnDamage: false, - blurFg: true, - hideLeftStatusBar: false, - }, -}; +var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = +{ + "main": { + "floorIds": [ + "Caimhome", + "jiuguan", + "KTV", + "KTVF2", + "goldkey", + "bihusuo", + "jiaotang", + "shengnvhome", + "shinvhome", + "jiedao", + "street01", + "street02", + "guangchang", + "guangchang2", + "xiaoxiang01", + "xiaoxiang02", + "xiaoxiang3", + "yiqu1", + "yiqu2", + "yiqu3", + "yiqu4", + "yiqu5", + "yiqu6", + "yiqu7", + "yiqu8", + "yiqu9", + "yiqu10" + ], + "floorPartitions": [], + "images": [ + "HPGaugeEnemy_A.webp", + "HPGaugeEnemy_B.webp", + "background.webp", + "backgroundvertical.webp", + "bg_1511.webp", + "bg_1521.webp", + "bg_2010.webp", + "bg_2011.webp", + "bg_2521.webp", + "bg_3042.webp", + "bg_3531.webp", + "bg_3551.webp", + "bg_3563.webp", + "bg_3571.webp", + "bg_3601.webp", + "bg_3721.webp", + "bg_5033.webp", + "bg_5043.webp", + "bg_5044.webp", + "bg_6004.webp", + "cao.webp", + "d.webp", + "dl.webp", + "dlr.webp", + "dr.webp", + "dragon.webp", + "eve_010102.webp", + "eve_010203.webp", + "eve_010304.webp", + "eve_010501.webp", + "eve_010601.webp", + "eve_010701.webp", + "eve_010801.webp", + "eve_010902.webp", + "eve_011001.webp", + "eve_011101.webp", + "eve_011202.webp", + "eve_011302.webp", + "eve_011402.webp", + "eve_020102.webp", + "eve_020201.webp", + "eve_020301.webp", + "eve_020401.webp", + "eve_020501.webp", + "eve_020605.webp", + "eve_020701.webp", + "eve_020801.webp", + "eve_030101.webp", + "eve_030206.webp", + "eve_030302.webp", + "eve_030508.webp", + "eve_030601.webp", + "eve_030801.webp", + "eve_030901.webp", + "eve_031002.webp", + "eve_031101.webp", + "eve_040201.webp", + "eve_040401.webp", + "eve_040501.webp", + "eve_040601.webp", + "eve_040702.webp", + "eve_040801.webp", + "eve_050101.webp", + "eve_050201.webp", + "eve_050401.webp", + "eve_050501.webp", + "eve_050601.webp", + "eve_050704.webp", + "eve_050801.webp", + "eve_070101.webp", + "face_020101.webp", + "face_020102.webp", + "face_020103.webp", + "face_020104.webp", + "face_020105.webp", + "face_020106.webp", + "face_020107.webp", + "face_020108.webp", + "face_020109.webp", + "face_020110.webp", + "face_020111.webp", + "face_020112.webp", + "face_020113.webp", + "face_020114.webp", + "face_020115.webp", + "face_020116.webp", + "face_020117.webp", + "face_020118.webp", + "face_020121.webp", + "face_020122.webp", + "face_020123.webp", + "face_020124.webp", + "face_020125.webp", + "face_020126.webp", + "face_020127.webp", + "face_020128.webp", + "face_020129.webp", + "face_020130.webp", + "face_020131.webp", + "face_020132.webp", + "face_020133.webp", + "face_020134.webp", + "face_020135.webp", + "face_020136.webp", + "face_020137.webp", + "face_020141.webp", + "face_020142.webp", + "face_020143.webp", + "face_020144.webp", + "face_020145.webp", + "face_020146.webp", + "face_020147.webp", + "face_020148.webp", + "face_020149.webp", + "face_020150.webp", + "face_020151.webp", + "face_020152.webp", + "face_020153.webp", + "face_020154.webp", + "face_020155.webp", + "face_020156.webp", + "face_020157.webp", + "face_020158.webp", + "face_020159.webp", + "face_050445.webp", + "face_120107.webp", + "green.webp", + "hero.webp", + "l.webp", + "lane1.webp", + "light.webp", + "lock.webp", + "lr.webp", + "maba.webp", + "null.webp", + "other_0001.webp", + "other_0002.webp", + "other_0003.webp", + "other_0004.webp", + "r.webp", + "status.webp", + "tati_020101.webp", + "tati_020101a.webp", + "tati_020101y.webp", + "tati_020102.webp", + "tati_020102a.webp", + "tati_020103.webp", + "tati_020103y.webp", + "tati_020104.webp", + "tati_020104a.webp", + "tati_020104y.webp", + "tati_020105.webp", + "tati_020105a.webp", + "tati_020105y.webp", + "tati_020106.webp", + "tati_020107.webp", + "tati_020107a.webp", + "tati_020107y.webp", + "tati_020109.webp", + "tati_020110.webp", + "tati_020111.webp", + "tati_020111a.webp", + "tati_020113.webp", + "tati_020113a.webp", + "tati_020114.webp", + "tati_020115.webp", + "tati_020115y.webp", + "tati_020116.webp", + "tati_020116a.webp", + "tati_020117.webp", + "tati_020117a.webp", + "tati_020118.webp", + "tati_020121a.webp", + "tati_020122.webp", + "tati_020123.webp", + "tati_020123y.webp", + "tati_020124.webp", + "tati_020124a.webp", + "tati_020125.webp", + "tati_020125a.webp", + "tati_020125y.webp", + "tati_020126.webp", + "tati_020126y.webp", + "tati_020127.webp", + "tati_020129.webp", + "tati_020130.webp", + "tati_020131.webp", + "tati_020131a.webp", + "tati_020131y.webp", + "tati_020132.webp", + "tati_020133.webp", + "tati_020134.webp", + "tati_020135.webp", + "tati_020135a.webp", + "tati_020136.webp", + "tati_020137.webp", + "tati_020141.webp", + "tati_020141a.webp", + "tati_020142.webp", + "tati_020142a.webp", + "tati_020142y.webp", + "tati_020143.webp", + "tati_020143y.webp", + "tati_020144.webp", + "tati_020144a.webp", + "tati_020145.webp", + "tati_020145a.webp", + "tati_020145y.webp", + "tati_020146.webp", + "tati_020147.webp", + "tati_020149.webp", + "tati_020150.webp", + "tati_020151.webp", + "tati_020151a.webp", + "tati_020152.webp", + "tati_020153.webp", + "tati_020154.webp", + "tati_020157.webp", + "tati_020157a.webp", + "tati_020158.webp", + "tati_050145a.webp", + "tati_120124.webp", + "u.webp", + "ud.webp", + "udl.webp", + "udlr.webp", + "udr.webp", + "ul.webp", + "ulr.webp", + "unknow.webp", + "ur.webp", + "winskin.webp", + "winskin1.webp" + ], + "tilesets": [ + "magictower.webp", + "5.webp", + "4.webp", + "3.webp", + "2.webp", + "1.webp", + "11.webp", + "6.webp", + "12.webp", + "Outside_B.webp", + "C4.webp", + "C3.webp", + "C2.webp", + "C1.webp", + "IconSet.webp", + "9.webp", + "8.webp", + "7.webp", + "10.webp", + "C5.webp" + ], + "animates": [ + "hand", + "jianji", + "sword", + "thunder", + "yongchang", + "zone" + ], + "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", + "centerFly.mp3", + "confirm.mp3", + "cursor.mp3", + "door.mp3", + "equip.mp3", + "error.mp3", + "floor.mp3", + "gem.mp3", + "icePickaxe.mp3", + "item.mp3", + "jingbao.mp3", + "jump.mp3", + "load.mp3", + "open_ui.mp3", + "pickaxe.mp3", + "recovery.mp3", + "save.mp3", + "shop.mp3", + "zone.mp3" + ], + "fonts": [ + "HATTEN", + "number", + "pala", + "simhei" + ], + "nameMap": { + "确定": "confirm.mp3", + "取消": "cancel.mp3", + "操作失败": "error.mp3", + "光标移动": "cursor.mp3", + "打开界面": "open_ui.mp3", + "读档": "load.mp3", + "存档": "save.mp3", + "获得道具": "item.mp3", + "回血": "recovery.mp3", + "炸弹": "bomb.mp3", + "飞行器": "centerFly.mp3", + "开关门": "door.mp3", + "上下楼": "floor.mp3", + "跳跃": "jump.mp3", + "破墙镐": "pickaxe.mp3", + "破冰镐": "icePickaxe.mp3", + "宝石": "gem.mp3", + "阻激夹域": "zone.mp3", + "穿脱装备": "equip.mp3", + "背景音乐": "bgm.mp3", + "攻击": "attack.mp3", + "背景图": "bg.webp", + "商店": "shop.mp3", + "领域": "zone" + }, + "levelChoose": null, + "equipName": [ + "武器", + "武器", + "防具", + "饰品" + ], + "startBgm": "theme.mp3", + "styles": { + "startBackground": "project/images/background.webp", + "startVerticalBackground": "project/images/backgroundvertical.webp", + "startLogoStyle": "color: black", + "startButtonsStyle": "background-color: #000000; opacity: 0.45; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", + "statusLeftBackground": "url(project/materials/ground.webp) repeat", + "statusTopBackground": "url(project/materials/ground.webp) repeat", + "toolsBackground": "url(project/materials/ground.webp) repeat", + "floorChangingStyle": "background-color: black; color: white", + "statusBarColor": [ + 255, + 255, + 255, + 1 + ], + "borderColor": [ + 204, + 204, + 204, + 1 + ], + "selectColor": [ + 255, + 215, + 0, + 1 + ], + "font": "pala" + }, + "splitImages": [ + { + "name": "dragon.webp", + "width": 384, + "height": 96, + "prefix": "dragon_" + } + ] + }, + "firstData": { + "title": "秽翼的尤斯蒂娅", + "name": "Eustia", + "version": "鸽子窝造塔小队", + "floorId": "street01", + "hero": { + "image": "hero.webp", + "animate": false, + "name": "Caim", + "lv": 1, + "hpmax": 9999, + "hp": 1000, + "manamax": -1, + "mana": 0, + "atk": 100, + "def": 100, + "mdef": 0, + "money": 0, + "exp": 0, + "equipment": [], + "items": { + "constants": {}, + "tools": {}, + "equips": {} + }, + "loc": { + "direction": "up", + "x": 5, + "y": 11 + }, + "flags": { + "itemDetail": true, + "useBetweenLight": true + }, + "followers": [], + "steps": 0, + "matk": 0, + "speed": 0, + "str": 10, + "agi": 10, + "int": 10, + "con": 10, + "magic": false + }, + "startCanvas": [ + { + "type": "comment", + "text": "在这里可以用事件来自定义绘制标题界面的背景图等" + }, + { + "type": "comment", + "text": "也可以直接切换到其他楼层(比如某个开始剧情楼层)进行操作。" + }, + { + "type": "previewUI", + "action": [ + { + "type": "fillRect", + "x": 0, + "y": 0, + "width": "core._PX_ || core.__PIXELS__", + "height": "core._PY_ || core.__PIXELS__", + "style": [ + 82, + 82, + 82, + 1 + ] + }, + { + "type": "setAttribute", + "align": "center" + }, + { + "type": "fillBoldText", + "x": "(core._PX_ || core.__PIXELS__) / 2", + "y": 80, + "style": [ + 255, + 255, + 255, + 1 + ], + "strokeStyle": [ + 0, + 0, + 0, + 1 + ], + "font": "bold 40px Verdana", + "text": "${core.firstData.title}" + } + ] + }, + { + "type": "setValue", + "name": "flag:selection", + "value": "0" + }, + { + "type": "comment", + "text": "在右下方自绘一个对话框进行显示选择项" + }, + { + "type": "previewUI", + "action": [ + { + "type": "fillRect", + "x": 230, + "y": 250, + "width": 150, + "height": 142, + "radius": 10, + "style": [ + 50, + 54, + 159, + 0.85 + ] + }, + { + "type": "strokeRect", + "x": 230, + "y": 250, + "width": 150, + "height": 142, + "radius": 10, + "style": [ + 255, + 255, + 255, + 1 + ], + "lineWidth": 2 + }, + { + "type": "fillBoldText", + "x": 305, + "y": 290, + "style": [ + 255, + 255, + 255, + 1 + ], + "font": "bold 25px Verdana", + "text": "开始游戏" + }, + { + "type": "fillBoldText", + "x": 305, + "y": 330, + "font": "bold 25px Verdana", + "text": "读取存档" + }, + { + "type": "fillBoldText", + "x": 305, + "y": 370, + "font": "bold 25px Verdana", + "text": "回放录像" + } + ] + }, + { + "type": "while", + "condition": "1", + "data": [ + { + "type": "drawSelector", + "image": "winskin.webp", + "code": 1, + "x": 245, + "y": "261 + 40*flag:selection", + "width": 120, + "height": 40 + }, + { + "type": "wait", + "data": [ + { + "case": "keyboard", + "keycode": "13,32", + "break": true, + "action": [ + { + "type": "switch", + "condition": "flag:selection", + "caseList": [ + { + "case": "0", + "action": [ + { + "type": "comment", + "text": "在“开始游戏”确定" + }, + { + "type": "break", + "n": 1 + } + ] + }, + { + "case": "1", + "action": [ + { + "type": "comment", + "text": "在“读取存档”确定" + }, + { + "type": "callLoad" + } + ] + }, + { + "case": "2", + "action": [ + { + "type": "comment", + "text": "在“回放录像”确定" + }, + { + "type": "if", + "condition": "(!core.isReplaying())", + "true": [ + { + "type": "function", + "function": "function(){\ncore.chooseReplayFile()\n}" + } + ] + } + ] + } + ] + } + ] + }, + { + "case": "keyboard", + "keycode": "38", + "break": true, + "action": [ + { + "type": "comment", + "text": "光标上键" + }, + { + "type": "setValue", + "name": "flag:selection", + "value": "(flag:selection + 2) % 3" + } + ] + }, + { + "case": "keyboard", + "keycode": "40", + "break": true, + "action": [ + { + "type": "comment", + "text": "光标下键" + }, + { + "type": "setValue", + "name": "flag:selection", + "value": "(flag:selection + 1) % 3" + } + ] + }, + { + "case": "mouse", + "px": [ + 245, + 365 + ], + "py": [ + 261, + 300 + ], + "break": true, + "action": [ + { + "type": "comment", + "text": "点击“开始游戏”" + }, + { + "type": "break", + "n": 1 + } + ] + }, + { + "case": "mouse", + "px": [ + 245, + 365 + ], + "py": [ + 301, + 340 + ], + "break": true, + "action": [ + { + "type": "comment", + "text": "点击“读取存档”" + }, + { + "type": "callLoad" + } + ] + }, + { + "case": "mouse", + "px": [ + 245, + 365 + ], + "py": [ + 341, + 380 + ], + "break": true, + "action": [ + { + "type": "comment", + "text": "点击“播放录像”" + }, + { + "type": "if", + "condition": "(!core.isReplaying())", + "true": [ + { + "type": "function", + "function": "function(){\ncore.chooseReplayFile()\n}" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "setValue", + "name": "flag:selection", + "value": "null" + }, + { + "type": "drawSelector", + "code": 1 + }, + { + "type": "clearMap" + }, + { + "type": "function", + "function": "function(){\ncore.control.checkBgm()\n}" + }, + { + "type": "if", + "condition": "(main.levelChoose.length == 0)", + "true": [ + { + "type": "comment", + "text": "没有难度选择:直接开始游戏" + } + ], + "false": [ + { + "type": "comment", + "text": "难度选择:作为样例,这里只提供了一个显示选择项。" + }, + { + "type": "function", + "function": "function(){\nvar choices = [];\nmain.levelChoose.forEach(function (one) {\n\tchoices.push({\n\t\t\"text\": one.title || '',\n\t\t\"action\": [\n\t\t\t{ \"type\": \"function\", \"function\": \"function() { core.status.hard = '\" + (one.name || '') + \"'; }\" }\n\t\t]\n\t});\n})\ncore.insertAction({ \"type\": \"choices\", \"choices\": choices });\n}" + }, + { + "type": "comment", + "text": "你也可以仿照上面的样例进行自己创建等待用户操作来处理不同的难度分歧。\n如需自己处理,请设置 core.status.hard \n(例如,自定义js脚本:core.status.hard = 'Easy' )" + } + ] + }, + { + "type": "clearMap" + }, + { + "type": "comment", + "text": "接下来会执行startText中的事件" + }, + { + "type": "comment", + "text": "状态栏默认处于隐藏状态;可以使用“显示状态栏”事件进行显示。" + } + ], + "startText": [ + { + "type": "setValue", + "name": "item:book", + "value": "1" + }, + { + "type": "setValue", + "name": "item:fly", + "value": "1" + } + ], + "shops": [ + { + "id": "shop1", + "text": "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:", + "textInList": "1F金币商店", + "mustEnable": false, + "disablePreview": false, + "choices": [ + { + "text": "生命+800", + "need": "status:money>=20+2*flag:shop1", + "action": [ + { + "type": "comment", + "text": "新版商店中需要手动扣减金币和增加访问次数" + }, + { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "20+2*flag:shop1" + }, + { + "type": "setValue", + "name": "flag:shop1", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "status:hp", + "operator": "+=", + "value": "800" + } + ] + }, + { + "text": "攻击+4", + "need": "status:money>=20+2*flag:shop1", + "action": [ + { + "type": "comment", + "text": "新版商店中需要手动扣减金币和增加访问次数" + }, + { + "type": "setValue", + "name": "status:money", + "operator": "-=", + "value": "20+2*flag:shop1" + }, + { + "type": "setValue", + "name": "flag:shop1", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "status:atk", + "operator": "+=", + "value": "4" + } + ] + } + ] + }, + { + "id": "shop2", + "text": "\t[贪婪之神,expShop]勇敢的武士啊, 给我一定经验就可以:", + "textInList": "1F经验商店", + "mustEnable": false, + "disablePreview": true, + "choices": [ + { + "text": "等级+1(100经验)", + "need": "status:exp>=100", + "action": [ + { + "type": "setValue", + "name": "status:exp", + "operator": "-=", + "value": "100" + }, + { + "type": "setValue", + "name": "status:lv", + "operator": "+=", + "value": "1" + }, + { + "type": "setValue", + "name": "status:hp", + "operator": "+=", + "value": "1000" + } + ] + } + ] + }, + { + "id": "itemShop", + "item": true, + "textInList": "道具商店", + "use": "money", + "mustEnable": false, + "choices": [ + { + "id": "yellowKey", + "number": 10, + "money": "10", + "sell": "5" + } + ] + }, + { + "id": "keyShop", + "textInList": "回收钥匙商店", + "mustEnable": false, + "commonEvent": "回收钥匙商店" + } + ], + "levelUp": [ + { + "need": "0", + "title": "", + "action": [ + { + "type": "comment", + "text": "此处是初始等级,只需填写称号" + } + ] + }, + { + "need": "20", + "title": "", + "action": [ + { + "type": "setValue", + "name": "status:atk", + "operator": "+=", + "value": "10" + }, + { + "type": "setValue", + "name": "status:def", + "operator": "+=", + "value": "10" + } + ] + }, + { + "need": "40", + "title": "", + "action": [ + { + "type": "tip", + "text": "恭喜升级" + } + ] + } + ] + }, + "values": { + "lavaDamage": 100, + "poisonDamage": 10, + "weakValue": 20, + "redGem": 3, + "blueGem": 3, + "greenGem": 5, + "redPotion": 100, + "bluePotion": 250, + "yellowPotion": 500, + "greenPotion": 800, + "breakArmor": 0.9, + "counterAttack": 0.1, + "purify": 3, + "hatred": 2, + "animateSpeed": 300, + "moveSpeed": 100, + "statusCanvasRowsOnMobile": 3, + "floorChangeTime": 500 + }, + "flags": { + "statusBarItems": [ + "enableFloor", + "enableLv", + "enableHP", + "enableMana", + "enableAtk", + "enableDef", + "enableMDef", + "enableMoney", + "enableExp", + "enableKeys", + "enablePZF", + "enableSkill" + ], + "autoScale": true, + "extendToolbar": false, + "flyNearStair": false, + "flyRecordPosition": true, + "itemFirstText": false, + "equipboxButton": false, + "enableAddPoint": false, + "enableNegativeDamage": false, + "betweenAttackMax": false, + "useLoop": true, + "startUsingCanvas": false, + "statusCanvas": false, + "enableEnemyPoint": true, + "enableGentleClick": true, + "ignoreChangeFloor": true, + "canGoDeadZone": false, + "enableMoveDirectly": true, + "enableRouteFolding": true, + "disableShopOnDamage": false, + "blurFg": true, + "hideLeftStatusBar": false + } +} \ No newline at end of file