I'm trying to create a new mod that makes use of modern ZDoom features. Sadly, despite my studying of the ZDoom wiki, I ran into a few problems. I'd like to ask for some assistance.
1) There's a new monster included. It's a witch that flies around and drops eggs, that spawn chickens. Problem is, if the egg touches a floor, the chicken dies as soon as it spawns. Another side effect - the egg itself causes damage, despite not being scripted to do so, at least not intentionally.
2) Pumpkin spawner doesn't work. Same as above.
3) A lot of actors have sounds not playing, despite being defined. For example, Toy soldier is silent aside from pain(note, he is meant to have walking sound like Cyberdemon or Arachnotron), Witch attack sound doesn't play, same for Wizard, Caco doesn't play death sound, pumpkin smashing sound doesn't play, the only player sound that works is the one that plays when you drop off a height.
4) Is it possible to have WitchDead ignore other actors and only play its death animation when it hits a wall? Not essential, but asking anyway.
I will include the DECORATE and SNDINFO Lumps below. I shall also link(the file seems to be too big to attach) the PK3 in question for those interested.
DECORATE:
Spoiler:SNDINFO:
//My code
actor AlicePlayer : PlayerPawn
{
Speed 1
Health 100
Radius 16
Height 56
Mass 50
PainChance 255
Player.DisplayName "AlicePlayer"
Player.CrouchSprite "PLYC"
Player.StartItem "Fist"
Player.WeaponSlot 1, Fist
Player.WeaponSlot 2, AWand
Player.WeaponSlot 3, Rifle
Player.WeaponSlot 4, Chaingun
Player.WeaponSlot 5, RocketLauncher
Player.WeaponSlot 6, PlasmaRifle
Player.WeaponSlot 7, BFG9000
States
{
Spawn:
PLAY A -1
Loop
See:
PLAY ABCD 4
Loop
Missile:
PLAY E 12
Goto Spawn
Melee:
PLAY F 6 BRIGHT
Goto Missile
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
Death1:
PLAY H 10
PLAY I 10 A_PlayerScream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
XDeath1:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
AltSkinDeath:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY MNO 6
PLAY P -1
Stop
AltSkinXDeath:
PLAY Q 5 A_PlayerScream
PLAY R 0 A_NoBlocking
PLAY R 5 A_SkullPop
PLAY STUVWX 5
PLAY Y -1
Stop
}
}
ACTOR AWand : Weapon
{
Weapon.AmmoType "Clip"
Weapon.AmmoGive 10
Weapon.AmmoUse 1
Weapon.KickBack 0
Weapon.YAdjust 9
Tag "Magic Wand"
States
{
Select:
MWND A 1 A_Raise
Loop
Deselect:
MWND A 1 A_Lower
Loop
Ready:
MWND A 1 A_WeaponReady
Loop
Fire:
MWND A 6
MWND B 6 Bright Offset(0, 48) A_FireCustomMissile("MageWandMissile")
MWND A 3 Offset(0, 40)
MWND A 3 Offset(0, 36) A_ReFire
Goto Ready
}
}
actor ToySoldier 300
{
Obituary "%o was shot by a Toy Soldier."
Scale 0.45
Health 80
Radius 20
Height 56
Mass 100
Speed 20
PainChance 32
AttackSound "Weapons/RifleFire"
PainSound "toysoldier/pain"
DeathSound "toysoldier/death"
DropItem "Rifle" 256
Monster
+FLOORCLIP
States
{
Spawn:
TSLD A 10 A_Look
Loop
See:
TSLD AA 4 A_Chase
TSLD B 2 A_PlaySound("toysoldier/step1")
TSLD B 2 A_Chase
TSLD AA 4 A_Chase
TSLD C 2 A_PlaySound("toysoldier/step2")
TSLD C 2 A_Chase
loop
Missile:
TSLD D 10 A_FaceTarget
TSLD E 8 A_CustomBulletAttack (22.5, 0, 1, 35, "BulletPuff", 0, CBAF_NORANDOM)
TSLD D 8
goto See
Pain:
TSLD A 10 A_Pain
Goto See
Death:
TSLD F 5
TSLD G 5 A_Scream
TSLD H 5 A_NoBlocking
TSLD I 5
TSLD J -1
stop
Raise:
TSLD JIHG 5
goto See
}
}
ACTOR Witch 301
{
Scale 0.45
Health 250
Radius 31
Height 56
Mass 100
Speed 40
PainChance 128
Monster
+FLOAT
+FLOATBOB
+NOGRAVITY
+DONTFALL
+MISSILEMORE
+MISSILEEVENMORE
AttackSound "witch/attack"
SeeSound "witch/sight"
PainSound "witch/pain"
DeathSound "witch/death"
Obituary "%o was no match for the Witch's magic tricks."
States
{
Spawn:
WICZ A 10 A_Look
Loop
See:
WICZ A 3 A_Chase
Loop
Missile:
WICZ B 5
WICZ C 5 A_ThrowGrenade("WitchEgg", 20, 8, 4)
Goto See
Pain:
WICZ D 3 A_Pain
Goto See
Death:
WICZ D 1 A_Scream
WICZ D 1 A_NoBlocking
WICZ D 1 A_SpawnProjectile("WitchDead", 0)
Stop
}
}
ACTOR WitchDead 302
{
Scale 0.45
Radius 31
Height 56
Speed 40
Damage 0
Projectile
+ROCKETTRAIL
SeeSound "witch/death"
DeathSound "imp/shotx"
States
{
Spawn:
WICZ D -1
Loop
Death:
MISL B 8 Bright A_SetScale(3.5)
MISL C 6 Bright
MISL D 4 Bright
Stop
}
}
ACTOR DaWizard 303
{
Scale 0.5
Health 3000
Radius 30
Height 60
Mass 3000
Speed 14
PainChance 32
Monster
+DROPOFF
+BOSS
+DONTMORPH
+FULLVOLACTIVE
+NOICEDEATH
+FLOORCLIP
+BOSSDEATH
+LOOKALLAROUND
+NEVERRESPAWN
+MISSILEMORE
+MISSILEEVENMORE
AttackSound "wizard/attack"
SeeSound "wizard/sight"
PainSound "wizard/pain"
DeathSound "wizard/death"
Obituary "%o was darned to heck by The Wizard."
DropItem "RedCard" 256
States
{
Spawn:
CZAR A 10 A_Look
Loop
See:
CZAR ABCD 4 A_Chase
Loop
Pain:
CZAR L 3
CZAR M 6 A_Pain
Goto See
Missile:
CZAR A 1 A_Jump(200, "Homie")
CZAR A 1 A_Jump(127, "Sigil")
Goto See
Homie:
CZAR AEF 4 A_PlaySound("wizard/attack")
CZAR G 8 A_SpawnProjectile("MummyFX1", 32)
Goto See
Sigil:
CZAR HIJKLM 3
CZAR NONO 3 A_PlaySound("wizard/thunder")
CZAR NONONONONO 2 A_SpawnProjectile("SpectralLightningSpot", 61)
Goto See
Death:
CZAR H 5 Bright A_Scream
CZAR I 5 Bright A_FadeOut(0.2)
CZAR J 5 Bright A_FadeOut(0.2)
CZAR K 5 Bright A_FadeOut(0.2)
CZAR L 5 Bright A_FadeOut(0.2)
CZAR M 5 Bright A_FadeOut(0.2)
Stop
}
}
ACTOR Cacopumpkin : Cacodemon replaces Cacodemon
{
Obituary "%o was surprised by a pumpkin."
HitObituary "%o became a pumpkin snack."
States
{
Missile:
HEAD BC 5 A_FaceTarget
HEAD D 5 Bright A_CustomComboAttack("CacodemonBall", 12, 10 * random(1, 6))
Goto See
}
}
ACTOR Pumpkin 304
{
Scale 0.5
Health 1
Radius 10
Height 42
+SOLID
+SHOOTABLE
+NOBLOOD
+ACTIVATEMCROSS
+DONTGIB
+NOICEDEATH
+OLDRADIUSDMG
DeathSound "pumpkin/smash"
States
{
Spawn:
PUMP A 10
Loop
Death:
PUMP BCDE 5
PUMP F -1
stop
}
}
Actor PumpkinSpawner : Pumpkin 305
{
Scale 0.5
DeathSound "caco/pain"
States
{
Death:
PUMP A 4 A_SetScale(0.6)
PUMP G 4 A_SetScale(0.7)
PUMP H 4 A_SetScale(0.8)
PUMP I 4 A_SetScale(0.9)
PUMP J 2 A_SetScale(1.0)
PUMP J 2 A_SpawnItemEx("Cacodemon")
stop
}
}
ACTOR WitchEgg 306
{
Radius 8
Height 8
Speed 25
Damage 20
Projectile
-NOGRAVITY
BounceType "Heretic"
Gravity 0.5
DeathSound "eggcrack"
BounceSound "weapons/grbnce"
States
{
Spawn:
WCEG A 1
Loop
Death:
WCEG B 8 Bright A_SpawnItemEx("WitchChicken")
WCEG C 6 Bright
WCEG D 4 Bright
Stop
}
}
ACTOR WitchChicken 307
{
Health 10
Radius 9
Height 22
Mass 40
Speed 4
PainChance 200
Monster
+WINDTHRUST
+DONTMORPH
+FLOORCLIP
SeeSound "chicken/pain"
AttackSound "chicken/attack"
PainSound "chicken/pain"
DeathSound "chicken/death"
ActiveSound "chicken/active"
Obituary "%o was pecked intensely by a chicken."
States
{
Spawn:
CHKN AB 10 A_Look
Loop
See:
CHKN AB 3 A_Chase
Loop
Pain:
CHKN D 5 A_Feathers
CHKN C 5 A_Pain
Goto See
Melee:
CHKN A 8 A_FaceTarget
CHKN C 10 A_CustomMeleeAttack(random[ChicAttack](1,2))
Goto See
Death:
CHKN E 6 A_Scream
CHKN F 6 A_Feathers
CHKN G 6
CHKN H 6 A_NoBlocking
CHKN IJK 6
CHKN L -1
Stop
}
}
//Realm 667 stuff
Actor Rifle : Weapon
{
Weapon.AmmoType "RifleAmmo"
Weapon.AmmoGive 10
Weapon.AmmoUse 1
Inventory.PickupMessage "You got the Rifle"
Inventory.PickupSound "misc/w_pkup"
Weapon.SelectionOrder 50
Weapon.Kickback 150
Decal BulletChip
States
{
Spawn:
RIFL A -1
Loop
Select:
RIFG A 1 A_Raise
Loop
Deselect:
RIFG A 1 A_Lower
Loop
Ready:
RIFG A 1 A_WeaponReady
Loop
Fire:
RIFG A 0 A_GunFlash
RIFG A 0 A_PlayWeaponSound("Weapons/RifleFire")
RIFG A 0 A_FireBullets(0, 0, 9, 5, "BlankPuff", 0)
RIFG A 4 A_FireBullets(0, 0, 1, 5, "BulletPuff", 1)
RIFG BCDCB 2
RIFG A 3
Goto Ready
Flash:
RIFF A 2 Bright A_Light1
RIFF B 2 Bright A_Light2
TNT1 A 0 A_Light0
Stop
}
}
Actor RifleAmmo : Ammo
{
Inventory.Amount 5
Inventory.MaxAmount 75
Ammo.BackpackAmount 5
Ammo.BackpackMaxAmount 150
Inventory.Icon RIFAB0
Inventory.PickupMessage "Picked up some rifle cartridges"
Inventory.PickupSound "misc/i_pkup"
States
{
Spawn:
RIFA A -1
Loop
}
}
Actor RifleBox : RifleAmmo
{
Inventory.Amount 25
Inventory.PickupMessage "Picked up a box of rifle cartridges"
States
{
Spawn:
RIFP A -1
Loop
}
}
Actor BlankPuff
{
+NoClip
States
{
Spawn:
TNT1 A 1
Stop
}
}
Spoiler:https://www.dropbox.com/s/prrk2nw8qaxpz ... d.pk3?dl=0
//My code
$random girlinpain { girlpain1 girlpain2 }
girlpain1 GIRLPAIN
girlpain2 GIRLPAINBIG
$playersound player male *death GIRLDEATH
$playersound player male *xdeath *death
$playersound player male *gibbed *death
$playersound player male *pain100 *girlinpain
$playersound player male *grunt GIRLUGH
$playersound player male *usefail *grunt
MageWandFire WAND4
caco/sight CACOSEE
caco/pain CACOPAIN
caco/death CACODEATH
pumpkin/smash PUMPKINSMASH
chicken/active chicact
chicken/attack chicatk
chicken/pain chicpai
chicken/death chicdth
chicken/peck1 chicpk1
chicken/peck2 chicpk2
chicken/peck3 chicpk3
$random chicken/peck { chicken/peck1 chicken/peck2 chicken/peck3 }
mummy/head mumhed
weapons/sigil dssigil
weapons/sigilhit dssglhit
weapons/sigilcharge dssiglup
eggcrack eggcrack
toysoldier/death TSLDCRASH
toysoldier/pain TSLDPAIN
toysoldier/step1 TSLDSTEP1
toysoldier/step2 TSLDSTEP2
witch/sight WICZSEE
witch/pain WICZPAIN
witch/death WICZDEAD
witch/attack WICZATTACK
wizard/sight WIZSEE
wizard/pain WIZPAIN
wizard/death WIZDEAD
wizard/thunder WOOSH3
$alias wizard/attack *brain/spit
//Realm 667 stuff
Weapons/RifleFire DSRIFFIR
I'm looking forward to your response. I'd like to apologize if this isn't the best forum for this kind of post, since it mixes a few areas of interest.
Best regards