約 2,143,855 件
https://w.atwiki.jp/kanri/pages/36.html
●レベルアップ時のHP&MP上昇計算式 HP上昇値=乱数{生命力÷40+精神力÷80+8}+1 MP上昇値=乱数{知力÷40+精神力÷80+2} ●攻撃回数計算式 S=速さ-(武器の重量+防具の重量+アクセサリの重量)+β-γ×50 通常時 β=0 ヘイストセット時 β=35 ヘイストプラスセット時 β=70 γ=タイムストップ・時間圧縮・鈍足技の適用回数 戦闘時の攻撃回数=S÷100+乱数{S÷100}+1 最低攻撃回数は1回、最大攻撃回数は8回、小数部分は切り捨て。 ●先制判定 @自分 神風をセット 相手 神風をセット ⇒乱数判定へ @自分 神風をセット 相手 先制攻撃をセット ⇒50%確率で先制を取れ、50%の確率で乱数判定へ @自分 神風をセット 相手 特になし ⇒必ず先制出来る @自分 先制攻撃をセット 相手 先制攻撃をセット ⇒乱数判定へ @自分 先制攻撃をセット 相手 特になし ⇒50%確率で先制を取れ、50%の確率で乱数判定へ @自分 特になし 相手 特になし ⇒乱数判定へ @乱数判定 乱数{自分の運}>乱数{相手の運} ⇒自分が先制攻撃 乱数{自分の運}<乱数{相手の運} ⇒相手が先制攻撃 乱数{自分の運}=乱数{相手の運} ⇒侵略側が先制攻撃 運が高いほど有利です ●毒のダメージ(毒に犯されていることが前提) DK=乱数{(HP最大値÷10×β)~0} 相手の技の効果による毒 β=1 相手が毒斬セット時 β=1 相手が猛毒撃セット時 β=1.5 相手が超猛毒撃セット時 β=2 毒に犯されている場合、自分のターンの攻撃前にDK分のダメージを受けます 最低でもHPが1は残るので、毒によるダメージで死ぬことはありません また、毒状態になるとアビリティの再生が機能しません ●物理ダメージ計算式 ATK=力+武器の威力+(武器の重さ÷5)+街属性補正分の力 ATK2=ATK×β 通常時 β=1.0 シャープスセット時 β=1.1 ハイシャープネスセット時 β=1.2 エクスシャープネスセット時 β=1.3 マックスパワーセット時 β=1.4 ATK3=ATK2×γ 通常時 γ=1.0 相手がプロテクションセット時 γ=0.9 相手がハイプロテクションセット時 γ=0.8 相手がエクスプロテクションセット時 γ=0.7 相手がマックスプロテクションセット時 γ=0.6 DEF=相手の生命力+相手の防具威力+相手のアクセサリ威力+相手の街属性補正分の生命力 物理ダメージ=乱数{(ATK3-DEF÷2)~0} 小数部分は切り捨てます ●技ダメージ計算式 MDEF=相手の精神力÷2 MATK=技の威力+乱数{知力~0}-MDEF MATK2=MATK×β 通常時 β=1.0 マジックパワーセット時 β=1.15 マジックパワープラスセット時 β=1.25 マジックフォースセット時 β=1.3 マジックエンブレムセット時 β=1.4 技ダメージ=MATK2×γ 通常時 γ=1.0 相手がマジックバリアセット時 γ=0.9 相手がマジックオーラセット時 γ=0.8 相手がマジックプロテクトセット時 γ=0.65 相手がマジックディスペルセット時 γ=0.5 ●回復技 回復量=回復技の威力+乱数{知力÷2~0} ●クリティカルの発生確率&ダメージ CL=20+運÷3+β×10 通常時 β=0 集中セット時 β=3 狙撃セット時 β=5 光撃セット時 β=7 会心撃セット時 β=10 呪いセット時 β=-10 CLの最大限界値は250 攻撃をした時 CL>乱数{1000~0} となると、クリティカルが発生 DAME=物理・技ダメージ×1.5 ダメージ=DAME×β 通常時 β=1.0 怒りの一撃セット時 β=1.2 渾身の一撃セット時 β=1.4 一撃必殺セット時 β=1.6 ●攻撃の回避率 EDEX=相手の運÷3+40×α α=相手の発動した命中率低下技の効果適用回数 攻撃をした時 EDEX>乱数{1000~0} となると、攻撃を回避される ●ガードの確率(但し、相手がブロック系をセットしているのが前提) GD=β×10 通常時 β=1.0 ブロックセット時 β=5 ブロッキングセット時 β=10 パーフェクトブロッキングセット時 β=15 エンドブロッキングセット時 β=20 攻撃をした時 GD>乱数{1000~0} となると、攻撃をガードされる ●カウンターの確率&ダメージ(但し、相手がカウンター系をセットしているのが前提) 攻撃をした時 100>乱数{(1200-相手の精神力)~0} となると、攻撃をカウンターされる カウンターのダメージ={与える予定だった物理・技ダメージ+乱数{相手の力~0}}÷2×γ 相手がカウンターセット時 γ=1.0 相手がクロスカウンターセット時 γ=1.5 ●限界システム @HP・MPの限界計算式 HPの限界値=1240+(力の限界値-180)×5 +(生命力の限界値-180)×10 +(精神力の限界値-180)×3 MPの限界値=640+(知力の限界値-180)×5 +(精神力の限界値-180)×3 @戦闘後に限界が上昇する確率 S=力・生命力・知力・精神力・運・速さの限界値の総和 UP=乱数{(S-1000)÷10} ただし、小数点以下は切り捨て。 UP2=UP×UP 限界上昇が発生する確率は1/{UP2×B}となる。 Bは金の卵を装備している時 2/3 装備していない時 1となる。 成長のフラグが立った時、1/20の確率で急成長が発生。 1/100の確率で覚醒が発生。どちらにも該当しなかった場合、通常の成長となる。 @修行 【説明】 熟練度を消費して限界値を上昇させることが可能。 限界が高まる程、修行に必要な熟練度は高くなる。 @修行に必要な熟練度 S=力・生命力・知力・精神力・運・速さの限界値の総和 UP=乱数{(S-950)÷15} ただし、小数点以下は切り捨て。 UP2=UP×UP ただし、UP2は10000が最大。 UP2が修行に必要な熟練度となる。 @修行時の急成長・覚醒の発生確率 修行した時、1/15の確率で急成長が発生。 1/100の確率で覚醒が発生。どちらにも該当しなかった場合、通常の成長となる。 ●内政 武器・防具の開発…名声500以上 国王限定 解雇…名声100消費 国王と役職限定 国王候補…名声2000以上 国王に任命…国王か、名声3000以上の役職(役職が実行する場合は1000万消費) 役職に任命…名声500以上の自国民を役職を3名まで任命できる。 役職名は全角4文字までで自由に指定可。 指令変更…名声500以上 収益回収…自国の街の収益額が1万以上の場合、可能。 回収額の20分の1が報酬に(最大100万Gold) 回収額が5万毎に名声1UP 街の開発…名声500以上 武器開発値・防具開発値・アクセサリ開発値・産業値の上昇具合はいずれも 上昇値=(入力金額)×({100+知力}÷300) となる。 【計算例】 金額100万で知力100→66 金額100万で知力200→100 金額100万で知力300→133 金額100万で知力400→166 金額100万で知力500→200 計略…名声500以上 10分に1回実行可能(10分以内に城壁強化or街攻撃をした場合は不可) 攻撃力DOWN・守備力DOWNの減少具合はいずれも 減少値=(入力金額)×({100+知力}÷300) となる。(街の開発と同じ) 要塞強化…名声100以上 10分に1回実行可能(10分以内に城壁強化or街攻撃をした場合は不可) 城壁MAXを強化する場合は 上昇値=(入力金額)×({100+知力}÷30) 城壁を強化する場合は 上昇値=(入力金額)×({100+知力}÷3) 攻撃力・守備力を強化する場合は 上昇値=(入力金額)×({100+知力}÷300) となる。 【計算例】 金額100万で知力100→66 金額100万で知力200→100 金額100万で知力300→133 金額100万で知力400→166 金額100万で知力500→200 上記の計算例は攻撃力・守備力強化の場合。 城壁MAXの場合は値を10倍、城壁の場合は値を100倍にしてください。 指令変更…名声500以上 ●戦争 健康度30%以上で街攻撃が可能。 健康度25%以上で街守備が可能。 侵略は自国領土の街(無所属国は何処からでも可)からしか行えず、縦横斜めに隣接する街にしか侵略できません。 街攻撃・討伐・城壁の強化・計略は10分更新(無所属は20分) それぞれフラグが重なっているので10分内に一人で複数の行動実行は不可能。 健康度の最低値は5%で、攻防戦が行われる度に戦闘後、健康度が10%減少します。 宿屋を利用した時、前回宿泊した時点(又は侵略した後、守備時に侵略された時)からの時間(秒)÷12%分の健康度が回復します。 要塞に即死は無効です。
https://w.atwiki.jp/papota/pages/20.html
総合攻撃力決定式は何度も計算式が変更されているため、 今後も変更される可能性がある。 総合攻撃力計算式ver.2009_01_18_papota (最新バージョン)1つの魔法の火力を最大にする式(リフィスが60のとき) ver.2009_01_11_papota まで ver.2008_10_22_papota まで よくわからない人に簡単な解説 (ver.2009_01_18_papota)攻撃力の基本的な考え方について 魔力安定度と攻撃力について ダメージ計算式 総合攻撃力計算式 凡例魔法石の攻撃力=初期値+赤の魔力使用分 乱数部分は0%~100%の値をとる 攻撃力という表記についてシールド=攻撃力を防御力に置換 スパーク=攻撃力を麻痺力に置換、かつ、魔力強化アイテムの数*5になっている ヒール=攻撃力を(回復力+補助回復力)/2に置換 ver.2009_01_18_papota (最新バージョン) 魔導力 =(ティルの魔導力)+(魔導ルビー)+(魔導防具)+(魔力アップ琥珀) 魔法石力 =(魔法石の攻撃力×(100+魔力安定度)%/2)+(属性火力アップ琥珀) ランダム力=(魔法石の攻撃力×(100-魔力安定度)%/2)+(属性ルビー) 倍率 =(属性スキル)+(魔導防具) 固定火力=(基礎力+魔法石力)×(倍率)+(強化アイテム) 総合火力=(固定火力)+(ランダム力) 最終火力=(総合火力)×(チャージ倍率) これまでのバージョンとの最も大きな違いは、属性ルビー効果の変更。 属性ルビーは従来「固定」攻撃力として扱われていたが、 今回のバージョンアップにより、「ランダム」攻撃力扱いとなった。 その代わり、チャージ倍率の影響を受けるように変更された。 また、ティル自身の魔導力にも属性スキルの倍率がかかるようになった。 そのため、昔のように「ある程度魔法石の攻撃力が上がったらスキルの方がよい」というわけではなく 「バランスよく魔導力とスキル倍率に振り分ける」ことが必要になった。 1つの魔法の火力を最大にする式(リフィスが60のとき) (魔導力にふるポイント数)=(50A)-(B/6) A=(魔導力とスキルに振る全ポイント数/100)+(防具による補強倍率) B=(ルビーによる魔導力)+(防具による魔導力)+(琥珀による魔導力) +(魔法石の攻撃力×0.8)+(琥珀による属性攻撃力) (Aの例)全ポイント数=500、補強倍率=150%のとき、A=(5.00)+(1.50)=6.50 ※リフィスが60以外のとき、(魔法石の攻撃力×0.8)の下線部が、×(100+リフィス)/200)になる。 ver.2009_01_11_papota まで (総合攻撃力)= 魔導力 (ティル自身の魔導力+魔導防具による魔導力上昇分 +魔導ルビーの数*10+属性ルビーの数*5+強化アイテムの数*10) +{魔法石の攻撃力*(100+安定度)%/2}*魔導スキル% +乱数 {魔法石の攻撃力*(100-安定度)%/2}*魔導スキル% 例1 魔法石の攻撃力100、ティル自身の魔導力200、強化アイテム30個、 光の魔導スキル400%、安定度0%のフォトン 総合攻撃力 = 100*4 + 200 + 30*10 + 100*0.5 + 乱数(100*0.5*4) =750~950 例2 魔法石の攻撃力400、ティル自身の魔導力300、強化アイテム20個、 光の魔導スキル100%、安定度0%のフォトン 総合攻撃力 = 400*1 + 300 + 20*10 + 400*0.5 + 乱数(400*0.5*1) =1100~1300 ver.2008_10_22_papota まで (総合攻撃力)= 魔導力 (ティル自身の魔導力+魔導防具による魔導力上昇分+魔導ルビーの数*10) +{魔法石の攻撃力*(100+安定度)%/2+強化アイテムの数*10}*魔導スキル% +乱数 魔法石の攻撃力*(100-安定度)%/2 +乱数 属性ルビーの数*5 例1 魔法石の攻撃力100、ティル自身の魔導力200、強化アイテム30個、 光の魔導スキル400%、安定度0%のフォトン 総合攻撃力 = (100 + 30*10)*4 + 200 + 100*0.5 + 乱数(100*0.5) =1850~1900 例2 魔法石の攻撃力400、ティル自身の魔導力300、強化アイテム20個、 光の魔導スキル100%、安定度0%のフォトン 総合攻撃力 = (400 + 20*10)*1 + 300 + 400*0.5 + 乱数(400*0.5) =1100~1300 よくわからない人に簡単な解説 (ver.2009_01_18_papota) 攻撃力の基本的な考え方について パポタにおける攻撃力には、「固定火力」と「ランダム力」の二種類がある。 固定火力とは、常に決まった量の威力を発揮する部分のことで、 主にティルの魔導力や魔導ルビー、魔導防具の効果などによって上昇する。 ランダム力とは、その何%が実際の攻撃力に加算されるかランダムに決まる部分のことで、 主に属性ルビーによって上昇する。 赤い魔力や属性スキルは固定火力とランダム力の両方が上昇する。 実際の攻撃力(総合火力)は、この二つを攻撃ごとに足し合わせることで決定される。 積を親子、和を兄弟として、おおむね以下のように表現することができる。 (最終火力) チャージ倍率 │ │(固定火力) ├倍率=属性スキル+魔導防具 │ │ │ │(魔導力) │ ├ティルの魔導力 │ ├魔導ルビー │ ├魔導防具 │ ├魔力アップ琥珀 │ │ │ │(魔法石力) │ ├魔法石の攻撃力×(100+魔力安定度)%/2 │ └属性火力アップ琥珀 │ ├強化アイテム │ │(ランダム力) └乱数 ├魔法石の攻撃力×(100-魔力安定度)%/2 └属性ルビー つまり、固定火力を100増やせば総合火力は必ず100増えるが、 ランダム力を100上げても、乱数がもし0%になると総合火力は全く増えない。 もちろん乱数がたまたま100%になれば、その時の総合火力は100きっちり上昇する。 まとめると、攻撃力には安定している部分と不安定な部分があり、 不安定な部分は一発ごとにどれだけ効果が出るか変わる、と理解しておけば間違いない。 攻撃力の安定部分が1000、不安定部分が100なら総合攻撃力は1000~1100の間でブレる。 魔力安定度と攻撃力について 赤の魔力による魔法石自体の攻撃力の上昇は、魔力安定度の影響を強く受ける。 魔力安定度とは簡単に言うと「魔法石自体の攻撃力の半分のさらに何%を固定火力に変換するか」である。 たとえば魔法石の攻撃力400、魔力安定度60%の場合、 まず半分の200が固定攻撃力となり、残りの半分の200が乱数攻撃力となる。 乱数攻撃力200のうち60%の120を固定攻撃力に変換して、最終的に320が固定攻撃力・80が乱数攻撃力となる。 攻撃力400のうちの、320は固定火力として必ずその分ダメージが増えるが、 残りの80はそのうちのどれほどが実際にダメージに反映されるのかはわからない。 要するに、魔力安定度が高ければ高いほどランダム力(不安定な部分)は減り、 そのぶん固定火力(安定している部分)が増してゆく。 最大火力は同じでも、安定度が高ければ、低いダメージが出なくなる。 一方、属性ルビーはランダム力に含まれるが魔力安定度とは無関係のため、物量で期待値を稼ぐしかない。 魔導防具・琥珀・強化アイテムは乱数や魔力安定度の影響を受けず、攻撃力を単純に底上げする。 これらの入手に難があり、赤の魔力に比較的依存している魔法石はリフィスの重要性が高い。 ダメージ計算式 有効なダメージを与えるには、まず防御力を突破すること。 属性はその後にかかるので、相性のよさだけで格上の相手をとることはできない。 (与えるダメージ)= (魔法威力-敵の防御力)*敵の属性ダメージ倍率 (クリティカル時与えるダメージ)= 魔法威力*敵の属性ダメージ倍率 (ストーンで与えるダメージ)= {魔法威力-(敵の防御力/2)}*敵の属性ダメージ倍率 (ポイズの追加毒で与えるダメージ)= ポイズの持続力*追加毒倍率 ……を、追加毒回数分。 チャージ 追加毒倍率 追加毒回数 0~99 1.0倍 1回 100~199 1.5倍 1回 200~299 2.0倍 2回 300~399 2.5倍 2回 400~499 3.0倍 3回 500~599 3.5倍 3回 600~999 4.0倍 4回 (踏みつけダメージ)= 魔導力+rand(ティルのHP/4, ティルのHP/2)*重力補正 ※rand(a, b)はa~bの値の範囲内でランダムな値をとることを表す。 ※重力補正:ずっしり琥珀による「重力2倍」効果がある装備をしている場合は2倍、それ以外は1倍(補正なし)。
https://w.atwiki.jp/twsaihuri/pages/24.html
※基本的に割る度に小数点以下切り捨て ※補助は何もなしで 0 必要P 初期必要POINT +[(ステ値 × 5 )+ LV ]÷ 125 命中P 攻撃の依存ステータスによって命中Pの計算式は変わります 以下は依存ステータス毎の計算式です ※ストーンニードルは物理のINT 2 物理 STAB = X + 装備X + スキル命中 + S ÷ 10 - S ÷ 100 + 補助 HACK = X + 装備X + スキル命中 + H × 6 ÷ 100 - H ÷ 100 + 補助 INT 2 = X + 装備X + スキル命中 - I ÷ 100 + 補助 STAB + HACK = X + 装備X + スキル命中 - (S + H) ÷ 200 + 補助 STAB + INT = X + 装備X + スキル命中 - (S + I) ÷ 250 + 補助 魔法 INT = X + 装備X + スキル命中 - I ÷ 100 + 補助 MR = X + 装備X + スキル命中 - M ÷ 100 + 補助 HACK + INT = X + 装備X + スキル命中 - (H + I) ÷ 250 + 補助 STAB + HACK + INT = X + 装備X + スキル命中 - (S + H + I) ÷ 305 + 補助 回避P 受ける攻撃が物理・物魔複合・魔法によって回避Pは変わります ※INT 2 依存は物理攻撃扱い 物理 = (A + 装備A) × 6 ÷ 5 + ((S - H) ÷ 100 + F × 2 + 装備Q) ÷ 7 魔法 = (A + 装備A) × 6 ÷ 5 + (I + M × 2 + 装備Q) ÷ 7 物魔 = 調査中 命中率 命中P-回避P[%] 命中率下限 15% 命中率上限 100% バフ ペット集中 命中P + 5 + (受け手回避P + 10) ÷ 21 ※新仕様では単に+15という情報あり 赤い月の盟約 命中P + 10 的中剣Lv5(ペット集中重複不可) 命中P + 23 + 受け手回避P ÷ 5 的中剣Lv7(ペット集中重複不可) 命中P + 30 + 受け手回避P ÷ 4(未検証) ※新仕様では単に+40という情報あり シルフウィンドLv5? 回避P + 30 気合 ステA + 20 = 回避P + 24 術強化 命中P + 5 シルフアーマーLv5 回避P + 15 ファイナルフォーカスLv5(ペット集中重複不可) 命中P + 23 + 受け手回避P ÷ 5 シャドームービングLv5 回避Pの上昇はなし ソウルゲート オリジナルステA × 105 ÷ 100 アンホーリーグレース 回避Pの上昇はなし カースシールド 命中P + 10 回避P + 10 エレクトリックバースト 命中P + 5 デバフ 感電 攻め手命中P = 0.7 × (攻め手命中P + 12) - 12 暗黒 回避P - 不明 挑発Lv5 命中P - 0.1 × (攻め手命中P + 24) 回避P - 不明 ターゲットLv5 受け手ステA -10 = 回避P - 12 陣消し必要ディレイ 前ディレイ(物理) (ステS + ステX + 装備Q) × 3 + ステH 武器ディレイ[%] × 15 - 15000 ÷ スキル前ディレイ[ms] ÷ (1 - 補助) ステS + ステX + 装備Q + ステH ÷ 3 武器ディレイ[%] × 5 - 5000 ÷ スキル前ディレイ[ms] ÷ (1 - 補助) 前ディレイ(魔法) ステM + 装備M 武器ディレイ[%] × 5 - 5000 ÷ スキル前ディレイ[ms] ÷ (1 - 補助) 後ディレイ ステA + 装備Q 武器ディレイ[%] × 5 - 5000 ÷ スキル後ディレイ[ms] ÷ (1 - 補助) ペット速攻 補助に + 0.1 ラグランジュ神速剣(ペット速攻重複不可) 補助に + 0.5 バーサーク(重複については不明) 補助に + 0.2 解放のルーン(重複については不明) 補助に + Lv ÷ 3 × 0.2 オーバードライブLv5 武器ディレイに (1 - 35)倍 その他 バリレジLv5カット率 カット率 = 25 + 0.03 × ステM + 0.07 × 装備M(上限は70%だが仁王立ち・保護のルーンは含まれない) ↑転載元:れもねーど様:http //mirsise.blog.fc2.com/blog-entry-229.html マナウォールカット率 カット率 = 5 + スキルLv × 10 + ステI × 0.1(上限は99%)
https://w.atwiki.jp/miraclequest/pages/46.html
■各種計算式 社交場で見つけた計算式。一応頭に入っていると便利、かも。 ■各種計算式基本攻撃値 武器装備時の攻撃力の計算式 武器によってパラメータ補正とは 防御力の計算式 職業毎の係数とは 魔法威力計算式 コメント更新履歴 基本攻撃値 レベル × 職業毎の係数 ex)戦士Lv60の場合 60 × 8 = 480 武器装備時の攻撃力の計算式 基本攻撃値 + 武器の攻撃力 + 武器によってパラメータ補正 ex)戦士Lv60(腕力57)、生物兵器(攻165)装備の場合 480 + 165 + 11 =656 武器によってパラメータ補正とは 以下の武器を装備した場合、該当パラメータの5分の1(端数切り捨て)が攻撃力にプラスされます。 例えば腕力が低く、魔力が高い魔法使いの場合、生物兵器よりも竜の杖を装備したほうが攻撃力が上がるのです。 市場販売orクエストで手に入る武器 武器名 基本攻撃力 該当パラメータ 生物兵器 165 腕力 竜の杖 160 魔力 炎の剣 220 腕力 ホーリーランス 260 腕力 真弓さん 100 器用 ハシゴ者 125 器用 魔剣デルフィン 125 腕力 未楽堂の武器 インフィニティ 190 腕力 デスサイス 190 腕力 正宗 200 敏捷 七支刀 200 根性 村正 210 魔力 虎鉄 210 器用 百科事典 45 魔力 Eyeホーン 80 敏捷 斬星刀 130 腕力 ライトセイヴァー 135 腕力 音響兵器レスポ 165 敏捷 防御力の計算式 レベル × 職業毎の係数 + 防具の防御力 ex)戦士Lv60 山(防200)装備の場合 60 × 8 + 200 = 680 職業毎の係数とは 戦士…8 魔法使い…3 盗賊…4 僧侶…6 聖戦士…8 軽業士…6 忍者…4 導師…5 大魔導士…6 サムライ…13 召喚士…9 魔法威力計算式 与ダメ={a*(100+魔力)*(半減判定)}±R(%) ※a:特技係数 ※R:ランダマイズ(±20%) 例)とくぎ=(特技係数) メサ・ドカ=(1.2) A.Fusion=(2.5) 例)AtomFusionの場合 魔力|与ダメージ 50 | 375± 75 100| 500±100 200| 750±150 300|1000±200 コメント 名前 コメント 過去ログはこちら→コメント過去ログ 更新履歴 2011-04-22 11 32 15 (Fri);
https://w.atwiki.jp/debutvselder/pages/29.html
発動率計算式 発動率=(100-効果数値※1+消費制約※2)×(1+FS×0.1)+付属効果+調整 効果数値=効果値×範囲倍率×時間倍率×制限制約※2×カウンター倍率※3 カウンター倍率=カウンター条件×カウンター対象×待受範囲×待受時間 ×待受回数×タイミング ※1.効果が複数ある場合、それぞれの効果数値を足したものを基本式に入れてください ※2.消費制約が複数ある場合は足し合わせ、制限制約同士は掛け合わせます ※3.スタイルがカウンターでは無い場合、カウンター倍率は1倍になります 発動率で端数が出た場合は四捨五入します 説明 制約取得上限:消費制約を1つと制限制約を3つまで組み込むことが出来ます 消費制約、制限制約:制約一覧を参照してください 効果値:効果一覧を参照してください 範囲倍率、時間倍率:効果対象・時間一覧を参照してください カウンターの各要素:カウンターを参照してください FS(フリースキル):ステータスのFS数値です 調整:その他、GKによる調整数値です数値以上に強力だったり、逆に弱かったりする能力や、基本ルールを覆す内容の能力などに調整が入ることがあります 他にもさまざまな状況で調整されることがあります
https://w.atwiki.jp/charamakedg/pages/20.html
発動率計算式 発動率=(100-効果数値※1+消費制約※2)×(1+FS×0.1)+付属効果+調整 効果数値=効果値×範囲倍率×時間倍率×制限制約※2×カウンター倍率※3 カウンター倍率=カウンター条件×カウンター対象×待受範囲×待受時間 ×待受回数×タイミング ※1.効果が複数ある場合、それぞれの効果数値を足したものを基本式に入れてください ※2.消費制約が複数ある場合は足し合わせ、制限制約同士は掛け合わせます ※3.スタイルがカウンターでは無い場合、カウンター倍率は1倍になります 発動率で端数が出た場合は四捨五入します 説明 制約取得上限:消費制約を1つと制限制約を3つまで組み込むことが出来ます 消費制約、制限制約:制約を参照してください 効果値:効果を参照してください 範囲倍率、時間倍率:範囲・対象・時間を参照してください カウンターの各要素:カウンターを参照してください FS(フリースキル):ステータスのFS数値です 調整:その他、GKによる調整数値です数値以上に強力だったり、逆に弱かったりする能力や、基本ルールを覆す内容の能力などに調整が入ることがあります 他にもさまざまな状況で調整されることがあります
https://w.atwiki.jp/dng9th/pages/32.html
発動率計算式 発動率=(100-効果数値※1+消費制約※2)×(1+FS×0.1)+付属効果+調整 効果数値=効果値×対象倍率×時間倍率×非消費制約※2×カウンター倍率※3 カウンター倍率=カウンター条件×カウンター対象×待受範囲×待受時間 ×待受回数×タイミング ※1.効果が複数ある場合、それぞれの効果数値を足したものを基本式に入れてください ※2.消費制約が複数ある場合は足し合わせ、非消費制約同士は掛け合わせます ※3.スタイルがカウンターでは無い場合、カウンター倍率は1倍になります 発動率で端数が出た場合は四捨五入します 説明 制約取得上限:消費制約を1つと非消費制約を3つまで組み込むことが出来ます 消費制約、非消費制約:制約を参照してください 効果値:効果を参照してください 対象倍率、時間倍率:対象、時間を参照してください カウンターの各要素:カウンターを参照してください FS(フリースキル):ステータスのFS数値です 調整:その他、GKによる調整数値です数値以上に強力だったり、逆に弱かったりする能力や、基本ルールを覆す内容の能力などに調整が入ることがあります 他にもさまざまな状況で調整されることがあります
https://w.atwiki.jp/basicd/pages/116.html
FU2・発動率計算式 発動率=(100-効果数値※1+消費制約※2)×(1+FS×0.1)+付属効果+調整 効果数値=効果値×範囲倍率×時間倍率×制限制約※2×カウンター倍率※3 カウンター倍率=カウンター条件×カウンター対象×待受範囲×待受時間 ×待受回数×タイミング ※1.効果が複数ある場合、それぞれの効果数値を足したものを基本式に入れてください ※2.消費制約が複数ある場合は足し合わせ、制限制約同士は掛け合わせます ※3.スタイルがカウンターでは無い場合、カウンター倍率は1倍になります 発動率で端数が出た場合は四捨五入します 説明 制約取得上限:消費制約を1つと制限制約を3つまで組み込むことが出来ます 消費制約、制限制約:制約を参照してください 効果値:効果を参照してください 範囲倍率、時間倍率:範囲・対象・時間を参照してください カウンターの各要素:カウンターを参照してください FS(フリースキル):ステータスのFS数値です 調整:その他、GKによる調整数値です数値以上に強力だったり、逆に弱かったりする能力や、基本ルールを覆す内容の能力などに調整が入ることがあります 他にもさまざまな状況で調整されることがあります
https://w.atwiki.jp/srpg_arekore/pages/18.html
計算式 Ver1.120時点でのsingleton-calculatorの内容。 この辺り、公式でも解説はしているのですがいかんせんざっくりしすぎているので…… 書き換え方はこちらを参照。 随時更新中。 計算式AbilityCalculatorgetPower getHit getAvoid getCritical getCriticalAvoid getAgility DamageCalculatorcalculateDamage HitCalculator CriticalCalculator CalculatorcalculateRoundCount calculateRecoveryItemPlus calculateSellPrice SupportCalculatorcreateTotalStatus CompatibleCalculator ExperienceCalculator_getExperienceFactor _getNoDamageExperience _getVictoryExperience _getNormalValue _getExperience ExperienceControl ParameterControl SymbolCalculator AbilityCalculator ユニットの戦闘に関わる数値の計算を行う。 getPower ユニットの攻撃力を計算する。 ユニットの力か魔力に武器攻撃力を追加するという内容。 変更例 AbilityCalculator.getPower = function(unit, weapon) { var pow; if (weapon.custom.waza) { if (Miscellaneous.isPhysicsBattle(weapon)) { // 物理攻撃または投射攻撃 pow = RealBonus.getStr(unit); } else { // 魔法攻撃 pow = RealBonus.getMag(unit); } } else { // 技の武器 pow = RealBonus.getSki(unit); } // 武器の威力 + (力 or 魔力 or 技) return pow + weapon.getPow(); }; カスパラ「waza」がtrueの武器を装備中の場合は(力or魔力)の代わりに技を加算する。 getHit ユニットの命中率を計算する。 武器の命中率 + (ユニットの技 * 3)。 return(そこで処理を終了させて呼び出し元の処理に数値を返す)の中で計算している。 これをどうするか。 変更例1 AbilityCalculator.getHit = function(unit, weapon) { // 武器の命中率 + (技 * 3) + 幸運 return weapon.getHit() + (RealBonus.getSki(unit) * 3) + RealBonus.getLuk(unit); }; デフォルトの計算式にユニットの幸運の加算させたもの。 変更例2 AbilityCalculator.getHit = function(unit, weapon) { var hit; // 武器の命中率 hit += weapon.getHit(); // ユニットの技*3 hit += RealBonus.getSki(unit) * 3; // ユニットの幸運 hit += RealBonus.getLuk(unit); return hit; }; 例1の計算式を変数hitを宣言(var)した上でhitに計算した値をまとめていく方法。returnの中で計算を済ませることもできるが、複雑な計算の場合は見た目が非常に散らかってしまい、後から確認する時に大変な思いをすることになるだろう。 getAvoid ユニットの回避率を計算する。 引数(functionの中のパラメータ)にユニットのクラスが存在しないため、 この処理の中でクラスを呼び出しているのがポイント。 変更例1 AbilityCalculator.getAvoid = function(unit) { var avoid, terrain; var cls = unit.getClass(); // 回避は、(速さ * 2) avoid = RealBonus.getSpd(unit) * 2; // クラスの回避率 if (typeof cls.custom.kaihi === number ) avoid += cls.custom.kaihi; } // クラスタイプが地形ボーナスを考慮する場合は、「地形効果」の回避率を加算する if (cls.getClassType().isTerrainBonusEnabled()) { terrain = PosChecker.getTerrainFromPos(unit.getMapX(), unit.getMapY()); if (terrain !== null) { avoid += terrain.getAvoid(); } } return avoid; }; クラス(cls)のカスパラ「kaihi」に数値が設定されている場合はkaihiの数値分回避率が上昇する。 変更例2 AbilityCalculator.getAvoid = function(unit) { var avoid, terrain; var cls = unit.getClass(); var weapon = ItemControl.getEquippedWeapon(unit); if (weapon === null) { // 武器を装備していない場合の回避は、(速さ * 2) avoid = RealBonus.getSpd(unit) * 2; } else { // 武器を装備している場合の回避は、(敏捷 * 2) avoid = AbilityCalculator.getAgility(unit, weapon) * 2; } // クラスタイプが地形ボーナスを考慮する場合は、「地形効果」の回避率を加算する if (cls.getClassType().isTerrainBonusEnabled()) { terrain = PosChecker.getTerrainFromPos(unit.getMapX(), unit.getMapY()); if (terrain !== null) { avoid += terrain.getAvoid(); } } return avoid; }; 武器を所持している場合は敏捷(つまり武器の重さによる減算が発生した後の数値)を回避率の計算に使う。ここで気をつけたいのが「攻撃力」「命中率」「必殺率」は武器を所持していない状態(つまり攻撃できない状態)ならそれらの計算に入ることはないが、「回避率」と「必殺回避率」と「敏捷」の計算は武器を持っていなくても行われるということ。つまりこれらの計算時に武器を参照する場合は武器を所持しているかどうかをチェックする必要がある。敏捷はデフォルトで武器を所持していない場合の分岐を用意しているが、回避率と必殺回避率の処理で武器を扱う際にこのチェックを怠ると、僧侶などの武器を持たない非戦闘ユニットのステータスを開いただけでエラーを起こすようになるので注意。 getCritical ユニットの必殺率を計算する。 変更例 AbilityCalculator.getCritical = function(unit, weapon) { var crt; var cls = unit.getClass(); // 技 crt += RealBonus.getSki(unit); // 武器のクリティカル率 crt += weapon.getCritical(); // クラスのクリティカル率 crt += cls.custom.hissatu; return crt; }; クラス(cls)のカスパラ「hissatu」に数値が設定されている場合はhissatuの数値分必殺率が上昇する。 getCriticalAvoid ユニットの必殺回避率を計算する。 変更例 AbilityCalculator.getCriticalAvoid = function(unit) { // (幸運/2)がクリティカル回避率 return Math.floor( RealBonus.getLuk(unit) / 2 ); }; 幸運の半分の値が必殺回避率になる。Javascriptで除算を行う場合はMath.○○を用いて小数点以下を丸めて整数にする作業が必須。うっかり小数点のまま処理を進めたりすると数字が表示されなくなったりフリーズを引き起こす要因になる。SRPG Studioでは基本的にMath.floorを使う。 Math.round(丸めたい数値) 四捨五入 Math.ceil(丸めたい数値) 切り上げ Math.floor(丸めたい数値) 切り捨て getAgility ユニットの敏捷(戦闘時の素早さ)を計算する。 これまでと比べると複雑な分岐を行っている。 変更例 AbilityCalculator.getAgility = function(unit, weapon) { var agi, value, param; var spd = RealBonus.getSpd(unit); // 通常、敏捷は速さと同一 agi = spd; // 武器が指定されてない場合、または重さを考慮しない場合は、敏捷は変わらない if (weapon === null || !DataConfig.isItemWeightDisplayable()) { return agi; } // 体格が有効な場合は体格で判定し、そうでない場合は力(魔力)で判定する if (DataConfig.isBuildDisplayable()) { param = ParamBonus.getBld(unit); param += Math.floor(ParamBonus.getStr(unit)/2); } else { param = ParamBonus.getStr(unit); } // 重さ - パラメータ value = weapon.getWeight() - param; if (value 0) { // パラメータが重さより低い場合は、その差分だけ敏捷を下げる agi -= value; } return agi; }; 魔法武器なら魔力で武器の重さを相殺するところを魔法武器でも力で相殺するように固定化している。体格が有効になっている場合は(体格+力の半分)で相殺を行う。 DamageCalculator 実際の戦闘におけるダメージ計算。 calculateDamage クリティカル時の処理を行う部分。 変更例1 DamageCalculator.calculateDamage = function(active, passive, weapon, isCritical, activeTotalStatus, passiveTotalStatus, trueHitValue) { var pow, def, damage; var crtdamage = 0; if (this.isHpMinimum(active, passive, weapon, isCritical, trueHitValue)) { return -1; } pow = this.calculateAttackPower(active, passive, weapon, isCritical, activeTotalStatus, trueHitValue); def = this.calculateDefense(active, passive, weapon, isCritical, passiveTotalStatus, trueHitValue); damage = pow - def; if (this.isHalveAttack(active, passive, weapon, isCritical, trueHitValue)) { if (!this.isHalveAttackBreak(active, passive, weapon, isCritical, trueHitValue)) { damage = Math.floor(damage / 2); } } if (this.isCritical(active, passive, weapon, isCritical, trueHitValue)) { if (SkillControl.getBattleSkill(active, passive, SkillType.CRITICAL)) { crtdamage = 1; } damage = Math.floor(damage * (this.getCriticalFactor() + crtdamage)); } return this.validValue(active, passive, weapon, damage); }; 「クリティカル可能」スキルを所持しているユニットはクリティカル時のダメージ倍率が+100%される。DamageCalculator.getCriticalFactor()はツール側で設定されたクリティカル時のダメージ倍率を取得する関数。 変更例2 DamageCalculator.calculateDamage = function(active, passive, weapon, isCritical, activeTotalStatus, passiveTotalStatus, trueHitValue) { var pow, def, damage; var crtdamage = Math.floor(Math.random() * 15) + 5; if (this.isHpMinimum(active, passive, weapon, isCritical, trueHitValue)) { return -1; } pow = this.calculateAttackPower(active, passive, weapon, isCritical, activeTotalStatus, trueHitValue); def = this.calculateDefense(active, passive, weapon, isCritical, passiveTotalStatus, trueHitValue); damage = pow - def; if (this.isHalveAttack(active, passive, weapon, isCritical, trueHitValue)) { if (!this.isHalveAttackBreak(active, passive, weapon, isCritical, trueHitValue)) { damage = Math.floor(damage / 2); } } if (this.isCritical(active, passive, weapon, isCritical, trueHitValue)) { if (SkillControl.getBattleSkill(active, passive, SkillType.CRITICAL)) { crtdamage = 5; } damage += crtdamage; } return this.validValue(active, passive, weapon, damage); }; クリティカル時のダメージの計算が「ダメージ×3」から「ダメージ+5~20の乱数」に変わる。 「クリティカル可能」スキルを所持しているユニットはクリティカル時のダメージが更に+5される。 ツール側のクリティカル時のダメージ倍率の設定は使用されなくなる。 HitCalculator 実際の戦闘における攻撃命中判定処理。 CriticalCalculator 実際の戦闘におけるクリティカル判定処理。 Calculator 戦闘関係、アイテム関係などその他諸々の計算。 calculateRoundCount 再攻撃可能かどうか判定する。 変更例 Calculator.calculateRoundCount = function(active, passive, weapon) { var activeAgi; var passiveAgi; var value; if (!this.isRoundAttackAllowed(active, passive)) { return 1; } activeAgi = AbilityCalculator.getAgility(active, weapon); passiveAgi = AbilityCalculator.getAgility(passive, ItemControl.getEquippedWeapon(passive)); value = this.getDifference(); //「再攻撃」を持っていれば再攻撃差分変更 if (SkillControl.getBattleSkill(active, passive, SkillType.ROUNDATTACK){ value = 1; } return (activeAgi - passiveAgi) = value ? 2 1; }; 「value = this.getDifference();」がツール側で設定した「再攻撃差分」の数値なので、 攻撃側が「再攻撃」のスキルを持っている場合は再攻撃差分が1に変更されるように。 calculateRecoveryItemPlus 回復アイテムの補正を計算する。 デフォルトでは回復アイテムが杖だった時に使用者の魔力を回復値に加算する処理のみ。 変更例 Calculator.calculateRecoveryItemPlus = function(unit, targetUnit, item) { var plus = 0; var itemType = item.getItemType(); if (itemType !== ItemType.RECOVERY itemType !== ItemType.ENTIRERECOVERY) { return 0; } // アイテムが杖の場合は、使用者の魔防力を加算する if (item.isWand()) { plus = ParamBonus.getMdf(unit); } return plus; }; 魔力の代わりに魔防力を回復値に追加するようにする変更。 杖使いと魔法使いをより差別化したい時に。 calculateSellPrice 店でアイテムを売却する時の値段の計算。 変更例 Calculator.calculateSellPrice = function(item) { var d; var gold = Math.floor(item.getGold() / 4); return gold; }; 耐久力で売却価格が変動する処理を廃し、売却価格を「買値の1/4の値段」で固定する。 SupportCalculator 支援効果の計算。 createTotalStatus 各種支援効果の配列を作成し、総合する部分。 変更例 var alias1 = SupportCalculator.createTotalStatus; SupportCalculator.createTotalStatus = function(unit) { var i, x, y, index, targetUnit, unitType, list, indexArray, count; var totalStatus = {}; totalStatus.powerTotal = 0; totalStatus.defenseTotal = 0; totalStatus.hitTotal = 0; totalStatus.avoidTotal = 0; totalStatus.criticalTotal = 0; totalStatus.criticalAvoidTotal = 0; if (!SkillControl.getPossessionCustomSkill(unit, noSupport )) { totalStatus = alias1.call(this, unit); } return totalStatus; } キーワード「noSupport」のカスタムスキルを所持しているユニットは一切の支援効果を受けられなくなる。 破壊できる壁などの障害物が支援スキルの影響を受けるのを無効化できる。 CompatibleCalculator 武器の有効相手(いわゆる三すくみ)の補正計算。 ExperienceCalculator 取得経験値の計算を行う。 _getExperienceFactor 取得経験値に対して補正をかける。 優先順位は「経験値上昇」スキルによる補正倍率>難易度設定による2倍効果となっており、 「経験値上昇」スキルを所持している場合は難易度設定による2倍効果は無効化される。 _getNoDamageExperience ダメージを与えられなかった時の取得経験値。 baseExpの5を基礎値とする。 ここを0に変えればダメージを与えられなければ経験値が入らないことになる。 (ただしgetExperienceのレベル差補正も修正する必要あり) _getVictoryExperience 敵を撃破できた時の取得経験値。 難易度設定による基礎経験値が使用される。 _getNormalValue ダメージは与えたが敵を撃破できなかった時の取得経験値。 baseExpの8を基礎値とする。 ここを0に変えれば敵を撃破できないと経験値が入らないことになる。 (ただしgetExperienceのレベル差補正も修正する必要あり) _getExperience 戦闘における最終的な取得経験値を割り出す。 味方ユニットと敵ユニットのレベル差、クラスランクによって修正が入る。 ExperienceControl レベルアップ時の成長処理などを行う。 ParameterControl レベルアップ時にステータスを上昇させる処理。 SymbolCalculator クラスチェンジやフュージョンなどの許可判定、イベントなどのステータス条件判定の計算を行う部分。
https://w.atwiki.jp/ssb4_kensyou/pages/115.html
注意書き ふっとばし力(KB)KB簡易版 WBKB版 ふっとび硬直 ガード硬直 ガードノックバック OP相殺 ヒットストップ 相殺 しびれ 埋められ スマッシュホールド 崖掴まり時間 つかみ時間 ピクミン投げ ウィッチタイム 参考 コメント 計算式たちのまとめ。 個別ページがある式はそちらも読むべし。 載せてほしい式があればコメントにてお知らせください。 注意書き 時間の単位は全てフレーム(F)。 フレームの計算で小数点以下が出てきた場合、計算の最後に切り捨て。ふっとばし力などは小数点以下まで計算。 ふっとばし力(KB) KB = [ 0.07 * (A + 2) * 敵%/W * KBG/100 + BKB ] * Rage * Mult. KB簡易版 WBKB版 通常の式で A=WBKB、D_o=10 としたもの。 ふっとび硬直 回避40F帯、攻撃45F帯はこの限りではない。 ガード硬直 j ジャストシールド判定。ジャスガなら0.5、それ以外なら1。 p:飛び道具判定。飛び道具なら0.66、それ以外なら1。 ガードノックバック Pushback≦1.318%の攻撃で1.2996。 ジャストシールド、飛び道具は未検証。 OP相殺 1回前に使っていればS1、2回前に使っていればS2…を加えていく。 ヒットストップ Hitlag≦30 A:ダメージ h:HS補正値 c:しゃがみ状態なら0.67、それ以外は1防御側のみにかける。攻撃側は常に1。 e:電撃属性なら1.5、それ以外は1 解析値上は「÷2.6」ではなく「×0.3846154」である。 ガードストップの計算は、 HS補正値 ≦1 → h = HS補正値 1 ≦ HS補正値 ≦1.25 → h = 1 1.25 ≦ HS補正値 → h = HS補正値×0.8 とする。 相殺 A:ダメージ ダメージは大きい方を参照する。 しびれ Paralyze≦76 A:ダメージ h:HS補正値 c:しゃがみ状態なら0.67、それ以外は1 埋められ スマッシュホールド A:元のダメージ F:ホールドフレーム0≦F≦60 崖掴まり時間 20≦Ledge≦124 F:滞空フレーム0≦F≦300 攻撃を受けるとリセット。 D:自%0≦D≦120 つかみ時間 P:蓄積% i:レバガチャスティック:8 ボタン:14.4 ピクミン投げ D:蓄積% i:レバガチャスティック:7 ボタン:12.5 ウィッチタイム 通常版 バットウィズイン発動版 30≦WT≦240 D:相手% n:WT使用回数 x:回復フレーム n,xは効果時間が完全回復したらリセット。 効果時間中、相手はスロー1/8。 参考 ゲガン氏:http //sixriver.web.fc2.com/ssb4/memo.htm KH氏:http //kuroganehammer.com/Smash4/Formulas 解析値:https //docs.google.com/spreadsheets/d/1FgOsGYfTD4nQo4jFGJ22nz5baU1xihT5lreNinY5nNQ/edit#gid=425729403 コメント 名前 コメント