rebf-gaiden/Scripts/_A.rb
2025-04-26 17:06:34 -05:00

393 lines
No EOL
21 KiB
Ruby
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=begin
トリス スキルツリー仮 ver4
=end
module SkillTree
# キラキラスティック用
# スイッチがオンの時にツリー画面を開くと、スキルの習得を解除する
# メニューを介さず直接ツリー画面に行くには SceneManager.call(Scene_SkillPoint)
RESET_SWITCH = 14 # スイッチID
RESET_SKILL = 132 # 習得解除するスキルID
# 画面右下のJOBEXPウインドウの横幅
JOBEXP_WIDTH = 160
# カーソル画像のファイル名
CURSOR_FILENAME = "Graphics/Pictures/casoru"
# スクロールバー設定  色は Color.new(赤, 緑, 青, 不透明度) で指定
# ツリー画像表示部分画面から下部ウインドウを除いた部分の高さは312
# [ x, y, 横幅, 高さ, 色,
SCROLL_BAR = [627, 10, 6, 292, Color.new(255, 255, 255,0), # バー全体
1, 0, Color.new(255, 165, 5,0)] # 画面部分
#   横, 縦, 色] (横・縦は「バー全体」から狭める値)
# ツリー設定 設定方法はこの下
TR1 = [] # 作りたい分だけ作成
TR2 = []
TR3 = []
TR = [nil, TR1, TR2, TR3] # 番目はnil その後にTR1以降を入れる
w = "w"; s = "s"; a = "a"; d = "d" # 変更しない
# 座標指定用の値
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
X = [-8,128,232,313,419,515,150,315,445]
Y = [32,47,61,78,90,106,123,139,152,167,184,197,212,229,244,256,274,288,304,319,334,349,364,379,394,409,424,439,454,469,484,499,514,529,544,559,574,589,604,619,634,649,664,679,694,709,724,739]
# 1 2 3 4 5 6 7 8
# ツリー1番の設定名 条件スイッチ
TR1[0] = ["Graphics/Pictures/skillture1"]
# スキル XY座標 移動先省略するとwsad
TR1[1] = [[132],[ 1, 1], [ 1, 1, 2, 2]]##メイン
TR1[2] = [[250, 251, 245],[ 2, 1], [ 41, 3, 1, 1]]#経験値増加
TR1[3] = [[134, 135, 136],[ 2, 3], [ 2, 5, 4, 4]]#精力鍛錬
TR1[4] = [[156, 157, 158],[ 3, 3], [ 2, 6, 3, 3]]#耐え抜き
TR1[5] = [[159, 160, 161],[ 2, 5], [ 3, 14, 7, 6]]#精神力鍛錬
TR1[6] = [[218, 219, 220],[ 3, 5], [ 4, 8, 5, 7]]#魔術の手
TR1[7] = [[327, 328, 329],[ 4, 5], [ 4, 9, 6, 5]]#プラズマローター
TR1[8] = [[141, 142, 143],[ 3, 6], [ 6, 15, 11, 9]]#ヒール
TR1[9] = [[183],[ 4, 6], [ 7, 12, 8, 10]]#ライトアップ
TR1[10] = [[184],[ 5, 6], [ 7, 13, 9, 11]]#テレポテーション
TR1[11] = [[185],[ 6, 6], [7, 25, 10, 8]]#ワープゲート
TR1[12] = [[203, 204, 205],[ 4, 7], [ 9, 16, 13, 13]]#速度増加
TR1[13] = [[206, 207, 208],[ 5, 7], [ 10, 24, 12, 12]]#速度減少
TR1[14] = [[190, 191, 192],[ 2, 9], [ 5, 18, 16, 15]]#退魔の加護
TR1[15] = [[187, 188, 189],[ 3, 9], [ 8, 17, 14, 16]]#破邪の加護
TR1[16] = [[196, 197, 198],[ 4, 9], [ 12, 20, 15, 14]]#強化の魔術
TR1[17] = [[202],[ 3, 10], [ 15, 19, 17, 17]]#聖水作成
TR1[18] = [[304, 305, 306],[ 2, 12], [ 14, 26, 20, 19]]#舌修練
TR1[19] = [[199, 200, 201],[ 3, 12], [ 17, 22, 18, 20]]#キス責め
TR1[20] = [[193, 194, 195],[ 4, 12], [ 16, 21, 19, 18]]#ニップルキッス
TR1[21] = [[253, 254],[ 4, 13], [20, 23, 21, 21]]#沈黙耐性
TR1[22] = [[146, 147, 148],[ 3, 14], [ 19, 27, 25, 23]]#言葉責め
TR1[23] = [[209, 210, 211],[ 4, 14], [ 21, 28, 22, 24]]#値切り交渉
TR1[24] = [[212, 213, 214],[ 5, 14], [ 10, 28, 23, 25]]#商売人の心得
TR1[25] = [[359],[ 6, 14], [11, 28, 24, 22]]#ポーション修練
TR1[26] = [[336, 337, 338],[ 2, 16], [18, 29, 28, 27]]##指修練
TR1[27] = [[162, 163, 164],[ 3, 16], [ 22, 30, 26, 28]]#乳を揉む
TR1[28] = [[330, 331, 332],[ 4, 16], [ 23, 37, 27, 26]]#アナルフィンガー
TR1[29] = [[137, 138, 139],[ 2, 18], [ 26, 33, 30, 30]]#ペニス修練
TR1[30] = [[171],[ 3, 18], [ 27, 31, 29, 29]]#ダブルピストン
TR1[31] = [[140, 144, 145],[ 3, 19], [ 30, 32, 31, 31]]#強撃
TR1[32] = [[176, 177, 178],[ 3, 20], [ 31, 34, 32, 32]]#イラマチオン
TR1[33] = [[179],[ 2, 22], [29, 35, 34, 34]]#解毒
TR1[34] = [[242, 243],[ 3, 22], [ 32, 36, 33, 33]]#性病耐性
TR1[35] = [[165, 166, 167],[ 2, 24], [ 33, 41, 37, 36]]#観察眼
TR1[36] = [[399, 400, 401],[ 3, 24], [ 34, 39, 35, 37]]#視姦する
TR1[37] = [[168, 169, 170],[ 4, 24], [ 28, 38, 36, 35]]#ゾーンアイ
TR1[38] = [[244, 252],[ 4, 25], [37, 40, 38, 38]]#暗闇耐性
TR1[39] = [[298],[3, 26], [36, 42, 40, 40]]#モンスター情報
TR1[40] = [[247, 248, 249],[ 4, 26], [38, 43, 39, 39]]#モンスター交流
TR1[41] = [[172, 173, 174],[ 2, 28], [ 35, 2, 43, 42]]#回避率増加
TR1[42] = [[180, 181, 182],[ 3, 28], [ 39, 2, 41, 43]]#盗む
TR1[43] = [[175],[ 4, 28], [40, 2, 42, 41]]#緊急回避
# ツリー2番の設定
# ファイル名 条件スイッチ
TR2[0] = ["Graphics/Pictures/skillture2", 333]
# スキル XY座標 移動先省略するとwsad
TR2[1] = [[390, 391, 392],[ 2, 1], [ 48, 2, 1, 1]]#容姿修練
TR2[2] = [[263,264,265],[2,3],[1,3,2,2]]#ビースト
TR2[3] = [[275, 276, 277],[ 2, 5], [ 2, 4, 3, 3]]#カウンター修練
TR2[4] = [[282, 283, 284],[ 2, 6], [ 3, 6, 5, 5]]#騎乗位修練
TR2[5] = [[308, 309, 310],[ 3, 6], [ 3, 8, 4, 4]]#寝技鍛錬
TR2[6] = [[315, 316, 317],[ 2, 7], [ 4, 7, 6, 6]]#マッスルピストン
TR2[7] = [[356, 357, 358],[ 2, 9], [ 6, 10, 8, 8]]#性知識向上
TR2[8] = [[372, 373, 374],[ 3, 9], [ 5, 12, 7, 7]]#リジェネーション
#TR2[9] = [[333, 334, 335],[ 4, 9], [ 5, 13, 8, 7]]#生命還元
TR2[10] = [[256],[ 2, 11], [ 7, 11, 10, 10]]#リカバリー
TR2[11] = [[364, 365, 246],[ 2, 12], [ 10, 14, 13, 12]]#性技封印
TR2[12] = [[377],[3, 12], [ 8, 15, 11, 13]]#ディスペルマ
TR2[13] = [[307],[ 5, 12], [ 8, 30, 12, 11]]#結界陣
TR2[14] = [[384, 385, 386],[ 2, 14], [ 11, 17, 15, 15]]#バイブレーション
TR2[15] = [[381, 382, 383],[ 3, 14], [ 12, 16, 14, 14]]#ブルンバスト
TR2[16] = [[311, 312, 313],[ 3, 15], [ 15, 18, 16, 16]]#テイルビーズ
TR2[17] = [[342, 343, 344],[ 2, 17], [ 14, 19, 18, 18]]#クンニリングス
TR2[18] = [[369, 370, 371],[ 3, 17], [ 16, 20, 17, 17]]#光速舌
TR2[19] = [[360, 361, 362],[ 2, 19], [ 17, 21, 20, 20]]#鷹の指
TR2[20] = [[324, 325, 326],[ 3, 19], [ 18, 22, 19, 19]]#クアドロぷるタッチ
TR2[21] = [[279, 280, 281],[ 2, 21], [ 19, 23, 22, 22]]#クイックペニス
TR2[22] = [[285, 286, 287],[ 3, 21], [ 20, 26, 21, 21]]#三段突き
TR2[23] = [[393, 394, 395],[ 2, 23], [ 21, 25, 23, 23]]#セイントバッシュ
TR2[25] = [[295, 296, 297],[ 2, 25], [ 23, 27, 26, 26]]#アナルスタッブ
TR2[26] = [[396, 397, 398],[ 3, 25], [ 22, 29, 25, 25]]#ベアリングバッシュ
TR2[27] = [[319, 320, 321],[ 2, 27], [ 25, 28, 27, 27]]#ハイイラマチオン
TR2[28] = [[322],[2,29],[27,34,30,29]]#気功
TR2[29] = [[323],[3,29],[26,31,28,30]]#気脱
TR2[30] = [[301,302,303],[5,29],[13,32,29,28]]#爆裂
TR2[31] = [[288,289,290],[3,30],[29,33,32,32]]#ハッケイ
TR2[32] = [[257,258,259],[5,30],[30,36,31,31]]#指弾
TR2[33] = [[260,261,262],[3,31],[31,35,33,33]]#金剛
TR2[34] = [[318],[2,33], [28,38,36,35]]#ファーマシー
TR2[35] = [[299],[3,33], [33,37,34,36]]#脱衣薬
TR2[36] = [[378, 379, 380],[5,33], [32,37,35,34]]#触手召喚
TR2[37] = [[352],[3,34], [35,24,37,37]]#対脱衣ローション
TR2[38] = [[366, 367, 368],[2, 36], [34,39,24,24]]#性闘気
TR2[24] = [[387, 388, 389],[ 3, 36], [ 37, 41, 38, 38]]#グランドセクルス
TR2[39] = [[314],[2,38], [38,40,39,39]]#ペットに餌
TR2[40] = [[353, 354, 355],[2,40], [39,42,41,41]]#ストリップショーツ
TR2[41] = [[363],[3, 40], [24,44,40,40]]#ずらし
TR2[42] = [[339, 340, 341],[2,42], [40,43,42,42]]#盗みの技術
TR2[43] = [[291],[2,44], [42,45, 44,44]]#ステルス
TR2[44] = [[292, 293, 294],[3,44], [41,46,43,43]]#バックアタック
TR2[45] = [[592,593,594],[2,46], [43,47,46,46]]#対人修練
TR2[46] = [[585,586,587],[3,46], [44,47,45,45]]#逃げ撃ち
TR2[47] = [[588,589,590],[3,47], [46,48,47,47]]#横殴り
TR2[48] = [[591],[3,48], [47,1,48,48]]#トレイン
# ツリー3番の設定
# ファイル名 条件スイッチ
TR3[ 0] = ["Graphics/Pictures/skillture3", 334]
# スキル XY座標 移動先省略するとwsad
TR3[1] = [[726,727,728],[ 1, 1], [ 60, 4, 3, 2]]#限突パッシブ
TR3[2] = [[736,737,738],[ 7, 1], [ 61, 5, 1, 3]]#限突アクティブ
TR3[3] = [[758],[ 8, 1], [ 62, 6, 2, 1]]#ブレイブアサシン
TR3[4] = [[658],[ 1, 3], [ 1, 8, 7, 5]]#チンションリラックス
TR3[5] = [[655,656,657],[ 7, 3], [ 2, 9, 4, 6]]#パリイングLV1
TR3[6] = [[266,267,268],[ 8, 3], [ 3, 12, 5, 7]]#スパイラルアヌスLV1
TR3[7] = [[760,761,762],[ 9, 3], [ 3, 19, 6, 4]]#ベアリングNo433
TR3[8] = [[660,661,662],[ 1, 5], [ 4, 10, 9, 9]]#シールドチーンLV1
TR3[9] = [[659],[ 7, 5], [ 5, 11, 8, 8]]#ゴスペルマ
TR3[10] = [[270,271,272],[ 1, 7], [ 8, 16, 12, 11]]#オーラペニスLV1
TR3[11] = [[663,664,665],[ 7, 7], [ 9, 17, 10, 12]]#チンセントレイションLV1
TR3[12] = [[666],[ 8, 7], [ 6, 18, 11, 10]]#バーサーク
TR3[16] = [[709],[ 1, 9], [ 10, 20, 19, 17]]#気功煉獄
TR3[17] = [[710],[ 7, 9], [ 11, 21, 16, 18]]#阿躯滅覇凰拳
TR3[18] = [[712],[ 8, 9], [ 12, 22, 17, 19]]#陽炎
TR3[19] = [[711],[ 9, 9], [ 7, 23, 18, 16]]#前借り
TR3[20] = [[720,721,722],[ 1, 11], [ 16, 24, 23, 21]]#ソウルドレインLV1
TR3[21] = [[723,724,725],[ 7, 11], [ 17, 25, 20, 22]]#マインドブレイパーLV1
TR3[22] = [[739],[ 8, 11], [ 18, 26, 21, 23]]#蝋プリズン
TR3[23] = [[740],[ 9, 11], [ 19, 27, 22, 20]]#サドミックセッション
TR3[24] = [[671,672,673],[ 1, 13], [ 20, 63, 27, 25]]#植物栽培LV1
TR3[25] = [[767],[ 7, 13], [ 21, 28, 24, 26]]#敵のゲージ減らす薬
TR3[26] = [[768],[ 8, 13], [ 22, 29, 25, 27]]#敵のゲージ増やす薬
TR3[27] = [[674],[ 9, 13], [ 23, 30, 26, 24]]#アヘッドデモンストレーション
TR3[63] = [[765],[ 1, 15], [ 24, 13, 30, 28]]#ファーマシー2
TR3[28] = [[766],[ 7, 15], [ 25, 14, 63, 29]]#ガードゲージ増やす薬
TR3[29] = [[769],[ 8, 15], [ 26, 15, 28, 30]]#覚醒ポーション即飲み
TR3[30] = [[670],[ 9, 15], [ 27, 15, 29, 63]]#フルチンケミカルチャージ
TR3[13] = [[667],[ 1, 17], [ 63, 31, 15, 14]]#レッドスリムPP
TR3[14] = [[668],[ 7, 17], [ 28, 32, 13, 15]]#イエロースリムPP
TR3[15] = [[669],[ 8, 17], [ 29, 33, 14, 13]]#ホワイトスリムPP
TR3[31] = [[675],[ 1, 19], [13, 34, 33, 32]]#金的精錬
TR3[32] = [[676],[ 7, 19], [14, 35, 31, 33]]#肉棒精錬
TR3[33] = [[677,678,679],[ 8, 19], [15, 44, 32, 31]]#オーバーマラストマックス
TR3[34] = [[680,681,682],[ 1, 21], [ 31, 36, 35, 35]]#ソウルブレイパーLV1
TR3[35] = [[683,684,685],[ 7, 21], [ 32, 37, 34, 34]]#メテオアナルトLV1
TR3[36] = [[686],[ 1, 23], [ 34, 38, 37, 37]]#クリエイトデッドリーポイズン
TR3[37] = [[687],[ 7, 23], [ 35, 39, 36, 36]]#エンチャントデッドリーポイズン
TR3[38] = [[741],[ 1, 25], [ 36, 40, 39, 39]]#鍵開け系
TR3[39] = [[688,689,690],[ 7, 25], [ 37, 41, 38, 38]]#フルストリップLV1
TR3[40] = [[745],[ 1, 27], [ 38, 42, 41, 41]]#羅神活殺拳
TR3[41] = [[774,775,776],[ 7, 27], [ 39, 43, 40, 40]]#無刀沈
TR3[42] = [[697],[ 1, 29], [ 40, 45, 44, 43]]#愚風ステップ
TR3[43] = [[694,695,696],[ 7, 29], [ 41, 46, 42, 44]]#トゥルーサイトLV1
TR3[44] = [[698],[ 8, 29], [ 33, 66, 43, 42]]#運命のタロットカード
TR3[45] = [[691,692,693],[ 1, 31], [ 42, 47, 46, 46]]#ファルコンアナルトLV1
TR3[46] = [[746,747,748],[ 7, 31], [ 43, 48, 45, 45]]#ニップルバルカン
TR3[47] = [[699,700,701],[ 1, 33], [ 45, 49, 66, 48]]#オナリチャージLV1
TR3[48] = [[708],[ 7, 33], [ 46, 50, 47, 66]]#バジリカ
TR3[66] = [[333, 334, 335],[ 8, 33], [ 44, 53, 48, 47]]#生命還元
TR3[49] = [[702,703,704],[ 1, 35], [ 47, 51, 50, 50]]#メディタティオLV1
TR3[50] = [[705,706,707],[ 7, 35], [ 48, 52, 49, 49]]#アスムプティオLV1
TR3[51] = [[713,714,715],[ 1, 37], [ 49, 54, 53, 52]]#オパームバルカンLV1
TR3[52] = [[716,717,718],[ 7, 37], [ 50, 55, 51, 53]]#マンマンテインLV1
TR3[53] = [[719],[ 8, 37], [ 66, 64, 52, 51]]#魔法力増幅
TR3[54] = [[742,743,744],[ 1, 39], [ 51, 56, 55, 55]]#ライフスティール
TR3[55] = [[759],[ 7, 39], [ 52, 57, 54, 54]]#スティール零式
TR3[56] = [[752,753,754],[ 1, 41], [ 54, 58, 64, 57]]#キッスオブピュアーズ
TR3[57] = [[749,750,751],[ 7, 41], [ 55, 59, 56, 64]]#ヘッドクニッシュ
TR3[64] = [[763],[ 8, 41], [ 53, 65, 57, 56]]#土ヒール
TR3[58] = [[755,756,757],[ 1, 43], [ 56, 60, 65, 59]]#触手召喚強化系
TR3[59] = [[771,772,773],[ 7, 43], [ 57, 61, 58, 65]]#モンスター捕獲率アップ
TR3[65] = [[770],[ 8, 43], [ 64, 62, 59, 58]]#刹那の見抜き
TR3[60] = [[764],[ 1, 45], [ 58, 1, 62, 61]]#ワープショット
TR3[61] = [[777,778,779],[ 7, 45], [ 59, 2, 60, 62]]#MPK
TR3[62] = [[780],[ 8, 45], [ 65, 3, 61, 60]]#アイスピラークロス
end
=begin
・ver4変更点
 ・スクロールバー
 ・Q,Wキーでツリー切り替え
 ・ツリー切り替えの条件スイッチ
 ・キラキラスティック用 スイッチオン時にツリー画面を開くとスキル習得解除
 ・ver3のテストプレイ機能「Wキーで確認ウインドウを出さずに習得」を廃止
・テストプレイ機能 座標設定補助
 CTRLを押しながら方向キーを押すと、ード移動はせず
 カーソル座標を1ずつ調整 その座標をコンソールに表示
・全般設定
TR1[0] = ["Graphics/Pictures/skillture1次", 1]
 各ツリーの 0番は、ツリー画像と条件スイッチの設定です。
 [画像ファイル名, 条件スイッチ]
 条件スイッチで指定したスイッチがオフの時は、そのツリーに切り替えできません。
 条件スイッチを省略すると常に切り替え可能です。TR1のものは省略してください。
・ノード設定
 ツリー内のスキル1つ1つをノードと呼びます。(ツリー構造の用語です)
 各ツリーの 1番以降で、ードを設定します。
 ノードは [スキル配列, 座標配列, 移動先配列] で指定します。
TR1[2] = [[146, 3], [2, 1], [ 0, s, a, d]]
・ノード スキル配列
 1つのノードに、スキルレベルをまとめて設定します。
 [146, 147, 148]
 ["プロボックLV1", "プロボックLV2", "プロボックLV3"]
 [146, 3]
スキルIDで指定
B:スキル名と部分一致で指定
   複数ヒットした場合、上のほうにあるスキルを選択
  ヒットした場合、そこから先の3つ分のスキル名をコンソールに表示
要素番目に「10未満の数」を指定すると、その数だけIDを繋げる
  [146, 3]なら[146, 147, 148]になり、[132, 1]なら[132]になる
  BとCは併用可能です。
・ノード 座標配列
[2, 1]
 そのノードを選択中の、カーソル画像の[X座標番号, Y座標番号]を設定します。
 上の X = [ 0, 140, 280] で指定した値を、番号で指定します。
 座標番号が2なので、X座標は140になります。
・ノード 移動先配列
[13, 4, 1, 3]
 そのノードを選択中に移動キーを押した時の、移動先のノード番号を設定します。
 [上, 下, 左, 右]の順番です。
 ここを省略すると自動で [w, s, a, d] になります。
 移動先が
 ・ 0番           移動しない
 ・設定していないノード番号 移動しない
 ・ 900以上        「方向キーを押し始めた時」のみ900引いた番号に移動
簡易設定wsad 「自分の座標配列」から各方法で探査し、最初に見つけたノードに移動
a: ①Y座標番号はそのままで、X座標番号を1減らす(つまり左) ①を繰り返す
d: ①Y座標番号はそのままで、X座標番号を1増やす(つまり右) ①を繰り返す
  w: ①X座標番号はそのままで、Y座標番号を1減らす(つまり上) ②へ
   ②Y座標番号はそのままで、X座標番号を1減らす(つまり左) ②を繰り返す
  s: ①X座標番号はそのままで、Y座標番号を1増やす(つまり下) ②へ
   ②Y座標番号はそのままで、X座標番号を1減らす(つまり左) ②を繰り返す
 注意「上端でw(上)を使うと下端に移動」のようなことはできない
=end
module SkillTree
I_SKILL = 0
I_POS = 1
I_MOVE = 2
def self.node_skill_name_convert
flag = false
skills = load_data("Data/Skills.rvdata2")
hash = {}
TR.each_with_index do |tree, i|
next if tree == nil
tree.each_with_index do |node, j|
next if node == nil or node == tree[0]
node[I_SKILL].each_with_index do |node_skill, k|
next unless node_skill
name = node_skill
if name.is_a?(String)
skills.each_with_index do |skill, l|
next unless skill
if skill.name.index(name)
TR[i][j][I_SKILL][k] = skill.id
p sprintf("スキルツリー スキル名変換 TR[%d][%2d] %s→[%3d,%s]",
i, j, name, skill.id, skill.name)
puts sprintf(" %s %s %s",
skills[l].name, skills[l+1].name, skills[l+2].name)
break
end
end
end
failed = !TR[i][j][I_SKILL][k].is_a?(Integer)
flag = true if failed
p sprintf("スキルツリー スキル名変換エラー TR[%d][%2d] 「%s」は存在しません",
i, j, name) if failed
end
end
end
msgbox "スキルツリー スキル名変換エラーあり コンソールを確認" if flag
end
def self.node_skill_level_convert
TR.each_with_index do |tree, i|
next if tree == nil
tree.each_with_index do |node, j|
next if node == nil or node == tree[0]
if node[I_SKILL][1].is_a?(Integer) and node[I_SKILL][1] < 10
result = []
for k in 0...node[I_SKILL][1]
result.push(node[I_SKILL][0] + k)
end
TR[i][j][I_SKILL] = result
end
end
end
end
def self.node_move_wsad_convert
TR.each_with_index do |tree, i|
next if tree == nil
hash = {}
tree.each_with_index do |node, j|
next if node == nil or node == tree[0]
hash[node[I_POS]] = j
TR[i][j][I_MOVE] = ["w", "s", "a", "d"] unless TR[i][j][I_MOVE]
end
tree.each_with_index do |node, j|
next if node == nil or node == tree[0]
node[I_MOVE].each_with_index do |move, k|
TR[i][j][I_MOVE][k] = self.move_wsad(hash, node[1], move)
end
end
end
end
def self.move_wsad(hash, pos, move)
case move
when "w"
move = 0
y = pos[1] - 1
for x in 0..pos[0]
move = hash[[x, y]] if hash[[x, y]]
end
when "s"
move = 0
y = pos[1] + 1
for x in 0..pos[0]
move = hash[[x, y]] if hash[[x, y]]
end
when "a"
move = 0
y = pos[1]
for x in 0..(pos[0] - 1)
move = hash[[x, y]] if hash[[x, y]]
end
when "d"
y = pos[1]
for x in (pos[0] + 1)..X.size
return hash[[x, y]] if hash[[x, y]]
end
return 0
end
return move
end
self.node_skill_name_convert
self.node_skill_level_convert
self.node_move_wsad_convert
end