Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
NinjaDelphox

EDF cast call help

Recommended Posts

So I've been trying on and off for the last couple of days to figure out why this code won't work. The NewArchVile, BaronOfFilth, Ashtar, and Player won't play the defined attacking SFX. (But the newly added VenemousCaco does and I don't understand why it works and the others don't) I'm also having trouble getting the BossBrain thing to not go to an imp frame and then move onto a player, it works perfectly fine in ZDoom ports, but doesn't here.

Code:

Spoiler

stdinclude("root.edf")
setdialect("ALFHEIM")

thingtype DoomBloodBlue : DoomBlood
{
    translation REDBLUE
}

thingtype DoomBloodGreen : DoomBlood
{
    translation REDGREEN
}

thingtype DoomBloodPurple : DoomBlood
{
    translation REDPURPL
}

thingdelta
{
    name DoomImp
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name Demon
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name LostSoul
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name PainElemental
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name Arachnotron
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name SpiderDemon
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingdelta
{
    name BaronOfHell
    bloodcolor 6    // purple
    bloodtype.normal DoomBloodPurple
    bloodtype.impact DoomBloodPurple
    bloodtype.rip DoomBloodPurple
    bloodtype.crush DoomBloodPurple
}

thingdelta
{
    name Cacodemon
    bloodcolor 3    // blue
    bloodtype.normal DoomBloodBlue
    bloodtype.impact DoomBloodBlue
    bloodtype.rip DoomBloodBlue
    bloodtype.crush DoomBloodBlue
}

thingdelta
{
    name HellKnight
    bloodcolor 6    // purple
    bloodtype.normal DoomBloodPurple
    bloodtype.impact DoomBloodPurple
    bloodtype.rip DoomBloodPurple
    bloodtype.crush DoomBloodPurple
}

thingdelta
{
    name VenemousCaco
    bloodcolor 6    // purple
    bloodtype.normal DoomBloodPurple
    bloodtype.impact DoomBloodPurple
    bloodtype.rip DoomBloodPurple
    bloodtype.crush DoomBloodPurple
}

thingdelta
{
    name BaronOfFilth
    bloodcolor 6    // purple
    bloodtype.normal DoomBloodPurple
    bloodtype.impact DoomBloodPurple
    bloodtype.rip DoomBloodPurple
    bloodtype.crush DoomBloodPurple
}

thingdelta
{
    name Ashtar
    bloodcolor 6    // purple
    bloodtype.normal DoomBloodPurple
    bloodtype.impact DoomBloodPurple
    bloodtype.rip DoomBloodPurple
    bloodtype.crush DoomBloodPurple
}

thingdelta
{
    name BossBrain
    bloodcolor 2    // green
    bloodtype.normal DoomBloodGreen
    bloodtype.impact DoomBloodGreen
    bloodtype.rip DoomBloodGreen
    bloodtype.crush DoomBloodGreen
}

thingtype NewArchvile : Archvile 
{
  States
  @"
  Spawn:
    SP00 AB 10 A_Look
    Loop
  See:
    SP00 AABBCCDDEEFF 2 A_VileChase
    Loop
  Missile:
    SP00 G 1 Bright
    SP00 G 10 Bright A_FaceTarget
    SP00 H 8 Bright A_VileTarget
    SP00 IJKLMN 8 Bright A_FaceTarget
    SP00 O 8 Bright A_VileAttack
    SP00 P 20 Bright
    Goto See
  Heal:
    Vile "[\]" 10 Bright
    Goto See
  Pain:
    SP00 Q 5   
    SP00 Q 5 A_Pain
    Goto See
  Death:
    SP00 Q 7
    SP00 R 7 A_Scream
    SP00 S 7 A_NoBlocking
    SP00 TUVWXY 7
    SP00 Z -1 A_BossDeath
    Stop
  "@
}

thingtype VenemousCaco : CommanderKeen
{
  doomednum   84
  dehackednum 25
  spawnhealth 500
  seesound    sssit
  painchance  128
  painsound   popain
  deathsound  ssdth
  speed       15
  radius      31.0
  height      56.0
  activesound bgact
  cflags      SOLID|SHOOTABLE|COUNTKILL|FOOTCLIP|SPACMONSTER|PASSMOBJ|INFLOAT|NOGRAVITY|FLOAT
  obituary_normal "was burnt by a venemous cacodemon"
  obituary_melee  "was bitten by a venemous cacodemon"
  
  States
  @"
  Spawn:
    SSWV A 10 A_Look
    Loop
  See:
    SSWV A 3 Fast A_Chase
    Loop
  Missile:
    SSWV BC 4 Fast A_FaceTarget
    SSWV D 4 Bright Fast A_BruisAttack
    SSWV C 6 Fast A_FaceTarget
    SSWV D 4 Bright Fast A_FatAttack3
    SSWV C 4 Fast A_FaceTarget
    Goto See
  Pain:
    SSWV E 4 Fast
    SSWV E 4 Fast A_Pain
    Goto See
  Death:
    SSWV G 8
    SSWV H 8 A_Scream
    SSWV IJ 8
    SSWV K 8 A_NoBlocking
    SSWV L -1 A_SetFloorClip
    Stop
  Raise:
    SSWV L 8 A_UnSetFloorClip
    SSWV KJIHG 8
    Goto See
  "@
}

Thingtype BossBrain
{
  doomednum   88
  dehackednum 26
  spawnhealth 2000
  seesound    bossit
  painchance  256
  painsound   bosspn
  deathsound  bosdth
  speed       0
  radius      32.0
  height      96.0
  mass           10000000
  cflags      SOLID|SHOOTABLE|COUNTKILL|FOOTCLIP|SPACMONSTER|PASSMOBJ|JUSTHIT|BOSS
  obituary_normal "was immolated by the parasite"
    States
    @"
    Spawn:
        BBRN A 1 Bright A_Look
        Loop
    See:
        BBRN A 400 Bright A_BrainAwake
        BBRN A 1 Bright A_Chase
        Goto See+1
    Melee:
        BBRN A 1 Bright 
        Goto See+1
    Missile:
        BBRN A 1 Bright 
        Goto See+1
    Pain:
        BBRN B 1 Bright A_BrainPain
        BBRN B 15 Bright A_VileStart
        BBRN B 1 Bright A_SetInvulnerable
        BBRN B 64 Bright A_VileTarget
        BBRN B 8 Bright A_VileAttack
        BBRN B 1 Bright A_UnSetInvulnerable
        Goto See+1
    Death:
        BBRN C 5 Bright A_PlaySoundEx ("dsbosdth", Auto, False, 1)
        BBRN D 5 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 1.0, 0.4)
        BBRN E 5 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 2.0, 0.4)
        BBRN F 5 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 3.0, 0.4)
        BBRN G 5 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 4.0, 0.4)
        BBRN H 5 Bright A_BossDeath
        Stop
    "@
}

Thingtype BaronOfFilth : DeadLostSoul
{
  doomednum   23
  dehackednum 116
  spawnhealth 700
  seesound    fre009
  painchance  120
  painsound   popain
  deathsound  fre004
  speed       15
  radius      24.0
  height      64.0
  activesound bgact
  cflags      SOLID|SHOOTABLE|COUNTKILL|FOOTCLIP|SPACMONSTER|PASSMOBJ
  obituary_normal "was incinerated by a baron of filth"
  obituary_melee  "was clawed by a baron of filth"
  
  States
  @"
    Spawn:
        BOSS PQ 10 A_Look
        Loop
    See:
        BOSS PPQQRRSS 3 Fast A_Chase
        Loop
    Melee:
        BOSS TU 8 Fast A_FaceTarget
        BOSS V 10 Fast A_SkullAttack
        Goto Melee+1
    Missile:
        BOSS TU 8 Fast A_FaceTarget
        BOSS V 4 Fast A_BruisAttack
        BOSS U 8 Fast A_FaceTarget
        BOSS V 4 Fast A_BruisAttack
        Goto See
    Pain:
        BOSS W  2 Fast
        BOSS W  2 Fast A_Pain
        Goto Melee+1
    Death:
        BOSS X  8
        BOSS Y  8 A_Scream
        BOSS Z  8
        BOSS [  8 A_NoBlocking
        BOSS \ 8
        KEEN N -1 A_BossDeath
        Stop
    Raise:
        KEEN N 8
        BOSS \  8
        BOSS [  8
        BOSS ZYX  8
        Goto See
    "@
}

Thingtype Ashtar 
{
  doomednum   9999
  dehackednum 246
  spawnhealth 15000
  seesound    fre011
  deathsound  fre012
  speed       40
  radius      96.0
  height      96.0
  activesound fre013
  cflags      SOLID|SHOOTABLE|COUNTKILL|FOOTCLIP|SPACMONSTER|PASSMOBJ|TRANSLUCENT|BOSS
  obituary_normal "was destroyed by ashtar"
  
    States
    @"
    Spawn:
        SP69 AB 4 Bright A_Look
        Loop
    See:
        SP69 AB 4 Bright A_Chase
        Loop
    Missile:
        SP69 C 4 Bright A_FaceTarget     
        SP69 D 12 Bright A_CyberAttack
        SP69 C 8 Bright A_FaceTarget
        SP69 D 12 Bright A_CyberAttack
        SP69 B 4 Bright A_Chase
        Goto See
    Death:
        SP69 E 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 1.0, 0.4)
        SP69 F 10 Bright A_PlaySoundEx ("dsfre012", Auto, False, 1)
        SP69 G 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 2.0, 0.4)
        SP69 H 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 3.0, 0.4)
        SP69 I 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 4.0, 0.4)
        SP69 J 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 3.0, 0.4)
        SP69 K 10 Bright A_Mushroom ("FatShot", 0, MSF_Classic, 2.0, 0.4)
        SP69 L 10 Bright
        Stop
    "@
}

castorder = { zombieman, sergeant, chaingunner, doomimp, Demon, lostsoul,
            cacodemon, hellknight, baronofhell, arachnotron, painelemental,
            revenant, mancubus, newarchvile, venemouscaco, baronoffilth,
            spiderdemon, cyberdemon, ashtar, bossbrain, player }

castinfo zombieman
{
   type = Zombieman
   name = "The Possessed"
   sound { frame = S_POSS_ATK2; sfx = pistol }
}

castinfo sergeant
{
   type = Sergeant
   name = "The Wicked"
   sound { frame = S_SPOS_ATK2; sfx = shotgn }
}

castinfo chaingunner
{
   type = Chaingunner
   name = "The Unholy"
   sound { frame = S_CPOS_ATK2; sfx = shotgn }
   sound { frame = S_CPOS_ATK3; sfx = shotgn }
   sound { frame = S_CPOS_ATK4; sfx = shotgn }
}

castinfo doomimp
{
   type = DoomImp
   name = "Gremlin"
   sound { frame = S_TROO_ATK3; sfx = claw }
}

castinfo demon
{
   type = Demon
   name = "Devil"
   sound { frame = S_SARG_ATK2; sfx = sgtatk }
}

castinfo lostsoul
{
   type = LostSoul
   name = "Haze"
   sound { frame = S_SKULL_ATK2; sfx = sklatk }
}

castinfo cacodemon
{
   type = Cacodemon
   name = "Cacodemon"
   sound { frame = S_HEAD_ATK2; sfx = firsht }
}

castinfo hellknight
{
   type = HellKnight
   name = "Nobleman of Hell"
   sound { frame = S_BOS2_ATK2; sfx = firsht }
}

castinfo baronofhell
{
   type = BaronOfHell
   name = "Lord of Hell"
   sound { frame = S_BOSS_ATK2; sfx = firsht }
}

castinfo arachnotron
{
   type = Arachnotron
   name = "Spider Unit"
   sound { frame = S_BSPI_ATK2; sfx = plasma }
}

castinfo painelemental
{
   type = PainElemental
   name = "Toxin Elemental"
   sound { frame = S_PAIN_ATK3; sfx = sklatk }
}

castinfo revenant
{
   type = Revenant
   name = "The Resurrected"
   sound { frame = S_SKEL_FIST2; sfx = skeswg }
   sound { frame = S_SKEL_FIST4; sfx = skepch }
   sound { frame = S_SKEL_MISS2; sfx = skeatk }
}

castinfo mancubus
{
   type = Mancubus
   name = "Mammoth"
   sound { frame = S_FATT_ATK2; sfx = firsht }
   sound { frame = S_FATT_ATK5; sfx = firsht }
   sound { frame = S_FATT_ATK8; sfx = firsht }
}

castinfo newarchvile
{
   type = NewArchvile
   name = "Devil Forge Master"
   sound { frame = S_SP00_ATK2; sfx = vilatk }
}

castinfo venemouscaco
{
   type = VenemousCaco
   name = "Venemous Cacodemon"
   sound { frame = S_SSWV_ATK2; sfx = firsht }
   sound { frame = S_SSWV_ATK4; sfx = firsht }
}

castinfo baronoffilth
{
   type = BaronOfFilth
   name = "Baron of Filth"
   sound { frame = S_BOSS_ATK2; sfx = firsht }
   sound { frame = S_BOSS_ATK4; sfx = firsht }
}

castinfo spiderdemon
{
   type = Spiderdemon
   name = "Encephalon"
   sound { frame = S_SPID_ATK2; sfx = shotgn }
   sound { frame = S_SPID_ATK3; sfx = shotgn }
}

castinfo cyberdemon
{
   type = Cyberdemon
   name = "Proto Behemoth"
   sound { frame = S_CYBER_ATK2; sfx = rlaunc }
   sound { frame = S_CYBER_ATK4; sfx = rlaunc }
   sound { frame = S_CYBER_ATK6; sfx = rlaunc }
}

castinfo ashtar
{
   type = Ashtar
   name = "Ashtar"
   sound { frame = S_SP69_ATK2; sfx = rlaunc }
   sound { frame = S_SP69_ATK4; sfx = rlaunc }
}


castinfo bossbrain
{
   type = BossBrain
   name = "The Parasite"
}

castinfo player
{
   type = DoomPlayer
   name = "Juan Soto"
   stopattack = true
   sound { frame = S_PLAY_ATK1; sfx = dshtgn }
}

Thanks for any help

Share this post


Link to post

Can't say off-hand. If the frame you referenced is present and the sound plays appropriately normally (so is a normal sound that works and not an ogg or whatever) I don't see why it wouldn't work. Without the ability to look into this example proper I don't know if I can really help further.

 

Honestly the old cast call system doesn't feel too fit-for-purpose these days in a world where you don't have to define a bunch of EDF frames. Might be a good idea to make it where you can do a "frames" thing and it'll attach some new frames or something, though I don't wanna marry myself to any such ideas. I guess in a pinch you could do loose frame blocks just for this stuff.

Edited by Altazimuth

Share this post


Link to post

All the defined sounds used are the regular Doom II sounds with no replacements, so I'm fairly certain there's no issue there with sounds (The Venemous Caco monster correctly plays its attacking sounds, which is the same as what the Baron of Filth uses so I'm really not sure what is wrong there) The code for the player is literally exactly the same as the example on the wiki minus the name being there, so I just don't know what is going on there lol. Would it help if I DM'd you the resources for this and took a look at it?

Share this post


Link to post

And now a new issue pops up with only eternity, for some reason it absolutely refuses to read a newly defined string for STSTR_KFAADDED, which is in both a dehacked and eternity's own estrings/edf, can't figure out why it ignores only that string, any ideas?

Code is just a simple strings definition in the edf file:

string STSTR_KFAADDED
{
      val = "Please work already"
      bexsource = "STSTR_KFAADDED"
}

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×