diff --git a/README.md b/README.md index cf347498..581931ce 100644 --- a/README.md +++ b/README.md @@ -862,6 +862,7 @@ * All locations can be played on Survival and Grief game modes * All quests can be completed with any amount of players * All quests give players all perks on completion +* All quests play a song on completion after ending the current round ### Nuketown * Initial perk is no longer always Quick Revive in solo @@ -894,6 +895,9 @@ * Zombies spawn in the Warehouse zone when in the Outside Power Station zone before the Warehouse door is opened * Zombies spawn in the Outside Power Station zone when in the Fog After Power Station zone * Zombies spawn in the Warehouse zone when in the Fog After Power Station zone +* Added "Avenged Sevenfold - Carry On" song (activated by triggering the teddy bear in the Farm area last) +* Added "Skrillex - Try It Out" song (activated by triggering the teddy bear in the Bus Depot area last) +* Quest: added "Benn - Just Like You" song * Quest: increased pylon powerup drop rate from 4-12 minutes to 2-6 minutes * Quest (Maxis): Avogadro step only requires 1 Turbine under the pylon * Quest (Maxis): Turbine can get destroyed by the EMP during the Avogadro step and it will still count as completed @@ -965,6 +969,7 @@ * Fixed zombies spawning in the elevator below the Green Rooftop Level 3B zone when in the Green Rooftop Level 3B zone * Fixed zombies not bleeding out in the Green Rooftop Level 1B zone when the debris is closed and there are no players in the zone * Fixed Who's Who vision filter showing momentarily when the game ended +* Quest: added "Benn - High Risers" song * Quest: elevator symbols can be activated without players on every symbol * Quest: elevator symbols stay active after activating once * Quest: floor symbols can be activated in any order @@ -992,6 +997,7 @@ * Players can no longer get into the corner next to Jugger-Nog * Removed buildable table hint icons * Added buildable table hint strings on buildable purchase +* Quest: added "Benn - Bury Me" song * Quest: all 5 signs must be meleed for wisp to spawn * Quest: changed number of targets that need to be hit to 20 multiplied by the amount of players * Quest: perks given on completion are no longer permament @@ -1064,6 +1070,7 @@ * Changed name of Zombie Shield recipe on HUD from "Shield" to "Zombie Shield" * Changed background color of Zombie Shield parts on HUD from green to grey * Changed background color of Acid Gat Kit parts on HUD from blue to green +* Quest: added "Benn - Alcatraz" song * Quest: Blundergat gets full ammo when picked up (normally missing one clip) * Quest: number pad only needs each number to be shocked once in order to complete * Quest: can enter the plane in afterlife with any amount of players @@ -1127,6 +1134,7 @@ * Perk bottle dig spots: give random perk * Perk bottle dig spots: visible and diggable without Zombie Blood * Perk bottle dig spots: increased number of rounds for next dig spot to spawn from 1 to 4 +* Quest: added "Benn - The Divider" song * Quest (ascend from darkness step): staffs can be placed at any staff holder * Quest (ascend from darkness step): three robots always active during step * Quest (ascend from darkness step): fixed an issue where staffs were able to be picked up at their build location when placed in the staff holders diff --git a/scripts/zm/replaced/_zm_sq.gsc b/scripts/zm/reimagined/_zm_sq.gsc similarity index 63% rename from scripts/zm/replaced/_zm_sq.gsc rename to scripts/zm/reimagined/_zm_sq.gsc index d975a144..224d5ab9 100644 --- a/scripts/zm/replaced/_zm_sq.gsc +++ b/scripts/zm/reimagined/_zm_sq.gsc @@ -77,6 +77,91 @@ sq_give_player_all_perks() } } +sq_play_song() +{ + ent = spawn("script_origin", (0, 0, 0)); + song = sq_get_song_for_map(); + time = sq_get_time_for_song(song); + + while (1) + { + level waittill("end_of_round"); + + if (!is_true(level.music_override)) + { + break; + } + } + + level.music_override = 1; + ent playsound(song); + level thread sq_song_wait(time); + level waittill_either("end_game", "sndSongDone"); + ent stopsounds(); + wait 0.05; + ent delete(); + level.music_override = 0; +} + +sq_song_wait(time) +{ + level endon("end_game"); + wait time; + level notify("sndSongDone"); +} + +sq_get_song_for_map() +{ + if (level.script == "zm_transit") + { + return "mus_zmb_secret_song_benn_just_like_you"; + } + else if (level.script == "zm_highrise") + { + return "mus_zmb_secret_song_benn_high_risers"; + } + else if (level.script == "zm_buried") + { + return "mus_zmb_secret_song_benn_bury_me"; + } + else if (level.script == "zm_prison") + { + return "mus_zmb_secret_song_benn_alcatraz"; + } + else if (level.script == "zm_tomb") + { + return "mus_zmb_secret_song_benn_the_divider"; + } + + return ""; +} + +sq_get_time_for_song(song) +{ + if (song == "mus_zmb_secret_song_benn_just_like_you") + { + return 268; + } + else if (song == "mus_zmb_secret_song_benn_high_risers") + { + return 196; + } + else if (song == "mus_zmb_secret_song_benn_bury_me") + { + return 293; + } + else if (song == "mus_zmb_secret_song_benn_alcatraz") + { + return 370; + } + else if (song == "mus_zmb_secret_song_benn_the_divider") + { + return 312; + } + + return 0; +} + sq_complete_time_hud() { hud = newHudElem(); diff --git a/scripts/zm/replaced/zm_buried_sq.gsc b/scripts/zm/replaced/zm_buried_sq.gsc index 5ce080ca..3b572e6f 100644 --- a/scripts/zm/replaced/zm_buried_sq.gsc +++ b/scripts/zm/replaced/zm_buried_sq.gsc @@ -120,7 +120,9 @@ richtofen_zombie_deathfunction_override() sq_give_player_rewards() { - level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud(); + level thread scripts\zm\reimagined\_zm_sq::sq_complete_time_hud(); + + level thread scripts\zm\reimagined\_zm_sq::sq_play_song(); players = get_players(); @@ -128,7 +130,7 @@ sq_give_player_rewards() { if (is_player_valid(player)) { - player thread scripts\zm\replaced\_zm_sq::sq_give_player_all_perks(); + player thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks(); } } } diff --git a/scripts/zm/replaced/zm_highrise_sq.gsc b/scripts/zm/replaced/zm_highrise_sq.gsc index 1f57097a..ecd3ecde 100644 --- a/scripts/zm/replaced/zm_highrise_sq.gsc +++ b/scripts/zm/replaced/zm_highrise_sq.gsc @@ -175,7 +175,9 @@ sq_give_all_perks() n_fireball_exploder = 901; } - level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud(); + level thread scripts\zm\reimagined\_zm_sq::sq_complete_time_hud(); + + level thread scripts\zm\reimagined\_zm_sq::sq_play_song(); players = getplayers(); @@ -214,7 +216,7 @@ sq_give_player_perks(perks, v_fireball_start_loc, n_fireball_exploder) if (is_player_valid(self)) { - self thread scripts\zm\replaced\_zm_sq::sq_give_player_all_perks(); + self thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks(); } } diff --git a/scripts/zm/replaced/zm_prison_sq_final.gsc b/scripts/zm/replaced/zm_prison_sq_final.gsc index 244c6c3d..9689b9ae 100644 --- a/scripts/zm/replaced/zm_prison_sq_final.gsc +++ b/scripts/zm/replaced/zm_prison_sq_final.gsc @@ -76,13 +76,15 @@ stage_two() t_plane_fly_afterlife playsound("zmb_easteregg_laugh"); t_plane_fly_afterlife trigger_on(); + level thread scripts\zm\reimagined\_zm_sq::sq_play_song(); + players = get_players(); foreach (player in players) { if (is_player_valid(player)) { - player thread scripts\zm\replaced\_zm_sq::sq_give_player_all_perks(); + player thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks(); } } } diff --git a/scripts/zm/replaced/zm_tomb_ee_main_step_8.gsc b/scripts/zm/replaced/zm_tomb_ee_main_step_8.gsc index 097e8579..6f8f76b2 100644 --- a/scripts/zm/replaced/zm_tomb_ee_main_step_8.gsc +++ b/scripts/zm/replaced/zm_tomb_ee_main_step_8.gsc @@ -49,13 +49,15 @@ stage_logic() e_wall hide(); } + level thread scripts\zm\reimagined\_zm_sq::sq_play_song(); + players = get_players(); foreach (player in players) { if (is_player_valid(player)) { - player thread scripts\zm\replaced\_zm_sq::sq_give_player_all_perks(); + player thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks(); } } diff --git a/scripts/zm/replaced/zm_transit.gsc b/scripts/zm/replaced/zm_transit.gsc index c2e5c99f..c830cd8a 100644 --- a/scripts/zm/replaced/zm_transit.gsc +++ b/scripts/zm/replaced/zm_transit.gsc @@ -39,4 +39,63 @@ lava_damage_depot() stop_exploder(2); exploder(3); +} + +sndplaymusicegg(player, ent) +{ + song = sndplaymusicegg_get_song_for_origin(ent); + time = sndplaymusicegg_get_time_for_song(song); + + level.music_override = 1; + wait 1; + ent playsound(song); + level thread sndplaymusicegg_wait(time); + level waittill_either("end_game", "sndSongDone"); + ent stopsounds(); + wait 0.05; + ent delete(); + level.music_override = 0; +} + +sndplaymusicegg_wait(time) +{ + level endon("end_game"); + wait time; + level notify("sndSongDone"); +} + +sndplaymusicegg_get_song_for_origin(ent) +{ + if (ent.origin == (1864, -7, -19)) + { + return "mus_zmb_secret_song"; + } + else if (ent.origin == (7914, -6557, 269)) + { + return "mus_zmb_secret_song_a7x_carry_on"; + } + else if (ent.origin == (-7562, 4570, -19)) + { + return "mus_zmb_secret_song_skrillex_try_it_out"; + } + + return ""; +} + +sndplaymusicegg_get_time_for_song(song) +{ + if (song == "mus_zmb_secret_song") + { + return 256; + } + else if (song == "mus_zmb_secret_song_a7x_carry_on") + { + return 254; + } + else if (song == "mus_zmb_secret_song_skrillex_try_it_out") + { + return 228; + } + + return 0; } \ No newline at end of file diff --git a/scripts/zm/replaced/zm_transit_sq.gsc b/scripts/zm/replaced/zm_transit_sq.gsc index e5b58a0b..aed74872 100644 --- a/scripts/zm/replaced/zm_transit_sq.gsc +++ b/scripts/zm/replaced/zm_transit_sq.gsc @@ -282,7 +282,9 @@ set_screecher_zone_origin_and_notify(script_noteworthy, notify_str) droppowerup(story) { - level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud(); + level thread scripts\zm\reimagined\_zm_sq::sq_complete_time_hud(); + + level thread scripts\zm\reimagined\_zm_sq::sq_play_song(); players = get_players(); @@ -290,7 +292,7 @@ droppowerup(story) { if (is_player_valid(player)) { - player thread scripts\zm\replaced\_zm_sq::sq_give_player_all_perks(); + player thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks(); } } diff --git a/scripts/zm/zm_buried/zm_buried_reimagined.gsc b/scripts/zm/zm_buried/zm_buried_reimagined.gsc index 0561bdd9..1a66931f 100644 --- a/scripts/zm/zm_buried/zm_buried_reimagined.gsc +++ b/scripts/zm/zm_buried/zm_buried_reimagined.gsc @@ -4,8 +4,8 @@ main() { + replaceFunc(maps\mp\zm_buried_sq::navcomputer_waitfor_navcard, scripts\zm\reimagined\_zm_sq::navcomputer_waitfor_navcard); replaceFunc(maps\mp\zm_buried::init_level_specific_wall_buy_fx, scripts\zm\replaced\zm_buried::init_level_specific_wall_buy_fx); - replaceFunc(maps\mp\zm_buried_sq::navcomputer_waitfor_navcard, scripts\zm\replaced\_zm_sq::navcomputer_waitfor_navcard); replaceFunc(maps\mp\zm_buried_buildables::prepare_chalk_weapon_list, scripts\zm\replaced\zm_buried_buildables::prepare_chalk_weapon_list); replaceFunc(maps\mp\zm_buried_buildables::init_buildables, scripts\zm\replaced\zm_buried_buildables::init_buildables); replaceFunc(maps\mp\zm_buried_buildables::subwooferbuildable, scripts\zm\replaced\zm_buried_buildables::subwooferbuildable); diff --git a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc index 4790f1dd..17bfcbc1 100644 --- a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc +++ b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc @@ -4,7 +4,7 @@ main() { - replaceFunc(maps\mp\zm_highrise_sq::navcomputer_waitfor_navcard, scripts\zm\replaced\_zm_sq::navcomputer_waitfor_navcard); + replaceFunc(maps\mp\zm_highrise_sq::navcomputer_waitfor_navcard, scripts\zm\reimagined\_zm_sq::navcomputer_waitfor_navcard); replaceFunc(maps\mp\zm_highrise_sq::init, scripts\zm\replaced\zm_highrise_sq::init); replaceFunc(maps\mp\zm_highrise_sq::sq_is_weapon_sniper, scripts\zm\replaced\zm_highrise_sq::sq_is_weapon_sniper); replaceFunc(maps\mp\zm_highrise_sq_atd::init, scripts\zm\replaced\zm_highrise_sq_atd::init); diff --git a/scripts/zm/zm_transit/zm_transit_reimagined.gsc b/scripts/zm/zm_transit/zm_transit_reimagined.gsc index a5f72e76..210c4eaf 100644 --- a/scripts/zm/zm_transit/zm_transit_reimagined.gsc +++ b/scripts/zm/zm_transit/zm_transit_reimagined.gsc @@ -4,7 +4,7 @@ main() { - replaceFunc(maps\mp\zm_transit_sq::navcomputer_waitfor_navcard, scripts\zm\replaced\_zm_sq::navcomputer_waitfor_navcard); + replaceFunc(maps\mp\zm_transit_sq::navcomputer_waitfor_navcard, scripts\zm\reimagined\_zm_sq::navcomputer_waitfor_navcard); replaceFunc(maps\mp\zm_transit_sq::maxis_sidequest_a, scripts\zm\replaced\zm_transit_sq::maxis_sidequest_a); replaceFunc(maps\mp\zm_transit_sq::maxis_sidequest_b, scripts\zm\replaced\zm_transit_sq::maxis_sidequest_b); replaceFunc(maps\mp\zm_transit_sq::maxis_sidequest_c, scripts\zm\replaced\zm_transit_sq::maxis_sidequest_c); @@ -13,6 +13,7 @@ main() replaceFunc(maps\mp\zm_transit_sq::richtofen_sidequest_complete, scripts\zm\replaced\zm_transit_sq::richtofen_sidequest_complete); replaceFunc(maps\mp\zm_transit_sq::droppowerup, scripts\zm\replaced\zm_transit_sq::droppowerup); replaceFunc(maps\mp\zm_transit::lava_damage_depot, scripts\zm\replaced\zm_transit::lava_damage_depot); + replaceFunc(maps\mp\zm_transit::sndplaymusicegg, scripts\zm\replaced\zm_transit::sndplaymusicegg); replaceFunc(maps\mp\zm_transit_gamemodes::init, scripts\zm\replaced\zm_transit_gamemodes::init); replaceFunc(maps\mp\zm_transit_classic::inert_zombies_init, scripts\zm\replaced\zm_transit_classic::inert_zombies_init); replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal); diff --git a/sound/mus/zombie/egg/a7x/carry_on.SN65.pc.snd.flac b/sound/mus/zombie/egg/a7x/carry_on.SN65.pc.snd.flac new file mode 100644 index 00000000..78550392 Binary files /dev/null and b/sound/mus/zombie/egg/a7x/carry_on.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/benn/alcatraz.SN65.pc.snd.flac b/sound/mus/zombie/egg/benn/alcatraz.SN65.pc.snd.flac new file mode 100644 index 00000000..c62eed39 Binary files /dev/null and b/sound/mus/zombie/egg/benn/alcatraz.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/benn/bury_me.SN65.pc.snd.flac b/sound/mus/zombie/egg/benn/bury_me.SN65.pc.snd.flac new file mode 100644 index 00000000..d6a0a810 Binary files /dev/null and b/sound/mus/zombie/egg/benn/bury_me.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/benn/high_risers.SN65.pc.snd.flac b/sound/mus/zombie/egg/benn/high_risers.SN65.pc.snd.flac new file mode 100644 index 00000000..f92f9cd7 Binary files /dev/null and b/sound/mus/zombie/egg/benn/high_risers.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/benn/just_like_you.SN65.pc.snd.flac b/sound/mus/zombie/egg/benn/just_like_you.SN65.pc.snd.flac new file mode 100644 index 00000000..d47984d9 Binary files /dev/null and b/sound/mus/zombie/egg/benn/just_like_you.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/benn/the_divider.SN65.pc.snd.flac b/sound/mus/zombie/egg/benn/the_divider.SN65.pc.snd.flac new file mode 100644 index 00000000..b9cd012e Binary files /dev/null and b/sound/mus/zombie/egg/benn/the_divider.SN65.pc.snd.flac differ diff --git a/sound/mus/zombie/egg/skrillex/try_it_out.SN65.pc.snd.flac b/sound/mus/zombie/egg/skrillex/try_it_out.SN65.pc.snd.flac new file mode 100644 index 00000000..dd9fa028 Binary files /dev/null and b/sound/mus/zombie/egg/skrillex/try_it_out.SN65.pc.snd.flac differ diff --git a/soundbank/mod.all.aliases.csv b/soundbank/mod.all.aliases.csv index d2e8bfa0..08f6b06e 100644 --- a/soundbank/mod.all.aliases.csv +++ b/soundbank/mod.all.aliases.csv @@ -764,4 +764,11 @@ wpn_smoke_bounce_wood,raw\sound\wpn\grenade\bounce\smoke\generic\generic_02.LN65 fly_betty_explo,raw\sound\wpn\grenade\explosion\explode\explode_00.LN65.pc.snd,,,fly_betty_close,grp_explosion,36853,36853,,750,4500,6000,default,default,allon,allon,4,oldest,8,oldest,27553,38966,,90,99,63,-52,,loaded,nonlooping,volume,-1,0,655,,snp_grenade,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, fly_betty_jump,raw\sound\mpl\betty\betty_trigger.LN65.pc.snd,,,,grp_explosion,32845,32845,,250,1200,1200,default,default,allon,allon,3,priority,1,reject,30927,34715,,40,95,63,-1,,loaded,nonlooping,volume,-1,0,207,,snp_explosion,3d,0,50,300,6553,51,,yes,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, fly_betty_plant_npc,raw\sound\mpl\betty\betty_deploy.LN65.pc.snd,,,fly_gear_plant_npc,grp_foley,4639,5840,,200,500,500,default,default,allon,allon,3,oldest,8,oldest,29497,36043,,90,90,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_foley,3d,0,25,50,11653,25,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, -fly_betty_plant_plr,raw\sound\mpl\betty\betty_deploy.LN65.pc.snd,,,fly_gear_plant_plr,grp_foley,4639,5840,,200,500,500,default,default,allon,allon,3,oldest,8,oldest,29497,36043,,90,90,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_foley,3d,0,25,50,11653,25,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, \ No newline at end of file +fly_betty_plant_plr,raw\sound\mpl\betty\betty_deploy.LN65.pc.snd,,,fly_gear_plant_plr,grp_foley,4639,5840,,200,500,500,default,default,allon,allon,3,oldest,8,oldest,29497,36043,,90,90,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_foley,3d,0,25,50,11653,25,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +mus_zmb_secret_song_a7x_carry_on,raw\sound\mus\zombie\egg\a7x\carry_on.SN65.pc.snd,,,,grp_music,32845,32845,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_skrillex_try_it_out,raw\sound\mus\zombie\egg\skrillex\try_it_out.SN65.pc.snd,,,,grp_music,32845,32845,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_benn_just_like_you,raw\sound\mus\zombie\egg\benn\just_like_you.SN65.pc.snd,,,,grp_music,52056,52056,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_benn_high_risers,raw\sound\mus\zombie\egg\benn\high_risers.SN65.pc.snd,,,,grp_music,52056,52056,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_benn_bury_me,raw\sound\mus\zombie\egg\benn\bury_me.SN65.pc.snd,,,,grp_music,52056,52056,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_benn_alcatraz,raw\sound\mus\zombie\egg\benn\alcatraz.SN65.pc.snd,,,,grp_music,52056,52056,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, +mus_zmb_secret_song_benn_the_divider,raw\sound\mus\zombie\egg\benn\the_divider.SN65.pc.snd,,,,grp_music,52056,52056,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,63,-1,,streamed,nonlooping,volume,-1,0,0,,snp_x2,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,1,1,,yes,yes,bus_reference, \ No newline at end of file