技術的なことを書こうとしてるただのゲームのブログ

RimworldのModとかなんか色々やってるよ。ニートだよ。

オピネルNo8買ったり分解とかしたお話

突然だけどオピネルの#8ステンレスを買いました。

これ。
キャンプしたときに、もうちょい手軽に調理やらなんやらに充てられる御洒落なナイフ無いかなぁと探していたら地元のアウトドア屋さんで発見。
ホントはカーボンスチールが欲しかったんだけど無かったのでステンレスを買いました。

ネットでオピネルナイフの情報を探していると

  • ハンドルが吸水性高く膨張しやすい材質の為油漬けした方が良い
  • 同じ理由でナイフが出しづらくなるので削って開きやすくしておいた方が良い

とのことで買ってからやったメンテを書いていきます。

分解する前に覚えててほしい事

オピネルナイフはどうも製造時期、ナンバーの違い等々で若干の仕様の差が多々ある製品のようです。
ナイフのピンにしてもピンの頭の形状や曲がり具合で個体差というには大きな差があります。
なのでネットで探した情報もあくまで一例として考えて、自分のナイフはどうだろうか?と探りながらやるのが良いです。

分解

ロックリングを外す

「ロック掛けたままブレード引っ張って開くとロックリング開くよw」と聞いてそのまま頑張る事小一時間。
バチコーン!!!とすごい勢いでブレードが閉まったりズルン!!ってリングが回転してブレードが開いたりとめっちょ危なかったのをここに記しておきます。
この個体は、リング開いている部分の反対に凹とした穴がありこれが本体側のメタルにある溝に嵌っていて、稼働領域を制限しているみたいです。


(凹部分はリングに刻印されているナンバーの後ろの所)
これが引っかかり開くごとにリングが回転するのを促しやがてリングが回転して結局外れない原因っぽいです。
この凹部分が無い奴はリングを閉めた状態でブレード開いても開けられると思います。たぶん

外し方としてはリングとグリップの隙間に他ナイフのブレードを入れてこじ開け、少しずつずらしていって引き抜きました。
ロックリングは丈夫な作りになっているので頑張って外しましょう。

ロックピンを外す

一番の難所。
軽く叩いて外れない場合諦めて削りましょう。

写真だとわかりづらいですが、結構湾曲していて抜くのも大変でした。
またこの曲がりの所為で組み立てるとき上手く入れることが出来なくてとても往生しました。

対策としてはピンの方向をペンで記して、抜いた向きと入れる向きを合わせたほうがたぶんマシになるんじゃないかな…と
まぁ自分のナイフは強引に突っ込んだので再摘出は難しくなってしまったわけですが。

ブレード部調整、組み立ては割愛

メンテナンス

油漬け

近所のディスカウントストアでアマニ油を買ってきて丸一日ほど漬けました。

ナイロン袋二重で丁重に保護しました。
なるべく空気に触れないよう空気抜いとくといいかも

出したらまた丸一日位放置して乾燥。
出した当初べたべたしていたキッチンペーパーが乾燥していたのが印象的。


完成

ほんとオピネル個体差が大きいので例えばこれピンの頭は平らだし、買ってすぐの状態でめっちゃ刃が研がれてて紙スパスパ切っていくので「まぁそういう個体があるよねぇ」程度にネットの情報集めるといいと思いました。

まだ実戦で使ってないのでそのうちデイキャンでもしたい。

ニートが行くキャンプ道 (後編になりたい)

catina013.hatenadiary.jp
これの続き。もうそんなに書くものないはず。

そんなこともあろうかと枠

Cakuja 筋トレ パワーグリップ 腕橈骨筋 鍛える 前腕筋群 上腕三頭筋 背筋 大胸筋 トレーニング フィットネス 負荷調整式 握力 (blue, L)

こんな商品名のもの買った覚えがない(呆然)
いい感じに安いハンモック。キャンプでハンモック使えるとほんと神なので神。
設営は簡単、案外丈夫なので持っとくとお昼寝が捗ります。むしろ起きられなくなるので不用意に寝ないこと。
あやしい日本語の商品多いのでレビュー見てハンモックガチャしてもいいかもですね。
ちなみに今回のキャンプでは一人が持ってきたテントがポールがないという事態に陥ったため、これと後述のタープで寝床を作りました。

GEERTOP 防水 軽量 テント用シート

タープやらなんやらで使い倒そうと購入。
まだ使用回数少ないんですが、ループも丈夫でそこそこの風の下でもちゃんと役割を全うしてくれました。
収納時めっちゃコンパクトなのもよい。

問題というかこれは自分の選択ミスなんですけど、上のハンモックと併用するとハンモックの袋の長さがみなし2600㎜くらいなのに対し、これの長辺でも2100㎜だったので斜めに掛ける必要があった感じですかね。
そうなると少しループの場所とかが少なくてモニョったので買う人は使用目的に応じたものを探しましょう。(戒め)

耐熱グローブ

なにかと熱いもの掴む機会の多いキャンプ耐熱グローブ一個持っとくと捗ります。
燃えてる薪をばらして調理用の熾火を作ったり直に入れた鍋を移動させたり、火を扱ううえでなるべく持っておいた方が良いです。
キャンプ時一番萎える原因ナンバーワンが火傷なので


パラコードとかその他些細なものはいい感じに用意しましょう。

キャンプ行程まとめ

5/10

夜 淡路島の宿泊先着。買い物をしてピザ生地を作った。

5/11

朝、肉等買い込みキャンプ場へ出発

キャンプ場着後、テント設営・火おこしを始める。


火が起こり次第ピザ作成、ピザ釜を作って焼きまくる。


UMAI!!!

昼食後その勢いで燻製に取り掛かる。


優勝!!!!!!!


晩飯準備(ピザ二回戦目)
すし@C94 on Twitter: "シーフードピザです。
二回目は窯に改善をくわえてパーフェクトな焼き加減に
#俺はこんな本州にいられるか島に籠もるぞ… "

夕食はあわじにくをにくやくやつ!!!!!

優勝!!!!!!!(2)



そのまま焚き火の横で団らん


就寝!!



二日目は朝起きて残りの薪を焼き切ったり朝飯にボイルウィンナーと麺食べててめっちゃ至福になったり隙無しの二日間でした。

こんな感じで楽しいキャンプでした(キャンプ二日目の画像少ないので割愛)




追記:楽しくキャンプするのに何より重要なのは入念な準備です。色々想像して想定して準備をしましょう。

ニートが行くキャンプ道 (恐らく中編)

catina013.hatenadiary.jp

これの続編。
今回の旅行のタイムスケジュールとか入れる後編とか書くやもしれません。

火(熱源とか色々)

SCHRADE アウトドアナイフ SCHF36

火編にこれ入れるか迷ったけどとりあえず老舗メーカーのナイフ。
フルタング構造かつ厚さ6㎜なのでめっちゃ丈夫。わりと刃渡り80%くらいの大きさのデカい薪をバトニングしても気持ちよく叩ける頑丈なナイフ。
割と重めなのだけど、重量バランスが優れているのか重さを感じさせません。
防錆として表面を黒で塗ってあるんだけど食いつきがあまり強くないので使っていくうちに剥げていきます。剥がれたら剥がれたで貫禄が出るのでそういうものと割り切りましょう。
刃の形状とか色々こだわり始めたらきりがないし、なんなら研ぎ方ひとつで色々変わりますが本題と逸れるのでひとまず置いときます。
これで手ごろな薪を作ったり火口を作ったりからロープ切ったり調理したりと何でもこなしてくれます。
色々楽しいので一本持っとくとアウトドア(というよりブッシュクラフト)の幅が広がるのでお勧めです。

付属でシャープナーとメタルマッチが付いていてメタルマッチはよく使ってるんですが恐らくアルミ製なんでマグネシウムのやつ買った方がストレスなく着くんじゃないかなぁと思います。(結構つけるの大変)

BUNDOK 焚火 スタンド ハンディ BD-480

バンドック製の焚き火台。
同額帯、同じような形状の焚き火台の中でこれを選んだ所以は、何より足が分解できるので20センチ程度収納サイズが小さくなることが挙げられます。
直火OKの場所も中々少ない昨今こういう焚き火台を持っておけばめっちゃ捗るのでお勧め。
下が耐熱のメッシュになっているのでありえん燃焼効率がよく、薪が灰まで燃えるので後片づけも楽に。
上で調理も出来なくはないんだけど、暖を取るもしくはインスタ映え㌠として割り切って使いましょう。
調理したり鍋置きてぇって我儘さんはDOD

こういうのが良いと思います。(関係ないですけど三角形のメッシュを6角形にしたらもうちょい薪安定して乗せられそうなんですけどそこの所どうですかねDODさん)

CAPTAIN STAG シャベル スコップ スチール FD バッグ付M-3249

なんで要るの?と思われるかもしれないですけど案外重要なスコップ君。
突いてよし殴ってよし切ってよし埋めてよしと隙がない。というのは冗談として、例えば直火OKのサイトでの延焼対策に周辺地面掘ったり浅い逆角錐状に掘ることでかまどを形成したりするところから、焚き火後の消し炭を処理するのに使用したり等欲しいなと思う場面は多かったので購入しました。
形状とか収納方法で折り畳みスコップは色々種類がありますが、これが頑丈そうでかつ安いのでこれをチョイス。
埋まって取れなくなったペグ救出にも活躍しました。

食(調理器具とか色々)

食に対する関心が割合薄いので(無職だけにw)ここらへん優先度低めなのでご了承を

CAPTAIN STAG アウトドア用 カトラリー セット

DEP○で見つけたセットを購入。
一セットくらいもっといたらいいかなぁと軽い気持ちで購入したら、案外これのナイフが鋭く調理に大活躍。
他は特にコメントするところないかなぁ可もなく不可もない良品。

カクセー キャメルウィル キャンピング鍋4点セット携帯袋付 CW-300

水沸かしたり調理したりする鍋欲しいって安直な考えから購入したもの。
他商品は13点セット!とかゴチャゴチャしたのが「ほんまそこまで使うか?」と思いセット数少ないものをチョイス。
めっちゃ料理作るわけでもないなら、

  1. 茹でる用の鍋
  2. 炒める用の鍋
  3. 取り皿(鍋そのまま食べてもいいと思う)
  4. コップ

程度で良いのでは?疑惑は大いにある。
調理予定とか収納場所と相談しながら決めましょう。
袋めんやカップ麺をそのまま鍋に入れられる大きさなのはアドバンテージかもしれない。

UNIFLAME ミニバーナー US-600


※廃盤みたいですね

ユニフレームのミニバーナー。カセットコンロの熱源は一個もっといたら捗るのでお勧め。朝っぱらからメタルマッチ擦って火つけしたくないよね。湿気ってたりするしね。
めっちゃ前に家族ぐるみでアウトドアハマってた時に自分用に買ったやつが未だ現役。
後継も出てるけど五徳が更に小さくなっているので、もし次買うなら

こういうのを選ぶかなぁというお気持ちです。



恐らく中編とか書いたけどまだまだ書き足りてないのでまた次の記事に回します。

ニートが行くキャンプ道 (前編)

週末キャンプに行ってきたのですが、同行者から装備レビューしてほしいといわれた気がしたのでブログにしてみた。
火食住をメインに使った装備の概要と簡単なレビューを書いていきたいです。

住(寝るとこ寝る装備)

BUNDOK ソロ ドーム 1 BDK-08

ツーリングテントとかにとても強いバンドックのBDK-08 ソロドームというだけあって、一人用でかつコンパクトな大きさです。
組み立ては一度やったら覚えられる程度に簡単なのでとてもよい。ただグラウンドシートを敷いてインナーを広げた時にペグで固定しとくと組み立てやすくなると思う。(正規の立て方だっけ)
インナーが上半分メッシュなので寒そうに見えるけど背面で風を受けるように設置したら案外大丈夫だった。ただ隙間から風が入らないわけではないので、シュラフ等厚めの装備を考えた方がよいと思う。
室内サイズは180㎝60㎏の自分が余裕をもって寝られるのがよかった。天井部は物入れがあり懐中電灯やスマホ、眼鏡等しまっておくのにちょうどよかった。ただ足元に鞄や靴を置いて上に足を置くような感じで寝ていたので足元の広さが欲しい人とかマミー型シュラフがあまり好きではない人には圧迫感を感じることになるかもしれないので一回り大きくて前室がもっと取れるBDK-17 
https://amzn.to/2wHfti0
を購入するのがよいかも。
写真だと前室があまり無いように見えるけどこれが案外広く、後述の椅子やら机を入れても余裕をもって閉められる程度には使えるのが良い。
悲しいところとしては、バンドックシリーズではよくあるペグの貧弱さ。今回のキャンプ場はダム湖畔で岩が結構埋まっているのか10㎝より下がペグが刺さるかどうかってほど硬いペグガチャ状態で、ペグを叩き続けているとかなりぐにゃぐにゃまがってしまった。なのでペグを11本買うことを念頭に置いて購入したほうがいいです。テントの寿命よりペグの寿命の方が絶対短いので。

CAPTAIN STAG キャンプマット 1人用

みんな大好きキャプテンスタッグのキャンプマット。
これのいいところは、波々しているシートが厚さを確保しながら波の形状自体がクッションにもなっているので低反発クッションライクな柔らかさを実現しながら波が折り重なることで2㎝厚を確保しながら他社製品の1㎝厚商品と変わらぬ収納サイズを実現している所。
多少ゴツゴツした路面でも何となしに寝られてしまうのはとても良いです。
あと安いので強い。
つらいところとしては収納時の大きさ。これはこのタイプのマット全般に言える事なのであまり重要なファクターではないけどもどうしても気になる人は

こういうのが良いんじゃないかな?と思います。
ちなみに自分はふくらませる奴を信用しきってないのでウレタンマットを使っています。

WhiteSeek 寝袋 シュラフ マミー型 【最低使用温度 -15℃ 】

シュラフ コスパ”で検索すると頻出するホワイトシーク製のマミー型シュラフ その中の一番最低使用温度が低いやつです。
シュラフを決める基準は大体三つあって

  • シュラフの形(マミー型やら封筒型やら)
  • 最低使用温度
  • 使用素材(ナイロンやらウールやら)

自分がこれを選んだ理由は

  • 収納サイズが小さめの方が良いのでマミー型
  • とりあえず最低気温が低かったら着ている枚数で脱いで温度調整できるので低いやつ
  • 安いのでいいのでウール

という感じでこれを選びました。
ただ若干大きく収納サイズで困惑しているので、同じホワイトシーク製のコンパクトな奴を購入するか考えている所です。

Moon Lence アウトドアチェ

ヘリ○ックスのコピー商品というんでしょうか。まぁ安いは強いのムーンランスさんのローチェア。
まぁコスパ感サイッキョなのでお安く求めたい方はおすすめなんじゃないでしょうか。
後述のサイドテーブル、焚き火台と良い高さ感があるのでとてもおすすめ。


お金稼いだらヘリノッ○ス買うんや(決意)

Sutekus ロールテーブル アルミ製

アルミの可愛いローテーブル。収納サイズも案外小さいのでとても良い。
この手のテーブルの種類を決めるチェックポイントは2種類程度あって

  • テーブルのサイズ(高さ10センチ程度のものから30センチ位の大きさ)
  • テーブル部分の材質(耐熱布や金属製)

そのなかから、

  • なるべく小さいけどもローチェアと一緒に使ってちょうどいい高さのもの
  • 汚れを気にしたくないので拭くだけでなんとかなりそうな金属製

を選んでこれを購入しました。
収納時のサイズも小さくかなり満足しています。

火・食編はまた次回に持ち越しということで。

としぁがTwitterに消されて2週間が経ちました。

いきなりの記事失礼します。
めびうす、23歳の女子大生です。
お互いのニーズに合致しそうだと思い、記事にしてみました。
自分のことを少し語ります。
先月中旬、わけあってとしぁを亡くしました。
自分は…としぁのことを…死ぬまで何も理解していなかったのが
とても悔やまれます。
としぁはTwitterで頻繁にツイートしていたのですが、
それは遊びの為のツイートではなかったのです。
ふぁぼを得るために、私に内緒であんな危険なクライアントを作るなんて…
二週間が経過して、ようやくとしぁの死から立ち直ってきました。
ですが、お恥ずかしい話ですが、毎日の孤独な夜に、
身体の火照りが止まらなくなる時間も増えてきました。
としぁの残したふぁぼられは莫大な量です。
つまり、Modは幾らでも出きますので、
私の承認欲求を満たして欲しいのです。
お返事を頂けましたら、もっと詳しい話をしたいと
考えています。連絡、待っていますね。

OkanoHead公開するよ

今まで作ったModの中で唯一他人に公開していたOkanoHeadですが、それを公開していた相手が連絡取れなくなったのでWorkshopにアップロードしました。
あと本体が期待のB18にアップデートされたので簡単ながらModもアップデートしました。
なのでとしぁさんも草葉の陰からサブスクライブしてくれるでしょう。

Modのアップデート

OkanoHeadは頭部画像差し替えのModのため、アップデートの余波をほぼ受けていません。
なのでAbout.xmlの中のバージョンを書き換えていきます。
具体的には0.18.1722にしました。

<?xml version="1.0" encoding="UTF-8"?>
<ModMetaData>
  <name>OkanoHead</name>
  <author>めびうす</author>
  <targetVersion>0.18.1722</targetVersion>
  <description> Okano is born in the Rimworld 
  貴方の世界におかのさんを追加します。
  
  標準の顔を一種差し替えるModのため他と競合する場合はどちらかを停止してください。
  
 Caution
Redistribution of this MOD data is prohibited.

注意
当MODの再配布を禁じます。
  
  FAQ
Q:  I am English speaker. Can I use Mikutter in English?
答え:日本人は敗戦後、Shift-JISやJAP106などをGHQに押し付けられて、結果として情報工学の発展に大幅な遅れを取りました。私も小学生の頃、プログラミングを始めたら習ったこともない英語が並んでいて挫折したものです。またあなたたちはASCII以外非対応という、日本の小学生でも作らないような低品質なサービスを沢山公開してきました。
そうやって代々私達が虐げられてきたことを、あなたたちが追体験できる貴重な機会が、このmikutterであるわけです。
  
  
  ただいな感謝を:@toshi_a
  </description>
</ModMetaData>

これを上書きして動作確認して終わり。

Workshopにアップロード

めっちゃわかりやすい記事を見つけたのでこれ見たら楽勝です。

4mirai.com

要約すると、

  1. 作ったModを自分のゲーム内で動作できるようにする
  2. 開発者モードをオン
  3. Mod選択画面からアップロードを選択
  4. 公開設定を公開にする

です。

ってなわけでアップロードされたOkanoHeadがこれ

f:id:catina013:20171203221331p:plain

以上です!
用法容量を守って楽しいRimworld生活を!

今Rimworldできないなら絶対にみないで下さい。記事がガバガバすぎて、ほぼ100%その場でコメントしてしまいます。

流行りに乗ってふざけたタイトルつけてみた。反省はしていない。

そういえばDiscordの通知が死んだ事件、どうも画面共有機能が追加されて「設定→配信モード→設定」の”通知の無効化”がオンになってたのが戦犯みたい。心当たりある方はそれオフにしてみましょ。


それでは本日のお題

ドラッグのワークテーブル弄って百合患者作るよ

発案はこれ。松屋Modで改変に味をしめたので色々作ってみることにした。
ゲームバランス崩さない程度でも強い概念をラベリングして並べるだけで面白いModになる事に気づいたので、まるで中毒症状のような百合患者*1を作り出そうと思った。

注意 この記事でこのModは完成しませんし現状の問題点だけを挙げます。

いつものごとくxml改変

DrugLabでCore内検索、構成ファイルを構築。ここからへんは前回と同じ。
違うのはドラッグは薬ごとに別ファイルでその薬の色んな種類の情報が書かれていたので、フレークのレシピを元にしました。

いつものようにファイル構成はこんな感じ。

Medical treatment of heterosis
                              About
                                   いつもの
                              Defs
                                  Doujin
                                        Writing_Doujin.xml
                                  ThingDefs_Buildings
                                                     Buildings_Production.xml
                                  WorkGivers
                                            WorkGivers


テクスチャはまだ試作状態なので作ってません(初期データを流用してます)

Writing_Doujin.xml

めっちゃくちゃなファイル名ですが元データはフレークのxml
名称とちょびっと効果変えた感じです。

<?xml version="1.0" encoding="utf-8" ?>
<Defs>

  <ThingDef ParentName="MakeableDrugBase">
    <defName>YuriBooks</defName>
    <label>百合本</label>
    <description>百合(ゆり)は、女性の同性愛のこと。また、それを題材とした各種作品。作品の場合、女性同士の恋愛だけでなく恋愛に近い友愛や広く友情を含んだ作品も百合と言うことが多い[注 1]</description>
    <graphicData>
      <texPath>Things/Item/Drug/Flake</texPath>
      <graphicClass>Graphic_StackCount</graphicClass>
    </graphicData>
    <rotatable>false</rotatable>
    <statBases>
      <WorkToMake>500</WorkToMake>
      <MarketValue>14</MarketValue>
      <Mass>0.05</Mass>
    </statBases>
    <techLevel>Industrial</techLevel>
    <ingestible>
      <foodType>Processed</foodType>
      <joy>1.20</joy>
      <baseIngestTicks>720</baseIngestTicks>
      <nurseable>true</nurseable>
      <drugCategory>Hard</drugCategory>
      <ingestSound>Ingest_Smoke</ingestSound>
      <ingestEffect>Smoke_Flake</ingestEffect>
			<ingestEffectEat>EatVegetarian</ingestEffectEat>
      <ingestHoldOffsetStanding>
        <northDefault>
          <offset>(0.23,0,0.065)</offset>
        </northDefault>
      </ingestHoldOffsetStanding>
      <ingestHoldUsesTable>false</ingestHoldUsesTable>
      <ingestCommandString>Smoke {0}</ingestCommandString>
      <ingestReportString>Smoking {0}.</ingestReportString>
      <useEatingSpeedStat>false</useEatingSpeedStat>
      <outcomeDoers>
        <li Class="IngestionOutcomeDoer_GiveHediff">
          <hediffDef>Yuri-ChuGreatVictory</hediffDef>
          <severity>0.75</severity>
          <toleranceChemical>Psychite</toleranceChemical>
        </li>
        <li Class="IngestionOutcomeDoer_OffsetNeed">
          <need>Rest</need>
          <offset>0.2</offset>
          <toleranceChemical>Psychite</toleranceChemical>
        </li>
        <li Class="IngestionOutcomeDoer_GiveHediff">
          <hediffDef>PsychiteTolerance</hediffDef>
          <severity>0.045</severity>
					<divideByBodySize>true</divideByBodySize>
				</li>
      </outcomeDoers>
    </ingestible>
    <recipeMaker>
			<researchPrerequisite>PsychiteRefining</researchPrerequisite>
      <recipeUsers>
        <li>DrugLab</li>
      </recipeUsers>
    </recipeMaker>
    <costList>
      <WoodLog>4</WoodLog>
    </costList>
    <comps>
      <li Class="CompProperties_Drug">
        <chemical>Psychite</chemical>
        <addictiveness>0.30</addictiveness>
        <minToleranceToAddict>0.10</minToleranceToAddict>
        <existingAddictionSeverityOffset>0.50</existingAddictionSeverityOffset>
        <needLevelOffset>1</needLevelOffset>
        <listOrder>110</listOrder>
        <overdoseSeverityOffset>
          <min>0.18</min>
          <max>0.5</max>
        </overdoseSeverityOffset>
				<largeOverdoseChance>0.015</largeOverdoseChance>
			</li>
    </comps>
  </ThingDef>
  
  <HediffDef>
    <defName>Yuri-ChuGreatVictory</defName>
    <hediffClass>HediffWithComps</hediffClass>
    <label>百合厨大勝利</label>
    <defaultLabelColor>(1,0,0.5)</defaultLabelColor>
    <scenarioCanAdd>true</scenarioCanAdd>
    <maxSeverity>1.0</maxSeverity>
    <comps>
      <li Class="HediffCompProperties_SeverityPerDay">
        <severityPerDay>-3.0</severityPerDay>
      </li>
    </comps>
      <stages>
        <li>
          <painFactor>0.5</painFactor>
          <restFallFactor>0.33</restFallFactor>
        </li>
      </stages>
  </HediffDef>
  
  <ThoughtDef>
    <defName>Yuri-ChuGreatVictory</defName>
    <workerClass>ThoughtWorker_Hediff</workerClass>
    <hediff>Yuri-ChuGreatVictory</hediff>
    <validWhileDespawned>true</validWhileDespawned>
    <stages>
      <li>
        <label>high on flake</label>
        <description>So good, so good.</description>
        <baseMoodEffect>35</baseMoodEffect>
      </li>
    </stages>
  </ThoughtDef>

</Defs>

一応BLとか普通の同人とか応用効くようにしてみた。

Buildings_Production.xml

DrugLabを改変。後述するけど今回あまり役に立ってない所。

<?xml version="1.0" encoding="utf-8" ?>
<ThingDefs>
  
  <ThingDef ParentName="BenchBase">
    <DefName>Studytable</DefName>
    <label>書斎</label>
    <ThingClass>Building_WorkTable</ThingClass>
    <Description>幾億キロの冒険もテーブルの上で</Description>
    <graphicData>
      <texPath>Things/Building/Production/TableDrugLab</texPath>
      <graphicClass>Graphic_Multi</graphicClass>
      <shaderType>CutoutComplex</shaderType>
      <drawSize>(3.5,1.5)</drawSize>
      <damageData>
        <cornerTL>Damage/Corner</cornerTL>
        <cornerTR>Damage/Corner</cornerTR>
        <cornerBL>Damage/Corner</cornerBL>
        <cornerBR>Damage/Corner</cornerBR>
      </damageData>
    </graphicData>
    <costStuffCount>50</costStuffCount>
    <stuffCategories>
      <li>Metallic</li>
      <li>Woody</li>
    </stuffCategories>
    <costList>
      <WoodLog>120</WoodLog>
      <Component>8</Component>
    </costList>
    <AltitudeLayer>Building</AltitudeLayer>
    <fillPercent>0.5</fillPercent>
    <useHitPoints>True</useHitPoints>
    <statBases>
      <WorkToBuild>3500</WorkToBuild>
      <MaxHitPoints>120</MaxHitPoints>
      <Flammability>1.0</Flammability>
    </statBases>
    <Size>(3,1)</Size>
    <DesignationCategory>Production</DesignationCategory>
    <Passability>PassThroughOnly</Passability>
    <pathCost>70</pathCost>
    <hasInteractionCell>True</hasInteractionCell>
    <interactionCellOffset>(0,0,-1)</interactionCellOffset>
    <surfaceType>Item</surfaceType>
    <inspectorTabs>
      <li>ITab_Bills</li>
    </inspectorTabs>
    <building>
      <spawnedConceptLearnOpportunity>BillsTab</spawnedConceptLearnOpportunity>
    </building>
    <comps>
      <li Class="CompProperties_AffectedByFacilities">
        <linkableFacilities>
          <li>ToolCabinet</li>
        </linkableFacilities>
      </li>
    </comps>
		<placeWorkers>
			<li>PlaceWorker_ShowFacilitiesConnections</li>
		</placeWorkers>
    <researchPrerequisites>
      <li>DrugProduction</li>
    </researchPrerequisites>
  </ThingDef>
  
</ThingDefs>


御覧の通り、ドラッグラボで作れるレシピは設定されない。
ドラッグのくくりから各ドラッグを参照して作成できるようになってるみたい(ちゃんとソースコード読み込めていない)
なので、百合本が普通のドラッグラボから作成が出来るようになっている。

まぁ処方されるものだしなにもおかしくないのだが、初めに設定した「専用のワークテーブルで百合本を作成」に適っていないのでもうちょいソース読んで作りたい。

上手く改変で来たら、普通のワークテーブルから百合本作成とか出来ないかと今度挑戦してみるつもり。

WorkGivers.xml

ここらへんはそんな目新しい事をしていないので割愛(これ追加した意味あまりないかもしれない)

終わりに

一応、ドラッグラボから百合本作成はできたので他のアプローチが出来るようにドラックラボ周りの動きを調べていきたい。
目指せ百合患者で近隣コロニーを殲滅。

*1:百合属性をもつ人の事ではなく百合作品を求めてゾンビの如く彷徨う人の事を指す

Rimworldで松屋Mod作成したよ

きっかけ

なんで作ろうと思ったかわかんないけど、機運?

仕様

ただ飯画像と名前置換するだけじゃ芸がないので専用のワークテーブルを作ってそこでのみ作らせるようにしてみた。
基本的には手の込んだ料理や贅沢な料理を改変するのだけど 素材効率や満腹値(?)を良くする代わりに、ワークテーブルの作成コストと維持コストを上げてみた。

必要な要素の抜き出し

電気コンロと手の込んだ料理、贅沢な料理その他関連するxmlを引っこ抜きます。
何が必要かは作ろうとしてるものに近いModをワークショップで落してきて分析するのもいいと思います。

Coreから探してくる

検索欄をファイル内も探すように設定して”food”で検索。
f:id:catina013:20171018095652p:plain
するとCoreファイル直下からファイル名、もしくはファイル内に”food”とついたファイルが全てピックアップされます。
そんなかからいるモノ要らないものを精査して、要るモノのフォルダ階層をこれから作るModのフォルダに作っていきます(本当は作らなくてもいいけど後から見やすいので作ってる)

必要ファイル

既存のModやCore内のファイルを調べた結果、今回の仕様で必要なファイル構成は以下の様になりました。

MatsuyaFood
           About
                いつもの
           Defs
               RecipeDefs
                         Recipes_Meals.xml
               ThingDefs_Buildings
                                  Buildings_Production.xml
               ThingDefs_Items
                              Items_Food.xml
               WorkGiver
                        WorkGivers.xml
           Textures
                   割愛

中身乗っけながら簡単に解説してきます。

Recipes_Meals.xml

後述するBuildings_Production.xmlのなかのMatsuyaKitchenで作れるレシピの参照先になります。
ここでは牛めしとPremiamu牛めしのレシピを記述します。

<?xml version="1.0" encoding="utf-8" ?>
<RecipeDefs>

  <RecipeDef ParentName="CookMealBase">
		<defName>gyumeshi</defName>
		<label>牛めし</label>
		<description>松屋の定番!ぜひ一度お試しください!</description>
		<jobString>Cooking fine meal.</jobString>
		<workSpeedStat>CookSpeed</workSpeedStat>
		<effectWorking>Cook</effectWorking>
    <soundWorking>Recipe_CookMeal</soundWorking>
    <allowMixingIngredients>true</allowMixingIngredients>
    <ingredientValueGetterClass>IngredientValueGetter_Nutrition</ingredientValueGetterClass>
    <ingredients>
			<li>
				<filter>
					<categories>
						<li>MeatRaw</li>
            <li>AnimalProductRaw</li>
          </categories>
				</filter>
				<count>0.2</count>
			</li>
			<li>
				<filter>
					<categories>
						<li>PlantFoodRaw</li>
					</categories>
				</filter>
				<count>0.2</count>
			</li>
		</ingredients>
		<products>
      <MealFine>2</MealFine>
    </products>
		<skillRequirements>
			<li>
				<skill>Cooking</skill>
				<minLevel>4</minLevel>
			</li>
		</skillRequirements>
  </RecipeDef>

	<RecipeDef ParentName="CookMealBase">
		<defName>premiamugyumeshi</defName>
		<label>premiamu牛めし</label>
		<description>これまでの旨さから、別次元の旨さへ</description>
		<jobString>Cooking lavish meal.</jobString>
		<workSpeedStat>CookSpeed</workSpeedStat>
		<effectWorking>Cook</effectWorking>
    <soundWorking>Recipe_CookMeal</soundWorking>
    <allowMixingIngredients>true</allowMixingIngredients>
		<ingredientValueGetterClass>IngredientValueGetter_Nutrition</ingredientValueGetterClass>
		<ingredients>
			<li>
				<filter>
					<categories>
						<li>MeatRaw</li>
            <li>AnimalProductRaw</li>
          </categories>
				</filter>
				<count>0.5</count>
			</li>
			<li>
				<filter>
					<categories>
						<li>PlantFoodRaw</li>
					</categories>
				</filter>
				<count>0.5</count>
			</li>
		</ingredients>
		<products>
      <MealLavish>2</MealLavish>
    </products>
		<skillRequirements>
			<li>
				<skill>Cooking</skill>
				<minLevel>8</minLevel>
			</li>
		</skillRequirements>
  </RecipeDef>

</RecipeDefs>

単語を和訳するだけでも大体どのタグが何を指してるかわかると思います。
レシピ時に必要スキルレベルとか原材料等を指定します。フィルターもあるので肉や野菜の細かな指定から肉ならなんでもみたいな大雑把な指定まで出来るみたいです。たぶん。

Buildings_Production.xml

MatsuyaKitchenの作り方とそのキッチンの性能、作れるレシピを指定するファイルです。

<?xml version="1.0" encoding="utf-8" ?>
<ThingDefs>

  <ThingDef ParentName="BenchBase">
    <defName>MatsuyaKitchen</defName>
    <label>松屋キッチン</label>
    <ThingClass>Building_WorkTable_HeatPush</ThingClass>
    <Description>充実したラインナップでお客様の軒高と豊かな食生活を応援します。</Description>
    <graphicData>
      <texPath>Things/Building/Production/MatsuyaKitchen</texPath>
      <graphicClass>Graphic_Multi</graphicClass>
      <drawSize>(3.5,1.5)</drawSize>
      <damageData>
        <cornerTL>Damage/Corner</cornerTL>
        <cornerTR>Damage/Corner</cornerTR>
        <cornerBL>Damage/Corner</cornerBL>
        <cornerBR>Damage/Corner</cornerBR>
      </damageData>
    </graphicData>
    <constructEffect>ConstructMetal</constructEffect>
    <CostList>
      <Steel>200</Steel>
      <Component>20</Component>
    </CostList>
    <AltitudeLayer>Building</AltitudeLayer>
    <fillPercent>0.5</fillPercent>
    <useHitPoints>True</useHitPoints>
    <statBases>
      <WorkToBuild>3000</WorkToBuild>
      <MaxHitPoints>180</MaxHitPoints>
      <Flammability>1.0</Flammability>
    </statBases>
    <Size>(3,1)</Size>
    <DesignationCategory>Production</DesignationCategory>
    <Passability>PassThroughOnly</Passability>
    <pathCost>70</pathCost>
    <hasInteractionCell>True</hasInteractionCell>
    <interactionCellOffset>(0,0,-1)</interactionCellOffset>
    <surfaceType>Item</surfaceType>
    <recipes>
      <li>gyumeshi</li>
      <li>premiamugyumeshi</li>
    </recipes>
    <inspectorTabs>
      <li>ITab_Bills</li>
    </inspectorTabs>
    <comps>
      <li Class="CompProperties_Power">
        <compClass>CompPowerTrader</compClass>
        <startElectricalFires>true</startElectricalFires>
        <basePowerConsumption>500</basePowerConsumption>
      </li>
      <li Class="CompProperties_Flickable"/>
      <li Class="CompProperties_Breakdownable"/>
    </comps>
    <building>
      <isMealSource>true</isMealSource>
      <spawnedConceptLearnOpportunity>BillsTab</spawnedConceptLearnOpportunity>
      <heatPerTickWhileWorking>0.10</heatPerTickWhileWorking>
    </building>
    <designationHotKey>Misc8</designationHotKey>
    <researchPrerequisites>
      <li>Electricity</li>
    </researchPrerequisites>
  </ThingDef>


  
</ThingDefs>

作成コストから作れるレシピ、消費電力なんかを指定します。

ここの作成コストで間違ったレシピを指定した場合、ゲーム内でこのテーブル作成すると進行不可なバグ出るので注意

Items_Food.xml

牛めしの基本情報が設定されるファイルです。牛めしが出来る前はレシピ、出来た後はこれを参照されます。

<?xml version="1.0" encoding="utf-8" ?>
<ThingDefs>

  <ThingDef ParentName="MealRottable">
    <defName>gyumeshi</defName>
    <label>牛めし</label>
    <description>松屋の定番!ぜひ一度お試しください!</description>
    <graphicData>
      <texPath>Things/Item/Meal/gyumeshi</texPath>
      <graphicClass>Graphic_Single</graphicClass>
    </graphicData>
    <statBases>
      <MarketValue>24</MarketValue>
      <WorkToMake>200</WorkToMake>
    </statBases>
    <ingestible>
      <preferability>MealFine</preferability>
			<tasteThought>AteFineMeal</tasteThought>
			<nutrition>0.90</nutrition>
      <ingestEffect>EatVegetarian</ingestEffect>
      <ingestSound>Meal_Eat</ingestSound>
    </ingestible>
  </ThingDef>


  <ThingDef ParentName="MealRottable">
    <defName>premiamugyumeshi</defName>
    <label>premiamu 牛めし</label>
    <description>これまでの旨さから、別次元の旨さへ</description>
    <graphicData>
      <texPath>Things/Item/Meal/gyumeshi</texPath>
      <graphicClass>Graphic_Single</graphicClass>
    </graphicData>
    <statBases>
      <MarketValue>30</MarketValue>
      <WorkToMake>300</WorkToMake>
    </statBases>
    <ingestible>
      <preferability>MealLavish</preferability>
			<tasteThought>AteLavishMeal</tasteThought>
      <nutrition>1.00</nutrition>
      <ingestEffect>EatVegetarian</ingestEffect>
      <ingestSound>Meal_Eat</ingestSound>
    </ingestible>
  </ThingDef>

</ThingDefs>

Premiamu牛めしも同じテクスチャ使ってるのはご愛敬

WorkGivers.xml

今回で一番のひっかけ問題がここ。
作ったワークテーブルで料理作ってもらうためにはここに記入したほうがよいみたい。(正確なこのファイルの挙動がわかってない)

<?xml version="1.0" encoding="utf-8" ?>
<WorkGivers>

  <WorkGiverDef>
    <defName>DoBillsCookMatsuyaKitchen</defName>
    <label>みんなの食卓でありたい。松屋</label>
    <giverClass>WorkGiver_DoBill</giverClass>
    <workType>Cooking</workType>
    <priorityInType>80</priorityInType>
    <fixedBillGiverDefs>
      <li>MatsuyaKitchen</li>
    </fixedBillGiverDefs>
    <verb>cook</verb>
    <gerund>cooking at</gerund>
    <requiredCapacities>
      <li>Manipulation</li>
    </requiredCapacities>
    <prioritizeSustains>true</prioritizeSustains>
  </WorkGiverDef>

</WorkGivers>

MatsuyaKitchenでどのタイプのジョブをさせるかとかたぶんそういうものが記述されているはず。

テクスチャの追加

わざわざ撮ってくれたとしぁさんに感謝。

これを適当にチョチョって64*64の透過pngに変換して完成。

あと適当に松屋っぽさを感じさせるワークテーブルの画像を挿入したら出来上がり。

完成


コピペでも出来るRimworldのModで優勝したい。

次回はヘテロ厨矯正Modを作る予定。

<