Skip to content

Commit cbd45a8

Browse files
committed
Merge branch 'dev' into say-cheese
2 parents 60bdd79 + 233ea7f commit cbd45a8

File tree

23 files changed

+664
-336
lines changed

23 files changed

+664
-336
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[bumpversion]
22
commit = True
33
tag = False
4-
current_version = 5.7.56
4+
current_version = 5.7.57
55

66
[bumpversion:file:version.py]
77
search = version = "{current_version}"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"id": 56,
3+
"behav_9C": 0,
4+
"ignore": false,
5+
"output_version": 2,
6+
"script": [
7+
{
8+
"conditions": [
9+
{"function":1,"inverted":false,"parameters":[0,0,0]}
10+
],
11+
"executions": [
12+
{"function":20,"parameters":[1,8,0]},
13+
{"function":22,"parameters":[1,1,0]},
14+
{"function":38,"parameters":[2,0,0]}
15+
]
16+
},
17+
{
18+
"conditions": [
19+
{"function":1,"inverted":false,"parameters":[20,0,0]},
20+
{"function":19,"inverted":true,"parameters":[100,0,0]}
21+
],
22+
"executions": [
23+
{"function":17,"parameters":[1,1,0]},
24+
{"function":15,"parameters":[21,20,0]},
25+
{"function":1,"parameters":[21,0,0]}
26+
]
27+
},
28+
{
29+
"conditions": [
30+
{"function":1,"inverted":false,"parameters":[21,0,0]},
31+
{"function":21,"inverted":true,"parameters":[1,0,0]}
32+
],
33+
"executions": [
34+
{"function":1,"parameters":[30,0,0]},
35+
{"function":38,"parameters":[2,0,0]}
36+
]
37+
}
38+
]
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"id": 58,
3+
"behav_9C": 0,
4+
"ignore": false,
5+
"output_version": 2,
6+
"script": [
7+
{
8+
"conditions": [
9+
{"function":1,"inverted":false,"parameters":[0,0,0]}
10+
],
11+
"executions": [
12+
{"function":20,"parameters":[1,8,0]},
13+
{"function":22,"parameters":[1,1,0]},
14+
{"function":38,"parameters":[2,0,0]}
15+
]
16+
},
17+
{
18+
"conditions": [
19+
{"function":1,"inverted":false,"parameters":[20,0,0]},
20+
{"function":19,"inverted":true,"parameters":[100,0,0]}
21+
],
22+
"executions": [
23+
{"function":17,"parameters":[1,1,0]},
24+
{"function":15,"parameters":[21,20,0]},
25+
{"function":1,"parameters":[21,0,0]}
26+
]
27+
},
28+
{
29+
"conditions": [
30+
{"function":1,"inverted":false,"parameters":[21,0,0]},
31+
{"function":21,"inverted":true,"parameters":[1,0,0]}
32+
],
33+
"executions": [
34+
{"function":1,"parameters":[30,0,0]},
35+
{"function":38,"parameters":[2,0,0]}
36+
]
37+
}
38+
]
39+
}
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
{
2+
"id": 235,
3+
"behav_9C": 0,
4+
"ignore": false,
5+
"output_version": 2,
6+
"script": [
7+
{
8+
"conditions": [
9+
{"function":1,"inverted":false,"parameters":[0,0,0]}
10+
],
11+
"executions": [
12+
{"function":22,"parameters":[1,1,0]},
13+
{"function":20,"parameters":[1,3,0]},
14+
{"function":38,"parameters":[3,300,0]},
15+
{"function":1,"parameters":[1,0,0]}
16+
]
17+
},
18+
{
19+
"conditions": [
20+
{"function":1,"inverted":false,"parameters":[1,0,0]},
21+
{"function":17,"inverted":false,"parameters":[4,1,0]},
22+
{"function":37,"inverted":false,"parameters":[2,0,0]},
23+
{"function":23,"inverted":false,"parameters":[28,0,0]}
24+
],
25+
"executions": [
26+
{"function":17,"parameters":[1,1,0]},
27+
{"function":15,"parameters":[326,20,10]},
28+
{"function":3,"parameters":[0,20,0]},
29+
{"function":1,"parameters":[2,0,0]}
30+
]
31+
},
32+
{
33+
"conditions": [
34+
{"function":1,"inverted":false,"parameters":[1,0,0]},
35+
{"function":17,"inverted":false,"parameters":[4,1,0]},
36+
{"function":37,"inverted":false,"parameters":[2,0,0]},
37+
{"function":23,"inverted":false,"parameters":[28,0,0]}
38+
],
39+
"executions": [
40+
{"function":38,"parameters":[1,0,0]}
41+
]
42+
},
43+
{
44+
"conditions": [
45+
{"function":1,"inverted":false,"parameters":[2,0,0]},
46+
{"function":4,"inverted":false,"parameters":[0,0,0]}
47+
],
48+
"executions": [
49+
{"function":7,"parameters":[125,0,235]},
50+
{"function":3,"parameters":[0,300,0]},
51+
{"function":1,"parameters":[3,0,0]}
52+
]
53+
},
54+
{
55+
"conditions": [
56+
{"function":1,"inverted":false,"parameters":[3,0,0]},
57+
{"function":4,"inverted":false,"parameters":[280,0,0]}
58+
],
59+
"executions": [
60+
{"function":5,"parameters":[56,10,0]},
61+
{"function":84,"parameters":[56,1,0]},
62+
{"function":1,"parameters":[4,0,0]}
63+
]
64+
},
65+
{
66+
"conditions": [
67+
{"function":1,"inverted":false,"parameters":[4,0,0]},
68+
{"function":4,"inverted":false,"parameters":[180,0,0]}
69+
],
70+
"executions": [
71+
{"function":5,"parameters":[58,10,0]},
72+
{"function":84,"parameters":[58,1,0]},
73+
{"function":1,"parameters":[5,0,0]}
74+
]
75+
},
76+
{
77+
"conditions": [
78+
{"function":1,"inverted":false,"parameters":[5,0,0]},
79+
{"function":35,"inverted":true,"parameters":[0,0,0]}
80+
],
81+
"executions": [
82+
{"function":103,"parameters":[0,0,0]},
83+
{"function":1,"parameters":[6,0,0]}
84+
]
85+
},
86+
{
87+
"conditions": [
88+
{"function":1,"inverted":false,"parameters":[6,0,0]},
89+
{"function":43,"inverted":true,"parameters":[0,0,0]}
90+
],
91+
"executions": [
92+
{"function":1,"parameters":[7,0,0]}
93+
]
94+
},
95+
{
96+
"conditions": [
97+
{"function":1,"inverted":false,"parameters":[6,0,0]},
98+
{"function":42,"inverted":false,"parameters":[0,0,0]}
99+
],
100+
"executions": [
101+
{"function":1,"parameters":[7,0,0]}
102+
]
103+
},
104+
{
105+
"conditions": [
106+
{"function":1,"inverted":false,"parameters":[7,0,0]}
107+
],
108+
"executions": [
109+
{"function":104,"parameters":[0,0,0]},
110+
{"function":5,"parameters":[56,20,0]},
111+
{"function":84,"parameters":[56,1,0]}
112+
]
113+
},
114+
{
115+
"conditions": [
116+
{"function":1,"inverted":false,"parameters":[7,0,0]}
117+
],
118+
"executions": [
119+
{"function":5,"parameters":[58,20,0]},
120+
{"function":84,"parameters":[58,1,0]},
121+
{"function":1,"parameters":[10,0,0]}
122+
]
123+
},
124+
{
125+
"conditions": [
126+
{"function":1,"inverted":false,"parameters":[10,0,0]},
127+
{"function":49,"inverted":false,"parameters":[56,30,0]},
128+
{"function":49,"inverted":false,"parameters":[58,30,0]}
129+
],
130+
"executions": [
131+
{"function":17,"parameters":[1,1,0]},
132+
{"function":15,"parameters":[326,20,10]},
133+
{"function":1,"parameters":[11,0,0]}
134+
]
135+
},
136+
{
137+
"conditions": [
138+
{"function":1,"inverted":false,"parameters":[11,0,0]},
139+
{"function":21,"inverted":true,"parameters":[1,0,0]}
140+
],
141+
"executions": [
142+
{"function":1,"parameters":[0,0,0]}
143+
]
144+
}
145+
]
146+
}

base-hack/src/instances/instances.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@
156156

157157
#define FUNGI_SWITCH_NIGHT 0x4
158158
#define FUNGI_SWITCH_DAY 0x5
159+
#define FUNGI_SWITCH_LANKY_MUSHROOM 0XEB
159160

160161
#define JAPES_CAVE_GATE 0x2B
161162
#define JAPES_PEANUT_MOUNTAIN 0x58
@@ -387,7 +388,7 @@ int change_object_scripts(behaviour_data* behaviour_pointer, int id, int index,
387388
}
388389
} else if ((param2 == AZTEC_LLAMACOCONUT) || (param2 == AZTEC_LLAMAGRAPE) || (param2 == AZTEC_LLAMAFEATHER)) {
389390
if ((index == 0) && (param2 == AZTEC_LLAMACOCONUT)) {
390-
if (!Rando.quality_of_life.remove_cutscenes) {
391+
if (!Rando.cutscene_skip_setting != CSSKIP_AUTO) {
391392
PlayCutsceneFromModelTwoScript(behaviour_pointer,23,1,0);
392393
}
393394
} else if (index == 1) {
@@ -409,6 +410,10 @@ int change_object_scripts(behaviour_data* behaviour_pointer, int id, int index,
409410
if (!Rando.quality_of_life.vanilla_fixes) {
410411
behaviour_pointer->timer = 70;
411412
}
413+
} else if (param2 == FUNGI_SWITCH_LANKY_MUSHROOM) {
414+
if (Rando.cutscene_skip_setting != CSSKIP_AUTO) {
415+
PlayCutsceneFromModelTwoScript(behaviour_pointer,12,1,0);
416+
}
412417
}
413418
break;
414419
case MAP_CASTLEBALLROOM:
@@ -518,7 +523,7 @@ int change_object_scripts(behaviour_data* behaviour_pointer, int id, int index,
518523
} else if (param2 == LLAMA_BONGOPAD) {
519524
return Character == Rando.free_source_llama;
520525
} else if (param2 == LLAMA_LAVAGATE) {
521-
if (Rando.quality_of_life.remove_cutscenes) {
526+
if (Rando.cutscene_skip_setting != CSSKIP_AUTO) {
522527
hideObject(behaviour_pointer);
523528
behaviour_pointer->pause_state = 1;
524529
}
@@ -784,7 +789,7 @@ int change_object_scripts(behaviour_data* behaviour_pointer, int id, int index,
784789
if (MovesBase[KONG_DIDDY].special_moves & MOVECHECK_CHARGE) {
785790
return 1;
786791
}
787-
if (Rando.quality_of_life.remove_cutscenes) {
792+
if (Rando.cutscene_skip_setting != CSSKIP_AUTO) {
788793
return 1;
789794
}
790795
return 0;
@@ -1169,7 +1174,7 @@ int change_object_scripts(behaviour_data* behaviour_pointer, int id, int index,
11691174
}
11701175

11711176
//play grape switch cutscene
1172-
if (!Rando.quality_of_life.remove_cutscenes) {
1177+
if (!Rando.cutscene_skip_setting != CSSKIP_AUTO) {
11731178
PlayCutsceneFromModelTwoScript(behaviour_pointer, 0, 1, 0);
11741179
behaviour_pointer->timer = 110;
11751180
}

morpher.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,17 @@ <h5 class="modal-title"></h5>
718718
console.log('Setting ice_trap_model to complex');
719719
setting_data.ice_trap_model = "complex";
720720
}
721+
if (sel_version_num < numericVersion("5.7.57")) {
722+
// Migrate krool_in_boss_pool from boolean to enum
723+
if (setting_data.krool_in_boss_pool !== undefined) {
724+
console.log('Migrating krool_in_boss_pool from boolean to enum');
725+
if (setting_data.krool_in_boss_pool === true) {
726+
setting_data.krool_in_boss_pool_v2 = "full_shuffle";
727+
} else {
728+
setting_data.krool_in_boss_pool_v2 = "off";
729+
}
730+
}
731+
}
721732
// Update to include all unhandled options to unsorted
722733
const all_valid_items = Object.keys(output_json.ItemRandoListSelected);
723734
let mentioned_items = [];

randomizer/Enums/Settings.jsonc

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,19 @@
228228
"on": 2
229229
},
230230

231+
/*
232+
KroolInBossPool:
233+
- Determines how K. Rool phases are shuffled with regular bosses.
234+
- off: K. Rool phases remain in the final fight only. Regular bosses remain in T&S portals only.
235+
- krool_only: K. Rool phases can appear as T&S bosses, but the final fight only has K. Rool phases.
236+
- full_shuffle: K. Rool phases and regular bosses can be shuffled bidirectionally between T&S portals and the final fight.
237+
*/
238+
"KroolInBossPool": {
239+
"off": 0,
240+
"krool_only": 1,
241+
"full_shuffle": 2
242+
},
243+
231244
/*
232245
ExcludedSongs:
233246
- Determines the types of songs excluded.
@@ -1404,7 +1417,8 @@
14041417
"random_starting_region_new": 290,
14051418
"kong_model_mode": 291,
14061419
"win_condition_spawns_ship": 292,
1407-
"ice_trap_model": 293
1420+
"ice_trap_model": 293,
1421+
"krool_in_boss_pool_v2": 294
14081422
},
14091423
/*
14101424
SettingsStringDataType:
@@ -1560,7 +1574,8 @@
15601574
"switchsanity_switch_japes_free_kong": { "obj": "SwitchsanityKong" },
15611575
"switchsanity_switch_aztec_free_tiny": { "obj": "SwitchsanityKong" },
15621576
"switchsanity_switch_aztec_free_lanky": { "obj": "SwitchsanityKong" },
1563-
"switchsanity_switch_factory_free_kong": { "obj": "SwitchsanityKong" }
1577+
"switchsanity_switch_factory_free_kong": { "obj": "SwitchsanityKong" },
1578+
"krool_in_boss_pool_v2": { "obj": "KroolInBossPool" }
15641579
},
15651580
// ALL SETTINGS NEED AN ENTRY HERE!
15661581
// This maps settings to the data types that will be used to encode them in the
@@ -2150,7 +2165,8 @@
21502165
"SettingsStringEnum.total_fairies": { "obj": "SettingsStringDataType.u8" },
21512166
"SettingsStringEnum.trap_weight_animal": { "obj": "SettingsStringDataType.int8" },
21522167
"SettingsStringEnum.trap_weight_rockfall": { "obj": "SettingsStringDataType.int8" },
2153-
"SettingsStringEnum.trap_weight_disabletag": { "obj": "SettingsStringDataType.int8" }
2168+
"SettingsStringEnum.trap_weight_disabletag": { "obj": "SettingsStringDataType.int8" },
2169+
"SettingsStringEnum.krool_in_boss_pool_v2": { "obj": "KroolInBossPool" }
21542170
},
21552171
// ALL LIST SETTINGS NEED AN ENTRY HERE!
21562172
// Another map for list settings, for the underlying data type of the list.

randomizer/Settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ def generate_main(self):
429429
self.random_prices = None
430430
self.boss_location_rando = None
431431
# self.boss_kong_rando = None # Deprecated
432+
self.krool_in_boss_pool_v2 = KroolInBossPool.off
432433
self.kasplat_rando_setting = None
433434
# self.puzzle_rando = None # Deprecated
434435
self.puzzle_rando_difficulty = PuzzleRando.off
@@ -1737,7 +1738,7 @@ def resolve_settings(self):
17371738
Maps.KroolTinyPhase,
17381739
Maps.KroolChunkyPhase,
17391740
]
1740-
if self.krool_in_boss_pool:
1741+
if self.krool_in_boss_pool_v2 == KroolInBossPool.full_shuffle:
17411742
phases.extend(
17421743
[
17431744
Maps.JapesBoss,

0 commit comments

Comments
 (0)