Files
abysmal-isle/Scripts/Scripts-master/Quests/GibberlingHunter/GibberlingHunter.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

165 lines
4.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Server.Items;
using Server.Targeting;
using Server.ContextMenus;
using Server.Gumps;
using Server.Misc;
using Server.Network;
using Server.Spells;
namespace Server.Mobiles
{
[CorpseName("a corpse")]
public class GibberHunter : BaseCreature
{
[Constructable]
public GibberHunter()
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Name = NameList.RandomName("male");
Title = "the hunter";
Body = 400;
///////////immortal and frozen to-the-spot features below:
Blessed = true;
CantWalk = true;
///////////STR/DEX/INT
InitStats(31, 41, 51);
/*
SetStr(76, 100);
SetDex(56, 75);
SetInt(11, 14);
SetHits(100);
SetDex(25);
SetInt(100);
SetDamage(11, 15);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 20);
SetResistance(ResistanceType.Cold, 20);
SetResistance(ResistanceType.Poison, 20);
SetSkill(SkillName.Magery, 100.0);
SetSkill(SkillName.Meditation, 100.0);
SetSkill(SkillName.MagicResist, 100.0);
SetSkill(SkillName.Tactics, 100.0);
SetSkill(SkillName.Archery, 100.0);
SetSkill(SkillName.Anatomy, 100.0);
SetSkill(SkillName.Focus, 100.0);*/
Utility.AssignRandomHair(this);
AddItem(new Shirt());
AddItem(new LongPants());
Bow bow = new Bow();
bow.Attributes.SpellChanneling = 1;
bow.Attributes.CastSpeed = -1;
AddItem(bow);
Fame = 450;
Karma = 0;
VirtualArmor = 24;
}
public override void OnDeath(Container c)
{
base.OnDeath(c);
AddItem(new Gold(2500));
}
public override bool OnDragDrop(Mobile from, Item dropped)
{
Mobile m = from;
PlayerMobile mobile = m as PlayerMobile;
if (mobile != null)
{
if (dropped is GibberHead)
{
dropped.Delete();
//mobile.AddToBackpack(new SoulThiefsDagger( ));
mobile.AddToBackpack(new GibberToken());
this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Thank you. as i said here is a reward.", mobile.NetState);
}
else
{
this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I have no need for this...", mobile.NetState); return true;
}
}
return false;
}
public class TheHunterEntry : ContextMenuEntry
{
private Mobile m_Mobile; private Mobile m_Giver;
public TheHunterEntry(Mobile from, Mobile giver)
: base(6146, 3)
{
m_Mobile = from; m_Giver = giver;
}
public override void OnClick()
{
if (!(m_Mobile is PlayerMobile)) return;
PlayerMobile mobile = (PlayerMobile)m_Mobile;
{
if (!mobile.HasGump(typeof(HunterQuestGump)))
{
if (GibberToken.GibberTokenExistsOn(mobile))
{
mobile.SendMessage("You have already completed this task.");
}
else
{
mobile.SendGump(new HunterQuestGump());
}
}
}
}
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
list.Add(new TheHunterEntry(from, this));
}
public GibberHunter(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();
}
}
}