110 lines
3.9 KiB
Plaintext
110 lines
3.9 KiB
Plaintext
|
|
/// true/false
|
|
#define SKILL_PROGRESSION_BINARY 1
|
|
/// numerical
|
|
#define SKILL_PROGRESSION_NUMERICAL 2
|
|
/// Enum
|
|
#define SKILL_PROGRESSION_ENUM 3
|
|
/// Levels
|
|
#define SKILL_PROGRESSION_LEVEL 4
|
|
|
|
// Standard values for job starting skills
|
|
|
|
#define STARTING_SKILL_SURGERY_MEDICAL 35 //out of SKILL_NUMERICAL_MAX
|
|
|
|
// Standard values for job starting skill affinities
|
|
|
|
#define STARTING_SKILL_AFFINITY_DEF_JOB 1.2
|
|
|
|
// Standard values for skill gain (this is multiplied by affinity)
|
|
|
|
#define DEF_SKILL_GAIN 1
|
|
#define SKILL_GAIN_SURGERY_PER_STEP 0.25
|
|
#define STD_USE_TOOL_MULT 1
|
|
#define EASY_USE_TOOL_MULT 0.75
|
|
#define TRIVIAL_USE_TOOL_MULT 0.5
|
|
#define BARE_USE_TOOL_MULT 0.25
|
|
|
|
//multiplier of the difference of max_value and min_value. Mostly for balance purposes between numerical and level-based skills.
|
|
#define STD_NUM_SKILL_ITEM_GAIN_MULTI 0.002
|
|
|
|
//An extra point for each few seconds of delay when using a tool. Before the multiplier.
|
|
#define SKILL_GAIN_DELAY_DIVISOR 3 SECONDS
|
|
|
|
///Items skill_traits and other defines
|
|
#define SKILL_USE_TOOL "use_tool"
|
|
#define SKILL_TRAINING_TOOL "training_tool"
|
|
#define SKILL_ATTACK_MOB "attack_mob"
|
|
#define SKILL_TRAIN_ATTACK_MOB "train_attack_mob"
|
|
#define SKILL_ATTACK_OBJ "attack_obj"
|
|
#define SKILL_TRAIN_ATTACK_OBJ "train_attack_obj"
|
|
#define SKILL_STAMINA_COST "stamina_cost" //Influences the stamina cost from weapon usage.
|
|
#define SKILL_THROW_STAM_COST "throw_stam_cost"
|
|
#define SKILL_SANITY "sanity" //Is the skill affected by (in)sanity.
|
|
#define SKILL_INTELLIGENCE "intelligence" //Is the skill affected by brain damage?
|
|
|
|
///competency_threshold defines
|
|
#define THRESHOLD_UNTRAINED "untrained"
|
|
#define THRESHOLD_COMPETENT "competent"
|
|
#define THRESHOLD_EXPERT "expert"
|
|
#define THRESHOLD_MASTER "master"
|
|
|
|
/// Level/Experience skills defines.
|
|
#define STD_XP_LVL_UP 100
|
|
#define STD_XP_LVL_MULTI 2
|
|
#define STD_MAX_LVL 4
|
|
|
|
#define RPG_MAX_LVL 100
|
|
|
|
#define DORF_XP_LVL_UP 400
|
|
#define DORF_XP_LVL_MULTI 100
|
|
#define DORF_MAX_LVL 20 // Dabbling, novice, adequate, [...], legendary +3, legendary +4, legendary +5
|
|
|
|
//level up methods defines
|
|
#define STANDARD_LEVEL_UP "standard_level_up"
|
|
#define DWARFY_LEVEL_UP "dwarfy_level_up"
|
|
|
|
//job skill level defines
|
|
#define JOB_SKILL_UNTRAINED 0
|
|
#define JOB_SKILL_BASIC 1
|
|
#define JOB_SKILL_TRAINED 2
|
|
#define JOB_SKILL_EXPERT 3
|
|
#define JOB_SKILL_MASTER 4
|
|
|
|
//other skill level defines, not an exhaustive catalogue, only contains be most relevant ones.
|
|
#define DORF_SKILL_COMPETENT 3
|
|
#define DORF_SKILL_EXPERT 8
|
|
#define DORF_SKILL_MASTER 12
|
|
|
|
/// Skill modifier defines and flags.
|
|
#define MODIFIER_SKILL_VALUE (1<<0)
|
|
#define MODIFIER_SKILL_AFFINITY (1<<1)
|
|
#define MODIFIER_SKILL_LEVEL (1<<2)
|
|
///makes the skill modifier a multiplier, not an addendum.
|
|
#define MODIFIER_SKILL_MULT (1<<3)
|
|
///Sets the skill to the defined value if lower than that. Highly reccomended you don't use it with MODIFIER_SKILL_MULT.
|
|
#define MODIFIER_SKILL_VIRTUE (1<<4)
|
|
///Does the opposite of the above. combining both effectively results in the skill being locked to the specified value.
|
|
#define MODIFIER_SKILL_HANDICAP (1<<5)
|
|
///Makes it untransferred by mind.transfer_to()
|
|
#define MODIFIER_SKILL_BODYBOUND (1<<6)
|
|
///Adds the difference of the current value and the value stored at the time the modifier was added to the result.
|
|
#define MODIFIER_SKILL_ORIGIN_DIFF (1<<7)
|
|
///Will this skill use competency thresholds instead of preset values
|
|
#define MODIFIER_USE_THRESHOLDS (1<<8)
|
|
|
|
#define MODIFIER_TARGET_VALUE "value"
|
|
#define MODIFIER_TARGET_LEVEL "level"
|
|
#define MODIFIER_TARGET_AFFINITY "affinity"
|
|
|
|
///Ascending priority defines.
|
|
#define MODIFIER_SKILL_PRIORITY_LOW 100
|
|
#define MODIFIER_SKILL_PRIORITY_DEF 50
|
|
#define MODIFIER_SKILL_PRIORITY_MAX 1 //max priority, meant for job/antag modifiers so they don't null out other (de)buffs
|
|
|
|
// UI Defines
|
|
///Categories of skills, these will be displayed alphabetically.
|
|
#define SKILL_UI_CAT_ENG "Engineering"
|
|
#define SKILL_UI_CAT_MED "Medical"
|
|
#define SKILL_UI_CAT_MISC "Misc"
|