nexus/map.h

211 lines
12 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);
habitat_t *addhabitat(enum HABITAT id, char *name, enum CELLTYPE emptycell, enum CELLTYPE solidcell, int thingchance, int obchance, int vaultchance, int maxvisrange, enum OBTYPE upstairtype, enum OBTYPE downstairtype);
- [+] bug: notime being set in timeeffectslf() but NOT being UNSET!!! - [+] air spells: - [+] create whirlwind - make a single whirlwind - [+] implement - [+] ethereal steed - move very fast and levitate - [+] f_autocreateob whirlwind behind you - [+] whirlwind object throws any lfs/objects around randomly - [+] tornado - creates a single tornado at a given location (more powerful). it moves around randomly, kills adjacent walls. - [+] F_OBMOVESRANDOMLY - [+] find an adjacent cell (walls ok) - [+] kill any walls there - [+] move there - [+] hurricane - creates a cross cloud of whirlwinds (very powerful!). these move around randomly and kills adjacent walls. - [+] implement - [+] make them all move TOGETHER. - [+] djinni / genie - [+] invisibility - [+] gaseous form - [+] illusion? mirror image ? - [+] permenant ethereal steed effects - [+] airblast - [+] gust of wind - [+] efreeti - [+] wall of fire (new spell) - [+] gas form - [+] enlarge - [+] flame pillar - [+] when summoning a monster with a lifeob, place it under them? - [+] druid should learn canwill plantwalk at some point... level 7 - [+] allow f_cancast to have a timer too, like canwill. (so that monsters only cast certain spells sometimes) - [+] is ai plantwalk working? - [+] seems to... - [+] but then i get "something casts a spell at you!" - [+] aigetspelltarget is setting targlf to player. FIXED. - [+] ai keeps on casting plantwalk after doing it once. - [+] ai needs to sto fleeing after casting plantwalk successfully! - [+] this is because after stealing, we are fleeing for a time limit, rather than PERMENANT - [+] once this is fixed, add spellcasttext plantwalk = null for dryad. - [+] NEw code: if you teleport, and you were fleeing, and you can no longer have LOF to the one uou're fleeing from, STOP. - [+] The dryad vanishes! A dryad moves out of view.--More-- - [+] don't say both! - [+] change CHARMEDBY code for player: - [+] walk towards charmer, then give them your stuff! - [+] dryad brown 'T' (tree creature) - [+] knife - [+] must stay near oak tree - [+] can "plantwalk" between oak trees (or other plants). - [+] cast spell at cell with plant, warps you to a random one - [+] for player: reveal all cells with trees, then ask you which one. - [+] range 1 - [+] maxpower 1 - [+] ai casting: must be a plant in range. - [+] emergency code: if not within lifeob range, move back! - [+] can cast sleep - [+] wants gold/gems/weapons - [+] home oak tree contains gems - [+] steal - [+] stayinroom - [+] charm - [+] AI shouldn't ever walk away from life ob! - [+] ai homeob gems aren't appearing
2012-03-07 22:46:55 +11:00
void addhomeobs(lifeform_t *lf, int dolevelobs);
2010-12-02 12:17:54 +11:00
map_t *addmap(void);
- [+] make zombies eat flesh. - [+] warn before eating your own kind if it will anger your god, and you wisdom is high. - [+] make disease way worse if you eat your own race's corpse! - [+] CRASH when i try to cook firebug corpse * [+] bones files: - [+] when your leg is bleeding, don't lose hp for ATTACKING, only for MOVING. - [+] bug: issue with skill display if you learn higher than your max level by reading a book! - [+] in this case, reading the book should fail. - [+] when you start worshipping felix, allow you to learn lockpicking & thievery to full level! - [+] infinite loop when an ashkari enters rage while already eating. - [+] felix prayer should always unlock all nearby doors - [+] if you add f_calwill xxx, v1=112312 v2=NA, make v2 = v1. - [+] that way we can confer it! - [+] say "this is xxx!" after wearing a new amulet. - [+] fork / knife should make you eat faster. - [+] double the hp of most armour again AMULETS - [+] add new bodypart = neck - [+] object hiddennames * [+] nouns * [+] adjectives - [+] flight (canwill fly) - [+] enhance spell power - [+] victimization (makes everything hostile) (no auto id) - [+] blinking - [+] anger (canwill rage) - [+] vs poison (poison immune) - [+] vs magic (magic resistance) - [+] common - [+] feather fall (dt_fall dmg = 0) - [+] don't "slam into the ground", just "float gently to the ground" - [+] of amplification (boost listening skillchecks, allow you to listen at stairs) - [+] peaceful sleep (don't get woken up by sound, cursed) - [+] chef's amulet(lower metabolism) - [+] thief's amulet (lockpicking)
2012-03-05 21:31:21 +11:00
lifeform_t *addmonster(cell_t *c, enum RACE rid, char *racename, int randomjobok, 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);
region_t *addregion(enum BRANCH rtype, region_t *parent, int outlineid, int depthmod, int createdby);
regionoutline_t *addregionoutline(enum BRANCH rtype);
regionthing_t *addregionthing(regionoutline_t *ro, int depth, int x, int y, enum REGIONTHING whatkind, int value, char *what);
branch_t *addbranch(enum BRANCH id, char *name, int pluralname, enum HABITAT defaulthabitat, int maxdepth, int stairsperlev, int deeperdir, int major, int depthmod, int addparentdepth);
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
void adjustcellglyph(cell_t *c, glyph_t *col);
int autodoors(map_t *map, int roomid, int minx, int miny, int maxx, int maxy, int doorpct, int dooropenchance);
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
void breakwall(cell_t *c, char *why, ...);
2011-02-01 06:16:13 +11:00
int cellhaslos(cell_t *c1, cell_t *dest);
int cellisfixedvaultwall(cell_t *c);
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
int cellmatchescondition(cell_t *c, int wecond);
int cellokforreachability(cell_t *startcell, cell_t *c, int srcroomid, int dir, int wantfilled, int *insameroom);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
void clearcell(cell_t *c);
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
void clearcell_exceptflags(cell_t *c, ...);
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
int delve(map_t *map, int neighbourmin, int neighbourmax, int connchance, int chancepct, int newneighbourmin, int newneighbourmax, int newconnchance, enum CELLTYPE empty, enum CELLTYPE solid);
int delve_countadjgroups(cell_t *centre, enum CELLTYPE ct);
int delve_cuberoot(int num);
int delve_digcell(cellstore_t *cs, cell_t *centre, enum CELLTYPE empty, enum CELLTYPE solid);
cellstore_t *delve_makecellstore(int maxsize);
void delve_killcellstore(cellstore_t *cs);
cell_t *delve_rndpull(cellstore_t *cs, cell_t **c);
void delve_storecell(cellstore_t *cs, cell_t *c);
- [+] announce when a web spell hits you - [+] grammar: xxx "flys" into view. need getmoveverbplural() - [+] make yumi's "well, that seems unfair" only work when killed by a mosnter which didn't chase you up. - [+] no unarmed skill descriptions!! - [+] remove pain ability from stink beetle - [+] cockroach - with just high armour rating (10) - [+] bajeetle - lower armour but bite causes pain - [+] yumi - only allow you to gain piety from letting a monster run away ONCE per mosnter - [+] new monster: petrifungus - [+] give merciful fighting for novoice adanced combat - [+] monsters should lose targets when eating - [+] vault: window in wall - [+] fix werewolf hiding code for Rattus (when medium sized) - [+] "you hear a muffled slithering" - this shouldnt be loud enough to go through walls! - [+] selected Evil Adventurer. alignment ended up as NONE - [+] have added debugging - [+] wait for it to happen again - [+] put in code to check at start of turn whethe r my alignment just changed. - [+] my alignment seems to have changed to NONE - [+] POLYMORPH is causing this. - [+] fixed - [+] commando should have low level version of gunblade - [+] electromachete - low pierce + low electric - [+] gunblade - med slash + low explosive - [+] boomstick - med bash + high explosive - [+] commando should start with a few energy packs (need to add this object) - [+] l2 tech - [+] operate it to recharge tech which has charges. - [+] like a scroll of replenishment, but only for tech. - [+] when monsters follow you up stairs, they should face you - [+] jewelry store should buy watches - [+] when exploding cells, remember who caused it - [+] new arg: lifeform_t *causedby - [+] use this when dealing damage, so that it counts as player kill (etC) - [+] explodeob - [+] monks sohuld be very resistant to being scared - [+] gauntlets (or other hard gloves) should increase unarmed damge by 1 - [+] seems almost impossible to break locks on chests by bashing.... check the calc. - [+] fixed. - [+] ekrub should accept sacrifices of plant matter - [+] sebastian - absorbs physical damage to increase damage. - [+] after first hit: +1dam, knockback - [+] after 2nd: +2 dam - [+] etc - [+] vuln to non-physical (fire, magic, cold, elec, etc) - [+] cockroach, plague rat should taint anything it walks on - [+] fix up morale checks. 30 should be 100. therefore: multiply by 3 and a bit. - [+] CRASH during wish for Power - [+] bug: - [+] You whack the pixie. The pixie turns to face you. The pixie turns to flee from you! Amberon's voice booms out from the heavens: "You dare attack an innocent?" Amberon's voice booms out from the heavens: "You dare attack an innocent?" The pixie gestures at itself. - [+] baba yaga's hut - [+] shoudln't be able todrink potions - [+] shouldn't take criticals - [+] don't annoucne time during combat - [+] bug after giving gold to a bandit: - [+] $ - 0 gold dollars - [+] lore: tech... every level says' no special effects' - [+] bug: Strength: 24 (very weak, +1 dmg)* - [+] bug in getstrdammod() - [+] bug: A brown snake walks into view. - [+] should be 'slithers' - [+] mud shouldnt make shoes wet - [+] refridgerator should only have meat in it - [+] some jobs which have whip skills - [+] scourge should always start with a whip. - [+] fighter should be able to pick it - [+] aligned temples sohuld be half price (or free if god is pleased?) - [+] SM_DETECTCURSE - [+] SM_PURCHASEITEMS - [+] SM_BLESS - [+] SM_MIRACLE - [+] re-introduce monster zoos vault - [+] bullwhip shouldn't be able to dull! - [+] banana skin not slippery anoymore - [+] slightly boost player's starting hp - [+] why can vampire bat reach me to damage by boots/trousers? - [+] check out canreachbp() in lf.c - [+] maybe fixed - [+] commando's starting gun should start with normal bullets, never silver - [+] klikirak should grant fire powers - [+] cast pyromania when you pray - [+] gift: immolate every 20 turns - [+] fix trytokillobs() - this might fix some of the infinite loops i'm getting during level creation. - [+] klikirak should give slightly more xp for sacrifing objects - [+] hawks should swoop more often - [+] book colours are incorrect (ie. "red book" isn't red) - [+] i saw "something burns!" while resting... - [+] make hollow trees be green - [+] blessed amnesia shouldn't do anything bad - [+] armour stores shouldn't get hot! - [+] earthworm should only divide from slash damage - not bash - [+] queen ant shoudl be able to summon lots of soldiers - [+] staircases should be on top of ash piles when draring them!! - [+] in fact, staircases should be on top of _everything_ - [+] sanctuary potion should put out fires under you! (or anything with walkdam) - [+] shouldn't be able to smell by's hut - [+] wood wall should be diggable with pickaxe - [+] does shovel actually work? no, but it does now. - [+] dungeon level name - if it has a swamp vault, level is just called "the swamp" - [+] fire damage to bread = toast - [+] only say "the light here is a bit dim" etc if it's different form your previous level - [+] weapon stores shouldn't appear in baba yaha's hut! - [+] i think i said "weapon" but it turned into weapon store. - [+] works in a wish...... is this only a problem in a vault? - [+] test agian..... - [+] during summon mosnter, don't say 'the xxx starts to fly!' before "the xxx appears" - [+] when i read a create monster scroll, this _doesnt_ happen. - [+] when i cast summon small animals and a brian bat appears, it _doesnt_ happen - [+] only seems to happen whan a mosnter uses a summon spell - [+] maybe to do with finalisemonster() or "autogen" being set in addmonster? - [+] fixed now? - [+] walking on water shouldn't extinguish a flaming weapon! - [+] losehp_real needs a 'bodypart' argument - [+] klikirak should like killing plants - [+] do something to stop kilkirak worhipers from scarificeing the entire forest! - [+] if you attack a plant lf in the sylvan forest - [+] nearby plants attack. - [+] 33% chance of a treant: - [+] same if you destroy a plant object - [+] takedamage() needs a "fromlf" arg - [+] or sacrifice one. - [+] _warning_ if you attack a plant object or plant lf. (but don't kill it) - [+] WISDOM warnings: - [+] if you are about to attack an OC_FLORA object in the woods (and have felt the woods get angry once before) - [+] if you are about to attack a RC_PLANT lf in the woods - [+] if you are about to attack a CT_WALLTREE cell in the woods - [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
int damagecell(cell_t *c, int amt, enum DAMTYPE damtype, lifeform_t *fromlf);
int doelementspread(cell_t *c);
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
int dodoorfill(cell_t *c);
void doorfill_r(cell_t *startcell, cell_t *c, int *nfilled);
- [+] when throwin gn aobject, warn if you have no LOF (just like spells) - [+] allow dodge/catch of thrown object when there is no thrower (ie. arrow traps) - [+] simplify monster spellcasting - [+] don't use any mp - [+] select power based on monster hit dice only - [+] monsters should cast spells less often - use f_castchance, default of 15% chance - [+] TEST - [+] you keep your own mpdice when polymorphing into a mosnter - [+] fxied: throw a tranq dart, then: - [+] The cockatrice loses consciousness. The cockatrice falls asleep. - [+] bug: can't operate a fridge on the ground cause it's too heavy to lift - [+] monsters generated on dark levels should always have seeindark 3-4 - [+] vending machines not working... fixed. - [+] in getchoicestr: - [+] if !showall, and if it shows a longdesc, then you hit backspace, longdesc should be cleared. - [+] show completion in a different colour - [+] bug: sometimes we seem to have map->room[x], but no cells with cell->room->id == thatid!! - [+] stop vaults from overlapping. - [+] taking too long to walk down levels - enforce max number of monster free turns - [+] inept weapon penalty should be slightly higher - [+] bad feeling check is too easy. - [+] skeletons should have f_noinjuries - [+] shouldn't check for slipping on things while swimming - [+] tweak how traps + perception skill impact search checks - [+] bug: sometimes we have no player start position. - [+] if the vault creation fails, restart map generation. - [+] only give study scroll ability at high spellcasting skill - [+] typo: ring (1 charges left) * [+] god effects when you die: - [+] pea soup should work in the cell in FRONT of you. - [+] bug: ring of control seems to work when you _weild_ it!! - [+] non-lethal weapons - [+] sword of mercy (at <1hp, ko) - [+] tranq dart - [+] add sleeptypes - [+] change all refernces to f_asleep->val[1] (now an enum) - [+] change "stirs in its slumber" if unconscious - [+] change all 'fallasleep' calls - [+] attacking a ko'd enemy with merciful weapon should do nothing. - [+] ai shouldn't target ko'd enemies - [+] ai should stop targetting people once they're dead/ko'd - [+] bashing damage should sometimes just knock unconscious instead of killing? - [+] if their hp would be >= -3, and onein(2) - [+] different body part names? "metal frame" instead of "body" - [+] implement F_BPNAME, v0=enum bodypart, text = name - [+] getbodypartname() needs a lf argument. - [+] once i add this, also make animals have "front legs" instead of "arms", "paws" rather than "hands" etc. - [+] fix calls to getbodypartname to pass in lf or null - [+] cyborg mods: - [+] can't wear most armour? - [+] need f_noarmouron - we HAVE this bp, but can't put armour on it. - [+] large rust damage from water - [+] if you have a bad feeling about an object, mark it as "[bad]" - [+] f_knownbad - [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
int fix_reachability(map_t *m);
int fix_unreachable_cell(cell_t *badcell);
void floodfill(cell_t *startcell);
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
int getbranchlinks(regionthing_t **thing, int *nthings, ...);
2010-12-02 12:17:54 +11:00
cell_t *getcellat(map_t *map, int x, int y);
- [+] climbing - [+] climb "into"walls - [+] stopclimbing(int onpurpose) - [+] can we move forwards? - [+] if not: - [+] if onpurpose, fail - [+] otherwise fall onto whoever is there??? or they block you from falling?? - [+] move forwards - [+] kill f_climbing flag - [+] startclimbing() - [+] move onto the wall - [+] set your facing to face away from the wall. - [+] add F_CLIMBING - [+] must pass a CLIMB check first or you fail to climb! - [+] can't climb if burdened - [+] once climbing: - [+] can't cast spells - [+] cannot change facing - [+] always strafe if you go sideways - [+] change los functions to let you see out! - [+] different move verb ("climb" instead of move/fly) - [+] different canmove() code - [+] you can only move sideways (along the wall) or forwards (off the wall) - [+] ie. cellindir(lf, lf->facing) == newcell (forwards) - [+] OR - [+] ie. cellindir(lf, lf->facing + 2 (wrapped)) == newcell (right) - [+] OR - [+] ie. cellindir(lf, lf->facing - 2 (wrapped)) == newcell (left) - [+] AND you can only move sidways if: - [+] the new cell is a wall - [+] the cell in (lf->facing) of the new cell is NOT a wall - [+] if you climb off a wall, tell the player that they stopped climbing - [+] moving while climbing: - [+] must pass a sc_climb skill check to move - [+] costs 1 stamina to move - [+] warn before climbing if your stam == 1 - [+] attacking - [+] large penalty to hit the climber (higher for smaller monstesr) - [+] if monsters miss you and you are climbing, chance they'll give up. - [+] attacking FROM a wall gets a big penalty unless you are very skilled at climbing - [+] startlfturn - [+] lose stam each turn. - [+] if stam drops to 0, you fall off or stop climbing - [+] you fall if burdened - [+] don't regen stam while climing - [+] ai: - [+] monsters won't start targeting lfs who are climbing - [+] monsters don't pay stamina to move while climb - [+] make monsters be able to climb when fleeing - [+] let you climb down holes instead of falling
2011-11-03 09:34:15 +11:00
int getcellclimbdifficulty(cell_t *c);
int getcellclimbdifficultyavg(cell_t *c);
2010-12-02 12:17:54 +11:00
int getcelldist(cell_t *src, cell_t *dst);
2011-02-01 06:16:13 +11:00
int getcelldistorth(cell_t *src, cell_t *dst);
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
void getcellglyph(glyph_t *g, cell_t *c, lifeform_t *viewer);
enum CELLTYPE getcellempty(cell_t *c);
enum CELLTYPE getcellsolid(cell_t *c);
enum CELLTYPE getmapempty(map_t *m);
enum CELLTYPE getmapsolid(map_t *m);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
enum DEPTH getcellwaterdepth(cell_t *c, lifeform_t *lf);
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
int getconnectedwatercells(cell_t *c, cell_t **retcell, int *ncells);
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
cell_t *get_closest_adjcell(cell_t *src, cell_t *dst);
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);
map_t *getmapindir(map_t *src, int dir);
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
int getmapmaxvisrange(map_t *m);
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
void getradiuscells(cell_t *centre, int radius, int dirtype, int outsideonly, enum LOFTYPE needlof, int wantcentre, cell_t **retcell, int *ncells, int scatterdensity);
int getroomid(cell_t *c);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
void getroomedge(map_t *m, int roomid, int minx, int miny, int maxx, int maxy, int whichside, cell_t **retcell, int *ncells, int onlywantsolid, int includefixed);
enum TIMEPHASE gettimephase(void);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
object_t *gettopobject(cell_t *where, int forglyph);
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
//void calclight(map_t *map);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
int calcroompos(map_t *map, int w, int h, int xmargin, int ymargin, int *bx, int *by, int force, int stayclose);
int compassdir(int orthdir);
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
int countadjcellsoftype(cell_t *cell, enum CELLTYPE id, int dirtype);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
int countadjrooms(cell_t *cell, int dirtype);
int countadjcellswithflag(cell_t *cell, enum FLAG fid, int dirtype);
int countadjdoors(cell_t *cell);
int countadjwalls(cell_t *cell);
- [+] add a bunch of gemstones - worth points - [+] 'thrust' ability isn't showing up in ABILS - [+] give slight accuracy penalty when thrusting - [+] fixed shieldblock difficulty in melee combat - [+] increased maxstamina - [+] don't require stamina to move! - [+] "You hear a roars." - [+] remove duplicate corpse rot code - [+] CRASH - [+] malloc: *** error for object 0x1349d94f8: incorrect checksum for freed object - object was probably modified after being freed. - [+] #7 0x00000001000f438a in addobject (where=0x134edc060, name=0x0, canstack=0, wantlinkholes=-1, forceoid=OT_CLAWS) at objects.c:983 #8 0x00000001000f298d in addobfast (where=0x134edc060, oid=OT_CLAWS) at objects.c:409 #9 0x00000001000b621b in getbestweapon (lf=0x114439ff0) at lf.c:5194 #10 0x00000001000087fa in aiturn (lf=0x114439ff0) at ai.c:1236 - [+] fixed ? - [+] instead of everything >=6 being dark, make a CHANCE to be dark starting at l6. - [+] why do i ese gem of seeing so often - [+] because i need more types or 'rock' - [+] have to cook food before eating it? - [+] need novice cooking skill for preparecorpse ability - [+] otherwise you only get a very small amount of nutrition (10%) - [+] split ob piles before eating them - [+] detect poison should detect poison traps - [+] telling your ally to rest until healed isn't working... - [+] wasn't taking injuries or stamina into account. - [+] change druid spells - [+] start with 3 random spells - [+] on levelup, select a random nature spell (up to your highest level)
2011-11-08 12:19:25 +11:00
int countcellexits(cell_t *cell, int dirtype);
int countcellexitsfor(lifeform_t *lf);
int countmapobs(map_t *m, enum OBTYPE oid);
- [+] don't place draininge grates on low floor!! - [+] gate spell should always take you to a location wihtout water!! - [+] enhance speak with dead spell (SPEAKDEAD) - [+] may ask "how did you die" plus one of the below: - [+] tell me about the area - [+] mark stairs on the map - [+] mark shops on the map - [+] tell about very rare objects - [+] tell me about nearby dangers - [+] tell about odd monsters - [+] tell about traps - [+] test - [+] let you ask peaceful lfs about the surroundings too - [+] move code into io.c "askaboutarea(char *who)" - [+] test - [+] the first time you ask someone for info, randomly determine whether they know about: - [+] stairs (high chance) - [+] shops (medium chance) - [+] traps (low chance) - [+] areacomms_danger should include out of depth monsters - need isoutofdepth(lf) - [+] room floors should take the entry type from the habitat, NOT just use ct_room!!!! - [+] sometimes generate fixed SEWER regionthings - [+] done - [+] BUG: canT enter goblin caves again!!!! - [+] getting "ERROR - can't find opposite end of stairs/portal!" - [+] FAILED to link stiars: 'tunnel leading up' - [+] make maps direct you to regionthings. - [+] region things need unique IDs !!! - [+] change F_MAPTO - [+] v0 = src region id - [+] v1 = src depth - [+] v2 = regionthing with whatkind = RT_REGIONLINK - [+] when generating map objects, fill in a random branch entry - [+] fix getobname code for unknown maps. - [+] TEST - [+] with "map to the goblin caves" - [+] with "map" - [+] with "map to" - [+] use "the goblin caves are to the north", not "is to the north" - [+] is - [+] isn't - [+] test reading a map when on the wrong branch - [+] test reading a map when on the wrong level - [+] test reading a map when on the right level - [+] move staircase generation to END of map create - [+] finalisemap() - [+] countobswithflagval(obpile, flagid, val0...) - [+] countmapobswithflagval(map, flagid, v0...) - [+] jimbo's map should lead you to one of the major branches. - [+] crit pos shouldn't be higher than you can reach! - [+] same size or bigger = can reach anything - [+] 1 size smaller = you can't reach the head - [+] 2 sizes smaller = can't reach head or hands - [+] 3 sizes smaller = can't reach head, hands or body - [+] jimbo's room should contain all the staircases - [+] make you have to pass a speech check before people will tell you about the area - [+] bug in recruitment skillchecks - using wrong attribute, and too easy. - [+] rename dwarf to delver - [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
int countmapobswithflag(map_t *m, enum FLAG flagid);
int countmapobswithflagval(map_t *m, enum FLAG flagid, int val0, int val1, int val2, char *text);
int countstairs(map_t *m, int dir);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
void createantnest(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
void createborder(map_t *map, enum CELLTYPE solidtype);
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
void createbyhut(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
void createcave(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
void createdungeon(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
void createfakes(map_t *map, cell_t *cell);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
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);
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
void createheaven(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
void createmap(map_t *map, int depth, region_t *region, map_t *parentmap, int exitdir, object_t *entryob);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
void createmastervaults(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
void createpit(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
int createportallink(cell_t *c1, cell_t *c2, enum OBTYPE portalid);
void createbranchlink(map_t *m, cell_t *c, object_t *o, char *obname, enum BRANCH newbranch, region_t *parent);
- [+] when throwin gn aobject, warn if you have no LOF (just like spells) - [+] allow dodge/catch of thrown object when there is no thrower (ie. arrow traps) - [+] simplify monster spellcasting - [+] don't use any mp - [+] select power based on monster hit dice only - [+] monsters should cast spells less often - use f_castchance, default of 15% chance - [+] TEST - [+] you keep your own mpdice when polymorphing into a mosnter - [+] fxied: throw a tranq dart, then: - [+] The cockatrice loses consciousness. The cockatrice falls asleep. - [+] bug: can't operate a fridge on the ground cause it's too heavy to lift - [+] monsters generated on dark levels should always have seeindark 3-4 - [+] vending machines not working... fixed. - [+] in getchoicestr: - [+] if !showall, and if it shows a longdesc, then you hit backspace, longdesc should be cleared. - [+] show completion in a different colour - [+] bug: sometimes we seem to have map->room[x], but no cells with cell->room->id == thatid!! - [+] stop vaults from overlapping. - [+] taking too long to walk down levels - enforce max number of monster free turns - [+] inept weapon penalty should be slightly higher - [+] bad feeling check is too easy. - [+] skeletons should have f_noinjuries - [+] shouldn't check for slipping on things while swimming - [+] tweak how traps + perception skill impact search checks - [+] bug: sometimes we have no player start position. - [+] if the vault creation fails, restart map generation. - [+] only give study scroll ability at high spellcasting skill - [+] typo: ring (1 charges left) * [+] god effects when you die: - [+] pea soup should work in the cell in FRONT of you. - [+] bug: ring of control seems to work when you _weild_ it!! - [+] non-lethal weapons - [+] sword of mercy (at <1hp, ko) - [+] tranq dart - [+] add sleeptypes - [+] change all refernces to f_asleep->val[1] (now an enum) - [+] change "stirs in its slumber" if unconscious - [+] change all 'fallasleep' calls - [+] attacking a ko'd enemy with merciful weapon should do nothing. - [+] ai shouldn't target ko'd enemies - [+] ai should stop targetting people once they're dead/ko'd - [+] bashing damage should sometimes just knock unconscious instead of killing? - [+] if their hp would be >= -3, and onein(2) - [+] different body part names? "metal frame" instead of "body" - [+] implement F_BPNAME, v0=enum bodypart, text = name - [+] getbodypartname() needs a lf argument. - [+] once i add this, also make animals have "front legs" instead of "arms", "paws" rather than "hands" etc. - [+] fix calls to getbodypartname to pass in lf or null - [+] cyborg mods: - [+] can't wear most armour? - [+] need f_noarmouron - we HAVE this bp, but can't put armour on it. - [+] large rust damage from water - [+] if you have a bad feeling about an object, mark it as "[bad]" - [+] f_knownbad - [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
void createregionthing(map_t *map, regionthing_t *rt);
void createriver(map_t *m);
- [+] monster: triclops. perception. vuln to light. - [+] flying creatures shoudl fall to the ground when unconscious - [+] (this might kill them) - [+] animate statue - bring statue to life - [+] excavate - radial, obliterate walls + obs, doesn't affect lfs - [+] test unicode wall glyph! 0x2588 - [+] use unicode for gas - [+] change f_glyph so that v1 = symbol, instead of text = symbol - [+] change code - [+] change definitions (macro) - [+] test - [+] implement puff = UNI_SHADELIGHT - [+] implement cloud = bolded - [+] if good, extend to staem etc - [+] blue background for lfs in the water - [+] prone in water means effective lower height - [+] glass/ice cells not shattering properly - [+] make magic barriers be solid too - [+] combine lockpick code in io.c and objects.c into the lockpick() function. - [+] first ask what to use (if required) - [+] then ask what dir (if required) - [+] then ask what to unlock (if reuiqred) - [+] then do it - [+] locked containers - [+] picklocks prompts to try them. - [+] in addob, use non-inheritable f_lockedchance for both doors and chests? - [+] v0 = chance v1 = mod per depth - [+] doors: - [+] base 20% chance locked - [+] every 5 levels, add 10% chance - [+] add this to chests / safeboxes - [+] operate doesn't let you open them - [+] bugs in linkexits and linkexit - [+] linkexits: wasn't checking the correct exit cell!!! - [+] lnkexit: wasn't blanking the startcell GRATINGS: - [+] flags: - [+] addflag(lastot->flags, F_OPPOSITESTAIRS, OT_HOLEINROOF, NA, NA, NULL); - [+] climbable d_down NA - [+] BUT you can't climb it if it's locked. - [+] usestairs() - if you climb a grating and it has no maplink: - [+] use createregionlink(map, cell, grating_object, NULL, RG_SEWER, map->region) - [+] make stench affect enhancedsmell creatures more. - [+] excavate should only affect SOLID matter. - [+] going down a drain: - [+] "You walk down a staircase" should be "climb down a drain" - [+] deep slime in sewers sohuldn't spread - [+] deep slime should spread to a slime puddle if it does.... - [+] fix background glyph colour for slime - [+] killed by drowning should really be "drowned in %s" SEWER HABITAT - [+] permenant stench - [+] if you're in a sewer cell and are not nauseated, add it. - [+] nauseated doesn't expire in sewers. - [+] add RG_SEWER - [+] new regiontype - RG_SEWER - [+] map: - [+] pick size 2 - 5 - [+] start at x=2,y=2 - [+] add square 3x3 rooms in gridlike layout (but need space for 5) - [+] connect rooms to orthogonally adjacent ones with passages - [+] use addexits(). no exits on outer walls. - [+] fill all empty cells with low floor and water (but NOt the one with the exit!) - [+] any solid with orthogonally adjacent water changes to a walkway - [+] cope with different x/y room counts - [+] cope with differnet vert/horz corridor sizes. - [+] horz = 2 - [+] vert = 1 - [+] random room size - [+] allow objectclasses to have f_rarity - [+] modify getrandomobcalss - [+] but DONT make objects inherit it!!! - [+] this is used to override selection hased on habitat - modify getrandomobcalss appropriately - [+] random objects/treasure: - [+] add these only in non-water cells?? - [+] move all obs from water clls to random land cells - [+] frequent - [+] vomit - [+] soggy paper - [+] rotted food (add f_tainted to it) - [+] common - [+] wep/arm - [+] all wep/arm are shoddy in sewers - [+] uncommon - [+] rings (higher than normal chance - they were lost down sinks) - [+] occasional tech - [+] bug: playerstart3 vault filled with walls when made randomly! - [+] death speech text for intelligent monsters - [+] 'aaargh!' - [+] 'this isn't over!' - [+] BUG: linkexits() - gettings exits in the wrong place. maybe not taking rotation into account??? - [+] for example in playerstart_5 vault, found an 'exit' at the x: - [+] this comes from the map flag f_roomexit, x, y - [+] the flag may have bene added from autodoors() - [+] have changed code so that f_roomexti uses text field to say who added it
2011-11-29 13:25:04 +11:00
void createroom(map_t *map, int roomid, int x1, int y1, int x2, int y2, int forcewalls);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
int calcposandmakeroom(map_t *map, int roomid, int overrideminw, int overrideminh, int overridemaxw, int overridemaxh, int xmargin, int ymargin, int *retx, int *rety, int *retw, int *reth, int doorpct, int dooropenchance, int forcewalls, int stayclose);
- [+] monster: triclops. perception. vuln to light. - [+] flying creatures shoudl fall to the ground when unconscious - [+] (this might kill them) - [+] animate statue - bring statue to life - [+] excavate - radial, obliterate walls + obs, doesn't affect lfs - [+] test unicode wall glyph! 0x2588 - [+] use unicode for gas - [+] change f_glyph so that v1 = symbol, instead of text = symbol - [+] change code - [+] change definitions (macro) - [+] test - [+] implement puff = UNI_SHADELIGHT - [+] implement cloud = bolded - [+] if good, extend to staem etc - [+] blue background for lfs in the water - [+] prone in water means effective lower height - [+] glass/ice cells not shattering properly - [+] make magic barriers be solid too - [+] combine lockpick code in io.c and objects.c into the lockpick() function. - [+] first ask what to use (if required) - [+] then ask what dir (if required) - [+] then ask what to unlock (if reuiqred) - [+] then do it - [+] locked containers - [+] picklocks prompts to try them. - [+] in addob, use non-inheritable f_lockedchance for both doors and chests? - [+] v0 = chance v1 = mod per depth - [+] doors: - [+] base 20% chance locked - [+] every 5 levels, add 10% chance - [+] add this to chests / safeboxes - [+] operate doesn't let you open them - [+] bugs in linkexits and linkexit - [+] linkexits: wasn't checking the correct exit cell!!! - [+] lnkexit: wasn't blanking the startcell GRATINGS: - [+] flags: - [+] addflag(lastot->flags, F_OPPOSITESTAIRS, OT_HOLEINROOF, NA, NA, NULL); - [+] climbable d_down NA - [+] BUT you can't climb it if it's locked. - [+] usestairs() - if you climb a grating and it has no maplink: - [+] use createregionlink(map, cell, grating_object, NULL, RG_SEWER, map->region) - [+] make stench affect enhancedsmell creatures more. - [+] excavate should only affect SOLID matter. - [+] going down a drain: - [+] "You walk down a staircase" should be "climb down a drain" - [+] deep slime in sewers sohuldn't spread - [+] deep slime should spread to a slime puddle if it does.... - [+] fix background glyph colour for slime - [+] killed by drowning should really be "drowned in %s" SEWER HABITAT - [+] permenant stench - [+] if you're in a sewer cell and are not nauseated, add it. - [+] nauseated doesn't expire in sewers. - [+] add RG_SEWER - [+] new regiontype - RG_SEWER - [+] map: - [+] pick size 2 - 5 - [+] start at x=2,y=2 - [+] add square 3x3 rooms in gridlike layout (but need space for 5) - [+] connect rooms to orthogonally adjacent ones with passages - [+] use addexits(). no exits on outer walls. - [+] fill all empty cells with low floor and water (but NOt the one with the exit!) - [+] any solid with orthogonally adjacent water changes to a walkway - [+] cope with different x/y room counts - [+] cope with differnet vert/horz corridor sizes. - [+] horz = 2 - [+] vert = 1 - [+] random room size - [+] allow objectclasses to have f_rarity - [+] modify getrandomobcalss - [+] but DONT make objects inherit it!!! - [+] this is used to override selection hased on habitat - modify getrandomobcalss appropriately - [+] random objects/treasure: - [+] add these only in non-water cells?? - [+] move all obs from water clls to random land cells - [+] frequent - [+] vomit - [+] soggy paper - [+] rotted food (add f_tainted to it) - [+] common - [+] wep/arm - [+] all wep/arm are shoddy in sewers - [+] uncommon - [+] rings (higher than normal chance - they were lost down sinks) - [+] occasional tech - [+] bug: playerstart3 vault filled with walls when made randomly! - [+] death speech text for intelligent monsters - [+] 'aaargh!' - [+] 'this isn't over!' - [+] BUG: linkexits() - gettings exits in the wrong place. maybe not taking rotation into account??? - [+] for example in playerstart_5 vault, found an 'exit' at the x: - [+] this comes from the map flag f_roomexit, x, y - [+] the flag may have bene added from autodoors() - [+] have changed code so that f_roomexti uses text field to say who added it
2011-11-29 13:25:04 +11:00
void createsewer(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
void createstomach(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
void createswamp(map_t *map, int depth, map_t *parentmap, int exitdir, object_t *entryob);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
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);
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
int doorisvalid(object_t *o);
void dumpmap(map_t *map, int showrooms);
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
void expand_cave(map_t *map, int numpasses);
- [+] announce when a web spell hits you - [+] grammar: xxx "flys" into view. need getmoveverbplural() - [+] make yumi's "well, that seems unfair" only work when killed by a mosnter which didn't chase you up. - [+] no unarmed skill descriptions!! - [+] remove pain ability from stink beetle - [+] cockroach - with just high armour rating (10) - [+] bajeetle - lower armour but bite causes pain - [+] yumi - only allow you to gain piety from letting a monster run away ONCE per mosnter - [+] new monster: petrifungus - [+] give merciful fighting for novoice adanced combat - [+] monsters should lose targets when eating - [+] vault: window in wall - [+] fix werewolf hiding code for Rattus (when medium sized) - [+] "you hear a muffled slithering" - this shouldnt be loud enough to go through walls! - [+] selected Evil Adventurer. alignment ended up as NONE - [+] have added debugging - [+] wait for it to happen again - [+] put in code to check at start of turn whethe r my alignment just changed. - [+] my alignment seems to have changed to NONE - [+] POLYMORPH is causing this. - [+] fixed - [+] commando should have low level version of gunblade - [+] electromachete - low pierce + low electric - [+] gunblade - med slash + low explosive - [+] boomstick - med bash + high explosive - [+] commando should start with a few energy packs (need to add this object) - [+] l2 tech - [+] operate it to recharge tech which has charges. - [+] like a scroll of replenishment, but only for tech. - [+] when monsters follow you up stairs, they should face you - [+] jewelry store should buy watches - [+] when exploding cells, remember who caused it - [+] new arg: lifeform_t *causedby - [+] use this when dealing damage, so that it counts as player kill (etC) - [+] explodeob - [+] monks sohuld be very resistant to being scared - [+] gauntlets (or other hard gloves) should increase unarmed damge by 1 - [+] seems almost impossible to break locks on chests by bashing.... check the calc. - [+] fixed. - [+] ekrub should accept sacrifices of plant matter - [+] sebastian - absorbs physical damage to increase damage. - [+] after first hit: +1dam, knockback - [+] after 2nd: +2 dam - [+] etc - [+] vuln to non-physical (fire, magic, cold, elec, etc) - [+] cockroach, plague rat should taint anything it walks on - [+] fix up morale checks. 30 should be 100. therefore: multiply by 3 and a bit. - [+] CRASH during wish for Power - [+] bug: - [+] You whack the pixie. The pixie turns to face you. The pixie turns to flee from you! Amberon's voice booms out from the heavens: "You dare attack an innocent?" Amberon's voice booms out from the heavens: "You dare attack an innocent?" The pixie gestures at itself. - [+] baba yaga's hut - [+] shoudln't be able todrink potions - [+] shouldn't take criticals - [+] don't annoucne time during combat - [+] bug after giving gold to a bandit: - [+] $ - 0 gold dollars - [+] lore: tech... every level says' no special effects' - [+] bug: Strength: 24 (very weak, +1 dmg)* - [+] bug in getstrdammod() - [+] bug: A brown snake walks into view. - [+] should be 'slithers' - [+] mud shouldnt make shoes wet - [+] refridgerator should only have meat in it - [+] some jobs which have whip skills - [+] scourge should always start with a whip. - [+] fighter should be able to pick it - [+] aligned temples sohuld be half price (or free if god is pleased?) - [+] SM_DETECTCURSE - [+] SM_PURCHASEITEMS - [+] SM_BLESS - [+] SM_MIRACLE - [+] re-introduce monster zoos vault - [+] bullwhip shouldn't be able to dull! - [+] banana skin not slippery anoymore - [+] slightly boost player's starting hp - [+] why can vampire bat reach me to damage by boots/trousers? - [+] check out canreachbp() in lf.c - [+] maybe fixed - [+] commando's starting gun should start with normal bullets, never silver - [+] klikirak should grant fire powers - [+] cast pyromania when you pray - [+] gift: immolate every 20 turns - [+] fix trytokillobs() - this might fix some of the infinite loops i'm getting during level creation. - [+] klikirak should give slightly more xp for sacrifing objects - [+] hawks should swoop more often - [+] book colours are incorrect (ie. "red book" isn't red) - [+] i saw "something burns!" while resting... - [+] make hollow trees be green - [+] blessed amnesia shouldn't do anything bad - [+] armour stores shouldn't get hot! - [+] earthworm should only divide from slash damage - not bash - [+] queen ant shoudl be able to summon lots of soldiers - [+] staircases should be on top of ash piles when draring them!! - [+] in fact, staircases should be on top of _everything_ - [+] sanctuary potion should put out fires under you! (or anything with walkdam) - [+] shouldn't be able to smell by's hut - [+] wood wall should be diggable with pickaxe - [+] does shovel actually work? no, but it does now. - [+] dungeon level name - if it has a swamp vault, level is just called "the swamp" - [+] fire damage to bread = toast - [+] only say "the light here is a bit dim" etc if it's different form your previous level - [+] weapon stores shouldn't appear in baba yaha's hut! - [+] i think i said "weapon" but it turned into weapon store. - [+] works in a wish...... is this only a problem in a vault? - [+] test agian..... - [+] during summon mosnter, don't say 'the xxx starts to fly!' before "the xxx appears" - [+] when i read a create monster scroll, this _doesnt_ happen. - [+] when i cast summon small animals and a brian bat appears, it _doesnt_ happen - [+] only seems to happen whan a mosnter uses a summon spell - [+] maybe to do with finalisemonster() or "autogen" being set in addmonster? - [+] fixed now? - [+] walking on water shouldn't extinguish a flaming weapon! - [+] losehp_real needs a 'bodypart' argument - [+] klikirak should like killing plants - [+] do something to stop kilkirak worhipers from scarificeing the entire forest! - [+] if you attack a plant lf in the sylvan forest - [+] nearby plants attack. - [+] 33% chance of a treant: - [+] same if you destroy a plant object - [+] takedamage() needs a "fromlf" arg - [+] or sacrifice one. - [+] _warning_ if you attack a plant object or plant lf. (but don't kill it) - [+] WISDOM warnings: - [+] if you are about to attack an OC_FLORA object in the woods (and have felt the woods get angry once before) - [+] if you are about to attack a RC_PLANT lf in the woods - [+] if you are about to attack a CT_WALLTREE cell in the woods - [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
void explodesinglecell(cell_t *c, int dam, int killwalls, object_t *o, cell_t *centre, lifeform_t *fromwho);
void explodecells(cell_t *c, int dam, int killwalls, object_t *o, int range, int dirtype, int wantannounce, lifeform_t *fromwho);
void finalisemap(map_t *map, object_t *entryob, int exitdir);
void finalisemonster(lifeform_t *lf, lifeform_t *leader, flagpile_t *wantflags, enum BEHAVIOUR wantbehaviour, int idx);
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
2011-04-14 09:44:29 +10:00
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);
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);
- [+] don't place draininge grates on low floor!! - [+] gate spell should always take you to a location wihtout water!! - [+] enhance speak with dead spell (SPEAKDEAD) - [+] may ask "how did you die" plus one of the below: - [+] tell me about the area - [+] mark stairs on the map - [+] mark shops on the map - [+] tell about very rare objects - [+] tell me about nearby dangers - [+] tell about odd monsters - [+] tell about traps - [+] test - [+] let you ask peaceful lfs about the surroundings too - [+] move code into io.c "askaboutarea(char *who)" - [+] test - [+] the first time you ask someone for info, randomly determine whether they know about: - [+] stairs (high chance) - [+] shops (medium chance) - [+] traps (low chance) - [+] areacomms_danger should include out of depth monsters - need isoutofdepth(lf) - [+] room floors should take the entry type from the habitat, NOT just use ct_room!!!! - [+] sometimes generate fixed SEWER regionthings - [+] done - [+] BUG: canT enter goblin caves again!!!! - [+] getting "ERROR - can't find opposite end of stairs/portal!" - [+] FAILED to link stiars: 'tunnel leading up' - [+] make maps direct you to regionthings. - [+] region things need unique IDs !!! - [+] change F_MAPTO - [+] v0 = src region id - [+] v1 = src depth - [+] v2 = regionthing with whatkind = RT_REGIONLINK - [+] when generating map objects, fill in a random branch entry - [+] fix getobname code for unknown maps. - [+] TEST - [+] with "map to the goblin caves" - [+] with "map" - [+] with "map to" - [+] use "the goblin caves are to the north", not "is to the north" - [+] is - [+] isn't - [+] test reading a map when on the wrong branch - [+] test reading a map when on the wrong level - [+] test reading a map when on the right level - [+] move staircase generation to END of map create - [+] finalisemap() - [+] countobswithflagval(obpile, flagid, val0...) - [+] countmapobswithflagval(map, flagid, v0...) - [+] jimbo's map should lead you to one of the major branches. - [+] crit pos shouldn't be higher than you can reach! - [+] same size or bigger = can reach anything - [+] 1 size smaller = you can't reach the head - [+] 2 sizes smaller = can't reach head or hands - [+] 3 sizes smaller = can't reach head, hands or body - [+] jimbo's room should contain all the staircases - [+] make you have to pass a speech check before people will tell you about the area - [+] bug in recruitment skillchecks - using wrong attribute, and too easy. - [+] rename dwarf to delver - [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
object_t *findmapobwithflag(map_t *m, enum FLAG flagid);
object_t *findmapobwithflagval(map_t *m, enum FLAG flagid, int val0, int val1, int val2, char *text);
2011-05-20 06:30:58 +10:00
cell_t *findmapentrypoint(map_t *m, int side, lifeform_t *lf);
object_t *findobidinmap(map_t *m, long id);
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);
regionoutline_t *findoutlineforbranch(enum BRANCH bid);
branch_t *findrandombranchwithname(char *name);
region_t *findregion(int regionid);
region_t *findregionbytype(enum BRANCH rtid);
regionthing_t *findbranchlink(enum BRANCH rtid);
map_t *findregionmap(int regionid, int depth);
- [+] don't place draininge grates on low floor!! - [+] gate spell should always take you to a location wihtout water!! - [+] enhance speak with dead spell (SPEAKDEAD) - [+] may ask "how did you die" plus one of the below: - [+] tell me about the area - [+] mark stairs on the map - [+] mark shops on the map - [+] tell about very rare objects - [+] tell me about nearby dangers - [+] tell about odd monsters - [+] tell about traps - [+] test - [+] let you ask peaceful lfs about the surroundings too - [+] move code into io.c "askaboutarea(char *who)" - [+] test - [+] the first time you ask someone for info, randomly determine whether they know about: - [+] stairs (high chance) - [+] shops (medium chance) - [+] traps (low chance) - [+] areacomms_danger should include out of depth monsters - need isoutofdepth(lf) - [+] room floors should take the entry type from the habitat, NOT just use ct_room!!!! - [+] sometimes generate fixed SEWER regionthings - [+] done - [+] BUG: canT enter goblin caves again!!!! - [+] getting "ERROR - can't find opposite end of stairs/portal!" - [+] FAILED to link stiars: 'tunnel leading up' - [+] make maps direct you to regionthings. - [+] region things need unique IDs !!! - [+] change F_MAPTO - [+] v0 = src region id - [+] v1 = src depth - [+] v2 = regionthing with whatkind = RT_REGIONLINK - [+] when generating map objects, fill in a random branch entry - [+] fix getobname code for unknown maps. - [+] TEST - [+] with "map to the goblin caves" - [+] with "map" - [+] with "map to" - [+] use "the goblin caves are to the north", not "is to the north" - [+] is - [+] isn't - [+] test reading a map when on the wrong branch - [+] test reading a map when on the wrong level - [+] test reading a map when on the right level - [+] move staircase generation to END of map create - [+] finalisemap() - [+] countobswithflagval(obpile, flagid, val0...) - [+] countmapobswithflagval(map, flagid, v0...) - [+] jimbo's map should lead you to one of the major branches. - [+] crit pos shouldn't be higher than you can reach! - [+] same size or bigger = can reach anything - [+] 1 size smaller = you can't reach the head - [+] 2 sizes smaller = can't reach head or hands - [+] 3 sizes smaller = can't reach head, hands or body - [+] jimbo's room should contain all the staircases - [+] make you have to pass a speech check before people will tell you about the area - [+] bug in recruitment skillchecks - using wrong attribute, and too easy. - [+] rename dwarf to delver - [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
regionthing_t *findregionthing(int id, region_t **retregion);
branch_t *findbranch(enum BRANCH rtype);
branch_t *findbranchbyname(char *name);
room_t *findroom(map_t *m, int roomid);
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);
vault_t *getcellvault(cell_t *c);
* [+] 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);
int getthingchance(int habitat);
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
cell_t *getrandomadjcell(cell_t *c, int wantempty, int allowexpand);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
cell_t *real_getrandomadjcell(cell_t *c, int wantempty, int allowexpand, enum LOFTYPE needlof, enum OBTYPE *dontwantob, cell_t *dontwantcell, lifeform_t *preferlos, enum MATERIAL wantmat);
2010-12-02 12:17:54 +11:00
cell_t *getrandomcell(map_t *map);
cell_t *getrandomcelloftype(map_t *map, enum CELLTYPE id);
2010-12-02 12:17:54 +11:00
int getrandomdir(int dirtype);
- [+] add autopop to playerstart vaults - [+] rename magic skills: Magic:Cold - [+] bug: infinite loop in poison arrow trap - make sure the arrow always dies. - [+] bug: c4 didn't kill iron door - [+] implement stamina (float). max is Fit/2 * [+] in startlfturn: - [+] sprinting drains this. - [+] ...then stop using f_sprinting for exhausted - [+] ...and remove f_tired - [+] if exhausted, stop sprinting. (in modstamina) - [+] change crushed windpipe - [+] f_stamcost for abilities. - [+] modify cancast. - [+] tumbling - [+] jumping - [+] rage - [+] swimming - [+] drains stamina like sprinting - [+] if stamina drops to 0, you start drowning. - [+] new spell: lethargy (sets stamina to 0) - [+] if a sleep spell fails, use lethergy instead. - [+] no attacking while stam = 0 ??? - [+] need to update statbar right away when casting ongoing spells. - [+] bug: reading an awareness scroll counting as an active spell! - [+] genericise magic resistance check into a function - [+] "disorient" - l1 mental spell which randomly turns lf, someitmes makes them dizzy - [+] change stun - just means you can't attack, cast spell, use abils * [+] AI shouldn't look for targets if stunned or no stamina * [+] why do mosnters end up facing -1 (d_none) ?? - [+] turn undead problem. - [+] The skeleton turns to flee from you! The skeleton bites you. - [+] crit which spins you around (bash to body) - [+] say "you attack xxx from behind" when you ar ebehidn them and they can't see you - [+] or "you attack the helpless xxx" when thye just can't see you - [+] genericise sacrifice text - [+] fix up weight of heads (8% of body mass) - [+] make attribss do more: - [+] iq: determine how soon you learn new skills (ie. modify SKILLXPPERPOINT) - [+] fit: determines stamina points. - [+] wisdom >= AT_HIGH - [+] warn before wearing/eating/drinking/weilding unknown bad/cursed objects (low chance) - [+] use isbadobject() - [+] chance: - [+] high = 10% - [+] vhigh = 30% - [+] exhigh = 50% - [-] idea: sacrifice to gods to make them happier - [+] mercy: weapons - [+] death: any corpses - [+] thieves: gold
2011-09-15 08:42:54 +10:00
int getrandomdirexcept(int dirtype, int exception);
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
cell_t *getrandomroomcell(map_t *map, int roomid, int wantempty);
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
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);
cell_t *getstairdestination(object_t *o, int *madenewmap);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
object_t *hasdoor(cell_t *c);
object_t *hasenterableobject(cell_t *c);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
object_t *hascloseddoor(cell_t *c);
int hascrushableob(cell_t *c, lifeform_t *lf);
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);
- [+] announce when a web spell hits you - [+] grammar: xxx "flys" into view. need getmoveverbplural() - [+] make yumi's "well, that seems unfair" only work when killed by a mosnter which didn't chase you up. - [+] no unarmed skill descriptions!! - [+] remove pain ability from stink beetle - [+] cockroach - with just high armour rating (10) - [+] bajeetle - lower armour but bite causes pain - [+] yumi - only allow you to gain piety from letting a monster run away ONCE per mosnter - [+] new monster: petrifungus - [+] give merciful fighting for novoice adanced combat - [+] monsters should lose targets when eating - [+] vault: window in wall - [+] fix werewolf hiding code for Rattus (when medium sized) - [+] "you hear a muffled slithering" - this shouldnt be loud enough to go through walls! - [+] selected Evil Adventurer. alignment ended up as NONE - [+] have added debugging - [+] wait for it to happen again - [+] put in code to check at start of turn whethe r my alignment just changed. - [+] my alignment seems to have changed to NONE - [+] POLYMORPH is causing this. - [+] fixed - [+] commando should have low level version of gunblade - [+] electromachete - low pierce + low electric - [+] gunblade - med slash + low explosive - [+] boomstick - med bash + high explosive - [+] commando should start with a few energy packs (need to add this object) - [+] l2 tech - [+] operate it to recharge tech which has charges. - [+] like a scroll of replenishment, but only for tech. - [+] when monsters follow you up stairs, they should face you - [+] jewelry store should buy watches - [+] when exploding cells, remember who caused it - [+] new arg: lifeform_t *causedby - [+] use this when dealing damage, so that it counts as player kill (etC) - [+] explodeob - [+] monks sohuld be very resistant to being scared - [+] gauntlets (or other hard gloves) should increase unarmed damge by 1 - [+] seems almost impossible to break locks on chests by bashing.... check the calc. - [+] fixed. - [+] ekrub should accept sacrifices of plant matter - [+] sebastian - absorbs physical damage to increase damage. - [+] after first hit: +1dam, knockback - [+] after 2nd: +2 dam - [+] etc - [+] vuln to non-physical (fire, magic, cold, elec, etc) - [+] cockroach, plague rat should taint anything it walks on - [+] fix up morale checks. 30 should be 100. therefore: multiply by 3 and a bit. - [+] CRASH during wish for Power - [+] bug: - [+] You whack the pixie. The pixie turns to face you. The pixie turns to flee from you! Amberon's voice booms out from the heavens: "You dare attack an innocent?" Amberon's voice booms out from the heavens: "You dare attack an innocent?" The pixie gestures at itself. - [+] baba yaga's hut - [+] shoudln't be able todrink potions - [+] shouldn't take criticals - [+] don't annoucne time during combat - [+] bug after giving gold to a bandit: - [+] $ - 0 gold dollars - [+] lore: tech... every level says' no special effects' - [+] bug: Strength: 24 (very weak, +1 dmg)* - [+] bug in getstrdammod() - [+] bug: A brown snake walks into view. - [+] should be 'slithers' - [+] mud shouldnt make shoes wet - [+] refridgerator should only have meat in it - [+] some jobs which have whip skills - [+] scourge should always start with a whip. - [+] fighter should be able to pick it - [+] aligned temples sohuld be half price (or free if god is pleased?) - [+] SM_DETECTCURSE - [+] SM_PURCHASEITEMS - [+] SM_BLESS - [+] SM_MIRACLE - [+] re-introduce monster zoos vault - [+] bullwhip shouldn't be able to dull! - [+] banana skin not slippery anoymore - [+] slightly boost player's starting hp - [+] why can vampire bat reach me to damage by boots/trousers? - [+] check out canreachbp() in lf.c - [+] maybe fixed - [+] commando's starting gun should start with normal bullets, never silver - [+] klikirak should grant fire powers - [+] cast pyromania when you pray - [+] gift: immolate every 20 turns - [+] fix trytokillobs() - this might fix some of the infinite loops i'm getting during level creation. - [+] klikirak should give slightly more xp for sacrifing objects - [+] hawks should swoop more often - [+] book colours are incorrect (ie. "red book" isn't red) - [+] i saw "something burns!" while resting... - [+] make hollow trees be green - [+] blessed amnesia shouldn't do anything bad - [+] armour stores shouldn't get hot! - [+] earthworm should only divide from slash damage - not bash - [+] queen ant shoudl be able to summon lots of soldiers - [+] staircases should be on top of ash piles when draring them!! - [+] in fact, staircases should be on top of _everything_ - [+] sanctuary potion should put out fires under you! (or anything with walkdam) - [+] shouldn't be able to smell by's hut - [+] wood wall should be diggable with pickaxe - [+] does shovel actually work? no, but it does now. - [+] dungeon level name - if it has a swamp vault, level is just called "the swamp" - [+] fire damage to bread = toast - [+] only say "the light here is a bit dim" etc if it's different form your previous level - [+] weapon stores shouldn't appear in baba yaha's hut! - [+] i think i said "weapon" but it turned into weapon store. - [+] works in a wish...... is this only a problem in a vault? - [+] test agian..... - [+] during summon mosnter, don't say 'the xxx starts to fly!' before "the xxx appears" - [+] when i read a create monster scroll, this _doesnt_ happen. - [+] when i cast summon small animals and a brian bat appears, it _doesnt_ happen - [+] only seems to happen whan a mosnter uses a summon spell - [+] maybe to do with finalisemonster() or "autogen" being set in addmonster? - [+] fixed now? - [+] walking on water shouldn't extinguish a flaming weapon! - [+] losehp_real needs a 'bodypart' argument - [+] klikirak should like killing plants - [+] do something to stop kilkirak worhipers from scarificeing the entire forest! - [+] if you attack a plant lf in the sylvan forest - [+] nearby plants attack. - [+] 33% chance of a treant: - [+] same if you destroy a plant object - [+] takedamage() needs a "fromlf" arg - [+] or sacrifice one. - [+] _warning_ if you attack a plant object or plant lf. (but don't kill it) - [+] WISDOM warnings: - [+] if you are about to attack an OC_FLORA object in the woods (and have felt the woods get angry once before) - [+] if you are about to attack a RC_PLANT lf in the woods - [+] if you are about to attack a CT_WALLTREE cell in the woods - [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
vault_t *maphasvault(map_t *m, char *id);
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);
void initmap(void);
void initmaplayout(void);
2011-02-01 06:16:13 +11:00
int isadjacent(cell_t *src, cell_t *dst);
* [+] calcxp - [+] more low power rings - [+] don't think book names are being randomized - always 'azure' - [+] charm moidifications - [+] possession modifications - [+] troglodyte being made with 180180108180180 mp!! * [+] gain skills on level up for some jobs - [+] only magic/blessed weapons can hit noncorporeal things. - [+] monsters shouldn't walk into walls to attack things there. - [+] The skeleton slams you with a boulder.--More--Innate Attack: boulder . was a bug in HASATTACK - [+] no polymorphing into undead. - [+] missiles shoudl always miss noncorporeal things! - [+] need OFFMAP as well as WALLINWAY - [+] can't possess undead - [+] less charges in wands - [+] when a thrown potion misses, "xx is destroyed" rather than "xx shatters!" - [+] instead of "act:slow mv: slow", just "slow" - [+] sprinting: "you are exhausted" isn't triggering statdirty - [+] On status, use 'v.fast' 'ex.fast' usbtead if "Very" etc - [+] allies shouldn't attack peaceful things. - [+] make fleeing lfs use stairs - [+] undead can't start with blessed objects. - [+] undead can't touch blessed objects * [+] GHOST * [+] PET code - [+] can't trade items if your ally has NOPACK - [+] make sure shared xp is working * [+] firstaid skill shows extra mosnter hp info * [+] more low power wands - at the moment it's always light or pwoer - [+] pets: say 'your xxx' instead of 'the xxx' * [+] pets: dancing weapons should be pets - [+] need f_allyof as well so that allies will stay close. - [+] difference is that allies aren't called "your" - [+] AND no alignment penalty for attacking allies? - [+] in lfstats, move physical stuff BACK to first page!!! - [+] remove ally/pet flag when you die * [+] pirate job * [+] let firearms go into primary hand. test with PIRATE. - [+] when fighting with a non-weapon: "you whack the xxx with xxx" - [+] add specific attack verbs to weapons - [+] F_ATTACKVERB, dampct between v0 and v1, "stabs" - [+] make showlfarmour() use colours
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);
* [+] 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 isdaytime(void);
int isnighttime(void);
2010-12-02 12:17:54 +11:00
int isonmap(map_t *map, int x, int y);
int isoutdoors(map_t *m);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
int isroom(cell_t *c);
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
int issolid(cell_t *c);
2010-12-02 12:17:54 +11:00
int iswallindir(cell_t *cell, int dir);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
void killcell(cell_t *c);
void killcelltype(celltype_t *ct);
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
void killfakes(map_t *map, cell_t *cell);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
void killmap(map_t *m);
- [+] redo throw hit%. even inept sk_throwing should have 40% or so to hit at point blank range. - [+] only reduce hit% after first cell? - [+] increase change of player ko with yumi - [+] tranq dart and nanodart should be rodshaped. - [+] genericise purification - [+] F_PURIFIESTO v0 = newobject - [+] add toadstool -> shiitake - [+] posion potion -> water - [+] acid potion -> water - [+] rum -> water - [+] DONT make the original object type known now - [+] higher level purify food lets you select a cell! - [+] need f_targettedspell v1 & v2 to specify power. - [+] druid should get to pick one of 3 spells (from each available level) upon levelup, not anything! - [+] implement f_levspellschoolfromx - [+] TEST! - [+] implement secondary weapon swap with 'x' - [+] initial press: unweild curwep. if successful, mark as secondayr. - [+] subsequent presses: find secondary wep (or fail). remember cur. weild secondary. if successful, remove scondary flag and mark old cur wep as secondary - [+] when you move an object, it loses secondary flag. - [+] BUG: I had TWO regions with rtype->id == RG_CAVE!!! - [+] have added debug code - [+] think this is fixed - need to remove created regions when i regenerate a map. - [+] should be able to sell gems to jewelery store - [+] sm_sellitems - [+] shopsell() - [+] shop has f_cansellobclass xxx, val[0] = pct of full price you can sell for. normally 50% but 75% for gems. - [+] allow COUNT - modified askobjectwithflag ? - [+] OR add an extra *sellshop option to doaskobject ?? - [+] if this is set, only allow selection of objects which match the shop's f_shopsell flags - [+] ie. replace wantflags[] - [+] when passing this, don't also pass wantflag args!!! - [+] rename shopsell flag to f_shopacceptsflag - [+] accept F_NONE in shopacceptsflag - [+] make shopdonate use the same code - [+] make donating to shops lower their prices ? - [+] for each 100 value you donate, reduce prices by 1% - [+] ie. donate 1000 worth, reduce by 10% = 1 level of speech skill - [+] change shopsell to use applyshoppricemod - [+] applyshoppricemod needs a new arg - up or down - [+] check code in objects.c for naming too! listobs()
2012-02-07 13:50:17 +11:00
void killregion(region_t *r);
int linkexit(cell_t *c, int wantfilled, int *ncellsadded);
int linkexits(map_t *m, int roomid);
* [+] 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);
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
object_t *linkportaltodepth(object_t *srcportal, int wantdepth);
int linkportals(object_t *srcportal, object_t *dstportal);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
int linkstairs(object_t *o, object_t *o2);
void makedoor(cell_t *cell, int openchance);
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
void makelit(cell_t *c, enum OBTYPE how, int howlong, int power);
void makelitradius(cell_t *c, int radius, enum OBTYPE how, int howlong, int power);
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
void markroomwalls(map_t *m, room_t *r);
* [+] 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);
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
void modillumination(map_t *m, int dir);
void moveobtoclearcell(object_t *o);
- [+] non-player insects should never be able to break out of a web. - [+] stench should still affect non humanoid/animals if they have f_enhancesmell - [+] bug: god of fire should only be pleased by kills if you used fire. - [+] luck should affect whether you gain abils from eating corpses - [+] lower weight of four leaf clover - [+] bug: when dungeon had different wall type selected, still got scattered rock walls - [+] death spells shouldn't please hecta if they fail - [+] bjorn should restore stamina when you pray - [+] show your score when you didn't make the hiscore table. - [+] eating corpses for resistances - [+] f_eatconfer on race defs. fill in text for stacking, ie. resist becomes immunity if you already ahve it. - [+] must have f_mutable. - [+] have to eat mutant corpse first to enable this. - [+] you gain f_mutable. - [+] "Your body feels ready for mutation." - [+] thereafter...... - [+] for resistances, you first take maxhp/2 damage of the same type (with chance to ko rather than kill)! - [+] inherited by corpses - [+] eat shadowcat to see through smoke? this replaces the temporary smoke creation effects. - [+] add to some lfs - [+] dtresist (elemental based) - [+] attrmod (wyrm or giant corpses) - [+] when you create a new corpse object, take EATCONFERS from race! - [+] store owners shouldn't let you in if you have f_stench - [+] if you pick up a non-magical object (ie. a potion of water), and have detect magic, and it's not magic...you know it's uncursed, +0, etc. - [+] (assuming pot_water is known) - [+] other effects of alignment - [+] areenemies() - [+] good: - [+] other good creatures are still "peaceful" (remove f_hostile on creation) - [+] evil creatures are always hostile (even npcs) (add this flag in addlf()) - [+] no xp for attacking peaceful - [+] neutral: nothing special - [+] no xp for attacking peaveful - [+] evil: - [+] still get xp for attacking peaceful - [+] good creatures are always hostile (add this flag in addlf()) - [+] show alignment in @. maybe after "Race: xxx" - [+] add random alignments to some humanoid races - [+] should be able to jsut use f_align al_none "gne" - [+] lizardman - [+] all the playable races - [+] bonus when 'c'hating to your own alignment npcs - [+] move alignment question to givejob(), and make it random for mosnters - [+] add alignment to gods - [+] sandman - puts you to sleep. OR has lots of sleeping dust. - [+] glyph: brown 'y' - [+] miniature tornado of sand, humanoid visible inside - [+] can cast sleep, range 1 (or 2 and need lof?) - [+] corpse: smoke and sleeping dust? - [+] no attack. - [+] low hitdice (2) - [+] fairly high ar (10) - [+] madeof dirt
2012-02-10 17:44:12 +11:00
int orthdir(int compassdir);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
enum RACE parserace(char *name, flagpile_t *wantflags, enum JOB *wantjob, enum BEHAVIOUR *wantbehaviour);
int remove_deadends(map_t *m, int howmuch);
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
int remove_baddoors(map_t *m);
void selectcelltypes(map_t *map);
void set_scanned_glyph(int targettype, void *what, char *descappend, char *desc, glyph_t *glyph);
2011-05-20 06:30:58 +10:00
void setcellknown(cell_t *cell, int forcelev);
void setcellknownradius(cell_t *centre, int forcelev, int radius, int dirtype);
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
void setcellreason(cell_t *c, char *why, ...);
void setcelltype(cell_t *cell, enum CELLTYPE id);
int shattercell(cell_t *c, lifeform_t *fromlf, char *damstring);
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
int unlinkstairsto(map_t *unlinkmap);
void unmakemap(map_t *map);
2010-12-07 18:34:26 +11:00
void updateknowncells(void);
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);
void writetextonground(lifeform_t *lf, cell_t *c, char *buf, int howlong);