Unless explicitly stated, what a flag affects is easily visible by playing. Volatile values are flags that are changed often at runtime, so not easy to manually set. They are mostly not very useful. Bool values are true/false conditions. Range values can be any number. Counter values increment as the condition is met. The flag names aren't in the code, I chose them myself. Don't let them puzzle you.

Flag Name Type Comments
1..3 unused
4 undyne_trigger_override debug bool When 1, upon encountering Undyne, she will treat you as if you killed no monsters, even if you killed one.
5 fun range Chosen randomly when you start a new run, set to 0 after specific events.
6 hardmode bool
7 true_pacifist bool Post-Asriel fight status.
8 disable_random_encounters bool Receive Undyne's letter or kill Mettaton Neo. Needs confirmation if it works when set manually.
9 unaccessed
10 spared_last volatile bool
11 escaped_last volatile bool
12 killed_last volatile bool
13 bored_last volatile bool Let the battle take too long. Occurs only in the ruins.
14 status_dummy range 0 if you run away from the Dummy; 1 if you kill it; 2 if you talk to it, 3 if you bore it. The Mad Dummy's dialogue will be affected.
15 in_battle volatile bool
16 type_heart_transition volatile bool Occurs when triggering "quick" battles (i.e. Undyne's spears, lasers).
17..18 unaccessed
19 unused
20 animation_index volatile range
21 cooked_noodles bool
22 name_color range Set when you talk to the frog in the ruins. When sparing monsters: 0 for yellow names, 1 for white, 2 for pink. Also a small easter egg in the trash area if not equal to 0.
23 spared counter
24 escaped counter
25 dialogues_skipped counter
26 murderlevel_override debug range If set to anything other than 0, overrides the calculated murder level.
27 spared_specific bool If you spare specific opponents, certain events that occur with a high murder level won't happen. Similar to a "redemption" flag. If you spare any of those monsters, the game is less desolated.
28 fast_text_skip debug bool Keeping C pressed during dialogue will quickly skip sentences.
29 unused
30 tutorial_froggit_encountered bool
31 pushed_rock_1 bool
32 pushed_rock_2 bool
33 pushed_rock_3 bool
34 candy_taken range
35 pushed_rock_4 bool
36 spared_napstablook bool
37 waited_toriel bool Wait for Toriel to call you when she asks to stay in a room.
38..39 unused
40 greeted_toriel counter
41 flirted_toriel counter
42 call_mom_toriel bool In combination with flirted_toriel above, affects a few dialogues.
43 ruins_switches_pressed counter When greater than 25, changes the displayed text upon pressing a switch.
44 disobeyed_toriel counter Try to exit the ruins without asking Toriel about it first.
45 status_toriel range 0 when you enter Toriel's house for the first time, 1 when you try to leave the ruins, 3 when you fight Toriel, 4 if you kill her, 5 if you spare her.
46 choice_flavor range
47 status_creepy_tundra range Plays the creepy soundscape and shows Sans' shadow in the foreground.
48..49 unused
50 know_water_sausage bool Read about water sausages in Toriel's room. Makes you recognize the plant in Toriel's living room.
51 wrong_switches_pressed counter After a while, gives you a hint about which switch to press.
52 status_doggo range 1 if you kill Doggo, 2 if you throw him a stick and spare him.
53 status_dogcouple range 1 if you kill Dogamy and/or Dogaressa, 2 if you damage them first and then throw a stick.
54 status_greaterdog range 1 if you kill Greater Dog, 2 if you throw him a stick and spare him, 3 if you ignore him repeatedly.
55 status_lesserdog range 1 if you kill Lesser Dog, 2 if you pet him until his neck extends at max. If 2, room_ruins6 will be filled with broken dog structures.
56 status_snowman range 1 if you get a Snowman Piece from the snowman in room_tundra6A, 2 if you get another piece after disposing of the first one, 4 if you use the Snowman Piece in front of the him, 5 if you talk to the him when the flag is 4.
57 status_snowdrake range 1 if you laugh at Snowdrake's joke; 2 if you kill him, all future instances of Snowdrake with Chilldrakes.
58 choice_harder_puzzle range
59 spider_donations_total range
60 nicecream_donations_total range
61 unused
62 choice_ate_left_spaghetti range
63 xoxo_resets counter Affects the dialogue with Sans after the puzzle. Slightly different result if equals to 0 and M1 under the Sans category in undertale.ini is greater than 1.
64 toggled_snow_switch bool
65 got_snowpoff_gold bool
66 flirted_papyrus_fight bool
67 status_papyrus range -1..-3: be defeated by Papyrus, affects the notes he leaves you in the garage. 0 if you spare Papyrus, 1 if you kill him.
68 fought_papyrus bool
69 bpants_alt_dialogue debug bool Very slightly changes the dialogue with Burgerpants.
70 progress_tundra_battles counter
71 unused
72 status_inn range 1 if you stay a night, 2 if you stay a night with less than 80 gold and the flag set to 0.
73 stayed_inn bool
74 betrayed_gyftrot Set if you "betray" Gyftrot by putting a present after removing some gifts off him. Unaccessed
75 armor_papyrus_inquiry range Equals to the id of the armor you're wearing upon the first call. The combination of these affects the dialogue you get in Papyrus' second phone call.
76 choice_papyrus_inquiry range 0 if you tell Papyrus you are wearing the armor he specified, 1 otherwise.
77 armor_undyne_saw range Equals to the id of the armor Undyne saw you wear.
78 strong_tough_glove volatile bool Use a punchcard in battle while wearing the Tough Glove, increases attack.
79 nicecream_business bool 8 if you buy a nicecream in room_tundra8. Upon the second encounter, will affect Nicecream Guy's mood and determine whether he'll start dispensing punchcards.
80 punchcards_bought counter
81 status_shyren range 1 if you kill Shyren; 2 if you encourage Shyren to the max, affects the Amalgamate's dialogue in the room after the True Pacifist ending.
82 papyrus_sink_event_occurred bool
83 got_couch_gold bool
84 unaccessed Would affect the dialogue in room_water_mushroom, but it can't be accessed normally.
85 have_umbrella volatile bool
86 music_statue_on bool
87 unused
88 dated_papyrus counter 4 is the max, set when you complete the date.
89 dated_sans1 counter 2 is the max, set when you complete the first date with Sans at Grillbys.
90 choice_mkid_umbrella range 1 if you meet Monster Kid without an umbrella; 2 if, with flag set to 1, you get an umbrella and talk to him; 3 if, with flag set to 2, you dispose of the umbrella and talk to him again.
91 interacted_garbage_savepoint bool
92 status_stable range Would affect the status of the stable. It's cut-out content.
93 dated_napstablook range 1 if you talk to Napstablook in their house, 3 if you feel like garbage with them, 9 if you refuse to feel like garbage.
94 current_napstablook_song volatile range
95 aaron_woshua_event bool
96 conversation_emblem counter Gerson's conversation.
97 creepy_friend_seen bool Would prevent the NPC in room_water_prebird from repeating himself. Cut-out content.
98 saved_mkid range 0 if, when Monster Kid slips and is about fall, you exit the room; 1 if you let Undyne save him; 2 if you save him.
99 undyne_difficulty volatile counter Makes the fight more or less difficult, depending on a few factors (saved Monster Kid, how many times you died, etc.).
100 got_ribbon bool
101 unused
102 got_toyknife bool
103 got_bscotch_pie bool
104 got_quiche bool
105 got_tutu bool
106 got_ballet_shoes bool
107 got_artifact bool
108 got_spacefood bool
109 got_instant_noodles bool
110 got_frying_pan bool
111 got_apron bool
112 got_glamburger_trashcan bool
113 got_gold_trashcan bool
114 got_dagger bool
115 got_locket bool
116..129 unused
130 spared_froggit bool
131 spared_whimsun bool
132 spared_moldsmal bool
133 spared_loox bool
134 spared_vegetoid bool
135 spared_migosp bool
136 spared_snowdrake bool
137 spared_icecap bool
138 spared_gyftrot bool
139 spared_doggo bool
140 unused
141 spared_lesserdog bool
142 spared_greatdog bool
143 spared_aaron bool
144 spared_moldsmalx bool
145 spared_woshua bool
146 spared_temmie bool
147 spared_maddummy bool
148 spared_vulkin bool
149 spared_tsunderplane bool
150 spared_pyrope bool
151 spared_finalfroggit bool
152 spared_whimsalot bool
153 spared_astigmatism bool
154 spared_madjick bool
155 spared_finalknight bool
156 spared_endogeny bool
157..190 unused
191 conversation_toriel_pacifist counter
192 conversation_sans_pacifist counter
193 conversation_undyne_pacifist counter
194 unlock_napsta_pacifist bool Talk to Undyne until it invites you to go talk to Napstablook. They will be in their courtyard.
195 conversation_papyrus_pacifist counter
196 conversation_alphys_pacifist counter
197 conversation_asgore_pacifist counter
198 conversation_mettaton_pacifist counter
199 conversation_napstablook_pacifist counter
200 kills_area_pointer range Assigned when moving between areas. Points at the area-specific kill counter.
201 kills counter
202 kills_ruins counter
203 kills_tundra counter
204 kills_water counter
205 kills_hotland counter
206..220 unused
221 genocide_ruins bool
222 genocide_tundra bool
223 genocide_water bool
224 genocide_hotland bool
225 genocide_core bool
226..249 unused
250 nicecream_business2 volatile range Nicecream Guy's outlook of his business will depend on your interactions with him.
251 killed_undyne_ex bool
252 killed_glad_dummy bool
253 killed_snowman counter Take pieces of the snowman to kill him.
254 interacted_crosswords bool
255 robbed_snowdin bool
256 robbed_core bool
257..259 unused
260 used_recovery_item bool Affects the neutral ending.
261 interacted_fakedog bool Interact with the fake dog in the dev room.
262 delivered_seatea bool
263 delivered_cinnabun bool
264 delivered_hotdog bool
265 tem_sell_parameter1 range
266 tem_sell_parameter2 range
267 status_hotel range 1 the first time you stay at the hotel, 2 if you stay at the hotel again.
268 unused
269 allergy_tem_talked bool
270 glowshrooms_on bool Doesn't seem to have any effect, set when you turn 4 glowshrooms on in the mushrooms path puzzle.
271 fighting_sans volatile bool
272 geeettttttt_dunked_on volatile bool
273..274 unused
275 tundra_stick_broken range 1 when you walk past the stick, 2 when you walk further ahead.
276 temmie_college_paid bool
277 fun_call_occurred bool
278 completed_tile_puzzle bool Affects a dialogue with Papyrus on the phone.
279 interacted_clamgirl bool
280 conversation_elderpuzzles counter
281 status_sosorry range 1 if you kill So Sorry, 2 if you spare him.
282 encountered_glyde bool Encounter Glyde.
283 check_papyrus_kitchen_again bool After the date, go in Papyrus' kitchen. Prevents Glyde from appearing and affects the dialogue with Papyrus on the phone.
284 undyne_spears_anger bool When Undyne throws her 100th spear, be in room_water8.
285 unaccessed volatile range Something to do with the spear tile generation, but is unaccessed.
286 conversation_toriel_sms counter
287 conversation_sms_parameters volatile range Unclear specifics, but has to do with the amount of SMS you'll receive.
288 failed_defusing bool
289 stepped_green_tile bool
290..299 unused
300..311 dimensional_box_A range Equals to the id of the stored item. Used in storage scripts.
312..323 dimensional_box_B range
324..349 unused
350 status_undyne range 1 if you kill Undyne, 2 if you spare her, but don't give water to Undyne in Hotland.
351 undyne_hp_left range Equals to the HP Undyne died with. Unaccessed.
352 fought_undyne bool
353 poured_water_ground counter Affects the dialogue with Clamguy, creates a puddle after a while.
354 conversation_papyrus_calls counter
355 choice_maddummy range 0 if you don't interact with the Mad Dummy; 1 if you punch it; 2 if you don't.
356 completed_piano_puzzle bool
357 progress_water_battles counter
358 progress_water2_battles counter
359 unused
360..364 rain_parameters volatile range Seems to affect the rain's rendering.
365 unused
366 have_water volatile bool
367 disable_alphys_calls bool Reach the lab in a genocide run.
368 disable_alphys_statuses bool
369 conversation_alphys_statuses counter
370 quick_battle bool Enter a quick battle (i.e. lasers, spears).
371 laser1_off bool
372 laser2_on bool
373 laser2_off bool
374 completed_shoot_puzzle1 bool
375 completed_shoot_puzzle2 bool
376 conveyor_puzzle_variable volatile range Unclear, seems to be used as a position variable. Doesn't seem important.
377 failed_jetpack_segment bool
378 hot_dogs_money_spent range
379 conversation_hotdogs counter
380 headdogs counter Buy a hot dog with no space in your inventory.
381 reached_headdogs_limit bool Buy a hot dog with 30 hot dogs on your head.
382 muffet_bribe_price range Various values, depending on your performance, gold, etc.
383 muffet_bribe_money_spent range Total bribes.
384 unused
385 status_yellow_button range 1 if yellow button available, 2 if yellow button pressed.
386 reset_bridgeseed_puzzle range Unclear specifics, but seems unimportant.
387 won_ball_game bool Win the ball game in an extremely short time.
388 fall_animation_parameters range Something to do with the fall animation. Not worth looking into.
389 dated_undyne range 4 after you head outside of the flaming house.
390 undyne_expression volatile range Unclear, but it seems to determine the sprite for Undyne's expression.
391 choice_meal_grillby range
392 unused
393 unclear volatile range Internal to Madjick's battle.
394 unused
395 bombs_defused counter
396 fought_muffet bool
397 killed_muffet bool
398 current_elevator_floor range
399 completed_shoot_puzzle3 bool
400 completed_shoot_puzzle4 bool
401 asked_papyrus_rg bool Call Papyrus when the Royal Guards are in the room. Slightly affects the dialogue with the guards when you spare them.
402 killed_rg bool Affects the dialogue during Papyrus' and Undyne's phone call.
403 spider_sale_big_spendings bool Buy a 9999 gold spider bakery sale item. Unaccessed.
404 laser3_off bool Disable the third laser despite of Alphys' phone call.
405 conversation_wares counter Bratty and Catty's conversations.
406 conversation_mettaton counter
407 conversation_alphys counter
408 progress_hotland_battles counter
409 got_napstablook_friend_req bool
410..412 unused
413 dated_sans2 range 2 after you eat at the restaurant with Sans.
414 got_alphys_advice1 bool
415 got_alphys_advice2 bool
416 got_alphys_advice3 bool
417 got_alphys_advice4 bool
418..421 unclear volatile range Pre-castle specific flags, seem to affect whether you can proceed or not and are naturally set as you progress.
422 unused
423 progress_core_battles counter
424 turn_mettaton range 1 if you can turn Mettaton, 2 when you turn Mettaton.
425 killed_mettaton bool 1: kill Mettaton.
426 progress_core_battles2 counter Incremental values: as you battle unique monsters in the core.
427..429 unused
430 alphys_expression volatile range Unclear, but it seems to determine the sprite for Alphy's expression.
431 current_final_floor bool Determines which direction the elevator will go.
432 rode_long_elevator bool
433 unlocked_mettaton_house bool
434 choice_flamey_challenge range 1 if you remember his name, else 2.
435 status_bpants range 1 if you buy something from Burgerpants, 2 if you talk to him afterwards.
436 conversation_mtt counter Burgerpants' MTT conversation.
437 conversation_girls counter Burgerpants' conversation about Bratty and Catty.
438..439 unused
440 water_taken_amount counter
441 water_wasted_amount counter
442 got_gun bool
443 got_cowboy_hat bool
444 got_mystery_key bool
445 got_face_steak bool
446..449 unused
450 progress_early_story counter
451 unused
452 have_castle_key1 bool
453 have_castle_key2 bool
454 unlocked_latchkey bool
455 early_story_parameter1 range Seem to determine which step of the story to tell next.
456 early_story_parameter2 range
457 told_asgore_ready bool
458 experience_cosmic_garbage bool
459 riverman_destination volatile range 1..3 being the destination when talking to the riverman.
460 got_tem_village_hint bool
461 tem_boat_version volatile bool 1: the riverman's boat will be cat-shaped.
462 called_already range Allows the second part of the call to occur when calling twice. Every room has two or more conversation parts.
463..464 unused
465 papyrus_and_undyne bool After Undyne's date, calling Papyrus includes Undyne in the conversation.
466..469 unused
470 conversation_undyne_mad bool Call Papyrus and Undyne in room_fire_lasers1. Just a counter used for this specific call, allowing the third part to occur.
471..474 unused
475 killed_flowey bool Not sure about this one.
476 killed_asgore bool
477..479 unused
480 completed_truelab bool
481..492 truelab_events range Various values. Only affects what happens in the lab, used to progress through.
493 dated_alphys range 12 after you exit the true lab.
494 status_undyne_letter range 3 if you receive Undyne's Letter EX.
495 popato_chisps_bought counter
496 conversation_onionsan counter
497 got_sans_room_key bool
498 unused
499 seen_cast bool
500 fighting_asriel volatile bool
501 conversation_asriel_fight counter
502 but_it_refused volatile bool Flag 500 must be 1. Can't die.
503 dreamed_asriel_fight volatile bool
504 unused
505..508 saved_lost_soul bool
509 toggle_final_beam volatile bool Sets the HP to decimal values.
510 plot_over range 2 if you complete the True Pacifist boss fight, 1 if you talk to Asriel in the ruins after the True Pacifist boss fight.
511 conversation_asriel2 counter Progress through the conversation with Asriel in the ruins.
512 choice_left_toriel bool Determines the type of the final scene in the bedroom.