1
This commit is contained in:
parent
366d628e47
commit
942d16e4b6
@ -17,6 +17,7 @@
|
|||||||
#include "android.h"
|
#include "android.h"
|
||||||
#include "gamelog.h"
|
#include "gamelog.h"
|
||||||
#include "typeconvert.h"
|
#include "typeconvert.h"
|
||||||
|
#include "obstacle.h"
|
||||||
|
|
||||||
#include "framework/cpp/utils.h"
|
#include "framework/cpp/utils.h"
|
||||||
#include "framework/cpp/httpclientpool.h"
|
#include "framework/cpp/httpclientpool.h"
|
||||||
@ -355,6 +356,32 @@ bool Human::IsCollisionInMapService()
|
|||||||
for (const ColliderComponent* collider : colliders) {
|
for (const ColliderComponent* collider : colliders) {
|
||||||
switch (collider->owner->entity_type) {
|
switch (collider->owner->entity_type) {
|
||||||
case ET_Obstacle:
|
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:
|
case ET_Building:
|
||||||
{
|
{
|
||||||
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {
|
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user