Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new intrinsic perk lookup table #76

Closed
wants to merge 17 commits into from
Closed

Conversation

delphiactual
Copy link
Collaborator

@delphiactual delphiactual commented Nov 9, 2019

This will eventually replace intrinsic-perk-lookup.json with intrinsic-perk-lookup-v2.json which will be in the format of:

{
weaponType: {
    intrinsicPerkHash: [compatibleIntrinsicPerks...],
    intrinsicPerkHash2: [compatibleIntrinsicPerks...]
},
etc

intrinsic-perk-lookup2.txt contains information gleaned from mercules massive breakdown, it can be deleted before the PR is merged.

I have got the object containing all the data outputting to intrinsic-perk-lookupV2.json, it still needs to be massaged into the above format, but I have hit a roadblock in how to access this data efficiently...

Based on feedback from:
https://www.reddit.com/r/DestinyItemManager/comments/ds7dqw/comparing_archetypes_is_broken_for_some_weapons/ this should be the way forward...

Exotic (isExotic: true) intrinsic perks should be matched based off impact if no impact matches, then it is not compatible, if an impact match occurs on two different intrinsics then a tie-breaker should occur based on rate of fire. The same should occur for intrinsic perks that are not real frames (isExotic: false, isFrame: false)

@delphiactual delphiactual marked this pull request as ready for review November 17, 2019 02:15
@delphiactual
Copy link
Collaborator Author

delphiactual commented Nov 17, 2019

This is not entirely correct...

  "6": [
    [1791592647, 2770223582],
    [1458010786, 2189829540, 4045839491, 2144092201, 1863355414],
    [1294026524, 647617635],
    [3468089894, 3923638944, 507151084, 1030990989],
    [3174300811],
    [1322370662]
  ],

should be

  "6": [
    [1322370662, 1791592647, 2770223582],
    [1458010786, 2189829540, 4045839491, 2144092201, 1863355414],
    [1294026524, 647617635],
    [3468089894, 3923638944, 507151084, 1030990989],
    [3174300811]
  ],

and

  "14": [
    [806997698],
    [1458010786],
    [1282254042, 2121086290],
    [1636108362],
    [3330548924],
    [31057037],
    [1294026524, 3449390870]
  ],

should be

  "14": [
    [806997698],
    [1458010786],
    [1636108362],
    [3330548924],
    [1294026524, 3449390870, 31057037, 1282254042, 2121086290]
  ],

and

"54": [[1713206376], [3642491337, 4072668471], [836583820], [4172267910]],

should be

"54": [[1713206376], [836583820], [4172267910, 3642491337, 4072668471]],

finallyFIXED

"2489664120": [[571267712, 1036269296, 459441288, 1797707170]],

should be

"2489664120": [[-99999999, 571267712, 1036269296, 459441288, 1797707170]],

!isFrame should always be a match of another frame unless isExotic

@delphiactual
Copy link
Collaborator Author

delphiactual commented Nov 17, 2019

added a strict mode to the intrinsic perk lookup, if -7777777 exists in a list we should match in DIM based on intrinsic and then base impact.

This only occurs on:

  • Adaptive Frame - Sidearms and Swords
  • Precision Frame - Hand Cannons
  • Häkke Precision Frame - Rocket Launchers

@delphiactual
Copy link
Collaborator Author

delphiactual commented Dec 1, 2019

  '54': {
    'Adaptive Frame': {
      hashes: [
        -7777777,
        4172267910
      ],
      impact: [56, 59, 62],
      rof: [46, 55],
      isExotic: false,
      isFrame: true
    },
    'Aggressive Frame': {
      hashes: [836583820],
      impact: [84],
      rof: [10],
      isExotic: false,
      isFrame: true
    },
    'Lightweight Frame': {
      hashes: [1713206376],
      impact: [40],
      rof: [82],
      isExotic: false,
      isFrame: true
    },
    Tesseract: {
      hashes: [3642491337],
      impact: [62],
      rof: [55],
      isExotic: true,
      isFrame: false
    },
    'Crow's Wings': {
      hashes: [4072668471],
      impact: [62],
      rof: [46],
      isExotic: true,
      isFrame: false
    }
  }

Should put Tesseract and Crow's Wings with Adaptive Frame based on impact

],
"6": [
[-99999999, 1791592647, 2770223582],
[-7777777, 1458010786, 2189829540, 1322370662, 4045839491, 2144092201, 1863355414],
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1322370662 should not be here

Comment on lines +69 to +70
[-7777777, 4172267910],
[-7777777, 4172267910, 3642491337, 4072668471],
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[-7777777, 4172267910] should be removed as it is contained in the next line completely

@delphiactual delphiactual deleted the compare-rework branch May 10, 2020 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant