Add two new Ru sacrifices: resistance and eye
[crawl.git] / crawl-ref / source / ability.cc
index a841e62..6e0e9fd 100644 (file)
@@ -440,6 +440,10 @@ static const ability_def Ability_List[] =
       0, 0, 0, 0, 0, ABFLAG_SACRIFICE },
     { ABIL_RU_SACRIFICE_SKILL, "Sacrifice Skill",
       0, 0, 0, 0, 0, ABFLAG_SACRIFICE },
+    { ABIL_RU_SACRIFICE_EYE, "Sacrifice an Eye",
+      0, 0, 0, 0, 0, ABFLAG_SACRIFICE },
+    { ABIL_RU_SACRIFICE_RESISTANCE, "Sacrifice Resistance",
+      0, 0, 0, 0, 0, ABFLAG_SACRIFICE },
     { ABIL_RU_REJECT_SACRIFICES, "Reject Sacrifices",
       0, 0, 0, 0, 0, ABFLAG_NONE },
 
@@ -1170,6 +1174,8 @@ talent get_talent(ability_type ability, bool check_confused)
     case ABIL_RU_SACRIFICE_HAND:
     case ABIL_RU_SACRIFICE_EXPERIENCE:
     case ABIL_RU_SACRIFICE_SKILL:
+    case ABIL_RU_SACRIFICE_EYE:
+    case ABIL_RU_SACRIFICE_RESISTANCE:
     case ABIL_RU_REJECT_SACRIFICES:
     case ABIL_STOP_RECALL:
         invoc = true;
@@ -3142,6 +3148,8 @@ static spret_type _do_ability(const ability_def& abil, bool fail)
     case ABIL_RU_SACRIFICE_HAND:
     case ABIL_RU_SACRIFICE_EXPERIENCE:
     case ABIL_RU_SACRIFICE_SKILL:
+    case ABIL_RU_SACRIFICE_EYE:
+    case ABIL_RU_SACRIFICE_RESISTANCE:
         fail_check();
         if (!ru_do_sacrifice(abil.ability))
             return SPRET_ABORT;
@@ -3904,6 +3912,8 @@ static int _find_ability_slot(const ability_def &abil)
       || abil.ability == ABIL_RU_SACRIFICE_HAND
       || abil.ability == ABIL_RU_SACRIFICE_EXPERIENCE
       || abil.ability == ABIL_RU_SACRIFICE_SKILL
+      || abil.ability == ABIL_RU_SACRIFICE_EYE
+      || abil.ability == ABIL_RU_SACRIFICE_RESISTANCE
       || abil.ability == ABIL_RU_REJECT_SACRIFICES)
     {
         first_slot = letter_to_index('P');