Villager Personalities

From wiki
Revision as of 23:21, 20 November 2017 by DeamonHunter (Talk | contribs) (Update formatting and added some missing information.)

Jump to: navigation, search

Villagers in Staxel are fairly moddable, with many parts being able to be switched out, and new creations can add to the pool.

This page is about Villager Personalities, these are found in .villager files and contains information for;

  • Several types of dialogue. Normal and when someone is theiving.
  • Set regards [Need to look into this sorry.]
  • Set idle script

As such this file, in essence, creates the entirety of the villagers personality. This file does not affect the villager's Job which is handled by .viallagerjob files.


Creating a *.personality file

[Under Construction]

Config Options

"code"

Valid options (String): A unique string which personality this object is.

Default Value: No default value is specified. Always need to provide your own.


A string containing the code of the personality the blob will be referring to.


"canGiveQuests"

Valid options (Bool): True or False.

Default Value: If not specified, will default to true.


This determines whether or not this villager can give quests to the player.


"canLeaveTown"

Valid options (Bool): True or False.

Default Value: If not specified, will default to true.


This determines whether or not this villager can leave the town when their totem is incomplete or broken.


"dialoguePools"

Valid options (List of Strings): A list of strings which point to a Dialogue Pool code each.

Default Value: If not specified, will not have any dialogue.


This is a list of strings that point towards the dialogue pools which will be used for general talking. These do not include dialogues for jobs or theft.


"idleScript"

Valid options (Strings): A string represented pointing to a Script that handles idling.

Default Value: "staxel.script.IdleNpcScript"


This determines what code should dictate how the npc's will do while idle. These scripts are snippets of c# code, but the one that is most often used is "staxel.script.IdleNpcScript".

To create your own script, you will have to follow Code Based Mod and implement a class which inherits IScript.


"primaryDialogue"

Valid options (String): A string that points to a Dialogue.

Default Value: If not specified, will not force a certain dialogue to appear first.


This specifies a dialogue which must be played first before all other dialogues. Useful for when something should be done first before all else.


"seasonalDialogue"

This is a Blob which contains properties for specifying certain dialogues to appear in certain seasons. It will commonly look like;

"seasonalDialogue": {
  "Summer": "staxel.dialoguePool.CaithGirlSummer",
  "Autumn": "staxel.dialoguePool.CaithGirlAutumn",
  "Spring": "staxel.dialoguePool.CaithGirlSpring",
  "Winter": "staxel.dialoguePool.CaithGirlWinter"
},

"Summer" / "Autumn" / "Spring" / "Winter"

Valid options (String): A string that points to a Dialogue.

Default Value: If not specified, will not have a seasonal dialogue.


This specifies a dialogue that will appear in separate seasons.


"suppressGeneralDialogue"

Valid options (Bool): True or False.

Default Value: If not specified, will default to False.


This defines whether or not the "General" dialogue, or the dialogue that all villagers have, will not be played. (i.e When this property is true, it will not play normal dialogue.)


"theftDialoguePools"

Valid options (List of String): A list of strings which point to a Dialogue Pool code each

Default Value: If not specified, will not react to thefts in the village.


This is a list of strings that point towards the dialogue pools which will be used for general talking. These do not include dialogues for jobs or theft.

"typicalRegards"

[Need to look into]