zarillion / handynotes-plugins

A collection of HandyNotes plugins for World of Warcraft.
Other
47 stars 34 forks source link

[Optional]Add skinning reward for rares #405

Open pepedressingroom opened 8 months ago

pepedressingroom commented 8 months ago

Hi developers, I add skinning dailies in this optional request. Please help review and give me some advice, and do you think it necessary to add Skin() reward?

I let Quality-Tier Icon hide with attr not setting tier = true

-- "|A:Professions-ChatIcon-Quality-Tier1:17:15::1|a"
-- "|A:Professions-ChatIcon-Quality-Tier2:17:23::1|a"
-- "|A:Professions-ChatIcon-Quality-Tier3:17:18::1|a"

I get an Issue on displaying options: _L['options_skinningrewards'] displays in the global settings tab, but fail to display under world map dropdown menu.

I sort the skinable rares into 3 tiers by blue leather/scale rewards amount.

  • 1-: Grand Hunt rares
  • 2,3: most Normal rares, One-time rares, and Elusive Creatures
  • 4+: most Rare Elites

Considering all the factors, Grand Hunt, Fishing Hole, and Primal Strom rares are not added.

For those daily rares, I just add ns.reward.Skin() alongside the loot table rewards = {}. But, not all rares are daily.

  • One-time Rare: 6 of this kind worthy of farming due to very short respawn time.
  • 4-days Rare: Rare Elites in the rotation zones of Emerald Dream and Zeralek Cave.
  • Weekly Rare: Rare Elites in Caldera zone of Zeralek Cave.
  • Bug Rare: 2 rares do not have a skinning daily quest.

So, I have to add a ns.node.SkinableRare() as a twin node for one rare.

e.g. map.nodes[77302198] = Rare({id = 187111, quest = 72835, rewards = {}}) -- Ancient Hornswog

map.nodes[77302199] = SkinableRare({label = '{npc:187111}', questDeps = 72835, quest = 74219, rewards = {}}) -- Ancient Hornswog

SkinableRare shares group = ns.groups.ELUSIVE_CREATURE for now.

Is there any better solution for these non daily rares?

Regards.

Ioney commented 2 months ago

i dont know why a new node class is needed. is it only needed for the 2 rares that dont have a daily quest? is there another way to track it or can you skin them multiple times?

why isnt the SkinningRare not inheriting the Rare node Class.

maybe just remove the SkinningRare Class and add a note to the Reward ?

pepedressingroom commented 2 months ago

I agree with you. I will rework on this PR.