Jump to content

Werewolf Transformation; Custom Werebeast spell


Campaigner

Recommended Posts

Huge Edit: With the assistance of gulogulo, I have succeeded in creating a custom werebeast transformation, fully capable of feeding and fighting like a werewolf. Major thanks to gulogulo! I hope this thread persists in time so that, in the future if someone needs to learn the same thing, this will be there for them to learn from.

 

 

Hello nexus. I come bearing a question on lycanthropy, and how I can manage to bend it to how I want it to work.

 

With Dragonborn HOPEFULLY coming soon to PC, the first thing that I want is a Werebear mod, but not some ridiculous model replacer for werewolves; I want a legitimate NEW transformation spell. So, here's what I'm getting at; where do I start in making a custom transformation script? I'm completely dumb when it comes to scripts and quests, so I'd love to simply make a Were-something spell that works without having done any quests. Looking at the various scripts and quests for Beast Form, I can't quite wrap my head around it.

 

So, could someone help me learn this? It's not covered in the CK wiki, as far as I can tell, and the old proverb "if you want it done right, do it yourself" applies to what I'm aiming to have ready for Dragonborn. So far, I've found this from the PlayerWerewolfQuest that everything points to:

 

Scriptname PlayerWerewolfScript extends ReferenceAlias  


Race Property WerewolfBeastRace auto

Event OnRaceSwitchComplete()
if (GetActorReference().GetRace() == WerewolfBeastRace)
; 		Debug.Trace("WEREWOLF: Getting notification that race swap TO werewolf is complete.")
	(GetOwningQuest() as PlayerWerewolfChangeScript).StartTracking()
else
; 		Debug.Trace("WEREWOLF: Getting notification that race swap FROM werewolf is complete.")
	(GetOwningQuest() as PlayerWerewolfChangeScript).Shutdown()
endif
EndEvent

 

I can already see here that I change WerewolfBeastRace to whatever race I want. That much I am sure of. Looking further at the PlayerWerewolfQuest data, most of it is something I can simply swap around to make match whatever race I want. Judging by some of the stuff found by searching "PlayerWerewolf", most scripts won't let me view their source, such as the script for feeding.

 

 

And here is where I'm stumped. Where should I start on making this mod? Edit the quest, fix scripts, or what? As I've said, I'm very dumb when it comes to all this, so help is VERY much appreciated, especially if it's explained for a dumb person (me) to understand.

 

EDIT: I've gotten it down to where I have a separate beast form spell, completely independent from the companions beast form. Just gotta get an alternate mesh to appear.

 

EDIT 2: Been at this for a long while, still can't figure it out. It's almost 4 am here, so I'm gonna get some rest. Hopefully someone can shed some insight on this topic, because it sucks not being able to make something nice that isn't just texture editing.

 

EDIT 3: Following gulogulo's suggestion of looking at his mod for inspiration and learning purposes. I'll be posting my progress here so that, if in the future someone wants to do the same thing, they can find help.

Edited by Campaigner
Link to comment
Share on other sites

You can take a look at my mon Nature of he beast 2. I have implemented 2 custom transformation spells and 2 custom races: Alpha werewolf and Green bane. My approach was to copy all quests and scirpts from vanilla werewolf and then tweak it to my likening. Should be a good start.

 

That being said in my opinion you should consider first what you want to implement. My custom races differ drastically from vanilla werewolf and from each other ni terms of the gameplay. How would your werebear differ from vanilla werewolf? Is the a point in doing such new beast any other than simply using other graphical resources? What kind of animation it would use?

Link to comment
Share on other sites

I was planning to make the werebear more of a tank. It's been shown to use the same animations as a werewolf, as well as sounds, so it would be, in essence, a model swap at its base form. The stats I was going to give it, however, are going to favor health and stamina rather than damage and speed. A werewolf can be killed almost too easily, considering the lack of armor and health. The werebear I want to make will have much higher health and stamina, but a drastic drop in damage and a move speed penalty (like heavy armor gives). I know it sounds rather simple, but that's my goal; a simple mod that provides a tankier transformation for longer living.

 

I'll definitely look into your mod to see if I can understand how to make a custom transformation. I'm not looking to do anything script-heavy, but something simple.

 

EDIT: Wow, lots of complex changes in the scripts. I don't know what to do with those. All of them cause errors in loading the scripts when I try to read them, and reading them in notepad is confusing as well.

Edited by Campaigner
Link to comment
Share on other sites

While taking gulogulo's advice, I've been reading through his mod, and writing down everything I see changed in the order that seems like a proper heirarchy. Here's what I have so far;

 

1. Duplicate WerewolfBeastRace
2. Open the duplicated race
3. Under General Data, choose the Specials (Abilities), and change Copied Data to WerewolfBeastRace
4. Close the window, save progress.
5. Search for SkinNakedWerewolfBeast, and duplicate it
6. Search for NakedTorsoWerewolfBeast, and duplicate it
7. Open NakedTorsoWerewolfBeastDUPLICATE, and select your biped model for both genders. 
8. Select your custom race under Additional Races. Leave the Race alone at the top. Close.
9. Open SkinNakedWerewolfBeastDUPLICATE, and add your NakedTorsoWerewolfBeastDUPLICATE. Delete the original.
10. Go back to your new race, and select Body Data. Change Skin to your new skin.
11. Close the window, and save.
12. Search for PlayerWerewolfQuest, and duplicate it.
13. Open PlayerWerewolfQuestDUPLICATE, go to Quest Aliases tab, double click the Player alias, right click PlayerWerewolfScript, and edit source.
14. Copy it all, and create a new script of the same effect with your own name. Delete the previous installment of PlayerWerewolfScript, and keep yours.
15. Close window, and save.
16. Search for WerewolfChangeFXEffect, and duplicate it. 
17. Open the duplicate, and create a new script. It extends ActiveMagicEffect
18. Right click WerewolfTransformVisual, and edit source. Copy EVERYTHING to notepad. Close the open script.
19. In Notepad, find the line "CompanionsHousekeepingScript chs = (PlayerWerewolfQuest as PlayerWerewolfChangeScript)"
20. Change PlayerWerewolfQuest and PlayerWerewolfChangeScript to match your quest and script from earlier.
21. Find the line "PlayerWerewolfQuest.SetStage(1)" and change the quest to your quest.
22. Right click your new script, and edit source. Paste the altered script into the script editor, compile, and save.
23. Edit the properties. Change PlayerWerewolfQuest to your quest, and WerewolfRace to your race.
24. Close the properties window, and save your magic effect. Save the file.
25. Search for WerewolfChangeEffect, and duplicate it.
26. Open WerewolfChangeEffectDUPLICATE, and create a new script.
27. Use the following script:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Scriptname &YOURSCRIPTNAMEHERE& extends activemagiceffect  

{Scripted effect for the werewolf change}



;======================================================================================;
;               PROPERTIES  /
;=============/

Quest Property &YOURQUESTHERE& auto

Spell Property VFXSpell auto 

Race Property Werewolf  Auto  

GlobalVariable Property PlayerWerewolfShiftBackTime  Auto  

Actor Property Player  Auto  




;======================================================================================;
;               EVENTS                     /
;=============/

Event OnEffectStart(Actor Target, Actor Caster)

if Player.GetRace() != Werewolf
	&YOURQUESTHERE&.Start()
	VFXSpell.Cast(Target)
else
	PlayerWerewolfShiftBackTime.SetValue(1.0)
endif

EndEvent
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
28. Replace &YOURQUESTHERE& with the exact id of your quest. Change &YOURSCRIPTNAMEHERE& to whatever your script's ID is.

 

Here's where I stopped, because editing the scripts continued to provide many errors. I could not see the properties used for his mod's scripts, which makes it tough to write down what else is needed. Gotta say, I respect a person who can make all this stuff without a sweat. The common man (me) really needs to work his rear off just to barely understand this stuff.

 

EDIT: I worded that badly. I don't mean that I'm giving up, just that I'm stuck. This is hard for me to understand. I've got a degree in graphic design, and that didn't teach a thing about complex scripting for games, haha.

Edited by Campaigner
Link to comment
Share on other sites

Unpack the bsa file from my mod using BSAopt (google it) and copy the scripts to your Skyrim\Data folder. This will enable you to see properties.

 

I've actually done this already. The problem arises when I do try to view the unpacked scripts, be it in Notepad, Notepad ++, or in the Creation Kit. It says "Errors encountered while attempting to reload the script." The scripts up to what I posted work, but after that this error pops up. Every time. In notepad, the text comes up as black boxes with gibberish like NOL.

Edited by Campaigner
Link to comment
Share on other sites

I did indeed extract them incorrectly. Good call there.

 

Off an on, I've been doing this all day. I'm still so very lost on where to start. Looking at what I wrote down, some things don't add up or show later than I pointed out. Gonna have to rewrite a chunk of this, bleh.

 

EDIT: Finished writing it all down. That was...oddly less than I expected. I copied down what changes I saw for your Alpha Werewolf, and below is what I saw as the heirarchy:

 

1. Duplicate WerewolfBeastRace
2. Open the duplicated race
3. Under General Data, choose the Specials (Abilities), and change Copied Data to WerewolfBeastRace
4. Close the window, save progress.
5. Search for SkinNakedWerewolfBeast, and duplicate it
6. Search for NakedTorsoWerewolfBeast, and duplicate it
7. Open NakedTorsoWerewolfBeastDUPLICATE, and select your biped model for both genders. 
8. Select your custom race under Additional Races. Leave the Race alone at the top. Close.
9. Open SkinNakedWerewolfBeastDUPLICATE, and add your NakedTorsoWerewolfBeastDUPLICATE. Delete the original.
10. Go back to your new race, and select Body Data. Change Skin to your new skin.
11. Close the window, and save.
12. Search for PlayerWerewolfQuest, and duplicate it.
13. Open PlayerWerewolfQuestDUPLICATE, go to Quest Aliases tab, double click the Player alias, right click PlayerWerewolfScript, and edit source.
14. Copy it all, and create a new script of the same effect and properties, but with your own name. Delete the previous installment of PlayerWerewolfScript, and keep yours.
15. Close window, and save.
16. Search for WerewolfChangeEffect, and open it.
17. Create a new script that extends ActiveMagicEffect.
18. Use the following script:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;======================================================================================;
;               PROPERTIES  /
;=============/

Quest Property PlayerWerewolfQuest auto

Spell Property VFXSpell auto 

Race Property Werewolf  Auto  

GlobalVariable Property PlayerWerewolfShiftBackTime  Auto  

Actor Property Player  Auto  




;======================================================================================;
;               EVENTS                     /
;=============/

Event OnEffectStart(Actor Target, Actor Caster)

if Player.GetRace() != Werewolf
	PlayerWerewolfQuest.Start()
	VFXSpell.Cast(Target)
else
	PlayerWerewolfShiftBackTime.SetValue(1.0)
endif

EndEvent
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19. Replace both instances of PlayerWerewolfQuest with your quest.
20. Change the properties of your script to match the old script. Replace any Werewolf properties with your edits of the same name. Ignore VFXSpell for now.
21. Close the window, and save.
22. Search for WerewolfChangeFXEffect, and duplicate it. 
23. Open the duplicate, and create a new script. It extends ActiveMagicEffect
24. Right click WerewolfTransformVisual, and edit source. Copy EVERYTHING to notepad. Close the open script.
25. In Notepad, find the line "CompanionsHousekeepingScript chs = (PlayerWerewolfQuest as PlayerWerewolfChangeScript)"
26. Change PlayerWerewolfQuest and PlayerWerewolfChangeScript to match your quest and script from earlier.
27. Find the line "PlayerWerewolfQuest.SetStage(1)" and change the quest to your quest.
28. Right click your new script, and edit source. Paste the altered script into the script editor, compile, and save.
29. Edit the properties. Change PlayerWerewolfQuest to your quest, and WerewolfRace to your race.
30. Close the properties window, and save your magic effect. Save the file.
31. Search for WerewolfChangeEffect, and duplicate it.
32. Open WerewolfChangeEffectDUPLICATE, and create a new script.
33. Use the following script:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Scriptname &YOURSCRIPTNAMEHERE& extends activemagiceffect  

{Scripted effect for the werewolf change}



;======================================================================================;
;               PROPERTIES  /
;=============/

Quest Property &YOURQUESTHERE& auto

Spell Property VFXSpell auto 

Race Property Werewolf  Auto  

GlobalVariable Property PlayerWerewolfShiftBackTime  Auto  

Actor Property Player  Auto  




;======================================================================================;
;               EVENTS                     /
;=============/

Event OnEffectStart(Actor Target, Actor Caster)

if Player.GetRace() != Werewolf
	&YOURQUESTHERE&.Start()
	VFXSpell.Cast(Target)
else
	PlayerWerewolfShiftBackTime.SetValue(1.0)
endif

EndEvent
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
34. Replace &YOURQUESTHERE& with the exact id of your quest. Change &YOURSCRIPTNAMEHERE& to whatever your script's ID is.
35. Open WerewolfChangeFXEffect, and edit source of the werewolftransformvisual script.
36. Find the following lines and edit accordingly: 
"Quest Property PlayerWerewolfQuest auto"
- Change PlayerWerewolfQuest to your quest from step 13.
"CompanionsHousekeepingScript chs = (PlayerWerewolfQuest as PlayerWerewolfChangeScript).CompanionsTrackingQuest as CompanionsHousekeepingScript"
- Change PlayerWerewolfQuest to your quest from step 13.
- Change PlayerWerewolfChangeScript to your script from step 18.
37. Compile and save the script.
38. Change the script's properties to match the original script, replacing Werewolf properties with yours of the same name.
39. Search for the perk PlayerWerewolfFeed, and duplicate it.
40. Each of the perk entries will shift order every time they are edited, with three having the same name. Edit them to replace Werewolf-related objects with your objects, such as WerewolfRace with your race.
41. Go back to your edited WerewolfChangeEffect MGEF. Edit the VFXSpell to match your WerewolfChangeFXEffect MGEF.
42. Close the window, and save.
43. Search for WerewolfChange, and duplicate the Spell.
44. Open the duplicate, and change the name and ID.
45. Double Click Beast Form in the Effects window, and change the Effect to your WerewolfChangeEffect MGEF.
46. Close the window, and save.

 

Did I get any of this wrong, or did I miss anything? I'm simply going for a duplicate Werewolf form with custom racials, not something as grand as your Green Bane, so if I missed something, I'd greatly appreciate it being pointed out. It's 2 am and I probably shouldn't be trying this, but I'm determined to get this working. I do greatly appreciate your help, and I greatly appreciate that you let me sift through the scripts you made to work on this.

Edited by Campaigner
Link to comment
Share on other sites

Well, the only way to find out if you have done everything well it to compile your mod and try it out :) What I can point out at this stage is that I didint copy graphical resources for my Alpha werewolf. I only copied racee, quest, perk and lesser powers/abilities and tweaked them accordingly. Simply try your mod. It may be tricky to get your werewolf to feed apppropriatly but its time to find it out the hard way and then to fix any bugs.
Link to comment
Share on other sites

Graphically, I'm in luck because the Werebear, which I aim to make when we get Dragonborn, literally is a Werewolf with a bear appearance, so that "work" is already done in the future.

 

Seeing as it's 5 am here, I won't do it right now. I will try this tomorrow, and will report any bugs I find in hopes that you can assist me in fixing them! Thanks for assisting me thus far.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...