/* * damage.cpp * Damage * ____ _ * | _ \ ___ __ _| |_ __ ___ ___ * | |_) / _ \/ _` | | '_ ` _ \/ __| * | _ < __/ (_| | | | | | | \__ \ * |_| \_\___|\__,_|_|_| |_| |_|___/ * * Permission to use, modify and distribute is granted via the * Creative Commons - Attribution - Non Commercial - Share Alike 3.0 License * http://creativecommons.org/licenses/by-nc-sa/3.0/ * * Copyright (C) 2007-2012 Jason Mitchell, Randi Mitchell * Contributions by Tim Callahan, Jonathan Hseu * Based on Mordor (C) Brooke Paul, Brett J. Vickers, John P. Freeman * */ #include "mud.h" //********************************************************************* // Damage //********************************************************************* Damage::Damage() { reset(); } //********************************************************************* // get //********************************************************************* int Damage::get() const { return(damage); } //********************************************************************* // getBonus //********************************************************************* int Damage::getBonus() const { return(bonus); } //********************************************************************* // getDrain //********************************************************************* int Damage::getDrain() const { return(drain); } //********************************************************************* // getReflected //********************************************************************* int Damage::getReflected() const { return(reflected); } //********************************************************************* // getDoubleReflected //********************************************************************* int Damage::getDoubleReflected() const { return(doubleReflected); } //********************************************************************* // getPhysicalReflected //********************************************************************* int Damage::getPhysicalReflected() const { return(physicalReflected); } //********************************************************************* // getPhysicalReflectedType //********************************************************************* ReflectedDamageType Damage::getPhysicalReflectedType() const { return(physicalReflectedType); } //********************************************************************* // getPhysicalBonusReflected //********************************************************************* int Damage::getPhysicalBonusReflected() const { return(physicalBonusReflected); } //********************************************************************* // add //********************************************************************* void Damage::add(int d) { damage += d; } //********************************************************************* // set //********************************************************************* void Damage::set(int d) { damage = d; } //********************************************************************* // includeBonus //********************************************************************* void Damage::includeBonus(int fraction) { if(!fraction) fraction = 1; damage += bonus / fraction; physicalReflected += physicalBonusReflected / fraction; } //********************************************************************* // setBonus //********************************************************************* void Damage::setBonus(int b) { bonus = b; } //********************************************************************* // setDrain //********************************************************************* void Damage::setDrain(int d) { drain = d; } //********************************************************************* // setBonus //********************************************************************* void Damage::setBonus(Damage dmg) { setBonus(dmg.get()); physicalBonusReflected = dmg.getPhysicalReflected(); } //********************************************************************* // setReflected //********************************************************************* void Damage::setReflected(int r) { reflected = r; } //********************************************************************* // setDoubleReflected //********************************************************************* void Damage::setDoubleReflected(int r) { doubleReflected = r; } //********************************************************************* // setPhysicalReflected //********************************************************************* void Damage::setPhysicalReflected(int r) { physicalReflected = r; } //********************************************************************* // setPhysicalReflectedType //********************************************************************* void Damage::setPhysicalReflectedType(ReflectedDamageType type) { physicalReflectedType = type; } //********************************************************************* // reset //********************************************************************* void Damage::reset() { damage = bonus = drain = reflected = doubleReflected = physicalReflected = physicalBonusReflected = 0; physicalReflectedType = REFLECTED_NONE; }