KillBot!

Talk about our & your projects.

Because of the way A_MonsterRail works, the rail can only be fired from the center.

Poll ended at Tue Sep 06, 2005 10:24

Should the rail attack be removed, and a new attack assigned?
2
33%
Should it be left to fire rails from its face, and have an alternate attack for the shoulder cannon?
3
50%
Fine as is?
1
17%
 
Total votes: 6

User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

KillBot!

Post by solarsnowfall »

Right now I'm working on a robot type monster designed to be a final boss. I know for certain it will be going into ZDCMP2.

I'm using Caligari True Space 3d application to make all of the sprites, and I'm about 2/3 done spriting for it (96 frames). It's done in hi-res, with 16 rotations.

As far as attacks go:

At long range it attacks with a shoulder mounted rail gun.
At medium range it will fire dual (alternating) seekermissiles.
At close range it's dual minigun action!

Defensively, it will have a spherical shield similar to the Arch Heinous.

It it will also have the ability to spawn small helper bots that are much quicker/weaker, armed with flame throwers (I think).

Image Image

Note: At hi-res (scaled down) dark spots around the edges don't stand out at all.
Last edited by solarsnowfall on Thu Sep 01, 2005 10:24, edited 2 times in total.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

Ok, I've got enough of the spriting do to begin scripting for the first attack. Here's a "mockup" of the rocket attack. It will have a custom seekermissile before it's done. I'm just hoping some of you folks can help me (pretty please) with testing this along the way. There are a lot of things missing from the decorate (ballanced health/mass/damage ect) there is no Pain or Death state yet, so if you kill it, it will just disappear.

http://solarsnow.drdteam.org/kilbot.rar
User avatar
Lexus Alyus
Posts: 95
Joined: Mon Aug 29, 2005 16:17
Location: Nottingham, UK
Contact:

Post by Lexus Alyus »

The sprite looks pritty cool. I've downloaded the rar and I'll give it a little test :).

I gave it a quick run through.

suggestions: Make it only fire about 4 rockets in a row or something and then have a short break. The constant stream of rockets is a bit annoying and doesn't give it a chance to use any of its other attacks. This makes it very easy to defeat for an experianced player. If those rockets are going to be homing its going to make it pritty tediously hard.

Didn't get chance to see its other attacks.

:twisted:
User avatar
Paul
DRD Team Admin (Inactive)
Posts: 1058
Joined: Thu Jun 30, 2005 13:30
Location: Poland - Grojec / Radom
Contact:

Post by Paul »

I like the graphics :)
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

Lexus Alyus wrote:Didn't get chance to see its other attacks.
Heh, I haven't coded them yet. Because spriting for 16 angles is so damn tedious, I've been pacing myself so that I don't get sick of it, and have been doing some decorate along the way.

The map that I put the monster in could have been better, because this monster will use range to decide it's attacks. And the rockets won't be used up close. I think eventually it will fire eight rockets, then return to the see state, with a small chance of repeating.

Heh, it doesn't even have a health value yet. Right now I'm working on it's defensive shield, and it seems to be coming along nicely.
User avatar
BlazingPhoenix
Posts: 488
Joined: Sun Aug 28, 2005 5:11
Contact:

Post by BlazingPhoenix »

when will this be done? because this looks pretty interesting.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

Hopefully I'll have all of the spriting done by tonight, and all of the decorate done by tomorrow. I'll keep posting updated versions, as I progress, because it helps with complicated monsters, if you can test along the way.
User avatar
BlazingPhoenix
Posts: 488
Joined: Sun Aug 28, 2005 5:11
Contact:

Post by BlazingPhoenix »

I'd like to test this. This looks pretty awesome.
User avatar
DomRem
Posts: 6
Joined: Mon Jul 11, 2005 1:54
Location: #DMClub
Contact:

Post by DomRem »

solarsnowfall wrote:Hopefully I'll have all of the spriting done by tonight, and all of the decorate done by tomorrow.
That quickly? Wow, can't wait to see and try out the final version for ZDCMP2.
User avatar
BlazingPhoenix
Posts: 488
Joined: Sun Aug 28, 2005 5:11
Contact:

Post by BlazingPhoenix »

ZDCMP2 will take forever to complete anyway :(
User avatar
DomRem
Posts: 6
Joined: Mon Jul 11, 2005 1:54
Location: #DMClub
Contact:

Post by DomRem »

OK, I just tested it out, and I'm wondering: Does it have any other attack than the rockets? That's all it did the entire time.

Also, on the strange side, while it was firing at me, I was looking up at it. It was near the wall, and I walked under it. Suddenly, it disappeared! WTF? :?

EDIT: After trying it again, it seems to blast itself through the wall and out of the level or something like that.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

*sigh*, earlier, I wrote wrote: Heh, I haven't coded them yet. Because spriting for 16 angles is so damn tedious, I've been pacing myself so that I don't get sick of it, and have been doing some decorate along the way.
Right now I have it just go bulistic and shoot the crap out of everything with rockets, because I wanted to test it to see if it looks right at all the angles. And it wipes out Spider Masterminds as though they were nothing!

I have implemented the sheilding, and I'm starting on the minigun firing sprites momentarily. I haven't touched the decorate enough for it do do anything more than move around, and enguage an attack.

After all the sprites are done, you'll see a version up with more complex behaviour, don't worry!

EDIT: When it dies, it disappears, there is no death state, so this is probably what your describing when it "blasts itself out of the level". When all is said and done, it won't be firing missiles at close range, so it won't be killing itself with them.
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

For those interested, I've got just about all the Killbot sprites prepared, and have writen the attacks sequences. They're in need of some tweeking, and I think the rail attack has to go :(

I'm using A_MonsterRail, wich cannot be manipulated very well, so I can't line it up so that it appears to be coming out of the shoulder mounted gun.

So eventually I think I'm going to extend the range fo the rockets, replace the BotRocket sprites with something better, and try to write some new creative short range attack for the for the shoulder mounted gun. I was thinking about some kind of "sonic" weapon, but only if I can make the sprites look good. Thoughts/comments?

http://solarsnow.drdteam.org/kilbot.rar

There still isn't a death state, there still aren't any death frames. I want to make this thing behave differently at different health values, so I'll get all of that straight then focus on how it dies
User avatar
solarsnowfall
Persecution Complex
Posts: 363
Joined: Fri Aug 05, 2005 8:51

Post by solarsnowfall »

Significant update. Working with Talonos, Phobus, and other ZDCMP2 members, I've begun sharpening the Killbots behavior to better suit a more interactive boss fight.

Added:

A new crippled phase. The bot slows down, sparks, and twiches once it's health has been depleted enough.

A new sonic attack. At close range, he has a chance of hitting his enemies with a shoulder mounted sonic weapon that rips through them with devistation!

Random teleporting! If this guy is taking heavy fire, he won't stick around for long. He has 9 different locations that can he can teleport to, to throw the player off.

Still needs:

CustomMissile sprites.
Death sprites
Helper bots.

Decorate:

[spoiler]

Code: Select all

Actor KillBot 3125
{
    Health 5000
    Height 180
    Mass 7000
    Radius 40
    Speed 10
    Damage 7
    Monster
    +FloatBob
    +NoGravity
    +NoBlood
    PainChance 32
    PainSound "killbot/pain"
    States
    {
    Spawn:
        BOTT A 1 A_Look 
        Loop
    See: 
        BOTT A 0 A_ChangeFlag("FloatBob", 1)
        BOTT A 0 A_ChangeFlag("NoGravity", 1)
        BOTT A 0 A_UnSetInvulnerable
        BOTT A 0 A_SetTranslucent(1,0)
        BOTT A 0 A_JumpIfHealthLower(2000, 5)
        BOTT A 0 A_Jump(4, 2)
        BOTT A 2 A_Chase
        Loop
        BOTT A 0 A_Pain
        BOTT A 2 A_Chase
        Loop
        BOTT A 0 A_Jump(64, 2)
        BOTT A 4 A_Chase
        Loop
        BOTT A 0 A_Jump(128, 9)
        BOTT A 0 A_PlaySound("world/spark1")
        BOTT A 0 BRIGHT A_CustomMissile("Spark1", 120, 0, 0)
        BOTT A 0 BRIGHT A_CustomMissile("Spark2", 120, 0, 8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark3", 120, 0, -8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark1", 120, 0, 16)
        BOTT A 0 BRIGHT A_CustomMissile("Spark2", 120, 0, -16)
        BOTT A 4
        BOTT A 4 A_Chase
        Loop
    	BOTT A 0 A_Jump(128, 11)
        BOTT A 0 A_PlaySound("world/spark2")
        BOTT A 0 BRIGHT A_CustomMissile("Spark2", 64, 16, 0)
        BOTT A 0 BRIGHT A_CustomMissile("Spark3", 64, 16, 8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark1", 64, 16, -8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark2", 64, 16, 16)
        BOTT A 0 BRIGHT A_CustomMissile("Spark3", 64, 16, -16)
        BOTT ABC 4
        BOTT A 4 A_Chase
        Loop
        BOTT A 0 A_PlaySound("world/spark3")
        BOTT A 0 BRIGHT A_CustomMissile("Spark3", 96, -32, 0)
        BOTT A 0 BRIGHT A_CustomMissile("Spark1", 96, -32, 8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark2", 96, -32, -8)
        BOTT A 0 BRIGHT A_CustomMissile("Spark3", 96, -32, 16)
        BOTT A 0 BRIGHT A_CustomMissile("Spark1", 96, -32, -16)
        BOTT ADF 4
        BOTT A 4 A_Chase 
        Loop
    Missile:
        BOTT A 0 A_ChangeFlag("FloatBob", 0)
        BOTT A 0 A_JumpIfCloser(1216, 8)
        BOTT A 8 A_FaceTarget
        BOTT A 8 A_SpawnItem("BotRail", 0, 120, 0)
        BOTT A 8 A_FaceTarget
        BOTT A 8 A_SpawnItem("BotRail", 0, 120, 0)
        BOTT A 8 A_FaceTarget
        BOTT A 8 A_SpawnItem("BotRail", 0, 120, 0)
        BOTT A 8
        Goto See
        BOTT B 0 A_JumpIfCloser(704, 18)
        BOTT BC 4 A_FaceTarget
    	BOTT G 4 BRIGHT A_CustomMissile("BotRocket", 140, 40, 0)
        BOTT C 4 A_FaceTarget
        BOTT H 4 BRIGHT A_CustomMissile("BotRocket", 140, -40, 0)
        BOTT C 4 A_FaceTarget
    	BOTT G 4 BRIGHT A_CustomMissile("BotRocket", 140, 40, 0)
        BOTT C 4 A_FaceTarget
        BOTT H 4 BRIGHT A_CustomMissile("BotRocket", 140, -40, 0)
        BOTT C 4 A_FaceTarget
        BOTT G 4 BRIGHT A_CustomMissile("BotRocket", 140, 40, 0)
        BOTT C 4 A_FaceTarget
        BOTT H 4 BRIGHT A_CustomMissile("BotRocket", 140, -40, 0)
        BOTT C 4 A_FaceTarget
        BOTT G 4 BRIGHT A_CustomMissile("BotRocket", 140, 40, 0)
        BOTT C 4 A_FaceTarget
        BOTT H 4 BRIGHT A_CustomMissile("BotRocket", 140, -40, 0)
        Goto See
        BOTT D 0 A_JumpIfCloser(384, 8)
        BOTT D 2 A_FaceTarget
        BOTT E 0 BRIGHT A_CposAttack
        BOTT E 0 BRIGHT A_CposAttack
        BOTT E 0 BRIGHT A_PlaySound("spider/attack")
        BOTT E 2 BRIGHT
        BOTT F 2 A_FaceTarget
        BOTT F 0 A_SpidRefire
        Goto Missile+30
        BOTT A 0 A_Jump(128, 66)
        BOTT A 0 A_PlaySound("lichflam")
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        BOTT A 1 BRIGHT A_FaceTarget
        BOTT A 1 BRIGHT A_CustomMissile("SonicAttack", 120, -8, 0)
        Goto See
        BOTT A 0
        Goto Missile+29
    Pain:
    	BOTT A 0 A_ChangeFlag("FloatBob", 0)
        BOTT A 0 A_Jump(128, 4)
    	BOTT A 0 A_ChangeFlag("NoGravity", 0)
    	BOTT A 32 
        Goto See
        BOTT A 0 A_SetInvulnerable
        BOTT A 1 A_PlaySound("shldup")
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
    	BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
    	BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
    	BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
    	BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
    	BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 1 A_FaceTarget
    	BOTT A 1 A_CustomMissile("BotShield", 0, 0, 0)
        BOTT A 0 A_Jump(128, 2)
        BOTT A 0 A_FaceTarget
        Goto Pain+6
        BOTT A 0 A_PlaySound("shlddown")
        BOTT A 0 A_Jump(128, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 53, 0)
        Goto See
        BOTT A 0 A_Jump(204, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 54, 0)
        Goto See
        BOTT A 0 A_Jump(153, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 55, 0)
        Goto See
        BOTT A 0 A_Jump(204, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 56, 0)
        Goto See
        BOTT A 0 A_Jump(153, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 57, 0)
        Goto See
        BOTT A 0 A_Jump(204, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 58, 0)
        Goto See
        BOTT A 0 A_Jump(153, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 59, 0)
        Goto See
        BOTT A 0 A_Jump(204, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 60, 0)
        Goto See
        BOTT A 0 A_Jump(128, 11)
        BOTT A 1 A_SetTranslucent(.9, 1)
        BOTT A 1 A_SetTranslucent(.8, 1)
        BOTT A 1 A_SetTranslucent(.7, 1)
        BOTT A 1 A_SetTranslucent(.6, 1)
        BOTT A 1 A_SetTranslucent(.5, 1)
        BOTT A 1 A_SetTranslucent(.4, 1)
        BOTT A 1 A_SetTranslucent(.3, 1)
        BOTT A 1 A_SetTranslucent(.2, 1)
        BOTT A 1 A_SetTranslucent(.1, 1)
        BOTT A 0 TeleportOther(52, 61, 0)
        Goto See
        BOTT A 8 
        Goto See
    }
}

Actor BotShield
{
    	Speed 0
	Height 180
	Radius 90
	+NoGravity
	+NoClip
	+FloorClip
	+Shootable
	+Invulnerable
	+Reflective
	RenderStyle Add
        Alpha 0.5
        Scale .85
        States
        {
        Spawn:
       	    BLKR A 2 BRIGHT
       	    Stop
        }
}

Actor BotRail 
{
	Speed 0
	Damage 20
	+IsMonster
        +NoGravity
	+NoBlockMap
	+NoClip
	RenderStyle Translucent
	Alpha 0
	Scale .01
	States
	{
	Spawn:
	    BLKR A 0 A_FaceTarget
            Goto See
        See:
            BLKR A 0 A_FaceTarget
            Goto Missile
        Missile:
            BLKR A 0 A_FaceTarget
            BLKR A 0 A_MonsterRail
            Stop
	}
}

Actor BotDebris
{
	Speed 0
	Damage 10
	+IsMonster
        +NoGravity
	+NoBlockMap
	+NoClip
	RenderStyle Translucent
	Alpha 0
	Scale .01
	States
	{
	Spawn:
	    BLKR A 0 
            Goto See
        See:
            BLKR A 0 
            Goto Missile
        Missile:
            BLKR A 0 A_SpawnDebris("BulletSpark")
            Stop
	}
}

Actor BotRocket : Rocket
{
	+SeekerMissile
        States
	{
        Spawn:
	    MISL A 4 A_SeekerMissile(5, 5)
	    Loop
	}
}

ACTOR BulletSpark
{
	Health 4
	radius 3
	height 6
	speed .1
	RenderStyle ADD
	Alpha 1
	Scale .1
	Mass 0
	+missile
	+doombounce
	+FLOORCLIP
	+DONTSPLASH
	States
	{
		SPRK A 1
		SPRK ABCDA 1  Bright A_SetTranslucent(.8,1)
		SPRK BCDABC 1  Bright A_SetTranslucent(.6,1)
		SPRK DABCDABC 1  Bright A_SetTranslucent(.4,1)
		SPRK DABCDABCDA 1 Bright A_SetTranslucent(.2,1)
		Stop
	}
}

Actor SonicAttack
{
	Speed 10
        Damage 1
        Projectile
	+Ripper
	+StrifeDamage
	RenderStyle Add
	Alpha 1
        Scale .5
        States
	{
	Spawn:
	    SONC K 1 BRIGHT A_SetTranslucent(.2,1)
            SONC J 1 BRIGHT A_SetTranslucent(.4,1)
	    SONC I 2 BRIGHT A_SetTranslucent(.6,1)
            SONC H 2 BRIGHT A_SetTranslucent(.8,1)
            SONC G 3 BRIGHT
            SONC F 3 BRIGHT	
            SONC E 4 BRIGHT
            SONC D 4 BRIGHT
            SONC C 4 BRIGHT
            SONC B 3 BRIGHT
            SONC A 3 BRIGHT
            SONC A 2 BRIGHT A_SetTranslucent(.8,1)
            SONC A 2 BRIGHT A_SetTranslucent(.6,1)
            SONC A 1 BRIGHT A_SetTranslucent(.4,1)
            SONC A 1 BRIGHT A_SetTranslucent(.2,1)
            Stop
        }
}

Actor TestImp : DoomImp
{
	Health 1000
        States
	{
	Missile:
	    TROO G 1 A_FaceTarget
	    TROO G 1 A_CustomMissile("SonicAttack", 48, 16, 0)
	    Loop
	}
}

Actor BotSpark
{
	Speed 0
	+IsMonster
	+NoGravity
	+NoClip
	+NoBlockMap
	RenderStyle Add
	Alpha 0
	Scale .01
	States
	{
	Spawn:
	    BLKR A 0 
	    Goto See
	See:
	    BLKR A 0
	    Goto Missile
	Missile:
	    BLKR A 0 A_Jump(128, 6)
            BLKR A 0 A_CustomMissile("Spark1", 0, 0, 0)
	    BLKR A 0 A_CustomMissile("Spark2", 0, 0, -8)
            BLKR A 0 A_CustomMissile("Spark3", 0, 0, 8)
            BLKR A 0 A_CustomMissile("Spark1", 0, 0, -16)
            BLKR A 0 A_CustomMissile("Spark2", 0, 0, 16)
            Stop
            BLKR A 0 A_Jump(128, 6)
            BLKR A 0 A_CustomMissile("Spark2", 0, 0, 0)
	    BLKR A 0 A_CustomMissile("Spark3", 0, 0, -8)
            BLKR A 0 A_CustomMissile("Spark1", 0, 0, 8)
            BLKR A 0 A_CustomMissile("Spark2", 0, 0, -16)
            BLKR A 0 A_CustomMissile("Spark3", 0, 0, 16)
            Stop
            BLKR A 0 A_CustomMissile("Spark3", 0, 0, 0)
	    BLKR A 0 A_CustomMissile("Spark1", 0, 0, -8)
            BLKR A 0 A_CustomMissile("Spark2", 0, 0, 8)
            BLKR A 0 A_CustomMissile("Spark3", 0, 0, -16)
            BLKR A 0 A_CustomMissile("Spark1", 0, 0, 16)
            Stop
        }
}

Actor Spark1
{
	Speed 3
	+Missile
	MissileType SparkTrail
	MissileHeight 0
	RenderStyle Add
	Alpha 1
	Scale .1
	States
	{
	Spawn:
	    SPRK B 1 A_MissileAttack
 	    Loop
 	Death:
 	    SPRK B 1 A_SetTranslucent(.8,1)
 	    SPRK C 1 A_SetTranslucent(.7,1)	
 	    SPRK D 1 A_SetTranslucent(.6,1) 
 	    SPRK E 1 A_SetTranslucent(.5,1)
 	    SPRK F 1 A_SetTranslucent(.4,1)
 	    SPRK G 1 A_SetTranslucent(.3,1)
            SPRK H 1 A_SetTranslucent(.2,1)
 	    Stop	
        } 
}

Actor Spark2
{
	Speed 5
	+Missile
	MissileType SparkTrail
	MissileHeight 0
	RenderStyle Add
	Alpha 1
	Scale .1
	States
	{
	Spawn:
	    SPRK B 1 A_MissileAttack
 	    Loop
 	Death:
 	    SPRK B 1 A_SetTranslucent(.8,1)
 	    SPRK C 1 A_SetTranslucent(.7,1)	
 	    SPRK D 1 A_SetTranslucent(.6,1) 
 	    SPRK E 1 A_SetTranslucent(.5,1)
 	    SPRK F 1 A_SetTranslucent(.4,1)
 	    SPRK G 1 A_SetTranslucent(.3,1)
            SPRK H 1 A_SetTranslucent(.2,1)
 	    Stop	
        }     
}

Actor Spark3
{
	Speed 7
	+Missile
	MissileType SparkTrail
	MissileHeight 0
	RenderStyle Add
	Alpha 1
	Scale .1
	States
	{
	Spawn:
	    SPRK B 1 BRIGHT A_MissileAttack
 	    Loop
 	Death:
 	    SPRK B 1 BRIGHT A_SetTranslucent(.8,1)
 	    SPRK C 1 BRIGHT A_SetTranslucent(.7,1)	
 	    SPRK D 1 BRIGHT A_SetTranslucent(.6,1) 
 	    SPRK E 1 BRIGHT A_SetTranslucent(.5,1)
 	    SPRK F 1 BRIGHT A_SetTranslucent(.4,1)
 	    SPRK G 1 BRIGHT A_SetTranslucent(.3,1)
            SPRK H 1 BRIGHT A_SetTranslucent(.2,1)
 	    Stop	
        }     
}

Actor SparkTrail
{
	Speed 0
	+NoBlockMap
	+NoGravity
	RenderStyle Add
	Alpha .8
	Scale .1
	States
	{
	Spawn:
	    SPRK C 1 BRIGHT A_SetTranslucent(.7,1)	
 	    SPRK D 1 BRIGHT A_SetTranslucent(.6,1) 
 	    SPRK E 1 BRIGHT A_SetTranslucent(.5,1)
 	    SPRK F 1 BRIGHT A_SetTranslucent(.4,1)
 	    SPRK G 1 BRIGHT A_SetTranslucent(.3,1)
            SPRK H 1 BRIGHT A_SetTranslucent(.2,1)
            Stop
        }
}
[/spoiler]

Download:

http://solarsnow.drdteam.org/killbotbeta.rar
User avatar
DomRem
Posts: 6
Joined: Mon Jul 11, 2005 1:54
Location: #DMClub
Contact:

Post by DomRem »

I believe I've found a bug.

If the killbot is frozen to death, and does not shatter right away, it will teleport onto the player and, subsequently, kill them instantly. This happened twice to me, and in neither instance was I close to the teleport destinations.
Post Reply

Return to “Projects”