User:Sosu2357/農業の仕様

From Ylvapedia

目次

左上の「<<」をクリックすることで目次が左に表示されます。お手数をおかけします。

はじめに

このページには、プログラム内部を見ることによって得た解析情報が含まれます。ご注意ください。


解析情報は正しいとは限りません。デバッグされてないプログラムと同じ、あやふやな情報です。
ゲーム内での検証を積み重ねて正しい情報に近づけていく必要があります。ぜひご協力ください。

種の均一化

お任せ農業で実行される種の+レベルの均一化。

バージョン

EA 23.88 Nightly

ソースコード(外部リンク)

GrowSystem.EqualizePlants - Elin Decompiled Documentation 294行目から

計算式

自分のマスの植物を取得する
自分のマスの左・下・上・右の順に以下の処理を行う
隣のマスの植物を取得し、その種のデータを取得
植物がなければ、その場所に蒔かれた種のデータを取得
隣の種のデータがあり、自分のマスの植物と隣のマスの植物が等しく、種のレベルが自分以上ならば
自分のマスの植物の種のデータを隣の種のデータに上書きする

・EqualizePlants自体は正常に動作している。
・隣の植物は成長抑制していてもOK。

種のレベルアップ

植物が種になるときのレベルアップの計算。

バージョン

EA 23.88 Nightly

ソースコード(外部リンク)

TraitSeed.MakeSeed - Elin Decompiled Documentation 73行目から

計算式

[詳細を開く/閉じる]

PCの農業レベル - 種のレベル が十分大きい場合のみ簡略に記す。

(1)お任せ農業でないなら
必ずレベルアップ判定し、最大10レベル上昇
(2)お任せ農業なら
1/3の確率でレベルアップ判定し、最大3レベル上昇

・お任せ農業のときも、PCの農業レベル依存で判定される。

注意すべき点

・お任せ農業で種を生成するとき、畑の各マスごとに EqualizePlants(均一化) -> MakeSeed(レベルアップ) の順に処理する。

畑の各マスは

4 8 12 16
3 7 11 15
2 6 10 14
1 5 9 13

のような順でたどるので、一度の種生成で左下から右上まで 均一化→レベルアップ→均一化→レベルアップ... が次々と連鎖して処理される。
お任せ農業のとき左下のレベルが低く、右上のレベルが高くなるのはこのため。均一化の処理のはずが却ってバラバラになりやすい。

B
 
 
A      

・逆に言うとマップ左下から右上までL字型の細長い畑を作れば、一度の収穫で大きくレベルアップを図れる。
種になったときに、左下(A)と右上(B)の種を交換してやるとPCの農業レベルにすばやく追いつく。
結果的に農業レベルキャップによりレベルがまとまりやすい。

種のレベルと品質

種のレベルから品質を計算したのち、種のレベルアップを行う。

バージョン

EA 23.95 Nyaightly

ソースコード(外部リンク)

TraitSeed.MakeSeed - Elin Decompiled Documentation 73行目から
GrowSystem.ApplySeed - Elin Decompiled Documentation 654行目から

計算式

植物から種を生成するとき
植物の種のデータを取得

・品質の上昇と食事効果の付与は種の刈り取るときのみ行われる。

食事効果をコピー
品質 = curve(レベル, 50, 10, 80) で品質を設定

以下のようになる。

刈り取り前の

植物のレベル

刈り取り後の

種の品質Lv

0 0
1~9 1
10~19 2
20~29 3
30~39 4
40~49 5
50~63 6
63~78 7
79~98 8
99~123 9
124~154 10
155~193 11
... ...
種のレベルアップを行う

品質決定→レベルアップの順。

レベルアップに応じて食事効果を上昇
作物を収穫するとき種のレベルが1以上なら
作物のレベル = 種のレベル / 10 + 1
種のレベル 作物のレベル
0 0
1~9 1
10~19 2
20~29 3
30~39 4
40~49 5
50~59 6
60~69 7
... ...

注意すべき点

レベルアップ前の植物の種のレベルに応じて次の種の品質が決まる。処理順が少し奇妙。

[例] きのこの種を植えて種を刈り取り、きのこの種+10を得る。このとき絶対に品質はつかない
きのこの種+10を植えて種を刈り取り、きのこの種+20を得る。このとき+10を参照して品質Lvは2となる。

農作物の収穫日数

お任せ農業で種になる日数はほぼ一律。

バージョン

EA 23.92

ソースコード(外部リンク)

GrowSystem.Grow - Elin Decompiled Documentation 319行目から
Zone.GrowPlants - Elin Decompiled Documentation 3123行目から
Zone.OnSimulateHour - Elin Decompiled Documentation 3078行目から

計算式

種はアイテム(Thing)扱い
農作物はオブジェクト(Obj)扱い

・扱いが根本的に異なる。処理やデータベースを読むときに注意。

畑のマップを訪れたとき、畑マップを離れていた時間と同じ回数だけ
「1/24 の確率で雨が降り、屋根のない耕した土が水やり状態になる」
を行う

・SetConditionではなく直接RainWaterを呼び出す。
・冬でも雨が降る。この確率は生きた加湿器のエーテル病によって増えない。

種・農作物の成長は1日1回・朝6時に行う。
種は1回の成長で農作物になる。
農作物は成長ポイントを持ち、1回の成長で5ポイント増える。木の場合は3ポイント。
水やり状態か、水田栽培できる植物で水田栽培されている場合は2倍増える。
30ポイントたまると成長段階が1段上がる。

・見た目が変わるので分かりやすい。

ほとんどの農作物は
成長段階が3段階上がると収穫可能かつ種刈り可能になり、
成長段階が4段階上がるとお任せ農業ならば収穫し種になる。

・きのこ等一部の農作物は以下。

農作物 収穫段階 種刈り段階 自動種化段階
ほとんどの農作物 3 3 4
きのこ 0 0 1
雑草 0 2 3
牧草・ススキ 1 1 4
花・ハーブ 2 2 4
4 4 5

出力結果

種になる日数はお任せ農業のもの。1サイクルに必要な日数。

作物 収穫可になる
日数
種刈り可になる
日数
自動で種になる
日数
ほとんどの農作物 10~19 10~19 13~25
きのこ 1 1 4~7
雑草 1 7~13 10~19
牧草・ススキ 4~7 4~7 13~25
花・ハーブ 7~13 7~13 13~25
21~41 21~41 26~51

※万色フルーツは木ではなくほとんどの農作物と同じ成長をする。
※コットンは花ではなくほとんどの農作物と同じ成長をする。

(1)毎日水やり または 水田栽培のとき

最小日数になる。稲と麦が優秀な理由がこれ。

(2)水やりをせず、耕してない土 または 屋根ありのとき

最大日数になる。

(3)水やりをせず、耕した土 かつ 屋根なしのとき

畑のマップに入ったとき、マップを離れていた時間に応じた確率で雨が降ったことになる。
このとき屋根がなければ水やり状態になる。

一度も畑のマップに入らなければ最大日数になり、毎日マップに入れば最大日数のおよそ6割になる。

肥料と成長抑制剤

バージョン

EA 23.92

ソースコード(外部リンク)

TraitFertilizer.OnSimulateHour - Elin Decompiled Documentation 7行目から

計算式

1時間に1回チェックして処理
成長抑制剤が設置されているとき
農作物を成長抑制状態にする
肥料が設置されているとき
種があれば芽吹かせる
肥料が設置されているとき
農作物があり、成長抑制状態でも肥沃状態でもなく、収穫可能でなければ
農作物の成長処理(GrowSystem.Grow)を行い、肥沃状態にする
肥料が設置されているとき
農作物があり、成長抑制状態なら通常状態に戻す
注意すべき点

1マスにある全ての肥料に対しこの処理を行う。
種・肥料・成長抑制剤・肥料・肥料・成長抑制剤・肥料・肥料・成長抑制剤・肥料・肥料・...
のように1マスに重ねると1時間で種を刈り取り可能な状態にできる。

農作物の収穫個数

お任せ農業では思ったより減る。

バージョン

EA 23.94 Nightly

ソースコードとデータベース(外部リンク)

GrowSystem.TryPick - Elin Decompiled Documentation
GrowSystem.OnMineObj - Elin Decompiled Documentation
SourceBlock.xlsx - Elin Modding Wiki Objタブ

計算式

種を刈り取る個数
1/6 の確率で3個
1/2 の確率で2個
1/3 の確率で1個 

・平均すると1.83個とれる。

基本の収穫個数
rnd(最大個数) + 1 個 収穫する

・原則、農業のページの通り。

・例えばコットンならば 1~3 の一様分布。
・雑草は特殊で、0~4 の一様分布。

牧草・ススキで種にエンチャントLvがあれば
rndHalf(√エンチャントLv + 1) 個収穫する
エンチャントLv 収穫個数
0~8 1
9~24 2~3
25~48 3~5
49~80 4~7
81~120 5~9
... ...

・奇数の2乗に達すると牧草・ススキの収穫個数が伸びる。

お任せ農業の個数減少
1/4 の確率で0個
3/4 の確率で
個数が 2 以上ならば半分に
個数が 1 ならば さらに 1/2 の確率で 0個にする

・個数は整数になるので、例えば3個が半分になると切り捨てられ1個になる。
・およそ1/4~1/3の数量になると捉えておくとよい。


・植え替え時に種の個数は常に1個になる。

農作物の価格

品質Lv.が大きいほど、+値が大きくなるほど、PCの交渉術が大きくなるほど価格は大きくなる。

バージョン

EA 23.94 Nightly

ソースコードとデータベース(外部リンク)

Card.GetValue - Elin Decompiled Documentation 6359行目から
Card.GetPrice - Elin Decompiled Documentation 6484行目から
SourceCard.xlsx - Elin Modding Wiki

計算式

データベースから基本価値(value)を取得
品質による補正
(1 + 0.1 x (品質Lv - 1)) 倍する
ただし最大3倍
+値(エンチャントLv)による補正
食べ物でないなら
(1 + 0.01 x エンチャントLv) 倍する

・牧草はエンチャントLvで収穫数が増えるが価格が伸びにくい。

食べ物なら
(1 + 0.1 x エンチャントLv) 倍し エンチャントLv x 100 を足す
ただし倍率の部分は最大2倍

・エンチャントLv x 100の部分が桁違いに強力。ブルーベリーが強い理由がこれ。

売るとき
0.04 x (1 + 0.02 x √交渉術) 倍する
ただし最大は0.06

・交渉術レベル625のとき最大になる。

拠点販売か出荷のとき、果物か野菜なら 2倍する
クミロミ信仰なら2倍ではなく3倍する

・きのこは野菜の対象外のようだ。

出荷のとき
1.1倍する
拠点販売のとき
1.25倍する
ただし
プレミアム店が有効なら 倍率に 0.1 + 0.01 x √プレミアム店レベル を足す
ぼったくり店が有効なら 倍率に 0.2 + 0.02 x √ぼったくり店レベル を足す
飲食店ライセンスが有効なら 倍率に 0.05 + 0.005 x √飲食店ライセンスレベル を足す

・ぼったくり店は売れ行きが極端に落ちるので注意。

お任せ農業の効率

農業レベル0 交渉術レベル0 非クミロミ信仰 完全放置出荷のとき
農作物 基本価値 品質Lv エンチャントLv 補正後価値 出荷額 個数 日数 肥沃度 出荷額x個数/日数/肥沃度
ブルーベリー 70 1 0 70 6 0.63 25 1 0.15
きのこ(平均) 116 1 0 116 4.8 0.38 7 2 0.13
万色フルーツ 1200 1 0 1200 105 0.38 25 8 0.20
20 1 0 20 0 0.56 13 3 0.00
牧草 30 1 0 30 1 0.38 25 0.5 0.03

・低レベルでは基本価値の高い万色フルーツも意外と健闘する。

農業レベル100 交渉術レベル0 非クミロミ信仰 完全放置出荷のとき
農作物 基本価値 品質Lv エンチャントLv 補正後価値 出荷額 個数 日数 肥沃度 出荷額x個数/日数/肥沃度
ブルーベリー 70 9 11 1352 118 0.63 25 1 2.95
きのこ(平均) 116 9 11 1519 67 0.38 7 2 1.78
万色フルーツ 1200 9 11 5420 476 0.38 25 8 0.89
20 9 11 1172 51 0.56 13 3 0.74
牧草 30 9 11 59 2 2.40 25 0.5 0.38

・高レベルでは エンチャントLv x 100 の部分が効いてくるので 個数/肥沃度 の大きいブルーベリー有利になる。
・超高レベルでは牧草の個数増加が効いてくるか...?

醸造樽・熟成棚・日干しラック

これらには2つの機能がある。腐らないものを腐らせる機能・腐ったとき別のアイテムに変える機能だ。

バージョン

EA 23.95 Nyaightly

ソースコードとデータベース(外部リンク)

TraitBrewery - Elin Decompiled Documentation
SourceCard.xlsx - Elin Modding Wiki

腐らないものを腐らせる機能

生もの製のアイテムは元から腐る。
醸造樽系コンテナでは追加でそれ以外のアイテムも腐らせることができる。

素材が加工物なら腐る
ミルクなら腐る
素材が加工物でもワイン・チーズ・ジャーキーは腐らない

腐ったとき別のアイテムに変化させる機能

既に腐ったアイテムでなく
食べ物であるか、ミルクであり
料理でないならば 別のアイテムに変える

・料理は腐るが別のアイテムに変化しない。

・保存食・調味料は料理ではないので別のアイテムに変化する。

熟成棚ならばチーズに変える
感覚を-10とする
日干しラックならばジャーキーに変える
器用を-10とする
醸造樽のとき
クリム・クリム粉 ならばクリムエール
稲・米・ご飯・米(俵) ならば 酒
きのこ・実 ならば ビア に変える
それ以外は ワイン に変える
酒類の基本価値に、腐らせるアイテムの 補正後価値 x 125 / 100 を足す
腐らせるアイテム 変化先の酒類 基本価値
ほとんどの食べ物 ワイン 550
クリム クリム粉 クリムエール 220
3500
きのこ・実 ビア 150
注意すべき点

・ご飯は内部IDが指定されてはいるが、料理なので酒に変化することはない。
・稲の素材は藁なので、そのままでは酒になることはない。生もの素材にすれば酒に変化できる。

・補正後価値は農作物の価値の品質補正・エンチャントLv補正後の値を用いる。
ブルーベリーをワインに変えると果物の出荷時2倍効果がなくなる。
稲を米に変えるとエンチャントLvの価格上昇効果がなくなる。

醸造の効率

農業レベル0 交渉術レベル0 非クミロミ信仰 毎日見に行く 拠点販売のとき
出荷するアイテム 作物の基本価値 品質Lv エンチャントLv 補正後価値 酒類の価値 出荷額 個数 日数 肥沃度 出荷額x個数/日数/肥沃度
ブルーベリー 70 1 0 70 - 6 0.63 15.6 1 0.28
きのこ(平均) 116 1 0 116 - 5.4 0.38 4.7 2 0.04
20 1 0 20 - 1 0.56 13 3 0.01
ブルーベリーワイン 70 1 0 70 637 31 0.63 15.6 1 1.24
きのこビア(平均) 116 1 0 116 294 14 0.38 4.7 2 0.57
米の酒 170 1 0 170 3862 181 0.56 13 3x2 1.39

・低レベルでは米の酒の基本価値が高いので意外と悪くない。
・きのこは野菜の出荷時2倍効果が適用されないのでビアにした方が常に得。

農業レベル100 交渉術レベル0 非クミロミ信仰 毎日見に行く 拠点販売のとき
出荷するアイテム 作物の基本価値 品質Lv エンチャントLv 補正後価値 酒類の価値 出荷額 個数 日数 肥沃度 出荷額x個数/日数/肥沃度
ブルーベリー 70 9 11 1352 - 135 0.63 15.6 1 5.40
きのこ(平均) 116 9 11 1518 - 76 0.38 4.7 2 3.05
20 9 11 1172 - 58 0.56 13 3 0.84
ブルーベリーワイン 70 9 11 1352 2240 112 0.63 15.6 1 4.48
きのこビア(平均) 116 9 11 1518 2048 102 0.38 4.7 2 4.12
米の酒 170 9 0 306 4032 187 0.56 13 3x2 1.45

・ブルーベリーワインを果物ブルーベリーが上回るのはエンチャントLv6。