Jump to content

Elin:解析/信仰: Difference between revisions

m
記事の翻訳を進めた(まだ途中)
m (EN版の情報を反映。信仰心と捧げもの周りの解析。翻訳は後程)
m (記事の翻訳を進めた(まだ途中))
Tags: Mobile edit Mobile web edit Advanced mobile edit Visual edit
Line 1: Line 1:
{{解析}}
{{解析}}
==信仰心と捧げ物==
==信仰心と捧げ物==
===Gift at which piety level?===
{{バージョン|23.61}}
===神のご褒美を貰うのに必要な信仰心===
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
     int num = EClass.pc.Evalue(85);
     int num = EClass.pc.Evalue(85);
Line 27: Line 28:
}
}
</syntaxhighlight>
</syntaxhighlight>
*As of EA23.61, there are two Gift ranks for each god, and each of them is hardcoded at piety level 15 and 30. You will recieve a gift after reach each of these levels then manually pray to the god.
*EA23.61の時点で、それぞれの神には2つのご褒美を貰える段階があり、それぞれ信仰心レベル15と30に設定されています。 それぞれのレベルに達した後、手動で神に祈ることでご褒美がもらえます。
===What messages are shown at which threshold?===
===信仰心の深度を示すメッセージ===
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
     int num = Mathf.Max(c.Evalue(306), 1);
     int num = Mathf.Max(c.Evalue(306), 1);
Line 45: Line 46:
}
}
</syntaxhighlight>
</syntaxhighlight>
*The above code controls the faith message when your piety levels up.
* 上記のコードは、あなたの信仰心がレベルアップしたときのメッセージを制御しています。
*There are 5 messages in all, determined by num2, ranging from (0~4).
* メッセージは全部で5つあり(0~4)、num2によってどれになるかが決まります。
*num2 will be calculated using your (Piety level / Faith level) * 4,rounded down to the nearest integer.
*num2は、あなたの(信仰心÷信仰スキル)×4で計算され、小数点以下は切り捨てられます。
**So if <25%, num2 = 0; 25%~50%, num2 = 1, 50%~75%, num2 = 2, >75%, num2 = 3.
** つまり、 25%未満ならnum2 = 0、25%~50%ならnum2 = 1、50%~75%ならnum2 = 2、>75%ならnum2 = 3 のメッセージが流れます。
*If you are already at the maximum piety level, num2 = 4
*信仰心が最大レベルに達していると、num2 = 4 のメッセージが流れます。
*Then depend on num2, different message will be played.
===捧げ物の価値に応じて流れるメッセージ===
*If you are at maximum piety (num2 = 4), then a message will always be shown.
===What message is shown at which offer value?===
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
public int GetOfferingValue(Thing t, int num = -1)
public int GetOfferingValue(Thing t, int num = -1)
Line 94: Line 93:
}
}
</syntaxhighlight>
</syntaxhighlight>
*The offer value is calculated with the following
*捧げ物の価値は以下の順で計算されます。
*num is the number of items you offered.
*num は捧げたアイテムの個数
*num2 will be the offering value per item, with minimum value of "1".
*num2 はアイテム1個あたりの価値で、最小値は1です。
*If the item is meat, then;
*肉を捧げた場合、以下の通りになります。
**The weight of meat is divided by 10 (to know that 1000 weight = 1.0s), with minimum value of 1 and maximum value of 1000.
**肉の重量は10で割られ(weight値1000=1.0sとなるため)、最小値は1、最大値は1000となります。
**If this meat is unlabelled (i.e. not being a meat drop by entity) the value is further divided by 10.
**肉に名前がない場合(ハンマー解体などで手に入れた肉の場合)、その値はさらに10で割られます。
**Because the divide operator is rounding down to nearest int, this means it is possible to obtain 0 offer value if you are offering unlabelled meat lower than 0.1s.
**除算演算子は最も近いintに切り捨てられるため、0.1s以下の名前のない肉を提供する場合、捧げ物の価値が0になる可能性があります。
*If the item is of category a god will take (not meat), then:
*捧げ物が神の好物(肉以外)の場合、以下の通りになります。
**The weight of item is divided by 10, but with a minimum value of 50 and maximum value of 1000.
** アイテムの重量は10で割られますが、最小値は50、最大値は1000となります。
***Therefore, the weight of item will still count, but anything less than 0.5s will count as 0.5s.
***このため、アイテムの重量は別でカウントされていますが、0.5s未満のアイテムは0.5sとして扱われます。
**The number is then multiplied by the category value.
**一部のアイテムカテゴリーには価値に一定の倍率がかかります。
***As of '''EA23.61''', the multipler apply to instrument(*5), rod (*3), catalyst (*3), ancient book (*5), spell book (*4), skill book (*10), map (*4).
***EA23.61時点では、楽器(×5)、魔法杖(×3)、触媒(×3)、古の書(×5)、魔法書(×4)、技術書(×10)、地図(×4)に倍率がかかります。(この中には、今の所どの神に捧げられないアイテムも含まれています。)
*If the item is decayed (rotten), the offer value is further divided by 10.
*アイテムが腐っている場合、価値はさらに10で割られます。
**Because the decayed check is done after the 0 offer value check, you won't get 0 offer value if your item is only rotten, but lablled.
**腐敗判定は捧げ物の価値0判定の後に行われるため、肉が腐敗していても名前があれば捧げ物の価値は0にはなりません。
**For example a labelled, 0.7s non-rotten meat will generate a offer value of 70.
**例えば、名前付きで0.7sの腐っていない肉は、70の価値を持ちます。
*The final value is modified by the following:
*最終的な価値は以下のように処理されます。
**The offer value will '''increase by 2%''' per each level of the item, at most 100% (for LV 50). (See in resource/things/LV. Meat and most items are LV 1, most equipments range from 10-20, rarest at lv 60)
**捧げ物の価値はアイテムレベルごとに2%ずつ増加し、最大で100%(LV50の場合)増加します。 (素材/アイテム/LVを参照。 肉とほとんどのアイテムはLV1、ほとんどの装備品は10~20、最もレアなものはLV60)
**A further 50% additive modifier is applied if "Just cooked" state is on the offering item.
**捧げ物に【できたて料理】の特性がある場合は、さらに50%の加算率が適用されます。
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
public void _OnOffer(Chara c, Thing t, int takeoverMod = 0)
public void _OnOffer(Chara c, Thing t, int takeoverMod = 0)
Line 147: Line 146:
int value = orCreateElement.Value;
int value = orCreateElement.Value;
c.elements.ModExp(orCreateElement.id, offeringValue * 2 / 3);
c.elements.ModExp(orCreateElement.id, offeringValue * 2 / 3);
</syntaxhighlight>
</syntaxhighlight>  
*The previously calculated offeringValue will return to this function, then the message displayed will be determined.
*The previously calculated offeringValue will return to this function, then the message displayed will be determined.
*But first, if the character is demigod, the offeringValue will be further offset by 30%.
*But first, if the character is demigod, the offeringValue will be further offset by 30%.
4,129

edits