- Joined
- Dec 12, 2007
- Messages
- 3,956
- Reaction score
- 49
- Points
- 38
I am posting this to spitball ideas with Xeniaz, it is easier than IRC. Most of you can ignore unless you know how to make plugins/macros and can see wtf is going on here!
Battle Management System
TLO: AddHandler
Notes: All AddHandler is centralized and needs pushed/pulled as it changes and only when it changes. Only the Assist.Primary should be able to designate the AddHandler.KillTarget if alive, else Assist.Secondary can, else Group.MainAssist, else finally own personal target.
Prioritization should be centrally controlled based on Immunities, Named, Level and .PctHP in a simple formula. Level + ${If[${Named},10,0]} - ${If[${Target.Master is npc (aka a pet)},25,0]} + ${If[MezImmune,10,0]} + ${If[SlowImmune,5,0]} + ${If[SnareImmune[5,0]} or something similar
List based in INI entry by zone:
TLO: Assist
Notes: All Assist info is decentralized to local player
TLO: Info
Notes: All info is centralized and pushed/pulled as it changes. Think of this in the same way as the raid tool in game. You see all the people in group format. And now you want to know their relevant information.
Debuff related, player would use Mq2Debuffs to push this info:
TLO: Spells
Individual sections for 1-20 up to .NameTotal
Battle Management System
TLO: AddHandler
Notes: All AddHandler is centralized and needs pushed/pulled as it changes and only when it changes. Only the Assist.Primary should be able to designate the AddHandler.KillTarget if alive, else Assist.Secondary can, else Group.MainAssist, else finally own personal target.
Prioritization should be centrally controlled based on Immunities, Named, Level and .PctHP in a simple formula. Level + ${If[${Named},10,0]} - ${If[${Target.Master is npc (aka a pet)},25,0]} + ${If[MezImmune,10,0]} + ${If[SlowImmune,5,0]} + ${If[SnareImmune[5,0]} or something similar
Code:
Member Return
.KillTarget (ID, can Spawn lookup the rest)
.Add[1-100] (ID, can Spawn lookup the rest)
.Mezzed[ID] Timer
.Snared[ID] Timer
.Slowed[ID] Timer
.Priority[1-100] (ID, can Spawn lookup the rest)
.Tashed[ID] Timer
.Malod[ID] Timer
Code:
.IgnoreList[ID] Bool - Used by looking up String[array] of names of mobs to ignore for current zone
.SnareImmune Bool - Used by looking up String[array] of names of snare immune mobs for current zone
.SlowImmune Bool - Used by looking up String[array] of names of slow immune mobs for current zone
.MezImmune Bool - Used by looking up String[array] of names of mez immune mobs for current zone
Notes: All Assist info is decentralized to local player
Code:
Member Return
.Primary String - Main Assist Clean Name
.Secondary string - Second Assist Clean Name
.Pct Int - Assist at %
.Conditions String - Holyshit/downshit
.Distance Int - distance to actually target assist mob
.Melee Bool - TRUE/FALSE use melee?
.Archery Bool -TRUE/FALSE use archery?
.AttackCommand String - /attack on or /killthis if .Melee is TRUE
.OpeningMove String - Very first action to take when engaging a mob
.PetTank Bool - Is pet tanking? If so, send immediately upon meeting conditions
.Announce Bool - Announce engagement of target?
.AnnounceCommand String - Announce string
.AnnounceChannel String - Channel to announce
Notes: All info is centralized and pushed/pulled as it changes. Think of this in the same way as the raid tool in game. You see all the people in group format. And now you want to know their relevant information.
Code:
Member Return
.Groups Int - Total groups
.Members Int - Total members in total groups
.Group[1-10].Member[0-5].CombatState Array - Me.CombatState - ACTIVE, RESTING, COMBAT, UNKNOWN
.Group[1-10].Member[0-5].Target Int - (ID)
.Group[1-10].Member[0-5].TargetOfTarget Int - (ID)
.Group[1-10].Member[0-5].CastingID Int - (ID)
.Group[1-10].Member[0-5].ID Int - (ID)
.Group[1-10].Member[0-5].PctHPs Int
.Group[1-10].Member[0-5].PctMana Int
.Group[1-10].Member[0-5].PctEndurance Int
Code:
.Group[1-10].Member[0-5].Poison Int - Poison Counters
.Group[1-10].Member[0-5].Disease Int - Disease Counters
.Group[1-10].Member[0-5].Corruption Int - Corruption Counters
.Group[1-10].Member[0-5].Curse Int - Curse Counters
.Group[1-10].Member[0-5].Slowed Bool - Slowed?
.Group[1-10].Member[0-5].Debuffs Int - Debuffs
Code:
Member Return
.DefaultGem String - Gem to use if not memmed
.DotTotal Int - Total Dots
.NukeTotal Int - Total Nukes
.StunTotal Int - Total Stuns
.DebuffTotal Int - Total Debuffs
.MezTotal Int - TOtal Mezzes
.SnareTotal Int - Total Snares
.RootTotal Int - Total Roots
.HealTotal Int - Total heals
.BuffTotal Int - Total buffs (non combat)
.SelfBuffTotal Int - Total SelfBuffs (non -combat)
.FightBuffTotal Int - Total Fight Buffs (combat only)
.CureTotal Int - Total Cures
Code:
.Dot[1-20].Name String - Name of spell
.Dot[1-20].Recast Timer - Recast in seconds
.Dot[1-20].Conditions String - holyshit/downshit to use