mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-21 05:43:42 -07:00
mq heavy block logic matching vanilla refactor
This commit is contained in:
parent
8ed9a4e19a
commit
1d1ca40d94
2 changed files with 13 additions and 5 deletions
|
@ -143,7 +143,7 @@ void RegionTable_Init_GerudoTrainingGround() {
|
||||||
|
|
||||||
areaTable[RR_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_ROOM] = Region("Gerudo Training Ground Heavy Block Room", SCENE_GERUDO_TRAINING_GROUND, {
|
areaTable[RR_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_ROOM] = Region("Gerudo Training Ground Heavy Block Room", SCENE_GERUDO_TRAINING_GROUND, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->GTGPushedHeavyBlock, []{return logic->CanUse(RG_SILVER_GAUNTLETS);})
|
EventAccess(&logic->GTGPushedHeavyBlock, []{return logic->CanUse(RG_SILVER_GAUNTLETS);}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, logic->CanKillEnemy(RE_WOLFOS, ED_CLOSE, true, 4, true)),
|
LOCATION(RC_GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, logic->CanKillEnemy(RE_WOLFOS, ED_CLOSE, true, 4, true)),
|
||||||
|
@ -156,7 +156,7 @@ void RegionTable_Init_GerudoTrainingGround() {
|
||||||
|
|
||||||
areaTable[RR_GERUDO_TRAINING_GROUND_ABOVE_HEAVY_BLOCK_ROOM] = Region("Gerudo Training Ground Behind Heavy Block", SCENE_GERUDO_TRAINING_GROUND, {
|
areaTable[RR_GERUDO_TRAINING_GROUND_ABOVE_HEAVY_BLOCK_ROOM] = Region("Gerudo Training Ground Behind Heavy Block", SCENE_GERUDO_TRAINING_GROUND, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->GTGUnlockedDoorBehindHeavyBlock, []{return true;})
|
EventAccess(&logic->GTGUnlockedDoorBehindHeavyBlock, []{return true;}),
|
||||||
}, {}, {
|
}, {}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_ROOM, []{return ctx->GetTrickOption(RT_LENS_GTG) || logic->CanUse(RG_LENS_OF_TRUTH);}),
|
Entrance(RR_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_ROOM, []{return ctx->GetTrickOption(RT_LENS_GTG) || logic->CanUse(RG_LENS_OF_TRUTH);}),
|
||||||
|
@ -251,6 +251,8 @@ void RegionTable_Init_GerudoTrainingGround() {
|
||||||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM] = Region("Gerudo Training Ground MQ Stalfos Room", SCENE_GERUDO_TRAINING_GROUND, {
|
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM] = Region("Gerudo Training Ground MQ Stalfos Room", SCENE_GERUDO_TRAINING_GROUND, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
||||||
|
EventAccess(&logic->GTGUnlockedDoorBehindHeavyBlock, []{return Here(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return logic->CanKillEnemy(RE_STALFOS, ED_CLOSE, true, 2, true);});}),
|
||||||
|
EventAccess(&logic->GTGPushedHeavyBlock, []{return logic->CanUse(RG_SILVER_GAUNTLETS);}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
//implies logic->CanKillEnemy(RE_BIG_SKULLTULA)
|
//implies logic->CanKillEnemy(RE_BIG_SKULLTULA)
|
||||||
|
@ -258,16 +260,21 @@ void RegionTable_Init_GerudoTrainingGround() {
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE, []{return true;}),
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE, []{return true;}),
|
||||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK, []{return Here(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return logic->CanKillEnemy(RE_STALFOS, ED_CLOSE, true, 2, true);}) && logic->CanUse(RG_SILVER_GAUNTLETS);}),
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK, []{return logic->GTGPushedHeavyBlock;}),
|
||||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE, []{return logic->IsAdult && Here(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return logic->CanKillEnemy(RE_STALFOS, ED_CLOSE, true, 2, true);}) && (ctx->GetTrickOption(RT_LENS_GTG_MQ) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->BlueFire() && (logic->CanUse(RG_SONG_OF_TIME) || (ctx->GetTrickOption(RT_GTG_FAKE_WALL) && logic->CanUse(RG_HOVER_BOOTS)));}),
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE, []{return logic->IsAdult && Here(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return logic->CanKillEnemy(RE_STALFOS, ED_CLOSE, true, 2, true);}) && (ctx->GetTrickOption(RT_LENS_GTG_MQ) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->BlueFire() && (logic->CanUse(RG_SONG_OF_TIME) || (ctx->GetTrickOption(RT_GTG_FAKE_WALL) && logic->CanUse(RG_HOVER_BOOTS)));}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK] = Region("Gerudo Training Ground MQ Behind Block", SCENE_GERUDO_TRAINING_GROUND, {}, {
|
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK] = Region("Gerudo Training Ground MQ Behind Block", SCENE_GERUDO_TRAINING_GROUND, {}, {}, {
|
||||||
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return logic->GTGPushedHeavyBlock;}),
|
||||||
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_ROOM_BEHIND_BLOCK, []{return logic->GTGUnlockedDoorBehindHeavyBlock;}),
|
||||||
|
});
|
||||||
|
|
||||||
|
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_ROOM_BEHIND_BLOCK] = Region("Gerudo Training Ground MQ Room Behind Block", SCENE_GERUDO_TRAINING_GROUND, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
//implies logic->CanKillEnemy(RE_SPIKE)
|
//implies logic->CanKillEnemy(RE_SPIKE)
|
||||||
LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_HEAVY_BLOCK_CHEST, logic->CanKillEnemy(RE_FREEZARD)),
|
LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_HEAVY_BLOCK_CHEST, logic->CanKillEnemy(RE_FREEZARD)),
|
||||||
}, {
|
}, {
|
||||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return true;}), // TODO fix logic where block not pushed
|
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_ROOM_BEHIND_BLOCK, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE] = Region("Gerudo Training Ground MQ Statue Room Ledge", SCENE_GERUDO_TRAINING_GROUND, {}, {}, {
|
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE] = Region("Gerudo Training Ground MQ Statue Room Ledge", SCENE_GERUDO_TRAINING_GROUND, {}, {}, {
|
||||||
|
|
|
@ -1026,6 +1026,7 @@ typedef enum {
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE,
|
RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE,
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM,
|
RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM,
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK,
|
RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK,
|
||||||
|
RR_GERUDO_TRAINING_GROUND_MQ_ROOM_BEHIND_BLOCK,
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE,
|
RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE,
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_MAGENTA_FIRE_ROOM,
|
RR_GERUDO_TRAINING_GROUND_MQ_MAGENTA_FIRE_ROOM,
|
||||||
RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM,
|
RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue