Jump to content

[Discontinued] Paradise Halls - SexLab Extension v0.1g (15/05/06) (RC 0.6 fixed 16/03/18)


blabla11

Recommended Posts

 

rename the slave with jaxons renamer succeeded, but open the mcm to view the slave's stats and it still retains the original name so enslaving 2 ghosts and renaming 1 to ghost master using jaxons renamer and the mcm doesn't see the changes, no way of knowing ifph still recognized the slave after having renamed it so i used the restore button immediately, awaiting further suggestions, unless you think mod order will help it, currently i have paradise halls then jaxons real names then sl extextension

 

You can drop the Jaxonz Renamer tests. I'm using pinkys suggestion (well, the SetDisplayName(string newName) from SKSE) and have already implemented a slave renaming system through MCM ;)

 

I'll finish the "prettying up" tomorrow and push it for testing.

 

oh alright, that might actually fix having the renamer nuilt-in should fix any issues  by renaming the slave during the cloning process

sounds promising, can't wait

Link to comment

 

rename the slave with jaxons renamer succeeded, but open the mcm to view the slave's stats and it still retains the original name so enslaving 2 ghosts and renaming 1 to ghost master using jaxons renamer and the mcm doesn't see the changes, no way of knowing ifph still recognized the slave after having renamed it so i used the restore button immediately, awaiting further suggestions, unless you think mod order will help it, currently i have paradise halls then jaxons real names then sl extextension

 

You can drop the Jaxonz Renamer tests. I'm using pinkys suggestion (well, the SetDisplayName(string newName) from SKSE) and have already implemented a slave renaming system through MCM ;)

 

I'll finish the "prettying up" tomorrow and push it for testing.

 

 

Will one be able to customize the name or will it be random?

Link to comment

So... i've been experimenting with conbat slaves lately. While standard bandits are easy to acquire, more exotic combat slaves are much rarer. Which means I woul like to keep them. Unfortunately Skyrim's level scaling makes them obsolete quite quickly.

 

It would help if combat training would increase their level instead of just adding hitpoints (similar to the setlevel console command?). Maybe use some kind of formula for their level with combat training 0 = use original level the slave had when capzured and 100 = use a large fraction of player level (e.g. 80%).

 

Speaking of combat training, I find it very hard to improve it over 50 and almost impossible to improve it over 70. They never refuse to fight. Maybe they should gain a small amount (1-2%) of combat experience when they do fight. You know, gaining combat experience from actually fighting and not just from not fighting ;).

Link to comment

oh alright, that might actually fix having the renamer nuilt-in should fix any issues  by renaming the slave during the cloning process

 

sounds promising, can't wait

Will one be able to customize the name or will it be random?

It will be pure custom. The automatic rename was an idea I had to not have Bandits and Novice Necormancers. Since the new system looks very promising, I'll drop the random names completely and let the player choose.

 

So... i've been experimenting with conbat slaves lately. While standard bandits are easy to acquire, more exotic combat slaves are much rarer. Which means I woul like to keep them. Unfortunately Skyrim's level scaling makes them obsolete quite quickly.

 

It would help if combat training would increase their level instead of just adding hitpoints (similar to the setlevel console command?). Maybe use some kind of formula for their level with combat training 0 = use original level the slave had when capzured and 100 = use a large fraction of player level (e.g. 80%).

 

Speaking of combat training, I find it very hard to improve it over 50 and almost impossible to improve it over 70. They never refuse to fight. Maybe they should gain a small amount (1-2%) of combat experience when they do fight. You know, gaining combat experience from actually fighting and not just from not fighting ;).

Working on that. Sadly there is no setLevel() in Papyrus, so I'll have to come up with a manual leveling system...

I'll have to figure out how to trace each instance of slaves fighting instead of checking every update (is this the same fight or a new one as the last I polled?). I had hoped to have follower training done sooner, that would provide a good way to improve the training past certain thresholds...

Link to comment

So... i've been experimenting with conbat slaves lately. While standard bandits are easy to acquire, more exotic combat slaves are much rarer. Which means I woul like to keep them. Unfortunately Skyrim's level scaling makes them obsolete quite quickly.

 

It would help if combat training would increase their level instead of just adding hitpoints (similar to the setlevel console command?). Maybe use some kind of formula for their level with combat training 0 = use original level the slave had when capzured and 100 = use a large fraction of player level (e.g. 80%).

 

Speaking of combat training, I find it very hard to improve it over 50 and almost impossible to improve it over 70. They never refuse to fight. Maybe they should gain a small amount (1-2%) of combat experience when they do fight. You know, gaining combat experience from actually fighting and not just from not fighting ;).

 

to train them over 50 with the current system pair them with untrained slaves that won't fight yet, won't always work, but most times if the untrained slave was close enough to get the "should have fought tag" then  in most cases the dialog will be available to all the slaves (atleast this held true in earlier releases, unless he's altered that code since .028 i think that dates back to main ph), but at the same time only the first slave you ask will have it

 

 

oh alright, that might actually fix having the renamer nuilt-in should fix any issues  by renaming the slave during the cloning process

 

sounds promising, can't wait

Will one be able to customize the name or will it be random?

It will be pure custom. The automatic rename was an idea I had to not have Bandits and Novice Necormancers. Since the new system looks very promising, I'll drop the random names completely and let the player choose.

 

So... i've been experimenting with conbat slaves lately. While standard bandits are easy to acquire, more exotic combat slaves are much rarer. Which means I woul like to keep them. Unfortunately Skyrim's level scaling makes them obsolete quite quickly.

 

It would help if combat training would increase their level instead of just adding hitpoints (similar to the setlevel console command?). Maybe use some kind of formula for their level with combat training 0 = use original level the slave had when capzured and 100 = use a large fraction of player level (e.g. 80%).

 

Speaking of combat training, I find it very hard to improve it over 50 and almost impossible to improve it over 70. They never refuse to fight. Maybe they should gain a small amount (1-2%) of combat experience when they do fight. You know, gaining combat experience from actually fighting and not just from not fighting ;).

Working on that. Sadly there is no setLevel() in Papyrus, so I'll have to come up with a manual leveling system...

I'll have to figure out how to trace each instance of slaves fighting instead of checking every update (is this the same fight or a new one as the last I polled?). I had hoped to have follower training done sooner, that would provide a good way to improve the training past certain thresholds...

 

the current polling system of "should have fought" is already pretty heavy, until that's cleared up, it might not be good to add more combat polling, maybe instead tag along that same code "should have fought" tags and "fought" tags distributed respectively -  might even be easier to change That code's polling to test for "fought" instead of "should have fought" then determine who should have from what's left

 

as far as setting the level of the slaves, find out how follower mods like tweaked are able to level the followers everytime the player level is higher than the follower and use that as a basis for coding the slaves

Link to comment

to train them over 50 with the current system pair them with untrained slaves that won't fight yet, won't always work, but most times if the untrained slave was close enough to get the "should have fought tag" then  in most cases the dialog will be available to all the slaves (atleast this held true in earlier releases, unless he's altered that code since .028 i think that dates back to main ph), but at the same time only the first slave you ask will have it

That sounds like a bug to me...

 

the current polling system of "should have fought" is already pretty heavy, until that's cleared up, it might not be good to add more combat polling, maybe instead tag along that same code "should have fought" tags and "fought" tags distributed respectively -  might even be easier to change That code's polling to test for "fought" instead of "should have fought" then determine who should have from what's left

The polling is done every update cycle... Switching the order will actually increase load, since usually more slaves don't fight at any given cycle. So every time a cycle comes around, there'll be two checks instead of one (for most slaves).

Also I'd probably just set a boolean and as soon as the fight ends, I'll do the training calculation. LIES

So, I looked at the actual code and I'll switch around the checks. From

should_fight_for_player && !fights_for_player && Game.GetPlayer().IsInCombat() to

Game.GetPlayer().IsInCombat() && should_fight_for_player && !fights_for_player and hope Papyrus is smart enough to end the checks when one is False

 

 

Function TestShouldHaveFought()
    if should_fight_for_player && !fights_for_player && Game.GetPlayer().IsInCombat()
        next_punishment_reason = "didnt_fight"
        AddSD(PAHSDFailedToFight, 60)
    endif
EndFunction
Function TestShouldHaveFought()
    if Game.GetPlayer().IsInCombat() && should_fight_for_player
        if !fights_for_player
                next_punishment_reason = "didnt_fight"
                AddSD(PAHSDFailedToFight, 60)
       else
                bHasFought = true
       endif
    elseIf bHasFought
       TrainCombat(someValue)
       bHasFought = false
    endIf
EndFunction

 

 

 

 

as far as setting the level of the slaves, find out how follower mods like tweaked are able to level the followers everytime the player level is higher than the follower and use that as a basis for coding the slaves

Do you happen to know which follower mod releases their source code? I'm using UFO and they don't...

Link to comment

 

 

to train them over 50 with the current system pair them with untrained slaves that won't fight yet, won't always work, but most times if the untrained slave was close enough to get the "should have fought tag" then  in most cases the dialog will be available to all the slaves (atleast this held true in earlier releases, unless he's altered that code since .028 i think that dates back to main ph), but at the same time only the first slave you ask will have it

That sounds like a bug to me...

 

the current polling system of "should have fought" is already pretty heavy, until that's cleared up, it might not be good to add more combat polling, maybe instead tag along that same code "should have fought" tags and "fought" tags distributed respectively -  might even be easier to change That code's polling to test for "fought" instead of "should have fought" then determine who should have from what's left

The polling is done every update cycle... Switching the order will actually increase load, since usually more slaves don't fight at any given cycle. So every time a cycle comes around, there'll be two checks instead of one (for most slaves).

Also I'd probably just set a boolean and as soon as the fight ends, I'll do the training calculation. LIES

So, I looked at the actual code and I'll switch around the checks. From

should_fight_for_player && !fights_for_player && Game.GetPlayer().IsInCombat() to

Game.GetPlayer().IsInCombat() && should_fight_for_player && !fights_for_player and hope Papyrus is smart enough to end the checks when one is False

 

 

Function TestShouldHaveFought()
    if should_fight_for_player && !fights_for_player && Game.GetPlayer().IsInCombat()
        next_punishment_reason = "didnt_fight"
        AddSD(PAHSDFailedToFight, 60)
    endif
EndFunction
Function TestShouldHaveFought()
    if Game.GetPlayer().IsInCombat() && should_fight_for_player
        if !fights_for_player
                next_punishment_reason = "didnt_fight"
                AddSD(PAHSDFailedToFight, 60)
       else
                bHasFought = true
       endif
    elseIf bHasFought
       TrainCombat(someValue)
       bHasFought = false
    endIf
EndFunction

 

 

 

 

as far as setting the level of the slaves, find out how follower mods like tweaked are able to level the followers everytime the player level is higher than the follower and use that as a basis for coding the slaves

Do you happen to know which follower mod releases their source code? I'm using UFO and they don't...

 

 

Extensible Follower Framework does.

Link to comment

I have no idea if it will matter as far as code goes, but The read me for AFT says not compatible with hearthfire (waydown near the bottem if I remember right).

ummm, would that be not compatible with hearthfire npc's or some special incompatiblity

aft is the short named for tweaked -amazing follower tweaks i think is the full word for it

anyhow, i'm using aft for some time now with full dlc content, without any issues, atleast none  know of, unless there's something in hearthfire that has the issue

i could only say i've built the house in falkreath as far as hearthfire's concerned i've no clue what else it has

Link to comment

Having some trouble with the mod, im not sure why because it was working before.

Installing it starts up fine, adds the quest etc, I can capture a slave, change cells, enter a house, and there is no error. However on closing skyrim all of the slaves wont take orders, their inventory wont open, can't tell them to wait.

 

This is the related log entries, the two last errors repeat.

 

[04/04/2015 - 12:09:37PM] Cannot open store for class "PAHCageEffectScript", missing file?
[04/04/2015 - 12:09:37PM] Cannot open store for class "PAHEnduranceDepletedEffectScript", missing file?
[04/04/2015 - 12:09:40PM] Cannot open store for class "PAHSlaver", missing file?
[04/04/2015 - 12:09:45PM] [pah_mcm ] INITIALIZED
[04/04/2015 - 12:09:46PM] [pah_mcm ]: Registered Paradise Halls Extension at MCM.
[04/04/2015 - 12:10:04PM] ERROR: Cannot call IsRunning() on a None object, aborting function call
stack:
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.EnsureQuestStarted() - "pahbootstrapscript.psc" Line 263
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.RestartQuests() - "pahbootstrapscript.psc" Line 205
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.Boot() - "pahbootstrapscript.psc" Line 183
[None].PAHRebootScript.OnEffectStart() - "pahrebootscript.psc" Line 6
[04/04/2015 - 12:10:04PM] warning: Assigning None to a non-object variable named "::temp21"
stack:
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.EnsureQuestStarted() - "pahbootstrapscript.psc" Line 263
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.RestartQuests() - "pahbootstrapscript.psc" Line 205
[PAHBootStrap0_7_3 (1F00CF32)].pahbootstrapscript.Boot() - "pahbootstrapscript.psc" Line 183
[None].PAHRebootScript.OnEffectStart() - "pahrebootscript.psc" Line 6

 

Link to comment

Looks like Skyrim has a problem recognizing the RebootQuest property... But TESVEdit tells me it's still there...

 

Remove PAH, clean the save, then install PAH again (see main post FAQ on how to do it without losing slaves)

If the issue persists, I'll add a check.

Link to comment

As i understand, when i capture a slave, mod makes npc's clone? What will happen if i release slave? Will copy return to that npc's usual duty or just disappear after while?

They move to a marker and get deleted.

 

How much save size add each clone?

I don't know.

 

Will it be deleted by save cleaner, if i'll remove mod and clean it's scripts? Your update instructions says to re-capture slaves after save cleaning. Will it create clone of clone?

Yes and I'm not sure. Depends on the faction setting surviving the cleaning. But it doesn't really matter, since durign the cloning process the original is removed.

Link to comment

 

I have no idea if it will matter as far as code goes, but The read me for AFT says not compatible with hearthfire (waydown near the bottem if I remember right).

ummm, would that be not compatible with hearthfire npc's or some special incompatiblity

aft is the short named for tweaked -amazing follower tweaks i think is the full word for it

anyhow, i'm using aft for some time now with full dlc content, without any issues, atleast none  know of, unless there's something in hearthfire that has the issue

i could only say i've built the house in falkreath as far as hearthfire's concerned i've no clue what else it has

 

 

Yeah I wouldn't know what that means either, I use AFT and Hearthfires, and have no issues whatsoever.  In fact looking at the AFT page, I don't see anything mentioning Hearthfires at all.  Maybe it was some old problem fixed long ago.

Link to comment

Yay, new RC!

 

Cool!

 

  • Added slaves getting fight training when fighting for PC

 

Can you elaborate on this, what it does exactly? I am currently using the setlevel console command to set the level of my combat slaves to somewhere between 66% and 80% of my own level, and I am curious how this will interact with your changes...

Link to comment

PAHSlave.psc:

 

Function TestShouldHaveFought()
    If Game.GetPlayer().IsInCombat() && should_fight_for_player
        If !fights_for_player
            next_punishment_reason = "didnt_fight"
            AddSD(PAHSDFailedToFight, 60)
        Else
            bHasFought = true
        EndIf
    ElseIf bHasFought
        TrainCombat(2) ; very small improvement
        bHasFought = false
    EndIf
EndFunction

It just adds fight training. I haven't started on properly leveling slaves yet (and once I do, it'll probably overwrite manual changes anyway ;) )

Link to comment

Dude I love this. You're awesome.

 

Here's my suggestion: Create a bridge between submit and this.

 

It's always odd to force someone to submit, then need to beat the shit outo f them again to enslave them. If we had an option to go straight to enslaving it would be awesome.

 

Hell, considering the author of submit is gone (i think) you could probably just incorperate submit into this mod for an awesome all-in-one experience.

 

Either way I'm loving your mod.

Link to comment

I had some exchange with dkatryl back when I started and what it boils down to would be a hard dependency from PAHE to Submit, so that won't happen.
(I could add a scanner, but that would put disproportionate load on the system)

Link to comment

Ah. What about an optional plugin? Also some mods are able to have compatibility fetures turn on only if another mod is installed without dependancies (like SD+ can with DLC and frostfall.) Looking at those could help.

 

You could also consider adding an option to revive and enslave a freshly killed, non decaitated corpse with a healing potion or something. That might take too much effort or be too script intensive, but it's always annoying when you avoid killing the hot chick all battle only to killmove her from 40% health.

Link to comment

I'm working on a new enslavement mechanic anyway (my testers caught a brief glimpse), so at some point that will be thing of the past (unless I feel evil and add a random chance for my planned mechanic to fail)

 

Also you can always fall back on the "enslave when fleeing" mechanic...

Link to comment

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use