#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.

This commit is contained in:
WarrentyExpired 2026-08-06 11:06:05 -04:00
parent b51c58f514
commit 3045c83799
3512 changed files with 627673 additions and 0 deletions

View file

@ -0,0 +1,114 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a Miasma corpse" )]
public class Miasma : Scorpion
{
[Constructable]
public Miasma()
{
IsParagon = true;
Name = "Miasma";
Hue = 0x8FD;
SetStr( 255, 847 );
SetDex( 145, 428 );
SetInt( 26, 380 );
SetHits( 750, 2000 );
SetMana( 5, 60 );
SetDamage( 20, 30 );
SetDamageType( ResistanceType.Physical, 60 );
SetDamageType( ResistanceType.Poison, 40 );
SetResistance( ResistanceType.Physical, 50, 54 );
SetResistance( ResistanceType.Fire, 40, 45 );
SetResistance( ResistanceType.Cold, 50, 55 );
SetResistance( ResistanceType.Poison, 70, 80 );
SetResistance( ResistanceType.Energy, 40, 45 );
SetSkill( SkillName.Wrestling, 84.9, 103.3 );
SetSkill( SkillName.Tactics, 98.4, 110.6 );
SetSkill( SkillName.Anatomy, 0 );
SetSkill( SkillName.MagicResist, 74.4, 77.7 );
SetSkill( SkillName.Poisoning, 128.5, 143.6 );
Fame = 21000;
Karma = -21000;
}
/* yes, this is OSI style */
public override double WeaponAbilityChance { get { return 0.75; } }
public override double HitPoisonChance { get { return 0.35; } }
public override Poison HitPoison { get { return ( Poison.Lethal ); } }
public override bool HasManaOveride { get { return true; } }
public override bool GivesMLMinorArtifact { get { return true; } }
public override int TreasureMapLevel { get { return 5; } }
public override void GenerateLoot()
{
AddLoot( LootPack.UltraRich, 4 );
}
public override WeaponAbility GetWeaponAbility()
{
return WeaponAbility.MortalStrike;
}
/*
// TODO: uncomment once added
public override void OnDeath( Container c )
{
base.OnDeath( c );
if ( Utility.RandomDouble() < 0.025 )
{
switch ( Utility.Random( 16 ) )
{
case 0: c.DropItem( new MyrmidonGloves() ); break;
case 1: c.DropItem( new MyrmidonGorget() ); break;
case 2: c.DropItem( new MyrmidonLegs() ); break;
case 3: c.DropItem( new MyrmidonArms() ); break;
case 4: c.DropItem( new PaladinArms() ); break;
case 5: c.DropItem( new PaladinGorget() ); break;
case 6: c.DropItem( new LeafweaveLegs() ); break;
case 7: c.DropItem( new DeathChest() ); break;
case 8: c.DropItem( new DeathGloves() ); break;
case 9: c.DropItem( new DeathLegs() ); break;
case 10: c.DropItem( new GreymistGloves() ); break;
case 11: c.DropItem( new GreymistArms() ); break;
case 12: c.DropItem( new AssassinChest() ); break;
case 13: c.DropItem( new AssassinArms() ); break;
case 14: c.DropItem( new HunterGloves() ); break;
case 15: c.DropItem( new HunterLegs() ); break;
}
}
}
*/
public Miasma( Serial serial )
: base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,87 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Spells;
namespace Server.Mobiles
{
[CorpseName( "a Pyre corpse" )]
public class Pyre : Phoenix
{
[Constructable]
public Pyre()
{
IsParagon = true;
Name = "Pyre";
Hue = 0x489;
FightMode = FightMode.Closest;
SetStr( 605, 611 );
SetDex( 391, 519 );
SetInt( 669, 818 );
SetHits( 1783, 1939 );
SetDamage( 30 );
SetDamageType( ResistanceType.Physical, 50 );
SetDamageType( ResistanceType.Fire, 50 );
SetResistance( ResistanceType.Physical, 65 );
SetResistance( ResistanceType.Fire, 72, 75 );
SetResistance( ResistanceType.Poison, 36, 41 );
SetResistance( ResistanceType.Energy, 50, 51 );
SetSkill( SkillName.Wrestling, 121.9, 130.6 );
SetSkill( SkillName.Tactics, 114.4, 117.4 );
SetSkill( SkillName.MagicResist, 147.7, 153.0 );
SetSkill( SkillName.Poisoning, 122.8, 124.0 );
SetSkill( SkillName.Magery, 121.8, 127.8 );
SetSkill( SkillName.EvalInt, 103.6, 117.0 );
SetSkill( SkillName.Meditation, 100.0, 110.0 );
Fame = 21000;
Karma = -21000;
}
public override void GenerateLoot()
{
AddLoot( LootPack.UltraRich, 3 );
}
public override WeaponAbility GetWeaponAbility()
{
if ( Utility.RandomBool() )
return WeaponAbility.ParalyzingBlow;
else
return WeaponAbility.BleedAttack;
}
public override bool GivesMLMinorArtifact{ get{ return true; } }
public override int TreasureMapLevel{ get{ return 5; } }
public override bool HasAura{ get{ return true; } }
public Pyre( Serial serial )
: base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,79 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a Rend corpse" )]
public class Rend : Reptalon
{
[Constructable]
public Rend()
{
IsParagon = true;
Name = "Rend";
Hue = 0x455;
SetStr( 1261, 1284 );
SetDex( 363, 384 );
SetInt( 601, 642 );
SetHits( 5176, 6100 );
SetDamage( 26, 33 );
SetDamageType( ResistanceType.Physical, 100 );
SetDamageType( ResistanceType.Poison, 0 );
SetDamageType( ResistanceType.Energy, 0 );
SetResistance( ResistanceType.Physical, 75, 85 );
SetResistance( ResistanceType.Fire, 81, 94 );
SetResistance( ResistanceType.Cold, 46, 55 );
SetResistance( ResistanceType.Poison, 35, 44 );
SetResistance( ResistanceType.Energy, 45, 52 );
SetSkill( SkillName.Wrestling, 136.3, 150.3 );
SetSkill( SkillName.Tactics, 133.4, 141.4 );
SetSkill( SkillName.MagicResist, 90.9, 110.0 );
SetSkill( SkillName.Anatomy, 66.6, 72.0 );
Fame = 21000;
Karma = -21000;
}
public override void GenerateLoot()
{
AddLoot( LootPack.UltraRich, 3 );
}
public override WeaponAbility GetWeaponAbility()
{
if ( Utility.RandomBool() )
return WeaponAbility.ParalyzingBlow;
else
return WeaponAbility.BleedAttack;
}
public override bool GivesMLMinorArtifact{ get{ return true; } }
public Rend( Serial serial )
: base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}