5 Screenshots
About This File
NO PART OF THIS MOD MAY BE USED IN PAID MODS OR MODS BEGGING FOR DONATIONS
This 3-axis (2 linear and 1 rotary axis) CNC (Chimpanzee Numerical Control) Dwemer device was used to bake cookies by the Dwemer. Then some bloody dwarves started stealing cookies and they were branded by the same device with the hot iron end. Oh the irony.
You can put a character into the stocks and brand it (a slave is an "it", right?). Branding locations are configured via a script and the branding marks are done with SlaveTats.
The device is in Markarth, near the gallows
To test it without a savegame type
coc MarkarthMines
or
coc xxbrandingdungeon
from the main menu
To place a npc, type help zbfslave and add 1 by typing
player.placeatme xxxxxxx
You can talk to npcs with ZAZ restraints and order them to get into the stocks if they are in the same cell/closer than OVER 9000 units. Or you can use spells:
Take 2 spellbook from the table and read them. You can cast the "put into stocks" spell on a char to make it go to the stocks. Then you can activate the device. Now, you really want to wear headphones for that!!!!! A menu will appear with where you can choose what part of the body to brand.
Use the "remove from stocks" the spell on a slave that's in stocks already it will leave the stocks. Better don't save the game while someone is in the stocks.
The current offsets are for 7Base and FavouredSouls (branding marks on male parts don't show up so they're not available in the menu)
UPDATING:
If you saved your game with previous version
Disable the .esp
run the game, save
Nuke old version from orbit
check your save with SaveTool for xxBranding.... scripts if they are there, nuke them too
Install new version
Manual mode for testing and stuff:
V0.20+ - it's in the menu. to see the coordinates type
help onRR
V0.11
hepl xxbThere's a manual mode where you can set coordinates in the console and the device will go almost everywhere, for that type
xxBrandingIronTranY - how far to go forward (50 is usually enough)
xxBrandingIronTranZ - how far to go up (0 - starting height, 50 - belt area, 100 - face)
xxBrandingStocksRotZ - stocks and slave rotation in degrees
These values will be overwritten when you pick a body part from the menu.
Example of how to use it in a mod... lol
; 0 - brandingdungeon ; 1 - markarth ; 2 - whiterun int devnum devnum=2 ; use this when the actor is outside of stocks clearactive() ; slave in testcell ;Actor youractor = Game.GetFormFromFile(0x00001857, "BrandingDeviceOfDoom.esp") As Actor ;slave in markarth Actor youractor = Game.GetFormFromFile(0x00006F0E, "BrandingDeviceOfDoom.esp") As Actor ;^^^^^ ;!!!!USE YOUR OWN ACTOR!!! moveActorToStocks(devnum,youractor) ;to brand the left breast with "slave" brandexternal(devnum,youractor, 11) ;this will brand the crotch with "slave" brandexternal(devnum,youractor, 2) ;this will brand the left breast with "tramp" tatoo from slavetats brandexternalsetname("Tramp (left breast)","General") brandexternal(devnum,youractor, 11) ;the iron will brand the left breast ; these combine several tats in 1 dds, ; so you can set name to something bogus and move the iron to different places several times or something brandexternalsetname("Slave Mark: 0_","Slaves of Tamriel") brandexternal(devnum,youractor, 11) brandexternalsetname("Slave Mark: _1","Slaves of Tamriel") brandexternal(devnum,youractor, 11) brandexternalsetname("Ownership","Slaves of Tamriel") brandexternal(devnum,youractor, 11) ; BATCH MODE!! int ctmp=2 while (ctmp<20) if(ctmp!=3 && ctmp!=8) brandexternal(devnum,youractor, ctmp) endif ctmp+=1 endwhile moveActorOut(devnum,youractor)copy paste this stuff into your code ===========================================================
;[0]="SlaveF (Lnip)" ;[1]="SlaveF (Rnip)" ;[2]="SlaveF (Crotch)" ;[3]="SlaveF (Butthole)" ;[4]="SlaveF (Forehead)" ;[5]="SlaveF (LAss)" ;[6]="SlaveF (RAss)" ;[7]="SlaveF (Belly)" ;[8]="SlaveF (Cunt)" ;[9]="SlaveF (LUnderboob)" ;[10]="SlaveF (RUnderboob)" ;[11]="SlaveF (LTopboob)" ;[12]="SlaveF (RTopboob)" ;[13]="SlaveF (LCheek)" ;[14]="SlaveF (RCheek)" ;[15]="SlaveF (TopBack)" ;[16]="SlaveF (LCalf)" ;[17]="SlaveF (RCalf)" ;[18]="SlaveF (LThigh)" ;[19]="SlaveF (RThigh)" ;[30]="SlaveM (Lnip)" ;[31]="SlaveM (Rnip)" ;[32]="SlaveM (Balls)" ; doesn't work with slavetats ;[33]="SlaveM (Butthole)" ;[34]="SlaveM (Cock)" ;; doesn't work with slavetats ;[35]="SlaveM (Forehead)" ;[36]="SlaveM (LAss)" ;[37]="SlaveM (RAss)" ;[38]="SlaveM (Crotch)" ;[39]="SlaveM (LCheek)" ;[40]="SlaveM (RCheek)" ;[41]="SlaveM (TopBack)" function moveActorToStocks(int DeviceNum, Actor slaveactor) Spell spellputintostocksSELF if(DeviceNum==0) ;test cell spellputintostocksSELF = Game.GetFormFromFile(0x0000641B, "BrandingDeviceOfDoom.esp") As Spell elseif(DeviceNum==1) ;markarth spellputintostocksSELF = Game.GetFormFromFile(0x00006EFD, "BrandingDeviceOfDoom.esp") As Spell elseif(DeviceNum==2) ;whiterun spellputintostocksSELF = Game.GetFormFromFile(0x00002E3F, "BrandingDeviceOfDoom.esp") As Spell endif spellputintostocksSELF.Cast(slaveactor,slaveactor) ;slaveactor.EvaluatePackage() waitwhilenotactive() endfunction function moveActorOut(int DeviceNum, Actor slaveactor) Spell spellremovefromstocksSELF if(DeviceNum==0) ;test cell spellremovefromstocksSELF = Game.GetFormFromFile(0x0000641D, "BrandingDeviceOfDoom.esp") As Spell elseif(DeviceNum==1) ;Markarth spellremovefromstocksSELF = Game.GetFormFromFile(0x00006F03, "BrandingDeviceOfDoom.esp") As Spell elseif(DeviceNum==2) ;whiterun spellremovefromstocksSELF = Game.GetFormFromFile(0x00002E43, "BrandingDeviceOfDoom.esp") As Spell endif spellremovefromstocksSELF.Cast(slaveactor,slaveactor) ;slaveactor.EvaluatePackage() endfunction function brandexternal(int DeviceNum, Actor slaveactor, int bodypositionnumber) ;Markarth ObjectReference stocks= Game.GetFormFromFile(0x00006EF1, "BrandingDeviceOfDoom.esp") As ObjectReference Quest questbdod = Game.GetFormFromFile(0x00001854, "BrandingDeviceOfDoom.esp") As Quest ;; alias that is linked to the STOCKS IN THE CELL (alias # in the quest) linked in xxBrandingVStocks script ;0 -test cell ;6 - markarth ;19 -whiterun ReferenceAlias slavealias GlobalVariable gstartdevice if(Devicenum==0) slavealias = questbdod.getalias(0) as ReferenceAlias gstartdevice = Game.GetFormFromFile(0x00005EB6, "BrandingDeviceOfDoom.esp") As GlobalVariable ;Markarth elseif (Devicenum==1) slavealias = questbdod.getalias(6) as ReferenceAlias gstartdevice = Game.GetFormFromFile(0x00006EF8, "BrandingDeviceOfDoom.esp") As GlobalVariable elseif (Devicenum==2) slavealias = questbdod.getalias(19) as ReferenceAlias gstartdevice = Game.GetFormFromFile(0x000028D2, "BrandingDeviceOfDoom.esp") As GlobalVariable endif ;6EF8 - Markarth ;5EB6 - testcell ; ;; location on on the body, see the list above GlobalVariable gpositionnumber = Game.GetFormFromFile(0x0000594D, "BrandingDeviceOfDoom.esp") As GlobalVariable gpositionnumber.setvalue(bodypositionnumber) ;;branding device OnUpdate will pick it up gstartdevice.setvalue(1) waitwhilebusy()endfunctionfunction brandexternalsetname(string strname, string strsection) Game.SetGameSettingString("sDefaultMessage", strname) Game.SetGameSettingString("sPCControlsTextNone", strsection) GlobalVariable goverridenames = Game.GetFormFromFile(0x0000594E, "BrandingDeviceOfDoom.esp") As GlobalVariable goverridenames.setvalue(1) endfunctionfunction clearactive() GlobalVariable gstocksactivated= Game.GetFormFromFile(0x00007486, "BrandingDeviceOfDoom.esp") As GlobalVariable gstocksactivated.setvalue(0)endfunctionfunction waitwhilenotactive() Utility.wait(3) GlobalVariable gstocksactivated= Game.GetFormFromFile(0x00007486, "BrandingDeviceOfDoom.esp") As GlobalVariable int stocksact=gstocksactivated.getvalue() as int while(stocksact==0) stocksact=gstocksactivated.getvalue() as int Utility.wait(1.0) endwhile gstocksactivated.setvalue(0)endfunctionfunction waitwhilebusy() Utility.wait(3) GlobalVariable gbusy= Game.GetFormFromFile(0x00001DC0, "BrandingDeviceOfDoom.esp") As GlobalVariable int busy=gbusy.getvalue() as int while(busy==1) busy=gbusy.getvalue() as int Utility.wait(1.0) endwhileendfunction
F.A.Q.:
Q: Hey I see that your mod requires Deadly Mutilation, I really don't want Deadly Mutilation...????
A: you don't need to enable deadlymutilation.esp
Requirements:
Zaz Animation Pack 6.04+by Zaz, Xaz and others http://www.loverslab.com/topic/17062-zaz-animation-pack-2015-02-10/
SKSE, http://skse.silverlock.org
Sexlab Framework by Ashal and others http://www.loverslab.com/topic/16623-skyrim-sexlab-sex-animation-framework-v159c-updated-oct-3rd/
Deadly Mutilation by Lamer1000 and others http://www.nexusmods.com/skyrim/mods/34917 <<<< you don't need to enable deadlymutilation.esp, just copy the mod into \data
SlaveTats by murfk http://www.loverslab.com/topic/25398-slavetats/
skyuilib - only if the menu doesn't show up http://www.nexusmods.com/skyrim/mods/57308/
Credits:
^^^ aforementioned mods & authors ^^^
some sounds are from Player Slave Encounters by Ichabod (sound resources by Walther) http://www.loverslab.com/topic/15074-player-slave-encounters-v0694-updated-23-aug-14/
Known issues:
2 male branding marks don't show up.
Player character can't get out (stuck in collision with zaz vertical stocks?)
What's New in Version 0.43
Released
- 0.43
- - added a device to Whiterun near the smelter
- - my Skyrim got screwed up and the new menu won't show up, so now everyone will suffer with the old menu
- 0.40
- - changed clumsy skyrim menus to SkyUIlib menu
- 0.35
- - NPCs can be told to go to the branding stocks and get out via dialogue (might need to save and load game)
- - Additional cell with the branding device can be accessed from Solitude, Whiterun, Windhelm, Riften, Dawnstar, Falkreath, Morthal jails. Look for a door in those jails.
- - A few more sound effects......
- 0.31
- - I screwed up the navmesh in 0.30 in Markarth near the stocks
- 0.30
- - added the device near the gallows in Markarth
- 0.25 - beta
- - added stuff to use any slavetats tatoo (via script)
- - you may be able to try to use this device from another mod
- 0.20 - beta
- - player can be branded
- - small menus for low resolution screens
- - more spots can be branded
- 0.11
- - had to unpack SlaveTats related textures from bsa or they wouldn't be loaded
- 0.1 - beta
