From fbc40366c8a50a695fcb913c5f25d717330e9672 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Wed, 30 May 2012 07:03:38 +0200 Subject: Lua: Add god_at() for safe indexing of deity_info --- src/externs.h | 1 + src/gods.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/externs.h b/src/externs.h index e584b44c..8f55d3d8 100644 --- a/src/externs.h +++ b/src/externs.h @@ -2447,3 +2447,4 @@ extern int wisdom_scale(int max); extern int find_god(cptr name); extern void follow_god(int god, bool_ silent); extern bool_ god_enabled(struct deity_type *deity); +extern deity_type *god_at(byte god_idx); diff --git a/src/gods.c b/src/gods.c index 170f56b3..f940e21a 100644 --- a/src/gods.c +++ b/src/gods.c @@ -146,6 +146,23 @@ int wisdom_scale(int max) return (i * max) / 37; } +/* + * Get deity info for a given god index. + * Returns NULL for the "atheist" god. + */ +deity_type *god_at(byte god_idx) +{ + assert(god_idx >= 0); + assert(god_idx < MAX_GODS); + + if (god_idx == 0) + { + return NULL; + } + + return &deity_info[god_idx]; +} + /* * Check if god is enabled for the current module */ -- cgit v1.2.3