public static void SetStats(BaseCreature steed) { steed.SetStr(201, 210); steed.SetDex(101, 110); steed.SetInt(101, 115); steed.SetHits(201, 220); steed.SetDamage(20, 24); steed.SetDamageType(ResistanceType.Physical, 25); steed.SetDamageType(ResistanceType.Fire, 75); steed.SetResistance(ResistanceType.Physical, 60, 70); steed.SetResistance(ResistanceType.Fire, 90); steed.SetResistance(ResistanceType.Poison, 100); steed.SetSkill(SkillName.MagicResist, 90.1, 110.0); steed.SetSkill(SkillName.Tactics, 50.0); steed.SetSkill(SkillName.Wrestling, 90.1, 110.0); steed.Fame = 0; steed.Karma = 0; }
public static void SetStats( BaseCreature steed ) { steed.SetStr( 201, 210 ); steed.SetDex( 101, 110 ); steed.SetInt( 101, 115 ); steed.SetHits( 201, 220 ); steed.SetDamage( 20, 24 ); steed.SetDamageType( ResistanceType.Physical, 25 ); steed.SetDamageType( ResistanceType.Fire, 75 ); steed.SetResistance( ResistanceType.Physical, 60, 70 ); steed.SetResistance( ResistanceType.Fire, 90 ); steed.SetResistance( ResistanceType.Poison, 100 ); steed.SetSkill( SkillName.MagicResist, 90.1, 110.0 ); steed.SetSkill( SkillName.Tactics, 50.0 ); steed.SetSkill( SkillName.Wrestling, 90.1, 110.0 ); steed.Fame = 0; steed.Karma = 0; }
public static void CloneMe_OnCommand(CommandEventArgs e) { BaseCreature m = new BaseCreature(AIType.AI_None, FightMode.None, 10, 1, 0.2, 0.4); m.InitStats(10, 10, 10); m.SetSkill(SkillName.Cooking, 65, 88); m.SetSkill(SkillName.Snooping, 65, 88); m.SetSkill(SkillName.Stealing, 65, 88); if (m.Female = Utility.RandomBool()) { m.Body = 0x1A6; m.Name = NameList.RandomName("female"); } else { m.Body = 0x1A4; m.Name = NameList.RandomName("male"); } e.Mobile.Hidden = true; m.Dex = e.Mobile.Dex; m.Int = e.Mobile.Int; m.Str = e.Mobile.Str; m.Fame = e.Mobile.Fame; m.Karma = e.Mobile.Karma; m.NameHue = e.Mobile.NameHue; m.SpeechHue = e.Mobile.SpeechHue; m.Criminal = e.Mobile.Criminal; m.Name = e.Mobile.Name; m.Title = e.Mobile.Title; m.Female = e.Mobile.Female; m.Body = e.Mobile.Body; m.Hue = e.Mobile.Hue; m.Hits = e.Mobile.HitsMax; m.Mana = e.Mobile.ManaMax; m.Stam = e.Mobile.StamMax; m.BodyMod = e.Mobile.Body; m.Map = e.Mobile.Map; m.Location = e.Mobile.Location; m.Direction = e.Mobile.Direction; m.HairItemID = e.Mobile.HairItemID; m.FacialHairItemID = e.Mobile.FacialHairItemID; m.HairHue = e.Mobile.HairHue; m.FacialHairHue = e.Mobile.FacialHairHue; for (int i = 0; i < e.Mobile.Skills.Length; i++) m.Skills[i].Base = e.Mobile.Skills[i].Base; ArrayList items = new ArrayList(e.Mobile.Items); for (int i = 0; i < items.Count; i++) { Item item = (Item)items[i]; //my favorite line of code, ever. if (((item != null) && (item.Parent == e.Mobile) && (item != e.Mobile.Backpack))) { Type t = item.GetType(); ConstructorInfo c = t.GetConstructor(Type.EmptyTypes); if (c != null) { try { object o = c.Invoke(null); if (o != null && o is Item) { Item newItem = (Item)o; CopyProperties(newItem, item); item.OnAfterDuped(newItem); newItem.Parent = null; m.AddItem(newItem); } } catch { } } } } }
public static void Summon( BaseCreature creature, Mobile caster, int sound, TimeSpan duration, bool scaleDuration, bool scaleStats ) { Map map = caster.Map; if( map == null ) return; double scale = 1.0 + ((caster.Skills[SkillName.Magery].Value - 100.0) / 200.0); if( scaleDuration ) duration = TimeSpan.FromSeconds(duration.TotalSeconds * scale); if ( creature != null && creature.ControlMaster != null && creature.ControlMaster is Player) { Summoner sum = Perk.GetByType<Summoner>((Player)creature.ControlMaster); if (sum != null && sum.Remanence()) { duration += TimeSpan.FromSeconds(90.0); } } Point3D p = new Point3D(caster); if( SpellHelper.FindValidSpawnLocation(map, ref p, true) ) { BaseCreature.Summon(creature, caster, p, sound, duration); if (creature != null && creature.ControlMaster != null && creature.ControlMaster is Player) { Summoner sum = Perk.GetByType<Summoner>((Player)creature.ControlMaster); if (sum != null && sum.IntelligentDesign()) { creature.SetSkill(SkillName.Wrestling, creature.Skills.Wrestling.Value + Utility.RandomMinMax(15, 20)); creature.SetSkill(SkillName.Tactics, creature.Skills.Tactics.Value + Utility.RandomMinMax(20, 25)); creature.SetSkill(SkillName.MagicResist, creature.Skills.MagicResist.Value + Utility.RandomMinMax(30, 40)); creature.SetSkill(SkillName.Meditation, creature.Skills.Meditation.Value + Utility.RandomMinMax(30, 40)); creature.SetSkill(SkillName.Magery, creature.Skills.Magery.Value + Utility.RandomMinMax(15, 20)); creature.SetSkill(SkillName.EvalInt, creature.Skills.EvalInt.Value + Utility.RandomMinMax(15, 20)); } if (sum != null && sum.SecondNature()) { creature.HitsMaxSeed += (int)(creature.HitsMaxSeed * 0.33) + Utility.RandomMinMax(20, 40); creature.Hits = creature.HitsMax; } if (sum != null && sum.Horde()) { for(int x = 1; x <= 3; x ++) { if (creature.ControlMaster.Followers + creature.ControlSlots <= creature.ControlMaster.FollowersMax) { BaseCreature newSummon; newSummon = Activator.CreateInstance(creature.GetType()) as BaseCreature; if (SpellHelper.FindValidSpawnLocation(map, ref p, true)) BaseCreature.Summon(newSummon, caster, p, sound, duration); if (sum != null && sum.IntelligentDesign()) { newSummon.SetSkill(SkillName.Wrestling, creature.Skills.Wrestling.Value + Utility.RandomMinMax(15, 20)); newSummon.SetSkill(SkillName.Tactics, creature.Skills.Tactics.Value + Utility.RandomMinMax(20, 25)); newSummon.SetSkill(SkillName.MagicResist, creature.Skills.MagicResist.Value + Utility.RandomMinMax(30, 40)); newSummon.SetSkill(SkillName.Meditation, creature.Skills.Meditation.Value + Utility.RandomMinMax(30, 40)); newSummon.SetSkill(SkillName.Magery, creature.Skills.Magery.Value + Utility.RandomMinMax(15, 20)); newSummon.SetSkill(SkillName.EvalInt, creature.Skills.EvalInt.Value + Utility.RandomMinMax(15, 20)); } if (sum != null && sum.SecondNature()) { newSummon.HitsMaxSeed += (int)(newSummon.HitsMaxSeed * 0.33) + Utility.RandomMinMax(20, 40); newSummon.Hits = newSummon.HitsMax; } } } } } return; } creature.Delete(); caster.SendLocalizedMessage(501942); // That location is blocked. }
public void SizeUpCrewMember(BaseCreature bc, bool evil, int link, Mobile captain, string toss) { MorphingTime.RemoveMyClothes((Mobile)bc); if (bc.Backpack != null) { List <Item> belongings = new List <Item>(); foreach (Item i in bc.Backpack.Items) { belongings.Add(i); } foreach (Item stuff in belongings) { stuff.Delete(); } } bc.AI = AIType.AI_Archer; bc.FightMode = FightMode.Evil; bc.Karma = 1500; bc.Name = "a sailor"; if (evil) { bc.FightMode = FightMode.Closest; bc.Karma = -1500; bc.Name = "a pirate"; if (captain is PirateCult) { bc.Name = "a follower"; } } bc.SetStr(96, 120); bc.SetDex(81, 105); bc.SetInt(36, 60); bc.SetHits(58, 72); SetDamage(10, 23); bc.SetDamageType(ResistanceType.Physical, 100); bc.SetResistance(ResistanceType.Physical, 35, 50); bc.SetResistance(ResistanceType.Fire, 10, 30); bc.SetResistance(ResistanceType.Cold, 10, 30); bc.SetResistance(ResistanceType.Poison, 10, 30); bc.SetResistance(ResistanceType.Energy, 10, 30); bc.SetSkill(SkillName.Archery, 66.0, 97.5); bc.SetSkill(SkillName.MagicResist, 25.0, 47.5); bc.SetSkill(SkillName.Tactics, 65.0, 87.5); bc.SetSkill(SkillName.Wrestling, 66.0, 97.5); bc.Fame = 1500; bc.VirtualArmor = 32; bc.Title = null; bc.EmoteHue = link; if (toss == "stones") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Stones"; bc.AddItem(gloves); } else if (toss == "stars") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Stars"; bc.AddItem(gloves); } else if (toss == "axes") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Axes"; bc.AddItem(gloves); } else if (toss == "daggers") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Daggers"; bc.AddItem(gloves); } else if (toss == "darts") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Darts"; bc.AddItem(gloves); } else if (toss == "spear") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Spear"; bc.AddItem(gloves); } else if (toss == "boulder") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Boulder"; bc.AddItem(gloves); } else if (toss == "bones") { MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Bones"; bc.AddItem(gloves); } else if (toss == "arrows") { bc.AddItem(new Bow()); } else if (toss == "crossbow") { bc.AddItem(new Crossbow()); } else if (toss == "harpoon") { bc.AddItem(new Harpoon()); } else if (toss == "fire") { WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Fire = 75; staff.damageType = 1; bc.AddItem(staff); } else if (toss == "cold") { WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Cold = 75; staff.damageType = 2; bc.AddItem(staff); } else if (toss == "energy") { WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Energy = 75; staff.damageType = 3; bc.AddItem(staff); } else if (toss == "poison") { WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Poison = 75; staff.damageType = 4; bc.AddItem(staff); } else if (toss == "bolt") { WizardStaff staff = new WizardStaff(); staff.damageType = 0; bc.AddItem(staff); } DressUpCrewMember(bc, captain); bc.NameColor(); bc.MoveToWorld(captain.Location, captain.Map); }
public static void Corrupt(BaseCreature bc) { if (bc.IsCorrupt || HalloweenEventController.Instance == null) { return; } SkillName[] skills = ((SkillName) 0).GetValues<SkillName>(); bc.SpecialTitle = "[Spirit of Halloween]"; int hue = Utility.RandomBool() ? 1358 : 1378; bc.Hue = hue; bc.SolidHueOverride = hue; bc.TitleHue = hue; bc.BloodHue = hue; if (bc.HitsMaxSeed >= 0) { bc.HitsMaxSeed = (int) (bc.HitsMaxSeed * HalloweenEventController.HitsBuff); } bc.RawStr = (int) (bc.RawStr * HalloweenEventController.StrBuff); bc.RawInt = (int) (bc.RawInt * HalloweenEventController.IntBuff); bc.RawDex = (int) (bc.RawDex * HalloweenEventController.DexBuff); bc.Hits = bc.HitsMax; bc.Mana = bc.ManaMax; bc.Stam = bc.StamMax; bc.Tamable = false; foreach (SkillName skill in skills) { bc.SetSkill(skill, 100.0, 120.0); } bc.PassiveSpeed /= HalloweenEventController.SpeedBuff; bc.ActiveSpeed /= HalloweenEventController.SpeedBuff; bc.CurrentSpeed = bc.PassiveSpeed; bc.DamageMin += HalloweenEventController.DamageBuff; bc.DamageMax += HalloweenEventController.DamageBuff; if (bc.Fame > 0) { bc.Fame = (int) (bc.Fame * HalloweenEventController.FameBuff); } if (bc.Fame > 32000) { bc.Fame = 32000; } if (bc.Karma == 0) { return; } bc.Karma = (int) (bc.Karma * HalloweenEventController.KarmaBuff); if (Math.Abs(bc.Karma) > 32000) { bc.Karma = 32000 * Math.Sign(bc.Karma); } }
public static void Corrupt(BaseCreature bc) { if (bc.IsCorrupt || HalloweenEventController.Instance == null) { return; } SkillName[] skills = ((SkillName)0).GetValues <SkillName>(); bc.SpecialTitle = "[Spirit of Halloween]"; int hue = Utility.RandomBool() ? 1358 : 1378; bc.Hue = hue; bc.SolidHueOverride = hue; bc.TitleHue = hue; bc.BloodHue = hue; if (bc.HitsMaxSeed >= 0) { bc.HitsMaxSeed = (int)(bc.HitsMaxSeed * HalloweenEventController.HitsBuff); } bc.RawStr = (int)(bc.RawStr * HalloweenEventController.StrBuff); bc.RawInt = (int)(bc.RawInt * HalloweenEventController.IntBuff); bc.RawDex = (int)(bc.RawDex * HalloweenEventController.DexBuff); bc.Hits = bc.HitsMax; bc.Mana = bc.ManaMax; bc.Stam = bc.StamMax; bc.Tamable = false; foreach (SkillName skill in skills) { bc.SetSkill(skill, 100.0, 120.0); } bc.PassiveSpeed /= HalloweenEventController.SpeedBuff; bc.ActiveSpeed /= HalloweenEventController.SpeedBuff; bc.CurrentSpeed = bc.PassiveSpeed; bc.DamageMin += HalloweenEventController.DamageBuff; bc.DamageMax += HalloweenEventController.DamageBuff; if (bc.Fame > 0) { bc.Fame = (int)(bc.Fame * HalloweenEventController.FameBuff); } if (bc.Fame > 32000) { bc.Fame = 32000; } if (bc.Karma == 0) { return; } bc.Karma = (int)(bc.Karma * HalloweenEventController.KarmaBuff); if (Math.Abs(bc.Karma) > 32000) { bc.Karma = 32000 * Math.Sign(bc.Karma); } }