Jump to content
  • 0

How do I turn a monster into a two stage boss?


St. Mildly Annoyed

Question

I'm planning to create an e2m8 replacement with a weaker archvile that resurrects itself into another monster from realm667 as a final boss. I don't know much about zdoom decorate either, so sorry if it takes a few responses to answer.

 

Edited by St. Mildly Annoyed

Share this post


Link to post

Recommended Posts

  • 0

my guess is to have some sort of ACS script that acts when the enemy is killed, the other enemy spawns?

Share this post


Link to post
  • 0

Ok, but would it be possible to delete the archvile corpse and replace it with another monster's corpse that gets resurrected, or would that make it impossible to end the game with the latter enemy dying using slade? I was originally imagining that it would be one monster, but after 490 health was taken off, it would fake it's death, and the archvile would turn into the other monster after mirroring the latter's death animation. So it may not technically be resurrecting due to it not dying in the first place, but it would still mechanically and visually change into the other monster. I want it to be more of a transformation, rather than a summoning.

Edited by St. Mildly Annoyed

Share this post


Link to post
  • 1

I would create a new monster that inherits from the archvile, but when he dies, there's extra frames in the animation, so you can add the new monster rising animation after that, then spawn the new monster.

Edited by SOF2Fragger

Share this post


Link to post
  • 0

 

27 minutes ago, SOF2Fragger said:

I would create a new monster that inherits from the archvile, but when he dies, there's extra frames in the animation, so you can add the new monster rising animation after that, then spawn the new monster.

I want to make sure it doesn't leave a corpse behind, but rather transitions into the other, is that possible? I'm worried it would mess up the level ending and either end before the second stage or not end at all.

Share this post


Link to post
  • 1

Simply do not tag the first one as a boss monster, and then set the last frame as an invisible sprite. It should be enough.

At least it should be enough if no other archvile is around. It was a long time since i touched decorate.

Edited by Cacowad

Share this post


Link to post
  • 2

You can directly spawn the second enemy throught A_SpawnItem

 

8 minutes ago, St. Mildly Annoyed said:

 

I want to make sure it doesn't leave a corpse behind, but rather transitions into the other, is that possible? I'm worried it would mess up the level ending and either end before the second stage or not end at all.

If you want to remove the archvile corpse when it dies you can directly add a TNT1 A -1 frame:

Death:
        VIL3 R 7 A_Scream
        VIL3 S 7 A_NoBlocking
        VIL3 TUWVXY 7
        VIL3 Z 7

        TNT1 A -1 //Invisible frame
        stop

 

and if it spawns the other enemy:

 

Death:
        VIL3 R 7 A_Scream
        VIL3 S 7 A_NoBlocking
        VIL3 TUWVXY 7
        VIL3 Z 7

        TNT1 A 0 A_SpawnItem("Enemy2")

        TNT1 A -1 //Invisible frame
        stop

Edited by URROVA

Share this post


Link to post
  • 0
1 hour ago, St. Mildly Annoyed said:

 

I want to make sure it doesn't leave a corpse behind, but rather transitions into the other, is that possible? I'm worried it would mess up the level ending and either end before the second stage or not end at all.

Your monster dies, then raises back as the new monster. No corpse left.

Share this post


Link to post
  • 0
41 minutes ago, SOF2Fragger said:

Your monster dies, then raises back as the new monster. No corpse left.

Thanks, I thought the method you were talking about would leave behind the original monster corpse but summon a new one. Also, sorry if my original comment came off sarcastic as shit, I just realized how passive-aggressive it sounded.

Edited by St. Mildly Annoyed

Share this post


Link to post
  • 0

BTW, does anyone have a good tutorial on how inheritance works? I'm having a hard time trying to figure out how to define that I want one monster to inherit everything from the original archvile so I can change it's health and make it spawn another monster for it's second form.

10 hours ago, SOF2Fragger said:

Your monster dies, then raises back as the new monster. No corpse left.

 

Share this post


Link to post
  • 0

 

ACTOR EVOLVED_HELLKNIGHT : HELLKNIGHT 25099
{
   
   States
   {
   Death:
      BOS2 I 8
      BOS2 J 8 A_SCREAM
      BOS2 MN 8
      BOS2 O 1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("BARONOFHELL")
      Stop
   }
}


Hope that helps.

 

This turns the hellknight into a baron when you kill him. Try it and see if that's the effect you want

 

Edited by SOF2Fragger

Share this post


Link to post
  • 0

Thanks, I fell like I'm getting pretty close to it, but I'm pretty sure I messed a few things up in trying to change it for the archvile's death.

So far, I've come up with this in decorate. When It try to run it with gzdoom it says there's a problem with the semicolon after vile tuvwxy 7.

    Actor Chosenone: "Archvile" 29875
{
    //$Category Monsters
    //$Sprite VILEH1
    //$Title chosen one
    
    Health 490
    Speed 13
    
   States
   {
   Death:
      VILE Q 7
      VILE R 7 A_SCREAM
      VILE TUVWXY 7;
      VILE Z -1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("DivineShadow")
      Stop
   }
}

 

Share this post


Link to post
  • 0
14 minutes ago, St. Mildly Annoyed said:

When It try to run it with gzdoom it says there's a problem with the semicolon after vile tuvwxy 7.

yeah... that's because there's a problem with the semicolon put there, apparently

Share this post


Link to post
  • 0

That semicolon has no place there. Remove it.

Also, use the death frames of your new monster and reverse them so it rises from the archvile's corpse. You don't need the BOSS sprites in there. That's the Baron.

Edited by SOF2Fragger

Share this post


Link to post
  • 0
18 minutes ago, Paf said:

yeah... that's because there's a problem with the semicolon put there, apparently

I know that isn't the only problem, but I'm a novice when it comes to decorate. If you want to know the exact error, it's, "Script error, "v.wad:DECORATE" line 169:
Invalid parameter ';'.

Edited by St. Mildly Annoyed

Share this post


Link to post
  • 0
4 minutes ago, St. Mildly Annoyed said:

I know that isn't the problem

how come literally every other line without a semicolon is fine? did you even try it?

Share this post


Link to post
  • 0
3 minutes ago, SOF2Fragger said:

Decorate doesn't use semicolons. It seems you took the death state from zscript.

I edited my previous post.

okay so it seems to have lower health and a slightly slower movement speed, but it doesn't spawn the other monster.

Share this post


Link to post
  • 0
3 minutes ago, Paf said:

how come literally every other line without a semicolon is fine? did you even try it?

Sorry, I meant only problem, I know there's definitely still a few others. also sorry if i seem a bit obtuse, but I'm not trying to be.

Share this post


Link to post
  • 0
6 minutes ago, St. Mildly Annoyed said:

okay so it seems to have lower health and a slightly slower movement speed, but it doesn't spawn the other monster.

In the 

Spoiler

   Actor Chosenone: "Archvile" 29875
{
    //$Category Monsters
    //$Sprite VILEH1
    //$Title chosen one
    
    Health 490
    Speed 13
    
   States
   {
   Death:
      VILE Q 7
      VILE R 7 A_SCREAM
      VILE TUVWXY 7
      VILE Z -1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("DivineShadow")
      Stop
   }
}

block, you define your own speed and health anyways.

 

In SOF2Fragger's

Spoiler

ACTOR EVOLVED_HELLKNIGHT : HELLKNIGHT 25099
{
   
   States
   {
   Death:
      BOS2 I 8
      BOS2 J 8 A_SCREAM
      BOS2 MN 8
      BOS2 O 1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("BARONOFHELL")
      Stop
   }
}

block, it inherits from the hell knight. which block are you using? also, is the other monster defined correctly, if you're using your own block?

2 minutes ago, St. Mildly Annoyed said:

Sorry, I meant only problem, I know there's definitely still a few others. also sorry if i seem a bit obtuse, but I'm not trying to be.

fair enough then, my bad.

Edited by Paf

Share this post


Link to post
  • 0

The default doesn't need to be there. Only the death state.

Remove health and speed. That's what changed your monster.

 

Edit

 

Did you include your custom monster as a resource?

Edited by SOF2Fragger

Share this post


Link to post
  • 0
3 minutes ago, Paf said:

In the 

  Hide contents

   Actor Chosenone: "Archvile" 29875
{
    //$Category Monsters
    //$Sprite VILEH1
    //$Title chosen one
    
    Health 490
    Speed 13
    
   States
   {
   Death:
      VILE Q 7
      VILE R 7 A_SCREAM
      VILE TUVWXY 7
      VILE Z -1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("DivineShadow")
      Stop
   }
}

block, you define your own speed and health anyways.

 

In SOF2Fragger's

  Hide contents

ACTOR EVOLVED_HELLKNIGHT : HELLKNIGHT 25099
{
   
   States
   {
   Death:
      BOS2 I 8
      BOS2 J 8 A_SCREAM
      BOS2 MN 8
      BOS2 O 1
      BOSS O 1
      BOSS NM 4
      BOSS L 4
      BOSS K 4 A_NOBLOCKING
      BOSS J 4   
      BOSS I 4 A_SPAWNITEMEX("BARONOFHELL")
      Stop
   }
}

block, it inherits from the hell knight. which block are you using? also, is the other monster defined correctly, if you're using your own block?

fair enough then, my bad.

I was attempting to modify SOF2Fragger's block to instead inherit from the archvile, which I created a slightly weaker and slower version of in the block for the chosen one. In the death state section I was attempting to replace each of the hell knight flags with an equivalent one to the chosen one/archvile, I left the boss behavior flags alone, as I couldn't tell if they were necessary for the second phase transition, or if they had to be replaced and were just baron flags.

Share this post


Link to post
  • 0
16 minutes ago, SOF2Fragger said:

The default doesn't need to be there. Only the death state.

Remove health and speed. That's what changed your monster.

Is the removal of it's weakened health and speed necessary for it to function? Or should I keep it as I want it to be a weaker version of the archvile that transitions into the divine shadow.

Share this post


Link to post
  • 0
1 hour ago, St. Mildly Annoyed said:

I was attempting to modify SOF2Fragger's block to instead inherit from the archvile, which I created a slightly weaker and slower version of in the block for the chosen one. In the death state section I was attempting to replace each of the hell knight flags with an equivalent one to the chosen one/archvile, I left the boss behavior flags alone, as I couldn't tell if they were necessary for the second phase transition, or if they had to be replaced and were just baron flags.

BOSS is just the name of the sprite, not a flag. It's the Baron of hell 

Share this post


Link to post
  • 0
1 hour ago, St. Mildly Annoyed said:

Is the removal of it's weakened health and speed necessary for it to function? Or should I keep it as I want it to be a weaker version of the archvile that transitions into the divine shadow.

If you want it weaker and slower, then that's fine.

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
Answer this question...

×   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...