Ejemplo n.º 1
0
 public static void InvokeCorpseAction(CorpseActionEventArgs args)
 {
     if (CorpseAction != null)
     {
         CorpseAction(args);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Grants EoC for certain corpse actions, such as looting an item
        /// </summary>
        private static void OnCorpseAction(CorpseActionEventArgs args)
        {
            Corpse c           = args.Corpse;
            Mobile corpseOwner = c.Owner;
            Player p           = args.Player;

            if (c == null || corpseOwner == null || p == null)
            {
                return;
            }

            switch (args.Action)
            {
            case CorpseActionEventArgs.CorpseAction.Opened:
                p.EssenceOfCharacter++;
                EoCTable[p].OpenCorpses.Add(c);

                break;

            case CorpseActionEventArgs.CorpseAction.Looted:
                if (corpseOwner != null && corpseOwner.Player)
                {
                    p.EssenceOfCharacter++;

                    if (EoCTable[p].OpenCorpses.Contains(c))
                    {
                        EoCTable[p].OpenCorpses.Remove(c);
                    }
                }

                break;

            case CorpseActionEventArgs.CorpseAction.Closed:
            case CorpseActionEventArgs.CorpseAction.Deleted:
                if (EoCTable[p].OpenCorpses.Contains(c))
                {
                    if (corpseOwner != null && corpseOwner.Player)
                    {
                        p.EssenceOfCharacter += 10;
                    }

                    EoCTable[p].OpenCorpses.Remove(c);
                }

                break;

            case CorpseActionEventArgs.CorpseAction.Carved:
                if (corpseOwner != null && corpseOwner is BaseCreature)
                {
                    p.EssenceOfCharacter++;
                }

                break;
            }
        }
Ejemplo n.º 3
0
 public static void InvokeCorpseAction( CorpseActionEventArgs args )
 {
     if( CorpseAction != null )
         CorpseAction(args);
 }