Updates to the canned evil system for the ML Pestilence spawn.

Pigments of Tokuno have also have heritage items and special material "baseclothing" added.

Bag of Sending was corrected for a client change that broke the localization

FetidEssence, InterredGrizzle, PerstilentBandage corrected in prep for ML champ spawns.

Ilhenir corrected in various ways, imcluding unique drop added to replace the "undiscovered" unique its suppoed to drop.

Pestilence added to the spawn types for champs.

PlayerMobile modified to reflect new champ spawn titles.
This commit is contained in:
xavier 2011-07-17 03:32:28 +00:00
parent c57b83289e
commit 8adee67ccc
8 changed files with 39 additions and 89 deletions

View file

@ -44,11 +44,10 @@ namespace Server.Mobiles
Karma = -3700; // Guessed
}
/*public override void GenerateLoot() -- Need to verify
public override void GenerateLoot() // Need to verify
{
AddLoot( LootPack.Meager );
AddLoot( LootPack.Average );
}*/
AddLoot( LootPack.FilthyRich );
}
public override int GetAngerSound()
{

View file

@ -45,11 +45,10 @@ namespace Server.Mobiles
Karma = -3700; // Guessed
}
/*public override void GenerateLoot() -- Need to verify
public override void GenerateLoot() // -- Need to verify
{
AddLoot( LootPack.Meager );
AddLoot( LootPack.Average );
}*/
AddLoot( LootPack.FilthyRich );
}
// TODO: Acid Blood
/*

View file

@ -56,78 +56,7 @@ namespace Server.Mobiles
}
public override void OnDamagedBySpell(Mobile attacker)
{
base.OnDamagedBySpell(attacker);
DoCounter(attacker);
}
public override void OnGotMeleeAttack(Mobile attacker)
{
base.OnGotMeleeAttack(attacker);
DoCounter(attacker);
}
private void DoCounter(Mobile attacker)
{
if (this.Map == null)
return;
if (attacker is BaseCreature && ((BaseCreature)attacker).BardProvoked)
return;
if (0.2 > Utility.RandomDouble())
{
/* Counterattack with Hit Poison Area
* 20-25 damage, unresistable
* Lethal poison, 100% of the time
* Particle effect: Type: "2" From: "0x4061A107" To: "0x0" ItemId: "0x36BD" ItemIdName: "explosion" FromLocation: "(296 615, 17)" ToLocation: "(296 615, 17)" Speed: "1" Duration: "10" FixedDirection: "True" Explode: "False" Hue: "0xA6" RenderMode: "0x0" Effect: "0x1F78" ExplodeEffect: "0x1" ExplodeSound: "0x0" Serial: "0x4061A107" Layer: "255" Unknown: "0x0"
* Doesn't work on provoked monsters
*/
Mobile target = null;
if (attacker is BaseCreature)
{
Mobile m = ((BaseCreature)attacker).GetMaster();
if (m != null)
target = m;
}
if (target == null || !target.InRange(this, 18))
target = attacker;
this.Animate(10, 4, 1, true, false, 0);
ArrayList targets = new ArrayList();
foreach (Mobile m in target.GetMobilesInRange(8))
{
if (m == this || !CanBeHarmful(m))
continue;
if (m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team))
targets.Add(m);
else if (m.Player && m.Alive)
targets.Add(m);
}
for (int i = 0; i < targets.Count; ++i)
{
Mobile m = (Mobile)targets[i];
DoHarmful(m);
AOS.Damage(m, this, Utility.RandomMinMax(20, 25), true, 0, 0, 0, 100, 0);
m.FixedParticles(0x36BD, 1, 10, 0x1F78, 0xA6, 0, (EffectLayer)255);
m.ApplyPoison(this, Poison.Lethal);
}
}
}
public override Poison HitPoison{ get{ return Poison.Lethal; } }
public override bool CanHeal { get { return true; } }
public override void GenerateLoot()
{

View file

@ -10,7 +10,7 @@ namespace Server.Mobiles
{
public override ChampionSkullType SkullType{ get{ return ChampionSkullType.Pain; } }
public override Type[] UniqueList{ get{ return new Type[] { }; } }
public override Type[] UniqueList{ get{ return new Type[] { typeof( Pacify ) }; } }
public override Type[] SharedList{ get{ return new Type[] { typeof( ANecromancerShroud ),
typeof( LieutenantOfTheBritannianRoyalGuard ),
typeof( OblivionsNeedle ),
@ -55,8 +55,8 @@ namespace Server.Mobiles
SetSkill(SkillName.Tactics, 119.9);
SetSkill(SkillName.Wrestling, 119.9);
Fame = 50000;
Karma = -50000;
Fame = 22500;
Karma = -22500;
VirtualArmor = 44;
}
@ -69,7 +69,7 @@ namespace Server.Mobiles
public override bool Unprovokable { get { return true; } }
public override bool Uncalmable { get { return true; } }
public override Poison PoisonImmune { get { return Poison.Lethal; } }
public override int TreasureMapLevel { get { return 1; } }
//public override int TreasureMapLevel { get { return 1; } }
public override int GetAngerSound()
{

View file

@ -4057,6 +4057,9 @@ namespace Server.Mobiles
return "...";
}
[CommandProperty(AccessLevel.GameMaster)]
public int Pestilence { get { return GetValue(ChampionSpawnType.Pestilence); } set { SetValue(ChampionSpawnType.Pestilence, value); } }
[CommandProperty( AccessLevel.GameMaster )]
public int Abyss { get { return GetValue( ChampionSpawnType.Abyss ); } set { SetValue( ChampionSpawnType.Abyss, value ); } }