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

Allow Tame to collect more items & dt2 tablet fix #5578

Closed
wants to merge 2 commits into from

Conversation

nwjgit
Copy link
Contributor

@nwjgit nwjgit commented Jan 15, 2024

Description:

  • Allows Igne tame to collect "Special items" that are handled by unique code, inaccessible to tames such as:
    • specialLoot under Vladimir Drakan(outfit, Echo, Plushie)
    • effect under dt2 bosses(ring of shadow tablets)
    • effect under Phantom Muspah(Charged ice)
  • Add Phosani Nightmare to tame killable (Slepey tablet & Parasitic egg)
  • Correct an issue preventing users from being able to collect the dt2 tablet cl slot

Changes:

  • SpecialLoot interface to tames.ts to handle the monster, items, and chance
  • Code to handle giving items from SpecialLoot (Currently only allows for 1 of each item). This code will work for any future special/unique code that isn't handled with a loottable
  • Phosani Nightmare to tame killable
  • Special case for Slepey tablet, similar to minion to only allow for 1
  • Added a second check to dt2 tabs to prevent making the cl inaccessible if the user has one in bank (obtained through trading or tame killing)
  • Removed Avernic defender hilt boost from awakened duke/vard due to scythe being a 2h weapon and required to kill.

Other checks:

  • I have tested all my changes thoroughly.

@nwjgit nwjgit added the BSO Bot School Old label Jan 15, 2024
@gc
Copy link
Collaborator

gc commented Jan 30, 2024

Preferably, in the future split things up into several PRs rather than grouping unrelated things together in 1 PR. It makes it much harder to review.

@nwjgit
Copy link
Contributor Author

nwjgit commented Jan 30, 2024

Preferably, in the future split things up into several PRs rather than grouping unrelated things together in 1 PR. It makes it much harder to review.

No problem. How would you like this one split up? I figured since its all tame related I would keep it to 1 PR.

@gc
Copy link
Collaborator

gc commented Feb 2, 2024

The DT2 stuff seemed separate, maybe im wrong.

Comment on lines +173 to +196
monster: [BSOMonsters.VladimirDrakan.id],
specialItems: [
{
item: [
itemID('Vampyre hunter boots'),
itemID('Vampyre hunter legs'),
itemID('Vampyre hunter top'),
itemID('Vampyre hunter cuffs'),
itemID('Vampyre hunter hat'),
itemID('Vampyre hunter hat')
],
chance: [32, 32, 32, 32, 32]
},
{
item: [itemID('Vampyric plushie')],
chance: [250]
},
{
item: [itemID('Echo')],
chance: [1000]
}
]
}
];
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm not sure im a fan of any of how this works. The thing I hate more than anything in code is having several sources of truth like this (e.g. if we change echo droprate, we now need to change it in 2 places and nobody will remember to do that in both).

For vladimir drakans case, you can use the original code just calling specialLoot. Also maybe do a quick check over all the other specialLoots to make sure nothing crazy will happen letting tames get that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

At least for echo I could use the globalDroprates.ts rate. I'll try some more stuff out and see what I can come up with.

Copy link
Collaborator

Choose a reason for hiding this comment

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

You dont need too, just call monster.specialLoot(). Check monsterActivity

@nwjgit
Copy link
Contributor Author

nwjgit commented Feb 2, 2024

The DT2 stuff seemed separate, maybe im wrong.

The dt2 fix is what sort of stemmed the entire PR. The tablets are currently unobtainable because they got removed from oldschooljs and added as an effect under killable monster. So it gives Top Tame cl role a bit of an advantage. I'll split it into different PRs to address the different issues tho.

@nwjgit nwjgit marked this pull request as draft February 8, 2024 03:48
This was referenced Feb 8, 2024
@nwjgit nwjgit closed this Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants