Jump to content
  • 0

Decorate Monster not showing up Correctly


Bloodbath Giraffe

Question

I am trying to add a custom monster to my wad. I can see the monster in 3d mode, but when I test the map I get a red !. I am not sure when this is happening and i was looking for some help. I am using zdoom Decorate language and am testing in GZdoom.  I have placed the decorate code below. 

 

Thanks,

 

 

 

actor AracnorbQueen 6333
{
  //$Category Monsters
  //$Title "Aracnorb Queen"
  MONSTER
  +NOGRAVITY
  +FLOAT
  +FLOATBOB
  +BOSS
  Health 4000
  Radius 34
  Height 76
  Mass 2000
  Speed 25
  PainChance 30
  SeeSound "queen/sight"
  ActiveSound "queen/active"
  PainSound "queen/pain"
  DeathSound "queen/death"
  MeleeSound "queen/melee"
  MeleeDamage 6
  MissileHeight 36
  Obituary "%o suffered psychic trauma from an azazel's liutiant brainwaves."
  HitObituary "%o had %p skull chewed by an azazel's liutiant."
  Scale 0.85
  States
  {
  Spawn:
    ARNQ A 1 A_Look
    Loop
  See:
    ARNQ A 2 A_Chase
    Loop
  Melee:
    ARNQ ABC 5
    ARNQ D 6 A_MeleeAttack
    Goto See
  Missile:
    TNT1 A 0 A_JumpIfCloser(512, "CloseRange")
    Goto LongRange
  CloseRange:
    TNT1 A 0 A_Jump(176, "RapidFire")
    Goto SpreadFire
  LongRange:
    TNT1 A 0 A_Jump(176, "SpreadFire")
    Goto RapidFire
  
    Goto See
  RapidFire:
    ARNQ BCD 8 A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ P 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 0 BRIGHT A_FaceTarget
    ARNQ E 5 BRIGHT A_CustomMissile ("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 5 A_FaceTarget
    //ARNQ D 5
    Goto See
  SpreadFire:
    ARNQ BCD 8 A_FaceTarget
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    ARNQ E 5 Bright A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ BCD 8 A_FaceTarget
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    TNT1 A 0 A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-7,7), CMF_AIMOFFSET|CMF_OFFSETPITCH, random(-3,3))
    ARNQ E 5 Bright A_CustomMissile("QueenPlasmaBlast", 40, 0, random(-4,4))
    ARNQ D 5 A_FaceTarget
    Goto See
  Pain:
    TNT1 A 0 A_Jump(50, "PainSpam")
    ARNQ F 4
    ARNQ F 4 A_Pain
    TNT1 A 0 A_UnSetShootable
    TNT1 A 1 A_SetTranslucent(0.90)
    TNT1  A 1 A_SetTranslucent(0.80)
    TNT1 A 1 A_SetTranslucent(0.70)
    TNT1 A 1 A_SetTranslucent(0.60)
    TNT1 A 1 A_SetTranslucent(0.50)
    TNT1 A 1 A_SetTranslucent(0.40)
    TNT1 A 1 A_SetTranslucent(0.30)
    TNT1 A 1 A_SetTranslucent(0.20)
    TNT1 A 1 A_SetTranslucent(0.10)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 A 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_ExtChase(0,0,1,1)
    TNT1 A 1 A_SetTranslucent(0.10)
    TNT1 A 1 A_SetTranslucent(0.20)
    TNT1 A 1 A_SetTranslucent(0.30)
    TNT1 A 1 A_SetTranslucent(0.40)
    TNT1 A 1 A_SetTranslucent(0.50)
    TNT1 A 1 A_SetTranslucent(0.60)
    TNT1 A 1 A_SetTranslucent(0.70)
    TNT1 A 1 A_SetTranslucent(0.80)
    TNT1 A 1 A_SetTranslucent(0.90)
    TNT1 A 1 A_SetTranslucent(1.0)
    TNT1 A 0 A_SetShootable
    Goto See
  PainSpam:
    ARNQ F 4
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,5,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,25,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,45,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,65,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,85,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,105,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,125,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,145,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,165,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,185,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,205,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,225,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,245,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,265,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,285,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,305,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,325,32,0)
    ARNQ F 0 A_custommissile("QueenPainPlasmaBlast",75,0,345,32,0)
    ARNQ F 4 A_Pain
    Goto See
  Death:
    ARNQ G 0 A_ChangeFlag("FLOATBOB",0)
    ARNQ G 9 A_Scream
    ARNQ G 3 A_Fall
    Wait
  Crash:
    ARNQ HIJKL 9
    ARNQ M -1
    Stop
  /*Raise:
    ARNQ MLKJIHGA 8
    ARNQ A 0 A_ChangeFlag("FLOATBOB",1)
    Goto See*/
  }
}

actor QueenPlasmaBlast
{
  Radius 13
  Height 8
  Speed 25//40
  Damage 6
  Projectile
  DamageType Disintegrate
  scale .75
  +RANDOMIZE
  +BLOODLESSIMPACT
  +NOEXTREMEDEATH
  RenderStyle Add
  Alpha 0.75
  SeeSound "electricplasma/shoot"
  DeathSound "electricplasma/hit"
  Decal "SwordLightning"
  States
  {
  Spawn:
    EBLT GH 0 bright A_CustomMissile("QueenPlasmaBlastTrail", 0, 0, 0)
    EBLT GH 2 bright A_BishopMissileWeave
    loop
  Death:
    EBLT IJK 3 bright
    stop
  }
}

actor QueenPlasmaBlastTrail
{
  Radius 13
  Height 8
  Speed 0//35
  Damage 0
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  States
  {
  Spawn:
    EBLT ABC 3 bright A_BishopMissileWeave
    goto death
  Death:
    EBLT DEF 4 bright A_FadeOut(0.25)
    loop
  }
}

actor QueenPainPlasmaBlast : QueenPlasmaBlast
{
  Speed 15
}

Share this post


Link to post

4 answers to this question

Recommended Posts

  • 1

You do not need to place each and every sprite in between the same S_START / S_END.

 

As you add more DECORATE actors, each actor can be contained in its own space, for example:

 

What I like to do is, make a Marker such as ======== to define each actor in its own section

========

actor 1 lumps

========

actor 2 lumps

========

actor 3 lumps

========

actor n lumps

========

they are cumulative and are easily edited if need be.

 

However, if you add more than about 10 actors you might want to consider the pk3 file structure and place the lumps into their respective namespace folder with appropriate subfolders.

 

If you want to see a well managed pwad then take a look at Gene-Tech: Before the Storm

Edited by DOOM mapping enthusiast
added link to Gene-Tech

Share this post


Link to post
  • 0

The exclamation mark suggests either a missing sprite or a problem with DoomEd number. The error should show up in console(`), it might give you a clue.

Edited by Rifleman

Share this post


Link to post
  • 0

I look at the console and it sated "invalid data encountered for texture" then named off most of the decorate and textures names. I got it to work I deleted it in Slade and copy and repasted it into my wad and it now works. So a follow up question do you need multiple markers (s_start, s_end) for each custom monster you place or just one at the start and one at the end?

Share this post


Link to post
  • 0
On 8/20/2021 at 9:22 PM, Bloodbath Giraffe said:

I look at the console and it sated "invalid data encountered for texture" then named off most of the decorate and textures names. I got it to work I deleted it in Slade and copy and repasted it into my wad and it now works. So a follow up question do you need multiple markers (s_start, s_end) for each custom monster you place or just one at the start and one at the end?

 

No, just one set of markers is enough. If you use PK3 instead of WAD, you can use folders instead of markers - https://zdoom.org/wiki/Using_ZIPs_as_WAD_replacement

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