public void SetGiveItemAction(ItemScript item, int quantity)
 {
     giveItem          = new GiveItemAction();
     giveItem.Item     = item;
     giveItem.Quantity = quantity;
     giveItemSet       = true;
 }
Example #2
0
        public override void Notify(DOLEvent e, object sender, EventArgs args)
        {
            base.Notify(e, sender, args);
            GamePlayer player = sender as GamePlayer;

            if (player == null)
            {
                return;
            }

            AbstractQuest quest = player.IsDoingQuest(typeof(BonesToBlades));

            if (quest == null)
            {
                return;
            }

            if (Step > 0 && e == GameLivingEvent.EnemyKilled)
            {
                EnemyKilledEventArgs gArgs = (EnemyKilledEventArgs)args;
                for (int i = 0; i < mobTypes.Length; i++)
                {
                    if (gArgs.Target.Name.IndexOf(mobTypes[i]) >= 0)
                    {
                        InventoryItemRequirement requirement = new InventoryItemRequirement(null, armBone, 2, eComparator.Less);
                        if (requirement.Check(e, player, args))
                        {
                            GiveItemAction action = new GiveItemAction(null, armBone, null);
                            action.Perform(e, sender, args);
                        }

                        if (!requirement.Check(e, player, args))
                        {
                            if (quest.Step == 1)
                            {
                                quest.Step = 2;
                            }
                        }

                        return;
                    }
                }
            }
        }
Example #3
0
        public override void Notify(DOLEvent e, object sender, EventArgs args)
        {
            base.Notify(e, sender, args);
            GamePlayer player = sender as GamePlayer;

            if (player == null)
                return;

            AbstractQuest quest = player.IsDoingQuest(typeof(BonesToBlades));
            if (quest == null)
                return;

            if (Step > 0 && e == GameLivingEvent.EnemyKilled)
            {
                EnemyKilledEventArgs gArgs = (EnemyKilledEventArgs)args;
                for (int i = 0; i < mobTypes.Length; i++)
                {
                    if (gArgs.Target.Name.IndexOf(mobTypes[i]) >= 0)
                    {
                        InventoryItemRequirement requirement = new InventoryItemRequirement(null, armBone, 2, eComparator.Less);
                        if (requirement.Check(e, player, args))
                        {
                            GiveItemAction action = new GiveItemAction(null, armBone, null);
                            action.Perform(e, sender, args);
                        }

                        if (!requirement.Check(e, player, args))
                        {
                            if (quest.Step == 1)
                            {
                                quest.Step = 2;
                            }
                        }

                        return;
                    }
                }
            }
        }
 protected override Action[] CreateActions()
 {
     Action[] actions = new Action[1];
     actions[0] = new GiveItemAction(actor, recipientName, keepCopy);
     return actions;
 }