====== Missions ======
Use the [[world_editor:|world_editor]] software to create missions.
Optional: Click on "Project", then "Add Landscape", then choose "newbieland.land" from your "resources/continents/newbieland/" folder.
Click on "Project", then "Add Primitive" and select all the primitives of your resource/primitives/newbieland/folder.
See also [[en:world_editor:example_comment_mission|Commented example of a mission creation]].
If there is no "mission" primitive, click on "Project", then "New Primitive", then choose Missions_editor, and then [[en:primitive mission:primitivemissiondocmission_tree|Mission_tree]].
Otherwise, unfold the mission primitive with a left click(for example ''missions_newbieland.primitives'') right click on the first mission tree: ''missions_newbieland'' and select ''Add mission_tree''.
{{:fr:world_editor:we_mission1.jpg|Selecting Add_mission_tree}}
The "mission tree" window will open in both cases.
To have sureness of compiling the mission(witch is the last part of the creation), it's better to start by creating a new primitive just for the particular mission, and then test it. Once it's validated, it can be cut/pasted(ctrl-x, ctrl-v) in the primitive "mission primitive". Thus the missions are grouped together.. or if the map is large and rich, a set of missions.
As an example, all missions of the type "Winning pennies".
Otherwise, there is an risk of "getting lost" with a huge bunch of primitives for one area!!
The Mission property window opens.
{{:fr:world_editor:we_mission2.jpg|Property of the mission.}}
The more this property window is filled, the more easier it gets :-)
To edit:
* **name**: give the name identifying the mission. For example qabb20160603b
* **audience**: "solo" means that a single player can take it and validate it. "Group" concerns group quests(to be tested?), "Guild" the quests that will be validated at the level of the guild(also to be tested) .
* **auto_remove_from_journal**: once validated, remove itself from the log?
* **automatic**: ??? Leave by default as it is waiting to know the details
* **fail_if_inventory_is_full**: fails automatically if the inventory is full?
* **giver_primitive**: the .primitive where the NPC is located. An NPC already compiled with its missions can be found in ''urban _ *. Primitive'', for example ''urban_newbieland.primitive''
* **global replay_timer**: the time before the quest can be resumed after its failure or success, for everyone? Visibly in [[en:ds:sitem:rcticks|ticks]].
* **mission_category**: mission category on Ryzom, it was fighting, crafting, drilling. Where is this defined? What are the options?
* **mission_descriptio** n: put the ui to translate from the description of the mission, for example ui_nom_mission_DESC
* **mission_giver**: put the identifier of the character giving the quest: ''$ givervar @ fullname $''
* **mission_icon**: name of the icon in the ds?
* **mission_titl** e: put the ui to translate the title of the mission, for example ''ui_nom_mission_TITLE''
* **mono_instance** : ???
* **need_validation**: ??? Checked by default
* **abandoned**: must relate to "invisible" quests that do not appear in the log
* **not_in_journal**: The missions that do not appear in the newspaper can make it possible to make certain events; These are not classic missions, the player did something that triggered the start of the quest but he does not know.
* **not_propose **: probably also for the invisible quests: the pnj launches the quest, but nothing indicates it?
* **parent_missions**: specify the missions on which the current mission depends? You must have validated them to have access to this one?
* **sentence_auto_menu**: ???
* **player_replay_timer**: The time before the player can resume the quest. Visibly in [[en:ds:sitem:rcticks|ticks]].
* **replayable**: "replayable", check if it can be done several times.
* **run_only_once**: can only be done once.
In //variables//, add [[primitive:mission:primitivemissiondocvar_npc|Var_npc]] and fill it.
exemple:
name : givevar = name_NPC (title_NPC)
npc_function : title_NPC
npc_name : name_NPC
var_name : givevar
===== Creating a mission, first step =====
As a beginning, we start simple. \\
Choose a //Step//, then what kind of "//objectives//":
*[[fr:primitive:mission:primitivemissiondocstep|Step]], Done in order to validate the quest.
*[[fr:primitive:mission:primitivemissiondocstep_ooo|Step_ooo]], Done in disorder to validate the quest.
*[[fr:primitive:mission:primitivemissiondocstep_if|Step_if]], Several paths needed to validate the quest.
*[[fr:primitive:mission:primitivemissiondocstep_any|Step_any]], Only one of the objectives required.
*
==== Objectives first ====
===add_talk_to===
The PC must go to an NPC(in need of talking) to validate the target! \\
[[primitive:mission:primitivemissiondoctalk_to|add_talk_to]]
=== add_kill ===
The PC must go to kill a NPC/mob to validate the target! \\
[[primitive:mission:primitivemissiondockill|add_kill]]
=== add_cast ===
The PC must use a specific spell to validate the objective! \\
[[en:primitive:mission:primitivemissiondoccast|add_cast]]
=== add_forage ===
The PJ must go to harvest mps to validate the quest! \\
[[en:primitive:mission:primitivemissiondocforage|add_forage]]
=== add_loot ===
The PC must go to loop mps on a NPC/mob to validate the objective! \\
[[primitive:mission:primitivemissiondocloot|add_loot]]
=== add_craft ===
The PJ must go to make an object to validate the objective! \\
[[en:primitive:mission:primitivemissiondoccraft|add_craft]]
=== add_target ===
The PC must target a NPC/mob to validate the target! \\
[[primitive:mission:primitivemissiondoctarget|add_target]]
===add_sell===
The PC must go to sell a mps to validate the objective! \\
[[primitive:mission:primitivemissiondocsell|add_sell]]
=== add_buy ===
The PC must go buy a mps/item to validate the quest! \\
[[primitive:mission:primitivemissiondocbuy|add_buy]]
=== add_give_item ===
The PJ must give an mps/object to an NPC to validate the objective! \\
[[primitive:mission:primitivemissiondocgive_item|add_give_item]]
=== add_give_money ===
The PC must give money to an NPC to validate the objective! \\
[[primitive:mission:primitivemissiondocgive_money|add_give_money]]
=== add_escort ===
The PC must go to escort a NPC/mob to validate the target! \\
[[en:primitive:mission:primitivemissiondocescort|add_escort]]
=== add_visit ===
The PC must visit a place to validate the objective! \\
[[primitive:mission:primitivemissiondocvisit|add_visit]]
=== add_skill ===
The PC must have a minimum skill level to validate the objective! \\
[[primitive:mission:primitivemissiondocskill|add_skill]]
===add_do_mission===
The PC must go to another mission to validate the objective!
(to test)\\
[[primitive:mission:primitivemissiondocdo_mission|add_do_mission]]
=== add_wait_ai_msg ===
The PC must wait for a message to validate the objective!
(to test)\\
[[primitive:primitivemissiondocwait_ai_msg|add_wait_ai_msg]]
=== add_queue_start ===
The PC must wait for a populated scenario to validate the goal!
(to test)\\
[[primitive:primitivemissiondocqueue_start|add_queue_start]]
==== secondary objectives ====
It is possible to put secondary objectives in:
*pre_actions
*objectives
*post_actions
===Add_recv_money===
The PC receives money. \\
[[primitive:mission:primitivemissiondocrecv_money|add_recv_money]]
===== Creating a mission with dialogues =====
Now we add the dialogs. \\
OBS: It is absolutely necessary to place the __PC before the NPC before starting a dialogue__!!
Choose a //dynamic chat//:
*[[en:primitive:mission:primitivemissiondocstep_dyn_chat|Step_dyn_chat]], several choices available.
*[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_fail|Linear_dyn_chat_fail]], (not known at this point).
*[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_retry|Linear_dyn_chat_retry]], (not known at this point).
*[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_continue|Linear_dyn_chat_continue]], one choice available.
To finish
===== Special Condition =====
Special cases: \\
To avoid having missions that crash!!!!!
*[[en:primitive:mission:primitivemissiondocstep_failure|Step_failure]], (not known at this point).
*[[en:primitive:primitivemissiondocstep_crash|Step_crash]], (not known at this point).
*[[en:primitive:primitivemissiondocstep_player_reconnect|Step_player_reconnect]], (not known at this point).
*[[en:primitive:mission:primitivemissiondocjump_to|Jump_to]], Jump on another part of mission.
{{tag>world_editor mission primitives utilities tools}}