public void OnDeleteCraft(CM_DELETE_CRAFT p)
        {
            SM_PLAYER_UPDATE_LIST r     = new SM_PLAYER_UPDATE_LIST();
            UpdateEvent           Event = new UpdateEvent();

            if (Character.Craft1 == (Crafts)p.Craft)
            {
                Character.Craft1 = Crafts.None;
                Event.AddActorPara(PacketParameter.Craft1, 0);
                r.Parameters = Event;
                Network.SendPacket(r);
            }
            else if (Character.Craft2 == (Crafts)p.Craft)
            {
                Character.Craft2 = Crafts.None;
                Event.AddActorPara(PacketParameter.Craft2, 0);
                r.Parameters = Event;
                Network.SendPacket(r);
            }
            else if (Character.Craft3 == (Crafts)p.Craft)
            {
                Character.Craft3 = Crafts.None;
                Event.AddActorPara(PacketParameter.Craft3, 0);
                r.Parameters = Event;
                Network.SendPacket(r);
            }
            else if (Character.Craft4 == (Crafts)p.Craft)
            {
                Character.Craft4 = Crafts.None;
                Event.AddActorPara(PacketParameter.Craft4, 0);
                r.Parameters = Event;
                Network.SendPacket(r);
            }
        }
Example #2
0
        public void SendPlayerEquiptStats(Common.Item.Item item, Stats extra2 = Stats.None, bool all = false)
        {
            UpdateEvent evt   = new UpdateEvent();
            Stats       extra = Utils.FindStat(item.Synthesis);

            /*
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.MinAtk))
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.EquiptMinAtk, chara.Status.AtkMinExt);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.MaxAtk))
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.EquiptMaxAtk, chara.Status.AtkMaxExt);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.HitB) || Stats.HitB == extra || Stats.HitB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.HitBase, chara.Status.Hit);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.AvoidB) || Stats.AvoidB == extra || Stats.AvoidB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.AvoidBase, chara.Status.Avoid);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.CritB) || Stats.CritB == extra || Stats.CritB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.CriticalBase, chara.Status.Critical);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.DefCritB) || Stats.DefCritB == extra || Stats.DefCritB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.CriticalResist, chara.Status.CriticalResist);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.ParryB) || Stats.ParryB == extra || Stats.ParryB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.ParryBase, chara.Status.Parry);
             * if (item.BaseData.PrimaryStats.ContainsKey(Stats.PrcB) || Stats.PrcB == extra || Stats.PrcB == extra2 || all)
             *  evt.AddActorPara(Common.Packets.GameServer.PacketParameter.PierceBase, chara.Status.Pierce);
             */
            if (item.BaseData.PrimaryStats.ContainsKey(Stats.MaxHp) || Stats.MaxHp == extra || Stats.MaxHp == extra2 || all)
            {
                SendPlayerHP(true);
            }

            SM_PLAYER_UPDATE_LIST p = new SM_PLAYER_UPDATE_LIST()
            {
                Parameters = evt
            };

            Network.SendPacket(p);
        }
Example #3
0
        public void SendPlayerMovementLock(bool locked)
        {
            SM_PLAYER_UPDATE_LIST p = new SM_PLAYER_UPDATE_LIST()
            {
                //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.NoMove, locked ? 1 : 0);
                //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.NoRotate, locked ? 1 : 0);
                Parameters = new UpdateEvent()
            };

            Network.SendPacket(p);
        }
Example #4
0
        public void SendPlayerGold()
        {
            UpdateEvent evt = new UpdateEvent();

            evt.AddActorPara(PacketParameter.Gold, chara.Gold);
            SM_PLAYER_UPDATE_LIST p = new SM_PLAYER_UPDATE_LIST()
            {
                Parameters = evt
            };

            Network.SendPacket(p);
        }
Example #5
0
        private void LockForTeleport(bool Lock)
        {
            SM_PLAYER_UPDATE_LIST l   = new SM_PLAYER_UPDATE_LIST();
            UpdateEvent           evt = new UpdateEvent();

            //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.NoMove, Lock ? 1 : 0);
            //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.Unk103, Lock ? 1 : 0);
            //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.Unk108, Lock ? 1 : 0);
            //evt.AddActorPara(Common.Packets.GameServer.PacketParameter.Unk109, Lock ? 1 : 0);
            l.Parameters = evt;
            evt.ActorUpdateParameters.Clear();
            Network.SendPacket(l);
        }
        public void OnExpandInventory()
        {
            int upgradecost = UpgradeCost(chara.InventorySize);

            if (chara.Gold >= upgradecost && upgradecost != -1)
            {
                SM_EXPAND_INVENTORY r = new SM_EXPAND_INVENTORY();
                Network.SendPacket(r);
                chara.InventorySize += 8;
                chara.Gold          -= upgradecost;
                SM_PLAYER_UPDATE_LIST p   = new SM_PLAYER_UPDATE_LIST();
                UpdateEvent           evt = new UpdateEvent();
                evt.AddActorPara(PacketParameter.Gold, chara.Gold);
                evt.AddActorPara(PacketParameter.InventorySlots, chara.InventorySize);
                p.Parameters = evt;
                Network.SendPacket(p);
            }
        }
Example #7
0
        public void SendPlayerStats()
        {
            SM_PLAYER_UPDATE_LIST p = new SM_PLAYER_UPDATE_LIST()
            {
                /*
                 * evt.AddActorPara(PacketParameter.EquiptMinAtk2, chara.Status.AtkMinBase);
                 * evt.AddActorPara(PacketParameter.EquiptMaxAtk2, chara.Status.AtkMaxBase);
                 * evt.AddActorPara(PacketParameter.HitBase, chara.Status.Hit);
                 * evt.AddActorPara(PacketParameter.Penetration, chara.Status.Penetration);
                 * evt.AddActorPara(PacketParameter.CriticalPercent, 1500);
                 * evt.AddActorPara(PacketParameter.CriticalBase, chara.Status.Critical);
                 * evt.AddActorPara(PacketParameter.CriticalResist, chara.Status.CriticalResist);
                 * evt.AddActorPara(PacketParameter.AvoidBase, chara.Status.Avoid);
                 * evt.AddActorPara(PacketParameter.ParryBase, chara.Status.Parry);
                 * evt.AddActorPara(PacketParameter.PierceBase, chara.Status.Pierce);
                 * evt.AddActorPara(PacketParameter.EquiptMinAtk, chara.Status.AtkMinExt);
                 * evt.AddActorPara(PacketParameter.EquiptMaxAtk, chara.Status.AtkMaxExt);
                 * evt.AddActorPara(PacketParameter.Def, chara.Status.Defence);
                 */
                Parameters = new UpdateEvent()
            };

            Network.SendPacket(p);
        }
        public void OnAddCraft(CM_ADD_CRAFT p)
        {
            SM_ADD_CRAFT          r  = new SM_ADD_CRAFT();
            SM_PLAYER_UPDATE_LIST r2 = new SM_PLAYER_UPDATE_LIST();

            Network.SendPacket(r);
            UpdateEvent Event = new UpdateEvent();

            switch ((Crafts)p.Craft)
            {
            case Crafts.Logger:
            case Crafts.Horticulture:
            case Crafts.Harvester:
            case Crafts.Herbalist:
            case Crafts.Miner:
            case Crafts.StoneCutter:
            case Crafts.Fisher:
            {
                if (Character.Craft1 == Crafts.None)
                {
                    Character.Craft1 = (Crafts)p.Craft;
                    Event.AddActorPara(PacketParameter.Craft1, p.Craft);
                    r2.Parameters = Event;
                    Network.SendPacket(r2);
                }
                else if (Character.Craft2 == Crafts.None)
                {
                    Character.Craft2 = (Crafts)p.Craft;
                    Event.AddActorPara(PacketParameter.Craft2, p.Craft);
                    r2.Parameters = Event;
                    Network.SendPacket(r2);
                }
            }
            break;

            case Crafts.Cooking:
            case Crafts.Potion:
            case Crafts.WeaponSmith:
            case Crafts.ForceSmith:
            case Crafts.BoPae:
            case Crafts.Jewel:
            case Crafts.Pottery:
            {
                if (Character.Craft3 == Crafts.None)
                {
                    Character.Craft3 = (Crafts)p.Craft;
                    Event.AddActorPara(PacketParameter.Craft3, p.Craft);
                    r2.Parameters = Event;
                    Network.SendPacket(r2);
                }
                else if (Character.Craft4 == Crafts.None)
                {
                    Character.Craft4 = (Crafts)p.Craft;
                    Event.AddActorPara(PacketParameter.Craft4, p.Craft);
                    r2.Parameters = Event;
                    Network.SendPacket(r2);
                }
            }
            break;

            default:
            {
                SM_SERVER_MESSAGE r3 = new SM_SERVER_MESSAGE()
                {
                    MessagePosition = SM_SERVER_MESSAGE.Positions.ChatWindow,
                    Message         = "Unknown Craft please report to LokiReborn."
                };
                Network.SendPacket(r3);
            }
            break;
            }
        }