XConquer

System Bosses From ArgCO Source

Jan 13th, 2020
149
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1.- Crear Una Nueva Clase :
  2.  
  3. using ArgCO.Network.GamePackets;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8.  
  9. namespace ArgCO.Bosses
  10. {
  11.     public class SnowBanshee
  12.     {
  13.         public static ushort BossMap = 3846;//ID de Mapa
  14.         public static ushort X = 197;// Coordenada X
  15.         public static ushort Y = 151;// Coordenada Y
  16.         public static byte SummonHour = 20;//Hora Inicio
  17.         public static byte SummonMinute = 10;//Minuto Inicio
  18.         public static bool BossAlive = false;//Chequear Si esta Vivo el Boss
  19.         public static uint MobID = 4220;//ID de Boss (Lo Miras en tu DB) en muchas sourcers son diferente!!
  20.         public static string BossName = "SnowBanshee";//Nombre Exacto del Boss
  21.         public static void Spawn(Client.GameState client)
  22.         {
  23.             if (!BossAlive)
  24.             {
  25.                 if (client.Entity.MapID == BossMap)
  26.                 {
  27.                     Database.MonsterInformation mob;
  28.                     Database.MonsterInformation.MonsterInformations.TryGetValue(MobID, out mob);
  29.                     client.Map.SpawnNemesis(mob, client, Convert.ToUInt16(X), Convert.ToUInt16(Y), BossMap);
  30.                     ArgCO.Kernel.SendWorldMessage(new ArgCO.Network.GamePackets.Message(BossName + " have been spawned.", Message.Center));
  31.                     BossAlive = true;
  32.                 }
  33.  
  34.             }
  35.         }
  36.         public static void BossDown(Game.Entity killer)//Premios cuando Matas al Boss
  37.         {
  38.             BossAlive = false;
  39.  
  40.             uint ItemID = 0;
  41.             byte type1 = 135;
  42.             for (int i = 0; i < 5; i++)
  43.             {
  44.                 type1 = (byte)Kernel.Random.Next(1, 135);
  45.                 switch (type1)
  46.                 {
  47.                     #region Todos los Items
  48.                     case 1:
  49.                         ItemID = 823062;
  50.                         break;
  51.  
  52.                     case 2:
  53.                         ItemID = 800000;
  54.                         break;
  55.  
  56.                     case 3:
  57.                         ItemID = 3004136;
  58.                         break;
  59.  
  60.                     case 4:
  61.                         ItemID = 822053;
  62.                         break;
  63.  
  64.                     case 5:
  65.                         ItemID = 800020;
  66.                         break;
  67.  
  68.                     case 6:
  69.                         ItemID = 800001;
  70.                         break;
  71.  
  72.                     case 7:
  73.                         ItemID = 800002;
  74.                         break;
  75.  
  76.                     case 8:
  77.                         ItemID = 3004282;
  78.                         break;
  79.  
  80.                     case 9:
  81.                         ItemID = 823055;
  82.                         break;
  83.  
  84.                     case 10:
  85.                         ItemID = 800111;
  86.                         break;
  87.  
  88.                     case 11:
  89.                         ItemID = 800003;
  90.                         break;
  91.  
  92.                     case 12:
  93.                         ItemID = 800004;
  94.                         break;
  95.  
  96.                     case 13:
  97.                         ItemID = 3004138;
  98.                         break;
  99.  
  100.                     case 14:
  101.                         ItemID = 821031;
  102.                         break;
  103.  
  104.                     case 15:
  105.                         ItemID = 800142;
  106.                         break;
  107.  
  108.                     case 16:
  109.                         ItemID = 800005;
  110.                         break;
  111.  
  112.                     case 17:
  113.                         ItemID = 800006;
  114.                         break;
  115.  
  116.                     case 18:
  117.                         ItemID = 3004139;
  118.                         break;
  119.  
  120.                     case 19:
  121.                         ItemID = 824017;
  122.                         break;
  123.  
  124.                     case 20:
  125.                         ItemID = 800215;
  126.                         break;
  127.                     case 21:
  128.                         ItemID = 800007;
  129.                         break;
  130.                     case 22:
  131.                         ItemID = 800008;
  132.                         break;
  133.                     case 23:
  134.                         ItemID = 3004140;
  135.                         break;
  136.                     case 24:
  137.                         ItemID = 820071;
  138.                         break;
  139.                     case 25:
  140.                         ItemID = 800255;
  141.                         break;
  142.                     case 26:
  143.                         ItemID = 800009;
  144.                         break;
  145.                     case 27:
  146.                         ItemID = 800010;
  147.                         break;
  148.                     case 28:
  149.                         ItemID = 3004141;
  150.                         break;
  151.                     case 29:
  152.                         ItemID = 800916;
  153.                         break;
  154.                     case 30:
  155.                         ItemID = 800422;
  156.                         break;
  157.                     case 31:
  158.                         ItemID = 800011;
  159.                         break;
  160.                     case 32:
  161.                         ItemID = 800013;
  162.                         break;
  163.                     case 33:
  164.                         ItemID = 3004142;
  165.                         break;
  166.                     case 34:
  167.                         ItemID = 800017;
  168.                         break;
  169.                     case 35:
  170.                         ItemID = 800522;
  171.                         break;
  172.                     case 36:
  173.                         ItemID = 800014;
  174.                         break;
  175.                     case 37:
  176.                         ItemID = 800015;
  177.                         break;
  178.                     case 38:
  179.                         ItemID = 3004143;
  180.                         break;
  181.                     case 39:
  182.                         ItemID = 800722;
  183.                         break;
  184.                     case 40:
  185.                         ItemID = 800618;
  186.                         break;
  187.                     case 41:
  188.                         ItemID = 800016;
  189.                         break;
  190.                     case 42:
  191.                         ItemID = 800017;
  192.                         break;
  193.                     case 43:
  194.                         ItemID = 3004144;
  195.                         break;
  196.                     case 44:
  197.                         ItemID = 800513;
  198.                         break;
  199.                     case 45:
  200.                         ItemID = 800725;
  201.                         break;
  202.                     case 46:
  203.                         ItemID = 800018;
  204.                         break;
  205.                     case 47:
  206.                         ItemID = 3004145;
  207.                         break;
  208.                     case 48:
  209.                         ItemID = 823056;
  210.                         break;
  211.                     case 49:
  212.                         ItemID = 800810;
  213.                         break;
  214.                     case 50:
  215.                         ItemID = 820001;
  216.                         break;
  217.                     case 51:
  218.                         ItemID = 3004146;
  219.                         break;
  220.                     case 52:
  221.                         ItemID = 800320;
  222.                         break;
  223.                     case 53:
  224.                         ItemID = 800811;
  225.                         break;
  226.                     case 54:
  227.                         ItemID = 801200;
  228.                         break;
  229.                     case 55:
  230.                         ItemID = 820002;
  231.                         break;
  232.                     case 56:
  233.                         ItemID = 3004147;
  234.                         break;
  235.                     case 57:
  236.                         ItemID = 800421;
  237.                         break;
  238.                     case 58:
  239.                         ItemID = 800917;
  240.                         break;
  241.                     case 59:
  242.                         ItemID = 801202;
  243.                         break;
  244.                     case 60:
  245.                         ItemID = 820003;
  246.                         break;
  247.                     case 61:
  248.                         ItemID = 801204;
  249.                         break;
  250.                     case 62:
  251.                         ItemID = 801004;
  252.                         break;
  253.                     case 63:
  254.                         ItemID = 822055;
  255.                         break;
  256.                     case 64:
  257.                         ItemID = 3004148;
  258.                         break;
  259.                     case 65:
  260.                         ItemID = 820004;
  261.                         break;
  262.                     case 66:
  263.                         ItemID = 3004149;
  264.                         break;
  265.                     case 67:
  266.                         ItemID = 800110;
  267.                         break;
  268.                     case 68:
  269.                         ItemID = 801004;
  270.                         break;
  271.                     case 69:
  272.                         ItemID = 801206;
  273.                         break;
  274.                     case 70:
  275.                         ItemID = 820005;
  276.                         break;
  277.                     case 71:
  278.                         ItemID = 3004150;
  279.                         break;
  280.                     case 72:
  281.                         ItemID = 3004151;
  282.                         break;
  283.                     case 73:
  284.                         ItemID = 800809;
  285.                         break;
  286.                     case 74:
  287.                         ItemID = 822071;
  288.                         break;
  289.                     case 75:
  290.                         ItemID = 801208;
  291.                         break;
  292.                     case 76:
  293.                         ItemID = 820006;
  294.                         break;
  295.                     case 77:
  296.                         ItemID = 820007;
  297.                         break;
  298.                     case 78:
  299.                         ItemID = 3004152;
  300.                         break;
  301.                     case 79:
  302.                         ItemID = 800804;
  303.                         break;
  304.                     case 80:
  305.                         ItemID = 801210;
  306.                         break;
  307.                     case 81:
  308.                         ItemID = 820008;
  309.                         break;
  310.                     case 82:
  311.                         ItemID = 3004153;
  312.                         break;
  313.                     case 83:
  314.                         ItemID = 3004154;
  315.                         break;
  316.                     case 84:
  317.                         ItemID = 801003;
  318.                         break;
  319.                     case 85:
  320.                         ItemID = 822072;
  321.                         break;
  322.                     case 86:
  323.                         ItemID = 801212;
  324.                         break;
  325.                     case 87:
  326.                         ItemID = 820009;
  327.                         break;
  328.                     case 88:
  329.                         ItemID = 3004155;
  330.                         break;
  331.                     case 89:
  332.                         ItemID = 821032;
  333.                         break;
  334.                     case 90:
  335.                         ItemID = 823058;
  336.                         break;
  337.                     case 91:
  338.                         ItemID = 801214;
  339.                         break;
  340.                     case 92:
  341.                         ItemID = 823059;
  342.                         break;
  343.                     case 93:
  344.                         ItemID = 3004156;
  345.                         break;
  346.                     case 94:
  347.                         ItemID = 3004157;
  348.                         break;
  349.                     case 95:
  350.                         ItemID = 820010;
  351.                         break;
  352.                     case 96:
  353.                         ItemID = 801216;
  354.                         break;
  355.                     case 97:
  356.                         ItemID = 823060;
  357.                         break;
  358.                     case 98:
  359.                         ItemID = 820011;
  360.                         break;
  361.                     case 99:
  362.                         ItemID = 820012;
  363.                         break;
  364.                     case 100:
  365.                         ItemID = 3004158;
  366.                         break;
  367.                     case 101:
  368.                         ItemID = 823061;
  369.                         break;
  370.                     case 102:
  371.                         ItemID = 801218;
  372.                         break;
  373.                     case 103:
  374.                         ItemID = 823062;
  375.                         break;
  376.                     case 104:
  377.                         ItemID = 820013;
  378.                         break;
  379.                     case 105:
  380.                         ItemID = 3004159;
  381.                         break;
  382.                     case 106:
  383.                         ItemID = 824018;
  384.                         break;
  385.                     case 107:
  386.                         ItemID = 824019;
  387.                         break;
  388.                     case 108:
  389.                         ItemID = 3004160;
  390.                         break;
  391.                     case 109:
  392.                         ItemID = 820014;
  393.                         break;
  394.                     case 110:
  395.                         ItemID = 824020;
  396.                         break;
  397.                     case 111:
  398.                         ItemID = 820015;
  399.                         break;
  400.                     case 112:
  401.                         ItemID = 3004161;
  402.                         break;
  403.                     case 113:
  404.                         ItemID = 820016;
  405.                         break;
  406.                     case 114:
  407.                         ItemID = 3004162;
  408.                         break;
  409.                     case 115:
  410.                         ItemID = 820017;
  411.                         break;
  412.                     case 116:
  413.                         ItemID = 821033;
  414.                         break;
  415.                     case 117:
  416.                         ItemID = 820018;
  417.                         break;
  418.                     case 118:
  419.                         ItemID = 3004163;
  420.                         break;
  421.                     case 119:
  422.                         ItemID = 3004164;
  423.                         break;
  424.                     case 120:
  425.                         ItemID = 820019;
  426.                         break;
  427.                     case 121:
  428.                         ItemID = 3004165;
  429.                         break;
  430.                     case 122:
  431.                         ItemID = 820020;
  432.                         break;
  433.                     case 123:
  434.                         ItemID = 821034;
  435.                         break;
  436.                     case 124:
  437.                         ItemID = 3004166;
  438.                         break;
  439.                     case 125:
  440.                         ItemID = 820073;
  441.                         break;
  442.                     case 126:
  443.                         ItemID = 820022;
  444.                         break;
  445.                     case 127:
  446.                         ItemID = 820074;
  447.                         break;
  448.                     case 128:
  449.                         ItemID = 3004137;
  450.                         break;
  451.                     case 129:
  452.                         ItemID = 820075;
  453.                         break;
  454.                     case 130:
  455.                         ItemID = 820023;
  456.                         break;
  457.                     case 131:
  458.                         ItemID = 820076;
  459.                         break;
  460.  
  461.                     case 132:
  462.                         ItemID = 4100001;
  463.                         break;
  464.  
  465.                     case 133:
  466.                         ItemID = 4100002;
  467.                         break;
  468.                     case 134:
  469.                         ItemID = 4100003;
  470.                         break;
  471.                     case 135:
  472.                         ItemID = 4100004;
  473.                         break;
  474.                     #endregion
  475.                 }
  476.                 #region Premio Exacto
  477.                 if (i == 3)
  478.                     ItemID = 4100002;
  479.                 #endregion
  480.                 if (ItemID != 0u)
  481.                 {
  482.                     ushort x2 = killer.X;
  483.                     ushort y2 = killer.Y;
  484.                     Game.Map map2 = Kernel.Maps[killer.MapID];
  485.                     if (map2.SelectCoordonates(ref x2, ref y2))
  486.                     {
  487.                         FloorItem floorItem2 = new FloorItem(true);
  488.                         floorItem2.Item = new ConquerItem(true);
  489.                         floorItem2.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  490.                         floorItem2.Item.ID = ItemID;
  491.                         floorItem2.Item.MaximDurability = 65355;
  492.                         floorItem2.Item.MobDropped = true;
  493.                         floorItem2.ValueType = FloorItem.FloorValueType.Item;
  494.                         floorItem2.ItemID = ItemID;
  495.                         floorItem2.MapID = killer.MapID;
  496.                         floorItem2.MapObjType = Game.MapObjectType.Item;
  497.                         floorItem2.X = x2;
  498.                         floorItem2.Y = y2;
  499.                         floorItem2.Type = 1;
  500.                         floorItem2.OnFloor = Time32.Now;
  501.                         floorItem2.ItemColor = floorItem2.Item.Color;
  502.                         floorItem2.UID = FloorItem.FloorUID.Next;
  503.                         while (map2.Npcs.ContainsKey(floorItem2.UID))
  504.                         {
  505.                             floorItem2.UID = FloorItem.FloorUID.Next;
  506.                         }
  507.                         map2.AddFloorItem(floorItem2);
  508.                         killer.Owner.SendScreen(floorItem2);
  509.                     }
  510.                 }
  511.             }
  512.             ArgCO.Kernel.SendWorldMessage(new ArgCO.Network.GamePackets.Message("Congratulations! " + killer.Name + " has killed " + BossName + " and got Souls,Rare Items, Money, CPs!", Message.Center));
  513.             killer.SubClasses.StudyPoints += 1000;
  514.             killer.ConquerPoints += 3500;
  515.             killer.Money += 3000000;
  516.             #region Premio Equipo
  517.             if (killer.Owner.Team != null)
  518.             {
  519.                 foreach (var member in killer.Owner.Team.Teammates)
  520.                 {
  521.                     killer.SubClasses.StudyPoints += 1000;
  522.                     killer.ConquerPoints += 3500;
  523.                     killer.Money += 3000000;
  524.                 }
  525.  
  526.             }
  527.             #endregion
  528.         }
  529.         public static void Invite()
  530.         {
  531.             if (!BossAlive)
  532.             {
  533.                 foreach (var pclint in Program.Values)
  534.                     pclint.MessageBox(BossName + " will arrive after 1 min. Would you like to join?",
  535.                         (p) => { p.Entity.Teleport(BossMap, X, Y); }, null, 60);
  536.                 ArgCO.Kernel.SendWorldMessage(new ArgCO.Network.GamePackets.Message(BossName + " will be spawned in a minute.", Message.Center));
  537.  
  538.             }
  539.             else
  540.             {
  541.                 foreach (var pclint in Program.Values)
  542.                     pclint.MessageBox(BossName + " is still alive. Would you like to hunt it?",
  543.                         (p) => { p.Entity.Teleport(BossMap, X, Y); }, null, 60);
  544.             }
  545.         }
  546.     }
  547. }
  548.  
  549. ========================================================================================
  550. 2.- En World/Thread en donde quieran agregan :
  551.  
  552.  #region SnowBanshee
  553.                 //Invitacion
  554.                 if ((Now64.Hour == (ArgCO.Bosses.SnowBanshee.SummonHour)) && (Now64.Minute == ArgCO.Bosses.SnowBanshee.SummonMinute - 1))
  555.                     ArgCO.Bosses.SnowBanshee.Invite();
  556.                 //Spawn
  557.                 if (Now64.Minute == ArgCO.Bosses.SnowBanshee.SummonMinute)
  558.                     ArgCO.Bosses.SnowBanshee.Spawn(client);
  559.                 #endregion
  560. =========================================================================================
  561. 3.- En Monster Table.cs en donde quieran agregan :
  562.  if (Name == "SnowBanshee")
  563.             {
  564.                 ArgCO.Bosses.SnowBanshee.BossDown(killer);
  565.                 return;
  566.             }  
  567.  
  568. PD: Recuerden eliminar otros codigos del boss que vayan a agregar para que no haya problemas de choque de Dropeos!
  569. ===========================================================================================
  570.  
  571. Listo! disfruten del sistema!
RAW Paste Data