Skip to content

Commit

Permalink
v4.2.0 - Add Summon Chair Horse Spell
Browse files Browse the repository at this point in the history
  • Loading branch information
markekraus committed Jan 10, 2022
1 parent 39b65c2 commit 73f4659
Show file tree
Hide file tree
Showing 16 changed files with 82 additions and 29 deletions.
23 changes: 15 additions & 8 deletions 3rd_Party_Notice.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,42 @@

The following Files are subject to 3rd Party Licensing.

* weapons\chair\1stpersonCommonChair02.nif
* meshes\weapons\chair\1stpersonCommonChair02.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonDaedricThrone01.nif

* meshes\weapons\chair\1stpersonDaedricThrone01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonDwarvenChair01.nif

* meshes\weapons\chair\1stpersonDwarvenChair01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonElvenChair01.nif

* meshes\weapons\chair\1stpersonElvenChair01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonGlassThrone01.nif

* meshes\weapons\chair\1stpersonGlassThrone01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonOrchishChair01.nif

* meshes\weapons\chair\1stpersonOrchishChair01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonThrone01.nif

* meshes\weapons\chair\1stpersonThrone01.nif
* Notes: Contains mesh from Skyrim
* License holder: Bethesda Softworks
* License: Can reuse with other Skyrim mods with permission from Mark E. Kraus. May not be used in other games.
* weapons\chair\1stpersonWoodenChair01.nif

* meshes\weapons\chair\1stpersonWoodenChair01.nif
* Notes: Borrowed and modified asset from "The Chair" mod
* License holder: XvomTheMad
* License: View mod page permissions
Expand Down
Binary file modified MarkekrausSentientChairsOfSkyrim.bsa
Binary file not shown.
Binary file modified MarkekrausSentientChairsOfSkyrim.esp
Binary file not shown.
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# Sentient Chairs of Skyrim (SCOS)

![Cheat Jewelry](logo.png)
![Sentient Chairs of Skyrim](logo.png)

A Skyrim Special Edition mod By Mark E. Kraus.

My mods:

* [Barstool Brawler](https://www.nexusmods.com/skyrimspecialedition/mods/61354)
* [Chairhammers - Chair Warhammers](https://www.nexusmods.com/skyrimspecialedition/mods/61304)
* [Chairrows - Chair Arrows](https://www.nexusmods.com/skyrimspecialedition/mods/61168)
* [Cheat Jewelry](https://www.nexusmods.com/skyrimspecialedition/mods/58973)
* [Cheat Powers](https://www.nexusmods.com/skyrimspecialedition/mods/58892)
* [Exit Combat Power](https://www.nexusmods.com/skyrimspecialedition/mods/58651)
Expand All @@ -15,8 +18,6 @@ My mods:

This mod adds a sentient race of chairs to the world of Skyrim.

The ESP for this mod is an ESP-FE.

This mod is intended to add a bit of humor to the game. It started as a joke between friends, but after rigging up a demo of a sentient chair and laughing hard, I decided to make this into a full mod.

I plan to add more Chair NPCs, a few quests, and possibly a dungeon.
Expand Down Expand Up @@ -66,7 +67,7 @@ Chair Hardness - Chairs have a natural armor that scales with the quality of the

Herman Miller descends from a long line of Skyrim hostlers. When the chairs of Skyrim began to absorb souls and become sentient, the Millers were able to create Chair Horses.

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.
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. After purchasing a Chair Horse, you will learn the "Summon Chair Horse" spell which will summon your Chair Horse to your current location.

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.

Expand All @@ -78,7 +79,7 @@ The chair weapons are warhammers, and each matches a warhammer from the base gam

* Common Chair (similar to Iron Warhammer)
* Wooden Chair (similar to Steel Warhammer)
* Orcish Chair (similar to Orchish Warhammer)
* Orcish Chair (similar to Orcish Warhammer)
* Dwarven Chair (similar to Dwarven Warhammer)
* Elven Chair (similar to Elven Warhammer)
* Glass Throne (similar to Glass Warhammer)
Expand Down Expand Up @@ -109,7 +110,7 @@ Download and install with Vortex and the FOMOD installer will take care of the r

### Manual

* Extract the 7z file using 7-Zip.
* Extract the Zip file.
* Copy the extracted `MarkekrausSentientChairsOfSkyrim.esp` and `MarkekrausSentientChairsOfSkyrim.bsa` files to the `data` folder under your Skyrim: Special Edition installation folder.
* Enable the plugin using whatever method you usually use.

Expand Down
2 changes: 1 addition & 1 deletion SentientChairsOfSkyrim.ppj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<Variables>
<!-- Set the name of your mod: -->
<Variable Name="ModName" Value="MarkekrausSentientChairsOfSkyrim" />
<Variable Name="ModFolder" Value="D:\Modding\MO2\mods\Dev- Sentient Chairs of Skyrim" />
<Variable Name="ModFolder" Value="D:\Modding\MO2\mods\Dev - Sentient Chairs of Skyrim" />
</Variables>
<Imports>
<Import>.\Source\Scripts</Import>
Expand Down
9 changes: 9 additions & 0 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ $XWmaEncodeCmd = Get-Command $XWmaEncodePath

$Plugin = $Config.Plugin
$PluginPath = Join-Path $BasePath $Plugin
$BsaName = $Plugin -replace '\.esp$', '.bsa'
$ZipName = $Plugin -replace '\.esp$', '.zip'

$VoiceBasePath = Join-Path $BasePath 'Sound' 'Voice',$Plugin

Expand All @@ -69,8 +71,15 @@ VoiceBasePath: $VoiceBasePath
FuzExtractorPath: $FuzExtractorPath
XWmaEncodePath: $XWmaEncodePath
PluginPath: $PluginPath
BsaName: $BsaName
ZipName: $ZipName
"@

if (Test-Path $ZipName) {
Write-Host "Deleting $ZipName"
Remove-Item -Force $ZipName
}

$PluginXmlTemplate = @'
<plugin name="{0}">
Expand Down
27 changes: 14 additions & 13 deletions fomod/ModuleConfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,20 @@
<description>Installs script sources.</description>
<image path="logo.png" />
<files>
<file source="source\scripts\MEKSCOSNoteTriggerQuest.psc" destination="source\scripts\MEKSCOSNoteTriggerQuest.psc" priority="0" />
<file source="source\scripts\QF_MEKSCOSQuestSentientChair_06000A14.psc" destination="source\scripts\QF_MEKSCOSQuestSentientChair_06000A14.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000A05.psc" destination="source\scripts\MEKSCOSTIF__06000A05.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000884.psc" destination="source\scripts\MEKSCOSTIF__06000884.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000885.psc" destination="source\scripts\MEKSCOSTIF__06000885.psc" priority="0" />
<file source="source\scripts\MEKSCOSTIF__06000886.psc" destination="source\scripts\MEKSCOSTIF__06000886.psc" priority="0" />
<file source="source\scripts\MEKSCOSSnugglebottomsDeath.psc" destination="source\scripts\MEKSCOSSnugglebottomsDeath.psc" priority="0" />
<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" />
<file source="source\scripts\MEKSCOSModInitialization.psc" destination="source\scripts\MEKSCOSModInitialization.psc" priority="0" />
<file source="source\scripts\MEKSCOSOnPlayerLoadGame.psc" destination="source\scripts\MEKSCOSOnPlayerLoadGame.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSMESetChairOutfitScript.psc" destination="Source\Scripts\MEKSCOSMESetChairOutfitScript.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSModInitialization.psc" destination="Source\Scripts\MEKSCOSModInitialization.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSNoteTriggerQuest.psc" destination="Source\Scripts\MEKSCOSNoteTriggerQuest.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSOnPlayerLoadGame.psc" destination="Source\Scripts\MEKSCOSOnPlayerLoadGame.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSSnugglebottomsDeath.psc" destination="Source\Scripts\MEKSCOSSnugglebottomsDeath.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSSummonChairHorse.psc" destination="Source\Scripts\MEKSCOSSummonChairHorse.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSTIF__06000884.psc" destination="Source\Scripts\MEKSCOSTIF__06000884.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSTIF__06000885.psc" destination="Source\Scripts\MEKSCOSTIF__06000885.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSTIF__06000886.psc" destination="Source\Scripts\MEKSCOSTIF__06000886.psc" priority="0" />
<file source="Source\Scripts\MEKSCOSTIF__06000A05.psc" destination="Source\Scripts\MEKSCOSTIF__06000A05.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" />
<file source="Source\Scripts\QF_MEKSCOSQuestSentientChair_06000A14.psc" destination="Source\Scripts\QF_MEKSCOSQuestSentientChair_06000A14.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>4.1.0</Version>
<Version>4.2.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 modified scripts/MEKSCOSModInitialization.pex
Binary file not shown.
Binary file modified scripts/MEKSCOSNoteTriggerQuest.pex
Binary file not shown.
Binary file added scripts/MEKSCOSSummonChairHorse.pex
Binary file not shown.
Binary file modified scripts/MEKSCOSTIF__06000AA6.pex
Binary file not shown.
11 changes: 11 additions & 0 deletions source/scripts/MEKSCOSModInitialization.psc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ float Property StoredImmersiveWeaponsVersion = 0.0 Auto
float Property StoredBaseLeveledListsVersion = 0.0 Auto
float Property StoredValdacilsItemSortingVersion = 0.0 Auto

Spell Property MEKSCOSSummonChairHorseSpell Auto
ReferenceAlias Property Alias_Horse Auto
Faction Property PlayerHorseFaction Auto

int ItemsAdded = 0
int ItemsAttempted = 0
string ImmersiveWeapons = "Immersive Weapons.esp"
Expand All @@ -57,6 +61,7 @@ Function Maintenance()
UpdateBaseLeveledLists4_1()
UpdateImmersvieWeapons4_1()
UpdateValdacilsItemSorting4_1()
AddSummonHorseSpell()
Debug.Trace("[SCOS] =================Maintenance End===================")
EndFunction

Expand Down Expand Up @@ -353,4 +358,10 @@ Function UpdateValdacilsItemSorting4_1()
RenameWeaponValdacilsItemSorting(MEKSCOSWeapOrcishChair01)
RenameWeaponValdacilsItemSorting(MEKSCOSWeapWoodenChair01)
Debug.Trace("[SCOS] Valdacil's Item Sorting Names Set")
EndFunction

Function AddSummonHorseSpell()
If (Alias_Horse.GetActorRef().IsInFaction(PlayerHorseFaction) && !Game.GetPlayer().HasSpell(MEKSCOSSummonChairHorseSpell))
Game.GetPlayer().AddSpell(MEKSCOSSummonChairHorseSpell)
EndIf
EndFunction
21 changes: 21 additions & 0 deletions source/scripts/MEKSCOSSummonChairHorse.psc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Scriptname MEKSCOSSummonChairHorse extends activemagiceffect

ReferenceAlias Property Alias_Horse Auto
EffectShader Property DA02ArmorShadow Auto
Faction Property PlayerHorseFaction Auto

Event OnEffectStart(Actor akTarget, Actor akCaster)
If (Alias_Horse.GetActorRef().IsInFaction(PlayerHorseFaction))
Alias_Horse.GetActorRef().MoveTo(Game.GetPlayer(), 0, -200, 0)
DA02ArmorShadow.Play(Alias_Horse.GetActorRef(), 0.25)
if (!Game.GetPlayer().HasLOS(Alias_Horse.GetActorRef()))
Alias_Horse.GetActorRef().MoveTo(Game.GetPlayer(), 0, 200, 0)
EndIf
if (!Game.GetPlayer().HasLOS(Alias_Horse.GetActorRef()))
Alias_Horse.GetActorRef().MoveTo(Game.GetPlayer(), 200, 0, 0)
EndIf
if (!Game.GetPlayer().HasLOS(Alias_Horse.GetActorRef()))
Alias_Horse.GetActorRef().MoveTo(Game.GetPlayer(), -200, 0, 0)
EndIf
EndIf
EndEvent
3 changes: 3 additions & 0 deletions source/scripts/MEKSCOSTIF__06000AA6.psc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Game.GetPlayer().RemoveItem(Gold001, horsecost.value as int)
Alias_Horse.GetActorReference().SetFactionRank(PlayerHorseFaction, 1)
Alias_Horse.GetActorRef().SetFactionOwner(PlayerFaction)
PlayersHorse.ForceRefTo(Alias_Horse.GetActorRef())
Game.GetPlayer().AddSpell(MEKSCOSSummonChairHorseSpell)
game.IncrementStat( "Horses Owned" )
;END CODE
EndFunction
Expand All @@ -29,3 +30,5 @@ Faction Property PlayerFaction Auto
ReferenceAlias Property PlayersHorse Auto

GlobalVariable Property Horsecost Auto

Spell Property MEKSCOSSummonChairHorseSpell Auto

0 comments on commit 73f4659

Please sign in to comment.