gun_misc: change Scion from spawning blood to richochet (#1133)

Resolves #1121.
This commit is contained in:
walkawayy 2024-01-06 11:11:58 -05:00 committed by GitHub
parent 0c4c2f8cfb
commit f894ae5acb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 3 deletions

View file

@ -3,6 +3,7 @@
- added the restart level option to the passport in save crystal mode (#1099)
- changed `force_enable_save_crystals` to `force_save_crystals` for custom level authors to force enable or disable the save crystals setting (#1102)
- changed `force_disable_game_modes` to `force_game_modes` for custom level authors to force enable or disable the game modes setting (#1102)
- changed the Scion in The Great Pyramid from spawning blood when hit to a richochet effect if texture fixes enabled (#1121)
- added the ability to back out of menus with the circle and triangle buttons when using a gamepad (cross acts as confirm) (#1104)
- changed the gamepad control menu's 'reset all buttons' bind to held R1 (was held triangle) (#1104)
- fixed FMVs always playing at 100% volume now they'll play at the game sound volume (#1110)

View file

@ -349,6 +349,7 @@ Not all options are turned on by default. Refer to `TR1X_ConfigTool.exe` for det
- added optional fade effects
- added a vsync option
- added contextual arrows to menu options
- changed the Scion in The Great Pyramid from spawning blood when hit to a richochet effect
- fixed thin black lines between polygons
- fixed black screen flashing when navigating the inventory
- fixed detail levels text flashing with any option change

View file

@ -1,5 +1,6 @@
#include "game/gun/gun_misc.h"
#include "config.h"
#include "game/collide.h"
#include "game/effects/blood.h"
#include "game/inventory.h"
@ -411,9 +412,18 @@ void Gun_HitTarget(ITEM_INFO *item, GAME_VECTOR *hitpos, int16_t damage)
}
Item_TakeDamage(item, damage, true);
Effect_Blood(
hitpos->x, hitpos->y, hitpos->z, item->speed, item->pos.y_rot,
item->room_number);
if (g_Config.fix_texture_issues && item->object_number == O_SCION_ITEM3) {
GAME_VECTOR pos;
pos.x = hitpos->x;
pos.y = hitpos->y;
pos.z = hitpos->z;
pos.room_number = item->room_number;
Ricochet_Spawn(&pos);
} else {
Effect_Blood(
hitpos->x, hitpos->y, hitpos->z, item->speed, item->pos.y_rot,
item->room_number);
}
if (item->hit_points > 0) {
switch (item->object_number) {