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 "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); |
||||||
} |
} |
Loading…
Reference in new issue