[Quest API] Simplify bulk Scribe and Train logic. (#1660)

* [Quest API] Simplify bulk Scribe and Train logic.
- Add $client->GetFreeDisciplineSlot(starting_slot) to Perl.
- Add $client->ScribeSpells(min_level, max_level) to Perl.
- Add $client->LearnDisciplines(min_level, max_level) to Perl.
- Add client:GetNextAvailableDisciplineSlot(starting_slot) to Lua.
- Add client:ScribeSpells(min_level, max_level) to Lua.
- Add client:LearnDisciplines(min_level, max_level) to Lua.
Convert quest::scribespells() and quest::traindisc() to use new ScribeSpells and LearnDisciplines methods for consistency.

* Update command.cpp
This commit is contained in:
Kinglykrab
2021-11-03 18:31:13 -04:00
committed by GitHub
parent 17aaab1f9d
commit 9d515b20f2
8 changed files with 286 additions and 230 deletions
+4
View File
@@ -176,11 +176,13 @@ public:
luabind::object GetScribeableSpells(lua_State* L, uint8 min_level, uint8 max_level);
void ScribeSpell(int spell_id, int slot);
void ScribeSpell(int spell_id, int slot, bool update_client);
uint16 ScribeSpells(uint8 min_level, uint8 max_level);
void UnscribeSpell(int slot);
void UnscribeSpell(int slot, bool update_client);
void UnscribeSpellAll();
void UnscribeSpellAll(bool update_client);
void TrainDisc(int itemid);
uint16 LearnDisciplines(uint8 min_level, uint8 max_level);
void TrainDiscBySpellID(int32 spell_id);
int GetDiscSlotBySpellID(int32 spell_id);
void UntrainDisc(int slot);
@@ -300,6 +302,8 @@ public:
void ClearCompassMark();
int GetNextAvailableSpellBookSlot();
int GetNextAvailableSpellBookSlot(int start);
int GetNextAvailableDisciplineSlot();
int GetNextAvailableDisciplineSlot(int starting_slot);
uint32 GetSpellIDByBookSlot(int book_slot);
int FindSpellBookSlotBySpellID(int spell_id);
void UpdateTaskActivity(int task, int activity, int count);