-
Content count
584 -
Joined
-
Last visited
-
Some new sprites for @Stopsignal's 'Mimic' creature (sprites MIMCA0 and XPL2F0 are purely for reference,) using the mimic sprites as well as some gore from Brutal DooM. Row one is a pre-transformation death sequence (which then leads to frame 3 of the 2nd row as it's 4th frame,) for if the player manages to surprise the mimic before it gets a chance to transform. Row two is a post-transformation death sequence intended to be used if the creature goes back to sleep and the player attacks the "napping" corpse (alternately, the first frame of this row could be used as the starting point of a secondary spawn state.) Speaking of an alternate spawn state, row three (leading from the first frame of row two,) can be used as one. The sequence leads to MIMCZ0 to finish the waking sequence. This sequence can also be ran in reverse to put the creature back to sleep in a state minus the marine's legs. To take care of those, XPL2F0 from Brutal DooM can be used as a dropable gib when the mimic first wakes up. Currently, I'm using a pair of inventory tokens to handle the 3 different death sequences (5 if you factor in XDeath's for the "sleeping" corpses,) to pretty good results.
-
I got bored with the base rocket launcher sprites, so I slapped together this shielded one semi-based on the Panzerschreck. I used shield sprites created by mryayayify found in the PBShields wad and the base rocket launcher sprites, and created a modified pickup sprite as well. EDIT: I attached a wad that adds the new rocket launcher sprites (and some reticle sprites and various beeps I created. Not sure of the origin of the reloading audio.) along with some decorate coding to add a secondary homing function that fires 4 smaller homing rockets in succession. The rocket launcher is auto-reloaded after each fire to simulate how one would manually load each rocket. Non-homing rockets have also been modified to have a slight delay after being fired before zipping off. Homing functionality isn't perfect, but gets the job done. To use it, you must hold alt-fire while aiming at an enemy and once it's locked you can release the key to fire. new rocket launcher.rar
-
Better late than never! Here are some non-fatality sprites that lead to the bisected CyberDemon legs using sprites from 'Cyberdemon fatality & alternative deaths' by 00_Zombie_00.
-
I modified the cyberdemon's death animation using sprites from Brutal Doom and Doom II to create the beginning portion of a decapitation death. It should be pretty nifty to replace the current animations in Brutal Doom (and it's assorted modifications,) for the decap deaths, which currently just use the stock death animation with the head hidden behind a summoned explosion. Also, I slapped together a stomp animation for the Annihilator from Realm667 using the stomp sprites from Brutal Doom. It's not the best, but it works. Currently, I'm using it as an anime-inspired dodge/jump animation. EDIT: If anyone has sprites of JUST the top half of the CyberDemon exploding, that'd be awesome! EDIT 2: Nevermind on the exploding upper-half. I went ahead and made my own because I'm impatient. Lol. I'll either add it to this comment or add a new comment with the sprites later tonight.
-
I want the enemies to run when I come near them (or they see me, i guess,) with the chainsaw. There's an example on the zDooM wiki that shows how to use A_ChangeFlag and A_JumpIfInTargetInventory to change a monster's +FRIGHTENED flag from within the monster's own coding. However, that would require modifying code for a LOT of enemies I plan on using. Is there a way to achieve this same effect universally from within the coding of the chainsaw itself? I'm using decorate. Thanks in advance to anyone who may be able to help!
-
Trying to Create a Tri-Function AA12
[name_withheld] replied to [name_withheld]'s question in Editing Questions
After a LOT of trial and error I finally ended up coming up with a code that functions exactly how I want it to. Below is the updated code. Anyone is free to use it, modified or otherwise, for other weapons if they like. :) ACTOR AA12 : DoomWeapon 16792 { Weapon.AmmoUse 1 Weapon.AmmoUse2 1 Weapon.AmmoGive 10 Weapon.AmmoType "Shell" Weapon.AmmoType2 "Shell" Inventory.PickupMessage "You got the AA-12 shotgun!" Obituary "%o was blown away by %k's AA-12 shotgun." Weapon.SlotNumber 3 Weapon.SelectionOrder 3195 Weapon.SlotPriority 3 Decal "BulletChip" AttackSound "weapons/shotgf" Scale 0.85 States { Ready: AA12 A 1 A_WeaponReady Loop Deselect: AA12 A 1 A_Lower Loop Select: AA12 A 1 A_Raise Loop Fire: AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 AA12 A 7 A_Refire Goto Ready Hold: AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 AA12 A 10 A_ClearReFire Goto Ready AltFire: TNT1 A 0 A_JumpIfInventory("Shell",5,6) TNT1 A 0 A_JumpIfInventory("Shell",4,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",3,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",2,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",1,"Ready") TNT1 A 0 A_JumpIfNoAmmo("Ready") TNT1 A 0 A_Recoil(5) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) AA12 B 1 Bright A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) AA12 B 1 Bright A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) AA12 B 1 Bright A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) TNT1 A 0 A_FireCustomMissile("FlakShotGun",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-6,6)) AA12 B 0 Bright A_GunFlash TNT1 A 0 A_FireBullets (24, 6, 2, 2, "BulletPuff") TNT1 A 0 A_FireBullets (24, 6, 2, 2, "BulletPuff") TNT1 A 0 A_FireBullets (24, 6, 2, 2, "BulletPuff") TNT1 A 0 A_FireBullets (24, 6, 2, 2, "BulletPuff") TNT1 A 0 A_FireBullets (24, 6, 2, 2, "BulletPuff") TNT1 A 0 A_SetPitch(-16.0 + pitch) TNT1 A 0 A_FireCustomMissile("FlakShake", 0, 0, 0, 0) AA12 B 0 Bright BRIGHT A_SetPitch(+2.0 + pitch) AA12 C 1 Bright AA12 DA 2 AA12 A 30 A_CheckReload Goto Ready Flash: TNT1 A 4 Bright A_Light1 TNT1 A 3 Bright A_Light2 Goto LightDone Spawn: AA12 E -1 Stop } } ACTOR FlakShotGun { Projectile +RANDOMIZE +FORCEXYBILLBOARD +BOUNCEONFLOORS +BOUNCEONCEILINGS +NOGRAVITY BounceType Grenade bouncefactor 1 BounceSound "ricochet/hit" wallbouncefactor 1 damage (15+5*random(0, 2)) radius 2 height 2 speed 45 alpha 0.9 scale 0.25 states { Spawn: FKSD ABCDABCD 1 BRIGHT Light("FLAKHI") FKSD EFGHEFGHEFGH 1 BRIGHT Light("FLAKLO") TNT1 A 1 A_CustomMissile("FlakResidue",-5,0,0,CMF_AIMDIRECTION) Death: Stop XDeath: TNT1 A 0 Stop } } -
So, my goal with this weapon is to essentially have an AA12 with 3 different fire modes. Firstly, just a single shot if the player just presses the fire key/button. Then, a 5-round burst if the fire key/button is held. These both work completely as I intend them to, but the third function only kinda works. For the third mode, I want the shotgun to function like a flak cannon. It works completely how I want it to as long as my ammo count is a multiple of 5 (since it uses 5 shells per shot,) but if my shell count drops below 5 shells it just deselects and reselects the AA12 whenever I press the alt-fire key/button. I can still deplete the ammo like normal with the other two functions below 5 shells, though. Optimally, I'd like the gun to do nothing and just stay in the ready state if the player has less than 5 shells and presses alt-fire and still function completely how it already does otherwise. How would I accomplish this without it deselecting and reselecting? Any help would be greatly appreciated! ACTOR AA12 : DoomWeapon 16792 { Weapon.AmmoUse 1 Weapon.AmmoUse2 5 Weapon.AmmoGive 10 Weapon.AmmoType "Shell" Weapon.AmmoType2 "Shell" Inventory.PickupMessage "You got the AA-12 shotgun!" Obituary "%o was blown away by %k's AA-12 shotgun." Weapon.SlotNumber 3 Weapon.SelectionOrder 3195 Weapon.SlotPriority 3 Decal "BulletChip" AttackSound "weapons/shotgf" Scale 0.85 States { Ready: AA12 A 1 A_WeaponReady Loop Deselect: AA12 A 1 A_Lower Loop Select: AA12 A 1 A_Raise Loop Fire: AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 AA12 A 7 A_Refire Goto Ready Hold: AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 A_CheckReload AA12 B 1 Bright A_FireBullets (6, 4, 5, 5, "BulletPuff") AA12 B 0 Bright A_GunFlash AA12 B 0 Bright A_SetPitch (pitch-0.5) AA12 C 1 Bright AA12 DA 2 AA12 A 10 A_ClearReFire Goto Ready AltFire: TNT1 A 0 A_JumpIfInventory("Shell",5,6) TNT1 A 0 A_JumpIfInventory("Shell",4,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",3,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",2,"Ready") TNT1 A 0 A_JumpIfInventory("Shell",1,"Ready") TNT1 A 0 A_JumpIfNoAmmo("Nope") TNT1 A 0 A_Recoil(5) AA12 B 1 Bright A_FireCustomMissile("FlakShot",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-12,12)) TNT1 A 0 A_FireCustomMissile("FlakShot",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-12,12)) AA12 B 1 Bright A_FireCustomMissile("FlakShot",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-12,12)) TNT1 A 0 A_FireCustomMissile("FlakShot",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-12,12)) AA12 B 1 Bright A_FireCustomMissile("FlakShot",random(-12,12),0,0,8,FPF_NOAUTOAIM,random(-12,12)) AA12 B 0 Bright A_GunFlash TNT1 A 0 A_FireBullets (24, 6, 5, 7, "BulletPuff") TNT1 A 0 A_SetPitch(-16.0 + pitch) TNT1 A 0 A_FireCustomMissile("FlakShake", 0, 0, 0, 0) AA12 B 0 Bright BRIGHT A_SetPitch(+2.0 + pitch) AA12 C 1 Bright AA12 DA 2 AA12 A 20 A_JumpIfNoAmmo("Nope") Goto Ready Nope: TNT1 A 0 A_CheckReload Goto Ready Flash: TNT1 A 4 Bright A_Light1 TNT1 A 3 Bright A_Light2 Goto LightDone Spawn: AA12 E -1 Stop } }
-
How to Create a Portable Radsuit?
[name_withheld] replied to [name_withheld]'s question in Editing Questions
Would they be able to also turn it off this way as well, or would I need a bit more code for that? EDIT: This is the point in my own coding where I started drawing a blank as to how to go about getting the Radsuit to behave the way I want. -
How to Create a Portable Radsuit?
[name_withheld] replied to [name_withheld]'s question in Editing Questions
I'm familiar with creating basic things with Decorate (enemies with mildly complex behavior, weapons, basic armor,) but still inexperienced with the ACS side of things, so the "timer" method would indeed probably be easier. I would definitely be interested in you explaining the other way though, too, if you don't mind? :) -
Hello once again, everyone! I am attempting to create a portable Radsuit that the player adds to their inventory on pickup (and leaves their inventory when it's depleted,) and activates/deactivates (with the default inventory 'use' key,) so they aren't wasting it on areas that aren't dangerous. Also, rather than being on a timer, would it be possible for the Radsuit to act more like armor and only deplete on contact with slime/lava, or would this require more than just using Decorate/ACS to create just the Radsuit? If so, I don't mind just leaving it on a timer since the player would be able to turn it on and off. I'm not entirely sure where to start with this, other than creating the initial item that the player would pickup in the games-space. I believe I would leave out anything like +KEEPDEPLETED to get the effect of the used-up Radsuit getting discarded? Any help would be GREATLY appreciated. Thank you in advance to anyone willing and able to help! :)
-
Another day, another problem! I decided to take a crack at creating a GoreNest, and it works great. Aside from needing to tweak the timing of some stuff, the only issue I've run into is the explosions I created via decorate aren't generating sound when they spawn in. I have another creature that uses the same explosions upon death and it works exactly as intended, but this one just WILL NOT make sound other than the GoreNest's death sound. Is it an issue with my code? I even added an instance of A_PlaySound to the explosion and it still doesn't play. ACTOR GoreNest 26166 { Health 50 Radius 56 Height 92 Mass 1000 PainChance 85 MONSTER +SHOOTABLE +SOLID +AMBUSH +LOOKALLAROUND +DONTGIB +FLOORCLIP +NOICEDEATH bloodcolor "blue" DeathSound "nest/death" States { Spawn: GRNT AB 4 Loop Pain: TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT C 6 GRNT A 4 GRNT C 6 GRNT B 4 GRNT C 6 Goto Spawn Death: GRNT AB 4 TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT C 6 A_Scream GRNT A 4 GRNT C 6 A_SpawnProjectile("GoreNestExplosion1",32,0) TNT1 A 0 A_CustomMissile ("QCacoGib1", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) TNT1 A 0 A_SpawnProjectile("GoreNestExplosion3",8,16) TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT B 4 GRNT C 8 A_SpawnProjectile("GoreNestExplosion2",48,-32) TNT1 A 0 A_CustomMissile ("QCacoGib2", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) TNT1 A 0 A_SpawnProjectile("GoreNestExplosion3",8,16) TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT D 8 TNT1 A 0 A_CustomMissile ("QCacoGibZ", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT E 8 A_SpawnProjectile("GoreNestExplosion1",32,0) TNT1 A 0 A_CustomMissile ("QCacoGib3", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) TNT1 A 0 A_SpawnProjectile("GoreNestExplosion4",24,-16) TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT F 8 GRNT G 8 A_SpawnProjectile("GoreNestExplosion2",16,32) TNT1 A 0 A_CustomMissile ("QCacoGib4", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) TNT1 A 0 A_SpawnProjectile("GoreNestExplosion4",24,-16) TNT1 A 0 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion1",32,0) GRNT H 1 A_CustomMissile ("QCacoGib1", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion3",8,16) GRNT H 1 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion2",48,-32) GRNT H 1 A_CustomMissile ("QCacoGib2", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion3",8,16) GRNT H 1 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_CustomMissile ("QCacoGibZ", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion1",32,0) GRNT H 1 A_CustomMissile ("QCacoGib3", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion4",24,-16) GRNT H 1 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion2",16,32) GRNT H 1 A_CustomMissile ("QCacoGib4", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) GRNT H 1 A_SpawnProjectile("GoreNestExplosion4",24,-16) GRNT H 10 A_CustomMissile ("FlyingBloodCacodemon", 36, 0, random (0, 360), CMF_AIMDIRECTION, random (15, 75)) Stop } } ACTOR QCacoGibZ : QGibBase { Radius 10 Height 20 Speed 10 Mass 30 States { Spawn: JIB1 AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHH 1 A_SpawnParticle ("Blue", 0, 95, 4, 0, random(0, 8)-4, random(0, 8)-4, 0 , 0, 0, 0, 0, 0, -0.025) Loop Death: JIB1 A -1 Stop } } ACTOR GoreNestExplosion1 { Projectile Radius 37 Height 29 Damage 10 DeathSound "world/barrelx" States { Spawn: Death: TNT1 A 0 A_PlaySound("world/barrelx",0) MISL B 8 Bright A_Explode MISL C 6 Bright MISL D 4 Bright Stop } } ACTOR GoreNestExplosion2 : GoreNestExplosion1 { Damage 5 Scale .5 } ACTOR GoreNestExplosion3 : GoreNestExplosion1 { Damage 2 Scale .25 } ACTOR GoreNestExplosion4 : GoreNestExplosion1 { Damage 7 Scale .75 }
-
Thrown Grenade Not Working Appropriately
[name_withheld] replied to [name_withheld]'s question in Editing Questions
I ended up removing some stuff pertaining to the grenades only showing up in secret sectors as an item that can be picked up, and removed the part in the scripting that gave the player the inventory item at the start of the game so they can quick-throw the grenades. They work now, both as a quick-throw attack, and as a standalone weapon in slot "5." However, the only way to access either of these items now is to IDFA or IDKFA them into the inventory. I have an editor number defined in the MAPINFO, but nothing shows up in DoomBuilder (I'm using the bug fix version, so it should cooperate with the Z-Scripting.) Updated PK3 Here: https://drive.google.com/file/d/1A1o8aOSuKVEYU-gc0LthRknrgx3dU4ZN/view?usp=sharing -
Thrown Grenade Not Working Appropriately
[name_withheld] replied to [name_withheld]'s question in Editing Questions
I tried changing the 8 to a 5 and got the same results, sadly. As far as player classes, I am currently defining a custom player class in a decorate file. Would I be able to inherit from that custom class in the Z-Script even though it's defined in a decorate file? I'm just using it to set the player's start items (removed the pistol, and changed the fist.) -
Thrown Grenade Not Working Appropriately
[name_withheld] replied to [name_withheld]'s question in Editing Questions
Adding "Setslot 8 KZ_GrenadeWeapon" to the KEYCONFIG seems to do the same thing that adding the weapon via "Set.WeaponSlot 8" does and just doesn't allow me to select the slot or scroll past it. :/ Also, trying to add the weapons / ammo via the MAPINFO doesn't seem to work, either. As far as adding the grenade as both a weapon and quick attack, I want to be able to do both separately from one another (although, you'd still be able to quick throw a grenade while you have it selected as a weapon.) -
So, I wanted to add some grenades to my project as a weapon / quick throw (via dedicated key,) and was lucky to find something pretty reasonable here. It works great as a quick throw, but I cannot, for the life of me, get it to work as a normal weapon as well. Currently, it's set to weapon slot 8, but it doesn't allow me to access or scroll across this slot. It also doesn't allow me to even add it via DoomBuilder, even when I add editor numbers (I currently have none set because it was giving me an error message when I do.) I'm also unsure of how to modify the Z-Script to not give the player grenades at the beginning of play, as this is the first time I've worked with Z-Script specifically. Below I have linked to the file I have modified a little bit. Any help in this matter would be GREATLY appreciated, thanks! :) Link to My Piss-Poor Scripting