Skip to content

Commit

Permalink
v3.0.0 - Chair Horses
Browse files Browse the repository at this point in the history
  • Loading branch information
markekraus committed Dec 22, 2021
1 parent ced3cd2 commit a253710
Show file tree
Hide file tree
Showing 20 changed files with 54 additions and 7 deletions.
Binary file modified MarkekrausSentientChairsOfSkyrim.bsa
Binary file not shown.
Binary file modified MarkekrausSentientChairsOfSkyrim.esp
Binary file not shown.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Herman Miller descends from a long line of Skyrim hostlers. When the chairs of S

Chair Horses were rare to begin with and now Herman Miller has a single Chair Horse for sale at his stables outside of Whiterun near the Battle-Born Farm.

Herman Miller can also teach you a spell to change the style of your Chair Horse.
Herman Miller can also teach you a spell, free of charge, to change the style of your Chair Horse. If you really want to mix it up, he also has an enchanted ring for sale that will change the style of your chair horse every 15 seconds.

### Loading Screens

Expand Down Expand Up @@ -102,6 +102,8 @@ Download and install with Vortex and the FOMOD installer will take care of the r

This mod should be placed somewhere after the [Unofficial Skyrim Special Edition Patch](https://www.nexusmods.com/skyrimspecialedition/mods/266) and before any mods that change NPC behaviors.

Load this mod after [Immersive Citizens - AI Overhaul SE](https://www.nexusmods.com/skyrimspecialedition/mods/173) if you have it installed. If not, there may be some AI pathing issues near Herman Miller Stables.

## User Guide

Visit the NPCs, have a chat, interact with them!
Expand Down
Binary file modified Seq/MarkekrausSentientChairsOfSkyrim.seq
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3 changes: 1 addition & 2 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ $OutputScriptPath = Join-Path $BasePath 'scripts'
$OutputScriptSourcePath = Join-Path $BasePath -ChildPath 'source' -AdditionalChildPath 'scripts'

$ArchivePath = Join-Path $SkyrimInstallPath 'tools' 'archive','archive.exe'
$ArchiveCmd = Get-Command $ArchivePath
$FuzExtractorPath = Join-Path $Config.UnfuzerPath "Fuz_extractor.exe"
$FuzExtractorCmd = Get-Command $FuzExtractorPath
$XWmaEncodePath = Join-Path $Config.UnfuzerPath "xWMAEncode.exe"
$XWmaEncodeCmd = Get-Command $XWmaEncodePath

Expand Down Expand Up @@ -257,6 +255,7 @@ if(Test-Path $VoiceBasePath) {
if ((Test-Path $HashFile) -and (Test-Path $FuzFile)) {
$oldHash = Get-Content $HashFile -TotalCount 1
if ($currentHash -eq $oldHash) {
Write-Host "No change. Skipping..."
Pop-Location
continue
}
Expand Down
5 changes: 3 additions & 2 deletions buildConfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"UnfuzerPath": "D:\\Steam\\steamapps\\common\\Skyrim Special Edition\\Tools\\unfuzer",
"ModInfo": {
"Name": "Sentient Chairs of Skyrim (SCOS)",
"Version": "2.0.2",
"Version": "3.0.0",
"Author": "Mark E. Kraus",
"Description": "Adds a race of Sentient Chairs native to Skyrim.",
"Website": "https://www.nexusmods.com/skyrimspecialedition/mods/59604",
Expand All @@ -21,7 +21,8 @@
"MEKSCOSSnugglebottomsDeath",
"MEKSCOSMESetChairOutfitScript",
"MEKSCOSTIF__06000AA6",
"MEKSCOSTIF__06000AAA"
"MEKSCOSTIF__06000AAA",
"MEKSCOSTIF__06000B32"
],
"Meshes": [
"actors\\chair\\character assets\\chairhorseskeleton.nif"
Expand Down
1 change: 1 addition & 0 deletions fomod/ModuleConfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
<file source="source\scripts\MEKSCOSMESetChairOutfitScript.psc" destination="source\scripts\MEKSCOSMESetChairOutfitScript.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000AA6.psc" destination="source\scripts\MEKSCOSTIF__06000AA6.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000AAA.psc" destination="source\scripts\MEKSCOSTIF__06000AAA.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000B32.psc" destination="source\scripts\MEKSCOSTIF__06000B32.psc" priority="0" />
</files>
<typeDescriptor>
<type name="Optional"/>
Expand Down
2 changes: 1 addition & 1 deletion fomod/info.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<fomod>
<Name>Sentient Chairs of Skyrim (SCOS)</Name>
<Author>Mark E. Kraus</Author>
<Version>2.0.2</Version>
<Version>3.0.0</Version>
<Website>https://www.nexusmods.com/skyrimspecialedition/mods/59604</Website>
<Description>Adds a race of Sentient Chairs native to Skyrim.</Description>
<Groups>
Expand Down
Binary file modified scripts/MEKSCOSMESetChairOutfitScript.pex
Binary file not shown.
Binary file added scripts/MEKSCOSTIF__06000B32.pex
Binary file not shown.
25 changes: 24 additions & 1 deletion source/scripts/MEKSCOSMESetChairOutfitScript.psc
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,31 @@ Scriptname MEKSCOSMESetChairOutfitScript extends activemagiceffect

FormList Property MEKSCOSHorseChairOutfitList Auto
GlobalVariable Property MEKSCOSCurChairOutfitListItem Auto
GlobalVariable Property MEKSCOSChairHorseStyleSwapIntervalSeconds Auto
ReferenceAlias Property Alias_Horse Auto
EffectShader Property DA02ArmorShadow Auto
bool Property IsConstant Auto

bool KeepUpdating = false

Event OnUpdate()
If (KeepUpdating)
ChangeChairOutifit(Alias_Horse.GetActorRef())
RegisterForSingleUpdate(MEKSCOSChairHorseStyleSwapIntervalSeconds.GetValue())
EndIf
EndEvent

Event OnEffectStart(Actor akTarget, Actor akCaster)
ChangeChairOutifit(Alias_Horse.GetActorRef())
If (IsConstant)
KeepUpdating = true
RegisterForSingleUpdate(MEKSCOSChairHorseStyleSwapIntervalSeconds.GetValue())
Else
ChangeChairOutifit(Alias_Horse.GetActorRef())
EndIf
EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster)
KeepUpdating = false
EndEvent

Function ChangeChairOutifit(Actor akTarget)
Expand All @@ -15,6 +36,8 @@ Function ChangeChairOutifit(Actor akTarget)
currentIndex = 0
EndIf
Debug.Trace(Self + ": Applying outfit index '" + currentIndex + "'")
DA02ArmorShadow.Play(akTarget, 0.25)
Utility.Wait(0.20)
akTarget.SetOutfit(MEKSCOSHorseChairOutfitList.GetAt(currentIndex) as Outfit)
MEKSCOSCurChairOutfitListItem.SetValueInt(currentIndex + 1)
EndFunction
21 changes: 21 additions & 0 deletions source/scripts/MEKSCOSTIF__06000B32.psc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 1
Scriptname MEKSCOSTIF__06000B32 Extends TopicInfo Hidden

;BEGIN FRAGMENT Fragment_0
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
Game.GetPlayer().RemoveItem(Gold001, MEKSCOSRingOfChairHorseChangingCost.value as int)
Game.GetPlayer().AddItem(MEKSCOSRingOfChairHorseChanging, 1)
;END CODE
EndFunction
;END FRAGMENT

;END FRAGMENT CODE - Do not edit anything between this and the begin comment

GlobalVariable Property MEKSCOSRingOfChairHorseChangingCost Auto

MiscObject Property Gold001 Auto

Armor Property MEKSCOSRingOfChairHorseChanging Auto

0 comments on commit a253710

Please sign in to comment.