Question and request for Maybe
Is there any way you could code it so that in the pet logics we can assign which pet abilities to take into battle? I want to start making some pet logics to hand out to people but if I make a logic for a tier 2 ability and they have tier 1 selected it won't do any good.
maybe can elaborate on what's coming up, but if it helps, I'll take a shot.
Currently, the ability loadout is saved when you create the logic, or save over the current logic.
The new db can hold several logics for each pet, which is a good start.
the problem so far is creating a way to choose which logic to use when the pet is loaded into the slot.
Right now, there can be only one...
And it sort of loads okay. It doesn't choose between stored logic yet.
Analytically, the best way to go is to have PB choose a logic & loadout based on the zone, or the trainer, or the goal/mode intended.
So, you would go into the plugin, choose a mode, and the database would filter out all the pets it could use that had a "puppy logic", and a "Ringer logic", and cache the results.
This would also be useful for pvp pre selection or trainer compositions, so the npc id of a trainer could be read, and a loadout/pets changed as appropriate.
This requires reading a player's individual pets and putting them into cached lists, which is adding a lot more work to the current system.
The database is a good start, but battle pet swapper would need to also grab the zone id, and cache the local pet id's so the ringer/puppy pets list can be cached and scanned based on family type as a new filter type. Eg. Avoiding weak pets as ringer/puppy choices when in one zone, and rescanning the zone before choosing new pets.
This part is a challenge, because it requires tagging each logic for a mode it should be used for. And showing all the logic and loadouts is a design/interface challenge too. And saving/loading a list of pets to use. Creating a zone id of pets by level and family, updating the entire database every time there's a PB or pet update, etc.
The other, much larger challenge is creating 5 to 8 logics per pet, for 550+ pets. And a way to push updates to everyone and keep custom logic you might want.
Well, it's more like 400 x 6, it's still fearsome work to cover all the various logic types. The list could be compressed with some ability analysis, ie level 1/2/4 abilities with cooldowns for puppy logic, a zone database with wild pet types fed into it, and so on. But It's a huge amount of time & work for not much in performance.
Really requires a collaborative project to manage pet collection logic sharing, due to the rapid changes and voting or choosing between logics for each pet can make it difficult to get a solid 4566+ logic database. Give or take.
And the whole thing will change when 6.0 and WOD comes along as well, depending how pet breeding works, or if it's a grind/mini game. Etc.
Most of the mode changes will also affect loadout choices, if PB is slot swapping the lowbie pet, etc. and it all requires a considerable logic review . In most cases, it would also change pets when PvP queued, change pets if boosting/power levelling, and change pets for the trainers, or farming fable pets, or just searching for rare/elusive pets as it does now.
(though the bot is currently incapable of handling most all of the 60 trainers, and celestial /fable pets just due to the setup each trainer after level 20 needs... Eg. pet training logic, means choosing the precise pets that people will /won't have, using response logic to certain abilities, and having the bot do nothing for 6 to 7 minutes waiting for bandages/repairs) or swapping a main team for a backup team, or a custom built team (or seven) to defeat the celestial /fable pets.
To put the workload into perspective, it would be easier to build a Botbase that tracks down and captures rare Hunter pets, then swaps stable slots so you can collect multiple rare pets. And swaps zones to do so.
It would be easier to build an arena Botbase that learns strategy and tactics, line of sight movement, how to verbally taunt, respond to abuse, and act dumb, jump from a ledge, snowfall and fire from the air, then cancel within 29 ft, to run behind a column between shots, etc.
It would be easier to implement RNG into the battleground bots, so they choose between tactics in a battleground that don't involve standing in a pile up, and can process stacking commands eg grab flag. Move to a friendly, or a speed token if it's up, look to find a gap between the enemy and friendly mobs, use boosts past enemy targets to avoid range, double back if surrounded, etc. Things that advanced agent AI can do.
What PB does now, works. If I had to choose something to redo, it would be working zone integration with battle pet swapper and battle pet collector, And resurrect bpc.
The rest, can wait until WoD.