Implement Charge Beam. Make beam sprite effect distance twice as large so segments have smaller gaps. Release Build 10824.
This commit is contained in:
parent
ab963293d1
commit
10b849e906
@ -100,6 +100,7 @@ namespace PlayerTests
|
|||||||
}
|
}
|
||||||
TEST_METHOD_CLEANUP(CleanupTests){
|
TEST_METHOD_CLEANUP(CleanupTests){
|
||||||
testGame->EndGame();
|
testGame->EndGame();
|
||||||
|
testGame->OnUserUpdate(0.f);
|
||||||
}
|
}
|
||||||
TEST_METHOD(PlayerAlive){
|
TEST_METHOD(PlayerAlive){
|
||||||
Assert::IsTrue(player->IsAlive());
|
Assert::IsTrue(player->IsAlive());
|
||||||
|
@ -394,7 +394,7 @@ bool AiL::OnUserCreate(){
|
|||||||
|
|
||||||
void AiL::AdminConsole(){
|
void AiL::AdminConsole(){
|
||||||
if(ADMIN_MODE){
|
if(ADMIN_MODE){
|
||||||
if(GetKey(F12).bPressed)ConsoleShow(F12);
|
if(GetKey(F11).bPressed)ConsoleShow(F11);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,11 @@ void ChargedArrow::Update(float fElapsedTime){
|
|||||||
float dist=lineToCurrentPos.length();
|
float dist=lineToCurrentPos.length();
|
||||||
if(dist>=1){
|
if(dist>=1){
|
||||||
vf2d midpoint(lineToCurrentPos.rpoint(0.5));
|
vf2d midpoint(lineToCurrentPos.rpoint(0.5));
|
||||||
game->AddEffect(std::make_unique<Effect>(midpoint,0.1f,"laser.png",upperLevel,vf2d{1,dist},0.3f,vf2d{},Pixel{192,128,238},atan2(pos.y-lastLaserPos.y,pos.x-lastLaserPos.x)+PI/2,0,true));
|
|
||||||
|
const float normalBeamRadius{12*"Ranger.Ability 2.Radius"_F/100};
|
||||||
|
float laserWidth{radius/normalBeamRadius};
|
||||||
|
|
||||||
|
game->AddEffect(std::make_unique<Effect>(midpoint,0.1f,"laser.png",upperLevel,vf2d{laserWidth,dist*2},0.3f,vf2d{},Pixel{192,128,238},atan2(pos.y-lastLaserPos.y,pos.x-lastLaserPos.x)+PI/2,0,true));
|
||||||
lastLaserPos=pos;
|
lastLaserPos=pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,11 @@ void Ranger::InitializeClassAbilities(){
|
|||||||
Ranger::ability2.action=
|
Ranger::ability2.action=
|
||||||
[](Player*p,vf2d pos={}){
|
[](Player*p,vf2d pos={}){
|
||||||
vf2d arrowVelocity=util::pointTo(p->GetPos(),p->GetWorldAimingLocation());
|
vf2d arrowVelocity=util::pointTo(p->GetPos(),p->GetWorldAimingLocation());
|
||||||
BULLET_LIST.push_back(std::make_unique<ChargedArrow>(p->GetPos(),arrowVelocity*"Ranger.Ability 2.Speed"_F,12*"Ranger.Ability 2.Radius"_F/100,p->GetAttack()*"Ranger.Ability 2.DamageMult"_F,p->OnUpperLevel(),true));
|
|
||||||
|
float beamRadius{12*"Ranger.Ability 2.Radius"_F/100};
|
||||||
|
if(p->HasEnchant("Charge Beam"))beamRadius*="Charge Beam"_ENC["ATTACK RADIUS INCREASE MULT"];
|
||||||
|
|
||||||
|
BULLET_LIST.push_back(std::make_unique<ChargedArrow>(p->GetPos(),arrowVelocity*"Ranger.Ability 2.Speed"_F,beamRadius,p->GetAttack()*"Ranger.Ability 2.DamageMult"_F,p->OnUpperLevel(),true));
|
||||||
p->SetState(State::SHOOT_ARROW);
|
p->SetState(State::SHOOT_ARROW);
|
||||||
p->rangerShootAnimationTimer=0.3f;
|
p->rangerShootAnimationTimer=0.3f;
|
||||||
p->SetAnimationBasedOnTargetingDirection("SHOOT",atan2(arrowVelocity.y,arrowVelocity.x));
|
p->SetAnimationBasedOnTargetingDirection("SHOOT",atan2(arrowVelocity.y,arrowVelocity.x));
|
||||||
|
@ -39,7 +39,7 @@ All rights reserved.
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 2
|
#define VERSION_MINOR 2
|
||||||
#define VERSION_PATCH 3
|
#define VERSION_PATCH 3
|
||||||
#define VERSION_BUILD 10819
|
#define VERSION_BUILD 10824
|
||||||
|
|
||||||
#define stringify(a) stringify_(a)
|
#define stringify(a) stringify_(a)
|
||||||
#define stringify_(a) #a
|
#define stringify_(a) #a
|
||||||
|
17
testEnvironments.json
Normal file
17
testEnvironments.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"version": "1",
|
||||||
|
"environments": [
|
||||||
|
// See https://aka.ms/remotetesting for more details
|
||||||
|
// about how to configure remote environments.
|
||||||
|
//{
|
||||||
|
// "name": "WSL Ubuntu",
|
||||||
|
// "type": "wsl",
|
||||||
|
// "wslDistribution": "Ubuntu"
|
||||||
|
//},
|
||||||
|
//{
|
||||||
|
// "name": "Docker dotnet/sdk",
|
||||||
|
// "type": "docker",
|
||||||
|
// "dockerImage": "mcr.microsoft.com/dotnet/sdk"
|
||||||
|
//}
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user