Bowling balls will now bump off karts that have the star effect shown,
and not explode anymore. git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7478 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
e7edf7875c
commit
af641ae196
@ -53,6 +53,8 @@ private:
|
|||||||
void showFor(float time);
|
void showFor(float time);
|
||||||
void reset();
|
void reset();
|
||||||
void update (float delta_t);
|
void update (float delta_t);
|
||||||
|
/** Returns true if the stars are currently shown. */
|
||||||
|
bool isEnabled() const { return m_enabled; }
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -158,6 +158,9 @@ public:
|
|||||||
void setHasHit () { m_has_hit_something = true; }
|
void setHasHit () { m_has_hit_something = true; }
|
||||||
void reset () { Moveable::reset(); }
|
void reset () { Moveable::reset(); }
|
||||||
bool isOwnerImmunity(const Kart *kart_hit) const;
|
bool isOwnerImmunity(const Kart *kart_hit) const;
|
||||||
|
/** Returns the type of flyable. */
|
||||||
|
PowerupManager::PowerupType
|
||||||
|
getType() const {return m_type;}
|
||||||
virtual const char* getExplosionSound() const { return "explosion"; }
|
virtual const char* getExplosionSound() const { return "explosion"; }
|
||||||
/** Indicates if an explosion needs to be added if this flyable
|
/** Indicates if an explosion needs to be added if this flyable
|
||||||
* is removed. */
|
* is removed. */
|
||||||
|
@ -96,6 +96,8 @@ public:
|
|||||||
const float getAnimationTimer() const {return m_timer;}
|
const float getAnimationTimer() const {return m_timer;}
|
||||||
/** Returns true if the kart is eliminated. */
|
/** Returns true if the kart is eliminated. */
|
||||||
bool isEliminated () const {return m_eliminated;}
|
bool isEliminated () const {return m_eliminated;}
|
||||||
|
/** Returns a pointer to the stars effect. */
|
||||||
|
const Stars *getStarEffect () const {return m_stars_effect; }
|
||||||
void eliminate ();
|
void eliminate ();
|
||||||
|
|
||||||
}; // EmergencyAnimation
|
}; // EmergencyAnimation
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "config/user_config.hpp"
|
#include "config/user_config.hpp"
|
||||||
#include "network/race_state.hpp"
|
#include "network/race_state.hpp"
|
||||||
|
#include "graphics/stars.hpp"
|
||||||
#include "physics/btKart.hpp"
|
#include "physics/btKart.hpp"
|
||||||
#include "physics/btUprightConstraint.hpp"
|
#include "physics/btUprightConstraint.hpp"
|
||||||
#include "physics/irr_debug_drawer.hpp"
|
#include "physics/irr_debug_drawer.hpp"
|
||||||
@ -135,6 +136,11 @@ void Physics::update(float dt)
|
|||||||
}
|
}
|
||||||
else if(p->b->is(UserPointer::UP_KART)) // projectile hit kart
|
else if(p->b->is(UserPointer::UP_KART)) // projectile hit kart
|
||||||
{
|
{
|
||||||
|
// Only explode a bowling ball if the target does not
|
||||||
|
// the stars shown
|
||||||
|
if(p->a->getPointerFlyable()->getType()
|
||||||
|
!=PowerupManager::POWERUP_BOWLING ||
|
||||||
|
!p->b->getPointerKart()->getStarEffect()->isEnabled() )
|
||||||
p->a->getPointerFlyable()->hit(p->b->getPointerKart());
|
p->a->getPointerFlyable()->hit(p->b->getPointerKart());
|
||||||
}
|
}
|
||||||
else // projectile hits projectile
|
else // projectile hits projectile
|
||||||
|
Loading…
Reference in New Issue
Block a user