Resource icon

Dragon Head Trophies 1

Author
tass23
Downloads
27
Views
1,372
First release
Last update
Rating
0.00 star(s) 0 ratings
No permission to download Join the discussion

More resources from tass23

Requirements
SA, Xmlspawner
Client version: 7.0.12.0+
If you do not have that client or higher (SA starts at 6.0.14.4, but this system was made under 7.0.12.0), the itemID for the heads will not exist (its the Stygian Dragon head).

Dragon_Head_Trophies_1.jpg

Skins itemID: 0x1079 / 4217
Trophy itemID: 0x2234 / 8756
Head itemID: 0x2DB4 / 11700

The following hues are used in the package (some are custom):
1357 - Fire Dragon
1367 - Venom Dragon
2051 - Shadow Wyrm & Shadow Drake
2982 - Old Dragon
2955 - Mythical Dragon
2426 - Adolescent Dragon
67 - Chimera
2212 - Elder Dragon
2963 - Jade Dragon

None of the dragon mobs are included, but the system is highly adaptable. Just change itemIDs, hues and names accordingly for whatever dragons mobiles there are.

These are not BaseAddons, just regular items that can be locked down in a house. The Dragon Head Trophies also include a 150 Light Circle.

Add dragon heads as loot to various dragon mobs. Players receive a dragon head and travel to the Dragon Head Trophy shop and the NPC will exchange their dragon head for a dragon trophy of that type. Players doubleclick the trophy and the name changes to: Fire Dragon killed by PlayerName on (LongDate).

Also included are matching Dragon Skins, but they are just items too (not commodities, as that would require Distro edits for Crafting).

All items are a subclass of the main class: DragonSkins, DragonHeads, DragonTrophy, so changes can be made at the class or subclass levels, depending on the change.

Spawns folder contains 11 Xmlspawners, pre-programmed, 10 for Taking the Heads and Skins from players and Giving the appropriate Dragon Trophy and 1 for the NPC that handles the exchange. Drag/Drop and Respawn. They do not need to be in a specific area in order to work.

***Many thanks to Mogster for coming up with the idea and implementing it on Xmlspawners!***
(yes, Mogster programmed all the Xmlspawners to do all the work, no scripts were needed)​

Sample code - Fire Dragon Head:
public class FireDragonHead : DragonHead { [Constructable] public FireDragonHead() { Name = "a Fire Dragon Head"; Hue = 1357; } public FireDragonHead( 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(); } }

Sample Code - Fire Dragon Trophy:
public class FireDragonTrophy : BaseDragonTrophy { private DateTime m_TrophyTime; private string m_KillerName; [CommandProperty(AccessLevel.GameMaster)] public string KillerName { get { return m_KillerName; } set { m_KillerName = value; Name = m_KillerName; } } [Constructable] public FireDragonTrophy() { Name = "a Fire Dragon Trophy"; Hue = 1357; } public FireDragonTrophy( Serial serial ) : base( serial ) { } public override void OnDoubleClick( Mobile from ) { m_TrophyTime = DateTime.Now; if( !IsChildOf( from.Backpack ) ) { from.SendLocalizedMessage( 1042001 ); return; } if (m_KillerName == null) { from.SendMessage( "You have accepted ownership..." ); KillerName = from.Name; Name = "a Fire Dragon killed by " + KillerName + " on " + m_TrophyTime.ToString() + "."; } } public override void GetProperties( ObjectPropertyList list ) { base.GetProperties( list ); if ( m_KillerName != null ) list.Add( 1072304, KillerName ); } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write(m_KillerName); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_KillerName = reader.ReadString(); } }

Sample Code - Fire Dragon Skin:
public class FireDragonSkins : DragonSkins { [Constructable] public FireDragonSkins() { Name = "Fire Dragon Skin"; Hue = 1357; } public FireDragonSkins( 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(); } }

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back