2010-12-02 12:17:54 +11:00
|
|
|
#include "defs.h"
|
|
|
|
|
|
|
|
cell_t *addcell(map_t *map, int x, int y);
|
2011-06-29 18:48:48 +10:00
|
|
|
habitat_t *addhabitat(enum HABITAT id, char *name, enum CELLTYPE emptycell, enum CELLTYPE solidcell, int thingchance, int obchance, int vaultchance);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
void addhomeobs(lifeform_t *lf);
|
2010-12-02 12:17:54 +11:00
|
|
|
map_t *addmap(void);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
lifeform_t *addmonster(cell_t *c, enum RACE raceid, int jobok, int amt, int autogen, int *nadded);
|
2011-05-20 06:30:58 +10:00
|
|
|
object_t *addrandomob(cell_t *c);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
int addrandomthing(cell_t *c, int obchance, int *nadded);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
region_t *addregion(enum REGIONTYPE rtype, region_t *parent, int outlineid);
|
2011-06-22 16:01:48 +10:00
|
|
|
regionoutline_t *addregionoutline(enum REGIONTYPE rtype);
|
|
|
|
regionthing_t *addregionthing(regionoutline_t *ro, int depth, int x, int y, enum REGIONTHING whatkind, int value, char *what);
|
2011-06-29 18:48:48 +10:00
|
|
|
regiontype_t *addregiontype(enum REGIONTYPE id, enum HABITAT defaulthabitat, int maxdepth, int stairsperlev, int deeperdir, int major);
|
2011-06-22 16:01:48 +10:00
|
|
|
int autodoors(map_t *map, int roomid, int minx, int miny, int maxx, int maxy, int doorpct, int dooropenchance);
|
2011-02-01 06:16:13 +11:00
|
|
|
int cellhaslos(cell_t *c1, cell_t *dest);
|
2011-06-09 18:58:35 +10:00
|
|
|
void clearcell(cell_t *c);
|
|
|
|
int dowaterspread(cell_t *c);
|
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);
|
2011-04-06 17:27:55 +10:00
|
|
|
void getcellglyph(glyph_t *g, cell_t *c, lifeform_t *viewer);
|
2011-06-09 18:58:35 +10:00
|
|
|
enum DEPTH getcellwaterdepth(cell_t *c, lifeform_t *lf);
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
int getdoorlockdiff(int depth);
|
|
|
|
int getdoorsecretdiff(int depth);
|
2011-05-20 06:30:58 +10:00
|
|
|
flag_t *getmapcoords(map_t *m, int *x, int *y);
|
|
|
|
int getmapdifficulty(map_t *m);
|
2011-06-23 15:57:55 +10:00
|
|
|
map_t *getmapindir(map_t *src, int dir);
|
2011-06-09 18:58:35 +10:00
|
|
|
void getradiuscells(cell_t *centre, int radius, int dirtype, enum LOFTYPE needlof, int wantcentre, cell_t **retcell, int *ncells);
|
|
|
|
void getroomedge(map_t *m, int roomid, int minx, int miny, int maxx, int maxy, int whichside, cell_t **retcell, int *ncells, int onlywantsolid);
|
|
|
|
object_t *gettopobject(cell_t *where, int forglyph);
|
2011-02-01 06:16:13 +11:00
|
|
|
void calclight(map_t *map);
|
2011-06-29 18:48:48 +10:00
|
|
|
int calcroompos(map_t *map, int w, int h, int xmargin, int ymargin, int *bx, int *by, int force);
|
2010-12-02 12:17:54 +11:00
|
|
|
int countadjcellsoftype(cell_t *cell, int id);
|
2011-06-29 18:48:48 +10:00
|
|
|
int countadjrooms(cell_t *cell);
|
2011-07-01 13:34:41 +10:00
|
|
|
int countadjcellswithflag(cell_t *cell, enum FLAG fid, int dirtype);
|
2011-06-23 15:57:55 +10:00
|
|
|
int countadjwalls(cell_t *cell);
|
2010-12-02 12:17:54 +11:00
|
|
|
int countcellexits(cell_t *cell);
|
2011-07-01 13:34:41 +10:00
|
|
|
int countcellexitsfor(lifeform_t *lf);
|
2011-06-29 18:48:48 +10:00
|
|
|
void createdungeon(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
|
|
|
|
void createforest(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob, int nclearings);
|
|
|
|
void createhabitat(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
|
|
|
|
void createmap(map_t *map, int depth, region_t *region, map_t *parentmap, int exitdir, object_t *entryob);
|
|
|
|
void createpit(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
|
2011-06-22 16:01:48 +10:00
|
|
|
void createregionlink(map_t *m, cell_t *c, object_t *o, char *obname, enum REGIONTYPE newregiontype, region_t *parent);
|
2011-06-29 18:48:48 +10:00
|
|
|
int createroom(map_t *map, int roomid, int overrideminw, int overrideminh, int xmargin, int ymargin, int *retx, int *rety, int *retw, int *reth, int doorpct, int forcewalls);
|
|
|
|
int createvault(map_t *map, int roomid, vault_t *v, int *retw, int *reth, int *retx, int *rety);
|
2010-12-02 12:17:54 +11:00
|
|
|
int dirtox(int dt, int dir);
|
|
|
|
int dirtoy(int dt, int dir);
|
|
|
|
void dumpmap(map_t *map);
|
2011-03-18 12:25:18 +11:00
|
|
|
void explodesinglecell(cell_t *c, int dam, int killwalls, object_t *o, cell_t *centre);
|
2011-04-14 09:44:29 +10:00
|
|
|
void explodecells(cell_t *c, int dam, int killwalls, object_t *o, int range, int dirtype, int wantannounce);
|
|
|
|
celltype_t *findcelltype(enum CELLTYPE cid);
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
celltype_t *findcelltypebyname(char *name);
|
2011-06-22 16:01:48 +10:00
|
|
|
habitat_t *findhabitat(enum HABITAT id);
|
|
|
|
habitat_t *findhabitatbyname(char *name);
|
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);
|
2011-05-20 06:30:58 +10:00
|
|
|
cell_t *findmapentrypoint(map_t *m, int side, lifeform_t *lf);
|
2011-04-08 13:18:54 +10:00
|
|
|
object_t *findobidinmap(map_t *m, long id);
|
2011-07-01 13:34:41 +10:00
|
|
|
cell_t *findobinmap(map_t *m, enum OBTYPE oid);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
regionoutline_t *findoutline(int id);
|
2011-06-22 16:01:48 +10:00
|
|
|
region_t *findregion(int regionid);
|
|
|
|
region_t *findregionbytype(enum REGIONTYPE rtid);
|
|
|
|
map_t *findregionmap(int regionid, int depth);
|
|
|
|
regiontype_t *findregiontype(enum REGIONTYPE rtype);
|
|
|
|
map_t *findsurfaceexitmap(map_t *m);
|
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);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
cell_t *getclosestroomcell(lifeform_t *lf, int roomid);
|
2010-12-02 12:17:54 +11:00
|
|
|
int getnewdigdir(cell_t *cell, int lastdir, int turnpct, int *moved);
|
|
|
|
int getobchance(int habitat);
|
2011-06-22 16:01:48 +10:00
|
|
|
char *getregionname(char *buf, map_t *m, int withlevel);
|
2011-05-16 12:03:25 +10:00
|
|
|
int getthingchance(int habitat);
|
2011-04-06 17:27:55 +10:00
|
|
|
cell_t *getrandomadjcell(cell_t *c, int wantempty, int allowexpand);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
cell_t *real_getrandomadjcell(cell_t *c, int wantempty, int allowexpand, enum LOFTYPE needlof, enum OBTYPE *dontwantob);
|
2010-12-02 12:17:54 +11:00
|
|
|
cell_t *getrandomcell(map_t *map);
|
2011-06-05 19:21:21 +10:00
|
|
|
cell_t *getrandomcelloftype(map_t *map, enum CELLTYPE id);
|
2010-12-02 12:17:54 +11:00
|
|
|
int getrandomdir(int dirtype);
|
|
|
|
cell_t *getrandomroomcell(map_t *map, int roomid);
|
2011-04-14 09:44:29 +10:00
|
|
|
void getroomcells(map_t *m, int roomid, cell_t **retcell, int *ncells);
|
2011-03-04 12:22:36 +11:00
|
|
|
int getslipperyness(cell_t *c, object_t **slipob);
|
2011-04-08 13:18:54 +10:00
|
|
|
cell_t *getstairdestination(object_t *o);
|
2011-02-16 05:21:33 +11:00
|
|
|
object_t *hasenterableobject(cell_t *c);
|
2011-06-09 18:58:35 +10:00
|
|
|
object_t *hascloseddoor(cell_t *c);
|
2011-02-01 06:16:13 +11:00
|
|
|
lifeform_t *haslf(cell_t *c);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
int hasknownobject(cell_t *c);
|
2011-02-01 06:16:13 +11:00
|
|
|
int hasobject(cell_t *c);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
object_t *hastrailof(obpile_t *op, lifeform_t *lf, enum OBTYPE oid, flag_t **tflag, lifeform_t *viewer);
|
2011-06-22 16:01:48 +10:00
|
|
|
void initmap(void);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isadjacent(cell_t *src, cell_t *dst);
|
2011-04-11 15:05:45 +10:00
|
|
|
int isdark(cell_t *c);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isdiggable(cell_t *c);
|
|
|
|
int isdoor(object_t *o, int *isopen);
|
|
|
|
int isempty(cell_t *c);
|
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);
|
2011-05-16 12:03:25 +10:00
|
|
|
int isoutdoors(map_t *m);
|
2011-06-29 18:48:48 +10:00
|
|
|
int isroom(cell_t *c);
|
2010-12-02 12:17:54 +11:00
|
|
|
int iswallindir(cell_t *cell, int dir);
|
2011-06-09 18:58:35 +10:00
|
|
|
int linkexits(map_t *m, int roomid, int minx, int miny, int maxx, int maxy);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int linkholes(map_t *map);
|
2011-06-29 18:48:48 +10:00
|
|
|
int linkstairs(object_t *o, object_t *o2);
|
2011-06-22 16:01:48 +10:00
|
|
|
void makedoor(cell_t *cell, int openchance);
|
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);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
void mapentereffects(map_t *m);
|
2011-05-20 06:30:58 +10:00
|
|
|
void setcellknown(cell_t *cell, int forcelev);
|
2011-07-01 13:34:41 +10:00
|
|
|
void setcellknownradius(cell_t *centre, int forcelev, int radius, int dirtype);
|
2011-06-22 16:01:48 +10:00
|
|
|
void setcelltype(cell_t *cell, enum CELLTYPE id);
|
|
|
|
int shattercell(cell_t *c, lifeform_t *fromlf, char *damstring);
|
2010-12-07 18:34:26 +11:00
|
|
|
void updateknowncells(void);
|
2011-06-22 16:01:48 +10:00
|
|
|
int validateregions(void);
|
|
|
|
int validateregionthing(regionthing_t *thing);
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
int wallstoleftright(cell_t *c, int dir);
|