public int GetBonusAmount(DeliverySpell spell) { int index = _deliveries.IndexOf(spell); if (index < 0 || index > 1) { return(0); } return(_bonus[index]); }
private int GetScoreOf(DeliverySpell delivery) { int index = _deliveries.IndexOf(delivery); int bonusScore = 0; if (index < 2) { if (_bonus[index] > 0) { bonusScore = _bonusValue[index]; } } return(delivery.GetScore() + bonusScore); }
private DeliveryCompletion DoDelivery(PlayerWitch p, DeliverySpell del) { if (!p.CanDeliver(del.Recipe)) { throw new GameException("Not enough ingredients for order " + del.Id); } for (int i = 0; i < INGREDIENT_TYPE_COUNT; ++i) { p.Inventory.Add(i, del.Recipe.Delta[i]); } DeliveryCompletion delCompletion = new DeliveryCompletion(del, _deliveries.IndexOf(del), GetScoreOf(del)); _delivered.Add(delCompletion); p.AddDelivery(); p.AddScore(GetScoreOf(del)); EventData e = new EventData(); e.Type = EventData.DELIVERY; e.PlayerIdx = p.Index; e.SpellId = del.Id; _viewerEvents.Add(e); return(delCompletion); }
public DeliveryCompletion(DeliverySpell delivery, int index, int earned) { _delivery = delivery; _index = index; _earned = earned; }