Posted: Thu Sep 28, 2006 14:12
In the Cocktail actor, switch A_FireCustomMissile with A_CustomMissile
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
}
}
To have a larger XY OffsetFIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 30), Random(0,359))
FIR2 C 0 A_CustomMissile("MolotovFire", 0, Random(0, 80), Random(0,359))
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.
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
}
}
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
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
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
}
}