public bool Prepare(Creature creature, Skill skill, Packet packet)
{
var parameters = packet.GetString();
var itemEntityId = MabiDictionary.Fetch<long>("ITEMID", parameters);
var guild = creature.Guild;
if (itemEntityId == 0 || creature.Inventory.GetItem(itemEntityId) == null)
{
Log.Warning("HiddenGuildStoneSetting.Prepare: User '{0}' tried to use skill with invalid item.", creature.Client.Account.Id);
return false;
}
else if (guild == null)
{
Send.MsgBox(creature, Localization.Get("You're not in a guild."));
return false;
}
else if (creature.GuildMember.Rank != GuildMemberRank.Leader)
{
Send.MsgBox(creature, Localization.Get("Only the guild leader can place the guild stone."));
return false;
}
else if (guild.HasStone)
{
Send.MsgBox(creature, Localization.Get("Your guild already has a guild stone."));
return false;
}
skill.Stacks = 1;
skill.State = SkillState.Ready;
Send.Echo(creature, Op.SkillReady, packet);
return true;
}