nexus/map.h

57 lines
2.4 KiB
C
Raw Normal View History

2010-12-02 12:17:54 +11:00
#include "defs.h"
cell_t *addcell(map_t *map, int x, int y);
map_t *addmap(void);
2011-03-04 12:22:36 +11:00
lifeform_t *addmonster(cell_t *c, enum RACE raceid, int jobok, int amt);
2011-02-01 06:16:13 +11:00
void addrandomob(cell_t *c);
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
void addrandomthing(cell_t *c, int obchance);
2011-02-01 06:16:13 +11:00
int cellhaslos(cell_t *c1, cell_t *dest);
2010-12-02 12:17:54 +11:00
cell_t *getcellat(map_t *map, int x, int y);
int getcelldist(cell_t *src, cell_t *dst);
2011-02-01 06:16:13 +11:00
int getcelldistorth(cell_t *src, cell_t *dst);
enum CELLTYPE getemptycelltype(enum HABITAT hab);
object_t *gettopobject(cell_t *where);
void calclight(map_t *map);
2010-12-02 12:17:54 +11:00
int calcroompos(map_t *map, int w, int h, int *bx, int *by);
int countadjcellsoftype(cell_t *cell, int id);
2011-02-01 06:16:13 +11:00
int countadjcellswithflag(cell_t *cell, enum FLAG fid);
2010-12-02 12:17:54 +11:00
int countcellexits(cell_t *cell);
2011-02-01 06:16:13 +11:00
void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_t *returnstairtype);
2010-12-02 12:17:54 +11:00
void createroom(map_t *map, int minx, int miny, int w, int h, int roomid);
int dirtox(int dt, int dir);
int dirtoy(int dt, int dir);
void dumpmap(map_t *map);
void explodesinglecell(cell_t *c, int dam, int killwalls, object_t *o, cell_t *centre);
2011-02-01 06:16:13 +11:00
void explodecells(cell_t *c, int dam, int killwalls, object_t *o, int range, int wantannounce);
2010-12-02 12:17:54 +11:00
map_t *findmap(int mid);
2011-02-01 06:16:13 +11:00
map_t *findmapofdepth(int depth);
cell_t *findobinmap(map_t *m, enum OBCLASS oid);
2010-12-07 18:34:26 +11:00
void forgetcells(map_t *map, int amt);
2010-12-02 12:17:54 +11:00
cell_t *getcellindir(cell_t *cell, int dir);
int getnewdigdir(cell_t *cell, int lastdir, int turnpct, int *moved);
int getobchance(int habitat);
2011-02-01 06:16:13 +11:00
cell_t *getrandomadjcell(cell_t *c, int wantempty);
2010-12-02 12:17:54 +11:00
cell_t *getrandomcell(map_t *map);
cell_t *getrandomcelloftype(map_t *map, int id);
int getrandomdir(int dirtype);
cell_t *getrandomroomcell(map_t *map, int roomid);
2011-03-04 12:22:36 +11:00
int getslipperyness(cell_t *c, object_t **slipob);
object_t *hasenterableobject(cell_t *c);
2011-02-01 06:16:13 +11:00
lifeform_t *haslf(cell_t *c);
int hasobject(cell_t *c);
int isadjacent(cell_t *src, cell_t *dst);
int isdiggable(cell_t *c);
int isdoor(object_t *o, int *isopen);
int isempty(cell_t *c);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
int isinscanrange(cell_t *c, void **thing, char *desc, glyph_t *glyph);
2011-02-01 06:16:13 +11:00
int islit(cell_t *c);
2010-12-02 12:17:54 +11:00
int isloopdirok(cell_t *cell, int dir);
int isnewcellok(cell_t *cell, char *err);
int isonmap(map_t *map, int x, int y);
int iswallindir(cell_t *cell, int dir);
void makedoor(cell_t *cell);
2011-03-10 16:47:18 +11:00
void makelit(cell_t *c, enum LIGHTLEV how, int howlong);
void makelitradius(cell_t *c, int radius, enum LIGHTLEV how, int howlong);
2010-12-02 12:17:54 +11:00
void setcelltype(cell_t *cell, int id);
2010-12-07 18:34:26 +11:00
void updateknowncells(void);