シンプルな構造にするなら
(A)的中値 (B)抵抗値 (X)基本スキル成功率 (Y)補正後のスキル成功率
として

(1-1)属性判定で成功=(2)項へ
(1-2)属性判定で失敗=ミス(判定終了)
(2-1)A>=BのときX%=Y%のまま変動なし(3)項へ
(2-2)A<BのときX%からY%に減衰し(3)項へ
(3)前項で得たY%で判定

って感じじゃないかな

あまりごちゃごちゃした係数を大量に噛ませると
新しいスキル追加したときとか不具合起きやすくなるだろうし