Pet Focus Finalization
I tested my pet focus code last night and am almost ready to submit it for review, but had a few questions that could require some code to be rewritten. I wanted to make sure I was capable of doing what I was trying before finalizing with those who commit the code.
First is the location of the additional equipment items. I currently added an array of ints in the same manner as the equipment[MAX_MATERIALS], which I named equipped_items[MAX_EQUIPMENT_SLOTS] WHERE MAX_EQUIPMENT_SLOTS = 22 (0-21 for the equipment slots). When loading items, the itemID is saved both in equipment and equipped_items as I believe the equipment array is used for textures and visible items, and to prevent having to rewrite checking within equipped_items for the textures, I just handle equipped_items alongside equipment, but use equipped_items for bonuses, stat calcs, focus effects, etc.
While I could have just added this to pets, and left npcs as is, I figured if I could get it to work for npcs as well, it could add quite a few possibilities for custom content, as well as any instances where an npc should have an item equipped that isn't one of the 9 visible slots ( I can't remember if npcs on live could equip earrings, cloak, etc. for example). I could however, just add the additional equipment slots to pets with a small rewrite, but since it works for npcs as well, I figured I would try that first.
This leads me to my next issue. With the suspend minion patch, the suspended minion's equipment is stored in the player profile. It keeps the 9 visible slots, but to be able to store these additional slots, the portion of the player profile set aside for the suspended pet would need to be adjusted to allow for 13 more int32s. (This would be for a full 22 slot inventory, whereas I know pets can equip at least 15 items (head, face, neck, shoulder, arms, back, wrist1, wrist2, hands, ring1, ring2, chest, legs, feet, waist)).
I know KLS was wanting to work on npc inventory after the spell updates, and I know even if my code will be submitted, it will be rewritten (most likely to allow bots and pets to use new npc inventory code since they are derived from npcs), I still wanted to submit my code when it is finished so it could be utilized in the meantime. Pet owners will be happy..
I believe I also need to fix only one line of code for it to work with Bots, but I will have to get with Wildcard about it to proceed on that. (I'm trying to access the Bot's BotPetfocusPower which is in the BotfocusType enum, which says it is a public member of Bot, but gives me the error that I can't access a protected type BotfocusPetPower).
If I can get the okay on keeping the items in npc, and about the pet structure in the player profile, I can get this submitted this weekend. If it's requested, I can just submit a fix for the code that changes the pet's stats, but the most powerful changes with regards to pet focii is that they come preequipped will really nice gear. Thanks.
|