mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-01 08:05:07 -04:00
Merge branch 'develop-rando' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-changes
This commit is contained in:
commit
7e5854756e
@ -1466,40 +1466,44 @@ typedef struct {
|
||||
//special respawns used when voided out without swim to prevent infinite loops
|
||||
std::map<s32, SpecialRespawnInfo> swimSpecialRespawnInfo = {
|
||||
{
|
||||
0x1D9,//hf to zr in water
|
||||
ENTR_ZORAS_RIVER_3,//hf to zr in water
|
||||
{ { -1455.443, -20, 1384.826 }, 28761 }
|
||||
},
|
||||
{
|
||||
0x311,//zr to hf in water
|
||||
ENTR_HYRULE_FIELD_14,//zr to hf in water
|
||||
{ { 5830.209, -92.16, 3925.911 }, -20025 }
|
||||
},
|
||||
{
|
||||
0x4DA,//zr to lw
|
||||
ENTR_LOST_WOODS_7,//zr to lw
|
||||
{ { 1978.718, -36.908, -855 }, -16384 }
|
||||
},
|
||||
{
|
||||
0x1DD,//lw to zr
|
||||
ENTR_ZORAS_RIVER_4,//lw to zr
|
||||
{ { 4082.366, 860.442, -1018.949 }, -32768 }
|
||||
},
|
||||
{
|
||||
0x219,//gv to lh
|
||||
ENTR_LAKE_HYLIA_1,//gv to lh
|
||||
{ { -3276.416, -1033, 2908.421 }, 11228 }
|
||||
},
|
||||
{
|
||||
0x10,//lh to water temple
|
||||
ENTR_WATER_TEMPLE_0,//lh to water temple
|
||||
{ { -182, 780, 759.5 }, -32768 }
|
||||
},
|
||||
{
|
||||
0x21D,//water temple to lh
|
||||
ENTR_LAKE_HYLIA_2,//water temple to lh
|
||||
{ { -955.028, -1306.9, 6768.954 }, -32768 }
|
||||
},
|
||||
{
|
||||
0x328,//lh to zd
|
||||
ENTR_ZORAS_DOMAIN_4,//lh to zd
|
||||
{ { -109.86, 11.396, -9.933 }, -29131 }
|
||||
},
|
||||
{
|
||||
0x560,//zd to lh
|
||||
ENTR_LAKE_HYLIA_7,//zd to lh
|
||||
{ { -912, -1326.967, 3391 }, 0 }
|
||||
},
|
||||
{
|
||||
ENTR_GERUDO_VALLEY_1,//caught by gerudos as child
|
||||
{ { -424, -2051, -74 }, 16384 }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -287,7 +287,7 @@ Text AutoFormatHintText(const Text& unformattedHintText, const std::vector<std::
|
||||
strings[i] = textStr;
|
||||
}
|
||||
|
||||
return {strings[0], strings[1], ""/*spanish*/, strings[2]};
|
||||
return {strings[0], strings[2], ""/*spanish*/, strings[1]};
|
||||
}
|
||||
|
||||
std::array<DungeonHintInfo, 10> dungeonInfoData;
|
||||
@ -615,6 +615,7 @@ void CreateGanonAndSheikText() {
|
||||
}
|
||||
|
||||
ctx->AddHint(RH_GANONDORF_HINT, AutoFormatHintText(ganonHintText), lightArrowLocation[0], HINT_TYPE_STATIC, "Static", lightArrowArea);
|
||||
ctx->AddHint(RH_GANONDORF_NOHINT, AutoFormatHintText(ganonText), lightArrowLocation[0], HINT_TYPE_STATIC, "Static", lightArrowArea);
|
||||
|
||||
if (!ctx->GetOption(RSK_TRIAL_COUNT).Is(0)) {
|
||||
sheikText = ::Hint(RHT_SHEIK_LIGHT_ARROW_HINT).GetText() + LightArrowAreaText + "%w.";
|
||||
@ -963,7 +964,7 @@ static void DistributeHints(std::vector<uint8_t>& selected, size_t stoneCount, s
|
||||
for (uint8_t distribution = 0; distribution < distTable.size(); distribution++){
|
||||
currentWeight -= distTable[distribution].weight;
|
||||
if (currentWeight <= 0){
|
||||
if (stoneCount >= distTable[distribution].copies){
|
||||
if (stoneCount >= distTable[distribution].copies || distTable[distribution].copies == 0){
|
||||
selected[distribution] += 1;
|
||||
stoneCount -= distTable[distribution].copies;
|
||||
break;
|
||||
@ -1074,8 +1075,9 @@ void CreateStoneHints() {
|
||||
|
||||
while(totalStones != 0){
|
||||
totalStones = PlaceHints(selectedHints, distTable);
|
||||
if (totalStones != 0){
|
||||
while (totalStones != 0){
|
||||
DistributeHints(selectedHints, totalStones, distTable, hintSetting.junkWeight, false);
|
||||
totalStones = PlaceHints(selectedHints, distTable);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,13 +13,19 @@ public:
|
||||
: english(std::move(english_)),
|
||||
french(std::move(french_)),
|
||||
spanish(std::move(spanish_)),
|
||||
german(std::move("")) {}
|
||||
german(std::move("")) {
|
||||
// german defaults to english text until a translation is provided.
|
||||
german = english;
|
||||
}
|
||||
Text(std::string english_, std::string french_, std::string spanish_, std::string german_)
|
||||
: english(std::move(english_)),
|
||||
french(std::move(french_)),
|
||||
spanish(std::move(spanish_)),
|
||||
german(std::move(german_)) {}
|
||||
Text(std::string english_) : english(std::move(english_)), french(std::move("")), spanish(std::move("")), german(std::move("")) {}
|
||||
Text(std::string english_) : english(std::move(english_)), french(std::move("")), spanish(std::move("")), german(std::move("")) {
|
||||
// default unprovided languages to english text
|
||||
french = spanish = german = english;
|
||||
}
|
||||
|
||||
const std::string& GetEnglish() const {
|
||||
return english;
|
||||
|
@ -47,6 +47,10 @@ const std::string& Hint::GetDistribution() {
|
||||
|
||||
void Hint::ResetVariables() {
|
||||
hintedLocation = RC_UNKNOWN_CHECK;
|
||||
text = Text{};
|
||||
distribution = "";
|
||||
hintedArea = RA_NONE;
|
||||
hintType = HINT_TYPE_STATIC;
|
||||
addedToPool = false;
|
||||
}
|
||||
}
|
@ -256,7 +256,7 @@ void Randomizer::LoadHintMessages() {
|
||||
CustomMessage(ctx->GetHint(RH_GANONDORF_HINT)->GetText()));
|
||||
CustomMessageManager::Instance->CreateMessage(
|
||||
Randomizer::hintMessageTableID, TEXT_GANONDORF_NOHINT,
|
||||
CustomMessage(ctx->GetHint(RH_SARIA)->GetText()));//RANDOTODO: Change to RH_BLANK or remove {{message}} replacment
|
||||
CustomMessage(ctx->GetHint(RH_GANONDORF_NOHINT)->GetText()));
|
||||
CustomMessageManager::Instance->CreateMessage(
|
||||
Randomizer::hintMessageTableID, TEXT_SHEIK_NEED_HOOK,
|
||||
CustomMessage("{{message}}", "{{message}}", "{{message}}"));
|
||||
|
@ -75,6 +75,9 @@ void func_8006D0EC(PlayState* play, Player* player) {
|
||||
} else if ((play->sceneNum == gSaveContext.horseData.scene) &&
|
||||
(((Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) != 0) && (!IS_RANDO ||
|
||||
(IS_RANDO && CHECK_QUEST_ITEM(QUEST_SONG_EPONA) &&
|
||||
Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_UP) &&
|
||||
Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_LEFT) &&
|
||||
Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_RIGHT) &&
|
||||
(INV_CONTENT(ITEM_OCARINA_FAIRY) != ITEM_NONE)))) || DREG(1) != 0)) {
|
||||
// "Set by existence of horse %d %d %d"
|
||||
osSyncPrintf("馬存在によるセット %d %d %d\n", gSaveContext.horseData.scene, Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED),
|
||||
|
Loading…
Reference in New Issue
Block a user