This commit is contained in:
aozhiwei 2019-08-11 12:30:06 +08:00
parent 366d628e47
commit 942d16e4b6

View File

@ -17,6 +17,7 @@
#include "android.h"
#include "gamelog.h"
#include "typeconvert.h"
#include "obstacle.h"
#include "framework/cpp/utils.h"
#include "framework/cpp/httpclientpool.h"
@ -355,6 +356,32 @@ bool Human::IsCollisionInMapService()
for (const ColliderComponent* collider : colliders) {
switch (collider->owner->entity_type) {
case ET_Obstacle:
{
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {
if (last_collision_door != collider->owner) {
Obstacle* obstacle = (Obstacle*)collider->owner;
if (!obstacle->dead && obstacle->meta->i->attack_type() == 1 &&
obstacle->meta->i->drop() != 0) {
obstacle->health = 0;
obstacle->dead = obstacle->health <= 0.01f;
obstacle->dead_frameno = room->frame_no;
if (obstacle->dead) {
#if 0
if (obstacle->meta->i->damage_dia() > 0.01f &&
obstacle->meta->i->damage() > 0.01f) {
obstacle->Explosion(this);
}
#endif
room->ScatterDrop(obstacle->pos, obstacle->meta->i->drop());
}
obstacle->BroadcastFullState();
} else {
return true;
}
}
}
}
break;
case ET_Building:
{
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {