Potion Animated fix (SE)はポーションを飲んだ時にアニメーションをするようになるModです。デモンズソウルやモンスターハンターのような飲む動作をするので、プレイヤーに隙が生まれゲームの難易度が上昇します。
Upgrade Your Potionはポーションを煮詰めて上位のポーションにアップグレードできるようになるModです。レベルが上がってくると下位のポーションは焼け石に水なのでアニメーションのペナルティに合わなくなってしまいます。それを解消してくれます。
さて、この2つを組み合わせると、ポーションを煮詰める時にアニメーションしてしまいます。原因は、ポーションがインベントリから取り除かれる時にPotion Animated fixが「飲んだ」と判定しているからです。
問題のコードはPAF_InventoryCheck.pscで、修正するとこうなります。
Potion Animated fix (papyrus)
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
GotoState("Busy")
if akBaseItem == none || akItemReference || akDestContainer
GotoState("")
return
elseif !akBaseItem.HasKeyword(VendorItemPotion) || akBaseItem.HasKeyword(VendorItemPoison) || akBaseItem.HasKeyword(VendorItemWeapon)
GotoState("")
return
elseif PlayerRef.IsOnMount() || PlayerREF.GetAnimationVariableBool("bInJumpState") == true || PlayerREF.IsSwimming() == true || PlayerREF.getAnimationVariableBool("isStaggering") == true || PlayerREF.IsInKillMove() || PlayerREF.GetActorValue("Health") <= 0
GotoState("")
return
elseif !Game.IsLookingControlsEnabled()
GotoState("")
return
endif
DrinkPotion(akBaseItem as Potion)
EndEvent
これで煮詰めてもアニメーションしなくなりました。副作用でアニメーションしなくなってしまう機会が増えてしまうかと思ったのですが、インベントリを開いて飲んでも、お気に入りを開いて飲んでも、きちんとアニメーションしてくれました。