-
Notifications
You must be signed in to change notification settings - Fork 177
YAML Basics: Part 3 Intermediate Concepts
In previous articles, we pointed out the Lich script repository for learning both what settings are available and how individual scripts utilize those settings. Since it may not be immediately obvious how the formatting of the documentation should align with the actual format in your YAML, a few examples will be provided here.
Under the combat-trainer
expanded section of the Lich script repository, find the following information:
skinning: Hash of skinning related settings.
skinning:skin: true to skin kills.
skinning:arrange_all: true if you can use the arrange ALL command.
skinning:arrange_count: Number of times to arrange
skinning:arrange_types: Hash of creature noun to the type of arranging to do, eg rat:part. All arranging defaults to skin.
skinning:tie_bundle: true to tie your bundles up to reduce weight and item count.
If you have seen a skinning section in another character's YAML or base.yaml, you will see that each attribute is listed along with the section to which it belongs. As such, the proper way to format this section of the combat-trainer documentation is as such:
skinning:
skin: true
arrange_all: false
arrange_count: 5
arrange_types: rat:bone
tie_bundle: true
Another example:
training_abilities: Special one off trainers during combat. Hash is training type keyed to cooldown in seconds.
training_abilities:PercMana: Moon mage attunement training, retreats first.
training_abilities:Perc: Attunement training with perc.
training_abilities:Perc Health: Empathy training with perc heal.
training_abilities:Astro: Predict weather for astrology training.
training_abilities:App: Train appraisal by appraising enemies. Requires Approx 100 ranks for learning.
training_abilities:App Quick: See above.
training_abilities:App Careful: See above.
training_abilities:Tactics: Train tactics with weave, bob, and circle.
training_abilities:Hunt: Train perception and possibly scouting with the hunt command.
training_abilities:Pray: Pray to an immortal for theurgy.
training_abilities:Scream: Train bardic lore with scream conc.
training_abilities:Stealth: Train stealth with hiding and stalking.
training_abilities:Ambush Stun: Uses settings stun_weapon, stun_weapon_skill and stun_skill
In our YAML, listing only the abilities relevant to our starter character:
training_abilities:
Perc: 120
Tactics: 80
Hunt: 90
Stealth: 60
Each of these abilities will be called every # of seconds (e.g., your character will hide ("Stealth") every 60 seconds, hunt ever 90 seconds, and so on).
Basically, every list or hash or array will include each "level" for each nesting, or indentation.
Our existing starter character YAML here for ease of reference:
hunting_info:
- :zone: rats
:duration: 60
stop_on:
- Parry Ability
- Shield Usage
- Small Edged
weapon_training:
Small Edged: short sword
buff_spells:
Sweet Buff Spell:
abbrev: sbs
recast: 3
mana: 5
cambrinth:
- 4
- 4
offensive_spells:
- skill: Debilitation
name: Barry Manilow's Greatest Hits
abbrev: bmgh
mana: 5
- skill: Targeted Magic
name: Psychic Headbutt
abbrev: ph
mana: 5
cambrinth: ring
cambrinth_cap: 4
stored_cambrinth: false
crossing_training:
- Perception
- Augmentation
- Athletics
- Outdoorsmanship
- Attunement
- Utility
- Warding
gear:
:adjective: cloth
:name: hood
:is_leather: true
:hinders_lockpicking: true
:is_worn: true
...rest of gear...
:adjective: short
:name: sword
:is_leather: false
gear_sets:
standard:
- cloth hood
...rest of gear...
stealing: []
If you were to set this up and execute the training-manager
script, you would notice a few things. One, it begins by going through a certain set of actions before executing the crossing-training script. Once the skills listed under crossing_training
reach acceptable levels, only then will training-manager
call the combat script, combat-trainer
.
What if we wanted to alter the order? Suppose we want to prioritize combat-trainer
over crossing-training
. We simply enable the following:
training_manager_hunting_priority: true
This setting tells Lich to hunt first, train second. But how does Lich know when to stop training in town to return to combat? Or, how does Lich know which skills it needs to prioritize in order to return to combat?
training_manager_priority_skills:
- Small Edged
- Parry Ability
- Shield Usage
These two settings (training_manager_hunting_priority: true
and training_manager_priority_skills
) provide training-manager
the necessary information to both prioritize hunting and to determine at what point crossing-training should stop.
Combined with our stop_on
list, here is what is happening:
training-manager
begins hunting (training_manager_hunting_priority: true
) and stays in combat until 60 minutes have passed (:duration: 60
) or until our three skills (stop_on
) have reached acceptable learning rates. It then exits combat and begins training the skills listed in crossing_training
. It will continue training those skills until Small Edged, Parry Ability, or Shield Usage (training_manager_priority_skills
) reaches a learning rate of 6/34 or below, at which point it will return to combat.
Given the differences in absorption time across skill sets, configuring your stop_on
and training_manager_priority_skills
can have a large impact on time spent in and out of combat. Consider the following two examples of a Warrior Mage (Primary:Magic - Secondary:Weapons,Lore - Tertiary:Survival,Armor).
stop_on:
- Targeted Magic
- Debilitation
training_manager_priority_skills:
- Plate Armor
- Evasion
...versus...
stop_on:
- Plate Armor
- Evasion
training_manager_priority_skills:
- Targeted Magic
- Debilitation
What will be the difference? In the first grouping, time spent in combat will be very low due to magic skills locking very quickly, whereas time spent out of combat will be very long since tertiary skills drain so slowly.
However, in the second grouping, time spent in combat will be very low due to armor and evasion locking quickly (additionally, faster due to tertiary skills having smaller pools), and time spent out of combat will be relatively quickly due to primary skill drain rate.
It is generally accepted to set your stop_on
to be skills that lock in a sufficient amount of time while also training any other incidentals you wish, and then setting your training_manager_priority_skills
to skills that drain in such a time that allows your crossing_training
list to successfully iterate at least once while still preventing all combat skills from completely draining (at least, from staying completely drained for too long).
Furthermore, using these settings allows one to maintain some semblance of control over time spent in combat against creatures the character has soft-capped. For example, soft-capping Evasion as a Survival primary happens frequently. So, setting your stop_on
to Evasion will mean you will never leave combat without manual intervention (assuming :duration
is not set).
Thus, set stop_on
to skills that train to mind lock quickly, but not so quickly that your other combat skills suffer.
This is on a character-by-character basis, and will require continual upkeep and maintenance to ensure optimal timings.