<!-- 这是一个故事样本，让您了解相关基础知识 -->

<story>

	<!--
		story ID是故事章节，范围为第一话(story01)到第七话(story07)
		但考量到有些玩家故事尚未解锁，以下预设为story01
 	-->
	<storyid>story01</storyid>

	<!--
		在”简单”、”普通”、”困难”模式下的敌人等级
		“究极”模式的等级目前尚无法在此脚本设置
	-->
	<storylevel>1</storylevel>

	<!-- 用<bar>添加一个段落，它可以是小关卡或者剧本动画 -->
	<bar>
		<!--
			背景音乐，范围为01.mp3到13.mp3
			https://hf-empire.com/forum/showthread.php?tid=91

			音乐列表如下：
				Music #1 - 01.mp3
				Music #2 - 02.mp3
				Music #3 - 03.mp3
				Music #4 - 04.mp3
				Music #5 - 05.mp3
				Music #6 - 06.mp3
				Music #7 - 07.mp3
				Music #8 - 08.mp3
				Music #9 - 09.mp3
				Music #10 - 10.mp3
				Music #11 - 12.mp3
				Big 3 theme - 11.mp3
				Romance - 13.mp3
		-->
		<bgm>13.mp3</bgm>

		<!-- 新增一张地图 -->
		<bg>
			<!--
				地图ID如下：
					battle2 (2 Teams Battle map)
					battle3 (3 Teams Battle map)
					battle4 (4 Teams Battle map)
					desert
					forest_grass
					forest_mud (Lion Forest)
					hill_dry (Fortress Hill)
					hill_grass (Unused background, found within stage 8 code)
					hill_mud
					prison (The prison)
					prison2 (Sinan's room)
					prison_drama
					rock_dry (San Po Cliff)
					room1 (Small Hut)
					story01 (Lion Forest with gate)
					story02a (Lion Forest with tents and barricades, not large)
					story02b (Lion Forest at night)
					story02c (Lion Forest with gate at night)
					story03a (Fortress Hill and outside of Temple of Hero)
					story03b (Outside and entrance of Temple of Hero)
					story03b2
					story03c (Large Temple of Hero)
					story03d (Small Hut - bugged map)
					story04a (Temple of Hero at night, large)
					story04b (Temple of Hero at evening)
					story04c (Large San Po Cliff)
					story05a (Phoenix Training Grounds)
					story05a_drama
					story05b (Large Lion Forest)
					story05b_drama
					story06a (Phoenix Castle)
					story06b (Where Iczzy fought in stage 6, a giant Lion Forest with barricadde on both ends)
					story06b2
					story06c (Hell of Fire)
					story06d (Forest where Raye fought in stage 6, before he uses Curse of Thunder)
					story06d2
					story07a (Northern Gate)
					story07b (Desert at Sunset)
					story07c (Northern Gate at Night)
					story07d (Mountains)
					temple (Temple of Hero)
					trees_dry
					trees_grass (Nottingham Forest)
					trees_mud
					village (Tai Hom Village)
					village2 (Choi Hung Village)
			-->
			<bgid>story03b</bgid>
			<!--
				使用x，y，z来设置玩家的起始位置

				x - 水平，单位数值转换为像素的比例约为1：2，例如100单位即为50像素
					HF的窗口为962像素，因此若将“x”值设为962则会位于地图水平位置的中心

				z - 垂直(向上/向下走)。数值越高代表越上，越低则越下

				y - 高度(跳跃)

				TODO：了解如何衡量这些单位
			-->
			<x>20000</x>
			<z>810</z>
			<y>0</y>
			<!-- 玩家面对的方向。 0 - 右，1 - 左 -->
			<facing>0</facing>
		</bg>
		<!-- 使用<left>和<right>设置地图的边界 -->
		<left>0</left>
		<right>20400</right>

		<!--
			用<effect>新增画面效果，通常会在一个<bar>或剧本动画中使用
			一般来说你会在第一个bar设置”showTitle”(显示本关标题)效果

			Effects List:
				fadeToBlack        [画面淡出至黑色]
				fadeFromBlack      [从黑色淡入画面]
				fadeToBlackFast    [fadeToBlack的加快版]
				fadeFromBlackFast  [fadeFromBlack的加快版]
				clearCount         [过关的倒数计时并前进至下一个<bar>]
				shutterClose       [画面在快门效果后转为黑色]
				showTitle          [显示本关标题]
				storyend           [结束关卡]
				cavalry_coming     [新增”前方骑兵”警告]
				blink              [画面闪烁]
				curse_of_thunder   [为一个<bar>加入雷电诅咒]
		-->
		<effect>showTitle</effect>

		<!--
			您可能会在官方故事脚本中看到<remark>或<comment>标记
			它们只是作者对代码的备注或评论，对故事没有任何影响
			个人来说，我更喜欢使用像您现在正在阅读的XML风格备注
		-->
		<remark>
		comment the following lines in World.as to enable show title effect
		if ( storyEffect>4015 ) storyEffect = 4015;
		</remark>

		<!--
			drama scene(剧本场景)不让玩家操作，仅用于叙述故事
			第一个<drama>通常用来将角色放置在画面上
			且通常有一个start(开始)的<state>(状态)
		-->
		<drama>
			<!--
				drama的state列表如下：

					TODO: 确认下列内容都是正确的
					start - 开始一段新的剧本
					start_add_half_hp - 开始一段新的剧本并且玩家为残血
					start_and_kill_soldiers - 开始一段新的剧本并且场上没有任何士兵
					start_and_kill_all_com_teammates - 开始一段新的剧本并且场上没有电脑队友
					end - 结束剧本
			-->
			<state>start</state>

			<!-- 在画面上新增一个角色 -->
			<o>
				<!--
					<s> 为角色ID，角色列表如下：

					lucas (龙介)
					drew (褚英)
					shawn (承影)
					jenny (解玲)
					jason (结成)
					gordon (戈登)
					taylor (泰莱)
					legge (莱格)
					vivian (小樱)
					eason0 (剑客刃逊)
					eason (刃逊)
					yaga (八神)
					leo (龙奥)
					giggs (杰斯)
					titto (滔滔)
					sinan (善男)
					iczzy (冰森)
					heater (赤木)
					raye (雷殷)
					livermore (利佛魔)
					lucas2 (超级龙介)
					saws (索思)
					kids (儿童刃逊)

					z_infantry01 (步兵)
					z_archer01 (弓兵)
					z_cavalry01 (骑兵)
					z_villager01 (村民)
					z_woman01 (女人)
					z_bandit01 (盗贼)
					z_dagger01 (飞刀手)
					z_sickle01 (镰刀手)
					z_swordsman01 (剑士)
					z_sorcerer01 (术士)
					z_axeman (斧头兵)
					z_wrestler (力士)
					z_iceman (冰之傀儡)
					z_skull (地狱亡灵)

					horse (马)
					horse_monster (魔龙)
					horse_triceratops (三角龙)

					item (补品)
				-->
				<s>lucas</s>
				<!--
					无论您想为角色取什么样的名字，角色名都不应重复
					这样当我们有许多同类型的角色时，就能分辨这些角色
					以便进行后续操作
				-->
				<id>Apprentice</id>
				<!-- 角色面对的方向。 0 - 右，1 - 左 -->
				<f>0</f>

				<!--
					角色位置，y轴並不是必要的且除非有个高台能让角色站上
					否则不会有任何效果
				-->
				<x>19350</x>
				<z>810</z>
			</o>

			<!--
				我们希望Yaga站在城堡上。所以按照第一关的例子
				我们将“y”设为-622。如果不这样做
				角色不会站在城上，而会在城堡前方
			-->
			<o><s>yaga</s><id>Master</id><f>1</f><x>20130</x><z>900</z><y>-622</y></o>
			<o><s>z_infantry01</s><id>z_infantry01</id><f>1</f><x>20200</x><z>1000</z><y>-622</y></o>

			<!--
				我们想让术士骑马。马的参数必须写在巫师前面，否则不会生效
			-->
			<o><s>horse</s><id>horse1</id><f>0</f><x>18000</x><z>980</z><c>-3</c><a>a</a></o>
			<o>
				<s>z_sorcerer01</s>
				<id>z_sorcerer01</id>
				<!--
					使用<a> b </a>为角色设定皮肤。其他可用的皮肤为'a'，'b'，'c'......
					根据角色不同，可用的皮肤数量亦会有所不同
					可用的皮肤如下：(感谢vinax的搜集整理)
					lucas:
						"b"(Red Skin 红衣)
						drew:
						"b"(Red Skin 红衣)
					shawn:
						"b"(Red Skin 红衣)
					vivian:
						"a"(Ordinary sword 普通剑)
						"b"(Swordless skin 无剑)
					giggs:
						"a"(Moore skin 摩尔)
					Titto:
						"a"(Moore skin 摩尔)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					jason:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					taylor:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					legge:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					yaga:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					heater:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					iczzy:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					raye:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					eason:
						"a"(necklace 项链)
						"b"(Sword 持剑)
						"c"(Demon Lord's sword 死神之剑)
					livermore:
						"a"(Swordless skin 无剑)
					saws:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
					z_swordsman01:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
						"e"(Chirs Skin 小春)
						"f"(Sherwood Skin细荣)
					Others 其他 (Black Skin 黑衣)
					horse:
						"a"(Ordinary horse 普通马)
						"b"(black horse 黑马)
						其他(Bug Skin)
					horse_monster:
						"a"(enemy skin 敌对)
					horse_triceratops:
						其他(Bug Skin)
						"a"(enemy skin 敌对)
					[Other troops] 其他兵种:
						"a"(Blue Skin 蓝衣)
						"b"(Red Skin 红衣)
						"c"(Green Skin 绿衣)
						"d"(Yellow Skin 黄衣)
						Others 其他 (Black Skin 黑衣)
				-->
				<a>a</a>
				<f>0</f>
				<x>18000</x>
				<z>980</z>
				<!--
					使用<c> -3 </ c>让画面镜头不会计入这些角色的位置而偏移
					也就是说，这些角色会因超出画面范围而不显示在屏幕上

					TODO：我不知道为什么这个值是-3。在官方关卡上看到的其他值是-2
					但这会使镜头计入角色为至而偏移
				-->
				<c>-3</c>
				<!-- 使用<rid>让角色在屏幕上骑上马或魔兽 -->
				<rid>horse1</rid>
			</o>

			<o><s>z_bandit01</s><id>b1</id><f>0</f><x>18250</x><z>1060</z><c>-3</c></o>
			<o><s>z_bandit01</s><id>b2</id><f>0</f><x>18250</x><z>900</z><c>-3</c></o>
		</drama>
	</bar>

	<!--
		现在我们已于剧本的第一部分将角色添加至场景中
		接下来我们要在新的<bar>里添加一个新的<drama>
		来为我们的角色设计一些动作
	-->
	<bar>
		<drama>
			<!--
				让角色说话
				<a> = action (动作)
				<t> = talk (说话)
			-->
			<a><t>
				<!--
					<s>并不是必要的， 如果没有就是旁白的台词
			 	-->
				<s>yaga</s>

				<!--
					您可以加上<n> char_id </ n>赋予说话者不同的名称。可用名称如下（除了所有可用的角色ID）：
						prison_guard (守卫)
						chris
						sherwood
						moore_general
						Enemy
				-->
				<!-- <n>prison_guard</n> -->

				<!--
					使用<en>作为故事的英文版剧本。对话中的任何空格或换行都会显示在关卡中
				-->
				<en>Greetings, hero! In this tutorial stage I will be guiding you through the basics of story editing and show you some of the things that you can do.</en>

				<!-- 使用<b5>作为故事的中文版剧本 -->
				<b5>你好，英雄！在本教程关卡中，我将向你介绍故事修改的基础知识以及一些你能做的事。</b5>

				<!--
					<i>用来定义对白顺序。它的数值是对白的序号乘以10
					因此第一个对白会是<i>10</i>，第二个对白则是<i>20</i>，依此类推
				-->
				<i>10</i>
			</t></a>
			<a><t>
				<s>yaga</s>
				<en>Be sure to read the comments on the script of this stage!</en>
				<b5>请务必详细阅读本关卡脚本的备注！</b5>
				<i>20</i>
			</t></a>
			<a><t>
				<s>yaga</s>
				<en>I will now send some bandits for you to fight. The soldier will assist you.</en>
				<b5>我现在要指派一些盗贼给你战斗。而士兵则会支援你。</b5>
				<i>30</i>
			</t></a>

			<!--
				让角色去做某件事
				<a> = action (动作)
				<a> = action (动作)
			-->
			<a>
				<a>
					<id>Master</id>
					<!--
						TODO: 解读每个动作
						(可选填) 要施展特殊动作，我们可以使用<ac>
						以下是我们可以使用的一些已知动作（取决于角色）：
							_rid_attack1
							3
							36
							43
							50
							63
							72
							79
							83
							84
							3knife
							attack
							attack1
							attack2
							attack3
							attack4
							attack5
							attack5_jump
							ball
							ball1
							ball2
							ball3
							ball4
							ball2to1
							bat
							big_ball
							boom
							breakguard
							brk0
							brknow
							clone
							creobj
							dizzy
							dragon_punch
							drama_lie1
							drama_lie2
							drama_poison1
							drama_poison2
							drama_poison3
							drama_pushup
							drama_sing
							fall
							fall1
							fall5
							fire_big_ball
							fire_explode
							five_shots
							guard
							heal
							hp0
							hp1
							icecol
							iceland
							inv
							inv0
							inv50
							jump_attack
							jump_d_attack
							jump_land
							jump_start
							k
							kneel
							laser
							lie
							lie_flip
							lie_turn
							many_punch
							redcol
							roll
							run
							run_attack
							run_attack2
							run_fixed_speed
							run_stop
							run_super_attacks
							shield
							sing
							sky_roll
							somersault
							stand
							superA
							superwhip
							to_jump_attack
							up_attack
					-->
					<ac>drama_attack</ac>
					<!-- 你可以透过加入更多上述代码在此插入其他动作
					如果你这么做，这些动作会在同时完成 -->
				</a>
			</a>
			<!--
				<wac>似乎是用来让角色站立不动，从而延迟下一个动作的开始

				TODO：找出<wac>和<ac>之间究竟有何不同
		 	-->
			<a><a><id>Master</id><wac>stand</wac></a></a>
			<a><a><id>z_infantry01</id><f>1</f><x>19900</x><z>1000</z></a></a>

			<a><a><id>Apprentice</id>
					<!-- 改变角色面对的方向。 0 - 右，1 - 左 -->
					<f>1</f>
				</a>
			</a>
			<a><a><id>Apprentice</id><wac>stand</wac></a></a>
			<a>
				<!--
					同时执行3个动作。我们移动马而不是术士。
				-->
				<a><id>horse1</id><x>18700</x><z>980</z></a>
				<a><id>b1</id><x>18900</x><z>1060</z></a>
				<a><id>b2</id><x>18900</x><z>900</z></a>
			</a>
			<a><a><id>horse1</id><wac>stand</wac></a></a>
		</drama>
	</bar>

	<!-- 画面淡出至黑色 -->
	<bar>
		<effect>fadeToBlack</effect>
	</bar>

	<!-- 为地图设置战斗的边界 -->
	<bar>
		<left>16500</left>
		<right>20500</right>
	</bar>

	<!-- 结束剧本 -->
	<bar>
		<drama>
			<state>end</state>
		</drama>
		<effect>fadeFromBlack</effect>
	</bar>

	<!-- 玩家可操作场景 -->
	<bar>
		<bgm>04.mp3</bgm>
		<!-- 使用<obj>来新增一个角色 -->
		<obj>
			<!--
				id是您要使用的角色代码，与剧本场景不同，这个id相当于剧本里的<s>
			-->
			<id>z_sorcerer01</id>
			<!--
				(可选填) 使用<hp>为角色设置一个不同于预设值的血量，通常用于boss
			-->
			<hp>120</hp>
			<!-- (可选填) 使用<grp>1</grp>让角色成为1号军的boss-->
			<grp>1</grp>
			<!--
				(可选填) 使用<a>a</a>为角色设定皮肤
				其他可能的数值为'b'、'c'、’d’......
				依据角色不同可能更多或更少
			-->
			<a>a</a>
			<!--
				使用<h>添加骑乘者
				<h>o</h>  = 黑马 (骑士被击落后逃跑)
				<h>p</h>  = 马 (骑士被击落后趴下)
				<h>pm</h> = 魔龙 (骑士被击落后趴下)
				<h>om</h> = 魔龙 (骑士被击落后后成为敌人)
				<h>pt</h> = 三角龙 (骑士被击落后趴下)
				<h>ot</h> = 三角龙 (骑士被击落后成为敌人)

				first digit = o / p [o表示不可由玩家骑乘，p表示可由玩家骑乘]
				second digit = none / m / t [无 = 马，m = 怪物，t = 三角龙]

				注意：有些角色无法骑乘，如弓箭手
				https://hf-empire.com/hf-empire/game-play/troops
			-->
			<h>p</h>
			<!-- 敌人是从左边来的（因而面向右边） -->
			<facing>0</facing>
			<!--
				与剧本场景的坐标是相对于整个地图不同，这些坐标是相对于地图的可见区域
				这也是为什么'x'从0开始
			-->
			<x>0</x><z>980</z>
		</obj>


		<obj>
			<id>z_bandit01</id>
			<!--
				(可选填) 使用<times>决定角色生成的次数
			-->
			<times>12</times>
			<!--
				(可选填) 使用<ratio>表示敌人规模，再乘以玩家数量即为实际规模。
				比如ratio = 1代表每个玩家有1个此类型的敌人
				ratio = 0.5则是每2名玩家1个敌人
			-->
			<ratio>1</ratio>
			<!--
				<bossGrp> 1 </ bossGrp>代表他们是1号军的士兵
				当1号军的所有boss都被击倒，他们也会跟着死亡
			-->
			<bossGrp>1</bossGrp>
			<facing>0</facing>
			<x>0</x><z>900</z>
			<!--
				我们将皮肤设置为蓝色，否则关卡会因为它皮肤是红色而设想它是敌人
				在本情况下，盗贼应该是龙族的一员
			-->
			<a>a</a>
		</obj>


		<obj>
			<id>z_bandit01</id>
			<times>12</times>
			<ratio>1</ratio>
			<!--
				我们可以让这个盗贼成为另一支军队的boss，同时仍然是1号军的士兵
			-->
			<!-- <grp>2</grp> -->
			<bossGrp>1</bossGrp>
			<!-- 这个盗贼死亡后会掉一瓶回血剂 -->
			<po>potion_red</po>
			<facing>0</facing>
			<x>0</x><z>1060</z>
			<a>a</a>
		</obj>
		<obj><id>z_infantry01</id><facing>0</facing><times>1</times><toHire></toHire><x>3300</x><z>-900</z></obj>
	</bar>

	<bar>
		<effect>fadeToBlack</effect>
	</bar>

	<bar>
		<bgm>13.mp3</bgm>
		<bg>
			<bgid>story03b</bgid>
			<x>20000</x>
			<z>800</z>
			<y>0</y>
			<facing>0</facing>
		</bg>
		<left>0</left>
		<right>20400</right>
		<drama>
			<state>start</state>

			<o><s>lucas</s><id>Apprentice</id><f>1</f><x>19350</x><z>810</z></o>
			<o><s>yaga</s><id>Master</id><f>1</f><x>20130</x><z>900</z><y>-622</y></o>
			<o><s>z_infantry01</s><id>z_infantry01</id><f>1</f><x>19200</x><z>1000</z></o>
			<o><s>horse</s><id>horse1</id><f>0</f><x>19000</x><z>980</z><a>a</a></o>
			<o><s>z_sorcerer01</s><id>z_sorcerer01</id><a>a</a><f>0</f><x>19000</x><z>810</z></o>
			<o><s>z_bandit01</s><id>b1</id><f>0</f><x>18500</x><z>900</z></o>
			<o><s>z_bandit01</s><id>b2</id><f>0</f><x>18750</x><z>710</z></o>
		</drama>
	</bar>
	<bar>
		<drama>
			<a>
				<a><id>b1</id><f>1</f><ac>lie</ac></a>
				<a><id>b2</id><f>0</f><ac>lie</ac></a>
				<a><id>z_sorcerer01</id><f>0</f><ac>kneel</ac></a>
			</a>
		</drama>
	</bar>
	<bar>
		<effect>fadeFromBlack</effect>
	</bar>
	<bar>
		<drama>
			<a><t>
				<s>yaga</s>
				<en>Well done, hero! I hope that you've learned something about story editing by looking at the story script while playing.</en>
				<b5>干得好，英雄！ 我希望你已通过在操作时对照故事脚本的过程中学习到一些故事修改的相关知识。</b5>
				<i>40</i>
			</t></a>
			<a><t>
				<s>yaga</s>
				<en>This was just a very basic tutorial to get you started and is far from being exhaustive. There are many more things that you can learn by looking at other story scripts.</en>
				<b5>这只是一个帮助你入门的基本教程，你可以透过研究其他故事脚本来了解更多内容。</b5>
				<i>50</i>
			</t></a>
			<a><t>
				<s>yaga</s>
				<en>Please do not hesitate to ask questions and share your creations at Hero Fighter Empire.
https://hf-empire.com/forum/</en>
				<b5>请不吝发问和在Hero Fighter Empire上分享你的作品。
https://hf-empire.com/forum/</b5>
				<i>60</i>
			</t></a>
			<a><t>
				<s>yaga</s>
				<en>Good luck &amp; have fun!</en>
				<b5>祝你好运并玩得开心！</b5>
				<i>70</i>
			</t></a>
			<a><t>
				<b5>--- 本关完结 ---
(故事教程由MangaD制作。感谢Leo Gautama研究出了大部分的运作原理。)</b5>
				<en>--- Stage Finshed ---
(Story tutorial by MangaD. Thanks to Leo Gautama for finding how most of the stuff works.)</en>
				<i>80</i>
			</t></a>
		</drama>
	</bar>

	<!-- 结束故事 -->
	<bar>
		<bgm>off</bgm>
		<effect>storyend</effect>
	</bar>

</story>
