Finish level complete layout.
This commit is contained in:
parent
7fe19c6510
commit
6c16405908
@ -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">
|
||||||
|
48
Crawler/Crawler_System_Overview.txt
Normal file
48
Crawler/Crawler_System_Overview.txt
Normal file
@ -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…
x
Reference in New Issue
Block a user