diff options
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) |