API/環境変数

Last-modified: 2021-02-06 (土) 12:40:39

ゲームの進行状況に応じて値が変化する変数です。
グローバル変数の扱いでyield()関数を呼ぶたびに更新されます。
緋想天/非想天則から情報を得る主な手段となります。

 

front

相手が居る方向、常に2(ACT_LEFT)か3(ACT_RIGHT)の値をとります。
相手との位置から判別するため、振り向く前などコマンドが逆になることがあります。

back

frontの逆、相手が居ない方向を常に指します。

u_front

相手がいる方向+ACT_UPと同義であるキー指定子の値をとります。

d_front

相手がいる方向+ACT_DOWNと同義であるキー指定子の値をとります。

u_back

u_frontの逆のキー指定子の値をとります。

d_back

d_frontと逆のキー指定子の値をとります。

dis

相手とのx方向の距離、math.floor(math.abs(x-ex))の返り値と常に同じ数値になります。

dis_x

disと同じです。

dis_y

相手とのy方向の距離、math.floor(math.abs(y-ey))の返り値と常に同じ数値になります。

dis2

相手とのxy含めた距離です。math.floor(math.sqrt(dis_x*dis_x+dis_y*dis_y))の返り値と常に同じ数値になります。

my_act

自分の現在モーションです。
具体的に何のモーションか知りたい場合は以下のリンクを参照願います。

enemy_act

相手のモーションです。

weather

天候です。極光時に限り一定時間すると極光ではなく実際に発動している天候効果の番号が返るようになります。
set_weather_delayを設定することで効果が判明する時間を設定できます。

天候数値(緋想天)数値(非想天則)
快晴00
霧雨11
曇天22
蒼天33
44
花曇55
濃霧66
77
天気雨88
疎雨99
風雨1010
晴嵐1111
川霧1212
台風1313
--14
ダイヤモンドダスト--15
黄砂--16
烈日--17
梅雨--18
極光1419
気質1521

my_char

AI操作側のキャラクターです。

キャラクター数値(緋想天)数値(非想天則)
霊夢00
魔理沙11
咲夜22
アリス33
パチュリー44
妖夢55
レミリア66
幽々子77
88
萃香99
優曇華1010
1111
小町1212
衣玖1313
天子1414
早苗--15
チルノ--16
美鈴--17
--18
諏訪子--19

enemy_char

相手のキャラです。

my_hp

自分のHPです。最大10000。

enemy_hp

相手のHPです。

my_rei

自分の霊力です、霊力球一個当り200、最大で1000になります。

enemy_rei

相手の霊力です。

my_rmax

自分の最大霊力値です、最大1000で一つ割れるごとに200減ります。

enemy_rmax

相手の最大霊力値です。

my_spell

自分のスペルカードゲージの量です、一枚当り500で最大2500です。

enemy_spell

相手のスペルカードゲージの量です。

my_combo

自分のコンボヒット数です、別の攻撃がガードされるかヒットするまで前回のコンボヒット数を指し続けます。

enemy_combo

相手のコンボヒット数です。

my_dam

自分の合計コンボ与ダメージです。

enemy_dam

相手の合計コンボ与ダメージです。

my_limit

自分の与リミットです。

enemy_limit

相手の与リミットです。

my_rate

自分の与レートです。

enemy_rate

相手の与レートです。

x

自分の現在X座標です。

ex

相手の現在X座標です。

y

自分の現在Y座標です。

ey

相手の現在Y座標です。

obj_dis

自分に最も近い敵ダメージ判定の位置です。
X座標のみを基準に算出しているため、頭上を飛び越える射撃にも反応します。

obj_dis2

自分に最も近い敵オブジェクトの位置です。

my_obj_n

現在存在している自分のオブジェクト数です。

enemy_obj_n

現在存在している相手のオブジェクト数です。

my_card

自分の1枚目のカードIDです。
具体的なカードIDは以下のリンクを参照願います。

enemy_card

相手の1枚目のカードIDです。

my_air

自分の空中ダッシュ回数です、これが2(風雨ならば3)の場合空中ダッシュが使用できない状態です。

enemy_air

相手の空中ダッシュ回数です。

my_frame

自分がそのモーションをはじめてからの経過フレーム数です。
立ちや歩きなど継続して行える行動の場合は4バイトの限界まで増え続けます。

enemy_frame

相手がそのモーションを始めてからの経過フレーム数です。

my_act_block

自分の現在のモーションの段階です。
my_frameが途中でリセットされるような行動の場合、リセットされるたびにインクリメントされます。

enemy_act_block

相手の現在のモーションの段階です。

key_delay

set_key_delayで指定できるdelay(キー入力の遅延フレーム数)です。
このフレーム数だけkey_eventやkey_onなどといったすべてのキー入力命令の実行が遅れます。
ここに代入してもset_key_delayと同様の効果があります。

data_delay

set_data_delayで指定できるdelay(相手状態取得遅延フレーム数)です。
このフレーム数だけenemy_actとenemy_frameの取得が遅れます。
ここに代入してもset_data_delayと同様の効果があります。

battle_time

対戦開始してからの経過フレーム数です。
緋想天もしくは非想天則依存のため、動作環境によりyield一回ごとに必ず+1するわけではありません。
そのため動作目安としても使うことができます。

	i = 0;
	while true do
	    print(battle_time-i);
	    i = i+1;
	    yield();
	end

このコードを動かして、表示されている数字が変わらないのが理想の環境です。

is_card_use

自身の1枚目のカードが使用可能であれば true 、そうでないならば false が格納されます。

weather_time

気質カウンター(天候表示部分で増減している数字)を10倍した値です。
天候無しのときは増加し、天候ありのときは減少していきます。
0未満になること、および1000以上になることはありません。
極光時は極光を示す値ではなく、実際に発現している天候の値が帰ります。
ただし、weather_delayの設定次第で極光の値が帰ることもあります。

weather2

天気の予報です。
気質発現中はweather2と同様の働きをしますが、極光時はweather_delayに関係なく常に極光を示す値が返ります。

weather_delay

極光時に天候効果がわかるようになるまでの時間です。

	1000 - weather_delay > weather_time

になるとweatherから該当する天候の数値が読めるようになります。

初期値は300、set_weather_delay関数を用いることで変えることができます。
この変数に代入を行ってもset_weather_delayと同様の効果があります。

my_dir

自分が左を向いているときは-1、右を向いているときは1が格納されます。

enemy_dir

相手が左を向いているときは-1、右を向いているときは1が格納されます。

is_dir_front

自分が向いている方向に敵が居る場合は true、そうでないならば false が格納されます。

my_hitstop

打撃攻撃を当てたガードさせた、もしくは被弾したガードした時に起こる硬直フレーム数が格納されます。
咲夜特製ストップウォッチなど、一部特殊技でもこの値が使用されることがあります。

enemy_hitstop

相手の硬直フレーム数です。

my_xspeed

自分のx方向の速度です。
緋想天もしくは非想天則内部から取得しているので、my_x差分から計算するよりも1フレーム早く情報を取得できます。

enemy_xspeed

相手のx方向の速度です。

my_yspeed

自分のy方向の速度です。

enemy_yspeed

相手のy方向の速度です。

my_img

自分の現在表示されているキャラ画像のIDです。

enemy_img

相手の現在表示されているキャラ画像のIDです。

my_hitarea_n

自分の食らい判定を示す四角形の個数です

enemy_hitarea_n

相手の食らい判定を示す四角形の個数です

my_attackarea_n

自分の攻撃判定を示す四角形の個数です。

enemy_attackarea_n

相手の攻撃判定を示す四角形の個数です。

my_correction

自分が最後に相手に与えた特殊補正のフラグビットです。
以下の数字を足した値が設定されます。
2進数換算だとわかりやすいと思います。

特殊補正名数値(10進数)数値(2進数)
Rift Attack1000001
Smash Attack2000010
Border Resist4000100
Chain Arts8001000
Chain Spell16010000
Counter Hit32100000

例:吹き飛び属性もちの攻撃をカウンターヒットした場合、2+32で34が格納される。2進数だと100010。

enemy_correction

相手が最後に自分に与えた特殊補正のフラグです。

is_th105

起動しているアプリが東方緋想天であれば true が、それ以外であれば false が返ります。

is_th123

起動しているアプリが東方非想天則であれば true が、それ以外であれば falseが返ります。

my_attack_power

自分の攻撃倍率です。
初期値1.0、1.5で普段の1.5倍のダメージを与えられます。
生薬「国士無双の薬」や制御棒で上昇。

enemy_attack_power

相手の攻撃倍率です。

my_defense_power

自分の防御倍率です。
初期値1.0、0.5で普段の1/2しかダメージを受けなくなります。
生薬「国士無双の薬」や身代わり人形で減少。

enemy_defense_power

相手の防御倍率です。

my_speed_power

自分の速度倍率です。
初期値1.0、1.5で普段の1.5倍の速度で移動できます。
天狗団扇や天候風雨で上昇。

enemy_speed_power

相手の速度倍率です。

my_timestop

自分の時間停止付与フレーム、ここが1以上である間相手は動けない(自分ではなく相手である点に注意)。
スペル暗転中など自分以外全ての動きが止まる演出時に設定され、1Fごとに1減算されていく。
咲夜の世界など、一部特殊スペル時にもこの値が設定される。

enemy_timestop

相手の時間停止付与フレーム。

my_win_count

自分の勝利ラウンド数

enemy_win_count

相手の勝利ラウンド数

stage_number

ステージ番号
以下一覧表:

ステージ番号ステージ名
0倒壊神社
1魔法の森
2玄武の沢
3妖怪の山
4玄雲海
5有頂天
6緋想天
10博麗神社
11霧雨魔法店
12紅魔館時計台
13人形の森
14紅魔館大図書館
15冥界
16紅魔館ロビー
17白玉楼の雪庭
18迷いの竹林
30霧の湖の辺
31守矢神社
32間欠泉地下センター入り口
33間欠泉地下センター通路
34核融合炉心部
36夢の中の時計台2
37夢の中の時計台3
38夢の中

bgm_number

BGM番号
以下一覧表:

BGM番号曲名
0地の色は黄色
1香る樹葉花
2踊る水飛沫
3嘲りの遊戯
4黒い海に紅く ~ Legendary Fish
5有頂天変 ~ Wonderful Heaven
6幼心地の有頂天
10東方妖恋談
11星の器 ~ Casket of Star
12フラワリングナイト
13ブクレシュティの人形師
14広有射怪鳥事 ~ Till When?
15ラクトガール ~ 少女密室
16幽雅に咲かせ、墨染の桜 ~ Border of Life
17亡き王女の為のセプテット
18夜が降りてくる
19砕月
20狂気の瞳 ~ Invisible Full Moon
21風神少女
22彼岸帰航 ~ Riverside View
30信仰は儚き人間の為に
31おてんば恋娘
32上海紅茶館 ~ Chinese Tea
33霊知の太陽信仰 ~ Nuclear Fusion
34明日ハレの日、ケの昨日
35アンノウンX ~ Unfound Adventure
36空に浮かぶ物体X
40二色蓮花蝶 ~ Ancients
41恋色マジック
42the Grimoire of Alice
43ヴワル魔法図書館

my_fflags, enemy_fflags

自分(相手)の攻撃に関わらない各種フラグです。
立っているフラグに対応した以下の数字を足した値が設定されます。
※現在解析中 情報求む。

フラグ数値備考
立ち1※基本的にキャラは常に以下の、立ち・座り・空中・倒れの4態いずれかの体勢にある。紫のワープなど例外あり
座り2
空中4
倒れ8主にダウン状態で確認される
ガード可能16アーマー状態では無効
キャンセル可能32水得の龍魚を同スキルでキャンセルするフラグは返らない
被カウンターヒット64与CHのフラグと合わさって初めてCHする
スーパーアーマー128確認可:妖鬼-密-BLv4、熾撃「大鵬墜撃拳」。
確認不可:妖鬼-密-C、台風時、龍星、ダイアモンドハードネス等
ガード256document.txtより。どの行動において確認されるか不明
ガードポイント512「羽衣は水の如く」で確認
グレイズ1024
ガード判定2048主にガード中に確認。緋想天では受身後の無敵時間以降も、これとガード可能フラグが両立しているため、オートガードが発生する
投げ無敵4096ジャンプ5F、バクステ5F、地面バウンド6Fや暗転中等で確認。C弦月斬にも見られ、これに三滴無敵状態で投げを試して確認
打撃無敵8192通常の打撃無敵はこれで確認可能。ただしスキルのレベル上昇により無敵付加されるものは不可
射撃無敵16384射撃全般に対して有効な無敵
空中打撃無敵32768当身専用。炯眼剣。刹那亜空穴B等で確認
中段打撃無敵65536当身専用。炯眼剣。刹那亜空穴B等で確認
下段打撃無敵131072当身専用。刹那亜空穴B等で確認
一部射撃無敵262144当身専用。攻撃オブジェクトに対する無敵。刹那亜空穴Cで確認。関係フラグはaflagsを参照
射撃無敵524288反射オブジェクト専用。反射下界斬、羽衣は風の如くで確認
跳ね返り判定?1048576主にベクトルが反転する瞬間に確認。ダウン、壁や地面バウンドの瞬間。その場起き上がりなど
HJC可能2097152ハイジャンプ、バックステップ、飛翔、空中ダッシュでキャンセル可能である事を示す
残像判定?4194304デーモンアローや衣玖J2Cの尾、龍神の一撃などの一部スキルオブジェ等に確認
反復判定?8388608一部キャラの飛翔中(ソニックブームのようなエフェクトの付いているもの)、地面・壁バウンド後の回転中、一部スキルのオブジェクト等で確認
攻撃オブジェクト判定?16777216詳細不明。攻撃オブジェクト全般で確認

my_aflags, enemy_aflags

自身の攻撃関連フラグです。
立っているフラグに対応した以下の数字を足した値が設定されます。

※現在解析中 情報求む。

フラグ数値備考
与胴のけぞり1立ち喰らい時のみ効果あり。紫、文、咲夜等の打撃、そのほか射撃オブジェクトで確認
立ちガード可能2
しゃがみガード可能4
空中ガード可能8空中ガード可能ならtrue
地上ガード不能16地上ガード可能ならfalse。主に投げでtrueを確認
アーマー無視32アーマー状態であっても通常のようにヒットする。 折伏無間でtrueを確認
誤ガ不能64誤ガードした場合に通常通りヒットする(ガークラにあらず)。主にMPPで確認
当たり判定無効128相手がガード時およびガード硬直後10Fの間、フラグを持つ攻撃の当たり判定が無効となる。主に投げや、萃鬼「天手力男投げ」で確認
当身不可256主に投げや一部打撃スキル(踏鞴等)、打撃スペルカード(クレイドルや男投げ等)でtrueを確認
不明512未確認であるため詳細不明
与カウンターヒット1024被CHと合わさって初めてCHする
スキル攻撃2048主にスキル由来の攻撃(打撃、射撃オブジェクト)でtrueを確認。例外あり。このフラグがあると雹で攻撃力が上昇する。
スペルカード攻撃4096スペルカード由来の攻撃でtrueを確認。例外あり。このフラグがあると霧雨で攻撃力が上昇する。
空中打撃8192主に空中攻撃でtrueを確認。fflagsの当身用空中打撃無敵でヒットせず当身可能になる。
中段打撃16384主に中段攻撃でtrueを確認。fflagsの当身用中段打撃無敵でヒットせず当身可能になる。
下段打撃32768主に下段攻撃でtrueを確認。fflagsの当身用下段打撃無敵でヒットせず当身可能になる。
オブジェクト攻撃165536射撃攻撃と考えて差し支えない。fflagsの当身用射撃無敵でヒットせず当身可能になる。該当オブジェクトは多数のため割愛
オブジェクト攻撃2131072MPPの攻撃や妖夢の攻撃等でtrueを確認
不明262144MPPの5CやJAでtrueを確認。射撃に関係しているかもしれない
ガードクラッシュ524288誤ガード時のみ
無差別攻撃1048576自分敵だけではなくお互いのオブジェクトにも当たる
不明2097152妖夢のDA、折伏無間の追撃でtrueを確認
射撃攻撃4194304グレイズ可能、正ガードでも霊力減少。ダッシュ攻撃やMPPでtrueを確認
グレイズ不可攻撃8388608花曇でもグレイズできない、射撃属性なし花曇でもグレイズできない。MPPでtrueを確認
摩耗16777216グレイズに霊力を消費。霊力なしではグレイズできない