diff --git a/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj b/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
index 970dac05..001d61fc 100644
--- a/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
+++ b/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
@@ -47,7 +47,8 @@
true
- C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria;$(IncludePath)
+ C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria;$(IncludePath)
+ ..\x64\Unit Testingtrue
@@ -57,7 +58,7 @@
NotUsingLevel3true
- C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)
+ C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\niconiconii\OneDrive\Documents\include;C:\Users\sigon\OneDrive\Documents\include;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)_DEBUG;%(PreprocessorDefinitions)true
diff --git a/Adventures in Lestoria Tests/EnchantTests.cpp b/Adventures in Lestoria Tests/EnchantTests.cpp
index 2a77579f..d82fda81 100644
--- a/Adventures in Lestoria Tests/EnchantTests.cpp
+++ b/Adventures in Lestoria Tests/EnchantTests.cpp
@@ -553,5 +553,24 @@ namespace EnchantTests
game->OnUserUpdate("Poisonous Arrow"_ENC["POISON ARROW RESET FREQUENCY"]);
Assert::AreEqual(true,player->PoisonArrowAutoAttackReady(),L"Poison arrow auto attack should be ready again.");
}
+ TEST_METHOD(ExtremeRapidFireCheck){
+ game->ChangePlayerClass(RANGER);
+ player=game->GetPlayer();
+ Assert::AreEqual(0,player->RemainingRapidFireShots(),L"Player starts off with no Rapid Fire shots available.");
+ testKey->bHeld=true; //Force the key to be held down for testing purposes.
+ player->CheckAndPerformAbility(player->GetAbility1(),testKeyboardInput);
+ Assert::AreEqual("Ranger.Ability 1.ArrowCount"_I,player->RemainingRapidFireShots(),L"Player now has normal Rapid Fire shot count.");
+ for(int i:std::ranges::iota_view(0,"Ranger.Ability 1.ArrowCount"_I)){
+ game->SetElapsedTime(1.f);
+ game->OnUserUpdate(1.f);
+ }
+ player->SetState(State::NORMAL);
+ player->GetAbility1().cooldown=0.f;
+ std::weak_ptrnullRing{Inventory::AddItem("Null Ring"s)};
+ Inventory::EquipItem(nullRing,EquipSlot::RING1);
+ nullRing.lock()->EnchantItem("Extreme Rapid Fire");
+ player->CheckAndPerformAbility(player->GetAbility1(),testKeyboardInput);
+ Assert::AreEqual("Ranger.Ability 1.ArrowCount"_I+int("Extreme Rapid Fire"_ENC["ARROW COUNT INCREASE"]),player->RemainingRapidFireShots(),L"Player now has even more Rapid Fire shots.");
+ }
};
}
\ No newline at end of file
diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj
index 50d48d94..a1283cf7 100644
--- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj
+++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj
@@ -218,8 +218,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)truestdcpplatest
- C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\LabUser\Documents\include;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include;%(AdditionalIncludeDirectories)
- /MP20 %(AdditionalOptions)
+ C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\LabUser\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\niconiconii\OneDrive\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include;%(AdditionalIncludeDirectories)4099;5030;4715;4172;4834true
@@ -244,8 +243,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)truestdcpplatest
- C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include
- /MP20 %(AdditionalOptions)
+ C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\LabUser\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\niconiconii\OneDrive\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include;%(AdditionalIncludeDirectories)4099;5030;4715;4172;4834true
@@ -275,8 +273,7 @@
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)truestdcpplatest
- /MP20 %(AdditionalOptions)
- C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include
+ C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\LabUser\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\LabUser\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\niconiconii\OneDrive\Documents\include;C:\Users\niconiconii\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\steam;C:\Users\sigon\source\repos\AdventuresInLestoria\Adventures in Lestoria\discord-files;C:\Users\sigon\OneDrive\Documents\include;%(AdditionalIncludeDirectories)true
diff --git a/Adventures in Lestoria/Player.cpp b/Adventures in Lestoria/Player.cpp
index 39190c71..dec6ea71 100644
--- a/Adventures in Lestoria/Player.cpp
+++ b/Adventures in Lestoria/Player.cpp
@@ -1985,4 +1985,8 @@ const vf2d Player::GetFacingDirVector()const{
return {};
}
}
+}
+
+const int Player::RemainingRapidFireShots()const{
+ return remainingRapidFireShots;
}
\ No newline at end of file
diff --git a/Adventures in Lestoria/Player.h b/Adventures in Lestoria/Player.h
index f3f9a2a6..300f2513 100644
--- a/Adventures in Lestoria/Player.h
+++ b/Adventures in Lestoria/Player.h
@@ -307,6 +307,7 @@ public:
const float&GetAutoAttackTimer()const;
const vf2d GetFacingDirVector()const; //Returns a normalized vector based on the facing direction of the character. Ex. {0,-1} for north and {1,0} for east.
const bool PoisonArrowAutoAttackReady()const; //NOTE: Also checks to make sure we have the enchant built-in...
+ const int RemainingRapidFireShots()const;
private:
int hp="Warrior.BaseHealth"_I;
int mana="Player.BaseMana"_I;
diff --git a/Adventures in Lestoria/Ranger.cpp b/Adventures in Lestoria/Ranger.cpp
index 9458a8d8..495a4288 100644
--- a/Adventures in Lestoria/Ranger.cpp
+++ b/Adventures in Lestoria/Ranger.cpp
@@ -113,6 +113,7 @@ void Ranger::InitializeClassAbilities(){
Ranger::ability1.action=
[](Player*p,vf2d pos={}){
p->remainingRapidFireShots=p->RAPID_FIRE_SHOOT_AMOUNT;
+ if(p->HasEnchant("Extreme Rapid Fire"))p->remainingRapidFireShots+="Extreme Rapid Fire"_ENC["ARROW COUNT INCREASE"];
p->rapidFireTimer=p->RAPID_FIRE_SHOOT_DELAY;
if("Ranger.Ability 1.IsAnimationLocked"_I){
p->SetState(State::ANIMATION_LOCK);
diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h
index 3cf86ebe..e125cafa 100644
--- a/Adventures in Lestoria/Version.h
+++ b/Adventures in Lestoria/Version.h
@@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_PATCH 3
-#define VERSION_BUILD 10813
+#define VERSION_BUILD 10819
#define stringify(a) stringify_(a)
#define stringify_(a) #a