|
|
@ -126,6 +126,7 @@ class Entity{ |
|
|
|
std::vector<WEATHER_POWER*> moveSet; |
|
|
|
std::vector<WEATHER_POWER*> moveSet; |
|
|
|
bool turnComplete=false; |
|
|
|
bool turnComplete=false; |
|
|
|
bool slowed=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) { |
|
|
|
Entity(Decal*spr,std::string name,int x,int y,int hp,int maxhp,std::vector<WEATHER_POWER*>moveset) { |
|
|
|
this->spr=spr; |
|
|
|
this->spr=spr; |
|
|
|
this->name=name; |
|
|
|
this->name=name; |
|
|
@ -231,6 +232,8 @@ public: |
|
|
|
WEATHER_POWER*BATTLE_CARD_SELECTION=HAILSTORM; |
|
|
|
WEATHER_POWER*BATTLE_CARD_SELECTION=HAILSTORM; |
|
|
|
int BATTLE_CARD_SELECTION_IND=0; |
|
|
|
int BATTLE_CARD_SELECTION_IND=0; |
|
|
|
int PLAYER_SELECTED_TARGET=-1; |
|
|
|
int PLAYER_SELECTED_TARGET=-1; |
|
|
|
|
|
|
|
int PLAYER_MAXHP=60; |
|
|
|
|
|
|
|
int PLAYER_HP=PLAYER_MAXHP; |
|
|
|
|
|
|
|
|
|
|
|
std::vector<WEATHER_POWER*>MOVESET_SPIDEY; |
|
|
|
std::vector<WEATHER_POWER*>MOVESET_SPIDEY; |
|
|
|
|
|
|
|
|
|
|
@ -238,7 +241,7 @@ public: |
|
|
|
Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL, |
|
|
|
Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL, |
|
|
|
*PLAYER_DECAL, |
|
|
|
*PLAYER_DECAL, |
|
|
|
*WEATHERNODE_EFFECT_DECAL,*POWER_HAILSTORM_DECAL,*POWER_HURRICANE_DECAL,*POWER_METEOR_SHOWER_DECAL,*POWER_METEOR_STORM_DECAL,*POWER_SNOWSTORM_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::map<std::string,ObjectLoadInfo*> BASE_OBJECTS; |
|
|
|
std::vector<Encounter> ENCOUNTERS; |
|
|
|
std::vector<Encounter> ENCOUNTERS; |
|
|
|
Encounter ENCOUNTER_SPIDEY_1; |
|
|
|
Encounter ENCOUNTER_SPIDEY_1; |
|
|
@ -266,6 +269,7 @@ public: |
|
|
|
SPIDEY_DECAL=new Decal(new Sprite("assets/spidey.png")); |
|
|
|
SPIDEY_DECAL=new Decal(new Sprite("assets/spidey.png")); |
|
|
|
TARGETING_CIRCLE=new Decal(new Sprite("assets/targetCircle.png")); |
|
|
|
TARGETING_CIRCLE=new Decal(new Sprite("assets/targetCircle.png")); |
|
|
|
TARGETING_RANGE_CIRCLE=new Decal(new Sprite("assets/targetRange.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; |
|
|
|
current_playerAnim.spr=PLAYER_DECAL; |
|
|
|
playerAnim.spr=PLAYER_DECAL; |
|
|
|
playerAnim.spr=PLAYER_DECAL; |
|
|
@ -952,6 +956,11 @@ public: |
|
|
|
} |
|
|
|
} |
|
|
|
}break; |
|
|
|
}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) { |
|
|
|
if (messageBoxVisible) { |
|
|
|
DrawDialogBox({4,HEIGHT-60},{WIDTH/2,16},Pixel(18, 0, 33,180)); |
|
|
|
DrawDialogBox({4,HEIGHT-60},{WIDTH/2,16},Pixel(18, 0, 33,180)); |
|
|
|
DrawDialogBox({0,HEIGHT-48},{WIDTH,48},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) { |
|
|
|
int getPlantId(int x, int y) { |
|
|
|
return ((int)x-8)%4+((int)y-2)*4; |
|
|
|
return ((int)x-8)%4+((int)y-2)*4; |
|
|
|
} |
|
|
|
} |
|
|
|