Browse Source

- Fixed DealsDamageBehavior::onCollision in the DeathBallToy. It was missing a parameter. Collision should be working again. Should the parameter list be changed again, this function needs to be updated.
- Added changes from pull request #32 (https://github.com/GarageGames/Torque2D/pull/32).

MichPerry-GG 12 years ago
parent
commit
b59bc38

+ 7 - 8
modules/DeathBallToy/1/main.cs

@@ -217,11 +217,11 @@ function Deathball::updateRollAnimation(%this)
 {
     %this.rollSchedule = "";
 
-    %velocity = %this.getLinearVelocity();
-    %scaledVelocity = (mAbs(getWord(%velocity, 0))) + mAbs(getWord(%velocity, 1)) / 50;
+    %velocity = %this.getLinearVelocity();    
+    %scaledVelocity = VectorLen(%velocity); // (mAbs(getWord(%velocity, 0))) + mAbs(getWord(%velocity, 1)) / 50;
     %flooredVelocity = mFloatLength(%scaledVelocity, 1);
 
-    %this.setAnimationTimeScale(%flooredVelocity / 15);
+    %this.setAnimationTimeScale(%flooredVelocity / 20);
 
     %this.rollSchedule = %this.schedule(100, updateRollAnimation);
 }
@@ -469,11 +469,10 @@ function DeathBallToy::onTouchUp(%this, %touchID, %worldPosition)
 {
     %origin = Deathball.getPosition();
     %angle = -mRadToDeg( mAtan( getWord(%worldPosition,0)-getWord(%origin,0), getWord(%worldPosition,1)-getWord(%origin,1) ) );
-
-    Deathball.RotateTo( %angle, DeathBallToy.rotateSpeed );
-
-    %adjustedSpeed = (DeathBallToy.ballSpeed / DeathBallToy.maxBallSpeed) * 3000;
-
+    
+    // Since the speed is used instead of time, we can use the current velocity to set it's speed.
+    %adjustedSpeed = VectorLen(DeathBall.getLinearVelocity());// (DeathBallToy.ballSpeed / DeathBallToy.maxBallSpeed) * 3000;
+   
     Deathball.MoveTo( %worldPosition, %adjustedSpeed, true, false );
 }
 

+ 2 - 2
modules/DeathBallToy/1/scripts/dealsDamageBehavior.cs

@@ -61,9 +61,9 @@ function DealsDamageBehavior::explode(%this, %position)
 
 //-----------------------------------------------------------------------------
 
-function DealsDamageBehavior::onCollision(%this, %object, %collisionDetails)
+function DealsDamageBehavior::onCollision(%this, %objectA, %objectB, %collisionDetails)
 {
-    %this.dealDamage(%this.strength, %object);
+    %this.dealDamage(%this.strength, %objectB);
    
     if (%this.deleteOnHit)
     {