
Glider
Utility-slot gliding and a weathered Windstone launch pad with saved angles and landing protection.Glider 0.1.13 — Windstone detail pass, launch angles and Windborne
Test build compiled against the supplied Valheim assemblies. No in-game or multiplayer validation has been performed for this version.
Install
Close Valheim. Replace your previous Glider plugin with plugins/Glider.dll. Remove duplicate older Glider.dll / KiteGlider.dll copies. Keep your existing config.
The plugin, Glider item and launch-pad prefab IDs are retained. Existing pads should use the larger model after reload; they now occupy about 2.2 × 4 metres, so check surrounding clearance. New pads are under Hammer → Misc → Windstone Launch Pad. The build-menu icon remains the temporary wooden-floor icon.
Material and model pass
- Preserves the broad sloped stone silhouette and pointed front (+Z).
- Extends the stone to 4 metres, roughly two 2m wooden floors end-to-end. Longitudinal snap points were extended as well.
- Adds coarse painted slate, mineral, crack and moss textures embedded in the DLL.
- Adds real recessed rune channels: stone is cut away above the dim glow, rather than drawing the rune over an intact surface.
- Enlarges the native Greydwarf eye, Surtling core and feather decorations; adds visible socket rims, core brackets and rope wraps.
- The stone and channels contain 448 rendered triangles, plus the bindings, glyphs and reused game-item geometry. The smooth collision mesh has 46 triangles, ignoring small grooves so walking remains practical.
- Combines the small binding meshes by material to reduce draw calls.
The textures are newly authored for this model. The ingredient decorations reuse the game's static meshes/materials without item scripts or colliders. This is an interpretation of the concept, not a pixel-identical recreation.
Angles and hover controls
Look at the pad:
- E / Use: launch, while standing on the pad with the Glider equipped in the utility slot.
- Shift+E / Alternate placement + Use: cycle 45° → 60° → 75° → 90°. The hover text displays your actual bound inputs and current angle.
- Angles are elevation above horizontal. 45° launches forward and upward; 90° launches straight up. Rotate the whole pad when building to aim the forward direction.
- The selected angle is stored on that pad's network object. Existing pads start at 90°.
- The rune changes between directional chevrons and a circular vertical-launch glyph. The channels stay physically carved; their active glow pattern changes.
- This is a hover interaction menu, not a separate mouse-driven dialog.
The owning peer processes angle changes. The caller checks ward access; requests must correspond to a nearby player. Multiplayer synchronization and save/reload still need live testing.
Windborne landing protection
Every successful launch applies Windborne, shown using the feather status icon. It prevents fall damage only, including if you close or unequip the Glider during that flight. Other damage remains unchanged.
Protection is removed after the first landing's damage calculation, with a brief takeoff-contact guard. It also clears on death, teleporting, swimming or attaching to another object. There is no fixed duration cutting short a long glide. Switching launch angles does not grant the buff; only a successful launch does.
Launch behavior and recipe
- Requires an equipped Glider and at least 1 stamina.
- No fuel/eitr cost; normal gliding still drains stamina.
- Three-second cooldown per player across all pads.
- Checks headroom and the ascending ballistic path for terrain/building obstacles before launching. It does not guarantee an unobstructed flight after takeoff or along the descending path.
- Press jump after launch to deploy. Opening early preserves the upward portion of the impulse.
- Pad recipe unchanged: 20 Wood, 10 Stone, 2 Surtling Cores; nearby workbench.
- Glider recipe unchanged: level 3 workbench; 20 Wood, 10 Feathers, 6 Deer Hide, 8 Leather Scraps, 2 Surtling Cores.
In BepInEx/config/angell.kiteglider.cfg, the retained [LaunchPad] UpwardSpeed key now controls total launch speed along the selected angle (default 18 m/s). CooldownSeconds defaults to 3. The angle is saved per pad, not in this config. Config values are local and not server-synchronized.
In-game checks
- Place a pad in a clear area. Inspect moss, cracks, mounts, feathers and the recessed rune from above and the sides.
- Cycle all four angles; confirm hover text and glowing glyph change together.
- Launch at 45° and 90°, with and without opening the Glider. Confirm the Windborne icon appears after launch and disappears after landing.
- Equip a belt during flight and confirm the Glider closes while Windborne remains until landing.
- Put a wall in the angled launch path; verify the pad refuses a blocked launch.
- Save/reload and confirm the angle persists. Test another player's view later with the same mod version on all clients and server.
Send LogOutput.log and screenshots if the materials or mounts do not look right. Native ingredient orientation and glow, shader appearance, launch feel, status lifecycle and network behavior require these live checks.
Source and build
source/build.ps1 builds using your own Managed and BepInEx/core directories. No game assemblies are distributed. model-source/build_windstone.py deterministically regenerates the carved mesh, two textures and rune paths using Python, NumPy, Pillow and Shapely 2.1+.
Build: 0 errors, 2 known framework reference-version warnings. Static verification checks the plugin identity/version, retained IDs, embedded resources, game API targets, complete carved-surface coverage and closed collision topology. See BUILD-VERIFICATION.txt. These checks do not substitute for runtime testing.