Skip to end of metadata
Go to start of metadata

Overview

This page just contains my notes for things I'm working on and is probably not interesting to other people.

Creature Creation Tutorial

Files involved in creature creation:

  • Game_elem/Creature/fauna/bestiary/forest/chdfa1.creature
    • Game_elem/Creature/fauna/Ecosystem/forest/_dag_for.creature
      • Game_elem/Creature/fauna/Parent_creature_prototype/_dag.creature
        • Game_elem/Creature/_formuli.creature
          • game_element/anim/fx/combat/attack_melee/melee.attack_list (referenced via attack_list0 ATOM)
        • Game_elem/Creature/fauna/set_armure/_medium_slashing_armor_set.creature
          • links to various .item sheets (medium_slashing_POSITION.item. POSITION = legs, arms, hands, feet, and head)
        • Game_elem/Creature/fauna/ai_parent/_ai_herbivore_craintif.creature
        • dag.attack_list (referenced via attack_list1 ATOM)
          • Note: doesn't seem to exist in public or private repos.
    • _dag_attack.creature
      • dag_attack.actionlist (referenced via melee_cfg ATOM)
        • dag_attack.aiaction
        • default_fauna_attack_slash.aiaction
    • _chdfa1_mp.creature

Interesting values:

action_cfg

This is a value that is four numbers ending in an f. For example the Yubo is 1111f - each number represents whether a specific action configuration must be loaded. The numbers activate the configs in the following order

  • melee config
  • range config
  • nuke config
  • heal config

If any of these are non-zero it will use the number provided to choose the element of the corresponding array to get its action list. For example the Yubo creature sheet has melee_config[0] = "dag_attack.actionlist" specified in it in the _dag_attack.creature parent sheet. If this sheet specified 4 different actions for melee combat you could choose which one in your primary creature sheet by changing it to 5000f (4th action list, everything else off.)

attack_list0-9

ddd

Localisation

The creature sheet has a structure called Localisation which specifies body party to bone mapping. When creating a new creature you will need to know which bone names from the .skel (or 3D object) represent which body parts. The list is pretty self explanatory.

Properties

This is probably one of the more important structures for the client-side portion of the creature sheet.

  • Selectable
  • Talkable
  • Attackable
  • Curativable - can you heal/cure it
  • Givable
  • LootHarvestState
  • Mountable
  • XPGainCoef
  • Turn
  • SelectableBySpace

Combat

The Combat structure has a great number of useful variables for influencing the AI of the creature. Typically you will use the _ai_herbivore_craintif.creature types of sheets. In the Yubo that is provided in the demo code the parameters provided are not used, they are instead filled in the primary creature sheet (chdfa1)

  • AggroRadiusNotHungry -
  • AggroRadiusHungry
  • AggroRadiusHunting
  • DistModulator
  • TargetModulator
  • LifeLevelModulator
  • CourageModulator
  • GroupCohesionModulator
  • AssistDist
  • AggroRadiusD1
  • AggroRadiusD2
AggroRadius Values

For AggroRadiusHungry, AggroRadiusNotHungry and AggroRadiusHunting:

If the the creature is a fauna (mob) and is an herbivore (which is defined in Basics.Type, see _ai_herbivore_craintif.creature) the AggroRadius values are ignored and forced to 30.0f. These values are in increments of meters.

For AggroRadiusD1 and AggroRadiusD2

TODO

Not Used

  • ShopKeeper infos - This appears to only be referenced by ags_test and is therefore probably not used.
  • Action Phrases - doesn't appear anywhere outside of the DFN

Missing Sheets

melee.attack_list

cast_off_blunt.animation_fx_set
cast_off_blunt_begin.animation_fx_set
cast_off_blunt_end.animation_fx_set
cast_off_blunt_fail.animation_fx_set
cast_off_blunt_loop.animation_fx_set
cast_off_curse_begin.animation_fx_set
cast_off_curse_end.animation_fx_set
cast_off_curse_fail.animation_fx_set
cast_off_curse_loop.animation_fx_set
cast_off_hatred_begin.animation_fx_set
cast_off_hatred_end.animation_fx_set
cast_off_hatred_fail.animation_fx_set
cast_off_hatred_loop.animation_fx_set
cast_off_piercing_begin.animation_fx_set
cast_off_piercing_end.animation_fx_set
cast_off_piercing_fail.animation_fx_set
cast_off_piercing_loop.animation_fx_set
cast_off_shockwave_begin.animation_fx_set
cast_off_shockwave_end.animation_fx_set
cast_off_shockwave_fail.animation_fx_set
cast_off_shockwave_loop.animation_fx_set
cast_off_sickness_begin.animation_fx_set
cast_off_sickness_end.animation_fx_set
cast_off_sickness_fail.animation_fx_set
cast_off_sickness_loop.animation_fx_set
cast_off_slashing_begin.animation_fx_set
cast_off_slashing_end.animation_fx_set
cast_off_slashing_fail.animation_fx_set
cast_off_slashing_loop.animation_fx_set
dag_light_slashing_chest.item
light_slashing_arms.item
light_slashing_feet.item
light_slashing_hands.item
light_slashing_head.item
light_slashing_legs.item
tr_civil01_armpad.item
tr_civil01_bottes.item
tr_civil01_gilet.item
tr_civil01_hand.item
tr_civil01_pantabotte.item
zo_cheveux_shave01.item
zo_cheveux_short01.item

Labels: