List of all 'facts' in the game

+
List of all 'facts' in the game

Hi, I was looking for a list of all the facts that can be changed using addfact and removefact.
I queried through the script files in 'content\content0\scripts' and found a few facts, but most of them are not quest related.


tut_fight_slomo_ON
ach_counter
tut_uncovered_POI
FinalNewGamePlusLevel
started_new_game
lowest_difficulty_used
tut_dialog_started
dialog_choice_flags
dialog_choice_is_set
dialog_used_choice_flags
dialog_used_choice_is_set
debug_petards_proximity
debug_fact_inf_bombs
debug_fact_inf_bolts
dbg_force_ps_pad
q203_eyeofloki_active
player_is_the_boss
debug_fact_weak
NewGamePlus
stashMode
debug_fact_focus_boy
actor_
tut_in_dark_place
tut_alch_refill
gwint_all_cards_collected
fix_for_gwent_achievement_bug_121588
tut_near_noticeboard
player_had_quen
tut_failed_dodge
tut_failed_roll
tut_used_oil_in_combat
player_was_in_gas_area
tut_in_settlement
blocked_illusion_oneliner
io_disc_
tut_nest_blown
tut_repair_interaction
tutorial_quen_cast
ach_sign
aimthrowed_
tut_clue_interacted
tut_fm_destr_prepared
tutorial_container_open
tutorial_container_close
gwent_difficulty
tut_dismantle_cond
tutorial_upg_removal_cond
closingHubMenu
shopMode
GamePausedNotByUI
item_use_
tutorial_journal_opened
tut_high_level_quest
tutorial_fast_travel_open
tut_noticeboard_taken
statistics_cerberus_sign
statistics_cerberus_environment
statistics_cerberus_petard
statistics_cerberus_bolt
statistics_cerberus_fists
statistics_cerberus_melee
statistic_killed_in_10_sec
ColumnDeath
debug_fact_stamina_boy
debug_fact_stamina_pony
tut_crossbow_shot
tut_bomb_shot
tutorial_player_moved
tutorial_camera_moved
ClearingPotionPassiveBonusFix
DimeritiumSynergyFix
LevelReqPotGiven
Patch_Sword_s19
Patch_Armor_Type_Glyphwords
154999
SignToggled
CurrentlySelectedSign
tut_wrong_sword_silver
tut_wrong_sword_steel
tut_proper_sword_silver
tut_proper_sword_steel
tut_in_dodge
tut_in_roll
tut_received_schematic
tut_used_potion
Gwint_Card_Looted
StandAloneEP1
kill_base_tutorials
standalone_ep1
tut_stash_fresh_playthrough
tut_high_threat_monster
tut_show_silver_sword
TutorialShowSilver
tut_hardlocked
consumed_food_cnt
ach_bomb
ach_attack
MeditationWaitFinished
MeditationWaitStartDay
MeditationWaitStartHour
MeditationStarted
sq108_arrow_deflected
ach_crossbow
crossbow_was_fired
DebugPagesOff
debug_BGF_single_channels
mh_
skel_gwint_base_deck_given
tutorial_dodges_cnt
tutorial_rolls_cnt
tutorial_counters_cnt
tutorial_parries_cnt
tutorial_system_is_running
tutorial_starting_level
tutorial_interaction_container
tutorial_interaction_talk
tutorial_interaction_examine
tutorial_interaction_repair_armor
tutorial_interaction_repair_sword
tutorial_interaction_boat
tutorial_interaction_fast_travel
tutorial_interaction_campfire
tutorial_interaction_mon_nest
tutorial_interaction_craftsman
tutorial_interaction_stash
tut_light_attack_
tut_heavy_attack_
tut_guard_warning
tut_stealing
tut_forced_preparation
tutorial_craft_finished
tutorial_equip_potion
tutorial_alch_has_ings
tutorial_craft_has_ings
tut_runes_start
tut_arm_upg_start
tut_FT_interaction_finish
tut_ui_prep_oils
tutorial_alchemy_pin_done
tutorial_craft_pin_done
tut_ciri_stamina
tut_ciri_blinking
tut_ciri_charging
tutorial_boat_damaged
tut_horse_stopping

I also made a mod that tries to find facts using brute force, but I realised that it would take more than 2 days just to brute force all combinations of lower case letters, the numbers and "_" with a lenght of 7.

Here is the code I used:

Code:
exec function bruteForce(optional len : int)
{
    var i : int;
    var e : int;
    var chars : array<string>;    

    if (len == 0)
    {
        len = 5;
    }
    chars.PushBack("a");
    chars.PushBack("b");
    chars.PushBack("c");
    chars.PushBack("d");
    chars.PushBack("e");
    chars.PushBack("f");
    chars.PushBack("g");
    chars.PushBack("h");
    chars.PushBack("i");
    chars.PushBack("j");
    chars.PushBack("k");
    chars.PushBack("l");
    chars.PushBack("m");
    chars.PushBack("n");
    chars.PushBack("o");
    chars.PushBack("p");
    chars.PushBack("q");
    chars.PushBack("r");
    chars.PushBack("s");
    chars.PushBack("t");
    chars.PushBack("u");
    chars.PushBack("v");
    chars.PushBack("w");
    chars.PushBack("x");
    chars.PushBack("y");
    chars.PushBack("z");
    chars.PushBack("_");
    chars.PushBack("1");
    chars.PushBack("2");
    chars.PushBack("3");
    chars.PushBack("4");
    chars.PushBack("5");
    chars.PushBack("6");
    chars.PushBack("7");
    chars.PushBack("8");
    chars.PushBack("9");
    chars.PushBack("0");

    /*chars.PushBack("A");
    chars.PushBack("B");
    chars.PushBack("C");
    chars.PushBack("D");
    chars.PushBack("E");
    chars.PushBack("F");
    chars.PushBack("G");
    chars.PushBack("H");
    chars.PushBack("I");
    chars.PushBack("J");
    chars.PushBack("K");
    chars.PushBack("L");
    chars.PushBack("M");
    chars.PushBack("N");
    chars.PushBack("O");
    chars.PushBack("P");
    chars.PushBack("Q");
    chars.PushBack("R");
    chars.PushBack("S");
    chars.PushBack("T");
    chars.PushBack("U");
    chars.PushBack("V");
    chars.PushBack("W");
    chars.PushBack("X");
    chars.PushBack("Y");
    chars.PushBack("Z");
    chars.PushBack("1");
    chars.PushBack("2");
    chars.PushBack("3");
    chars.PushBack("4");
    chars.PushBack("5");
    chars.PushBack("6");
    chars.PushBack("7");
    chars.PushBack("8");
    chars.PushBack("9");
    chars.PushBack("0");
    chars.PushBack("_");*/
    bf(len, chars);
}

function bf(len : int, chars : array<string>)
 {
     var i : int;
    var e : int;

    var index : array<int>;
    var running : bool;
    var current_index : int;
    var current_char : int;
    var max_char : int;
    var max_index : int;
    var index_progress : int;
    var factname : string;
    var fact_result : string;
    var result : array<string>;

    running = true;
    for(i = 0; i < len; i+=1)
    {
        index.PushBack(-1);
    }
    max_char = chars.Size()-1;
    max_index = index.Size()-1;
    current_index = 0;
    current_char = 0;
    index_progress = 1;
    while(running)
    {
        factname = "";
        for(i = 0; i <= current_index; i+=1)
        {
            if (i == -1)
            {
                break;
            }
            factname += chars[index[i]];
        }


        if (FactsDoesExist(factname))
        {
            result.PushBack(factname);
        }



        if (index[current_index] < max_char)
        {
            index[current_index]+=1;
        }
        else
        {    
            index[current_index]=0;
            if (current_index > 0)
            {
                for(i = (current_index-1); i>=0;i-=1)
                {
                    if (index[i]<max_char)
                    {
                        index[i]+=1;
                        for(e = i+1; e <= index_progress; e+=1)
                        {
                            index[e] = 0;
                        }
                        break;
                    }
                    else if (i == 0)
                    {
                        if (index_progress < max_index)
                        {
                            index_progress +=1;
                            for(e = 0; e <= index_progress; e+=1)
                            {
                                index[e] = 0;
                            }
                            current_index = index_progress;
                        }
                        else
                        {
                            running = false;
                        }
                    }
                }

            }
            else
            {
                if (max_index==0)
                {
                    running = false;
                }
                else
                {
                    current_index = 1;
                    index[1]=0;
                }
            }
        }
    }

    theGame.GetGuiManager().ClearNotificationsQueue();
    theGame.GetGuiManager().ShowNotification("Found " + result.Size() + " fact(s).",1000,true);
    fact_result = "";
    e = result.Size();
    for(i = 0; i < e; i+=1)
    {
        fact_result += result[i];
        if (i < e-1)
        {
            fact_result +=", ";        
        }
    }
    theGame.GetGuiManager().ShowNotification(fact_result,-1,true);
 }

I added the code to 'content\scripts\game\player\playerCheats.ws' and then typed 'bruteForce(lenght_of_combination)' in the console.

Here are the facts I found using 6 long combinations (took me ~1 hour):
shaved
154531
154975
154997
154999

Is there any place I can look for facts? Is it, for example, somehow possible to unpack/uncook files like cookedfinal.redscipts?
 
Last edited:
You can also use the tool from here to extract all .w2phase and .w2scene files converted to text/Lua format as a single large file, and then search for lines containing "factId", for example:

grep -i -e '\<factid\>' < w3phase.txt | sed 's/^.* = "//' | sed 's/",.*$//' | sort | uniq

001_equip_swords
204t1_destroyed
204t2_destroyed
204t3_destroyed
achievement_need_for_speed
actor_keira_was_knocked_unconscious
actor_lake_harpy_was_killed
actor_lw_cp11_cyclops_was_killed
actor_menge_was_killed
actor_mh101_cockatrice_was_killed
...etc.
 
Can someone here please help me, I'm a complete noob when it comes to modding. I need two quest related id's, so I can force these two super annoying quests to finish without giving me that blasted red failed objective crap even though I finished both quest perfectly, it's an annoying bug that CD Projekt Red has refused to fix despite me asking them several times. I hope that if I force complete it through the command, it will skip the auto-fail update in the quest log thus clearing it all to green objectives. This problem tends to occur with the Oxenfurt Drunk, when that stupid vampire bat runs off, the other when I try to finish the In The Heart Of The Woods, it simply fails because you made the choice between either the young dude or the old guy, which is lame because when you make choices like that on other quest they tend to clear perfectly to GREEN in your quest log, except this one because it's buggy pretty much. So, these two quests just won't clear perfectly while ALL the others do, in other words, they're bugged basically. Can someone help me with these id's? I've been looking for some solution so long, please, I'd be really grateful. :)
 
Can someone tell me the fact id's related to the soldier statuette quest that I need to enter in order to change it from failed to complete? It's a quest I missed on both playthroughs and I don't have save to where I can go complete that anymore. I've spent over 5 hours trying to find where I can find the fact ids associated with it but have hit one wall after another. I'm only posted here because I've exhausted all other options.
 
Top Bottom