Esempio n. 1
0
 public override void OnCreate(bool success)
 {
     BeginTask();
     Delay(10);
     Dash(-8498, -7410, -163, 275, 1394, 97);
     exe = StartTask();
 }
Esempio n. 2
0
 public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest)
 {
     switch (questID)
     {
     case 224:
         if (step == 2)
         {
             SendNPCCommand("q224.Start2");
             BeginTask();
             Delay(5);
             NPCChat(1551, 135);
             Delay(82);
             Dash(-2206, 9728, 588, 161, 1419, 20);
             Delay(20);
             Dash(-1801, 9415, 685, 323, 0, 0);
             Move(-1804, 9417, 685, 140, 500, false);
             Move(-1807, 9420, 685, 140, 500, false);
             exe = StartTask();
         }
         break;
     }
 }
Esempio n. 3
0
        public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest)
        {
            switch (questID)
            {
                #region 225
            case 225:
            case 228:
            case 234:
            case 237:
                if (step == 1)
                {
                    SendNPCCommand("q225.Start");
                    BeginTask();
                    Delay(5);
                    NPCChat(1573, 250);
                    StartTask();
                }
                if (step == 2)
                {
                    SendNPCCommand("q225.End");
                    BeginTask();
                    NPCChat(1556, pc);
                    Delay(40);
                    NPCChat(1574, pc);
                    Delay(42);
                    Move(-2253, 10645, 557, 14, 64);
                    Move(-2243, 10674, 557, 70, 500);
                    Move(-2233, 10703, 557, 70, 500);
                    Move(-2223, 10732, 555, 70, 500);
                    Move(-2213, 10761, 555, 70, 500);
                    Move(-2210, 10768, 555, 70, 112);
                    Move(-2201, 10797, 555, 72, 500);
                    Move(-2192, 10826, 555, 72, 500);
                    Move(-2183, 10855, 555, 72, 500);
                    Move(-2174, 10884, 555, 72, 500);
                    Move(-2165, 10913, 555, 72, 500);
                    Move(-2156, 10942, 555, 72, 500);
                    Move(-2146, 10971, 555, 72, 500);
                    Move(-2136, 11000, 555, 72, 500);
                    Move(-2126, 11029, 555, 72, 500);
                    Move(-2116, 11058, 555, 72, 500);
                    Move(-2112, 11070, 555, 72, 193);
                    Move(-2115, 11061, 555, 249, 500, false);
                    Move(-2117, 11057, 555, 249, 222, false);
                    exe = StartTask();
                }
                break;
                #endregion

                #region 226
            case 226:
            case 229:
            case 238:
            {
                if (step == 1)
                {
                    BeginTask();
                    SpawnNPCTask(672, 1542, -2198, 11005, 555, 45, 367);
                    Delay(3);
                    SpawnNPCTask(672, 1542, -2089, 10969, 555, 120, 367);
                    Delay(3);
                    SpawnNPCTask(672, 1542, -2191, 11117, 555, 300, 367);
                    Delay(3);
                    SpawnNPCTask(672, 1542, -2023, 11054, 555, 180, 367);
                    Delay(3);
                    SpawnNPCTask(672, 1542, -2090, 11146, 555, 250, 367);
                    StartTask();
                }
            }
            break;

            case 235:
            {
                if (step == 1)
                {
                    BeginTask();
                    SpawnNPCTask(2475, 1542, -2192, 11004, 555, 45, 367);
                    Delay(3);
                    SpawnNPCTask(2475, 1542, -2087, 10968, 555, 120, 367);
                    Delay(3);
                    SpawnNPCTask(2475, 1542, -2194, 11111, 555, 300, 367);
                    Delay(3);
                    SpawnNPCTask(2475, 1542, -2026, 11057, 555, 180, 367);
                    Delay(3);
                    SpawnNPCTask(2475, 1542, -2086, 11143, 555, 250, 367);
                    StartTask();
                }
            }
            break;
                #endregion

                #region 227
            case 227:
            case 230:
            case 236:
            case 239:
                if (step == 1)
                {
                    BeginTask();
                    Delay(10);
                    NPCChat(1561, pc);
                    Delay(4);
                    Dash(-2118, 11054, 555, 252, 1425, 75);
                    exe       = StartTask();
                    q227_step = 1;
                }
                break;
                #endregion
            }
        }
Esempio n. 4
0
        public override void OnActorStartsMoving(Actor mActor, MoveArg arg)
        {
            if (mActor is ActorPC target)
            {
                if (exe?.Activated == false)
                {
                    ushort[] questIDs = new ushort[] { 225, 228, 234, 237 };
                    foreach (ushort i in questIDs)
                    {
                        if (target.Quests.ContainsKey(i))
                        {
                            Quest q = target.Quests[i];
                            if (q.Step == 2)
                            {
                                if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100)
                                {
                                    ProcessQuest(target, 3, q);
                                    target = null;
                                }
                            }
                            return;
                        }
                    }
                    questIDs = new ushort[] { 227, 230, 236, 239 };
                    foreach (ushort i in questIDs)
                    {
                        if (target.Quests.ContainsKey(i))
                        {
                            Quest q = target.Quests[i];
                            if (q.Step == 1)
                            {
                                if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100)
                                {
                                    switch (q227_step)
                                    {
                                    case 1:
                                    {
                                        BeginTask();
                                        Dash(-2123, 11037, 555, 254, 0, 0);
                                        Dash(-2313, 10448, 556, 253, 0, 0);
                                        Dash(-2399, 10184, 502, 252, 0, 0);
                                        q227_step = 2;
                                        exe       = StartTask();
                                    }
                                    break;

                                    case 2:
                                    {
                                        BeginTask();
                                        NPCChat(1572, target);
                                        Delay(10);
                                        Dash(-2400, 10174, 504, 265, 1426, 43);
                                        q227_step = 3;
                                        exe       = StartTask();
                                    }
                                    break;

                                    case 3:
                                    {
                                        BeginTask();
                                        Dash(-3183, 10442, 421, 161, 0, 0);
                                        q227_step = 4;
                                        exe       = StartTask();
                                    }
                                    break;

                                    case 4:
                                    {
                                        BeginTask();
                                        NPCChat(2405, target);
                                        Delay(10);
                                        Dash(-3186, 10445, 643, 135, 1427, 43);
                                        q227_step = 5;
                                        exe       = StartTask();
                                    }
                                    break;

                                    case 5:
                                    {
                                        BeginTask();
                                        Dash(-4258, 10987, 319, 153, 0, 0);
                                        q227_step = 6;
                                        exe       = StartTask();
                                    }
                                    break;

                                    case 6:
                                    {
                                        ProcessQuest(target, 2, q);
                                        target = null;
                                        exe    = null;
                                    }
                                    break;
                                    }
                                }
                            }
                            return;
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        public override void OnActorStartsMoving(Actor mActor, MoveArg arg)
        {
            if (mActor is ActorPC target)
            {
                if (exe?.Activated == false)
                {
                    if (target.Quests.ContainsKey(221))
                    {
                        Quest q = target.Quests[221];
                        if (q.Step == 4)
                        {
                            if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 50)
                            {
                                NextStep(q, 0, 31, 31, 31);
                                UpdateQuest(target, q);

                                BeginTask();
                                Delay(10);
                                Move(-3031, 9250, 582, 244, 125, false);
                                Move(-3036, 9245, 583, 225, 500, false);
                                Move(-3042, 9239, 583, 225, 500, false);
                                Move(-3045, 9236, 583, 225, 250, false);
                                StartTask();
                                target = null;
                            }
                        }
                        return;
                    }
                    if (target.Quests.ContainsKey(222))
                    {
                        Quest q = target.Quests[222];
                        if (q.Step == 0)
                        {
                            if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100)
                            {
                                NextStep(q, 0, 1, 1, 1);
                                UpdateQuest(target, q);
                            }
                        }
                    }
                    if (target.Quests.ContainsKey(223))
                    {
                        Quest q = target.Quests[223];
                        if (q.Step == 2)
                        {
                            if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100)
                            {
                                switch (q223State)
                                {
                                case 0:
                                    BeginTask();
                                    //NPCChat(1604, 292);
                                    NPCChat(1570, 119);
                                    Delay(15);
                                    Dash(-2495, 9344, 553, 180, 1397, 32);
                                    Delay(35);
                                    Dash(-2208, 8577, 552, 291, 0, 0);
                                    exe       = StartTask();
                                    q223State = 1;
                                    break;

                                case 1:
                                    BeginTask();
                                    NPCChat(1548, 291);
                                    Delay(5);
                                    Move(-2206, 8564, 552, 279, 209);
                                    Move(-2206, 8533, 550, 269, 500);
                                    Move(-2207, 8502, 557, 269, 500);
                                    Move(-2208, 8471, 567, 269, 500);
                                    Move(-2209, 8464, 568, 269, 112);
                                    Move(-2219, 8435, 586, 250, 500);
                                    Move(-2230, 8406, 600, 250, 500);
                                    Move(-2241, 8377, 611, 250, 500);
                                    Move(-2252, 8348, 622, 250, 500);
                                    Move(-2263, 8319, 632, 250, 500);
                                    Move(-2266, 8311, 634, 250, 129);
                                    Move(-2248, 8286, 641, 306, 500);
                                    Move(-2230, 8261, 645, 306, 500);
                                    Move(-2227, 8256, 645, 306, 80);
                                    Move(-2196, 8262, 646, 11, 500);
                                    Move(-2177, 8266, 649, 11, 306);
                                    Move(-2159, 8291, 650, 53, 500);
                                    Move(-2141, 8316, 655, 53, 500);
                                    Move(-2123, 8341, 657, 53, 500);
                                    Move(-2105, 8366, 658, 53, 500);
                                    Move(-2087, 8391, 657, 53, 500);
                                    Move(-2068, 8416, 657, 53, 500);
                                    Move(-2055, 8433, 658, 53, 338);
                                    exe       = StartTask();
                                    q223State = 2;
                                    break;

                                case 2:
                                {
                                    CutScene(target, 46);
                                    NextStep(q, 0, 7, 7, 7);
                                    UpdateQuest(target, q);
                                    BeginTask();
                                    Move(-2050, 8439, 658, 47, 500, false);
                                    Move(-2044, 8445, 658, 47, 500, false);
                                    exe = StartTask();
                                }
                                break;
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        public override void OnReceiveNPCCommand(ActorNPC npc, string command)
        {
            switch (command)
            {
            case "q222.Start":
            {
                BeginTask();
                Delay(10);
                Move(-3045, 9234, 583, 270, 32);
                Move(-3023, 9255, 582, 44, 500);
                Move(-3001, 9276, 582, 44, 500);
                Move(-2979, 9297, 582, 44, 500);
                Move(-2957, 9318, 582, 44, 500);
                Move(-2935, 9339, 580, 44, 500);
                Move(-2913, 9360, 569, 44, 500);
                Move(-2891, 9381, 558, 44, 500);
                Move(-2869, 9402, 547, 44, 500);
                Move(-2848, 9423, 544, 44, 500);
                Move(-2826, 9445, 544, 44, 500);
                Move(-2806, 9465, 544, 44, 451);
                Move(-2800, 9495, 544, 77, 500);
                Move(-2794, 9525, 544, 77, 500);
                Move(-2787, 9555, 544, 77, 500);
                Move(-2781, 9585, 541, 77, 500);
                Move(-2778, 9594, 540, 77, 145);
                Move(-2784, 9624, 536, 102, 500);
                Move(-2791, 9654, 533, 102, 500);
                Move(-2798, 9684, 528, 102, 500);
                Move(-2805, 9714, 523, 102, 500);
                Move(-2812, 9744, 516, 102, 500);
                Move(-2819, 9774, 511, 102, 500);
                Move(-2826, 9804, 506, 102, 500);
                Move(-2833, 9834, 502, 102, 500);
                Move(-2838, 9855, 501, 102, 338);
                Move(-2857, 9879, 498, 129, 500);
                Move(-2876, 9903, 497, 129, 500);
                Move(-2895, 9925, 496, 129, 467);
                Move(-2924, 9917, 493, 197, 500);
                Move(-2953, 9909, 493, 197, 500);
                Move(-2982, 9900, 492, 197, 500);
                Move(-3011, 9892, 488, 197, 500);
                Move(-3040, 9883, 483, 197, 500);
                Move(-3069, 9874, 475, 197, 500);
                Move(-3098, 9865, 468, 197, 500);
                Move(-3118, 9859, 470, 197, 322);
                Move(-3136, 9834, 471, 234, 500);
                Move(-3154, 9809, 471, 234, 500);
                Move(-3162, 9799, 471, 234, 193);
                Move(-3156, 9803, 471, 33, 500, false);
                Move(-3150, 9807, 471, 33, 437, false);
                exe = StartTask();
            }
            break;

            case "q223.Start":
                BeginTask();
                NPCChat(1546, 119);
                Delay(35);
                Move(-2622, 9862, 537, 270, 16);
                Move(-2626, 9832, 537, 262, 500);
                Move(-2630, 9802, 537, 262, 500);
                Move(-2635, 9772, 537, 262, 500);
                Move(-2640, 9741, 536, 262, 500);
                Move(-2643, 9725, 535, 262, 258);
                NPCChat(1547, 262);
                Delay(30);
                Dash(-2494, 9344, 553, 292, 1396, 12);
                exe = StartTask();
                break;

            case "q224.Start":
                BeginTask();
                Delay(35);
                NPCChat(1550, 47);
                Delay(30);
                Dash(-2048, 8448, 658, 143, 1398, 90);
                Delay(90);
                Dash(-2548, 9394, 555, 117, 0, 0);
                Dash(-2535, 9396, 555, 8, 0, 0);
                Delay(65);
                NPCChat(1564, 8);
                Move(-2528, 9398, 556, 15, 112);
                Move(-2509, 9422, 558, 51, 500);
                Move(-2490, 9446, 562, 51, 500);
                Move(-2471, 9470, 564, 51, 500);
                Move(-2452, 9494, 567, 51, 500);
                Move(-2433, 9518, 569, 51, 500);
                Move(-2414, 9542, 571, 51, 500);
                Move(-2395, 9566, 573, 51, 500);
                Move(-2376, 9590, 575, 51, 500);
                Move(-2357, 9614, 577, 51, 500);
                Move(-2338, 9638, 580, 51, 500);
                Move(-2319, 9662, 585, 51, 500);
                Move(-2300, 9686, 587, 51, 500);
                Move(-2281, 9710, 588, 51, 500);
                Move(-2262, 9734, 588, 51, 500);
                Move(-2243, 9758, 588, 51, 500);
                Move(-2226, 9780, 588, 51, 435);
                Move(-2222, 9774, 588, 304, 500, false);
                Move(-2218, 9767, 588, 304, 500, false);
                Move(-2216, 9765, 588, 304, 125, false);
                exe = StartTask();
                break;

            case "q224.Start2":
                BeginTask();
                Delay(59);
                NPCChat(1566, 135);
                Delay(59);
                NPCChat(1569, 135);
                StartTask();
                break;
            }
        }
Esempio n. 7
0
        public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest)
        {
            switch (questID)
            {
            case 221:
                if (step == 4)
                {
                    BeginTask();
                    NPCChat(1543, 200);
                    Delay(3);
                    Move(-3167, 9273, 583, 0, 64);
                    Move(-3142, 9292, 582, 38, 500);
                    Move(-3119, 9311, 582, 38, 500);
                    Move(-3107, 9321, 582, 38, 241);
                    NPCChat(1571, 38);
                    Move(-3103, 9320, 582, 346, 64);
                    Move(-3076, 9306, 582, 333, 500);
                    Move(-3054, 9294, 582, 333, 403);
                    Move(-3035, 9270, 582, 310, 500);
                    Move(-3024, 9257, 582, 310, 274);
                    Move(-3030, 9252, 582, 220, 437, false);
                    exe = StartTask();
                }
                break;

            case 222:
                if (step == 4)
                {
                    BeginTask();
                    Delay(5);
                    NPCChat(1545, 33);
                    Move(-3148, 9808, 471, 26, 32);
                    Move(-3129, 9832, 471, 51, 500);
                    Move(-3110, 9856, 470, 51, 500);
                    Move(-3104, 9863, 468, 51, 145);
                    Move(-3075, 9872, 473, 16, 500);
                    Move(-3046, 9881, 481, 16, 500);
                    Move(-3017, 9889, 486, 16, 500);
                    Move(-2988, 9898, 491, 16, 500);
                    Move(-2959, 9907, 493, 16, 500);
                    Move(-2930, 9916, 492, 16, 500);
                    Move(-2907, 9923, 494, 16, 387);
                    Move(-2885, 9902, 496, 316, 500);
                    Move(-2863, 9881, 498, 316, 500);
                    Move(-2841, 9860, 500, 316, 500);
                    Move(-2819, 9839, 503, 316, 500);
                    Move(-2797, 9818, 509, 316, 500);
                    Move(-2775, 9796, 517, 316, 500);
                    Move(-2753, 9774, 521, 316, 500);
                    Move(-2744, 9765, 525, 316, 193);
                    Move(-2714, 9769, 530, 7, 500);
                    Move(-2683, 9773, 534, 7, 500);
                    Move(-2652, 9777, 536, 7, 500);
                    Move(-2627, 9781, 537, 7, 403);
                    Move(-2622, 9811, 537, 79, 500);
                    Move(-2616, 9842, 537, 79, 500);
                    Move(-2614, 9849, 537, 79, 112);
                    Move(-2618, 9856, 537, 119, 500, false);
                    Move(-2622, 9863, 537, 119, 500, false);
                    StartTask();
                }
                break;
            }
        }