public override Item Dupe( int amount ) { Spellbook book = new BookOfNinjitsu(); book.Content = this.Content; return base.Dupe( book, amount ); }
public override Item Dupe(int amount) { Spellbook book = new BookOfNinjitsu(); book.Content = this.Content; return(base.Dupe(book, amount)); }
private static void SetSkills( Mobile m, SkillNameValue[] skills, int prof ) { switch ( prof ) { case 1: // Warrior { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Anatomy, 30 ), new SkillNameValue( SkillName.Healing, 45 ), new SkillNameValue( SkillName.Swords, 35 ), new SkillNameValue( SkillName.Tactics, 50 ) }; break; } case 2: // Magician { skills = new SkillNameValue[] { new SkillNameValue( SkillName.EvalInt, 30 ), new SkillNameValue( SkillName.Wrestling, 30 ), new SkillNameValue( SkillName.Magery, 50 ), new SkillNameValue( SkillName.Meditation, 50 ) }; break; } case 3: // Blacksmith { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Mining, 30 ), new SkillNameValue( SkillName.ArmsLore, 30 ), new SkillNameValue( SkillName.Blacksmith, 50 ), new SkillNameValue( SkillName.Tinkering, 50 ) }; break; } case 4: // Necromancer { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Necromancy, 50 ), new SkillNameValue( SkillName.Focus, 30 ), new SkillNameValue( SkillName.SpiritSpeak, 30 ), new SkillNameValue( SkillName.Swords, 30 ), new SkillNameValue( SkillName.Tactics, 20 ) }; break; } case 5: // Paladin { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Chivalry, 51 ), new SkillNameValue( SkillName.Swords, 49 ), new SkillNameValue( SkillName.Focus, 30 ), new SkillNameValue( SkillName.Tactics, 30 ) }; break; } case 6: //Samurai { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Bushido, 50 ), new SkillNameValue( SkillName.Swords, 50 ), new SkillNameValue( SkillName.Anatomy, 30 ), new SkillNameValue( SkillName.Healing, 30 ) }; break; } case 7: //Ninja { skills = new SkillNameValue[] { new SkillNameValue( SkillName.Ninjitsu, 50 ), new SkillNameValue( SkillName.Hiding, 50 ), new SkillNameValue( SkillName.Fencing, 30 ), new SkillNameValue( SkillName.Stealth, 30 ) }; break; } default: { if ( !ValidSkills( skills ) ) return; break; } } bool addSkillItems = true; bool elf = (m.Race == Race.Elf); switch ( prof ) { case 1: // Warrior { if ( elf ) EquipItem( new LeafChest() ); else EquipItem( new LeatherChest() ); break; } case 4: // Necromancer { Container regs = new BagOfNecroReagents( 50 ); if ( !Core.AOS ) { foreach ( Item item in regs.Items ) item.LootType = LootType.Newbied; } PackItem( regs ); regs.LootType = LootType.Regular; EquipItem( new BoneHelm() ); if ( elf ) { EquipItem( new ElvenMachete() ); EquipItem( NecroHue( new LeafChest() ) ); EquipItem( NecroHue( new LeafArms() ) ); EquipItem( NecroHue( new LeafGloves() ) ); EquipItem( NecroHue( new LeafGorget() ) ); EquipItem( NecroHue( new LeafGorget() ) ); EquipItem( NecroHue( new ElvenPants() ) ); //TODO: Verify the pants EquipItem( new ElvenBoots() ); } else { EquipItem( new BoneHarvester() ); EquipItem( NecroHue( new LeatherChest() ) ); EquipItem( NecroHue( new LeatherArms() ) ); EquipItem( NecroHue( new LeatherGloves() ) ); EquipItem( NecroHue( new LeatherGorget() ) ); EquipItem( NecroHue( new LeatherLegs() ) ); EquipItem( NecroHue( new Skirt() ) ); EquipItem( new Sandals( 0x8FD ) ); } Spellbook book = new NecromancerSpellbook( (ulong)0x8981 ); // animate dead, evil omen, pain spike, summon familiar, wraith form PackItem( book ); book.LootType = LootType.Blessed; addSkillItems = false; break; } case 5: // Paladin { if ( elf ) { EquipItem( new ElvenMachete() ); EquipItem( new WingedHelm() ); EquipItem( new LeafGorget() ); EquipItem( new LeafArms() ); EquipItem( new LeafChest() ); EquipItem( new LeafLegs() ); EquipItem( new ElvenBoots() ); //Verify hue } else { EquipItem( new Broadsword() ); EquipItem( new Helmet() ); EquipItem( new PlateGorget() ); EquipItem( new RingmailArms() ); EquipItem( new RingmailChest() ); EquipItem( new RingmailLegs() ); EquipItem( new ThighBoots( 0x748 ) ); EquipItem( new Cloak( 0xCF ) ); EquipItem( new BodySash( 0xCF ) ); } Spellbook book = new BookOfChivalry( (ulong)0x3FF ); PackItem( book ); book.LootType = LootType.Blessed; addSkillItems = false; break; } case 6: // Samurai { addSkillItems = false; EquipItem( new HakamaShita( 0x2C3 ) ); EquipItem( new Hakama( 0x2C3 ) ); EquipItem( new SamuraiTabi( 0x2C3 ) ); EquipItem( new TattsukeHakama( 0x22D ) ); EquipItem( new Bokuto() ); if ( elf ) EquipItem( new RavenHelm() ); else EquipItem( new LeatherJingasa() ); PackItem( new Scissors() ); PackItem( new Bandage( 50 ) ); Spellbook book = new BookOfBushido(); PackItem( book ); break; } case 7: // Ninja { addSkillItems = false; EquipItem( new Kasa() ); int[] hues = new int[] { 0x1A8, 0xEC, 0x99, 0x90, 0xB5, 0x336, 0x89 }; //TODO: Verify that's ALL the hues for that above. EquipItem( new TattsukeHakama( hues[Utility.Random(hues.Length)] ) ); EquipItem( new HakamaShita( 0x2C3 ) ); EquipItem( new NinjaTabi( 0x2C3 ) ); if ( elf ) EquipItem( new AssassinSpike() ); else EquipItem( new Tekagi() ); PackItem( new SmokeBomb() ); Spellbook book = new BookOfNinjitsu(); PackItem( book ); break; } } for ( int i = 0; i < skills.Length; ++i ) { SkillNameValue snv = skills[i]; if ( snv.Value > 0 && ( snv.Name != SkillName.Stealth || prof == 7 ) && snv.Name != SkillName.RemoveTrap && snv.Name != SkillName.Spellweaving ) { Skill skill = m.Skills[snv.Name]; if ( skill != null ) { skill.BaseFixedPoint = snv.Value * 10; if ( addSkillItems ) AddSkillItems( snv.Name, m ); } } } }
protected override void OnTarget( Mobile from, object targeted ) { if ( targeted is Mobile ) { Mobile targ = (Mobile)targeted; if ( from != targ ) from.SendMessage( "You may only set your own body to GM style." ); else { m_Mobile = from; CommandLogging.WriteLine( from, "{0} {1} is assuming a GM body", from.AccessLevel, CommandLogging.Format( from ) ); Container pack = from.Backpack; if ( pack == null ) { pack = new Backpack(); pack.Movable = false; from.AddItem( pack ); } from.Hunger = 20; from.Thirst = 20; from.Fame = 0; from.Karma = 0; from.Kills = 0; from.Hidden = true; from.Blessed = true; from.Hits = from.HitsMax; from.Mana = from.ManaMax; from.Stam = from.StamMax; if(from.AccessLevel >= AccessLevel.Counselor) { EquipItem( new StaffRing() ); Spellbook book1 = new Spellbook( (ulong)18446744073709551615 ); Spellbook book2 = new NecromancerSpellbook( (ulong)0xffff ); Spellbook book3 = new BookOfChivalry(); Spellbook book4 = new BookOfBushido(); Spellbook book5 = new BookOfNinjitsu(); PackItem(new GMHidingStone()); PackItem( book1 ); PackItem( book2 ); PackItem( book3 ); PackItem( book4 ); PackItem( book5 ); from.RawStr = 100; from.RawDex = 100; from.RawInt = 100; from.Hits = from.HitsMax; from.Mana = from.ManaMax; from.Stam = from.StamMax; for ( int i = 0; i < targ.Skills.Length; ++i ) targ.Skills[i].Base = 120; } if(from.AccessLevel == AccessLevel.Counselor) { EquipItem( new CounselorRobe() ); EquipItem( new ThighBoots( 3 ) ); from.Title = "[Counselor]"; } if(from.AccessLevel == AccessLevel.GameMaster) { EquipItem( new GMRobe() ); EquipItem( new ThighBoots( 39 ) ); from.Title = "[GM]"; } if(from.AccessLevel == AccessLevel.Seer) { EquipItem( new SeerRobe() ); EquipItem( new ThighBoots( 467 ) ); from.Title = "[Seer]"; } if(from.AccessLevel == AccessLevel.Administrator) { EquipItem( new AdminRobe() ); EquipItem( new ThighBoots( 1001 ) ); from.Title = "[Admin]"; } if(from.AccessLevel == AccessLevel.Developer) { EquipItem( new AdminRobe() ); EquipItem( new ThighBoots( 1001 ) ); from.Title = "[Developer]"; } if(from.AccessLevel == AccessLevel.Owner) { EquipItem( new AdminRobe() ); EquipItem( new ThighBoots( 1001 ) ); from.Title = "[Owner]"; } } } }