i tried to port convert the decohack code of the legacy of rust used in kex engine in the 2024 rerelease weapons in decorate
the Incinerator works perfect same as it is in legacy of rust
but with the Calamity blade weapon there is two problems i tryed to fix so far without success and i dont have something else to try anymore
first problem:
the weapon should use ammo amount of 10 per any single charge like as it does in legacy of rust
but it does use a 10 ammo per any A_FireProjectile there is in the charge in the code
so lets say there is 3 code lines of A_FireProjectile it will than use 30 ammo
the second problem:
this is more complicated: if you have enough ammo to fire with the weapon but not enough ammo for the amount of charges you want ( the weapon can be charged up to 5 charges) you can still fire it charged however you want even with insufficient ammo
example: you have 10 ammo only of the fuel gas but if i will hold the primary fire button i can still charge it to to 2 charges 3 or 4 or 5 charges even with that i have only 10 ammo and its should function that if you have ammo but insufficient for the amount of charges you want
than if you have for example 20 ammo and you hold fire button when it get to the second charge it will on its own stop to keep charge it more and it will fire the 2nd charge due to not have sufficient ammo left to keep charge it to 3rd 4th or 5th charge
i tryed to use A_CheckReload but it does not work for some resson
here is the whole weapon code:
Actor LORHeatwave : Weapon
{
Weapon.AmmoType1 "FuelAmmoSmall"
Weapon.SlotNumber 7
Weapon.AmmoUse 10
Weapon.AmmoGive 40
Inventory.PickupMessage "You got the calamity blade! Hot damn!"
states
{
Spawn:
CBLD A -1
Loop
ready:
HETG A 1 A_WeaponReady
Loop
deselect:
HETG A 1 A_Lower
Loop
select:
HETG A 1 A_Raise
Loop
StopIfNoAmmo:
HETG A 1 A_Lower
Stop
fire:
//HETG A 0 A_JumpIfNoAmmo("StopIfNoAmmo")
charge1:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge1", 1)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_Refire("charge2")
goto fire1
charge2:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge2", 1)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_Refire("charge3")
goto fire2
charge3:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge3", 1)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_Refire("charge4")
goto fire3
charge4:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge4", 1)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_Refire("charge5")
goto fire4
charge5:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge5", 1)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
goto fire5
fire5:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -35.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -25.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 25.0 , 0 )
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 35.0 , 0)
goto fireEnd
fire4:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -27.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 27.5 , 0)
goto fireEnd
fire3:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 20.0 , 0)
goto fireEnd
fire2:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 12.5 , 0)
goto fireEnd
fire1: // for example of the first problem instead to use just 10 ammo per any charge as it is in Legacy Of Rust its instead use 10 ammo per any A_FireProjectile line so here it use in the 1st charge 30 ammo as there is 3 lines of A_FireProjectile and i dont know how to fix this
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , TRUE , 5.0 , 0)
goto fireEnd
fireEnd:
HETF A 0 Bright A_StartSound("DoomRR/heatwave/fire")
HETF A 3 Bright A_GunFlash
HETF B 5 Bright
HETG D 4
HETG C 4
HETG B 4
HETG A 0 A_ReFire
Goto Ready
flashcharge1:
HETC A 6 Bright
HETC BCD 5 Bright
Goto LightDone
flashcharge2:
HETC E 6 Bright
HETC FGH 5 Bright
Goto LightDone
flashcharge3:
HETC I 6 Bright
HETC JKL 5 Bright
Goto LightDone
flashcharge4:
HETC M 6 Bright
HETC NOP 5 Bright
Goto LightDone
flashcharge5:
HETC Q 6 Bright
HETC RST 5 Bright
Goto LightDone
flash:
TNT1 A 3 A_Light1
TNT1 A 5 A_Light2
Goto LightDone
}
}
// hack of sorts to "disable" autoaim, since aiming at a ground
// monster makes the waves fire toward the floor (yuck)
Actor HeatwaveSpawner
{
Damage 0
Speed 15 //25
Radius 16
Height 8
Projectile
+NOBLOCKMAP
+NOGRAVITY
+DROPOFF
+MISSILE
+RIPPER
DeathSound "DoomRR/heatwave/explode"
states
{
spawn:
TNT1 A 0
death:
TNT1 A 1 A_SpawnItemEx("HeatwaveRipper", 0.0, 0.0, 0.0, 0.0, 20, 0.0, 0.0)
stop
}
}
Actor HeatwaveRipper
{
Damage 10
Speed 20
Radius 16
Height 8
Projectile
+NOBLOCKMAP
+NOGRAVITY
+DROPOFF
+MISSILE
+RIPPER
DeathSound "DoomRR/heatwave/explode"
states
{
spawn:
HETB ABC 3 Bright
loop
death:
HETB DEFGHI 3 Bright
stop
}
}
[Code Help Request] Help on legacy of rust Calamity blade code port to decorate
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 97
- Joined: Fri Jan 31, 2014 6:02 pm
-
- Posts: 772
- Joined: Mon May 17, 2010 9:45 am
Re: [Code Help Request] Help on legacy of rust Calamity blade code port to decorate
It's been a while since I've touched any code, but this seems to work:
Code: Select all
Actor LORHeatwave : Weapon
{
Weapon.AmmoType1 "FuelAmmoSmall"
Weapon.SlotNumber 7
Weapon.AmmoUse 10
Weapon.AmmoGive 40
Inventory.PickupMessage "You got the calamity blade! Hot damn!"
states
{
Spawn:
CBLD A -1
Loop
ready:
HETG A 1 A_WeaponReady
Loop
deselect:
HETG A 1 A_Lower
Loop
select:
HETG A 1 A_Raise
Loop
StopIfNoAmmo:
HETG A 1 A_Lower
Stop
fire:
//HETG A 0 A_JumpIfNoAmmo("StopIfNoAmmo")
charge1:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge1", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire1")
HETG A 0 A_Refire("charge2")
goto fire1
charge2:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge2", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire2")
HETG A 0 A_Refire("charge3")
goto fire2
charge3:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge3", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire3")
HETG A 0 A_Refire("charge4")
goto fire3
charge4:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge4", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire4")
HETG A 0 A_Refire("charge5")
goto fire4
charge5:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge5", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
goto fire5
fire5:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -35.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -25.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 25.0 , 0 )
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 35.0 , 0)
goto fireEnd
fire4:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -27.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 27.5 , 0)
goto fireEnd
fire3:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 20.0 , 0)
goto fireEnd
fire2:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 12.5 , 0)
goto fireEnd
fire1: // for example of the first problem instead to use just 10 ammo per any charge as it is in Legacy Of Rust its instead use 10 ammo per any A_FireProjectile line so here it use in the 1st charge 30 ammo as there is 3 lines of A_FireProjectile and i dont know how to fix this
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , 5.0 , 0)
goto fireEnd
fireEnd:
HETF A 0 Bright A_StartSound("DoomRR/heatwave/fire")
HETF A 3 Bright A_GunFlash
HETF B 5 Bright
HETG D 4
HETG C 4
HETG B 4
HETG A 0 A_ReFire
Goto Ready
flashcharge1:
HETC A 6 Bright
HETC BCD 5 Bright
Goto LightDone
flashcharge2:
HETC E 6 Bright
HETC FGH 5 Bright
Goto LightDone
flashcharge3:
HETC I 6 Bright
HETC JKL 5 Bright
Goto LightDone
flashcharge4:
HETC M 6 Bright
HETC NOP 5 Bright
Goto LightDone
flashcharge5:
HETC Q 6 Bright
HETC RST 5 Bright
Goto LightDone
flash:
TNT1 A 3 A_Light1
TNT1 A 5 A_Light2
Goto LightDone
}
}
-
- Posts: 97
- Joined: Fri Jan 31, 2014 6:02 pm
Re: [Code Help Request] Help on legacy of rust Calamity blade code port to decorate
thanks you so much for the help!
the 2 problems fixed
first only 10 ammo needed per any charge
and second if you have enough ammo to fire but not enough to keep charge it more than it stops to keep charge and fire the amount the ammo was enough for you kept hold the fire button for the charge
now its finally a replica port of decorate from decohack of the weapon
i will look on the code things you added to learn from this in coding
thanks so much!
edit: as you can see i puted the float angle to 88 because if its 0 than for some resson it fires the projectiles very tottaly right angle to the player you cannot even see without turn alot right while the projectile moves
i played around the comprasion in legacy of rust load in gzdoom and than in my own stuff mod to play around and i changed the float angle by a increase and decrease of 5's and it looks totally to be the same now
this is code of the weapon will work as long you have from the legacy of rust wad the sprites provided and the sounds provided too with the sounds declared in snd info
so here is (only the weapon itself code rest was in the thread before) the ready code fixed:
the 2 problems fixed
first only 10 ammo needed per any charge
and second if you have enough ammo to fire but not enough to keep charge it more than it stops to keep charge and fire the amount the ammo was enough for you kept hold the fire button for the charge
now its finally a replica port of decorate from decohack of the weapon
i will look on the code things you added to learn from this in coding
thanks so much!
edit: as you can see i puted the float angle to 88 because if its 0 than for some resson it fires the projectiles very tottaly right angle to the player you cannot even see without turn alot right while the projectile moves
i played around the comprasion in legacy of rust load in gzdoom and than in my own stuff mod to play around and i changed the float angle by a increase and decrease of 5's and it looks totally to be the same now
this is code of the weapon will work as long you have from the legacy of rust wad the sprites provided and the sounds provided too with the sounds declared in snd info
so here is (only the weapon itself code rest was in the thread before) the ready code fixed:
Code: Select all
Actor LORHeatwave : Weapon
{
Weapon.AmmoType1 "FuelAmmoSmall"
Weapon.SlotNumber 7
Weapon.AmmoUse 10
Weapon.AmmoGive 40
Inventory.PickupMessage "You got the calamity blade! Hot damn!"
states
{
Spawn:
CBLD A -1
Loop
ready:
HETG A 1 A_WeaponReady
Loop
deselect:
HETG A 1 A_Lower
Loop
select:
HETG A 1 A_Raise
Loop
fire:
charge1:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge1", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire1")
HETG A 0 A_Refire("charge2")
goto fire1
charge2:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge2", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire2")
HETG A 0 A_Refire("charge3")
goto fire2
charge3:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge3", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire3")
HETG A 0 A_Refire("charge4")
goto fire3
charge4:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge4", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
HETG A 0 A_JumpIfNoAmmo ("fire4")
HETG A 0 A_Refire("charge5")
goto fire4
charge5:
HETG A 1
HETG A 1 A_CheckReload
HETG A 0 A_GunFlash("flashcharge5", 1)
HETG A 0 A_TakeInventory ("FuelAmmoSmall", 10, TIF_NOTAKEINFINITE)
HETG A 20 A_StartSound("DoomRR/heatwave/charge")
goto fire5
fire5:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -35.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 93 , False , -30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 83 , False , -25.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 78 , False , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 98 , False , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 73 , False , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 68 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 103 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 63 , False , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 58 , False , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 108 , False , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 53 , False , 20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 48 , False , 25.0 , 0 )
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 113 , False , 30.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 43 , False , 35.0 , 0)
goto fireEnd
fire4:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -27.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 93 , False , -22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 83 , False , -17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 78 , False , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 98 , False , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 73 , False , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 68 , False , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 103 , False , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 63 , False , 12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 58 , False , 17.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 108 , False , 22.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 53 , False , 27.5 , 0)
goto fireEnd
fire3:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -20.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 93 , False , -15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 83 , False , -10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 78 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 98 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 73 , False , 5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 68 , False , 10.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 103 , False , 15.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 63 , False , 20.0 , 0)
goto fireEnd
fire2:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -12.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 93 , False , -7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 83 , False , -2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 78 , False , 2.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 98 , False , 7.5 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 73 , False , 12.5 , 0)
goto fireEnd
fire1:
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 88 , False , -5.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 93 , False , 0.0 , 0)
HETF A 0 Bright A_FireProjectile("HeatwaveSpawner", 83 , False , 5.0 , 0)
goto fireEnd
fireEnd:
HETF A 0 Bright A_StartSound("DoomRR/heatwave/fire")
HETF A 3 Bright A_GunFlash
HETF B 5 Bright
HETG D 4
HETG C 4
HETG B 4
HETG A 0 A_ReFire
Goto Ready
flashcharge1:
HETC A 6 Bright
HETC BCD 5 Bright
Goto LightDone
flashcharge2:
HETC E 6 Bright
HETC FGH 5 Bright
Goto LightDone
flashcharge3:
HETC I 6 Bright
HETC JKL 5 Bright
Goto LightDone
flashcharge4:
HETC M 6 Bright
HETC NOP 5 Bright
Goto LightDone
flashcharge5:
HETC Q 6 Bright
HETC RST 5 Bright
Goto LightDone
flash:
TNT1 A 3 A_Light1
TNT1 A 5 A_Light2
Goto LightDone
}
}