mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-06-01 01:48:49 -04:00
Reindeer games additions (#33)
* Remove hat from darunia * Update some stuffs * Remove custom collectible (in favor of CustomItem) * Roguelike Co-authored-by: Caladius <Caladius@users.noreply.github.com> Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com> * Fix a bunch of stuff * Persist roguelike data * Experimental anchor tweaks * Stop freeze from scrubs & fix pablo cvar --------- Co-authored-by: Caladius <Caladius@users.noreply.github.com> Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
This commit is contained in:
@@ -459,10 +459,10 @@ typedef enum {
|
||||
/* 0x79 */ GI_NUT_UPGRADE_30,
|
||||
/* 0x7A */ GI_NUT_UPGRADE_40,
|
||||
/* 0x7B */ GI_BULLET_BAG_50,
|
||||
/* 0x7C */ GI_SHIP, // SOH [Enhancement] Added to enable custom item gives
|
||||
/* 0x7D */ GI_ICE_TRAP, // freezes link when opened from a chest
|
||||
/* 0x7E */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg)
|
||||
/* 0x7F */ GI_MAX
|
||||
/* 0x7C */ GI_ICE_TRAP, // freezes link when opened from a chest
|
||||
/* 0x7D */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg)
|
||||
/* 0x7E */ GI_SHIP, // SOH [Enhancement] Added to enable custom item gives
|
||||
/* 0x7E */ GI_MAX
|
||||
} GetItemID;
|
||||
|
||||
typedef enum {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "soh/Enhancements/gameplaystats.h"
|
||||
#include "soh/Enhancements/randomizer/randomizer_entrance.h"
|
||||
#include "soh/Enhancements/boss-rush/BossRush.h"
|
||||
#include "soh/Enhancements/RogueLike/Types.h"
|
||||
|
||||
#define FULL_HEART_HEALTH 0x10
|
||||
#define STARTING_HEALTH (3 * FULL_HEART_HEALTH)
|
||||
@@ -73,6 +74,7 @@ typedef enum { // Pre-existing IDs for save sections in base code
|
||||
SECTION_ID_SCENES,
|
||||
SECTION_ID_TRACKER_DATA,
|
||||
SECTION_ID_ARCHIPELAGO,
|
||||
SECTION_ID_ROGUELIKE,
|
||||
SECTION_ID_MAX
|
||||
} SaveFuncIDs;
|
||||
|
||||
@@ -167,6 +169,14 @@ typedef struct ShipRandomizerSaveContextData {
|
||||
u8 triforcePiecesCollected;
|
||||
} ShipRandomizerSaveContextData;
|
||||
|
||||
typedef struct ShipRogueLikeSaveContextData {
|
||||
u32 stats[RL_MAX];
|
||||
u32 xp;
|
||||
u32 difficulty;
|
||||
uint64_t lastActivity;
|
||||
RogueLikeQuestObject quests[RL_QUEST_ID_MAX];
|
||||
} ShipRogueLikeSaveContextData;
|
||||
|
||||
typedef struct ShipBossRushSaveContextData {
|
||||
u32 isPaused;
|
||||
u8 options[BR_OPTIONS_MAX];
|
||||
@@ -191,6 +201,7 @@ typedef struct ShipQuestSpecificSaveContextData {
|
||||
ShipRandomizerSaveContextData randomizer;
|
||||
ShipBossRushSaveContextData bossRush;
|
||||
ShipArchipelagoSaveContextData archipelago;
|
||||
ShipRogueLikeSaveContextData rogueLike;
|
||||
} ShipQuestSpecificSaveContextData;
|
||||
|
||||
typedef struct ShipQuestSaveContextData {
|
||||
@@ -335,6 +346,7 @@ typedef enum {
|
||||
/* 02 */ QUEST_RANDOMIZER,
|
||||
/* 03 */ QUEST_BOSSRUSH,
|
||||
/* 04 */ QUEST_ARCHIPELAGO,
|
||||
/* 04 */ QUEST_ROGUELIKE,
|
||||
} Quest;
|
||||
|
||||
#define IS_VANILLA (gSaveContext.ship.quest.id == QUEST_NORMAL)
|
||||
@@ -342,6 +354,7 @@ typedef enum {
|
||||
#define IS_RANDO (gSaveContext.ship.quest.id == QUEST_RANDOMIZER)
|
||||
#define IS_BOSS_RUSH (gSaveContext.ship.quest.id == QUEST_BOSSRUSH)
|
||||
#define IS_ARCHIPELAGO (gSaveContext.ship.quest.data.archipelago.isArchipelago == 1)
|
||||
#define IS_ROGUELIKE (gSaveContext.ship.quest.id == QUEST_ROGUELIKE)
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ BTN_ENABLED,
|
||||
|
||||
Reference in New Issue
Block a user