Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 18, 2012, 2:58:33 PM (12 years ago)
Author:
smerkli
Message:

merged branch pickup2012

Location:
code/branches/presentation2012
Files:
6 edited
2 copied

Legend:

Unmodified
Added
Removed
  • code/branches/presentation2012

  • code/branches/presentation2012/src/modules/pickup/PickupPrereqs.h

    r8706 r9195  
    8686    class ShieldPickup;
    8787    class ShrinkPickup;
    88 
     88    class DamageBoostPickup;
    8989}
    9090
  • code/branches/presentation2012/src/modules/pickup/items/CMakeLists.txt

    r8706 r9195  
    77  ShieldPickup.cc
    88  ShrinkPickup.cc
     9  DamageBoostPickup.cc
    910)
  • code/branches/presentation2012/src/modules/pickup/items/SpeedPickup.h

    r8727 r9195  
    112112        private:
    113113            void initialize(void); //!< Initializes the member variables.
    114             SpaceShip* carrierToSpaceShipHelper(void); //!< Helper to transform the PickupCarrier to a SpaceSHip, and throw an error message if the conversion fails.
     114            SpaceShip* carrierToSpaceShipHelper(void); //!< Helper to transform the PickupCarrier to a SpaceShip, and throw an error message if the conversion fails.
    115115
    116116            Timer durationTimer_; //!< Timer.
  • code/branches/presentation2012/src/orxonox/worldentities/pawns/Pawn.cc

    r9016 r9195  
    7575        this->lastHitOriginator_ = 0;
    7676
     77        // set damage multiplier to default value 1, meaning nominal damage
     78        this->damageMultiplier_ = 1;
     79
    7780        this->spawnparticleduration_ = 3.0f;
    7881
     
    228231    void Pawn::damage(float damage, float healthdamage, float shielddamage, Pawn* originator)
    229232    {
    230         if (this->getGametype() && this->getGametype()->allowPawnDamage(this, originator))
     233        //Applies multiplier given by the DamageBoost Pickup.
     234        Pawn *test = dynamic_cast<Pawn *>(originator);
     235        if( test != NULL )
     236        {
     237          damage *= originator->getDamageMultiplier();
     238        }
     239
     240        if (this->getGametype() && this->getGametype()->allowPawnDamage(this, originator))
    231241        {
    232242            if (shielddamage >= this->getShieldHealth())
  • code/branches/presentation2012/src/orxonox/worldentities/pawns/Pawn.h

    r9016 r9195  
    162162                { return this->numexplosionchunks_; }
    163163
     164            // These are used with the Damage Boost Pickup to use the damage multiplier.
     165            inline void setDamageMultiplier(float multiplier)
     166                { this->damageMultiplier_ = multiplier; }
     167            inline float getDamageMultiplier()
     168                { return this->damageMultiplier_; }
     169
     170
    164171            virtual void startLocalHumanControl();
    165172
     
    208215            float reloadWaitCountdown_;
    209216
     217            // Modifier
     218            float damageMultiplier_; // Used by the Damage Boost Pickup.
     219
    210220            WeakPtr<Pawn> lastHitOriginator_;
    211221
Note: See TracChangeset for help on using the changeset viewer.