Register for your free account! | Forgot your password?

You last visited: Today at 16:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE]Artisan Wind Socketing

Discussion on [RELEASE]Artisan Wind Socketing within the CO2 PServer Guides & Releases forum part of the CO2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2007
Posts: 340
Received Thanks: 38
[RELEASE]Artisan Wind Socketing

This is for 5165 flatfile:

(meteor upgrade)Go to PacketHandling--->ItemPacket--->MeteorUpgrade.cs and replace all with this:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NewestCOServer.PacketHandling.ItemPacket
{
    public class MeteorUpgrade
    {
        public static void Handle(Main.GameClient GC, byte[] Data)
        {
            uint EquipUID = BitConverter.ToUInt32(Data, 4);
            uint MeteorUID = BitConverter.ToUInt32(Data, 8);

            Game.Item Equip = GC.MyChar.FindInvItem(EquipUID);
            Game.Item Meteor = GC.MyChar.FindInvItem(MeteorUID);

            if (Meteor.ID == 1088001)
            {
                Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);

                sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 1.3));
                byte Quality = (byte)E.Quality;

                if (Quality < 6)
                    Chance += 10;

                E.IncreaseLevel();
                DatabaseItem Di = (DatabaseItem)Database.DatabaseItems[E.ToID()];

                byte NewLevel = Di.LevReq;
                if (NewLevel > Equip.DBInfo.LevReq)
                {
                    if (MyMath.ChanceSuccess(Chance))
                    {
                        if (Equip.Soc1 == Game.Item.Gem.NoSocket)
                        {
                            if (MyMath.ChanceSuccess(0.1))//change this to the rate for 1st sock
                            {
                                Equip.Soc1 = Game.Item.Gem.EmptySocket;
                                Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
                            }
                        }
                        else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
                            if (MyMath.ChanceSuccess(0.05))//change this for the 2nd sock rate
                            {
                                Equip.Soc2 = Game.Item.Gem.EmptySocket;
                                Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
                            }
                        GC.MyChar.RemoveItem(Equip);
                        Equip.ID = E.ToID();
                        GC.MyChar.AddItem(Equip);
                        GC.LocalMessage(2005, "Item level improved.");
                    }
                    else
                        GC.LocalMessage(2005, "Item upgrade failed.");
                    if (!Chance.ToString().Contains('-'))
                    {
                        GC.MyChar.RemoveItem(Meteor);
                    }
                }
            }
            if (Meteor.ID == 1088002)
            {
                Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);

                sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 1.3));
                byte Quality = (byte)E.Quality;

                if (Quality < 6)
                    Chance += 10;
                if (Quality == 7)
                    Chance -= 5;
                if (Quality == 8)
                    Chance -= 20;
                if (Quality == 9)
                    Chance -= 30;

                E.IncreaseLevel();
                DatabaseItem Di = (DatabaseItem)Database.DatabaseItems[E.ToID()];
                byte NewLevel = Di.LevReq;
                if (NewLevel > Equip.DBInfo.LevReq)
                {
                    if (Equip.Soc1 == Game.Item.Gem.NoSocket)
                    {
                        if (MyMath.ChanceSuccess(0.1))//change this for 1st sock rate
                        {
                            Equip.Soc1 = Game.Item.Gem.EmptySocket;
                            Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
                        }
                    }
                    else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
                        if (MyMath.ChanceSuccess(0.05))//2nd sock rate
                        {
                            Equip.Soc2 = Game.Item.Gem.EmptySocket;
                            Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
                        }
                    if (MyMath.ChanceSuccess(Chance))
                    {
                        GC.MyChar.RemoveItem(Equip);
                        Equip.ID = E.ToID();
                        GC.MyChar.AddItem(Equip);
                        GC.LocalMessage(2005, "Item level improved.");
                    }
                    else
                        GC.LocalMessage(2005, "Item upgrade failed.");
                    if (!Chance.ToString().Contains('-'))
                        GC.MyChar.RemoveItem(Meteor);
                }
            }
        }
    }
}
(db upgrade)PacketHandling--->Itempacket--->DBUpgrade.cs and replace all with this:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NewestCOServer.PacketHandling.ItemPacket
{
    public class DBUpgrade
    {
        public static void Handle(Main.GameClient GC, byte[] Data)
        {
            uint EquipUID = BitConverter.ToUInt32(Data, 4);
            uint MeteorUID = BitConverter.ToUInt32(Data, 8);

            Game.Item Equip = GC.MyChar.FindInvItem(EquipUID);
            Game.Item DragonBall = GC.MyChar.FindInvItem(MeteorUID);

            if (DragonBall.ID == 1088000)
            {
                Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);

                sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 3));
                byte Quality = (byte)E.Quality;

                if (Quality == 6)
                    Chance -= 25;
                else if (Quality == 7)
                    Chance -= 40;
                else if (Quality == 8)
                    Chance -= 70;

                if (Quality < 9)
                {
                    if (Quality < 5) Quality = 5;
                    E.QualityChange((Game.Item.ItemQuality)(Quality + 1));
                     Chance += 16;
                    if (MyMath.ChanceSuccess(Chance))
                    {
                        if (Equip.Soc1 == Game.Item.Gem.NoSocket)
                        {
                            if (MyMath.ChanceSuccess(1.2))//change this for 1st sock rate
                            {
                                Equip.Soc1 = Game.Item.Gem.EmptySocket;
                                Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
                            }
                        }
                        else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
                            if (MyMath.ChanceSuccess(0.3))//2nd sock rate
                            {
                                Equip.Soc2 = Game.Item.Gem.EmptySocket;
                                Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
                            }
                        GC.MyChar.RemoveItem(Equip);
                        Equip.ID = E.ToID();
                        GC.MyChar.AddItem(Equip);
                        GC.LocalMessage(2005, "Item quality improved.");
                    }
                    else
                        GC.LocalMessage(2005, "Item upgrade failed.");
                    GC.MyChar.RemoveItem(DragonBall);
                }
            }
        }
    }
}
ryuchetval is offline  
Thanks
2 Users
Old 06/17/2010, 14:31   #2
 
sawickas's Avatar
 
elite*gold: 0
Join Date: Sep 2008
Posts: 617
Received Thanks: 38
Arco source?
sawickas is offline  
Old 06/17/2010, 14:32   #3
 
~Master's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 118
Received Thanks: 23
tanel's source
~Master is offline  
Old 06/17/2010, 15:51   #4
 
elite*gold: 0
Join Date: Feb 2007
Posts: 340
Received Thanks: 38
removed the arco's source thing...
ryuchetval is offline  
Old 06/17/2010, 16:20   #5
 
elite*gold: 0
Join Date: May 2010
Posts: 630
Received Thanks: 130
arco haven't done anything.
the source is tanels 100%

no matter how much effort and edits you put in it, then is still tanels.
.Summer is offline  
Old 06/17/2010, 18:29   #6
 
_DreadNought_'s Avatar
 
elite*gold: 28
Join Date: Jun 2010
Posts: 2,225
Received Thanks: 868
lamo What if u changed the socket system, changes how the source works, change the name of it, restructure it ? 100% Tanels....naa like %15
_DreadNought_ is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Release]Glory Artisan
02/15/2010 - CO2 PServer Guides & Releases - 30 Replies
Npc's.txt ------------ ------------ Don't Forget to Pres Thanks !!
[Help] Artisan Wind
07/18/2009 - CO2 Private Server - 0 Replies
Where can i find the code for Artisan Wind that upgrades items in TC on LOTF source? Anyone can help? Thanks
Artisan Wind
04/21/2009 - Conquer Online 2 - 4 Replies
So Artisan Wind has failed me for the last time, but it got me to thinking, is his name client based like our class titles? If so, I'm thinking about renaming him. Any of you all have any clue?



All times are GMT +1. The time now is 16:38.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.