public void TestInitialize() { itemToBeAdded = new List <GameObject>(); itemToBeDeleted = new List <GameObject>(); allObject = new List <GameObject>(); testPlayer = new Player.Player(200, 200); testMediator = new Mediator(allObject, itemToBeAdded, itemToBeDeleted, testPlayer, testRoom, TestState); testRoom = new Room(800, 400, testMediator); testMediator.room = testRoom; testWall = new Wall(200, 200, testMediator); testMonster = new Creep.Creep(200, 200, testMediator); testMonster2 = new Creep.Creep(200, 200, testMediator); HpPlus = 100; testHpBoost = new HpBoost(HpPlus, 200, 200, testMediator); testMSBoost = new MsBoost(200, 200, testMediator); ExpectedMs = testMSBoost.SpeedBoost; testCrossbow = new Crossbow(200, 200, testMediator); testBow = new FrozenBow(200, 200, testMediator); testGun = new SimpleGun(200, 200, testMediator); testWand = new Wand(200, 200, testMediator); testLaveTile = new LavaTile(200, 200, 5, testMediator); testDoor = new Door(200, 200, testMediator, true); FBProjectile = new FrozenBowProjectile(200, 200, Direction.NORTH, testMediator); WProjectile = new WandProjectile(200, 200, Direction.NORTH, testMediator); SGProjectile = new SimpleGunProjectile(200, 200, Direction.NORTH, testMediator); CBProjectile = new CrossbowProjectile(200, 200, Direction.NORTH, testMediator); }
public override void OnAfterSpawn() { base.OnAfterSpawn(); Server.Misc.TavernPatrons.RemoveSomeGear(this, false); Server.Misc.MorphingTime.CheckNecromancer(this); Server.Items.EssenceBase.ColorCitizen(this); Item bow = new Bow(); bow.Delete(); switch (Utility.RandomMinMax(1, 6)) { case 1: bow = new Bow(); break; case 2: bow = new Crossbow(); break; case 3: bow = new HeavyCrossbow(); break; case 4: bow = new CompositeBow(); break; case 5: bow = new Yumi(); break; case 6: bow = new RepeatingCrossbow(); break; } bow.Movable = false; AddItem(bow); }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static Item CreateBowItem() { Item item = null; int nType = Utility.RandomMinMax(0, 7); switch (nType) { case 0: item = new Crossbow(); item.Name = "crossbow"; break; case 1: item = new HeavyCrossbow(); item.Name = "heavy crossbow"; break; case 2: item = new RepeatingCrossbow(); item.Name = "repeating crossbow"; break; case 3: item = new CompositeBow(); item.Name = "composite bow"; break; case 4: item = new Bow(); item.Name = "bow"; break; case 5: item = new ElvenCompositeLongbow(); item.Name = "woodland longbow"; break; case 6: item = new MagicalShortbow(); item.Name = "woodland shortbow"; break; case 7: item = new Yumi(); item.Name = "yumi"; break; } return(item); }
public override void InitOutfit() { Hue = Utility.RandomList(3, 28, 38, 48, 53, 58, 63, 88, 93); SetStr(57); SetDex(91); SetInt(11); SetSkill(SkillName.Anatomy, 59.5, 68.7); SetSkill(SkillName.Archery, 80.0, 100.0); SetSkill(SkillName.Fletching, 80.0, 100.0); SetSkill(SkillName.Tactics, 60.0, 83.0); SetSkill(SkillName.Wrestling, 61.0, 93.0); PackGold(14, 46); PackItem(new Bolt(Utility.RandomMinMax(20, 30))); Crossbow weapon = new Crossbow(); weapon.Movable = true; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); if (this.Female = Utility.RandomBool()) { Body = 386; Name = NameList.RandomName("female"); } else { Body = 390; Name = NameList.RandomName("male"); } }
// Use this for initialization void Start() { cBow = GameObject.Find("Crossbow"); rigi = gameObject.GetComponent <Rigidbody>(); Crossbow cBowRef = cBow.GetComponent <Crossbow>(); locDirection = cBowRef.projectileOrigin.transform.InverseTransformDirection(Vector3.forward); }
public void CannotPutCrossbowInPotionPack() { PotionPack pp = new PotionPack("Small potion sack", 2, 4); Crossbow bow = new Crossbow("Crossbow of the Hawk", 2, 10); bool expected = false; bool actual = pp.Add(bow); Assert.AreEqual(expected, actual); }
public void CanAddCrossbowToBackPack() { Backpack bp = new Backpack("Small Backpack", 3, 4); Crossbow bow = new Crossbow("Terrible crossbow", 3, 4); bool expected = true; bool actual = bp.Add(bow); Assert.AreEqual(expected, actual); }
public SoulboundPirateRaider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "a soulbound pirate raider"; Body = 0x190; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair(this); SetStr(150, 200); SetDex(125, 150); SetInt(95, 110); SetHits(200, 250); SetDamage(15, 25); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); SetSkill(SkillName.MagicResist, 50.0, 75.5); SetSkill(SkillName.Archery, 90.0, 105.5); SetSkill(SkillName.Tactics, 90.0, 105.5); SetSkill(SkillName.Anatomy, 90.0, 105.5); Fame = 2000; Karma = -2000; AddItem(new TricorneHat()); AddItem(new LeatherArms()); AddItem(new FancyShirt()); AddItem(new ShortPants()); AddItem(new Cutlass()); AddItem(new Boots(Utility.RandomNeutralHue())); AddItem(new GoldEarrings()); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); }
protected override void Awake() { mUnitType = UnitType.Archer; base.Awake(); this.InitializeStats(); mMeleeWeapon = new Dagger(mLevel); mRangedWeapon = new Crossbow(mLevel); mCurrentWeapon = mRangedWeapon; }
protected override void Awake() { mUnitType = UnitType.Archer; base.Awake(); this.InitializeStats(); mMeleeWeapon = new Dagger (mLevel); mRangedWeapon = new Crossbow (mLevel); mCurrentWeapon = mRangedWeapon; }
public InternalBuyInfo() { Add(new GenericBuyInfo("Hatchet", typeof(Hatchet), Hatchet.GetSBPurchaseValue(), 50, 0xF43, 0)); Add(new GenericBuyInfo("Saw", typeof(Saw), Saw.GetSBPurchaseValue(), 50, 0x1034, 0)); Add(new GenericBuyInfo("Arrow", typeof(Arrow), Arrow.GetSBPurchaseValue(), 500, 0xF3F, 0)); Add(new GenericBuyInfo("Bolt", typeof(Bolt), Bolt.GetSBPurchaseValue(), 500, 0x1BFB, 0)); Add(new GenericBuyInfo("Bow", typeof(Bow), Bow.GetSBPurchaseValue(), 25, 0x13B2, 0)); Add(new GenericBuyInfo("Crossbow", typeof(Crossbow), Crossbow.GetSBPurchaseValue(), 25, 0xF50, 0)); Add(new GenericBuyInfo("Heavy Crossbow", typeof(HeavyCrossbow), HeavyCrossbow.GetSBPurchaseValue(), 25, 0x13FD, 0)); }
public PirateCrew() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, .2, .4) { Name = NameList.RandomName("orc"); Body = Utility.RandomList(17, 182, 7, 138, 140); bool mage = 0.33 > Utility.RandomDouble(); SetStr(100, 125); SetDex(125, 150); SetInt(250, 400); SetHits(250, 400); SetDamage(15, 25); if (mage) { ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Magery, 100.0, 120.0); SetSkill(SkillName.EvalInt, 100.0, 120.0); SetSkill(SkillName.Meditation, 100.0, 120.0); SetSkill(SkillName.MagicResist, 100.0, 120.0); } SetSkill(SkillName.Archery, 100.0, 120.0); SetSkill(SkillName.Tactics, 100.0, 120.0); SetSkill(SkillName.Wrestling, 100.0, 120.0); SetSkill(SkillName.Anatomy, 100.0, 120.0); SetDamageType(ResistanceType.Physical, 70); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); Fame = 8000; Karma = -8000; }
public InternalSellInfo() { Add(typeof(Hatchet), Hatchet.GetSBSellValue()); Add(typeof(Saw), Saw.GetSBSellValue()); //Add(typeof(Arrow), Arrow.GetSBSellValue()); //Add(typeof(Bolt), Bolt.GetSBSellValue()); Add(typeof(Bow), Bow.GetSBSellValue()); Add(typeof(Crossbow), Crossbow.GetSBSellValue()); Add(typeof(HeavyCrossbow), HeavyCrossbow.GetSBSellValue()); }
public void CannotAddThreeCrossbowToBackpack() { Backpack bp = new Backpack("Small Backpack", 3, 4); Crossbow bow = new Crossbow("Terrible Crossbow", 3, 4); Crossbow tooBig = new Crossbow("Terrible Crossbow", 3, 4); bool expected = false; bp.Add(bow); bool actual = bp.Add(tooBig); Assert.AreEqual(expected, actual); }
public void CannotAddTwoCrossboawsToBackpack() { Backpack bp = new Backpack("Small Backpack", 3, 4); Crossbow bow = new Crossbow("Terrible crossbow", 3, 4); Crossbow tooMany = new Crossbow("Janky crossbow", 3, 4); bool expected = false; bp.Add(bow); bool actual = bp.Add(tooMany); Assert.AreEqual(expected, actual); }
void Start() { mWeapons = new SortedList(); Weapon crossbow = new Crossbow(); mCurrentWeapon = crossbow; mWeapons.Add (crossbow.Range, crossbow); Weapon dagger = new Dagger(); mWeapons.Add (dagger.Range, dagger); mHealth = mDefaultHealth; mPreviousHealth = mHealth; mSprites = null; }
public InternalBuyInfo() { Add(new GenericBuyInfo("Hatchet", typeof(Hatchet), Hatchet.GetSBPurchaseValue(), 50, 0xF43, 0)); Add(new GenericBuyInfo("Saw", typeof(Saw), Saw.GetSBPurchaseValue(), 50, 0x1034, 0)); Add(new GenericBuyInfo("Arrow", typeof(Arrow), Arrow.GetSBPurchaseValue(), 500, 0xF3F, 0)); Add(new GenericBuyInfo("Bolt", typeof(Bolt), Bolt.GetSBPurchaseValue(), 500, 0x1BFB, 0)); Add(new GenericBuyInfo("Bow", typeof(Bow), Bow.GetSBPurchaseValue(), 25, 0x13B2, 0)); Add(new GenericBuyInfo("Crossbow", typeof(Crossbow), Crossbow.GetSBPurchaseValue(), 25, 0xF50, 0)); Add(new GenericBuyInfo("Heavy Crossbow", typeof(HeavyCrossbow), HeavyCrossbow.GetSBPurchaseValue(), 25, 0x13FD, 0)); Add(new AnimalBuyInfo(1, "Eagle", typeof(Eagle), Eagle.GetSBPurchaseValue(), 10, 0x5, 0)); Add(new AnimalBuyInfo(1, "Panther", typeof(Panther), Panther.GetSBPurchaseValue(), 10, 0xD6, 0)); Add(new AnimalBuyInfo(1, "Timber Wolf", typeof(TimberWolf), TimberWolf.GetSBPurchaseValue(), 10, 0xE1, 0)); Add(new AnimalBuyInfo(1, "Brown Bear", typeof(BrownBear), BrownBear.GetSBPurchaseValue(), 10, 0xA7, 0)); Add(new AnimalBuyInfo(1, "Grizzly Bear", typeof(GrizzlyBear), GrizzlyBear.GetSBPurchaseValue(), 10, 0xD4, 0)); }
public SaklethArcher() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = NameList.RandomName("lizardman"); Title = "the sakkhra"; Body = 326; BaseSoundID = 417; SetStr(136, 165); SetDex(56, 75); SetInt(31, 55); SetHits(82, 99); SetDamage(7, 17); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 35, 40); SetResistance(ResistanceType.Fire, 15, 25); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 15, 25); SetResistance(ResistanceType.Energy, 15, 25); SetSkill(SkillName.MagicResist, 40.1, 55.0); SetSkill(SkillName.Tactics, 50.1, 70.0); SetSkill(SkillName.Wrestling, 50.1, 60.0); SetSkill(SkillName.Archery, 50.1, 60.0); Fame = 3500; Karma = -3500; VirtualArmor = 38; Item weapon = new Crossbow(); weapon.Name = "sakkhra crossbow"; weapon.Hue = 0x972; ((BaseWeapon)weapon).MaxDamage = ((BaseWeapon)weapon).MaxDamage + 5; ((BaseWeapon)weapon).MinDamage = ((BaseWeapon)weapon).MinDamage + 5; AddItem(weapon); PackItem(new Bolt(Utility.RandomMinMax(5, 15))); }
public void UsageTest() { Card x; x = new Attack(CardSuit.Club, 0); Assert.AreEqual(1, x.numOfTargets()); x = new Miss(CardSuit.Club, 0); Assert.AreEqual(-1, x.numOfTargets()); // this means not usable x = new Wine(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new Peach(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new Negate(CardSuit.Club, 0); Assert.AreEqual(-1, x.numOfTargets()); x = new Barbarians(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new HailofArrow(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new PeachGarden(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new Wealth(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new Steal(CardSuit.Club, 0); Assert.AreEqual(1, x.numOfTargets()); x = new Break(CardSuit.Club, 0); Assert.AreEqual(1, x.numOfTargets()); x = new Capture(CardSuit.Club, 0); Assert.AreEqual(1, x.numOfTargets()); x = new Starvation(CardSuit.Club, 0); Assert.AreEqual(1, x.numOfTargets()); x = new Crossbow(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new IceSword(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new Scimitar(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new BlackShield(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); x = new EightTrigrams(CardSuit.Club, 0); Assert.AreEqual(0, x.numOfTargets()); }
public override Weapon GenerateRandom() { Crossbow worstVariant = (Crossbow)WorstPossibleVariant; Crossbow bestVariant = (Crossbow)BestPossibleVariant; // We cannot generate something if we have no valid upper or lower bounds if (worstVariant == null || bestVariant == null) { return(null); } // Instantiate a weapon for us to use Crossbow generatedCrossbow = Instantiate(worstVariant); // Create a Weapon reference for use with setCommonStats() Weapon generatedWeapon = generatedCrossbow; setCommonStats(ref generatedWeapon); return(generatedCrossbow); }
public InternalBuyInfo() { Add(new GenericBuyInfo("Dagger", typeof(Dagger), Dagger.GetSBPurchaseValue(), 25, 0xF52, 0)); Add(new GenericBuyInfo("Kryss", typeof(Kryss), Kryss.GetSBPurchaseValue(), 25, 0x1401, 0)); Add(new GenericBuyInfo("War Fork", typeof(WarFork), WarFork.GetSBPurchaseValue(), 25, 0x1405, 0)); Add(new GenericBuyInfo("Short Spear", typeof(ShortSpear), ShortSpear.GetSBPurchaseValue(), 25, 0x1403, 0)); Add(new GenericBuyInfo("Pitchfork", typeof(Pitchfork), Pitchfork.GetSBPurchaseValue(), 25, 0xE87, 0)); Add(new GenericBuyInfo("Spear", typeof(Spear), Spear.GetSBPurchaseValue(), 25, 0xF62, 0)); Add(new GenericBuyInfo("Hammer Pick", typeof(HammerPick), HammerPick.GetSBPurchaseValue(), 25, 0x143D, 0)); Add(new GenericBuyInfo("War Axe", typeof(WarAxe), WarAxe.GetSBPurchaseValue(), 25, 0x13B0, 0)); Add(new GenericBuyInfo("Mace", typeof(Mace), Mace.GetSBPurchaseValue(), 25, 0xF5C, 0)); Add(new GenericBuyInfo("Maul", typeof(Maul), Maul.GetSBPurchaseValue(), 25, 0x143B, 0)); Add(new GenericBuyInfo("WarHammer", typeof(WarHammer), WarHammer.GetSBPurchaseValue(), 25, 0x1439, 0)); Add(new GenericBuyInfo("War Mace", typeof(WarMace), WarMace.GetSBPurchaseValue(), 25, 0x1407, 0)); Add(new GenericBuyInfo("Butcher Knife", typeof(ButcherKnife), ButcherKnife.GetSBPurchaseValue(), 25, 0x13F6, 0)); Add(new GenericBuyInfo("Skinning Knife", typeof(SkinningKnife), SkinningKnife.GetSBPurchaseValue(), 25, 0xEC4, 0)); Add(new GenericBuyInfo("Cleaver", typeof(Cleaver), Cleaver.GetSBPurchaseValue(), 25, 0xEC3, 0)); Add(new GenericBuyInfo("Cutlass", typeof(Cutlass), Cutlass.GetSBPurchaseValue(), 25, 0x1441, 0)); Add(new GenericBuyInfo("Katana", typeof(Katana), Katana.GetSBPurchaseValue(), 25, 0x13FF, 0)); Add(new GenericBuyInfo("Scimitar", typeof(Scimitar), Scimitar.GetSBPurchaseValue(), 25, 0x13B6, 0)); Add(new GenericBuyInfo("Broadsword", typeof(Broadsword), Broadsword.GetSBPurchaseValue(), 25, 0xF5E, 0)); Add(new GenericBuyInfo("Longsword", typeof(Longsword), Longsword.GetSBPurchaseValue(), 25, 0xF61, 0)); Add(new GenericBuyInfo("Viking Sword", typeof(VikingSword), VikingSword.GetSBPurchaseValue(), 25, 0x13B9, 0)); Add(new GenericBuyInfo("Axe", typeof(Axe), Axe.GetSBPurchaseValue(), 25, 0xF49, 0)); Add(new GenericBuyInfo("Battle Axe", typeof(BattleAxe), BattleAxe.GetSBPurchaseValue(), 25, 0xF47, 0)); Add(new GenericBuyInfo("Double Axe", typeof(DoubleAxe), DoubleAxe.GetSBPurchaseValue(), 25, 0xF4B, 0)); Add(new GenericBuyInfo("Executioner's Axe", typeof(ExecutionersAxe), ExecutionersAxe.GetSBPurchaseValue(), 25, 0xF45, 0)); Add(new GenericBuyInfo("Large Battle Axe", typeof(LargeBattleAxe), LargeBattleAxe.GetSBPurchaseValue(), 25, 0x13FB, 0)); Add(new GenericBuyInfo("Two-Handed Axe", typeof(TwoHandedAxe), TwoHandedAxe.GetSBPurchaseValue(), 25, 0x1443, 0)); Add(new GenericBuyInfo("Bardiche", typeof(Bardiche), Bardiche.GetSBPurchaseValue(), 25, 0xF4D, 0)); Add(new GenericBuyInfo("Halberd", typeof(Halberd), Halberd.GetSBPurchaseValue(), 25, 0x143E, 0)); Add(new GenericBuyInfo("Bow", typeof(Bow), Bow.GetSBPurchaseValue(), 25, 0x13B2, 0)); Add(new GenericBuyInfo("Crossbow", typeof(Crossbow), Crossbow.GetSBPurchaseValue(), 25, 0xF50, 0)); Add(new GenericBuyInfo("Heavy Crossbow", typeof(HeavyCrossbow), HeavyCrossbow.GetSBPurchaseValue(), 25, 0x13FD, 0)); }
public InternalSellInfo() { Add(typeof(Dagger), Dagger.GetSBSellValue()); Add(typeof(Kryss), Kryss.GetSBSellValue()); Add(typeof(WarFork), WarFork.GetSBSellValue()); Add(typeof(ShortSpear), ShortSpear.GetSBSellValue()); Add(typeof(Pitchfork), Pitchfork.GetSBSellValue()); Add(typeof(Spear), Spear.GetSBSellValue()); Add(typeof(HammerPick), HammerPick.GetSBSellValue()); Add(typeof(WarAxe), WarAxe.GetSBSellValue()); Add(typeof(Mace), Mace.GetSBSellValue()); Add(typeof(Maul), Maul.GetSBSellValue()); Add(typeof(WarHammer), WarHammer.GetSBSellValue()); Add(typeof(WarMace), WarMace.GetSBSellValue()); Add(typeof(ButcherKnife), ButcherKnife.GetSBSellValue()); Add(typeof(SkinningKnife), SkinningKnife.GetSBSellValue()); Add(typeof(Cleaver), Cleaver.GetSBSellValue()); Add(typeof(Cutlass), Cutlass.GetSBSellValue()); Add(typeof(Katana), Katana.GetSBSellValue()); Add(typeof(Scimitar), Scimitar.GetSBSellValue()); Add(typeof(Broadsword), Broadsword.GetSBSellValue()); Add(typeof(Longsword), Longsword.GetSBSellValue()); Add(typeof(VikingSword), VikingSword.GetSBSellValue()); Add(typeof(Axe), Axe.GetSBSellValue()); Add(typeof(BattleAxe), BattleAxe.GetSBSellValue()); Add(typeof(DoubleAxe), DoubleAxe.GetSBSellValue()); Add(typeof(ExecutionersAxe), ExecutionersAxe.GetSBSellValue()); Add(typeof(LargeBattleAxe), LargeBattleAxe.GetSBSellValue()); Add(typeof(TwoHandedAxe), TwoHandedAxe.GetSBSellValue()); Add(typeof(Bardiche), Bardiche.GetSBSellValue()); Add(typeof(Halberd), Halberd.GetSBSellValue()); Add(typeof(Bow), Bow.GetSBSellValue()); Add(typeof(Crossbow), Crossbow.GetSBSellValue()); Add(typeof(HeavyCrossbow), HeavyCrossbow.GetSBSellValue()); }
public ArcherGuard(Mobile target) : base(target) { Summoned = true; InitStats(1000, 1000, 1000); SpeechHue = 0; Hue = Utility.RandomSkinHue(); #region Armor for (int i = 0; i < m_GuardArmor.Length; ++i) { m_GuardArmor[i].Resource = GuardTheme; AddItem(m_GuardArmor[i]); m_GuardArmor[i].Movable = false; } #endregion #region Cloth BaseClothing bC = null; switch (Utility.Random(3)) { case 0: bC = new Doublet(); break; case 1: bC = new Tunic(); break; case 2: bC = new BodySash(); bC.Layer = Layer.Earrings; break; } if (bC != null) { bC.Resource = GuardTheme; AddItem(bC); bC.Movable = false; } #endregion #region Male/Female if (Female = Utility.RandomBool()) { Body = 0x191; if (string.IsNullOrEmpty(Name)) { Name = NameList.RandomName("female"); Title = "the guard"; } FemalePlateChest ar = new FemalePlateChest(); ar.Resource = GuardTheme; AddItem(ar); ar.Movable = false; } else { Body = 0x190; if (string.IsNullOrEmpty(Name)) { Name = NameList.RandomName("male"); Title = "the guard"; } PlateChest ar = new PlateChest(); ar.Resource = GuardTheme; AddItem(ar); ar.Movable = false; } #endregion Utility.AssignRandomHair(this); if (Utility.RandomBool()) { Utility.AssignRandomFacialHair(this, HairHue); } Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Gold(10, 25)); AddItem(pack); #region Weapon BaseWeapon weapon; Item ammo; switch (Utility.Random(3)) { case 1: weapon = new Bow(); ammo = new Arrow(250); break; case 2: weapon = new Crossbow(); ammo = new Bolt(250); break; case 3: weapon = new HeavyCrossbow(); ammo = new Bolt(250); break; default: weapon = new Bow(); ammo = new Arrow(250); break; } weapon.Crafter = this; weapon.Resource = GuardTheme; weapon.Quality = WeaponQuality.Exceptional; weapon.Speed = 1; weapon.MinDamage = 10000; weapon.MaxDamage = 10000; AddItem(weapon); weapon.Movable = false; AddItem(ammo); ammo.LootType = LootType.Blessed; #endregion Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 125.0; Skills[SkillName.Archery].Base = 100.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; if (Utility.RandomDouble() <= 0.1) { new Horse().Rider = this; } NextCombatTime = DateTime.Now + TimeSpan.FromSeconds(1.0); Focus = target; }
public override void GenerateItems() { int colorTheme = Utility.RandomDyedHue(); int customTheme = 0; m_Items.Add(new ChainmailLegs() { LootType = LootType.Blessed }); m_Items.Add(new RingmailGloves() { LootType = LootType.Blessed }); m_Items.Add(new StuddedGorget() { LootType = LootType.Blessed }); m_Items.Add(new RingmailArms() { LootType = LootType.Blessed }); m_Items.Add(new Boots() { LootType = LootType.Blessed }); m_Items.Add(new FancyShirt(colorTheme) { LootType = LootType.Blessed }); m_Items.Add(new BodySash(colorTheme) { LootType = LootType.Blessed }); m_Items.Add(new Kilt(colorTheme) { LootType = LootType.Blessed }); m_Items.Add(new SkullCap(colorTheme) { LootType = LootType.Blessed }); switch (Utility.RandomMinMax(1, 6)) { case 1: { m_Items.Add(new VikingSword() { LootType = LootType.Blessed }); m_Items.Add(new MetalShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 2: { m_Items.Add(new Longsword() { LootType = LootType.Blessed }); m_Items.Add(new MetalShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 3: { m_Items.Add(new WarMace() { LootType = LootType.Blessed }); m_Items.Add(new MetalShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 4: { m_Items.Add(new Maul() { LootType = LootType.Blessed }); m_Items.Add(new MetalShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 5: { m_Items.Add(new BlackStaff() { LootType = LootType.Blessed }); break; } case 6: { m_Items.Add(new Axe() { LootType = LootType.Blessed }); break; } } Crossbow bow = new Crossbow(); bow.LootType = LootType.Blessed; m_Items.Add(bow); Utility.AssignRandomHair(this, Utility.RandomHairHue()); }
public override void GenerateItems() { int colorTheme = Utility.RandomDyedHue(); int customTheme = 0; m_Items.Add(new Boots() { LootType = LootType.Blessed }); switch (Utility.RandomMinMax(1, 2)) { case 1: m_Items.Add(new LeatherLegs() { LootType = LootType.Blessed }); break; case 2: m_Items.Add(new StuddedLegs() { LootType = LootType.Blessed }); break; } switch (Utility.RandomMinMax(1, 2)) { case 1: m_Items.Add(new LeatherArms() { LootType = LootType.Blessed }); break; case 2: m_Items.Add(new StuddedArms() { LootType = LootType.Blessed }); break; } switch (Utility.RandomMinMax(1, 2)) { case 1: m_Items.Add(new LeatherGloves() { LootType = LootType.Blessed }); break; case 2: m_Items.Add(new StuddedGloves() { LootType = LootType.Blessed }); break; } switch (Utility.RandomMinMax(1, 2)) { case 1: m_Items.Add(new LeatherGorget() { LootType = LootType.Blessed }); break; case 2: m_Items.Add(new StuddedGorget() { LootType = LootType.Blessed }); break; } m_Items.Add(new Bandana(colorTheme) { LootType = LootType.Blessed }); switch (Utility.RandomMinMax(1, 6)) { case 1: { m_Items.Add(new Cutlass() { LootType = LootType.Blessed }); m_Items.Add(new WoodenShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 2: { m_Items.Add(new Scimitar() { LootType = LootType.Blessed }); m_Items.Add(new WoodenShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 3: { m_Items.Add(new Mace() { LootType = LootType.Blessed }); m_Items.Add(new WoodenShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 4: { m_Items.Add(new WarFork() { LootType = LootType.Blessed }); m_Items.Add(new WoodenShield() { Hue = customTheme, LootType = LootType.Blessed }); break; } case 5: { m_Items.Add(new Axe() { LootType = LootType.Blessed }); break; } case 6: { m_Items.Add(new Spear() { LootType = LootType.Blessed }); break; } } Crossbow bow = new Crossbow(); bow.LootType = LootType.Blessed; m_Items.Add(bow); Utility.AssignRandomHair(this, Utility.RandomHairHue()); }
public override void OnResponse(NetState state, RelayInfo info) //Function for GumpButtonType.Reply Buttons { Mobile from = state.Mobile; PlayerMobile pm = from as PlayerMobile; PlayerModule module = pm.PlayerModule; m_cost = 50; //MOD COST OF WEAPON HERE!! Item wep = from.FindItemOnLayer(Layer.FirstValid); Item weps = from.FindItemOnLayer(Layer.TwoHanded); Container pack = from.Backpack; if (wep != null) { pack.TryDropItem(from, wep, false); } if (weps != null) { pack.TryDropItem(from, weps, false); } switch (info.ButtonID) { case 0: //Cancel { from.SendMessage("You decide against spending your skill points."); //from.SendGump( new LevelGump( from ) ); break; } case 1: //Katana { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Katana kat = new Katana(); (( Item )kat).Name = "Katana [Level Item]"; kat.Identified = true; //Prevents others from being used in the upgrading! kat.LootType = LootType.Blessed; from.EquipItem(kat); } from.SendGump(new WepUpgradeGump(from)); break; } case 2: //Broad Sword { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Broadsword bs = new Broadsword(); bs.Identified = true; bs.Name = "Broadsword"; bs.LootType = LootType.Blessed; from.EquipItem(bs); from.SendMessage(102, "You chose a Broadsword"); } from.SendGump(new WepUpgradeGump(from)); break; } case 3: //Scimitar { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Scimitar sc = new Scimitar(); sc.Identified = true; sc.Name = "Scimitar"; sc.LootType = LootType.Blessed; from.EquipItem(sc); from.SendMessage(102, "You chose a Scimitar"); } from.SendGump(new WepUpgradeGump(from)); break; } case 4: //Viking sword { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; VikingSword vs = new VikingSword(); vs.Identified = true; vs.Name = "Vikingsword"; vs.LootType = LootType.Blessed; from.EquipItem(vs); from.SendMessage(102, "You chose a Viking Sword"); } from.SendGump(new WepUpgradeGump(from)); break; } case 5: //Halberd { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Halberd hb = new Halberd(); hb.Identified = true; hb.Name = "Halberd"; hb.LootType = LootType.Blessed; from.EquipItem(hb); from.SendMessage(102, "You chose a Halberd"); } from.SendGump(new WepUpgradeGump(from)); break; } case 6: //Bardiche { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Bardiche bd = new Bardiche(); bd.Identified = true; bd.Name = "Bardiche"; bd.LootType = LootType.Blessed; from.EquipItem(bd); from.SendMessage(102, "You chose a Bardiche"); } from.SendGump(new WepUpgradeGump(from)); break; } case 7: //Double Axe { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; DoubleAxe da = new DoubleAxe(); da.Identified = true; da.Name = "Double Axe"; da.LootType = LootType.Blessed; from.EquipItem(da); from.SendMessage(102, "You chose a Double Axe"); } from.SendGump(new WepUpgradeGump(from)); break; } case 8: //Large Battle Axe { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; LargeBattleAxe lba = new LargeBattleAxe(); lba.Identified = true; lba.Name = "Large Battle Axe"; lba.LootType = LootType.Blessed; from.EquipItem(lba); from.SendMessage(102, "You chose a Large Battle Axe"); } from.SendGump(new WepUpgradeGump(from)); break; } case 9: //Axe { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Axe a = new Axe(); a.Identified = true; a.Name = "Axe"; a.LootType = LootType.Blessed; from.EquipItem(a); from.SendMessage(102, "You chose an Axe"); } from.SendGump(new WepUpgradeGump(from)); break; } case 10: //Kryss { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Kryss k = new Kryss(); k.Identified = true; k.Name = "Kryss"; k.LootType = LootType.Blessed; from.EquipItem(k); from.SendMessage(102, "You chose a Kryss"); } from.SendGump(new WepUpgradeGump(from)); break; } case 11: //War Fork { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; WarFork wf = new WarFork(); wf.Identified = true; wf.Name = "War Fork"; wf.LootType = LootType.Blessed; from.EquipItem(wf); from.SendMessage(102, "You chose a War Fork"); } from.SendGump(new WepUpgradeGump(from)); break; } case 12: //Dagger { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Dagger d = new Dagger(); d.Identified = true; d.Name = "Dagger"; d.LootType = LootType.Blessed; from.EquipItem(d); from.SendMessage(102, "You chose a Dagger"); } from.SendGump(new WepUpgradeGump(from)); break; } case 13: //Pike { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Pike p = new Pike(); p.Identified = true; p.Name = "Pike"; p.LootType = LootType.Blessed; from.EquipItem(p); from.SendMessage(102, "You chose a Pike"); } from.SendGump(new WepUpgradeGump(from)); break; } case 14: //Short Spear { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; ShortSpear ss = new ShortSpear(); ss.Identified = true; ss.Name = "Short Spear"; ss.LootType = LootType.Blessed; from.EquipItem(ss); from.SendMessage(102, "You chose a Short Spear"); } from.SendGump(new WepUpgradeGump(from)); break; } case 15: //Long Spear { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Spear ls = new Spear(); ls.Identified = true; ls.Name = "Long Spear"; ls.LootType = LootType.Blessed; from.EquipItem(ls); from.SendMessage(102, "You chose a Long Spear"); } from.SendGump(new WepUpgradeGump(from)); break; } case 16: //Pitchfork { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Pitchfork p = new Pitchfork(); p.Identified = true; p.Name = "Pitchfork"; p.LootType = LootType.Blessed; from.EquipItem(p); from.SendMessage(102, "You chose a Pitchfork"); } from.SendGump(new WepUpgradeGump(from)); break; } case 17: //lance { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Lance l = new Lance(); l.Identified = true; l.Name = "Lance"; l.LootType = LootType.Blessed; from.EquipItem(l); from.SendMessage(102, "You chose a Lance"); } from.SendGump(new WepUpgradeGump(from)); break; } case 18: //Sai's { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Sai s = new Sai(); s.Identified = true; s.Name = "Sai"; s.LootType = LootType.Blessed; from.EquipItem(s); from.SendMessage(102, "You chose Sai's"); } from.SendGump(new WepUpgradeGump(from)); break; } case 19: //War Mace { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; WarMace wm = new WarMace(); wm.Identified = true; wm.Name = "War Mace"; wm.LootType = LootType.Blessed; from.EquipItem(wm); from.SendMessage(102, "You chose a War Mace"); } from.SendGump(new WepUpgradeGump(from)); break; } case 20: //War Hammer { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; WarHammer wh = new WarHammer(); wh.Identified = true; wh.Name = "War Hammer"; wh.LootType = LootType.Blessed; from.EquipItem(wh); from.SendMessage(102, "You chose a War Hammer"); } from.SendGump(new WepUpgradeGump(from)); break; } case 21: //Maul { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Maul w = new Maul(); w.Identified = true; w.Name = "Maul"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Maul"); } from.SendGump(new WepUpgradeGump(from)); break; } case 22: //Club { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Club w = new Club(); w.Identified = true; w.Name = "Club"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Club"); } from.SendGump(new WepUpgradeGump(from)); break; } case 23: //Q Staff { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; QuarterStaff w = new QuarterStaff(); w.Identified = true; w.Name = "Quarter Staff"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Quarter Staff"); } from.SendGump(new WepUpgradeGump(from)); break; } case 24: //G Staff { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; GnarledStaff w = new GnarledStaff(); w.Identified = true; w.Name = "Gnarled Staff"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Gnarled Staff"); } from.SendGump(new WepUpgradeGump(from)); break; } case 25: //B Staff { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; BlackStaff w = new BlackStaff(); w.Identified = true; w.Name = "BlackStaff"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Black Staff"); } from.SendGump(new WepUpgradeGump(from)); break; } case 26: //Hammer Pick { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; HammerPick w = new HammerPick(); w.Identified = true; w.Name = "Hammer Pick"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Hammer Pick"); } from.SendGump(new WepUpgradeGump(from)); break; } case 27: //War Axe { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; WarAxe w = new WarAxe(); w.Identified = true; w.Name = "War Axe"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a War Axe"); } from.SendGump(new WepUpgradeGump(from)); break; } case 28: //Bow { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Bow w = new Bow(); w.Identified = true; w.Name = "Bow"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Bow"); } from.SendGump(new WepUpgradeGump(from)); break; } case 29: //Composite Bow { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; CompositeBow w = new CompositeBow(); w.Identified = true; w.Name = "Composite Bow"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Composite Bow"); } from.SendGump(new WepUpgradeGump(from)); break; } case 30: //Crossbow { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Crossbow w = new Crossbow(); w.Identified = true; w.Name = "Crossbow"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Crossbow"); } from.SendGump(new WepUpgradeGump(from)); break; } case 31: //Heavy Crossbow { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; HeavyCrossbow w = new HeavyCrossbow(); w.Identified = true; w.Name = "Heavy Crossbow"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Heavy Crossbow"); } from.SendGump(new WepUpgradeGump(from)); break; } case 32: //Repeating Crossbow { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; RepeatingCrossbow w = new RepeatingCrossbow(); w.Identified = true; w.Name = "Repeating Crossbow"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Repeating Crossbow"); } from.SendGump(new WepUpgradeGump(from)); break; } case 33: //Yumi { if (module.SkillPts < m_cost) { from.SendMessage(37, "Not enough skill points!"); } else { module.SkillPts -= m_cost; Yumi w = new Yumi(); w.Identified = true; w.Name = "Yumi"; w.LootType = LootType.Blessed; from.EquipItem(w); from.SendMessage(102, "You chose a Yumi"); } from.SendGump(new WepUpgradeGump(from)); break; } } }
static void Main(string[] args) { Axe axeSoldier = new Axe(); Sword swordSoldier = new Sword(); Spear spearSoldier = new Spear(); Bow bowSoldier = new Bow(); Crossbow cbSoldier = new Crossbow(); Javelin javelinSoldier = new Javelin(); string choice = "y"; while (choice == "y") { Console.WriteLine("Which Unit of your army do you wish to view:" + "\nMelee \tRanged\nPlease select one to view"); string answer = Console.ReadLine(); switch (answer) { case "Melee": Console.Clear(); Console.WriteLine("There are 3 types of melee units in this army:" + "\nSword \tAxe \tSpear\nSelect one"); answer = Console.ReadLine(); switch (answer) { case "Sword": swordSoldier.Health(); swordSoldier.Armor(); swordSoldier.Attack(); swordSoldier.speed(); break; case "Axe": axeSoldier.Health(); axeSoldier.Armor(); axeSoldier.Attack(); axeSoldier.speed(); break; case "Spear": spearSoldier.Health(); spearSoldier.Armor(); spearSoldier.Attack(); spearSoldier.speed(); break; default: Console.WriteLine($"{answer} is not a feature of this army."); break; } break; case "Ranged": Console.Clear(); Console.WriteLine("There are 3 types of melee units in this army:" + "\nBow \tCrossbow \tJavelin\nSelect one"); answer = Console.ReadLine(); switch (answer) { case "Bow": bowSoldier.Health(); bowSoldier.Armor(); bowSoldier.Attack(); bowSoldier.speed(); break; case "Crossbow": cbSoldier.Health(); cbSoldier.Armor(); cbSoldier.Attack(); cbSoldier.speed(); break; case "Javelin": javelinSoldier.Health(); javelinSoldier.Armor(); javelinSoldier.Attack(); javelinSoldier.speed(); break; default: Console.WriteLine($"{answer} is not a feature of this army."); break; } break; } Console.WriteLine("Do you wish to continue viewing your army? y/n"); choice = Console.ReadLine(); Console.Clear(); } }
public MerchantCrew() : base(AIType.AI_Paladin, FightMode.Aggressor, 10, 1, .2, .4) { Title = "the merchant"; Hue = Race.RandomSkinHue(); if (Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); AddItem(new Skirt(Utility.RandomNeutralHue())); } else { Body = 0x190; Name = NameList.RandomName("male"); AddItem(new ShortPants(Utility.RandomNeutralHue())); } bool magery = 0.33 > Utility.RandomDouble(); SetStr(100, 125); SetDex(125, 150); SetInt(250, 400); SetHits(250, 400); SetDamage(15, 25); if (magery) { ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Magery, 100.0, 120.0); SetSkill(SkillName.EvalInt, 100.0, 120.0); SetSkill(SkillName.Meditation, 100.0, 120.0); SetSkill(SkillName.MagicResist, 100.0, 120.0); } SetSkill(SkillName.Archery, 100.0, 120.0); SetSkill(SkillName.Chivalry, 100.0, 120.0); SetSkill(SkillName.Focus, 100.0, 120.0); SetSkill(SkillName.Tactics, 100.0, 120.0); SetSkill(SkillName.Wrestling, 100.0, 120.0); SetSkill(SkillName.Anatomy, 100.0, 120.0); SetDamageType(ResistanceType.Physical, 70); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } AddItem(bow); AddItem(new TricorneHat()); AddItem(new FancyShirt()); AddItem(new Boots(Utility.RandomNeutralHue())); AddItem(new GoldEarrings()); Fame = 8000; Karma = 8000; }
public Raider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Title = "the raider"; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair(this); SetStr(150, 200); SetDex(125, 150); SetInt(95, 110); SetHits(400, 650); SetDamage(21, 28); if (Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); EquipItem(new Skirt(Utility.RandomNeutralHue())); } else { Body = 0x190; Name = NameList.RandomName("male"); EquipItem(new ShortPants(Utility.RandomNeutralHue())); } SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 45, 55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Poison, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); SetSkill(SkillName.MagicResist, 50.0, 75.5); SetSkill(SkillName.Archery, 90.0, 105.5); SetSkill(SkillName.Tactics, 90.0, 105.5); SetSkill(SkillName.Anatomy, 90.0, 105.5); Fame = 7500; Karma = -7500; SetWearable(new TricorneHat()); SetWearable(new LeatherArms()); SetWearable(new FancyShirt()); SetWearable(new Cutlass()); SetWearable(new Boots(Utility.RandomNeutralHue())); SetWearable(new GoldEarrings()); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); PackItem(new Arrow(25)); break; case 1: bow = new Crossbow(); PackItem(new Bolt(25)); break; case 2: bow = new Bow(); PackItem(new Arrow(25)); break; case 3: bow = new HeavyCrossbow(); PackItem(new Bolt(25)); break; } SetWearable(bow); ControlSlots = 0; }
public ArcherTownGuard() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2) { Title = "the guard"; Body = 400; Hue = Utility.RandomSkinHue(); SpeechHue = 1153; this.Body = 0x190; this.Name = NameList.RandomName("male"); SetStr(150); SetDex(100); SetInt(25); SetSkill(SkillName.MagicResist, 200.0); SetSkill(SkillName.Archery, 100.0); SetSkill(SkillName.Tactics, 100.0); SetSkill(SkillName.Healing, 100.0); SetSkill(SkillName.Anatomy, 100.0); SetSkill(SkillName.DetectHidden, 100.0); Fame = 2500; Karma = 5000; VirtualArmor = 30; Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A)); hair.Hue = Utility.RandomHairHue(); hair.Layer = Layer.Hair; hair.Movable = false; AddItem(hair); PackGold(0); switch (Utility.Random(50)) { case 0: { Item beard = new Item(Utility.RandomList(0x2040, 0x204B, 0x203F, 0x2041)); beard.Hue = hair.Hue; beard.Layer = Layer.FacialHair; beard.Movable = false; AddItem(beard); break; } } Item chainchest = new ChainChest(); EquipItem(chainchest); Item chainlegs = new ChainLegs(); EquipItem(chainlegs); Item plategorget = new PlateGorget(); EquipItem(plategorget); Item boots = new Boots(); EquipItem(boots); Crossbow crossbow = new Crossbow(); crossbow.Movable = false; crossbow.MinDamage = 35; crossbow.MaxDamage = 40; EquipItem(crossbow); PackItem(new Crossbow()); PackItem(new Bolt(10)); PackItem(new Bandage(100)); }
public override void GenerateLoot() { AddLoot(LootPack.FilthyRich, 5); AddLoot(LootPack.HighScrolls, 3); AddLoot(LootPack.MedScrolls, 4); AddLoot(LootPack.LowScrolls, 6); AddLoot(LootPack.Gems, 5); if (Utility.RandomDouble() < 0.20) { BaseWeapon weapon = Loot.RandomWeapon(true); switch (Utility.Random(33)) { case 0: weapon = new BattleAxe(); break; case 1: weapon = new ExecutionersAxe(); break; case 2: weapon = new LargeBattleAxe(); break; case 3: weapon = new WarAxe(); break; case 4: weapon = new Bow(); break; case 5: weapon = new Crossbow(); break; case 6: weapon = new HeavyCrossbow(); break; case 7: weapon = new WarHammer(); break; case 8: weapon = new WarMace(); break; case 9: weapon = new Bardiche(); break; case 10: weapon = new Halberd(); break; case 11: weapon = new Spear(); break; case 12: weapon = new QuarterStaff(); break; case 13: weapon = new Katana(); break; case 14: weapon = new Longsword(); break; case 15: weapon = new VikingSword(); break; case 16: weapon = new CompositeBow(); break; case 17: weapon = new CrescentBlade(); break; case 18: weapon = new DoubleBladedStaff(); break; case 19: weapon = new Lance(); break; case 20: weapon = new PaladinSword(); break; case 21: weapon = new Scythe(); break; case 22: weapon = new Daisho(); break; case 23: weapon = new Lajatang(); break; case 24: weapon = new NoDachi(); break; case 25: weapon = new Tetsubo(); break; case 26: weapon = new Yumi(); break; case 27: weapon = new ElvenCompositeLongbow(); break; case 28: weapon = new OrnateAxe(); break; case 29: weapon = new RadiantScimitar(); break; case 30: weapon = new WarCleaver(); break; case 31: weapon = new WildStaff(); break; default: weapon = new DiamondMace(); break; } BaseRunicTool.ApplyAttributesTo(weapon, 5, 35, 50); weapon.Hue = 1461; PackItem(weapon); } if (Utility.RandomDouble() < 0.20) { BaseArmor armor = Loot.RandomArmor(true); switch (Utility.Random(5)) { case 0: armor = new CrusaderGauntlets(); break; case 1: armor = new CrusaderGorget(); break; case 2: armor = new CrusaderLeggings(); break; case 3: armor = new CrusaderSleeves(); break; default: armor = new CrusaderBreastplate(); break; } BaseRunicTool.ApplyAttributesTo(armor, 5, 35, 50); armor.Hue = 1461; PackItem(armor); } if (Utility.RandomDouble() < 0.20) { BaseClothing clothing = Loot.RandomClothing(true); BaseRunicTool.ApplyAttributesTo(clothing, 5, 35, 50); clothing.Hue = 1461; PackItem(clothing); } if (Utility.RandomDouble() < 0.10) { BaseShield shield = new MetalKiteShield(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(shield, 5, 35, 50); } shield.Hue = 1461; PackItem(shield); } if (Utility.RandomDouble() < 0.10) { BaseJewel bracelet = new GoldBracelet(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(bracelet, 5, 35, 50); } bracelet.Hue = 1461; PackItem(bracelet); } if (Utility.RandomDouble() < 0.10) { BaseJewel earrings = new GoldEarrings(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(earrings, 5, 35, 50); } earrings.Hue = 1461; PackItem(earrings); } if (Utility.RandomDouble() < 0.10) { BaseJewel necklace = new GoldNecklace(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(necklace, 5, 35, 50); } necklace.Hue = 1461; PackItem(necklace); } if (Utility.RandomDouble() < 0.10) { BaseJewel ring = new GoldRing(); if (Core.AOS) { BaseRunicTool.ApplyAttributesTo(ring, 5, 35, 50); } ring.Hue = 1461; PackItem(ring); } }
public PirateCrew() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, .2, .4) { Name = "Orcish Crew"; Body = 0.33 > Utility.RandomDouble() ? 0x8C : Utility.RandomList(0xB5, 0xB6); SetHits(2000); if (Body == 0x8C) // Mage { SetStr(140, 160); SetDex(130, 150); SetInt(170, 190); SetDamage(4, 14); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 30, 40); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 20, 30); SetResistance(ResistanceType.Poison, 30, 40); SetResistance(ResistanceType.Energy, 30, 40); ChangeAIType(AIType.AI_Mage); SetSkill(SkillName.Wrestling, 45.0, 55.0); SetSkill(SkillName.Tactics, 50.0, 60.0); SetSkill(SkillName.MagicResist, 65.0, 75.0); SetSkill(SkillName.Magery, 60.0, 70.0); SetSkill(SkillName.EvalInt, 60.0, 75.0); SetSkill(SkillName.Meditation, 70.0, 90.0); SetSkill(SkillName.Focus, 80.0, 100.0); } else if (Body == 0xB6) // Bomber { SetStr(150, 200); SetDex(90, 110); SetInt(70, 100); SetDamage(1, 8); SetDamageType(ResistanceType.Physical, 75); SetDamageType(ResistanceType.Fire, 25); SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 15, 25); SetResistance(ResistanceType.Poison, 15, 25); SetResistance(ResistanceType.Energy, 20, 30); SetSkill(SkillName.Wrestling, 60.0, 90.0); SetSkill(SkillName.Tactics, 70.0, 85.0); SetSkill(SkillName.MagicResist, 70.0, 85.0); } else // Archer { SetStr(100, 130); SetDex(100, 130); SetInt(30, 70); SetDamage(5, 7); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 20, 35); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 15, 25); SetResistance(ResistanceType.Poison, 15, 25); SetResistance(ResistanceType.Energy, 20, 30); ChangeAIType(AIType.AI_Archer); SetSkill(SkillName.Tactics, 55.0, 70.0); SetSkill(SkillName.MagicResist, 50.0, 70.0); SetSkill(SkillName.Anatomy, 60.0, 85.0); SetSkill(SkillName.Healing, 60.0, 80.0); SetSkill(SkillName.Archery, 100.0, 120.0); Item bow; switch (Utility.Random(4)) { default: case 0: bow = new CompositeBow(); break; case 1: bow = new Crossbow(); break; case 2: bow = new Bow(); break; case 3: bow = new HeavyCrossbow(); break; } AddItem(bow); } SetSkill(SkillName.DetectHidden, 40.0, 45.0); Fame = 8000; Karma = -8000; }