Difference between revisions of "project/Environment"
Jump to navigation
Jump to search
m |
m |
||
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)? | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 04:12, 21 June 2010
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)?