Solarium228 Posted May 1, 2021 Share Posted May 1, 2021 (edited) Hello. There is a modification called Better Power Armor. The author, unfortunately, decided not to continue the development of his project. He wanted to translate this modification into scripts. I have some knowledge of the Phyton language, but I ran into a number of problems in Papyrus and have no idea how to proceed further. The bottom line is that the author's modification is implemented via PERK / MGEF. Help us with advice on how and what to do next to achieve 100% damage blocking before breaking parts, with the exception of certain types of ammunition. ScriptName Yagami:PowerArmorBlockingDamage extends ActiveMagicEffectsActorValue Property PowerArmorLeftLegCondition AutoActorValue Property PowerArmorRightLegCondition AutoActorValue Property PowerArmorLeftArmCondition AutoActorValue Property PowerArmorRightArmCondition AutoActorValue Property PowerArmorTorsoCondition AutoActorValue Property PowerArmorHeadCondition AutoActor Property PlayerRef Auto Constfloat Property armorHealth AutoObjectReference Property armorPiece Auto Edited May 1, 2021 by Solarium228 Link to comment Share on other sites More sharing options...
dylbill Posted May 1, 2021 Share Posted May 1, 2021 I'm not sure how Better Power Armor is implemented, but to get you started in Papyrus you use an Event to do things. Your script should also extend another base script, so for that you would use ActiveMagicEffect not ActiveMagicEffects. The Events you can use depend on what you're extending. For ActiveMagicEffect, they inherit events from the actors they are on too. So you can use Actor events on ActiveMagicEffect as well. Example: ScriptName Yagami:PowerArmorBlockingDamage extends ActiveMagicEffect ActorValue Property PowerArmorLeftLegCondition Auto ActorValue Property PowerArmorRightLegCondition Auto ActorValue Property PowerArmorLeftArmCondition Auto ActorValue Property PowerArmorRightArmCondition Auto ActorValue Property PowerArmorTorsoCondition Auto ActorValue Property PowerArmorHeadCondition Auto Actor Property PlayerRef Auto Const float Property armorHealth Auto ObjectReference Property armorPiece Auto Actor Target Event OnEffectStart(Actor akTarget, Actor akCaster) ;Triggered when the magic effect becomes active on an actor. Target = akTarget ;save the target of the Magic Effect for use in other events. EndEvent Event OnCripple(ActorValue akActorValue, bool abCrippled) ;Triggered when a limb from the target becomes crippled, or a crippled limb becomes healthy. If Target.IsInPowerArmor() ;is the target in power armor? If abCrippled == True Debug.Notification("Limb Was Crippled") Elseif abCrippled == False Debug.Notification("Limb Was Healed") Endif Endif EndEventFor more info on Papyrus scripting, you can go here: https://www.creationkit.com/fallout4/index.php?title=Category:Papyrus Link to comment Share on other sites More sharing options...
dylbill Posted May 1, 2021 Share Posted May 1, 2021 Oh, and maybe look at Better Locational Damage, which is scripted, to see how it's done. https://www.nexusmods.com/fallout4/mods/3815 Link to comment Share on other sites More sharing options...
Recommended Posts