- Modified the quest system to allow non-BaseCreature quest givers, now requires IQuestGiver.

- Added base quest giver items, both timed and untimed.
- Added BatteredBucket and Lost and Found quest.
- Moved quester 'friendly names' to a class attribute. If left unspecified, the type name is used.
- Misc quest corrections.
- The bag of sending will now reject nontransferable items.
- Fixed quest items generating error messages when StackWith was attempted on them. (StackWith is not supposed to produce feedback.)
- Quest items can now be dropped onto the player's backpack.
This commit is contained in:
eos 2013-02-24 00:31:44 +00:00
parent 0fcd5821a5
commit 71a9e054de
36 changed files with 627 additions and 258 deletions

View file

@ -1541,16 +1541,7 @@ namespace Server
public virtual bool StackWith( Mobile from, Item dropped, bool playSound )
{
// TODO: OSI actually just ignores the stacking attempt and places the item over it, can we do that?
if( Nontransferable || dropped.Nontransferable )
{
if ( dropped.Nontransferable )
HandleInvalidTransfer( from );
return false;
}
if ( dropped.Stackable && Stackable && dropped.GetType() == GetType() && dropped.ItemID == ItemID && dropped.Hue == Hue && dropped.Name == Name && (dropped.Amount + Amount) <= 60000 && dropped != this )
if ( dropped.Stackable && Stackable && dropped.GetType() == GetType() && dropped.ItemID == ItemID && dropped.Hue == Hue && dropped.Name == Name && (dropped.Amount + Amount) <= 60000 && dropped != this && !dropped.Nontransferable && !Nontransferable )
{
if ( m_LootType != dropped.m_LootType )
m_LootType = LootType.Regular;
@ -3858,7 +3849,7 @@ namespace Server
return false;
else if ( !from.OnDroppedItemOnto( this, target ) )
return false;
else if( Nontransferable && from.Player )
else if( Nontransferable && from.Player && target != from.Backpack )
{
HandleInvalidTransfer( from );
return false;