parent
7fe19c6510
commit
6c16405908
@ -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 "Crawler.h" |
||||
#include "MenuLabel.h" |
||||
#include "MenuComponent.h" |
||||
#include "InventoryScrollableWindowComponent.h" |
||||
|
||||
INCLUDE_game |
||||
|
||||
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); |
||||
} |
Loading…
Reference in new issue