Ich habe mich vorher noch nie damit befasst, aber ich denke, dass die aktiven Effekte chronologisch geordnet werden. Wenn du also "player.getNthActiveEffect 0" ausführst, solltest du den Effekt erhalten, der bislang am kürzesten auf den Spieler wirkt. Vielleicht ist es aber auch nach temporären Effekten (Gift), Verzauberungen (wenn ein Ring etc. angelegt ist) und Eigenschaften (z.B. Feuerresistenz bei den Dunmer) geordnet. Das müsstest du eventuell mal nachgucken, bzw. ausprobieren. Hilfreich wäre es, mit "getActiveEffectCount" die Anzahl der aktiven Effekte abzufragen. Dann kannst du eine Art Schleife erstellen, bei der jedes Mal ein anderer Effekt überprüft wird.
Hab gerade noch den Befehl "isMagicEffectDetrimental" gefunden. Was auch hilfreich scheint ist "MagicEffectUsesAttribute", "-Skill" und "-OtherActorValue".