雑記113

2019-01-27雑記

※画像は記事の内容とは無関係のインスタ映えするエイダールホールチーズです。

【更新のお知らせ】
Bloodbond – Contract with the Vampire

v0.3
– fomod化。Vanilla / Better Vampires の両環境に対応
– プレイヤーによる吸血の1日1回制限が正しく機能していなかった不具合を修正
– vanilla環境でプレイヤーによる吸血が正しく動作していなかった不具合を修正
– 血液ポーションの効果を変更するmod(Sacrosanct等)と併用した場合に意図しない動作をしていた不具合を修正
– スクリプト軽量化

詳細(クリックで展開)

全面的にスクリプト見直してます。

・プレイヤーによる吸血をアニメーションによる擬似吸血ではなくvanilla同様のStartVampireFeedで行うように。フォロワーからの吸血は変更なし。

・StartVampireFeedを実行すると対象が敵対するので、吸血開始時に一時的に非敵対ファクションに入れる処理をすることで敵対しないように。
変なところで競合するの嫌なんで吸血終了時に外れるようにしてますが、このmodの趣旨を考えると入れっぱなしのがいいのかも。そのフォロワーに烙印として残って、他modの効果で強制吸血されても無抵抗、みたいな。

・パッチでやったblood potion効果にすげ替える作戦は競合の可能性が極めて高いため取りやめ。
ご指摘くださった方ありがとうございました。

・vanilla環境はPlayerVampireQuest.VampireFeedがターゲット指定なしでないと動かず、Better Vampiresでは逆にターゲット指定がないと動かないっぽいので、悩んだ結果スクリプトを2種類作ってインストーラで選択できるように。

・ダイアログのhours until resetがうまく動いてなかったのでGameDaysPassedで日付を管理するように。

・スクリプトを使い回すことでファイルサイズを削減(言うても元から6KBとかしかなかったけど)。どちらかといえば管理上の都合です。

アプデのスパン短くてすみません。取り急ぎバグ潰しです。
クリティカルな不具合だらけだったので半ば途方に暮れていて、自分の手に負えない時は一旦下げようかと思ってましたが、なんとかなりました。自環境以外でも安定動作してくれることを祈るばかりです。

余談ですが、吸血のアニメーションは適度な距離を取って真正面から向き合うと正常に再生されやすいです。
ほんとはForceGreetか何かで自動調整できればいいんですけど、まだ使い方がよくわかってなくって……。


吸血後に一時的に得られるバフってのを実装したかったんですが、どうもスクリプトで魔法効果を付与するとduration(効果時間)が機能しないっぽいんですよね(もしかしたらcasting typeとかの設定の問題なのかもしれませんが)。
CastとかAddspellとかDoCombatSpellApplyとかいろいろと手を変えてみてもダメだし、時間を計測して自動で効果を取っ払ってくれるような処理の書き方がわかるわけでもなく、結局v0.3では実装を見送った次第でした。永続的に適用したいならAliasを使うのが確実、ってのは調べたらすぐ見つかったんですけどもね。

でもvanillaで同じようなことしてるものがあるはず……って思って今しがた諦めずに探したらちゃんとありました。
睡眠or休息後のスキル上昇ボーナスのMagicEffectに紐付けられてる"TimedAbilityScript"ってのがまさに自分の求めていたものでした。

参考にしたMagicEffect(RestedSkillEffect)のプロパティを覗いたら、pHourstoWaitの項に8が設定されていましたので、これはゲーム内時間で8時間持続するわけですね。それにpAbilityToRemoveの方で取り除くSpellが指定できるようになっているので、このまま使い回しができるようです。実際、休息系のMagicEffectにはみんなこれがついてました。

近々試してみようと思います。

スポンサーリンク

雑記

Posted by hacca