project/Environment: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (Conversion script moved page Project/Environment to project/Environment: Converting page titles to lowercase) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
Environment is a wall between real network stuff and everything other (AI, user, AI-level and user-level plugins). | Environment is a wall between real network stuff and everything other (AI, user, AI-level and user-level plugins). | ||
Environment should have common not-RO binded concepts with common interfaces, such as Actor | Environment should have common not-RO binded concepts with common interfaces, such as: | ||
* Actor | |||
* ActorList (with additional properties) | |||
* Field | |||
and network-dependent implementations. | |||
== | == Possible RO Environment classes == | ||
* '''Actor''' | |||
** You ''actions: sendAction send(Guild/Battleground)Chat sendDeal/OpenShop/PartyOrganize sendEmotion/Look/Memo/Move'' | |||
** Player | |||
** Monster | |||
** Familiar (Mercenary, Homunculus, Pet) ''actions: sendHomunculusCommand/MercenaryCommand/Move/Attack/StandBy/Name sendPetMenu/Name'' | |||
** NPC | |||
** Item ''actions: sendArrowCraft sendCardMerge(Request) sendItemUse send(Un)Equip/ProduceMix/Identify/RepairItem/Cooking/WeaponRefine'' | |||
* '''ActorList''' | |||
** Mixed | |||
*** (stuff around the character) ''moves: sendTake'' | |||
** Actor::Item based | |||
*** Inventory ''moves: sendCartAdd sendDealAddItem sendDrop sendSell(Bulk) sendStorageAdd'' | |||
*** Cart ''actions: sendCompanionRelease sendChangeCart; moves: sendCardGet sendStorageAddFromCart'' | |||
*** Storage ''actions: sendStorageClose; moves: sendStorageGet(ToCart)'' | |||
*** Store (basic NPC, cash, venders and our own) ''actions: sendCloseShop; moves: sendBuyBulk(Vender) sendCashShopBuy'' | |||
** Actor::Player based | |||
*** Friends ''moves: sendFriendRemove'' | |||
*** Party ''sendPartyKick/Leave/ShareEXP/Option'' | |||
*** Guild ''actions: sendGuildMemberPositions/Notice/PositionInfo; moves: sendGuildBreak/JoinRequest/Leave/MemberKick'' | |||
*** Chatroom ''actions: sendChatRoomBestow/Change; moves: /Join/Kick/Leave'' | |||
* '''Skill''' ''actions: sendSkillUse(Loc) sendAddSkillPoint sendAutoSpell'' | |||
* '''SkillList''' | |||
* '''Deal''' (complex object) ''sendCurrentDealCancel sendDealFinalize/OK/Trade'' | |||
* '''Spell''' (subclass of some "FieldEvent" or "FieldEffect"?) | |||
Random actions on unavailable objects (invite for party)? | |||
Replies to misc requests (party, deal, friends)? | |||
[[Category:Development]] | |||
Latest revision as of 22:35, 26 April 2021
Regarding OpenKore 2.x.
Environment is a wall between real network stuff and everything other (AI, user, AI-level and user-level plugins).
Environment should have common not-RO binded concepts with common interfaces, such as:
- Actor
- ActorList (with additional properties)
- Field
and network-dependent implementations.
Possible RO Environment classes
- Actor
- You actions: sendAction send(Guild/Battleground)Chat sendDeal/OpenShop/PartyOrganize sendEmotion/Look/Memo/Move
- Player
- Monster
- Familiar (Mercenary, Homunculus, Pet) actions: sendHomunculusCommand/MercenaryCommand/Move/Attack/StandBy/Name sendPetMenu/Name
- NPC
- Item actions: sendArrowCraft sendCardMerge(Request) sendItemUse send(Un)Equip/ProduceMix/Identify/RepairItem/Cooking/WeaponRefine
- ActorList
- Mixed
- (stuff around the character) moves: sendTake
- Actor::Item based
- Inventory moves: sendCartAdd sendDealAddItem sendDrop sendSell(Bulk) sendStorageAdd
- Cart actions: sendCompanionRelease sendChangeCart; moves: sendCardGet sendStorageAddFromCart
- Storage actions: sendStorageClose; moves: sendStorageGet(ToCart)
- Store (basic NPC, cash, venders and our own) actions: sendCloseShop; moves: sendBuyBulk(Vender) sendCashShopBuy
- Actor::Player based
- Friends moves: sendFriendRemove
- Party sendPartyKick/Leave/ShareEXP/Option
- Guild actions: sendGuildMemberPositions/Notice/PositionInfo; moves: sendGuildBreak/JoinRequest/Leave/MemberKick
- Chatroom actions: sendChatRoomBestow/Change; moves: /Join/Kick/Leave
- Mixed
- Skill actions: sendSkillUse(Loc) sendAddSkillPoint sendAutoSpell
- SkillList
- Deal (complex object) sendCurrentDealCancel sendDealFinalize/OK/Trade
- Spell (subclass of some "FieldEvent" or "FieldEffect"?)
Random actions on unavailable objects (invite for party)?
Replies to misc requests (party, deal, friends)?