Scriptable Entities Design: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Magodra (talk | contribs)
Magodra (talk | contribs)
Line 213: Line 213:
== Sequence Diagrams ==
== Sequence Diagrams ==
This section will be started when Use Cases has been agreed.
This section will be started when Use Cases has been agreed.
[[Category:Engine documents]] [[Category:Server Design]]

Revision as of 01:24, 23 December 2013

This desing realize the Scriptable Entities functionality.

TODO/TBD List

  • Identify how to select the items to sell/buy (See Identify Items to Sell/Buy)
  • Guild items should be through a guild chest or crate. Activities to establish this has to be identified.

Player Use Cases

Hire NPC

Player can hire a NPC to do work for either the player or his guild.

Activity Diagram

Target NPC

Player target npc either directly through selecting the NPC or indirect through selection of target in the "/hire" command line.

Open Hire Dialog

Either using the command "/hire" or selecting the Hire Icon from the Context Menu (See Context Menu Design). This open the Hire NPC Dialog. From the Hire NPC Dialog the hiring player can do the following:

Select Service

Select service needed from a list of services:

Select Hiring Period

Selection of hours, days, months or years to hire the NPC.

Select Working Hours

Selection of time of day the NPC will start to work and number of hours up to maximum of a scriptable number of hours per day.

Select Working Location

Selection of a location identified by the player through #Define Locations activity to be the working location for the NPC.

Identify Items to Sell/Buy

TBD: How to identify the items to sell/buy. For hiring players items, the items should be in storage, but probably not all items in storage should be eligible for selling?

TBD: For Guild Items container items need to be selected as storage. All items in the container could probably be sold, but not all items are of interest for buying?

TBD: How should the price be determinded?

Script Hired NPC

Create/Edit Custom NPC Dialogues (See the Script Hired NPC use case for details.)

Script Hired NPC

Hired NPCs can be scripted. User open the Hire NPC Dialog to enter new scripts for the NPC.

Activity Diagram

Validate Script

It is important that only valid scripts are given to the server. Need to make sure that the script is correct before script is stored in the db and assigned to the NPC. This validation should identify illegal syntax, validate that the commands are ok for players to use. As an example commands that create new items will not be available for players. See Custom NPC Dialogues for details.

Extend Hire

Opening the Hire NPC Dialog enable the Hiring Player to extend the hire period and pay the extra fee.

Activity Diagram

Define Locations

Enable the Hire to define locations used when scripting their hired NPCs. This would be Work Locations and Guard Locations.

To decide: Should this be implemented through the /location command? Enabling players to define locations, might need some kind of association so that when character/guild is deleted the location is deleted as well.

Activity Diagram

Release NPC

A NPC that is no longer needed can be released. This will be done from the Hire dialog.

Activity Diagram

Interact with Hired NPC

Using the NPC Dialogue to interact with the NPC. Custom NPC Dialogues created through the NPC Hire process provides the input to the NPC Dialogue system to provide custom dialogues.

Activity Diagram

Buy/Sell

Using the standard interface to sell and buy stuff from NPCs.

Activity Diagram

Hired NPC Use Cases

Guard

Perform Guard duties. Pre-programmed guard action. Player select working hours, working position, a number of check points and interval for checking thous.

NPC dialogue

Through Quest script syntax with user safe commands enabling custom scripts to be crated for the NPC.

Buy/Sell Hiring Players Items

NPC can sell and buy either personal. Using the standard trade front end with the trading character.

Activity Diagram

Buy/Sell Guild Items

NPC can sell and buy guild items. Using the standard trade front end with the trading character.

Activity Diagram

Detailed Design

This section will detail some of the activities identified in the Use Cases above. Down to a level that identifies messages between client, server and npc client and some of the sequences in the server as needed.

Sequence Diagrams

This section will be started when Use Cases has been agreed.