Advertisement
RegalChivas

Swordman Master

Jul 18th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 18.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. using SagaDB.Actor;
  6. using SagaMap.Scripting;
  7.  
  8. using SagaLib;
  9. using SagaScript.Chinese.Enums;
  10. //所在地圖:劍士行會(30040000) NPC基本信息:劍士總管(11000015) X:3 Y:3
  11. namespace SagaScript.M30040000
  12. {
  13.     public class S11000015 : Event
  14.     {
  15.         public S11000015()
  16.         {
  17.             this.EventID = 11000015;
  18.         }
  19.  
  20.         public override void OnEvent(ActorPC pc)
  21.         {
  22.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  23.  
  24.             Say(pc, 11000015, 131, "歡迎光臨劍士行會呀。$R;", "劍士總管");
  25.  
  26.             if (JobBasic_01_mask.Test(JobBasic_01.劍士轉職成功) &&
  27.                 !JobBasic_01_mask.Test(JobBasic_01.已經轉職為劍士))
  28.             {
  29.                 劍士轉職完成(pc);
  30.                 return;
  31.             }
  32.  
  33.             if (pc.Job == PC_JOB.NOVICE )
  34.             {
  35.                 if (JobBasic_01_mask.Test(JobBasic_01.選擇轉職為劍士) &&
  36.                     !JobBasic_01_mask.Test(JobBasic_01.已經轉職為劍士))
  37.                 {
  38.                     劍士轉職任務(pc);
  39.                     return;
  40.                 }
  41.                 else
  42.                 {
  43.                     劍士簡介(pc);
  44.                     return;
  45.                 }
  46.             }
  47.  
  48.             if (pc.JobBasic == PC_JOB.SWORDMAN)
  49.             {
  50.                 Say(pc, 11000015, 131, " 這不是" + pc.Name + "嗎?!$R;" +
  51.                                        "$R來得好,$R;" +
  52.                                        "今天來有什麼事嗎?$R;", "劍士總管");
  53.  
  54.                 switch (Select(pc, "做什麼好呢?", "", "任務服務台", "我想轉職", "出售入國許可證", "什麼也不做"))
  55.                 {
  56.                     case 1:
  57.                         Say(pc, 0, 0, "目前尚未實裝$R;", " ");
  58.                         break;
  59.                     case 2:
  60.                         進階轉職(pc);
  61.                         break;
  62.                     case 3:
  63.                         OpenShopBuy(pc, 105);
  64.                         break;
  65.                     case 4:
  66.                         break;
  67.                 }
  68.             }
  69.         }
  70.  
  71.         void 劍士簡介(ActorPC pc)
  72.         {
  73.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  74.  
  75.             int selection;
  76.  
  77.             Say(pc, 11000015, 131, "我是管理劍士們的劍士總管。$R;" +
  78.                                    "$P您好像不屬於我們行會的管轄呀?$R;" +
  79.                                    "$R那麼……$R;" +
  80.                                    "您想不想做『劍士』呢?$R;", "劍士總管");
  81.  
  82.             selection = Select(pc, "想做什麼?", "", "我想成為『劍士』!", "『劍士』是什麼樣的職業?", "任務服務台", "什麼也不做");
  83.  
  84.             while (selection != 4)
  85.             {
  86.                 switch (selection)
  87.                 {
  88.                     case 1:
  89.                         Say(pc, 11000015, 131, "想成為『劍士』嗎?$R;" +
  90.                                                "$R您看起來應該有點潛力,$R;" +
  91.                                                "先考驗一下您的力量吧!$R;", "劍士總管");
  92.  
  93.                         switch (Select(pc, "接受『考驗』嗎?", "", "沒問題", "才不要"))
  94.                         {
  95.                             case 1:
  96.                                 if (pc.Str > 9)
  97.                                 {
  98.                                     Say(pc, 11000015, 131, "您不用擔心,任務很簡單的。$R;" +
  99.                                                            "$P有一種魔物,名字叫做「巴鳴」,$R;" +
  100.                                                            "牠的外型長得跟惡狗一樣。$R;" +
  101.                                                            "任務就是把「巴嗚」打倒就可以了。$R;" +
  102.                                                            "$P啊,別忘了!!$R;" +
  103.                                                            "還要拿到『肉』做為打敗的證據喔!$R;" +
  104.                                                            "$R這樣您就可以成為劍士唷。$R;", "劍士總管");
  105.  
  106.                                     switch (Select(pc, "接受『考驗』嗎?", "", "沒問題", "才不要"))
  107.                                     {
  108.                                         case 1:
  109.                                             JobBasic_01_mask.SetValue(JobBasic_01.選擇轉職為劍士, true);
  110.  
  111.                                             Say(pc, 11000015, 131, "……$R;" +
  112.                                                                    "$P很好,$R;" +
  113.                                                                    "我等您回來喔。$R;", "劍士總管");
  114.                                             break;
  115.  
  116.                                         case 2:
  117.                                             Say(pc, 11000015, 131, "劍士是勇敢代表,$R;" +
  118.                                                                    "充滿勇氣再來吧。$R;", "劍士總管");
  119.                                             break;
  120.                                     }
  121.                                 }
  122.                                 else
  123.                                 {
  124.                                     Say(pc, 11000015, 131, "想成為劍士還是需要一點力量的!$R;" +
  125.                                                            "$P力量到達10以後,再來找我吧。$R;", "劍士總管");
  126.                                 }
  127.                                 break;
  128.  
  129.                             case 2:
  130.                                 break;
  131.                         }
  132.                         return;
  133.  
  134.                     case 2:
  135.                         Say(pc, 11000015, 131, "劍士這職業比較適合$R;" +
  136.                                                "埃米爾族和道米尼族的體質唷!$R;" +
  137.                                                "$R判斷職業的性質,$R;" +
  138.                                                "是否適合自己的種族是很重要的呀,$R;" +
  139.                                                "還想聽下去嗎?$R;", "劍士總管");
  140.  
  141.                         switch (Select(pc, "還要聽下去嗎?", "", "我要聽", "不聽"))
  142.                         {
  143.                             case 1:
  144.                                 Say(pc, 11000015, 131, "『劍士』主要是使用劍和盾牌的戰士唷!$R;" +
  145.                                                        "當然,還可以使用別的武器。$R;" +
  146.                                                        "$R劍士的最大魅力,$R;" +
  147.                                                        "就是攻擊力非常高唷。$R;" +
  148.                                                        "$P當然防禦力也很高。$R;" +
  149.                                                        "這樣就能成為隊伍裡的盾牌,$R;" +
  150.                                                        "不僅可以戰鬥還能保護隊友安全唷!$R;" +
  151.                                                        "$P可惜搜集能力和搬運能力比較低,$R;" +
  152.                                                        "並不適合一個人單獨行動。$R;" +
  153.                                                        "$R是一個和同伴們互相合作,$R;" +
  154.                                                        "就會散發光彩的職業唷。$R;", "劍士總管");
  155.                                 break;
  156.  
  157.                             case 2:
  158.                                 break;
  159.                         }
  160.                         break;
  161.  
  162.                     case 3:
  163.                         Say(pc, 11000015, 131, "如果想在這裡接任務的話,$R;" +
  164.                                                "首先要具備一些條件喔。$R;" +
  165.                                                "$P至於要具備什麼條件呢?$R;" +
  166.                                                "$R等您成為『劍士』之後,$R;" +
  167.                                                "我再告訴您吧。$R;", "劍士總管");
  168.                         break;
  169.                 }
  170.  
  171.                 selection = Select(pc, "想做什麼?", "", "我想成為『劍士』!", "『劍士』是什麼樣的職業?", "任務服務台", "什麼也不做");
  172.             }
  173.         }
  174.  
  175.         void 劍士轉職任務(ActorPC pc)
  176.         {
  177.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  178.  
  179.             if (!JobBasic_01_mask.Test(JobBasic_01.劍士轉職任務完成))
  180.             {
  181.                 給予巴鳴身上的肉(pc);
  182.             }
  183.  
  184.             if (JobBasic_01_mask.Test(JobBasic_01.劍士轉職任務完成) &&
  185.                 !JobBasic_01_mask.Test(JobBasic_01.劍士轉職成功))
  186.             {
  187.                 申請轉職為劍士(pc);
  188.                 return;
  189.             }
  190.         }
  191.  
  192.         void 給予巴鳴身上的肉(ActorPC pc)
  193.         {
  194.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  195.  
  196.             if (CountItem(pc, 10006300) > 0)
  197.             {
  198.                 Say(pc, 11000015, 131, "哇!! 真的把『肉』帶來了,$R;" +
  199.                                        "看來您做還算不錯唷。$R;" +
  200.                                        "$R我開始期待您的將來了。$R;" +
  201.                                        "$P既然您達成任務了,$R;" +
  202.                                        "從現在開始,您就是『劍士』啦!$R;", "劍士總管");
  203.  
  204.                 switch (Select(pc, "要轉職為『劍士』嗎?", "", "轉職為『劍士』", "還是算了吧"))
  205.                 {
  206.                     case 1:
  207.                         JobBasic_01_mask.SetValue(JobBasic_01.劍士轉職任務完成, true);
  208.  
  209.                         PlaySound(pc, 2030, false, 100, 50);
  210.                         TakeItem(pc, 10006300, 1);
  211.                         Say(pc, 0, 0, "交出『肉』!$R;", " ");
  212.                         break;
  213.  
  214.                     case 2:
  215.                         Say(pc, 11000015, 131, "考慮清楚再來吧。$R;", "劍士總管");
  216.                         break;
  217.                 }
  218.             }
  219.             else
  220.             {
  221.                 Say(pc, 11000015, 131, "在「奧克魯尼亞北部平原」$R;" +
  222.                                        "在上去的「瑞路斯山道」。$R;" +
  223.                                        "$R那裡棲息著非常多的「巴鳴」,$R;" +
  224.                                        "但是「巴鳴」很強!$R;" +
  225.                                        "建議多找朋友幫忙打喔~!$R;", "劍士總管");
  226.             }
  227.         }
  228.  
  229.         void 申請轉職為劍士(ActorPC pc)
  230.         {
  231.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  232.  
  233.             Say(pc, 11000015, 131, "那麼就替您紋上代表『劍士』的$R;" +
  234.                                    "『劍士紋章』吧。$R;", "劍士總管");
  235.  
  236.             if (pc.Inventory.Equipments.Count == 0)
  237.             {
  238.                 JobBasic_01_mask.SetValue(JobBasic_01.劍士轉職成功, true);
  239.  
  240.                 PlaySound(pc, 3087, false, 100, 50);
  241.                 ShowEffect(pc, 4131);
  242.                 Wait(pc, 3960);
  243.  
  244.                 Say(pc, 11000015, 131, "…$R;" +
  245.                                        "$P好棒啊,$R;" +
  246.                                        "您身上已經烙印了漂亮的紋章。$R;" +
  247.                                        "$R從今以後,$R;" +
  248.                                        "您就成為『劍士』了。$R;", "劍士總管");
  249.  
  250.                 PlaySound(pc, 4012, false, 100, 50);
  251.                 ChangePlayerJob(pc, PC_JOB.SWORDMAN);
  252.  
  253.                 Say(pc, 0, 0, "您已經轉職為『劍士』了!$R;", " ");
  254.  
  255.                 Say(pc, 11000015, 131, "先穿上衣服後,再和我說話吧。$R;" +
  256.                                        "有一份小禮物,要送給您唷!$R;" +
  257.                                        "$R您先去整理行李後,再來找我吧。$R;", "劍士總管");
  258.             }
  259.             else
  260.             {
  261.                 Say(pc, 11000015, 131, "紋章是烙印在皮膚上的,$R;" +
  262.                                        "先把裝備脫掉吧。$R;", "劍士總管");
  263.             }
  264.         }
  265.  
  266.         void 劍士轉職完成(ActorPC pc)
  267.         {
  268.             BitMask<JobBasic_01> JobBasic_01_mask = new BitMask<JobBasic_01>(pc.CMask["JobBasic_01"]);
  269.  
  270.             if (pc.Inventory.Equipments.Count != 0)
  271.             {
  272.                 JobBasic_01_mask.SetValue(JobBasic_01.已經轉職為劍士, true);
  273.  
  274.                 Say(pc, 11000015, 131, "給您『劍士勳章』,$R;" +
  275.                                        "$R用『劍士勳章』代表劍士榮譽。$R;" +
  276.                                        "好好加油喔。$R;", "劍士總管");
  277.  
  278.                 PlaySound(pc, 2040, false, 100, 50);
  279.                 GiveItem(pc, 50051300, 1);
  280.                 Say(pc, 0, 0, "得到『劍士勳章』!$R;", " ");
  281.  
  282.                 LearnSkill(pc, 2115);
  283.                 Say(pc, 0, 0, "學到『居合斬』!$R;", " ");
  284.             }
  285.             else
  286.             {
  287.                 Say(pc, 11000015, 131, "先穿上衣服後,再和我說話吧。$R;", "劍士總管");
  288.             }
  289.         }
  290.  
  291.         void 進階轉職(ActorPC pc)
  292.         {
  293.             BitMask<Job2X_01> Job2X_01_mask = pc.CMask["Job2X_01"];
  294.  
  295.             if (Job2X_01_mask.Test(Job2X_01.轉職完成))//_3A37)
  296.             {
  297.                 if (pc.Inventory.Equipments.Count == 0)
  298.                 {
  299.                     Say(pc, 131, "衣服要穿好啊!!!$R;");
  300.                     return;
  301.                 }
  302.                 Say(pc, 131, "現在還不能轉職,$R;" +
  303.                     "還是先去累積經驗吧。$R;");
  304.                 return;
  305.             }
  306.  
  307.             if (CountItem(pc, 10020600) >= 1)
  308.             {
  309.                 Say(pc, 131, "很好,既然取得了認證書,$R那就讓您轉職吧。$R;" +
  310.                     "$R從現在開始,$R您就成為人人羨慕的『光戰士』了$R;");
  311.                 進階轉職選擇(pc);
  312.                 return;
  313.             }
  314.  
  315.             if (pc.Inventory.Equipments.Count == 0)
  316.             {
  317.                 Say(pc, 131, "衣服要穿好啊!!!$R;");
  318.                 return;
  319.             }
  320.  
  321.             if (Job2X_01_mask.Test(Job2X_01.進階轉職開始))//_3A32)
  322.             {
  323.                 Say(pc, 131, "只要到『阿伊恩市』的$R『鳳老頭』那裡$R;" +
  324.                     "拿到認證書的話,$R;" +
  325.                     "就承認您成為『光戰士』唷。$R;");
  326.                 return;
  327.             }
  328.  
  329.             if (pc.Job == PC_JOB.SWORDMAN && pc.JobLevel1 > 29)
  330.             {
  331.                 Say(pc, 131, "您終於達到挑戰高級職業的條件了$R;" +
  332.                     "也就是從劍士轉職成光戰士。$R;");
  333.  
  334.                 Say(pc, 131, "只要到『阿伊恩市』的$R『鳳老頭』那裡$R;" +
  335.                     "拿到認證書的話,$R;" +
  336.                     "就承認您成為『光戰士』唷。$R;");
  337.                 Job2X_01_mask.SetValue(Job2X_01.進階轉職開始, true);
  338.                 //_3A32 = true;
  339.                 return;
  340.             }
  341.  
  342.             Say(pc, 131, "您還未達到申請轉職的條件。$R;" +
  343.                 "先以劍士的職業,慢慢培養實力吧。$R;");
  344.         }
  345.  
  346.         void 進階轉職選擇(ActorPC pc)
  347.         {
  348.             BitMask<Job2X_01> Job2X_01_mask = pc.CMask["Job2X_01"];
  349.  
  350.             switch (Select(pc, "真的要轉職嗎?", "", "我想成為光戰士", "聽取關於光戰士的注意事項", "還是算了吧"))
  351.             {
  352.                 case 1:
  353.                     Say(pc, 131, "那麼就給您烙印上這象徵光戰士的$R;" +
  354.                         "『光戰士紋章』吧$R;");
  355.                     if (pc.Inventory.Equipments.Count == 0)
  356.                     {
  357.                         Say(pc, 131, "最後再向您確認一次,$R;" +
  358.                             "您是真的決定轉職嗎?$R;");
  359.                         switch (Select(pc, "真的要轉職嗎?", "", "成為光戰士", "算了吧"))
  360.                         {
  361.                             case 1:
  362.                                 TakeItem(pc, 10020600, 1);
  363.                                 Job2X_01_mask.SetValue(Job2X_01.轉職完成, true);
  364.                                 //_3A37 = true;
  365.                                 ChangePlayerJob(pc, PC_JOB.BLADEMASTER);
  366.                                 pc.JEXP = 0;
  367.                                 //PARAM ME.JOB = 3
  368.                                 PlaySound(pc, 3087, false, 100, 50);
  369.                                 ShowEffect(pc, 4131);
  370.                                 Wait(pc, 4000);
  371.                                 Say(pc, 131, "…$R;" +
  372.                                     "$P好棒啊,$R;" +
  373.                                     "您身上已經烙印了漂亮的紋章。$R;" +
  374.                                     "$R從今以後,$R您就成為代表我們的『光戰士』了。$R;");
  375.                                 PlaySound(pc, 4012, false, 100, 50);
  376.                                 Say(pc, 131, "您已轉職為『光戰士』了。$R;");
  377.                                 break;
  378.                             case 2:
  379.                                 Say(pc, 131, "看來您還不想轉職呀?$R;" +
  380.                                     "我想也是,這麼重大的決定$R需要時間慎重思考的吧$R;");
  381.                                 break;
  382.                         }
  383.                         return;
  384.                     }
  385.                     Say(pc, 131, "防禦太高的話,就無法烙印紋章了$R;" +
  386.                         "請換上輕便的服裝後,再來吧。$R;");
  387.                     break;
  388.                 case 2:
  389.                     Say(pc, 131, "成為『光戰士』的話,$R職業LV會成為1。$R;" +
  390.                         "但是轉職前所擁有的$R;" +
  391.                         "$R技能和技能點數是不會消失的。$R;" +
  392.                         "$P還有轉職之前不能學習的技能,$R;" +
  393.                         "在轉職以後也不可學習的。$R;" +
  394.                         "例如職業等級為30時轉職的話,$R;" +
  395.                         "$R轉職前30級以上的技能$R;" +
  396.                         "就不能學習了,請注意。$R;");
  397.                     進階轉職選擇(pc);
  398.                     break;
  399.                 case 3:
  400.                     Say(pc, 131, "看來您還不想轉職呀?$R;" +
  401.                         "我想也是,這麼重大的決定$R需要時間慎重思考的吧$R;");
  402.                     break;
  403.             }
  404.         }
  405.     }
  406. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement