Skip to content

Commit 8ae672b

Browse files
committed
New function: GetPermanentActorValue
New function: GetRaceSkillBonus New function: GetRaceSkills New function: GetRaceMaleHeight New function: GetRaceFemaleHeight New function: GetRaceMaleWeight New function: GetRaceFemaleWeight New function: GetRaceStartingHealth New function: GetRaceStartingMagicka New function: GetRaceStartingStamina New function: GetRaceCarryWeight New function: GetRaceMass New function: GetRaceHealthRegen New function: GetRaceMagickaRegen New function: GetRaceStaminaRegen New function: GetRaceUnarmedDamage New function: GetRaceUnarmedRange Removed function: TryAffixDisplayName
1 parent b00b110 commit 8ae672b

15 files changed

+1215
-53
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.idea/
2-
/cmake-build-debug*
3-
/cmake-build-release*
2+
/build-debug*
3+
/build-release*
44
workspace.xml
55

66
## Ignore Visual Studio temporary files, build results, and

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,13 @@ set(headers
125125
src/PCH.h
126126
src/Constants.h
127127
src/Papyrus/Registration.h
128+
src/Papyrus/ActorValueHelper.h
128129
src/Papyrus/PapyrusActor.h
130+
src/Papyrus/PapyrusExperiments.h
129131
src/Papyrus/PapyrusFaction.h
130132
src/Papyrus/PapyrusFormList.h
131133
src/Papyrus/PapyrusObjectREFR.h
134+
src/Papyrus/PapyrusRace.h
132135
src/Papyrus/PapyrusSpell.h
133136
src/Papyrus/PapyrusString.h
134137
src/Papyrus/PapyrusTime.h
@@ -138,10 +141,13 @@ set(sources
138141
src/main.cpp
139142
src/PCH.cpp
140143
src/Papyrus/Registration.cpp
144+
src/Papyrus/ActorValueHelper.cpp
141145
src/Papyrus/PapyrusActor.cpp
146+
src/Papyrus/PapyrusExperiments.cpp
142147
src/Papyrus/PapyrusFaction.cpp
143148
src/Papyrus/PapyrusFormList.cpp
144149
src/Papyrus/PapyrusObjectREFR.cpp
150+
src/Papyrus/PapyrusRace.cpp
145151
src/Papyrus/PapyrusSpell.cpp
146152
src/Papyrus/PapyrusString.cpp
147153
src/Papyrus/PapyrusTime.cpp

README.md

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,60 @@ Actor[] Function FindNearbySummons(ObjectReference akOrigin, Float afRadius) Glo
8181
; Returns teammates in loaded cells within `afRadius` of player
8282
Actor[] Function FindNearbyTeammates(Float afRadius) Global Native
8383
84-
; Attempts to affix full name of `akMessage` to display name for `akRef`, and returns whether operation was successful
85-
; If `abPrepend` is True, the message name will be prepended. If False, the name will be appended.
86-
; If `abForce` is True, display names set by quest aliases will be overridden.
87-
Bool Function TryAffixDisplayName(ObjectReference akRef, Message akMessage, Bool abPrepend, Bool abForce) Global Native
84+
; Returns the permanent value of `asActorValue` for `akActor`
85+
Float Function GetPermanentActorValue(ObjectReference akActor, String asActorValue) Global Native
86+
```
87+
88+
## Race Functions
89+
90+
```papyrus
91+
; Returns the skill boost value of `asActorValue` for `akRace`
92+
Int Function GetRaceSkillBonus(Race akRace, String asActorValue) Global Native
93+
94+
; Returns names of boosted actor values for `akRace`
95+
String[] Function GetRaceSkills(Race akRace) Global Native
96+
97+
; Returns the base male height for `akRace`
98+
Float Function GetRaceMaleHeight(Race akRace) Global Native
99+
100+
; Returns the base female height for `akRace`
101+
Float Function GetRaceFemaleHeight(Race akRace) Global Native
102+
103+
; Returns the base male weight for `akRace`
104+
Float Function GetRaceMaleWeight(Race akRace) Global Native
105+
106+
; Returns the base female weight for `akRace`
107+
Float Function GetRaceFemaleWeight(Race akRace) Global Native
108+
109+
; Returns the starting health for `akRace`
110+
Float Function GetRaceStartingHealth(Race akRace) Global Native
111+
112+
; Returns the starting magicka for `akRace`
113+
Float Function GetRaceStartingMagicka(Race akRace) Global Native
114+
115+
; Returns the starting stamina for `akRace`
116+
Float Function GetRaceStartingStamina(Race akRace) Global Native
117+
118+
; Returns the base carry weight for `akRace`
119+
Float Function GetRaceCarryWeight(Race akRace) Global Native
120+
121+
; Returns the base mass for `akRace`
122+
Float Function GetRaceMass(Race akRace) Global Native
123+
124+
; Returns the base health regen for `akRace`
125+
Float Function GetRaceHealthRegen(Race akRace) Global Native
126+
127+
; Returns the base magicka regen for `akRace`
128+
Float Function GetRaceMagickaRegen(Race akRace) Global Native
129+
130+
; Returns the base stamina regen for `akRace`
131+
Float Function GetRaceStaminaRegen(Race akRace) Global Native
132+
133+
; Returns the base unarmed damage for `akRace`
134+
Float Function GetRaceUnarmedDamage(Race akRace) Global Native
135+
136+
; Returns the base unarmed reach for `akRace`
137+
Float Function GetRaceUnarmedReach(Race akRace) Global Native
88138
```
89139

90140
## String Functions

Scripts/Source/LibFire.psc

Lines changed: 55 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,58 @@ Actor[] Function FindNearbySummons(ObjectReference akOrigin, Float afRadius) Glo
7272
; Returns teammates in loaded cells within `afRadius` of player
7373
Actor[] Function FindNearbyTeammates(Float afRadius) Global Native
7474

75-
; Attempts to affix full name of `akMessage` to display name for `akRef`, and returns whether operation was successful
76-
; If `abPrepend` is True, the message name will be prepended. If False, the name will be appended.
77-
; If `abForce` is True, display names set by quest aliases will be overridden.
78-
Bool Function TryAffixDisplayName(ObjectReference akRef, Message akMessage, Bool abPrepend, Bool abForce) Global Native
75+
; Returns the permanent value of `asActorValue` for `akActor`
76+
Float Function GetPermanentActorValue(ObjectReference akActor, String asActorValue) Global Native
7977

80-
{ Spell }
78+
{ Race }
8179

82-
; Returns highest minimum skill level for `akSpell` (does not account for conditions)
83-
Int Function GetHighestMinSkillLevelForSpell(Spell akSpell) Global Native
80+
; Returns the skill boost value of `asActorValue` for `akRace`
81+
Int Function GetRaceSkillBonus(Race akRace, String asActorValue) Global Native
82+
83+
; Returns names of boosted actor values for `akRace`
84+
String[] Function GetRaceSkills(Race akRace) Global Native
85+
86+
; Returns the base male height for `akRace`
87+
Float Function GetRaceMaleHeight(Race akRace) Global Native
88+
89+
; Returns the base female height for `akRace`
90+
Float Function GetRaceFemaleHeight(Race akRace) Global Native
91+
92+
; Returns the base male weight for `akRace`
93+
Float Function GetRaceMaleWeight(Race akRace) Global Native
94+
95+
; Returns the base female weight for `akRace`
96+
Float Function GetRaceFemaleWeight(Race akRace) Global Native
97+
98+
; Returns the starting health for `akRace`
99+
Float Function GetRaceStartingHealth(Race akRace) Global Native
100+
101+
; Returns the starting magicka for `akRace`
102+
Float Function GetRaceStartingMagicka(Race akRace) Global Native
103+
104+
; Returns the starting stamina for `akRace`
105+
Float Function GetRaceStartingStamina(Race akRace) Global Native
106+
107+
; Returns the base carry weight for `akRace`
108+
Float Function GetRaceCarryWeight(Race akRace) Global Native
109+
110+
; Returns the base mass for `akRace`
111+
Float Function GetRaceMass(Race akRace) Global Native
112+
113+
; Returns the base health regen for `akRace`
114+
Float Function GetRaceHealthRegen(Race akRace) Global Native
115+
116+
; Returns the base magicka regen for `akRace`
117+
Float Function GetRaceMagickaRegen(Race akRace) Global Native
118+
119+
; Returns the base stamina regen for `akRace`
120+
Float Function GetRaceStaminaRegen(Race akRace) Global Native
121+
122+
; Returns the base unarmed damage for `akRace`
123+
Float Function GetRaceUnarmedDamage(Race akRace) Global Native
124+
125+
; Returns the base unarmed reach for `akRace`
126+
Float Function GetRaceUnarmedReach(Race akRace) Global Native
84127

85128
{ String }
86129

@@ -120,6 +163,11 @@ Int[] Function StrToIntArray(String asSource, String asDelimiter) Global Native
120163
; Returns `asSource` wrapped to column `aiMaxLength` with lines delimited by newline character
121164
String Function WrapString(String asSource, Int aiMaxLength) Global Native
122165

166+
{ Spell }
167+
168+
; Returns highest minimum skill level for `akSpell` (does not account for conditions)
169+
Int Function GetHighestMinSkillLevelForSpell(Spell akSpell) Global Native
170+
123171
{ Time }
124172

125173
; Returns hours passed since current day began

src/PCH.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
using namespace std::literals;
1515

16+
namespace stl = SKSE::stl;
17+
1618
namespace logger = SKSE::log;
1719

1820
#define DLLEXPORT __declspec(dllexport)

0 commit comments

Comments
 (0)