diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index 5ed1f3f5..370963df 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -826,6 +826,7 @@ + @@ -1053,10 +1054,14 @@ + + + + @@ -1084,6 +1089,7 @@ + @@ -1092,6 +1098,7 @@ + diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index 149a7ec4..3e653722 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -1226,6 +1226,27 @@ Source Files\Interface + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + + + Source Files\Monster Strategies + diff --git a/Adventures in Lestoria/Crab.cpp b/Adventures in Lestoria/Crab.cpp new file mode 100644 index 00000000..2e55f314 --- /dev/null +++ b/Adventures in Lestoria/Crab.cpp @@ -0,0 +1,51 @@ +#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::CRAB(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/Monster.h b/Adventures in Lestoria/Monster.h index f6b504b7..776780f9 100644 --- a/Adventures in Lestoria/Monster.h +++ b/Adventures in Lestoria/Monster.h @@ -352,6 +352,13 @@ private: static void DONOTHING(Monster&m,float fElapsedTime,std::string strategy); static void STONE_GOLEM(Monster&m,float fElapsedTime,std::string strategy); static void BREAKING_PILLAR(Monster&m,float fElapsedTime,std::string strategy); + static void PIRATE_MARAUDER(Monster&m,float fElapsedTime,std::string strategy); + static void PIRATE_CAPTAIN(Monster&m,float fElapsedTime,std::string strategy); + static void SEAGULL(Monster&m,float fElapsedTime,std::string strategy); + static void SANDWORM(Monster&m,float fElapsedTime,std::string strategy); + static void PIRATE_BUCCANEER(Monster&m,float fElapsedTime,std::string strategy); + static void PARROT(Monster&m,float fElapsedTime,std::string strategy); + static void CRAB(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/Parrot.cpp b/Adventures in Lestoria/Parrot.cpp new file mode 100644 index 00000000..be9908ee --- /dev/null +++ b/Adventures in Lestoria/Parrot.cpp @@ -0,0 +1,51 @@ +#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::PARROT(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/Pirate_Buccaneer.cpp b/Adventures in Lestoria/Pirate_Buccaneer.cpp new file mode 100644 index 00000000..2eae8470 --- /dev/null +++ b/Adventures in Lestoria/Pirate_Buccaneer.cpp @@ -0,0 +1,51 @@ +#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::PIRATE_BUCCANEER(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/Pirate_Captain.cpp b/Adventures in Lestoria/Pirate_Captain.cpp new file mode 100644 index 00000000..ea67f218 --- /dev/null +++ b/Adventures in Lestoria/Pirate_Captain.cpp @@ -0,0 +1,51 @@ +#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::PIRATE_CAPTAIN(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/Pirate_Marauder.cpp b/Adventures in Lestoria/Pirate_Marauder.cpp new file mode 100644 index 00000000..f0fae2bb --- /dev/null +++ b/Adventures in Lestoria/Pirate_Marauder.cpp @@ -0,0 +1,90 @@ +#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::PIRATE_MARAUDER(Monster&m,float fElapsedTime,std::string strategy){ + enum PhaseName{ + MOVE, + WINDUP, + RECOVERY, + }; + + enum AttackType{ + STAB, + SLASH + }; + + switch(m.phase){ + case MOVE:{ + float distToPlayer=m.GetDistanceFrom(game->GetPlayer()->GetPos()); + if(distToPlayer>ConfigFloat("Attack Spacing")/100.f*24){ + RUN_TOWARDS(m,fElapsedTime,"Run Towards"); + }else{ + m.phase=WINDUP; + m.F(A::CASTING_TIMER)=ConfigFloat("Slash Windup Time"); + m.PerformAnimation("SLASH",m.GetFacingDirectionToTarget(game->GetPlayer()->GetPos())); + } + }break; + case WINDUP:{ + m.F(A::CASTING_TIMER)-=fElapsedTime; + if(m.F(A::CASTING_TIMER)<=0){ + m.phase=RECOVERY; + vf2d slashTarget=game->GetPlayer()->GetPos(); + m.PerformAnimation("SLASHING",m.GetFacingDirectionToTarget(game->GetPlayer()->GetPos())); + CreateBullet(DaggerSlash)(m,ConfigFloat("Dagger Hit Radius"),m.GetAttack(),ConfigFloat("Dagger Slash Knockback"),m.OnUpperLevel(),m.GetFacingDirectionToTarget(slashTarget),ConfigFloat("Dagger Frame Duration"),ConfigFloat("Dagger Slash Distance"))EndBullet; + m.F(A::CASTING_TIMER)=m.GetCurrentAnimation().GetTotalAnimationDuration(); + m.F(A::RECOVERY_TIME)=ConfigFloat("Attack Recovery Time"); + } + }break; + case RECOVERY:{ + m.F(A::CASTING_TIMER)-=fElapsedTime; + m.F(A::RECOVERY_TIME)-=fElapsedTime; + if(m.F(A::CASTING_TIMER)<=0){m.PerformIdleAnimation(m.GetFacingDirectionToTarget(game->GetPlayer()->GetPos()));} + if(m.F(A::RECOVERY_TIME)<=0)m.phase=MOVE; + }break; + } +} \ No newline at end of file diff --git a/Adventures in Lestoria/RUN_STRATEGY.cpp b/Adventures in Lestoria/RUN_STRATEGY.cpp index 013e4f87..0deaab39 100644 --- a/Adventures in Lestoria/RUN_STRATEGY.cpp +++ b/Adventures in Lestoria/RUN_STRATEGY.cpp @@ -67,6 +67,13 @@ void Monster::InitializeStrategies(){ STRATEGY_DATA.insert("Do Nothing",Monster::STRATEGY::DONOTHING); STRATEGY_DATA.insert("Stone Golem",Monster::STRATEGY::STONE_GOLEM); STRATEGY_DATA.insert("Breaking Pillar",Monster::STRATEGY::BREAKING_PILLAR); + STRATEGY_DATA.insert("Pirate Marauder",Monster::STRATEGY::PIRATE_MARAUDER); + STRATEGY_DATA.insert("Pirate Captain",Monster::STRATEGY::PIRATE_CAPTAIN); + STRATEGY_DATA.insert("Pirate Buccaneer",Monster::STRATEGY::PIRATE_BUCCANEER); + STRATEGY_DATA.insert("Crab",Monster::STRATEGY::CRAB); + STRATEGY_DATA.insert("Seagull",Monster::STRATEGY::SEAGULL); + STRATEGY_DATA.insert("Sandworm",Monster::STRATEGY::SANDWORM); + STRATEGY_DATA.insert("Parrot",Monster::STRATEGY::PARROT); STRATEGY_DATA.SetInitialized(); } diff --git a/Adventures in Lestoria/Sandworm.cpp b/Adventures in Lestoria/Sandworm.cpp new file mode 100644 index 00000000..eb1a40dd --- /dev/null +++ b/Adventures in Lestoria/Sandworm.cpp @@ -0,0 +1,51 @@ +#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::SANDWORM(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/Seagull.cpp b/Adventures in Lestoria/Seagull.cpp new file mode 100644 index 00000000..3e2f81f0 --- /dev/null +++ b/Adventures in Lestoria/Seagull.cpp @@ -0,0 +1,51 @@ +#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::SEAGULL(Monster&m,float fElapsedTime,std::string strategy){ + +} \ No newline at end of file diff --git a/Adventures in Lestoria/TODO.txt b/Adventures in Lestoria/TODO.txt index fd565549..0a147476 100644 --- a/Adventures in Lestoria/TODO.txt +++ b/Adventures in Lestoria/TODO.txt @@ -1,37 +1,9 @@ -Time Trial Idea - -Upon completing a stage for the first time, the player is shown the completion time and a record time. - On first clears, the player will always obtain a new record. Make it apparent to the player they obtained a new record. - -The overworld map will show a new section that says "Completion Time" for any previous completed stages. -Upon the second time entering a stage, the game will spawn a timer that the player can run into to begin a time trial-like mode. - During the Time Trial mode the player can defeat monsters to freeze the timer by 1 second per mob killed. - -Upon completion of a stage in time trial mode if the player beat their previous time (which they likely will) the record will update. - For each class and stage combination there will be a "dev time" - -Traveling merchants of different colors/looks. -Look into removing OVERRIDE from rumble settings. It looks like it was used to purposefully disable rumble, but looks very unnecessary. - -New Monster Sound Effects - - -Add a Helper Function: Change proximity knockback checks regardless of player/monster friendliness to be a function call instead. -Add rectangular hitbox possibility to the game for monsters. (specifically for use with pillars) - -Fanfare -> Post boss song - +Add unconscious monster state. DEMO ==== -Add Unit Test for Attack Speed Reduction stat. -Move censoredTextEntry calculation in MenuLabel draw somewhere else perhaps? -PGETinker notes -=============== -Changing zoom size does not affect the indentation breadcumb immediately (requires scrolling to change the view) -Enabling javid mode does not immediately re-evaluate code. diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index 8c8b82fc..dc8eaca0 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 11593 +#define VERSION_BUILD 11595 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/assets/Campaigns/3_1.tmx b/Adventures in Lestoria/assets/Campaigns/3_1.tmx index 38abc4e7..656bb72f 100644 --- a/Adventures in Lestoria/assets/Campaigns/3_1.tmx +++ b/Adventures in Lestoria/assets/Campaigns/3_1.tmx @@ -1,5 +1,5 @@ - + @@ -42,8 +42,8 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,1684,1682,2298,2298,1680,1683,2312,0,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2217,2216,2113,2217,2112,2216,2164,2165,2216,2112,2112,2164,2216,2217,2112,2112,2216,2216,2165,2165,2217,2165,2165,2165,2165,2217,2217,2217,2165,2165,2217,2165,2165,2165,2165,2217,2217,2217,2165,2165,2217,2165,2165,2165,2165,2217,2217,2217,2165,2112,2112,2216,2216,2113,2165,2113,2216,2216,2113,2112,2216,2217,2217,2164,2216,2165,2165,2165,2217,2112,2216,2112,2164,2113,2112,2112,2112,2112,2113,2217,2216,2216,2164,2216,2113,2165,2216,2113,2113,2217,2112,2165,2112,2216,2113,2112,2165,2112,2165,2216,2113,2165,2165,2216,2217,2165,2113,2164,2165,2216,2164,2217,2217,2112,2112,2113,2164,2217,2112,2165,2216,2165,2164,2216,2164,2216,2112,2216,2164,2217,2113,2216,2164,2165,2112,2112,2216,2217,2217,2113,2217,2217,2216,2164,2164,2112,2217,2113,2113,2216,2113,2112,2164,2165,2217,2217,2112,2112,2165,2216,2217,2165,2165,2164,2216,2113,2164,2165,2164,2113,2112,2312,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,1684,1681,1681,1683,2312,2312,0,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2113,2112,2216,2217,2112,2164,2112,2165,2216,2217,2216,2165,2164,2112,2216,2217,2112,2113,2164,2113,2113,2113,2216,2164,2217,2165,2217,2216,2217,2164,2112,2216,2165,2112,2112,2113,2112,2217,2216,2112,2217,2217,2112,2217,2164,2113,2217,2164,2217,2164,2164,2165,2112,2164,2217,2216,2165,2113,2112,2113,2112,2165,2165,2164,2113,2165,2112,2216,2112,2216,2164,2112,2216,2165,2112,2112,2113,2164,2216,2216,2217,2217,2217,2164,2112,2217,2165,2164,2216,2165,2165,2165,2165,2216,2216,2112,2113,2217,2164,2112,2164,2112,2112,2165,2217,2165,2217,2112,2113,2216,2164,2216,2112,2112,2217,2113,2216,2164,2113,2216,2165,2113,2216,2164,2216,2165,2112,2217,2164,2164,2113,2217,2216,2164,2217,2217,2216,2165,2216,2112,2216,2217,2113,2164,2113,2165,2112,2113,2112,2164,2164,2165,2217,2217,2164,2165,2112,2113,2164,2217,2165,2113,2217,2217,2113,2112,2216,2113,2113,2165,2164,2312,2312,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,2312,0,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2112,2112,2164,2165,2112,2165,2216,2164,2217,2217,2165,2113,2216,2165,2216,2217,2165,2165,2113,2216,2217,2164,2164,2216,2217,2164,2217,2216,2216,2165,2165,2112,2216,2164,2217,2112,2216,2165,2112,2216,2164,2165,2165,2112,2164,2216,2164,2112,2217,2216,2113,2113,2164,2216,2113,2164,2164,2113,2216,2217,2216,2217,2164,2112,2112,2113,2164,2112,2165,2112,2113,2217,2164,2164,2216,2113,2217,2165,2164,2113,2112,2217,2164,2165,2164,2113,2216,2112,2112,2216,2217,2112,2112,2164,2112,2165,2164,2113,2165,2113,2165,2165,2165,2164,2112,2164,2112,2112,2164,2112,2113,2165,2216,2112,2165,2217,2165,2216,2113,2216,2112,2217,2216,2164,2113,2216,2165,2165,2113,2113,2217,2164,2216,2165,2164,2113,2164,2112,2217,2106,2107,2107,2107,2107,2107,2107,2107,2108,2216,2112,2165,2112,2113,2165,2113,2165,2164,2216,2164,2113,2165,2217,2165,2216,2113,2165,2165,2216,2112,2217,2164,2165,2113,2113,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,0,2700,1736,1735,2700,2700,2700,2700,2700,2700,2700,2700,2700,2217,2216,2216,2112,2217,2165,2217,2112,2165,2112,2165,2113,2112,2112,2164,2112,2113,2164,2165,2113,2107,2107,2107,2107,2107,2107,2108,2106,2107,2107,2107,2107,2107,2107,2107,2107,2217,2106,2107,2107,2107,2107,2107,2107,2107,2107,2108,2106,2107,2112,2164,2217,2113,2164,2216,2113,2216,2112,2113,2165,2165,2216,2165,2106,2107,2107,2107,2107,2107,2107,2107,2107,2108,2112,2164,2216,2217,2112,2113,2217,2112,2113,2113,2112,2217,2112,2165,2113,2216,2164,2113,2216,2165,2164,2165,2216,2165,2217,2113,2216,2216,2165,2164,2113,2217,2216,2113,2217,2112,2164,2216,2217,2216,2165,2164,2112,2113,2113,2165,2113,2164,2165,2216,2106,2107,2107,2217,2106,2107,2107,2107,2107,2107,2108,2106,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2108,2217,2216,2165,2217,2112,2112,2165,2113,2164,2165,2164,2164,2165,2217,2112,2217,2113,2112,2216,2217,2216,2164,2165,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,0,1736,1786,1784,1735,2700,2700,2700,2700,2700,2700,2700,2700,2165,2216,2216,2165,2165,2165,2112,2216,2216,2216,2165,2112,2113,2217,2112,0,0,0,0,2107,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2164,2165,2165,2112,2112,2165,2164,2165,2216,2217,2112,2164,2106,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2108,2216,2165,2216,2112,2216,2112,2106,2107,2107,2107,2217,2112,2112,2165,2106,2107,2107,2108,2165,2113,2113,2112,2216,2164,2113,2112,2217,2217,2164,2164,2165,2112,2217,2217,2106,2107,2107,2107,2107,2107,2107,2108,2217,2216,2106,2107,2109,2159,2159,2107,2109,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2107,2107,2107,2108,2112,2113,2106,2107,2107,2107,2107,2108,2112,2164,2217,2216,2164,2165,2217,2217,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,0,2700,1736,1735,2700,2700,2700,2700,2700,2700,2700,2700,2700,2217,2216,2216,2112,2217,2165,2217,2112,2165,2112,2165,2113,2112,2112,2164,2112,2113,2164,2165,2113,2107,2107,2107,2107,2107,2107,2108,2106,2107,2107,2107,2107,2107,2107,2107,2107,2217,2106,2107,2107,2107,2107,2107,2107,2107,2107,2108,2106,2107,2112,2164,2217,2113,2164,2216,2113,2216,2112,2113,2165,2165,2216,2165,2106,2107,2107,2107,2107,2107,2107,2107,2107,2108,2112,2164,2216,2217,2112,2113,2217,2112,2113,2113,2112,2217,2112,2165,2113,2216,2164,2113,2216,2165,2164,2165,2216,2165,2217,2113,2216,2216,2165,2164,2113,2217,2216,2113,2217,2112,2164,2216,2217,2216,2165,2164,2112,2113,2113,2165,2113,2164,2165,2216,2106,2107,2108,2217,2106,2107,2107,2107,2107,2107,2108,2106,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2108,2217,2216,2165,2217,2112,2112,2165,2113,2164,2165,2164,2164,2165,2217,2112,2217,2113,2112,2216,2217,2216,2164,2165,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,0,1736,1786,1784,1735,2700,2700,2700,2700,2700,2700,2700,2700,2165,2216,2216,2165,2165,2165,2112,2216,2216,2216,2165,2112,2113,2217,2112,0,0,0,0,2107,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2109,2159,2159,2164,2165,2165,2112,2112,2165,2164,2165,2216,2217,2112,2164,2106,2109,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2108,2216,2165,2216,2112,2216,2112,2106,2107,2107,2107,2217,2112,2112,2165,2106,2107,2107,2108,2165,2113,2113,2112,2216,2164,2113,2112,2217,2217,2164,2164,2165,2112,2217,2217,2106,2107,2107,2107,2107,2107,2107,2108,2217,2216,2106,2107,2109,2159,2110,2107,2109,2159,2159,2159,2159,2159,2110,2109,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2107,2107,2107,2108,2112,2113,2106,2107,2107,2107,2107,2108,2112,2164,2217,2216,2164,2165,2217,2217,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,2700,1734,2298,2298,1732,2700,2700,2700,2700,2700,2700,2700,2700,2217,2165,2112,2113,2216,2217,2216,2113,2113,2165,2216,0,0,0,0,0,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2165,2216,2107,2107,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,0,2107,2107,2109,2159,2159,2110,2107,2107,2107,2107,2108,2113,2112,2216,2112,2112,2106,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,2159,2159,2110,2107,0,2109,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2109,2159,2159,2159,2159,2110,2108,2165,2165,2112,2165,2216,2216,2113,2312,2312,2312,2312,2312,2312,2312,2312,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,2312,0,2700,1734,2298,2298,1732,2700,2700,2700,2700,2700,2700,2700,2700,2165,2112,2112,2112,2164,2112,2216,2164,0,0,0,0,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2110,2107,2107,2107,2107,2107,2109,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2160,2216,2216,2164,2113,2113,2164,2165,2312,2312,2312,2312,1736,1785,1785,1735,2312,0,2312,2312,2312,2312,2312,2312,2312,2312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2312,2312,2312,2312,2312,2312,0,0,1736,1786,2298,2298,1732,2700,2700,2700,2700,2700,2700,2700,2700,2217,2165,2216,2217,2164,2164,2216,2112,0,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2159,2160,2165,2216,2112,2112,2164,2113,2312,2312,2312,2312,2312,1684,1682,2298,1784,1735,0,2312,2312,2312,2312,2312,1736,1785,1785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -861,5 +861,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx index 5549eedd..38ce1488 100644 --- a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx +++ b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx @@ -788,7 +788,7 @@ - + diff --git a/Adventures in Lestoria/assets/config/MonsterStrategies.txt b/Adventures in Lestoria/assets/config/MonsterStrategies.txt index a6cfda18..069518f3 100644 --- a/Adventures in Lestoria/assets/config/MonsterStrategies.txt +++ b/Adventures in Lestoria/assets/config/MonsterStrategies.txt @@ -1026,4 +1026,64 @@ MonsterStrategy # RGBA Death Ring Bullet Color = 255, 255, 255, 255 } + Pirate Marauder + { + # Distance from player to run to before swinging weapon. + Attack Spacing = 50 + + # Stab Attack windup time + Stab Windup Time = 0.3s + + # Amount of time where nothing happens after an attack. + Attack Recovery Time = 1.0s + + # Number of pixels from the dagger's center that the player would be hit by. + Dagger Hit Radius = 12 + + # Number of pixels of reach the dagger stab has. + Dagger Stab Distance = 2 + + Dagger Stab Knockback = 100 + + # How long between each dagger stab frame. + Dagger Frame Duration = 0.1s + + # Slash Attack windup time + Slash Windup Time = 0.4s + + # Number of pixels of reach the dagger slash has from the monster. + Dagger Slash Distance = 6 + + Dagger Slash Knockback = 75 + + # Offset for the dagger stab effect per direction from the monster's center. + Dagger Up Offset = 5,-4 + Dagger Down Offset = -5,5 + Dagger Right Offset = 4,4 + Dagger Left Offset = -2,4 + } + Pirate Captain + { + + } + Seagull + { + + } + Sandworm + { + + } + Pirate Buccaneer + { + + } + Parrot + { + + } + Crab + { + + } } \ No newline at end of file diff --git a/Adventures in Lestoria/assets/config/Monsters.txt b/Adventures in Lestoria/assets/config/Monsters.txt index 63e8d382..105cf18f 100644 --- a/Adventures in Lestoria/assets/config/Monsters.txt +++ b/Adventures in Lestoria/assets/config/Monsters.txt @@ -1251,11 +1251,21 @@ Monsters Strategy = Goblin Dagger + #### Script Override #### + + # Stab Attack windup time + Stab Windup Time = 0.2s + + # Amount of time where nothing happens after an attack. + Attack Recovery Time = 0.6s + + ######## + # Wait time override for Run Towards strategy. WaitTime = 0 #Size of each animation frame - SheetFrameSize = 36,36 + 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 @@ -1267,11 +1277,11 @@ Monsters # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator. IDLE = 4, 0.4, Repeat WALK = 4, 0.15, Repeat - DEATH = 4, 0.25, OneShot SLASHING = 4, 0.1, OneShot + DEATH = 4, 0.25, OneShot STABBING = 3, 0.1, OneShot - STAB = 1, 0.1, OneShot SLASH = 1, 0.1, OneShot + STAB = 1, 0.1, OneShot } # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity @@ -1311,8 +1321,8 @@ Monsters # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator. IDLE = 4, 0.4, Repeat WALK = 4, 0.15, Repeat - DEATH = 4, 0.15, OneShot SLASHING = 4, 0.075, OneShot + DEATH = 4, 0.15, OneShot SLASH = 1, 0.1, OneShot SPIN = 2, 0.2, Repeat SPINNING = 4, 0.1, Repeat @@ -1356,8 +1366,8 @@ Monsters # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator. IDLE = 4, 0.6, Repeat WALK = 4, 0.15, Repeat - DEATH = 4, 0.25, OneShot SLASHING = 4, 0.1, OneShot + DEATH = 4, 0.25, OneShot STABBING = 3, 0.1, OneShot SLASH = 1, 0.1, OneShot STAB = 1, 0.1, OneShot @@ -1403,8 +1413,8 @@ Monsters # The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator. IDLE = 4, 0.6, Repeat WALK = 4, 0.15, Repeat - DEATH = 4, 0.25, OneShot SHOOTING = 4, 0.2, OneShot + DEATH = 4, 0.25, OneShot SHOOT = 2, 0.1, OneShot } @@ -1446,7 +1456,7 @@ Monsters IDLE = 1, 0.6, Repeat WALK = 2, 0.15, Repeat PINCER = 3, 0.3, Repeat - DEATH = 3, 0.15, OneShot + DEATH = 2, 0.15, OneShot } # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity @@ -1487,7 +1497,134 @@ Monsters IDLE = 1, 0.6, Repeat WALK = 2, 0.15, Repeat PINCER = 3, 0.3, Repeat - DEATH = 3, 0.15, OneShot + DEATH = 2, 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 + } + Seagull + { + Health = 40 + Attack = 0 + + CollisionDmg = 0 + + MoveSpd = 120% + Size = 80% + + XP = 6 + + Strategy = Seagull + + # Wait time override for Run Towards strategy. + WaitTime = 0 + + #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 = 1, 0.6, Repeat + FLY = 2, 0.15, Repeat + ATTACK = 1, 0.3, OneShot + DEATH = 1, 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 + } + Sandworm + { + Health = 400 + Attack = 33 + + CollisionDmg = 10 + + MoveSpd = 200% + Size = 90% + + XP = 24 + + Strategy = Sandworm + + # Wait time override for Run Towards strategy. + WaitTime = 0 + + #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, Repeat + SWIM = 4, 0.15, Repeat + SAND ATTACK = 6, 0.2, OneShot + DEATH = 4, 0.15, OneShot + BURROW = 6, 0.1, OneShot + EMERGE = 5, 0.1, 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 + } + Parrot + { + Health = 10 + Attack = 22 + + CollisionDmg = 22 + + MoveSpd = 180% + Size = 50% + + XP = 0 + + Strategy = Parrot + + # Instead of the monster dying, it gets knocked unconscious + Unconscious Time = 5s + + #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, Repeat + SWIM = 4, 0.15, Repeat + SAND ATTACK = 6, 0.2, OneShot + DEATH = 4, 0.15, OneShot + BURROW = 6, 0.1, OneShot + EMERGE = 5, 0.1, OneShot } # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity diff --git a/Adventures in Lestoria/assets/config/story/Chapter 2.txt b/Adventures in Lestoria/assets/config/story/Chapter 2.txt index fcfd6da9..8d32c879 100644 --- a/Adventures in Lestoria/assets/config/story/Chapter 2.txt +++ b/Adventures in Lestoria/assets/config/story/Chapter 2.txt @@ -30,3 +30,9 @@ You can make use of those extra rings you have been piling up! Hi + +===STORY_2_2=== +[You] + +Hi + diff --git a/Adventures in Lestoria/assets/gamepack.pak b/Adventures in Lestoria/assets/gamepack.pak index 75c8ab13..5f25a681 100644 Binary files a/Adventures in Lestoria/assets/gamepack.pak and b/Adventures in Lestoria/assets/gamepack.pak differ diff --git a/Adventures in Lestoria/assets/maps/Decorations_c1_No_Shadow24x24.tsx b/Adventures in Lestoria/assets/maps/Decorations_c1_No_Shadow24x24.tsx index 2dfd62dc..bfe98708 100644 --- a/Adventures in Lestoria/assets/maps/Decorations_c1_No_Shadow24x24.tsx +++ b/Adventures in Lestoria/assets/maps/Decorations_c1_No_Shadow24x24.tsx @@ -1008,6 +1008,14 @@ + + + + + + + + @@ -1035,17 +1043,42 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -1078,6 +1111,21 @@ + + + + + + + + + + + + + + + @@ -1144,19 +1192,19 @@ - + - + - + - + - + - + @@ -1215,17 +1263,17 @@ - + - + - + diff --git a/Adventures in Lestoria/assets/maps/Monster_Presets.tmx b/Adventures in Lestoria/assets/maps/Monster_Presets.tmx index 5c214039..a844401a 100644 --- a/Adventures in Lestoria/assets/maps/Monster_Presets.tmx +++ b/Adventures in Lestoria/assets/maps/Monster_Presets.tmx @@ -1,5 +1,5 @@ - + @@ -29,5 +29,13 @@ + + + + + + + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Crab.tx b/Adventures in Lestoria/assets/maps/Monsters/Crab.tx new file mode 100644 index 00000000..563ffff2 --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Crab.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Giant Crab.tx b/Adventures in Lestoria/assets/maps/Monsters/Giant Crab.tx new file mode 100644 index 00000000..d4048c5c --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Giant Crab.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Pirate Buccaneer.tx b/Adventures in Lestoria/assets/maps/Monsters/Pirate Buccaneer.tx new file mode 100644 index 00000000..10bd1076 --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Pirate Buccaneer.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Pirate Captain.tx b/Adventures in Lestoria/assets/maps/Monsters/Pirate Captain.tx new file mode 100644 index 00000000..41aaae9a --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Pirate Captain.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Pirate Marauder.tx b/Adventures in Lestoria/assets/maps/Monsters/Pirate Marauder.tx new file mode 100644 index 00000000..9a7cb25f --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Pirate Marauder.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Pirate.tx b/Adventures in Lestoria/assets/maps/Monsters/Pirate.tx new file mode 100644 index 00000000..c4b651f7 --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Pirate.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Monsters/Sandworm.tx b/Adventures in Lestoria/assets/maps/Monsters/Sandworm.tx new file mode 100644 index 00000000..42e111d3 --- /dev/null +++ b/Adventures in Lestoria/assets/maps/Monsters/Sandworm.tx @@ -0,0 +1,5 @@ + + diff --git a/Adventures in Lestoria/assets/maps/Tilesheet_No_Shadow24x24.tsx b/Adventures in Lestoria/assets/maps/Tilesheet_No_Shadow24x24.tsx index 8c97765a..3926cb8b 100644 --- a/Adventures in Lestoria/assets/maps/Tilesheet_No_Shadow24x24.tsx +++ b/Adventures in Lestoria/assets/maps/Tilesheet_No_Shadow24x24.tsx @@ -22,8 +22,16 @@ - - + + + + + + + + + + @@ -41,36 +49,116 @@ - - + + + + + + + + + + - + + + + + - - - + + + + + + + + + + + + + + + - + + + + + - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Adventures in Lestoria/assets/maps/monsters-tileset.png b/Adventures in Lestoria/assets/maps/monsters-tileset.png index b34a9b6c..564c78e7 100644 Binary files a/Adventures in Lestoria/assets/maps/monsters-tileset.png and b/Adventures in Lestoria/assets/maps/monsters-tileset.png differ diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe index e6d9c7a8..f7b7c326 100644 Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ