Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
poschengband committed Nov 22, 2014
2 parents 5537bbc + 2aafbba commit 823f24a
Show file tree
Hide file tree
Showing 24 changed files with 9,733 additions and 8,532 deletions.
2 changes: 1 addition & 1 deletion lib/edit/e_info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -919,7 +919,7 @@ W:20:*:1
F:HIDE_TYPE

N:303:RING:of Archery
W:20:*:1
W:20:*:2
F:HIDE_TYPE

N:304:RING:(Defender)
Expand Down
16 changes: 8 additions & 8 deletions lib/edit/r_info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11717,10 +11717,10 @@ N:702:Greater titan
G:P:v
I:120:30d100:30:125:15:800
W:46:5:999:15000:0:0
B:HIT:CONFUSE:12d12
B:HIT:CONFUSE:12d12
B:HIT:CONFUSE:12d12
B:HIT:CONFUSE:12d12
B:HIT:CONFUSE:10d10
B:HIT:CONFUSE:10d10
B:HIT:CONFUSE:10d10
B:HIT:CONFUSE:10d10
F:FORCE_SLEEP | FORCE_MAXHP |
F:ONLY_ITEM | DROP_4D2 | DROP_GOOD | MOVE_BODY |
F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR |
Expand Down Expand Up @@ -18744,10 +18744,10 @@ N:1050:Atlas, the Titan
G:P:s
I:125:100d100:30:160:15:1000
W:76:3:999:45000:0:0
B:HIT:SHATTER:13d13
B:HIT:CONFUSE:13d13
B:HIT:SHATTER:13d13
B:HIT:CONFUSE:13d13
B:HIT:SHATTER:12d12
B:HIT:CONFUSE:12d12
B:HIT:SHATTER:12d12
B:HIT:CONFUSE:12d12
F:UNIQUE | MALE |
F:FORCE_SLEEP | FORCE_MAXHP |
F:ONLY_ITEM | DROP_GOOD | DROP_4D2 | KILL_BODY | KILL_WALL |
Expand Down
17,359 changes: 9,067 additions & 8,292 deletions lib/edit/v_info.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lib/file/news.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
****************************************
** PosChengband 3.3.6 **
** PosChengband 3.4.0 **
****************************************

Based on Moria: Copyright (c) 1985 Robert Alan Koeneke
Expand Down
6 changes: 4 additions & 2 deletions src/cmd2.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,8 +454,10 @@ static void chest_death(bool scatter, int y, int x, s16b o_idx)
/* Wipe the object */
object_wipe(q_ptr);

/* Small chests often drop gold */
if (small && (randint0(100) < 25))
/* Small chests often drop gold. Wilderness chests almost always
drop gold. */
if ( (!dun_level && (randint0(100) < 95))
|| (small && (randint0(100) < 25)) )
{
/* Make some gold */
if (!make_gold(q_ptr)) continue;
Expand Down
7 changes: 4 additions & 3 deletions src/cmd4.c
Original file line number Diff line number Diff line change
Expand Up @@ -3612,9 +3612,10 @@ static int collect_monsters(int grp_cur, s16b mon_idx[], byte mode)
while (o_idx)
{
object_type *o_ptr = &o_list[o_idx];
if (!o_ptr->k_idx) continue;
if (!object_is_(o_ptr, TV_CORPSE, SV_CORPSE)) continue;
int_map_add(available_corpses, o_ptr->pval, NULL);

if (object_is_(o_ptr, TV_CORPSE, SV_CORPSE))
int_map_add(available_corpses, o_ptr->pval, NULL);

o_idx = o_ptr->next_o_idx;
}
}
Expand Down
8 changes: 8 additions & 0 deletions src/combat.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,14 @@ static _blow_info_t _get_blow_info(int hand)
result.num = 400;
result.mul = 30;
}
else if (prace_is_(RACE_MON_POSSESSOR))
{
result.num = 400;
}
else if (prace_is_(RACE_MON_MIMIC))
{
result.num = 400;
}
else if (prace_is_(RACE_MON_TROLL))
{
result.num = 550;
Expand Down
9 changes: 6 additions & 3 deletions src/defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@


#define VER_MAJOR 3
#define VER_MINOR 3
#define VER_PATCH 6
#define VER_MINOR 4
#define VER_PATCH 0
#define VER_EXTRA 1

/*
Expand Down Expand Up @@ -2705,6 +2705,9 @@ enum summon_specific_e {
SUMMON_CHAPEL_GOOD,
SUMMON_CHAPEL_EVIL,
SUMMON_RING_BEARER,
SUMMON_ARCHER,
SUMMON_MONK,
SUMMON_MAGE,
};

/*
Expand Down Expand Up @@ -4564,7 +4567,7 @@ extern int PlayerUID;
* Parse errors
*/
#define PARSE_ERROR_GENERIC 1
#define PARSE_ERROR_ABSOLETE_FILE 2
#define PARSE_ERROR_OBSOLETE_FILE 2
#define PARSE_ERROR_MISSING_RECORD_HEADER 3
#define PARSE_ERROR_NON_SEQUENTIAL_RECORDS 4
#define PARSE_ERROR_INVALID_FLAG 5
Expand Down
25 changes: 17 additions & 8 deletions src/dungeon.c
Original file line number Diff line number Diff line change
Expand Up @@ -1319,6 +1319,19 @@ static object_type *choose_cursed_obj_name(u32b flag)
return NULL;
}

static bool _fast_mana_regen(void)
{
switch (possessor_class_idx())
{
case CLASS_MAGE:
case CLASS_BLOOD_MAGE:
case CLASS_NECROMANCER:
case CLASS_HIGH_MAGE:
case CLASS_SORCERER:
return TRUE;
}
return FALSE;
}

/*
* Handle timed damage and regeneration every 10 game turns
Expand Down Expand Up @@ -1622,14 +1635,10 @@ static void process_world_aux_hp_and_sp(void)

/* Regenerate the mana */
upkeep_regen = (100 - upkeep_factor) * regen_amount;
if (p_ptr->pclass == CLASS_MAGE ||
p_ptr->pclass == CLASS_BLOOD_MAGE ||
p_ptr->pclass == CLASS_NECROMANCER ||
p_ptr->pclass == CLASS_HIGH_MAGE ||
p_ptr->pclass == CLASS_SORCERER)
{

if (_fast_mana_regen())
upkeep_regen = upkeep_regen * 2;
}

regenmana(upkeep_regen);

if (magic_eater_regen(regen_amount))
Expand Down Expand Up @@ -5004,7 +5013,7 @@ static void process_player(void)
else
{
int amt = (s16b)((s32b)energy_use * ENERGY_NEED() / 100L);
#if _DEBUG
#ifdef _DEBUG
c_put_str(TERM_WHITE, format("E:%3d/%3d", amt, energy_use), 24, 0);
#endif
p_ptr->energy_need += amt;
Expand Down
6 changes: 6 additions & 0 deletions src/externs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1058,6 +1058,9 @@ extern void pack_on_slay_monster(int m_idx);
extern void pack_on_damage_monster(int m_idx);
extern pack_info_t *pack_info_ptr(int m_idx);
extern void pack_choose_ai(int m_idx);
extern bool mon_has_attack_spell(int m_idx);
extern bool mon_has_worthy_attack_spell(int m_idx);
extern bool mon_has_summon_spell(int m_idx);

extern monster_type *mon_get_parent(monster_type *m_ptr);
extern void mon_set_parent(monster_type *m_ptr, int pm_idx);
Expand Down Expand Up @@ -1141,6 +1144,8 @@ extern void apply_magic(object_type *o_ptr, int lev, u32b mode);
extern int apply_magic_ego;
extern void choose_obj_kind(int mode); /* Hack for BM to use new object tval frequencies */
extern bool make_object(object_type *j_ptr, u32b mode);
extern bool kind_is_good(int k_idx);
extern bool kind_is_great(int k_idx);
extern bool kind_is_device(int k_idx);
extern bool kind_is_jewelry(int k_idx);
extern bool kind_is_book(int k_idx);
Expand Down Expand Up @@ -2065,6 +2070,7 @@ extern int possessor_get_spells(spell_info* spells, int max);
extern
caster_info *possessor_caster_info(void);
extern void possessor_calc_bonuses(void);
extern int possessor_class_idx(void);
extern int possessor_r_speed(int r_idx);
extern int possessor_r_ac(int r_idx);
extern void possessor_get_flags(u32b flgs[TR_FLAG_SIZE]);
Expand Down
Loading

0 comments on commit 823f24a

Please sign in to comment.