/* shortened line */ bool editable = _game_mode != GM_NORMAL || (this->slot != OWNER_DEITY && (!Company::IsValidAiID(this->slot) || Company::Get(this->slot)->ai_instance->IsDead())) || (this->slot == OWNER_DEITY && Game::GetInstance()->IsDead()) || (config_item.flags & SCRIPTCONFIG_INGAME) != 0; /* full blunt line */ bool editable = _game_mode != GM_NORMAL || (_game_mode == GM_NORMAL && this->slot == OWNER_DEITY && Game::GetInstance()->IsDead()) || (_game_mode == GM_NORMAL && this->slot == OWNER_DEITY && !Game::GetInstance()->IsDead() && (config_item.flags & SCRIPTCONFIG_INGAME) != 0) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && !Company::IsValidID(this->slot)) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && Company::IsValidAiID(this->slot) && Company::Get(this->slot)->ai_instance->IsDead()) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && Company::IsValidAiID(this->slot) && !Company::Get(this->slot)->ai_instance->IsDead() && (config_item.flags & SCRIPTCONFIG_INGAME) != 0); /* dissected line */ bool editable = _game_mode != GM_NORMAL || (_game_mode == GM_NORMAL && this->slot == OWNER_DEITY && Game::GetInstance()->IsDead()) || (_game_mode == GM_NORMAL && this->slot == OWNER_DEITY && !Game::GetInstance()->IsDead() && (config_item.flags & SCRIPTCONFIG_INGAME) != 0) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && !Company::IsValidID(this->slot)) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && Company::IsValidAiID(this->slot) && Company::Get(this->slot)->ai_instance->IsDead()) || (_game_mode == GM_NORMAL && this->slot != OWNER_DEITY && Company::IsValidAiID(this->slot) && !Company::Get(this->slot)->ai_instance->IsDead() && (config_item.flags & SCRIPTCONFIG_INGAME) != 0); /* Find out which parameters are editable */ _game_mode != GM_NORMAL // not in a game, and thus, editable _game_mode == GM_NORMAL // in a game, orange, red and green have parameters, check if they're AI or GS this->slot != OWNER_DEITY // it's an AI slot, check if it's orange, red or green this->slot == OWNER_DEITY // it's a GS slot, check IsDead /* GS Check */ Game::GetInstance()->IsDead() = true // GS is red and dead, and thus, editable Game::GetInstance()->IsDead() = false // GS is green and not dead, check flag /* AI Check */ Company::IsValidAiID(this->slot) = true // AI started this company, check if it's red or green Company::IsValidAiID(this->slot) = false // No AI started this company, or a human started it, this slot is orange or silver, but assume it as being orange, and thus, editable Company::Get(this->slot)->ai_instance->IsDead() = true // AI is red and dead, and thus, editable Company::Get(this->slot)->ai_instance->IsDead() = false // AI is green and not dead, check flag /* Flag Check */ (config_item.flags & SCRIPTCONFIG_INGAME) != 0 // flag is set, and thus, editable (config_item.flags & SCRIPTCONFIG_INGAME) == 0 // flag is not set, and thus, not editable