
You are viewing a potentially older version of this package. View Latest Version
VikingLove
18+. Vikings who skip their pants get a little more realistic, and there is a new way to greet a friend up close. Best discovered in game.VikingLove
18+ only. This mod contains adult content. If that is not for you, do not install it.
Everything else is best discovered in game. Short version:
- Vikings who go without pants get a little more realistic.
- Walk up to a friend, look at them, press E. Press E again when you are done. Which side you approach from matters.
- There is also a chat command. Type
/jerkand find out. - It does not have to be a friend.
Every player on the server needs the mod. The dedicated server does not.
Install
- r2modman / Thunderstore Mod Manager: install like any other mod.
- Manual: unzip into
BepInEx/plugins/swats-VikingLove/. Keep the.objand.wavfiles next to the DLL.
A config file appears at BepInEx/config/swats.valheim.vikinglove.cfg after the first run.
Every key is described inside it.
Spoilers
Stop here if you want the surprise.
.
.
.
.
.
What it actually does
- No pants, no secrets. Any player with an empty leg slot shows a low-poly, deliberately exaggerated penis in the game's art style. It uses the player's own skin texture and colour, so it matches whatever you picked at character creation. Put pants on and it disappears.
- Make love. Look at another player and press E. They freeze and bend over, you snap in behind them and thrust, a moaning sound plays for everyone nearby, and both of you see "Love is in the air. Your pierce skill is slowly increasing." Both participants gain one level per 100 seconds in the Spears skill while it lasts. Either player presses E to stop. It also stops if someone dies, teleports, walks away, or after 30 seconds. The prompt only appears while your own pants are off. Chains work: if a friend is already busy behind someone, you can get behind the friend, and so on. Only a player whose rear is not yet taken can be chosen. From the front the prompt becomes "Go down on": you kneel and service them instead. The person at the front of a chain can be taken from behind and serviced from the front at the same time. Kneelers cannot be chained. When any session in a group runs its full duration, the whole group finishes together, so late joiners get Rested too.
- Creatures. Anything alive can be taken from behind: enemies, deer, your tamed boar, bosses. It stops fighting, its health drains over the session (kept at 1 until the end), and a full-length session kills it with the usual finish. You line up with the top of its rear legs, or its pelvis, or the lower rear of its body when the rig has neither. Config section Enemies has the switches and a per-second drain cap for boss fights.
- Size varies with skin colour. Lightest skin gets 90% of the base size, darkest gets 110%.
- Relax emote. With pants off, the relax emote makes the left hand stroke it.
The
/jerkchat command does the same on demand, during any emote or while moving, speeds up over 10 seconds and ends with the spray. Type it again to cancel early. - Physics. It sways when you run and bounces when you land.
- Finish line. Let a session run its full 30 seconds and both of you get Rested for 10 minutes, a screen shake, sparkles, a message, and five seconds of spray from both tips. Pressing E early gives nothing.
Custom sound
Every file named moan*.wav next to the DLL is loaded and one is picked at random each time.
Add, remove or replace files freely (8/16/24/32-bit PCM WAV). No rebuild needed.
Config
| Section | Key | Default | Notes |
|---|---|---|---|
| Genitals | Enabled | true | Automatic when the leg slot is empty |
| Genitals | ShowOnFemaleModels | true | |
| Genitals | Scale | 1.0 | 0.2 to 3.0 |
| Genitals | ForwardOffset / UpOffset / TiltDegrees | 0.06 / -0.06 / 20 | Position tuning |
| Genitals | UseBodyShader | true | Set false if it renders black or pink |
| Genitals | FlipWinding | false | Set true if it looks inside-out |
| Genitals | FlatShading | false | Faceted instead of smooth |
| Genitals | SizeAtLightestSkin / SizeAtDarkestSkin | 0.9 / 1.1 | Size by skin colour |
| Genitals | LightestSkinLuminance / DarkestSkinLuminance | 1.0 / 0.25 | Calibration for the above |
| Genitals | SkinToneOverride | (empty) | Hex colour to force the base tone |
| Love | Enabled | true | |
| Love | StartDistance | 3.0 | Metres |
| Love | CoupleDistance | 0.50 | Gap behind the partner |
| Love | OralDistance / OralHeadBob / KneelEmote | 0.55 / 0.07 / kneel | Kneeling partner placement and motion |
| Enemies | Enabled / AllowTamed / IncludeBosses | true / true / true | Who counts |
| Enemies | AnchorHeightFraction | 0.35 | Fallback anchor height on unnamed rigs |
| Enemies | DrainPercentPerSession / DrainCapPerSecond / KillOnFinish | 100 / 0 / true | Health drain |
| Love | MaxDurationSeconds | 30 | 0 = no limit |
| Love | ThrustRate / ThrustAmplitude | 2.2 / 0.13 | Per second / metres |
| Love | BendDegrees | 70 | Partner bend-over angle |
| Love | InitiatorLeanDegrees | 12 | Initiator forward lean |
| Love | AimDownDegrees | 10 | Extra downward aim during a session |
| Love | ReceiverScale | 0.4 | Receiving partner's mesh size, dangling |
| Emote | StrokeEnabled / StrokeEmote / StrokeRate | true / relax / 2.6 | Left-hand stroke during the emote |
| Emote | JerkEnabled / JerkSeconds / JerkFinishMessage | true / 10 / Phew. | The /jerk command |
| Bounce | Enabled / Stiffness / Damping | true / 90 / 5 | Spring physics |
| Bounce | LandingGain / RunGain / MaxDegrees | 2.5 / 6 / 40 | Kick strength and swing limit |
| Love | FinishEnabled / FinishRestedMinutes / FinishMessage | true / 10 / Refreshed! | Reward for a full-length session |
| Love | RequirePantsDown | true | Prompt only with your own pants off |
| Love | PartnerYawDegrees | -20 | Partner turn while pinned, negative = left |
| Love | SoundVolume / SoundRange | 1.0 / 30 | |
| Love | SkillLevelsPerTenSeconds | 0.1 | 0 = off |
| Love | FinishSpraySeconds | 5 | 0 = off |
| Love | SkillName | Spears | Any SkillType name |
| Love | StartMessage | Love is in the air... | Center-screen text |
Credits
- Sound: "Screaming loudly at the hardcore gay sex penetration in a hotel" by SexyMaleMuscle on Freesound, https://freesound.org/people/SexyMaleMuscle/sounds/795355/. Licensed under CC BY-NC 4.0. Changes: trimmed to seconds 50 to 90, converted to mono 22.05 kHz WAV, compressed and normalized, fade in and fade out added.
- Model and textures were generated for this mod.
This mod is free and non-commercial. Do not sell it or bundle it in anything sold.