Finish level complete layout.

pull/28/head
sigonasr2 1 year ago
parent 7fe19c6510
commit 6c16405908
  1. 1
      Crawler/Crawler.vcxproj
  2. 3
      Crawler/Crawler.vcxproj.filters
  3. 48
      Crawler/Crawler_System_Overview.txt
  4. 64
      Crawler/LevelCompleteWindow.cpp
  5. 2
      Crawler/Version.h
  6. 2
      Crawler/assets/config/items/ItemCategory.txt

@ -415,6 +415,7 @@
<Text Include="assets\config\Monsters.txt" /> <Text Include="assets\config\Monsters.txt" />
<Text Include="assets\config\MonsterStrategies.txt" /> <Text Include="assets\config\MonsterStrategies.txt" />
<Text Include="assets\config\Player.txt" /> <Text Include="assets\config\Player.txt" />
<Text Include="Crawler_System_Overview.txt" />
<Text Include="NewClasses.txt" /> <Text Include="NewClasses.txt" />
<Text Include="InitialConcept.txt" /> <Text Include="InitialConcept.txt" />
<Text Include="Slime_King_Encounter.txt" /> <Text Include="Slime_King_Encounter.txt" />

@ -497,6 +497,9 @@
<Text Include="assets\config\items\items.txt"> <Text Include="assets\config\items\items.txt">
<Filter>Configurations\Items</Filter> <Filter>Configurations\Items</Filter>
</Text> </Text>
<Text Include="Crawler_System_Overview.txt">
<Filter>Documentation</Filter>
</Text>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="assets\heart.ico"> <Image Include="assets\heart.ico">

@ -0,0 +1,48 @@
Systems:
Game Loop:
After Every Dungeon. you get set in the hub. In the hub there is an npc that brings you to the world Map.
on The world map you can choose a stage.
Could be a normal Stage or a Story Stage where you only encounter the story, maybe not even free movement there.
(Will be marked as story and can be skipped, Maybe just some text to read like a book depending how much ressources we want to put into the story.)
In a normal Dungeon you can leave by dieing, finishing the stage or leave it in the esc menu.
Monster Kills in a Stage needs to be tracked. Exiting a Stage, independed what made you exit it, gives loot for killed monster. A finished stage gives a stage specific bonus.
Gear:
- Weapon and Armor Crafting
- Weapon and Armor enhancing (+0-+10)
- Armor Set Bonuses
- Accessory dropps from bosses with randomized stats inside of a specific range (z.B. a ring that can roll between 10 and 20 Atk)
- Stat max rolls of Accessorys should be displayed in a different color to showcase that its a max roll.
- Legendary Modifiers on Accessorys in Post game (Depending on what modify it could be some baseline stuff like +MoveSPd or something that modifies a skill)
- Consumabels (Hp Pots, Mp Pots, short duration buffs)
=> Consumable Loadout needs to be set up before entering a dungeon.
=> Amount of Consumables you can bring will be lower then the amount you can overall have.
Chapter Specific Unlock
- Every Story Chapter has 1 side boss that unlocks something new.
- Chapter 1 in addition unlocks the Blacksmith after 1-2
- Chapter 1 side boss unlocks an npc to craft consumables
- Chapter 2 unlocks a Jeweler
=> you can melt accesories to get ressources to "repair" your acceosries = you increase the stat rolls
=> cant exceed max roll this way. Just a way to grind your way up if you are unlucky with stat rolls
- Chapter 3 ??? (Maybe the Legendary Modifier mechanic from Post game gear will be used here instead if i dont find another idea i like)
- Chapter 4 "Hero Soul Infusion" (Name may change later)
=> Allows you to unlock a 4th skill from the other class that uses the same weapon type.
=> Maybe locked behind a second boss fight where you fight a shadow of that class.
Would mean 6 additional boss fights though of which you only encounter one of them in a normal playthrough.
So that idea may gets dropped.
=> Skill will be exchangeable at an NPC in Town.
- Chapter 5 - Randomized arena
=> You fight waves of enemies from all chapters.
=> Each wave a buff stacks up that increases the strengt of the enemies.
=> earn a special currency that allows you to buy small upgrades for specific biomes. (Buff is active outside of this endless survival arena aswell)
=> there are 5 arenas of the biomes of the 5 chapters which randomly change (or stay the same) every 5 waves.
(Therefore you cant snipe a specific Biome where you got the biggest buffs for)
Hub
- Hub will have an NPC to bring you to the Stage select Map / World Map
- Hub will have additional NPCs for all the Additional Chapter specific Unlocks
- There will be traveling merchants that sell consumables or over priced Materials from Monster dropps.
What get offered will change around at random after every stage
- Money can only be received by Selling dropps to the merchants.

@ -1,10 +1,72 @@
/*
License (OLC-3)
~~~~~~~~~~~~~~~
Copyright 2018 - 2023 OneLoneCoder.com
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.
*/
#include "Menu.h" #include "Menu.h"
#include "Crawler.h" #include "Crawler.h"
#include "MenuLabel.h"
#include "MenuComponent.h"
#include "InventoryScrollableWindowComponent.h"
INCLUDE_game INCLUDE_game
void Menu::InitializeLevelCompleteWindow(){ void Menu::InitializeLevelCompleteWindow(){
Menu*levelCompleteWindow=Menu::CreateMenu(LEVEL_COMPLETE,{28,28},game->GetScreenSize()-vf2d{56,56}); geom2d::rect<int>windowSize={{28,28},game->GetScreenSize()-vf2d{56,56}};
Menu*levelCompleteWindow=Menu::CreateMenu(LEVEL_COMPLETE,windowSize.pos,windowSize.size);
MenuLabel*stageCompleteLabel=NEW MenuLabel(LEVEL_COMPLETE,{{0,4},{windowSize.size.x-1.f,20}},"Stage Completed",2,ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND|ComponentAttr::SHADOW);
levelCompleteWindow->AddComponent("Stage Complete Label",stageCompleteLabel);
MenuComponent*monsterLootOutline=NEW MenuComponent(LEVEL_COMPLETE,{{0,32},{windowSize.size.x-80.f,72}},"",DO_NOTHING,ButtonAttr::UNSELECTABLE);
MenuLabel*monsterLootLabel=NEW MenuLabel(LEVEL_COMPLETE,{{0,32},{windowSize.size.x-80.f,12}},"Monster Loot",1,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW|ComponentAttr::OUTLINE);
InventoryScrollableWindowComponent*monsterLootWindow=NEW InventoryScrollableWindowComponent(LEVEL_COMPLETE,{{0,44},{windowSize.size.x-80.f,60}},"Monster Loot");
levelCompleteWindow->AddComponent("Monster Loot Outline",monsterLootOutline);
levelCompleteWindow->AddComponent("Monster Loot Label",monsterLootLabel);
levelCompleteWindow->AddComponent("Monster Loot Window",monsterLootWindow);
MenuComponent*stageLootOutline=NEW MenuComponent(LEVEL_COMPLETE,{{0,108},{windowSize.size.x-80.f,72}},"",DO_NOTHING,ButtonAttr::UNSELECTABLE);
MenuLabel*stageLootLabel=NEW MenuLabel(LEVEL_COMPLETE,{{0,108},{windowSize.size.x-80.f,12}},"Stage Loot",1,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW|ComponentAttr::OUTLINE);
InventoryScrollableWindowComponent*stageLootWindow=NEW InventoryScrollableWindowComponent(LEVEL_COMPLETE,{{0,120},{windowSize.size.x-80.f,60}},"Stage Loot");
levelCompleteWindow->AddComponent("Stage Loot Outline",stageLootOutline);
levelCompleteWindow->AddComponent("Stage Loot Label",stageLootLabel);
levelCompleteWindow->AddComponent("Stage Loot Window",stageLootWindow);
MenuComponent*detailsOutline=NEW MenuComponent(LEVEL_COMPLETE,{{windowSize.size.x-72.f,32},{71,72}},"",DO_NOTHING,ButtonAttr::UNSELECTABLE);
MenuLabel*detailsExpGain=NEW MenuLabel(LEVEL_COMPLETE,{{windowSize.size.x-72.f,104},{71,36}},"+ Exp",1,ComponentAttr::SHADOW|ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND);
MenuComponent*nextButton=NEW MenuComponent(LEVEL_COMPLETE,{{windowSize.size.x-72.f,144},{71,32}},"Next",DO_NOTHING);
levelCompleteWindow->AddComponent("Level Details Outline",detailsOutline);
levelCompleteWindow->AddComponent("Level EXP Gain Outline",detailsExpGain);
levelCompleteWindow->AddComponent("Next Button",nextButton);
} }

@ -33,7 +33,7 @@ SUCH DAMAGE.
#define VERSION_MAJOR 0 #define VERSION_MAJOR 0
#define VERSION_MINOR 2 #define VERSION_MINOR 2
#define VERSION_PATCH 1 #define VERSION_PATCH 1
#define VERSION_BUILD 2938 #define VERSION_BUILD 2954
#define stringify(a) stringify_(a) #define stringify(a) stringify_(a)
#define stringify_(a) #a #define stringify_(a) #a

@ -5,4 +5,6 @@ ItemCategory
Equipment = Gear that can be placed onto a player. Equipment = Gear that can be placed onto a player.
Accessories = Items worn as extra items on the player. Accessories = Items worn as extra items on the player.
Materials = Items used as crafting materials for the forge. Materials = Items used as crafting materials for the forge.
Monster Loot = Monster drops obtained while navigating a level.
Stage Loot = Stage drops obtained while navigating a level.
} }
Loading…
Cancel
Save