SKYRIM
T3nd0s The Staff Machine by T3nd0
Skyrim » Magic - Spells & enchantments
Added: 31/12/2013 - 11:29PM
Updated: 30/03/2014 - 10:17AM

212 Endorsements

1.1 Latest version

2,576 Unique D/Ls

3,165 Total D/Ls

77,945 Total Views

Uploaded by T3nd0

Description

Last updated at 10:17, 30 Mar 2014 Uploaded at 23:29, 31 Dec 2013

T3nd0's The Staff Machine
- A machine for staves -

---====---


What does this mod do, in short?
- Create mage staves from many spells added by spell mods
- Create crafting recipes for every staff created, usable with Dragonborn's staff enchanter

What's cool about it?
- Since it's a SkyProc patcher, it adjusts to your load order

---====---


CONTENTS
> -1: Short description
> -0.5: CONTENTS
> 0: History and random gibberish
> 1: Long description
> 2: Installation and usage instructions
> 3: Configuration
> 4: Thanks
> 5: FAQ (random nonsense)

---====---

History and random gibberish

TSM is a standalone program born from Patchus Maximus, the companion patcher to Perkus Maximus.

Info on Perkus Maximus:
Skyrim Nexus Article
Official facebook page - follow for spoilers, paint art and random nonsense

Perkus Maximus will feature a more elaborate approach to mage staves, providing additional perks related to staff crafting and staff usage.

TSM, on the other hand, sticks close to Dragonborn's implementation. This means you'll need to do certain things in Dragonborn before being granted access to a crafting station, and recipes stick to Dragonborn's rules.

---====---

Long description

So yeah, what happens exactly when you run TSM? Here's what the algorithm does, step by step:

  1. Disable all old staff crafting recipes, unless they're excluded from being disabled
  2. >> Only affects recipes used on the staff enchanter. Recipes that use custom methods/crafting stations are unaffected.
  3. For each book in the game, check whether the book is a spell tome
  4. >> Spells not taught by books probably shouldn't be on a mage staff
  5. If so, get the spell, and check whether creating a staff would "make sense"
  6. >> "Makes sense" := Spell is not excluded, not self-targeted, does not carry a constant effect, and is not cast with both hands
  7. Create a staff, the enchantment the staff needs, and a recipe for the staff


---====---

Installation and usage instructions

Since staff crafting is a Dragonborn thing, Dragonborn is required.

More useful links:

Link to Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html
>> REQUIRED!

Tool for running multiple SkyProc patchers (like ASIS, Automatic Variants, etc) at once: http://skyrim.nexusmods.com/mods/29865/?

FAQ for SUM, including questions regarding BOSS: http://afterimagemetal.com/SkyProc/SUM%20Readme.html#BOSS

Highly recommened for XML editing: http://www.notepad-plus-plus.org

Good for pasting logs and XML: http://pastebin.com/

"Troubleshooting" section of Leviathan's Automatic Variants ReadMe: http://afterimagemetal.com/AutoVar/Automatic%20Variants%20Readme.html#troubleshooting
>> USEFUL! Covers issues you might come across with Java/Windows UAC.


Here's how to install TSM:

[Manual installation]
- Unpack the archive you downloaded from the nexus
- Move it into your Skyrim/Data folder

[NMM installation]
- Choose "Download with NMM" from this page
- Do whatever NMM tells you

Here's how you actually use TSM:

- Go to "Data/SkyProc Patchers/T3nd0_TheStaffMachine"
- Double-click the jar file or the Debug-Starter.bat
>> The jar will execute BOSS automatically once the patching commences. The debug starter will not do so, and it will generate logs useful for finding errors

- A window should open. Either close it or click the "Patch" button
>> To re-run the patcher later, activate the "Force patch on exit" checkbox nearby

Here's what you should do if you just can not get the patcher to work with your current load order, because it keeps delivering nothing but null pointer exceptions and the like:

1. Run the patcher on a minimal load order (Skyrim + Dragonborn) and verify it works.
2. Add mods one by one, and re-run the patcher after each addition.
3. Repeat 3 until you get a crash.
4. Congratulations, you found the culprit! Report back here.

---====---

Configuration

You can configure a few things by editing the Config.xml file found in the "xml" subfolder.

- Staff creation exclusion, based on book names

Imagine a druid mod using stone tablets to teach the player spells, with the stone tablets being implemented as reskinned spell books. The tablets carry names such as "Stone Tablet of Druidic Wrath".

In this situation, you'll very likely not want to have access to staves that include the spells, and ideally you want to create an exclusion that hits them all with minimal effort. This should be done here.

Search for

<staffCraftingExclusionBook>ExampleBook</staffCraftingExclusionBook>

and copy-paste this entry, creating a new entry right below it. Any book whose name contains ExampleBook will be ignored by the algorithm posted above. Replace ExampleBook with whatever you want; in this example, you'd enter "Stone Tablet" without quotation marks.



- Staff creation exclusion, based on spell names

Sometimes, you just want certain spells excluded, because they don't work on staves, or just because excluding stuff is fun.

Search for

<staffCraftingExclusionSpell>ExampleSpell</staffCraftingExclusionSpell>

and copy-paste this entry, creating a new entry right below it. Any spell whose name exactly matches ExampleSpell will be ignored by the algorithm posted above. Replace ExampleSpell with the spell name you don't want on a staff.



- "Don't break my staff recipe"-exclusion

Another mod might add a fancy staff that is only accessible by crafting, and thus the recipe should not be broken. Search for

<staffCraftingDisableCraftingExclusion>ExamplePleaseDoNotBreak</staffCraftingDisableCraftingExclusion>

and copy-paste this entry, creating a new entry right below it. A recipe whose result is a staff whose name perfectly matches ExamplePleaseDoNotBreak will not get disabled by TSM, so replace ExamplePleaseDoNotBreak with your desired staff's name.


- Created staff name

New staves follow this naming scheme:

$staffOutputString [$spellName]

$spellName is... the spell's name.
$staffOutputString is defined in the XML entry

<staffOutputString>Staff</staffOutputString>

If you're not running an English version of Skyrim, you likely don't want to use the default.

---====---

Thanks

Leviathan for doing that whole SkyProc thing I'm using, and for tolerating my constants demands lol.

---====---

FAQ (random Nonsense)

Q: Does it work with SkyRe?
A: I sure hope so lol.

Q: So this mod is basically just an ad for your new mod, right?
A: Yes.

Q: Will there be any serious questions in this FAQ below this line?
A: No.

Q: ANSWER TO THE CALL OF AN UNKNOWN FORCE
A: I'M GIVING ALL I COULD, STILL, BUT YOU WANT MORE

Q: Hey.
A: Hey.
Q: Can we talk?
A: Huh? ... well, ok. Let's go find a more comfortable place.
Q: Alright.

Q: Dude, seriously... I came here and I was totally like... dude. WTF Seriously...
A: Yeah, totally.

Q: Goku or Vegeta?
A: Broly, b***h.

Q: Goku or Vagenis?
A: Bro... what?

Q: Well, you want to see my vagenis?
A: O.o

Q: It's holiday season! Yay, funneeehh!!! What do you do in this merry time??? :D :D :D XDXDXD
A: I drink all day then cry until I fall asleep.

Q: <3?
A: <3!

A: So, what did you want to talk about?
Q: What do you think? I wanted to talk about the two of us, silly :3
A: I thought we settled that. You got all emotional, I offered you some friendly support, then you went all b***hmode and made weird remarks a la "Oh noes pls don't touch me inappropriately". ALL THE GODDAMN TIME
Q: I had to do that.
A: Why?
Q: Because ur a nasty pig! Keep your fingers to yourself, pig-man! :O
A: ...
Q: I'm going now, pervert!
A: :/

Q: Is Q-girl gone for good now?
A: No idea.

Q: How do you feel about her leaving you like that?
A: I don't care.
Q: Really? You do look kinda sad.
A:

Ain't no suuuuuuuuuuuuuunshine when she's gone
*sniff*
IT'S NOT WARM WHEN SHE'S AWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY
:'(


Q: Alright, come on over bro, I'll give you a manly hug?
A: Thanks man, I totally need that.
A: ...
A: Woah, your skin is kinda soft...
Q: Well u sure were fast to notice, pig-man! :< Stupid pervert!

Q: Welp, you smell like my old uncle Benjamin's armpits after a day-long walk through the damn rocky mountains!
A: I can't afford soap. Sorry sir.

Q: Have you heard about the word?
A: By "the word", do you refer to a certain avian entity, commonly referred to as "bird"?
Q: Lame.

Q: Brad
A: Pitt

Q: Braaaaaaaaaaaaaaaaaaaaaaaaaaad
A: Pitt

Q: .................. Brad.
A: Pitt

Q: Would you mind posting some random Naruto spoiler?
A: Obito becomes the Ten Tailed beast's Jinjuuriki (spelling)?

Q: I want to implement you in Java. Is there a construct that fits your real life personality?
A: I guess you could go with an anonymous class that overrides all the important methods with random crap. That's roughly how I work.
Q: Woah woah woah, that's some deep shit. Dude, you're messed up, aren't you?
A: Pitt

Q: Answer instantly! Best quote from song lyrics you come up with right now!
A: "On my way to a created perfection/I penetrate the gates of rejection"