fix: no hex bounties available #641

Merged
Sainan merged 1 commits from hex-bounties into main 2024-12-25 14:32:12 -08:00

View File

@ -487,6 +487,14 @@
"Tag": "ZarimanSyndicate",
"Seed": 99562,
"Nodes": []
},
{
"_id": { "$oid": "676b8d340000000000000006" },
"Activation": { "$date": { "$numberLong": "1735101748215" } },
"Expiry": { "$date": { "$numberLong": "2000000000000" } },
"Tag": "HexSyndicate",
"Seed": 33872,
coderabbitai[bot] commented 2024-12-24 22:57:49 -08:00 (Migrated from github.com)
Review

💡 Codebase verification

The activation timestamp appears to be incorrect

The HexSyndicate's activation timestamp (1735101748215 - December 25, 2024) seems out of sequence with other syndicate activations in the worldState. Most other syndicates are scheduled for activation in May 2024, with timestamps between May 7-15, 2024. This December activation date appears to be an outlier and might be a mistake.

  • The timestamp should likely be adjusted to align with the May 2024 timeframe, similar to other syndicate activations
  • Consider setting it between 1715097600000 (May 7, 2024) and 1715796000000 (May 15, 2024) to maintain consistency with other syndicate releases
🔗 Analysis chain

Verify the activation timestamp.

The syndicate is set to activate on April 24, 2024 (1735101748215). Ensure this future activation date is intentional and aligns with the planned release schedule.

Run the following script to compare activation dates:


Let me try a different approach to verify the activation timestamp.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare activation dates of syndicates
# This helps verify if the activation date aligns with other syndicate timings

# Extract and format activation dates for all syndicates
rg -U '"Tag".*"Syndicate".*"Activation".*\{.*\}' --json | \
  jq -r '.data.lines.text' | \
  sed -E 's/.*"Activation".*"\\$numberLong": "([0-9]+)".*/\1/' | \
  sort -n | \
  while read timestamp; do 
    echo "$(date -d @$(($timestamp/1000)) +'%Y-%m-%d') : $timestamp"
  done

Length of output: 258


Script:

#!/bin/bash
# Search for all activation timestamps in worldState.json
cat static/fixed_responses/worldState.json | jq -r '.. | objects | select(has("Activation")) | .Activation."$date"."$numberLong"' | sort -n | while read timestamp; do 
    if [ ! -z "$timestamp" ]; then
        echo "$(date -d @$(($timestamp/1000)) +'%Y-%m-%d %H:%M:%S') : $timestamp"
    fi
done

Length of output: 12915

_:bulb: Codebase verification_ **The activation timestamp appears to be incorrect** The HexSyndicate's activation timestamp (1735101748215 - December 25, 2024) seems out of sequence with other syndicate activations in the worldState. Most other syndicates are scheduled for activation in May 2024, with timestamps between May 7-15, 2024. This December activation date appears to be an outlier and might be a mistake. - The timestamp should likely be adjusted to align with the May 2024 timeframe, similar to other syndicate activations - Consider setting it between 1715097600000 (May 7, 2024) and 1715796000000 (May 15, 2024) to maintain consistency with other syndicate releases <details> <summary>🔗 Analysis chain</summary> **Verify the activation timestamp.** The syndicate is set to activate on April 24, 2024 (1735101748215). Ensure this future activation date is intentional and aligns with the planned release schedule. Run the following script to compare activation dates: --- Let me try a different approach to verify the activation timestamp. </details> <details> <summary>🏁 Scripts executed</summary> The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Compare activation dates of syndicates # This helps verify if the activation date aligns with other syndicate timings # Extract and format activation dates for all syndicates rg -U '"Tag".*"Syndicate".*"Activation".*\{.*\}' --json | \ jq -r '.data.lines.text' | \ sed -E 's/.*"Activation".*"\\$numberLong": "([0-9]+)".*/\1/' | \ sort -n | \ while read timestamp; do echo "$(date -d @$(($timestamp/1000)) +'%Y-%m-%d') : $timestamp" done ``` Length of output: 258 --- Script: ```shell #!/bin/bash # Search for all activation timestamps in worldState.json cat static/fixed_responses/worldState.json | jq -r '.. | objects | select(has("Activation")) | .Activation."$date"."$numberLong"' | sort -n | while read timestamp; do if [ ! -z "$timestamp" ]; then echo "$(date -d @$(($timestamp/1000)) +'%Y-%m-%d %H:%M:%S') : $timestamp" fi done ``` Length of output: 12915 </details> <!-- This is an auto-generated comment by CodeRabbit -->
"Nodes": []
coderabbitai[bot] commented 2024-12-24 22:57:50 -08:00 (Migrated from github.com)
Review

💡 Codebase verification

Jobs field is required for HexSyndicate

Looking at the syndicate entries in worldState.json, I can see that all syndicates that offer bounties (EntratiSyndicate, CetusSyndicate, SolarisSyndicate) have a Jobs field defined with detailed mission configurations. Since this PR aims to fix "no hex bounties available" (issue #640), the HexSyndicate entry must include a Jobs field to define the available bounties, similar to other syndicates that offer missions.

Key observations:

  • EntratiSyndicate, CetusSyndicate, and SolarisSyndicate all have Jobs arrays
  • Each job defines properties like jobType, rewards, masteryReq, enemy levels, and XP amounts
  • The HexSyndicate entry is missing this crucial field needed for bounties
🔗 Analysis chain

LGTM! Consider if Jobs field is needed.

The new HexSyndicate entry follows the standard syndicate structure. However, since this PR aims to fix "no hex bounties available", verify if a Jobs field should be added like other syndicate entries (e.g., EntratiSyndicate, CetusSyndicate) that offer bounties.

Run the following script to analyze other syndicates with bounties:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check which syndicates have Jobs field and their structure
# This helps determine if HexSyndicate should also have Jobs defined

# Search for syndicate entries with Jobs field
rg -U 'Tag.*Syndicate.*Jobs.*\[.*\]' --json | jq -r '.data.lines.text'

Length of output: 75


Script:

#!/bin/bash
# Let's try a different approach to find syndicate entries and their structure
# First, let's look at the content around syndicates in the worldState.json

rg -A 10 -B 2 '"Tag".*"Syndicate"' static/fixed_responses/worldState.json

Length of output: 75


Script:

#!/bin/bash
# Let's try a simpler approach to see the structure of the worldState.json file
# This will help us understand the syndicate entries better

cat static/fixed_responses/worldState.json | jq '.SyndicateMissions[]? | select(.Tag | contains("Syndicate"))'

Length of output: 17629

_:bulb: Codebase verification_ **Jobs field is required for HexSyndicate** Looking at the syndicate entries in worldState.json, I can see that all syndicates that offer bounties (EntratiSyndicate, CetusSyndicate, SolarisSyndicate) have a `Jobs` field defined with detailed mission configurations. Since this PR aims to fix "no hex bounties available" (issue #640), the HexSyndicate entry must include a `Jobs` field to define the available bounties, similar to other syndicates that offer missions. Key observations: - EntratiSyndicate, CetusSyndicate, and SolarisSyndicate all have `Jobs` arrays - Each job defines properties like jobType, rewards, masteryReq, enemy levels, and XP amounts - The HexSyndicate entry is missing this crucial field needed for bounties <details> <summary>🔗 Analysis chain</summary> **LGTM! Consider if Jobs field is needed.** The new HexSyndicate entry follows the standard syndicate structure. However, since this PR aims to fix "no hex bounties available", verify if a `Jobs` field should be added like other syndicate entries (e.g., EntratiSyndicate, CetusSyndicate) that offer bounties. Run the following script to analyze other syndicates with bounties: </details> <details> <summary>🏁 Scripts executed</summary> The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Check which syndicates have Jobs field and their structure # This helps determine if HexSyndicate should also have Jobs defined # Search for syndicate entries with Jobs field rg -U 'Tag.*Syndicate.*Jobs.*\[.*\]' --json | jq -r '.data.lines.text' ``` Length of output: 75 --- Script: ```shell #!/bin/bash # Let's try a different approach to find syndicate entries and their structure # First, let's look at the content around syndicates in the worldState.json rg -A 10 -B 2 '"Tag".*"Syndicate"' static/fixed_responses/worldState.json ``` Length of output: 75 --- Script: ```shell #!/bin/bash # Let's try a simpler approach to see the structure of the worldState.json file # This will help us understand the syndicate entries better cat static/fixed_responses/worldState.json | jq '.SyndicateMissions[]? | select(.Tag | contains("Syndicate"))' ``` Length of output: 17629 </details> <!-- This is an auto-generated comment by CodeRabbit -->
}
],
"ActiveMissions": [