can start boucing lower/faster earlier, increasing the chances
to hit the target when target-distance is set to a small value.
Target-distance was set to 25 to decrease the chances of the
ball going through e.g. tunnel walls.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10004 178a84e3-b1eb-0310-8ba1-8eac791a3b58
close enough for a rubber ball. This avoids a problem is
the target is actually close on a different part of the
track.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9996 178a84e3-b1eb-0310-8ba1-8eac791a3b58
player currently at front) it will disappear after a given
time (atm 5 seconds).
2) If the ball overtakes the target it will now be deleted.
3) Fixed ball sometimes turning in the wrong direcftion when
trying to hit a kart.
4) Some refactoring to make functions smaller.
5) Removed left-over debug code.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9945 178a84e3-b1eb-0310-8ba1-8eac791a3b58
it is close to its target. This gives karts a chance
to escape a rubber ball by driving irretically.
Also added some debug output to indicate when the
ball lost sight of its target (i.e. the ball was
going directly to a target, but then the target
was suddenly too far away), so perhaps the ball
should be removed then?
ATM the ball will continue, trying again to hit
the leader in the next round.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9921 178a84e3-b1eb-0310-8ba1-8eac791a3b58
and inclines now.
2) Added --debug=flyable debug option to use print plenty of debug output
for rubber balls (needs to be compiled with -DDEBUG to work).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9762 178a84e3-b1eb-0310-8ba1-8eac791a3b58
even if the kart was immune. Now Flyable::hit()
returns true/false if the hit was a real hit.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9712 178a84e3-b1eb-0310-8ba1-8eac791a3b58
be done from the hit function of the objects that need an explosion.
This makes flyable and the behaviour of flyables easier to understand
when reading the code, getting rid of the needsExplosion function.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9623 178a84e3-b1eb-0310-8ba1-8eac791a3b58
flyable object has to have a 'getHitString' function (instead
of the hard coded global functions like getBowlingString etc).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9622 178a84e3-b1eb-0310-8ba1-8eac791a3b58
updateAndDelete instead of update. The return
value indicates if the flyable/hit effect needs
to be deleted. That removes callbacks to the
projectile manager to indicate that something
needs to be deleted.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9619 178a84e3-b1eb-0310-8ba1-8eac791a3b58
is just reusing the race-start 'ping', so this needs to be
replaced with a better sfx!!
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9598 178a84e3-b1eb-0310-8ba1-8eac791a3b58
points and the distance to target at which the rubber
ball starts aiming directly at the target configurable.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9550 178a84e3-b1eb-0310-8ba1-8eac791a3b58
of the situation that the target kart is lost (e.g. it might have finished
the race), so that the ball smoothly aims at the new target now.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9547 178a84e3-b1eb-0310-8ba1-8eac791a3b58
changing directions too quickly.
This still needs more tuning. Known bugs:
1) at the beginning the ball changes directions too quick
(if the kart is not close to the center of the driveline)
2) going towards the target kart (when the ball is close
enough) has not been ported yet, so balls will more
often miss their targets.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9502 178a84e3-b1eb-0310-8ba1-8eac791a3b58
distance along track is now moved into a separate class TrackSector
and used in linear_world and rubber ball.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9422 178a84e3-b1eb-0310-8ba1-8eac791a3b58
explicit calls to QuadGraph::create(...), and the get() function can
return NULL (in case of a race mode that does not use a quad graph).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9421 178a84e3-b1eb-0310-8ba1-8eac791a3b58
to determine which path to use (so that a target that is on a shortcut
can also be hit) - though this function atm only handles karts on the
main driveline.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9417 178a84e3-b1eb-0310-8ba1-8eac791a3b58
going to catch if with the leader will now be flattened
(parameters for that are defined in powerup.xml). No
explosion effect is shown anymore for the first kart,
it will only be tossed around.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9369 178a84e3-b1eb-0310-8ba1-8eac791a3b58
closer to the target. Now the ball behaviour keeps being
smooth while it is getting closer to the target.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9323 178a84e3-b1eb-0310-8ba1-8eac791a3b58
was based on the quad it is aiming at, not at the quad it was on).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9310 178a84e3-b1eb-0310-8ba1-8eac791a3b58
the anchor). Known bugs: atm it does not yet bounce (it follows
just the drivelines and might be partly in the track); the first
kart can't avoid it (long term breaking might allow you to avoid it);
it might hit another kart first and explode.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9302 178a84e3-b1eb-0310-8ba1-8eac791a3b58