|
|
|
@ -1135,6 +1135,7 @@ public: |
|
|
|
|
} else { |
|
|
|
|
DrawDecal({(enc.x+ent.x-PLAYER_COORDS[0])*32+WIDTH/2,(enc.y+ent.y-PLAYER_COORDS[1])*32+HEIGHT/2},ent.spr); |
|
|
|
|
} |
|
|
|
|
DrawHealthbar({(enc.x+ent.x-PLAYER_COORDS[0])*32+WIDTH/2,(enc.y+ent.y-PLAYER_COORDS[1])*32+HEIGHT/2+ent.spr->sprite->height+2},ent.spr->sprite->width,ent.hp/ent.maxhp,BLACK); |
|
|
|
|
} |
|
|
|
|
if (targetX!=-1&&targetY!=-1) { |
|
|
|
|
DrawDecal({(enc.x+targetX-PLAYER_COORDS[0])*32+WIDTH/2-BATTLE_CARD_SELECTION->range+16,(enc.y+targetY-PLAYER_COORDS[1])*32+HEIGHT/2-BATTLE_CARD_SELECTION->range+16},TARGETING_RANGE_CIRCLE,{BATTLE_CARD_SELECTION->range*2/32.0,BATTLE_CARD_SELECTION->range*2/32.0},{255,60,0,(0.5*(float)sin(frameCount*4/60.0)+0.5)*100}); |
|
|
|
@ -1143,7 +1144,7 @@ public: |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void DrawHealthbar(vf2d pos,float width,float pct,Pixel col) { |
|
|
|
|
GradientFillRectDecal(pos,{width,8},RED,RED,GREEN,GREEN); |
|
|
|
|
GradientFillRectDecal(pos,{width*pct,8},RED,RED,Pixel((1/pct)*255,255*pct,0,255)); |
|
|
|
|
DrawDecal(pos,HEALTHBAR_DECAL,{width/32,1},col); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1375,6 +1376,7 @@ public: |
|
|
|
|
ent->hp=std::clamp(ent->hp-finalDamage,0,ent->maxhp); |
|
|
|
|
DisplayNumber numb(finalDamage,ent->x,ent->y,frameCount); |
|
|
|
|
BATTLE_DISPLAY_NUMBERS.push_back(numb); |
|
|
|
|
ent->damageFrame=frameCount; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1387,10 +1389,12 @@ public: |
|
|
|
|
ent->hp=std::clamp(ent->hp-finalDamage,0,ent->maxhp); |
|
|
|
|
DisplayNumber numb(finalDamage,ent->x,ent->y,frameCount); |
|
|
|
|
BATTLE_DISPLAY_NUMBERS.push_back(numb); |
|
|
|
|
ent->damageFrame=frameCount; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
PLAYER_HP=std::clamp(PLAYER_HP-finalDamage,0,PLAYER_MAXHP); |
|
|
|
|
DisplayNumber numb(finalDamage,PLAYER_COORDS[0],PLAYER_COORDS[1],frameCount); |
|
|
|
|
BATTLE_DISPLAY_NUMBERS.push_back(numb); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|