Jump to content

Making Heartland's Gore More Versatile: Problem using framedelta


Jaunger

Recommended Posts

Hello,

 

So Heartland inspired me to try modding with the eternity engine. One feature I've been trying to add is the fancy blood effects Heartland uses while coloring them separately for enemies like the cacodemon and hell knight. I've just been working on the caco so far.

 

Heartland uses a BloodSpray thingtype that's spawned with the S_BLOOD2 frame.

 

framedelta { name S_BLOOD2; action SteamSpawn; args { BloodSpray, 359, 90, 45, 7 } }

 

I made a new thingtype BlueBloodSpray that inherits BloodSpray and changes the color.

 

The color changing works, but I'm not sure how I could get a caco to spawn one thingtype while other enemies spawn another, seeing that the framedelta adjusts the frame universally.

 

I've also added this code to my project, which fixes some but not all issues.

 

thingdelta {
  name CacoDemon
 
  bloodcolor = 3
  bloodtype.normal BlueBloodSpray
  bloodtype.impact BlueBloodSpray
  bloodtype.rip BlueBloodSpray
  bloodtype.crush BlueBloodSpray
}

 

Thanks for any help in advance.

Edited by Jaunger

Share this post


Link to post

Ok I figured it out. Maybe it'll help someone.

 

These thing types are subthings that just add a steamspawn action to the second thing. This is the same thing as the framedelta line except it doesn't override all blood effects.

 

thingtype DoomBloodSpray
{
  inherits = DoomBlood
 
  states
  @"
  Spawn:
    BLUD C 8
    BLUD B 8 SteamSpawn(BloodSpray, 359, 90, 45, 7)
    BLUD A 8
    stop
  "@
}

thingtype DoomBlueBloodSpray
{
  inherits = DoomBlood
  translation REDBLUE  
 
  states
  @"
  Spawn:
    BLUD C 8
    BLUD B 8 SteamSpawn(BlueBloodSpray, 359, 90, 45, 7)
    BLUD A 8
    stop
  "@
}

 

//this lets me have the default blood effects just as a different color.

thingtype DoomBloodBlue
{
  inherits = DoomBlood
  translation REDBLUE
}

 

I think BLUD B is the same thing as S_BLOOD2. I mean it works so for all intents and purposes it's the same thing.

 

Then to get the blood effects in an enemy:

 

thingdelta {
  name CacoDemon
 
  bloodcolor = 3 // blue
  bloodtype.normal DoomBloodBlue
  bloodtype.impact DoomBloodBlue
  bloodtype.rip DoomBloodBlue
  bloodtype.crush DoomBlueBloodSpray
}

thingdelta
{
  name DoomImp

  bloodtype.normal DoomBloodSpray
  bloodtype.impact DoomBloodSpray
  bloodtype.rip DoomBloodSpray
  bloodtype.crush DoomBloodSpray

}

 

This makes the gore in Heartland much more versatile. I really liked the blood but felt it was a bit much when SSGing higher tier enemies. This way I can set the blood for each enemy however I want.

 

I got the color translation from the attached file.

I didn't spend much time writing this reply, so if anything is unclear ask away.

 

ColorBlood.pke.zip

Edited by Jaunger

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...