Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make existing math comparative operators single string #77808

Merged

Conversation

Procyonae
Copy link
Contributor

@Procyonae Procyonae commented Nov 13, 2024

Summary

None

Purpose of change

Support was added for single string math comparison a while back but the docs haven't been updated and the plethora of existing uses means that the uglier method will continue to be used forever unless we update them

Describe the solution

Replaces ", "<operator>", " with <operator>
Full manual review
Update docs to reflect that conditional operations can be single string
Purposefully avoids changing uses currently over multiple lines (with \",[ \n\r]*\"<operator>\",[ \n\r]*\") as anything long enough for that likely benefits in readability by splitting the strings

Describe alternatives you've considered

Waiting until assignment operators also support single string
Letting peeps cargo cult the uglier method forever

Testing

Game loads

Additional context

I purposefully waited until #77661 was merged to make this but somehow forgot to rebase before starting so still had to deal with all the merge conflicts ;D

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. NPC / Factions NPCs, AI, Speech, Factions, Ownership Info / User Interface Game - player communication, menus, etc. [JSON] Changes (can be) made in JSON Missions Quests and missions Bionics CBM (Compact Bionic Modules) Map / Mapgen Overmap, Mapgen, Map extras, Map display Items: Food / Vitamins Comestibles and drinks Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies Code: Tests Measurement, self-control, statistics, balancing. Monsters Monsters both friendly and unfriendly. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [Markdown] Markdown issues and PRs Melee Melee weapons, tactics, techniques, reach attack Scenarios New Scenarios, balancing, bugs with scenarios Mechanics: Weather Rain, snow, portal storms and non-temperature environment Mods: Magiclysm Anything to do with the Magiclysm mod Mods: Aftershock Anything to do with the Aftershock mod Mechanics: Enchantments / Spells Enchantments and spells Martial Arts Arts, Techniques, weapons and anything touching martial arts. Limbs Limbs, mutable limbs, and code related to them. labels Nov 13, 2024
@github-actions github-actions bot added Mods: Defense Mode Anything to do with the Defense Mode mod Mods: MMA Mythical Martial Arts mod EOC: Effects On Condition Anything concerning Effects On Condition Mods: Innawood 🌲 Anything to do with Innawood mod Mods: Desert Region Anything relating to the Desert Region mod Mods: Xedra Evolved Anything to do with Xedra Evolved Mods: Bombastic Perks Mods: Mind Over Matter Mods: Sky Island Anything about the Sky Island mod Mods: Isolation Protocol ☣ The total conversion mod Isolation Protocol labels Nov 13, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

[JSON & C++ formatters](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/DEVELOPER_TOOLING.md)

[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "not": { "u_has_mission": "MISSION_LUKE_RETRIEVE_TRUCK" } },
{ "math": [ "isherwood_luke_truck_status < 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"math": [ "time_since(u_timer_artisans_u_waiting_on_armor, 'unit':'days') >= u_number_artisans_blacksmith_wait*7" ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"trial": {
"type": "CONDITION",
"condition": { "math": [ "time_since(n_time_mission_meteorologist_wait) >= time('2 d')" ] }
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "u_has_perception": 10 },
{ "math": [ "u_skill('mechanics') >= 4" ] },
{ "math": [ "u_skill('gun') >= 2" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"or": [ { "math": [ "u_hub01_good_candidate == 1" ] }, { "math": [ "u_hub01_completed_missions >= 2" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "hub01_uhmwpe_researched != 1" ] },
{ "math": [ "has_var(u_dialogue_hub_rnd_u_gave_armor_disk)" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') <= 4500" ] }, { "math": [ "u_val('body_temp_delta') > 3000" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') <= 3000" ] }, { "math": [ "u_val('body_temp_delta') > 1500" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') < -1500" ] }, { "math": [ "u_val('body_temp_delta') >= -3000" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') < -3000" ] }, { "math": [ "u_val('body_temp_delta') >= -4500" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

{
"id": "40%",
"color": "h_yellow",
"sym": "2",
"condition": { "math": [ "u_val('power_percentage') > 39" ] }
},
{
"id": "60%",
"color": "h_yellow",
"sym": "3",
"condition": { "math": [ "u_val('power_percentage') > 59" ] }
},
{
"id": "80%",
"color": "h_yellow",
"sym": "4",
"condition": { "math": [ "u_val('power_percentage') > 79" ] }
},
{
"id": "99%",
"color": "h_yellow",
"sym": "5",
"condition": { "math": [ "u_val('power_percentage') > 99" ] }
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -60" ] }, { "math": [ "u_val('instant_thirst') < -20" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -20" ] }, { "math": [ "u_val('instant_thirst') < 0" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= 0" ] }, { "math": [ "u_val('instant_thirst') <= 40" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 40" ] }, { "math": [ "u_val('instant_thirst') <= 80" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 80" ] }, { "math": [ "u_val('instant_thirst') <= 240" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 240" ] }, { "math": [ "u_val('instant_thirst') <= 450" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 450" ] }, { "math": [ "u_val('instant_thirst') <= 520" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"id": "m_o",
"sym": "",
"color": "c_white",
"condition": { "math": [ "u_val('bmi_permil') > 20000" ] }
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"id": "sk",
"sym": "",
"color": "c_yellow",
"condition": { "math": [ "u_val('bmi_permil') <= 1000" ] }
},
{
"id": "sk",
"sym": " ",
"color": "c_brown",
"condition": { "math": [ "u_val('bmi_permil') <= 1000" ] }
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"id": "m_o",
"sym": " ",
"color": "c_brown",
"condition": { "math": [ "u_val('bmi_permil') > 20000" ] }
},
{
"id": "m_o",
"sym": "",
"color": "c_red",
"condition": { "math": [ "u_val('bmi_permil') > 20000" ] }
},
{
"id": "m_o",
"sym": "",
"color": "c_brown",
"condition": { "math": [ "u_val('bmi_permil') > 20000" ] }
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 240" ] }, { "math": [ "u_val('instant_thirst') <= 520" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 80" ] }, { "math": [ "u_val('instant_thirst') <= 240" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 40" ] }, { "math": [ "u_val('instant_thirst') <= 80" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= 0" ] }, { "math": [ "u_val('instant_thirst') <= 40" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -20" ] }, { "math": [ "u_val('instant_thirst') < 0" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -60" ] }, { "math": [ "u_val('instant_thirst') < -20" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 240" ] }, { "math": [ "u_val('instant_thirst') <= 520" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 80" ] }, { "math": [ "u_val('instant_thirst') <= 240" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') > 40" ] }, { "math": [ "u_val('instant_thirst') <= 80" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= 0" ] }, { "math": [ "u_val('instant_thirst') <= 40" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -20" ] }, { "math": [ "u_val('instant_thirst') < 0" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('instant_thirst') >= -60" ] }, { "math": [ "u_val('instant_thirst') < -20" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ "is_day", { "math": [ "weather('pressure') >= 1020" ] }, { "math": [ "weather('humidity') < 70" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "weather('temperature') >= from_fahrenheit( 33 )" ] },
{ "math": [ "weather('windpower') >= 15" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "weather('temperature') < from_fahrenheit( 33 )" ] },
{ "math": [ "weather('windpower') >= 15" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

{
"math": [ "distance(_weather_location, portal_storm_center) <= value_or(portal_storm_distance, 50)" ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_vitamin('vitamin_afs_maintained_powers') > 0" ] }, { "math": [ "u_val('focus') >= 15" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_see_electric') >= 0" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_shock_touch') >= 0" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_zap_enemies') >= 0" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_personal_battery') >= 0" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_recharge_vehicle') >= 0" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "AFS_TELEPATH" }, { "math": [ "u_spell_level('afs_telepathic_mind_sense') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "AFS_TELEPATH" }, { "math": [ "u_spell_level('afs_telepathic_suggestion') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_vitamin('blood') >= -15000" ] }, { "math": [ "u_vitamin('redcells') >= -15000" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_hp('head') / u_hp_max('head') <= 0.5" ] },
{ "math": [ "u_hp('torso') / u_hp_max('torso') <= 0.5" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

{
"and": [ { "math": [ "u_skill('unarmed') >= 2" ] }, { "math": [ "u_skill('cutting') >= 1" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"and": [ { "math": [ "u_skill('unarmed') >= 2" ] }, { "math": [ "u_skill('bashing') >= 1" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"and": [ { "math": [ "u_skill('unarmed') >= 2" ] }, { "math": [ "u_skill('stabbing') >= 1" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"or": [ { "math": [ "u_skill('melee') >= 2" ] }, { "math": [ "u_skill('gun') >= 2" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_ISO_CURRENT_LEVEL_DANGER >= 15" ] }, { "math": [ "u_ISO_CURRENT_LEVEL_DANGER < 20" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_ISO_CURRENT_LEVEL_DANGER >= 20" ] }, { "math": [ "u_ISO_CURRENT_LEVEL_DANGER < 25" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

{
"or": [ { "math": [ "u_vitamin('mutagen_bird') >= 200" ] }, { "math": [ "u_vitamin('mutagen_raptor') >= 200" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"if": { "math": [ "u_calories() <= 118000" ] },
"then": { "math": [ "u_calories()", "+=", "7" ] }
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_see_electric') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_shock_touch') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_zap_enemies') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_melee_attacks') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_paralysis') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_reduce_pain') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_pain_immune') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_speed_boost') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "ELECTROKINETIC" }, { "math": [ "u_spell_level('electrokinetic_kill_robot') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "PHOTOKINETIC" }, { "math": [ "u_spell_level('photokinetic_create_light') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "PHOTOKINETIC" }, { "math": [ "u_spell_level('photokinetic_rad_immunity') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "PHOTOKINETIC" }, { "math": [ "u_spell_level('photokinetic_invisibility') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "PHOTOKINETIC" }, { "math": [ "u_spell_level('photokinetic_blinding_glare') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "PYROKINETIC" }, { "math": [ "u_spell_level('pyrokinetic_flame_immunity') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "TELEPATH" }, { "math": [ "u_spell_level('telepathic_animal_mind_control') >= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level_sum('school': 'TELEPATH') >= 50" ] }, { "u_has_trait": "STRICT_HUMANITARIAN" } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level_sum('school': 'TELEPATH') >= 70" ] }, { "not": { "u_has_trait": "SAVANT" } } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level_sum('school': 'TELEPATH') >= 110" ] }, { "u_has_trait": "SEASONAL_AFFECTIVE" } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level_sum('school': 'TELEPATH') >= 80" ] }, { "not": { "u_has_trait": "STYLISH" } } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_vitamin('vitamin_maintained_powers') > 0" ] }, { "math": [ "u_val('focus') >= 15" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_vitamin('vitamin_maintained_powers') > 0" ] }, { "math": [ "u_val('focus') >= 20" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "test_eoc": "EOC_CONDITION_SPELLCASTING_FINISH_TRAIT_AND_SCHOOL_LIST" },
{ "math": [ "u_val('focus') >= 15" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "perk_burning_bright" }, { "math": [ "u_vitamin('vitamin_maintained_powers') == 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"or": [ { "math": [ "u_pain() == 0" ] }, { "math": [ "u_vitamin('vitamin_maintained_powers') == 0" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_trait": "perk_phoenix_rising" }, { "math": [ "u_vitamin('vitamin_psionic_drain') >= 155" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('telepathic_morale') >= 1" ] },
{ "not": { "npc_has_trait": "NPC_TELEPATHY_IMMUNE" } }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('telepathic_morale') >= 1" ] },
{ "not": { "npc_has_trait": "NPC_TELEPATHY_IMMUNE" } }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('telepathic_morale') >= 1" ] },
{ "not": { "npc_has_trait": "NPC_TELEPATHY_IMMUNE" } }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_breathe_skin') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_flexibility') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_armor_skin') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_climate_control') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('biokin_dash') >= 8" ] },
{ "math": [ "u_spell_level('biokin_enhance_mobility') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_adrenaline') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_hammerhand') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('biokin_dash') >= 8" ] },
{ "math": [ "u_spell_level('biokin_flexibility') >= 8" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_reflex_enhance') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_sealed_system') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('biokin_dash') >= 6" ] },
{ "math": [ "u_spell_level('biokin_adrenaline') >= 9" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_combat_dance') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('biokin_combat_dance') >= 6" ] },
{ "math": [ "u_spell_level('biokin_dash') >= 12" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "BIOKINETIC" } }, { "math": [ "u_spell_level('biokin_hurricane_blows') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_danger_sense') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_spot_weakness') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_see_auras') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_dodge_power') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_craft_bonus') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_perfect_shot') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('clair_danger_sense') >= 6" ] },
{ "math": [ "u_spell_level('clair_aura_sight') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_clear_sight') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('clair_clear_sight') >= 6" ] },
{ "math": [ "u_spell_level('clair_voyance') >= 9" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('clair_see_map') >= 8" ] },
{ "math": [ "u_spell_level('clair_voyance') >= 9" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_group_tactics') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('clair_see_map') >= 8" ] },
{ "math": [ "u_spell_level('clair_voyance') >= 14" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "CLAIRSENTIENT" } }, { "math": [ "u_spell_level('clair_omniscience') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_zap_enemies') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_melee_attacks') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_paralysis') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_reduce_pain') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_pain_immune') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_speed_boost') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "ELECTROKINETIC" } },
{ "math": [ "u_spell_level('electrokinetic_kill_robot') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "PHOTOKINETIC" } },
{ "math": [ "u_spell_level('photokinetic_light_up_enemy') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "PHOTOKINETIC" } },
{ "math": [ "u_spell_level('photokinetic_rad_immunity') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PHOTOKINETIC" } }, { "math": [ "u_spell_level('photokinetic_radio') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "PHOTOKINETIC" } },
{ "math": [ "u_spell_level('photokinetic_invisibility') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "PHOTOKINETIC" } },
{ "math": [ "u_spell_level('photokinetic_blinding_glare') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_cauterize') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_cloak') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_lance') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_aura') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('pyrokinetic_cloak') >= 10" ] },
{ "math": [ "u_spell_level('pyrokinetic_aura') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "PYROKINETIC" } },
{ "math": [ "u_spell_level('pyrokinetic_flame_immunity') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_blast') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "PYROKINETIC" } }, { "math": [ "u_spell_level('pyrokinetic_aoe_blast') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_noise') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telekinetic_push') >= 4" ] },
{ "math": [ "u_spell_level('telekinetic_noise') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_slam_down') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('telekinetic_push') >= 5" ] },
{ "math": [ "u_spell_level('telekinetic_pull') >= 5" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_momentum') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_slowfall') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_wave') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telekinetic_pull') >= 6" ] },
{ "math": [ "u_spell_level('telekinetic_push') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_strength') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telekinetic_wave') >= 4" ] },
{ "math": [ "u_spell_level('telekinetic_push') >= 8" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_hammer') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_shield') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telekinetic_push') >= 10" ] },
{ "math": [ "u_spell_level('telekinetic_pull') >= 10" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_explosion') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telekinetic_push') >= 15" ] },
{ "math": [ "u_spell_level('telekinetic_pull') >= 15" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "TELEKINETIC" } },
{ "math": [ "u_spell_level('telekinetic_move_large_weight') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_aegis') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_mesmerize') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "not": { "u_has_trait": "TELEPATH" } },
{ "math": [ "u_spell_level('telepathic_animal_mind_control') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telepathic_blast') >= 6" ] },
{ "math": [ "u_spell_level('telepathic_morale') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_confusion') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('telepathic_blast') >= 8" ] },
{ "math": [ "u_spell_level('telepathic_morale') >= 8" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_invisibility') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('telepathic_blast') >= 11" ] },
{ "math": [ "u_spell_level('telepathic_fear') >= 7" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_blast_radius') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_beast_taming') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPATH" } }, { "math": [ "u_spell_level('telepathic_mind_control') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('teleport_phase') >= 10" ] },
{ "math": [ "u_spell_level('teleport_stride') >= 5" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('teleport_phase') >= 4" ] },
{ "math": [ "u_spell_level('teleport_slow') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPORTER" } }, { "math": [ "u_spell_level('teleport_transpose') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('teleport_phase') >= 5" ] },
{ "math": [ "u_spell_level('teleport_slow') >= 10" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPORTER" } }, { "math": [ "u_spell_level('teleport_displacement') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('teleport_slow') >= 10" ] },
{ "math": [ "u_spell_level('teleport_transpose') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPORTER" } }, { "math": [ "u_spell_level('teleport_collapse') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"or": [
{ "math": [ "u_spell_level('teleport_stride') >= 8" ] },
{ "math": [ "u_spell_level('teleport_collapse') >= 6" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('teleport_stride') >= 10" ] },
{ "math": [ "u_spell_level('teleport_farstep') >= 10" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('teleport_summon') >= 10" ] },
{ "math": [ "u_spell_level('teleport_gateway') >= 10" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "TELEPORTER" } }, { "math": [ "u_spell_level('teleport_reality_tear') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_stop_bleeding') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_remove_poison') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_cure_disease') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('vita_health_power') >= 8" ] },
{ "math": [ "u_spell_level('vita_cure_disease') >= 4" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_sleeping_trance') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_stop_infection') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_healing_trance') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_attack_touch') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_blood_purge') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_banish_illness') >= 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"if": { "math": [ "u_vitamin('redcells') < 0" ] },
"then": { "math": [ "u_vitamin('redcells')", "+=", "150" ] }
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"if": { "math": [ "u_vitamin('blood') < 0" ] },
"then": { "math": [ "u_vitamin('blood')", "+=", "150" ] }
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "not": { "u_has_mission": "SKYISLAND_UPGRADE_slaughter" } }, { "math": [ "slaughterunlocked == 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "not": { "u_has_mission": "SKYISLAND_UPGRADE_bonusmissions1" } }, { "math": [ "bonusmissions == 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "not": { "u_has_mission": "SKYISLAND_UPGRADE_bonusmissions2" } }, { "math": [ "bonusmissions == 1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "not": { "u_has_mission": "SKYISLAND_BUILD_base1" } }, { "math": [ "skyisland_build_base == 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

{
"id": "turgid",
"text": "Turgid",
"color": "green",
"condition": { "math": [ "u_val('thirst') < -60" ] }
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') <= 4500" ] }, { "math": [ "u_val('body_temp_delta') > 3000" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') <= 3000" ] }, { "math": [ "u_val('body_temp_delta') > 1500" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') < -1500" ] }, { "math": [ "u_val('body_temp_delta') >= -3000" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_val('body_temp_delta') < -3000" ] }, { "math": [ "u_val('body_temp_delta') >= -4500" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "bleed", "intensity": 1 },
{ "math": [ "u_effect_intensity('bleed', 'bodypart': _widget) < 11" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "vampire_virus", "intensity": 1 },
{ "math": [ "u_effect_intensity('vampire_virus') == 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "vampire_virus", "intensity": 2 },
{ "math": [ "u_effect_intensity('vampire_virus') == 2" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "vampire_virus", "intensity": 3 },
{ "math": [ "u_effect_intensity('vampire_virus') == 3" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_effect": "vampire_virus", "intensity": 1 },
{ "math": [ "u_effect_intensity('vampire_virus') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"deactivate_condition": {
"and": [ { "math": [ "eater_dreamer_sequence < -1" ] }, { "math": [ "inventor_dreamsmith_sequence < -1" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

{
"or": [ { "math": [ "eater_dreamer_sequence > 0" ] }, { "math": [ "inventor_dreamsmith_sequence > 0" ] } ]
}


[JSON & C++ formatters] reported by reviewdog 🐶

"if": {
"and": [ { "math": [ "u_counter_portal_storm_counter > 0" ] }, { "math": [ "magic_potential_from_ps == 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "magic_weather_light_drizzle == 1" ] }, { "math": [ "u_weather_change_limit >= 2" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "magic_weather_light_drizzle == 1" ] }, { "math": [ "u_weather_change_limit <= 0" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "u_has_trait": "UNKNOWING_CHANGELING_NOBLE" },
{ "math": [ "u_changeling_advancement_dreams_counter >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_vitamin('human_blood_vitamin') > 0" ] },
{ "math": [ "u_vitamin('human_blood_vitamin') < 1800" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "time_since(u_timer_undine_last_in_water) >= time('6 h')" ] }, { "u_has_trait": "UNDINE" } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
"u_is_outside",
{ "or": [ { "math": [ "u_val('pos_z') >= 3" ] }, { "math": [ "weather('windpower') >= 20" ] } ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('ominous_wind') >= 0" ] },
{ "math": [ "u_spell_level('ominous_wind') < 20" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('summon_air_sprite') >= 0" ] },
{ "math": [ "u_spell_level('summon_air_sprite') < 35" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('create_fog') >= 0" ] },
{ "math": [ "u_spell_level('create_fog') < dex_to_level(1)" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('grant_buoyancy') >= 0" ] },
{ "math": [ "u_spell_level('grant_buoyancy') < 20" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level('wave_rider') >= 0" ] }, { "math": [ "u_spell_level('wave_rider') < 20" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('water_pocket') >= 0" ] },
{ "math": [ "u_spell_level('water_pocket') < 20" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level('summon_fish') >= 0" ] }, { "math": [ "u_spell_level('summon_fish') < 35" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "math": [ "u_spell_level('charm_fish') >= 0" ] }, { "math": [ "u_spell_level('charm_fish') < 35" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_spell_level('summon_kraken') >= 0" ] },
{ "math": [ "u_spell_level('summon_kraken') < 35" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_weather_change_limit <= 2" ] },
{ "not": { "u_has_effect": "effect_controlling_weather_rains" } }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "u_weather_change_limit <= 3" ] },
{ "not": { "u_has_effect": "effect_controlling_weather_rainstorm" } }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"condition": {
"and": [ { "u_has_effect": "effect_hedge_increase_healing_rate" }, { "math": [ "u_val('activity_level') >= 3" ] } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"if": {
"and": [ { "math": [ "u_val('intelligence') >= 4" ] }, { "u_has_effect": "effect_skinchanged_animalistic_mind" } ]
},


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "rand(1) == 1" ] },
{ "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects') >= 1" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "rand(2) == 2" ] },
{ "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects') >= 2" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

"and": [
{ "math": [ "rand(1) == 1" ] },
{ "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects') >= 2" ] }
]


[JSON & C++ formatters] reported by reviewdog 🐶

{
"if": { "math": [ "u_val('sleepiness') < 0" ] },
"then": { "math": [ "u_val('sleepiness')", "=", "0" ] }
},

@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Nov 13, 2024
@ampersand55
Copy link
Contributor

With this chance, it would make sense for "math" to accept a string as an expression in addition to an array to simplify the json data structure.

Forgot to lint bc I'm so smart
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Nov 13, 2024
@Procyonae Procyonae force-pushed the ComparativeOperatorsSingleString branch from 0cd7f28 to 32d797b Compare November 13, 2024 18:40
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 13, 2024
@github-actions github-actions bot removed json-styled JSON lint passed, label assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Nov 18, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Nov 18, 2024
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 18, 2024
@Night-Pryanik Night-Pryanik merged commit 3fbadf1 into CleverRaven:master Nov 21, 2024
17 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions Bionics CBM (Compact Bionic Modules) Code: Tests Measurement, self-control, statistics, balancing. Crafting / Construction / Recipes Includes: Uncrafting / Disassembling <Documentation> Design documents, internal info, guides and help. EOC: Effects On Condition Anything concerning Effects On Condition Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Info / User Interface Game - player communication, menus, etc. Items: Food / Vitamins Comestibles and drinks [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Limbs Limbs, mutable limbs, and code related to them. Map / Mapgen Overmap, Mapgen, Map extras, Map display [Markdown] Markdown issues and PRs Martial Arts Arts, Techniques, weapons and anything touching martial arts. Mechanics: Enchantments / Spells Enchantments and spells Mechanics: Weather Rain, snow, portal storms and non-temperature environment Melee Melee weapons, tactics, techniques, reach attack Missions Quests and missions Mods: Aftershock Anything to do with the Aftershock mod Mods: Bombastic Perks Mods: Defense Mode Anything to do with the Defense Mode mod Mods: Desert Region Anything relating to the Desert Region mod Mods: Innawood 🌲 Anything to do with Innawood mod Mods: Isolation Protocol ☣ The total conversion mod Isolation Protocol Mods: Magiclysm Anything to do with the Magiclysm mod Mods: Mind Over Matter Mods: MMA Mythical Martial Arts mod Mods: Sky Island Anything about the Sky Island mod Mods: Xedra Evolved Anything to do with Xedra Evolved Monsters Monsters both friendly and unfriendly. Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies NPC / Factions NPCs, AI, Speech, Factions, Ownership Scenarios New Scenarios, balancing, bugs with scenarios
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants