------------------------------------------------------------ FHS patch (Funny-Honey-Spit patch) 蛇足メモ File:honey***.diff ver.:ver*** 対応variant:JNetHack3.4.3-0.2用 作成者:Sakusha Shiganai ------------------------------------------------------------ ------------------------------------------------------------ 雑記 ------------------------------------------------------------ [04.05.21 これ以降は別ファイルにて。] ------------------------------------------------------------ 04.05.13-20 (FHS patch ver0.971[未公開]) 気分転換とサイトメンテナンスを兼ねて、掲示板CGIやアイコン類をいじったりしてました。 その傍ら、ちまちま不確定名のネタ探し。 ちなみに杖やクロークや小手等の名前は、英語でめぼしい冠詞を探すようにしてます。  #形容詞だの動詞の過去分詞形だの…でいいのかなあ?文法はさっぱりだから。 しかしこれがなかなか見つからない。 ゲームだと確定名ぽい名称の方が多いし… と思ってたら、面白い所を発見。 http://www.sildraug.com/warehouse  #"plumed & helmet & visored & etched" なんて検索で、  #まさかネトハク以外のページがhitするとは思わんかった。 何かのゲームに関する各店の品揃えの一覧らしい。冠詞が幾つもついてて長ったらしいけど(a mithril-edged glaes pavisとかa carved onyx rose beard clipとか)。ランダムに組み合わされている可能性も高そう。 英語辞書を引っ張り出し、片端から解読。めぼしい単語が見つかったら辞書で確認。 ついでに気が向いたら辞書のそのページや近辺にも目を通し更なるネタ探し。  #このような寄り道が出来るのが紙の本の良い所。電子辞書だとデータが単発で表示されるのでこうはいかない。 使えそうだと思ったら物に応じて振り分け(例:細工の方式なら指輪や魔除けに、色関係は魔法書に{薬をハーブ系にしているので全て魔法書の不確定名に放り込める})。 それにしても量が多い。実は未だに1/4も解読できてなかったりします… --- いい加減、兜や小手や靴の不確定名も増やしたいと思い、不確定名に関する追加効果の実装にとりかかる。  #効果無しの不確定名ばかりを無制限に実装するのを避ける為、今までは意図的に総数を抑えていた。  #なかなか良い追加効果の案が出なかったせいもあるけど。 とりあえず兜に関して…ぜんぜん案無し。なので本家実装済みのものを流用してお茶を濁す(^^;)。 なお一時はbascinetとかsalletとかつけようかとも思ったけど、これはあくまで「不確定名」なのだからと思い直す。武器類も見た目の形だけで不確定名がついてるのが多いしね。 で、次は小手類。今までも案はあったけど、それの実現の為には不確定名の絶対数が足りないので見送りしてました。 でも今回良さげな不確定名をクロークに大量投入したので、それを流用すれば何とかなるのではと思い実行に移す。 ちなみに泣く泣くとりやめた不確定名とその理由。  ・ゴム手袋(錆びない小手をランダムに入れてしまってはまずい)  ・あったかミトン(力の小手は鉄製固定)  ・鍋つかみ(同上)  ・鎖小手(他の小手は全て革製)  ・その他、ミトン型の名称全て(真面目にやると指先の扱い具合の判定をあちこちに入れる必要が出てきそう) 実際は布や皮の名がつくもの(リネンとかなめし革とか)もまずい訳だけど、そこは裏地(〜張りの)として扱う事で回避。 小手は不確定名の条件がちと厳しいよ… で、それと共にデータを圧縮できないかと素人考えで試してみたけど…  ・shuffle()にて不確定名と色だけをランダム挿入させる    →選択済みのものを再び選択してしまいそうなので取りやめ  ・objects.c内で必要情報だけを入れたD_GLOVES()を定義    →\キー(判別済みitem一覧)を押すと落ちるようになってしまったので取りやめ プログラムがろくすっぽ分かってない現状ではこんなものです、はい。 靴の方は、相変わらず良い案なし(- -;)。 あと手をつけてない巻物は…もう由来不明なラベルなんてやめて、英語含めて全面書き換えにしてしまおうかなあ。  #英語版のラベル名には法則性があるらしいが、その法則の原理を知らんばかりに手を出せない。  #全面書き換えとなれば案はあります。 ------------------------------------------------------------ 04.05.12 [Re:3] (FHS patch ver0.97) どうにか修正して公開。 ------------------------------------------------------------ 04.05.09-11 [Re:2] (FHS patch ver0.97[未公開]) 当パッチのコンセプトは『基礎固め』。 なので派手なアーティファクトの追加は極力避けたかったのですが… どうにも毒液の実装が煮詰まった感もあるので、 閉塞感打開の為、新たな目標として聖器『第七聖典』の実装を開始。 基本はSlash'EMのHellfireだけど、「剣も撃てる」ようにするのがミソ。 でもあれこれ設定を変えてみても、対アンデッド効果が発揮されている様子がない。 追加ダメージ挿入部を独立にしたり、挿入位置を色々変えてみたりしても駄目。 まあ発射時に剣を「黒鍵(という名のクロスボゥボルト)」に変化させてから撃ち出すという荒業使ってるのが無茶と言えば無茶なんだけど、それにしてもhmon_hitmon()にデータ渡しだ始点では既に黒腱に変化済みなんだけどなあ。材質も銀になっているのに銀ダメージが反映されてないようだし。何なんだろう…  →結局、「第七聖典で射出した、普通のcrossbow bolt以外の-P_CROSSBOW(クロスボゥ用弾体)」は全て銀扱いにする事で強引に解決。将来特殊なクロスボゥボルトが登場したら、その時に考えましょ(^^;) ソースがぐちゃぐちゃなままなのはご勘弁。  …と思ったら全然解決してない。何なんだ一体… --- あ、槍や砲弾と針が同じAD_PHYS(物理)に入っているのも何なんで、針をAD_WERE(獣化)に移動させました。  #実は物理→病気→獣化と変遷してたり(^^;) あと病気の毒液も実装してみたけど…強すぎか?(汗) これもまた発動率を下げたり、ダメージだけの毒液を別に設定するなりしなきゃ駄目かなあ。  #今は吐く怪物もいないけど。 --- …で、第七聖典はず〜〜っと色々悩んで考えて。 確か一時期だけ成功した事があったんだよな。でもその時はホビットにまで効果及ぼしてたから修正したんであって… もしかしてと思い、条件からhates_silver()を外してみる。 …効くじゃん。 じゃあ黒鍵がどうのとかいう話ではなく、hates_silver()の方がおかしいって事? そんなはずは…と思い、hates_silver()の条件を調べてみる。 return((boolean)(is_were(ptr) || ptr->mlet==S_VAMPIRE || is_demon(ptr) || ptr == &mons[PM_SHADE] || (ptr->mlet==S_IMP && ptr != &mons[PM_TENGU]))); 獣人に吸血鬼に悪魔、それと「天狗以外の」小悪魔か…   …ゾンビ入ってないんかい=□○_ アンデッドなら何にでも効くのかと思ってて、 今までkobold zombieとかhuman zombieを標的にしてたのですよ=□○_ そもそも効果を発揮できる対象じゃなかった訳で… 威力も含めて再検討します(泣)。 --- 蛇足: "The 7th Scripture", "ART_7TH_SCRIPTURE" はコンパイルNG. "The Seventh Scripture", "ART_SEVENTH_SCRIPTURE" ならOK. ------------------------------------------------------------ 04.05.06-08 [Re] (FHS patch ver0.97[未公開]) kokaさんの日記04.05.03より。 > 変愚のタヌキ なるほど、それは面白そう。見かけだけの変更ですか。 NetHackにも導入できたら… …と思ったけど、今考えてみるとこれって以前にもにうきゃら掲示板で何度か案があがってたような気も(違ってたかも)。 難しいのかなあ?気が向いたらカメレオン等の変身処理について調べとくか。 --- > でも何とかなる事が分かったから、carnival_blastも書き変えるか。 書き換えてみたら暴走。何故だぁー!(T T)  #explode()に処理を渡してしまうので、その度にループ値がクリアされているのかなあ。 元に戻しましたよ。しくしく… --- 実は状態異常の爆発、抜けている効果も幾つか(幾つも)あります。  ・今までに毒液として実装してないもの  ・PCへのダメージ系(理由は前回書いた通り) それと、盲目効果。 それではと爆発型盲目毒液『墨(sepia)』の実装に挑戦してみたのですが… 盲目防御効果の判定(can_blnd())があまりにもややこしいので中断(T T)。  #can_blnd()を使って判定する方法と、それに頼らず(判定条件だけ拾い出して)再構築する  #方法の両方を検討してみたけど、結局どちらも条件がわやくちゃになって、関数本体を  #組めそうになくなった。 むう、蛸なり烏賊なり実装したかったんだけど。 --- 混乱系の毒液の名称は、結局アルコール系に変更。 またカマイタチの英名も、幻想図書館で拝借したお知恵をもとにwhirlwindに変更。怪物の鎌鼬もwhirlwind weaselにしてるしね。 狐や鼬はもう1,2種類くらい中間種を設定したいけど、なかなか名前の案が出てこないなあ。  #犬や猫はLV2-4-6, 狸はLV1-4-8-12なのに対し鼬はLV0-1-7, 狐はLV0-2-7-12。  #しかも現在,鼬はLV7でカマイタチを放つようになっている(他はLV12[ヘルハウンド程度])。  #普通の狐がLV0で実装済みだし。 あー,他にも眩暈系毒液とか、吐く怪物未実装な毒液の処遇とか、考える事が多いなあ。 マジカル系なんてどうしよう。今は萌えキャラ実装するつもり無いし、そうなると思いつくのは虹羽蜂だけ。でも蜂の巣でマジカル花火撃たせるのはまずいだろうし。  #マジカル花火は特に効果(予想)範囲が広いので、HPの少ない殺人蜂達が戦う只中に  #撃ちこませるのは(蜂側から見て)自滅行為に等しい。 ならRJNH案のQ-Beeを放浪の女王蜂の一群のリーダーとして再設定して…あう、これじゃ同じ事か。 --- ウニになってた頭も元に戻り、墨の実装に再挑戦。 メッセージに苦心したり、座標指定をox,oyに変えてなかったんで離れた場所でもPCが盲目になったり、効果がみられないんで調べてみたらcan_blnd()での設定追加を忘れてたリと色々あったけど、すったもんだの末なんとか実装に成功。 で、その間に気づいた事2つ:  ・盲目の毒液(毒液のしぶき)や墨はu.ucreamed状態になるので顔をぬぐう事が必要(ユニコーンの角では治せない)だけど、毒霧は薬品扱いなので顔をぬぐっても治せない。  ・そういえば今回組んだ状態異常判定関数には全て「指定位置に何がいるか」の自動判別機能を組み込んでいるのだから、stun_explode()内でわざわざ判定してから渡す必要はない?(^^;)  #ちなみにblind_explode()を別に組んだのは、先に盲目にしてしまってその後の状況が分からなくなるのを防ぐ為。  #PCが盲目状態になった時も、範囲内の処理が全て終わってから盲目にしている。  #本当は全ての状態異常爆発に適用すべきかもだけど、そうすると処理が煩雑になるので(手抜き)。 ------------------------------------------------------------ 04.05.03-5 (FHS patch ver0.97[未公開]) 状態異常の爆発、実装成功☆(嬉)  #文章末尾に星入れたの久しぶりだなあ。 以前に失敗した色々な試みに、今度は成功しました。  a)状態異常処理の個別分離  b)また、PCと怪物の処理を分けずに1つの関数で行わせる  c)爆発範囲内の指定位置に誰が(怪物かPCか)いるかの自動判別  d)騎乗者と乗馬の片方にだけダメージを与えるのか、双方に与えるのかを切り分け 等々、全てクリア。 また抵抗メッセージのadtyp制御にも成功。 アニメーションは0ダメージの物理爆発で誤魔化してますが(^^;) 副産物として、個体相手の毒液にも処理を流用可能になったので、mthrowu.cやuhitm.cがすっきりしました。  #ダメージ系(特にPCへのダメージ系)は含めず。怪物はともかくPCの死亡処理が面倒そうだし。 さて、混乱系の毒液の扱いをどうしようか。 狸に使わせる為には「木の葉で化かす」とか「酒で酔わせる」方が良さげだけど、ナーガ系に吐かせるのは今の「混乱の毒液」の方が合ってそうだしなあ。でも怪物によって吐く物を変えるのは極力避けたいし。  #現在は首領蜂と青銅のゴーレムがこれに引っかかっているが、これらもできれば変えたい。 それと、眩暈系の通常型毒液も何にするか決めないと。今は仮に爆発系をstun grenadeにしてるけど何かイメージに合わないし、かといって良い案も浮かばず… venom_stun()は実装できてるから、吐く物を決めればすぐに実装できるんだけどなあ。 狸もナーガもこれに差し替えるのは抵抗があるし。 --- そうそう、sakuraエディタの設定を少しいじって、**.cファイルのタブ間隔を4マス->8マスに変更。 本家はどうもタブ8マスで書いてるようなので。 で、手のつく所は色々と並びを調整。 本当なら4マスに戻して見栄えを確認すべきかもしれないけど、そこまでする気力はさすがにないっす。 --- 虹の矢(毒液)の実装に挑戦。今まで何度も苦い思いをさせられたfor文を準備。   …今度は分解の矢の無限ループかよ…=□○_   しかもループから抜けない限りダメージ計算に入らないから、死亡して抜ける事もできず。 強制終了させ、while文での降順に書き換えてみる。   あっさり成功。 マジカル花火の時の苦労って… でも何とかなる事が分かったから、carnival_blastも書き変えるか。 ------------------------------------------------------------ 04.05.02 [続々](FHS patch ver0.962, ver0.961-b) うお、So-Miyaさんの所で再紹介されてる! 最紹介どもです(_ _)>So-Miyaさん > 新variant いやそれは無いっす…私に泉重千代さん以上に長生きしろと? (^^;)  #仮に手がけても今世紀中には完成せんでしょう。  #しかも:  # ・新規プログラミング技術&企画力が無いに等しい  # ・同様の理由で、まともにメンテできそうにない  # ・ゲームバランスがとれそうにない  #私が作っても、出来上がるのはSlash'EMなりRubbishなりbrassなりの粗悪コピーの可能性大。 --- そうそう、今回のver0.962から、JNH3.4.3-0.3ベースに移行します。 といっても今までもちまちま個別最新fileを反映してたので、2,3個のfile変更だけで済みましたが。 そして今回は、SJISに変換できるfileは徹底的に変換。binaryの文字化けは完全に駆逐できたと思います。 同時にjdata.baseも対応。といっても本家が「、」を「,」に、「。」を「.」に変更しただけの模様(そのように置換してからdiff比較したら全く同じだった)。一応、当方も対応。 --- 一応、先日の即死バグだけを直したbinary&diffも作成。ご迷惑おかけしました。  #So-Miyaさんのご紹介でdownloadしてプレイし始めたばかりの方もいらっしゃるでしょうし。 ------------------------------------------------------------ 04.04.29-05.01 [続](FHS patch ver0.962[未公開]) > 仕方ない、敵の砲弾は一時封印して対策を とりあえずニトロで代用する事に。 これで晴れて青銅のゴーレムを実装。鉄のゴーレムと違いこちらは実体弾主流。がちゃこんがちゃこん。 ちなみにポリパイルからの変化基準は案外あっさり決定。本家じゃ銅とか銀とかが鉱物と一緒くたに処理されてたから(^^;)。 --- 今回は色々試してものの見事に失敗して、の繰り返しでした…(T T)。 そしてその間にバグ発見。   初期キャラが眠り砂投げたくらいで   緑ドラゴン(HP80台)を「一撃で」倒しちゃいかんでしょう(= =;)   (しかも抵抗してるのに) 個々の処理においてdamage=0とかtmp=0とか規定してない箇所があったのが原因でした、はい(_ _;)。  #初期値に何が入ってるんだ? こんなエラーが出ないように0にしようかと思ったけど、  #何かitem単位の処理分岐より前でも色々処理してるようだし… --- 壮絶なる失敗の軌跡(- -;):  ・resists_missile_message()をobj基準ではなくadtyp基準(AD_PHYSとか)で制御しようとしたらコンパイル時にまともにソースを認識してくれなくなった。  色々いじってみたけど最終的に断念。2日間の作業が全て無駄に。  ・explode()の一部解読に成功し、カマイタチ実装。状態異常処理部の分離に成功しました。   でも、これに気を良くして同様の方法で眠りの雲を実装しようとしたら異常終了頻発、ことごとく失敗。  ・腐食系の毒液についても、同様に処理部の分離失敗。どうにかhurtarmor()はそのままに(グローバル化せずに)外部から呼び出す事はできたけど。 蛇足:反撃で金を盗むモールドを実装できないかと思ってstealgold()を眺めてみたけど、盗んだ後逃亡しようとするルーチンをどう扱えば(変更すれば)よいか分からず。 --- それでも成功したものもあるので、対応怪物を色々実装。 イタチ系はSilly JNH PGPから頂き、鎌鼬は能力強化。…て、にうきゃら掲示板で自分で出した案じゃん(^^;) ついでに狸も頂き、上位種を設定。 狸がいるなら狐もと、狐の上位種を設定。 腐食系は本当はjとかPとかFとかに実装したかったけど、本家の仕様では速度の遅いor動かない怪物に遠距離攻撃能力持たせてもほとんど意味がないので断念。  #以前試してみたけど、ほとんど吐かないまますぐに接近戦に持ち込まれる。  #brassなら「動かないでも素早い攻撃を繰り出す怪物」が実装可能らしいので、  #そういう状態でなら砲台怪物が生きてくるんだけどなあ… うーん、そういえば火系専門のSpit怪物が今はいないなあ。 それに植物系怪物も何か実装したいけど… あ、幻覚の直接攻撃って実装されてないんだっけ。この際だから追加しとこ。  #仙狐が直接攻撃してこないから変だと思ったら…  #朱色ナーガの時にもあったけど、すっかり忘れてた。 ------------------------------------------------------------ 04.04.28 (FHS patch ver0.962[未公開]) メモ書き。 ・m_throw()内に残った毒液のthitu()への移植:   ○毒系(能力低下系)--完了、但し未試験   ×盲目系------------断念[クリームパイは手にして殴る事も有り得る(?)為、やはり処理が分離してしまいそう]   ×テレポート系------断念[益少なし]  また、ohitmon()へのテレポート系毒液の移植も断念[益少なし]。 ・敵が撃った砲弾で落し穴が生成された直後に異常終了。要調査。   #もしかして最後の砲弾の消去がうまくいっていない?   #確か他の爆発(ニトロやうさだケーキ等)とは別扱いで処理していたはず。   #毒液以外で処理しようとしてたのを、結局毒液に戻したしなあ。   #武器扱いにしたらどうなるんだろう。->駄目だったか…砲弾の爆発部をもう一度洗い直すしかなさそうだ。   #   #そういえば、カノンの罠では結局砲弾を「撃たせない」ようにしてたんだっけか。   #(不発弾でない場合は、生成させずにいきなり爆発を起こしている)  -->[追記]むう、アイテム消去の処理を多少変えてみたり、毒液扱いに戻したり(そうしないとmap上Item配置の問題が    再発)してみたけど、それでも異常終了が起きるなあ。     #爆発終了時はいいが、その次にゴーレムが動こうとする時に異常終了。    仕方ない、敵の砲弾は一時封印して対策を考えるか… ------------------------------------------------------------ 04.04.27 [Re:4](FHS patch ver0.961) お待たせしました。[続]も[続々]も[Re:3]も、どうにか修正完了。 実働試験が多少不足しているかもしれませんが…  #さすがに全種類の毒液浴び直すのはきついです(T T) --- 今回新たに実装したmagical fireworks、当初はfor文でのループを試みたのですが、何を血迷ったか2回目の爆発が延々と続くという状況に(汗)。  #->AD_MAGM->AD_MAGM->AD_MAGM->AD_MAGM->... PCが爆発範囲内にいるならそのうち死亡する(^^;)からまだいいのですが、そうでないと無限ループに陥って強制終了させるハメに(滝汗)。 結局、爆発回数分だけexplode()を書くという力技を使い、それでも動作が不審だったので途中にdelay_output()やメッセージ表示を入れて、どうにか形にしました(^^;);;;。 個別の爆発の威力は故意に抑え目にしてあります。  #全部受けるとほぼ他の種類の爆発(4d4)と同程度のダメージを受けるように…いや、こちらの方が平均値は少し高いか。 でも考えてみると、複数の耐性を持つ相手に対してはあまり有効じゃ無いんですよね。多少威力を上げておくかなあ。 それにしても、最近は吐かせる怪物の実装が追いついていないな…案が思い浮かばないからだけど(^^;) ------------------------------------------------------------ 04.04.25-26 [Re:3](FHS patch ver0.961[未公開]) まずは御免なさい。まだ公開できる状態ではないのです(泣)。 > という訳で、一部の毒液以外の投射アイテム・投射型罠等がPCにダメージを与えていなかったバグの修正にこれからかかります。ひえ〜ん…(T T) これは直ったので早く公開したい所ではありますが、それ以上のバグが潜んでいたもので… 原因が修正できたのがつい先ほどで、色々と検証したり公開用にまとめたりするのには更に時間がかかりそうです。うう… --- そのバグですが、実は今回のパッチを作成してからという物、今まで原因不明のエラー落ちに悩まされておりました。 正確には、公開用バイナリィのUpdate版[全パッチ統合版]を作成した後に、このエラーが出るようになりました。 最初は砲弾の爆発や振り子の罠が悪さをしているのかと思っていたのですが、うさだケーキでも落ちる上に、場合によってはそれらとは無関係の状態でも落ちる。 どうやら落し穴を生成した時に怪物がはまるとまずかったようなので、あれこれいじったりSlash'EMのソース読み直したりしたけど、不審な点はなかなか見当たらず。 とりあえずの回避策として、落し穴作成機能は一時封印する事にしました。 でも、封印前に一回テストしてみた所、穴があいてから時間がたった落し穴でも怪物がはまるとエラー。 それどころか、既存の落し穴に怪物がはまっただけでエラー。 無論、前回バージョンではそのような覚えはありません。 落し穴自体に手を加えた覚えはないのですが、誤って消した箇所でもあったのかと、今回のdiffファイルの総ざらいまでしましたが分からず…。 あれこれ悩みつつ本家JNHやTrapパッチ単独コンパイル品で確認したり。しらみつぶしにソースを洗い直したりした末、先ほどようやく原因が判明しました。 thitm()という怪物が罠にかかった時専用の関数があるのですが、これに追加していた新罠「毒液噴射装置」用のコードが原因でした。 この関数、単に「アイテムに応じたダメージを与えて死亡するかどうかを判定する」という単純な物なのですが、何故かこれが落し穴にも流用されていて、それが悪さの原因に。 しかも、送られたアイテムの内容によるダメージ追加処理さえ拒否されるので、ここは元に戻す事にしました。 幸い、特殊効果がなくても毒液の半数程度はダメージ与えるタイプだし。 直ったのが確認できたら、砲弾の穴掘り爆発機能を再生させまする。 --- それ以外にやってた事・次回パッチの予告(兼、自分用の覚え書き&Readme下書きの一部)。  ・次バージョン以降、FHSパッチとTrapパッチは統合されます。   新実装品の多くが両方にまたがるものであるのと、今回も統合バイナリィの作成にかなり   苦労させられたので。    #Castleパッチは独立パッチのままでいく予定です。    #FHS/Trapパッチに深く関係する新案なき限りは。  ・4/21-24日に書いた   > 1番目はWizardモードで願った場合も「重い鉄球」しか入手できないので、   > BALL_CLASSアイテムの宿命という事にして素直にROCK_CLASSに変更。   ですが、その後   「GEMでもROCKでもないROCK_CLASS(`)を追加すると    コンパイル時に倉庫番等のboulderが認識不能になる(ランダムitemに置き換わる)」   事が判明。   ROCKに追加したら今度は鉱山最下層のruby等が認識不能になるし…。   生成率0なのにどういう処理してるのやら(T T)。   結局、砲弾類もVENOM_CLASSとして処理する事にしました。武器や道具扱いというのも何だし、さすがに毒液はマップ配置されないんで。 [Spit] ニトロ及び砲弾類 [Trapパッチ用] を実装。また爆発アイテムのダメージを調整。 新趣向の爆発型毒液を実装。派手です(w) 毒液類の処理を全面改定:  ・爆発系毒液や爆発アイテムの処理を、Slash'EMをもとに全面改定  ・その他、毒液類の処理のおかしかった点を色々と調整  ・毒液を耐性で防いだ時のメッセージを分離し、数種類をランダムに表示するように変更 [Funny] 不確定名「casting gloves」の付与効果(連投etc.)を廃止(->正式アイテムに昇格 [Trap参照]) [Trap] 手さばきの小手を実装。職業に応じた技を強化するものです。 手裏剣の罠、回転盤、カノンの罠、毒液噴射装置を実装 [カノン・毒液は要Spit] 犠牲者を弾き飛ばす効果を、振り子の罠(必ず)と棘つき鉄球の罠/回転盤(約1/3の確率)に追加 バランスや不具合等を色々と調整 ------------------------------------------------------------ 04.04.24追記 [続々](FHS patch ver0.96[未公開], Trap patch ver0.96[未公開]) 2つだけ追加。 > > “+”の記号が、どういう訳か保存時に必ず“+−”に化ける 誠に遅ればせながら、kokaさん、どもです。 なるほど、sakuraエディタのバグだったとは。文字コードセットが不明な場合はUTF-7になってしまうようですね。UTF-8やEUCなどに切り替えたらきちんと表示・保存してくれました。 最新版…今使ってるのは初代作者の最終版0.3.8.9だし (^^;) <古すぎ  #基本的に「どでかいメモ帳」的な使い方しかしてない(使いこなしてない)んで  #Updateしてない。本体サイズ小さいし。  #grepや指定行ジャンプ等、使い方を知ったのは便利に利用してますが。 --- 無茶苦茶なバグ発見。 参考用にthitu()の後半部分の処理を転記: ... if (obj && objects[obj->otyp].oc_material == SILVER && hates_silver(youmonst.data)) { dam += rnd(20); /*JP pline_The("silver sears your flesh!"); */ pline("あなたの体は銀で焼かれた!"); exercise(A_CON, FALSE); } if (is_acid && Acid_resistance) /*JP pline("It doesn't seem to hurt you."); */ pline("あなたは傷つかなかった."); else { /*JP if (is_acid) pline("It burns!"); */ if (is_acid) pline("酸で焼かれた!"); if (Half_physical_damage) dam = (dam+1) / 2; losehp(dam, knm, kprefix); exercise(A_STR, FALSE); } return(1); } } …↑こんな構文で、    「最後の方にちょこんと書かれているlosehp()が     酸の毒液(is_acid) だけでなく * 全投射アイテムの * ダメージ処理を行っている」 なんて読み取れると思います? (; ;) ええ、お察しのとおり、今まではこの箇所を完全に書き変えてしまってました。 ダメージ系の毒液を実装する度にlosehp()を埋め込まなきゃダメージ与えなかったり、新実装の罠がダメージ与えない時があったりしたので妙だとは思っていたのですが… 今回、故有って銀製アイテムの処理に手を加えようとして、ようやく気づきましたよ(T T) という訳で、一部の毒液以外の投射アイテム・投射型罠等がPCにダメージを与えていなかったバグの修正にこれからかかります。ひえ〜ん…(T T)  #でもこれを見る限り、投射アイテムを受けると問答無用で力が酷使されますかそうですか。  #銀製武器なら力と耐久度と両方酷使されるという事ですね。 ------------------------------------------------------------ 04.04.21-24 [続](FHS patch ver0.96[未公開], Trap patch ver0.96[未公開]) > #気が向いたら他のレジスト文や、PCにヒットした時の文章にも手をつけるかも。 あ、一応は毒液関係限定ですよ?(笑) 前回断念した怪物ピンボール(違)、最終的にはreturnを返さない[単にmintrap() (自分自身だ)に送ってしまい後はその場の罠にお任せ]事にして実用化。下手にreturnを返すから死亡位置の食い違いが出る(のだろう)訳だし。 弾き飛ばすメドがついたので、同時に回転版の罠も実装。ぬう、さすがに昔書いた構文の移植は難しいな。基本は押さえてるから何とかなったけど。 その一方で毒液のレジスト文も更に一本化を進める。先日の時点ではダメージ物主体だったのを、状態異常等にも拡大。  #薬や爆発等は手を伸ばすときりが無いので割愛。 そして砲弾やニトロ実装の下準備。cake_explode()を応用が効くように色々と改造。あ、威力の方はどうしようかなあ。  #現在のダメージ設定:  # splatter_venom():4d4  # cake_explode() :2d2〜10d10  #venomは多少抑え目、cakeの方はあえて極端にばらつかせてるし威力も高めにしてる(まだ足りないか?)けど、  #これをそのまま砲弾に応用するのもなあ… ある程度実装できた所でコンパイルし試験。以前から原因がつかめなかったものも含め、改めてまずい点がぽろぽろ。  ・魔法弾をPCが放った時、怪物に命中してもダメージを与えてもメッセージが無い(設定してなかった)  ・毒の毒液をレジストされた時もダメージを与えてしまう(毒武器と共通化していた為ダメージを0にしていなかった)  ・回転盤にPCがかかった時、「あなたはくらくらした...」が二度表示される(Stun処理時にメッセージ表示をFALSEにしてなかった)  ・怪物に発射された振り子が消えずに残ってしまう事がある(mthrown.c内のdrop_throw()でcreate=0に設定していなかった)  ・残った振り子が「重い鉄球」という名になっている。機能は振り子のままなので投げると"引っ込む" 最後の以外は全て修正。  #鉄球に関しては、鉄球系アイテムは何でも「重い鉄球」と変換するのが日本語化の仕様らしい。  #「とても重い鉄球」というのもあり、さすがにこの辺をいじる気にはならないので放置。  #元々普通の冒険では入手できない品だし、怪物への命中時に「重い鉄球」と表示されても間違いじゃないし。  #…振り子の名前自体を「重い振り子」にしてしまえばいいのか(^^;)。 --- 今回はとりあえず、あとはニトロや砲弾を実装して…という所で問題が2つ発生。 test fly(AD_LEGS試させたくて復活)に吐かせて見た所:  ・砲弾が必ず「重い鉄球」になってしまう。  ・ニトロがPCに命中したりしなかったりした時点でたまに不正落ち。 1番目はWizardモードで願った場合も「重い鉄球」しか入手できないので、BALL_CLASSアイテムの宿命という事にして素直にROCK_CLASSに変更。 2番目が難門。試験的にうさだケーキに変更したけどやはり落ちる。 むう、妙な事色々させてる(cake_may_expl()で爆発させたりさせなかったり)のが悪いのか?  #ちなみにspitだと重い物も遠くに飛ばせるのね。怪物の場合。 そういえばこの辺りSlash'EMではどう処理してるのかと思い、 今更ながら、本家3.4とのソースの差分[dothrow.c/mthrowu.c/uhitm.c]をとって確認。 …全然違う箇所で処理してるじゃん…(汗) という訳で、この辺はSlash'EMをもとに全面改訂を決断。 といっても丸写しではなく、今まで組んできた爆発処理をSlash'EMと同位置に移動させる訳だけど。  #銃器類とかエルフ弓/聖器のmultishot増加とかモンクの各種拳法とか連続攻撃とか  #その他諸々は移植する気なし。移植が目的じゃないもん。  #あ、射撃時の自動swapweaponは移植してもいいかな…気が向いたら。 爆発とクリームパイの処理が完全に分離してしまうので、ケーキ類の爆発条件分離は無くすかな…残念だけど。  #こんなあちこちにまたがる処理、今手をつけたら訳分からなくなる。 ------------------------------------------------------------ 04.04.18-20 (FHS patch ver0.96[未公開], Trap patch ver0.96[未公開]) 前回の続き。 > 不確定名「投擲用の手袋(caster gloves)」 を、正式アイテム「手さばきの小手」として実装し直す。 罠との兼ね合いがあったのでTrapパッチへの実装に。 実装中にも色々と妄想が膨らんで、仕様を色々変えたり追加したり。最終的には職業の特色を伸ばす物に仕上がりました(つもり)。 ごく一部の役立たず(?)機能はご愛嬌(w)。 --- 次に、Trapパッチの追加罠に特色を持たせる作業。今まではダメージと得られる品以外にさほど違いが無かったので。 一緒に手裏剣の罠も実装。毒主体。手さばきの小手の侍用効果に含めたかったんで(^^;)。 和訳やら未実装な所もあったし…shuiken trapて何だよ(^^;);;; 実は初版では、罠解除時に出るアイテムは、スタックするはずのない物までスタックされてました(2本のモーニングスターとか、5本の鉄の鎖とか)。今回はそれを直そうとしたけど…何故か落ちる(T T)。 よく調べてみたら、disarm_shooting_trap()内で呼び出しているcnv_trap_obj()が、何度も呼び出せないような造りになっている事が判明(トラップアイテム作成と同時にトラップを消去している)。むう、とりあえずは1個だけの作成で我慢するかな。棘つき鉄球の罠の景品(違)が単品になってしまうけど… そして、振り子の罠と棘つき鉄球の罠に、ランダム方向弾き飛ばしの効果を実装する試験。これが簡単なようでなかなか難しかった。なにせ「ランダムに」弾き飛ばすのを思考錯誤してたもので。  #方向を決めて(右なら右)弾き飛ばすのは簡単。  #右上を始点に右回りなら右回りとか、開始位置等を決めてから弾き飛ばせるか順番に確認するのも簡単。  #進行方向と逆側に弾き飛ばすのは…ちと難しそう(だから撞木の罠より前に、無方向な球振り子で行いたかった)。  #でも今回はあくまで「ランダムに」だったので… 動く事は動くけど、何か違う。よく考えてみたら、安全な方向にしか弾いていない事に気づく。  #enexto()で配置可能かどうか確認してから、配置可能ならその場所に送り込むという方式。  #八方を岩壁に囲まれでもしない限り「壁等に叩きつけられる」事はない。 という訳で仕様変更。  1)最初に弾く方向をランダム決定  2)goodpos()で、そこに移動できるか確認  3)移動okならteleds()で飛ばし、NGなら追加ダメージ 怪物にも同様の事をしようとしたけど、弾かれた先にも罠があってそこで怪物が死んだ場合、どのようなreturn値を返せばよいか分からず断念(てか飛んだ先の分で2を返したら見事にエラー出てたし)。これってthitm()の方に埋め込む事は可能なのかな… ちなみに一度設定を間違えて、かかった怪物が罠の命中にかかわらず弾かれてた時は面白かった。試験用に罠を敷き詰めてたので、まさに人間ピンボール(^^;)。 むう、方向指定して弾く罠を作れば、「すべる床」やあみだくじ状パズル面ができるのかな。 落岩スイッチと併用すれば倉庫番にも使えるかも。 むむ、thitm()を確認してみたけど、射出したアイテムをここで破壊してダメージを与えた場合、改めて死亡判定もしなきゃならないか。大砲の罠の実装時には注意しないと。 --- 造りが気になっていた箇所をごっそり洗い直し。 まずはobject.cの薬の箇所。HONEY_VENOMとHONEY_FUNNYの入り切りを考えて計4パターンを並べ立ててたけど、やってられないのでごっそり変更。生成率の調整箇所を透明の薬に限定し(透明の薬が多少出にくくても困らないよね(w))、レベルダウンの薬の不確定名は「violet」として対処(笑)。  #従来色なら「スミレ色の薬」、HONEY_FUNNY有効なら「スミレの小瓶」。  #仮に将来別の薬を実装する時にはlemonとかlimeとか使おうか。orangeは…既出だなあ。  #rose pinkやrose red、grape、vanilaもあったか。 かなりすっきりしました。 毒液関係を色々と整理。まずは表示メッセージの一本化を目指…したけど、レジスト時の分だけで挫折。 同時に全体の構成も見直し。なにせ今まで片端から実装と修正を繰り返してたからつぎはぎ状態だし。 あちらを直しこちらを一本化し、分離したメッセージの構造も必要に応じて変更したり、一般メッセージにも使用可能にしたり。処理のおかしい箇所も幾つか見つかったのでついでに直す。 かなりすっきりしました。メッセージの方も、mthrown.c/uhitm.cはおろかmhitu.c/zap.c/mhitm.cに至るまであちこちに飛び散っていた文章(ネタ含む)を一元化できたので良しとするか。  #気が向いたら他のレジスト文や、PCにヒットした時の文章にも手をつけるかも。  #怪物にヒットした時の文章は色々条件があって難しそうだけど。  #(PCから見えるかどうかによって表現が違ってくるので) ------------------------------------------------------------ 04.04.14-17 (FHS patch ver0.95, Castle patch ver0.95., Trap patch ver0.95) > 新規の罠のグラフィック ぐはあ、気になって試してみたら、 include/rm.h まで+−の文字化けくらってやがる!  #先日のdesファイルでの  #> “+”の記号が、どういう訳か保存時に必ず“+−”に化ける  #というバグ。 計算式の箇所でこれやられたら、まともに計算するわきゃ無いよなあ… という訳で、その箇所をメモ帳で直したら正確に表示するようになりました。 最大の障害が解決したので、槍だけでなく他の射出型の罠もまとめて実装。今の所は特殊効果をもつ罠(大砲の罠等)は無いけど。 --- Slash'EMのグレネード系武器のソースを眺めてたら、今の状態でも爆弾ケーキが作れそうな気がしてきたので実装に挑戦。 基本は炎の爆発+落し穴生成。とりあえずはPCが投げるの専用で。 うまくいったので、blow_up_landmine()を参考に徐々に効果を付加してみる。周囲の地雷の誘爆機能もつけてみたり。 もっとも移植中にはエラーやら迷宮崩壊やら色々とあったけど(^^;)。 あ、しまった。今のままだと祭壇どころか階段まで問答無用で吹き飛ばしてるなあ。対策しないと。 ->で、その対策も一応終わり。 次は敵が投げてきた時の効果…という所で、ケーキ爆発ルーチンの関数化に挑戦。 なにせPC>怪物[hmon_hitmon()]、怪物>PC[m_throw()やthitu()]、怪物>怪物[ohitmon()]の3箇所に似たような処理を書き込むのは効率悪いし。 それと一緒に以前実装したsplatter_venom()関係も、今見ると色々直せそうな所があるので同時に見直し。よく見たら敵の放った爆発のdmgtypeも+値で処理してたなあ…  #+だと全て自分(PC)が放った物として処理されてしまう。  #怪物が放った物は−の値を渡さなければならない。 dmgtype判定用の関数を新たに作ったり、色々手直ししたり。一旦はsplatter_venom()にダメージ量調整パラメータを追加してみたものの、処理を複雑化させる事もないと思い取りやめ。 ケーキ名も当初はRJNH案の通りに「爆弾ケーキ(exploding X'mas cake)」だったけど、少しはかじってもらいたいものだと思い「うさだケーキ(Bunny cake)」に変更。 また、当初は必ず爆発するようにしてたけど、少しは味を堪能してもらおうと、そのまま食べられる"事もある"ようにしました。同時に、普通のクリスマスケーキにも極々低確率で爆発効果を(w)。 食べた時のセリフもそれぞれ追加したのでご堪能下さい(笑)。--- 実装すべき箇所の見極めがついたので、小手や靴の不確定名の実装に挑戦。 でもよく見たら、靴には必ず「雪靴」が存在するという前提で書かれてる関数があるなあ…Funnyパッチに対しては悪影響を及ぼすのでこれも修正。 そして不確定名「登山用の(climb)」の実装に挑戦。落し穴からの脱出の手助けとなる品。  #これの実装のメドがつかなかったばかりに、小手や靴の不確定名の追加を先送りにしていた。乗馬用の小手・靴を参考に条件を設定してu.utrapを0にすればOK。 …と思ったら、検証時に成功するものと失敗するものとが出てきた。色々と試してみた所、どうもstrcmp()やstrncmp()は日本語での不確定名比較ができないらしい。いや、OBJ_DESCR(objects[uarmg->otyp])の出力が英語で処理されているというべきか?  # s = OBJ_DESCR(objects[uarmg->otyp])とした時  # !strncmp(s, "climbing ", 9) -- 有効  # !strncmp(s, "登山用", 6) -- 無効 となると,本家JNetHackでも「乗馬用の小手・靴」の機能が働いていない事になるが…どうなんだろう。  #ジンの薬ではこの部分は英語のまま処理されていたので、わざわざ日本語化する理由が  #不明ではあったけど… --- むむ、不確定名「投擲用の手袋(caster gloves)」にメイドロボ投げ、もといマルチショット効果もたせようと思っていたけど、これって色々練れば正式アイテム「手さばきの小手」として採用してもいいかも。  #手投げ中心、職業によってマルチショットの対象を変える。  #(弓の連射は強そうなので見送りの可能性大)  #連投が似合わない職業は魔法の詠唱やターンアンデッドにボーナスとか。  #その他鍵空けにボーナスとか。 ------------------------------------------------------------ 04.04.10-13 (FHS patch ver0.95[未公開], Castle patch ver0.95[未公開], Trap patch ver0.95[開発放棄]) まずは先日の。 > あと盲目時に毒霧を受けると「波璃瓶が頭上で〜」と出るのは直しておかないと。 >  #毒霧タイプの毒液は薬の処理を丸ごと流用してます。 -->ソース再確認してみたけど、それらしき問題は見当たらず。どうやら偶然近づいてきたゴブリンが薬を投げてきた模様(^^:)。 あー、前回のパッチでマリッドだけ実装してなかったのは、主に  1)薬の不確定名の種類が足りなくなってしまうような気がした   (ジンの瓶の出現率をあまり変えずにジンの仲間を4種類実装するには、不確定名の総数も4倍必要)  2)ハーブを元にしているせいか色鮮やかな物が多く、青や黒系統が不足気味だったが、なかなか追加するものが見つからなかった  3)願いに類する効果を、新たなフラグ抜きでこれ以上実装する方法が思いつかなかった   (従来のジンと幽霊には出現数の制限フラグがある。追加したジンの仲間達についてはあの手この手を駆使して    制限フラグを扱わなくても良いようにしている) という理由によります。 でも、調べてみたら1)はまだ余裕が有りそうだし、閃きと工夫で3)も何とかなったもので。2)は…とりあえず気にせずに(笑)。 という訳でジン達は全て実装しました。 --- 作業も煮詰まってきた事だし新しい事に挑戦。今回のお題はマップ追加と罠の追加。 まずは参考になるパッチが無いか下調べ。外国の廃墟サイトらしい所が見つかったので残骸を回収、目当てのパッチが見つかったので参考にさせて頂く事に。  #参考にと言っても内容を流用するのではなく、変更すべきファイルを抽出する為の見本として。 実装するマップは以前に作ってそのままにしてたcastle-d。 コンパイル技術が無かった頃のもので、しかも3.4.1用だけど、それなりに自分で色々調べて作った物なので、組み込み周りをしっかりすれば動くはず…多分。 とりあえず自分を信じて、マップ名だけcastle-2に変えてcastle.desに追加、見本パッチを参考に周辺ソースを整備。 で、コンパイルしたら配置エラー続出(T T)。 調べてみた所、どうやらマップの扉用に書き込んでいる“+”の記号が、どういう訳か保存時に必ず“+−”に化ける模様。ご丁寧にも従来のマップまで同じ文字化けを起こし、なおかつ保存の度に毎回起こる。文字コードをどう変換して駄目。しかもエディタでは+−化けは表示されず、メモ帳で開いてようやく分かる有様。どういう神経してるんだこの馬鹿ファイルは? (- -#) そういえばcastle.desをエディタで開いた時、いつも通路の部分の壁が1マス分少ない状態で表示されてる(なので城裏側の堀がずれて表示される)のに、実際のマップではガタつきがないので妙だとは思っていたのですが… こりゃ、desファイルは50kBを越えた時点で開発放棄だな。まともに保存できないのだから(メモ帳は50kBまでしか扱えない)。 それと、コンパイルの時に以前の途中生成ファイル(.levやら何やら)を全て消しておかないと、コンパイルした新マップを認識してくれないのも困り者。この辺は注意すれば何とかなるが… まあ、そんなこんなで色々あったけど最終的には実装成功。 その後、あえてこの為にコメントアウトしていたナーガ・ラジャを城レベルユニークとして配置。で、マップが2つあるからと、実装はしてたけど出番の無かった(^^;)マスタードラゴンを第2マップに配置。 コンパイルしたらまた先ほどの馬鹿文字化け。毎回直せってのかよ(- -メ) そういえばナーガ・ラジャの毒吐き攻撃は、玉座の間が斜めに広がってる第2マップの方が有用なのかな。入れ替えるか。 蛇足。 当初はcastle.des内の表記を"Master dragon"としてたのでランダムなドラゴンが配置されてたのは秘密(^^;)。  #大文字と小文字も厳格に区別するのね。 --- 次にもう1つの積み残しだった罠の追加。うーむ、参考パッチを覗いてみたけど、専用関数らしき箇所を除いても結構いじる箇所有るなあ。utilフォルダとか。 そうしたものを整理して、槍の罠に挑戦。してはみたものの… 致命的な懸案が2つほど:  1)マップ上のシンボル表示が全て化けてしまう(槍の罠がiron barやtreeになったり、他の罠も化けてたり)   #追加したシンボル表示関係の数値がコンパイル時に全く参照されてない模様。何を参照してるんだよ(泣)  2)PCが罠によるダメージを全く受けていない という訳で一時お蔵入りにしてたけど、色々いじりつつ最挑戦。 utilフォルダやincludeフォルダの中の生成ファイルも全て掃除したけど、やはり罠関係が化けて(#とか祭壇とかドアとか)で表示される…どういう事? 一応それ以外はまともに動作する(ダメージも与える)ようにはなったけど… まあ何にせよ今の自分ではグラフィック関係をまともに扱えない事が分かったので開発放棄。 蛇足。 あらら、untrapに成功しても何も生成させない場合、罠自体も解除できないみたい。 代わりに鉄の鎖でも転がしておこうかしらん。 ------------------------------------------------------------ 04.04.06-09(FHS patch ver0.94) 全パッチをバラバラに管理するのも大変なので、全て1つにまとめてしまう事にしました。 新パッチ名はFHSパッチ (Funny-Honey-Spit patch)。 ジンの呼び出し関数をいじったり、 スタンプによるengraveがなかなかうまくいかなかったり、 魔除けの不確定名に"key"を含めてたせいで万能鍵が願えなくなったり等々、 色んな事があったけど、なんとか乗り切りました。 長い舌をAD_STCK(貼付)に変更し、AD_WRAP(捕縛)な捕獲球とは完全に差別化。 元々AD_WRAP自体が/* special "stick" for eels */(monattk.hより)だし。 一応のSpitパッチの総仕上げとして、針とランダムSpitの実装に挑戦。 あっさり成功(^^;) ランダムSpitの方はもっとてこずるかと思ってたけど、元々が毒液という専用ジャンルの"アイテム"を扱うものなので、ランダムに自然生成させればいいだけの事でした(笑)。 ちなみに低確率でランダムブレスに変化します。最初は1/10にしてたけど、少しブレスが多すぎるかと思い1/20に変更。  #AD_MAGMの方はどうしようかなあ。 なお針飛ばしは投げ矢が無限に入手できる可能性もあるけど、怪物のLVも少し高めだし別にいいかなと。 spitmu()で幾つもmksobj()が並ぶのも何なので、組替えてみた所、何故か落ちまくる。 原因が分からず悩んでたけど(ワタシには専門的なデバッグの知識なぞ無い)、とりあえず怪しい所は幾つか改良しておきました。おかげで公開が更に延びたよ…  #アイテム名の変数をotypのままにしてたのを専用変数に直したり、  #昆虫が蜜類を得る時の関数をmksobj()からmksobj_at()に変えたり。 むう、盲目の毒液(毒液のしぶき)もクリーム扱いなのかな。顔をぬぐわないと取れないとは。ユニコーンの角も効いたり効かなかったりで一定してないしなあ。 あと盲目時に毒霧を受けると「波璃瓶が頭上で〜」と出るのは直しておかないと。  #毒霧タイプの毒液は薬の処理を丸ごと流用してます。  [後日]->ソース再確認してみたけどどうやら ------------------------------------------------------------ 04.04.01-05(Spitパッチ ver0.94[未公開]) えーと、まずはご免なさい(_ _)。 「長い舌・捕獲球が別の怪物に命中した時、その怪物が死んでも引き寄せようとしてしまう」というバグが判明しました。 現在の手元の版(ver0.94)では直してありますが、まだ公開できる状態ではなく。 なんとか近日中には新版を公開できるようにします。 あ、新版では大王ガマから飲み込み攻撃を、黄金ナーガからテイルアタックを剥奪しますのでご了承下さい。  #紫ワームがLV15なので、LV10で他の特技も持つ大王ガマが使うとバランスとれないかと思い。  #金色ナーガ(魔法を使う)についても同様。 --- 案に煮詰まり、他のパッチ(まだ秘密)にも手を出してみる。  #なかなか公開にもっていけないのは、これが未だにSpitパッチと分離できていないせい。  #独立パッチにするかhoneyパッチに含めるべき内容なのだが。もしくは全て統合か。 その最中、薬の調合がある事を思い出し、レベルダウンの薬に関する調合効果を追加。  #基本的にはレベルアップの薬の逆を行わせれば良いので楽な物。 でもそれではいつまで経っても新版を公開できないので、このままではいけないと、擬似スポイラーの一覧を全面改定。 ダメージtypeをmonattk.hの登録順に並べ直し、登録番号も振ってみる。ランダムSpitの場合、ダメージtypeに隙間(未実装な物)が無い方が設定し易いと分かったので。 それをもとに眺めてたら、幽界の網のアイデアが浮かんだので実装。 その後、テレポートの毒液を実装。こんなの何に吐かせればいいのか検討つかないけど。  #そもそも量子物理学者がどんな代物なのかイメージできないのに、その発展形考えろろと言われても… 毒液の名前が決まらず、試しに「量子場」をWeb翻訳。   Ryoko place …馬鹿野郎… (- -;) まあ、なんとか実装はできましたが。