Healthbar display

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent 6087b074b8
commit 5e89a84b3b
  1. 16
      SeasonsOfLoneliness.cpp
  2. BIN
      Seasons_of_Loneliness
  3. BIN
      assets/healthbar.png

@ -126,6 +126,7 @@ class Entity{
std::vector<WEATHER_POWER*> moveSet;
bool turnComplete=false;
bool slowed=false;
int damageFrame=0;
Entity(Decal*spr,std::string name,int x,int y,int hp,int maxhp,std::vector<WEATHER_POWER*>moveset) {
this->spr=spr;
this->name=name;
@ -231,6 +232,8 @@ public:
WEATHER_POWER*BATTLE_CARD_SELECTION=HAILSTORM;
int BATTLE_CARD_SELECTION_IND=0;
int PLAYER_SELECTED_TARGET=-1;
int PLAYER_MAXHP=60;
int PLAYER_HP=PLAYER_MAXHP;
std::vector<WEATHER_POWER*>MOVESET_SPIDEY;
@ -238,7 +241,7 @@ public:
Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL,
*PLAYER_DECAL,
*WEATHERNODE_EFFECT_DECAL,*POWER_HAILSTORM_DECAL,*POWER_HURRICANE_DECAL,*POWER_METEOR_SHOWER_DECAL,*POWER_METEOR_STORM_DECAL,*POWER_SNOWSTORM_DECAL,
*SPIDEY_DECAL,*TARGETING_CIRCLE,*TARGETING_RANGE_CIRCLE;
*SPIDEY_DECAL,*TARGETING_CIRCLE,*TARGETING_RANGE_CIRCLE,*HEALTHBAR_DECAL;
std::map<std::string,ObjectLoadInfo*> BASE_OBJECTS;
std::vector<Encounter> ENCOUNTERS;
Encounter ENCOUNTER_SPIDEY_1;
@ -266,6 +269,7 @@ public:
SPIDEY_DECAL=new Decal(new Sprite("assets/spidey.png"));
TARGETING_CIRCLE=new Decal(new Sprite("assets/targetCircle.png"));
TARGETING_RANGE_CIRCLE=new Decal(new Sprite("assets/targetRange.png"));
HEALTHBAR_DECAL=new Decal(new Sprite("assets/healthbar.png"));
current_playerAnim.spr=PLAYER_DECAL;
playerAnim.spr=PLAYER_DECAL;
@ -952,6 +956,11 @@ public:
}
}break;
}
if (IN_BATTLE_ENCOUNTER) {
DrawStringDecal({4+1,HEIGHT-10-GetTextSize("HP:").y+1},"HP: "+std::to_string(PLAYER_HP),BLACK);
DrawStringDecal({4,HEIGHT-10-GetTextSize("HP:").y},"HP: "+std::to_string(PLAYER_HP));
DrawHealthbar({2,HEIGHT-10},WIDTH/2,PLAYER_HP/PLAYER_MAXHP,BLACK);
}
if (messageBoxVisible) {
DrawDialogBox({4,HEIGHT-60},{WIDTH/2,16},Pixel(18, 0, 33,180));
DrawDialogBox({0,HEIGHT-48},{WIDTH,48},Pixel(18, 0, 33,180));
@ -1021,6 +1030,11 @@ public:
}
}
void DrawHealthbar(vf2d pos,float width,float pct,Pixel col) {
GradientFillRectDecal(pos,{width,8},RED,RED,GREEN,GREEN);
DrawDecal(pos,HEALTHBAR_DECAL,{width/32,1},col);
}
int getPlantId(int x, int y) {
return ((int)x-8)%4+((int)y-2)*4;
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Loading…
Cancel
Save