Aller au contenu
Afficher dans l'application

Une meilleure façon de naviguer. En savoir plus.

Asterobot

Une application plein écran sur votre écran d'accueil avec notifications push, badges et plus encore.

Pour installer cette application sur iOS et iPadOS
  1. Appuyez sur Icône de partage dans Safari
  2. Faites défiler le menu et appuyez sur Ajouter à l'écran d'accueil.
  3. Appuyez sur Ajouter dans le coin supérieur droit.
Pour installer cette application sur Android
  1. Appuyez sur le menu à trois points (⋮) dans le coin supérieur droit du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application.
  3. Confirmez en appuyant sur Installer.

Protocole Dofus

Le protocole Dofus actuellement pris en charge par Asterobot
Your chat line was refused; the error says why.
Kind event · Area Game.Chat
The server refused a chat line you sent, instead of echoing it.
WHAT TO DO WHEN YOU RECEIVE IT
1. Read ChatErrorEvent.error (ChatErrorEvent.Error): for example ChatErrorEvent.Error.RECEIVER_NOT_FOUND when the player you whispered to is not found. 2. Do not resend the line unchanged: the same error comes back. 3. SEND NOTHING BACK.
The official client prints the localized text ui.chat.error.<value> in the chat. Values 5 and 9, and any value the client does not know (0, 11), print the generic ui.chat.error.0 instead.
When you may send it
Requires context_ready inferred Related messages
Arrives after ChatChannelMessageRequest Arrives after ChatPrivateMessageRequest Fields
#FieldTypeMeaningYou set it 1errorChatErrorEvent.ErrorWhy the line was refused.
A ChatErrorEvent.Error.never
  • summary: Your chat line was refused; the error says why.
  • area: Game.Chat
  • 16 vues
Outcome of a craft or smithing attempt.
Kind enum · Area Game.Exchange
Carried by ExchangeCraftResultEvent.result. The values keep their obfuscated names. On 3.7.11.11 the client treats them as:
- 0: impossible (invalid recipe, job level too low, nothing to make); - 2: success; - 4: forbidden (for example a legendary item); - 1 and 3: the other outcomes (beta: failed, neutral). In smithing, 1 and 2 change the item, 3 leaves it as it was.
Not sent on its own — an enum carried by ExchangeCraftResultEvent, never sent on its own. inferred
Used by
ExchangeCraftResultEvent No fields you may set.
  • summary: Outcome of a craft or smithing attempt.
  • area: Game.Exchange
  • 18 vues
Today's date in the game calendar, printed in chat.
Kind event · Area Game.Basic
The game-calendar date (Dofus months and years, not the real-world date).
TO SHOW IT
1. Look DateEvent.month up in the Months game data. It is 0-based: the client's own calendar code asks for month - 1 of a real date. 2. Print day, month name and year in that order: the client fills the ui.time.dateLetters text with DateEvent.day, the month name and DateEvent.year.
When you may send it
Requires character_loaded inferred Related messages
Unsolicited - nothing you send causes this no client code sends DateRequest; the server pushes the date Fields
#FieldTypeMeaningYou set it 1monthint32Month of the game calendar, 0-based. (month id)
An id of the Months game data; the client prints that month's name.never 2dayint32Day of the month.
The first value of the ui.time.dateLetters text, the slot the client's calendar fills with DateTime.Day.never 3yearint32Year of the game calendar.
The last value of the ui.time.dateLetters text, the slot the client's calendar fills with the year.never
  • summary: Today's date in the game calendar, printed in chat.
  • area: Game.Basic
  • 15 vues
A character on your map started an action that takes time, such as using an item.
Kind event · Area Game.Roleplay
A character started an action that lasts until a given time. The official client shows a tooltip above them for DelayedActionType.OBJECT_USE (using an item), with the item.
WHAT TO DO WHEN YOU RECEIVE IT
1. DelayedActionEvent.character_id is the character acting; DelayedActionEvent.delayed_action_type says what they do. 2. For OBJECT_USE, DelayedActionEvent.object_gid is the item used (an item template id) and DelayedActionEvent.delayed_end_time is when it ends, in epoch milliseconds. Other types are ignored by the official client. 3. Wait for DelayedActionFinishedEvent for that character; it may arrive at once. 4. SEND NOTHING BACK.
When you may send it
Requires roleplay_context inferred Related messages
You will then receive DelayedActionFinishedEvent observed — when the action ends; in the same instant in the capture, whose end time was already reached; 1 observation Unsolicited - nothing you send causes this a character on the map started a delayed action Fields
#FieldTypeMeaningYou set it 1character_idint64The character performing the action.
An actor id of the current map.never 2object_gidint32The item used, for OBJECT_USE.
Explicit presence: absent is not the same as zero.
An item template id; optional, absent for other types.never 3delayed_end_timeint64When the action ends.
Epoch milliseconds; the client shows the time left.never 4delayed_action_typeDelayedActionTypeWhat kind of action.
A DelayedActionType.never
  • summary: A character on your map started an action that takes time, such as using an item.
  • area: Game.Roleplay
  • 17 vues
A character's delayed action is over: remove its display.
Kind event · Area Game.Roleplay
A character's delayed action ended.
WHAT TO DO WHEN YOU RECEIVE IT
1. Drop what you track for DelayedActionFinishedEvent.character_id's delayed action (the official client removes the tooltip it keyed by that character id). 2. SEND NOTHING BACK.
DelayedActionFinishedEvent.delayed_action_type repeats the type; the client does not read it. The declared int32 list is never read either.
When you may send it
Requires roleplay_context inferred Related messages
Arrives after DelayedActionEvent Fields
#FieldTypeMeaningYou set it 1character_idint64The character whose action ended.
The DelayedActionEvent.character_id it closes.never 2delayed_action_typeDelayedActionTypeWhat kind of action ended.
A DelayedActionType; not read by the client.never
  • summary: A character's delayed action is over: remove its display.
  • area: Game.Roleplay
  • 16 vues
What kind of delayed action a character is performing.
Kind enum · Area Game.Roleplay
The kind of delayed action. Only DelayedActionType.OBJECT_USE is named: it is the only value the official client acts on. The three other values (beta: DISCONNECT, JOIN_CHARACTER, AGGRESSION_IMMUNE) are ignored by the client, so nothing proves which is which.
Not sent on its own — an enum carried by DelayedActionEvent.delayed_action_type and DelayedActionFinishedEvent.delayed_action_type, never sent on its own. inferred
Used by
DelayedActionEvent DelayedActionFinishedEvent ObjectUseOption Values
ValueNumberMeaning OBJECT_USE1The character is using an item; the event carries the item.
  • summary: What kind of delayed action a character is performing.
  • area: Game.Roleplay
  • 18 vues
You learned one emote: add it to the emotes you know.
Kind event · Area Game.Emote
One emote was added to the emotes you know. EmotesEvent gave the whole list at load; this message and EmoteRemovedEvent are the changes after it.
WHAT TO DO WHEN YOU RECEIVE IT
1. Add EmoteAddedEvent.emote_id to your set of known emotes. If it is already there, do nothing more: the official client ignores a duplicate. 2. From now on you may send EmotePlayRequest with that id. 3. SEND NOTHING BACK.
The official client also looks the emote up in its game data (an unknown id is ignored), files an emote that carries an aura as an inventory item, re-enables shortcut-bar slots holding that emote, and, once the initial EmotesEvent has arrived, prints the localized line ui.common.emoteAdded with the emote's name.
When you may send it
Requires character_loaded inferred Related messages
Unsolicited - nothing you send causes this the server sends it when the character gains an emote (an item, a quest reward, a shop purchase); nothing requests it Fields
#FieldTypeMeaningYou set it 1emote_idint32The emote learned. (emote id)
An id of the emoticons game data, the ids EmotesEvent lists and EmotePlayRequest sends.never
  • summary: You learned one emote: add it to the emotes you know.
  • area: Game.Emote
  • 16 vues
Several actors of your map play the same emote at once.
Kind event · Area Game.Emote
The many-actors form of EmotePlayEvent: one emote, one animation, for a list of actors.
WHAT TO DO WHEN YOU RECEIVE IT
1. For each id in EmoteMassivePlayEvent.actors_id, find that actor on the map; skip ids you do not show. 2. If EmoteMassivePlayEvent.emote_id is 0, the actors stop their emote: return them to their normal animation. 3. Otherwise play EmoteMassivePlayEvent.animation on each of them. The emote id gives the emote's data (whether it is drawn in eight directions, allowed on a mount). 4. SEND NOTHING BACK.
When you may send it
Requires context_ready inferred Related messages
Unsolicited - nothing you send causes this a group emote broadcast by the server; nothing requests it Fields
#FieldTypeMeaningYou set it 1animationstringName of the animation to play on every actor.
Name invented from the client parameter it fills (SetAnimationAction's animation), as on EmotePlayEvent.animation; no reference build names this member.never 2emote_idint32The emote played; 0 means the actors stop their emote. (emote id)never 3actors_idrepeated int64The map actors playing it. (actor id)never
  • summary: Several actors of your map play the same emote at once.
  • area: Game.Emote
  • 16 vues
The emote a character is playing right now.
Kind struct · Area Game.Common
1. EmoteOption.emote_id: the emote (emoticon id of the game data) to play on the actor. 2. Ignore the other int32: the client never reads it (beta's second member was a start time string).
Not sent on its own — a record carried by HumanOption.emote_option, never sent on its own. proven
Used by
HumanOption Fields
#FieldTypeMeaningYou set it 2emote_idint32The emote being played, as an emoticon id of the game data.
Observed: 22never
  • summary: The emote a character is playing right now.
  • area: Game.Common
  • 18 vues
The server refused to play your emote.
Kind event · Area Game.Emote
The answer to an EmotePlayRequest the server will not play: an emote you do not know, or one you cannot play now. No EmotePlayEvent follows.
WHAT TO DO WHEN YOU RECEIVE IT
1. Treat your last EmotePlayRequest as refused. Do not resend it as is. 2. If you play emotes from a cached list, check it against EmotesEvent, EmoteAddedEvent and EmoteRemovedEvent. 3. SEND NOTHING BACK.
The message names no reason the official client uses: it reads none of its members and only prints the localized line ui.common.cantUseEmote. The members it declares (two int32 and a decoy record; beta carried the emote id) are never read. Ignore them.
When you may send it
Requires context_ready inferred Related messages
Arrives after EmotePlayRequest No fields you may set.
  • summary: The server refused to play your emote.
  • area: Game.Emote
  • 16 vues
You lost one emote: remove it from the emotes you know.
Kind event · Area Game.Emote
One emote was taken away from the emotes you know: the counterpart of EmoteAddedEvent.
WHAT TO DO WHEN YOU RECEIVE IT
1. Remove EmoteRemovedEvent.emote_id from your set of known emotes. 2. Stop sending EmotePlayRequest with that id: the server refuses it (EmotePlayErrorEvent). 3. SEND NOTHING BACK.
The official client also removes the emote's aura item from the inventory when the emote carries an aura, disables shortcut-bar slots holding that emote, and prints the localized line ui.common.emoteRemoved with the emote's name.
When you may send it
Requires character_loaded inferred Related messages
Unsolicited - nothing you send causes this the server sends it when the character loses an emote (an expired or removed one); nothing requests it Fields
#FieldTypeMeaningYou set it 1emote_idint32The emote lost. (emote id)
An id of the emoticons game data, as listed by EmotesEvent.never
  • summary: You lost one emote: remove it from the emotes you know.
  • area: Game.Emote
  • 15 vues
The server's answer to ExchangeCraftCountRequest: the craft count now in force.
Kind event · Area Game.Exchange
The craft count the server will use, in answer to ExchangeCraftCountRequest.
WHAT TO DO WHEN YOU RECEIVE IT
1. Replace the count you track with ExchangeCraftCountModifiedEvent.count: it is the value in force, which may differ from what you asked. The official client writes it back into the craft window's quantity box. 2. Craft with ExchangeReadyRequest when you are ready. 3. SEND NOTHING BACK.
When you may send it
Requires exchange_open inferred Related messages
Arrives after ExchangeCraftCountRequest Fields
#FieldTypeMeaningYou set it 1countint32The craft count in force: how many times the recipe will be crafted.
The value the server accepted for ExchangeCraftCountRequest.count.never
  • summary: The server's answer to ExchangeCraftCountRequest: the craft count now in force.
  • area: Game.Exchange
  • 14 vues
How many times to craft the current recipe in an open workshop (-1: until the resources run out).
Kind request · Area Game.Exchange
Set how many times the recipe in the workshop is crafted when you press craft (ExchangeReadyRequest).
HOW TO SEND IT
1. Put the recipe in first (ExchangeSetCraftRecipeRequest). 2. Set ExchangeCraftCountRequest.count: - N >= 1: craft N times. The craft window never sends less than 1 nor more than the number of crafts your ingredients allow (it clamps the value to [1, max craftable] before sending); - -1: repeat until the resources run out. The smithmagic window's Merge all sends this. 3. Leave the other declared member (an enum) at 0: the client never writes it. 4. The server confirms the count; then send ExchangeReadyRequest to craft. A repeated craft ends with ExchangeItemAutoCraftStoppedEvent.
When you may send it
Requires exchange_open inferred Raised by: a user action: changing the craft quantity in the craft window (CraftUi.ChangeCraftQuantity: the +/- buttons, ctrl/shift for bigger steps, or typing in the quantity box), or Merge all in the smithmagic window (SmithMagicUi.ClickOnMergeAll) proven Related messages
You will then receive ExchangeCraftCountModifiedEvent observed — about 30ms later with the count in force (100 after a Max click); 1 observation Fields
#FieldTypeMeaningYou set it 2countint32How many times to craft; -1 to repeat until the resources run out.
The craft window sends 1 .. max craftable (clamped).
SmithMagicUi's Merge all sends -1.always
  • summary: How many times to craft the current recipe in an open workshop (-1: until the resources run out).
  • area: Game.Exchange
  • 16 vues
The crafter's job gained a level during the craft. The client ignores it.
Kind event · Area Game.Exchange
Sent when crafting levels up the crafter's job. The current client has no handler for it: you may ignore it.
Its members are not named: two int32 (beta has one, crafter_job_level) and a decoy record. The client reads none of them, so nothing proves which int32 is the level.
When you may send it
Requires exchange_open inferred Related messages
Unsolicited - nothing you send causes this a craft made the crafter's job gain a level No fields you may set.
  • summary: The crafter's job gained a level during the craft. The client ignores it.
  • area: Game.Exchange
  • 14 vues
A repeated craft (count above 1, or -1) stopped; the reason says why.
Kind event · Area Game.Exchange
A repeated craft stopped.
WHAT TO DO WHEN YOU RECEIVE IT
1. Stop expecting craft results for this run; read ExchangeItemAutoCraftStoppedEvent.reason (ExchangeItemAutoCraftStoppedEvent.ExchangeReplayStopReason). Its values are not named (beta: OK, USER, MISSING_RESSOURCE, IMPOSSIBLE_MODIFICATION). 2. You may set a new count (ExchangeCraftCountRequest) and craft again. 3. SEND NOTHING BACK.
When you may send it
Requires exchange_open inferred Related messages
Unsolicited - nothing you send causes this the server stops a repeated craft Fields
#FieldTypeMeaningYou set it 1reasonExchangeReplayStopReasonWhy the repeated craft stopped.
A ExchangeItemAutoCraftStoppedEvent.ExchangeReplayStopReason; values not named.never
  • summary: A repeated craft (count above 1, or -1) stopped; the reason says why.
  • area: Game.Exchange
  • 15 vues
Changes the price of one of your lots already on sale in the auction house.
Kind request · Area Game.Exchange
HOW TO CHANGE THE PRICE OF A LOT ON SALE
1. Open the auction house in sell mode (ExchangeBidSellerStartedEvent). The lots you already have on sale are listed there. 2. Send this request for the lot to change: - object_uid = the uid of the lot ON SALE (the uid the house lists for your sale), not an inventory stack; - quantity = that lot's size (1, 10, 100...), unchanged; - price = the NEW price of the whole lot, in kamas. 3. To reprice several lots, send one request per lot: the official client's bulk change does exactly that, skipping the lots whose price does not change.
Selling a NEW lot is ExchangeObjectMovePricedRequest, not this request: the two share the same three members and only the window action tells them apart.
When you may send it
Requires context_ready inferred Raised by: the player confirms a new price in the auction-house sell window: the modify popup of one sale (AuctionHouseSell.OnConfirmModifyObject) or the bulk price change of several sales (AuctionHouseSell.OnConfirmModifyMultipleItems, one request per sale) proven Related messages
Reply not yet recovered: the server's confirmation was not in the capture (only the request was), so which auction-house event carries the new price is not recorded here yet. Fields
#FieldTypeMeaningYou set it 1quantityint32The lot's size (1, 10, 100...), as it is on sale.
Observed: 1required 2object_uidint32The lot on sale to reprice: its uid in the auction house.
Observed: 769056required 3priceint64The new asking price of the whole lot, in kamas. (kamas)
Observed: 2150required
  • summary: Changes the price of one of your lots already on sale in the auction house.
  • area: Game.Exchange
  • 16 vues
Put an item into (positive quantity) or take it out of (negative) the co-op smithmagic slot.
Kind request · Area Game.Exchange
Put an item into, or take it out of, the co-op smithmagic window.
HOW TO SEND IT
1. Set ExchangeObjectUseInWorkshopRequest.object_uid to the item's id. 2. Set ExchangeObjectUseInWorkshopRequest.quantity: positive to put that many in, negative to take that many back (the client sends minus the stack size to empty the slot). 3. Leave the declared record and enum at their defaults: the client never writes them.
In the solo smithmagic window the same action becomes an object move instead (the exchange's object move request).
When you may send it
Requires exchange_open inferred Raised by: a user action in the co-op smithmagic window: filling a slot with an item (SmithMagicCoopUi.DoFillSlot) or emptying it (SmithMagicCoopUi.UnFillSlot) proven Related messages
Nothing answers it - send it and move on the exchange's object events report the change, as for any item moved in the exchange Fields
#FieldTypeMeaningYou set it 1object_uidint32The item to put in or take out.
An item uid from your inventory.always 2quantityint32How many: positive to put in, negative to take back.
The client sends minus the stack size to empty the slot.always
  • summary: Put an item into (positive quantity) or take it out of (negative) the co-op smithmagic slot.
  • area: Game.Exchange
  • 16 vues
Why a repeated craft stopped.
Kind enum · Area Game.Exchange
Carried by ExchangeItemAutoCraftStoppedEvent.reason. Four values, none named: the client does not branch on them (beta: OK, USER, MISSING_RESSOURCE, IMPOSSIBLE_MODIFICATION).
Not sent on its own — an enum carried by ExchangeItemAutoCraftStoppedEvent.reason, never sent on its own. inferred
Used by
ExchangeItemAutoCraftStoppedEvent No fields you may set.
  • summary: Why a repeated craft stopped.
  • area: Game.Exchange
  • 14 vues
A player's experience in a fight result: the total, the level's bounds and what the fight earned.
Kind struct · Area Game.Fight
The experience gauge of a character at the end of the fight.
HOW TO READ IT
1. ExperienceData.experience is the character's total experience AFTER the fight. 2. The current level spans ExperienceData.experience_level_floor (the gauge's low end) to ExperienceData.experience_next_level_floor (its high end). 3. ExperienceData.experience_fight_delta is the experience this fight earned. The total before the fight is experience - experience_fight_delta (the client animates the gauge from max(floor, that value) to experience). 4. Print the gain only when ExperienceData.show_experience_fight_delta is true; the client prints "+ N" then, and "0" otherwise.
Unnamed members: one int32 the client copies and never reads, and three bools (one copied into a flag bit nothing tests, two never read). Ignore them.
Not sent on its own — it is only ever FightResultAdditionalData.experience_data. proven
Used by
FightResultAdditionalData Fields
#FieldTypeMeaningYou set it 3experienceint64The character's total experience after the fight.never 4experience_level_floorint64The experience at which the character's current level starts.
The low end of the result screen's XP gauge.never 6experience_next_level_floorint64The experience at which the next level starts.
The high end of the result screen's XP gauge.never 8experience_fight_deltaint64The experience this fight earned.
Shown as the XP gain; experience - delta is the total before the fight.never 9show_experience_fight_deltaboolWhether to show the experience this fight earned.
When false the client prints "0" instead of the gain.never
  • summary: A player's experience in a fight result: the total, the level's bounds and what the fight earned.
  • area: Game.Fight
  • 16 vues
The loot one defeated monster dropped for a fighter: items and alterations.
Kind struct · Area Game.Fight
The loot of one source, usually one defeated monster.
HOW TO READ IT
1. FightLoot.monster_id is the monster that dropped it (0: no monster). Look it up in the monster game data; an item that is in that monster's drop table with a condition is a conditional drop. 2. FightLoot.objects are the items won (Loot: item id and quantity). 3. FightLoot.alterations are the alterations won (Loot: the id is an alteration id; the quantity is not used).
The fourth member, a list of job experience records, is never read by the client: ignore it.
Not sent on its own — it is only ever an element of FightReward.loots. proven
Used by
FightReward Fields
#FieldTypeMeaningYou set it 1alterationsrepeated LootThe alterations won from this source.
Name ours. Elements are Loot whose id is an alteration id.never 3objectsrepeated LootThe items won from this source.
Named after beta's FightLoot.objects, the item list.
Elements are Loot: item id and quantity.never 4monster_idint32The monster that dropped this loot; 0 for none.
Name ours. Looked up with MonstersDataRoot.GetMonsterById.never
  • summary: The loot one defeated monster dropped for a fighter: items and alterations.
  • area: Game.Fight
  • 15 vues
How the fight ended for a fighter or a team: lost, won, and so on.
Kind enum · Area Game.Fight
How a fight ended for one fighter or one team.
Two values are named: RESULT_LOST and RESULT_VICTORY. Treat every other value as "not a victory" - the client does: its result screen files every line that is not RESULT_VICTORY with the losers. Beta also declares RESULT_DRAW, RESULT_TAX and RESULT_DEFENDER_GROUP; no client code tells them apart, so they keep their obfuscated names.
Not sent on its own — an enum carried by FightResultListEntry.outcome and NamedPartyTeamWithOutcome.outcome. proven
Used by
FightResultListEntry NamedPartyTeamWithOutcome Values
ValueNumberMeaning RESULT_LOST0The fighter or team lost.
The client files the team's name as the losers. RESULT_VICTORY2The fighter or team won.
The client files the team's name as the winners.
  • summary: How the fight ended for a fighter or a team: lost, won, and so on.
  • area: Game.Fight
  • 16 vues
The experience or the arena data of a player's fight result line.
Kind struct · Area Game.Fight
One element of PlayerListEntry.additional. Exactly one member of FightResultAdditionalData.additional_data is set:
- FightResultAdditionalData.experience_data: the experience gauge of the character (ExperienceData); - FightResultAdditionalData.pvp_data: its arena league (PvpData).
Not sent on its own — it is only ever an element of PlayerListEntry.additional. proven
Used by
PlayerListEntry Fields
#FieldTypeMeaningYou set it 1experience_dataExperienceDataThe character's experience gauge for this fight.
See ExperienceData.never 2pvp_dataPvpDataThe character's arena data.
See PvpData.never
  • summary: The experience or the arena data of a player's fight result line.
  • area: Game.Fight
  • 16 vues
One fighter's line of the fight result: who it is, how the fight ended for it and what it won.
Kind struct · Area Game.Fight
One line of the fight result, for one fighter.
HOW TO READ IT
1. FightResultListEntry.fighter_list_entry says who the line is about: the fighter id, whether it is still alive, and whether it is a player, a mutant or a tax collector. 2. To find YOUR line, compare FighterListEntry.fighter_id with your character id. 3. FightResultListEntry.outcome is how the fight ended for that fighter (FightOutcome: lost or won). Lines whose outcome is not a victory go to the losers' side of the result screen. 4. FightResultListEntry.rewards is what the fighter won: kamas and loot.
One declared int32 (beta's wave) is never read by the client: ignore it.
Not sent on its own — it is only ever an element of FightEndEvent.results. proven
Used by
FightEndEvent Fields
#FieldTypeMeaningYou set it 1outcomeFightOutcomeHow the fight ended for this fighter.
A FightOutcome; the result screen puts every non-victory line on the losers' side.never 2fighter_list_entryFighterListEntryWho this line is about: id, alive flag and the kind of fighter.
See FighterListEntry.never 3rewardsFightRewardWhat this fighter won: kamas and the loot of each defeated monster.
See FightReward.never
  • summary: One fighter's line of the fight result: who it is, how the fight ended for it and what it won.
  • area: Game.Fight
  • 17 vues
What one fighter won: kamas, and the loot of each defeated monster.
Kind struct · Area Game.Fight
What one fighter won.
HOW TO READ IT
1. FightReward.kamas is the kamas won. 2. Walk FightReward.loots: one FightLoot per source of loot (each defeated monster that dropped something), with its items and alterations. To list everything won, add up the items of every group, merging identical items by summing their quantities.
Not sent on its own — it is only ever FightResultListEntry.rewards. proven
Used by
FightResultListEntry Fields
#FieldTypeMeaningYou set it 1lootsrepeated FightLootThe loot groups: one per monster that dropped something.
Name ours. Elements are FightLoot.never 2kamasint64The kamas this fighter won.
Named after beta's FightLoot.kamas.
Shown as the kamas earned on the result screen.never
  • summary: What one fighter won: kamas, and the loot of each defeated monster.
  • area: Game.Fight
  • 15 vues
Who a fight result line is about: the fighter id, whether it is alive, and its kind.
Kind struct · Area Game.Fight
Identifies the fighter of one FightResultListEntry.
HOW TO READ IT
1. FighterListEntry.fighter_id is the fighter's id: compare it with your character id to find your own line. 2. FighterListEntry.alive is false for a fighter that died in the fight (the result screen shows a death icon on its line). 3. Exactly one member of FighterListEntry.complement is set and tells the kind: - FighterListEntry.player_list_entry: a player character (level, experience, PvP); - FighterListEntry.mutant_list_entry: a mutant (level only); - FighterListEntry.tax_collector_list_entry: a tax collector (its alliance). None set: a monster or companion; look its name up by id in the game data.
Not sent on its own — it is only ever FightResultListEntry.fighter_list_entry. proven
Used by
FightResultListEntry Fields
#FieldTypeMeaningYou set it 2aliveboolTrue when the fighter is still alive at the end of the fight.
The result screen shows a death icon when it is false.never 5fighter_idint64The fighter's id.
Compare with your character id to find your own result line.never 1tax_collector_list_entryTaxCollectorListEntrySet for a tax collector: the alliance it belongs to.
See TaxCollectorListEntry.never 3player_list_entryPlayerListEntrySet for a player character: its level and experience/PvP data.
See PlayerListEntry.never 4mutant_list_entryMutantListEntrySet for a mutant: its level.
See MutantListEntry.never
  • summary: Who a fight result line is about: the fighter id, whether it is alive, and its kind.
  • area: Game.Fight
  • 17 vues

Compte

Navigation

Recherche

Recherche

Configurer les notifications push du navigateur

Chrome (Android)
  1. Appuyez sur l'icône de cadenas à côté de la barre d'adresse.
  2. Tap Autorisations → Notifications.
  3. Ajustez vos préférences.
Chrome (Desktop)
  1. Cliquez sur l'icône représentant un cadenas dans la barre d'adresse..
  2. Select Paramètres du site.
  3. Find Notifications et ajustez vos préférences.