Client Game Data
Posted: Thu Jan 07, 2010 8:21 am
For those of you interested, I thought I would give you a list of Game Data that is sent to the UI. This data can be manipulated, added to, taken from, etc. Custom Game Data files can be created for UI purposes. Regardless of what data the server sends, it all goes through the UI. Bear in mind though, all the data that goes through the UI is purely cosmetic. It's completely up to the server owner to decide what data is streamed to the client.
Getting to the point, for those of you wanting to make custom zone names, classes, etc., you can add to this data, and stream the information from your server. How exactly the server does this, I don't know, but LethalEncounter should. Perhaps we can come up with some kind of "filter" which translates, for example, the word "Shadowknight" into the word "Anti-Paladin", or perhaps there's a way to stream "Shadowknight" data to the "Anti-Paladin" object.
So here's the list. This information can be found in the UI folder, eq2ui_gamedata.xml. Note that items in [brackets] are sub-data of sub-data. Also note, that the data objects are set in a parent/child hierarchy.
Achievement: FreeRespecCount, RespecCount, MaxPoints, EventItem, EventNPC, EventQuest, EventExploration, EventCollection, Points, ExperienceCurrent, ExperienceBubble, AvailablePoints, ExperienceConversion
Arena: Side0Members, Side1Members, Side3Members, Side3Members, Side0 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side1 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side2 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side3 [Kills, Deaths, Objectives, Ratio, Visible, Winner]
Actions: Experience, Pet, Player, Coin_0, Coin_1, Coin_2, Coin_3
Coins: Coin_0, Coin_1, Coin_2, Coin_3, BankCoin_0, BankCoin_1, BankCoin_2, BankCoin_3, TradeCoin_0, TradeCoin_1, TradeCoin_2, TradeCoin_3, SharedCoin_0, SharedCoin_1, SharedCoin_2, SharedCoin_3,TradeTheirCoin_0, TradeTheirCoin_1, TradeTheirCoin_2, TradeTheirCoin_3, CommissionWorkPayementCoin_0, CommissionWorkPaymentCoin_1, CommissionWorkPaymentCoin_2, CommissionWorkPaymentCoin_3
Command: Map
Data: ActiveQuestDSC, GuildBank0Events, GuildBank1Events, GuildBank2Events, GuildBank3Events, GuildEvents, GuildEventFilters, GuildPermissions, GuildPersonalityTagDS, GuildPlayStyleDS, GuildRanks
General: EarthTime, EarthDate, Time, DayWeek, Day, Month, Year, Ping, PacketLoss, BytesPerSecond, FramesPerSecond, MOTD, Downloading
SpellInfo: Bank1[Key1(Name, ReuseText, ReuseSec), Key2 ... Key12(Name, ReuseText, ReuseSec)], Bank2 ... Bank10[Key1(Name, ReuseText, ReuseSec) Note the ... is used to indicate the same information repeated over and over and over.
Group: Group_0[Speaking, Window, LFG, InZone, Name, Level, Race, Archetype, Class, Subclass, HealthPercent, PowerPercent, CurrentHealth, CurrentPower, MaxHealth, MaxPower, Effect1, Effect2, Effect3, Effect4, Effect5, PetName, PetHealth, PetPower], Group_1[...], Group_2[...], Group_3[...], Group_4[...], Group_5
Guild: BankName, Bank1Name, Bank2Name, Bank3Name, Bank4Name, Created, EventCount, EventLimit, Experience, ExperienceBubble, ExperienceFull, Level, LevelFull, LockedEventCount, LockedEventLimit, Members, MOTD, Name, Online, Accounts, Patrons, RecruitingLongText, RecruitingShortText, SpendableStatus, GuildHallLocation, FlagLocation
ImpliedTarget: Window, Name, Level, Health, Power,Threat, SecondaryThreat
Items: Inventory, Equipment
Maintained: Spell_1[Window, Icon, Name, Target, Duration, AmountRemaining], Spell_2[...], Spell_3[...], ... Spell_30[...]
Marketplace: WalletBallance
Pet: Window, Name, Health, Power
Quest: ActiveWindow, Active, ActiveName, ActiveNameLevel, ActiveLevel, ActiveDescriptor, ActiveCurrentZone, ActiveTimer, CollectionCompleted, CollectionProgress, Update, UpdateQuestName, UpdateNameLevel, UpdateLevel, UpdateDescriptor, UpdateText, UpdateReason
Raid: Member_0[Speaking, Effect1, Effect2, Effect3, Effect4, Effect5], Member_1[...], ... Member_23[...]
Self: MentorLevel, UnopenedBoosters, IsHated, InPVP, Diety, AccountAge, AchievementPoints, ActualLevel, AFK, Anonymous, Archetype, AutoAttack, TimeSinceAutoAttack, TimeSinceSecondaryAutoAttack, TimeSinceRangedAutoAttack, BindLocation, Breath, BreathMax, Class, CombatExperienceDisabled, QuestExperienceDisabled, CharacterBonusExperienceDisabled, Concentration_1, Concentration_2, Concentration_3, Concentration_4, Concentration_5, CurrentLanguage, DeclineDuelInvites, DeclineGroupInvites, DeclineGuildInvites, DeclineRaidInvites, DeclineLONInvites, DeclineTradeInvites, DeclineVoiceInvites, EffectiveLevel, ExperienceBubble, ExperienceCurrent, ExperiennceDebtCurrent, Gender, GuildHeraldry, GuildJoined, GuildRank, GuildRecruiting, GuildRecruitingClass, GuildRecruitingMessage, GuildPatron, GuildStatus, Heading, Health, HideAchievements, HideCload, HideIllusion, HideHelm, HideHood, HouseLocation, Lastname, Level, LevelClass, LFW, LFG, LFM, Location, Name, Power, PvPImmmunity, Race, RaceGender, RangedAutoAttack, Roleplaying, ShowRanged, SubClass, SpiritProgress, SpiritRank_1, SpiritRank_2, SpiritRank_3, SpiritRank_4, SpiritRank_5, Spirit_1, Spirit_2, Spirit_3, Spirit_4, Spirit_5, TradeskillLevel, TradeskillLevelClass, TradeskillArchetype, TradeskillClass, TradeskillSubClass, TradeskillExperienceBubble, TradeskillExperiennceCurrent, TSExperienceDebtCurrent, TSVitality, TSVitalityLowerMarker, TSVitalityOverflowMarker, TSVitalityUpperMarker, Vitality, VitalityLowerMarker, VitalityOverflowMarker, VitalityUpperMarker, Weight, ZoneNamme, ZoneLocaleName
Spells: Window, Casting, Failure, MaintainedWindow
Stats: DPS, Run_Speed, Haste, Hate_Mod, Defense_Mitigation, Defense_MitigationPercent, Defense_Avoidance, Defense_AvoidanceBase, Defense_AvoidanceBlock, Defense_AvoidanceDeflection, Defense_AvoidanceParry, CurrentStatus, LifetimeStatus, PowerRange, HealthRange, ConcentrationRange, Defense, Strength, Agility, Stamina, Intelligence, Wisdom, Slashing, Crushing, Piercing, Divine, Heat, Cold, Magic, Mental, Disease, Poison, Damage_Reduction_Slashing, Damage_Reduction_Crushing, Damage_Reduction_Piercing, Damage_Reduction_Divine, Damage_Reduction_Heat, Damage_Reduction_Cold, Damage_Reduction_Magic, Damage_Reduction_Mental, Damage_Reduction_Disease, Damage_Reduction_Poison, Damage_Reduction_Percent_Slashing, Damage_Reduction_Percent_Crushing, Damage_Reduction_Percent_Piercing, Damage_Reduction_Percent_Divine, Damage_Reduction_Percent_Heat, Damage_Reduction_Percent_Cold, Damage_Reduction_Percent_Magic, Damage_Reduction_Percent_Mental, Damage_Reduction_Percent_Disease, Damage_Reduction_Percent_Poison, Melee_Crit_Chance, Ranged_Crit_Chance, Heal_Crit_Chance, DmgSpell_Crit_Chance, Heal_Amount_Mod, Spell_Amount_Mod, Melee_Amount_Mod, HP_Regen, Power_Regen, Double_Atk_Percent, Ranged_Atk_Percent, AE_AutoAtk_Percent, Spell_Reuse_Percent, Spell_Cast_Percent, Spell_Recovery_Percent, Accuracy, Flurry, Critical_Mitigation, Shield_Effectiveniess, Deflection_Chance, Primary_Damage_Range, Secondary_Damage_Range, Ranged_Damage_Range, Primary_Delay, Secondary_Delay, Ranged_Delay
Target: ThreatShowWindow, Window, Name, Level, Health, Power, Threat, SecondaryThreat
UIState: ZoneReuse[Filter], Self[SubmitRecruitingImage, RecruitingDetailsButton, RecruitingImagePage, UpdatedRecruitingImage, UpdateRecruitingMessage], Guild[BankPermissionsSelectedRank, Bank1_CanWithdraw, Bank1_ItemLimit_Check, Bank1_ItemLimit, Bank1_CoinLimit_Check, Bank1_CoinLimit, Bank2_ ... Bank4_CoinnLimit, NotifyGuildMembersOnline, MemberFilter, CanChangeSelectedRankName, CanDeleteSelectedGuildEvent, CanDemoteSelectedMember, CanEditMOTD, CanEditRecruitingText, CanLockSelectedGuildEvent, CanPromoteSelectedMember, CanRemoveSelectedMember, CanUnlockSelectedGuildEvent, GuildEventPrivacy, Recruiting_Fighter, Recruiting_Priest, Recruiting_Scout, Recruiting_Mage, Recruiting_Tradeskill, Recruiting_Training, Recruiting_PlayStyle, Recruiting_Tag0, Recruiting_Tag1, Recruiting_Tag2, Recruiting_Tag3, Recruiting_MinLevel
VoiceChat: Info[ParticipantCount, ChannelName, ChannelStatus, TalkingStatus, VisibleTalkIndicator, ColorTalkIndicator], Participants, Sessions
WHEW! That's ALOT of Game Data! I don't even know what half of these are, but it's amazing the amount of stuff that gets sent to the client, isn't it? If you want to discuss further, or have any questions, here we are
Getting to the point, for those of you wanting to make custom zone names, classes, etc., you can add to this data, and stream the information from your server. How exactly the server does this, I don't know, but LethalEncounter should. Perhaps we can come up with some kind of "filter" which translates, for example, the word "Shadowknight" into the word "Anti-Paladin", or perhaps there's a way to stream "Shadowknight" data to the "Anti-Paladin" object.
So here's the list. This information can be found in the UI folder, eq2ui_gamedata.xml. Note that items in [brackets] are sub-data of sub-data. Also note, that the data objects are set in a parent/child hierarchy.
Achievement: FreeRespecCount, RespecCount, MaxPoints, EventItem, EventNPC, EventQuest, EventExploration, EventCollection, Points, ExperienceCurrent, ExperienceBubble, AvailablePoints, ExperienceConversion
Arena: Side0Members, Side1Members, Side3Members, Side3Members, Side0 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side1 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side2 [Kills, Deaths, Objectives, Ratio, Visible, Winner], Side3 [Kills, Deaths, Objectives, Ratio, Visible, Winner]
Actions: Experience, Pet, Player, Coin_0, Coin_1, Coin_2, Coin_3
Coins: Coin_0, Coin_1, Coin_2, Coin_3, BankCoin_0, BankCoin_1, BankCoin_2, BankCoin_3, TradeCoin_0, TradeCoin_1, TradeCoin_2, TradeCoin_3, SharedCoin_0, SharedCoin_1, SharedCoin_2, SharedCoin_3,TradeTheirCoin_0, TradeTheirCoin_1, TradeTheirCoin_2, TradeTheirCoin_3, CommissionWorkPayementCoin_0, CommissionWorkPaymentCoin_1, CommissionWorkPaymentCoin_2, CommissionWorkPaymentCoin_3
Command: Map
Data: ActiveQuestDSC, GuildBank0Events, GuildBank1Events, GuildBank2Events, GuildBank3Events, GuildEvents, GuildEventFilters, GuildPermissions, GuildPersonalityTagDS, GuildPlayStyleDS, GuildRanks
General: EarthTime, EarthDate, Time, DayWeek, Day, Month, Year, Ping, PacketLoss, BytesPerSecond, FramesPerSecond, MOTD, Downloading
SpellInfo: Bank1[Key1(Name, ReuseText, ReuseSec), Key2 ... Key12(Name, ReuseText, ReuseSec)], Bank2 ... Bank10[Key1(Name, ReuseText, ReuseSec) Note the ... is used to indicate the same information repeated over and over and over.
Group: Group_0[Speaking, Window, LFG, InZone, Name, Level, Race, Archetype, Class, Subclass, HealthPercent, PowerPercent, CurrentHealth, CurrentPower, MaxHealth, MaxPower, Effect1, Effect2, Effect3, Effect4, Effect5, PetName, PetHealth, PetPower], Group_1[...], Group_2[...], Group_3[...], Group_4[...], Group_5
Guild: BankName, Bank1Name, Bank2Name, Bank3Name, Bank4Name, Created, EventCount, EventLimit, Experience, ExperienceBubble, ExperienceFull, Level, LevelFull, LockedEventCount, LockedEventLimit, Members, MOTD, Name, Online, Accounts, Patrons, RecruitingLongText, RecruitingShortText, SpendableStatus, GuildHallLocation, FlagLocation
ImpliedTarget: Window, Name, Level, Health, Power,Threat, SecondaryThreat
Items: Inventory, Equipment
Maintained: Spell_1[Window, Icon, Name, Target, Duration, AmountRemaining], Spell_2[...], Spell_3[...], ... Spell_30[...]
Marketplace: WalletBallance
Pet: Window, Name, Health, Power
Quest: ActiveWindow, Active, ActiveName, ActiveNameLevel, ActiveLevel, ActiveDescriptor, ActiveCurrentZone, ActiveTimer, CollectionCompleted, CollectionProgress, Update, UpdateQuestName, UpdateNameLevel, UpdateLevel, UpdateDescriptor, UpdateText, UpdateReason
Raid: Member_0[Speaking, Effect1, Effect2, Effect3, Effect4, Effect5], Member_1[...], ... Member_23[...]
Self: MentorLevel, UnopenedBoosters, IsHated, InPVP, Diety, AccountAge, AchievementPoints, ActualLevel, AFK, Anonymous, Archetype, AutoAttack, TimeSinceAutoAttack, TimeSinceSecondaryAutoAttack, TimeSinceRangedAutoAttack, BindLocation, Breath, BreathMax, Class, CombatExperienceDisabled, QuestExperienceDisabled, CharacterBonusExperienceDisabled, Concentration_1, Concentration_2, Concentration_3, Concentration_4, Concentration_5, CurrentLanguage, DeclineDuelInvites, DeclineGroupInvites, DeclineGuildInvites, DeclineRaidInvites, DeclineLONInvites, DeclineTradeInvites, DeclineVoiceInvites, EffectiveLevel, ExperienceBubble, ExperienceCurrent, ExperiennceDebtCurrent, Gender, GuildHeraldry, GuildJoined, GuildRank, GuildRecruiting, GuildRecruitingClass, GuildRecruitingMessage, GuildPatron, GuildStatus, Heading, Health, HideAchievements, HideCload, HideIllusion, HideHelm, HideHood, HouseLocation, Lastname, Level, LevelClass, LFW, LFG, LFM, Location, Name, Power, PvPImmmunity, Race, RaceGender, RangedAutoAttack, Roleplaying, ShowRanged, SubClass, SpiritProgress, SpiritRank_1, SpiritRank_2, SpiritRank_3, SpiritRank_4, SpiritRank_5, Spirit_1, Spirit_2, Spirit_3, Spirit_4, Spirit_5, TradeskillLevel, TradeskillLevelClass, TradeskillArchetype, TradeskillClass, TradeskillSubClass, TradeskillExperienceBubble, TradeskillExperiennceCurrent, TSExperienceDebtCurrent, TSVitality, TSVitalityLowerMarker, TSVitalityOverflowMarker, TSVitalityUpperMarker, Vitality, VitalityLowerMarker, VitalityOverflowMarker, VitalityUpperMarker, Weight, ZoneNamme, ZoneLocaleName
Spells: Window, Casting, Failure, MaintainedWindow
Stats: DPS, Run_Speed, Haste, Hate_Mod, Defense_Mitigation, Defense_MitigationPercent, Defense_Avoidance, Defense_AvoidanceBase, Defense_AvoidanceBlock, Defense_AvoidanceDeflection, Defense_AvoidanceParry, CurrentStatus, LifetimeStatus, PowerRange, HealthRange, ConcentrationRange, Defense, Strength, Agility, Stamina, Intelligence, Wisdom, Slashing, Crushing, Piercing, Divine, Heat, Cold, Magic, Mental, Disease, Poison, Damage_Reduction_Slashing, Damage_Reduction_Crushing, Damage_Reduction_Piercing, Damage_Reduction_Divine, Damage_Reduction_Heat, Damage_Reduction_Cold, Damage_Reduction_Magic, Damage_Reduction_Mental, Damage_Reduction_Disease, Damage_Reduction_Poison, Damage_Reduction_Percent_Slashing, Damage_Reduction_Percent_Crushing, Damage_Reduction_Percent_Piercing, Damage_Reduction_Percent_Divine, Damage_Reduction_Percent_Heat, Damage_Reduction_Percent_Cold, Damage_Reduction_Percent_Magic, Damage_Reduction_Percent_Mental, Damage_Reduction_Percent_Disease, Damage_Reduction_Percent_Poison, Melee_Crit_Chance, Ranged_Crit_Chance, Heal_Crit_Chance, DmgSpell_Crit_Chance, Heal_Amount_Mod, Spell_Amount_Mod, Melee_Amount_Mod, HP_Regen, Power_Regen, Double_Atk_Percent, Ranged_Atk_Percent, AE_AutoAtk_Percent, Spell_Reuse_Percent, Spell_Cast_Percent, Spell_Recovery_Percent, Accuracy, Flurry, Critical_Mitigation, Shield_Effectiveniess, Deflection_Chance, Primary_Damage_Range, Secondary_Damage_Range, Ranged_Damage_Range, Primary_Delay, Secondary_Delay, Ranged_Delay
Target: ThreatShowWindow, Window, Name, Level, Health, Power, Threat, SecondaryThreat
UIState: ZoneReuse[Filter], Self[SubmitRecruitingImage, RecruitingDetailsButton, RecruitingImagePage, UpdatedRecruitingImage, UpdateRecruitingMessage], Guild[BankPermissionsSelectedRank, Bank1_CanWithdraw, Bank1_ItemLimit_Check, Bank1_ItemLimit, Bank1_CoinLimit_Check, Bank1_CoinLimit, Bank2_ ... Bank4_CoinnLimit, NotifyGuildMembersOnline, MemberFilter, CanChangeSelectedRankName, CanDeleteSelectedGuildEvent, CanDemoteSelectedMember, CanEditMOTD, CanEditRecruitingText, CanLockSelectedGuildEvent, CanPromoteSelectedMember, CanRemoveSelectedMember, CanUnlockSelectedGuildEvent, GuildEventPrivacy, Recruiting_Fighter, Recruiting_Priest, Recruiting_Scout, Recruiting_Mage, Recruiting_Tradeskill, Recruiting_Training, Recruiting_PlayStyle, Recruiting_Tag0, Recruiting_Tag1, Recruiting_Tag2, Recruiting_Tag3, Recruiting_MinLevel
VoiceChat: Info[ParticipantCount, ChannelName, ChannelStatus, TalkingStatus, VisibleTalkIndicator, ColorTalkIndicator], Participants, Sessions
WHEW! That's ALOT of Game Data! I don't even know what half of these are, but it's amazing the amount of stuff that gets sent to the client, isn't it? If you want to discuss further, or have any questions, here we are