public static void HandleShapeshift( PlayerMobile m, string choice ) { if( choice == "human" ) { if( m.BodyValue == 400 || m.BodyValue == 401 ) m.SendMessage( "You are already in human form." ); else { if( m.Female ) m.BodyValue = 401; else m.BodyValue = 400; m.Emote( "*turns back into human form*" ); m.HueMod = -1; m.NameMod = null; m.InvalidateProperties(); } } else if( choice == "wolf" || choice == "bat" || choice == "rat" || choice == "cat" ) { int cost = 10; if( m.Feats.GetFeatLevel( FeatList.Shapeshift ) > 2 ) cost = 1; else if( m.Feats.GetFeatLevel( FeatList.Shapeshift ) == 2 ) cost = 5; if( m.BPs < cost ) m.SendMessage( "You lack enough blood points to use that ability." ); else { m.Emote( "*turns into a " + choice + "*" ); m.HueMod = 2881; m.NameMod = "a black " + choice; int body = 225; if( choice == "cat" ) body = 201; else if( choice == "rat" ) body = 238; else if( choice == "bat" ) body = 317; m.BodyValue = body; m.BPs -= cost; m.InvalidateProperties(); } } else m.SendMessage( "Invalid option." ); }
public static void WipeAllTraits( PlayerMobile from ) { if( !from.Reforging ) from.Forging = true; from.XPFromKilling = true; from.XPFromCrafting = true; from.Blessed = true; InitialStats( from, false ); if( !from.Reforging || from.OldMapChar ) { from.Hue = 0; from.HairItemID = 0; from.FacialHairItemID = 0; } if( !from.Reforging ) { from.Description = null; from.Description2 = null; from.Description3 = null; from.Height = 100; from.Weight = 100; } from.Class = Class.None; from.Advanced = Advanced.None; from.Subclass = Subclass.None; from.RecreateCP = Math.Max( 0, (from.CPSpent + from.CP - 10000) ); from.RecreateXP = from.XP; from.XP = 0; from.CP = 10000; from.NextLevel = 1000; from.Level = 1; from.SkillPoints = 0; from.FeatSlots = 0; from.CPCapOffset = 0; from.CPSpent = 0; from.FollowersMax = 5; from.XP += from.RecreateXP; from.CP += from.RecreateCP; if( !from.Reforging || from.OldMapChar ) { from.Age = 18; from.MaxAge = 0; from.Nation = Nation.None; } if( from.Nation != Nation.None ) from.SendGump( new InitialStatsGump(from) ); from.ResetObjectProperties(); from.TitlePrefix = null; from.Glassblowing = false; from.Masonry = false; from.SandMining = false; from.StoneMining = false; from.LastDonationLife = DateTime.MinValue; from.LastOffenseToNature = DateTime.MinValue; from.WeaponSpecialization = null; from.SecondSpecialization = null; from.SpokenLanguage = KnownLanguage.Common; from.Stance = null; from.CombatManeuver = null; from.ChosenDeity = ChosenDeity.None; from.CraftingSpecialization = null; from.AutoPicking = false; from.BreakLock = false; from.GemHarvesting = false; from.InvalidateProperties(); if( from.Backpack is ArmourBackpack ) { ArmourBackpack pack = from.Backpack as ArmourBackpack; pack.BluntBonus = 0; pack.PiercingBonus = 0; pack.SlashingBonus = 0; pack.ColdBonus = 0; pack.FireBonus = 0; pack.PoisonBonus = 0; pack.EnergyBonus = 0; pack.Attributes.NightSight = 0; pack.Attributes.WeaponDamage = 0; pack.Attributes.WeaponSpeed = 0; pack.Attributes.AttackChance = 0; } NullifySkills( from ); if( from.Reforging && !from.OldMapChar ) { if( from.Nation == Nation.Alyrian ) from.Feats.SetFeatLevel(FeatList.AlyrianLanguage, 3); else if( from.Nation == Nation.Azhuran ) from.Feats.SetFeatLevel(FeatList.AzhuranLanguage, 3); else if( from.Nation == Nation.Khemetar ) from.Feats.SetFeatLevel(FeatList.KhemetarLanguage, 3); else if( from.Nation == Nation.Mhordul ) from.Feats.SetFeatLevel(FeatList.MhordulLanguage, 3); else if( from.Nation == Nation.Tyrean ) from.Feats.SetFeatLevel(FeatList.TyreanLanguage, 3); else if( from.Nation == Nation.Vhalurian ) from.Feats.SetFeatLevel(FeatList.VhalurianLanguage, 3); } }
public static void RemoveDisguise( PlayerMobile m ) { m.Disguise = new DisguiseContext(); m.Delta( MobileDelta.Hue ); m.Delta( MobileDelta.Hair ); m.Delta( MobileDelta.FacialHair ); m.InvalidateProperties(); m.Disguised = false; }
public void PlayerNoto(PlayerMobile pm) { pm.Delta(MobileDelta.Noto); pm.InvalidateProperties(); }