From 40e97c2eb3332d608684e476ee1f6fa849e7fcae Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Tue, 30 Dec 2008 21:10:47 +0000 Subject: Remove extra monsters from 002-4 --- npc/002-4_Desert_mines/_import.txt | 1 - npc/002-4_Desert_mines/monsters.txt | 20 -------------------- 2 files changed, 21 deletions(-) delete mode 100644 npc/002-4_Desert_mines/monsters.txt (limited to 'npc') diff --git a/npc/002-4_Desert_mines/_import.txt b/npc/002-4_Desert_mines/_import.txt index cb715b3d..bad205b9 100644 --- a/npc/002-4_Desert_mines/_import.txt +++ b/npc/002-4_Desert_mines/_import.txt @@ -3,4 +3,3 @@ npc: npc/002-4_Desert_mines/_mobs.txt npc: npc/002-4_Desert_mines/_warps.txt npc: npc/002-4_Desert_mines/chest.txt npc: npc/002-4_Desert_mines/miners.txt -npc: npc/002-4_Desert_mines/monsters.txt diff --git a/npc/002-4_Desert_mines/monsters.txt b/npc/002-4_Desert_mines/monsters.txt deleted file mode 100644 index 17d5cdee..00000000 --- a/npc/002-4_Desert_mines/monsters.txt +++ /dev/null @@ -1,20 +0,0 @@ -// Map: 002-4 -// This is the Desert Mines south of Tulimshar -- level 2. -// - -002-4.gat,0,0,0,0 monster Spider 1012,10,2500,0,Mob5::OnSpider -002-4.gat,0,0,0,0 monster YellowSlime 1007,25,2500,0,Mob5::OnYellowSlime - -002-4.gat,0,0,0 script Mob5 -1,{ -OnSpider: - set @mobID, 1012; - callfunc "MobPoints"; - break; - -OnYellowSlime: - set @mobID, 1007; - callfunc "MobPoints"; - break; - - end; -} -- cgit v1.2.3-60-g2f50 From 5d45613ccf6de23ae060d89d5006fb21094abb7c Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Mon, 15 Dec 2008 12:05:47 +0000 Subject: Christmas 2008 --- npc/scripts.conf | 7 +- npc/xmas/2008/event.txt | 589 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 594 insertions(+), 2 deletions(-) create mode 100644 npc/xmas/2008/event.txt (limited to 'npc') diff --git a/npc/scripts.conf b/npc/scripts.conf index e10705cd..07e165e0 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -39,8 +39,8 @@ import: npc/_import.txt // npc: npc/halloween/2007/summon.txt // Christmas 2007 -// npc: npc/xmas2007/pre-xmas.txt -// npc: npc/xmas2007/after-xmas.txt +// npc: npc/xmas/2007/pre-xmas.txt +// npc: npc/xmas/2007/after-xmas.txt // Easter 2008 // npc: npc/easter2008/monsters.txt @@ -49,3 +49,6 @@ import: npc/_import.txt // Halloween 2008 // npc: npc/halloween/2008/monsters.txt // npc: npc/halloween/2008/prize_master.txt + +// Christmas 2008 +npc: npc/xmas/2008/event.txt diff --git a/npc/xmas/2008/event.txt b/npc/xmas/2008/event.txt new file mode 100644 index 00000000..f576c13d --- /dev/null +++ b/npc/xmas/2008/event.txt @@ -0,0 +1,589 @@ +// + +020-1.gat,78,85,0 script Santa 105,{ + mes "[Santa Claus]"; + mes "\"Ho! Ho! Ho!\""; + next; + + if (QUEST_xmas08_state == 0) goto L_SantaStart; + if (QUEST_xmas08_state & (1 << 10)) goto L_SantaFinished; + + mes "[Santa Claus]"; + mes "\"So, how are we doing?\""; + next; + menu "I've found them all!", L_SantaCheck, "I still have a few to find.", -, "What am I doing again?", L_SantaExplain; + mes "[Santa Claus]"; + mes "\"Well that's okay."; + mes "Please do keep searching!\""; + close; + +L_SantaCheck: + if (QUEST_xmas08_state & 0x3FF == 0x3FF) goto L_SantaComplete; + mes "[Santa Claus]"; + mes "\"Ah now, please don't lie to me, I don't want to have to put you on my naughty list!\""; + close; + +L_SantaComplete: + mes "[Santa Claus]"; + mes "\"Splendid!"; + mes "I knew I could count on you to find them all.\""; + next; + mes "[Santa Claus]"; + mes "\"Now, let me see what I have here for you.\""; + next; + mes "Santa fumbles around in a large sack and pulls out a Mouboo head hat!"; + getitem 1216,1; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 10); + next; + mes "[Santa Claus]"; + mes "\"I thought you'd like that."; + mes "It's a very good likeness, don't you think?\""; + next; + mes "[Santa Claus]"; + mes "\"Well now, since I know all my Reinboo are safe,"; + mes "I can get back to giving out presents to the people of The Mana World.\""; + next; + mes "[Santa Claus]"; + mes "\"Once again, thank you very much for helping me out."; + mes ""; + mes "Merry Christmas!\""; + close; + +L_SantaExplain: + mes "[Santa Claus]"; + mes "\"Well you agreed to help me find all nine of my lost Reinboo."; + mes "Until I know they're all safe and well I don't feel able to give out any presents.\""; + close; + + +L_SantaStart: + mes "[Santa Claus]"; + mes "\"I came all this way to bring presents to the people of The Mana World,"; + mes "but it seems my reinboo's have all got lost!\""; + next; + mes "[Santa Claus]"; + mes "\"So you see I won't be able to give out any presents until I know they're all safe and well."; + mes ""; + if (BaseLevel < 20) goto L_SantaYoung; + mes "Will you help me find all nine of them, please?\""; + next; + menu "Of course I will, Santa!", L_SantaStartYes, "Sorry, I have better things to do.", -; + close; + +L_SantaYoung: + mes "\"I'd ask you to help me find them, but I think you're still a bit young.\""; + close; + +L_SantaStartYes: + set QUEST_xmas08_state, QUEST_xmas08_state | 1; + mes "[Santa Claus]"; + mes "\"Oh that is excellent news!"; + mes "Thank you.\""; + next; + mes "Santa shakes your hand with delight."; + close; + + +L_SantaFinished: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Santa Claus]"; + mes "\"Ahh, it's so great to see everyone's smiles when they open a present, don't you think?\""; + close; + +L_Chat2: + mes "[Santa Claus]"; + mes "\"Did I remember to get Mrs. Claus something?"; + mes "Oh dear, I can't remember if I did.\""; + close; +} + +//Reinboo Locations - for temp reference. +//004-1 51 25 +//005-1 178 41 +//009-3 23 105 +//012-1 47 38 +//013-1 130 21 +//014-1 91 19 +//015-1 50 76 +//016-1 33 87 +//020-1 98 116 + +004-1.gat,51,25,0 script Dasher 170,{ + if (QUEST_xmas08_state & (1 << 1)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + mes "[Dasher]"; + mes "\"Say, you smell like Santa Claus."; + mes ""; + mes "You don't look much like him though.\""; + next; + menu "Santa asked me to help find you.", -; + mes "[Dasher]"; + mes "\"Oh well, in that case you can tell him that I'm right here and I'm fine."; + mes ""; + mes "I suppose I should explain how I got here really.\""; + next; + mes "[Dasher]"; + mes "\"I was flying about with a few other Reinboo after we got here,"; + mes "we were playing games, any way I got rather tired of flying and ended up having to land in this area."; + mes "So I need to rest up for a while before I can make it back to Santa.\""; + next; + menu "Okay, I'll Santa that when I see him."; + mes "[Dasher]"; + mes "\"Thank you and Merry Christmas!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 1); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Dasher]"; + mes "\"It sure is hot out here in the desert.\""; + close; + +L_Chat2: + mes "[Dasher]"; + mes "\"I wonder what Santa got me for Christmas.\""; + close; +} + +005-1.gat,178,41,0 script Dancer 170,{ + if (QUEST_xmas08_state & (1 << 2)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + mes "[Dancer]"; + mes "\"Hrmm, you smell quite like Santa Claus.\""; + next; + menu "I've been sent by Santa to find you.", -; + mes "[Dancer]"; + mes "\"Oh I see."; + mes "I'm just doing a bit of sight seeing, I haven't been to The Mana World before."; + mes ""; + mes "The snakes down there seem to lack the Christmas spirit so I'm walking around up here.\""; + next; + mes "[Dancer]"; + mes "\"If you could, can you tell Santa that I'm okay and I'll be back shortly?\""; + next; + menu "Sure!", -; + mes "[Dancer]"; + mes "\"Great!"; + mes "Happy Christmas!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 2); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Dancer]"; + mes "\"Let's see, I've been around the forest and I'm nearly done with the desert now."; + mes "I guess after that it's back up to Santa.\""; + close; + +L_Chat2: + mes "[Dancer]"; + mes "\"The snakes don't seem to understand a word I'm saying.\""; + close; +} + +009-3.gat,23,105,0 script Prancer 170,{ + if (QUEST_xmas08_state & (1 << 3)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + mes "[Prancer]"; + mes "\"Santa?\""; + next; + mes "[Prancer]"; + mes "\"No, wait you're not Santa Claus.\""; + next; + menu "Santa sent me to find you!", -; + mes "[Prancer]"; + mes "\"Oh really?"; + mes "That's good to know.\""; + next; + menu "How did you get down here by the way?", -; + mes "[Prancer]"; + mes "\"To be honest with you I have absolutely no idea."; + mes "But I'm perfectly fine."; + mes "If Santa could come and help me out of here, that would be nice.\""; + next; + menu "Okay, I'll tell him.", -; + mes "[Prancer]"; + mes "\"Thank you!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 3); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Prancer]"; + mes "\"It's rather cold down here, it's a good job I have that fire to warm myself with.\""; + close; + +L_Chat2: + mes "[Prancer]"; + mes "\"I still can't remember how I ended up down here.\""; + close; +} + +012-1.gat,47,38,0 script Vixen 170,{ + if (QUEST_xmas08_state & (1 << 4)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + mes "[Vixen]"; + mes "\"Hello there."; + mes "What can I do for you?\""; + next; + menu "I'm finding all the Reinboo for Santa!", -; + mes "[Vixen]"; + mes "\"You came all the way up here just to find me?"; + mes "Wow, you must be such a nice person to do that!\""; + next; + mes "[Vixen]"; + mes "\"Hrmm, I guess Santa must be a bit worried though."; + mes "Could you tell him where I am and that I'm okay?\""; + next; + menu "Sure thing.", -; + mes "[Vixen]"; + mes "\"Thank you very much."; + mes ""; + mes "Merry Christmas!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 4); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Vixen]"; + mes "\"What a lovely view you get from here!\""; + close; + +L_Chat2: + mes "[Vixen]"; + mes "\"I hope walking up here didn't tire you out.\""; + close; +} + +013-1.gat,130,21,0 script Comet 170,{ + if (QUEST_xmas08_state & (1 << 5)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + mes "[Comet]"; + mes "\"Erm.. Hi!"; + mes "Why do you smell like Santa?\""; + next; + menu "Probably because he shook my hand.", -; + mes "[Comet]"; + mes "\"Oh, so you've been talking to him have you."; + mes ""; + mes "No don't say it, let me guess.\""; + next; + mes "[Comet]"; + mes "\"Santa has sent you to find all of his Reinboo because he's lost them."; + mes "Is that about right?\""; + next; + menu "Yup, that's it!", -; + mes "[Comet]"; + mes "\"It's happened before, long story."; + mes ""; + mes "So yeah, just tell him that I'm here, I'll make my way back to him later.\""; + next; + menu "Okay, I will.", -; + mes "[Comet]"; + mes "\"So I suppose you'd like to know how I ended up... wherever I am.\""; + next; + mes "[Comet]"; + mes "\"A few of us were flying about, as we do."; + mes "Then this big gust of wind came and carried me over this forest!"; + mes "I was forced to land just down there on the road."; + mes "I've just had a quick nap and I'll try and make it back to Santa soon.\""; + next; + menu "Ah right, well I'll tell Santa that too.", -; + mes "[Comet]"; + mes "\"Okay, thanks for finding me."; + mes "Merry Christmas!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 5); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Comet]"; + mes "\"I'll tell you what, these flowers taste nice.\""; + close; + +L_Chat2: + mes "[Comet]"; + mes "\"I wonder where the others are?\""; + close; +} + +014-1.gat,91,19,0 script Cupid 170,{ + if (QUEST_xmas08_state & (1 << 6)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + menu "Hi, Santa sent me to find you.", -; + mes "[Cupid]"; + mes "\"Hi!"; + mes "Santa sent you to find me? Why what's happened?\""; + next; + menu "All of the Reinboo have gone missing!", -; + mes "[Cupid]"; + mes "\"Oh dear, I thought I was the only one who went off to explore."; + mes ""; + mes "I thought it would be nice to explore the forests around here."; + mes "We don't have forests like this where I live.\""; + next; + menu "What do the forests where you live look like?", -; + mes "[Cupid]"; + mes "\"Did you see the Christmas tree by Santa?"; + mes "It's pretty much all like that, of course we decorated the tree Santa is next to.\""; + next; + menu "I'll tell Santa you're here then, okay?", -; + mes "[Cupid]"; + mes "\"Yes, please do."; + mes "Oh, Happy Christmas!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 6); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Cupid]"; + mes "\"Do you think there is any fish in this river.\""; + close; + +L_Chat2: + mes "[Cupid]"; + mes "\"I wonder what Santa looks like without a beard.\""; + close; +} + +015-1.gat,50,76,0 script Donner 170,{ + if (QUEST_xmas08_state & (1 << 7)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + menu "Hi, Santa sent me to find you.", -; + mes "[Donner]"; + mes "\"Santa? Tell Santa I won't work for him anymore.\""; + next; + menu "Why?", -; + mes "[Donner]"; + mes "\"I got enough of that fat bum. We have to pull him all around the globe and he gets all the praise.\""; + next; + mes "[Donner]"; + mes "\"Do you know how heavy that guy is? He also pays bad and we always have to work on holidays.\""; + next; + menu "But Santa needs you!", -; + mes "[Donner]"; + mes "\"Really? What would he do to persuade me to keep working for him?\""; + next; + menu "How about a 5% raise?",-; + mes "[Donner]"; + mes "\"I think someone with my work experience deserves more than that.\""; + next; + menu "Then a 10% raise?",-; + mes "[Donner]"; + mes "\"Sounds better."; + mes "But I think I can find someone else in the present delivery industry who is willing to pay that."; + mes "I've heard the easter bunnies are hiring...\""; + next; + menu "How about a health plan?",-; + mes "[Donner]"; + mes "\"Including dental care?\""; + next; + menu "Sure.",-; + mes "[Donner]"; + mes "\"And full sickness pay?\""; + next; + menu "I am pretty sure he will agree to that.",-; + mes "[Donner]"; + mes "\"OK, tell Santa I will come back to work tomorrow.\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 7); + close; +} + +016-1.gat,33,87,0 script Blitzen 170,{ + if (QUEST_xmas08_state & (1 << 8)) goto L_ChatReinboo; + + mes "[Blitzen]"; + mes "\"HIC!...HIC!....HIC!...\""; + next; + mes "The Reinboo staggers and almost falls down, but catches itself in the last moment."; + next; + mes "[Blitzen]"; + mes "\"Oh boy, I don't feel well.\""; + + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + close; + +L_FoundReinboo: + next; + menu "Are you alright?",-; + mes "[Blitzen]"; + mes "\"Are you... are y-you... are you santa?\""; + next; + menu "No, but he sent me to search for you.",-; + mes "[Blitzen]"; + mes "\"I... I was searching for S-Santa aaaaall around."; + mes "...went to pub HIC! to warm myself HIC!\""; + next; + mes "[Blitzen]"; + mes "\"The nice man gave me warm drink HIC!\""; + next; + mes "[Blitzen]"; + mes "\"First mug tasted strange HIC! Second better HIC! Third really good HIC\""; + next; + mes "[Blitzen]"; + mes "\"After the fourth mug everything started spinning.\""; + next; + mes "[Blitzen]"; + mes "\"No idea what happened then.\""; + next; + mes "[Blitzen]"; + mes "\"HIC!\""; + next; + menu "You are drunk.",-; + mes "[Blitzen]"; + mes "\"Seems so.\""; + next; + menu "I will show you the way to Santa",-; + mes "[Blitzen]"; + mes "\"Th...Thank you.\""; + next; + mes "[Blitzen]"; + mes "\"I think I will find the way now... I hope.\""; + next; + mes "[Blitzen]"; + mes "\"HIC!\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 8); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Blitzen]"; + mes "\"Ooooh, my head!\""; + close; + +L_Chat2: + mes "[Blitzen]"; + mes "\"I promise, I will stop drinking. I know I can do it. I did it a hundred times.\""; + close; +} + +020-1.gat,98,116,0 script Rudolf 170,{ + if (QUEST_xmas08_state & (1 << 9)) goto L_ChatReinboo; + if (QUEST_xmas08_state & 1) goto L_FoundReinboo; + + mes "The Reinboo seems to ignore you"; + close; + +L_FoundReinboo: + menu "Hi!", -; + mes "[Rudolf]"; + mes "\"No, I'm not doing autographs!\""; + next; + menu "No, that's not what I was going to say.", -; + mes "[Rudolf]"; + mes "\"Well then what do you want?"; + mes "I am very busy you know.\""; + next; + menu "I'm helping Santa find his Reinboo.", -; + mes "[Rudolf]"; + mes "\"Congratulations you found me."; + mes "Anything else?\""; + next; + menu "Umm... Are you okay?", -; + mes "[Rudolf]"; + mes "\"What do you mean by that?\""; + next; + menu "You just seem a bit edgy.", -; + mes "[Rudolf]"; + mes "\"Well if you had to put with being the 'famous one' you'd understand.\""; + next; + mes "[Rudolf]"; + mes "\"It's hard to get time to myself, you know?."; + mes ""; + mes "People don't even leave me alone when I doing my shopping.\""; + next; + mes "[Rudolf]"; + mes "\"Erm... yeah."; + mes "Sorry, I should just save all that for my therapist.\""; + next; + menu "It's okay. I'll tell Santa you're here, alright?", -; + mes "[Rudolf]"; + mes "\"Yeah, okay."; + mes "Take care.\""; + set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 9); + close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Rudolf]"; + mes "\"You know the song about me?"; + mes "Yeah, well I don't get a penny from it.\""; + close; + +L_Chat2: + mes "[Rudolf]"; + mes "\"Can I have some space please?.\""; + close; +} \ No newline at end of file -- cgit v1.2.3-60-g2f50 From 4bf2395b9efff967b67afe6e401b7aac89db52c8 Mon Sep 17 00:00:00 2001 From: E Athena Server Date: Thu, 1 Jan 2009 19:13:15 +0100 Subject: Fixed a Reinboo --- npc/xmas/2008/event.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'npc') diff --git a/npc/xmas/2008/event.txt b/npc/xmas/2008/event.txt index f576c13d..5ac1be37 100644 --- a/npc/xmas/2008/event.txt +++ b/npc/xmas/2008/event.txt @@ -450,6 +450,21 @@ L_FoundReinboo: mes "\"OK, tell Santa I will come back to work tomorrow.\""; set QUEST_xmas08_state, QUEST_xmas08_state | (1 << 7); close; + +L_ChatReinboo: + set @TEMP,rand(2); + if(@TEMP == 0) goto L_Chat1; + if(@TEMP == 1) goto L_Chat2; + +L_Chat1: + mes "[Donner]"; + mes "\"Santa had better pull through on this deal.\""; + close; + +L_Chat2: + mes "[Donner]"; + mes "\"I wonder if I could get more holiday as well.\""; + close; } 016-1.gat,33,87,0 script Blitzen 170,{ -- cgit v1.2.3-60-g2f50 From 6e7c6e0cdc3eb954b7757c4eda1c8c5713ee2eb8 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Thu, 1 Jan 2009 11:24:29 +0000 Subject: Disable Christmas 2008 --- npc/scripts.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/scripts.conf b/npc/scripts.conf index 07e165e0..01cc93eb 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -51,4 +51,4 @@ import: npc/_import.txt // npc: npc/halloween/2008/prize_master.txt // Christmas 2008 -npc: npc/xmas/2008/event.txt +// npc: npc/xmas/2008/event.txt -- cgit v1.2.3-60-g2f50