mirror of
https://github.com/blupi-games/planetblupi
synced 2024-12-30 10:15:36 +01:00
Fix stats mouse handling with difficult skill level
- It fixes the navigation with the arrows - It fixes the highlight and disable properly the move to an ennemy Closes #69
This commit is contained in:
parent
e343821d26
commit
89ddbb6a83
@ -370,9 +370,9 @@ public:
|
|||||||
void StatisticDraw ();
|
void StatisticDraw ();
|
||||||
void GenerateStatictic ();
|
void GenerateStatictic ();
|
||||||
bool StatisticDown (Point pos);
|
bool StatisticDown (Point pos);
|
||||||
bool StatisticMove (Point pos);
|
bool StatisticMove (Point pos, bool & disable);
|
||||||
bool StatisticUp (Point pos);
|
bool StatisticUp (Point pos);
|
||||||
Sint32 StatisticDetect (Point pos);
|
Sint32 StatisticDetect (Point pos, bool & disable);
|
||||||
|
|
||||||
// Chemin.cpp
|
// Chemin.cpp
|
||||||
void CheminMemPos (Sint32 exRank);
|
void CheminMemPos (Sint32 exRank);
|
||||||
|
@ -807,8 +807,9 @@ CDecor::StatisticDown (Point pos)
|
|||||||
|
|
||||||
StatisticUpdate ();
|
StatisticUpdate ();
|
||||||
|
|
||||||
hili = StatisticDetect (pos);
|
bool disable;
|
||||||
if (hili < 0)
|
hili = StatisticDetect (pos, disable);
|
||||||
|
if (hili < 0 || disable)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (m_bStatUp && hili == 0) // flèche up ?
|
if (m_bStatUp && hili == 0) // flèche up ?
|
||||||
@ -984,11 +985,11 @@ select:
|
|||||||
// Souris déplacée dans les statistiques.
|
// Souris déplacée dans les statistiques.
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CDecor::StatisticMove (Point pos)
|
CDecor::StatisticMove (Point pos, bool & disable)
|
||||||
{
|
{
|
||||||
Sint32 rank;
|
Sint32 rank;
|
||||||
|
|
||||||
rank = StatisticDetect (pos);
|
rank = StatisticDetect (pos, disable);
|
||||||
|
|
||||||
if (rank != m_statHili) // autre mise en évidence ?
|
if (rank != m_statHili) // autre mise en évidence ?
|
||||||
m_statHili = rank;
|
m_statHili = rank;
|
||||||
@ -1007,10 +1008,12 @@ CDecor::StatisticUp (Point pos)
|
|||||||
// Détecte dans quelle statistique est la souris.
|
// Détecte dans quelle statistique est la souris.
|
||||||
|
|
||||||
Sint32
|
Sint32
|
||||||
CDecor::StatisticDetect (Point pos)
|
CDecor::StatisticDetect (Point pos, bool & disable)
|
||||||
{
|
{
|
||||||
Sint32 rank;
|
Sint32 rank;
|
||||||
|
|
||||||
|
disable = false;
|
||||||
|
|
||||||
// Dans un bouton stop/setup/write ?
|
// Dans un bouton stop/setup/write ?
|
||||||
if (pos.x >= 10 && pos.x <= 10 + 42 * 3 && pos.y >= 422 && pos.y <= 422 + 40)
|
if (pos.x >= 10 && pos.x <= 10 + 42 * 3 && pos.y >= 422 && pos.y <= 422 + 40)
|
||||||
{
|
{
|
||||||
@ -1029,12 +1032,18 @@ CDecor::StatisticDetect (Point pos)
|
|||||||
if (rank >= STATNB)
|
if (rank >= STATNB)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
auto pStatistic = StatisticGet (rank);
|
if (rank == 11 && this->m_bStatDown)
|
||||||
|
return rank;
|
||||||
|
|
||||||
|
if (rank == 0 && this->m_bStatUp)
|
||||||
|
return rank;
|
||||||
|
|
||||||
|
auto pStatistic = StatisticGet (m_statFirst + rank - !!m_bStatUp);
|
||||||
if (
|
if (
|
||||||
this->GetSkill () >= 1 && pStatistic->perso >= 0 &&
|
this->GetSkill () >= 1 && pStatistic->perso >= 0 &&
|
||||||
(pStatistic->perso != 0 && pStatistic->perso != 8))
|
(pStatistic->perso != 0 && pStatistic->perso != 8))
|
||||||
{
|
{
|
||||||
return -1;
|
disable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rank;
|
return rank;
|
||||||
|
@ -1703,6 +1703,7 @@ CEvent::CEvent ()
|
|||||||
m_updateBlinking = 0;
|
m_updateBlinking = 0;
|
||||||
|
|
||||||
this->shiftDirection = 0;
|
this->shiftDirection = 0;
|
||||||
|
this->statDisabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructeur.
|
// Destructeur.
|
||||||
@ -2875,6 +2876,9 @@ CEvent::MousePosToSprite (Point pos)
|
|||||||
if (bRight && bDown)
|
if (bRight && bDown)
|
||||||
sprite = SPRITE_ARROWDR;
|
sprite = SPRITE_ARROWDR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->statDisabled)
|
||||||
|
sprite = SPRITE_ARROW;
|
||||||
}
|
}
|
||||||
else if (m_phase == EV_PHASE_INTRO1)
|
else if (m_phase == EV_PHASE_INTRO1)
|
||||||
sprite = SPRITE_POINTER;
|
sprite = SPRITE_POINTER;
|
||||||
@ -3995,7 +3999,7 @@ CEvent::PlayMove (Point pos)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pDecor->StatisticMove (pos);
|
m_pDecor->StatisticMove (pos, this->statDisabled);
|
||||||
|
|
||||||
if (m_bMouseDown) // bouton souris pressé ?
|
if (m_bMouseDown) // bouton souris pressé ?
|
||||||
{
|
{
|
||||||
|
@ -274,6 +274,7 @@ protected:
|
|||||||
Sint32 m_updateBlinking;
|
Sint32 m_updateBlinking;
|
||||||
std::string m_updateVersion;
|
std::string m_updateVersion;
|
||||||
Uint32 shiftDirection;
|
Uint32 shiftDirection;
|
||||||
|
bool statDisabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user