The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'!
https://forums.lestoria.net
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
957 B
33 lines
957 B
1 year ago
|
#include "BulletTypes.h"
|
||
|
#include "Effect.h"
|
||
|
#include "Crawler.h"
|
||
|
#include "DEFINES.h"
|
||
|
#include "utils.h"
|
||
|
#include "olcUTIL_Geometry2D.h"
|
||
|
|
||
|
INCLUDE_game
|
||
|
|
||
|
ChargedArrow::ChargedArrow(vf2d pos,vf2d vel,float radius,int damage,bool upperLevel,bool friendly,Pixel col)
|
||
|
:lastLaserPos(pos),
|
||
|
Bullet(pos,vel,radius,damage,
|
||
|
AnimationState::CHARGED_ARROW,upperLevel,true,INFINITE,true,friendly,col){}
|
||
|
|
||
|
void ChargedArrow::Update(float fElapsedTime){
|
||
|
geom2d::line lineToCurrentPos(geom2d::line(lastLaserPos,pos));
|
||
|
float dist=lineToCurrentPos.length();
|
||
|
if(dist>=1){
|
||
|
vf2d midpoint(lineToCurrentPos.rpoint(0.5));
|
||
|
game->AddEffect(std::make_unique<Effect>(midpoint,0.1,AnimationState::LASER,upperLevel,vf2d{1,dist},0.3,vf2d{},Pixel{192,128,238},atan2(pos.y-lastLaserPos.y,pos.x-lastLaserPos.x)+PI/2,0,true));
|
||
|
lastLaserPos=pos;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
bool ChargedArrow::PlayerHit(Player*player)
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
bool ChargedArrow::MonsterHit(Monster& monster)
|
||
|
{
|
||
|
return false;
|
||
|
}
|