dskyrimmods


Project maintained by tonywu7 Hosted on GitHub Pages — Theme by mattgraham

DougDoug Skyrim Mods

Poster

A reproduction of the various Elder Scrolls: Skyrim mods that DougDoug has used in his Twitch streams:

Contents

Requirements

Download & Install

Download it as a .zip file, then install it like you would for any other mods from sites such as Nexus Mods. (Use of a mod manager, such as Vortex or Mod Organizer 2, is highly recommended.)

Note: If this is the first time you are using SKSE, be sure to install it correctly, and be sure to launch your game using SKSE’s executable instead of the original one.

A concise tutorial on how to download, install, and start the game using SKSE can be found here.

(This mod is currently not published to other sites.)

Usage

After installing the mod, you will find three spell tomes in your inventory:

Each will teach you a spell that when used enables the respective effect for 1 hour.

Dovah-Claus

For 3600s, spawn a selected object at a rate of 10 items per second.

If you can’t see the demo, visit this repo’s GitHub Pages instead.

To use this spell, find an object you would like to spawn, such as a cheese wheel. Then, cast the spell while targeting that object with the crosshair in the center of your screen (when the game prompts for interactions such as “pick up”). The object you were targeting will begin spawning in front of you.

The effect will expire in 1 real-life hour. To stop the object from spawning, cast the spell while not targeting any object. A notification will say “No object selected” and the spawning will stop.

Note that the “object” that you can spawn can be anything that could be interacted with, including food, potions, weapons, misc. items such as baskets and cups, ingredients, critters (e.g. insects and flora), animals and creatures, NPCs, and usable furnitures such as chairs, doors, and alchemy tables.

Multipliers: The amount of objects spawned each second is affected by perks, potions, clothings, and abilities targeting your Illusion magic, such as dual casting and Fortify Illusion potions, at the time you cast this spell:

Icarus’ Curses

For 3600s, any NPCs/animals/creatures hitting another will push the hit target away with a force proportional to the target’s weight.

To use this spell, simply cast it anywhere. The effect will be applied to every NPCs, animals, and creatures in the world (technically not everyone, see details below).

The effect will expire in 1 real-life hour. To cancel it early, wait for at least 24 hours in game.

Base power: Instead of applying the same force to every actors being hit, the script will scale the force in proportion to the victim’s weight. This is so that large “objects” such as Giants and Dwarven Centurions will have approximately the same initial acceleration as smaller ones such as humans.

Multipliers: Additionally, how fast the actor being hit will fly away is affected by the following:

Note that:

Chaos Conjuration

For 3600s, any NPCs/animals/creatures hitting another will change the target into a random race/species.

To use this spell, simply cast it anywhere. The effect will be applied to every NPCs, animals, and creatures in the world.

The effect will expire in 1 real-life hour. To cancel it early, wait for at least 24 hours in game.

This spell does not work on dead bodies, nor does it affect fall damage.

Races/species: Currently this spell will choose from one of the following races/species:

Argonians, Bears, Bretons, Chaurus Reapers, Chauruses, Chickens, Cows, Dark Elves (Dunmer), Draugrs, Dwarven Centurions, Dwarven Spheres, Frost Trolls, Giants, Hagravens, High Elves (Altmer), Horkers, Horses, Ice Wraiths, Khajiits, Mudcrabs, Orcs (Orsimer), Sabre Cats, Skeevers, Skeletons

You can use Creation Kit to add/remove species from the FormList object DWRaceList to change what can be spawned.

Maintaining stats/combat states: When an actor changes race, their health/magicka/stamina will be restored to the same percentage with respect to the new species’ maximum stats (as opposed to the same absolute value which was how Doug implemented it). Additionally, if the actor was in combat before race change, their combat status will be restored as well.

Known Issues

This mod has not been rigorously tested. There is no guarantee that it will work or that it won’t break your saves.

Implementation Details

Dynamically applying magic effects

Skyrim does not have the ability to find/track every NPCs in a room/in the world (at least not without additional tools such as PapyrusUtil). To be able to apply the spells to as many actors as possible, the Icarus’ Curses spell and the Chaos Conjuration spell are designed to self-replicate like a virus (which may or may not be how Doug’s scripts work).

For the most part it follows the “cloak spell” method described in the Dynamically Attaching Scripts tutorial from the Creation Kit wiki:

  1. When your character casts the spell, an invisible cloak is created around your character (using the same mechanism as the Fire Cloak spell in the game).
  2. When another actor (NPC/animal/creature) comes into contact with the cloak, two things happen:
    • A script will run which adds the desired effect (on hit fly away/race change) to the actor;
    • The same invisible cloak effect from step 1. is added to the actor as well.
  3. This process then repeats whenever any actor comes into contact with any “cloaks” as long as they don’t already have the effect, spreading the effect farther and farther away.

To demonstrate using the Frenzy spell (not in this mod):

Applying forces

Pushing an actor away when they are hit is done using the function ObjectReference.PushActorAway() when they are alive, and ObjectReference.ApplyHavokImpulse() when they are dead.

The force applied is simply a base value multiplied by the actor’s weight, accessed through ObjectReference.GetMass(). This is assuming that Skyrim’s physics engine (Havok) follows Newton’s second law of motion F = ma.

Acknowledgement

All credit of creativity goes to Doug for coming up with these hilarious ideas. Go sub a Dug!