Jump to content

Sexlab Succubus Skill Absorption Mod (WIP)


PureCarnage

Recommended Posts

I'm playing a Succubus themed game with heavy deviant/slave mods which means overwhelming sex attacks.  It takes away from leveling the character and I thought she is a Succubi, so why not absorb some random skills as an effect.  Not a modder so it took some time to get this to work but I'd love to see this expand and figure this is as good a place as any to start learning more about creating a mod.

 

One question, on the HookAnimationEnd, I wasn't able to get it to work when appending a _SkillAbsorb tag, do I have to register HookAnimationEnd_SkillAbsorb elsewhere or does the framework just identify extended attributes on the hook descriptors? 

 

Succubus Skill Absorb V 0.1-dev

Scriptname SLSkillAbsorb extends Quest Hidden 

;NEEDED REFS
SexLabFramework Property SexLab  Auto

string[] aMagic
string[] aCombat
string[] aStealth

Event OnInit()
	aMagic = new String[6]
	aMagic[0] = "Alteration"
	aMagic[1] = "Conjuration"
	aMagic[2] = "Destruction"
	aMagic[3] = "Enchanting"
	aMagic[4] = "Illusion"
	aMagic[5] = "Restoration"

	aCombat = new String[6]
	aCombat[0] = "Archery"
	aCombat[1] = "Block"
	aCombat[2] = "HeavyArmor"
	aCombat[3] = "Onehanded"
	aCombat[4] = "Smithing"
	aCombat[5] = "Twohanded"

	aStealth = new String[6]
	aStealth[0] = "Alchemy"
	aStealth[1] = "LightArmor"
	aStealth[2] = "Lockpicking"
	aStealth[3] = "Pickpocket"
	aStealth[4] = "Sneak"
	aStealth[5] = "Speech"
	
	RegisterForModEvent("HookAnimationEnd", "HandleAnimationEnd")
EndEvent

Function incrementSkill()
	int rindex = Utility.RandomInt(0, 5)
	int rskill = Utility.RandomInt(5, 20)
	int rtype = Utility.RandomInt(0, 2)
	
	if(rtype==0)
		Game.AdvanceSkill(aMagic[rindex], rskill)
		Debug.Notification("Magic "+aMagic[rindex]+" advanced " + rskill);
	EndIf
	if(rtype==1)
		Game.AdvanceSkill(aCombat[rindex], rskill)
		Debug.Notification("Combat "+aCombat[rindex]+" advanced " + rskill);
	EndIf
	if(rtype==2)
		Game.AdvanceSkill(aStealth[rindex], rskill)
		Debug.Notification("Stealth "+aStealth[rindex]+" advanced " + rskill);
	EndIf
EndFunction

Event  HandleAnimationEnd(int threadID, bool HasPlayer)
	if(HasPlayer)
		incrementSkill()
	EndIf
EndEvent

Link to comment

interesting idea but i cant help sorry :(

 

If you have any ideas, I'm always open.  Just been testing it and already finding some bugs, particularly Enchanting.  It's fun though, started as a slave and managed to level to 4 thanks to a horny master.  Need to tone down the reward values and debug the Enchanting as it seems to take the full award as entire points, not incremental towards a full point.

Link to comment

Check the "deadly drain" mod. I asked for a counterpart of Vampire "amaranth feeding" (better vampires) over there, and reply was that Hoenheim is working on it.

 

Not saying: disregard your efforts.

But meaning: maybe you can find infos there - and maybe you can help each other :)

Link to comment

As far as I know it works like this:

RegisterForModEvent("AnimationEnd_Hook", "Handler")

this is put in the thread starting an animation as example.

Then you can call a custom event called Handler on the bottom like this

Event Handler()

//fsfns

EndEvent

 

My hook name is Hook in this example.

Link to comment

Archived

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

  • Recently Browsing   0 members

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