示例#1
0
        //---------------------------------------------------------------------------------------------

        public static bool IsSummon(UOCharacter ch)
        {
            bool result = false;

            if (ch.Renamable || Game.IsMob(ch.Serial) || Rename.IsMobRenamed(ch.Serial))
            {
                result = true;
            }

            if (!result)
            {
                foreach (IUOItemType itemType in ItemLibrary.PlayerSummons)
                {
                    if (itemType.Graphic == ch.Model && itemType.Color == ch.Color)
                    {
                        if (ItemLibrary.IsMonsterConflictSummon(ch))
                        {
                            UOItemType conflictType = ItemLibrary.GetMonsterConflictSummon(ch);
                            string     safeName     = ch.Name + String.Empty;
                            string     defaultName  = (conflictType.Name + String.Empty).Replace(" ", "").ToLower();
                            string     compareName  = (ch.Name + String.Empty).Replace(" ", "").ToLower();


                            if (!String.IsNullOrEmpty(compareName))
                            {
                                if (conflictType.Names.Count > 0)
                                {
                                    foreach (string nameAlter in conflictType.Names)
                                    {
                                        defaultName = (nameAlter + String.Empty).Replace(" ", "").ToLower();
                                        if (compareName.Contains(defaultName))
                                        {
                                            return(false);
                                        }
                                    }
                                }
                                else
                                {
                                    result = !compareName.Contains(defaultName);
                                }
                            }
                        }
                        else
                        {
                            result = true;
                        }

                        break;
                    }
                }
            }

            return(result);
        }
示例#2
0
        //---------------------------------------------------------------------------------------------

        private void World_CharacterAppeared(object sender, CharacterAppearedEventArgs e)
        {
            if (e.Serial == World.Player.Serial)
            {
                return;
            }

            if (!(CalebConfig.Rename == RenameType.OnAppeared || CalebConfig.Rename == RenameType.Booth))
            {
                return;
            }

            UOCharacter ch          = new UOCharacter(e.Serial);
            bool        requestStat = false;

            if (ch.Hits < 0)
            {
                //hallucination sychr

                bool badBody =
                    World.Player.Model != 0x0190 && //Male
                    World.Player.Model != 0x0191 && //Female
                    World.Player.Model != 0x00D4;   //Grizly //TODO srnka //Drak

                if (badBody)
                {
                    if (Magery.CastingSpellInfo != null)
                    {
                        if (
                            (
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonCreature ||
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonAirElemental ||
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonDaemon ||
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonFireElemental ||
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonWaterElemental ||
                                Magery.CastingSpellInfo.Spell == StandardSpell.SummonEarthElemental
                            ) &&
                            Magery.CastingSpellInfo.CastRunDuration < 5500)
                        {
                            requestStat = true;
                        }
                    }


                    //Vyhozeni klamaka
                }

                if (MobMaster.LasTimeUseKlamak.HasValue && (DateTime.Now - MobMaster.LasTimeUseKlamak.Value).TotalMilliseconds < 1000 && !ch.Renamable)
                {
                    requestStat = true;
                }
            }

            if (!Game.IsPossibleMob(ch))
            {
                return;
            }

            if (Rename.IsMobRenamed(ch.Serial))
            {
                return;
            }

            if (Game.IsPossibleMob(ch) && MobMaster.LasTimeUseKlamak.HasValue && (DateTime.Now - MobMaster.LasTimeUseKlamak.Value).TotalMilliseconds < 1000 && !ch.Renamable)
            {
                requestStat = true;
            }

            if (requestStat)
            {
                ch.RequestStatus(200);
            }

            if (!Rename.RenameCharacter(ch.Serial))
            {
                if (ch.Name == null || !Rename.IsMobRenamed(ch.Serial))
                {
                    ch.Changed += mob_Changed;
                }
            }

            if (Rename.IsMobRenamed(ch.Serial))
            {
                new StatusBar().Show(ch.Serial);
                return;
            }
        }