Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #region ElitePk
- case 448582:
- {
- switch (npcRequest.OptionID)
- {
- case 0:
- {
- dialog.Text("Glad to see you! I take it that you haven`t heard of the Elite PK Tournament, have you? No? Aha, please allow me to introduce this exciting event for you! It`s a new PK Tournament that takes place every Friday. You will be divided into four groups, based");
- dialog.Text("~on your level. Not only will the top 3 winners of each group receive nice prizes, you will also receive EXP worth 1 EXP Ball and 1000 Honor points for each match you take part in at the end of that round. Do you want to have a go?");
- dialog.Option("Tell~me~more~about~the~rules.", 1);
- dialog.Option("Sign~me~up!", 3);
- dialog.Option("I~want~to~claim~my~prize!", 5);
- dialog.Option("Not~interested.", 255);
- dialog.Avatar(26);
- break;
- }
- case 1:
- {
- dialog.Text("The Elite PK Tournament begins at 20:00 every Friday night, and players will be divided into four groups, which are the Under 100 group, the 100-119 group, the 120-129 group, and the 130+ group. You can sign up for it");
- dialog.Text("~between 16:55 and 16:59. No admittance after the tournament begins. Players should first wait in the Waiting Area, and if you leave the area before your round, you will forfeit your chance. There will be a Knockout round before the Final.");
- dialog.Text("~But if there are less than 8 players at the start of the Elite PK Tournament, the Final will be replaced by the Knockout. Each round in the Knockout lasts 3 minutes. At the end of 3 minutes, if no one is killed, the player with a higher score wins.");
- dialog.Text("~After you finish your round, you`ll have to wait for all the other players to finish this round to enter the next round.");
- dialog.Option("There~is~a~Final?", 2);
- dialog.Avatar(26);
- break;
- }
- case 2:
- {
- dialog.Text("Sure. When there are less than 8 players left in the field, the Final starts. Each round of the Final lasts for 5 minutes. Though all of the Top 8 players will receive nice prizes, the top 3 will earn special prizes! Claim your reward before the next");
- dialog.Text("~week`s Elite PK Tournament begins, or you won`t get them. We hope everyone will join this tournament, and so not only will the top 3 winners of each group receive nice prizes, you will also receive EXP worth 1 EXP Ball and 1000 Honor");
- dialog.Text("~points for each match you take part in at the end of that match!");
- dialog.Option("Sign~me~up!", 3);
- dialog.Option("Not~interested.", 255);
- dialog.Avatar(26);
- break;
- }
- case 3:
- {
- if (!ElitePKTournament.SignUp(client))//dy test only hmmmm oki
- {
- dialog.Text("Please sign up between " + ElitePK.EventTime + ":55 and " + ElitePK.EventTime + ":59 every night for the Elite PK Tournament.");
- dialog.Option("Okay.", 255);
- dialog.Avatar(26);
- }
- break;
- }
- case 5:
- {
- byte rank = 0;
- byte elitestage = 0;
- if (Game.ElitePK.GetReward(client, out rank, out elitestage))
- {
- uint cpsprice = 0;
- if (rank == 1)
- {
- cpsprice = rates.SkillTeam1;
- if (elitestage == 3)
- client.Entity.AddTopStatus((ulong)Titles.ElitePKChamption_High, 0, DateTime.Now.AddDays(1), true);
- else
- client.Entity.AddTopStatus((ulong)Titles.ElitePKChamption_Low, 0, DateTime.Now.AddDays(1), true);
- }
- else if (rank == 2)
- {
- cpsprice = rates.SkillTeam2;
- if (elitestage == 3)
- client.Entity.AddTopStatus((ulong)Titles.ElitePK2ndPlace_High, 0,DateTime.Now.AddDays(1), true);
- else
- client.Entity.AddTopStatus((ulong)Titles.ElitePK2ndPlace_Low, 0, DateTime.Now.AddDays(1), true);
- }
- else if (rank == 3)
- {
- cpsprice = rates.SkillTeam3;
- if (elitestage == 3)
- client.Entity.AddTopStatus((ulong)Titles.ElitePK3ndPlace_High, 0, DateTime.Now.AddDays(1), true);
- else
- client.Entity.AddTopStatus((ulong)Titles.ElitePK3ndPlace_Low, 0, DateTime.Now.AddDays(1), true);
- }
- else
- {
- cpsprice = rates.SkillTeam4;
- if (elitestage == 3)
- client.Entity.AddTopStatus((ulong)Titles.ElitePKTopEight_High, 0, DateTime.Now.AddDays(1), true);
- else
- client.Entity.AddTopStatus((ulong)Titles.ElitePKTopEight_Low, 0, DateTime.Now.AddDays(1), true);
- }
- client.Entity.ConquerPoints += cpsprice;
- Kernel.SendWorldMessage(new Network.GamePackets.Message("" + client.Entity.Name + " has receive " + cpsprice + " for rank " + rank + " in Elite Pk Tournament", Color.Red, Network.GamePackets.Message.System).ToArray());
- }
- else
- {
- dialog.Text("Sorry, just the lider of 8 top teams will receive the reward!");
- dialog.Option("Ok thx.", 255);
- dialog.Send();
- }
- break;
- }
- //case 5:
- // {
- // int group = client["epk_id"];
- // var epk = ElitePKTournament.Tournaments[group];
- // if (epk.State == ElitePK.States.GUI_Top8Ranking && DateTime.Now >= epk.EndDateTime)
- // {
- // if (client.Inventory.Count < 40)
- // {
- // if (client["epk_prize"] == true)
- // {
- // client["epk_prize"] = false;
- // int rank = 0;
- // for (; rank < 8; rank++)
- // if (epk.Top8[rank].Name == client.Entity.Name)
- // break;
- // if (rank > 3) rank = 3;
- // client.Inventory.Add((uint)((720726 + group) - 4 * (3 - rank)), 0, 1);
- // //#warning EPK 7 DAYS NOT 1
- // if (group == 3)
- // client.Entity.AddTopStatus((ulong)(((int)Titles.ElitePKChamption_High) + rank), epk.EndDateTime.AddDays(3));
- // else
- // client.Entity.AddTopStatus((ulong)(((int)Titles.ElitePKChamption_Low) + rank), epk.EndDateTime.AddDays(3));
- // }
- // }
- // else
- // {
- // dialog.Text("You need atleast one spot free in your inventory!");
- // dialog.Option("Okay.", 255);
- // dialog.Avatar(26);
- // }
- // }
- // else
- // {
- // dialog.Text("Elite PK Tournament is not yet finished!");
- // dialog.Option("Okay.", 255);
- // dialog.Avatar(26);
- // }
- // break;
- // }
- }
- break;
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment