Exemple #1
0
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseBashing)
                        {
                            damage += 5;
                        }
                        else
                        {
                            damage -= 30;
                        }
                    }
                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseBashing)
                        {
                            damage += 5;
                        }
                        else
                        {
                            damage -= 30;
                        }
                    }
                }
            }
        }
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseBashing)
                        {
                            damage += 1;
                        }
                        else if (weapon1 is SkeletalAxe)
                        {
                            damage += 2;
                        }
                        else if (weapon1 is SkeletalScimitar)
                        {
                            damage += 2;
                        }
                        else
                        {
                            damage -= 15;
                            from.SendMessage("Your weapon deals little damage to the skeletal pawn's durable bones.");
                        }
                    }

                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseBashing)
                        {
                            damage += 1;
                        }
                        else if (weapon2 is SkeletalAxe)
                        {
                            damage += 2;
                        }
                        else if (weapon2 is SkeletalScimitar)
                        {
                            damage += 2;
                        }
                        else
                        {
                            damage -= 15;
                            from.SendMessage("Your weapon deals little damage to the skeletal pawn's durable bones.");
                        }
                    }
                }
            }
        }
 public override bool OnBeforeDeath()
 {
     this.Hits    = 100;
     this.Blessed = true;
     if (!(QuestPlayer.Backpack.FindItemByType(typeof(NecromancerSpellbook)) != null ||
           (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(NecromancerSpellbook))))
     {
         if (!(QuestPlayer.Backpack.FindItemByType(typeof(BookOfNinjitsu)) != null ||
               (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfNinjitsu))))
         {
             if (!(QuestPlayer.Backpack.FindItemByType(typeof(BookOfChivalry)) != null ||
                   (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfChivalry))))
             {
                 if (!(QuestPlayer.Backpack.FindItemByType(typeof(BookOfBushido)) != null ||
                       (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfBushido))))
                 {
                     Say("Vous vous êtes battu avec Honneur, prenez ce livre et poursuivez dans cette voie.");
                     BookOfBushido b = new BookOfBushido();
                     b.Content = 3;
                     QuestPlayer.Backpack.AddItem(b);
                     if (QuestPlayer.Skills.Bushido.Base < 25.0)
                     {
                         QuestPlayer.Skills.Bushido.Base = 25.0;
                     }
                 }
             }
         }
     }
     Say("C'est toujours agréable de se dégourdir un peu.");
     QuestPlayer.Criminal = false;
     this.Combatant       = null;
     this.QuestPlayer     = null;
     this.Warmode         = false;
     return(false);
 }
Exemple #4
0
      private bool isEnnemi(PlayerMobile from, TownStone town)
      {    	
      	PomiCloak pomicloak = from.FindItemOnLayer(Layer.Cloak) as PomiCloak;
      	if(pomicloak != null && pomicloak.Name == "Ambassadeur")
				return false;

        foreach (TownStone ville in town.Guerre)
            if (ville.isCitoyen(from))
                return true;

      	return false;
      }
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (Flying)
            {
                damage = 0;                 // no melee damage when flying
            }
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseRanged)
                        {
                            damage *= 2;
                        }
                        else
                        {
                            damage += 0;
                        }
                    }
                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseRanged)
                        {
                            damage *= 2;
                        }
                        else
                        {
                            damage += 0;
                        }
                    }
                }
            }
        }
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseAxe)
                        {
                            damage += 1;
                        }
                        else
                        {
                            damage -= 15;
                            from.SendMessage("Your weapon deals little damage to the blackthorn's bark exterior.");
                        }
                    }

                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseAxe)
                        {
                            damage += 1;
                        }
                        else
                        {
                            damage -= 15;
                            from.SendMessage("Your weapon deals little damage to the blackthorn's bark exterior.");
                        }
                    }
                }
            }
        }
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseBashing)
                        {
                            damage *= 25;
                        }
                        else
                        {
                            damage -= 35;
                            from.SendMessage("Your weapon deals little damage to the patrol unit.");
                        }
                    }

                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseBashing)
                        {
                            damage *= 25;
                        }
                        else
                        {
                            damage -= 35;
                            from.SendMessage("Your weapon deals little damage to the patrol.");
                        }
                    }
                }
            }
        }
Exemple #8
0
        public override void OnTalk( PlayerMobile player, bool contextMenu )
        {
            Direction = this.GetDirectionTo( player );
            Animate( 33, 20, 1, true, false, 0 );

            QuestSystem qs = player.Quest;

            if ( qs is WitchApprenticeQuest )
            {
                FindIngredientObjective obj = qs.FindObjective( typeof( FindIngredientObjective ) ) as FindIngredientObjective;

                if ( obj != null && !obj.Completed && obj.Ingredient == Ingredient.Whiskey )
                {
                    PlaySound( Utility.RandomBool() ? 0x42E : 0x43F );

                    Item hat = player.FindItemOnLayer( Layer.Helm );
                    bool tricorne = hat is TricorneHat;

                    if ( tricorne && player.BAC >= 20 )
                    {
                        obj.Complete();

                        if ( obj.BlackheartMet )
                        {
                            qs.AddConversation( new BlackheartPirateConversation( false ) );
                        }
                        else
                        {
                            qs.AddConversation( new BlackheartPirateConversation( true ) );
                        }
                    }
                    else if ( !obj.BlackheartMet )
                    {
                        obj.Complete();

                        qs.AddConversation( new BlackheartFirstConversation() );
                    }
                    else
                    {
                        qs.AddConversation( new BlackheartNoPirateConversation( tricorne, player.BAC > 0 ) );
                    }

                    return;
                }
            }

            PlaySound( 0x42C );
            SayTo( player, 1055041 ); // The drunken pirate shakes his fist at you and goes back to drinking.
        }
Exemple #9
0
        private static double GetArmourBiteProtection( PlayerMobile pm )
        {
            double biteProtection = 0;
            // Protection based on a fixed rate of 2% for regular zombies
            // So full armour would block all of the chance of zombie bites

            // If you're wearing a shield
            double shieldFactor = 0.3;
            if ( pm.ShieldArmor as BaseShield != null )
                biteProtection += shieldFactor;

            // If you're wearing boots
            double feetFactor = 0.1;
            Item shoes = pm.FindItemOnLayer( Layer.Shoes );
            if( shoes != null )
            {
                if( shoes is Shoes )
                {
                    biteProtection += feetFactor * 0.66;
                }
                else if ( shoes is Boots || shoes is ThighBoots )
                {
                    biteProtection += feetFactor;
                }
            }

            Dictionary<BaseArmor, double> armourRatings = new Dictionary<BaseArmor, double>();
            if ( pm.NeckArmor as BaseArmor != null )
                armourRatings.Add( pm.NeckArmor as BaseArmor, 0.3 );
            if ( pm.HeadArmor as BaseArmor != null )
                armourRatings.Add( pm.HeadArmor as BaseArmor, 0.3 );
            if ( pm.ChestArmor as BaseArmor != null )
                armourRatings.Add( pm.ChestArmor as BaseArmor, 0.2 );
            if ( pm.LegsArmor as BaseArmor != null )
                armourRatings.Add( pm.LegsArmor as BaseArmor, 0.2 );
            if ( pm.HandArmor as BaseArmor != null )
                armourRatings.Add( pm.HandArmor as BaseArmor, 0.3 );
            if ( pm.ArmsArmor as BaseArmor != null )
                armourRatings.Add( pm.ArmsArmor as BaseArmor, 0.3 );

            foreach(KeyValuePair<BaseArmor, double> entry in armourRatings)
            {
                if( entry.Key != null )
                    biteProtection += GetResourceScale( entry.Key.Resource ) * entry.Value;
            }

            return biteProtection;
        }
Exemple #10
0
        private bool isEnnemi(PlayerMobile from, TownStone town)
        {
            PomiCloak pomicloak = from.FindItemOnLayer(Layer.Cloak) as PomiCloak;

            if (pomicloak != null && pomicloak.Name == "Ambassadeur")
            {
                return(false);
            }

            foreach (TownStone ville in town.Guerre)
            {
                if (ville.isCitoyen(from))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #11
0
 public override bool OnBeforeDeath()
 {
     this.Hits    = 100;
     this.Blessed = true;
     if (!(QuestPlayer.Backpack.FindItemByType(typeof(NecromancerSpellbook)) != null ||
           (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(NecromancerSpellbook))))
     {
         if (!(QuestPlayer.Backpack.FindItemByType(typeof(BookOfNinjitsu)) != null ||
               (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfNinjitsu))))
         {
             if (!(QuestPlayer.Backpack.FindItemByType(typeof(BookOfChivalry)) != null ||
                   (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfChivalry))))
             {
                 if ((QuestPlayer.Backpack.FindItemByType(typeof(BookOfBushido)) != null ||
                      (QuestPlayer.FindItemOnLayer(Layer.FirstValid) != null && QuestPlayer.FindItemOnLayer(Layer.FirstValid).GetType() == typeof(BookOfBushido))))
                 {
                     BookOfBushido b = (BookOfBushido)QuestPlayer.Backpack.FindItemByType(typeof(BookOfBushido));
                     if (b != null)
                     {
                         if (!(b.HasSpell(402)))
                         {
                             Say("J'ai vu ce que je voulais voir. Je vais t'apprendre ce que je sais.");
                             QuestPlayer.Backpack.AddItem(new EvasionScroll());
                             QuestPlayer.Backpack.AddItem(new LightningStrikeScroll());
                         }
                     }
                 }
             }
         }
     }
     Say("T'as du cran c'est vrai. Bien joué moussaillon.");
     QuestPlayer.Criminal = false;
     this.Combatant       = null;
     this.QuestPlayer     = null;
     this.Warmode         = false;
     return(false);
 }
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseEquipableLight)
                        {
                            damage *= 9999;
                        }
                        else
                        {
                            damage = 0;
                            from.SendMessage("Your attack phases through the wraith.");

                            if (0.5 >= Utility.RandomDouble())
                            {
                                damage = 0;

                                from.RawStr -= (Utility.Random(0, 1));
                                from.RawDex -= (Utility.Random(0, 1));
                                from.RawInt -= (Utility.Random(0, 1));

                                from.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist);
                                from.PlaySound(0x1FB);
                                from.PlaySound(from.Female ? 814 : 1088);
                                from.SendMessage("Your stats has been slowly drained!");
                            }
                        }
                    }
                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseEquipableLight)
                        {
                            damage *= 9999;
                        }
                        else
                        {
                            damage = 0;
                            from.SendMessage("Your attack phases through the wraith.");

                            if (0.5 >= Utility.RandomDouble())
                            {
                                damage = 0;

                                from.RawStr -= (Utility.Random(1, 2));
                                from.RawDex -= (Utility.Random(1, 2));
                                from.RawInt -= (Utility.Random(1, 2));

                                from.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist);
                                from.PlaySound(0x1FB);
                                from.PlaySound(from.Female ? 814 : 1088);
                                from.SendMessage("Your stats has been slowly drained!");
                            }
                        }
                    }
                }
            }
        }
        public void LoadPlayer(PlayerMobile pm)
        {
            Backpack pack = (Backpack)pm.Backpack;
			//pm.SendMessage(String.Format("SettingBackpack"));
			
			TeleportAllPets( pm, (Point3D)PlayerLocations[pm.Serial], (Map)PlayerMaps[pm.Serial] );
			
            pm.Location = (Point3D)PlayerLocations[pm.Serial];
			PlayerLocations.Remove(pm.Serial);
			//pm.SendMessage(String.Format("SettingLocation"));
			
            pm.Map = (Map)PlayerMaps[pm.Serial];
			PlayerMaps.Remove(pm.Serial);
			//pm.SendMessage(String.Format("SettingMap"));

            ArrayList items = (ArrayList)PlayerItems[pm.Serial];
			PlayerItems.Remove(pm.Serial);
			//pm.SendMessage(String.Format("Setting Arraylist of Items"));
            for (int i = 0; i < items.Count; ++i)
            {
				//pm.SendMessage(String.Format("LoadPlayer() {0} / {1}.", i , items.Count));
                Item item = (Item)items[i];
                if (item.Layer == Layer.Invalid)
                {
					//pm.SendMessage(String.Format("Layer Invalid!"));
                    item.Location = (Point3D)ItemLocations[item.Serial];
					ItemLocations.Remove(item.Serial);
                    pack.AddItem(item);
                }
                else
                {
                    Item test = (Item)pm.FindItemOnLayer(item.Layer);

                    if (test == null || test == item)
                    {
						ItemLocations.Remove(item.Serial);
                        pm.EquipItem(item);
                        test = (Item)pm.FindItemOnLayer(item.Layer);
                        if ( test == null )
                        	pack.AddItem(item);
                    }
                    else
                    {
                        item.Location = (Point3D)ItemLocations[item.Serial];
						ItemLocations.Remove(item.Serial);
                        if (item != pm.Backpack && item != pm.BankBox)
                            pack.AddItem(item);
                    }
                }
            }
	    
        }
		public static void FreeThem( PlayerMobile player )
		{
			if ( null == player )
				return;

			// Take away any JailRock
			// No need to recurse containers since all their items were removed when jailed
			RemoveRockFromList( new ArrayList( player.Items ) ); 
			RemoveRockFromList( new ArrayList( player.Backpack.Items ) ); 

			// Restore their access level
			JailHammer hammer = player.FindItemOnLayer( Layer.OneHanded ) as JailHammer;

			if ( null != hammer )
			{
				player.AccessLevel = hammer.PlayerAccessLevel;
				hammer.Delete();
			}

			if ( player.Kills >= 5 )
				player.MoveToWorld( JailConfig.FreeMurdererLocation, JailConfig.FreeMurdererMap );
			else
				player.MoveToWorld( JailConfig.FreeLocation, JailConfig.FreeMap );
			player.SendMessage( "You have been released from Jail!" );
		}
        public static void CheckPenalty( PlayerMobile m, Layer layer )
        {
            BaseArmor armor = m.FindItemOnLayer( layer ) as BaseArmor;

            if( armor != null && armor is BaseArmor )
            {
                if( armor.ArmourType == ArmourWeight.Light )
                {
                    if( armor.Attributes.BonusStam < 1 )
                        m.LightPieces++;

                    m.LightPenalty += armor.Attributes.BonusStam;
                }

                else if( armor.ArmourType == ArmourWeight.Medium )
                {
                    m.MediumPenalty += armor.Attributes.BonusStam;
                    m.MediumPieces++;
                }

                else
                {
                    m.HeavyPenalty += armor.Attributes.BonusStam;
                    m.HeavyPieces++;
                }

                m.ArmourPieces++;
            }
        }
		public void RemoveRobe( PlayerMobile pm )
		{
			if ( pm != null )
			{
				GameRobe gr = pm.FindItemOnLayer( Layer.OuterTorso ) as GameRobe;
				if ( gr != null )
					gr.Delete();
				if ( pm.Backpack != null )
				{
					Item[] items = pm.Backpack.FindItemsByType( typeof(GameRobe) );
					for ( int i = items.Length-1; i > 0; i-- )
						items[i].Delete();
				}
			}
		}
Exemple #17
0
        public void DoSpecialAbility(Mobile target)
        {
            if (target is PlayerMobile)
            {
                int          resnum  = 0;
                PlayerMobile owner   = target as PlayerMobile;
                BaseArmor    helm1   = new PlateHelm();
                BaseArmor    gorget1 = new PlateGorget();
                BaseArmor    tunic1  = new PlateChest();
                BaseArmor    arms1   = new PlateArms();
                BaseArmor    gloves1 = new PlateGloves();
                BaseArmor    legs1   = new PlateLegs();
                BaseShield   shield1 = new HeaterShield();
                BaseWeapon   wep1    = new Kryss();
                Item         helm    = owner.FindItemOnLayer(Layer.Helm);
                if (helm != null)
                {
                    helm1 = helm as BaseArmor;
                }
                Item gorget = owner.FindItemOnLayer(Layer.Neck);
                if (gorget != null)
                {
                    gorget1 = gorget as BaseArmor;
                }
                Item tunic = owner.FindItemOnLayer(Layer.InnerTorso);
                if (tunic != null)
                {
                    tunic1 = tunic as BaseArmor;
                }
                Item arms = owner.FindItemOnLayer(Layer.Arms);
                if (arms != null)
                {
                    arms1 = arms as BaseArmor;
                }
                Item gloves = owner.FindItemOnLayer(Layer.Gloves);
                if (gloves != null)
                {
                    gloves1 = gloves as BaseArmor;
                }
                Item legs = owner.FindItemOnLayer(Layer.Pants);
                if (legs != null)
                {
                    legs1 = legs as BaseArmor;
                }
                Item shield = owner.FindItemOnLayer(Layer.TwoHanded);
                if (shield != null)
                {
                    shield1 = shield as BaseShield;
                }
                Item wep = owner.FindItemOnLayer(Layer.FirstValid);
                if (wep != null)
                {
                    wep1 = wep as BaseWeapon;
                }

                if (shield1 != null)
                {
                    resnum = (int)(shield1.Resource);
                    if (resnum >= 1 && resnum <= 99 && shield1.HitPoints >= 21)
                    {
                        shield1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (tunic1 != null)
                {
                    resnum = (int)(tunic1.Resource);
                    if (resnum >= 1 && resnum <= 99 && tunic1.HitPoints >= 21)
                    {
                        tunic1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (legs1 != null)
                {
                    resnum = (int)(legs1.Resource);
                    if (resnum >= 1 && resnum <= 99 && legs1.HitPoints >= 21)
                    {
                        legs1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (arms1 != null)
                {
                    resnum = (int)(arms1.Resource);
                    if (resnum >= 1 && resnum <= 99 && arms1.HitPoints >= 21)
                    {
                        arms1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (helm1 != null)
                {
                    resnum = (int)(helm1.Resource);
                    if (resnum >= 1 && resnum <= 99 && helm1.HitPoints >= 21)
                    {
                        helm1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (gloves1 != null)
                {
                    resnum = (int)(gloves1.Resource);
                    if (resnum >= 1 && resnum <= 99 && gloves1.HitPoints >= 21)
                    {
                        gloves1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (gorget1 != null)
                {
                    resnum = (int)(gorget1.Resource);
                    if (resnum >= 1 && resnum <= 99 && gorget1.HitPoints >= 21)
                    {
                        gorget1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (wep1 != null)
                {
                    resnum = (int)(wep1.Resource);
                    if (resnum >= 1 && resnum <= 99 && wep1.HitPoints >= 21)
                    {
                        wep1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (shield1 != null)
                {
                    resnum = (int)(shield1.Resource);
                    if (resnum >= 1 && resnum <= 99 && shield1.HitPoints >= 11)
                    {
                        shield1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (tunic1 != null)
                {
                    resnum = (int)(tunic1.Resource);
                    if (resnum >= 1 && resnum <= 99 && tunic1.HitPoints >= 11)
                    {
                        tunic1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (legs1 != null)
                {
                    resnum = (int)(legs1.Resource);
                    if (resnum >= 1 && resnum <= 99 && legs1.HitPoints >= 11)
                    {
                        legs1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (arms1 != null)
                {
                    resnum = (int)(arms1.Resource);
                    if (resnum >= 1 && resnum <= 99 && arms1.HitPoints >= 11)
                    {
                        arms1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (helm1 != null)
                {
                    resnum = (int)(helm1.Resource);
                    if (resnum >= 1 && resnum <= 99 && helm1.HitPoints >= 11)
                    {
                        helm1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (gloves1 != null)
                {
                    resnum = (int)(gloves1.Resource);
                    if (resnum >= 1 && resnum <= 99 && gloves1.HitPoints >= 11)
                    {
                        gloves1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (gorget1 != null)
                {
                    resnum = (int)(gorget1.Resource);
                    if (resnum >= 1 && resnum <= 99 && gorget1.HitPoints >= 11)
                    {
                        gorget1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }

                if (wep1 != null)
                {
                    resnum = (int)(wep1.Resource);
                    if (resnum >= 1 && resnum <= 99 && wep1.HitPoints >= 11)
                    {
                        wep1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return;
                    }
                }
            }
            return;
        }
Exemple #18
0
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseEquipableLight)
                        {
                            damage *= 100;
                        }
                        else if (weapon1 is BaseAxe)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseBashing)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseKnife)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BasePoleArm)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseRanged)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseSpear)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseStaff)
                        {
                            damage += 0;
                        }
                        else if (weapon1 is BaseSword)
                        {
                            damage += 0;
                        }
                        else
                        {
                            damage += 0;
                        }
                    }
                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseEquipableLight)
                        {
                            damage *= 100;
                        }
                        else if (weapon2 is BaseAxe)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseBashing)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseKnife)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BasePoleArm)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseRanged)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseSpear)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseStaff)
                        {
                            damage += 0;
                        }
                        else if (weapon2 is BaseSword)
                        {
                            damage += 0;
                        }
                        else
                        {
                            damage += 0;
                        }
                    }
                }
            }
        }
Exemple #19
0
        public override void AlterMeleeDamageFrom(Mobile from, ref int damage)
        {
            if (from != null && from != this)
            {
                if (from is PlayerMobile)
                {
                    PlayerMobile p_PlayerMobile = from as PlayerMobile;
                    Item         weapon1        = p_PlayerMobile.FindItemOnLayer(Layer.OneHanded);
                    Item         weapon2        = p_PlayerMobile.FindItemOnLayer(Layer.TwoHanded);

                    if (weapon1 != null)
                    {
                        if (weapon1 is BaseAxe)
                        {
                            damage += 4;
                        }
                        else if (weapon1 is BaseKnife)
                        {
                            damage += 2;
                        }
                        else if (weapon1 is BasePoleArm)
                        {
                            damage += 5;
                        }
                        else if (weapon1 is BaseSpear)
                        {
                            damage += 5;
                        }
                        else if (weapon1 is BaseSword)
                        {
                            damage += 3;
                        }
                        else
                        {
                            damage -= 25;
                        }
                    }
                    else if (weapon2 != null)
                    {
                        if (weapon2 is BaseAxe)
                        {
                            damage += 4;
                        }
                        else if (weapon2 is BaseKnife)
                        {
                            damage += 2;
                        }
                        else if (weapon2 is BasePoleArm)
                        {
                            damage += 5;
                        }
                        else if (weapon2 is BaseSpear)
                        {
                            damage += 5;
                        }
                        else if (weapon2 is BaseSword)
                        {
                            damage += 3;
                        }
                        else
                        {
                            damage -= 25;
                        }
                    }
                }
            }
        }