- [+] make skeletons vuln to fall
- [+] sz_tiny an below objects shouldn't block doors from closing
- [+] double message for energy blast trap
- [+] scroll of charging/replenishment
- [+] random wands - maxcharges shouldn't be fixed to the start amount
of charges. should be the highest possible start amount!
- [+] fixes to jammed door opening
- [+] flying creatures are too hard to hit.
- [+] make armour piercing be a number not a boolean on/off
- [+] make axes be armour piercing.
- [+] change display of armour piercing in io.c to reflect f->val[0]
- [+] change"of sharpness" to "of penetration", and make it use
f_armourignore, not f_armourpiercing
- [+] You start training... . Your frozen battered lit torch freezes
some more.
Your training is interrupted! Something burns you.
- [+] but i didnt even have a torch! got this msg for someone else?
- [+] Frozen by a ice sprite's frozen battered lit torch.
- [+] don't show the condition
- [+] STILL problems with jammed doors opening on the first try
- [+] add more armour sizes for tiny etc, but leave it so that only
medium/human/large are randomly generated.
- [+] battery - chargable things take power from this (anything with
f_replenishable)
- [+] do this during usecharge()
- [+] only if it's known.
- [+] show charges in makedesc_ob
- [+] nullify spell (wild)
- [+] nullify wand
- [+] don't allow criticals on plants since they don't have blood,
ribs, etc
- [+] gremlin (tools/tech/wands don't work)
(combine two).
- [+] get dizzy if you turn too much.
- [+] stomach
- [+] obejcts - gems etc (check phone)
- [+] if you kill it form inside, you get expelled.
- [+] don't say "you hear fighting" when things are attacking you!
- [+] fix crash in polymorph code
- [+] All bandits should demand gold
- [+] when you give it to them, thel ALL get satisfied.
- [+] more flagpile corruption still happening.
- [+] wasn't allcoating enough space for losdark in precalclos.
- [+] still missing death announcement for plauyer pets
- [+] reduce #attacks for young hawk to 1
- [+] mercy
- [+] say this to intelligent mosnters then pass a speech check
- [+] if you pass:
- [+] they say something
- [+] they ko you
- [+] monstesr shouldn'ts randomly move into unconscious/dead lfs
- [+] monsters should take wanted obs from adjacent unconscious lfs
- [+] when you wake up: "some/all of your items are missing..."
- [+] at beginner weapon skill level: exposed strike - takes longer but
higher accuracy?
- [+] impaler frog
- [+] sinkmite
- [+] drills for hands
- [+] canwill Ot_s_dig
- [+] targetting:
- [+] fleeing: downwards
- [+] can drill downwards to flee
- [+] can dig through walls
- [+] necrons:
- [+] trapper - blue
- [+] reaper - red
- [+] scythe
- [+] hurricane strike
- [+] bug: necron reaper is not preffering its weapon for attacks....
why?
- [+] check attackcell()
- [+] fix colour in retaliation text
- [+] need to announce hurricane strike ability
- [+] amnesia scroll - lose all skill points!
- Hecta effects
- [+] flay flesh (bleed depending on hitdice)
- [+] hecta's servent (skeletal hand rises, cannot move, grabs adjacent
lfs, drags underground)
- [+] create 1 vault
- [+] must have:
- [+] ot_playerstart
- [+] ot_stomachexit
- [+] swallow ability moves to there
- [+] when the lf dies, destroy the map
- [+] TEST
- [+] mover object
- [+] moves you if you didn't move
- [+] f_pushdir, v0 = dir
- [+] invisible obejct
- [+] may flip them horizontally
- [+] chance to dodge the swallow
- [+] rename green ooze to "sizzling slime"
- [+] don't put traps on top of stairs!!
- [+] remove unneeded extra redraw when changing levels.
- [+] make ']' show object AR bonusss
- [+] don't even call precalclos during endgame.
- [+] don't say "you see footprints and footprints here"
- [+] break grabs when you fall unconscious
- [+] bug - ring of wounding not working.
- [+] crash in free(npcnames) !!!!! pointer being freed was not
allcoated
- [+] grave sprite
- [+] glutworm
- [+] swallows you
- [+] eats all objects
- [+] canines/felines should die from chocolate
- [+] weapons with multiple damtypes
- [+] at adept skilllevel, you can change type (but only with
weapons you're pr_skilled or higher in)
- [+] f_altdamtype xx. must have altdam for normal dam too.
- [+] fire primality
Hecta effect: - [+] necrotic beam
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
some damtypes
- [+] BUT each weapon can only block certain damtypes (whereas
shields can block all melee damtypes)
- [+] add f_canblock to some weapons
- [+] add f_canblock to shields
- [+] check_for_block() should be a function
- [+] getallshields()
- [+] move othermod in SC_SHIELDBLOCK out of skillcheck().
calculate the bonus beforehand instead??
- [+] update descriptions for weapon skills
- [+] can only block if you have full attrib requirements for this
weapon
- [+] update io.c to show what weapons/shields can block. "it can
block xx, xx and xx damage"
- [+] weapons can't ever block projectiles
- [+] make pickup/drop actions heaps faster
- [+] better description of agi/str affecting weapon accuracy/dam
- [+] stinkbeetle should be hostile, and should have bite attack ,not
zapper
- [+] don't recover stamina while training
- [+] add seetext for "a blaring siren"
- [+] draw up a matrix for weapon types
- [+] draw it up for:
- [+] accuracy
- [+] damage
- [+] attack speed
- [+] crit chance
- [+] then adjust weapon stats
- [+] in shops, "?" now lets you examine an object
- [+] add canwill option for abilities: "stamcost:" (to override
stamina cost)
- [+] add it.
- [+] bug: pickaxe not working
- [+] "you start digging". but nothign more.
- [+] salt kills:
- [+] frog
- [+] impaler frog
- [+] canwill jump
- [+] ranged tongue attack
- [+] killed by salt
- [+] BUG; getting manuals with no contents
- [+] odd-sized armour should cost more.
- [+] need to set statdirty when we change armour.
- [+] when we say "you see x and y here", don't include obs we can't see
light level changes
- [+] try implementing "haslosdark"
- [+] TEST TEST TEST - at the moment this is causing massive
amounts of redraws!!!
- don't announce sounds when we can see the source (but monsters still hear them)
* [+] 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
- [+] healing potions should heal even "permenant" injuries
- [+] potions/spells
- [+] summon decoy (chicken horde) spell - "friends!"
- [+] potion of spider climb (arachnid adhesion)
- [+] gloves of the spider
- [+] F_startobwepskill sk_shortblades etc
- [+] change mosnter starting weapons to be based on wepsk, not
specific named weapons
- [+] make wrapprint cope properly with 0 length strings
- [+] fix io.c showlfstats layout
- [+] fountains of xp should always dry up after one use!
- [+] plants shouldn't leave footprints!
- [+] fix overcomplicated code in updateknowncells
- [+] you always "see" allies following you down/up stairs, even if
they are behind you.
- [+] remove dtresist slash from skeletons - their bone skin reduces
this already.
- [+] leave dtresist pierce because it's hard to hit them.
- [+] confirm gold amount when donating to shops
- [+] increase piety by half of any gold donated to temples
- [+] move hp, mp, sp to same line as target, and make them into bars
- [+] HP:[ 11 / 11 ]
- [+] makebar(window,min,max, loss,barcol, losscol)
- [+] print the prefix: "HP:["
- [+] construct the bar string to fit into 10 chars: " 11 /
11 "
- [+] print it one char at a time, setting bg as follows:
- [+] background:
- [+] 0 - min is barcol
- [+] min+1 - min+loss is losscol
- [+] rest is black
- [+] print the suffix: "] "
- [+] remember last dam amount for hp.
- [+] show mp and stamina like this too.
- [+] update viewpoint sooner when moving vertically
- [+] if you can't comprehend the contents of a spellbook, don't ID it!
- [+] hpbar: pass textcol and texcolwithbg
- [+] show f_stability in @e
- [+] don't identify tech inside shops if it's beyond your skill level
- [+] bug: "a cursed +-1 ring of dexterity"
- [+] enraged or deaf lfs shouldn't respond to chats
- [+] drawbar: show mp/sp text in orange if it's at 0.
- [+] allow vegetarians to eat frozen corpses.
- [+] anything flying + stunned loses flying.
- [+] chance for monsters to throw missiles is reduced when acc < C
- [+] use same code as firearms
- [+] undead shouldn't lose consciousness - they should jsut die.
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
- [+] bug: knocking a sleeping lf unconscious fails, they kepe
sleeping. need to change the f_sleeping flag!
- [+] another secret door bug: can identify them in askcoords!! fixed.
- [+] wrong order for text:
- [+] You attack the helpless kobold! You kill the kobold!
The kobold shouts "This isn't over!".
- [+] SOLUTION: say "the dying kobold shouts ...."
- [+] only use death text somtimes. random chance.
- [+] force player sarting dir to be the one with the most LOS cells.
- [+] avian/ashkari monks
- [+] at both initial creation and levleup:
- [+] need to update hasattack claws, not hasattack fists.
- [+] genericise this to just use whatever f_hasattack flag you
have?
- [+] bug with flying creatures falling:
- [+] You miss the giant bat. The giant bat bites you.
The giant bat stops flying. The giant bat falls to the
ground.
The giant bat's ribs are cracked!
- [+] was causing ATTACKER to fall, not defender.
- [+] fix bug with objects falling through pits.
- [+] new sewer map type:
- [+] BUG: getting empty map!!!
- [+] roomon etc is good.
- [+] but map empty
- [+] probably an issue with corridor vs section size...
- [+] make drains be locked again
- [+] grating causes stench
- [+] monsters:
- [+] aquatic animals (piranha, merloch, etc)
- [+] slimes
- [+] troglodytes (and anything which causes stench)
- [+] rats
- [+] water snakes
- [+] drains should make sounds ("you hear a drip")
- [+] snakes shouldn't get nauseated.
- [+] F_NOSMELL.
- [+] feigh death shouldn't work on things which are attached to you
(leech/mosquitoid)
- [+] stores should never sell gold coins!!!
- [+] givestartobs() - give a potion of water instead if it's going
to a shop
- [+] no resting when raged
- [+] make MAXIMUM map height higher. bumped from 20 to 30.
- [+] grating cell/object?
- [+] liquids fall through it.
- [+] to unlock it:
- [+] loosen with spanner
- [+] knock spell
- [+] pick the lock
- [+] lock hacker
- [+] 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
- [+] why don't i see "%s dies" when my ally dies?
- [+] cause it was behind me. added sound to tell us about this.
- [+] bug: s - 2 four leavesed clover
- [+] random portals
- [+] genericise code for making destination
- [+] check gate spell
- [+] enter a portal which doesn't go anywhere = generate a
destination.
- [+] increase range of all light sources
- [+] ring of hunger should override vege/carni
SOMETHING is there.
- [+] do this in getscannedthing . glyph = 'X'
- [+] make grabbing force a redraw if the target is the player!!
- [+] fix crash for fountain of ambrosia (because potion name starts
with 'vial' not 'potion')
- [+] show X for latched on monsters too
- [+] and make latching onto the player force a redraw too
- [+] chnage f_rage flag redraw to be done in flagcausesredraw()
- [+] shop bugs
- [+] bug: food vendor only had 3 pieces of food
- [+] bg: jewellery store had no items!!
- [+] getrandomobject bug
- [+] bug - wantrr too low!!!
- [+] if wantrr gets to 0 and still nothing, start ticking up from
original value.
- [+] bug: rings cost $0
- [+] need a warning before invisibility runs out
- [+] make most recipe food heal you a bit
- [+] if interrupted halfway through training, remember where we were
up to
- [+] instead of using F_TRAINING->val[2], use F_TRAINING->val[0]
(v1 is the goal)
- [+] when you start resting, if you don't already have it, add it:
- [+] v1 = 50;
v1 = modifybystat(traincounter, player,
A_IQ);
- [+] v0 = 0
- [+] if you DO have it, drop v0 by 25 modified by IQ. minimum
of 0.
- [+] when you train, INC the counter, don't dec it.
- [+] when v0 = v1, your'e done.
- [+] when you finish training, kill the flag.
- [+] shadowcat meat - produce and see through smoke
- [+] split aimove up into sections
- [+] emergencies
- [+] healing
- [+] housekeeping
- [+] inventory mgt urgent
- [+] attacks
- [+] pre-movement
- [+] movement along existing paths
- [+] boredom
- [+] go back to my shop
- [+] look for something to attack
- [+] gods go home
- [+] training
- [+] inventory_mgt_nonurgent
- [+] repairing armour - move this to inventory mgt??
- [+] snakes "slither into a wall", not walk. use F_WALKVERB
- [+] animate stone spell - turn statues to pets.
- [+] can't be both a vegetarian and carnivore! race overrides job.
- [+] "your tail brushes up against xxx"
- [+] cats should be able to eat raw meat.
- [+] don't include f_nopickup objects when you use ','
- [+] bed - can use this as restob, equivilant of tent
- [+] "a goblin corpse stands up" - this shoudl trigger a redraw.
- [+] warn when attacking with LevUp that you won't get any xp.
- [+] whenever you train, remove knowledge of the "really atatck and
get no xp" warning.
- [+] must score a hit first THEN pass a critical hit % check.
- [+] when asking for an object form the player's pack, default to NOT
showing long format
- [+] in askobject, pass in actionchar. remember choice for each
actionchar. and use it as a default.
- [+] warning system
- [+] warnabout(char *warntext)
- [+] if already confirmed it, keep going
- [+] otherwise ask to confirm
- [+] confirmations time out after some time...
- [+] replace injury warnings
- [+] reduce spell range
- [+] big bug - way too many critical hits!
- [+] askcoods: accept 'enter' to select a cell
- [+] armour should never reduce damage under 1
- [+] for playable races, show bonus/penalties when selecting them.
- [+] add f_hatesracewithflag with ashkari
- [+] mammoan - no athletics!
- [+] bug writing hiscores - need to escape 's.
- [+] add v2 to F_ATTREQ - scaling.
- [+] will scale up to 3 above/below
- [+] v2 = 1 means "+/- v2 per point above/below"
- [+] more than 3 below means you can't use it. modify "meetsattreq"
- [+] more than 3 above gives no extra bonus.
- [+] this is MANDATORY. add to checks.
- [+] add messages if your skill it slightly too low
- [+] STR scales damage, AGI scales tohit and crit chance
- [+] make sure showlfstats takes this into account
- [+] make sure rolltohit / getdamrange takes this into account
- [+] what do I do with attreq IQ??? mus tmeet it.
- [+] missile weapons: no scaling, must meet reqs
- [+] reduce regular strength dam mod
- [+] you only get attr bonuses if you are skilled with the weapon.
- [+] crash: getrandomrace(NULL, NA) returning null!
- [+] don't give away invisible creature locations in askcoords
- [+] does fireat automatically re-calc lof based on obstacles?
- [+] if so then change haslof in askcoords to be hasKNOWNlof!
- [+] catlike race - ashkari
- [+] bonus
- [+] has climbing, listen
- [+] jump ability
- [+] agi+
- [+] unarmed attack is claws
- [+] balance (stability?)
- [+] eyesight, darkvision
- [+] enhancesmell (only low)
- [+] pens:
- [+] hunger faster
- [+] carnivore
- [+] low-- wis (ie vuln to magic)
- [+] vuln to magic
- [+] vuln to water
- [+] vuln to sound
- [+] low str
- [+] auto rage on dog/wolf/mouse/bird/chicken
- [+] races CANT ahve certain flags
- [+] apply this during giveskill()
- [+] fix bug with beggars
- [+] prompt before giving money in C-d
- [+] bug: allies walking into walls
- [+] make your own race / job more likely to kjoin for less gold
- [+] new rarity level: rr_frequent ?
- [+] add it
- [+] in swamp, aquatic things are freqentut
- [+] swamp level:
- [+] createdungeon (but use different h_habitat. how do i do this?)
- [+] then remove all doors
- [+] then change all walls into deep water
- [+] add rarity for monsterss
- [+] add rarity for objects
- [+] add f_nolink for vaults which aren't linked to rest of map
- [+] fishbowl vault
- [+] change misisle dam calculation - add firespeed rather than
multiply.
- [+] forced shops at certain level intervals
- [+] implmement RT_OBJECT text=objectname
- [+] add buildings at levles 2-4 5- 7 8 - 10 11-13 14-16 17-19
20-22 23 -25
- [+] split sp_ally_attack into attack and attack_unseen
- [+] base throwspeed on throwin gskill, not strength
- [+] make it much harder to catch thrown missiles
- [+] try to place RT_OBJECTs in rooms
- [+] maybe get rid of sound lowering for 's'lowwalk. this should be
based on stealth!
- [+] don't let you walk down stairs if there's an impassable object in
the way.
- [+] inifniite loop in ?k
- [+] add to balaclava: equipconfer -> f_anonymous
- [+] can't get banned from shops with this!
- [+] when randomly increasing skills, don't select maxed ones.
- [+] remove warning for movement while bleeding
- [+] injuries heal too fast.
- [+] bug: The sound of sounds of fighting awakens you!
- [+] shouldnt be able to rest while airborne!
- [+] make drunkenness give more damage resistance!
- [+] "unseen" etc not working on tombstone
- [+] bug: merloch getting infinite attacks!!
- [+] add "a xxx moves out of view"
- [+] why are wizards starting with 2 cold spells? fixed. was getting
an extra one for gaining a "new" spell skill.
- [+] slowwalking shoudl reduce move volume, not eliminate it.
- [+] i noticed a secret iron door forom 6 cells away!
- [+] make SC_SEARCH not autopassable on natural 20.
- [+] armour can have a SIZE
- [+] remove some occurences of "f_noarmouron" for sz_large,
sz_small creatures
- [+] in "canwear", implement size check. if lf's body size isn't
sz_human then armour must have "f_armoursize -> sz_xxx"
- [+] exception for ears / eyes
- [+] f_multisize
- [+] f_armoursize sz_xxx
- [+] can only wear armour whih is your size
- [+] in io.c, show armour size
- [+] assign f_multisize to objects
- [+] when adding objects
- [+] cope with asking for "large armour" etc
- [+] adding to a lf's pack? make sure armour is the correct fit
- [+] somewhere else? 25% chance of different size. if so,
50/50 as to which way.
- [+] in getobname, show "huge armour" etc
- [+] medium ("halfling size pair of gauntlets"), human
("gauntlets"), or large ("huge gauntlets")
- [+] high sewing/metalwork skills will let you modify armour for
custom fit.
- [+] half the hit points of the object
- [+] implement a multi-level menu system for shops
- [+] text on shop exit ("thank you for your business!")
- [+] shops:
- [+] only let you donate if you can takeoff / unweild it first.
- [+] replace "vending machine" with shop
- [+] make shops/buildings their own category
- [+] this will let us say 'random shop'
- [+] enable stealing from shops
- [+] armour
- [+] book
- [+] weapon
- [+] general
- [+] potion
- [+] hardware
- [+] food
- [+] jeweller
- [+] always show full name for shop items
- [+] temple of xxx -
- [+] actions
- [+] donate
- [+] detect curse
- [+] bless(costs more if equipped)
- [+] absolve sins
- [+] special depending on who the temple is to?
- [+] temple of'xxx' - assign in addobject()
- [+] extend CHA/SPEECH mods to all shops
- [+] disable stacking for shop objects
- [+] hotel/inn
- [+] actions
- [+] pay to rest (for 100 turns)
- [+] if you do this, call startresting() before exitting
shop
- [+] and set some kind of flag so monsters will never
approach
- [+] maybe: f_resting_in_hotel
- [+] and so that they will never wake up you up through
sound
- [+] remove these when you stop resting.
- [+] force you to stop resting once your time expires
- [+] buy food/drink
- [+] weapon shop:
- [+] donate weapons
- [+] armour shop:
- [+] buy armour
- [+] donate armour (so that monsters don't pick it up!)
* [+] firearm reload messages
- [+] don't take f_throwmissile into account when using telekinesis
- [+] ranged weapons: auto reload after firing.
- [+] done.
- [+] replace:
- [+] Something critically savages your body.
Your uncursed suit of ring mail protects you.
Your suit of ring mail is damaged!
- [+] with:
- [+] Something critically savages your suit of ring mail.
- [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
- [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
- [+] getbestwepon - accuracy was counting for too much. have
changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
- [+] bonus
- [+] Leather skin
- [+] str++
- [+] photo mem
- [+] high listen skill
- [+] good smell
- [+] penalty
- [+] slow movement
- [+] no armour on ears
- [+] agi-
- [+] low eyesight
- [+] vuln to sonic
- [+] vegetarian
- [+] other
- [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
gain a 1st level spell too.
- [+] for random roast meat, always use base race
- [+] ie. orc, not "elite orc"
- [+] (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
- [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
- [+] ie. elf can have sk_ranged, so can hunter. these will now
stack.
- [+] chance for ai to use a firearm is lowered based on firearm
accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
- [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
- [+] adp
- [+] fast reloading
- [+] exp
- [+] fire through lifeforms! lof_wallstop instead of lof_need
- [+] mas
- [+] extra dam.
- [+] object HP issue:
- [+] head: b - an uncursed helmet [AR:3] [110%]
- [+] body: c - an uncursed suit of ring mail [AR:6] [173%]
- [+] hands: d - an uncursed battered pair of gauntlets
[AR:2] [86%]
- [+] are objects taking negative damage??
- [+] have put an assertion in to check
- [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
- [+] code it
- [+] test for throw
- [+] add for telekeniis too
- [+] add for guns:
- [+] "targetted: something [x%]"
- [+] "bow->Target->xxx [x%]"
- [+] show gun target on botl
- [+] redo throw accuracy:
- [+] 100 to hit yourself
- [+] apply per-cell penalty based on:
- [+] throwing / ranged skill (more)
- [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
- [+] fix wantrr bug
- [+] test...
- [+] new function: enum RARITY pickrarity()
- [+] check for all wantrr = xxx and use pickrarity instead.
- [+] give classes a RR_RARITY
- [+] common
- [+] weapon / armour / money / missile
- [+] furniture
- [+] misc
- [+] rock
- [+] uncommon
- [+] potion / scroll / food
- [+] rare
- [+] trap
- [+] tech/tool
- [+] dfeature (pentagram, vending machine, etc)
- [+] vrare
- [+] wand
- [+] ring
- [+] book
* [+] rewrite wrappers
* [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
msg for this.
- [+] Norman->Attack->A young hawk [flying, facing NE]
- [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+] you can now always 'see' your allies if you have LOH
- [+] ie. scannedcell
- [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
monsters
- [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
- [+] easy:
- [+] mushroom + water = mushroom soup = restore a little
stamina
- [+] tomato + water = tomato soup = restore a little stamina
- [+] apple + stone = fruit juice (don't kill the stone)
- [+] cheese + bread = cheese sandwich = restore all food and
stamina
- [+] rum + chocolate = rum ball = cure pain, restore some hp
- [+] med:
- [+] corpse + water + salt = jerky
- [+] mushroom + water + beef = beef strogonoff = filling,
temporary Fitness boost
- [+] garlic + bread + clover = garlic bread = produce stench
like a trogolodyte
- [+] bread + meat + tomato = hot dog = temporary strength
- [+] water + sugar + 2 berries = potion of red cordial = speed
boost
- [+] hard
- [+] peanut + stone + salt + bread = peanut butter sandwich =
super filling, restore all stamina, temp fitness boost
- [+] rum + chocolate + sugar + berry = fruit cake = restores
all stamina and hp and mp
- [+] implement recipe_t
- [+] int ningerdients
- [+] enum OBTYPE ingredient[MAXINGREDS]
- [+] int count[MAXINGREDS]
- [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
high enough
- [+] cooking skill determines how many ingredients you can use
- [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] '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)
- [+] after waking it just goes to sleep again!!!
- [+] bug:npc warriors aren't starting with a weapon
- [+] shouldn't be able to shieldblock if youre asleep!!!
- [+] allies sohuld announce what they are doing
- [+] "I'm attacking a goblin"
- [+] I just killed a goblin
- [+] I need some rest soon...
- [+] make sure only HUMANS do this...hu
- [+] F_EXTRADESC v0 should be 'order'.
- [+] makedesc_skill should honour this
- [+] makedesc_spell
- [+] same with other makedesc() functions
- [+] auto-inc this when adding them.
- [+] allies not properly following me downthe stairs
- [+] armour that can cover multiple body parts
- [+] f_goesonmulti
- [+] multiple f_equipped flags.
- [+] handle multiple f_equipped in takeoff()
- [+] all required bodyparts must both be clear
- [+] if not, prompt to remove both things.
- [+] check all code for f_equipped copes with multiple
occurences...
- [+] display as: f - a wetsuit (worn over body and on legs)
- [+] update io.c. "it is worn over xxx and yyy)"
- [+] heat metal spell
- [+] weilded metal burns hands and you drop it (unless immunte to
fire/burn)
- [+] metal armour damages you (1-4 each)
- [+] metal lifeforms take huge damage
- [+] all lifeforms should have at least novice level knowledge of
their own raceclass
- [+] new raceclass - dragons
- [+] define it
- [+] define skill for it
- [+] make jobs know the skill
- [+] red dragon
- [+] high armourrating
- [+] swoop
- [+] fly
- [+] breath weapon
- [+] spells
- [+] heat metal
- [+] fireball
- [+] burning wave
- [+] want gold
- [+] immune to fire
- [+] red dragon hatchling
- [+] generally lwoer power, only has heat metal and spark ?
- [+] spellcasttext for individual spells
- [+] ancient red dragon
- [+] higher hp and armourrating
- [+] more damage
- [+] more spells
- [+] 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
chasing the plaeyr
- [+] if a monster tries to open a jammed door, make a noise
* [+] glyph of warding spell - monsters won't walk on it
- [+] ice crust not working? fixed.
- [+] seal entrance should close doors too
- [+] more kinds of wizard staff
* [+] replace 'freezing touch' with something more useful.
- [+] in askcoords, writing:xxx, use colours
- [+] replace poisongas damtype name with 'gas'
* [+] redo skill screen
- [+] make ash clouds (sleeping etc) not affect thrower's square?
- [+] There is a magical inscription here: ""
* [+] rename some spells
* [+] poltergeist spell keeps missing.
- [+] reduce fire damage from burning objects in pack, or equipped
- [+] first spell in beginner spellbook should be the one we know.
- [+] fix bug with item inspect ability
* [+] stamina food
* [+] locate object issues
- [+] still got a wrapprint bug when showing spell descriptions.
percentages
- [+] change hardness calculation
- [+] assertion roomidx failure
- [+] map roomids are geetting screwed up.
- [+] especially when i do RESTART MAP GENERATION.
- [+] possible fix is in place...
- [+] maybe make all monsters always have close to max hp
* [+] change weapons to use 'damage rating'
- [+] when reading a spellbook, notify which spells are too hard. OR
don't even list them?
- [+] print "it is too powerful for you to cast" in red
- [+] don't show "[magic]" on identified objects
- [+] why does agility of 12 give +3 accuracy??? should be lower
- [+] why do i suddenly show about rings???
- [+] bug in giveobflag()
- [+] fixed ???
- [+] why could i learn a level 4 fire spell (flame pillar) when my
fire mgic skillw as only lv3 (adept) ???
- [+] bug in getspellpower's enforecement of max spell levels
- [+] higher level spells should cost more to cast.
- [+] l1 = 1
- [+] l2 = 2
- [+] l3 = 4
- [+] l4 = 8
- [+] l5 = 16
- [+] l6 = 32
- [+] lurking horror missing a weapon
- [+] in makedesc_spell, put mp cost in red if you can't cast it
pay it
- [+] use "enchanted" weapon mod?
- [+] test
- [+] why aren't obmods working on start obs?
- [+] why isn't wizard starting with staff weilded
- [+] because gamemode was GM_LOADING
- [+] use something different during character gen.
- [+] use different text for followup weapon hits (extradam)
- [+] "you hit the xxx" (first one)
- [+] "the xxx burns" (second)
- [+] "magic blasts the xxx"
- [+] "the xxx is chilled"
- [+] move all of this into construct_hit_string(lf, victim, wep,
damtype, dam, damnum)
- [+] test
- [+] move getkillvebr() and getattackverb() into text.c
- [+] make attackob() use the same code
- [+] spellbooks now contain multiple spells
- [+] they have an associated SKILL (not spell)
- [+] they have contents (a list of spells)
- [+] hiddenname isn't getting assigned
- [+] contents aren't getitng filled in
- [+] when you read them, you learn all the spells (if you can)...
OR prompt what to read
- [+] DONT give wizards spells on levelup anymore?
- [+] gods should say WHY they are angry.
- [+] angergodmaybe, angergod need to take enum GODANGERREASON
- [+] change definitions
- [+] change calls
- [+] add new godsay text into angergod()
- [+] in progress...
- [+] currently hanging - fixed.
- [+] once done, make it not add spaces
- [+] add spaces manually in showlfstats.
- [+] once done, change all code to use wrapprint instead of
textwithcol
- [+] still an issue - everything in my inventory is coming up bold!
- [+] missing the last word again....
- [+] remove requirement that you have to be able to pick up an object
to eat it
* [+] make ninja weapons be "exotic" or ninjitsu
- [+] ghost missing melee attacks
- [+] make oil lamps last HEAPS longer too
- [+] @ should include weapon bonuses for skill/str
- [+] "headless bones" when you kill a skeleton??
- [+] allow for change of verb instead of always using "Killed by xxx"
- [+] only call maketried() for the player
- [+] don't show 'really attack the peaceful something' if you can't
see it!
- [+] vault: suply closet
- [+] 1 sq room with tools
- [+] why is hecta's pain hitting the player?
- [+] make it so you can only Offer to gods you ahve prayeed to?
- [+] recalc light on:
- [+] darkness/light spells
- [+] eye destroyed
- [+] prevent tumble/jump while grabbed
- [+] prompt to drop when wearing new armour
- [+] canine tracking should be a potion, not a scroll
- [+] some '?' help commands not working.
- [+] add f_critprotection to armour
- [+] crash when tumbling into an lf
- [+] incrase cellknown time when no cartography skill
- [+] change disarm and trip into abilities:
- [+] disarm
- [+] trip
- [+] ninja
- [+] skills:
- [+] athletics (enouhg to tumble)
- [+] throwing
- [+] unarmed
- [+] long blades
- [+] stealth
- [+] objects:
- [+] smoke bombs
- [+] shuriken - another missle. higher dam than darts.
- [+] how will this be different from the rogue class???
- [+] disarm
- [+] trip. maybe make trip polearms confer this ability?
- [+] flip .
- [+] The giant blowfly (null).
- [+] instant disrobe spell - tleports armour to the side
- [+] why did a monk recognise a grenade? bug in conferobjectflags.
- [+] adept nature lore should identify bad mushrooms too
- [+] draining/vampiric brand - gives hp to user.
- [+] ways to check stairs before travelling
- [+] make getstairdestination() be the place where new maps are
generated
- [+] move getnoisedetails into new function
- [+] ability to listen down stairs with adept listen skill
- [+] atomatically trigger walknoise for all lfs within los of
stairs, and you always pass the check.
- [+] at expert listn you get names
- [+] otherwise just get 'slithering' etc
- [+] test......
- [+] "check stairs" ability ???
- [+] this then prompts for various methods
- [+] smell down stairs with enhancesmell
- [+] say "you see xxx scent" for all lfs within los of other
end
- [+] use perception to check stairs
- [+] say "you see xxx footprints" for all lfs within los of
other end
- [+] ability to peek down stairs with adept stealth skill?
- [+] temporarily put you there
- [+] precaclc los with awareness in all directions from there
- [+] show view
- [+] wait for key
- [+] move you back, remove temporary awareness
- [+] add help for these skills
- [+] eyes shouldn't adjust if you can seein the dark
- [+] make fire spread to nearby flammable objects.
- [+] issue with soldering iron
- [+] shouldn't be able to weild it if we don't know what it is
- [+] shouldn't be able to get stats like damage dealt ect if we
dno't know what it is
- [+] need technology skill to weild tech weapons??
- [+] misile damage problem - Killed by a spear (thrown by an orc
warrior).(33 damage)
- [+] ring of endurance
- [+] make evasion checks modified by speed.
- [+] bone items have higehr chance to be cursed
- [+] tweak feign death check now - int check (attacker) vs wisdom (one
feigning death)
- [+] cursed teleportation should take you next to a monster
- [+] bug: infinite loop during getrandomroomcell(map,ANYROOM)
- [+] make dumprooms able to show room ids
- [+] bug: i'm able to cast varpower spells which cost more mp than i
have!
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
- [+] if LFINWAY and not "infront", "you run into somehting"
- [+] change tumle to just take a direction
- [+] change to take a dir
- [+] different dirs should give different messages
- [+] abilities should only charge STAMINA if they were successful!
- [+] at end of useability()
- [+] abilityeffects miust only retur TRUE on cancellation
- [+] scroll of awareness not being used up!
- [+] lore: at adept level, add "it could potentially kill you in xx
hits"
- [+] (assume no armour)
- [+] need getweapons()
- [+] implment 'canuseweapons(lf)'
- [-] spells should only charge mp if they were successful???
- [+] move the validatespellcell() call into castspell.
- [+] add f_targettedspell, tt_xx to all spell defs
- [+] remove validatespellcall() call from dospelleffects
- [+] test with player
- [+] test with monsters
- [ ] special cases:
- [ ] blink
- [ ] test digging...
- [ ] invisibillity?
- [ ] light
- [ ] darkness
- [ ] do i still need "frompot" in spelleffects???
- [+] new ability: flipthrow
- [+] monk was starting with agility too high.
- [+] crash: missing room ids. hopefully fixed.
- [+] notify player when stamina rises from 0
- [+] resting - get rid of seperate "rest until xxx", just rest until
EVERYTHINg is good.
- [+] steam should deal heat damage, not fire (ie. don't set things
alight)
- [+] river going through a level. how do i do this?
- [+] outline???: "hasriver"
- [+] river code:
- [+] pick random radius (0-3)
- [+] pick random spot along top ( x >= radius and x <=
w-radius-1)
- [+] pick random spot along bottom
- [+] bresnham between spots to make centrelist
- [+] for each centrelist
- [+] make a second list of rivercells (rivercell->x -
wid/2) - (rivercell->x + wid/2)
- [+] foreach riverercell
- [+] move any staircases here to somewhere else
- [+] clearcell
- [+] convert to low rock floor
- [+] convert to deep water
- [+] make ctrl-y work, as well as ctrl-c
- [+] i'm noticing tripwires too often (adventurer with 0 perception
skill)
- [+] make the check harder!
- [+] tweak safetorest() so that monsters don't just look away form the
plaeyr then go to sleep!
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
- [+] warn before moving/attacking with bleeding injury
- [+] leg slash = hploss form move
- [+] hand slash = hploss from attack
- [+] warn before walking onto pentagram with blessed gear
- [+] explosion should cause dt_explosion injuries?
- [+] massive damage to whatever armour is there
- [+] OR if no armour:
- [+] limbs
- [+] lose hand
- [+] body
- [+] collapsed lung (fitness = 0)k
- [+] ribcrack (like bashing one)
- [+] head
- [+] ringing ears (can't hear anything for a long time)
- [+] burnt eyes (blinded)
- [+] bug: not seeing fall msg during move (fell due to leg injury)
need 'didmsg'
- [+] getrelativedir should always return FRONT when uou have
f_awareness
- [+] bug: shouldn't try to leave trails when inside walls
- [+] announce when armour saves you from critical hits
- [+] F_DONELISTEN isn't working now - i'm getting multiple "you hear
buzzing to the north".
- [+] N_FLY needs to act the same as N_WALK (ie. be NC_MOVEMENT)
- [+] make validatespellcell() work on abilities
- [+] sonic bolt
- [+] mutated bat (sonar - damage)
- [+] merloch (sonic scream - damage)
- [+] 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
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
- [+] monsters should start sprinting if targetlf is sprinting && we
can sprint && we aren't sprinting
* [+] The kobold throws a potion of sleep at you. A potion of sleep
hits you.
A potion of sleep shatters! You are showered in glass shards!
* [+] in getchoicestr, when there is only one valid choice, show its
description below!
- [+] in getchoicestr:
- [+] remember desc_end_y
- [+] if our typed text doesn't match, and desc_end_y is set
- [+] blank out those lines
- [+] in ], show letters and let you view amrour
- [+] Still occasionally have bugs where no up stairs are placed in the
first level!!!!!
- [+] put in debugging to show if we ever destroy a staircase
- [+] test when it happens again.....
- [+] for "pentagram pulses black", if you can't see the estination,
still say "your xxx flies away"
- [+] change listen code: you can only hear one _footstep_ noise per
turn, but any number of other things.
- [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a
certain %age. ie. f_modmaxhp 80% to get lower.
- [+] jobs can no longer have F_HITDICE
- [+] instead, they have F_MAXHPMOD
- [+] why am i getting wet and drowning while flying??
- [+] show f_canwill SPELLS under abilities, not spells??
- More playable races
- [+] need f_playablerace
- [+] can pick when you start the game (before you pick job)
- [+] human
- [+] implement f_jobattrmod
- [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT.
- [+] ALL PLAYABLE RACES must have FULL sets of STARTATT
* [+] elf
* [+] dwarf
- [+] aviad (birdfolk)
- [+] can fly
- [+] vuln to electric attacks
- [+] vuln++ to fire
- [+] ---str
- [+] cyborg
- [+] +str, +int, +dex, +con
- [+] ---cha
- [+] -wis
- [+] vulnerable to lightning, water,cold
- [+] cannot use any magic, or med-high chance of spell failure
- [+] bleeds oil rather than water
- [+] see exact hp damage (f_extrainfo)
- [+] tech usage.
- [+] remember race in highscores.
- [+] make detect life last longer
- [+] stirge should have enhacnesmell
- [+] plants should never "turn to face you".
- [+] they should be able to see in all dirs.
- [+] don't announce "turns to face" if the lf has f_awareness
- [+] AGAIN: walk on to a dark place and i can still see my own cell!
needed >= instead of > in celllitfor
- [+] don't show sacrifice text if you can't see
- [+] butterflies shouldn't produce light.
- [+] peaceful things shouldn't turn to face you all the time (only low
% chance)
- [+] CRASHES when killing flags
- [+] killflag() was dereferencing f-> after freeing it.
- [+] skill which aren't ready not showing up in 'm' list
- [+] i think a previous fix for spells broke this...
- [+] whatever it was, it shoudl only apply to spells, not
abilities.
- [+] don't show @G if you're looking at someone else.
- [+] sunrise code didn't work - i immediately went to full fov!
- [+] was a bug in isnighttime().
- [+] jimbo needs more hp
- [+] diningroom should have a fridge, instead of all food being on
ground.
- [+] bug: "it is pitch black" as soon as you use stairs....... need to
recalc light
- [+] show temp lit areas as bold
- [+] do it.
- [+] test.......
- [+] notification of being followed to other maps/stairs:
- [+] "you walk up the stairs. xxx follows you."
- [+] implement.
- [+] move sacrifice code to god.c
- [+] change twoewapon->master to make your second weapon act like a
shield
- [+] ie. getshield() returns it.
- [+] act like low level shield skill. special case in
SC_SHIELDBLOCK
- [+] make twoweaponers only be able to use secondary weapons in which
they are skilled.
- [+] 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
- [+] make it only protect against missiles? no AR as such
- [+] facing N, walk NW. turn instead of walk! bug in
getrelativedir(). fixed.
- [+] ctrl+dir = turn.
- [+] make novice level listen more useful.
- [+] l2 tech: "styptic" -
- [+] heals certain bleeding injuries
- [+] then if still bleeding() due to low hp, heal back up.
* [+] tool: bandage -fix blood loss
- [+] change enhancedsmell to happen in same place as 'detectlife'
- [+] spells:
- [+] sixth sense - l1 - warns if someone is within 2 cells behind
you. lasts for a single use.
- [+] canine tracking - l2 divination spell, gives temporary
enhanced smell for short range (3).
- [+] heightened awareness - l3 ongoing divination spell to enhance
FOV to 360 degrees
- [+] scrolls for the second two
- [+] apportation
- [+] let wizards pick two secondary spell schools
- [+] start with beginner in primary, novice in sec
- [+] add player->facing
- [+] this gets set to the last move direction
- [+] you can only see in an arc in front of you
- [+] going backwards just changes facing (and takes less time)
- [+] shift+samedir = run
- [+] shift + otherdir = walk without turning / strafe
- [+] when ai is moving towards a seen target, always strafe
- [+] when fleeing, you can turn your back.
- [+] make strafing backwards/sideays take longer
- [+] enhanced-smell means you can see all LIFEFORMS or _smell
obects_ in all directions
- [+] ie. look in all dirs, but in precalclos(), can only see
RD_BACKWARDS/SIDEWAYS cells if they have lfs
- [+] define "smelly" objects - non-undead lifeforms, food,
ot_scent. f_smellable
- [+] make eyedestroyed half your FOV (lose the right side)
- [+] change pirate to start with permenant IJ_EYEDESTROYED
- [+] mosnters should always turn to face sounds
- [+] shields should give no AR, but have a chance of blocking all
damage based on shield skill
- [+] healing potions should fix nonpermenant injuries (check for this
after checking for missing bodyparts)
- [+] shouldn't remember map cells anything when bezerk
- [+] show skillxp until next skill in @@
- [+] only allow 'c' to close doors which you can see.
- [+] bug in precalclos when going off map.
- [+] even with 0 cartography, remember cells. but then forget once
they're >4 cells away.
- [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next)
- [+] add asserts
- [+] calcxp is sometimes returning -xxxxxxx. turned on debugging.
- [+] wait for it to happen again
- [+] bug: player can see own cell when maxvisrange = 0(resting)
- [+] mods for perception skill:
- [+] adept pereption: FOV widened
- [+] expert perception: leave no footprints (rather than
partically obscure)
- [+] master perception: see in nearly all dirs
- [+] 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'
cause damage
- [+] move_will_hurt()
- [+] ie. if in PAIN, or appropriate injury.
- [+] if you're deaf, use "the xx says something" rather than "the xx
says yy"
- [+] STILL reachability errors in dlev 6 (jimbos' lair not linked)
- [+] new forest habitat mechanism - clusters of trees
- [+] bashing injury if you are slammed into a wall?
- [+] jimbo didn't have a weapon! "+2 halberd" not working
- [+] if you don't have knowledge about a creature, still show items
(but only equipped ones)
- [+] listen skill should take longer to train
- [+] candle should last longer
- [+] carrot grants temp darkvision
- [+] shouldn't be able to eat stuff from floor while levitating
- [+] CHANGE f_hitdice to use text
- [+] fear spell from dretch always failing even on l1 player. why?
* [+] summondemon spell
- [+] adjust spell damage - 1d6 per level.
ice spells:
- [+] l4 - ice armour (higher power means more pieces of ice armour)
- [+] (power/3)+1 pieces of armour. ie. 1 - 4
- [+] order: body,helmet, gloves, feet
- [+] 4AC each.
* [+] l5 - shardshot (higher level ray damage, does less damage the
further away it goes)
- [+] l5 - snap freeze ? turn one lf to ice?
- [+] more things which use light attacks (ie. make glasses useful)
- [+] replace bp_righthand with bp_rightfinger
- [+] bug in blink spell: "Nothing seems to happen."
- [+] make metal resist bite/slash/chop, not be immune.
- [+] fix shatter spell on glass wall
* [+] bug: in jimbos vault and plaeyrstart2, exits are being added in
in appropriate places.
* [+] make player's starting point be a "prison_cell" vault.
- [+] earplugs - stop all sound.
- [+] make f_deaf an intrinsic (ie. announcements)
- [+] add the object
critical hits:
- [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised"
- [+] need losehp to NOT trigger fightback in this case - we will
trigger it ourself after crithit.
- [+] pass this as a param?
- [+] critical eye hits
- [+] scraped eyelid (slash, lower accuracy)
- [+] black eye (bash, lower vision range and charisma)
- [+] destroyed eye (pierce, permenant lower vision range!)
- [+] injuries heal heaps faster when asleep
- [+] redo f_injured flag to use an "enum INJURY" IJ_xxx
- [+] change how it is applied
- [+] change how it is announced (io.c)
- [+] change how effects work (search for F_INJURY)
- [+] pierce
- [+] pierced artery: v.high bleed
- [+] stabbed heart (instant death, very unlikely)
- [+] slash:
- [+] cut flexor tendon (cannot weild ANY weapon)
- [+] slashed hamstring (fall. skillcehck every time you move,
vslow movement)
- [+] severed finger
- [+] finger drops to the ground
- [+] ring drops to the ground
- [+] (get nobodypart bp_rightfinger or bp_leftfinger)
- [+] bash:
- [+] dislocated arm (cannot weild anything heavy in that hand)
- [+] broken rib (reduced carrying capacity)
- [+] swelled ankle (cannot remove or put on boots)
of listen check easier.
- [+] they tend to only wake when i'm 1 sq away
- [+] get rid of sprintf
- [+] replace all with snprintf via macro
- [+] then search for HUGEBUFLEN etc and fix up
- [+] compile with -O2, fix up warnings.
- [+] gaze attacks (ie eyebat, beholder) now need 2way los, and glasses
will protect you
- [+] use "wrapprint" to show physical props in @@
- [+] glowbugs should flash upon death
- [+] should stop gaze attacks (like eyebat)
- [+] golden cobra - acidspit at eyes
- [+] bright flash (glowbug, and make some of them hostile)
- [+] flashbangs (make them more common)
- [+] combine tracking with searching and call it "Perception"
- [+] replace all occurences of SK_xxx
- [+] replace skillcheck (or make it use different skill)
- [+] reduce hardness values
* [+] problem with skills: as you level up , you learn them less often
* [+] throw objects to set off traps
- [+] combination strike ability at expert wep level
- [+] reduce skill bonus to sc_stealth and sc_search
- [+] modify descriptions for all spells to explain the effect of spell
power
- [+] make chill work more like frostbite (but less powerful)
- [+] make beginner skills still only cost 1. above there thye csost
more
- [+] modify cha check based on remaining hp% (ie. less attractive if
you're bleeding everywhere!)
- [+] am i getting all level up skill messages? don't think i saw "you
can now detect magic" as a wizard.
- [+] can use "more()" more often now that it checks strlen(msgbuf)
first.
- [+] make askchar etc call more() first.
- [+] falling over should lower your visrange.
- [+] missile size should impact how hard it is to catch it
- [+] backstabbing doesn't seem to work..... fixed now ?
- [+] all non-movement actions should stop sprinting.
Cold spells:
- [+] l1 - glaciate (turns water to sheets of ice)
- [+] l1 - snowball (minor cold damage in a ball, 1 to all)
- [+] l2 - e "train" to train skills or go up a levle, instead of 'R'.
- [+] better way to learn spells (without spellbooks)
- [+] transcribe from scrolls using "study scroll"ability
- [+] sc_learnmagic
- [+] (int/2) + yourlevel + sorceryskill + BONUS:(spellskill*2)
- [+] difficulty is 20 + spelllevel*3
- [+] you lose the scroll even if it fails
- [+] same for learning from a spellbook!
- [+] but difficulty is 15 + sorceryskill + spelllevel*3
- [+] make pea soup be targetted. ie. make mist on top of your enemy,
not you!
- [+] implement maximum level in f_canlearn.
- [+] wizards - short blades at novice.
- [+] limit spell skills for some other classes?
ce shield? creates a shield
- [+] instead of evasion skill giving a fixed boost, make it change the
evasion bonus due to xp level.
* [+] give monsters free moves when you go back onto a level, BEFORE
placing the player.
- [+] fix dungeon code to eliminate nonlinked rooms
- [+] force all vaults to be at least 3 squares away from map edges
* [+] implement flood-fill test.
- [+] fix bug with redrawing when you open a door.
- [+] fix bug where pleasing gods during killflag() causes crash.
- [+] creatures >= 2 sizes bigger than you should block los
- [+] explosion trap should kill doors
- [+] redo getflags to take more args
- [+] genericise isprisoner code
* [+] jimbo's lair needs a portal back to dlev1
* [+] linkexits still not working properly. fixed i think!
- [+] rename some spells
- [+] make max spell level be 6 (to match up with pr_master)
- [+] modify mp per level by sk_sorcery/2
- [+] bug: reading a blessed scroll of manding does nothing!
- [+] improved crit effects
- [+] bash
- [+] slash
- [+] fire dam cauterises slash wounds
- [+] cold dam fixes brusing
- [+] add crit chance to weapons. (default of xxx)
- [+] stirges shouldn't be able to latch on if you have no exposed body
parts
- [+] need alignment. f_alignment. default neutral.
- [+] slight change to armour damage calc
- [+] thrown poisoned weapons don't work!
- [+] holy aura spell. lv3 cleric.
* [+] are kobolds working properly?? seem buggy
* [+] calmed down a war hound with a mushroom.
- [+] use wisdom for checks for unwise things, not iq.
* [+] hecta should only care about attacking evil creatures if they
were NOT hostile.
- [+] optimise:
- [+] use getflags() more often.
- [+] lookforobs() - redo code for ai wanting things.
* [+] precalclos - 28%
* [+] hasbetterweapon()
- [+] haslos - 27.3%
- [+] when you move now, you don't have los to your previous cell on
the first drawscreen when your turn starts!!!!!
- [+] ai is coming too close before firing ranged weapons. allow them
to stay within 2 - maxrange if they have a weapon.
- [+] also let them fire form furhter away!
* [+] give healing potion to hurt (intelligent) lf to calm them down?
* [+] Amberon (m) purity, righteousness
* [+] Hecta - female, death, undead, evil, night
* [+] Felix - male, thieves, greed
* [+] bug - i found jimbo dead!
- [+] cave vault (different wall types, boulder at the entrance, lots of
food, bears)
- [+] monsters should only weild weapons if they are better than their
inbuilt attcaks!
- [+] show dtected obkects in bold green
- [+] bug: can blink into impassable objects
- [+] infinite loop in ai turn for porcupine.
- [+] movetowards()
* [+] vampires
- [+] vampire changes back to its original form. CRASH.
- [+] 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
- [+] limit name length
* [+] The fire titan is burnt by a flaming greatsword!
- [+] make ar slightly less effective.
- [+] don't prompt "really walk into xxxdangerousthingxxx" when
carefully walking.
- [+] allow dodge check for web spell.
- [+] speedups in attack.c
- [+] "the centipede bites you" "the centipede hits you"
- [+] how did it get "hit"? it should only have a teeth attack!
- [+] after looking at skills, bottom line of status bar isn't redrawn.
- [+] anything with a --more--
- [+] druids regenerate mana based on nearby plants
- [+] bug: "your young wolf starts casting a spell" when sprinting.
- [+] bug with AI follow code - now fixed.
- [+] make ai pets be able to "smell" the player.
- [+] unarmed adept: break wood (no "ow!" and extra dam to wood/doors)
- [+] automatically give all player pets the ability to see footprints!
* [+] monsters not following properly! fixed now i think.
- [+] mark fountain potiontypes as "tried" after you drink
- [+] replace barbarian with warrior. make it armour-based.
- [+] bug: "A Jimbo comes into view" should be "Jimbo coes into view"
- [+] more findlfags() calls needed in lf.c.
- [+] give jimbo f_dontleaveroom!
HELP SYSTEM
- [+] ?? for commands
- [+] ?s for skills