summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-19 20:20:44 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-19 20:20:44 +0000
commit70414943b0b5ee327153e35d6ad1d6a97067da6a (patch)
tree5ff2cabc90a961bc6f423ba2d7962708e6017ab5
parentf77e806dbb99a1e775f57bac2129c94288a6c02b (diff)
downloadcrawl-ref-70414943b0b5ee327153e35d6ad1d6a97067da6a.tar.gz
crawl-ref-70414943b0b5ee327153e35d6ad1d6a97067da6a.zip
Rework angels somewhat. To synchronize with daevas, angels are now
agents of TSO rather than Zin, get the same draining protection, and get the same melee attacks. To differentiate from them, they always get a mace or great mace of holy wrath. TSO's "Summon Daeva" is now "Summon Divine Warrior", and has a 50% chance of summoning either an angel or a daeva. Note that Zin's angel retribution is not changed yet. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7288 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/abl-show.cc13
-rw-r--r--crawl-ref/source/dat/descript/ability.txt4
-rw-r--r--crawl-ref/source/dat/descript/gods.txt2
-rw-r--r--crawl-ref/source/dat/descript/monsters.txt2
-rw-r--r--crawl-ref/source/enum.h2
-rw-r--r--crawl-ref/source/makeitem.cc13
-rw-r--r--crawl-ref/source/mon-data.h5
-rw-r--r--crawl-ref/source/mon-util.cc1
-rw-r--r--crawl-ref/source/religion.cc2
-rw-r--r--crawl-ref/source/spells2.cc2
10 files changed, 23 insertions, 23 deletions
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc
index 7e93aa74f8..53440c7e27 100644
--- a/crawl-ref/source/abl-show.cc
+++ b/crawl-ref/source/abl-show.cc
@@ -102,7 +102,7 @@ ability_type god_abilities[MAX_NUM_GODS][MAX_GOD_ABILITIES] =
ABIL_NON_ABILITY, ABIL_ZIN_SANCTUARY },
// TSO
{ ABIL_NON_ABILITY, ABIL_TSO_DIVINE_SHIELD, ABIL_NON_ABILITY,
- ABIL_TSO_CLEANSING_FLAME, ABIL_TSO_SUMMON_DAEVA },
+ ABIL_TSO_CLEANSING_FLAME, ABIL_TSO_SUMMON_DIVINE_WARRIOR },
// Kikubaaqudgha
{ ABIL_KIKU_RECALL_UNDEAD_SLAVES, ABIL_NON_ABILITY,
ABIL_KIKU_ENSLAVE_UNDEAD, ABIL_NON_ABILITY,
@@ -226,7 +226,7 @@ static const ability_def Ability_List[] =
// The Shining One
{ ABIL_TSO_DIVINE_SHIELD, "Divine Shield", 3, 0, 50, 2, ABFLAG_NONE },
{ ABIL_TSO_CLEANSING_FLAME, "Cleansing Flame", 5, 0, 100, 2, ABFLAG_NONE },
- { ABIL_TSO_SUMMON_DAEVA, "Summon Daeva", 8, 0, 150, 4, ABFLAG_NONE },
+ { ABIL_TSO_SUMMON_DIVINE_WARRIOR, "Summon Divine Warrior", 8, 0, 150, 4, ABFLAG_NONE },
// Kikubaaqudgha
{ ABIL_KIKU_RECALL_UNDEAD_SLAVES, "Recall Undead Slaves", 2, 0, 50, 0, ABFLAG_NONE },
@@ -704,7 +704,7 @@ static talent _get_talent(ability_type ability, bool check_confused)
break;
case ABIL_ZIN_SANCTUARY:
- case ABIL_TSO_SUMMON_DAEVA:
+ case ABIL_TSO_SUMMON_DIVINE_WARRIOR:
case ABIL_KIKU_INVOKE_DEATH:
case ABIL_YRED_ENSLAVE_SOUL:
case ABIL_ELYVILON_DIVINE_VIGOUR:
@@ -1467,8 +1467,11 @@ static bool _do_ability(const ability_def& abil)
exercise(SK_INVOCATIONS, 3 + random2(6));
break;
- case ABIL_TSO_SUMMON_DAEVA:
- summon_daeva(you.skills[SK_INVOCATIONS] * 4, GOD_SHINING_ONE);
+ case ABIL_TSO_SUMMON_DIVINE_WARRIOR:
+ if (coinflip())
+ summon_guardian(you.skills[SK_INVOCATIONS] * 4, GOD_SHINING_ONE);
+ else
+ summon_daeva(you.skills[SK_INVOCATIONS] * 4, GOD_SHINING_ONE);
exercise(SK_INVOCATIONS, 8 + random2(10));
break;
diff --git a/crawl-ref/source/dat/descript/ability.txt b/crawl-ref/source/dat/descript/ability.txt
index f465e90eb6..2d60ad5151 100644
--- a/crawl-ref/source/dat/descript/ability.txt
+++ b/crawl-ref/source/dat/descript/ability.txt
@@ -170,9 +170,9 @@ Cleansing Flame
Hurls a huge blast of divine fury, severely damaging undead and demons. All other hostiles also take damage, if less so, whereas allies are never affected.
%%%%
-Summon Daeva
+Summon Divine Warrior
-Summoned Daevas are powerful warriors against evil. They might be blessed by the Shining One to stay longer or even permanently in this world.
+Summoned Angels and Daevas are powerful warriors against evil. They might be blessed by the Shining One to stay longer or even permanently in this world.
%%%%
# Both Kikubaaqudgha and Yredelmnul.
Recall Undead Slaves
diff --git a/crawl-ref/source/dat/descript/gods.txt b/crawl-ref/source/dat/descript/gods.txt
index 006bee1f2c..096ffbcaff 100644
--- a/crawl-ref/source/dat/descript/gods.txt
+++ b/crawl-ref/source/dat/descript/gods.txt
@@ -76,7 +76,7 @@ Zin grants followers the ability to preach to the unenlightened masses. When hun
%%%%
The Shining One powers
-Followers will gain use of a divine shield to protect them in battle. Later, they can hurl blasts of cleansing flame that are particularly effective against unholy creatures, and, eventually, they can ask the Shining One to send them help in the form of a Daeva, a powerful divine being. The Shining One may occasionally directly intervene to save a follower's life. With growing piety the Shining One will protect a follower's life force.
+Followers will gain use of a divine shield to protect them in battle. Later, they can hurl blasts of cleansing flame that are particularly effective against unholy creatures, and, eventually, they can ask the Shining One to send them help in the form of an Angel or Daeva, both powerful divine beings. The Shining One may occasionally directly intervene to save a follower's life. With growing piety the Shining One will protect a follower's life force.
%%%%
Kikubaaqudgha powers
diff --git a/crawl-ref/source/dat/descript/monsters.txt b/crawl-ref/source/dat/descript/monsters.txt
index 8ee5d9cf65..dd0fbf0a69 100644
--- a/crawl-ref/source/dat/descript/monsters.txt
+++ b/crawl-ref/source/dat/descript/monsters.txt
@@ -14,7 +14,7 @@ A lanky warrior, she moves at a great pace and carries an exotic weapon.
%%%%
Angel
-A divine agent of Zin, it is a towering winged figure of unnatural beauty with an aura of brilliant white light.
+A divine agent of the Shining One, it is a towering winged figure of unnatural beauty with an aura of brilliant white light.
%%%%
Antaeus
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index 367da2badb..c8a8c8bae0 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -58,7 +58,7 @@ enum ability_type
ABIL_ZIN_SANCTUARY,
ABIL_TSO_DIVINE_SHIELD = 120, // 120
ABIL_TSO_CLEANSING_FLAME,
- ABIL_TSO_SUMMON_DAEVA, // 122
+ ABIL_TSO_SUMMON_DIVINE_WARRIOR, // 122
ABIL_KIKU_RECALL_UNDEAD_SLAVES = 130, // 130
ABIL_KIKU_ENSLAVE_UNDEAD = 132, // 132
ABIL_KIKU_INVOKE_DEATH, // 133
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index 181eaa3d68..9f9c55c98f 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -3439,16 +3439,11 @@ static item_make_species_type _give_weapon(monsters *mon, int level,
item.base_type = OBJ_WEAPONS;
item.colour = WHITE; // forced by force_item above {dlb}
- set_equip_desc(item, ISFLAG_GLOWING);
- if (one_chance_in(3))
- {
- item.sub_type = (one_chance_in(3) ? WPN_GREAT_MACE
- : WPN_MACE);
- set_item_ego_type(item, OBJ_WEAPONS, SPWPN_HOLY_WRATH);
- }
- else
- item.sub_type = WPN_LONG_SWORD;
+ item.sub_type = (one_chance_in(4) ? WPN_GREAT_MACE
+ : WPN_MACE);
+ set_equip_desc(item, ISFLAG_GLOWING);
+ set_item_ego_type(item, OBJ_WEAPONS, SPWPN_HOLY_WRATH);
item.plus = 1 + random2(3);
item.plus2 = 1 + random2(3);
break;
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 006fb3e48d..c2c9b6766f 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -1635,7 +1635,8 @@ static monsterentry mondata[] = {
M_FIGHTER | M_FLIES | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | MR_RES_ELEC,
0, 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, -8,
- { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
+ { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
+ AT_NO_ATK },
{ 12, 6, 5, 0 },
10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT, I_HIGH,
HT_LAND, 15, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM
@@ -1646,7 +1647,7 @@ static monsterentry mondata[] = {
M_FIGHTER | M_LEVITATE | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON,
0, 12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, -8,
- { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10},
+ { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
AT_NO_ATK },
{ 14, 6, 5, 0 },
10, 13, MST_DAEVA, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT, I_HIGH,
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index b2f66d5ba8..8dd9584afe 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -1333,6 +1333,7 @@ int mons_res_negative_energy(const monsters *mon)
|| mon->type == MONS_SHADOW_DRAGON
|| mon->type == MONS_DEATH_DRAKE
// TSO protects his warriors' life force
+ || mon->type == MONS_ANGEL
|| mon->type == MONS_DAEVA)
{
return (3); // to match the value for players
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 5fa3d994da..73951bafe1 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -3543,7 +3543,7 @@ static bool _tso_retribution()
for (int i = 0; i < how_many; ++i)
{
if (create_monster(
- mgen_data::hostile_at(MONS_DAEVA,
+ mgen_data::hostile_at(coinflip() ? MONS_ANGEL : MONS_DAEVA,
you.pos(), 0, 0, true, god)) != -1)
{
success = true;
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc
index 06127f3041..a59028742a 100644
--- a/crawl-ref/source/spells2.cc
+++ b/crawl-ref/source/spells2.cc
@@ -1640,7 +1640,7 @@ static bool _summon_holy_being_wrapper(int pow, god_type god,
return (true);
}
-// Zin sends an angel for a follower.
+// TSO sends an angel for a follower.
bool summon_guardian(int pow, god_type god, bool quiet)
{
return _summon_holy_being_wrapper(pow, god, MONS_ANGEL, quiet);