Back Collision reactivated

It still is deactivating the collision of the back half to make easier for the player to reach the dagger.
This commit is contained in:
Adngel 2024-01-25 11:49:55 +01:00
parent a35315bb65
commit 0bbcefd2b8
3 changed files with 16 additions and 0 deletions

View file

@ -633,4 +633,13 @@ namespace TEN::Entities::Creatures::TR2
CreatureCollision(itemNumber, playerItem, coll); CreatureCollision(itemNumber, playerItem, coll);
} }
} }
void CollideDragonBack(short itemNumber, ItemInfo* playerItem, CollisionInfo* coll)
{
auto& item = g_Level.Items[itemNumber];
if (item.HitPoints > 0)
CreatureCollision(itemNumber, playerItem, coll);
}
} }

View file

@ -10,4 +10,5 @@ namespace TEN::Entities::Creatures::TR2
void InitializeDragon(short itemNumber); void InitializeDragon(short itemNumber);
void ControlDragon(short itemNumber); void ControlDragon(short itemNumber);
void CollideDragonFront(short itemNumber, ItemInfo* playerItem, CollisionInfo* coll); void CollideDragonFront(short itemNumber, ItemInfo* playerItem, CollisionInfo* coll);
void CollideDragonBack (short itemNumber, ItemInfo* playerItem, CollisionInfo* coll);
} }

View file

@ -449,12 +449,18 @@ static void StartEntity(ObjectInfo* obj)
if (obj->loaded) if (obj->loaded)
{ {
CheckIfSlotExists(ID_DRAGON_FRONT, "ID_DRAGON_FRONT"); CheckIfSlotExists(ID_DRAGON_FRONT, "ID_DRAGON_FRONT");
CheckIfSlotExists(ID_DRAGON_BONE_FRONT, "ID_DRAGON_BONE_FRONT");
CheckIfSlotExists(ID_DRAGON_BONE_BACK, "ID_DRAGON_BONE_BACK");
obj->collision = CollideDragonBack;
obj->SetHitEffect(false, true); obj->SetHitEffect(false, true);
} }
obj = &Objects[ID_MARCO_BARTOLI]; obj = &Objects[ID_MARCO_BARTOLI];
if (obj->loaded) if (obj->loaded)
{ {
CheckIfSlotExists(ID_SPHERE_OF_DOOM, "ID_SPHERE_OF_DOOM");
CheckIfSlotExists(ID_SPHERE_OF_DOOM2, "ID_SPHERE_OF_DOOM2");
CheckIfSlotExists(ID_SPHERE_OF_DOOM3, "ID_SPHERE_OF_DOOM3");
obj->Initialize = InitializeBartoli; obj->Initialize = InitializeBartoli;
obj->control = ControlBartoli; obj->control = ControlBartoli;
} }