Completes testing of phase and fixes some errors
- Fixes some information in skill tooltips - Fixes a bug with menu mouse selections
This commit is contained in:
parent
97ad1ddd23
commit
c7c5346afc
|
@ -193,7 +193,7 @@ menu_update(Menu *m, Input *input)
|
|||
if (position_in_rect(&p, &item->button->area)
|
||||
&& input_mousebutton_is_pressed(input, MBUTTON_LEFT))
|
||||
{
|
||||
item->button->event(NULL);
|
||||
item->button->event(item->button->usrdata);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -528,6 +528,10 @@ monster_perform_aoe_attack(Monster *m, RoomMatrix *rm)
|
|||
bool
|
||||
monster_move(Monster *m, RoomMatrix *rm, Map *map)
|
||||
{
|
||||
Player *player = roommatrix_get_player(rm);
|
||||
if (player && player->phase_count)
|
||||
return true;
|
||||
|
||||
if (m->stats.hp <= 0 || m->sprite->state == SPRITE_STATE_FALLING)
|
||||
return true;
|
||||
|
||||
|
|
|
@ -103,9 +103,9 @@ action_spent(Player *p)
|
|||
for (size_t i = 0; i < PLAYER_SKILL_COUNT; ++i) {
|
||||
if (p->skills[i] != NULL && p->skills[i]->resetCountdown > 0)
|
||||
p->skills[i]->resetCountdown--;
|
||||
if (p->phase_count > 0)
|
||||
p->phase_count--;
|
||||
}
|
||||
if (p->phase_count > 0)
|
||||
p->phase_count--;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ has_collided(Player *player, RoomMatrix *matrix, Vector2d direction)
|
|||
else {
|
||||
player_collect_items(player, space);
|
||||
player_pickup_artifacts(player, space);
|
||||
if (player->phase_count) {
|
||||
if (!player->phase_count) {
|
||||
player_interact_objects(player, space);
|
||||
player_interact_traps_and_pits(player, space);
|
||||
}
|
||||
|
|
|
@ -307,3 +307,10 @@ void roommatrix_destroy(RoomMatrix *m)
|
|||
|
||||
free(m);
|
||||
}
|
||||
|
||||
Player *
|
||||
roommatrix_get_player(RoomMatrix *rm)
|
||||
{
|
||||
Position *pos = &rm->playerRoomPos;
|
||||
return rm->spaces[pos->x][pos->y].player;
|
||||
}
|
||||
|
|
|
@ -90,4 +90,7 @@ roommatrix_render_debug(RoomMatrix*, Camera*);
|
|||
void
|
||||
roommatrix_destroy(RoomMatrix*);
|
||||
|
||||
Player *
|
||||
roommatrix_get_player(RoomMatrix*);
|
||||
|
||||
#endif // ROOMMATRIX_H_
|
||||
|
|
13
src/skill.c
13
src/skill.c
|
@ -77,9 +77,10 @@ static char *trip_tooltip[] = {
|
|||
"TRIP",
|
||||
"",
|
||||
" Trips an adjecant enemy causing him to fall (move), in",
|
||||
" the direction you tripped him.",
|
||||
" the direction you tripped it in.",
|
||||
" On a successful hit the enemy will also be stunned."
|
||||
"",
|
||||
" This can be combined with traps and pits to great effect",
|
||||
" This can be combined with traps and pits to great effect.",
|
||||
"",
|
||||
"COOLDOWN:",
|
||||
" 3 turns",
|
||||
|
@ -99,6 +100,7 @@ static char *backstab_tooltip[] = {
|
|||
" You flip over an adjecant enemy taking it's place and",
|
||||
" it taking yours, finnishing off with a stab in the back",
|
||||
" of your foe.",
|
||||
" A successful attack will also leave the enemy stunned."
|
||||
"",
|
||||
"COOLDOWN:",
|
||||
" 5 turns",
|
||||
|
@ -116,8 +118,8 @@ static char *phase_tooltip[] = {
|
|||
"PHASE",
|
||||
"",
|
||||
" You phase out of existence for a time. While you are phased you",
|
||||
" are unaffected by gravity, traps and monsters won't see you.",
|
||||
" You can also pass through monsters",
|
||||
" are unaffected by gravity, traps and enemies won't see you.",
|
||||
" You can also pass through enemies.",
|
||||
"",
|
||||
" The effect lasts for 3 turns",
|
||||
"",
|
||||
|
@ -425,7 +427,7 @@ skill_trip(Skill *skill, SkillData *data)
|
|||
gui_log("You trip %s causing it to fall away from you", space->monster->lclabel);
|
||||
monster_hit(space->monster, dmg);
|
||||
player_monster_kill_check(data->player, space->monster);
|
||||
if (space->monster->stats.hp > 0) {
|
||||
if (dmg && space->monster->stats.hp > 0) {
|
||||
Uint32 pushCount = 1 + player_has_artifact(data->player, PUSH_BACK);
|
||||
for (Uint32 i = 0; i < pushCount; ++i) {
|
||||
monster_push(space->monster, data->player, data->matrix, data->direction);
|
||||
|
@ -433,6 +435,7 @@ skill_trip(Skill *skill, SkillData *data)
|
|||
break;
|
||||
}
|
||||
}
|
||||
monster_set_state(space->monster, STUNNED, (Uint8)(1 + player_has_artifact(data->player, INCREASED_STUN)));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue