Page 1 of 1

Ethereal Rabbit (Thumper) Companion

PostPosted: Thu Mar 27, 2014 5:29 am
by Nodding Off
Having finished my first companion for Skyrim, an Ash Hopper for personal use, I've decided to try something a little more challenging and set up for the community. An ethereal, or ghostly rabbit by the name of, Thumper. Unlike most other companion mods, Thumper will be a summon, attached to an onEquip script that I'll place on a ring.  Think along the lines of Alladin's lamp. Rub the lamp, get a genie. Put on the ring, get Thumper.
Thumper will have a unique combat ability. When combat starts, he can summon more ethereal rabbits to aid you.

Back story, potential voice acting and other details will follow after I post a "proof of concept".  

This is a just-for-fun mod, to help kill the monotony of working on Fashionable Frontiersmen.

First Hurdle - Apparently Animal NPCs have some issue with using Conjuration spells. I've been seeing the same questions and curse pop up, on forums and youtube channels, on the matter ... How did Bethesda get Spriggans to summon animals?

Possible leads, in case I forget where they are located.
Code: Select all
scriptname sprigganCallAnimalsAOE extends activeMagicEffect
{Prototype for an ability where SPriggans call helper animals}

faction property creatureFaction auto
faction property sprigganFaction auto

actor caster
objectReference casterRef

float myConfidence
float myAggression

bool property bDebug = FALSE auto

EVENT OnEffectStart(Actor akTarget, Actor akCaster)
       caster = akCaster
       casterRef = (caster as ObjectReference)
       if bDebug
;                 debug.trace("TEST: applied Spriggan AoE to :"+akTarget)
;                 debug.trace("TEST: AoE was cast by: "+casterRef)
;                 debug.trace("TEST: Enemy of Spriggan: "+caster.getCombatTarget())
       if akTarget.isInFaction(creatureFaction) == TRUE && !akTarget.isDead()
               ; save my conf/aggro values so they can be reset
               myConfidence = akTarget.getActorValue("confidence")
               myAggression = akTarget.getActorValue("aggression")
               ; make my enemies the spriggan's enemies temporarily
               ; if the spriggan caster has a combat target (she should) then I will beeline to attack it!
               if caster.getCombatTarget()

               ; make this animal very aggressive/confident for the duration of the spell
               akTarget.setActorValue("confidence", 4)
               akTarget.setActorValue("aggression", 1)

EVENT OnEffectFinish(Actor akTarget, Actor akCaster)

;         debug.trace("TEST: Released from Spriggan Enthrallment: "+self)

       akTarget.setActorValue("confidence", myConfidence)
       akTarget.setActorValue("aggression", myAggression)


Re: Ethereal Rabbit (Thumper) Companion

PostPosted: Thu Apr 03, 2014 11:53 pm
by Dragon_Lance
I know nothing of the scripts of Skyrim but it would appear to me that the player actually casts summons when in proximity of the spriggan via a trigger.

Re: Ethereal Rabbit (Thumper) Companion

PostPosted: Fri Apr 18, 2014 7:27 pm
by Nodding Off
Dragon_Lance wrote:I know nothing of the scripts of Skyrim but it would appear to me that the player actually casts summons when in proximity of the spriggan via a trigger.

That actually makes some sense.