enderalse/source/scripts/faction.psc

131 lines
5.2 KiB
Plaintext

Scriptname Faction extends Form Hidden
; Checks to see if the player can pay the crime gold for this faction
bool Function CanPayCrimeGold() native
; Gets the amount of gold the player is to pay to this faction for crimes
int Function GetCrimeGold() native
; Gets the amount of gold the player is to pay to this faction for non-violent crimes
int Function GetCrimeGoldNonViolent() native
; Gets the amount of gold the player is to pay to this faction for violent crimes
int Function GetCrimeGoldViolent() native
; Get the player's "infamy" with this faction (accumulated crime gold)
int Function GetInfamy() native
; Get the player's "non-violent infamy" with this faction (accumulated non-violent crime gold)
int Function GetInfamyNonViolent() native
; Get the player's "violent infamy" with this faction (accumulated violent crime gold)
int Function GetInfamyViolent() native
; Gets this faction's reaction towards the other
int Function GetReaction(Faction akOther) native
; Obtains the value of all items stolen by the player from this faction that was witnessed
int Function GetStolenItemValueCrime() native
; Obtains the value of all items stolen by the player from this faction that was NOT witnessed
int Function GetStolenItemValueNoCrime() native
; Is the passed in faction in this faction's crime group
bool Function IsFactionInCrimeGroup(Faction akOther) native
; Is the player expelled from this faction?
bool Function IsPlayerExpelled() native
; Modifies the amount of crime gold for this faction - violent or non-violent
Function ModCrimeGold(int aiAmount, bool abViolent = false) native
; Modifies this faction's reaction towards the other faction
Function ModReaction(Faction akOther, int aiAmount) native
; Has the player pay the crime gold for this faction
Function PlayerPayCrimeGold(bool abRemoveStolenItems = true, bool abGoToJail = true) native
; Finds a nearby NPC in this faction and has them behave as if assaulted
Function SendAssaultAlarm() native
; Sends the player to this faction's jail - removing inventory if requested, and to a "real" jail or not
Function SendPlayerToJail(bool abRemoveInventory = true, bool abRealJail = true) native
; Sets this faction and the other as allies or friends - if the friend booleans are true - the specified one-way relationship
; is a friend instead of an ally
Function SetAlly(Faction akOther, bool abSelfIsFriendToOther = false, bool abOtherIsFriendToSelf = false) native
; Sets the non-violent crime gold on this faction
Function SetCrimeGold(int aiGold) native
; Sets the violent crime gold on this faction
Function SetCrimeGoldViolent(int aiGold) native
; Sets this faction and the other as enemies or neutral - if the friend booleans are true - the specified one-way relationship
; is a neutral instead of an enemy
Function SetEnemy(Faction akOther, bool abSelfIsNeutralToOther = false, bool abOtherIsNeutralToSelf = false) native
; Sets or clears the player as an enemy of this faction
Function SetPlayerEnemy(bool abIsEnemy = true) native
; Sets or clears the expelled flag for this faction on the player
Function SetPlayerExpelled(bool abIsExpelled = true) native
; Sets this faction's reaction towards the other
Function SetReaction(Faction akOther, int aiNewValue) native
; SKSE 64 additions built 2020-07-29 17:24:48.495000 UTC
int property kFaction_HiddenFromNPC = 0x00000001 AutoReadOnly
int property kFaction_SpecialCombat = 0x00000002 AutoReadOnly
int property kFaction_TrackCrime = 0x00000010 AutoReadOnly
int property kFaction_IgnoreMurder = 0x00000020 AutoReadOnly
int property kFaction_IgnoreAssault = 0x00000040 AutoReadOnly
int property kFaction_IgnoreStealing = 0x00000080 AutoReadOnly
int property kFaction_IgnoreTrespass = 0x00000100 AutoReadOnly
int property kFaction_NoReportCrime = 0x00000200 AutoReadOnly
int property kFaction_CrimeGoldDefaults = 0x00000400 AutoReadOnly
int property kFaction_IgnorePickpocket = 0x00000800 AutoReadOnly
int property kFaction_Vendor = 0x00001000 AutoReadOnly
int property kFaction_CanBeOwner = 0x00002000 AutoReadOnly
int property kFaction_IgnoreWerewolf = 0x00004000 AutoReadOnly
; Not recommended unless the faction was previously a vendor
; due to the faction not having a package location the vendor
; may not be able to set up shop anywhere at all
Function MakeVendor()
SetFactionFlag(self.kFaction_Vendor)
EndFunction
bool Function IsVendor()
return IsFactionFlagSet(self.kFaction_Vendor)
EndFunction
Function ClearVendor()
ClearFactionFlag(self.kFaction_Vendor)
EndFunction
bool Function IsFactionFlagSet(int flag) native
Function SetFactionFlag(int flag) native
Function ClearFactionFlag(int flag) native
bool Function OnlyBuysStolenItems() native
Function SetOnlyBuysStolenItems(bool onlyStolen) native
int Function GetVendorStartHour() native
Function SetVendorStartHour(int hour) native
int Function GetVendorEndHour() native
Function SetVendorEndHour(int hour) native
int Function GetVendorRadius() native
Function SetVendorRadius(int radius) native
ObjectReference Function GetMerchantContainer() native
Function SetMerchantContainer(ObjectReference akContainer) native
bool Function IsNotSellBuy() native
Function SetNotSellBuy(bool notSellBuy) native
FormList Function GetBuySellList() native
Function SetBuySellList(FormList akList) native