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.
to go to branding dungeon type in the console
coc xxbrandingdungeon
to teleport the device to you type
set xxBDODTeleportToPC to 1
You need to be standing on even terrain
UPDATING:
If you saved your game with previous version
Disable the .esp
run the game, load your save
Delete old version
check your save with SaveTool for xxbranding.... scripts if they are there, delete them, save
Install new version
Load save
Manual mode for testing and stuff:
V0.20+ - it's in the menu. to see the coordinates type
help onRR
V0.11
There's a manual mode where you can set coordinates in the console and the device will go almost everywhere, for that type
hepl xxb
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: read their code lol http://www.loverslab.com/files/file/2338-slaverun-reloaded-10sep-2016/ http://www.loverslab.com/files/file/2928-shout-like-a-virgin/
THESE ARE VERY OLD EXAMPLES
version 0.46: You will have to make your own ways of getting slaves in and out of stocks since moveActorToStocks() and moveActorOut() won't work. All you need is a package of type SitTarget to make the slave get into the stocks and supply it with an ObjectReference... I hate packages
; 0 - brandingdungeon & this is the device that teleports ; 1 - markarth ; 2 - whiterun int devnum devnum=0 ; 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
To teleport BDOD with a script:
Place this in your script and call TPBDOD( reference from a cell in CK linked to your script property, adjust height relative to the floor)
objectReference function TPBDOD(objectReference targetRef, float bdodadjheight) ObjectReference stocks Quest xbQ=Game.GetFormFromFile(0x001854, "BrandingDeviceOfDoom.esp") As Quest objectReference bdodObjRef=(xbQ as xxbQuestScript).BdodInDungeonObjRef (bdodObjRef as xxBrandingDeviceScript).MoveBDODFromDungeonToObjRef(targetRef, bdodadjheight) ;25.0 stocks=(bdodObjRef as xxBrandingDeviceScript).BDODGetTPStocksRef(); debug.notification("stocks "+stocks) return stocksendfunction
targetRef is an objectreference that you put in a cell in CK and link to your script, like xmarkerheading, static object, actor, etc
The function returns an objectreference to the newly spawned stocks so you can put a slave into them.
Teleport with a console:
set xxBDODTeleportToPC to 1
Don't move for a few seconds
help xxbdod will list the proper variable names
There's a counter xxbdod... something that counts how many times the bdod was teleported which you can read to detect if any other mod has teleported it and now you have to teleport it back when the player enters your cell LOL
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 - for old versions 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.50
Released
- 0.50
- + 2 new *HOT* attachments
- - you have to delete the old version and clean the save file
- 0.47
- RECALL NOTICE:
- The College of Winterhold issues a recall notice in regards to teleportation scrolls sold in the last 3 months. There is a serious risk of permanent injury or fatality to the caster resulting from teleportation into walls or to the plane of Oblivion. After a thorough investigation, it was determined that the scribe has had cum in her eye when she was copying the scrolls and some symbols were written incorrectly. She has been severely reprimanded.
- 0.46
- + Less chance of getting stuck in the stocks. If PC still gets stuck, aim at the stocks and press "Use"
- + Branding device is now teleportable
- - You will have to put NPCs into stocks and get them out yourself with this version or wait forever till I fix it
- 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