/* 
    BattleRPG Copyright (C) 2007-2008 Nico de Vries.

    This file is part of BattleRPG.

    BattleRPG is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see http://www.gnu.org/licenses/.
*/

class BattleWeaponMagic_Rage extends BattleWeaponMagic config (BattleRPG);

function bool AllowedFor (Weapon w)
{
  if (ClassIsChildOf(W.Class, class'UTWeap_Stinger')) return false;
  return true;
}

function DamageToOtherPawn (UTPawn P, int Level, int OriginalDamage, out int Damage, UTPawn InjuredPawn, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
{
  local int AntiBonus;

  Damage = Damage * (1.0 + Level * 0.1); // Do some SERIOUS damage

  AntiBonus = int (Damage * 0.05 * Level);

  // Check if InjuredPawn has enough Health left, otherwise reduce the bonus.
  if (InjuredPawn!=None) {
    if (Damage > InjuredPawn.Health) AntiBonus = int (InjuredPawn.Health * 0.05 * Level);
  }

  if (P.Health > 50) { // This is positive magic, don't overdo the damage
    P.Health -= AntiBonus;
    if (P.Health < 50) P.Health = 50;
  }
}

defaultproperties
{
  MagicName = "Rage";
  MagicMaxLevel = 10;
  MagicMaterial = Material'BattleRPGContent.Materials.MT_BioRed';
  bPositiveMagic = true;
  DamageChangePercentage = 10;
}