-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
#nop vim: set filetype=tt:; | ||
|
||
#nop 为革命,保护视力。本模块的出发点是为了保护玩家视力,降低破阵任务触发编写难度。; | ||
|
||
#nop 本模块可以,并且只可以用来识别破阵任务的迷阵方位颜色,; | ||
#nop 迷阵中的错误方向会被本模块识别之后,存储在 pozhen.ErrorExit 变量当中。; | ||
#nop 本模块并不提供对游戏多次提示的综合判断逻辑,需要玩家自行完成。; | ||
|
||
VAR {破阵任务的迷阵候选方向} pozhen.CandExit {}; | ||
VAR {破阵任务的迷阵错误方向} pozhen.ErrorExit {}; | ||
|
||
event.Define {job/pozhen/ErrorExit} {无参} {$MODULE} {破阵任务的迷阵解析完毕,错误方向存储在 pozhen.ErrorExit 里面}; | ||
|
||
/* | ||
破阵任务迷阵的基本规则: | ||
每个迷阵有 8 个不同的方向供玩家选择,每次尝试之前游戏都会给出提示,并在尝试之后给出反馈。 | ||
八卦的汉字符号是乱序的,本身毫无意义,但是会通过闪烁或者不闪烁来对玩家进行提示。 | ||
不闪烁的方向是角色通过占卜技能排除掉的错误方向,闪烁的方向是游戏提醒玩家进行选择的方向。 | ||
因为每次闪烁的方位都不一样,所以玩家需要综合历史记录进行判断。 | ||
*/ | ||
|
||
#var pozhen.mazeLine {n}; | ||
|
||
#alias {pozhen.maze.parse} { | ||
#class pozhen.maze.parse open; | ||
|
||
#local bagua {?:乾|坤|坎|離|震|兌|巽|艮}; | ||
|
||
#nop 破阵的八卦方位字固定为绿底红字,只是有的闪烁,有的不闪烁,据此捕捉; | ||
#nop 如果有三组的,就是上下两排,如果只有两组的,那就是中间一排,一共八个方位; | ||
#action {~^%c%u{\e\[5m|}\e[42;1m\e[1;31m{$bagua}%c%u{\e\[5m|}\e[42;1m\e[1;31m{$bagua}%c%u{\e\[5m|}\e[42;1m\e[1;31m{$bagua}%u$} { | ||
#local mazeline {$pozhen.mazeLine}; | ||
|
||
#if { "$mazeline" == "n" } { | ||
#var pozhen.mazeLine {s}; | ||
#var pozhen.ErrorExit {}; | ||
}; | ||
#else { | ||
#var pozhen.mazeLine {n}; | ||
}; | ||
|
||
#if { "%%3" == "" } {#var pozhen.ErrorExit[${mazeline}w] {true}}; | ||
#if { "%%6" == "" } {#var pozhen.ErrorExit[$mazeline] {true}}; | ||
#if { "%%9" == "" } {#var pozhen.ErrorExit[${mazeline}e] {true}}; | ||
|
||
#if { "$mazeline" == "s" } { | ||
#delay 0 {pozhen.maze.hint}; | ||
}; | ||
} {4.91}; | ||
|
||
#nop 接上,这里表示是中间的,注意触发的优先级要比上面的低一些; | ||
#action {~^%c%u{\e\[5m|}\e[42;1m\e[1;31m{$bagua}%c%u{\e\[5m|}\e[42;1m\e[1;31m{$bagua}%c%u$} { | ||
#if { "%%3" == "" } {#var pozhen.ErrorExit[w] {true}}; | ||
#if { "%%6" == "" } {#var pozhen.ErrorExit[e] {true}}; | ||
} {4.92}; | ||
|
||
event.ClassHandle {map/LeaveDungeon} {job/pozhen/maze} {job/pozhen} { | ||
pozhen.maze.reset; | ||
#class pozhen.maze.parse kill; | ||
}; | ||
|
||
#class pozhen.maze.parse close; | ||
}; | ||
|
||
#action {^这里虽然一片宁静气氛,鸟语花香,但也透出着暗藏的杀机。$E} { | ||
pozhen.maze.reset; | ||
pozhen.maze.parse; | ||
}; | ||
|
||
#action {^这里的迷阵在你眼中如同儿戏一般。$E} { | ||
pozhen.maze.reset; | ||
}; | ||
|
||
#alias {pozhen.maze.hint} { | ||
#local errorExit {@table.Keys{pozhen.ErrorExit;%*}}; | ||
#var pozhen.ErrorExit {$errorExit}; | ||
event.Emit {job/pozhen/ErrorExit}; | ||
}; | ||
|
||
#alias {pozhen.maze.reset} { | ||
#var pozhen.CandExit {}; | ||
#var pozhen.ErrorExit {}; | ||
#var pozhen.MazeLine {n}; | ||
}; |