Skyrim Special Edition

File information

Last updated

Original upload

Created by

dunkd00d

Uploaded by

dunkd00d

Virus scan

Safe to use

Tags for this mod

About this mod

Magical Blink is a hotkey-based teleportation move. Because it is powered by hotkeys, the teleport can be performed while standing, running, jumping or falling. The indicator is visible in the air and changes when colliding with another object. Featuring many customization options.

Requirements
Permissions and credits
Translations
  • Mandarin
Changelogs
Overview

Magical Blink allows the Dragonborn to execute unparalleled stealth movement. The player can teleport above a target, behind a target or completely disappear in an instant.

Unlike other blink mods, this mod is powered by hotkeys so the teleport can be performed without having to equip and cast a spell. This means the teleport can occur while standing, walking, running, swimming and even while jumping and falling.

If updating from 1.0, please double-check the requirements as they have changed slightly.



Features

  • The player can freely aim while moving , including walking, running, swimming, jumping and falling.
  • Blink aiming indicator is visible in the air.
  • Blink aiming indicator highlights NPCs when they are targetted.
  • Supports first person and third person use.
  • Four choices for teleportation indicator.
  • Magicka usage may be customized.
  • Toggleable audio and visual options.
  • Adjust dash length and speed.
  • Support for hotkeys using dTry KeyUtils.
  • Edit INI through the MCM using INI File Manipulator.
  • Created to have a cohesive look and feel with Magical Jumping. (*Magical Jumping is recommended, but not required.)
  • Does not require .NET framework.
  • New in 1.1: Slow motion! The player may set two different amounts of time dilation in the MCM. The first controls how much time slows while blinking. The second controls how much time slows while aiming.
  • New in 1.1: Sneak attacks! Blinking toward an NPC can now cause a sneak attack. The sneak attack is a paired animation that causes damage. Conditions for a sneak attack and damage amount are all customizable through the MCM.
  • New in 1.1: The indicator now uses a single mesh that scans around the screen instead of using a series of meshes placed by explosions. This reduces ghosting and handling.
  • New in 1.1: Improved collision with ledges and improved placement. This makes it much easier to blink upwards on top of ledges.
  • New in 1.1: Improved MCM settings for hotkeys.


How to Use

  • Press and hold the dash hotkey while aiming the indicator with the mouse.
  • Release the dash hotkey to teleport to the indicator.
  • The dash may be cancelled by pressing the cancel hotkey.
  • The dash length may be shortened/lengthened by pressing the distance hotkey.


Installation

  • Make sure all requirements are installed.
  • Download this mod and install through your mod manager, selecting either OAR or DAR.
  • Apply recommended tweaks as desired.
  • Configure the mod in the MCM.
  • Set your hotkeys in the MCM.
  • Enjoy!
  • If you use True Directional Movement, you may want to install the optional patch that allows for the indicator to be aimed freely with the mouse while in third person with weapons drawn.


Updating

  • A clean install is recommended due to the use of scripts and the possibility of old variables/scripts being baked into a save file.
  • If you wish to update from an older version on an existing save, please perform a basic clean save procedure.
Spoiler:  
Show

(1) Go to a quiet interior location. (2) Save the game. (3) Uninstall Magical Blink. (4) Launch the game, wait 30 seconds, verify that Blink is not operational and save again. (5) Open Resaver and clean the new save (remove unattached instances and undefined elements). You can also search for MJ_Blink.esp and try to manually remove any remnants. (6) Install the latest Magical Blink.



MCM Configuration

Audio
  • Toggle blink sounds.

Visual
  • Toggle blink visuals.
  • Select indicator color.

Magicka
  • Set amount of magicka used to blink and threshold amount required to blink.

Gameplay
  • Set blink distance.
  • Set time taken to blink (this is the speed of the blink).
  • Amount of time dilation. How much time slows down while blinking. This effects how the blink feels to the player.
  • Amount of time dilation while aiming. How much time slows down while aiming. See TDM tweak below.

Sneak Attack
  • Set the conditions for performing a successful sneak attack. This acts as a difficulty setting.
  • Is the level difference between the player and the target too great?
  • Does the target have line-of-sight on the player?
  • Is the target currently targetting the player in combat?
  • Is the target non-hostile to the player?
  • Is the target already in combat?
  • Is the target searching/aware of the player?
  • Will the sneak attack not cause lethal damage? This is forced on for certain enemy  types. See the Known Issues section for more details.
  • Spoiler:  
    Show
    


  • Set the variables for calculating sneak attack damage. All damage values are numeric. Lethal damage is not guaranteed.
  • Damage is the product of base weapon strength, weapon skill, sneak skill and target alert status (in combat, aware, unaware).

Hotkeys
  • Set separate hotkeys for Keyboard+Mouse and for Gamepad. Changing the blink key requires a restart.

Troubleshooting
  • Use this in case of unexpected behavior to reset the player's animation and mod variables.


Tweaks

Free Rotation
  • I recommend use of True Directional Movement (TDM) and the patch for TDM.
  • To improve mid-air aiming with time dilation, enable the TDM option to "Ignore Slow Time" when calculating player rotation.
  • Spoiler:  
    Show
    
Improved Papyrus Responsiveness
  • To increase responsiveness of Papyrus and Magical Blink, I recommend use of Papyrus Tweaks NG.
  • Tune the Papyrus engine by editing the following records in the PapyrusTweaks.ini.
Spoiler:  
Show
iMaxOpsPerFrame = 750
bSpeedUpNativeCalls = true

  • If you want to try more aggressive tuning, you may also edit the following record in the PapyrusTweaks.ini:
Spoiler:  
Show
sScriptMethodPrefixesToExclude = Activate, Add, Advance, Allow, Attach, Apply, Block, Cast, Change, Clear, Close, Complete, Create, Damage, Disallow, Dismount, Dispel, DoCombatSpellApply, Draw, Drop, End, Equip, Evaluate, Fade, Fail, Fire, Force, GetAnimation, GetQuest, Hide, Hold, Ignore, Increment, Keep, Kill, Knock, Learn, Load, Lock, Mod, Mute, Open, Place, Play, Pop, Precache, Process, Push, Queue, Quit, Regenerate, Release, RemoteCast, Remove, Request, Reset, Restore, Resurrect, Revert, Save, Say, Send, Serve, Set, Shake, Sheath, Show, Start, Stop, Teach, TempClone, Tether, Toggle, Trap, Trigger, Try, Unequip, Unlock, UnMute, UnPause, Update

  • Please note: Tweaking the Papyrus engine is merely a recommendation, and is not required. If you attempt this tweak, please back up your INI files. The tweaks are presented as is without any promise of working. Anyone who follows these tweaks does so by assuming all risks inherent with modifying the game, including without limitation instability, crashing, corrupted game files and corrupted save games.


Videos

Please enjoy these videos showcasing the features of Magical Blink.

[NEW VIDEO INCOMING]




FAQ & Known Issues

Below is a list of known issues. Before reporting an issue, please check here.
Spoiler:  
Show

  • The sneak attack feature currently repurposes vanilla killmove behavior. Some enemy types (races) cannot be reset after a killmove is played. Those types include draugr, dwarven automatons, falmers, giants, sabrecats and skeletons. Until I am able to create a Nemesis patch to add new sneak attacks into the game, the lethal damage condition will be applied for the affected enemy types.
  • Aiming the blink indicator in first person follows the camera frustum (i.e., the trapezoid that emanates from the player). Aiming the blink indicator in third person generally follows the player character's Z-axis rotation, which is controlled differently when using True Directional Movement. Without any weapons drawn, the Z-axis rotation changes while the player is moving. With melee weapons drawn, the Z-axis rotation changes while the player is moving, but the blink indicator can also move up and down while standing still--use the optional patch to override this behavior. With a ranged weapon drawn and aimed, the look direction is tied to the camera frustum so that blink indicator aiming is essentially free just as it is when aiming in first person. (*All testing done with True Directional Movement enabled).
  • Activator model is culled by room bounds. When in an interior space and holding the blink button, moving from one room boundary to another will stop the rendering of the indicator. Because each blink creates a new object reference, pressing the blink button again will create a new object reference tied to the current room bound and cause the indicator to be rendered again. There is no obvious way to detect when a player moves between room bounds or to detect when an object's 3D is culled. One solution would be to perform a polling method that refreshes the indicator periodically. This solution creates a lot of overhead and an unpleasant strobing and delay. I am investigating the use of a multibound that moves with the activator to enable its display at all times across boundaries.
  • In third person, traversing room bounds can cause the projectile cast direction to diverge widely from the player's look direction. This is likely due to the effect of a portal.
  • Sheathing weapons may cause the projectile cast direction to diverge from the center of the camera frustum (first person) or the player's Z-rotation direction (third person). To resolve this, simply unsheathe weapons.
  • Indicator may be invisible at long distances if using a weather mod with heavy fog.
  • Indicator jitters when aimed into the distance (i.e., when it doesn't hit a solid object). I am still investigating the root cause of this bug. It is likely a bug in Skyrim's engine, but I might still be overlooking something. I have attempted to spatiotemporally filter motion, but the Papyrus virtual machine introduces too much latency for realtime filtering. A SKSE plugin will likely be required to overcome the issue entirely. The current workaround is to limit the translation speed of the indicator. Empirical observation shows that values from 20,000-100,000 are suitable. Advanced users may select a value through the console: set MJ_MCM_IndicatorSpeed to X.
  • On rare circumstances an indicator may get left in the environment. This is harmless since there is no script attached. You can remove the indicator by opening the console (~), clicking on the indicator and typing "disable" without quotes.
  • Placement of the player character at a hit actor is currently naive. The mod will attempt to place the character at a position between the hit actor and the player character's current position. This might place the player over a ledge or it might simply place hte player at a different elevation than the hit actor. Assuming all conditions for a kill move to play, poor positioning will negatively impact the ability of the kill move to play. Future versions will attempt to place the player character more intelligently in a position where a kill move can be played.



Credits