summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ability.cc
diff options
context:
space:
mode:
authorShmuale Mark <shm.mark@gmail.com>2014-06-11 09:54:49 -0400
committerShmuale Mark <shm.mark@gmail.com>2014-06-11 09:54:49 -0400
commit2cf48292452445b275df5d685341c721aadafa5e (patch)
tree1c4fce0323717e30e26e89d2eeeb17e9f5c35eb7 /crawl-ref/source/ability.cc
parent3208b8c6f14b47ebc069ae040432dc5f15435bfb (diff)
parente9415a749937a864f07066d4fd07b66b538b3f5c (diff)
downloadcrawl-ref-2cf48292452445b275df5d685341c721aadafa5e.tar.gz
crawl-ref-2cf48292452445b275df5d685341c721aadafa5e.zip
Merge branch 'mon-pickup'
The problem with monster pickup of the type that this branch removes is that it encourages tedious behaviour to achieve the optimum result. While in general people don't bother to pick up every weapon and armour and stuff it upstairs, that would be a way to prevent monsters from ever picking up items you've seen. With Apportation, you don't even have to reach the item, and on a mummy, say, you don't even have to worry about the infintesimal food cost. People do already do this for chaos and distortion weapons, and it is not a very good thing. Not allowing allies to pick up items is related, in that it means that the code can be simpler, but it also has problems of micromanagement, weirdnesses with the ctrl-T command, and allies already have their share of problems. I hope that the compensations for Beogh and mercenaries make up for what is lost in terms of fun. Conflicts: crawl-ref/source/tag-version.h
Diffstat (limited to 'crawl-ref/source/ability.cc')
-rw-r--r--crawl-ref/source/ability.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/crawl-ref/source/ability.cc b/crawl-ref/source/ability.cc
index 645fa09078..4a5fe8e53c 100644
--- a/crawl-ref/source/ability.cc
+++ b/crawl-ref/source/ability.cc
@@ -180,7 +180,7 @@ ability_type god_abilities[NUM_GODS][MAX_GOD_ABILITIES] =
ABIL_LUGONU_CORRUPT, ABIL_LUGONU_ABYSS_ENTER },
// Beogh
{ ABIL_NON_ABILITY, ABIL_BEOGH_SMITING, ABIL_NON_ABILITY,
- ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, ABIL_NON_ABILITY },
+ ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, ABIL_BEOGH_GIFT_ITEM },
// Jiyva
{ ABIL_JIYVA_CALL_JELLY, ABIL_JIYVA_JELLY_PARALYSE, ABIL_NON_ABILITY,
ABIL_JIYVA_SLIMIFY, ABIL_JIYVA_CURE_BAD_MUTATION },
@@ -377,6 +377,8 @@ static const ability_def Ability_List[] =
3, 0, 80, generic_cost::fixed(3), 0, ABFLAG_NONE},
{ ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, "Recall Orcish Followers",
2, 0, 50, 0, 0, ABFLAG_NONE},
+ { ABIL_BEOGH_GIFT_ITEM, "Give Item to Follower",
+ 0, 0, 0, 0, 0, ABFLAG_NONE},
// Jiyva
{ ABIL_JIYVA_CALL_JELLY, "Request Jelly", 2, 0, 20, 1, 0, ABFLAG_NONE},
@@ -1097,6 +1099,7 @@ talent get_talent(ability_type ability, bool check_confused)
case ABIL_ASHENZARI_TRANSFER_KNOWLEDGE:
case ABIL_ASHENZARI_END_TRANSFER:
case ABIL_ASHENZARI_SCRYING:
+ case ABIL_BEOGH_GIFT_ITEM:
case ABIL_JIYVA_CALL_JELLY:
case ABIL_JIYVA_CURE_BAD_MUTATION:
case ABIL_JIYVA_JELLY_PARALYSE:
@@ -2821,6 +2824,11 @@ static bool _do_ability(const ability_def& abil)
}
break;
+ case ABIL_BEOGH_GIFT_ITEM:
+ if (!beogh_gift_item())
+ return false;
+ break;
+
case ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS:
start_recall(2);
break;