Difference between revisions of "GetFactionOwner - ObjectReference"

Jump to navigation Jump to search
explicit vs. inherited ownership
imported>Rhavlovick
m (1 revision: Clobber re-import by Henning)
 
imported>Fireundubh
(explicit vs. inherited ownership)
 
Line 6: Line 6:


== Syntax ==
== Syntax ==
<source lang="papyrus">
<source lang="papyrus">
Faction Function GetFactionOwner() native
Faction Function GetFactionOwner() native
Line 11: Line 12:


== Parameters ==
== Parameters ==
None.
None.


== Return Value ==
== Return Value ==
The [[Faction Script|Faction]] that owns this object.
The [[Faction Script|Faction]] that owns this object.


== Examples ==
== Examples ==
=== Returning an explicit owner ===
<source lang="papyrus">
<source lang="papyrus">
; Does the empire own the walker?
; Does the player faction own the sword?
bool ownsWalker = (WalkerProperty.GetFactionOwner() == EmpireFactionProperty)
Bool playerFactionOwnsSword = SwordProperty.GetFactionOwner() == PlayerFactionProperty
</source>
</source>
=== Returning an inherited owner ===
<source lang="papyrus">
; Does the player faction own the sword?
Bool playerFactionOwnsSword = GetInheritedOwner(SwordProperty, SwordRackProperty) == PlayerFactionProperty
Faction Function GetInheritedOwner(ObjectReference aObj, ObjectReference aContainer)
    Faction factionOwner = aObj.GetFactionOwner()
    If !factionOwner
        If aContainer
            factionOwner = aContainer.GetFactionOwner()
            If !factionOwner
                factionOwner = aContainer.GetParentCell().GetFactionOwner()
            EndIf
        EndIf
        If !factionOwner
            factionOwner = aObj.GetParentCell().GetFactionOwner()
        EndIf
    EndIf
    Return factionOwner
EndFunction
</source>
== Notes ==
=== Explicit vs. Inherited Ownership ===
Object references can have explicit owners and inherited owners. An ''explicit owner'' is associated directly with the object. An ''inherited owner'' is derived from the container that contains the object, the cell that contains the object, or the cell that contains the container that contains the object when the object has not been associated with an explicit owner. GetFactionOwner() returns only the explicit owner of an object reference and None when an explicit owner is not found.


== See Also ==
== See Also ==
*[[ObjectReference Script]]
 
*[[SetFactionOwner - ObjectReference]]
* [[ObjectReference Script]]
* [[SetFactionOwner - ObjectReference]]
Anonymous user

Navigation menu