rewrite quest metadata indexing

- split ep3 download quests from quest index
- fix Ep3 NTE download quests
- automatically detect battle/challenge params and area remaps
This commit is contained in:
Martin Michelsen
2025-09-28 10:15:14 -07:00
parent 48c225366f
commit fdd0bfea08
248 changed files with 1944 additions and 1543 deletions
-25
View File
@@ -1,25 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "ALLOW",
"ReplaceChar": 1,
"DropWeapon": 1,
"IsTeams": 0,
"HideTargetReticle": 1,
"DeathLevelUp": 5,
"MesetaMode": "CLEAR_AND_ALLOW",
"EnableSonar": 1,
"MaxTechLevel": 0,
"CharLevel": 0,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 1,
"TrapCounts": [0, 5, 5, 5],
"SonarCount": 5,
"BoxDropArea": 1
}
}
-25
View File
@@ -1,25 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "LIMIT_LIVES",
"ReplaceChar": 1,
"DropWeapon": 0,
"IsTeams": 0,
"HideTargetReticle": 1,
"DeathLevelUp": 3,
"MesetaMode": "FORBID_ALL",
"EnableSonar": 0,
"Lives": 10,
"MaxTechLevel": 0,
"CharLevel": 4,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 1,
"TrapCounts": [0, 10, 10, 10],
"BoxDropArea": 3
}
}
-26
View File
@@ -1,26 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "LIMIT_LIVES",
"ReplaceChar": 1,
"DropWeapon": 1,
"IsTeams": 0,
"HideTargetReticle": 1,
"DeathLevelUp": 5,
"MesetaMode": "CLEAR_AND_ALLOW",
"EnableSonar": 1,
"Lives": 10,
"MaxTechLevel": 1,
"CharLevel": 1,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 1,
"TrapCounts": [5, 5, 5, 5],
"SonarCount": 5,
"BoxDropArea": 1
}
}
-23
View File
@@ -1,23 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "ALLOW",
"WeaponAndArmorMode": "ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "FORBID",
"ReplaceChar": 0,
"DropWeapon": 1,
"IsTeams": 1,
"HideTargetReticle": 1,
"DeathLevelUp": 5,
"MesetaMode": "CLEAR_AND_ALLOW",
"EnableSonar": 1,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 1,
"TrapCounts": [5, 5, 5, 5],
"SonarCount": 5,
"BoxDropArea": 10
}
}
-25
View File
@@ -1,25 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "LIMIT_LIVES",
"ReplaceChar": 1,
"DropWeapon": 1,
"IsTeams": 1,
"HideTargetReticle": 1,
"DeathLevelUp": 3,
"MesetaMode": "CLEAR_AND_ALLOW",
"EnableSonar": 0,
"Lives": 10,
"MaxTechLevel": 4,
"CharLevel": 19,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 1,
"TrapCounts": [5, 5, 0, 0],
"BoxDropArea": 6
}
}
-26
View File
@@ -1,26 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "LIMIT_LIVES",
"ReplaceChar": 1,
"DropWeapon": 1,
"IsTeams": 0,
"HideTargetReticle": 1,
"DeathLevelUp": 1,
"MesetaMode": "CLEAR_AND_ALLOW",
"EnableSonar": 1,
"Lives": 15,
"MaxTechLevel": 0,
"CharLevel": 0,
"TimeLimit": 10,
"ForbidScapeDolls": 0,
"DeathTechLevelUp": 0,
"TrapCounts": [0, 0, 1, 0],
"SonarCount": 10,
"BoxDropArea": 2
}
}
-26
View File
@@ -1,26 +0,0 @@
{
"BattleRules": {
"TechDiskMode": "LIMIT_LEVEL",
"WeaponAndArmorMode": "CLEAR_AND_ALLOW",
"MagMode": "FORBID_ALL",
"ToolMode": "CLEAR_AND_ALLOW",
"TrapMode": "ALL_PLAYERS",
"RespawnMode": "LIMIT_LIVES",
"ReplaceChar": 1,
"DropWeapon": 0,
"IsTeams": 0,
"HideTargetReticle": 1,
"DeathLevelUp": 5,
"MesetaMode": "FORBID_ALL",
"EnableSonar": 1,
"Lives": 10,
"MaxTechLevel": 0,
"CharLevel": 19,
"TimeLimit": 10,
"ForbidScapeDolls": 1,
"DeathTechLevelUp": 0,
"TrapCounts": [0, 10, 10, 10],
"SonarCount": 10,
"BoxDropArea": 1
}
}
-1
View File
@@ -1,4 +1,3 @@
{
"ChallengeTemplateIndex": 0,
"DescriptionFlag": 51
}
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 1,
"DescriptionFlag": 52,
"AvailableIf": "CC_Ep1_1",
"EnabledIf": "CC_Ep1_1"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 2,
"DescriptionFlag": 53,
"AvailableIf": "CC_Ep1_2",
"EnabledIf": "CC_Ep1_2"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 3,
"DescriptionFlag": 54,
"AvailableIf": "CC_Ep1_3",
"EnabledIf": "CC_Ep1_3"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 4,
"DescriptionFlag": 55,
"AvailableIf": "CC_Ep1_4",
"EnabledIf": "CC_Ep1_4"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 5,
"DescriptionFlag": 56,
"AvailableIf": "CC_Ep1_5",
"EnabledIf": "CC_Ep1_5"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 6,
"DescriptionFlag": 57,
"AvailableIf": "CC_Ep1_6",
"EnabledIf": "CC_Ep1_6"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 7,
"DescriptionFlag": 58,
"AvailableIf": "CC_Ep1_7",
"EnabledIf": "CC_Ep1_7"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 59,
"AvailableIf": "CC_Ep1_8",
"EnabledIf": "CC_Ep1_8"
+1 -2
View File
@@ -1,4 +1,3 @@
{
"ChallengeTemplateIndex": 1,
"DescriptionFlag": 61,
"DescriptionFlag": 61
}
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 4,
"DescriptionFlag": 62,
"AvailableIf": "CC_Ep2_1",
"EnabledIf": "CC_Ep2_1"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 5,
"DescriptionFlag": 63,
"AvailableIf": "CC_Ep2_2",
"EnabledIf": "CC_Ep2_2"
Binary file not shown.
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 64,
"AvailableIf": "CC_Ep2_3",
"EnabledIf": "CC_Ep2_3"
-1
View File
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 65,
"AvailableIf": "CC_Ep2_4",
"EnabledIf": "CC_Ep2_4"
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 0,
"DescriptionFlag": 51,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 1,
"DescriptionFlag": 52,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 2,
"DescriptionFlag": 53,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 3,
"DescriptionFlag": 54,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 4,
"DescriptionFlag": 55,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 5,
"DescriptionFlag": 56,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 6,
"DescriptionFlag": 57,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 7,
"DescriptionFlag": 58,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 59,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 1,
"DescriptionFlag": 61,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 4,
"DescriptionFlag": 62,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 5,
"DescriptionFlag": 63,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 64,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1,5 +1,4 @@
{
"ChallengeTemplateIndex": 8,
"DescriptionFlag": 65,
"AvailableIf": "V_NumPlayers == 2",
"AllowStartFromChatCommand": true
@@ -1 +0,0 @@
q154-gc-e.bin
@@ -1 +0,0 @@
q154-gc.dat
@@ -1 +0,0 @@
q155-gc-e.bin
@@ -1 +0,0 @@
q155-gc.dat
@@ -1 +0,0 @@
q156-gc-e.bin
@@ -1 +0,0 @@
q156-gc.dat
@@ -1 +0,0 @@
q158-gc-e.bin
@@ -1 +0,0 @@
q158-gc.dat
@@ -1 +0,0 @@
q159-gc-e.bin
@@ -1 +0,0 @@
q159-gc.dat
@@ -1 +0,0 @@
q161-gc-e.bin
@@ -1 +0,0 @@
q161-gc.dat
@@ -1 +0,0 @@
q162-gc-e.bin
@@ -1 +0,0 @@
q162-gc.dat
@@ -1 +0,0 @@
q163-gc-e.bin
@@ -1 +0,0 @@
q163-gc.dat
@@ -1 +0,0 @@
q164-gc-e.bin
@@ -1 +0,0 @@
q164-gc.dat
+1
View File
@@ -0,0 +1 @@
q180-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q180-gc.dat
@@ -0,0 +1,4 @@
{
"AvailableIf": "!V_V1Present",
"Joinable": true,
}
+1
View File
@@ -0,0 +1 @@
q181-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q181-gc.dat
@@ -0,0 +1,4 @@
{
"AvailableIf": "!V_V1Present",
"Joinable": true,
}
+1
View File
@@ -0,0 +1 @@
q182-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q182-gc.dat
@@ -0,0 +1,3 @@
{
"AvailableIf": "!V_V1Present",
}
+1
View File
@@ -0,0 +1 @@
q183-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q183-gc.dat
@@ -0,0 +1,4 @@
{
"AvailableIf": "!V_V1Present",
"Joinable": true,
}
+1
View File
@@ -0,0 +1 @@
q184-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q184-gc.dat
@@ -0,0 +1,3 @@
{
"AvailableIf": "!V_V1Present",
}
+1
View File
@@ -0,0 +1 @@
q185-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q185-gc.dat
@@ -0,0 +1,3 @@
{
"AvailableIf": "!V_V1Present",
}
+1
View File
@@ -0,0 +1 @@
q186-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q186-gc.dat
@@ -0,0 +1,3 @@
{
"AvailableIf": "!V_V1Present",
}
+1
View File
@@ -0,0 +1 @@
q187-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q187-gc.dat
@@ -0,0 +1,4 @@
{
"AvailableIf": "!V_V1Present",
"Joinable": true,
}
+1
View File
@@ -0,0 +1 @@
q188-gc-e.bin
+1
View File
@@ -0,0 +1 @@
q188-gc.dat
@@ -0,0 +1,4 @@
{
"AvailableIf": "!V_V1Present",
"Joinable": true,
}

Some files were not shown because too many files have changed in this diff Show More