121
Rejected / [Suggestion] Rage Rune and charged weapons
« on: October 14, 2016, 09:11:13 PM »
How Rage Rune works is that every state's duration is divided by 2 and then rounded up to prevent infinite 0 tic loops. This works well, but has the consequence of making charged weapons charge at the same rate regardless if you have Rage Rune or not. I suggest adding secondary charge states for Rage Rune that give 2 WeaponCharges. For example:
Code: [Select]
Fire:
HEAT G 0 A_JumpIfNoAmmo("NoAmmo")
HEAT G 1
goto Hold
Hold:
HEAT G 0 A_JumpIfNoAmmo("NoAmmo")
HEAT G 0 A_JumpIfInventory("WeaponCharge",1,"Hold2")
HEAT G 2 A_GiveInventory("WeaponCharge",1)
HEAT G 0 A_Refire
Goto Fire1
Hold2:
HEAT G 0 A_JumpIfInventory("RageRune",1,"RageHold") //NEW
HEAT G 0 A_JumpIfInventory("WeaponCharge",40,"Hold3")
HEAT G 0 //A_StopSoundEx("Weapon")
HEAT G 0 A_PlaySoundEx("weapon/heat1", "Weapon",1,0)
HEAT H 1 ACS_ExecuteAlways(991,0,60)
HEAT G 0 ACS_ExecuteAlways(991,0,3)
HEAT G 1 A_GiveInventory("WeaponCharge",1)
HEAT G 0 A_Refire
Goto Fire1
Hold3:
HEAT G 0 A_JumpIfInventory("WeaponCharge",70,"Hold4")
HEAT G 0// A_StopSoundEx("Weapon")
HEAT G 0 A_PlaySoundEx("weapon/heat2", "Weapon",1,0)
HEAT I 1 ACS_ExecuteAlways(991,0,61)
HEAT G 1 ACS_ExecuteAlways(991,0,3)
HEAT G 0 A_GiveInventory("WeaponCharge",1)
HEAT G 0 A_Refire
Goto Fire2
BotFire:
HEAT G 0 A_Jump(16, "Fire3")
HEAT G 0 A_Refire
Goto Fire3
Hold4:
HEAT G 0// A_StopSoundEx("Weapon")
HEAT G 0 A_PlaySoundEx("weapon/heat3", "Weapon",1,0)
HEAT J 1 ACS_ExecuteAlways(991,0,62)
HEAT G 1 ACS_ExecuteAlways(991,0,3)
HEAT G 0 A_JumpIfInventory("IsBot", 1, "BotFire")
HEAT G 0 A_Refire
Goto Fire3
//NEW FROM NOW ONWARDS
RageHold:
HEAT G 0 A_JumpIfInventory("WeaponCharge",40,"RageHold2")
HEAT G 0 //A_StopSoundEx("Weapon")
HEAT G 0 A_PlaySoundEx("weapon/heat1", "Weapon",1,0)
HEAT H 1 ACS_ExecuteAlways(991,0,60)
HEAT G 0 ACS_ExecuteAlways(991,0,3)
HEAT G 1 A_GiveInventory("WeaponCharge",2)
HEAT G 0 A_Refire
Goto Fire1
RageHold2:
HEAT G 0 A_JumpIfInventory("WeaponCharge",70,"Hold4")
HEAT G 0// A_StopSoundEx("Weapon")
HEAT G 0 A_PlaySoundEx("weapon/heat2", "Weapon",1,0)
HEAT I 1 ACS_ExecuteAlways(991,0,61)
HEAT G 1 ACS_ExecuteAlways(991,0,3)
HEAT G 0 A_GiveInventory("WeaponCharge",2)
HEAT G 0 A_Refire
Goto Fire2


