summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-05-14 10:42:56 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2014-05-14 11:05:04 -0600
commitf79658290cfba25e9b1108889a64994f933d6e1f (patch)
tree08847e99d719e89487540106eea654850868ddf6
parentedb40d360931499a73b11273a2af2a7e1d5fe4f4 (diff)
downloadcrawl-ref-f79658290cfba25e9b1108889a64994f933d6e1f.tar.gz
crawl-ref-f79658290cfba25e9b1108889a64994f933d6e1f.zip
Melt away lava orcs.
When you strip away the fundamentally broken tension mechanic, you're left with a species that is essentially "Hill Orcs WITH FIRE". No effort has come forward with code to fix either aspect of them despite the length of time they've been around in trunk, and the code is littered with a very large number of special cases in their presence. Current lava orcs should be able to finish their games fine, but new starts are disallowed. There are a couple of bits I've left present but which will have no function for the moment, mostly related to interactions with lava (as there are a couple of species proposals floating around that benefit from having those interactions).
-rw-r--r--crawl-ref/source/actor.h4
-rw-r--r--crawl-ref/source/aptitudes.h6
-rw-r--r--crawl-ref/source/areas.cc13
-rw-r--r--crawl-ref/source/areas.h4
-rw-r--r--crawl-ref/source/describe.cc2
-rw-r--r--crawl-ref/source/enum.h6
-rw-r--r--crawl-ref/source/item_use.cc2
-rw-r--r--crawl-ref/source/itemname.cc2
-rw-r--r--crawl-ref/source/map_knowledge.h2
-rw-r--r--crawl-ref/source/melee_attack.cc4
-rw-r--r--crawl-ref/source/melee_attack.h2
-rw-r--r--crawl-ref/source/misc.cc2
-rw-r--r--crawl-ref/source/mon-act.cc8
-rw-r--r--crawl-ref/source/mon-data.h2
-rw-r--r--crawl-ref/source/monster.h2
-rw-r--r--crawl-ref/source/mutation.cc10
-rw-r--r--crawl-ref/source/ng-restr.cc14
-rw-r--r--crawl-ref/source/ng-setup.cc4
-rw-r--r--crawl-ref/source/output.cc71
-rw-r--r--crawl-ref/source/player-act.cc7
-rw-r--r--crawl-ref/source/player-reacts.cc4
-rw-r--r--crawl-ref/source/player.cc32
-rw-r--r--crawl-ref/source/player.h9
-rw-r--r--crawl-ref/source/religion.cc9
-rw-r--r--crawl-ref/source/show.cc2
-rw-r--r--crawl-ref/source/showsymb.cc2
-rw-r--r--crawl-ref/source/species.cc31
-rw-r--r--crawl-ref/source/spl-book.cc2
-rw-r--r--crawl-ref/source/spl-cast.cc6
-rw-r--r--crawl-ref/source/spl-miscast.cc6
-rw-r--r--crawl-ref/source/spl-other.cc2
-rw-r--r--crawl-ref/source/spl-util.cc4
-rw-r--r--crawl-ref/source/startup.cc2
-rw-r--r--crawl-ref/source/stuff.cc2
-rw-r--r--crawl-ref/source/tags.cc4
-rw-r--r--crawl-ref/source/tilecell.cc4
-rw-r--r--crawl-ref/source/tilecell.h10
-rw-r--r--crawl-ref/source/tiledgnbuf.cc2
-rw-r--r--crawl-ref/source/tilepick-p.cc4
-rw-r--r--crawl-ref/source/tilesdl.cc2
-rw-r--r--crawl-ref/source/tileview.cc2
-rw-r--r--crawl-ref/source/tileweb.cc4
-rw-r--r--crawl-ref/source/transform.cc25
-rw-r--r--crawl-ref/source/viewgeom.cc5
-rw-r--r--crawl-ref/source/webserver/game_data/static/cell_renderer.js1
45 files changed, 297 insertions, 46 deletions
diff --git a/crawl-ref/source/actor.h b/crawl-ref/source/actor.h
index ab996adcee..3b850ad6a3 100644
--- a/crawl-ref/source/actor.h
+++ b/crawl-ref/source/actor.h
@@ -357,8 +357,10 @@ public:
virtual bool haloed() const;
// Within an umbra?
virtual bool umbraed() const;
+#if TAG_MAJOR_VERSION == 34
// Being heated by a heat aura?
virtual bool heated() const;
+#endif
// Squared halo radius.
virtual int halo_radius2() const = 0;
// Squared silence radius.
@@ -366,7 +368,9 @@ public:
// Squared liquefying radius
virtual int liquefying_radius2() const = 0;
virtual int umbra_radius2() const = 0;
+#if TAG_MAJOR_VERSION == 34
virtual int heat_radius2() const = 0;
+#endif
virtual bool glows_naturally() const = 0;
diff --git a/crawl-ref/source/aptitudes.h b/crawl-ref/source/aptitudes.h
index 4f41cbf6bd..f879f9ece4 100644
--- a/crawl-ref/source/aptitudes.h
+++ b/crawl-ref/source/aptitudes.h
@@ -1370,7 +1370,6 @@ static const species_skill_aptitude species_skill_aptitudes[] =
APT(SP_DJINNI, SK_POISON_MAGIC, -1),
APT(SP_DJINNI, SK_INVOCATIONS, -1),
APT(SP_DJINNI, SK_EVOCATIONS, 2),
-#endif
// SP_LAVA_ORC
APT(SP_LAVA_ORC, SK_FIGHTING, 2),
@@ -1387,13 +1386,9 @@ static const species_skill_aptitude species_skill_aptitudes[] =
APT(SP_LAVA_ORC, SK_ARMOUR, 1),
APT(SP_LAVA_ORC, SK_DODGING, -2),
APT(SP_LAVA_ORC, SK_STEALTH, -1),
-#if TAG_MAJOR_VERSION == 34
APT(SP_LAVA_ORC, SK_STABBING, -99),
-#endif
APT(SP_LAVA_ORC, SK_SHIELDS, 1),
-#if TAG_MAJOR_VERSION == 34
APT(SP_LAVA_ORC, SK_TRAPS, -99),
-#endif
APT(SP_LAVA_ORC, SK_UNARMED_COMBAT, 1),
APT(SP_LAVA_ORC, SK_SPELLCASTING, -3),
APT(SP_LAVA_ORC, SK_CONJURATIONS, 0),
@@ -1410,6 +1405,7 @@ static const species_skill_aptitude species_skill_aptitudes[] =
APT(SP_LAVA_ORC, SK_POISON_MAGIC, -1),
APT(SP_LAVA_ORC, SK_INVOCATIONS, 3),
APT(SP_LAVA_ORC, SK_EVOCATIONS, 1),
+#endif
// SP_FORMICID
APT(SP_FORMICID, SK_FIGHTING, 1),
diff --git a/crawl-ref/source/areas.cc b/crawl-ref/source/areas.cc
index e4bc197fcb..b41f7baf9e 100644
--- a/crawl-ref/source/areas.cc
+++ b/crawl-ref/source/areas.cc
@@ -44,7 +44,9 @@ enum areaprop_flag
APROP_QUAD = (1 << 8),
APROP_DISJUNCTION = (1 << 9),
APROP_SOUL_AURA = (1 << 10),
+#if TAG_MAJOR_VERSION == 34
APROP_HOT = (1 << 11),
+#endif
APROP_GOLD = (1 << 12),
};
@@ -88,7 +90,10 @@ void areas_actor_moved(const actor* act, const coord_def& oldpos)
(you.entering_level
|| act->halo_radius2() > -1 || act->silence_radius2() > -1
|| act->liquefying_radius2() > -1 || act->umbra_radius2() > -1
- || act->heat_radius2() > -1))
+#if TAG_MAJOR_VERSION == 34
+ || act->heat_radius2() > -1
+#endif
+ ))
{
// Not necessarily new, but certainly potentially interesting.
invalidate_agrid(true);
@@ -142,6 +147,7 @@ static void _actor_areas(actor *a)
no_areas = false;
}
+#if TAG_MAJOR_VERSION == 34
if ((r = a->heat_radius2()) >= 0)
{
_agrid_centres.push_back(area_centre(AREA_HOT, a->pos(), r));
@@ -150,6 +156,7 @@ static void _actor_areas(actor *a)
_set_agrid_flag(*ri, APROP_HOT);
no_areas = false;
}
+#endif
}
/**
@@ -251,8 +258,10 @@ static area_centre_type _get_first_area(const coord_def& f)
return AREA_SANCTUARY;
if (a & APROP_SILENCE)
return AREA_SILENCE;
+#if TAG_MAJOR_VERSION == 34
if (a & APROP_HOT)
return AREA_HOT;
+#endif
if (a & APROP_HALO)
return AREA_HALO;
if (a & APROP_UMBRA)
@@ -764,6 +773,7 @@ int monster::umbra_radius2() const
}
}
+#if TAG_MAJOR_VERSION == 34
/////////////
// Heat aura (lava orcs).
@@ -800,6 +810,7 @@ bool actor::heated() const
{
return ::heated(pos());
}
+#endif
/////////////
// Gold aura (Gozag).
diff --git a/crawl-ref/source/areas.h b/crawl-ref/source/areas.h
index 346860f2ca..57b67b9b5d 100644
--- a/crawl-ref/source/areas.h
+++ b/crawl-ref/source/areas.h
@@ -12,7 +12,9 @@ enum area_centre_type
AREA_UMBRA,
AREA_QUAD,
AREA_DISJUNCTION,
+#if TAG_MAJOR_VERSION == 34
AREA_HOT,
+#endif
AREA_GOLD,
};
@@ -47,8 +49,10 @@ bool disjunction_haloed(const coord_def& p);
// ...or endarkened by an umbra?
bool umbraed(const coord_def& p);
+#if TAG_MAJOR_VERSION == 34
// ...or is the area hot?
bool heated(const coord_def& p);
+#endif
// ...or glowing with fresh gold (Gozag)?
bool golden(const coord_def& p);
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 33dd76ea5d..63fbed81ad 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -4023,7 +4023,9 @@ string get_ghost_description(const monster_info &mi, bool concise)
case SP_OGRE:
case SP_MINOTAUR:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_CENTAUR:
case SP_NAGA:
case SP_MUMMY:
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index ff2be56493..07ee0b2e83 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -2593,9 +2593,6 @@ enum monster_type // menv[].type
MONS_ORC_KNIGHT,
MONS_ORC_SORCERER,
MONS_ORC_WARLORD,
-#if TAG_MAJOR_VERSION > 34
- MONS_LAVA_ORC,
-#endif
MONS_DWARF,
MONS_DEEP_DWARF,
#if TAG_MAJOR_VERSION == 34
@@ -3785,8 +3782,8 @@ enum species_type
SP_OCTOPODE,
#if TAG_MAJOR_VERSION == 34
SP_DJINNI,
-#endif
SP_LAVA_ORC,
+#endif
SP_GARGOYLE,
SP_FORMICID,
SP_VINE_STALKER,
@@ -3801,6 +3798,7 @@ enum species_type
#if TAG_MAJOR_VERSION > 34
SP_SLUDGE_ELF, // (placeholder)
SP_DJINNI, // (placeholder)
+ SP_LAVA_ORC, // (placeholder)
#endif
NUM_SPECIES, // always after the last species
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index 6e50146bbc..c23f0cb49e 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -2661,12 +2661,14 @@ void read_scroll(int slot)
return;
}
+#if TAG_MAJOR_VERSION == 34
// Prevent hot lava orcs reading scrolls
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_NO_SCROLLS))
{
crawl_state.zero_turns_taken();
return mpr("You'd burn any scroll you tried to read!");
}
+#endif
const scroll_type which_scroll = static_cast<scroll_type>(scroll.sub_type);
const bool alreadyknown = item_type_known(scroll);
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index 435fe664bd..f8d1e1b494 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -3254,8 +3254,10 @@ bool is_useless_item(const item_def &item, bool temp)
return !can_wear_armour(item, false, true);
case OBJ_SCROLLS:
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_NO_SCROLLS))
return true;
+#endif
if (!item_type_known(item))
return false;
diff --git a/crawl-ref/source/map_knowledge.h b/crawl-ref/source/map_knowledge.h
index 87b08adea6..75ca771302 100644
--- a/crawl-ref/source/map_knowledge.h
+++ b/crawl-ref/source/map_knowledge.h
@@ -53,7 +53,9 @@ struct cloud_info
#define MAP_UMBRAED 0x1000000
#define MAP_QUAD_HALOED 0X4000000
#define MAP_DISJUNCT 0X8000000
+#if TAG_MAJOR_VERSION == 34
#define MAP_HOT 0x10000000
+#endif
#define MAP_GOLDEN 0x20000000
/*
diff --git a/crawl-ref/source/melee_attack.cc b/crawl-ref/source/melee_attack.cc
index 46bdcfd771..323e9dba81 100644
--- a/crawl-ref/source/melee_attack.cc
+++ b/crawl-ref/source/melee_attack.cc
@@ -591,7 +591,9 @@ bool melee_attack::handle_phase_hit()
// the player is hit, each of them will verify their own required
// parameters.
do_passive_freeze();
+#if TAG_MAJOR_VERSION == 34
do_passive_heat();
+#endif
emit_foul_stench();
}
@@ -3431,6 +3433,7 @@ void melee_attack::do_passive_freeze()
}
}
+#if TAG_MAJOR_VERSION == 34
void melee_attack::do_passive_heat()
{
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_PASSIVE_HEAT)
@@ -3464,6 +3467,7 @@ void melee_attack::do_passive_heat()
}
}
}
+#endif
void melee_attack::mons_do_eyeball_confusion()
{
diff --git a/crawl-ref/source/melee_attack.h b/crawl-ref/source/melee_attack.h
index 33a6e9dc96..81060c86fd 100644
--- a/crawl-ref/source/melee_attack.h
+++ b/crawl-ref/source/melee_attack.h
@@ -91,7 +91,9 @@ private:
/* Mutation Effects */
void do_spines();
void do_passive_freeze();
+#if TAG_MAJOR_VERSION == 34
void do_passive_heat();
+#endif
void emit_foul_stench();
void tendril_disarm();
/* Race Effects */
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index be5647e46b..1530cbf385 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -1371,12 +1371,14 @@ bool go_berserk(bool intentional, bool potion)
you.redraw_quiver = true; // Account for no firing.
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
{
mpr("You burn with rage!");
// This will get sqrt'd later, so.
you.temperature = TEMP_MAX;
}
+#endif
if (player_equip_unrand(UNRAND_JIHAD))
for (monster_near_iterator mi(you.pos(), LOS_NO_TRANS); mi; ++mi)
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc
index c1acf8c09b..5ce05a4956 100644
--- a/crawl-ref/source/mon-act.cc
+++ b/crawl-ref/source/mon-act.cc
@@ -67,7 +67,9 @@
static bool _handle_pickup(monster* mons);
static void _mons_in_cloud(monster* mons);
+#if TAG_MAJOR_VERSION == 34
static void _heated_area(monster* mons);
+#endif
static bool _is_trap_safe(const monster* mons, const coord_def& where,
bool just_check = false);
static bool _monster_move(monster* mons);
@@ -1780,7 +1782,9 @@ static void _pre_monster_move(monster* mons)
// Update constriction durations
mons->accum_has_constricted();
+#if TAG_MAJOR_VERSION == 34
_heated_area(mons);
+#endif
if (mons->type == MONS_NO_MONSTER)
return;
}
@@ -2035,7 +2039,9 @@ void handle_monster_move(monster* mons)
const bool avoid_cloud = mons_avoids_cloud(mons, cloud_num);
_mons_in_cloud(mons);
+#if TAG_MAJOR_VERSION == 34
_heated_area(mons);
+#endif
if (!mons->alive())
return;
@@ -4116,6 +4122,7 @@ static void _mons_in_cloud(monster* mons)
actor_apply_cloud(mons);
}
+#if TAG_MAJOR_VERSION == 34
static void _heated_area(monster* mons)
{
if (!heated(mons->pos()))
@@ -4167,6 +4174,7 @@ static void _heated_area(monster* mons)
print_wounds(mons);
}
}
+#endif
static spell_type _map_wand_to_mspell(wand_type kind)
{
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 872ddfcabb..769a214b4b 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -1600,6 +1600,7 @@ static monsterentry mondata[] =
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID
},
+#if TAG_MAJOR_VERSION == 34
{
MONS_LAVA_ORC, 'o', RED, "lava orc",
M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
@@ -1611,6 +1612,7 @@ static monsterentry mondata[] =
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID
},
+#endif
// humans ('p')
{
diff --git a/crawl-ref/source/monster.h b/crawl-ref/source/monster.h
index a3ae827b0f..696db004c0 100644
--- a/crawl-ref/source/monster.h
+++ b/crawl-ref/source/monster.h
@@ -389,7 +389,9 @@ public:
int silence_radius2() const;
int liquefying_radius2() const;
int umbra_radius2() const;
+#if TAG_MAJOR_VERSION == 34
int heat_radius2() const;
+#endif
bool glows_naturally() const;
bool petrified() const;
bool petrifying() const;
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index d6091d9214..9cc22bd312 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -530,6 +530,7 @@ string describe_mutations(bool center_title)
break;
#endif
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
{
have_any = true;
@@ -579,6 +580,7 @@ string describe_mutations(bool center_title)
break;
}
+#endif
case SP_FORMICID:
result += "Your are under a permanent stasis effect.\n";
@@ -729,6 +731,7 @@ static const string _vampire_Ascreen_footer = (
" to toggle between mutations and properties depending on your\n"
"hunger status.\n");
+#if TAG_MAJOR_VERSION == 34
static const string _lava_orc_Ascreen_footer = (
#ifndef USE_TILE_LOCAL
"Press '<w>!</w>'"
@@ -737,6 +740,7 @@ static const string _lava_orc_Ascreen_footer = (
#endif
" to toggle between mutations and properties depending on your\n"
"temperature.\n");
+#endif
static void _display_vampire_attributes()
{
@@ -835,6 +839,7 @@ static void _display_vampire_attributes()
}
}
+#if TAG_MAJOR_VERSION == 34
static void _display_temperature()
{
ASSERT(you.species == SP_LAVA_ORC);
@@ -914,6 +919,7 @@ static void _display_temperature()
display_mutations();
}
}
+#endif
void display_mutations()
{
@@ -938,6 +944,7 @@ void display_mutations()
extra += _vampire_Ascreen_footer;
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
{
if (!extra.empty())
@@ -945,6 +952,7 @@ void display_mutations()
extra += _lava_orc_Ascreen_footer;
}
+#endif
if (!extra.empty())
{
@@ -965,12 +973,14 @@ void display_mutations()
{
_display_vampire_attributes();
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC
&& (mutation_menu.getkey() == '!'
|| mutation_menu.getkey() == CK_MOUSE_CMD))
{
_display_temperature();
}
+#endif
}
static int _calc_mutation_amusement_value(mutation_type which_mutation)
diff --git a/crawl-ref/source/ng-restr.cc b/crawl-ref/source/ng-restr.cc
index 8ca61eab6f..ff0869c954 100644
--- a/crawl-ref/source/ng-restr.cc
+++ b/crawl-ref/source/ng-restr.cc
@@ -774,6 +774,7 @@ char_choice_restriction job_allowed(species_type speci, job_type job)
default:
return CC_RESTRICTED;
}
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
switch (job)
{
@@ -789,6 +790,7 @@ char_choice_restriction job_allowed(species_type speci, job_type job)
default:
return CC_RESTRICTED;
}
+#endif
case SP_GARGOYLE:
switch (job)
{
@@ -908,7 +910,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
case SP_HUMAN:
case SP_DEEP_DWARF:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_MUMMY:
case SP_CENTAUR:
case SP_NAGA:
@@ -933,7 +937,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
{
case SP_HUMAN:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_MERFOLK:
case SP_NAGA:
case SP_CENTAUR:
@@ -962,7 +968,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
{
case SP_HUMAN:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_MERFOLK:
case SP_NAGA:
case SP_CENTAUR:
@@ -1019,7 +1027,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
case SP_MERFOLK:
case SP_OGRE:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_SPRIGGAN:
case SP_TROLL:
return CC_RESTRICTED;
@@ -1038,7 +1048,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
case SP_OGRE:
case SP_TROLL:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_FORMICID:
case SP_SPRIGGAN:
return CC_RESTRICTED;
@@ -1057,7 +1069,9 @@ char_choice_restriction weapon_restriction(weapon_type wpn,
case SP_MERFOLK:
case SP_OGRE:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_TROLL:
case SP_GARGOYLE:
return CC_RESTRICTED;
diff --git a/crawl-ref/source/ng-setup.cc b/crawl-ref/source/ng-setup.cc
index 8fd11486fa..9068fed24c 100644
--- a/crawl-ref/source/ng-setup.cc
+++ b/crawl-ref/source/ng-setup.cc
@@ -70,7 +70,9 @@ static void _species_stat_init(species_type which_species)
case SP_MINOTAUR: s = 12; i = 5; d = 5; break; // 22
case SP_GARGOYLE: s = 11; i = 8; d = 5; break; // 24
case SP_HILL_ORC: s = 10; i = 8; d = 6; break; // 24
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC: s = 10; i = 8; d = 6; break; // 24
+#endif
case SP_CENTAUR: s = 10; i = 7; d = 4; break; // 21
case SP_NAGA: s = 10; i = 8; d = 6; break; // 24
@@ -220,9 +222,11 @@ void give_basic_mutations(species_type speci)
{
switch (speci)
{
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
you.mutation[MUT_CONSERVE_SCROLLS] = 1;
break;
+#endif
case SP_OGRE:
you.mutation[MUT_TOUGH_SKIN] = 1;
break;
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index 091f39b7d8..3723ac9835 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -328,7 +328,11 @@ class colour_bar
&& you.num_turns >= m_request_redraw_after;
}
+#if TAG_MAJOR_VERSION == 34
void draw(int ox, int oy, int val, int max_val, bool temp = false, int sub_val = 0)
+#else
+ void draw(int ox, int oy, int val, int max_val, int sub_val = 0)
+#endif
{
ASSERT(val <= max_val);
if (max_val <= 0)
@@ -336,8 +340,9 @@ class colour_bar
m_old_disp = -1;
return;
}
-
+#if TAG_MAJOR_VERSION == 34
const colour_t temp_colour = temperature_colour(temperature());
+#endif
const int width = crawl_view.hudsz.x - (ox - 1);
const int sub_disp = (width * val / max_val);
int disp = width * max(0, val - sub_val) / max_val;
@@ -358,7 +363,13 @@ class colour_bar
textcolor(BLACK + m_empty * 16);
if (cx < disp)
+ {
+#if TAG_MAJOR_VERSION == 34
textcolor(BLACK + (temp) ? temp_colour * 16 : m_default * 16);
+#else
+ textcolor(BLACK + m_default * 16);
+#endif
+ }
else if (cx < sub_disp)
textcolor(BLACK + YELLOW * 16);
else if (old_disp >= sub_disp && cx < old_disp)
@@ -367,7 +378,11 @@ class colour_bar
#else
if (cx < disp && cx < old_disp)
{
+#if TAG_MAJOR_VERSION == 34
textcolor((temp) ? temp_colour : m_default);
+#else
+ textcolor(m_default);
+#endif
putwch('=');
}
else if (cx < disp)
@@ -503,7 +518,10 @@ void update_turn_count()
}
const int yhack = crawl_state.game_is_zotdef()
- + (you.species == SP_LAVA_ORC);
+#if TAG_MAJOR_VERSION == 34
+ + (you.species == SP_LAVA_ORC)
+#endif
+ ;
CGOTOXY(19+6, 9 + yhack, GOTO_STAT);
// Show the turn count starting from 1. You can still quit on turn 0.
@@ -531,6 +549,7 @@ static int _count_digits(int val)
return 1;
}
+#if TAG_MAJOR_VERSION == 34
static void _print_stats_temperature(int x, int y)
{
cgotoxy(x, y, GOTO_STAT);
@@ -539,6 +558,7 @@ static void _print_stats_temperature(int x, int y)
Temp_Bar.draw(19, y, temperature(), TEMP_MAX, true);
}
+#endif
static void _print_stats_mp(int x, int y)
{
@@ -701,8 +721,10 @@ static void _print_stats_hp(int x, int y)
if (you.species == SP_DJINNI)
EP_Bar.draw(19, y, you.hp, you.hp_max);
else
-#endif
HP_Bar.draw(19, y, you.hp, you.hp_max, false, you.hp - max(0, poison_survival()));
+#else
+ HP_Bar.draw(19, y, you.hp, you.hp_max, you.hp - max(0, poison_survival()));
+#endif
}
static short _get_stat_colour(stat_type stat)
@@ -1263,10 +1285,15 @@ static void _redraw_title(const string &your_name, const string &job_name)
void print_stats(void)
{
+#if TAG_MAJOR_VERSION == 34
int temp = (you.species == SP_LAVA_ORC) ? 1 : 0;
int temp_pos = 5;
int ac_pos = temp_pos + temp;
int ev_pos = temp_pos + temp + 1;
+#else
+ int ac_pos = 5;
+ int ev_pos = ac_pos + 1;
+#endif
cursor_control coff(false);
textcolor(LIGHTGREY);
@@ -1279,8 +1306,10 @@ void print_stats(void)
you.redraw_hit_points = true;
if (MP_Bar.wants_redraw())
you.redraw_magic_points = true;
+#if TAG_MAJOR_VERSION == 34
if (Temp_Bar.wants_redraw() && you.species == SP_LAVA_ORC)
you.redraw_temperature = true;
+#endif
// Poison display depends on regen rate, so should be redrawn every turn.
if (you.duration[DUR_POISONING])
@@ -1302,19 +1331,29 @@ void print_stats(void)
if (you.redraw_magic_points) { you.redraw_magic_points = false; _print_stats_mp (1, 4); }
#if TAG_MAJOR_VERSION == 34
_print_stats_contam(1, 4);
-#endif
if (you.redraw_temperature) { you.redraw_temperature = false; _print_stats_temperature (1, temp_pos); }
+#endif
if (you.redraw_armour_class) { you.redraw_armour_class = false; _print_stats_ac (1, ac_pos); }
if (you.redraw_evasion) { you.redraw_evasion = false; _print_stats_ev (1, ev_pos); }
for (int i = 0; i < NUM_STATS; ++i)
if (you.redraw_stats[i])
+ {
+#if TAG_MAJOR_VERSION == 34
_print_stat(static_cast<stat_type>(i), 19, 5 + i + temp);
+#else
+ _print_stat(static_cast<stat_type>(i), 19, 5 + i);
+#endif
+ }
you.redraw_stats.init(false);
if (you.redraw_experience)
{
+#if TAG_MAJOR_VERSION == 34
CGOTOXY(1, 8 + temp, GOTO_STAT);
+#else
+ CGOTOXY(1, 8, GOTO_STAT);
+#endif
textcolor(Options.status_caption_colour);
CPRINTF("XL: ");
textcolor(HUD_VALUE_COLOUR);
@@ -1330,7 +1369,11 @@ void print_stats(void)
}
if (crawl_state.game_is_zotdef())
{
+#if TAG_MAJOR_VERSION == 34
CGOTOXY(1, 9 + temp, GOTO_STAT);
+#else
+ CGOTOXY(1, 9, GOTO_STAT);
+#endif
textcolor(Options.status_caption_colour);
CPRINTF("ZP: ");
textcolor(HUD_VALUE_COLOUR);
@@ -1339,7 +1382,11 @@ void print_stats(void)
you.redraw_experience = false;
}
+#if TAG_MAJOR_VERSION == 34
int yhack = crawl_state.game_is_zotdef() + temp;
+#else
+ int yhack = crawl_state.game_is_zotdef();
+#endif
// If Options.show_gold_turns, line 9 is Gold and Turns
#ifdef USE_TILE_LOCAL
@@ -1416,8 +1463,10 @@ static string _level_description_string_hud()
void print_stats_level()
{
int ypos = 8;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
ypos++;
+#endif
cgotoxy(19, ypos, GOTO_STAT);
textcolor(HUD_CAPTION_COLOUR);
CPRINTF("Place: ");
@@ -1437,12 +1486,20 @@ void draw_border(void)
textcolor(Options.status_caption_colour);
+#if TAG_MAJOR_VERSION == 34
int temp = (you.species == SP_LAVA_ORC) ? 1 : 0;
+#endif
// int hp_pos = 3;
int mp_pos = 4;
+#if TAG_MAJOR_VERSION == 34
int ac_pos = 5 + temp;
int ev_pos = 6 + temp;
int sh_pos = 7 + temp;
+#else
+ int ac_pos = 5;
+ int ev_pos = 6;
+ int sh_pos = 7;
+#endif
int str_pos = ac_pos;
int int_pos = ev_pos;
int dex_pos = sh_pos;
@@ -1465,7 +1522,11 @@ void draw_border(void)
if (Options.show_gold_turns)
{
+#if TAG_MAJOR_VERSION == 34
int yhack = crawl_state.game_is_zotdef() + temp;
+#else
+ int yhack = crawl_state.game_is_zotdef();
+#endif
CGOTOXY(1, 9 + yhack, GOTO_STAT); CPRINTF("Gold:");
CGOTOXY(19, 9 + yhack, GOTO_STAT);
CPRINTF(Options.show_game_turns ? "Time:" : "Turn:");
@@ -2190,6 +2251,7 @@ static vector<formatted_string> _get_overview_stats()
else
lives[0] = 0;
+#if TAG_MAJOR_VERSION == 34
char temperature[20];
if (you.species == SP_LAVA_ORC)
{
@@ -2198,6 +2260,7 @@ static vector<formatted_string> _get_overview_stats()
}
else
temperature[0] = 0;
+#endif
snprintf(buf, sizeof buf,
"XL: %d%s\n"
diff --git a/crawl-ref/source/player-act.cc b/crawl-ref/source/player-act.cc
index 04c36c9d77..86ce07d88a 100644
--- a/crawl-ref/source/player-act.cc
+++ b/crawl-ref/source/player-act.cc
@@ -169,8 +169,11 @@ bool player::is_habitable_feat(dungeon_feature_type actual_grid) const
return true;
}
- if (actual_grid == DNGN_LAVA && species != SP_LAVA_ORC
- || actual_grid == DNGN_DEEP_WATER && !can_swim())
+ if (
+#if TAG_MAJOR_VERSION == 34
+ actual_grid == DNGN_LAVA && species != SP_LAVA_ORC ||
+#endif
+ actual_grid == DNGN_DEEP_WATER && !can_swim())
{
return false;
}
diff --git a/crawl-ref/source/player-reacts.cc b/crawl-ref/source/player-reacts.cc
index ce8b717ca0..454251b863 100644
--- a/crawl-ref/source/player-reacts.cc
+++ b/crawl-ref/source/player-reacts.cc
@@ -804,8 +804,10 @@ static void _decrement_durations()
if (!you.duration[DUR_PARALYSIS] && !you.petrified())
mprf(MSGCH_WARN, "You are exhausted.");
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
mpr("You feel less hot-headed.");
+#endif
// This resets from an actual penalty or from NO_BERSERK_PENALTY.
you.berserk_penalty = 0;
@@ -1247,8 +1249,10 @@ void player_reacts()
if (you.attribute[ATTR_SHADOWS])
shadow_lantern_effect();
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
temperature_check();
+#endif
if (player_mutation_level(MUT_DEMONIC_GUARDIAN))
check_demonic_guardian();
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 61e8107340..52c3e29ab5 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -358,12 +358,13 @@ void moveto_location_effects(dungeon_feature_type old_feat,
// Extra time if you stepped in.
if (stepped)
you.time_taken *= 2;
-
+#if TAG_MAJOR_VERSION == 34
// This gets called here because otherwise you wouldn't heat
// until your second turn in lava.
if (temperature() < TEMP_FIRE)
mpr("The lava instantly superheats you.");
you.temperature = TEMP_MAX;
+#endif
}
else if (!feat_is_lava(new_grid) && feat_is_lava(old_feat))
@@ -1537,6 +1538,7 @@ int player_res_fire(bool calc_unid, bool temp, bool items)
if (you.species == SP_MUMMY)
rf--;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
{
if (temperature_effect(LORC_FIRE_RES_I))
@@ -1546,6 +1548,7 @@ int player_res_fire(bool calc_unid, bool temp, bool items)
if (temperature_effect(LORC_FIRE_RES_III))
rf++;
}
+#endif
// mutations:
rf += player_mutation_level(MUT_HEAT_RESISTANCE, temp);
@@ -1675,8 +1678,10 @@ int player_res_cold(bool calc_unid, bool temp, bool items)
rc++;
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_COLD_VULN))
rc--;
+#endif
}
if (items)
@@ -2021,8 +2026,10 @@ int player_spec_fire()
// rings of fire:
sf += you.wearing(EQ_RINGS, RING_FIRE);
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_FIRE_BOOST))
sf++;
+#endif
if (you.duration[DUR_FIRE_SHIELD])
sf++;
@@ -2040,12 +2047,14 @@ int player_spec_cold()
// rings of ice:
sc += you.wearing(EQ_RINGS, RING_ICE);
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC
&& (temperature_effect(LORC_LAVA_BOOST)
|| temperature_effect(LORC_FIRE_BOOST)))
{
sc--;
}
+#endif
return sc;
}
@@ -3213,7 +3222,9 @@ void level_change(int source, const char* aux, bool skip_attribute_increase)
break;
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
if (!(you.experience_level % 5))
modify_stat(STAT_STR, 1, false, "level gain");
break;
@@ -5875,8 +5886,10 @@ void player::init()
lives = 0;
deaths = 0;
+#if TAG_MAJOR_VERSION == 34
temperature = 1; // 1 is min; 15 is max.
temperature_last = 1;
+#endif
xray_vision = false;
@@ -6009,7 +6022,9 @@ void player::init()
redraw_status_flags = 0;
redraw_hit_points = false;
redraw_magic_points = false;
+#if TAG_MAJOR_VERSION == 34
redraw_temperature = false;
+#endif
redraw_stats.init(false);
redraw_experience = false;
redraw_armour_class = false;
@@ -6546,6 +6561,7 @@ int player_icemail_armour_class()
bool player_stoneskin()
{
+#if TAG_MAJOR_VERSION == 34
// Lava orcs ignore DUR_STONESKIN
if (you.species == SP_LAVA_ORC)
{
@@ -6556,7 +6572,8 @@ bool player_stoneskin()
return temperature_effect(LORC_STONESKIN);
}
else
- return you.duration[DUR_STONESKIN];
+#endif
+ return you.duration[DUR_STONESKIN];
}
static int _stoneskin_bonus()
@@ -6566,19 +6583,23 @@ static int _stoneskin_bonus()
// Max +7.4 base
int boost = 200;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
boost += 20 * you.experience_level;
else
- boost += you.skill(SK_EARTH_MAGIC, 20);
+#endif
+ boost += you.skill(SK_EARTH_MAGIC, 20);
// Max additional +7.75 from statue form
if (you.form == TRAN_STATUE)
{
boost += 100;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
boost += 25 * you.experience_level;
else
- boost += you.skill(SK_EARTH_MAGIC, 25);
+#endif
+ boost += you.skill(SK_EARTH_MAGIC, 25);
}
return boost;
@@ -8361,7 +8382,7 @@ bool player::can_device_heal()
return mutation[MUT_NO_DEVICE_HEAL] < 2;
}
-
+#if TAG_MAJOR_VERSION == 34
// Lava orcs!
int temperature()
{
@@ -8612,3 +8633,4 @@ string temperature_text(int temp)
return "";
}
}
+#endif
diff --git a/crawl-ref/source/player.h b/crawl-ref/source/player.h
index 60f1b8950f..3ea8723194 100644
--- a/crawl-ref/source/player.h
+++ b/crawl-ref/source/player.h
@@ -120,8 +120,10 @@ public:
bool dead; // ... but pending revival
int lives;
int deaths;
+#if TAG_MAJOR_VERSION == 34
float temperature; // For lava orcs.
float temperature_last;
+#endif
FixedVector<uint8_t, NUM_SKILLS> skills; //!< skill level
FixedVector<int8_t, NUM_SKILLS> train; //!< 0: disabled, 1: normal, 2: focus.
@@ -333,7 +335,9 @@ public:
bool redraw_title;
bool redraw_hit_points;
bool redraw_magic_points;
+#if TAG_MAJOR_VERSION == 34
bool redraw_temperature;
+#endif
FixedVector<bool, NUM_STATS> redraw_stats;
bool redraw_experience;
bool redraw_armour_class;
@@ -656,7 +660,9 @@ public:
int silence_radius2() const;
int liquefying_radius2() const;
int umbra_radius2() const;
+#if TAG_MAJOR_VERSION == 34
int heat_radius2() const;
+#endif
bool glows_naturally() const;
bool petrifying() const;
bool petrified() const;
@@ -1035,6 +1041,7 @@ bool need_expiration_warning(coord_def p = you.pos());
void count_action(caction_type type, int subtype = 0);
bool player_has_orb();
+#if TAG_MAJOR_VERSION == 34
enum temperature_level
{
TEMP_MIN = 1, // Minimum (and starting) temperature. Not any warmer than bare rock.
@@ -1074,3 +1081,5 @@ int temperature_colour(int temp);
string temperature_string(int temp);
string temperature_text(int temp);
#endif
+
+#endif
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 53fa937375..76ea0c0d80 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -3707,16 +3707,15 @@ bool player_can_join_god(god_type which_god)
if (which_god == GOD_SIF_MUNA && !you.spell_no)
return false;
+#if TAG_MAJOR_VERSION == 34
// Dithmenos hates fiery species.
if (which_god == GOD_DITHMENOS
- && (
-#if TAG_MAJOR_VERSION == 34
- you.species == SP_DJINNI ||
-#endif
- you.species == SP_LAVA_ORC))
+ && (you.species == SP_DJINNI
+ || you.species == SP_LAVA_ORC))
{
return false;
}
+#endif
if (which_god == GOD_GOZAG && you.gold < gozag_service_fee())
return false;
diff --git a/crawl-ref/source/show.cc b/crawl-ref/source/show.cc
index 2b393340b3..c97b630e89 100644
--- a/crawl-ref/source/show.cc
+++ b/crawl-ref/source/show.cc
@@ -148,8 +148,10 @@ static void _update_feat_at(const coord_def &gp)
if (disjunction_haloed(gp))
env.map_knowledge(gp).flags |= MAP_DISJUNCT;
+#if TAG_MAJOR_VERSION == 34
if (heated(gp))
env.map_knowledge(gp).flags |= MAP_HOT;
+#endif
if (golden(gp))
env.map_knowledge(gp).flags |= MAP_GOLDEN;
diff --git a/crawl-ref/source/showsymb.cc b/crawl-ref/source/showsymb.cc
index 8257387d26..13ebd230d9 100644
--- a/crawl-ref/source/showsymb.cc
+++ b/crawl-ref/source/showsymb.cc
@@ -134,8 +134,10 @@ static unsigned short _cell_feat_show_colour(const map_cell& cell,
colour = ETC_ORB_GLOW;
else if (cell.flags & MAP_QUAD_HALOED)
colour = BLUE;
+#if TAG_MAJOR_VERSION == 34
else if (cell.flags & MAP_HOT)
colour = ETC_FIRE;
+#endif
else if (cell.flags & MAP_GOLDEN)
colour = ETC_GOLD;
}
diff --git a/crawl-ref/source/species.cc b/crawl-ref/source/species.cc
index 3ce8163f28..7d94cef9b2 100644
--- a/crawl-ref/source/species.cc
+++ b/crawl-ref/source/species.cc
@@ -27,7 +27,7 @@ static species_type species_order[] =
SP_TENGU, SP_BASE_DRACONIAN,
SP_GARGOYLE, SP_FORMICID,
// mostly human shape but made of a strange substance
- SP_LAVA_ORC, SP_VINE_STALKER,
+ SP_VINE_STALKER,
// celestial species
SP_DEMIGOD, SP_DEMONSPAWN,
// undead species
@@ -63,13 +63,13 @@ static const char * Species_Abbrev_List[NUM_SPECIES] =
"Ce", "Dg", "Sp", "Mi", "Ds", "Gh", "Te", "Mf", "Vp", "DD",
"Fe", "Op",
#if TAG_MAJOR_VERSION == 34
- "Dj",
+ "Dj", "LO",
#endif
- "LO", "Gr", "Fo", "VS",
+ "Gr", "Fo", "VS",
// placeholders
"El", "HD", "OM", "GE", "Gn", "MD",
#if TAG_MAJOR_VERSION > 34
- "SE", "Dj",
+ "SE", "Dj", "LO",
#endif
};
@@ -181,7 +181,9 @@ string species_name(species_type speci, bool genus, bool adj)
switch (speci)
{
case SP_HILL_ORC: res = "Hill Orc"; break;
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC: res = "Lava Orc"; break;
+#endif
default: res = "Orc"; break;
}
}
@@ -255,7 +257,11 @@ bool species_likes_water(species_type species)
bool species_likes_lava(species_type species)
{
+#if TAG_MAJOR_VERSION == 34
return species == SP_LAVA_ORC;
+#else
+ return false;
+#endif
}
bool species_can_throw_large_rocks(species_type species)
@@ -288,7 +294,9 @@ genus_type species_genus(species_type species)
return GENPC_ELVEN;
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
return GENPC_ORCISH;
default:
@@ -334,8 +342,10 @@ monster_type player_species_to_mons_species(species_type species)
return MONS_HALFLING;
case SP_HILL_ORC:
return MONS_ORC;
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
return MONS_LAVA_ORC;
+#endif
case SP_KOBOLD:
return MONS_KOBOLD;
case SP_MUMMY:
@@ -428,14 +438,13 @@ bool is_valid_species(species_type species)
bool is_species_valid_choice(species_type species)
{
#if TAG_MAJOR_VERSION == 34
- if (species == SP_SLUDGE_ELF || species == SP_DJINNI)
- return false;
-#endif
- if ((species == SP_LAVA_ORC)
- && Version::ReleaseType != VER_ALPHA)
+ if (species == SP_SLUDGE_ELF
+ || species == SP_DJINNI
+ || species == SP_LAVA_ORC)
{
return false;
}
+#endif
// Non-base draconians cannot be selected either.
return is_valid_species(species)
@@ -487,9 +496,9 @@ int species_exp_modifier(species_type species)
case SP_DEMONSPAWN:
#if TAG_MAJOR_VERSION == 34
case SP_DJINNI:
-#endif
case SP_LAVA_ORC:
return -1;
+#endif
case SP_DEMIGOD:
return -2;
default:
@@ -535,7 +544,9 @@ int species_hp_modifier(species_type species)
case SP_PALE_DRACONIAN:
case SP_GHOUL:
case SP_HILL_ORC:
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
+#endif
case SP_MINOTAUR:
return 1;
case SP_DEEP_DWARF:
diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc
index 7a0f032a60..ecaba1a469 100644
--- a/crawl-ref/source/spl-book.cc
+++ b/crawl-ref/source/spl-book.cc
@@ -573,7 +573,6 @@ bool you_cannot_memorise(spell_type spell, bool &form)
{
rc = true, form = false;
}
-#endif
if (you.species == SP_LAVA_ORC
&& (spell == SPELL_STONESKIN
@@ -581,6 +580,7 @@ bool you_cannot_memorise(spell_type spell, bool &form)
{
rc = true, form = false;
}
+#endif
if (you.form == TRAN_WISP)
{
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 0a0b55552c..3047ca6280 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -516,11 +516,13 @@ static int _spell_enhancement(unsigned int typeflags)
enhanced += you.archmagi();
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && temperature_effect(LORC_LAVA_BOOST)
&& (typeflags & SPTYP_FIRE) && (typeflags & SPTYP_EARTH))
{
enhanced++;
}
+#endif
// These are used in an exponential way, so we'll limit them a bit. -- bwr
if (enhanced > 3)
@@ -920,6 +922,7 @@ static bool _vampire_cannot_cast(spell_type spell)
}
}
+#if TAG_MAJOR_VERSION == 34
static bool _too_hot_to_cast(spell_type spell)
{
if (you.species != SP_LAVA_ORC)
@@ -947,6 +950,7 @@ static bool _too_hot_to_cast(spell_type spell)
return false;
}
}
+#endif
bool is_prevented_teleport(spell_type spell)
{
@@ -973,6 +977,7 @@ bool spell_is_uncastable(spell_type spell, string &msg)
return true;
}
+#if TAG_MAJOR_VERSION == 34
if (_too_hot_to_cast(spell))
{
if (spell == SPELL_STONESKIN && temperature_effect(LORC_STONESKIN))
@@ -983,6 +988,7 @@ bool spell_is_uncastable(spell_type spell, string &msg)
msg = "Your temperature is too high to benefit from that spell.";
return true;
}
+#endif
return false;
}
diff --git a/crawl-ref/source/spl-miscast.cc b/crawl-ref/source/spl-miscast.cc
index 68ed0a7c88..fcdf21a580 100644
--- a/crawl-ref/source/spl-miscast.cc
+++ b/crawl-ref/source/spl-miscast.cc
@@ -774,7 +774,11 @@ static bool _has_hair(actor* target)
return !form_changed_physiology() && you.species != SP_GHOUL
&& you.species != SP_OCTOPODE
&& you.species != SP_TENGU && !player_genus(GENPC_DRACONIAN)
- && you.species != SP_GARGOYLE && you.species != SP_LAVA_ORC;
+ && you.species != SP_GARGOYLE
+#if TAG_MAJOR_VERSION == 34
+ && you.species != SP_LAVA_ORC
+#endif
+ ;
}
static string _hair_str(actor* target, bool &plural)
diff --git a/crawl-ref/source/spl-other.cc b/crawl-ref/source/spl-other.cc
index 95f93a57ee..56f3775e2d 100644
--- a/crawl-ref/source/spl-other.cc
+++ b/crawl-ref/source/spl-other.cc
@@ -494,6 +494,7 @@ spret_type cast_stoneskin(int pow, bool fail)
return SPRET_ABORT;
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
{
// We can't get here from normal casting, and probably don't want
@@ -501,6 +502,7 @@ spret_type cast_stoneskin(int pow, bool fail)
// mpr("Your skin is naturally stony.");
return SPRET_ABORT;
}
+#endif
fail_check();
diff --git a/crawl-ref/source/spl-util.cc b/crawl-ref/source/spl-util.cc
index daf66ad9f8..6e34f60450 100644
--- a/crawl-ref/source/spl-util.cc
+++ b/crawl-ref/source/spl-util.cc
@@ -1092,6 +1092,7 @@ bool spell_is_useless(spell_type spell, bool transient)
return true;
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && !temperature_effect(LORC_STONESKIN))
{
switch (spell)
@@ -1106,6 +1107,7 @@ bool spell_is_useless(spell_type spell, bool transient)
break;
}
}
+#endif
}
switch (spell)
@@ -1162,10 +1164,12 @@ bool spell_is_useless(spell_type spell, bool transient)
}
break;
+#if TAG_MAJOR_VERSION == 34
case SPELL_STONESKIN:
if (you.species == SP_LAVA_ORC)
return true;
break;
+#endif
case SPELL_LEDAS_LIQUEFACTION:
if (!you.stand_on_solid_ground()
diff --git a/crawl-ref/source/startup.cc b/crawl-ref/source/startup.cc
index 3f4b301adb..a312a4393a 100644
--- a/crawl-ref/source/startup.cc
+++ b/crawl-ref/source/startup.cc
@@ -256,8 +256,10 @@ static void _post_init(bool newc)
you.redraw_armour_class = true;
you.redraw_evasion = true;
you.redraw_experience = true;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
you.redraw_temperature = true;
+#endif
you.redraw_quiver = true;
you.wield_change = true;
diff --git a/crawl-ref/source/stuff.cc b/crawl-ref/source/stuff.cc
index df2bdcfb90..5c7805343d 100644
--- a/crawl-ref/source/stuff.cc
+++ b/crawl-ref/source/stuff.cc
@@ -323,8 +323,10 @@ void redraw_screen(void)
you.redraw_title = true;
you.redraw_hit_points = true;
you.redraw_magic_points = true;
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
you.redraw_temperature = true;
+#endif
you.redraw_stats.init(true);
you.redraw_armour_class = true;
you.redraw_evasion = true;
diff --git a/crawl-ref/source/tags.cc b/crawl-ref/source/tags.cc
index 6e7ab04f37..6442af93ce 100644
--- a/crawl-ref/source/tags.cc
+++ b/crawl-ref/source/tags.cc
@@ -1500,8 +1500,10 @@ static void tag_construct_you(writer &th)
marshallByte(th, you.deaths);
marshallByte(th, you.lives);
+#if TAG_MAJOR_VERSION == 34
marshallFloat(th, you.temperature);
marshallFloat(th, you.temperature_last);
+#endif
CANARY;
@@ -2757,10 +2759,8 @@ static void tag_read_you(reader &th)
#if TAG_MAJOR_VERSION == 34
if (th.getMinorVersion() >= TAG_MINOR_LORC_TEMPERATURE)
{
-#endif
you.temperature = unmarshallFloat(th);
you.temperature_last = unmarshallFloat(th);
-#if TAG_MAJOR_VERSION == 34
}
else
{
diff --git a/crawl-ref/source/tilecell.cc b/crawl-ref/source/tilecell.cc
index 3ac0bf63fc..930b7a69b6 100644
--- a/crawl-ref/source/tilecell.cc
+++ b/crawl-ref/source/tilecell.cc
@@ -38,7 +38,9 @@ void packed_cell::clear()
travel_trail = 0;
quad_glow = 0;
disjunct = 0;
+#if TAG_MAJOR_VERSION == 34
heat_aura = 0;
+#endif
gold_aura = 0;
}
@@ -62,7 +64,9 @@ bool packed_cell::operator ==(const packed_cell &other) const
if (travel_trail != other.travel_trail) return false;
if (quad_glow != other.quad_glow) return false;
if (disjunct != other.disjunct) return false;
+#if TAG_MAJOR_VERSION == 34
if (heat_aura != other.heat_aura) return false;
+#endif
if (gold_aura != other.gold_aura) return false;
if (num_dngn_overlay != other.num_dngn_overlay) return false;
diff --git a/crawl-ref/source/tilecell.h b/crawl-ref/source/tilecell.h
index e6122980a4..5341200605 100644
--- a/crawl-ref/source/tilecell.h
+++ b/crawl-ref/source/tilecell.h
@@ -37,7 +37,9 @@ struct packed_cell
uint8_t travel_trail;
bool quad_glow;
uint8_t disjunct;
+#if TAG_MAJOR_VERSION == 34
uint8_t heat_aura;
+#endif
uint8_t gold_aura;
bool operator ==(const packed_cell &other) const;
@@ -48,7 +50,11 @@ struct packed_cell
glowing_mold(false), is_sanctuary(false), is_liquefied(false),
mangrove_water(false), orb_glow(0), blood_rotation(0),
old_blood(false), travel_trail(0), quad_glow(false),
- disjunct(false), heat_aura(false), gold_aura(0) {}
+ disjunct(false),
+#if TAG_MAJOR_VERSION == 34
+ heat_aura(false),
+#endif
+ gold_aura(0) {}
packed_cell(const packed_cell* c) : num_dngn_overlay(c->num_dngn_overlay),
fg(c->fg), bg(c->bg), flv(c->flv),
@@ -67,7 +73,9 @@ struct packed_cell
travel_trail(c->travel_trail),
quad_glow(c->quad_glow),
disjunct(c->disjunct),
+#if TAG_MAJOR_VERSION == 34
heat_aura(c->heat_aura),
+#endif
gold_aura(c->gold_aura) {}
void clear();
diff --git a/crawl-ref/source/tiledgnbuf.cc b/crawl-ref/source/tiledgnbuf.cc
index 27743f3cd7..f3acc5c3fa 100644
--- a/crawl-ref/source/tiledgnbuf.cc
+++ b/crawl-ref/source/tiledgnbuf.cc
@@ -278,8 +278,10 @@ void DungeonCellBuffer::pack_background(int x, int y, const packed_cell &cell)
{
if (cell.is_sanctuary)
m_buf_feat.add(TILE_SANCTUARY, x, y);
+#if TAG_MAJOR_VERSION == 34
if (cell.heat_aura)
m_buf_feat.add(TILE_HEAT_AURA + cell.heat_aura - 1, x, y);
+#endif
if (cell.gold_aura)
m_buf_feat.add(TILE_GOLD_AURA + cell.gold_aura - 1, x, y);
if (cell.is_silenced)
diff --git a/crawl-ref/source/tilepick-p.cc b/crawl-ref/source/tilepick-p.cc
index f5a38b2dca..6b072849ef 100644
--- a/crawl-ref/source/tilepick-p.cc
+++ b/crawl-ref/source/tilepick-p.cc
@@ -579,8 +579,10 @@ tileidx_t tilep_species_to_base_tile(int sp, int level)
return TILEP_BASE_HALFLING;
case SP_HILL_ORC:
return TILEP_BASE_ORC;
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
return TILEP_BASE_LAVA_ORC;
+#endif
case SP_KOBOLD:
return TILEP_BASE_KOBOLD;
case SP_MUMMY:
@@ -689,6 +691,7 @@ void tilep_race_default(int sp, int level, dolls_data *doll)
case SP_HILL_ORC:
hair = 0;
break;
+#if TAG_MAJOR_VERSION == 34
case SP_LAVA_ORC:
// This should respect the player's choice of base tile, if possible.
switch (temperature_colour(you.temperature))
@@ -717,6 +720,7 @@ void tilep_race_default(int sp, int level, dolls_data *doll)
}
hair = 0;
break;
+#endif
case SP_KOBOLD:
hair = 0;
break;
diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc
index 0373ca857e..b294041ea6 100644
--- a/crawl-ref/source/tilesdl.cc
+++ b/crawl-ref/source/tilesdl.cc
@@ -1337,9 +1337,11 @@ void TilesFramework::layout_statcol()
m_statcol_bottom = m_region_tab->sy - m_tab_margin;
+#if TAG_MAJOR_VERSION == 34
// Lava orc temperature bar and zot points.
if (you.species == SP_LAVA_ORC)
++crawl_view.hudsz.y;
+#endif
if (crawl_state.game_is_zotdef())
++crawl_view.hudsz.y;
m_region_stat->resize(m_region_stat->mx, crawl_view.hudsz.y);
diff --git a/crawl-ref/source/tileview.cc b/crawl-ref/source/tileview.cc
index f256dfff95..c9d59a9740 100644
--- a/crawl-ref/source/tileview.cc
+++ b/crawl-ref/source/tileview.cc
@@ -1398,8 +1398,10 @@ void tile_apply_properties(const coord_def &gc, packed_cell &cell)
if (mc.flags & MAP_ORB_HALOED)
cell.orb_glow = get_orb_phase(gc) ? 2 : 1;
+#if TAG_MAJOR_VERSION == 34
if (mc.flags & MAP_HOT)
cell.heat_aura = 1 + random2(3);
+#endif
if (mc.flags & MAP_QUAD_HALOED)
cell.quad_glow = true;
diff --git a/crawl-ref/source/tileweb.cc b/crawl-ref/source/tileweb.cc
index 8d599884a1..06d75d7589 100644
--- a/crawl-ref/source/tileweb.cc
+++ b/crawl-ref/source/tileweb.cc
@@ -741,8 +741,10 @@ void TilesFramework::_send_player(bool force_full)
_update_int(force_full, c.poison_survival, max(0, poison_survival()),
"poison_survival");
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC)
_update_int(force_full, c.heat, temperature(), "heat");
+#endif
_update_int(force_full, c.armour_class, you.armour_class(), "ac");
_update_int(force_full, c.evasion, player_evasion(), "ev");
@@ -1166,8 +1168,10 @@ void TilesFramework::_send_cell(const coord_def &gc,
if (next_pc.travel_trail != current_pc.travel_trail)
json_write_int("travel_trail", next_pc.travel_trail);
+#if TAG_MAJOR_VERSION == 34
if (next_pc.heat_aura != current_pc.heat_aura)
json_write_int("heat_aura", next_pc.heat_aura);
+#endif
if (next_pc.gold_aura != current_pc.gold_aura)
json_write_int("gold_aura", next_pc.gold_aura);
diff --git a/crawl-ref/source/transform.cc b/crawl-ref/source/transform.cc
index 01a9e4f503..448cb8a75a 100644
--- a/crawl-ref/source/transform.cc
+++ b/crawl-ref/source/transform.cc
@@ -135,12 +135,16 @@ bool form_likes_water(transformation_type form)
bool form_likes_lava(transformation_type form)
{
+#if TAG_MAJOR_VERSION == 34
// Lava orcs can only swim in non-phys-change forms.
// However, ice beast & statue form will melt back to lava, so they're OK
return you.species == SP_LAVA_ORC
&& (!form_changed_physiology(form)
|| form == TRAN_ICE_BEAST
|| form == TRAN_STATUE);
+#else
+ return false;
+#endif
}
// Used to mark transformations which override species intrinsics.
@@ -853,6 +857,7 @@ bool transform(int pow, transformation_type which_trans, bool involuntary,
return _abort_or_fizzle(just_check);
}
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && !temperature_effect(LORC_STONESKIN)
&& (which_trans == TRAN_ICE_BEAST || which_trans == TRAN_STATUE))
{
@@ -860,6 +865,7 @@ bool transform(int pow, transformation_type which_trans, bool involuntary,
mpr("Your temperature is too high to benefit from that spell.");
return _abort_or_fizzle(just_check);
}
+#endif
set<equipment_type> rem_stuff = _init_equipment_removal(which_trans);
@@ -1074,8 +1080,10 @@ bool transform(int pow, transformation_type which_trans, bool involuntary,
case TRAN_STATUE:
if (you.duration[DUR_STONESKIN])
mpr("Your new body merges with your stone armour.");
+#if TAG_MAJOR_VERSION == 34
else if (you.species == SP_LAVA_ORC)
mpr("Your new body is particularly stony.");
+#endif
if (you.duration[DUR_ICY_ARMOUR])
{
mprf(MSGCH_DURATION, "Your new body cracks your icy armour.");
@@ -1276,12 +1284,19 @@ void untransform(bool skip_wielding, bool skip_move)
case TRAN_STATUE:
// This only handles lava orcs going statue -> stoneskin.
- if (you.species == SP_LAVA_ORC && temperature_effect(LORC_STONESKIN)
- || you.species == SP_GARGOYLE)
+ if (
+#if TAG_MAJOR_VERSION == 34
+ you.species == SP_LAVA_ORC && temperature_effect(LORC_STONESKIN)
+ ||
+#endif
+ you.species == SP_GARGOYLE)
{
mprf(MSGCH_DURATION, "You revert to a slightly less stony form.");
}
- else if (you.species != SP_LAVA_ORC)
+ else
+#if TAG_MAJOR_VERSION == 34
+ if (you.species != SP_LAVA_ORC)
+#endif
mprf(MSGCH_DURATION, "You revert to your normal fleshy form.");
notify_stat_change(STAT_DEX, 2, true,
"losing the statue transformation");
@@ -1295,10 +1310,12 @@ void untransform(bool skip_wielding, bool skip_move)
break;
case TRAN_ICE_BEAST:
+#if TAG_MAJOR_VERSION == 34
if (you.species == SP_LAVA_ORC && !temperature_effect(LORC_STONESKIN))
mprf(MSGCH_DURATION, "Your icy form melts away into molten rock.");
else
- mprf(MSGCH_DURATION, "You warm up again.");
+#endif
+ mprf(MSGCH_DURATION, "You warm up again.");
// Note: if the core goes down, the combined effect soon disappears,
// but the reverse isn't true. -- bwr
diff --git a/crawl-ref/source/viewgeom.cc b/crawl-ref/source/viewgeom.cc
index 1bbe192979..766706f6e7 100644
--- a/crawl-ref/source/viewgeom.cc
+++ b/crawl-ref/source/viewgeom.cc
@@ -378,7 +378,10 @@ void crawl_view_geometry::init_geometry()
hudsz = coord_def(HUD_WIDTH,
HUD_HEIGHT + (Options.show_gold_turns ? 1 : 0)
+ crawl_state.game_is_zotdef()
- + ((you.species == SP_LAVA_ORC) ? 1 : 0));
+#if TAG_MAJOR_VERSION == 34
+ + ((you.species == SP_LAVA_ORC) ? 1 : 0)
+#endif
+ );
const _inline_layout lay_inline(termsz, hudsz);
const _mlist_col_layout lay_mlist(termsz, hudsz);
diff --git a/crawl-ref/source/webserver/game_data/static/cell_renderer.js b/crawl-ref/source/webserver/game_data/static/cell_renderer.js
index ee3672756e..fb893e0243 100644
--- a/crawl-ref/source/webserver/game_data/static/cell_renderer.js
+++ b/crawl-ref/source/webserver/game_data/static/cell_renderer.js
@@ -612,6 +612,7 @@ function ($, view_data, main, tileinfo_player, icons, dngn, enums,
{
if (cell.sanctuary)
this.draw_dngn(dngn.SANCTUARY, x, y);
+ // TAG_MAJOR_VERSION == 34
if (cell.heat_aura)
this.draw_dngn(dngn.HEAT_AURA + cell.heat_aura - 1, x, y);
if (cell.gold_aura)