Mercurial > hg > early-roguelike
annotate urogue/fight.c @ 263:08057be02f47
UltraRogue: make scorefile location configurable.
| author | John "Elwin" Edwards | 
|---|---|
| date | Wed, 15 Feb 2017 20:38:12 -0500 | 
| parents | c495a4f288c6 | 
| children | 317166b49d8a | 
| rev | line source | 
|---|---|
| 256 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 1 /* | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 2 fight.c - All the fighting gets done here | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 3 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 4 UltraRogue: The Ultimate Adventure in the Dungeons of Doom | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 5 Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 6 All rights reserved. | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 7 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 8 Based on "Advanced Rogue" | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 9 Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 10 All rights reserved. | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 11 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 12 Based on "Rogue: Exploring the Dungeons of Doom" | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 13 Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 14 All rights reserved. | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 15 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 16 See the file LICENSE.TXT for full copyright and licensing information. | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 17 */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 18 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 19 #include <stdlib.h> | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 20 #include <string.h> | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 21 #include <ctype.h> | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 22 #include "rogue.h" | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 23 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 24 /* | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 25 * This are the beginning experience levels for all players all further | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 26 * experience levels are computed by multiplying by 2 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 27 */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 28 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 29 static long e_levels[10] = | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 30 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 31 143L, /* Fighter */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 32 182L, /* Paladin */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 33 169L, /* Ranger */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 34 127L, /* Cleric */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 35 154L, /* Druid */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 36 185L, /* Magician */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 37 169L, /* Illusionist */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 38 112L, /* Thief */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 39 126L, /* Assasin */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 40 319L /* Ninja */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 41 }; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 42 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 43 static struct matrix att_mat[11] = | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 44 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 45 /* Base, Max_lvl, Factor, Offset, Range */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 46 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 47 { 10, 17, 2, 1, 2 }, /* fi */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 48 { 10, 17, 2, 1, 2 }, /* pa */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 49 { 10, 17, 2, 1, 2 }, /* ra */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 50 { 10, 19, 2, 1, 3 }, /* cl */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 51 { 10, 19, 2, 1, 3 }, /* dr */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 52 { 9, 21, 2, 1, 5 }, /* mu */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 53 { 9, 21, 2, 1, 5 }, /* il */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 54 { 10, 21, 2, 1, 4 }, /* th */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 55 { 10, 21, 2, 1, 4 }, /* as */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 56 { 10, 21, 2, 1, 4 }, /* nj */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 57 { 7, 25, 1, 0, 2 } /* mn */ | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 58 }; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 59 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 60 void | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 61 do_fight(coord dir, int tothedeath) | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 62 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 63 int x,y; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 64 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 65 x = dir.x; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 66 y = dir.y; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 67 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 68 if (!tothedeath && pstats.s_hpt < max_stats.s_hpt / 3) | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 69 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 70 msg("That's not wise."); | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 71 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 72 after = fighting = FALSE; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 73 return; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 74 } | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 75 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 76 if (isalpha(CCHAR(winat(hero.y + y, hero.x + x)))) | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 77 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 78 after = fighting = TRUE; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 79 do_move(y, x); | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 80 } | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 81 else | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 82 { | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 83 if (fighting == FALSE) | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 84 msg("Nothing there."); | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 85 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 86 after = fighting = FALSE; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 87 } | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 88 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 89 return; | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 90 } | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 91 | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 92 /* | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 93 fight() | 
| 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents:  | 
