├── src ├── Word.ttf ├── Res │ ├── Door1.png │ ├── Door2.png │ ├── Door3.png │ ├── Door4.png │ ├── Floor.png │ ├── Gem.png │ ├── Hero.png │ ├── Item1.png │ ├── Item2.png │ ├── Item3.png │ ├── Lava.png │ ├── MaYun.gif │ ├── Name.png │ ├── Npc1.png │ ├── Npc2.png │ ├── Npc3.png │ ├── Stair.png │ ├── Star.png │ ├── Store.png │ ├── Water.png │ ├── Battle1.png │ ├── Enemy1.png │ ├── Enemy10.png │ ├── Enemy11.png │ ├── Enemy12.png │ ├── Enemy13.png │ ├── Enemy14.png │ ├── Enemy15.png │ ├── Enemy2.png │ ├── Enemy3.png │ ├── Enemy4.png │ ├── Enemy5.png │ ├── Enemy6.png │ ├── Enemy7.png │ ├── Enemy8.png │ ├── Enemy9.png │ ├── GoFloor.png │ ├── Memory.png │ ├── Pencil.png │ ├── Terrain.png │ ├── Upload.png │ ├── Weapon.png │ ├── Controller.png │ ├── EnemyBook.png │ ├── Controller2.png │ ├── Paintroller.png │ ├── Enemy1_1463478978966.png │ ├── Enemy1_1463479095726.png │ ├── Switchs.js │ ├── Enemys.js │ ├── Items.js │ ├── IconsData.js │ ├── Maps.js │ └── Events.js ├── favicon.ico ├── index.html └── Layout.css ├── Dockerfile ├── README.md └── .github └── workflows ├── docker-dockerhub.yml └── docker-github.yml /src/Word.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Word.ttf -------------------------------------------------------------------------------- /src/Res/Door1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Door1.png -------------------------------------------------------------------------------- /src/Res/Door2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Door2.png -------------------------------------------------------------------------------- /src/Res/Door3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Door3.png -------------------------------------------------------------------------------- /src/Res/Door4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Door4.png -------------------------------------------------------------------------------- /src/Res/Floor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Floor.png -------------------------------------------------------------------------------- /src/Res/Gem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Gem.png -------------------------------------------------------------------------------- /src/Res/Hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Hero.png -------------------------------------------------------------------------------- /src/Res/Item1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Item1.png -------------------------------------------------------------------------------- /src/Res/Item2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Item2.png -------------------------------------------------------------------------------- /src/Res/Item3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Item3.png -------------------------------------------------------------------------------- /src/Res/Lava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Lava.png -------------------------------------------------------------------------------- /src/Res/MaYun.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/MaYun.gif -------------------------------------------------------------------------------- /src/Res/Name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Name.png -------------------------------------------------------------------------------- /src/Res/Npc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Npc1.png -------------------------------------------------------------------------------- /src/Res/Npc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Npc2.png -------------------------------------------------------------------------------- /src/Res/Npc3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Npc3.png -------------------------------------------------------------------------------- /src/Res/Stair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Stair.png -------------------------------------------------------------------------------- /src/Res/Star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Star.png -------------------------------------------------------------------------------- /src/Res/Store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Store.png -------------------------------------------------------------------------------- /src/Res/Water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Water.png -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/favicon.ico -------------------------------------------------------------------------------- /src/Res/Battle1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Battle1.png -------------------------------------------------------------------------------- /src/Res/Enemy1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy1.png -------------------------------------------------------------------------------- /src/Res/Enemy10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy10.png -------------------------------------------------------------------------------- /src/Res/Enemy11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy11.png -------------------------------------------------------------------------------- /src/Res/Enemy12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy12.png -------------------------------------------------------------------------------- /src/Res/Enemy13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy13.png -------------------------------------------------------------------------------- /src/Res/Enemy14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy14.png -------------------------------------------------------------------------------- /src/Res/Enemy15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy15.png -------------------------------------------------------------------------------- /src/Res/Enemy2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy2.png -------------------------------------------------------------------------------- /src/Res/Enemy3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy3.png -------------------------------------------------------------------------------- /src/Res/Enemy4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy4.png -------------------------------------------------------------------------------- /src/Res/Enemy5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy5.png -------------------------------------------------------------------------------- /src/Res/Enemy6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy6.png -------------------------------------------------------------------------------- /src/Res/Enemy7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy7.png -------------------------------------------------------------------------------- /src/Res/Enemy8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy8.png -------------------------------------------------------------------------------- /src/Res/Enemy9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy9.png -------------------------------------------------------------------------------- /src/Res/GoFloor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/GoFloor.png -------------------------------------------------------------------------------- /src/Res/Memory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Memory.png -------------------------------------------------------------------------------- /src/Res/Pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Pencil.png -------------------------------------------------------------------------------- /src/Res/Terrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Terrain.png -------------------------------------------------------------------------------- /src/Res/Upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Upload.png -------------------------------------------------------------------------------- /src/Res/Weapon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Weapon.png -------------------------------------------------------------------------------- /src/Res/Controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Controller.png -------------------------------------------------------------------------------- /src/Res/EnemyBook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/EnemyBook.png -------------------------------------------------------------------------------- /src/Res/Controller2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Controller2.png -------------------------------------------------------------------------------- /src/Res/Paintroller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Paintroller.png -------------------------------------------------------------------------------- /src/Res/Enemy1_1463478978966.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy1_1463478978966.png -------------------------------------------------------------------------------- /src/Res/Enemy1_1463479095726.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game/master/src/Res/Enemy1_1463479095726.png -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | ENV PROJECT_ENV production 4 | 5 | ENV NODE_ENV production 6 | WORKDIR /app 7 | ADD . /app 8 | RUN npm install -g http-server --registry https://registry.npm.taobao.org/ 9 | EXPOSE 80 10 | 11 | CMD http-server ./src -p 80 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 2022 HGAME WEEK1 Classic Childhood Game 2 | 3 | > 兔兔最近迷上了一个纯前端实现的网页小游戏,但是好像有点难玩,快帮兔兔通关游戏! 4 | 5 | 本项目使用动态flag,请使用`$FLAG`环境变量传入flag数据(如`CTFd`),题目环境位于`80`端口 6 | 7 | flag: hgame{fUnnyJavascript&FunnyM0taG4me} 8 | 9 | docker镜像发布于DockerHub:`randark/2023-hgame-week1-web-classic_childhood_game:master` 10 | 11 | 源码储存于Github:https://github.com/CTF-Archives/2023-hgame-week1-web-classic_childhood_game 12 | 13 | 原作者信息:https://github.com/ek1ng/My-CTF-Challenges/tree/main/HGAME2023-Classic%20Childhood%20Game -------------------------------------------------------------------------------- /.github/workflows/docker-dockerhub.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image to Dockerhub 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | push_to_registry: 11 | name: Push Docker image to Docker Hub 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Check out the repo 15 | uses: actions/checkout@v3 16 | 17 | - name: Log in to Docker Hub 18 | uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 19 | with: 20 | username: ${{ secrets.DOCKER_USERNAME }} 21 | password: ${{ secrets.DOCKER_PASSWORD }} 22 | 23 | - name: Extract metadata (tags, labels) for Docker 24 | id: meta 25 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 26 | with: 27 | images: randark/2023-hgame-week1-web-classic_childhood_game 28 | 29 | - name: Build and push Docker image 30 | uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 31 | with: 32 | context: . 33 | push: true 34 | tags: ${{ steps.meta.outputs.tags }} 35 | labels: ${{ steps.meta.outputs.labels }} 36 | - name: Docker Hub Description 37 | uses: peter-evans/dockerhub-description@v3 38 | with: 39 | username: ${{ secrets.DOCKER_USERNAME }} 40 | password: ${{ secrets.DOCKER_PASSWORD }} 41 | repository: randark/2023-hgame-week1-web-classic_childhood_game -------------------------------------------------------------------------------- /src/Res/Switchs.js: -------------------------------------------------------------------------------- 1 | /* 2 | 变量集合 3 | */ 4 | var Flag = new Object(); 5 | Flag.ResDone = false; //资源加载是否完毕 6 | Flag.MessageIn = false; //是否处于消息显示状态 7 | Flag.JumpFloor = false; //是否处于跳跃楼层状态 8 | Flag.RunOver = false; //是否已经执行完一回了 9 | Flag.EventRuning = false; //是否正在执行事件 10 | Flag.Move = false; //勇士是否处于移动状态 11 | Flag.LockMove = true; //是否锁定勇士移动 12 | Flag.LockController = true; //是否禁止控制走动 13 | Flag.ChangeHead = true; //是否允许原地转向 14 | Flag.NextMessage = false; //是否开始播放下一条消息 15 | Flag.MessageBoxStep = 0; //消息框位置状态 16 | Flag.FloorChoose = false; //是否处于快速选择楼层状态 17 | Flag.ShowMessage = false; //是否正在输出 18 | Flag.DisableGoFloor = true; //是否禁用了楼层传送器 19 | Flag.DisableEnemyBook = true; //是否禁用了怪物图鉴 20 | Flag.ShowGoFloor = false; //是否打开了楼层传送 21 | Flag.ShowEnemyBook = false; //是否打开了怪物图鉴 22 | Flag.ShowToolsPanel = false; //是否打开了道具面板 23 | Flag.ShowSettingPanel = false; //是否打开了设置面板 24 | Flag.ShowGetItemPanel = false; //是否打开了获得特殊道具的面板 25 | Flag.ShowHelpPanel = false; //是否打开了帮助面板 26 | Flag.LockGoFloorButton = true //是否锁定楼层传送按钮 27 | Flag.LockEnemyBookButton = true; //是否锁定怪物图鉴按钮 28 | Flag.LockToolsButton = true; //是否锁定道具按钮 29 | Flag.LockSettingButton = true; //是否锁定设置按钮 30 | Flag.LockIceButton = true; //是否锁定冰冻徽章 31 | Flag.LockFloorTip = false; //是否锁定楼层提示 32 | Flag.ShowStorePanel = false; //是否正在购买能力 33 | Flag.SL = false; //是否打开存档界面 34 | Flag.GameSL = false; //是否能够存档 35 | Flag.Battle = false; //是否处于战斗状态 36 | Flag.BattleAnimate = false; //是否开启战斗动画 37 | Flag.GameOver = false; //是否已经失败 38 | Flag.Switch = [] //开关集合 39 | Flag.Switch[0] = false; //是否在地下三层与仙子对话 40 | Flag.Switch[1] = false; //是否与地震卷轴商人对话 41 | Flag.Switch[2] = false; //是否与骑士队长对话 42 | Flag.Switch[3] = false; //是否打败魔龙 43 | Flag.Switch[4] = false; //是否最终战 44 | Flag.Switch[5] = false; //是否魔龙后与仙子对话 45 | Flag.Switch[6] = false; //是否打败魔物首领 46 | Flag.Switch[7] = false; //是否拿了罪恶权杖 -------------------------------------------------------------------------------- /.github/workflows/docker-github.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image to Github 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | # Publish semver tags as releases. 7 | tags: [ 'v*.*.*' ] 8 | pull_request: 9 | branches: [ "master" ] 10 | 11 | env: 12 | # Use docker.io for Docker Hub if empty 13 | REGISTRY: ghcr.io 14 | # github.repository as / 15 | IMAGE_NAME: ${{ github.repository }} 16 | 17 | 18 | jobs: 19 | build: 20 | 21 | runs-on: ubuntu-latest 22 | permissions: 23 | contents: read 24 | packages: write 25 | # This is used to complete the identity challenge 26 | # with sigstore/fulcio when running outside of PRs. 27 | id-token: write 28 | 29 | steps: 30 | - name: Checkout repository 31 | uses: actions/checkout@v3 32 | 33 | # Install the cosign tool except on PR 34 | # https://github.com/sigstore/cosign-installer 35 | - name: Install cosign 36 | if: github.event_name != 'pull_request' 37 | uses: sigstore/cosign-installer@f3c664df7af409cb4873aa5068053ba9d61a57b6 #v2.6.0 38 | with: 39 | cosign-release: 'v1.11.0' 40 | 41 | 42 | # Workaround: https://github.com/docker/build-push-action/issues/461 43 | - name: Setup Docker buildx 44 | uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf 45 | 46 | # Login against a Docker registry except on PR 47 | # https://github.com/docker/login-action 48 | - name: Log into registry ${{ env.REGISTRY }} 49 | if: github.event_name != 'pull_request' 50 | uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c 51 | with: 52 | registry: ${{ env.REGISTRY }} 53 | username: ${{ github.actor }} 54 | password: ${{ secrets.RANDARK_TOKEN }} 55 | 56 | # Extract metadata (tags, labels) for Docker 57 | # https://github.com/docker/metadata-action 58 | - name: Extract Docker metadata 59 | id: meta 60 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 61 | with: 62 | images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} 63 | 64 | # Build and push Docker image with Buildx (don't push on PR) 65 | # https://github.com/docker/build-push-action 66 | - name: Build and push Docker image 67 | id: build-and-push 68 | uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a 69 | with: 70 | context: . 71 | push: ${{ github.event_name != 'pull_request' }} 72 | tags: ${{ steps.meta.outputs.tags }} 73 | labels: ${{ steps.meta.outputs.labels }} 74 | cache-from: type=gha 75 | cache-to: type=gha,mode=max -------------------------------------------------------------------------------- /src/Res/Enemys.js: -------------------------------------------------------------------------------- 1 | /* 2 | 怪物 3 | [ID,怪物名称,血量,攻击力,防御力,金币,经验,特殊能力] 4 | 特殊能力 5 | <0>普通 正常战斗 "0" 6 | <1>先攻 此怪物会比勇士先发动攻击 "1" 7 | <2>连击 此怪物每回合会多次攻击勇士 附加参数为连击次数 如 "2&3" 为三连击 8 | <3>吸血 此怪物战斗前勇士会被吸取一定百分比的血量 附加参数为吸血的倍数 如 "3&1.5" 为吸取勇士生命的1.5倍 9 | <4>魔攻 此怪物战斗时无视勇士的防御 "4" 10 | */ 11 | var EnemySet = Object(); 12 | EnemySet.All = [ 13 | [0,"绿史莱姆",80,18,1,2,1,"0"], 14 | [1,"红史莱姆",100,20,3,3,2,"0"], 15 | [2,"黑史莱姆",200,35,10,8,5,"0"], 16 | [3,"银史莱姆",8000,888,670,120,120,"0"], 17 | [4,"金史莱姆",15000,1300,1000,310,280,"0"], 18 | [5,"史莱姆王",30000,5000,1200,600,580,"0"], 19 | [6,"史莱姆魔皇",50000,5500,4300,1000,1000,"0"], 20 | [7,"梦魇",99999,9999,9999,999,999,"0"], 21 | [8,"小蝙蝠",100,27,5,4,2,"0"], 22 | [9,"大蝙蝠",350,63,31,18,14,"3&0.03"], 23 | [10,"红蝙蝠",550,190,110,30,22,"3&0.08"], 24 | [11,"冥灵分身",1750,888,766,175,175,"1"], 25 | [12,"骷髅人",220,45,12,11,10,"0"], 26 | [13,"骷髅武士",250,65,28,20,12,"0"], 27 | [14,"骷髅队长",500,95,51,30,18,"0"], 28 | [15,"冥队长",3333,1200,1133,112,100,"0"], 29 | [16,"初级法师",115,53,27,10,7,"4"], 30 | [17,"中级法师",240,300,120,28,25,"4"], 31 | [18,"高级法师",600,680,550,55,41,"4"], 32 | [19,"麻衣法师",400,250,100,34,30,"4"], 33 | [20,"无界法师",560,460,330,40,40,"4"], 34 | [21,"兽人",300,165,80,35,30,"0"], 35 | [22,"兽人武士",1000,560,400,55,55,"0"], 36 | [23,"初级卫兵",300,45,62,22,19,"0"], 37 | [24,"中级卫兵",450,380,220,43,40,"1"], 38 | [25,"高级卫兵",750,600,400,60,55,"1"], 39 | [26,"圣骑士",130,630,125,68,65,"1"], 40 | [27,"骑士护卫",550,540,350,70,70,"2&3"], 41 | [28,"骑士队长",800,580,370,84,80,"2&5"], 42 | [29,"幽灵",380,800,200,80,80,"2&2"], 43 | [30,"石头人",600,300,300,45,42,"0"], 44 | [31,"双手剑士",600,750,170,88,88,"2&4"], 45 | [32,"冥斗士",650,360,260,80,76,"1"], 46 | [33,"冥骷髅",600,350,238,71,63,"3&0.08"], 47 | [34,"大法师分身",1680,868,768,168,168,"3&0.25"], 48 | [35,"魔法警卫",1000,800,660,500,500,"4"], 49 | [36,"魔王ZENO",999999,18000,10000,1000,1000,"4"], 50 | [37,"魔法卫兵",680,650,590,111,111,"4"], 51 | [38,"黑暗骑士",900,780,690,100,100,"1"], 52 | [39,"魔龙头",3500,1200,580,0,0,"3&0.1"], 53 | [40,"魔龙角",800,1200,641,0,0,"1"], 54 | [41,"魔龙心",10000,120,999,0,0,"4"], 55 | [42,"魔龙左翼",2000,810,800,0,0,"0"], 56 | [43,"魔龙右翼",2000,810,800,0,0,"0"], 57 | [44,"魔龙左尖刺",1000,1000,641,0,0,"2&4"], 58 | [45,"魔龙右尖刺",1000,1000,641,0,0,"2&4"], 59 | [46,"魔龙左爪",641,1800,40,0,0,"1"], 60 | [47,"魔龙右爪",641,1800,40,0,0,"1"], 61 | [48,"弱化ZENO",1641,210,36,0,0,"4"], 62 | [49,"破坏神分身",2564,641,555,1,641,"5"], 63 | [50,"ZENO分身",6666,666,666,0,0,"4"], 64 | [51,"远古护卫",1000,888,750,500,500,"5"], 65 | [52,"魔物首领古顿",80000,14000,8400,800,800,"2&66"], 66 | [53,"冥灵魔王",8000,17410,5900,800,800,"1"], 67 | [54,"魔法警卫",1000,800,800,800,800,"5"], 68 | [55,"模仿者",9999,6700,3000,0,0,"1"], 69 | [56,"魔化仙子",6666,1414,666,0,0,"2&13"] 70 | ]; 71 | 72 | EnemySet.Skill = [ 73 | [0,"无","#FFFFFF","无"], 74 | [1,"先攻","#FFFFFF","此怪物会比勇士先发动攻击"], 75 | [2,"连击","#FFFF00","此怪物每回合会多次攻击勇士"], 76 | [3,"吸血","#FF6A6A","此怪物战斗前勇士会被吸取一定百分比的血量"], 77 | [4,"魔攻","#97FFFF","此怪物战斗时无视勇士的防御"], 78 | [5,"近卫","#CAFF70","此怪物战斗时模仿勇士攻击(当勇士攻击大于怪物防御时)"] 79 | ] 80 | 81 | EnemySet.GetData = function(Type,ID){ 82 | var Datas = eval("EnemySet." + Type); 83 | if(typeof(ID) != "undefined"){ 84 | for(var i = 0;i < Datas.length;i++){ 85 | if(Datas[i][0] == ID){ 86 | return Datas[i]; 87 | } 88 | } 89 | } 90 | else{ 91 | return Datas; 92 | } 93 | } -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 纪元魔塔 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
31 |

Loading

32 |
33 |
34 |
35 |
36 | 37 |
38 |

Drawing...

39 | 40 | 41 | 42 |

您的浏览器不支持HTML5,请升级或更换浏览器

43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 | 53 |
54 | 55 | 56 | 57 | 58 | 59 |
60 |
61 | 62 | 77 |
78 | 79 |
80 | 81 | 82 |
83 |
84 | 85 | -------------------------------------------------------------------------------- /src/Res/Items.js: -------------------------------------------------------------------------------- 1 | /* 2 | 物品 3 | [ID,名称,介绍,买入价,卖出价,获得时触发的事件] 4 | */ 5 | var ItemSet = new Object(); 6 | ItemSet.All = [ 7 | [0,"黄钥匙","开启黄色门",10,5,"AddKey('Yellow',1)"], 8 | [1,"蓝钥匙","开启蓝色门",50,25,"AddKey('Blue',1)"], 9 | [2,"红钥匙","开启红色门",100,50,"AddKey('Red',1)"], 10 | [3,"绿钥匙","开启绿色门",0,0,"AddKey('Green',1)"], 11 | [4,"铁门钥匙","开启铁门",0,0,"AddKey('Iron',1)"], 12 | [5,"普通钥匙盒","获得黄、蓝、红钥匙各一把",0,0,"AddKey('KeyHub1',1)"], 13 | [6,"宝石钥匙盒","获得黄、蓝、红钥匙各三把",0,0,"AddKey('KeyHub1',1)"], 14 | [7,"红宝石","增加 3 点攻击",0,0,"AddATK(3)"], 15 | [8,"蓝宝石","增加 3 点防御",0,0,"AddDEF(3)"], 16 | [9,"怒气宝石","增加 1% 暴击率",0,0,"AddCTR(1)"], 17 | [10,"敏捷宝石","增加 1% 闪避率",0,0,"AddEXD(1)"], 18 | [11,"小血瓶","增加 200 点生命",0,0,"AddHP(200)"], 19 | [12,"大血瓶","增加 500 点生命",0,0,"AddHP(500)"], 20 | [13,"经验药水","增加300点经验",0,0,"AddExp(300)"], 21 | [14,"敏捷药水","闪避率增加10% 持续1分钟",0,0,"AddEXD(10,60000)"], 22 | [15,"","",0,0,""], 23 | [16,"","",0,0,""], 24 | [17,"","",0,0,""], 25 | [18,"","",0,0,""], 26 | [19,"","",0,0,""], 27 | [20,"圣水","生命值翻倍",0,0,"AddHolyWater()"], 28 | [21,"铁剑","增加 10 点攻击",0,0,"AddATK(10)"], 29 | [22,"银剑","增加 30 点攻击",0,0,"AddATK(30)"], 30 | [23,"骑士剑","增加 50 点攻击",0,0,"AddATK(50)"], 31 | [24,"圣剑","增加 100 点攻击",0,0,"AddATK(100)"], 32 | [25,"幸运金币","获得 300 金币",0,0,"AddGold(300)"], 33 | [26,"铁盾","增加10点防御",0,0,"AddDEF(10)"], 34 | [27,"银盾","增加30点防御",0,0,"AddDEF(30)"], 35 | [28,"骑士盾","增加 50 点防御",0,0,"AddDEF(50)"], 36 | [29,"圣盾","增加 80 点防御",0,0,"AddDEF(80)"], 37 | [30,"神圣剑","增加220点攻击",0,0,"AddATK(220)"], 38 | [31,"神圣盾","增加220点防御",0,0,"AddDEF(220)"], 39 | ["A1","怪物图鉴","获得怪物图鉴,使用它你将能够看到当前楼层所有怪物的信息和它们对你造成的伤害,已加入你的工具栏中,按“E”键或者点击左下方工具栏中对应的图标开启",0,0,"AddEnemyBook()"], 40 | ["A2","奇怪的权杖","获得奇怪的权杖,它似乎拥有让你在所在楼层跳跃到其它已到达的楼层中的能力,已经加入你的工具栏中,按“F”键或者点击左下方工具栏中对应的图标开启",0,0,"AddGoFloor()"], 41 | ["A4","下楼器","获得下楼器,它拥有将你送往当前楼层下一层的能力,无楼梯能够到达的楼层可以使用它帮助你到达该楼层,按“O”键或者点击左下方工具栏中对应的图标使用",0,0,"AddDownFloor()"], 42 | ["A5","破墙镐","获得破墙镐,你能够使用它摧毁你面前的一堵墙,但是有一些墙面是无法摧毁的,按“P”键或者点击左下方工具栏中对应的图标使用",0,0,"AddPickaxe()"], 43 | ["A6","飞羽","获得飞羽,使用它能够将你传送到与你当前位置中心对称的位置,如果该位置非地板将无法传送,按“Y”键或者点击左下方工具栏中对应的图标使用",0,0,"AddTool('Fly')"], 44 | ["A7","地震卷轴","获得地震卷轴,在任意楼层使用它,将能够把该层能够被摧毁的墙全部摧毁,按“Q”键或者点击左下方工具栏中对应的图标使用",0,0,"AddTool('EarthQuake')"], 45 | ["A8","冰冻徽章","获得冰冻徽章,面对岩浆使用它时,你周围的岩浆将被冻结为地板,按“I”键或者点击左下方工具栏中对应的图标使用",0,0,"AddIce()"], 46 | ["A9","随意门","获得随意门,当面前的墙允许变成黄门时使用它,该墙将变为黄门,开门仍需黄钥匙,按“G”键或者点击左下方工具栏中对应的图标使用",0,0,"AddTool('Door',1)"], 47 | ["A10","屠龙匕","获得屠龙匕,在与魔龙战斗时勇士攻击力加倍,此为自动道具,无需手动使用",0,0,"AddDragon()"], 48 | ["A11","圣水","获得圣水,使用后可使当前生命值翻倍,按“V”键或者点击左下方工具栏中对应的图标使用",0,0,"AddHolyWater()"], 49 | ["A12","罪恶权杖","你渴望力量吗?◣◢",0,0,'AddTool("Dark",-1)'] 50 | ]; 51 | /* 52 | 道具 53 | 消耗道具 道具名:[IconID,中文名,介绍,快捷键,数量] 54 | 永久道具 道具名:[IconID,中文名,介绍,快捷键,是否获得,获得为-1未获得为-2] 55 | */ 56 | ItemSet.Tool = {"Pickaxe":[0,"破墙镐","使用它凿开你面前可被破坏的石墙,不过它是一次性的","P",0], 57 | "EarthQuake":[1,"地震卷轴","消除本层所有能够被毁坏的墙","Q",0], 58 | "UpFloor":[2,"上楼器","直接传送到上一层的下楼梯口","U",0], 59 | "DownFloor":[3,"下楼器","直接传送到下一层的上楼梯口","O",0], 60 | "Fly":[4,"飞羽","传送到与当前位置中心对称的位置","Y",0], 61 | "HolyWater":[5,"圣水","使当前生命值翻倍","V",0], 62 | "Boom":[6,"炸弹","毁灭面前一个非Boss怪物","B",0], 63 | "EnemyBook":[10,"怪物图鉴","查看当前楼层的怪物信息","E",-2], 64 | "GoFloor1":[11,"奇怪的权杖","可传送于各楼层","F",-2], 65 | "Ice":[8,"冰冻徽章","消除面前的岩浆为地面","I",-2], 66 | "Crucifix":[7,"圣十字架","克制怪物无敌属性","auto",-2], 67 | "Door":[9,"随意门","将面前可变成黄门的墙换为黄门","G",0], 68 | "Dragon":[12,"屠龙匕","对付魔龙时攻击力加倍","auto",-2], 69 | "Dark":[13,"罪恶权杖","你渴望力量吗?◣◢","auto",-2] 70 | }; 71 | 72 | ItemSet.GetData = function(Type,ID){ 73 | var Datas = eval("ItemSet." + Type); 74 | if(typeof(ID) != "undefined"){ 75 | for(var i = 0;i < Datas.length;i++){ 76 | if(Datas[i][0] == ID){ 77 | return Datas[i]; 78 | } 79 | } 80 | } 81 | else{ 82 | return Datas; 83 | } 84 | } -------------------------------------------------------------------------------- /src/Layout.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "Mota"; 3 | src: url("Word.ttf"); 4 | } 5 | 6 | html,body { 7 | margin: 0; 8 | padding: 0; 9 | background-color: #000000; 10 | } 11 | 12 | #GameStart { 13 | width: 100%; 14 | height: 100%; 15 | position: fixed; 16 | top: 0; 17 | left: 0; 18 | margin: 0; 19 | padding: 0; 20 | background-color: #333333; 21 | z-index: 50; 22 | background-image: url(./Res/Floor.png); 23 | } 24 | 25 | #LoadTip { 26 | height: 20px; 27 | text-align: center; 28 | margin-top: 25%; 29 | color: #FFFFFF; 30 | } 31 | 32 | #LoadProgressBar { 33 | width: 80%; 34 | height: 20px; 35 | margin: 10px auto; 36 | border: solid 1px #CC6600; 37 | -webkit-box-shadow: 0px 0px 10px #CC6600; 38 | box-shadow: 0px 0px 10px #CC6600; 39 | background-color: #CC6600; 40 | -moz-border-radius: 15px; 41 | -webkit-border-radius: 15px; 42 | border-radius:15px; 43 | z-index: 51; 44 | } 45 | 46 | #LoadProgress { 47 | width: 0%; 48 | height: 6px; 49 | position: relative; 50 | top: 6px; 51 | left: 7px; 52 | border: solid 1px #FFFFFF; 53 | -webkit-box-shadow: 0px 0px 5px #FFFFFF; 54 | box-shadow: 0px 0px 5px #FFFFFF; 55 | background-color: #FFFFFF; 56 | -moz-border-radius: 15px; 57 | -webkit-border-radius: 15px; 58 | border-radius:15px; 59 | z-index: 52; 60 | } 61 | 62 | #GameGroup { 63 | max-width: 500px; 64 | max-height: 365px; 65 | min-height: 365px; 66 | margin: 0 auto; 67 | background-color: #000000; 68 | } 69 | 70 | #GameLoading { 71 | width: 100%; 72 | color: #FFFFFF; 73 | text-align: center; 74 | margin-top: 150px; 75 | font-family: "Mota"; 76 | position: absolute; 77 | z-index: 1; 78 | } 79 | 80 | #CanvasGroup { 81 | width: 352px; 82 | height: 352px; 83 | margin: 0; 84 | border: solid 3px #FFFFFF; 85 | position: absolute; 86 | background-color: #333333; 87 | background-image: url(./Res/Floor.png); 88 | } 89 | 90 | #ToolGroup { 91 | width: 120px; 92 | height: 120px; 93 | position: fixed; 94 | left: 5px; 95 | bottom: 0; 96 | z-index: 11; 97 | } 98 | 99 | #HelpButton { 100 | width: 30px; 101 | height: 30px; 102 | position: absolute; 103 | margin-top: 44px; 104 | margin-left: 180px; 105 | opacity: 0.5; 106 | } 107 | 108 | #ToolsButton { 109 | width: 50px; 110 | height: 50px; 111 | position: absolute; 112 | margin-left: 60px; 113 | opacity: 0.5; 114 | } 115 | 116 | #GoFloorButton { 117 | width: 50px; 118 | position: absolute; 119 | filter:grayscale(100%); 120 | -webkit-filter:grayscale(100%); 121 | -moz-filter:grayscale(100%); 122 | -ms-filter:grayscale(100%); 123 | -o-filter:grayscale(100%); 124 | filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); 125 | -webkit-filter:grayscale(1); 126 | opacity: 0.5; 127 | } 128 | 129 | #EnemyBookButton { 130 | width: 50px; 131 | position: absolute; 132 | margin-top: 60px; 133 | filter:grayscale(100%); 134 | -webkit-filter:grayscale(100%); 135 | -moz-filter:grayscale(100%); 136 | -ms-filter:grayscale(100%); 137 | -o-filter:grayscale(100%); 138 | filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); 139 | -webkit-filter:grayscale(1); 140 | opacity: 0.5; 141 | } 142 | 143 | #SettingButton { 144 | width: 50px; 145 | height: 50px; 146 | position: absolute; 147 | margin-top: 60px; 148 | margin-left: 60px; 149 | display: none; 150 | opacity: 0.5; 151 | } 152 | 153 | #SaveGame { 154 | width: 50px; 155 | height: 50px; 156 | position: absolute; 157 | margin-top: 60px; 158 | margin-left: 120px; 159 | opacity: 0.5; 160 | } 161 | 162 | #LoadGame { 163 | width: 50px; 164 | height: 50px; 165 | position: absolute; 166 | margin-left: 120px; 167 | opacity: 0.5; 168 | } 169 | 170 | #ZoomBox { 171 | width: 50px; 172 | height: 50px; 173 | position: absolute; 174 | margin-top: 25px; 175 | margin-left: 60px; 176 | opacity: 0.5; 177 | } 178 | 179 | #Test { 180 | display: none; 181 | } 182 | 183 | #ControlGroup { 184 | width: 160px; 185 | height: 160px; 186 | position: fixed; 187 | bottom: 3%; 188 | right: 3%; 189 | z-index: 12; 190 | } 191 | 192 | #Controller { 193 | zoom: 1; 194 | width: 100%; 195 | height: 100%; 196 | } 197 | 198 | #Controller2 { 199 | zoom: 1; 200 | width: 100%; 201 | height: 100%; 202 | position: absolute; 203 | top: 0; 204 | left: 0; 205 | display: none; 206 | } 207 | 208 | #Tip { 209 | color: #FFFFFF; 210 | text-align: center; 211 | } 212 | 213 | #Property { 214 | margin: 0; 215 | padding: 0; 216 | position: absolute; 217 | z-index: 5; 218 | } 219 | 220 | #MapBg { 221 | margin: 100px 0 0 0; 222 | padding: 0; 223 | display: block; 224 | position: absolute; 225 | z-index: 6; 226 | } 227 | 228 | #MapEvent{ 229 | margin: 100px 0 0 0; 230 | padding: 0; 231 | display: block; 232 | position: absolute; 233 | z-index: 7; 234 | } 235 | 236 | #MapFg { 237 | margin: 100px 0 0 0; 238 | padding: 0; 239 | display: block; 240 | position: absolute; 241 | z-index: 8; 242 | } 243 | 244 | #MapHero { 245 | margin: 100px 0 0 0; 246 | padding: 0; 247 | display: block; 248 | position: absolute; 249 | z-index: 9; 250 | } 251 | 252 | #SystemUI { 253 | margin: 100px 0 0 0; 254 | padding: 0; 255 | display: block; 256 | position: absolute; 257 | z-index: 10; 258 | } 259 | 260 | #DataUpdate { 261 | margin: 100px 0 0 0; 262 | padding: 0; 263 | display: block; 264 | position: absolute; 265 | z-index: 11; 266 | } 267 | 268 | @media screen and (min-height: 490px) { 269 | #GameGroup { 270 | max-width: 490px; 271 | max-height: 350px; 272 | margin: 10% auto; 273 | background-color: #000000; 274 | } 275 | } 276 | 277 | @media screen and (max-width: 490px) { 278 | #GameGroup { 279 | max-width: 490px; 280 | max-height: 365px; 281 | min-height: 365px; 282 | margin: 0 auto; 283 | background-color: #000000; 284 | } 285 | 286 | #GameLoading { 287 | margin-top: 220px; 288 | } 289 | 290 | #LoadTip { 291 | height: 20px; 292 | text-align: center; 293 | margin-top: 50%; 294 | color: #FFFFFF; 295 | font-family: "Mota"; 296 | } 297 | 298 | #CanvasGroup { 299 | width: 352px; 300 | height: 352px; 301 | margin: 0; 302 | border: solid 2px #FFFFFF; 303 | position: fixed; 304 | left: 0; 305 | background-color: #333333; 306 | } 307 | } 308 | 309 | /* Gitչʾ */ 310 | #MaYunLogo {position: fixed;top: 5px;left: 5px;opacity: 0.6;z-index:99998;width: 5%;} 311 | .osc_git_box {position: fixed;top: 5px;left: 5px;z-index:99999;display:none} 312 | .pro_name a{color: #4183c4;} 313 | .osc_git_title{background-color: #d8e5f1;} 314 | .osc_git_box{background-color: #fafafa;} 315 | .osc_git_box{border-color: #ddd;} 316 | .osc_git_info{color: #666;} 317 | .osc_git_main a{color: #4183c4;} -------------------------------------------------------------------------------- /src/Res/IconsData.js: -------------------------------------------------------------------------------- 1 | /* 2 | 图标集合 3 | Terrain 地形图标 图标ID 在雪碧图内的x坐标 在雪碧图内的y坐标 宽度 高度 是否可通行 4 | Hero 勇士图标 图标ID 朝向 在雪碧图内的x坐标 在雪碧图内的y坐标 宽度 高度 5 | Item 物品图标 图标ID 在雪碧图内的x坐标 在雪碧图内的y坐标 宽度 高度 所属的雪碧图 6 | Enemy 怪物图标 7 | Npc Npc图标 8 | 9 | */ 10 | 11 | var IconSet = new Object(); 12 | IconSet.Terrain = [ 13 | [0,0,0,32,32,1,"Terrain"], 14 | [1,32,0,32,32,1,"Terrain"], 15 | [2,64,0,32,32,1,"Terrain"], 16 | [3,0,32,32,32,1,"Terrain"], 17 | [4,32,32,32,32,1,"Terrain"], 18 | [5,64,32,32,32,0,"Terrain"], 19 | [6,0,0,32,32,1,"Store"], 20 | [7,64,0,32,32,1,"Store"], 21 | [8,96,0,32,32,1,"Store"] 22 | ]; 23 | IconSet.Hero = [ 24 | //往上 25 | [ 26 | [0,0,96,32,32], 27 | [1,32,96,32,32], 28 | [2,96,96,32,32], 29 | [3,64,96,32,32] 30 | ], 31 | //往左 32 | [ 33 | [0,0,32,32,32], 34 | [1,32,32,32,32], 35 | [2,96,32,32,32], 36 | [3,64,32,32,32] 37 | ], 38 | //往下 39 | [ 40 | [0,0,0,32,32], 41 | [1,32,0,32,32], 42 | [2,96,0,32,32], 43 | [3,64,0,32,32] 44 | ], 45 | //往右 46 | [ 47 | [0,0,64,32,32], 48 | [1,32,64,32,32], 49 | [2,96,64,32,32], 50 | [3,64,64,32,32] 51 | ] 52 | ]; 53 | IconSet.Door = [ 54 | [0,0,0,32,32,"Door1"], 55 | [1,32,0,32,32,"Door1"], 56 | [2,64,0,32,32,"Door1"], 57 | [3,96,0,32,32,"Door1"], 58 | [4,0,0,32,32,"Door2"], 59 | [5,32,0,32,32,"Door2"], 60 | [6,64,0,32,32,"Door2"], 61 | [7,96,0,32,32,"Door2"], 62 | [8,0,0,32,32,"Door3"], 63 | [9,32,0,32,32,"Door3"], 64 | [10,64,0,32,32,"Door3"], 65 | [11,96,0,32,32,"Door3"], 66 | [12,0,0,32,32,"Door4"], 67 | [13,32,0,32,32,"Door4"], 68 | [14,64,0,32,32,"Door4"], 69 | [15,96,0,32,32,"Door4"] 70 | ]; 71 | IconSet.Stair = [ 72 | [0,32,0,32,32,"Stair"], 73 | [1,0,0,32,32,"Stair"], 74 | [2,64,0,32,32,"Stair"] 75 | ]; 76 | IconSet.Item = [ 77 | [0,0,0,32,32,"Item1"], 78 | [1,32,0,32,32,"Item1"], 79 | [2,64,0,32,32,"Item1"], 80 | [3,96,0,32,32,"Item1"], 81 | [4,0,32,32,32,"Item1"], 82 | [5,32,32,32,32,"Item1"], 83 | [6,64,32,32,32,"Item1"], 84 | [7,0,0,32,32,"Gem"], 85 | [8,32,0,32,32,"Gem"], 86 | [9,96,0,32,32,"Gem"], 87 | [10,64,0,32,32,"Gem"], 88 | [11,0,32,32,32,"Gem"], 89 | [12,32,32,32,32,"Gem"], 90 | [13,96,32,32,32,"Gem"], 91 | [14,96,32,32,32,"Gem"], 92 | [15,0,64,32,32,"Gem"], 93 | [16,32,64,32,32,"Gem"], 94 | [17,64,64,32,32,"Gem"], 95 | [18,96,64,32,32,"Gem"], 96 | [19,64,96,32,32,"Gem"], 97 | [20,96,96,32,32,"Gem"], 98 | [21,0,0,32,32,"Weapon"], 99 | [22,32,0,32,32,"Weapon"], 100 | [23,64,0,32,32,"Weapon"], 101 | [24,96,0,32,32,"Weapon"], 102 | [25,96,64,32,32,"Item1"], 103 | [26,0,64,32,32,"Weapon"], 104 | [27,32,64,32,32,"Weapon"], 105 | [28,64,64,32,32,"Weapon"], 106 | [29,96,64,32,32,"Weapon"], 107 | [30,0,32,32,32,"Weapon"], 108 | [31,0,96,32,32,"Weapon"], 109 | ["A1",32,64,32,32,"Item1"], 110 | ["A2",64,64,32,32,"Item1"], 111 | ["A4",64,96,32,32,"Item1"], 112 | ["A5",96,96,32,32,"Item2"], 113 | ["A6",32,96,32,32,"Item1"], 114 | ["A7",0,64,32,32,"Item1"], 115 | ["A8",96,64,32,32,"Item2"], 116 | ["A9",64,0,32,32,"Item3"], 117 | ["A10",0,96,32,32,"Item2"], 118 | ["A11",96,96,32,32,"Gem"], 119 | ["A12",0,32,32,32,"Item2"] 120 | ]; 121 | IconSet.Enemy = [ 122 | [0,0,0,32,32,"Enemy9"], 123 | [1,0,32,32,32,"Enemy9"], 124 | [2,0,64,32,32,"Enemy9"], 125 | [3,0,96,32,32,"Enemy13"], 126 | [4,0,0,32,32,"Enemy10"], 127 | [5,0,96,32,32,"Enemy12"], 128 | [6,0,96,32,32,"Enemy9"], 129 | [7,0,32,32,32,"Enemy14"], 130 | [8,0,0,32,32,"Enemy2"], 131 | [9,0,32,32,32,"Enemy2"], 132 | [10,0,64,32,32,"Enemy2"], 133 | [11,0,96,32,32,"Enemy2"], 134 | [12,0,0,32,32,"Enemy3"], 135 | [13,0,32,32,32,"Enemy3"], 136 | [14,0,64,32,32,"Enemy3"], 137 | [15,0,96,32,32,"Enemy3"], 138 | [16,0,0,32,32,"Enemy5"], 139 | [17,0,0,32,32,"Enemy15"], 140 | [18,0,32,32,32,"Enemy5"], 141 | [19,0,64,32,32,"Enemy5"], 142 | [20,0,96,32,32,"Enemy5"], 143 | [21,0,0,32,32,"Enemy4"], 144 | [22,0,32,32,32,"Enemy4"], 145 | [23,0,0,32,32,"Enemy6"], 146 | [24,0,32,32,32,"Enemy6"], 147 | [25,0,64,32,32,"Enemy6"], 148 | [26,0,64,32,32,"Enemy7"], 149 | [27,0,96,32,32,"Enemy8"], 150 | [28,0,32,32,32,"Enemy7"], 151 | [29,0,96,32,32,"Enemy4"], 152 | [30,0,64,32,32,"Enemy4"], 153 | [31,0,96,32,32,"Enemy6"], 154 | [32,0,0,32,32,"Enemy7"], 155 | [33,0,96,32,32,"Enemy3"], 156 | [34,0,64,32,32,"Enemy13"], 157 | [35,0,32,32,32,"Enemy13"], 158 | [36,0,0,32,32,"Enemy13"], 159 | [37,0,64,32,32,"Enemy8"], 160 | [38,0,96,32,32,"Enemy7"], 161 | [39,0,0,32,32,"Enemy1"], 162 | [40,0,32,32,32,"Enemy1"], 163 | [41,0,64,32,32,"Enemy1"], 164 | [42,0,96,32,32,"Enemy1"], 165 | [43,0,128,32,32,"Enemy1"], 166 | [44,0,159,32,32,"Enemy1"], 167 | [45,0,191,32,32,"Enemy1"], 168 | [46,0,223,32,32,"Enemy1"], 169 | [47,0,257,32,32,"Enemy1"], 170 | [48,0,0,32,32,"Enemy13"], 171 | [49,0,32,32,32,"Enemy12"], 172 | [50,0,0,32,32,"Enemy13"], 173 | [51,0,64,32,32,"Enemy12"], 174 | [52,0,32,32,32,"Enemy11"], 175 | [53,0,96,32,32,"Enemy2"], 176 | [54,0,32,32,32,"Enemy13"], 177 | [55,0,64,32,32,"Enemy14"], 178 | [56,0,96,32,32,"Enemy14"] 179 | ]; 180 | IconSet.Npc = [ 181 | [0,0,0,32,32,"Npc1"], 182 | [1,0,32,32,32,"Npc1"], 183 | [2,0,64,32,32,"Npc1"], 184 | [3,0,96,32,32,"Npc1"], 185 | [4,0,0,32,32,"Npc2"], 186 | [5,0,32,32,32,"Npc2"], 187 | [6,0,64,32,32,"Npc2"], 188 | [7,0,96,32,32,"Npc2"], 189 | [8,0,0,32,32,"Npc3"], 190 | [9,0,32,32,32,"Npc3"], 191 | [10,0,64,32,32,"Npc3"], 192 | [11,0,96,32,32,"Npc3"], 193 | [12,128,128,32,32,"Npc3"],//这个是空图像 194 | [13,0,96,32,32,"Npc2"] 195 | ]; 196 | IconSet.BattleAnimate = [ 197 | [0,[[0,0],[32,0],[64,0],[96,0],[0,32],[32,32],[64,32],[96,32]],"Battle1"], 198 | [1,[[0,64],[32,64],[64,64],[96,64],[0,96],[32,96]],"Battle1"] 199 | ]; 200 | IconSet.Tool = [ 201 | [0,96,96,"Item2"], 202 | [1,0,64,"Item1"], 203 | [2,96,96,"Item1"], 204 | [3,64,96,"Item1"], 205 | [4,32,96,"Item1"], 206 | [5,96,96,"Gem"], 207 | [6,32,96,"Item2"], 208 | [7,64,64,"Item2"], 209 | [8,96,64,"Item2"], 210 | [9,64,0,"Item3"], 211 | [10,32,64,"Item1"], 212 | [11,64,64,"Item1"], 213 | [12,0,96,"Item2"], 214 | [13,0,32,"Item2"] 215 | ]; 216 | IconSet.Star = [ 217 | [0,0,0,32,32], 218 | [1,32,0,32,32], 219 | [2,64,0,32,32], 220 | [3,96,0,32,32] 221 | ]; 222 | IconSet.Lava = [ 223 | [0,0,0,32,32], 224 | [1,32,0,32,32], 225 | [2,64,0,32,32], 226 | [3,96,0,32,32] 227 | ]; 228 | IconSet.Water = [ 229 | [0,0,0,32,32], 230 | [1,32,0,32,32], 231 | [2,64,0,32,32], 232 | [3,96,0,32,32] 233 | ]; 234 | 235 | IconSet.GetData = function(Type,ID){ 236 | var Datas = eval("IconSet." + Type); 237 | if(typeof(ID) != "undefined"){ 238 | for(var i = 0;i < Datas.length;i++){ 239 | if(Datas[i][0] == ID){ 240 | return Datas[i]; 241 | } 242 | } 243 | } 244 | else{ 245 | return Datas; 246 | } 247 | }; -------------------------------------------------------------------------------- /src/Res/Maps.js: -------------------------------------------------------------------------------- 1 | /* 2 | 存储所有地图数据 [[楼层1[背景层],[前景层],[事件层]]] 3 | 背景层:1,fill填充 图块ID 2,图块ID 图块x坐标 图块y坐标 4 | 前景层:图块ID 图块坐标x 图块坐标y 5 | 事件层:Hero 朝向 Hero坐标x Hero坐标y Item 物品ID 物品坐标x 物品坐标y Door 门类型 门坐标x 门坐标y Stair 楼梯上下 楼梯坐标x 楼梯坐标y 传送到的楼层坐标x 传送到的楼层坐标y 传到的楼层朝向 传送到的楼层 是否为传送上楼或下楼时的默认楼梯 0上楼 1下楼 6 | 前景层每个方块第三个参数:0 正常(可破可震不可门) 1 不允许破和震且不允许门 2 允许门且允许破和震 3 允许门但不允许破和震 7 | 怪物事件456参数,4:接触怪物触发 5:战斗完成后触发 6:战斗失败后触发 8 | 1.StartFloor:初始楼层 9 | 2.MapSet:地图变量里面的每个元素都是一层 10 | 3.MapSet=[[[],[],{}]]:这里面包含了一层,每一层又有三个元素,分别是背景数据 前景数据 事件数据(是个对象) 11 | 4.背景数据:有两种形式一种是fill一种是一个个指定,fill就是["fill",5] 这代表用5号terrain元素(这个元素数据记载在IconsData.js中)来填充整个背景,一个个就是[5,0,0],[5,1,0],[5,2,0]....,其实是一个个数组,0号元素代表用几号terrain元素 1号元素代表坐标X 2号元素代表坐标Y 12 | 5.前景数据:与背景数据第二种是同理的, 0号元素代表用几号terrain元素 1号元素代表坐标X 2号元素代表坐标Y,但3号元素有这些含义0 正常(可破可震不可门) 1 不允许破和震且不允许门 2 允许门且允许破和震 3 允许门但不允许破和震 13 | 6.事件数据: 14 | *ID是按顺序排的 15 | <1>Floor:代表当前楼层(比如负三楼就是-3) 参数:n 16 | <2>Name:这层楼的名字 参数:xxxx层 17 | <3>Arrive:已到达这层楼 参数:true|false 18 | <4>Animate:绘制动画(如岩浆、星辰) 参数:["Name-Pass",[x,y],[x,y],[x,y]....](Name是资源名 如Lava、Star,Pass是是否允许通过1不允许 0允许,[x,y]x坐标和y坐标数组,代表使用前面指定的资源来绘制到地图中的对应坐标) 19 | <5>Item:存放该楼层物品数据 参数:[ID,ItemID,X,Y] ID是在该层这些物品数据中的ID ItemID是在所有物品中的ID X和Y代表绘制到那个坐标位置 20 | <6>Door:门数据 参数:[DoorID,X,Y,Pass(可选)] DoorID就是在所有门里面的ID,Pass是可选的 为1不允许通过 其它允许 21 | <7>Stair:楼梯数据 参数:[StairType,X,Y,ToX,ToY,ToHead,ToFloor,UporDown(可选)] StairType是楼梯类型(0为上楼梯 1为下楼梯),ToX和ToY代表传送过去后勇士会在哪个坐标,Head代表勇士传送过去后面向哪里,ToFloor 要传送到哪个楼层(比如-2到负二层),UporDown通过传送器到这个楼层时判定你会在哪个楼梯口(如果你在这一层的上方传送到这你将会到这个参数为1的楼梯口,如果你在这一层的下面你将会到达这个参数为0的楼梯口) 22 | <8>Enemy:该层怪物数据 参数:[ID,EnemyID,X,Y,Event1(可选),Event2(可选,但前一个参数不能为空,不想启用前面一个参数请将前一个参数设为-1),Event3(可选,同理前两个参数不能为空,不想启用他们请设-1)] ID 在本层所有怪物中的ID EnemyID 在所有怪物中的ID 除去坐标剩下的后面三个参数可选,一号是触碰怪物后触发,二号是战斗胜利后触发,三号是战斗失败触发 参数为事件列表ID 23 | <9>Npc:NPC数据 参数:[ID,NpcID,X,Y,EventID] ID是该层NPC的ID NpcID是这个Npc在所有Npc中的ID EventID是和Npc碰撞后触发的事件 24 | <10>No:该层不允许使用的道具 参数:[ToolsName1,ToolsName2,ToolsName3..] ToolsName:道具名称(在Items.js中记载) 25 | */ 26 | var StartFloor = 1; 27 | var MapSet = [ 28 | [ 29 | ["fill",5], 30 | [[1,4,0,1],[1,6,0,1],[1,4,1,1],[1,6,1,1],[1,4,2,1],[1,6,2,1],[1,3,2,1],[1,7,2,1],[1,3,3,1],[1,7,3,1],[1,3,4,1],[1,7,4,1],[1,7,5,1],[1,3,6,1],[1,7,6,1],[1,4,6,1],[1,6,6,1],[1,4,7,1],[1,6,7,1],[1,4,8,1],[1,6,8,1],[1,4,9,1],[1,6,9,1],[1,4,10,1],[1,6,10,1],[1,5,0,2],[1,5,1,2]], 31 | {"Floor":"Unknown","Name":"未知楼层","Arrive":"No","Animate":["Lava-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[2,0],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[3,0],[3,1],[3,7],[3,8],[3,9],[3,10],[7,0],[7,1],[7,7],[7,8],[7,9],[7,10],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[],"Door":[[15,3,5,1],[7,5,6],[3,5,2,1]],"Stair":[[2,5,0,5,10,2,"C",0]],"Enemy":[[0,39,5,5,-1,29],[1,40,5,4,-1,29],[2,41,5,3,-1,29],[3,42,4,3,-1,29],[4,43,6,3,-1,29],[5,44,4,4,-1,29],[6,45,6,4,-1,29],[7,46,4,5,-1,29],[8,47,6,5,-1,29]],"Npc":[],"Event":[],"No":["GoFloor"]} 32 | ], 33 | [ 34 | ["fill",5], 35 | [], 36 | {"Floor":-1,"Name":"主塔负一层","Arrive":"No","Animate":[],"Item":[],"Door":[],"Stair":[],"Enemy":[[0,48,5,5,31,32]],"Npc":[],"Event":[],"No":["GoFloor"]} 37 | ], 38 | [ 39 | ["fill",5], 40 | [[2,1,2],[2,2,1],[2,3,1],[2,4,1],[2,5,1],[2,6,1],[2,7,1],[2,8,1],[2,9,2],[2,1,3],[2,1,4],[2,1,5],[2,1,6],[2,1,7],[2,1,8],[2,2,9],[2,3,9],[2,4,9],[2,5,9],[2,6,9],[2,7,9],[2,8,9],[2,9,8],[2,9,7],[2,9,6],[2,9,5],[2,9,4],[2,9,3],[2,2,2],[2,8,2],[2,8,8],[2,2,8],[2,2,5],[2,3,5],[2,4,5],[2,5,5],[2,6,5],[2,7,5],[2,8,5],[2,5,2],[2,5,3],[2,5,4],[2,5,6],[2,5,7],[2,5,8]], 41 | {"Floor":0,"Name":"主塔零层","Arrive":"No","Animate":[],"Item":[[0,22,3,3],[1,27,7,3],[2,11,3,2],[3,11,4,2],[4,11,2,3],[5,11,2,4],[6,7,4,3],[7,7,4,4],[8,7,3,4],[9,8,6,4],[10,8,6,3],[11,8,7,4],[12,12,6,2],[13,12,7,2],[14,12,8,3],[15,12,8,4],[16,2,4,6],[17,2,6,6],[18,1,3,6],[19,1,4,7],[20,1,7,6],[21,1,6,7],[22,"A6",3,7],[23,"A5",7,7],[24,11,2,6],[25,11,2,7],[26,11,3,8],[27,11,4,8],[28,12,8,6],[29,12,8,7],[30,12,7,8],[31,12,6,8]],"Door":[],"Stair":[[0,0,0,5,10,2,1,1]],"Enemy":[],"Npc":[],"Event":[],"No":["GoFloor"],"Start":-1} 42 | ], 43 | [ 44 | ["fill",5], 45 | [[2,4,0],[2,6,0],[2,4,1],[2,6,1],[2,4,2],[2,6,2],[2,3,2],[2,7,2],[2,3,3],[2,7,3],[2,3,4],[2,7,4],[2,3,5],[2,7,5],[2,3,6],[2,7,6],[2,4,6],[2,6,6],[2,4,7],[2,6,7],[2,4,8],[2,6,8],[2,4,9],[2,6,9],[2,4,10],[2,6,10]], 46 | {"Floor":1,"Name":"主塔一层","Arrive":false,"Animate":["Star-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[2,0],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[3,0],[3,1],[3,2],[3,7],[3,8],[3,9],[3,10],[7,0],[7,1],[7,2],[7,7],[7,8],[7,9],[7,10],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[],"Door":[[3,5,2,1]],"Stair":[[0,5,0,5,0,2,2,1],[1,3,5,5,10,2,-1,0]],"Enemy":[[0,0,5,1]],"Npc":[[0,3,5,4,0]],"Event":[],"No":[],"Start":34} 47 | ], 48 | [ 49 | ["fill",5], 50 | [[2,0,1],[2,0,3],[2,2,1],[2,2,3],[2,3,0],[2,3,1],[2,3,2],[2,3,3],[2,4,2],[2,6,2],[2,7,0],[2,7,1],[2,7,2],[2,9,2],[2,9,3],[2,9,4],[2,8,4],[2,7,4],[2,0,5],[2,1,5],[2,2,5],[2,4,5],[2,5,5],[2,5,6],[2,5,7],[2,5,8],[2,5,9],[2,4,9],[2,3,9],[2,1,9],[2,1,8],[2,1,7],[2,1,6],[2,7,6],[2,8,6],[2,10,6],[2,7,7],[2,7,8],[2,8,8],[2,10,8],[2,7,9],[2,7,10],[2,3,7],[2,3,8]], 51 | {"Floor":2,"Name":"主塔二层","Arrive":false,"Animate":[],"Item":[[0,0,8,1,2],[1,1,10,4],[2,0,9,0],[3,12,9,1],[4,11,8,0],[5,8,10,0],[6,7,10,5],[7,0,0,2],[8,11,2,2],[9,7,0,0],[10,8,2,0],[11,1,4,7],[12,8,4,8],[13,1,2,7],[14,7,2,8],[15,0,0,8],[16,26,9,10],[17,11,8,9],[18,11,10,9],[19,8,1,4],[20,12,9,5],[21,11,6,8]],"Door":[[2,5,2],[1,3,5],[0,9,6],[3,9,8,1],[14,2,9],[0,10,2],[0,1,3]],"Stair":[[1,5,0,5,0,2,1,0],[0,0,6,0,5,2,3,1]],"Enemy":[[0,23,8,7,-1,1],[1,23,10,7,-1,1],[2,12,7,5],[3,13,10,1],[4,8,8,3],[5,0,2,10],[6,1,3,10],[7,0,4,10],[8,8,1,2],[9,16,1,1],[10,8,1,0],[11,9,3,6],[12,1,2,4],[13,0,6,7]],"Npc":[[0,0,0,4,3]],"Event":[],"No":[],"Start":-1} 52 | ], 53 | [ 54 | ["fill",5], 55 | [[2,0,4],[2,1,4],[2,2,4],[2,0,6],[6,4,2],[7,6,2],[2,2,3],[2,2,1],[2,4,1],[2,5,1],[2,6,1],[2,7,1],[2,8,1],[2,8,3],[2,8,4],[2,9,4],[2,10,4],[2,3,4],[2,5,4],[2,7,4],[2,5,5],[2,5,6],[2,5,7],[2,5,9],[2,1,6],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,3,10],[2,7,6],[2,7,7],[2,7,8],[2,7,9],[2,7,10],[2,9,6],[2,10,6],[2,1,1],[2,9,1],[2,5,0]], 56 | {"Floor":3,"Name":"主塔三层","Arrive":false,"Animate":[],"Item":[[0,21,4,0],[1,"A2",6,0],[2,0,4,6],[3,0,6,6],[4,11,4,7],[5,11,6,7],[6,7,0,9],[7,8,1,10],[8,2,9,10],[9,1,10,9],[10,0,0,2],[11,1,1,3],[12,8,10,2],[13,12,9,3]],"Door":[[7,2,6],[7,8,6],[14,5,8],[14,3,1],[0,2,2],[0,8,2],[1,0,1],[1,10,1],[0,4,4],[1,6,4]],"Stair":[[1,0,5,0,6,2,2,0],[0,10,5,9,9,2,4,1]],"Enemy":[[0,16,1,2],[1,16,9,2],[2,13,2,0],[3,13,8,0],[4,8,3,5],[5,8,7,5],[6,2,4,8],[7,2,6,8],[8,12,5,10],[9,10,2,7],[10,10,8,7],[11,1,5,3]],"Npc":[[0,6,5,2,4],[1,1,0,10,25],[2,2,10,10,26]],"Event":[],"No":[],"Start":-1} 57 | ], 58 | [ 59 | ["fill",5], 60 | [[2,0,2,1],[2,2,2,1],[2,3,0,1],[2,3,1,1],[2,3,2,1],[2,4,2],[2,7,2],[2,7,1],[2,7,0],[2,9,0],[2,9,1],[2,9,2],[2,9,3],[2,9,5],[2,9,6],[2,9,7],[2,10,7],[2,0,4],[2,0,7],[2,2,4],[2,2,7],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,3,10],[2,5,4],[2,6,4],[2,7,4],[2,7,5],[2,7,6],[2,7,7],[2,7,8],[2,7,10],[2,4,7],[2,5,7],[2,5,8],[2,5,10],[2,0,1],[2,1,0,3],[2,1,1],[2,2,0,3],[2,2,1,3],[2,1,2,1]], 61 | {"Floor":4,"Name":"主塔四层","Arrive":false,"Animate":[],"Item":[[0,0,0,8],[1,0,2,8],[2,2,1,9],[3,11,0,10],[4,11,2,10],[5,12,4,8],[6,12,4,10],[7,7,5,6],[8,8,0,3],[9,11,6,5],[10,7,10,0],[11,12,10,6],[12,0,4,1],[13,0,6,1],[14,12,6,10]],"Door":[[0,1,4],[3,1,7,1],[0,7,9],[0,4,4],[1,8,7],[1,9,4],[1,5,9],[14,6,2]],"Stair":[[1,9,9,10,5,2,3,0],[0,8,0,5,10,2,5,1],[2,2,1,5,10,2,"A"]],"Enemy":[[0,23,0,6,-1,5],[1,23,1,5,-1,5],[2,23,2,6,-1,5],[3,2,8,6],[4,2,6,9],[5,9,4,5],[6,8,4,9],[7,21,5,2],[8,12,6,7],[9,16,8,5],[10,13,8,2],[11,13,3,3],[12,12,10,1],[13,12,10,2],[14,12,10,3],[15,16,10,5]],"Npc":[[0,0,5,0,6]],"Event":[],"No":[],"Start":-1} 62 | ], 63 | [ 64 | ["fill",5], 65 | [[2,4,10],[2,4,9],[2,4,7],[2,4,6],[2,6,10],[2,6,9],[2,6,7],[2,6,6],[2,3,6],[2,1,6],[2,0,6],[2,7,6],[2,9,6],[2,10,6],[2,0,7],[2,0,8],[2,0,9],[2,0,10],[2,1,10],[2,2,10],[2,3,10],[2,7,10],[2,8,10],[2,9,10],[2,10,10],[2,10,9],[2,10,8],[2,10,7],[2,0,0],[2,0,1],[2,0,2],[2,0,3],[2,0,4],[2,1,0],[2,2,0],[2,3,0],[2,4,0],[2,4,1],[2,4,3],[2,4,4],[2,3,4],[2,1,4],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,0],[2,10,1],[2,10,2],[2,10,3],[2,10,4],[2,9,4],[2,7,4],[2,6,4],[2,6,3],[2,6,1]], 66 | {"Floor":5,"Name":"主塔五层","Arrive":false,"Animate":[],"Item":[],"Door":[[2,5,7],[3,4,8,1],[3,6,8,1],[3,2,6,1],[3,8,6,1],[3,2,4,1],[3,4,2,1],[3,6,2,1],[3,8,4,1]],"Stair":[[1,5,10,8,0,2,4,0],[0,5,0,10,4,2,6,1]],"Enemy":[[1,16,1,8,-1,8],[2,16,2,7,-1,8],[3,16,3,8,-1,8],[4,16,2,9,-1,8],[5,16,1,7,-1,8],[6,16,3,7,-1,8],[7,16,1,9,-1,8],[8,16,3,9,-1,8],[9,16,2,8,-1,8],[10,9,7,7,-1,9],[11,9,8,7,-1,9],[12,9,9,7,-1,9],[13,9,7,8,-1,9],[14,9,8,8,-1,9],[15,9,9,8,-1,9],[16,9,7,9,-1,9],[17,9,8,9,-1,9],[18,9,9,9,-1,9],[19,12,7,1,-1,10],[20,12,8,1,-1,10],[21,12,9,1,-1,10],[22,12,7,2,-1,10],[23,12,8,2,-1,10],[24,12,9,2,-1,10],[25,12,7,3,-1,10],[26,12,8,3,-1,10],[27,12,9,3,-1,10],[28,13,1,1,-1,11],[29,13,2,1,-1,11],[30,13,3,1,-1,11],[31,13,1,2,-1,11],[32,13,2,2,-1,11],[33,13,3,2,-1,11],[34,13,1,3,-1,11],[35,13,2,3,-1,11],[36,13,3,3,-1,11]],"Npc":[],"Event":[[0,5,7,"Npc&12",7]],"No":["GoFloor"],"Start":-1} 67 | ], 68 | [ 69 | ["fill",5], 70 | [[2,0,2],[2,2,2],[2,2,1],[2,3,1],[2,4,1],[2,1,4],[2,2,4],[2,3,4],[2,1,6],[2,2,6],[2,3,6],[2,4,6],[2,1,7],[2,1,8],[2,1,9],[2,1,10],[2,4,8],[2,4,9],[2,4,10],[2,6,0],[2,6,2],[2,6,3],[2,6,4],[2,6,6],[2,6,7],[2,6,8],[2,6,9],[2,7,9,3],[2,8,9],[2,10,9],[2,8,10,3],[2,8,1],[2,8,2],[2,8,3],[2,8,5],[2,8,6],[2,9,2],[2,9,6],[2,10,2],[2,10,6],[2,9,7],[2,3,8],[2,6,1]], 71 | {"Floor":6,"Name":"主塔六层","Arrive":false,"Animate":[],"Item":[[0,"A4",7,10],[1,0,4,0],[2,12,9,10],[3,12,10,10],[4,1,10,0],[5,0,10,1],[6,1,9,1],[7,4,0,0],[8,"A5",2,10],[9,11,3,2],[10,7,1,1],[11,8,2,0],[12,8,3,10],[13,7,2,9],[14,13,3,9],[15,11,8,7],[16,7,7,7],[17,7,8,8],[18,8,7,1],[19,12,1,4],[20,12,1,6],[21,4,2,8]],"Door":[[0,9,9],[1,8,4],[1,8,0],[2,4,7],[1,5,9],[0,1,5],[0,2,5],[0,3,5],[14,1,2],[0,6,5],[14,10,7]],"Stair":[[1,10,4,5,0,2,5,0],[0,0,10,0,6,2,7,1]],"Enemy":[[0,25,6,10],[1,21,9,0],[2,17,3,0],[3,26,3,7],[4,9,9,4],[5,17,7,6],[6,21,2,3],[7,9,1,3],[8,10,1,0],[9,10,0,1],[10,9,3,3],[11,2,5,1],[12,26,2,7],[13,2,0,8],[14,2,0,7],[15,23,7,2],[16,24,5,6],[17,16,4,2]],"Npc":[[0,1,10,7,13],[1,0,9,3,14]],"Event":[],"No":[],"Start":-1} 72 | ], 73 | [ 74 | ["fill",5], 75 | [[2,2,0,1],[2,2,1,1],[2,2,2,1],[2,2,3,1],[2,1,3,1],[2,4,1],[2,4,2],[2,4,3],[2,5,3],[2,6,3],[2,7,3,1],[2,7,2,1],[2,7,1,1],[2,7,0,1],[2,8,3,1],[2,10,3,1],[2,7,4,1],[2,7,5,1],[2,7,6,1],[2,7,7,1],[2,8,8,1],[2,10,8,1],[2,7,8,1],[2,7,9],[2,6,9,1],[2,1,5],[2,1,6],[2,1,7],[2,1,8],[2,1,9],[2,3,5],[2,3,6],[2,3,7],[2,5,7],[2,5,9],[2,3,9],[2,4,9],[2,0,5],[2,4,7]], 76 | {"Floor":7,"Name":"主塔七层","Arrive":false,"Animate":[],"Item":[[0,24,9,6],[1,29,9,1],[2,"A11",5,5],[3,28,6,8],[4,"A8",1,0],[5,13,4,8],[6,2,0,1],[7,2,1,2],[8,11,0,8],[9,0,1,10],[10,8,2,6],[11,8,2,5],[12,12,2,4],[13,11,3,3],[14,7,3,2],[15,7,3,1],[16,12,8,0],[17,12,10,0],[18,12,8,2],[19,12,10,2],[20,8,9,0],[21,8,8,1],[22,8,9,2],[23,8,10,1],[24,11,8,5],[25,11,10,5],[26,11,8,7],[27,11,10,7],[28,7,9,5],[29,7,8,6],[30,7,9,7],[31,7,10,6]],"Door":[[3,9,8,1],[3,9,3,1],[6,5,5,1],[2,0,3],[1,4,0],[0,3,10],[0,7,10],[2,5,8],[1,2,9]],"Stair":[[1,0,6,0,10,2,6,0],[0,5,2,5,10,2,8,1]],"Enemy":[[0,24,8,9,-1,15],[1,24,10,9,-1,15],[2,25,8,4,-1,16],[3,25,10,4,-1,16],[4,29,6,7],[5,30,4,4],[6,30,6,6],[7,30,6,4],[8,30,4,6],[9,26,5,4,-1,17],[10,26,6,5,-1,17],[11,26,5,6,-1,17],[12,26,4,5,-1,17],[13,19,3,8],[14,20,0,2],[15,31,0,0],[16,31,1,1],[17,32,2,7],[18,33,5,10],[19,19,0,9],[20,32,3,0],[21,10,4,10],[22,10,6,10],[23,29,5,1],[24,29,6,2]],"Npc":[[0,0,6,0,18]],"Event":[],"No":[],"Start":-1} 77 | ], 78 | [ 79 | ["fill",5], 80 | [[2,4,1,1],[2,3,2,1],[2,6,1,1],[2,7,2,1],[2,4,3,1],[2,6,3,1],[2,2,3,1],[2,1,4,1],[2,2,4,1],[2,4,4,1],[2,6,4,1],[2,8,3,1],[2,8,4,1],[2,9,4,1],[2,1,6,1],[2,2,6,1],[2,2,7,1],[2,3,7,1],[2,3,8,1],[2,5,8,1],[2,5,7,1],[2,9,6,1],[2,8,6],[2,8,7,1],[2,7,7,1],[2,7,8,1]], 81 | {"Floor":"8","Name":"主塔八层","Arrive":false,"Animate":["Star-1",[5,9],[0,6],[0,7],[0,8],[0,9],[0,10],[1,7],[1,8],[1,9],[1,10],[2,8],[2,9],[2,10],[3,9],[3,10],[10,6],[10,7],[10,8],[10,9],[10,10],[9,7],[9,8],[9,9],[9,10],[8,8],[8,9],[8,10],[7,9],[7,10],[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,1],[1,2],[1,3],[2,0],[2,1],[2,2],[3,0],[3,1],[10,0],[10,1],[10,2],[10,3],[10,4],[9,0],[9,1],[9,2],[9,3],[8,0],[8,1],[8,2],[7,0],[7,1],[4,0],[6,0]],"Item":[],"Door":[[7,4,10],[7,6,10],[3,3,4,1],[3,5,4,1],[3,7,4,1],[3,0,5,1],[3,10,5,1]],"Stair":[[1,5,10,5,2,2,7,0],[0,0,5,10,5,2,"8-1",1],[0,10,5,0,5,2,"8-2",1]],"Enemy":[[0,27,4,8],[1,27,6,8],[2,11,3,3,-1,28],[3,34,7,3,-1,28],[4,35,4,2],[5,35,6,2],[6,31,2,5],[7,18,4,5,-1,27],[8,18,6,5,-1,27],[9,31,8,5],[10,27,4,7],[11,27,6,7],[12,28,5,6,21,22]],"Npc":[[0,13,5,0,19]],"Event":[[0,4,9,"Npc&12",19],[1,6,9,"Npc&12",19],[2,5,2,"Npc&12",20]],"No":["GoFloor"],"Start":-1} 82 | ], 83 | [ 84 | ["fill",5], 85 | [], 86 | {"Floor":"8-1","Name":"主塔八层-左侧层","Arrive":"No","Animate":["Lava-1",[1,4],[2,4],[3,4],[1,5],[3,5],[1,6],[2,6],[3,6],"Star-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,2],[1,3],[1,7],[1,8],[1,10],[2,3],[2,7],[3,0],[3,2],[3,3],[3,7],[3,8],[3,10],[4,0],[4,2],[4,3],[4,4],[4,6],[4,7],[4,8],[4,10],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[6,8],[6,9],[7,5],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[10,3],[10,4],[10,6],[10,7],[9,1],[9,9]],"Item":[[0,30,2,5],[1,7,1,1],[2,7,2,0],[2,7,2,2],[3,7,1,9],[4,7,2,8],[5,7,2,10],[6,12,9,0],[7,12,10,0],[8,12,10,1],[9,12,10,10],[10,12,10,9],[13,12,9,10],[14,12,5,1],[15,12,5,2],[16,12,5,9],[17,12,5,8],[18,12,7,4],[19,12,7,6],[20,8,7,3],[21,8,7,7]],"Door":[[3,4,5,1],[1,4,1],[1,4,9],[2,9,5]],"Stair":[[1,10,5,0,5,2,8,0]],"Enemy":[[0,37,6,0],[1,37,6,10],[2,25,5,4,-1,23],[3,25,5,6,-1,23],[4,33,3,1],[5,33,3,9],[6,38,7,2],[7,38,7,8],[8,22,9,7],[9,22,9,3],[10,22,9,4],[11,22,9,6],[12,32,8,1],[13,32,8,9]],"Npc":[],"Event":[],"No":["GoFloor"],"Start":-1} 87 | ], 88 | [ 89 | ["fill",5], 90 | [], 91 | {"Floor":"8-2","Name":"主塔八层-右侧层","Arrive":"No","Animate":["Lava-1",[7,4],[7,5],[7,6],[8,4],[8,6],[9,4],[9,5],[9,6],"Star-1",[0,3],[0,4],[0,6],[0,7],[1,1],[1,9],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[3,5],[4,1],[4,2],[4,3],[4,4],[4,5],[4,6],[4,7],[4,8],[4,9],[6,0],[6,2],[6,3],[6,4],[6,6],[6,7],[6,8],[6,10],[7,0],[7,2],[7,3],[7,7],[7,8],[7,10],[8,3],[8,7],[9,0],[9,2],[9,3],[9,7],[9,8],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[[0,31,8,5],[1,8,8,0],[2,8,9,1],[3,8,8,2],[4,8,8,10],[5,8,9,9],[6,8,8,8],[7,12,3,4],[8,12,3,6],[9,12,5,2],[10,12,5,3],[11,12,5,7],[12,12,5,8],[13,7,3,3],[14,7,3,7],[15,12,0,0],[16,12,0,1],[17,12,1,0],[18,12,0,10],[19,12,0,9],[20,12,1,10]],"Door":[[3,6,5,1],[2,1,5],[1,6,9],[1,6,1]],"Stair":[[1,0,5,10,5,2,8,1]],"Enemy":[[0,37,4,0],[1,37,4,10],[2,38,3,2],[3,38,3,8],[4,32,2,1],[5,32,2,9],[6,22,1,4],[7,22,1,3],[8,22,1,6],[9,22,1,7],[10,33,7,1],[11,33,7,9],[12,25,5,4,-1,24],[13,25,5,6,-1,24]],"Npc":[],"Event":[],"No":["GoFloor"],"Start":-1} 92 | ], 93 | [ 94 | ["fill",5], 95 | [], 96 | {"Floor":"A","Name":"未知楼层","Arrive":"No","Animate":["Star-1",[0,7],[0,8],[0,9],[0,10],[1,8],[1,9],[1,10],[2,9],[2,10],[3,10],[10,7],[10,8],[10,9],[10,10],[9,8],[9,9],[9,10],[8,9],[8,10],[7,10]],"Item":[],"Door":[],"Stair":[],"Enemy":[[0,50,5,1],[1,49,5,5],[2,52,4,1],[3,53,6,1],[4,30,4,10],[5,30,3,9],[6,30,2,8],[7,30,1,7],[8,30,0,6],[9,30,6,10],[10,30,7,9],[11,30,8,8],[12,30,9,7],[13,30,10,6]],"Npc":[],"Event":[],"No":["GoFloor"],"Start":33} 97 | ], 98 | [ 99 | ["fill",5], 100 | [[2,3,3],[2,4,3],[2,6,3],[2,7,3],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,4,7],[2,5,7],[2,6,7],[2,7,7],[2,7,6],[2,7,5],[2,7,4],[2,5,3],[6,4,5],[7,6,5]], 101 | {"Floor":"B","Name":"未知楼层","Arrive":"No","Animate":["Star-1",[0,7],[0,8],[0,9],[0,10],[1,8],[1,9],[1,10],[2,9],[2,10],[3,10],[10,7],[10,8],[10,9],[10,10],[9,8],[9,9],[9,10],[8,9],[8,10],[7,10],[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[2,0],[2,1],[3,0],[3,1],[4,0],[4,1],[5,0],[5,1],[6,0],[6,1],[7,0],[7,1],[8,0],[8,1],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7]],"Item":[],"Door":[],"Stair":[],"Enemy":[],"Npc":[[0,8,5,5,36]],"Event":[],"No":["GoFloor"],"Start":35} 102 | ], 103 | [ 104 | ["fill",5], 105 | [[2,4,0],[2,6,0],[2,4,1],[2,6,1],[2,4,2],[2,6,2],[2,3,2],[2,7,2],[2,3,3],[2,7,3],[2,3,4],[2,7,4],[2,3,5,2],[2,7,5],[2,3,6],[2,7,6],[2,4,6],[2,6,6],[2,4,7],[2,6,7],[2,4,8],[2,6,8],[2,4,9],[2,6,9],[2,4,10],[2,6,10]], 106 | {"Floor":"C","Name":"未知楼层","Arrive":"No","Animate":["Star-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[2,0],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[3,0],[3,1],[3,2],[3,7],[3,8],[3,9],[3,10],[7,0],[7,1],[7,2],[7,7],[7,8],[7,9],[7,10],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[],"Door":[[7,5,2]],"Stair":[[1,3,5,5,10,2,-1,0]],"Enemy":[],"Npc":[[0,3,5,4,38],[1,13,5,0,39]],"Event":[[0,5,9,"Npc&12",30]],"No":["GoFloor"],"Start":-1} 107 | ], 108 | [ 109 | ["fill",5], 110 | [[1,4,0,1],[1,6,0,1],[1,4,1,1],[1,6,1,1],[1,4,2,1],[1,6,2,1],[1,3,2,1],[1,7,2,1],[1,3,3,1],[1,7,3,1],[1,3,4,1],[1,7,4,1],[1,7,5,1],[1,3,6,1],[1,7,6,1],[1,4,6,1],[1,6,6,1],[1,4,7,1],[1,6,7,1],[1,4,8,1],[1,6,8,1],[1,4,9,1],[1,6,9,1],[1,4,10,1],[1,6,10,1],[1,3,5,1]], 111 | {"Floor":"D","Name":"未知楼层","Arrive":"No","Animate":["Lava-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[2,0],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[3,0],[3,1],[3,2],[3,7],[3,8],[3,9],[3,10],[7,0],[7,1],[7,2],[7,7],[7,8],[7,9],[7,10],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[],"Door":[],"Stair":[],"Enemy":[[0,56,5,4,-1,43],[1,55,5,0]],"Npc":[],"Event":[[0,5,2,"Npc&12",41]],"No":["GoFloor"],"Start":40} 112 | ], 113 | [ 114 | ["fill",5], 115 | [[2,4,0],[2,6,0],[2,4,1],[2,6,1],[2,4,2],[2,6,2],[2,3,2],[2,7,2],[2,3,3],[2,7,3],[2,3,4],[2,7,4],[2,3,5,2],[2,7,5],[2,3,6],[2,7,6],[2,4,6],[2,6,6],[2,4,7],[2,6,7],[2,4,8],[2,6,8],[2,4,9],[2,6,9],[2,4,10],[2,6,10]], 116 | {"Floor":"E","Name":"主塔一层","Arrive":"No","Animate":["Star-1",[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[2,0],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[3,0],[3,1],[3,2],[3,7],[3,8],[3,9],[3,10],[7,0],[7,1],[7,2],[7,7],[7,8],[7,9],[7,10],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[9,0],[9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9],[9,10],[10,0],[10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10]],"Item":[[0,"A12",6,3,46]],"Door":[],"Stair":[[1,3,5,5,10,2,-1,0]],"Enemy":[],"Npc":[[0,3,5,4,38]],"Event":[],"No":["GoFloor"],"Start":44} 117 | ], 118 | ]; 119 | /* 120 | [ 121 | //[[0,0,0],[0,1,0],[0,2,0],[0,3,0]], 122 | ["fill",5], 123 | [[1,2,3],[1,3,4],[1,4,3],[1,3,2],[1,2,1],[1,1,0],[1,0,1],[1,1,2],[1,6,3],[1,8,3],[1,7,4],[1,3,6],[1,4,7],[1,6,7],[1,7,6],[1,7,2],[1,2,7],[1,8,7],[1,1,8],[1,3,8],[1,7,8],[1,9,8],[1,0,9],[1,2,9],[1,1,10],[1,8,9],[1,10,9],[1,9,10],[1,8,1],[1,9,2],[1,9,0],[1,10,1],[1,2,0],[1,3,0],[1,4,0],[1,6,0],[1,7,0],[1,8,0],[1,0,2],[1,0,3],[1,0,4],[1,0,6],[1,0,7],[1,0,8],[1,2,10],[1,3,10],[1,4,10],[1,6,10],[1,7,10],[1,8,10],[1,10,2],[1,10,3],[1,10,4],[1,10,6],[1,10,7],[1,10,8]], 124 | {"Name":"地下三层", 125 | "Animate":["Lava100",[3,7],[2,8],[1,9],[0,10],[7,7],[8,8],[9,9],[10,10],[3,3],[2,2],[1,1],[0,0],[7,3],[8,2],[9,1],[10,0]], 126 | "Item":[[0,11,1,3],[1,12,1,7],[2,7,3,1],[3,8,7,1],[4,8,3,9],[5,7,7,9],[6,12,9,3],[7,11,9,7]], 127 | "Door":[[5,5,5,1],[5,5,0],[5,0,5],[5,10,5],[5,5,10],[7,3,5],[7,7,5],[7,5,3],[7,5,7]], 128 | "Stair":[[0,5,5,5,5,2,2],[1,5,0,0,9,3,2],[1,5,10,0,9,3,2],[1,0,5,0,9,3,2],[1,10,5,0,9,3,2]], 129 | "Enemy":[[0,22,5,2,1],[1,22,8,5,1],[2,22,2,5,1],[3,22,5,8,1]], 130 | "Npc":[[0,3,6,6,0]],"Event":[[0,5,4,"Npc&4",2]],"No":["GoFloor","EnemyBook"]} 131 | ], 132 | "Lava100",[0,8],[0,9],[0,10],[1,10],[1,9],[2,8],[2,9],[2,10],[3,9],[3,10],[4,9],[4,10],[6,9],[6,10],[7,9],[7,10],[8,8],[8,9],[8,10],[9,9],[9,10],[10,8],[10,9],[10,10],"Star100",[1,0],[2,0],[3,0],[4,0],[1,1],[2,1],[3,1],[4,1],[1,2],[2,2],[3,2],[4,2],[1,3],[2,3],[3,3],[4,3],[1,4],[2,4],[3,4],[4,4],[1,5],[2,5],[3,5],[4,5],[1,6],[2,6],[3,6],[4,6],[6,0],[7,0],[8,0],[9,0],[6,1],[7,1],[8,1],[9,1],[6,2],[7,2],[8,2],[9,2],[6,3],[7,3],[8,3],[9,3],[6,4],[7,4],[8,4],[9,4],[6,5],[7,5],[8,5],[9,5],[6,6],[7,6],[8,6],[9,6] 133 | */ -------------------------------------------------------------------------------- /src/Res/Events.js: -------------------------------------------------------------------------------- 1 | /* 2 | 事件集合 3 | */ 4 | Flag.Event = []; //事件集合 5 | /* 6 | 列表 7 | 0 8 | */ 9 | var CallOK = true; 10 | var Message; 11 | Flag.Event = function (ID, Map, Event, HeroLocation, Floor, callback) { 12 | if (typeof (ID[0]) == "string" && typeof (ID[1]) != "undefined" && typeof (ID[1]) != "null") { 13 | switch (ID[0]) { 14 | case "Door": 15 | alert("Door"); 16 | break; 17 | } 18 | return; 19 | } 20 | switch (ID) { 21 | case 0: 22 | if (Flag.Switch[0]) { 23 | Message = ["[Npc=3,仙子]我的能力被魔王所封印。。。无法帮你更多了。。祝你好运"]; 24 | Event.ShowMessageList(Message, function () { 25 | Flag.Move = false; 26 | Event.UnlockMove(); 27 | Event.Enable("Controller"); 28 | }); 29 | return; 30 | } 31 | Event.Disable("Controller"); 32 | Message = ["[Npc=3,仙子]哟,稀客啊,你怎么会到这里来?", "[Hero]这里是哪里?我在这附近砍柴突然被一只很大的蝙蝠抓到这里来了!。", "[Npc=3,仙子]这里就是外界传说中的魔塔,这一层之上的楼层都被魔物所占据", "[Npc=3,仙子]几乎所有来到这里的人,除了打败在8层的魔物首领外不可能逃出这里……", "[Npc=3,仙子]对了,还有魔王抓走了你们国的公主,如果救出了她你下半辈子都不用愁了", "[Hero]让我过去吧!我会救出公主逃出去的!", "[Npc=3,仙子]我看你有些战斗能力,这把红钥匙就给你了。祝你能打败魔王,逃出这里"]; 33 | Event.ShowMessageList(Message, function () { 34 | Flag.Move = false; 35 | Event.UnlockMove(); 36 | Event.Enable("Controller"); 37 | Flag.Switch[0] = true; 38 | Map.DoorOpen(5, 2); 39 | Map.DrawItem(3, 2, 6, 3); 40 | //Event.RemoveEvent("Npc",0,5,4); 41 | }); 42 | break; 43 | case 1: 44 | if (!Event.EnemyExist("Now", 0) && !Event.EnemyExist("Now", 1)) { 45 | Map.DoorOpen(9, 8); 46 | } 47 | break; 48 | case 2: 49 | Map.DoorClose(3, 7, 3, 1); 50 | break; 51 | case 3: 52 | Event.Disable("Controller"); 53 | Message = ["[Npc=0,老人]勇士,救出公主打败魔王的重任就在你身上了,我也给不了你太多的帮助", "[Npc=0,老人]这本怪物图鉴是我年轻时所收集的怪物数据,就送给你吧"]; 54 | Event.ShowMessageList(Message, function () { 55 | Flag.Move = false; 56 | Event.UnlockMove(); 57 | Event.Enable("Controller"); 58 | Flag.Switch[0] = true; 59 | Event.RemoveEvent("Npc", 0, 0, 4); 60 | Event.AddEnemyBook(); 61 | Event.GetItem("A1"); 62 | }); 63 | break; 64 | case 4: 65 | Event.OpenStore("[Npc=6,贪婪之神,勇士,如你拥有金币我将能为你提供一些能力]生命 +800&PayHP:800=G-20|攻击 +3&PayATK:3=G-20|防御 +3&PayDEF:3=G-20|离开商店&CloseStore"); 66 | break; 67 | case 5: 68 | if (!Event.EnemyExist("Now", 0) && !Event.EnemyExist("Now", 1) && !Event.EnemyExist("Now", 2)) { 69 | Map.DoorOpen(1, 7); 70 | } 71 | break; 72 | case 6: 73 | Event.OpenStore("[Npc=0,经验老人,勇士,如你拥有足够的经验,我将能为你提供一些能力]综合能力(100经验)&PayLv:1000#7#7=E-100|攻击 +5(30经验)&PayATK:5=E-30|防御 +5(30经验)&PayDEF:5=E-30|离开&CloseStore"); 74 | break; 75 | case 7: 76 | Event.Disable("Controller"); 77 | Flag.EventRuning = true; 78 | Message = ["[Enemy=14,骷髅队长]很好,你竟然有能力闯到这里,不过我又怎么会让你从我这通过呢?", "[Hero]别废话!我要杀了你!"]; 79 | Event.AddEnemy(0, 14, 5, 5, -1, 12); 80 | window.setTimeout(function () { 81 | Event.ShowMessageList(Message, function () { 82 | Map.DoorClose(3, 5, 9, 1); 83 | Map.DoorClose(3, 5, 1, 1); 84 | Map.DoorClose(3, 5, 6, 1); 85 | Map.DoorClose(3, 4, 5, 1); 86 | Map.DoorClose(3, 5, 4, 1); 87 | Map.DoorClose(3, 6, 5, 1); 88 | Message = ["[Enemy=14,骷髅队长]噢?要是我手下们不肯呢?哈哈哈哈", "[Enemy=14,骷髅队长]让骷髅族来与你战斗简直是侮辱我们", "[Enemy=14,骷髅队长]除非解决掉这些初级法师,你才有资格挑战!"]; 89 | window.setTimeout(function () { 90 | Event.ShowMessageList(Message, function () { 91 | Map.DoorOpen(4, 8); 92 | Event.UnlockMove(); 93 | Flag.EventRuning = false; 94 | Event.Enable("Controller"); 95 | Event.RemoveEvent("Event", 0, 5, 7); 96 | }); 97 | }, 500); 98 | }); 99 | }, 500); 100 | break; 101 | case 8: 102 | var Exist = false; 103 | for (var i = 1; i < 10; i++) { 104 | if (Event.EnemyExist("Now", i)) { 105 | Exist = true; 106 | break; 107 | } 108 | } 109 | if (!Exist) { 110 | Message = ["[Enemy=14,骷髅队长]看来有两下子,不过初级法师是无法跟骷髅族媲美的!", "[Enemy=14,骷髅队长]如果你能解决掉这群大蝙蝠的话,你才能向我们挑战!"]; 111 | Event.ShowMessageList(Message, function () { 112 | Map.DoorOpen(6, 8); 113 | }); 114 | } 115 | break; 116 | case 9: 117 | var Exist = false; 118 | for (var i = 10; i < 19; i++) { 119 | if (Event.EnemyExist("Now", i)) { 120 | Exist = true; 121 | break; 122 | } 123 | } 124 | if (!Exist) { 125 | Message = ["[Enemy=14,骷髅队长]这怎么可能!你不可能永远都那么幸运!", "[Hero]你真是愚蠢至极,投降吧!", "[Enemy=14,骷髅队长]不!你将无法战胜骷髅人!"]; 126 | Event.ShowMessageList(Message, function () { 127 | Map.DoorOpen(8, 6); 128 | Map.DoorOpen(8, 4); 129 | }); 130 | } 131 | break; 132 | case 10: 133 | var Exist = false; 134 | for (var i = 19; i < 28; i++) { 135 | if (Event.EnemyExist("Now", i)) { 136 | Exist = true; 137 | break; 138 | } 139 | } 140 | if (!Exist) { 141 | Message = ["[Enemy=14,骷髅队长]啊!不可能!!他们竟然也失败了!。这是你逼我的!", "[Enemy=14,骷髅队长]碰上骷髅武士你必死无疑,来这的勇者无一不死于他们的剑下!"]; 142 | Event.ShowMessageList(Message, function () { 143 | Map.DoorOpen(6, 2); 144 | Map.DoorOpen(4, 2); 145 | }); 146 | } 147 | break; 148 | case 11: 149 | var Exist = false; 150 | for (var i = 28; i < 37; i++) { 151 | if (Event.EnemyExist("Now", i)) { 152 | Exist = true; 153 | break; 154 | } 155 | } 156 | if (!Exist) { 157 | Message = ["[Enemy=14,骷髅队长]你!!啊啊啊啊啊啊(接近失去理智)", "[Hero]你已经没机会了,你手上的棋子已空,打开门让我上去!饶你不死!", "[Enemy=14,骷髅队长]哼!除非我死了!来吧!我会将你碎尸万段!给我族人复仇!!!"]; 158 | Event.ShowMessageList(Message, function () { 159 | Map.DoorOpen(2, 4); 160 | Map.DoorOpen(2, 6); 161 | Map.DoorOpen(5, 6); 162 | Map.DoorOpen(4, 5); 163 | Map.DoorOpen(5, 4); 164 | Map.DoorOpen(6, 5); 165 | }); 166 | } 167 | break; 168 | case 12: 169 | Map.DoorOpen(5, 1); 170 | Map.DoorOpen(5, 9); 171 | Message = ["[Enemy=14,骷髅队长]不!!魔王大人会为我报仇的!勇士!你等着!!"]; 172 | Event.ShowMessageList(Message, function () { 173 | Map.DrawItem(0, 0, 1, 1); 174 | Map.DrawItem(1, 0, 3, 1); 175 | Map.DrawItem(2, 1, 2, 2); 176 | Map.DrawItem(3, 0, 1, 3); 177 | Map.DrawItem(4, 0, 3, 3); 178 | Map.DrawItem(5, 7, 7, 1); 179 | Map.DrawItem(6, 7, 9, 1); 180 | Map.DrawItem(7, 7, 8, 2); 181 | Map.DrawItem(8, 7, 7, 3); 182 | Map.DrawItem(9, 7, 9, 3); 183 | Map.DrawItem(10, 8, 1, 7); 184 | Map.DrawItem(11, 8, 3, 7); 185 | Map.DrawItem(12, 8, 2, 8); 186 | Map.DrawItem(13, 8, 1, 9); 187 | Map.DrawItem(14, 8, 3, 9); 188 | Map.DrawItem(15, 11, 7, 7); 189 | Map.DrawItem(16, 11, 9, 7); 190 | Map.DrawItem(17, 12, 8, 8); 191 | Map.DrawItem(18, 11, 7, 9); 192 | Map.DrawItem(19, 11, 9, 9); 193 | }); 194 | break; 195 | case 13: 196 | Event.Disable("Controller"); 197 | if (!Flag.Switch[1]) { 198 | Message = ["[Npc=1,奸商]呼!终于有人来了!不然我就被这墙压扁了!", "[Npc=1,奸商]勇士,谢谢你!我这有一个地震卷轴你买不买,我便宜卖你,800金币吧", "[Hero]你。。再说一遍。(勇士举起剑,脸上满满黑线)", "[Npc=1,奸商]别别别,我刚只是跟你开玩笑呢,250,250吧", "[Hero]那行。(死到临头都还想着钱,等等。你才是250!后悔救你!)", "[Npc=1,奸商]嘿嘿嘿,凑够250就来吧!我在这等你!"]; 199 | Event.ShowMessageList(Message, function () { 200 | Flag.Switch[1] = true; 201 | Flag.Move = false; 202 | Event.UnlockMove(); 203 | Event.Enable("Controller"); 204 | }); 205 | } 206 | else { 207 | var PayDone = false; 208 | if (parseInt(Event.getHero("Gold")) > 249) { 209 | Event.Disable("Controller"); 210 | Message = ["[Npc=1,奸商]哈哈哈,谢谢啦,告诉你个秘密吧", "[Npc=1,奸商]听说魔王ZENO住在地下"]; 211 | Event.ReduceGold(250); 212 | Event.AddTool("EarthQuake"); 213 | PayDone = true; 214 | } 215 | else { 216 | Message = ["[Npc=1,奸商]唉,勇士,我做的也是小本生意啊,最低只能250,凑够再来吧"]; 217 | } 218 | Event.ShowMessageList(Message, function () { 219 | Flag.Move = false; 220 | Event.UnlockMove(); 221 | Event.Enable("Controller"); 222 | if (PayDone) { 223 | Event.GetItem("A7"); 224 | Event.RemoveEvent("Npc", 0, 10, 7); 225 | } 226 | }); 227 | } 228 | break; 229 | case 14: 230 | Event.Disable("Controller"); 231 | Message = ["[Npc=0,老人]能来到这真是不容易呢,从这开始的怪物都会很强", "[Npc=0,老人]如果不增强实力的话完全是自寻死路", "[Npc=0,老人]我听一个小偷说这座塔的1层不是最低层,你可以拿到右下角的下楼器下去", "[Npc=0,老人]假如有随意门能绕开高级卫兵拿到下楼器,去零层前你还需要有地震卷轴", "[Npc=0,老人]对了!我必须得告诉一些怪物的信息", "[Npc=0,老人]红蝙蝠和冥骷髅吸血8%,大法师吸血25%", "[Npc=0,老人]幽灵每回合攻击你2次,骑士护卫每回合攻击你3次", "[Npc=0,老人]双手剑士每回合攻击你4次,骑士队长每回合攻击你5次!", "[Npc=0,老人]你是来救公主的,这两个飞羽给你吧,希望能够帮到你,注意中心对称"]; 232 | Event.ShowMessageList(Message, function () { 233 | Flag.Move = false; 234 | Event.RemoveEvent("Npc", 1, 9, 3); 235 | Event.AddTool("Fly", 2); 236 | Event.GetItem("A6"); 237 | Event.UnlockMove(); 238 | Event.Enable("Controller"); 239 | }); 240 | break; 241 | case 15: 242 | if (!Event.EnemyExist("Now", 0) && !Event.EnemyExist("Now", 1)) { 243 | Map.DoorOpen(9, 8); 244 | } 245 | break; 246 | case 16: 247 | if (!Event.EnemyExist("Now", 2) && !Event.EnemyExist("Now", 3)) { 248 | Map.DoorOpen(9, 3); 249 | } 250 | break; 251 | case 17: 252 | if (!Event.EnemyExist("Now", 9) && !Event.EnemyExist("Now", 10) && !Event.EnemyExist("Now", 11) && !Event.EnemyExist("Now", 12)) { 253 | Map.DoorOpen(5, 5); 254 | } 255 | break; 256 | case 18: 257 | Event.Disable("Controller"); 258 | Message = ["[Npc=0,老人]嘘。。楼上就是塔顶了!那可是魔王所处的地方,你可千万不要上去了", "[Hero]不行,我得救出公主!不达目的我是不会走的", "[Npc=0,老人]你手上的剑和盾都是古董啊,看来你也许有点实力", "[Npc=0,老人]记住!如果没拿到神圣剑和神圣盾,千万不要挑战魔王!", "[Npc=0,老人]这两样东西分别在楼上的左右侧层,需要打败镇守这两样东西的怪物", "[Npc=0,老人]在这之前你还需要有能力打败骑士队长!务必记得存档!"]; 259 | Event.ShowMessageList(Message, function () { 260 | Flag.Move = false; 261 | Event.RemoveEvent("Npc", 0, 6, 0); 262 | Event.UnlockMove(); 263 | Event.Enable("Controller"); 264 | }); 265 | break; 266 | case 19: 267 | if (!Flag.Switch[2]) { 268 | Event.Disable("Controller"); 269 | Flag.EventRuning = true; 270 | Map.DoorClose(3, 5, 10, 1); 271 | Message = ["[Enemy=28,骑士队长]你是第一个踏入这里的人类,但你也会是第一个死在这里的人类!", "[Hero]受死吧!", "[Enemy=28,骑士队长]你可以打败骷髅族但你不可能打败高贵的骑士族!我渴望和你战斗哈哈哈"]; 272 | Event.ShowMessageList(Message, function () { 273 | Flag.Move = false; 274 | Event.UnlockMove(); 275 | Event.Enable("Controller"); 276 | Flag.EventRuning = false; 277 | Flag.Switch[2] = true; 278 | }); 279 | } 280 | break; 281 | case 20: 282 | Event.Disable("Controller"); 283 | Flag.EventRuning = true; 284 | Message = ["[Enemy=36,ZENO]哈哈哈哈,勇士这个场景是不是很熟悉?", "[Hero]你是ZENO??你不是死了么??", "[Enemy=36,ZENO]我曾经跟你说过我是不死的!只要我的精神力还在,就永远活着!", "[Hero]什么?!公主在哪?快把她交出来!我相信神圣剑能够毁灭一切邪恶!", "[Enemy=36,ZENO]公主?这货被我藏在一个你永远都找不到的地方!不过你放心,她一切安好", "[Hero]放屁!我今天一定要杀了你!!", "[Enemy=36,ZENO]看来你还是不明白自己的处境,魔法警卫", "[Enemy=35,魔法警卫]在!", "[Enemy=36,ZENO]给我把他押下去!对了,重置一下,换个地方,让他继续尝试"]; 285 | Event.ReduceHP(parseInt(Event.getHero("HP") / 2)); 286 | Flag.Move = false; 287 | Event.RemoveEvent("Npc", 0, 5, 0); 288 | Event.AddEnemy(13, 36, 5, 0); 289 | Event.AddEnemy(14, 35, 5, 1); 290 | Event.AddEnemy(15, 35, 5, 3); 291 | window.setTimeout(function () { 292 | Event.ShowMessageList(Message, function () { 293 | Event.RemoveEvent("Enemy", 13, 5, 0); 294 | Event.RemoveEvent("Enemy", 14, 5, 1); 295 | Event.RemoveEvent("Enemy", 4, 4, 2); 296 | Event.RemoveEvent("Enemy", 15, 5, 3); 297 | Event.RemoveEvent("Enemy", 5, 6, 2); 298 | Flag.EventRuning = false; 299 | var FloorIndex = Event.FindFloor("Unknown"); 300 | var FloorName = Map.Maps[FloorIndex][2].Name; 301 | Event.JumpFloor(FloorName, FloorIndex, 2, 5, 10); 302 | }); 303 | }, 500); 304 | break; 305 | case 21: 306 | Event.Disable("Controller"); 307 | Message = ["[Enemy=28,骑士队长]看来我小看你了,来吧,让你见识什么叫五连击!什么才叫实力!"]; 308 | Event.ShowMessageList(Message, function () { 309 | Event.DisableEvent("Now", "Enemy", 12, 4); 310 | Flag.Move = false; 311 | Event.UnlockMove(); 312 | Event.Enable("Controller"); 313 | }); 314 | break; 315 | case 22: 316 | Event.Disable("Controller"); 317 | Message = ["[Enemy=28,骑士队长]唔。我的能量,我的铠甲,全部。都。。。他们都不会放过你的!!啊"]; 318 | Event.ShowMessageList(Message, function () { 319 | Map.DoorOpen(0, 5); 320 | Map.DoorOpen(10, 5); 321 | Flag.Move = false; 322 | Event.UnlockMove(); 323 | Event.Enable("Controller"); 324 | }); 325 | break; 326 | case 23: 327 | if (!Event.EnemyExist("Now", 2) && !Event.EnemyExist("Now", 3)) { 328 | Map.DoorOpen(4, 5); 329 | } 330 | break; 331 | case 24: 332 | if (!Event.EnemyExist("Now", 12) && !Event.EnemyExist("Now", 13)) { 333 | Map.DoorOpen(6, 5); 334 | } 335 | break; 336 | case 25: 337 | Event.Disable("Controller"); 338 | Message = ["[Npc=1,商人]勇士,谢谢你把我救了出来,为了表达谢意", "[Npc=1,商人]这十个随意门就给你了!"]; 339 | Event.ShowMessageList(Message, function () { 340 | Flag.Move = false; 341 | Event.RemoveEvent("Npc", 1, 0, 10); 342 | Event.AddTool("Door", 10); 343 | Event.GetItem("A9"); 344 | Event.UnlockMove(); 345 | Event.Enable("Controller"); 346 | }); 347 | break; 348 | case 26: 349 | Event.Disable("Controller"); 350 | Message = ["[Npc=2,小偷]嘿!勇士,瞧见第六层的老头没,他是我朋友,谢谢你救了我", "[Npc=2,小偷]我这有三把铁门钥匙,给你吧!"]; 351 | Event.ShowMessageList(Message, function () { 352 | Flag.Move = false; 353 | Event.RemoveEvent("Npc", 2, 10, 10); 354 | Event.AddKey("Iron", 3); 355 | Map.DrawMessage("获得三把铁门钥匙", "Tip"); 356 | Event.UnlockMove(); 357 | Event.Enable("Controller"); 358 | }); 359 | break; 360 | case 27: 361 | if (!Event.EnemyExist("Now", 7) && !Event.EnemyExist("Now", 8)) { 362 | Map.DoorOpen(3, 4); 363 | Map.DoorOpen(7, 4); 364 | } 365 | break; 366 | case 28: 367 | if (!Event.EnemyExist("Now", 2) && !Event.EnemyExist("Now", 3)) { 368 | Map.DoorOpen(5, 4); 369 | } 370 | break; 371 | case 29: 372 | var Exist = false; 373 | for (var i = 0; i < 9; i++) { 374 | if (Event.EnemyExist("Now", i)) { 375 | Exist = true; 376 | break; 377 | } 378 | } 379 | if (!Exist) { 380 | Map.DoorOpen(5, 2); 381 | Flag.Switch[3] = true; 382 | } 383 | break; 384 | case 30: 385 | if (!Flag.Switch[3]) { 386 | return; 387 | } 388 | Flag.EventRuning = true; 389 | Event.Disable("Controller"); 390 | Message = ["[Hero]这里。。不是刚开始的地方么。。。公主。。好像就在前面!"]; 391 | Event.ShowMessageList(Message, function () { 392 | Flag.EventRuning = false; 393 | Flag.Move = false; 394 | Event.UnlockMove(); 395 | Event.Enable("Controller"); 396 | }); 397 | break; 398 | case 31: 399 | Event.Disable("Controller"); 400 | Flag.EventRuning = true; 401 | Message = ["[Enemy=36,ZENO]你!你怎么发现这的!??", "[Hero]我不会再上你的当的!受死吧!,", "[Enemy=36,ZENO]哈哈哈,还真是我失策了,一开始就应该夺去你的能力!", "[Enemy=36,ZENO]魔法警卫!"]; 402 | if (!Flag.Switch[3]) { 403 | Message = ["[Enemy=36,ZENO]你可真是个天才,不杀魔龙也能到达这里,很有探索能力!"]; 404 | Event.ShowMessageList(Message, function () { 405 | Flag.EventRuning = false; 406 | Flag.Move = false; 407 | Event.UnlockMove(); 408 | Event.Enable("Controller"); 409 | var FloorIndex = Event.FindFloor(1); 410 | var FloorName = Map.Maps[FloorIndex][2].Name; 411 | Event.JumpFloor(FloorName, FloorIndex, 2, 5, 10); 412 | }); 413 | return; 414 | } 415 | Event.ShowMessageList(Message, function () { 416 | Event.AddEnemy(1, 35, HeroLocation[1] - 1, HeroLocation[2] - 1); 417 | Event.AddEnemy(2, 35, HeroLocation[1] - 1, HeroLocation[2] + 1); 418 | Event.AddEnemy(3, 35, HeroLocation[1] + 1, HeroLocation[2] - 1); 419 | Event.AddEnemy(4, 35, HeroLocation[1] + 1, HeroLocation[2] + 1); 420 | Message = ["[Enemy=36,ZENO]封印他的能力!", "[Enemy=35,魔法警卫]是!封印法阵展开"]; 421 | window.setTimeout(function () { 422 | Event.ShowMessageList(Message, function () { 423 | Map.DrawBattleAnimate(0, HeroLocation[1], HeroLocation[2], function () { 424 | Event.ReduceHP(parseInt(Event.getHero("HP") * 0.9)); 425 | Event.ReduceATK(parseInt(Event.getHero("ATK") * 0.9)); 426 | Event.ReduceDEF(parseInt(Event.getHero("DEF") * 0.9)); 427 | Message = ["[Enemy=36,ZENO]勇士!来吧!来挑战我啊,为了公平起见我的能力也已经大幅削减", "[Hero]ZENO!再见了!!!!"]; 428 | Event.ShowMessageList(Message, function () { 429 | Flag.EventRuning = false; 430 | Event.DisableEvent("Now", "Enemy", 0, 4); 431 | Flag.Move = false; 432 | Event.UnlockMove(); 433 | Event.Enable("Controller"); 434 | }); 435 | }); 436 | }); 437 | }, 500); 438 | }); 439 | break; 440 | case 32: 441 | Flag.EventRuning = true; 442 | Event.Disable("Controller"); 443 | Message = ["[Enemy=36,ZENO]不错嘛,小子,你是第一个打破我的镜像的人,不过,打败我还远着呢!"]; 444 | Event.ShowMessageList(Message, function () { 445 | Event.AddEnemy(5, 36, 2, 2, 42); 446 | Message = ["[Enemy=36,ZENO]哈哈哈", "[Hero]可恶,还没打死你么?!", "[Enemy=36,ZENO]我说过我是不死的"]; 447 | window.setTimeout(function () { 448 | Event.ShowMessageList(Message, function () { 449 | Flag.EventRuning = false; 450 | Flag.Move = false; 451 | Event.UnlockMove(); 452 | Event.Enable("Controller"); 453 | }); 454 | }, 500); 455 | }); 456 | break; 457 | case 33: 458 | CallOK = false; 459 | Flag.EventRuning = true; 460 | Event.Disable("Controller"); 461 | Message = ["[Enemy=50,ZENO]从今天,2016年5月7日起,破坏神雷格纳洛克,你被逐出纪元魔塔了", "[Enemy=49,雷格纳洛克]为什么?!我不也是在经典魔塔BOSS里面吗?", "[Enemy=52,魔物首领古顿]为什么?看看你自4月23号你入驻纪元魔塔起,半个月来搞了多少破坏?", "[Enemy=52,魔物首领古顿]100多层的塔已经被你拆掉了80多层了!!真是当之无愧的破坏神!", "[Enemy=52,魔物首领古顿]就算我的石怪手下以及冥灵和ZENO的石头怪人手下再多。。", "[Enemy=52,魔物首领古顿]也不够把被你破坏的墙补上!!!", "[Enemy=53,冥灵魔王]你再不走,我看这塔迟早得塌。你赶紧离开这里,否则别怪我们不客气了!", "[Enemy=50,ZENO]魔法警卫。直接把他轰出去!!"]; 462 | Event.ShowMessageList(Message, function () { 463 | Message = ["[Enemy=49,雷格纳洛克]你们。!ZENO你别太欺负人了,想当初你在TSW塔时我们可是兄弟!", "[Enemy=50,ZENO]现在不是了(冰冷)马上滚!", "[Enemy=49,雷格纳洛克]别以为就你会叫手下,我也有!远古护卫!"]; 464 | Event.AddEnemy(4, 54, 1, 2); 465 | Event.AddEnemy(5, 54, 2, 2); 466 | Event.AddEnemy(6, 54, 3, 2); 467 | Event.AddEnemy(7, 54, 7, 2); 468 | Event.AddEnemy(8, 54, 8, 2); 469 | Event.AddEnemy(9, 54, 9, 2); 470 | window.setTimeout(function () { 471 | Event.ShowMessageList(Message, function () { 472 | Event.AddEnemy(10, 51, 1, 4); 473 | Event.AddEnemy(11, 51, 2, 4); 474 | Event.AddEnemy(12, 51, 3, 4); 475 | Event.AddEnemy(13, 51, 7, 4); 476 | Event.AddEnemy(14, 51, 8, 4); 477 | Event.AddEnemy(15, 51, 9, 4); 478 | window.setTimeout(function () { 479 | Message = ["[Enemy=36,ZENO]不错不错,你这手下的确比我的强的多但是别忘了你现在在谁的地盘!", "[Enemy=49,雷格纳洛克]如果你的手下打败了我的手下我就走!!!", "[Enemy=36,ZENO]好,魔法警卫,进入近卫模式"]; 480 | Event.ShowMessageList(Message, function () { 481 | Message = ["[Enemy=36,ZENO]看到了么?你所谓的远古护卫根本不是近卫魔法警卫的对手", "[Enemy=50,ZENO]劝你立刻滚开,不然别怪重创你的手下", "[Enemy=49,雷格纳洛克]行!我滚!ZENO你给我记着!!"]; 482 | Map.DrawBattleAnimate(1, 3, 2); 483 | window.setTimeout(function () { 484 | Map.DrawBattleAnimate(0, 3, 4, function () { 485 | Event.RemoveEvent("Enemy", 12, 3, 4); 486 | Event.ShowMessageList(Message, function () { 487 | Flag.Move = false; 488 | Event.UnlockMove(); 489 | Event.Enable("Controller"); 490 | Flag.EventRuning = false; 491 | CallOK = true; 492 | callback(); 493 | var FloorIndex = Event.FindFloor("B"); 494 | var FloorName = Map.Maps[FloorIndex][2].Name; 495 | Event.JumpFloor(FloorName, FloorIndex, 2, 5, 10); 496 | }); 497 | }); 498 | }, 1300); 499 | }); 500 | }, 500); 501 | }); 502 | }, 500); 503 | }); 504 | break; 505 | case 34: 506 | Event.DisableStart(1); 507 | Event.OpenHelpPanel(); 508 | break; 509 | case 35: 510 | CallOK = false; 511 | Flag.EventRuning = true; 512 | Event.Disable("Controller"); 513 | Message = ["[Enemy=49,雷格纳洛克]可恶的家伙,居然骗我去纪元魔塔待一阵子。现在好了,才过了半个月", "[Enemy=49,雷格纳洛克]就被三个不是人的东西轰出来!"]; 514 | Event.ShowMessageList(Message, function () { 515 | Map.DrawBattleAnimate(0, 5, 2, function () { 516 | Map.Event.drawImage(Map.Res["Stair"], 64, 0, 32, 32, 160, 64, 32, 32); 517 | Event.AddEnemy(0, 49, 5, 2, -1, 37); 518 | Message = ["[Enemy=49,雷格纳洛克]魔命棋妙!你躲哪去了!别以为你藏里面就没事!", "[Enemy=49,雷格纳洛克]破坏之力!开启!"]; 519 | window.setTimeout(function () { 520 | Event.ShowMessageList(Message, function () { 521 | Event.RemoveWall(null, null, "All&0"); 522 | Message = ["[Enemy=49,雷格纳洛克]我没地方立足了,我告诉你!你新装修的房子归我了!", "[Npc=8,魔命棋妙]嘘~等等,我先撸完这关塔防魔塔", "[Enemy=49,雷格纳洛克]你——————说——什么?(满脸黑线)", "[Npc=8,魔命棋妙]这气息。。啊啊啊啊啊啊!破坏神大人!饶命啊!!咦。。墙咋没了", "[Npc=8,魔命棋妙]破坏神大人,你刚刚说要新装修的房子??其实刚刚你拆的这个就是。。。", "[Enemy=49,雷格纳洛克]我*&%#*&#&%*$,我不管!你不给我就杀了你!", "[Npc=8,魔命棋妙]啊。。。饶命啊!毕竟是我把你送进纪元的啊!(等等!转念一想)", "[Npc=8,魔命棋妙](嘲讽)你这32×32像素的低级二维生物能对我造成多大伤害?", "[Npc=8,魔命棋妙]啦啦啦啦啦~有种你就杀了我啊~来啊~", "[Enemy=49,雷格纳洛克](手中持着魔命棋妙自己磨出来的“镰刀”)好,这可是你说的,受死吧!", "[Npc=8,魔命棋妙]卧槽!救命啊!!来人啊啊啊啊啊!!如果勇士在这就好了T T", "[Hero]噢?你是说我么?", "[Npc=8,魔命棋妙]说曹操曹操就到!我上有八十岁老母,下有妻妾成群,你一定要救我啊!", "[Enemy=49,雷格纳洛克]这。。剧本不对吧。。勇士不应该在主塔做循环战斗测试么!", "[Hero]破坏神,别废话了,吃我剑击!"]; 523 | Event.ShowMessageList(Message, function () { 524 | Flag.Move = false; 525 | Event.UnlockMove(); 526 | Event.Enable("Controller"); 527 | Flag.EventRuning = false; 528 | CallOK = true; 529 | callback(); 530 | }); 531 | }); 532 | }, 1000); 533 | }); 534 | }); 535 | break; 536 | case 36: 537 | Flag.EventRuning = true; 538 | Event.Disable("Controller"); 539 | Message = ["[Npc=8,魔命棋妙]勇士啊!!我只能靠你了,一定要救我QAQ"]; 540 | Event.ShowMessageList(Message, function () { 541 | Flag.EventRuning = false; 542 | Flag.Move = false; 543 | Event.UnlockMove(); 544 | Event.Enable("Controller"); 545 | }); 546 | break; 547 | case 37: 548 | Flag.EventRuning = true; 549 | Event.Disable("Controller"); 550 | Message = ["[Enemy=49,雷格纳洛克]你。。居然打败了我的分身!看来他们三个也离死期不远了,哈哈哈哈哈", "[Npc=8,魔命棋妙](松了一口气)呼。勇士,还好你及时出现啊!不然我就Over了QAQ", "[Hero](满脸贱笑地说)魔命棋妙啊,我可救了你啊,你作为纪元魔塔的测试者~", "[Hero]该给我点什么利益好呢?嘿嘿嘿!", "[Npc=8,魔命棋妙]这。。。这我可帮不到你啊,主制作者是VC,你。找她去", "[Hero](捡起那把“镰刀”,满脸黑线)你再说一遍,你给我什么啊?", "[Npc=8,魔命棋妙](大难不死,必有后难。。)要不我叫641和俺要大触把魔龙触死怎样?", "[Hero]不够!你还没告诉我怎么出去呢!", "[Npc=8,魔命棋妙]好好好,给个折衷方案吧,我给你这把屠龙匕和两个飞羽 =。=", "[Hero]这才像样!(这家伙怎么不告诉我如何作弊,看来也不是什么好人)", "[Npc=8,魔命棋妙]哈哈,我这就送你出去~"]; 551 | Event.ShowMessageList(Message, function () { 552 | Flag.EventRuning = false; 553 | Flag.Move = false; 554 | Event.UnlockMove(); 555 | Event.Enable("Controller"); 556 | Event.AddTool("Fly", 2); 557 | Event.AddDragon(); 558 | var FloorIndex = Event.FindFloor(4); 559 | Map.Maps[FloorIndex][1].push([2, 2, 1, 1]); 560 | var FloorName = Map.Maps[FloorIndex][2].Name; 561 | Event.JumpFloor(FloorName, FloorIndex, 2, 10, 10); 562 | }); 563 | break; 564 | case 38: 565 | Flag.EventRuning = true; 566 | Event.Disable("Controller"); 567 | Message = ["[Npc=3,仙子]离开!!快离。。开这!我感觉我要控制不了了", "[Hero]发生什么了???", "[Npc=3,仙子]总之快离开!求求你不要再走下去了!!。。(眼神呆滞)"]; 568 | if (Flag.Switch[5]) { 569 | Message = ["[Npc=3,仙子].....救公主,救公主吧。"]; 570 | } 571 | Event.ShowMessageList(Message, function () { 572 | Flag.EventRuning = false; 573 | Flag.Move = false; 574 | Event.UnlockMove(); 575 | Event.Enable("Controller"); 576 | Flag.Switch[5] = true; 577 | }); 578 | break; 579 | case 39: 580 | Flag.EventRuning = true; 581 | Event.Disable("Controller"); 582 | Message = ["[Npc=13,公主]勇士,你终于来了!我可是等的好久啊!!", "[Hero]走吧!我带你出去!", "[Npc=13,公主]可惜。我不想走呢。。。。", "[Hero]公主你说什么傻话,快跟我走吧,等下怪物就追来了!", "[Npc=13,公主](奇怪的笑容)。。果然你还是没明白你的处境么?"]; 583 | Event.ShowMessageList(Message, function () { 584 | Flag.EventRuning = false; 585 | Flag.Move = false; 586 | Event.UnlockMove(); 587 | Event.Enable("Controller"); 588 | var FloorIndex = Event.FindFloor("D"); 589 | var FloorName = Map.Maps[FloorIndex][2].Name; 590 | Event.JumpFloor(FloorName, FloorIndex, 0, 5, 1); 591 | }); 592 | break; 593 | case 40: 594 | CallOK = false; 595 | Flag.EventRuning = true; 596 | Event.Disable("Controller"); 597 | Message = ["[Enemy=55,模仿者]你又一次上当了呢~哈哈哈哈哈哈", "[Hero]不!不!不!ZENO你给我出来!不要再戏弄我了!一次又一次!", "[Enemy=55,模仿者]这一切不正是你自己所创造的么?你能怪谁?", "[Hero]我?!我创造?开什么玩笑", "[Enemy=55,模仿者]你很快要进入下一轮回了哦", "[Enemy=55,模仿者]听说人在梦中死亡就会真的死呢"]; 598 | Event.ShowMessageList(Message, function () { 599 | Flag.EventRuning = false; 600 | Flag.Move = false; 601 | Event.UnlockMove(); 602 | Event.Enable("Controller"); 603 | CallOK = true; 604 | callback(); 605 | }); 606 | break; 607 | case 41: 608 | Flag.EventRuning = true; 609 | Event.Disable("Controller"); 610 | Message = ["[Enemy=55,模仿者]想跑??在这里面你是跑不掉的,这里是地狱", "[Hero]我杀了你!!!!"]; 611 | Event.AddEnemy(2, 55, 5, 3); 612 | window.setTimeout(function () { 613 | Event.ShowMessageList(Message, function () { 614 | Message = ["[Enemy=55,模仿者]你以为你这点能力能挑战我??"]; 615 | Map.DrawBattleAnimate(1, 5, 3, function () { 616 | Event.ShowMessageList(Message, function () { 617 | Message = ["[Hero]呜哇(一口血吐了出来)", "[Enemy=55,模仿者]反正你迟早要被重置清理,我帮你死的快点", "[Hero]你。。。。(晕倒)", "[Enemy=36,ZENO]3秒后启动销毁吧"]; 618 | Map.DrawBattleAnimate(0, 5, 2, function () { 619 | Event.setHero("HP", 0); 620 | Event.ShowMessageList(Message, function () { 621 | window.setTimeout(function () { 622 | Message = ["[Hero]玩家,恭喜你!通关普通结局的纪元魔塔。", "[Npc=3,仙子]谢谢支持!"]; 623 | mota(); 624 | Event.ShowMessageList(Message, function () { 625 | location.reload(); 626 | }); 627 | }, 3000); 628 | }); 629 | }); 630 | }); 631 | }); 632 | }); 633 | }, 500); 634 | break; 635 | case 42: 636 | Flag.EventRuning = true; 637 | Event.Disable("Controller"); 638 | Event.AddEnemy(6, 52, 3, 1); 639 | window.setTimeout(function () { 640 | Map.DrawBattleAnimate(0, HeroLocation[1], HeroLocation[2], function () { 641 | Event.setHero("HP", 1); 642 | Map.Fg.drawImage(Map.Res["Battle1"], 32, 96, 32, 32, HeroLocation[1] * 32, HeroLocation[2] * 32, 32, 32); 643 | Message = ["[Enemy=36,ZENO]魔物首领,干得好!这货妄图挑战我,不给他点颜色瞧瞧真是便宜他了。", "[Enemy=36,ZENO]把他关起来,严加看守!", "[Enemy=52,魔物首领古顿]是,魔王大人,来人!把这个人扔进负三层牢狱!让中级守卫去守", "[Enemy=36,ZENO]还有一楼那个仙子一起抓进去,一切的一切该结束了。"]; 644 | Event.ShowMessageList(Message, function () { 645 | window.setTimeout(function () { 646 | Message = ["[Hero]玩家,恭喜你!完美通关纪元魔塔。", "[Npc=3,仙子]谢谢支持!"]; 647 | mota(); 648 | Event.ShowMessageList(Message, function () { 649 | location.reload(); 650 | }); 651 | }, 1500); 652 | }); 653 | }); 654 | }, 500); 655 | break; 656 | case 43: 657 | Message = ["[Enemy=56,魔化仙子]我……我怎么可能被你打败……是你逼我用这一招的!", "[Enemy=56,魔化仙子](喃喃自语)那黑暗中充满着无限力量的权杖啊。", "[Enemy=56,魔化仙子]吾名伊拉,世人称我为仙子。吾为自愿投身黑。。黑暗的权杖!", "[Hero]仙子这是要干什么?要自爆吗?等等,仙子胸口挂的是什么东西", "[Hero]我看是这东西搞的鬼!(把仙子胸口的黑色徽章击飞)", "[Enemy=56,魔化仙子]唔,黑暗领域。古顿大人我无法再为您效力了。(四周开始发生变化)"]; 658 | Flag.EventRuning = true; 659 | Event.Disable("Controller"); 660 | Event.AddEnemy(2, 56, 5, 4); 661 | Event.ShowMessageList(Message, function () { 662 | Map.DrawItem(0, "A12", 6, 3); 663 | window.setTimeout(function () { 664 | var FloorIndex = Event.FindFloor("E"); 665 | var FloorName = Map.Maps[FloorIndex][2].Name; 666 | Event.JumpFloor(FloorName, FloorIndex, HeroLocation[0], HeroLocation[1], HeroLocation[2]); 667 | }, 400); 668 | }); 669 | break; 670 | case 44: 671 | Message = ["[Npc=3,仙子](如梦初醒)我干了什么?那黑色的权杖在哪里?", "[Hero]之前还挂在你的胸口上呢,之前看你不对劲,把这东西打到你旁边了。", "[Npc=3,仙子]这可是象征极度黑暗的罪恶权杖!我看到这东西掉到了我旁边", "[Npc=3,仙子]于是想用自己的力量摧毁它", "[Npc=3,仙子]怎知,罪恶权杖突然发出数道黑色的射线,接下来发生的事情我都记不清了", "[Npc=3,仙子]切记!不要拿起罪恶权杖!", "[Hero]这罪恶权杖肯定不简单。对了,刚刚那个模仿者是怎么回事?", "[Npc=3,仙子]什么??模仿者?!难道。。(身体顿时变得僵硬)"]; 672 | Event.ShowMessageList(Message, function () { 673 | Event.AddEnemy(0, 52, 5, 0, -1, 45); 674 | window.setTimeout(function () { 675 | Message = ["[Enemy=52,魔物首领古顿]仙子,在这里待了这么久,你以为我们都不管事吗?", "[Enemy=52,魔物首领古顿]你放跑了这么多个俘虏,这账得跟你好好算算了!", "[Enemy=52,魔物首领古顿]勇士,呵,至于你这一举一动都需要破仙子支撑的懦夫!", "[Enemy=52,魔物首领古顿]我让你死在梦境里你不肯,那就让你体验体验无限的梦魇吧!", "[Enemy=52,魔物首领古顿]我给你10秒的时间,如果谁能够将我打退一步我就不杀你们"]; 676 | Event.ShowMessageList(Message, function () { 677 | Flag.EventRuning = false; 678 | Flag.Move = false; 679 | Event.UnlockMove(); 680 | Event.Enable("Controller"); 681 | window.setTimeout(function () { 682 | if (!Flag.Switch[6]) { 683 | Flag.EventRuning = true; 684 | Event.Disable("Controller"); 685 | Message = ["[Enemy=52,魔物首领古顿]时间到!真是可惜了呢", "[Enemy=52,魔物首领古顿]哈哈哈,再见了!死灵裂爆!"]; 686 | Event.ShowMessageList(Message, function () { 687 | Map.DrawBattleAnimate(0, 5, 4); 688 | Map.DrawBattleAnimate(0, HeroLocation[1], HeroLocation[2], function () { 689 | Event.setHero("HP", 0); 690 | window.setTimeout(function () { 691 | Message = ["[Enemy=52,魔物首领古顿]真是群不堪一击的家伙,这仙子死几百次都不够平众怒", "[Enemy=52,魔物首领古顿]倒是这人身体倒还行,炼成傀儡倒挺不错。", "[Enemy=52,魔物首领古顿]来人!把这家伙拉到监狱里关起来,别再让这群俘虏跑了!", "[Npc=3,仙子]恭喜你通关隐藏结局的纪元魔塔前传"]; 692 | mota(); 693 | Event.ShowMessageList(Message, function () { 694 | location.reload(); 695 | }); 696 | }, 200); 697 | }); 698 | }); 699 | } 700 | }, 10000); 701 | }); 702 | }, 500); 703 | }); 704 | break; 705 | case 45: 706 | Flag.Switch[6] = true; 707 | if (Flag.Switch[7]) { 708 | Message = ["[Enemy=52,魔物首领古顿]恩,罪恶权杖的威力果然很大,只有你能掌控它了,哈哈哈", "[Hero]誓死效忠ZENO大人!", "[Npc=3,仙子]恭喜你通关了最悲惨结局的纪元魔塔前传"]; 709 | mota(); 710 | Event.ShowMessageList(Message, function () { 711 | location.reload(); 712 | }); 713 | } 714 | break; 715 | case 46: 716 | var ATKTimer = window.setInterval(function () { 717 | Event.AddATK(10000); 718 | if (Event.getHero("ATK") >= 900000) { 719 | clearInterval(ATKTimer); 720 | } 721 | }, 100); 722 | Flag.Switch[7] = true; 723 | break; 724 | } 725 | if (CallOK && (!(typeof (callback) == "undefined" || callback == null))) { 726 | callback(); 727 | } 728 | } 729 | 730 | function mota() { 731 | var a = ['\x59\x55\x64\x6b\x61\x47\x4a\x58\x56\x6a\x64\x61\x62\x46\x5a\x31\x59\x6d\x35\x73\x53\x31\x6c\x59\x57\x6d\x68\x6a\x4d\x6b\x35\x35\x59\x56\x68\x43\x4d\x45\x70\x72\x57\x6a\x46\x69\x62\x54\x55\x31\x56\x46\x52\x43\x4d\x46\x6c\x56\x59\x7a\x42\x69\x56\x31\x59\x35']; 732 | (function (b, e) { 733 | var f = function (g) { 734 | while (--g) { 735 | b['push'](b['shift']()); 736 | } 737 | }; 738 | f(++e); 739 | }(a, 0x198)); 740 | var b = function (c, d) { 741 | c = c - 0x0; 742 | var e = a[c]; 743 | if (b['CFrzVf'] === undefined) { 744 | (function () { 745 | var g; 746 | try { 747 | var i = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');'); 748 | g = i(); 749 | } catch (j) { 750 | g = window; 751 | } 752 | var h = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 753 | g['atob'] || (g['atob'] = function (k) { 754 | var l = String(k)['replace'](/=+$/, ''); 755 | var m = ''; 756 | for (var n = 0x0, o, p, q = 0x0; p = l['charAt'](q++); ~p && (o = n % 0x4 ? o * 0x40 + p : p, n++ % 0x4) ? m += String['fromCharCode'](0xff & o >> (-0x2 * n & 0x6)) : 0x0) { 757 | p = h['indexOf'](p); 758 | } 759 | return m; 760 | }); 761 | }()); 762 | b['fqlkGn'] = function (g) { 763 | var h = atob(g); 764 | var j = []; 765 | for (var k = 0x0, l = h['length']; k < l; k++) { 766 | j += '%' + ('00' + h['charCodeAt'](k)['toString'](0x10))['slice'](-0x2); 767 | } 768 | return decodeURIComponent(j); 769 | }; 770 | b['iBPtNo'] = {}; 771 | b['CFrzVf'] = !![]; 772 | } 773 | var f = b['iBPtNo'][c]; 774 | if (f === undefined) { 775 | e = b['fqlkGn'](e); 776 | b['iBPtNo'][c] = e; 777 | } else { 778 | e = f; 779 | } 780 | return e; 781 | }; 782 | alert(atob(b('\x30\x78\x30'))); 783 | } 784 | 785 | /* 786 | CallOK = false; 787 | Event.Disable("Controller"); 788 | var Message; 789 | Message = ["[Enemy=26,魔法警卫]尽管你杀了我,但是还有千千万万的魔法警卫在等着你!"]; 790 | Event.ShowMessageList(Message,function(){ 791 | Event.DisableEvent("Now","Enemy",5,4); 792 | Flag.Move = false; 793 | Event.UnlockMove(); 794 | Event.Enable("Controller"); 795 | CallOK = true; 796 | callback(); 797 | }); 798 | */ --------------------------------------------------------------------------------