public static void GetAttPetSet(Mobile pet, Mobile master) { Configured cpc = new Configured(); BaseCreature bc = (BaseCreature)pet; XMLPetLevelAtt petxml = (XMLPetLevelAtt)XmlAttach.FindAttachment(bc, typeof(XMLPetLevelAtt)); if (petxml == null) { XmlAttach.AttachTo(bc, new XMLPetLevelAtt()); if (cpc.TamingGivesExp == true) LevelCore.Taming(master); } else return; }
public override void OnMovement(MovementEventArgs e) { base.OnMovement(e); ConfiguredPetXML cp = new ConfiguredPetXML(); XMLPetLevelAtt petxml = (XMLPetLevelAtt)XmlAttach.FindAttachment(((BaseCreature)this.AttachedTo), typeof(XMLPetLevelAtt)); Mobile master = ((BaseCreature)this.AttachedTo).ControlMaster; XMLPlayerLevelAtt xmlplayer = (XMLPlayerLevelAtt)XmlAttach.FindAttachment(master, typeof(XMLPlayerLevelAtt)); if (e.Mobile == null) { return; } if (petxml == null) { return; } if (AuraStatBoost == true) { if (cp.AuraStatBoost == false) { return; } if (petxml.Levell < cp.AuraStatBoostReq) { return; } if (xmlplayer == null) { return; } BonusStatAtt10 aurastatboost10 = (BonusStatAtt10)XmlAttach.FindAttachment(master, typeof(BonusStatAtt10)); BonusStatAtt20 aurastatboost20 = (BonusStatAtt20)XmlAttach.FindAttachment(master, typeof(BonusStatAtt20)); BonusStatAtt30 aurastatboost30 = (BonusStatAtt30)XmlAttach.FindAttachment(master, typeof(BonusStatAtt30)); BonusStatAtt40 aurastatboost40 = (BonusStatAtt40)XmlAttach.FindAttachment(master, typeof(BonusStatAtt40)); BonusStatAtt50 aurastatboost50 = (BonusStatAtt50)XmlAttach.FindAttachment(master, typeof(BonusStatAtt50)); BonusStatAtt60 aurastatboost60 = (BonusStatAtt60)XmlAttach.FindAttachment(master, typeof(BonusStatAtt60)); BonusStatAtt70 aurastatboost70 = (BonusStatAtt70)XmlAttach.FindAttachment(master, typeof(BonusStatAtt70)); BonusStatAtt80 aurastatboost80 = (BonusStatAtt80)XmlAttach.FindAttachment(master, typeof(BonusStatAtt80)); BonusStatAtt90 aurastatboost90 = (BonusStatAtt90)XmlAttach.FindAttachment(master, typeof(BonusStatAtt90)); BonusStatAtt100 aurastatboost100 = (BonusStatAtt100)XmlAttach.FindAttachment(master, typeof(BonusStatAtt100)); BonusStatAtt140 aurastatboost140 = (BonusStatAtt140)XmlAttach.FindAttachment(master, typeof(BonusStatAtt140)); BonusStatAtt160 aurastatboost160 = (BonusStatAtt160)XmlAttach.FindAttachment(master, typeof(BonusStatAtt160)); BonusStatAtt180 aurastatboost180 = (BonusStatAtt180)XmlAttach.FindAttachment(master, typeof(BonusStatAtt180)); BonusStatAtt200 aurastatboost200 = (BonusStatAtt200)XmlAttach.FindAttachment(master, typeof(BonusStatAtt200)); BonusStatAtt201 aurastatboost201 = (BonusStatAtt201)XmlAttach.FindAttachment(master, typeof(BonusStatAtt201)); if (xmlplayer.Levell <= 10 && aurastatboost10 == null) { XmlAttach.AttachTo(master, new BonusStatAtt10()); } else if (xmlplayer.Levell > 10 && xmlplayer.Levell <= 20 && aurastatboost20 == null) { XmlAttach.AttachTo(master, new BonusStatAtt20()); } else if (xmlplayer.Levell > 20 && xmlplayer.Levell <= 30 && aurastatboost30 == null) { XmlAttach.AttachTo(master, new BonusStatAtt30()); } else if (xmlplayer.Levell > 30 && xmlplayer.Levell <= 40 && aurastatboost40 == null) { XmlAttach.AttachTo(master, new BonusStatAtt40()); } else if (xmlplayer.Levell > 40 && xmlplayer.Levell <= 50 && aurastatboost50 == null) { XmlAttach.AttachTo(master, new BonusStatAtt50()); } else if (xmlplayer.Levell > 50 && xmlplayer.Levell <= 60 && aurastatboost60 == null) { XmlAttach.AttachTo(master, new BonusStatAtt60()); } else if (xmlplayer.Levell > 60 && xmlplayer.Levell <= 70 && aurastatboost70 == null) { XmlAttach.AttachTo(master, new BonusStatAtt70()); } else if (xmlplayer.Levell > 70 && xmlplayer.Levell <= 80 && aurastatboost80 == null) { XmlAttach.AttachTo(master, new BonusStatAtt80()); } else if (xmlplayer.Levell > 80 && xmlplayer.Levell <= 90 && aurastatboost90 == null) { XmlAttach.AttachTo(master, new BonusStatAtt90()); } else if (xmlplayer.Levell > 90 && xmlplayer.Levell <= 100 && aurastatboost100 == null) { XmlAttach.AttachTo(master, new BonusStatAtt100()); } else if (xmlplayer.Levell > 100 && xmlplayer.Levell <= 140 && aurastatboost140 == null) { XmlAttach.AttachTo(master, new BonusStatAtt140()); } else if (xmlplayer.Levell > 140 && xmlplayer.Levell <= 160 && aurastatboost160 == null) { XmlAttach.AttachTo(master, new BonusStatAtt160()); } else if (xmlplayer.Levell > 160 && xmlplayer.Levell <= 180 && aurastatboost180 == null) { XmlAttach.AttachTo(master, new BonusStatAtt180()); } else if (xmlplayer.Levell > 180 && xmlplayer.Levell <= 200 && aurastatboost200 == null) { XmlAttach.AttachTo(master, new BonusStatAtt200()); } else if (xmlplayer.Levell > 200 && aurastatboost201 == null) { XmlAttach.AttachTo(master, new BonusStatAtt201()); } } switch (Utility.RandomMinMax(1, 6)) { case 1: if (TeleportToTarget && cp.TelePortToTarChance >= Utility.RandomDouble()) // 0.5 is 50% , 0.05 is 5% { if (cp.TelePortToTarget == false) { return; } if (petxml.Levell < cp.TelePortToTargetReq) { return; } if (((BaseCreature)this.AttachedTo).Combatant == null) { return; } TeleToTarget(((BaseCreature)this.AttachedTo), e.Mobile); } break; case 2: if (MassProvoke && cp.MassProvokeChance >= Utility.RandomDouble()) { if (cp.MassProvokeToAtt == false) { return; } if (petxml.Levell < cp.MassProvokeToAttReq) { return; } if (((BaseCreature)this.AttachedTo).Combatant == null) { return; } MassProvokeXML(((BaseCreature)this.AttachedTo), e.Mobile); } ; break; case 3: if (MassPeace && cp.MassPeaceChance >= Utility.RandomDouble()) { if (cp.MassPeaceArea == false) { return; } if (petxml.Levell < cp.MassPeaceReq) { return; } if (((BaseCreature)this.AttachedTo).Combatant == null) { return; } MassPeaceXML(((BaseCreature)this.AttachedTo), e.Mobile); } ; break; case 4: if (SuperHeal && cp.SuperHealChance >= Utility.RandomDouble()) { if (cp.SuperHeal == false) { return; } if (petxml.Levell < cp.SuperHealReq) { return; } if (cp.PetShouldBeBonded == true) { if (((BaseCreature)this.AttachedTo).IsBonded == false) { return; } else { SuperHealXML(((BaseCreature)this.AttachedTo), e.Mobile); break; } } SuperHealXML(((BaseCreature)this.AttachedTo), e.Mobile); } ; break; case 5: if (BlessedPower && cp.BlessedPowerChance >= Utility.RandomDouble()) { if (cp.BlessedPower == false) { return; } if (petxml.Levell < cp.BlessedPowerReq) { return; } if (((BaseCreature)this.AttachedTo).Combatant == null) { return; } BlessedXML(((BaseCreature)this.AttachedTo), e.Mobile); } ; break; // case 6: // case 7: from.Hue = 0x7F7; break; // case 8: from.Hue = 0x7F8; break; // case 9: from.Hue = 0x7F9; break; } if (AttachedTo is BaseCreature && Utility.InRange(e.Mobile.Location, ((BaseCreature)this.AttachedTo).Location, proximityrange)) { OnTrigger(null, e.Mobile); } else { return; } }
public override void OnWeaponHit(Mobile attacker, Mobile defender, BaseWeapon weapon, int damageGiven) { ConfiguredPetXML cp = new ConfiguredPetXML(); Mobile master = ((BaseCreature)this.AttachedTo).ControlMaster; XMLPlayerLevelAtt xmlplayer = (XMLPlayerLevelAtt)XmlAttach.FindAttachment(master, typeof(XMLPlayerLevelAtt)); XMLPetLevelAtt petxml = (XMLPetLevelAtt)XmlAttach.FindAttachment(((BaseCreature)this.AttachedTo), typeof(XMLPetLevelAtt)); if (attacker == null) { return; } if (petxml == null) { return; } switch (Utility.RandomMinMax(1, 3)) { case 1: if (AreaFireBlast && cp.AreaFireBlastChance >= Utility.RandomDouble()) // 0.5 is 50% , 0.05 is 5% { if (cp.AreaFireBlast == false) { return; } if (petxml.Levell < cp.AreaFireBlastReq) { return; } AreaFireBlastXML(((BaseCreature)this.AttachedTo), defender, master); } break; case 2: if (AreaIceBlast && cp.AreaIceBlastChance >= Utility.RandomDouble()) { if (cp.AreaIceBlast == false) { return; } if (petxml.Levell < cp.AreaIceBlastReq) { return; } AreaIceBlastXML(((BaseCreature)this.AttachedTo), defender, master); } ; break; case 3: if (AreaAirBlast && cp.AreaAirBlastChance >= Utility.RandomDouble()) { if (cp.AreaAirBlast == false) { return; } if (petxml.Levell < cp.AreaAirBlastReq) { return; } AreaAirBlastXML(((BaseCreature)this.AttachedTo), defender, master); } ; break; } }