diff options
author | Bardur Arantsson <bardur@scientician.net> | 2010-01-13 19:12:28 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2010-01-17 10:02:09 +0100 |
commit | bc3e558042bccab622ef4df8ec3d0a703b4f8e2e (patch) | |
tree | b0b7c8a5dbc057c59a18ccc598869014416d3829 /src | |
parent | 7520b90e296f265961093506feaac68ae309f6e6 (diff) |
Remove unused player ghost/bones code.
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/externs.h | 6 | ||||
-rw-r--r-- | src/files.c | 3 | ||||
-rw-r--r-- | src/generate.c | 24 | ||||
-rw-r--r-- | src/ghost.c | 1140 | ||||
-rw-r--r-- | src/init2.c | 5 | ||||
-rw-r--r-- | src/main-crb.c | 3 | ||||
-rw-r--r-- | src/main-win.c | 1 | ||||
-rw-r--r-- | src/main.c | 7 | ||||
-rw-r--r-- | src/makefile.bcc | 1 | ||||
-rw-r--r-- | src/makefile.bsd | 4 | ||||
-rw-r--r-- | src/makefile.cyg | 4 | ||||
-rw-r--r-- | src/makefile.mingw | 4 | ||||
-rw-r--r-- | src/makefile.osx | 4 | ||||
-rw-r--r-- | src/makefile.sdliso | 4 | ||||
-rw-r--r-- | src/makefile.std | 4 | ||||
-rw-r--r-- | src/makefile.win | 10 | ||||
-rw-r--r-- | src/modules.c | 1 | ||||
-rw-r--r-- | src/util.pkg | 8 | ||||
-rw-r--r-- | src/variable.c | 6 | ||||
-rw-r--r-- | src/xtra2.c | 20 |
21 files changed, 19 insertions, 1242 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e3e04b0e..eaebcbf6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,7 +29,7 @@ ADD_EXECUTABLE(tome main-gcu.c main-x11.c main-xaw.c main-sdl.c variable.c tables.c plots.c util.c cave.c dungeon.c melee1.c melee2.c modules.c object1.c object2.c randart.c squeltch.c traps.c - monster1.c monster2.c monster3.c ghost.c + monster1.c monster2.c monster3.c xtra1.c xtra2.c skills.c powers.c gods.c spells1.c spells2.c status.c files.c notes.c loadsave.c diff --git a/src/externs.h b/src/externs.h index 9021d291..9e1aa372 100644 --- a/src/externs.h +++ b/src/externs.h @@ -469,7 +469,6 @@ extern cptr ANGBAND_KEYBOARD; extern cptr ANGBAND_GRAF; extern cptr ANGBAND_DIR; extern cptr ANGBAND_DIR_APEX; -extern cptr ANGBAND_DIR_BONE; extern cptr ANGBAND_DIR_CORE; extern cptr ANGBAND_DIR_DNGN; extern cptr ANGBAND_DIR_DATA; @@ -1687,11 +1686,6 @@ extern int get_fbranch(void); extern int get_flevel(void); extern bool get_dungeon_save(char *buf); -/* ghost.c */ -extern s16b place_ghost(void); -extern void make_bones(void); - - /* wizard2.c */ extern void do_cmd_wiz_cure_all(void); extern void do_cmd_wiz_named_friendly(int r_idx, bool slp); diff --git a/src/files.c b/src/files.c index 792393e7..32c991fd 100644 --- a/src/files.c +++ b/src/files.c @@ -6530,9 +6530,6 @@ void close_game(void) output_note(buf); } - /* Dump bones file */ - make_bones(); - /* Handle score, show Top scores */ top_twenty(); } diff --git a/src/generate.c b/src/generate.c index dc1450ad..b2dce4e0 100644 --- a/src/generate.c +++ b/src/generate.c @@ -8106,30 +8106,6 @@ static bool cave_gen(void) if ((empty_level) && (randint(DARK_EMPTY) != 1 || (randint(100) > dun_level))) wiz_lite(); - /* Ghosts love to inhabit destroyed levels, but will live elsewhere */ - i = (destroyed) ? 11 : 1; -#if 0 /* DGDGDG -- implement ghost in a good & ncie way */ - /* Try to place the ghost */ - while (i-- > 0) - { - - /* Attempt to place a ghost */ - if (place_ghost()) - { - /* Hack -- increase the rating */ - rating += 10; - - /* A ghost makes the level special */ - good_item_flag = TRUE; - - /* Make cheaters and precog aware of the ghost */ - if (cheat_hear || p_ptr->precognition) msg_print("Player Ghost."); - - /* Stop trying to place the ghost */ - break; - } - } -#endif /* Now double the generated dungeon */ if (dungeon_flags1 & DF1_DOUBLE) { diff --git a/src/ghost.c b/src/ghost.c deleted file mode 100644 index 30a8f81a..00000000 --- a/src/ghost.c +++ /dev/null @@ -1,1140 +0,0 @@ -/* File: ghost.c */ - -/* - * Purpose: ghost functions - * - * Created by DarkGod for PernAngband 4.1.0 - * Lot of code from Drangband - */ - -/* - * Copyright (c) 1989 James E. Wilson, Robert A. Koeneke - * - * This software may be copied and distributed for educational, research, and - * not for profit purposes provided that this copyright and statement are - * included in all such copies. - */ - -#include "angband.h" - - -/* - * Save a "bones" file for a dead character - * - * Should probably attempt some form of locking... - */ -void make_bones(void) -{ -#if 0 /* DGDGDGDG */ - FILE *fp; - - int i; - - char str[1024]; - - - /* Ignore wizards and borgs */ - if (!(noscore & 0x00FF)) - { - /* Ignore people who die in town */ - if (dun_level) - { - int level; - char tmp[128]; - - /* Slightly more tenacious saving routine. */ - for (i = 0; i < 5; i++) - { - /* Ghost hovers near level of death. */ - if (i == 0) level = dun_level; - else level = dun_level + 5 - damroll(2, 4); - if (level < 1) level = randint(4); - - /* XXX XXX XXX "Bones" name */ - sprintf(tmp, "bone%03d.%03d", dungeon_type, level); - - /* Build the filename */ - path_build(str, 1024, ANGBAND_DIR_BONE, tmp); - - /* Grab permission */ - safe_setuid_grab(); - - /* Attempt to open the bones file */ - fp = my_fopen(str, "r"); - - /* Drop permission */ - safe_setuid_drop(); - - /* Close it right away */ - if (fp) my_fclose(fp); - - /* Do not over-write a previous ghost */ - if (fp) continue; - - /* If no file by that name exists, we can make a new one. */ - if (!(fp)) break; - } - - - /* File type is "TEXT" */ - FILE_TYPE(FILE_TYPE_TEXT); - - /* Grab permission */ - safe_setuid_grab(); - - /* Try to write a new "Bones File" */ - fp = my_fopen(str, "w"); - - /* Drop permission */ - safe_setuid_drop(); - - /* Not allowed to write it? Weird. */ - if (!fp) return; - - /* Save the info */ - fprintf(fp, "%s\n", player_name); - fprintf(fp, "%d\n", p_ptr->mhp); - fprintf(fp, "%d\n", p_ptr->prace); - fprintf(fp, "%d\n", p_ptr->pclass); - - /* Close and save the Bones file */ - my_fclose(fp); - } - } -#endif -} - -#if 0 /* DGDGDGDG */ -/* - * Ghost generation info - */ - -static int ghost_race; -static int ghost_class; - -static char gb_name[32]; - - -/* - * Set a "blow" record for the ghost - */ -static void ghost_blow(int i, int m, int e, int d, int s) -{ - monster_race *g = &r_info[max_r_idx - 1]; - - /* Save the data */ - g->blow[i].method = m; - g->blow[i].effect = e; - g->blow[i].d_dice = d; - g->blow[i].d_side = s; -} - - -/* - * Prepare the "ghost" race (method 1) - */ -static void set_ghost_aux_1(void) -{ - monster_race *r_ptr = &r_info[max_r_idx - 1]; - - int i, d1, d2; - - int attack1, attack2; - - int lev = r_ptr->level; - - int grace = ghost_race; - int gclass = ghost_class; - - cptr gr_name = rp_name + race_info[grace].title; - cptr gc_name = class_info[grace].title; - - - /* A wanderer from the town */ - sprintf(r_name + r_ptr->name, "%s, the skeletal %s %s", - gb_name, gr_name, gc_name); - - - /* Use a "player" symbol */ - r_ptr->d_char = 's'; - - /* Open doors, bash doors */ - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - - - /* Treasure drops */ - r_ptr->flags1 |= (RF1_DROP_60 | RF1_DROP_90); - - /* Treasure drops */ - if (lev >= 10) r_ptr->flags1 |= (RF1_DROP_1D2); - if (lev >= 20) r_ptr->flags1 |= (RF1_DROP_2D2); - if (lev >= 30) r_ptr->flags1 |= (RF1_DROP_4D2); - - /* Treasure drops */ - if (lev >= 40) r_ptr->flags1 &= ~(RF1_DROP_4D2); - if (lev >= 40) r_ptr->flags1 |= (RF1_DROP_GREAT); - - - /* Extract an "immunity power" */ - i = (lev / 5) + randint(5); - - /* Immunity (by level) */ - switch ((i > 12) ? 12 : i) - { - case 12 : - { - r_ptr->flags3 |= (RF3_IM_POIS); - } - - case 11: - case 10: - { - r_ptr->flags3 |= (RF3_IM_ACID); - } - - case 9: - case 8: - case 7: - { - r_ptr->flags3 |= (RF3_IM_FIRE); - } - - case 6: - case 5: - case 4: - { - r_ptr->flags3 |= (RF3_IM_COLD); - } - - case 3: - case 2: - case 1: - { - r_ptr->flags3 |= (RF3_IM_ELEC); - } - } - - - /* Extract some spells */ - switch (gclass) - { - /* Warrior */ - case CLASS_WARRIOR: - case CLASS_UNBELIEVER: - case CLASS_ARCHER: - case CLASS_MONK: - case CLASS_SYMBIANT: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 8; - r_ptr->flags4 |= (RF4_ARROW_1); - if (lev > 15) r_ptr->flags4 |= (RF4_ARROW_2); - if (lev > 30) r_ptr->flags4 |= (RF4_ARROW_3); - if (lev > 45) r_ptr->flags4 |= (RF4_ARROW_4); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_UMBER; - break; - } - - /* Mage */ - case CLASS_MAGE: - case CLASS_HIGH_MAGE: - case CLASS_POWERMAGE: - case CLASS_RUNECRAFTER: - case CLASS_HARPER: - case CLASS_SORCERER: - case CLASS_ILLUSIONIST: - case CLASS_DRUID: - case CLASS_NECRO: - case CLASS_ALCHEMIST: - case CLASS_CHAOS_WARRIOR: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 2; - r_ptr->flags4 |= (RF4_ARROW_1); - r_ptr->flags5 |= (RF5_SLOW | RF5_CONF); - r_ptr->flags6 |= (RF6_BLINK); - if (lev > 5) r_ptr->flags5 |= (RF5_BA_POIS); - if (lev > 7) r_ptr->flags5 |= (RF5_BO_ELEC); - if (lev > 10) r_ptr->flags5 |= (RF5_BO_COLD); - if (lev > 12) r_ptr->flags6 |= (RF6_TPORT); - if (lev > 15) r_ptr->flags5 |= (RF5_BO_ACID); - if (lev > 20) r_ptr->flags5 |= (RF5_BO_FIRE); - if (lev > 25) r_ptr->flags5 |= (RF5_BA_COLD); - if (lev > 25) r_ptr->flags6 |= (RF6_HASTE); - if (lev > 30) r_ptr->flags5 |= (RF5_BA_FIRE); - if (lev > 40) r_ptr->flags5 |= (RF5_BO_MANA); - if (lev > 50) r_ptr->flags6 |= (RF6_S_DRAGON); - if (lev > 60) r_ptr->flags5 |= (RF5_BA_MANA); - if (lev > 70) r_ptr->flags6 |= (RF6_S_HI_UNDEAD); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_RED; - break; - } - - /* Priest */ - case CLASS_PRIEST: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 4; - r_ptr->flags5 |= (RF5_CAUSE_1 | RF5_SCARE); - if (lev > 5) r_ptr->flags6 |= (RF6_HEAL); - if (lev > 10) r_ptr->flags5 |= (RF5_BLIND); - if (lev > 12) r_ptr->flags5 |= (RF5_CAUSE_2); - if (lev > 18) r_ptr->flags5 |= (RF5_HOLD); - if (lev > 25) r_ptr->flags5 |= (RF5_CONF); - if (lev > 30) r_ptr->flags5 |= (RF5_CAUSE_3); - if (lev > 35) r_ptr->flags5 |= (RF5_DRAIN_MANA); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_L_BLUE; - break; - } - - /* Rogue */ - case CLASS_ROGUE: - case CLASS_MERCHANT: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 6; - r_ptr->flags6 |= (RF6_BLINK); - if (lev > 10) r_ptr->flags5 |= (RF5_CONF); - if (lev > 18) r_ptr->flags5 |= (RF5_SLOW); - if (lev > 25) r_ptr->flags6 |= (RF6_TPORT); - if (lev > 30) r_ptr->flags5 |= (RF5_HOLD); - if (lev > 35) r_ptr->flags6 |= (RF6_TELE_TO); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_BLUE; - break; - } - - /* Ranger */ - case CLASS_RANGER: - case CLASS_WARLOCK: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 6; - r_ptr->flags4 |= (RF4_ARROW_1); - if (lev > 5) r_ptr->flags5 |= (RF5_BA_POIS); - if (lev > 7) r_ptr->flags5 |= (RF5_BO_ELEC); - if (lev > 10) r_ptr->flags5 |= (RF5_BO_COLD); - if (lev > 18) r_ptr->flags5 |= (RF5_BO_ACID); - if (lev > 25) r_ptr->flags5 |= (RF5_BO_FIRE); - if (lev > 30) r_ptr->flags5 |= (RF5_BA_COLD); - if (lev > 35) r_ptr->flags5 |= (RF5_BA_FIRE); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_GREEN; - break; - } - - /* Paladin */ - case CLASS_PALADIN: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 8; - r_ptr->flags5 |= (RF5_CAUSE_1 | RF5_SCARE); - if (lev > 5) r_ptr->flags6 |= (RF6_HEAL); - if (lev > 10) r_ptr->flags5 |= (RF5_BLIND); - if (lev > 12) r_ptr->flags5 |= (RF5_CAUSE_2); - if (lev > 18) r_ptr->flags5 |= (RF5_HOLD); - if (lev > 25) r_ptr->flags5 |= (RF5_CONF); - if (lev > 30) r_ptr->flags5 |= (RF5_CAUSE_3); - if (lev > 35) r_ptr->flags5 |= (RF5_DRAIN_MANA); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_WHITE; - break; - } - - /* Beastmaster */ - case CLASS_BEASTMASTER: - case CLASS_DAEMONOLOGIST: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 3; - r_ptr->flags6 |= (RF6_S_KIN); - if (lev > 10) r_ptr->flags6 |= (RF6_S_SPIDER); - if (lev > 15) r_ptr->flags6 |= (RF6_S_MONSTERS); - if (lev > 20) r_ptr->flags6 |= (RF6_S_HOUND); - if (lev > 35) r_ptr->flags6 |= (RF6_S_DEMON); - if (lev > 30) r_ptr->flags6 |= (RF6_S_UNDEAD); - if (lev > 35) r_ptr->flags6 |= (RF6_S_DRAGON); - if (lev > 40) r_ptr->flags6 |= (RF6_S_HI_UNDEAD); - if (lev > 45) r_ptr->flags6 |= (RF6_S_HI_DRAGON); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_UMBER; - break; - } - - /* Mindcrafter */ - case CLASS_MINDCRAFTER: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 4; - r_ptr->flags5 |= (RF5_CAUSE_1 | RF5_SCARE); - if (lev > 5) r_ptr->flags6 |= (RF6_HEAL); - if (lev > 10) r_ptr->flags5 |= (RF5_MIND_BLAST); - if (lev > 12) r_ptr->flags6 |= (RF6_FORGET); - if (lev > 18) r_ptr->flags5 |= (RF5_BRAIN_SMASH); - if (lev > 25) r_ptr->flags5 |= (RF5_CONF); - if (lev > 30) r_ptr->flags5 |= (RF5_CAUSE_3); - if (lev > 35) r_ptr->flags5 |= (RF5_DRAIN_MANA); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_L_BLUE; - break; - } - - /* Possessor */ - case CLASS_POSSESSOR: - case CLASS_MIMIC: - { - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 4; - if (lev > 7) r_ptr->flags4 |= (RF4_BR_ELEC); - if (lev > 10) r_ptr->flags4 |= (RF4_BR_COLD); - if (lev > 18) r_ptr->flags4 |= (RF4_BR_ACID); - if (lev > 25) r_ptr->flags4 |= (RF4_BR_FIRE); - if (lev > 35) r_ptr->flags4 |= (RF4_BR_CHAO); - if (lev > 45) r_ptr->flags4 |= (RF4_BR_TIME); - r_ptr->flags1 |= (RF1_CHAR_MULTI); - r_ptr->flags1 |= (RF1_ATTR_MULTI); - - /* Use a "player" color */ - r_ptr->d_attr = TERM_UMBER; - break; - } - - default: - { - /* Use a "player" color */ - r_ptr->d_attr = TERM_WHITE; - break; - } - } - - - /* Racial properties */ - if (grace == RACE_HALF_ORC) r_ptr->flags3 |= (RF3_ORC); - if (grace == RACE_KOBOLD) r_ptr->flags3 |= (RF3_ORC); - if (grace == RACE_HALF_TROLL) r_ptr->flags3 |= (RF3_TROLL); - if (grace == RACE_THUNDERLORD) r_ptr->flags3 |= (RF3_THUNDERLORD); - - - /* Armor class */ - r_ptr->ac = 15 + randint(15); - - /* Non mage/priest gets extra armor */ - if ((gclass != CLASS_MAGE) && (gclass != CLASS_PRIEST)) - { - r_ptr->ac += randint(60); - } - - - /* Default speed (normal) */ - r_ptr->speed = 110; - - /* Higher level they are faster */ - if (lev >= 50) r_ptr->speed += 10; - - /* High level mages are fast... */ - if ((gclass == CLASS_MAGE) && (lev >= 20)) r_ptr->speed += 10; - - /* High level rogues are fast... */ - if ((gclass == CLASS_ROGUE) && (lev >= 30)) r_ptr->speed += 10; - - - /* Base damage */ - d1 = 1; - d2 = 2 * (lev + 5); - - /* Break up the damage */ - while ((d1 * 8) < d2) - { - d1 = d1 * 2; - d2 = d2 / 2; - } - - attack1 = attack2 = RBM_HIT; - - /* Extract attacks */ - switch (gclass) - { - - /* Warrior */ - case CLASS_WARRIOR: - case CLASS_UNBELIEVER: - case CLASS_ARCHER: - case CLASS_MONK: - case CLASS_SYMBIANT: - case CLASS_BEASTMASTER: - case CLASS_DAEMONOLOGIST: - case CLASS_POSSESSOR: - case CLASS_MIMIC: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 2; - - /* Normal attacks (four) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(1, attack2, RBE_HURT, d1, d2); - ghost_blow(2, attack1, RBE_HURT, d1, d2); - ghost_blow(3, attack2, RBE_HURT, d1, d2); - - break; - } - - /* Mage */ - case CLASS_MAGE: - case CLASS_HIGH_MAGE: - case CLASS_POWERMAGE: - case CLASS_RUNECRAFTER: - case CLASS_HARPER: - case CLASS_SORCERER: - case CLASS_ILLUSIONIST: - case CLASS_DRUID: - case CLASS_NECRO: - case CLASS_ALCHEMIST: - case CLASS_CHAOS_WARRIOR: - case CLASS_MERCHANT: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 3 / 2; - - /* Normal attacks (one) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - - break; - } - - /* Priest */ - case CLASS_PRIEST: - case CLASS_MINDCRAFTER: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 3 / 2; - - /* Normal attacks (two) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(0, attack2, RBE_HURT, d1, d2); - - break; - } - - /* Rogue */ - case CLASS_ROGUE: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 2; - - /* Normal attacks */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(1, attack2, RBE_HURT, d1, d2); - - /* Special attacks -- Touch to steal */ - ghost_blow(2, RBM_TOUCH, RBE_EAT_ITEM, 0, 0); - ghost_blow(3, RBM_TOUCH, RBE_EAT_ITEM, 0, 0); - - break; - } - - /* Ranger */ - case CLASS_RANGER: - case CLASS_WARLOCK: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 2; - - /* Normal attacks (three) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(1, attack2, RBE_HURT, d1, d2); - ghost_blow(2, attack1, RBE_HURT, d1, d2); - - break; - } - - /* Paladin */ - case CLASS_PALADIN: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 2; - - /* Normal attacks (three) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(1, attack2, RBE_HURT, d1, d2); - ghost_blow(2, attack1, RBE_HURT, d1, d2); - break; - } - - default: - { - /* Sometimes increase damage */ - if (lev >= 30) d2 = d2 * 2; - - /* Normal attacks (four) */ - ghost_blow(0, attack1, RBE_HURT, d1, d2); - ghost_blow(1, attack2, RBE_HURT, d1, d2); - ghost_blow(2, attack1, RBE_HURT, d1, d2); - ghost_blow(3, attack2, RBE_HURT, d1, d2); - - break; - } - } -} - - - -/* - * Prepare the ghost -- method 2 - */ -static void set_ghost_aux_2(void) -{ - monster_race *r_ptr = &r_info[max_r_idx - 1]; - - int lev = r_ptr->level; - - int grace = ghost_race; - - cptr gr_name = rp_name + race_info[grace].title; - - - /* The ghost is cold blooded */ - r_ptr->flags2 |= (RF2_COLD_BLOOD); - - /* The ghost is undead */ - r_ptr->flags3 |= (RF3_UNDEAD); - - /* The ghost is immune to poison */ - r_ptr->flags3 |= (RF3_IM_POIS); - - - switch ((lev / 4) + randint(3)) - { - case 1: - case 2: - case 3: - { - sprintf(r_name + r_ptr->name, "%s, the Skeleton %s", gb_name, gr_name); - r_ptr->d_char = 's'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - r_ptr->flags3 |= (RF3_IM_COLD); - if (grace == RACE_HALF_ORC) r_ptr->flags3 |= (RF3_ORC); - if (grace == RACE_HALF_TROLL) r_ptr->flags3 |= (RF3_TROLL); - if (grace == RACE_THUNDERLORD) r_ptr->flags3 |= (RF3_THUNDERLORD); - r_ptr->ac = 26; - r_ptr->speed = 110; - - ghost_blow(0, RBM_HIT, RBE_HURT, 2, 6); - ghost_blow(1, RBM_HIT, RBE_HURT, 2, 6); - - break; - } - - case 4: - case 5: - { - sprintf(r_name + r_ptr->name, "%s, the Zombified %s", gb_name, gr_name); - r_ptr->d_char = 'z'; - r_ptr->d_attr = TERM_L_DARK; - r_ptr->flags1 |= (RF1_DROP_60 | RF1_DROP_90); - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - if (grace == RACE_HALF_ORC) r_ptr->flags3 |= (RF3_ORC); - if (grace == RACE_HALF_TROLL) r_ptr->flags3 |= (RF3_TROLL); - if (grace == RACE_THUNDERLORD) r_ptr->flags3 |= (RF3_THUNDERLORD); - r_ptr->ac = 30; - r_ptr->speed = 110; - r_ptr->hside *= 2; - - ghost_blow(0, RBM_HIT, RBE_HURT, 2, 9); - - break; - } - - case 6: - case 7: - { - sprintf(r_name + r_ptr->name, "%s, the Mummified %s", gb_name, gr_name); - r_ptr->d_char = 'z'; - r_ptr->d_attr = TERM_L_DARK; - r_ptr->flags1 |= (RF1_DROP_1D2); - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - if (grace == RACE_HALF_ORC) r_ptr->flags3 |= (RF3_ORC); - if (grace == RACE_HALF_TROLL) r_ptr->flags3 |= (RF3_TROLL); - if (grace == RACE_THUNDERLORD) r_ptr->flags3 |= (RF3_THUNDERLORD); - r_ptr->ac = 35; - r_ptr->speed = 110; - r_ptr->hside *= 2; - r_ptr->mexp = (r_ptr->mexp * 3) / 2; - - ghost_blow(0, RBM_HIT, RBE_HURT, 3, 8); - ghost_blow(1, RBM_HIT, RBE_HURT, 3, 8); - ghost_blow(2, RBM_HIT, RBE_HURT, 3, 8); - - break; - } - - case 8: - { - sprintf(r_name + r_ptr->name, "%s, the Poltergeist", gb_name); - r_ptr->d_char = 'G'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_RAND_50 | RF1_RAND_25 | RF1_DROP_1D2); - r_ptr->flags2 |= (RF2_INVISIBLE | RF2_PASS_WALL); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->ac = 20; - r_ptr->speed = 130; - r_ptr->mexp = (r_ptr->mexp * 3) / 2; - - ghost_blow(0, RBM_HIT, RBE_HURT, 2, 6); - ghost_blow(1, RBM_HIT, RBE_HURT, 2, 6); - ghost_blow(2, RBM_TOUCH, RBE_TERRIFY, 0, 0); - ghost_blow(3, RBM_TOUCH, RBE_TERRIFY, 0, 0); - - break; - } - - case 9: - case 10: - { - sprintf(r_name + r_ptr->name, "%s, the Spirit", gb_name); - r_ptr->d_char = 'G'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_DROP_1D2); - r_ptr->flags2 |= (RF2_INVISIBLE | RF2_PASS_WALL); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->ac = 20; - r_ptr->speed = 110; - r_ptr->hside *= 2; - r_ptr->mexp = r_ptr->mexp * 3; - - ghost_blow(0, RBM_TOUCH, RBE_LOSE_WIS, 2, 6); - ghost_blow(1, RBM_TOUCH, RBE_LOSE_DEX, 2, 6); - ghost_blow(2, RBM_HIT, RBE_HURT, 4, 6); - ghost_blow(3, RBM_WAIL, RBE_TERRIFY, 0, 0); - - break; - } - - case 11: - { - sprintf(r_name + r_ptr->name, "%s, the Ghost", gb_name); - r_ptr->d_char = 'G'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_DROP_1D2); - r_ptr->flags2 |= (RF2_INVISIBLE | RF2_PASS_WALL); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->flags5 |= (RF5_BLIND | RF5_HOLD | RF5_DRAIN_MANA); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 15; - r_ptr->ac = 40; - r_ptr->speed = 120; - r_ptr->hside *= 2; - r_ptr->mexp = (r_ptr->mexp * 7) / 2; - - ghost_blow(0, RBM_WAIL, RBE_TERRIFY, 0, 0); - ghost_blow(1, RBM_TOUCH, RBE_EXP_20, 0, 0); - ghost_blow(2, RBM_CLAW, RBE_LOSE_INT, 2, 6); - ghost_blow(3, RBM_CLAW, RBE_LOSE_WIS, 2, 6); - - break; - } - - case 12: - { - sprintf(r_name + r_ptr->name, "%s, the Vampire", gb_name); - r_ptr->d_char = 'V'; - r_ptr->d_attr = TERM_VIOLET; - r_ptr->flags1 |= (RF1_DROP_2D2); - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - r_ptr->flags3 |= (RF3_HURT_LITE); - r_ptr->flags5 |= (RF5_SCARE | RF5_HOLD | RF5_CAUSE_2); - r_ptr->flags6 |= (RF6_TELE_TO); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 8; - r_ptr->ac = 40; - r_ptr->speed = 110; - r_ptr->hside *= 3; - r_ptr->mexp = r_ptr->mexp * 3; - - ghost_blow(0, RBM_HIT, RBE_HURT, 5, 8); - ghost_blow(1, RBM_HIT, RBE_HURT, 5, 8); - ghost_blow(2, RBM_BITE, RBE_EXP_40, 0, 0); - - break; - } - - case 13: - { - sprintf(r_name + r_ptr->name, "%s, the Wraith", gb_name); - r_ptr->d_char = 'W'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_DROP_2D2 | RF1_DROP_4D2); - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - r_ptr->flags3 |= (RF3_IM_COLD | RF3_HURT_LITE); - r_ptr->flags5 |= (RF5_BLIND | RF5_SCARE | RF5_HOLD); - r_ptr->flags5 |= (RF5_CAUSE_3 | RF5_BO_NETH); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 7; - r_ptr->ac = 60; - r_ptr->speed = 120; - r_ptr->hside *= 3; - r_ptr->mexp = r_ptr->mexp * 5; - - ghost_blow(0, RBM_HIT, RBE_HURT, 6, 8); - ghost_blow(1, RBM_HIT, RBE_HURT, 6, 8); - ghost_blow(2, RBM_TOUCH, RBE_EXP_20, 0, 0); - - break; - } - - case 14: - { - sprintf(r_name + r_ptr->name, "%s, the Vampire Lord", gb_name); - r_ptr->d_char = 'V'; - r_ptr->d_attr = TERM_BLUE; - r_ptr->flags1 |= (RF1_DROP_1D2 | RF1_DROP_GREAT); - r_ptr->flags2 |= (RF2_OPEN_DOOR | RF2_BASH_DOOR); - r_ptr->flags3 |= (RF3_HURT_LITE); - r_ptr->flags5 |= (RF5_SCARE | RF5_HOLD | RF5_CAUSE_3 | RF5_BO_NETH); - r_ptr->flags6 |= (RF6_TELE_TO); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 8; - r_ptr->ac = 80; - r_ptr->speed = 110; - r_ptr->hside *= 2; - r_ptr->hdice *= 2; - r_ptr->mexp = r_ptr->mexp * 20; - - ghost_blow(0, RBM_HIT, RBE_HURT, 6, 8); - ghost_blow(1, RBM_HIT, RBE_HURT, 6, 8); - ghost_blow(2, RBM_HIT, RBE_HURT, 6, 8); - ghost_blow(3, RBM_BITE, RBE_EXP_80, 0, 0); - - break; - } - - case 15: - { - sprintf(r_name + r_ptr->name, "%s, the Ghost", gb_name); - r_ptr->d_char = 'G'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_DROP_2D2 | RF1_DROP_GREAT); - r_ptr->flags2 |= (RF2_INVISIBLE | RF2_PASS_WALL); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->flags5 |= (RF5_BLIND | RF5_CONF | RF5_HOLD | RF5_DRAIN_MANA); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 5; - r_ptr->ac = 90; - r_ptr->speed = 130; - r_ptr->hside *= 3; - r_ptr->mexp = r_ptr->mexp * 20; - - ghost_blow(0, RBM_WAIL, RBE_TERRIFY, 0, 0); - ghost_blow(1, RBM_TOUCH, RBE_EXP_20, 0, 0); - ghost_blow(2, RBM_CLAW, RBE_LOSE_INT, 2, 6); - ghost_blow(3, RBM_CLAW, RBE_LOSE_WIS, 2, 6); - - break; - } - - case 17: - { - sprintf(r_name + r_ptr->name, "%s, the Lich", gb_name); - r_ptr->d_char = 'L'; - r_ptr->d_attr = TERM_ORANGE; - r_ptr->flags1 |= (RF1_DROP_2D2 | RF1_DROP_1D2 | RF1_DROP_GREAT); - r_ptr->flags2 |= (RF2_SMART | RF2_OPEN_DOOR | RF2_BASH_DOOR); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->flags5 |= (RF5_BLIND | RF5_SCARE | RF5_CONF | RF5_HOLD); - r_ptr->flags5 |= (RF5_DRAIN_MANA | RF5_BA_FIRE | RF5_BA_COLD); - r_ptr->flags5 |= (RF5_CAUSE_3 | RF5_CAUSE_4 | RF5_BRAIN_SMASH); - r_ptr->flags6 |= (RF6_BLINK | RF6_TPORT | RF6_TELE_TO | RF6_S_UNDEAD); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 3; - r_ptr->ac = 120; - r_ptr->speed = 120; - r_ptr->hside *= 3; - r_ptr->hdice *= 2; - r_ptr->mexp = r_ptr->mexp * 50; - - ghost_blow(0, RBM_TOUCH, RBE_LOSE_DEX, 4, 12); - ghost_blow(1, RBM_TOUCH, RBE_LOSE_DEX, 4, 12); - ghost_blow(2, RBM_TOUCH, RBE_UN_POWER, 0, 0); - ghost_blow(3, RBM_TOUCH, RBE_EXP_40, 0, 0); - - break; - } - - default: - { - sprintf(r_name + r_ptr->name, "%s, the Ghost", gb_name); - r_ptr->d_char = 'G'; - r_ptr->d_attr = TERM_WHITE; - r_ptr->flags1 |= (RF1_DROP_1D2 | RF1_DROP_2D2 | RF1_DROP_GREAT); - r_ptr->flags2 |= (RF2_SMART | RF2_INVISIBLE | RF2_PASS_WALL); - r_ptr->flags3 |= (RF3_IM_COLD); - r_ptr->flags5 |= (RF5_BLIND | RF5_CONF | RF5_HOLD | RF5_BRAIN_SMASH); - r_ptr->flags5 |= (RF5_DRAIN_MANA | RF5_BA_NETH | RF5_BO_NETH); - r_ptr->flags6 |= (RF6_TELE_TO | RF6_TELE_LEVEL); - r_ptr->freq_inate = r_ptr->freq_spell = 100 / 2; - r_ptr->ac = 130; - r_ptr->speed = 130; - r_ptr->hside *= 2; - r_ptr->hdice *= 2; - r_ptr->mexp = r_ptr->mexp * 30; - - ghost_blow(0, RBM_WAIL, RBE_TERRIFY, 0, 0); - ghost_blow(1, RBM_TOUCH, RBE_EXP_20, 0, 0); - ghost_blow(2, RBM_CLAW, RBE_LOSE_INT, 2, 6); - ghost_blow(3, RBM_CLAW, RBE_LOSE_WIS, 2, 6); - - break; - } - } -} - - -/* - * Hack -- Prepare the "ghost" race - * - * We are given a "name" of the form "Bob" (or "Bob, the xxx"), and - * a race/class (by index), and a level (usually the dungeon level), - * and a special "town" flag (which chooses the major ghost "type"). - * - * Note that "town" ghosts are always level 1 to 50, and other ghosts - * are always level 1 to 100 (or deeper?) - * - * Currently we save the current "ghost race info" in the savefile. - * Note that ghosts from pre-2.7.7 savefiles are always ignored. - * - * Eventually we should probably save the ghost in such a way as - * to allow it to be "re-extracted" from a small amount of info, - * such as the "base name", the "race", the "class", the base "hp", - * the "level", the "town" flag, and the "random seed". This would - * make the savefile impervious to changes in the race format. - * - * Thus we would need to save "pn", "hp", "gr", "gc", and "lev", - * plus the "town" flag, plus a random seed of some form. Note that - * we already save the "pn" value, followed by a "comma" and "title", - * and we have the "lev" field as the actual ghost level. But it is - * probably best to ignore this storage method for a few versions. - * - * We "could" extract the "hp" from the ghost name and current hp's. - * We "could" extract the "town" flag from the ghost race symbol. - * - * Note that each new ghost needs a new "random seed". And actually, - * we do not really need a "full" random seed, we could just use a - * random value from which random numbers can be extracted. (?) - */ -static void set_ghost(cptr pname, int hp, int grace, int gclass, int lev, bool town) -{ - int i; - - monster_race *r_ptr = &r_info[max_r_idx - 1]; - - /* Ghosts are too weak otherwise */ - hp *= 2; - - /* Extract the basic ghost name */ - strcpy(gb_name, pname); - - /* Find the first comma, or end of string */ - for (i = 0; (i < 16) && (gb_name[i]) && (gb_name[i] != ','); i++); - - /* Terminate the name */ - gb_name[i] = '\0'; - - /* Force a name */ - if (!gb_name[1]) strcpy(gb_name, "Nobody"); - - /* Capitalize the name */ - if (islower(gb_name[0])) gb_name[0] = toupper(gb_name[0]); - - - /* Clear the normal flags */ - r_ptr->flags1 = r_ptr->flags2 = r_ptr->flags3 = r_ptr->flags7 = r_ptr->flags8 = r_ptr->flags9 = 0L; - - /* Clear the spell flags */ - r_ptr->flags4 = r_ptr->flags5 = r_ptr->flags6 = 0L; - - - /* Clear the attacks */ - ghost_blow(0, 0, 0, 0, 0); - ghost_blow(1, 0, 0, 0, 0); - ghost_blow(2, 0, 0, 0, 0); - ghost_blow(3, 0, 0, 0, 0); - - - /* The ghost never sleeps */ - r_ptr->sleep = 0; - - /* The ghost is very attentive */ - r_ptr->aaf = 100; - - - /* Save the level */ - r_ptr->level = lev; - - /* Extract the default experience */ - r_ptr->mexp = lev * 5 + 5; - - - /* Hack -- Break up the hitpoints */ - for (i = 1; i * i < hp; i++); - - /* Extract the basic hit dice and sides */ - r_ptr->hdice = r_ptr->hside = i; - - - /* Unique monster */ - r_ptr->flags1 |= (RF1_UNIQUE); - - /* Only carry good items */ - r_ptr->flags1 |= (RF1_ONLY_ITEM | RF1_DROP_GOOD); - - /* The ghost is always evil */ - r_ptr->flags3 |= (RF3_EVIL); - - /* Cannot be slept or confused */ - r_ptr->flags3 |= (RF3_NO_SLEEP | RF3_NO_CONF); - - /* All ghosts are undeads */ - r_ptr->flags3 |= RF3_UNDEAD; - - - /* Save the race and class */ - ghost_race = grace; - ghost_class = gclass; - - - /* Prepare the ghost (method 1) */ - if (town) - { - /* Method 1 */ - set_ghost_aux_1(); - } - - /* Prepare the ghost (method 2) */ - else - { - /* Method 2 */ - set_ghost_aux_2(); - } -} -#endif - - -/* - * Places a ghost somewhere. - */ -s16b place_ghost(void) -{ -#if 0 /* DGDGDGDG */ - int y, x, hp, level, grace, gclass; - - monster_race *r_ptr = &r_info[max_r_idx - 1]; - - FILE *fp; - - bool err = FALSE; - bool town = FALSE; - - char name[100]; - char tmp[1024]; - - /* Hack -- no ghosts in the town */ - if (!dun_level) return (FALSE); - - /* Already have a ghost */ - if (r_ptr->cur_num >= r_ptr->max_num) - { - return (FALSE); - } - - /* Dungeon -- Use Dungeon Level */ - else - { - /* And even then, it only happens sometimes */ - if (14 > randint((dun_level / 2) + 11)) return (FALSE); - - /* Only a 45% chance */ - if (magik(45)) return (FALSE); - - /* Level is dungeon level */ - level = dun_level; - } - - - /* Choose a bones file */ - sprintf(tmp, "%s%sbone%03d.%03d", ANGBAND_DIR_BONE, PATH_SEP, dungeon_type, level); - - /* Grab permission */ - safe_setuid_grab(); - - /* Open the bones file */ - fp = my_fopen(tmp, "r"); - - /* Drop permission */ - safe_setuid_drop(); - - /* No bones file to use */ - if (!fp) return (FALSE); - - /* Scan the file */ - err = (fscanf(fp, "%[^\n]\n%d\n%d\n%d", name, &hp, &grace, &gclass) != 4); - - - /* Close the file */ - fclose(fp); - - /* Previously, the bone file would now be deleted. The new - * method is to only remove the bone file when the ghost is - * destroyed. This means that failing to kill a ghost will - * not lose it permenently -TM- - * fd_kill(tmp); */ - - /* Catch errors */ - if (err) - { - msg_print("Warning -- deleted corrupt 'ghost' file!"); - return (FALSE); - } - - /* Create "town" flag */ - /* TM- What is this? Previously, if the player and dungeon levels - * were equal then a 'town' ghost was created. I can't see why - * 'town'. They are simply ghosts with abilities determined by - * previous class. Currently we just pick between the two. - * WAS: if (level == p_ptr->lev) town = TRUE; - */ - if (!rand_int(2)) town = TRUE; - - /* Set up the ghost */ - set_ghost(name, hp, grace, gclass, level, town); - - - /* Hack -- pick a nice (far away) location */ - while (1) - { - - /* Pick a location */ - y = randint(cur_hgt - 2); - x = randint(cur_wid - 2); - - /* Require "naked" floor grid */ - if (!cave_empty_bold(y, x)) continue; - - /* Accept far away grids */ - if (distance(p_ptr->py, p_ptr->px, y, x) > MAX_SIGHT + 5) break; - } - - - /*** Place the Ghost by Hand (so no-one else does it accidentally) ***/ - - r_ptr->cur_num = 0; - r_ptr->max_num = 1; - - if (!place_monster_one(y, x, max_r_idx - 1, 0, FALSE, MSTATUS_ENEMY)) - { - return FALSE; - } - - /* Make sure it looks right */ - r_ptr->x_attr = r_ptr->d_attr; - r_ptr->x_char = r_ptr->d_char; - return TRUE; -#else - return (FALSE); -#endif -} diff --git a/src/init2.c b/src/init2.c index 12f3a3d2..8b2e6d89 100644 --- a/src/init2.c +++ b/src/init2.c @@ -81,7 +81,6 @@ void init_file_paths(char *path) /* Free the sub-paths */ string_free(ANGBAND_DIR_APEX); - string_free(ANGBAND_DIR_BONE); string_free(ANGBAND_DIR_CORE); string_free(ANGBAND_DIR_DNGN); string_free(ANGBAND_DIR_DATA); @@ -137,10 +136,6 @@ void init_file_paths(char *path) ANGBAND_DIR_APEX = string_make(path); /* Build a path name */ - strcpy(tail, "bone"); - ANGBAND_DIR_BONE = string_make(path); - - /* Build a path name */ strcpy(tail, "core"); ANGBAND_DIR_CORE = string_make(path); diff --git a/src/main-crb.c b/src/main-crb.c index 7c8d11b7..c03c29f2 100644 --- a/src/main-crb.c +++ b/src/main-crb.c @@ -123,7 +123,7 @@ * * FREF 130 = ANGBAND_CREATOR / 'APPL' (application) * FREF 129 = ANGBAND_CREATOR / 'SAVE' (save file) - * FREF 130 = ANGBAND_CREATOR / 'TEXT' (bone file, generic text file) + * FREF 130 = ANGBAND_CREATOR / 'TEXT' (generic text file) * FREF 131 = ANGBAND_CREATOR / 'DATA' (binary image file, score file) * * DLOG 128 = "About Angband..." @@ -174,7 +174,6 @@ * * File name patterns: * all 'APEX' files have a filename of the form "*:apex:*" (?) - * all 'BONE' files have a filename of the form "*:bone:*" (?) * all 'DATA' files have a filename of the form "*:data:*" * all 'SAVE' files have a filename of the form "*:save:*" * all 'USER' files have a filename of the form "*:user:*" (?) diff --git a/src/main-win.c b/src/main-win.c index e2e71e95..f1ca7d46 100644 --- a/src/main-win.c +++ b/src/main-win.c @@ -4254,7 +4254,6 @@ static void init_stuff(void) /*** Validate the paths to ensure we have a working install ***/ validate_dir(ANGBAND_DIR_APEX); - validate_dir(ANGBAND_DIR_BONE); validate_dir(ANGBAND_DIR_DATA); validate_dir(ANGBAND_DIR_EDIT); validate_dir(ANGBAND_DIR_FILE); @@ -229,13 +229,6 @@ static void change_path(cptr info) #else /* VERIFY_SAVEFILE */ - case 'b': - { - string_free(ANGBAND_DIR_BONE); - ANGBAND_DIR_BONE = string_make(s + 1); - break; - } - case 'd': { string_free(ANGBAND_DIR_DATA); diff --git a/src/makefile.bcc b/src/makefile.bcc index d8fc7e42..5b3342cc 100644 --- a/src/makefile.bcc +++ b/src/makefile.bcc @@ -70,7 +70,6 @@ OBJ = \ generate.obj \ gen_maze.obj \ gen_evol.obj \ - ghost.obj \ help.obj \ init1.obj \ init2.obj \ diff --git a/src/makefile.bsd b/src/makefile.bsd index 5ac2deac..bff25351 100644 --- a/src/makefile.bsd +++ b/src/makefile.bsd @@ -99,7 +99,7 @@ BASESRCS = \ variable.c tables.c plots.c util.c cave.c dungeon.c \ melee1.c melee2.c modules.c \ object1.c object2.c randart.c squeltch.c traps.c \ - monster1.c monster2.c monster3.c ghost.c \ + monster1.c monster2.c monster3.c \ xtra1.c xtra2.c skills.c powers.c gods.c \ spells1.c spells2.c \ status.c files.c notes.c loadsave.c \ @@ -115,7 +115,7 @@ BASEOBJS = \ variable.o tables.o plots.o util.o cave.o dungeon.o \ melee1.o melee2.o modules.o \ object1.o object2.o randart.o squeltch.o traps.o \ - monster1.o monster2.o monster3.o ghost.o \ + monster1.o monster2.o monster3.o \ xtra1.o xtra2.o skills.o powers.o gods.o \ spells1.o spells2.o \ status.o files.o notes.o loadsave.o \ diff --git a/src/makefile.cyg b/src/makefile.cyg index 5481e9ae..2fb3fa42 100644 --- a/src/makefile.cyg +++ b/src/makefile.cyg @@ -280,7 +280,7 @@ BASESRCS = \ cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c cmd7.c \ store.c birth.c notes.c help.c \ status.c randart.c gods.c modules.c \ - wizard1.c wizard2.c levels.c ghost.c \ + wizard1.c wizard2.c levels.c \ generate.c gen_maze.c gen_evol.c dungeon.c init1.c init2.c \ bldg.c squeltch.c wild.c powers.c plots.c \ irc.c skills.c \ @@ -296,7 +296,7 @@ BASEOBJS = \ status.o randart.o irc.o skills.o gods.o modules.o \ xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o \ object1.o object2.o traps.o monster1.o monster2.o monster3.o \ - variable.o tables.o util.o cave.o ghost.o wild.o powers.o + variable.o tables.o util.o cave.o wild.o powers.o LUASRCS = \ script.c lua_bind.c \ diff --git a/src/makefile.mingw b/src/makefile.mingw index 27a8cb6e..3e081524 100644 --- a/src/makefile.mingw +++ b/src/makefile.mingw @@ -278,7 +278,7 @@ BASESRCS = \ cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c cmd7.c \ store.c birth.c notes.c help.c \ status.c randart.c gods.c modules.c \ - wizard1.c wizard2.c levels.c ghost.c \ + wizard1.c wizard2.c levels.c \ generate.c gen_maze.c gen_evol.c dungeon.c init1.c init2.c \ bldg.c squeltch.c wild.c powers.c plots.c \ irc.c skills.c \ @@ -294,7 +294,7 @@ BASEOBJS = \ status.o randart.o irc.o skills.o gods.o modules.o \ xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o \ object1.o object2.o traps.o monster1.o monster2.o monster3.o \ - variable.o tables.o util.o cave.o ghost.o wild.o powers.o + variable.o tables.o util.o cave.o wild.o powers.o LUASRCS = \ script.c lua_bind.c \ diff --git a/src/makefile.osx b/src/makefile.osx index 1c719e88..756231c6 100644 --- a/src/makefile.osx +++ b/src/makefile.osx @@ -24,7 +24,7 @@ BASESRCS = \ variable.c tables.c plots.c util.c cave.c dungeon.c \ melee1.c melee2.c modules.c \ object1.c object2.c randart.c squeltch.c traps.c \ - monster1.c monster2.c monster3.c ghost.c \ + monster1.c monster2.c monster3.c \ xtra1.c xtra2.c skills.c powers.c gods.c \ spells1.c spells2.c \ status.c files.c notes.c loadsave.c \ @@ -40,7 +40,7 @@ BASEOBJS = \ variable.o tables.o plots.o util.o cave.o dungeon.o \ melee1.o melee2.o modules.o \ object1.o object2.o randart.o squeltch.o traps.o \ - monster1.o monster2.o monster3.o ghost.o \ + monster1.o monster2.o monster3.o \ xtra1.o xtra2.o skills.o powers.o gods.o \ spells1.o spells2.o \ status.o files.o notes.o loadsave.o \ diff --git a/src/makefile.sdliso b/src/makefile.sdliso index f9f653ba..2c939d92 100644 --- a/src/makefile.sdliso +++ b/src/makefile.sdliso @@ -294,7 +294,7 @@ BASESRCS = \ variable.c tables.c plots.c util.c cave.c dungeon.c \ melee1.c melee2.c modules.c \ object1.c object2.c randart.c squeltch.c traps.c \ - monster1.c monster2.c monster3.c ghost.c \ + monster1.c monster2.c monster3.c \ xtra1.c xtra2.c skills.c powers.c gods.c \ spells1.c spells2.c \ status.c files.c notes.c loadsave.c \ @@ -313,7 +313,7 @@ BASEOBJS = \ variable.o tables.o plots.o util.o cave.o dungeon.o \ melee1.o melee2.o modules.o \ object1.o object2.o randart.o squeltch.o traps.o \ - monster1.o monster2.o monster3.o ghost.o \ + monster1.o monster2.o monster3.o \ xtra1.o xtra2.o skills.o powers.o gods.o \ spells1.o spells2.o \ status.o files.o notes.o loadsave.o \ diff --git a/src/makefile.std b/src/makefile.std index f1db7e43..486d5006 100644 --- a/src/makefile.std +++ b/src/makefile.std @@ -346,7 +346,7 @@ BASESRCS = \ variable.c tables.c plots.c util.c cave.c dungeon.c \ melee1.c melee2.c modules.c \ object1.c object2.c randart.c squeltch.c traps.c \ - monster1.c monster2.c monster3.c ghost.c \ + monster1.c monster2.c monster3.c \ xtra1.c xtra2.c skills.c powers.c gods.c \ spells1.c spells2.c \ status.c files.c notes.c loadsave.c \ @@ -362,7 +362,7 @@ BASEOBJS = \ variable.o tables.o plots.o util.o cave.o dungeon.o \ melee1.o melee2.o modules.o \ object1.o object2.o randart.o squeltch.o traps.o \ - monster1.o monster2.o monster3.o ghost.o \ + monster1.o monster2.o monster3.o \ xtra1.o xtra2.o skills.o powers.o gods.o \ spells1.o spells2.o \ status.o files.o notes.o loadsave.o \ diff --git a/src/makefile.win b/src/makefile.win index c5ee9997..e2d34337 100644 --- a/src/makefile.win +++ b/src/makefile.win @@ -26,7 +26,7 @@ SRCS = \ cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c cmd7.c \ status.c randart.c gods.c \ store.c birth.c loadsave.c notes.c squeltch.c \ - wizard1.c wizard2.c levels.c ghost.c \ + wizard1.c wizard2.c levels.c \ generate.c gen_maze.c gen_evol.c dungeon.c init1.c init2.c \ main-win.c readdib.c \ bldg.c wild.c powers.c @@ -40,7 +40,7 @@ OBJS = \ cmd1.obj cmd2.obj cmd3.obj cmd4.obj cmd5.obj cmd6.obj cmd7.obj \ status.obj randart.obj gods.obj \ store.obj birth.obj loadsave.obj notes.obj squeltch.obj \ - wizard1.obj wizard2.obj levels.obj ghost.obj \ + wizard1.obj wizard2.obj levels.obj \ generate.obj gen_maze.obj gen_evol.obj dungeon.obj init1.obj init2.obj \ main-win.obj readdib.obj \ bldg.obj wild.obj powers.obj @@ -54,7 +54,7 @@ OBJS32 = \ cmd1.o32 cmd2.o32 cmd3.o32 cmd4.o32 cmd5.o32 cmd6.o32 cmd7.o32 \ status.o32 randart.o32 gods.o32 \ store.o32 birth.o32 loadsave.o32 notes.o32 squeltch.o32 \ - wizard1.o32 wizard2.o32 levels.o32 ghost.o32 \ + wizard1.o32 wizard2.o32 levels.o32 \ generate.o32 gen_maze.o32 gen_evol.o32 dungeon.o32 init1.o32 init2.o32 \ main-win.o32 readdib.o32 \ bldg.o32 wild.o32 @@ -169,7 +169,7 @@ melee1 melee2 files plots help + cmd1 cmd2 cmd3 cmd4 cmd5 cmd6 cmd7 + status randart gods + store birth loadsave notes squeltch + -wizard1 wizard2 levels ghost + +wizard1 wizard2 levels + generate gen_maze gen_evol dungeon init1 init2 + main-win readdib bldg wild powers + ..\angband.exe,..\angband.map,import cwl,..\ext-win\src\angband.def @@ -198,7 +198,7 @@ melee1.o32 melee2.o32 files.o32 plots.o32 help.o32 + cmd1.o32 cmd2.o32 cmd3.o32 cmd4.o32 cmd5.o32 cmd6.o32 cmd7.o32 + status.o32 randart.o32 gods.o32 + store.o32 birth.o32 loadsave.o32 notes.o32 squeltch.o32 + -wizard1.o32 wizard2.o32 levels.o32 ghost.o32 + +wizard1.o32 wizard2.o32 levels.o32 + generate.o32 gen_maze.o32 gen_evol.o32 dungeon.o32 init1.o32 init2.o32 + main-win.o32 readdib.o32 bldg.o32 wild.o32 powers.o32+ ..\angband32.exe,..\angband.map,import32 cw32,..\ext-win\src\angband.def diff --git a/src/modules.c b/src/modules.c index 6311dbad..1555eff3 100644 --- a/src/modules.c +++ b/src/modules.c @@ -37,7 +37,6 @@ void module_reset_dir(cptr dir, cptr new_path) char buf[1025]; if (!strcmp(dir, "apex")) d = &ANGBAND_DIR_APEX; - if (!strcmp(dir, "bone")) d = &ANGBAND_DIR_BONE; if (!strcmp(dir, "core")) d = &ANGBAND_DIR_CORE; if (!strcmp(dir, "dngn")) d = &ANGBAND_DIR_DNGN; if (!strcmp(dir, "data")) d = &ANGBAND_DIR_DATA; diff --git a/src/util.pkg b/src/util.pkg index bb1de5b0..1dd6000b 100644 --- a/src/util.pkg +++ b/src/util.pkg @@ -2008,14 +2008,6 @@ extern cptr ANGBAND_DIR; */ extern cptr ANGBAND_DIR_APEX; -/** @var ANGBAND_DIR_BONE - * @brief String - * @note - * Bone files for player ghosts (ascii)\n - * These files are portable between platforms - */ -extern cptr ANGBAND_DIR_BONE; - /** @var ANGBAND_DIR_CORE * @brief String * @note diff --git a/src/variable.c b/src/variable.c index 8527405f..fa42772f 100644 --- a/src/variable.c +++ b/src/variable.c @@ -1036,12 +1036,6 @@ cptr ANGBAND_DIR; cptr ANGBAND_DIR_APEX; /* - * Bone files for player ghosts (ascii) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_BONE; - -/* * Core lua system * These files are portable between platforms */ diff --git a/src/xtra2.c b/src/xtra2.c index a3d8471c..0dbc2b02 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -4768,26 +4768,6 @@ bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note) } } -#if 0 /* DGDGDG -- pfft */ - /* XXX XXX Mega-Hack -- allow another ghost later - * Remove the slain bone file */ - if (m_ptr->r_idx == max_r_idx - 1) - { - r_ptr->max_num = 1; - - /* Delete the bones file */ - sprintf(tmp, "%s%sbone%03d.%03d", ANGBAND_DIR_BONE, PATH_SEP, dungeon_type, dun_level); - - /* Grab permission */ - safe_setuid_grab(); - - /* Remove the bone file */ - fd_kill(tmp); - - /* Drop permission */ - safe_setuid_drop(); - } -#endif /* If the player kills a Unique, and the notes options are on, write a note */ if ((r_ptr->flags1 & RF1_UNIQUE) && take_notes && auto_notes) { |