Beispiel #1
0
 public static Item TutorialBow(Player owner)
 {
     // bow 15100216
     // [longsword]  Tairen Royal Longsword - 13200309
     // [shield] Tairen Royal Shield - 14100279
     // [greatsword] Tairen Royal Greatsword - 15000313
     // [scepter] Tairen Royal Scepter - 13300308
     // [codex] Tairen Royal Codex - 14000270
     // [staff] Tairen Royal Staff - 15200312
     // [cannon] Tairen Royal Cannon - 15300308
     // [bow] Tairen Royal Bow - 15100305
     // [dagger] Tairen Royal Knife - 13100314
     // [star] Tairen Royal Star - 13400307
     // [blade] Tairen Royal Blade - 15400294
     // [knuckles] Tairen Royal Knuckles - 15500226
     // [orb] Tairen Royal Spirit - 15600228
     return(new Item(15100216)
     {
         Uid = 3430503306390578751, // Make sure its unique! If the UID is equipped, it will say "Equipped" on the item in your inventory
         Rarity = 1,
         CreationTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds(),
         Owner = owner,
         Color = EquipColor.Custom(MixedColor.Custom(
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xBC, 0xBC, 0xB3),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xC3, 0xDA, 0x3D),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xB0, 0xB4, 0xBA)
                                       ),
                                   10, 0x13
                                   ),
         TransferFlag = TransferFlag.Binds | TransferFlag.Splitable,
     });
 }
Beispiel #2
0
 public static Item TutorialBow()
 {
     return(new Item(15100216)
     {
         Uid = 3430503306390578751, // Make sure its unique! If the UID is equipped, it will say "Equipped" on the item in your inventory
         Rarity = 1,
         CreationTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds(),
         //Owner = owner,
         Color = EquipColor.Custom(
             Maple2Storage.Types.Color.Argb(0xFF, 0xBC, 0xBC, 0xB3),
             Maple2Storage.Types.Color.Argb(0xFF, 0xC3, 0xDA, 0x3D),
             Maple2Storage.Types.Color.Argb(0xFF, 0xB0, 0xB4, 0xBA),
             0x13
             ),
         AppearanceFlag = 0x5,
         Stats = new ItemStats
         {
             BasicAttributes =
             {
                 ItemStat.Of(ItemAttribute.CriticalRate, 12),
                 ItemStat.Of(ItemAttribute.MinWeaponAtk, 15),
                 ItemStat.Of(ItemAttribute.MaxWeaponAtk, 17)
             }
         },
         Transfer = TransferFlag.Binds | TransferFlag.Splitable,
     });
 }
Beispiel #3
0
 public static Item ShoesMale()
 {
     return(new Item(11700852)
     {
         Uid = 2754959794416496484,
         CreationTime = 1558494660,
         Color = EquipColor.Custom(MixedColor.Custom(
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x69, 0xB5),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x85, 0xDB),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x48, 0x5E, 0xA8)),
                                   10, 4
                                   ),
     });
 }
Beispiel #4
0
 public static Item FaceMale()
 {
     return(new Item(10300051)
     {
         Uid = 2754959794416496483,
         CreationTime = 1558494660,
         Color = EquipColor.Custom(MixedColor.Custom(
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x7E, 0xF3, 0xF8),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xF7, 0xE3, 0xE3),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x14, 0x07, 0x02)),
                                   10, 0
                                   ),
     });
 }
Beispiel #5
0
 public static Item CloathMale()
 {
     return(new Item(12200398)
     {
         Uid = 2754959794416496484,
         CreationTime = 1558494660,
         Color = EquipColor.Custom(
             Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x69, 0xB5),
             Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x85, 0xDB),
             Maple2Storage.Types.Color.Argb(0xFF, 0x48, 0x5E, 0xA8),
             4
             ),
     });
 }
Beispiel #6
0
 // MALE ITEMS
 public static Item HairMale()
 {
     return(new Item(10200003)
     {
         Uid = 2867972925711604442,
         CreationTime = 1565575851,
         Color = EquipColor.Custom(MixedColor.Custom(
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x69, 0xB5),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x85, 0xDB),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0x48, 0x5E, 0xA8)),
                                   10, 4
                                   ),
         HairD = new HairData(0.3f, 0.3f, new CoordF(), new CoordF(), new CoordF(), new CoordF()),
     });
 }
Beispiel #7
0
 public static Item Face()
 {
     return(new Item(10300004)
     {
         Uid = 2754959794416496483,
         CreationTime = 1558494660,
         Color = EquipColor.Custom(
             Maple2Storage.Types.Color.Argb(0xFF, 0xB5, 0x24, 0x29),
             Maple2Storage.Types.Color.Argb(0xFF, 0xF7, 0xE3, 0xE3),
             Maple2Storage.Types.Color.Argb(0xFF, 0x14, 0x07, 0x02),
             0
             ),
         AppearanceFlag = 3,
     });
 }
Beispiel #8
0
        protected override List <ColorPaletteMetadata> Parse()
        {
            List <ColorPaletteMetadata> palette = new List <ColorPaletteMetadata>();

            foreach (PackFileEntry entry in Resources.XmlFiles)
            {
                if (!entry.Name.StartsWith("table/colorpalette"))
                {
                    continue;
                }

                XmlDocument document = Resources.XmlMemFile.GetDocument(entry.FileHeader);
                foreach (XmlNode node in document.DocumentElement.ChildNodes)
                {
                    ColorPaletteMetadata metadata = new ColorPaletteMetadata();

                    if (node.Name == "colorPalette")
                    {
                        metadata.PaletteId = int.Parse(node.Attributes["id"].Value);

                        foreach (XmlNode colorNode in node)
                        {
                            int    index        = int.Parse(colorNode.Attributes["colorSN"].Value);
                            int    primary      = Convert.ToInt32(colorNode.Attributes["ch0"].Value, 16);
                            byte[] primaryBytes = BitConverter.GetBytes(primary);
                            Array.Reverse(primaryBytes);

                            int    secondary      = Convert.ToInt32(colorNode.Attributes["ch1"].Value, 16);
                            byte[] secondaryBytes = BitConverter.GetBytes(secondary);
                            Array.Reverse(secondaryBytes);

                            int    tertiary      = Convert.ToInt32(colorNode.Attributes["ch2"].Value, 16);
                            byte[] tertiaryBytes = BitConverter.GetBytes(tertiary);
                            Array.Reverse(tertiaryBytes);

                            EquipColor newColor = EquipColor.Custom(
                                Color.Argb(primaryBytes[0], primaryBytes[1], primaryBytes[2], primaryBytes[3]),
                                Color.Argb(secondaryBytes[0], secondaryBytes[1], secondaryBytes[2], secondaryBytes[3]),
                                Color.Argb(tertiaryBytes[0], tertiaryBytes[1], tertiaryBytes[2], tertiaryBytes[3]),
                                index);
                            metadata.DefaultColors.Add(newColor);
                        }
                    }
                    palette.Add(metadata);
                }
            }
            return(palette);
        }
Beispiel #9
0
 public static Item Hair()
 {
     return(new Item(10200148)
     {
         Uid = 2867972925711604442,
         CreationTime = 1565575851,
         Color = EquipColor.Custom(
             Maple2Storage.Types.Color.Argb(0xFF, 0x7E, 0xCC, 0xF7),
             Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x85, 0xDB),
             Maple2Storage.Types.Color.Argb(0xFF, 0x48, 0x5E, 0xA8),
             15
             ),
         HairD = new HairData(0.3f, 0.3f, new CoordF(), new CoordF(), new CoordF(), new CoordF()),
         AppearanceFlag = 2,
     });
 }
Beispiel #10
0
 // MALE ITEMS
 public static Item HairMale()
 {
     return(new Item(10200003)
     {
         Uid = 2867972925711604442,
         CreationTime = 1565575851,
         Color = EquipColor.Custom(
             Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x69, 0xB5),
             Maple2Storage.Types.Color.Argb(0xFF, 0x4C, 0x85, 0xDB),
             Maple2Storage.Types.Color.Argb(0xFF, 0x48, 0x5E, 0xA8),
             4
             ),
         HairD = new HairData(0.3f, 0.3f, new byte[24], new byte[24]),
         AppearanceFlag = 2,
     });
 }
Beispiel #11
0
 public static Item DefaultCodex(Player owner)
 {
     return(new Item(14000270)
     {
         Uid = 3430503306390578751, // Make sure its unique! If the UID is equipped, it will say "Equipped" on the item in your inventory
         Rarity = 1,
         CreationTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds(),
         Owner = owner,
         Color = EquipColor.Custom(MixedColor.Custom(
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xBC, 0xBC, 0xB3),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xC3, 0xDA, 0x3D),
                                       Maple2Storage.Types.Color.Argb(0xFF, 0xB0, 0xB4, 0xBA)),
                                   10, 0x13
                                   ),
         TransferFlag = TransferFlag.Binds | TransferFlag.Splitable,
     });
 }
Beispiel #12
0
        public static EquipColor GetEquipColor(int itemId)
        {
            int colorPalette = map.GetValueOrDefault(itemId).ColorPalette;
            int colorIndex   = map.GetValueOrDefault(itemId).ColorIndex;

            if (colorPalette == 0) // item has no color
            {
                return(EquipColor.Custom(MixedColor.Custom(Color.Argb(0, 0, 0, 0), Color.Argb(0, 0, 0, 0), Color.Argb(0, 0, 0, 0)), colorIndex, colorPalette));
            }

            ColorPaletteMetadata palette = ColorPaletteMetadataStorage.GetMetadata(colorPalette);

            if (colorPalette > 0 && colorIndex == -1) // random color from color palette
            {
                Random random = new Random();

                int index = random.Next(palette.DefaultColors.Count);

                return(EquipColor.Argb(palette.DefaultColors[index], colorIndex, colorPalette));
            }

            return(EquipColor.Argb(palette.DefaultColors[colorIndex], colorIndex, colorPalette));
        }