diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj
index eaafee45..96f37bf7 100644
--- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj
+++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj
@@ -839,6 +839,7 @@
+
@@ -1052,6 +1053,7 @@
+
diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters
index d3461170..c28e8dbc 100644
--- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters
+++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters
@@ -1259,6 +1259,12 @@
Source Files\Bullet Types
+
+ Source Files\Monster Strategies
+
+
+ Source Files\Monster Strategies
+
diff --git a/Adventures in Lestoria/GiantOctopus.cpp b/Adventures in Lestoria/GiantOctopus.cpp
new file mode 100644
index 00000000..aed661c4
--- /dev/null
+++ b/Adventures in Lestoria/GiantOctopus.cpp
@@ -0,0 +1,62 @@
+#pragma region License
+/*
+License (OLC-3)
+~~~~~~~~~~~~~~~
+
+Copyright 2024 Joshua Sigona
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions or derivations of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions or derivative works in binary form must reproduce the above
+copyright notice. This list of conditions and the following disclaimer must be
+reproduced in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may
+be used to endorse or promote products derived from this software without specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+Portions of this software are copyright © 2024 The FreeType
+Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
+All rights reserved.
+*/
+#pragma endregion
+
+#include "MonsterStrategyHelpers.h"
+#include "util.h"
+#include "AdventuresInLestoria.h"
+#include "SoundEffect.h"
+#include "BulletTypes.h"
+
+using A=Attribute;
+
+INCLUDE_game
+
+void Monster::STRATEGY::GIANT_OCTOPUS(Monster&m,float fElapsedTime,std::string strategy){
+ enum PhaseName{
+ RUN,
+ FLY_AWAY,
+ };
+ switch(PHASE()){
+ case RUN:{
+
+ }break;
+ case FLY_AWAY:{
+
+ }break;
+ }
+}
\ No newline at end of file
diff --git a/Adventures in Lestoria/Monster.h b/Adventures in Lestoria/Monster.h
index 873bb672..a76c5c9d 100644
--- a/Adventures in Lestoria/Monster.h
+++ b/Adventures in Lestoria/Monster.h
@@ -375,6 +375,8 @@ private:
static void PARROT(Monster&m,float fElapsedTime,std::string strategy);
static void CRAB(Monster&m,float fElapsedTime,std::string strategy);
static void GIANT_CRAB(Monster&m,float fElapsedTime,std::string strategy);
+ static void GIANT_OCTOPUS(Monster&m,float fElapsedTime,std::string strategy);
+ static void OCTOPUS_ARM(Monster&m,float fElapsedTime,std::string strategy);
};
bool bumpedIntoTerrain=false; //Gets set to true before a strategy executes if the monster runs into some terrain on this frame.
bool attackedByPlayer=false; //Gets set to true before a strategy executes if the monster has been attacked by the player.
diff --git a/Adventures in Lestoria/OctopusArm.cpp b/Adventures in Lestoria/OctopusArm.cpp
new file mode 100644
index 00000000..1074e90a
--- /dev/null
+++ b/Adventures in Lestoria/OctopusArm.cpp
@@ -0,0 +1,62 @@
+#pragma region License
+/*
+License (OLC-3)
+~~~~~~~~~~~~~~~
+
+Copyright 2024 Joshua Sigona
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions or derivations of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions or derivative works in binary form must reproduce the above
+copyright notice. This list of conditions and the following disclaimer must be
+reproduced in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may
+be used to endorse or promote products derived from this software without specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+Portions of this software are copyright © 2024 The FreeType
+Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
+All rights reserved.
+*/
+#pragma endregion
+
+#include "MonsterStrategyHelpers.h"
+#include "util.h"
+#include "AdventuresInLestoria.h"
+#include "SoundEffect.h"
+#include "BulletTypes.h"
+
+using A=Attribute;
+
+INCLUDE_game
+
+void Monster::STRATEGY::OCTOPUS_ARM(Monster&m,float fElapsedTime,std::string strategy){
+ enum PhaseName{
+ RUN,
+ FLY_AWAY,
+ };
+ switch(PHASE()){
+ case RUN:{
+
+ }break;
+ case FLY_AWAY:{
+
+ }break;
+ }
+}
\ No newline at end of file
diff --git a/Adventures in Lestoria/RUN_STRATEGY.cpp b/Adventures in Lestoria/RUN_STRATEGY.cpp
index c0ca4f12..942c8232 100644
--- a/Adventures in Lestoria/RUN_STRATEGY.cpp
+++ b/Adventures in Lestoria/RUN_STRATEGY.cpp
@@ -75,6 +75,8 @@ void Monster::InitializeStrategies(){
STRATEGY_DATA.insert("Sandworm",Monster::STRATEGY::SANDWORM);
STRATEGY_DATA.insert("Parrot",Monster::STRATEGY::PARROT);
STRATEGY_DATA.insert("Giant Crab",Monster::STRATEGY::GIANT_CRAB);
+ STRATEGY_DATA.insert("Giant Octopus",Monster::STRATEGY::GIANT_OCTOPUS);
+ STRATEGY_DATA.insert("Octopus Arm",Monster::STRATEGY::OCTOPUS_ARM);
STRATEGY_DATA.SetInitialized();
}
diff --git a/Adventures in Lestoria/TODO.txt b/Adventures in Lestoria/TODO.txt
index cf29f750..f02ea86c 100644
--- a/Adventures in Lestoria/TODO.txt
+++ b/Adventures in Lestoria/TODO.txt
@@ -6,6 +6,11 @@ DEMO
Add Sherman and Blacksmith story images
+Have all song ideas by Nov 1st
+- Chapter 3 boss outro
+- Chapter 4 Stage + boss + outro
+- Chapter 5 Stage + boss + outro
+
Adding new class animations
===========================
Player.txt contains animation names the player has to have loaded.
diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h
index 689ae443..80127e23 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 3
#define VERSION_PATCH 0
-#define VERSION_BUILD 11755
+#define VERSION_BUILD 11756
#define stringify(a) stringify_(a)
#define stringify_(a) #a
diff --git a/Adventures in Lestoria/assets/config/Monsters.txt b/Adventures in Lestoria/assets/config/Monsters.txt
index 97fdcd7a..69ca893d 100644
--- a/Adventures in Lestoria/assets/config/Monsters.txt
+++ b/Adventures in Lestoria/assets/config/Monsters.txt
@@ -1717,4 +1717,89 @@ Monsters
Death Sound = Slime Dead
Walk Sound = Wing Flap
}
+ Giant Octopus
+ {
+ Health = 42000
+ Attack = 40
+
+ CollisionDmg = 30
+
+ MoveSpd = 0%
+ Size = 400%
+
+ XP = 0
+
+ Collision Radius = 20
+
+ Ignore Collisions = True
+
+ Strategy = Giant Octopus
+
+ #Size of each animation frame
+ SheetFrameSize = 48,48
+
+ # Setting this to true means every four rows indicates one animation, the ordering of the directions is: NORTH, EAST, SOUTH, WEST
+ 4-Way Spritesheet = True
+
+ Animations
+ {
+ # Frame Count, Frame Speed (s), Frame Cycling (Repeat,OneShot,PingPong,Reverse,ReverseOneShot)
+ # Animations must be defined in the same order as they are in their sprite sheets
+ # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator.
+ IDLE = 4, 0.3, Repeat
+ HURT = 4, 0.15, Repeat
+ ATTACKING = 4, 0.15, PingPong
+ DEATH = 4, 0.15, OneShot
+ }
+
+ # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
+ #DROP[0] = Broken Dagger,30%,1,1
+
+ Hurt Sound = Monster Hurt
+ Death Sound = Slime Dead
+ Walk Sound = Slime Walk
+ }
+ Octopus Arm
+ {
+ Health = 6000
+ Attack = 50
+
+ CollisionDmg = 30
+
+ MoveSpd = 0%
+ Size = 400%
+
+ XP = 0
+
+ Collision Radius = 20
+
+ Ignore Collisions = True
+
+ Strategy = Octopus Arm
+
+ #Size of each animation frame
+ SheetFrameSize = 96,96
+
+ # Setting this to true means every four rows indicates one animation, the ordering of the directions is: NORTH, EAST, SOUTH, WEST
+ 4-Way Spritesheet = True
+
+ Animations
+ {
+ # Frame Count, Frame Speed (s), Frame Cycling (Repeat,OneShot,PingPong,Reverse,ReverseOneShot)
+ # Animations must be defined in the same order as they are in their sprite sheets
+ # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator.
+ IDLE = 4, 0.2, PingPong
+ SUBMERGE = 5, 0.15, OneShot
+ ATTACKING = 4, 0.15, PingPong
+ DEATH = 5, 0.15, OneShot
+ RISE = 5, 0.15, ReverseOneShot
+ }
+
+ # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
+ #DROP[0] = Broken Dagger,30%,1,1
+
+ Hurt Sound = Monster Hurt
+ Death Sound = Slime Dead
+ Walk Sound = Slime Walk
+ }
}
\ No newline at end of file
diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe
index 809716c6..9c05d196 100644
Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ