Jump to content

Instanced Cannibalism


Recommended Posts

Hey, so I did some testing, and it appears that the StartCannibal script function doesn't work on other actors, even those that have the animations. The function PlayIdle(IdleCannibalFeedCrouching) does however work, but only for races that have the animations.

 

So, as a workaround, in the creation kit I made the zombies the Nord Race. I duplicated the NakedDraugrBodyAA armor addon, and switched it to the Nord Race. I also duplicated the SkinDraugr Armor, deleted the NakedDraugrBodyAA from it and put the duplicated one on instead, and also switched it to the Nord Race. Then I made a new outfit that has only the duplicated SkinDraugr Armor, and put that outfit as the default outfit for the zombies. This way, the zombies still look like zombies even though they are the Nord Race.

 

Then I modified the script, so that it sets the zombies race to the Draugr Race after the animation is complete:

 

 

 

Scriptname ExampleCannibalScript extends ObjectReference 

Spell Property DA11CannibalismAbility  Auto
Spell Property DA11CannibalismAbility02  Auto

Actor Property Zombie1 Auto 
Actor Property Zombie2 Auto 
Actor Property Zombie3 Auto 
Actor Property Corpse Auto 

Race Property DraugrRace Auto
Idle Property IdleCannibalFeedCrouching Auto

Bool Eaten = false

Auto State Waiting
    Event OnTriggerEnter(ObjectReference akActionRef)
        Debug.Notification("Trigger Enter")
        
        If (akActionRef as actor) == Game.GetPlayer() && Eaten == false ;ensures this script runs only once
            Eaten = true
            Zombie1.PlayIdle(IdleCannibalFeedCrouching)
            Zombie2.PlayIdle(IdleCannibalFeedCrouching)
            Zombie3.PlayIdle(IdleCannibalFeedCrouching)
            
            Utility.Wait(2)
            
            Zombie1.SetRace(DraugrRace)
            Zombie2.SetRace(DraugrRace)
            Zombie3.SetRace(DraugrRace)
            
            DA11CannibalismAbility.Cast(Zombie1, Zombie1)
            DA11CannibalismAbility02.Cast(Zombie1, Zombie1)
            
            DA11CannibalismAbility.Cast(Zombie2, Zombie2)
            DA11CannibalismAbility02.Cast(Zombie2, Zombie2)
            
            DA11CannibalismAbility.Cast(Zombie3, Zombie3)
            DA11CannibalismAbility02.Cast(Zombie3, Zombie3)
            
            GoToState("Stopped") ;stops this event firing after script has run
        Endif
    EndEvent
EndState 

State Stopped   
EndState

 

 

 

It worked, sort of. There's some texture stretching on the heads, but the animation does play, and if the player is far enough away, I don't think it will be too noticeable.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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