Lizardcommando's mods journal

In this forum, you can start an ongoing development diary detailing the progress on your latest mods in progress.

Moderator: wildweasel

User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

In the Cocktail actor, switch A_FireCustomMissile with A_CustomMissile
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

Well, the molotov cocktails work to some extent. They can finally spawn the fire, but for some reason, it usually disappears way too fast. It won't even play the death animation for the fire (That is, it won't play the animation where the fire disappears). What can I do to fix this?
User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

Well, I dont think you can Scale anything up to 5, unless you meant to put 0.5 or .5
Thats the only thing I can find wrong with it without actually having a wad to see what its doing wrong myself
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

I got rid of the scaling thing. I decided to keep the original size of the fire. It's a bit big, but I wanted it like in Metal Slug how the firebombs engulf the enemy soldiers with the huge flames! :twisted:
User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

Did it work? Oh, and Screenies please :D
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

Well, it kinda works. The problem is that sometimes the fire disappears too fast. Also, I kinda want the fire to spawn in kind of a random configuration. I don't know how to explain it, but I want the fire to spawn like the Molotov Cocktail in ICD-Lizard or like the exploding barrels in ICD-SE. I'll try to get screenshots up later today.
User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

Well, I know how to do the random stuff, although Im a bit sketchy with the spawn offset argument. Also, with the moltov fire spawning more moltov fires, thats going to create a never-ending funnel of fire that will slow G/ZDoom down to a crippled snail's pace in no time, unless I read the code worng, I just kindof glanced over it, and the fire is dying to fast because projectiles normally die when they touch the ground, so I gave the MoltovFire actor the +Floorhugger flag to negate that, although it wont shoot up in the air, it will stay on the ground

EDIT: Oh, and that ThrustThingZ command in the beginning wont work for two reasons, its in the very first line of a state, and Its set to 0 Tics, the Force is essentially Force per tics. Also, I've tried to use that to get a somewhat more "Realistic" spreading tracer round machine gun awhile back, but it just doesnt work when aiming up or down, When you aim down, the projectile would shoot up and vice cersa when shooting up. As of right now, theres no way I know of to remedy that problem.

ACTOR Cocktail
{
Obituary "%o burned to death from %k's molotov cocktail."
height 8
radius 6
damage 8
speed 25
ExplosionRadius 80
ExplosionDamage 50
deathsound "weapons/molotovexplode"
PROJECTILE
+GRENADETRAIL
+FIREDAMAGE
+RANDOMIZE
-NOGRAVITY
states
{
Spawn:
MCCK A 0 BRIGHT ThrustThingZ(0,5,0,1)
MCCK ABCDE 2 BRIGHT
loop
Death:
EXPL ABC 1 BRIGHT A_EXPLODE
EXPL C 0 BRIGHT A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0, 359))
EXPL D 0 BRIGHT A_CustomMissile("MolotovFire",0,Random(0, 30),Random(0,359))
EXPL C 0 BRIGHT A_CustomMissile("MolotovFire",0, Random(0, 30), Random(0,359))
EXPL DEF 1 BRIGHT A_EXPLODE
EXPL GHI 1 BRIGHT A_EXPLODE
EXPL J 0 A_Jump(191,1)
EXPL JKL 1 BRIGHT
EXPL MNOP 1 BRIGHT
EXPL QRSTUVW 1
stop
}
}

ACTOR MolotovFire
{
Obituary "%o got too close to %k's flames."
height 8
radius 8
damage 10
speed 0
seesound "weapons/fire"
ExplosionDamage 5
ExplosionRadius 64
PROJECTILE
+FIREDAMAGE
+FloorHugger
+RANDOMIZE
-NOGRAVITY
SCALE 5
states
{
Spawn:
FIR2 A 0 BRIGHT
FIR2 A 0 A_Explode
FIR2 A 0 A_Jump(191,1)
FIR2 ABC 2 BRIGHT
FIR2 C 0 A_CustomMissile("MolotovFire", 0,
Random(0, 30), Random(0,359))
FIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 DEF 2 BRIGHT
FIR2 F 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 F 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 F 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 GHI 2 BRIGHT
FIR2 I 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 I 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 I 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 JKL 2 BRIGHT
FIR2 L 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 L 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 L 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIRD ABCDEF 2 BRIGHT
FIRD GHIJKL 2 BRIGHT
FIRD MNO 2 BRIGHT
stop
}
}
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

Alright, excellent! Thanks Zeg-Vok! That's pretty much how I wanted the molotov cocktail to act like! Although I kind of wanted the fire to be a bit seperate from each other, but I can live without it. Yeah, it kinda lags, but I'll just get rid of three of the spawning fire things.

I've been tinkering with the coding for the molotov cocktail but it's being a pain. I did get rid of the lag by getting rid of the spawning code in the cocktailfire. Unfortunately, the fire is still spawned in a small area. I can't really explain it. Basically, the picture explains what happens. Is there a way to make the fire spawning spread out a bit more?
Attachments
DOOM0001.png
DOOM0001.png (55.22 KiB) Viewed 2351 times
User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

Well, what I did with the Starburster in my little mod, was I just let the fire move out in a circular pattern away from the center of the explosion, but another thing you could do, is have the cocktail shoot invisible floorhugging projectiles that spawn the fire as they get further away from the center of the explosion.

Or . . .

Change
FIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
To have a larger XY Offset
FIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 80), Random(0,359))
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

I tried changing the offset thing like you said, but it didn't really do much though. There's probably something that I'm missing or skipping over somehow...
User avatar
Zeg-Vok
Posts: 233
Joined: Wed Sep 21, 2005 18:04
Location: Up the creek without a paddle
Contact:

Post by Zeg-Vok »

Well, what you could do, is instead of the offset being (0, 80), you could do something like (40, 80), or use the invisible projectile method or the moving fire method I mentioned.

In my mod I partially finished (Not Really), I have a weapon that essentially fired Incindiary bolts that would shoot fire down from the cieling and spawn flames that would should out in an outward circle . . .

actor starburstbeta
{
Height 3
Radius 3
Speed 33
Damage 4
Translation 2
Projectile
+Skyexplode
States
{
Spawn:
APLS AB 3 BRIGHT
Loop
Death:
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 0)
APBX A 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 0)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 36)
APBX A 0 BRIGHT A_CustomMissile("Napefir2", 0, 0, 36)
APBX A 0 BRIGHT A_CustomMissile("Napefir3", 0, 0, 36)
APBX A 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 36)
APBX A 2 BRIGHT A_CustomMissile("smallburst", 0, 0, -36)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, -36)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, -36)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, -36)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 72)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, 72)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, 72)
APBX B 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 72)
APBX B 2 BRIGHT A_CustomMissile("smallburst", 0, 0, -72)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, -72)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, -72)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, -72)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 108)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, 108)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, 108)
APBX C 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 108)
APBX C 2 BRIGHT A_CustomMissile("smallburst", 0, 0, -108)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, -108)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, -108)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, -108)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 144)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, 144)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, 144)
APBX D 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 144)
APBX D 2 BRIGHT A_CustomMissile("smallburst", 0, 0, -144)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, -144)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, -144)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, -144)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, 180)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, 180)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, 180)
APBX E 0 BRIGHT A_CustomMissile("smallburst", 0, 0, 180)
APBX E 2 BRIGHT A_CustomMissile("smallburst", 0, 0, -180)
APBX A 0 BRIGHT A_CustomMissile("Napefire", 0, 0, -180)
APBX A 0 BRIGHT A_CustomMissile("Napefire2", 0, 0, -180)
APBX A 0 BRIGHT A_CustomMissile("Napefire3", 0, 0, -180)
Stop
}
}
The 3 different types of Napefire moved at different speeds and the smallbursts were the things that shot downward. The whole thing made a nice incindiary effect, but since I made this before the Random stuff was put in, it looked a little strange, and it was REDICULOUSLY powerful. The whole moving fire approach actually looks nice.

There is another way . . .

actor flameArcer
{
Health 6
Height 3
Radius 3
Speed 12
Damage 0 //Make it cause damage if you want
Renderstyle None
Projectile
-Nogravity
States
{
Spawn:
BAL7 A -1
Death:
BAL7 A 0
BAL7 A 1 A_SpawnItem("MoltovFire", 0, 0, 0)
Stop
}
}

ACTOR Cocktail
{
Obituary "%o burned to death from %k's molotov cocktail."
height 8
radius 6
damage 8
speed 25
ExplosionRadius 80
ExplosionDamage 50
deathsound "weapons/molotovexplode"
PROJECTILE
+GRENADETRAIL
+FIREDAMAGE
+RANDOMIZE
-NOGRAVITY
states
{
Spawn:
MCCK A 0 BRIGHT ThrustThingZ(0,5,0,1)
MCCK ABCDE 2 BRIGHT
loop
Death:
EXPL ABC 1 BRIGHT A_EXPLODE
EXPL C 0 BRIGHT A_CustomMissile("flameArcer", 0, 0, Random(0, 359), 4, Random(0, 80))
EXPL D 0 BRIGHT A_CustomMissile("flameArcer",0, 0, Random(0,359), 4, Random(0, 80))
EXPL C 0 BRIGHT A_CustomMissile("flameArcer",0, 0, Random(0,359), 4, Random(0, 80))
EXPL DEF 1 BRIGHT A_EXPLODE
EXPL GHI 1 BRIGHT A_EXPLODE
EXPL J 0 A_Jump(191,1)
EXPL JKL 1 BRIGHT
EXPL MNOP 1 BRIGHT
EXPL QRSTUVW 1
stop
}
}

Or . . .

Death:
EXPL ABC 1 BRIGHT A_EXPLODE
EXPL C 0 BRIGHT A_Mushroom("flameArcer", 6) //Set whatever number you want
EXPL DEF 1 BRIGHT A_EXPLODE
EXPL GHI 1 BRIGHT A_EXPLODE
EXPL J 0 A_Jump(191,1)
EXPL JKL 1 BRIGHT
EXPL MNOP 1 BRIGHT
EXPL QRSTUVW 1
stop

Or . . .

Death:
EXPL ABC 1 BRIGHT A_EXPLODE
EXPL C 0 BRIGHT A_SpawnDebris("flameArcer") //SpawnDebris is a little odd though
EXPL DEF 1 BRIGHT A_EXPLODE
EXPL GHI 1 BRIGHT A_EXPLODE
EXPL J 0 A_Jump(191,1)
EXPL JKL 1 BRIGHT
EXPL MNOP 1 BRIGHT
EXPL QRSTUVW 1
stop
A few notes however, the first example uses the 4th aimmode which fixes projectile ownership problems, Im not sure if the whole pitch thing would work with it, if thats the case you would either have to just go with Aimmode 2, or try to fiddle with the other 2 ways of doing things. Also, A_Mushroom calls in its own explosion parameter aswell, and there HAS to be a number argument after the actor string when you call it, otherwise it will use the projectile's damage amount to tell it how many fireArcers it will launch. I learned that the hard way with that Nuke
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

Ugh, nothing seems to want to work right at all. I think I may have fucked up somehow with the coding. It keeps saying something about "bullet" being an unknown actor property or some bullshit. But the problem is that I can't even find anything that says bullet or wahtever. I'm going nuts over this.

If someone with some extensive knowledge of DECORATE wants to take a look at the coding for the entire mod and try to fix the bugs plaguing it, please respond to this thread and I will email you the wad. So, any takers?
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

I think I may have fixed the problem with the unknown error thing. Apparently, I needed to put quotes around the name of my item, uh yeah...

Anyways, the random armor spawner works, at least as far as I can tell. The random ammo spawner and random hand explosives spawner (handgrenades and molotov cocktails) needs to be fixed a bit. I can probably use the example from the random armor spawner to fix it.

I still need a DECORATE expert to take a look at my mod and fix the coding a bit. So if ayone fits that description and is interested to take a look at the stuff I have so far, please post in this thread and I'll email you the mod.
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

Hey guys, I just came by to say that my project isn't dead. I fixed the Heavymachinegun a bit. I added the ammobox and the bullets onto it so now you can actually see the bullets cycle into the gun. That's pretty much the only good news I have.

I'm still struggling to draw the assault rifle. Everytime I do it, it looks like shit. I'll eventually get around to making it... The coding is still a complete clusterfuck of a mess. The reloads aren't working for the shotgun and the magnum. The Molotov Cocktail is still fucked up. It works to some extent, but the fire spawns far from where the explosion spawns which makes it look really retarded. In fact, fire won't even spawn sometimes.

My offer still stands:

I still need a DECORATE expert to take a look at my mod and fix the coding a bit. So if ayone fits that description and is interested to take a look at the stuff I have so far, please post in this thread and I'll email you the mod.

In the meantime, I'll try to get the crouching sprites started soon...
User avatar
lizardcommando
Posts: 375
Joined: Fri Jul 08, 2005 6:12
Location: Somewhere in California

Post by lizardcommando »

I have some good news and some bad news.

The good news is that I finally drew an assault rifle that doesn't look like complete shit. I'll get screenshots later. I also added in the reloading code for the Heavy Machinegun. The bad news is that the reloading code is fucked up. I don't get what I did wrong. I copied my pistol reloading code and that worked (To some extent).

Code: Select all

ACTOR Heavymachinegun : Weapon 14666
{
   +AMMO_OPTIONAL
   Inventory.Pickupmessage "You got the Heavy Machinegun!"
        Obituary "%o was gunned down by %k's Heavy Machinegun."
   AttackSound "weapons/hmgunshoot"
   Inventory.PickupSound "weapons/hmgpickup"
   Weapon.SelectionOrder 350
   Weapon.AmmoType "HMGCLIP"
   Weapon.AmmoType2 "HMGAMMO"
   Weapon.AmmoGive 100
   Weapon.AmmoGive2 100
   Weapon.AmmoUse 1
   States
   {
   Spawn:
      MG60 A -1
      LOOP 
   Ready:
      HMGG A 1 A_WeaponReady
      HMGG A 0 A_JumpIfInventory("IsReloading",1,2)
      HMGG A 0
      Loop
      HMGG A 1
      Goto Fire+4      
      Loop
   Deselect:
      HMGG A 1 A_Lower
      Loop
   Select:
      HMGG A 1 A_Raise
      Loop
   Fire: 
      HMGG A 0 A_JumpIfNoAmmo(4)
      HMGF A 2 BRIGHT A_FireBullets(6,6,-1,8,0,1)
      HMGF A 0 BRIGHT A_Light1
      HMGF B 1 BRIGHT A_FireBullets(6,6,-1,8,0,1)
      HMGF A 0 BRIGHT A_Light0
      Goto Ready
      HMGR A 1 A_Playsound("weapons/click")
    //Reload:
      HMGR A 0 A_JumpIfInventory("HMGCLIP",100,2)
      HMGR A 0 A_JumpIfInventory("HMGAMMO",1,2)
      HMGR A 0
      Goto Ready
      HMGR A 0 //Left this frame in just for Offset reasons.
      HMGR A 3
      HMGR B 3
      HMGR C 3
      HMGR D 3
      NULL A 8 A_PlaySound("weapons/hmgreload")
      HMGR E 3
      HMGG A 3
      HMGG D 0 A_GiveInventory("HMGCLIP",1)
      HMGG D 0 A_TakeInventory("HMGAMMO",1)
      HMGG A 0 A_JumpIfInventory("HMGCLIP",100,2)
      HMGG A 0 A_JumpIfInventory("HMGAMMO",1,2)
      HMGG A 1
      Goto Ready
      HMGG A 0
      Goto Fire+22
  } 

}
Locked

Return to “Development Journals”