//==========RAGE_SCRIPT_V_1.2=========//
//============BY_ARMADYL5============//
//==============ENJOY================//



// Welcome To Rage , This Script Gives Each Player //
// The Ability of Manupulating Fire and using it   //
// To Destroy His Enemies .




// Feel Free To Use Any Script Or Method You Like //



private const bool RAGE_ALLOWED = true;  // set to false to Disable The Ability To Rage (set Yourself On Fire)
private const bool WEAPONS_ALLOWED = true;  // set to false to Disable Using Weapons (Melee Weapons Not Included)



List <IPlayer> Ragers = new List<IPlayer>();


public void OnStartup(){
IObjectTimerTrigger Timer = (IObjectTimerTrigger)Game.CreateObject("TimerTrigger");
Timer.SetIntervalTime(100);
Timer.SetRepeatCount(0);
Timer.SetScriptMethod("Rage");
Timer.Trigger();
foreach(IPlayer ply in Game.GetPlayers()){
if(ply.IsUser){
Ragers.Add(ply);
Game.PlayEffect("CFTXT",ply.GetWorldPosition(),"Rage Mode Activated");
ply.SetHealth(60);
if(WEAPONS_ALLOWED){
IObjectTimerTrigger Timer1 = (IObjectTimerTrigger)Game.CreateObject("TimerTrigger");
Timer1.SetIntervalTime(100);
Timer1.SetRepeatCount(0);
Timer1.SetScriptMethod("WL");
Timer1.Trigger();
}
}
}
}



//============WEAPON LIMIT============//


public void WL(TriggerArgs args){
foreach(IPlayer ply in Ragers){
if(!ply.IsDead){
ply.RemoveWeaponItemType(WeaponItemType.Rifle);
ply.RemoveWeaponItemType(WeaponItemType.Handgun);
ply.RemoveWeaponItemType(WeaponItemType.Thrown);
}
}
}



//============ABILITIES (RAGER)============//



public void Rage(TriggerArgs args){
foreach(IPlayer ply in Ragers){
if(ply.IsIdle && ply.IsBurning){
Vector2 Here = ply.GetWorldPosition();
Game.PlayEffect("TR_D",Here);
Game.PlayEffect("TR_D",Here);
Game.PlayEffect("TR_D",Here);
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsSprinting && !ply.IsBurning && ply.FacingDirection == 1){
Vector2 Here = ply.GetWorldPosition();
Game.PlayEffect("EXP",Here);
ply.SetMaxFire();
Vector2 Here0 = ply.GetWorldPosition() + new Vector2(-3,-3);
Vector2 There1 = new Vector2(-4,2);
Vector2 There2 = new Vector2(-6,2);
Vector2 There3 = new Vector2(-4,0);
Vector2 There4 = new Vector2(-6,1);
Vector2 There5 = new Vector2(-4,1);
Vector2 There6 = new Vector2(-5,0);
Game.PlayEffect("TR_D",Here);
Game.SpawnFireNode(Here0,There1,FireNodeType.Default);
Game.SpawnFireNode(Here0,There2,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here0,There3,FireNodeType.Default);
Game.SpawnFireNode(Here0,There4,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here0,There5,FireNodeType.Default);
Game.SpawnFireNode(Here0,There6,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here,1f);
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsSprinting && !ply.IsBurning && ply.FacingDirection == -1){
Vector2 Here = ply.GetWorldPosition();
Game.PlayEffect("EXP",Here);
ply.SetMaxFire();
Vector2 Here0 = ply.GetWorldPosition() + new Vector2(3,-3);
Vector2 There1 = new Vector2(4,2);
Vector2 There2 = new Vector2(6,2);
Vector2 There3 = new Vector2(4,0);
Vector2 There4 = new Vector2(6,1);
Vector2 There5 = new Vector2(4,1);
Vector2 There6 = new Vector2(5,0);
Game.PlayEffect("TR_D",Here0);
Game.SpawnFireNode(Here0,There1,FireNodeType.Default);
Game.SpawnFireNode(Here0,There2,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here0,There3,FireNodeType.Default);
Game.SpawnFireNode(Here0,There4,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here0,There5,FireNodeType.Default);
Game.SpawnFireNode(Here0,There6,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here0,1f);
}
}

foreach(IPlayer ply in Ragers){
if(ply.IsBlocking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(3,10);
Vector2 There1 = new Vector2(4,2);
Vector2 There2 = new Vector2(6,2);
Vector2 There3 = new Vector2(4,0);
Vector2 There4 = new Vector2(6,1);
Vector2 There5 = new Vector2(4,1);
Vector2 There6 = new Vector2(5,0);
Game.PlayEffect("TR_D",Here);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.SpawnFireNode(Here,There2,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here,There3,FireNodeType.Default);
Game.SpawnFireNode(Here,There4,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here,There5,FireNodeType.Default);
Game.SpawnFireNode(Here,There6,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsBlocking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(-3,10);
Vector2 There1 = new Vector2(-4,2);
Vector2 There2 = new Vector2(-6,2);
Vector2 There3 = new Vector2(-4,0);
Vector2 There4 = new Vector2(-6,1);
Vector2 There5 = new Vector2(-4,1);
Vector2 There6 = new Vector2(-5,0);
Game.PlayEffect("TR_D",Here);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.SpawnFireNode(Here,There2,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here,There3,FireNodeType.Default);
Game.SpawnFireNode(Here,There4,FireNodeType.Flamethrower);
Game.SpawnFireNode(Here,There5,FireNodeType.Default);
Game.SpawnFireNode(Here,There6,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsKicking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(8f,0f);
Vector2 Here2 = ply.GetWorldPosition() + new Vector2(10f,0f);
Vector2 Here3 = ply.GetWorldPosition() + new Vector2(15f,0f);
Vector2 There1 = new Vector2(8,0);
Vector2 There2 = new Vector2(8,1);
Vector2 There3 = new Vector2(8,2);
Game.PlayEffect("TR_D",Here1);
Game.PlayEffect("TR_D",Here2);
Game.PlayEffect("TR_D",Here3);
Game.SpawnFireNodes(Here1,6,There1,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here2,8,There2,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here3,10,There3,1,1,FireNodeType.Default);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsKicking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(-8f,0f);
Vector2 Here2 = ply.GetWorldPosition() + new Vector2(-10f,0f);
Vector2 Here3 = ply.GetWorldPosition() + new Vector2(-15f,0f);
Vector2 There1 = new Vector2(-8,0);
Vector2 There2 = new Vector2(-8,1);
Vector2 There3 = new Vector2(-8,2);
Game.PlayEffect("TR_D",Here1);
Game.PlayEffect("TR_D",Here2);
Game.PlayEffect("TR_D",Here3);
Game.SpawnFireNodes(Here1,6,There1,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here2,8,There2,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here3,10,There3,1,1,FireNodeType.Default);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsMeleeAttacking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(15f,9f);
Vector2 There1 = new Vector2(4,1);
Vector2 There2 = new Vector2(6,1);
Vector2 There3 = new Vector2(8,1);
Game.PlayEffect("TR_D",Here1);
Game.SpawnFireNodes(Here1,3,There1,1,1,FireNodeType.Default);
Game.SpawnFireNodes(Here1,3,There2,1,1,FireNodeType.Default);
Game.SpawnFireNodes(Here1,30,There3,0,0,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsMeleeAttacking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(-15f,9f);
Vector2 There1 = new Vector2(-4,1);
Vector2 There2 = new Vector2(-6,1);
Vector2 There3 = new Vector2(-8,1);
Game.PlayEffect("TR_D",Here1);
Game.SpawnFireNodes(Here1,3,There1,1,1,FireNodeType.Default);
Game.SpawnFireNodes(Here1,3,There2,1,1,FireNodeType.Default);
Game.SpawnFireNodes(Here1,30,There3,0,0,FireNodeType.Flamethrower);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsBurning && !ply.IsDead && ply.GetHealth() < 60){
ply.SetHealth(ply.GetHealth() + 2);
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsBurning && ply.GetHealth() > 60){
ply.SetHealth(60);
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsMeleeAttacking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(15f,9f);
Vector2 There = new Vector2(1,0);
Vector2 There1 = new Vector2(4,0);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsMeleeAttacking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(-15f,9f);
Vector2 There = new Vector2(-1,0);
Vector2 There1 = new Vector2(-4,0);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsKicking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(15f,3f);
Vector2 There = ply.GetWorldPosition() + new Vector2(3000f,2000f);
Vector2 There1 = new Vector2(4,4);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsKicking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(-15f,3f);
Vector2 There = ply.GetWorldPosition() + new Vector2(-3000f,2000f);
Vector2 There1 = new Vector2(-4,4);
Game.SpawnFireNode(Here,There1,FireNodeType.Default);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpAttacking && ply.IsBurning && !ply.IsWalking && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 There = new Vector2(0,-1);
Game.SpawnFireNodes(Here,15,There,3,1,FireNodeType.Default);
Game.PlayEffect("TR_D",Here);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpAttacking && ply.IsBurning && ply.IsWalking && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 There = new Vector2(0,-8);
Game.SpawnFireNodes(Here,3,There,1,1,FireNodeType.Default);
IObject Barrel = Game.CreateObject("BarrelWreck",Here,0f);
Barrel.SetLinearVelocity(There);
Game.PlayEffect("TR_D",Here);
Game.PlayEffect("S_P",Here);
Game.PlayEffect("EXP",Here);
Game.PlaySound("Bazooka",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpKicking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(15f,9f);
Vector2 There = ply.GetWorldPosition() + new Vector2(3000f,2000f);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpKicking && ply.IsBurning && ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition() + new Vector2(-15f,9f);
Vector2 There = ply.GetWorldPosition() + new Vector2(-3000f,2000f);
Game.PlayEffect("S_P",Here);
Game.SpawnProjectile(ProjectileItem.FLAREGUN,Here, There);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpKicking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == 1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(8f,0f);
Vector2 Here2 = ply.GetWorldPosition() + new Vector2(10f,0f);
Vector2 Here3 = ply.GetWorldPosition() + new Vector2(15f,0f);
Vector2 There1 = new Vector2(8,-1);
Vector2 There2 = new Vector2(8,0);
Vector2 There3 = new Vector2(8,1);
Game.PlayEffect("TR_D",Here1);
Game.PlayEffect("TR_D",Here2);
Game.PlayEffect("TR_D",Here3);
Game.SpawnFireNodes(Here1,6,There1,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here2,8,There2,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here3,10,There3,1,1,FireNodeType.Default);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsJumpKicking && ply.IsBurning && !ply.IsWalking && ply.FacingDirection == -1 && ply.CurrentWeaponDrawn != WeaponItemType.Melee){
Vector2 Here = ply.GetWorldPosition();
Vector2 Here1 = ply.GetWorldPosition() + new Vector2(-8f,0f);
Vector2 Here2 = ply.GetWorldPosition() + new Vector2(-10f,0f);
Vector2 Here3 = ply.GetWorldPosition() + new Vector2(-15f,0f);
Vector2 There1 = new Vector2(-8,-1);
Vector2 There2 = new Vector2(-8,0);
Vector2 There3 = new Vector2(-8,1);
Game.PlayEffect("TR_D",Here1);
Game.PlayEffect("TR_D",Here2);
Game.PlayEffect("TR_D",Here3);
Game.SpawnFireNodes(Here1,6,There1,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here2,8,There2,1,1,FireNodeType.Flamethrower);
Game.SpawnFireNodes(Here3,10,There3,1,1,FireNodeType.Default);
Game.PlaySound("Flamethrower",Here,1f);
ply.ClearFire();
}
}
foreach(IPlayer ply in Ragers){
if(ply.IsBlocking && !ply.IsBurning && ply.IsWalking && ply.CurrentWeaponDrawn != WeaponItemType.Melee && RAGE_ALLOWED){
Vector2 Here = ply.GetWorldPosition();
Game.PlayEffect("EXP",Here);
ply.SetMaxFire();
}
}
for (int i = Ragers.Count-1;i>=0;i--){
IPlayer ply = Ragers[i];
if(ply.IsDead && ply.IsLayingOnGround || ply.IsDeathKneeling){
Ragers.Remove(ply);
Vector2 Here = ply.GetWorldPosition();
Vector2 There = new Vector2(0,3);
Game.PlayEffect("S_P",Here);
Game.SpawnFireNodes(Here,5,There,1,1,FireNodeType.Flamethrower);
ply.SetMaxFire();
}
}
}