From The Mana World
(Add all(?) packets we send to eAthena)
m (add () for public functions and add setDirection)
Line 15: Line 15:
*NewChar(...)
*NewChar(...)
*DeleteChar(number, ...)
*DeleteChar(number, ...)
*Who
*Who()


Chat
Chat
Line 39: Line 39:
*SendLetter(recipient, text)
*SendLetter(recipient, text)
*PickUp(floorItemId)
*PickUp(floorItemId)
*SetDirection(direction)
*SetDestination(x, y, direction)
*SetDestination(x, y, direction)
*Sit
*Sit()
*Respawn
*Respawn()


Inventory
Inventory

Revision as of 17:02, 24 March 2009

This is my plan for centralizing the net code under the merged client.

First, TMWServ's Net namespace needs to be changed (I vote for TMWserv as the new name). Then a new Net namespace would be created to store references to the specific network back-end needed.

Here are the functions the generic back end needs (organized by type)

Login

  • Login(...)
  • ChangeEmail(...)
  • ChangePassword(...)
  • ChooseServer(serverId)

Char

  • ChooseChar(number)
  • NewChar(...)
  • DeleteChar(number, ...)
  • Who()

Chat

  • Talk(text)
  • Me(text)
  • Msg(recipient, text)

Map

  • MapLoaded(mapName?)
  • ClientPing(time)

Being

  • Attack(beingId)
  • CharNameRequest - eAthena netcode detail (not public)

Player

  • (anything?)

LocalPlayer

  • Emote(emoteId)
  • IncStat(statId)
  • DecStat(statId)
  • SendLetter(recipient, text)
  • PickUp(floorItemId)
  • SetDirection(direction)
  • SetDestination(x, y, direction)
  • Sit()
  • Respawn()

Inventory

  • EquipItem(Item)
  • UnEquipItem(Item)
  • UseItem(Item)
  • Drop(slotNum, ammount)
  • Split(slotNum, ammount)

NPC

  • Talk(npcId)
  • NextDialog(npcId)
  • CloseDialog(npcId)
  • ListInput(npcId, value)
  • IntegerInput(npcId, value)
  • StringIntput(npcId, value)

Shop

  • Start(beingId)
  • Buy(beingId)
  • Sell(beingId)
  • BuyItem(beingId, itemId, ammount)
  • SellItem(beingId, itemId, ammount)
  • End(beingId)

Skill

  • Up(skillId)
  • Use(skillId)

Trade

  • Request(beingId)
  • AddItem(slotNum, ammount)
  • RemoveItem(slotNum, ammount)
  • SetMoney(ammount)
  • Confirm() (eAthena trade complete)
  • Finish() (eAthena trade OK)
  • Cancel()

Party

  • Create()
  • Join(partyId)
  • Invite(playerId)
  • InviteResponse(requestId?, response)
  • Leave()
  • Kick(playerId)
  • Chat(text)
  • Settings?

Guild

  • Create()
  • Join(guildId)
  • Invite(playerId)
  • InviteResponse(requestId?, response)
  • Leave()
  • Kick(playerId)
  • Chat(text)

Storage

  • Open()
  • Close()
  • Store(slotId, ammount)
  • Retrieve(slotId, ammount)

Admin/GM

  • Announce(text)
  • Kick(id)
  • Kick(name)
  • Ban(id)
  • Ban(name)
  • ...