Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 16, 2007, 11:15:39 AM (17 years ago)
Author:
rennerc
Message:

improved damage handling for adm

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/presentation/src/world_entities/world_entity.cc

    r10704 r10708  
    9797  this->entityTrack = NULL;
    9898  this->bDrawTrack = false;
     99 
     100  this->forwardDamageToParent = false;
    99101
    100102  // registering default reactions:
     
    179181  LoadParam(root, "drawTrack", this, WorldEntity, drawDebugTrack)
    180182      .describe("draws the track for debugging purposes");
     183 
     184  LoadParam(root, "forwardDamageToParent", this, WorldEntity, setForwardDamageToParent);
    181185
    182186  // Track
     
    980984void WorldEntity::hit(float damage, WorldEntity* killer)
    981985{
    982 
     986  PRINTF(0)("TESTS: %i %i %i\n", (forwardDamageToParent), (this->getParent() != NullParent::getNullParent()), (this->getParent()->isA( WorldEntity::staticClassID() )));
     987  if ( forwardDamageToParent && this->getParent() != NullParent::getNullParent() && this->getParent()->isA( WorldEntity::staticClassID() ) )
     988  {
     989    WorldEntity* pa = dynamic_cast<WorldEntity*>(this->getParent());
     990    pa->hit( damage, killer );
     991    return;
     992  }
     993 
     994  bool dead = this->getHealth()<=0;
     995 
    983996  this->decreaseHealth(damage);
    984997
     
    9911004  else
    9921005  {
    993     this->destroy( killer );
     1006    if ( !dead )
     1007      this->destroy( killer );
    9941008  }
    9951009}
Note: See TracChangeset for help on using the changeset viewer.