Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 4, 2012, 3:56:56 PM (12 years ago)
Author:
lkevin
Message:

Changed pickup icon and xml for possible varieties of the pickup in the future.

Location:
code/branches/pickup2012
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • code/branches/pickup2012/data/levels/includes/pickups.oxi

    r8713 r9155  
    210210</PickupRepresentation>
    211211
     212<!-- DamageBoost Pickup -->
     213
     214<PickupRepresentation
     215    pickupName = "DamageBoost Pickup"
     216    pickupDescription = "Multiplies the ship damage."
     217    spawnerTemplate = "damageboostpickupRepresentation"
     218>
     219    <pickup>
     220        <DamageBoostPickup template=damageboostpickup />
     221    </pickup>
     222</PickupRepresentation>
     223
    212224<!-- Shrink Pickup -->
    213225
  • code/branches/pickup2012/data/levels/pickups.oxw

    r9118 r9155  
    171171    <!-- DamageBoost pickup -->
    172172   
    173     <PickupSpawner position="-100,300,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
    174       <pickup>
    175         <DamageBoostPickup template=normaldamageboostpickup />
     173    <PickupSpawner position="-50,75,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
     174      <pickup>
     175        <DamageBoostPickup template=damageboostpickup />
    176176      </pickup>
    177177    </PickupSpawner>
  • code/branches/pickup2012/data/levels/templates/pickupRepresentationTemplates.oxt

    r9118 r9155  
    218218<!-- DamageBoost pickups -->
    219219
    220 <Template name=normaldamageboostpickupRepresentation>
    221     <PickupRepresentation>
    222         <spawner-representation>
    223             <StaticEntity>
    224                 <attached>
    225                     <Billboard position="0,0,0" colour="0.99,0.96,0.52" material="Sphere2" scale=0.5>
    226                         <attached>
    227                             <Billboard position="0,0,0" colour="0.98,0.94,0.22" material="3arrowsup" scale=0.5 />
    228                         </attached>
    229                     </Billboard>
    230                 </attached>
    231             </StaticEntity>
    232         </spawner-representation>
    233     </PickupRepresentation>
    234 </Template>
    235 
    236 <Template name=normaldamageboostpickup>
     220<Template name=damageboostpickupRepresentation>
     221    <PickupRepresentation>
     222        <spawner-representation>
     223            <StaticEntity>
     224                <attached>
     225                    <Billboard position="0,0,0" colour="0.10,0.20,0.30" material="Sphere2" scale=0.1 >
     226                        <attached>
     227                            <Billboard position="0,0,0" colour="0.30,0.30,0.30" material="damage" scale=0.7 />
     228                        </attached>
     229                    </Billboard>
     230                </attached>
     231            </StaticEntity>
     232        </spawner-representation>
     233    </PickupRepresentation>
     234</Template>
     235
     236<Template name=damageboostpickup>
    237237  <DamageBoostPickup
    238238    duration = 10.0
     239    damageMultiplier = 20.0
    239240    activationType = "immediate"
    240241    durationType = "continuous"
  • code/branches/pickup2012/src/modules/pickup/items/DamageBoostPickup.cc

    r9119 r9155  
    2121 *
    2222 *   Author:
    23  *      Eric Beier
     23 *      Kevin Lengauer
    2424 *   Co-authors:
    2525 *      ...
     
    2828
    2929/**
    30     @file SpeedPickup.cc
    31     @brief Implementation of the SpeedPickup class.
     30    @file DamageBoostPickup.cc
     31    @brief Implementation of the DamageBoostPickup class.
    3232*/
    3333
     
    7171    {
    7272        this->duration_ = 0.0f;
    73         this->damageMultiplier_ = 20.0f;
     73        this->damageMultiplier_ = 1.0f; //The default damage multiplier.
    7474        //Defines who is allowed to pick up the pickup.
    7575        this->addTarget(ClassIdentifier<SpaceShip>::getIdentifier());
     
    105105
    106106        XMLPortParam(DamageBoostPickup, "duration", setDuration, getDuration, xmlelement, mode);
    107         XMLPortParam(DamageBoostPickup, "damageMultiplier", setDefaultDamageMultiplier, getDefaultDamageMultiplier, xmlelement, mode);
     107        XMLPortParam(DamageBoostPickup, "damageMultiplier", setDamageMultiplier, getDamageMultiplier, xmlelement, mode);
    108108
    109109        this->initializeIdentifier();
    110110    }
     111
     112    // Work in Progress setDamage Function
     113    void DamageBoostPickup::setDamageMultiplier(float damageMultiplier)
     114    {
     115        if(damageMultiplier >= 1.0f)
     116        {
     117            this->damageMultiplier_ = damageMultiplier;
     118            orxout() << "Set Damage " << damageMultiplier << endl;
     119        }
     120    }
     121
    111122
    112123    /**
     
    138149                }
    139150            }
    140             // NOTE: commented this since its use was not apparent
    141             // ship->getCreator();
    142 
     151
     152            // Saves the old default Damage that is needed to restore the original damage
    143153            this->olddamageMultiplier_ = ship->getDamageMultiplier();
     154            // Sets the new Damage with the damage multiplier.
    144155            ship->setDamageMultiplier( this->damageMultiplier_ );
    145156        }
     
    214225        else
    215226        {
    216             orxout(internal_error, context::pickups) << "Invalid duration in SpeedPickup." << endl;
     227            orxout(internal_error, context::pickups) << "Invalid duration in DamagePickup." << endl;
    217228            this->duration_ = 0.0f;
    218229        }
    219230    }
    220231
    221    /* void DamageBoostPickup::setDamageBoost(float damageBoost)
    222        {
    223 
    224        }
    225     void DamageBoostPickup::setDamageSave(float damageSave)
    226     {
    227 
    228     }
    229     */
    230 
     232    /**
     233    @brief
     234        Helper method. Is called by the Timer as soon as it expires.
     235    */
    231236    void DamageBoostPickup::pickupTimerCallback(void)
    232237    {
  • code/branches/pickup2012/src/modules/pickup/items/DamageBoostPickup.h

    r9119 r9155  
    2121 *
    2222 *   Author:
    23  *      Damian 'Mozork' Frick
     23 *      Kevin Lengauer
    2424 *   Co-authors:
    2525 *      ...
     
    5353
    5454            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a DamageBoostPickup object through XML.
    55             // commented out cuz was not used
    56             // virtual void tick(float dt); //!< Is called every tick.
    5755
    5856            virtual void changedUsed(void); //!< Is called when the pickup has transited from used to unused or the other way around.
    5957            virtual void clone(OrxonoxClass*& item); //!< Creates a duplicate of the input OrxonoxClass.
    60 
    61             /**
    62             @brief Get the damageboost that is transferred to the Pawn upon usage of this pickup.
    63             @return Returns the damageboost.
    64             */
    65             // Commentend, may not be used
    66             // inline float setDamageMultiplier(void) const
    67             //    { ship->setMultiplier(); }
    68 
    6958
    7059            /**
     
    7766
    7867
    79             // we need these methods to set the default damage multiplier from XML
    80             // not that beautiful yet
    81             inline void setDefaultDamageMultiplier(float multiplier)
    82                 { this->damageMultiplier_ = multiplier; }
    83             inline float getDefaultDamageMultiplier()
     68
     69            /**
     70             @brief set Damage multiplier
     71             @param multiplier The default damage multiplier to set
     72             */
     73            inline float getDamageMultiplier()
    8474                { return this->damageMultiplier_; }
    8575
     
    8979        protected:
    9080            void initializeIdentifier(void); //!< Initializes the PickupIdentifier of this pickup.
     81            void setDamageMultiplier(float damageMultiplier);
    9182
    92             // void setDamageBoost(float damageBoost);//!< Sets the damage boost.
    93             // void setDamageSave(float damageSave); //!< Saves the original damage.
    9483
    9584        private:
    9685            void initialize(void); //!< Initializes the member variables.
    9786            Pawn* carrierToPawnHelper(void); //!< Helper to transform the PickupCarrier to a Pawn, and throw an error message if the conversion fails.
    98             SpaceShip* carrierToSpaceShipHelper(void);
     87            SpaceShip* carrierToSpaceShipHelper(void); //!< Helper to transform the PickupCarrier to a SpaceShip, and throw an error message if the conversion fails.
    9988            void pickupTimerCallback(void);
    10089
  • code/branches/pickup2012/src/modules/pickup/items/SpeedPickup.h

    r8727 r9155  
    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/pickup2012/src/orxonox/worldentities/pawns/Pawn.cc

    r9118 r9155  
    234234        Pawn *test = dynamic_cast<Pawn *>(originator);
    235235        if( test != NULL )
     236        { orxout() << "Test " << damage << endl;
    236237          damage *= originator->getDamageMultiplier();
     238        }
    237239
    238240        if (this->getGametype() && this->getGametype()->allowPawnDamage(this, originator))
Note: See TracChangeset for help on using the changeset viewer.