partial psz patch

This commit is contained in:
mark 2009-06-21 05:43:18 +00:00
parent d03acbffaf
commit 869f68488d
23 changed files with 15471 additions and 19 deletions

View file

@ -0,0 +1,109 @@
using System;
using System.Collections;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName("a fetid essence corpse")]
public class FetidEssence : BaseCreature
{
[Constructable]
public FetidEssence () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a fetid essence";
Body = 273;
SetStr( 101, 150 );
SetDex( 210, 250 );
SetInt( 451, 550 );
SetHits( 551, 650 );
SetDamage( 11, 13 );
SetDamageType( ResistanceType.Physical, 30 );
SetDamageType( ResistanceType.Poison, 70 );
SetResistance( ResistanceType.Physical, 40, 50 );
SetResistance( ResistanceType.Fire, 40, 50 );
SetResistance( ResistanceType.Cold, 40, 50 );
SetResistance( ResistanceType.Poison, 70, 90 );
SetResistance( ResistanceType.Energy, 75, 80 );
SetSkill(SkillName.Meditation, 91.4, 99.4 );
SetSkill(SkillName.EvalInt, 88.5, 92.3 );
SetSkill(SkillName.Magery, 97.9, 101.7 );
SetSkill(SkillName.Poisoning, 100 );
SetSkill(SkillName.Anatomy, 0, 4.5 );
SetSkill( SkillName.MagicResist, 103.5, 108.8 );
SetSkill( SkillName.Tactics, 81.0, 84.6 );
SetSkill( SkillName.Wrestling, 81.3, 83.9 );
Fame = 3700; // Guessed
Karma = -3700; // Guessed
}
/*public override void GenerateLoot() -- Need to verify
{
AddLoot( LootPack.Meager );
AddLoot( LootPack.Average );
}*/
public override int GetAngerSound()
{
return 0x56d;
}
public override int GetIdleSound()
{
return 0x56b;
}
public override int GetAttackSound()
{
return 0x56c;
}
public override int GetHurtSound()
{
return 0x56c;
}
public override int GetDeathSound()
{
return 0x56e;
}
public FetidEssence ( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
/*private class InternalTimer : Timer
{
private Mobile m_From;
private Mobile m_Mobile;
private int m_Count;
public InternalTimer( Mobile from, Mobile m ) : base( TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ) )
{
m_From = from;
m_Mobile = m;
Priority = TimerPriority.TwoFiftyMS;
}
}*/
}
}

View file

@ -0,0 +1,127 @@
using System;
using System.Collections;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName("an interred grizzle corpse")]
public class InterredGrizzle : BaseCreature
{
[Constructable]
public InterredGrizzle () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an interred grizzle";
Body = 259;
SetStr( 451, 500 );
SetDex( 201, 250 );
SetInt( 801, 850 );
SetHits( 1500 );
SetStam( 150 );
SetDamage( 5, 6 );
SetDamageType( ResistanceType.Physical, 30 );
SetDamageType( ResistanceType.Fire, 70 );
SetResistance( ResistanceType.Physical, 35, 55 );
SetResistance( ResistanceType.Fire, 20, 65 );
SetResistance( ResistanceType.Cold, 55, 80 );
SetResistance( ResistanceType.Poison, 20, 35 );
SetResistance( ResistanceType.Energy, 60, 80 );
SetSkill(SkillName.Meditation, 77.7, 84.0 );
SetSkill(SkillName.EvalInt, 72.2, 79.6 );
SetSkill(SkillName.Magery, 83.7, 89.6);
SetSkill(SkillName.Poisoning, 0 );
SetSkill(SkillName.Anatomy, 0 );
SetSkill( SkillName.MagicResist, 80.2, 87.3 );
SetSkill( SkillName.Tactics, 104.5, 105.1 );
SetSkill( SkillName.Wrestling, 105.1, 109.4 );
Fame = 3700; // Guessed
Karma = -3700; // Guessed
}
/*public override void GenerateLoot() -- Need to verify
{
AddLoot( LootPack.Meager );
AddLoot( LootPack.Average );
}*/
// TODO: Acid Blood
/*
* Message: 1070820
* Spits pool of acid (blood, hue 0x3F), hits lost 6-10 per second/step
* Damage is resistable (physical)
* Acid last 10 seconds
*/
public override int GetAngerSound()
{
return 0x581;
}
public override int GetIdleSound()
{
return 0x582;
}
public override int GetAttackSound()
{
return 0x580;
}
public override int GetHurtSound()
{
return 0x583;
}
public override int GetDeathSound()
{
return 0x584;
}
/*
public override bool OnBeforeDeath()
{
SpillAcid( 1, 4, 10, 6, 10 );
return base.OnBeforeDeath();
}
*/
public InterredGrizzle ( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
private class InternalTimer : Timer
{
private Mobile m_From;
private Mobile m_Mobile;
private int m_Count;
public InternalTimer( Mobile from, Mobile m ) : base( TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ) )
{
m_From = from;
m_Mobile = m;
Priority = TimerPriority.TwoFiftyMS;
}
}
}
}

View file

@ -0,0 +1,84 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName("a dryad corpse")]
public class MLDryad : BaseCreature
{
public override bool InitialInnocent { get { return true; } }
/* VULNERABLE TO FEY SLAYER!
* These creatures should be able to cast Area Peace as
* well as cause Players' armor to drop into their backpack*/
public override WeaponAbility GetWeaponAbility()
{
return WeaponAbility.Disrobe;
}
[Constructable]
public MLDryad()
: base(AIType.AI_Mage, FightMode.Aggressor, 10, 1, 0.2, 0.4) // NEED TO CHECK
{
Name = "a dryad";
Body = 266;
BaseSoundID = 0x57B;
SetStr(132, 149);
SetDex(152, 168);
SetInt(251, 280);
SetHits(304, 321);
SetDamage(6, 11);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 40, 50);
SetResistance(ResistanceType.Fire, 15, 25);
SetResistance(ResistanceType.Cold, 40, 45);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 25, 35);
SetSkill(SkillName.Meditation, 80.9, 89.9);
SetSkill(SkillName.EvalInt, 70.3, 78.7);
SetSkill(SkillName.Magery, 70.7, 75.7);
SetSkill(SkillName.Anatomy, 0);
SetSkill(SkillName.MagicResist, 101.7, 117.1);
SetSkill(SkillName.Tactics, 71.7, 79.8);
SetSkill(SkillName.Wrestling, 72.5, 79.5);
Fame = 5000;
Karma = 5000;
VirtualArmor = 28; // Don't know what it should be
}
public override void GenerateLoot()
{
AddLoot(LootPack.Rich); // Need to verify
}
public override int Meat { get { return 1; } }
public MLDryad(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,84 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName("a satyr corpse")]
public class Satyr : BaseCreature
{
/* These creatures should be able to cast Area Peace as
* well as cause Players' armor to drop into their backpack
*/
public override WeaponAbility GetWeaponAbility()
{
return WeaponAbility.Disrobe;
}
[Constructable]
public Satyr()
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) // NEED TO CHECK
{
Name = "a satyr";
Body = 271;
BaseSoundID = 0x586;
SetStr(177, 195);
SetDex(251, 269);
SetInt(153, 170);
SetHits(353, 399);
SetDamage(6, 11);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 55, 60);
SetResistance(ResistanceType.Fire, 26, 35);
SetResistance(ResistanceType.Cold, 30, 40);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 30, 40);
SetSkill(SkillName.Poisoning, 0);
SetSkill(SkillName.Meditation, 0);
SetSkill(SkillName.EvalInt, 0);
SetSkill(SkillName.Magery, 0);
SetSkill(SkillName.Anatomy, 0);
SetSkill(SkillName.MagicResist, 55.3, 64.3);
SetSkill(SkillName.Tactics, 80.1, 99.3);
SetSkill(SkillName.Wrestling, 80.6, 100.0);
Fame = 5000;
Karma = -5000;
VirtualArmor = 28; // Don't know what it should be
}
public override void GenerateLoot()
{
AddLoot(LootPack.Rich); // Need to verify
}
public override int Meat { get { return 1; } }
public Satyr(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}