Well, I used the coding example that you used, but it still doesn't seem to work. The flames seem to appear seconds after the molotov explodes. I'm not sure what I'm doing wrong here.
Code: Select all
ACTOR MolotovCocktails : Weapon 14888
{
Inventory.PickupMessage "Molotov Cocktails! Burn 'em all!"
Obituary "%o burned to death from %k's molotov cocktail."
Weapon.SelectionOrder 440
Weapon.AmmoGive 3
Weapon.AmmoUse 1
Weapon.AmmoType "MOLOTOVS"
inventory.icon "STWEAP18"
Inventory.PickupSound "weapons/molotovpickup"
+NOALERT
States
{
Spawn:
MOLO A -1
LOOP
Ready:
MOLI A 1 A_WeaponReady
LOOP
Deselect:
MOLI A 1 A_Lower
LOOP
Select:
MOLI A 1 A_Raise
LOOP
Fire:
MOLI A 0 A_JumpIfNoAmmo(1)
MOLI A 5 A_PlayWeaponSound ("weapons/lighterclose")
MOLI A 6
MOLI A 5 BRIGHT A_PlayWeaponSound ("weapons/lighterflick")
MOLI A 3
MOLI A 5 BRIGHT A_PlayWeaponSound ("weapons/lighterflick")
MOLI A 3 BRIGHT A_Light1
MOLI B 2 BRIGHT
MOLI C 2 BRIGHT
MOLF A 2 BRIGHT
MOLF B 2 BRIGHT
MOLF C 2 BRIGHT
MOLF D 2 BRIGHT A_PlayWeaponSound("weapons/firestart")
MOLF E 2 BRIGHT
MOLF F 2 BRIGHT
MOLF G 2 BRIGHT
MOLF H 2 BRIGHT
MOLF I 2 BRIGHT
MOLF J 2 BRIGHT
MOLF K 2 BRIGHT
MOLF L 2 BRIGHT
GREN G 0 A_Light0
GREN G 1 A_PlayWeaponSound("weapons/grenthrow")
GREN H 1 A_FireCustomMissile("Cocktail",-1,1,3,2)
GREN I 2
MOLI A 4
Goto Ready
AltFire:
MOLI A 0 A_JumpIfNoAmmo(1)
MOLI A 5 A_PlayWeaponSound ("weapons/lighterclose")
MOLI A 6
MOLI A 5 BRIGHT A_PlayWeaponSound ("weapons/lighterflick")
MOLI A 3
MOLI A 5 BRIGHT A_PlayWeaponSound ("weapons/lighterflick")
MOLI A 3 BRIGHT A_Light1
LITR A 3 BRIGHT
LITR ABCD 2 BRIGHT
LITR BCD 2 BRIGHT
LITR BCD 2 BRIGHT
LITR BCD 2 BRIGHT
LITR E 2 BRIGHT
LITR F 2 BRIGHT
LITR G 2 A_Light0
LITR G 2 A_PlayWeaponSound ("weapons/lighterclose")
LITR H 2
Goto Ready
}
}
ACTOR CocktailProjectile
{
Obituary "%o burned to death from %k's molotov cocktail."
height 8
radius 10
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 A 0 BRIGHT A_AlertMonsters
EXPL ABC 1 BRIGHT A_EXPLODE
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
FIR2 AAAAAA 0 A_SPAWNITEMEX("MolotovFire", 0, 0, 0, 4, 4, 0, random (0, 360), 0)
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 10
radius 20
damage 10
speed 2
scale 0.7
seesound "weapons/fire"
ExplosionDamage 3
ExplosionRadius 60
PROJECTILE
+FIREDAMAGE
+FloorHugger
+RANDOMIZE
-NOGRAVITY
states
{
Spawn:
FIR2 A 0 BRIGHT
FIR2 A 0 A_Explode
FIR2 A 0 A_Jump(191,1)
FIR2 ABCDEF 2 BRIGHT
FIR2 GHIJKL 2 BRIGHT
FIR2 ABCDEF 2 BRIGHT
FIR2 GHIJKL 2 BRIGHT
FIR2 A 0 BRIGHT A_Stop
FIR2 ABCDEF 2 BRIGHT
FIR2 GHIJKL 2 BRIGHT
FIRD ABCDEF 2 BRIGHT
FIRD GHIJKL 2 BRIGHT
FIRD MNO 2 BRIGHT
stop
}
}