CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.11k stars 4.11k forks source link

Many JSON fields are undocumented in the .md files #67783

Closed ampersand55 closed 3 months ago

ampersand55 commented 1 year ago

Describe the bug

Many JSON fields are undocumented in the .MD files, which makes it harder to create content.

Attach save file

N/A

Steps to reproduce

N/A

Expected behavior

I would like every field to be documented.

Perhaps even add a PR check to ensure that all fields are documented.

Screenshots

No response

Versions and configuration

Additional context

Here's a list of fields used in JSON data I've found using a script, that are undocumented or documented in an un-intuitive .md-file. Many of the effect > is documented in NPC.md.

Not guaranteed to be exhaustive, and may contain false positives.

Angle bracket > denotes a nested key.

Field                                                  Json-file field was first found in

requirements > description                             \achievements.json

trail > chance                                         \ammo_effects.json
trail > field_type                                     \ammo_effects.json
trail > intensity_max                                  \ammo_effects.json
trail > intensity_min                                  \ammo_effects.json

passive_pseudo_items                                   \bionics.json
fake_weapon                                            \bionics.json
active_flags                                           \bionics.json
auto_deactivates                                       \bionics.json
toggled_pseudo_items                                   \bionics.json
spell_on_activation                                    \bionics.json
activated_close_ui                                     \bionics.json
power_trickle                                          \bionics.json

requirements > *                                       \butchery_requirements.json

mod_type                                               \character_modifiers.json
value > *                                              \character_modifiers.json

qualities                                              \construction.json
pre_note                                               \construction.json
dark_craftable                                         \construction.json
byproducts                                             \construction.json
tools                                                  \construction.json
qualities                                              \construction.json
using                                                  \construction.json
difficulty                                             \construction.json
do_turn_special                                        \construction.json
activity_level                                         \construction.json
vehicle_start                                          \construction.json
skill                                                  \construction.json
on_display                                             \construction.json

base_mods > dodge_mod                                  \effects.json
base_mods > hit_mod                                    \effects.json
dur_add_perc                                           \effects.json
resist_effects                                         \effects.json
scaling_mods > bash_mod                                \effects.json
show_in_info                                           \effects.json

time_save_flags                                        \faults\fixes_gun.json

legacy_enum_id                                         \field_type.json
display_field                                          \field_type.json
intensity_levels > effects > immune_in_vehicle         \field_type.json
legacy_enum_id                                         \field_type.json
legacy_make_rubble                                     \field_type.json
priority                                               \field_type.json

info                                                   \flags.json
restriction                                            \flags.json
conflicts                                              \flags.json
inherit                                                \flags.json
taste_mod                                              \flags.json

alias                                                  \furniture_and_terrain\furniture-recreation.json
bash > ter_set_bashed_from_above                       \furniture_and_terrain\terrain-walls.json

even_good                                              \hit_range.json

armor > breathability                                  \items\armor\bespoke_armor\custom_bodysuits.json
armor > layers                                         \items\armor\ammo_pouch.json
armor > material > ignore_sheet_thickness              \items\armor\arms_armor.json
armor > rigid_layer_only                               \items\armor\bespoke_armor\utility.json
armor > volume_encumber_modifier                       \items\armor\ammo_pouch.json
armor_data > sided                                     \items\armor\storage.json
pocket_data > activity_noise                           \items\armor\bespoke_armor\custom_storage.json
pocket_data > default_magazine                         \items\armor\robofac_armor.json
pocket_data > extra_encumbrance                        \items\armor\bespoke_armor\custom_storage.json
pocket_data > min_item_length                          \items\armor\ammo_pouch.json
pocket_data > ripoff                                   \items\armor\bespoke_armor\custom_storage.json
pocket_data > transparent                              \items\armor\ammo_pouch.json
pocket_data > volume_encumber_modifier                 \items\armor\ammo_pouch.json
relic_data                                             \items\armor\altered_object_auras.json
replace_materials                                      \items\armor\boots.json
sided                                                  \items\armor\ammo_pouch.json

container                                              \items\ammo.json
count                                                  \items\ammo.json
damage > amount                                        \items\ammo.json
damage > armor_penetration                             \items\ammo.json
damage > damage_type                                   \items\ammo.json
damage > barrels                                       \items\ammo\223.json
casing                                                 \items\ammo\10mm.json

projectile_count                                       \items\handloaded_bullets.json

faults                                                 \items\classes\gun.json
handling                                               \items\classes\gun.json
reload_noise                                           \items\classes\gun.json
reload_noise_volume                                    \items\classes\gun.json

integral_longest_side                                  \items\gun\robofac_gun.json
overwrite_min_cycle_recoil                             \items\gun\robofac_gun.json
reload_noise                                           \items\gun\20x66mm.json
reload_noise_volume                                    \items\gun\20x66mm.json
aim_speed_modifier                                     \items\gunmod\rail.json
add_mod                                                \items\gunmod\conversions.json
energy_drain_multiplier                                \items\gunmod\barrel.json
field_of_view                                          \items\gunmod\rail.json
min_skills                                             \items\gunmod\accessories.json
shot_spread_multiplier_modifier                        \items\gunmod\muzzle.json

critical_multiplier                                    \items\ranged\archery.json
min_strength                                           \items\ranged\archery.json

nanofab_template_group                                 \items\generic.json
stackable                                              \items\generic.json
template_requirements                                  \items\generic.json

solar_efficiency                                       \items\tool_armor.json
revert_msg                                             \items\tool\lighting.json
subtype                                                \items\tool\science.json
container-item                                         \items\tool\science.json
variables > folded_parts                               \items\tool\unfoldable.json
variables > vehicle_name                               \items\tool\unfoldable.json

pocket_mods                                            \items\toolmod.json
pocket_mods > default_magazine                         \items\toolmod.json

diameter                                               \items\vehicle\animals.json
displacement                                           \items\vehicle\engine.json
width                                                  \items\vehicle\animals.json
width                                                  \items\vehicle\wheel.json

max_capacity                                           \items\battery.json
martial_art                                            \items\book\martial.json
proficiencies                                          \items\book\chemistry.json
proficiencies > *                                      \items\book\chemistry.json
drop_action                                            \items\chemicals_and_resources.json
drop_action > *                                        \items\chemicals_and_resources.json
brewable > results (there's the singular "result")     \items\comestibles\brewing.json
use_action > disinfectant_power                        \items\comestibles\med.json
use_action > vitamins                                  \items\comestibles\med.json
source_monster                                         \items\corpses\corpses.json
replace_materials                                      \items\melee\swords_and_blades.json
thrown_damage                                          \items\melee\spears_and_polearms.json

can_be_personal                                        \loot_zones.json
hidden                                                 \loot_zones.json

allow_all_weapons                                      \martialarts.json
force_unarmed                                          \martialarts.json
prevent_weapon_blocking                                \martialarts.json
autolearn                                              \martialarts.json
prevent_weapon_blocking                                \martialarts.json
primary_skill                                          \martialarts.json
strictly_melee                                         \martialarts.json
arm_block_with_bio_armor_arms                          \martialarts_fictional.json
attack_vectors                                         \martialarts_fictional.json
initial_ma_styles                                      \martialarts_fictional.json
leg_block_with_bio_armor_legs                          \martialarts_fictional.json
points                                                 \martialarts_fictional.json
powerful_knockback                                     \martialarts_fictional.json
starting_trait                                         \martialarts_fictional.json
valid                                                  \martialarts_fictional.json
wall_adjacent                                          \martialarts_fictional.json

breathability                                          \materials.json
burn_products                                          \materials.json
repair_difficulty                                      \materials.json
repaired_with                                          \materials.json
salvaged_into                                          \materials.json
sheet_thickness                                        \materials.json
uncomfortable                                          \materials.json

monsters > freq                                        \monstergroups\eggs.json

conditions                                             \monsters\monster_goals.json
conditions > argument                                  \monsters\monster_goals.json
conditions > invert_result                             \monsters\monster_goals.json
conditions > predicate                                 \monsters\monster_goals.json
goal                                                   \monsters\monster_goals.json
strategy                                               \monsters\monster_goals.json

dissect                                                \monsters\bird.json
burn_into                                              \monsters\feral_humans.json
stomach_size                                           \monsters\insect_spider.json

attack_type                                            \monster_special_attacks\monster_attacks.json
self_effects_always                                    \monster_special_attacks\monster_attacks.json
self_effects_onhit                                     \monster_special_attacks\monster_attacks.json

active_flags                                           \mutations\mutations.json
allowed_items                                          \mutations\mutations.json
casting_time_multiplier                                \mutations\mutations.json
crafting_speed_multiplier                              \mutations\mutations.json
dodge_modifier                                         \mutations\mutations.json
dummy                                                  \mutations\mutations.json
hearing_modifier                                       \mutations\mutations.json
hp_adjustment                                          \mutations\mutations.json
hp_modifier                                            \mutations\mutations.json
hp_modifier_secondary                                  \mutations\mutations.json
integrated_armor                                       \mutations\mutations.json
noise_modifier                                         \mutations\mutations.json
obtain_cost_multiplier                                 \mutations\mutations.json
overmap_sight                                          \mutations\mutations.json
ranged_mutation                                        \mutations\mutations.json
reading_speed_multiplier                               \mutations\mutations.json
skill_rust_multiplier                                  \mutations\mutations.json
spawn_item                                             \mutations\mutations.json
stomach_size_multiplier                                \mutations\mutations.json
threshold                                              \mutations\mutations.json
vomit_multiplier                                       \mutations\mutations.json

encumbrance_text                                       \mutations\mutation_limbs.json
encumbrance_threshold                                  \mutations\mutation_limbs.json
fire_warmth_bonus                                      \mutations\mutation_limbs.json
limb_scores                                            \mutations\mutation_limbs.json

ignored_distractions                                   \player_activities.json

sub                                                    \professions.json

is_hidden                                              \recipes\recipes.json
recipe_subcategories                                   \recipes\recipes.json

add_professions                                        \scenarios.json
map_extra                                              \scenarios.json
surround_groups                                        \scenarios.json
vehicle                                                \scenarios.json

display_string                                         \skillDisplayType.json
companion_survival_rank_factor                         \skills.json
companion_skill_practice                               \skills.json
companion_industry_rank_factor                         \skills.json
time_to_attack                                         \skills.json
companion_combat_rank_factor                           \skills.json

bleeds                                                 \species.json
footsteps                                              \species.json

speaker                                                \speech.json
sound                                                  \speech.json

destination                                            \starting_missions.json

attack_vectors                                         \techniques.json
attack_vectors_random                                  \techniques.json
dummy                                                  \techniques.json
forbidden_buffs_all                                    \techniques.json
needs_ammo                                             \techniques.json

memorial_female                                        \traps.json
memorial_male                                          \traps.json
vehicle_data > chance                                  \traps.json
vehicle_data > do_explosion                            \traps.json
vehicle_data > set_trap                                \traps.json
vehicle_data > shrapnel                                \traps.json
vehicle_data > sound_volume                            \traps.json
visibility                                             \traps.json

priority                                               \vehicleparts\vp_categories.json
short_name                                             \vehicleparts\vp_categories.jsonemissions
exhaust                                                \vehicleparts\vehicle_parts.json
power                                                  \vehicleparts\alternator.json
size                                                   \vehicleparts\boards.json
workbench                                              \vehicleparts\vehicle_parts.json
zones                                                  \vehicles\factional.json

num_args                                               \weather_type.json
return                                                 \weather_type.json
sym                                                    \weather_type.json

can_be_personal                                        \zones.json

effect > alter_timed_events                            \portal_storm_effect_on_condition.json
effect > assign_mission                                \effect_on_condition.json
effect > beta_loc                                      \monsters\zed_lieutenant.json
effect > cases                                         \effect_on_condition.json
effect > count                                         \effect_on_condition.json
effect > custom_light_level                            \effect_on_condition.json
effect > descriptions                                  \example_eocs.json
effect > friendly                                      \portal_storm_effect_on_condition.json
effect > group                                         \effect_on_condition.json
effect > hallucination_count                           \portal_storm_effect_on_condition.json
effect > hide_failing                                  \example_eocs.json
effect > indoor_only                                   \effect_on_condition.json
effect > keys                                          \example_eocs.json
effect > lifespan                                      \portal_storm_effect_on_condition.json
effect > length                                        \effect_on_condition.json
effect > mapgen_update                                 \effect_on_condition.json
effect > outdoor_event                                 \effect_on_condition.json
effect > real_count                                    \effect_on_condition.json
effect > sound                                         \effect_on_condition.json
effect > sound_effect                                  \effect_on_condition.json
effect > spawn_message                                 \portal_storm_effect_on_condition.json
effect > spawn_message_plural                          \portal_storm_effect_on_condition.json
effect > names                                         \example_eocs.json
effect > success_message                               \portal_storm_effect_on_condition.json
effect > switch                                        \effect_on_condition.json
effect > ter_furn_transform                            \portal_storm_effect_on_condition.json
effect > time                                          \generalized_eocs.json
effect > type                                          \effect_on_condition.json
effect > unique_ids                                    \effect_on_condition.json
effect > value                                         \effect_on_condition.json
effect > variables                                     \example_eocs.json
effect > weighted_list_eocs                            \effect_on_condition.json
effect > suppress_message                              \talk_vitrified.json
ampersand55 commented 1 year ago

Here are some JSON flags not documented in JSON_FLAGS.md. This list should be exhaustive:

EDIT: I didn't check for flags documented elsewhere (e.g. MAGIC.md), so there might be some false positives.

ABLATIVE_CHAINMAIL_ARMS                  \items\armor\brigandine.json
ABLATIVE_CHAINMAIL_ELBOWS                \items\armor\brigandine.json
ABLATIVE_CHAINMAIL_KNEES                 \items\armor\brigandine.json
ABLATIVE_CHAINMAIL_LEGS                  \items\armor\brigandine.json
ABLATIVE_CHAINMAIL_TORSO                 \items\armor\brigandine.json
ABLATIVE_HELMET                          \items\armor\robofac_armor.json
ABLATIVE_MANTLE                          \items\armor\robofac_armor.json
ABLATIVE_SKIRT                           \items\armor\robofac_armor.json
ACIDBLOOD                                \mutations\mutations.json
ACT_IN_FIRE                              \items\tool\explosives.json
ALBINO                                   \mutations\mutations.json
ALLERGEN_MILK                            \items\comestibles\meat_dishes.json
ALLOWS_TAIL                              \items\armor\brigandine.json
ALLOWS_TALONS                            \items\armor\bespoke_armor\custom_gloves.json
ALLOW_TERRAIN_UNDER_OTHER_DATA           \npcs\refugee_center\surface_staff\Smokes\free_merchant_shopkeep_missions.json
ANIMAL_PRODUCT                           \items\comestibles\dairy.json
APPLIANCE                                \furniture_and_terrain\appliances.json
ARCADE                                   \furniture_and_terrain\appliances.json
BAD_TASTE                                \items\comestibles\carnivore.json
BATTERY                                  \vehicleparts\battery.json
BATTERY_HEAVY                            \items\battery.json
BATTERY_LIGHT                            \items\battery.json
BATTERY_MEDIUM                           \items\battery.json
BATTERY_ULTRA_LIGHT                      \items\battery.json
BG_OTHER_SURVIVORS_STORY                 \npcs\BG_traits.json
BG_SURVIVAL_STORY                        \npcs\BG_traits.json
BIONIC_FUEL_SOURCE                       \items\tool\integrated.json
BIONIC_WEAPON_MELEE                      \items\melee\fake.json
BIO_SHOCKPROOF                           \bionics.json
BIRD                                     \items\comestibles\other.json
BOARD_INTERNAL                           \vehicleparts\vehicle_parts.json
BRASS_CATCHER                            \items\gunmod\brass_catcher.json
BURNOUT                                  \items\items_holiday.json
CABLE_PORTS                              \vehicleparts\vehicle_parts.json
CALORIES_INTAKE                          \items\tool\electronics.json
CAMERA_PRO                               \items\tool\electronics.json
CAN_BE_CULLED                            \monsters\bird.json
CAN_HAVE_CHARGES                         \items\generic.json
CAPTURE_MONSTER_VEH                      \vehicleparts\vehicle_parts.json
CATTLE                                   \items\comestibles\other.json
CBM                                      \items\bionics.json
CHANGING                                 \mutations\mutations.json
CHOKE                                    \items\gun\robofac_gun.json
CLAIRVOYANCE_PLUS                        \mutations\mutations.json
CLIMBABLE                                \furniture_and_terrain\furniture-barriers.json
CLIMB_SIMPLE                             \furniture_and_terrain\furniture-barriers.json
COLLAPSED_STOCK                          \items\gunmod\stock.json
COLLAPSE_CONTENTS                        \items\containers\containers.json
COMBAT_MOUNT                             \monsters\mammal.json
COOP_CARD                                \furniture_and_terrain\terrain-mechanisms.json
CUT_HARVEST                              \items\comestibles\raw_grain.json
DISCOUNT_VALUE_1                         \items\generic.json
DISCOUNT_VALUE_2                         \items\generic.json
DISCOUNT_VALUE_3                         \items\generic.json
DONT_REMOVE_ROTTEN                       \furniture_and_terrain\furniture-domestic_plants.json
DOOR_LOCKING                             \vehicleparts\vehicle_parts.json
DROP_ACTION_ONLY_IF_LIQUID               \items\chemicals_and_resources.json
EASY_CLEAN                               \items\classes\gun.json
EFFECT_LIMB_SCORE_MOD_LOCAL              \effects.json
EMITTER                                  \furniture_and_terrain\terrain-nether.json
ENABLED_DRAINS_EPOWER                    \furniture_and_terrain\appliances.json
ENHANCED_VISION                          \bionics.json
ERASE_ALL_BEFORE_PLACING_TERRAIN         \npcs\robofac\robofac_ancilla_npcs\BAR_ENCOUNTER_MERCENARIES\BEM_human_sample.json
EXTRA_PLATING                            \items\armor\torso_armor.json
E_DIESEL_FUEL                            \furniture_and_terrain\appliances.json
Exodii_Body                              \mutations\cybernetic_traits.json
FELINE                                   \items\comestibles\other.json
FIN                                      \items\armor\boots.json
FLAMING                                  \items\tool\fire.json
FLASH_PROTECTION                         \items\armor\eyewear.json
FLOATS                                   \vehicleparts\vehicle_parts.json
FLUIDTANK                                \furniture_and_terrain\appliances.json
FOLDED_STOCK                             \items\gunmod\stock.json
FORAGE_POISON                            \items\comestibles\mushroom.json
FRESH_GRAIN                              \items\comestibles\raw_grain.json
FULL_BOARD                               \vehicleparts\boards.json
GASFILTER_MED                            \items\magazine\filter.json
GASFILTER_SM                             \items\magazine\filter.json
GASTANK                                  \vehicleparts\tanks.json
GAS_PROOF                                \items\armor\suits_protection.json
GAS_TANK                                 \items\containers\containers.json
GEMSTONE                                 \items\generic.json
GNV_EFFECT                               \items\armor\robofac_armor.json
HALF_BOARD                               \vehicleparts\boards.json
HARD                                     \items\generic\storage.json
HEATED_TANK                              \vehicleparts\tanks.json
HELMET_AVENTAIL                          \items\armor\head_attachments.json
HELMET_BACK_POUCH                        \items\armor\head_attachments.json
HELMET_EAR_ATTACHMENT                    \items\armor\head_attachments.json
HELMET_FACE_SHIELD                       \items\armor\head_attachments.json
HELMET_HEAD_ATTACHMENT                   \items\tool\lighting.json
HELMET_MANDIBLE_GUARD                    \items\armor\head_attachments.json
HELMET_MANDIBLE_GUARD_STRAPPED           \items\armor\head_attachments.json
HELMET_NAPE_PROTECTOR                    \items\armor\head_attachments.json
HOSTILE_50                               \artifact\altered_object_active.json
HOSTILE_SUMMON                           \artifact\altered_object_active.json
HURT_WHEN_WIELDED                        \items\ammo.json
IGNITE_FLAMMABLE                         \items\gun\artisan_guns.json
IGNORE_WALLS                             \artifact\altered_object_active.json
INDUSTRIAL_CARD                          \furniture_and_terrain\terrain-mechanisms.json
INSECTBLOOD                              \mutations\mutations.json
INSTALL_DIFFICULT                        \items\gunmod\mechanism.json
INVERTEBRATEBLOOD                        \mutations\mutations.json
IRREPLACEABLE_CONSUMABLE                 \items\ammo\10mm.json
IR_EFFECT                                \items\armor\robofac_armor.json
IS_ARMOR                                 \items\gunmod\accessories.json
JAVELIN                                  \items\melee\spears_and_polearms.json
LASER_SIGHT                              \items\gun\robofac_gun.json
LOCKABLE_DOOR                            \vehicleparts\doors.json
LOCKED                                   \furniture_and_terrain\terrain-doors.json
LOUD                                     \artifact\legacy_artifact_active.json
LOW_FINAL_AIR_DRAG                       \vehicleparts\doors.json
LUPINE                                   \items\comestibles\carnivore.json
MAG_BELT                                 \items\classes\magazine.json
MAP_MIRROR_HORIZONTAL_IF_E               \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_MIRROR_HORIZONTAL_IF_N               \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_MIRROR_HORIZONTAL_IF_S               \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_MIRROR_HORIZONTAL_IF_W               \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_180_IF_S                      \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_180_IF_SE                     \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_270_IF_SW                     \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_270_IF_W                      \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_90_IF_E                       \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
MAP_ROTATE_90_IF_NE                      \recipes\basecamps\expansion\recipe_modular_canteen\version_2\recipe_modular_canteen_common.json
METHANOL_TANK                            \items\magazine\methanol_fuelcell.json
MILITARY_CARD                            \furniture_and_terrain\terrain-mechanisms.json
MODE_BURST                               \items\gun\flammable.json
MOUSE                                    \items\comestibles\raw_grain.json
MUNDANE                                  \items\armor\bespoke_armor\custom_bodysuits.json
MUST_HAVE_CLASS_TO_LEARN                 \mutations\mutation_spells.json
MUTAGEN_SAMPLE                           \items\mutagen_ingredients.json
MYCUS_IMMUNE                             \field_type.json
NANOFAB_REPAIR                           \items\tool_armor.json
NANOFAB_TABLE                            \furniture_and_terrain\terrain-manufactured.json
NANOFAB_TEMPLATE                         \items\generic.json
NEEDS_JACKING                            \vehicleparts\wheel.json
NEEDS_NO_LUBE                            \items\gun\ups.json
NEEDS_WHEEL_MOUNT_SKATEBOARD             \vehicleparts\wheel.json
NO_BONUS_ITEMS                           \professions.json
NO_CLEAN                                 \items\armor\exotic.json
NO_DISPLAY                               \vitamin.json
NO_EXPLOSION_SFX                         \artifact\altered_object_active.json
NO_FAIL                                  \bionic_spells.json
NO_HANDS                                 \artifact\legacy_artifact_active.json
NO_LEGS                                  \artifact\legacy_artifact_active.json
NO_PROJECTILE                            \artifact\altered_object_active.json
NO_RESIZE                                \recipes\armor\hands.json
NO_ROOF_NEEDED                           \vehicleparts\boards.json
NO_SELF_CONNECT                          \furniture_and_terrain\furniture-appliances.json
NPC_SAFE                                 \items\comestibles\med.json
NUMB                                     \mutations\mutations.json
NYCTOPHOBIA                              \mutations\mutations.json
OBSOLETE                                 \items\armor\bespoke_armor\cuttingroom.json
PAIN_IMMUNE                              \mutations\mutations.json
PALS_LARGE                               \items\armor\ammo_pouch.json
PALS_MEDIUM                              \items\armor\ammo_pouch.json
PALS_SMALL                               \items\armor\ammo_pouch.json
PAPER_SHAPED                             \items\book\maps.json
PARALYZEVENOM                            \monsters\triffid.json
PERCENTAGE_DAMAGE                        \item_spell_effects.json
PERMANENT                                \artifact\legacy_artifact_active.json
PLANTABLE_SEED                           \items\comestibles\other.json
PLANTBLOOD                               \mutations\mutations.json
RABBIT                                   \items\generic.json
RADIO_INVOKE_PROC                        \items\ammo\sling-ready_grenade.json
RAD_DETECT                               \items\armor\jewelry.json
RAIL                                     \furniture_and_terrain\terrain-railroads.json
RAMP_DOWN                                \furniture_and_terrain\terrain-zlevel-transitions.json
RAMP_UP                                  \furniture_and_terrain\terrain-zlevel-transitions.json
RANDOM_AOE                               \monster_special_attacks\monster_deaths.json
RANDOM_DAMAGE                            \artifact\altered_object_active.json
RANDOM_DURATION                          \artifact\legacy_artifact_active.json
RANDOM_TARGET                            \artifact\legacy_artifact_active.json
RAT                                      \items\comestibles\raw_grain.json
REBREATHER                               \items\tool_armor.json
REBREATHER_CART                          \items\magazine\filter.json
REMOVED_STOCK                            \items\gunmod\stock.json
ROBOFAC_ROBOT_MEDIUM                     \items\corpses\inactive_bots.json
ROBOFAC_ROBOT_SMALL                      \items\corpses\inactive_bots.json
ROCKWHEEL                                \vehicleparts\engineering.json
ROTOR                                    \vehicleparts\rotor.json
RUBBLE                                   \furniture_and_terrain\furniture-rural.json
SCIENCE_CARD                             \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MAINTENANCE_BLUE            \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MAINTENANCE_GREEN           \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MAINTENANCE_YELLOW          \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MEDICAL_RED                 \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MUTAGEN_CYAN                \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MUTAGEN_GREEN               \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MUTAGEN_PINK                \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_MU_UNIVERSAL                \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_SECURITY_BLACK              \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_SECURITY_MAGENTA            \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_SECURITY_YELLOW             \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_TRANSPORT_1                 \furniture_and_terrain\terrain-mechanisms.json
SCIENCE_CARD_VISITOR                     \furniture_and_terrain\terrain-mechanisms.json
SEAT_REQUIRES_BALANCE                    \vehicleparts\frames.json
SELF_JACK                                \vehicleparts\engineering.json
SHEATH_BOW                               \items\ranged\archery.json
SHEATH_SPEAR                             \items\melee\bludgeons.json
SILENT                                   \artifact\legacy_artifact_active.json
SILENT_DISAPPEAR                         \monsters\nether.json
SLUDGE_IMMUNE                            \field_type.json
SMALL_HIDER                              \monsters\insect_spider.json
SMART_ENGINE_CONTROLLER                  \vehicleparts\vehicle_parts.json
SOFT                                     \items\armor\bespoke_armor\custom_headgear.json
SOLARPACK_ON                             \items\tool_armor.json
SOMATIC                                  \monster_special_attacks\spells.json
SPAWN_ACTIVE                             \items\armor\exotic.json
SPAWN_GROUP                              \monster_special_attacks\spells.json
SPAWN_WITH_DEATH_DROPS                   \monster_special_attacks\monster_deaths.json
SPIRITUAL                                \mutations\mutations.json
SPLINT                                   \items\tool_armor.json
STAR_PLATE                               \items\armor\exotic.json
STAR_SHOULDER                            \items\armor\exotic.json
STAR_SKIRT                               \items\armor\exotic.json
STRICT_HUMANITARIANISM                   \items\comestibles\carnivore.json
SUNBURN                                  \mutations\mutations.json
SUPER_CLAIRVOYANCE                       \mutations\mutations.json
SUR_START                                \scenarios.json
TOBACCO                                  \items\generic.json
TOUGH_FEET                               \items\armor\integrated.json
TOURNIQUET                               \items\tool_armor.json
TOW_CABLE                                \items\tool\cables.json
TWO_WAY_RADIO                            \items\fake.json
UNCRAFT_BY_CHARGE                        \recipes\recipe_deconstruction.json
UNDERSIZE                                \items\armor\ammo_pouch.json
UNSAFE_TELEPORT                          \artifact\legacy_artifact_active.json
USE_POWER_WHEN_HIT                       \items\tool_armor.json
VEH_TOOLS                                \vehicleparts\modular_tools.json
VERBAL                                   \artifact\legacy_artifact_active.json
WALK_UNDERWATER                          \mutations\mutations.json
WALL_MOUNTED                             \furniture_and_terrain\appliances.json
WATER_CUBE                               \furniture_and_terrain\terrain-liquids.json
WHEEL_MOUNT_SKATEBOARD                   \vehicleparts\wheel.json
WINDSHIELD                               \vehicleparts\windshields.json
WIRING                                   \furniture_and_terrain\appliances.json
WONDER                                   \artifact\legacy_artifact_active.json
WONT_TRAIN_MARKSMANSHIP                  \items\gun\nail.json
W_DISABLED_BY_DEFAULT                    \ui\body_graph.json
W_DISABLED_WHEN_EMPTY                    \ui\radiation.json
W_DYNAMIC_HEIGHT                         \ui\bodypart_status.json
W_LABEL_NONE                             \ui\activity.json
W_NO_PADDING                             \ui\hp.json
Z_TRANSPARENT                            \furniture_and_terrain\terrain-zlevel-transitions.json
hair_black                               \mutations\mutation_appearance.json
hair_blond                               \mutations\mutation_appearance.json
hair_brown                               \mutations\mutation_appearance.json
hair_crewcut                             \mutations\mutation_appearance.json
hair_fro                                 \mutations\mutation_appearance.json
hair_gray                                \mutations\mutation_appearance.json
hair_long                                \mutations\mutation_appearance.json
hair_medium                              \mutations\mutation_appearance.json
hair_mohawk                              \mutations\mutation_appearance.json
hair_red                                 \mutations\mutation_appearance.json
hair_short                               \mutations\mutation_appearance.json
hair_white                               \mutations\mutation_appearance.json
mycus                                    \mutations\mutations.json
Zireael07 commented 1 year ago

hair being defined in mutation_appearance makes sense since hair is done as a mutation

ampersand55 commented 1 year ago

Yea, I have no problem with that, I have a problem with it being an undocumented flag.

I don't understand why haircuts are flags while facial hair, skin tones and eye colours are not. I can't find any instances of the haircut flags being checked or used, nor conceive a scenario where you would want to check for hair color but not skin colour.

Zireael07 commented 1 year ago

Ah, I misread that since it's a giant list post

Standing-Storm commented 1 year ago

It looks like all the MAGIC.md-defined flags (SOMATIC, HOSTILE_50, etc) made it into the flag list above. I thought JSON_FLAGS.md had a link to MAGIC.md but on double-checking I can't find one.

ampersand55 commented 1 year ago

Yea, I only checked JSON_FLAGS.md for the flags.

GuardianDll commented 1 year ago

Effects of effect_on_condition are also documented in NPC.md and EFFECT_ON_CONDITIONS.md Despite some flaws, it's a useful information, im working on documenting some of this stuff

ampersand55 commented 1 year ago

Yea, looking back I see that many effects used in portal_storm_effect_on_condition.json are documented in NPC.md. I didn't think to check there as it doesn't intuitively make sense, which is another problem.

I had to check many fields manually as some fields have the same name, such as "width" which means different things for sidebars, animals and wheels. Especially effects were messy as most were very nested and there's probably some errors there.

GuardianDll commented 3 months ago

I adressed most of this in linked PRs, so if there is something i missed, feel free to reopen it