The Nutcracker Posted December 21, 2006 Recently, I started making a decorate lump that included a monster with more than 1 attack. I did not know how to do this, so I looked at the decorate lump in lost soulsphere: gold edition, and, as far as I could see it, all you needed to do was add Goto See after each attack. I tried that, and it never used any attack aside from the first. I tried making it one big attack, but that did not seem to work right. I left it at that point, and looked on the internet to find info, but all I could find was house decorating junk. Could anyone help me? If it helps, this is how the decorate part about that monster looks so far: ACTOR Cyberbomber 20000 { speed 32 radius 40 height 112 health 5000 Mass 200 PainChance 0 MONSTER +FLOORCLIP missiletype Rocket AttackSound " " DeathSound "player/male/death1" obituary"%o was deconstructed a cyberbomber" MeleeDamage 100 States { Spawn: CYBR AB 10 A_Look loop See: CYBR A 2 A_FastChase CYBR B 2 A_FastChase CYBR C 2 A_FastChase CYBR D 2 A_FastChase Loop Missile: //the lengthy attacking phase. OK, it's not THAT long, but it is longer than normal attacks. CYBR E 20 A_FaceTarget CYBR E 2 A_FaceTarget CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) // big bad start rocket blast state CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 20) CYBR F 2 A_CustomMissile ("Rocket", 32, 0, -20) CYBR F 2 A_FaceTarget CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 5) CYBR F 2 A_CustomMissile ("Rocket", 32, 0, -5) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR E 2 //circular rocket launch state CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 20) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 40) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 60) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 80) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 100) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 120) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 140) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 160) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 180) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 200) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 220) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 240) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 260) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 280) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 300) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 320) CYBR E 2 CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 340) CYBR E 0 A_FaceTarget CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0)//extensive rockets state CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 1 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_MonsterRail //superrail and super rocket states CYBR F 0 A_MonsterRail CYBR F 0 A_MonsterRail CYBR F 0 A_MonsterRail CYBR F 0 A_MonsterRail CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, 0)//Tri-BFG State CYBR F 0 A_CustomMissile ("BFGBall", 32, 0, -20) CYBR F 0 A_CustomMissile ("BFGBall", 32, 0, 20) CYBR F 0 A_CustomMissile ("BFGBall", 32, 0, 0) //Mancubus Fire State CYBR F 2 A_CustomMissile ("FatShot", 32, 0, 0) CYBR E 2 CYBR F 0 A_CustomMissile ("FatShot", 32, 0, 0) CYBR F 0 A_CustomMissile ("FatShot", 32, 0, 20) CYBR F 0 A_CustomMissile ("FatShot", 32, 0, -20)//Random Plasma launch state CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, 0) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, -20) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, 35) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, -80) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, 25) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, -73) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, 35) CYBR E 4 CYBR F 1 A_CustomMissile ("PlasmaBall", 32, 0, -80) CYBR E 10 CYBR F 1 A_SkelMissile//revanant fireball state CYBR E 5 CYBR F 1 A_SkelMissile CYBR E 5 CYBR F 1 A_SkelMissile CYBR E 5 CYBR F 1 A_SkelMissile CYBR E 5 CYBR F 1 A_SkelMissile CYBR E 20 CYBR F 1 A_CPosAttack//Chaingun attack state CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR E 2 CYBR F 1 A_CPosAttack CYBR F 1 A_VileAttack//Player Jumping Attacks state CYBR E 20 CYBR F 1 A_VileAttack CYBR E 20 CYBR F 1 A_VileAttack CYBR E 20 CYBR F 1 A_BrainSpit//Spawning CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR F 1 A_BrainSpit CYBR E 50 //And it FINALLY ends with a quick reloading for the cyb Goto See Melee: CYBR E 8 A_FaceTarget CYBR E 8 A_FaceTarget CYBR E 8 A_FaceTarget CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_CustomMissile ("Rocket", 32, 0, -10) CYBR F 0 A_Explode CYBR E 8 Goto See Death: CYBR H 5 CYBR I 5 A_Scream CYBR J 5 A_Fall CYBR K 5 CYBR L 5 CYBR M 5 CYBR N 5 CYBR O 5 CYBR P -1 Stop } } 0 Share this post Link to post
jobro Posted December 30, 2006 First things first, I'm not good at ACS / Decorate, not yet. But you gotta let the cyberbomber evaluate the situation, depending on it's AI pick 1 of it's attacks and fullfill it. Do you get my point? I can do an example in pseudocode similar to Delphi for you: dist := getdistance if dist > 1000 then begin atk := random(5); // assuming you have 5 attacks case atk of 0: chaingunattack; 1: plasmaattack; 2: rocketattack; 3: bfgattac 4: revenantattack else donothing; end; end else speed := 500; translunicent := true; face target(player); end; 0 Share this post Link to post
myk Posted December 30, 2006 "%o was deconstructed a cyberbomber" What is it, a cybernetic Jacques Derrida? 0 Share this post Link to post
jobro Posted December 30, 2006 I have no idea what this thing is, but looking at the attack sure makes it look lethal to say the least. 0 Share this post Link to post
jobro Posted January 10, 2007 Sorry for double posting, but your cyberbomber lacks this. 0 Share this post Link to post
The Nutcracker Posted January 13, 2007 I see I didn't put in an A_Jump state in. I'll try to use it, but with the few test wads I used to test it, I can see I'm not good at using it. I'll practice some more with it, and hopefully I can revise the cyberbomber decorate definition (or whatever it is called). Oh, and myk, It is not a cybernetic Jacques Derrida, or at least, not yet. I haven't designed a sprite for it yet, so it still uses the normal Cyberdemon sprite. It'll most likely end up with that look when I'm done with it, though. 0 Share this post Link to post
jobro Posted January 13, 2007 When you're done with it then you should really concider contacting the zdoom zdcmp2 crew and revise this bad ass bastard for them as a final boss for their project. At least I want to see this cyberbomber. :D Here, take a look at my bulletpuff replacement BPuff, it uses it to randomly play the ricochet sample. // JoBro Media Decorate starts here actor BPuff replaces BulletPuff { spawnid 131 renderstyle Translucent alpha 0.5 +NOBLOCKMAP +NOGRAVITY +ALLOWPARTICLES states { Spawn: PUFF A 4 bright PUFF B 4 PUFF B 1 A_JUMP(200,2) PUFF B 1 A_PLAYSOUND(RICO) // Intentional fall-through Melee: PUFF CD 4 PUFF CD 4 stop } } // JoBro Media Decorate ends here As you see the line PUFF B 1 A_JUMP(200,2) randomly jumps 2 frames (2 lines) down to the Melee section. The chance is quite high it does, but if it doesn't then the sound is played. 0 Share this post Link to post
The Nutcracker Posted January 13, 2007 Okay, I currently have the Cyberbomber fixed, and I have a sprite for it, so I think I will send to the zdoom zdcmp2 crew crew as a final boss. Only 1 Question: How can I do that? 0 Share this post Link to post