d4em Posted May 1 Share Posted May 1 These 2 can be set as conditions on magic effects, but they don't have a wiki entry at all GetCombatAudioDetection as well Ran some initial tests but they didn't appear to do anything Anyone know how these work? Link to comment Share on other sites More sharing options...
pepperman35 Posted May 1 Share Posted May 1 Never used them myself but I would hazard a guess and say they are related to the detection-based mechanics. Are these used in any vanilla scripts? I took a quick look and it appears GetCombatVisualDetection and PlayerVisualDetection are not in any of the Papyrus scripts. If they are valid condition functions in the Creation Kit (i.e., you can use them in the Conditions tab of a magic effect, spell, perk, etc.), but are not callable in scripts (i.e., you can’t log or display the exact float values in-game via script), not sure how one goes about setting up debugging to test its functionality. Link to comment Share on other sites More sharing options...
d4em Posted May 2 Author Share Posted May 2 Make a bunch of perks with the conditions set in all different shapes and forms and try to trigger them I guess Link to comment Share on other sites More sharing options...
LarannKiar Posted May 2 Share Posted May 2 GetCombatVisualDetection/GetCombatAudioDetection return the visibility/sound level of the combat target of the console subject ref (i.e. how much the subject ref sees/hears their target). PlayerVisualDetection does the same as GetCombatVisualDetection but instead of combat target, it always takes the PlayerRef as target so you can use it outside of combat. GetCombatVisualDetection < 0.00 means the target is not detected as far as I remember. I added Condition runner and logger to Garden of Eden SE a few versions ago: you can evaluate condition items and condition fields from Papyrus scripts and if needed, log the float return values and measure the runtimes in milliseconds. 1 Link to comment Share on other sites More sharing options...
hereami Posted May 14 Share Posted May 14 On 5/2/2025 at 11:59 PM, LarannKiar said: Condition runner and logger Expand Curious. Probably you're very familiar with internals already, could maybe clarify some things how records' Conditions processing is designed in game? It's said that all conditions in a block are evaluated no matter the intermediate results, is that really true? For example, when topmost AND evaluates to False there is no reason to continue. Another case in regard to automated alias fill by search, not exactly same. If one of conditions naturally blocks alias fill regarldess of subject properties, e.g. Global != Global etc., would it be recognized and prevent farther alias processing or still would iterate on every object? Mainly just pointless, though ground, theoretical matters. Link to comment Share on other sites More sharing options...
LarannKiar Posted May 15 Share Posted May 15 On 5/14/2025 at 8:43 PM, hereami said: Curious. Probably you're very familiar with internals already, could maybe clarify some things how records' Conditions processing is designed in game? It's said that all conditions in a block are evaluated no matter the intermediate results, is that really true? Expand As far as I remember no, the vanilla function returns after the first False condition item unless its operator is OR: So WornHasKeyword would only be processed if the GetGlobalValue's operator is OR. Run on: PiperRef IsActor == 1 AND Run on: Subject GetGlobalValue "TrueGlobal" == 0 AND Run on: PlayerRef WornHasKeyword "ActorTypePower" == 1 AND On 5/14/2025 at 8:43 PM, hereami said: Another case in regard to automated alias fill by search, not exactly same. If one of conditions naturally blocks alias fill regarldess of subject properties, e.g. Global != Global etc., would it be recognized and prevent farther alias processing or still would iterate on every object? Mainly just pointless, though ground, theoretical matters. Expand Even though one can specify a Subject ref for all conditions in the editor, for certain condition functions (e.g. GetGlobalValue) it doesn't matter because the function that the condition item invokes may not process it. It's similar to some of the console commands which don't require a reference to be called on. I don't know right now but I highly doubt that after a non Optional Quest Alias couldn't be filled the Aliases with a greater Alias Index are processed. You can enable EnableConditionRunnerLogging(True) for Garden of Eden and call GetConditionResults() to see which conditions are actually evaluated. 1 Link to comment Share on other sites More sharing options...
Recommended Posts