- [+] when placing any vault with maintainedge, set "LOCKED" for all
cells
- [+] change all mapmaking code to honour LOCKED(not just digdungeon)
- [+] room placement code
- [+] cave
- [+] dungeon
- [+] forest
- [+] sewer
- [+] swamp
- [+] fixed. BUG: TRAVEL to the swamp, walk up stairs...
- [+] ERROR - stairs should link to existing map ('dungeon L7 (id
#3)', depth 7), but
it has no free stairs.--More--
- [+] walking _down_ is okay.
- [+] was only checking to link entryob when we were going DOWN
stairs.
- [+] place fixed vaults _BEFORE_ creating habitats ???
- [+] this will only work after all creation routines honour
"->locked"
- [+] set locked on all fixed vault cells after making them.
- [+] better code for removal of internal doors.
- [+] bug! fleeing monsters taking no time!
- [+] brainbat
- [+] consume corpses to regain life? make this a normal death spell.
- [+] f_consumesouls
- [+] anything that dies in sight nearby heals her.
- [+] "%s consumes the soul of the dying %s ?"
- [+] give this to baba yaga
- [+] loading bug with map flags:
- [+] getting a flag with text = "flags"
- [+] am i saving something else with a space in it ???
- [+] %s in fscanf doesn't handle spaces!
- [+] in save.c, when I'm liable to get spaces in a string,
replace %s with:
- [+] sscanf("%[ a-xA-Z0-9+'*/-]")
- [+] earthwyrm
- [+] divine into two monsters if slashed
- [+] appear in ant nests
- [+] parserace needs to cope with lazy etc.
- [+] make enum BEHAVIOUR
- [+] make behaviour_t
- [+] id
- [+] name
- [+] flags
- [+] killbehaviours()
- [+] addbehaviour() calls to define them
- [+] cleanup callsk illbehaviours
- [+] givebehaviour(lf, enum behaviour)
- [+] getrandombehaviour()
- [+] instead of checking f_behaviour->text, use
findbehaviour(f->behaviour->val[0])->name
- [+] parserace should handle these and populate wantflags
appropriately.
- [+] add disease incubation times (instead of getting them right away)
- [+] OT_A_TRIP should be a lot harder on anything with more than 2 legs
- [+] monster fleeing up/down stairs should anger hecta
- [+] reduce short bow damage.
- [+] add composite bow (between short & long)
- [+] need magic/silver weapons to hurt MT_MAGIC things
- [+] spirits should no lnoger be made of "MAGIC" - make them
something else. flesh will do.
- [+] in attack.c, noncorporeal check should also check for silver
/ magic weapons
- [+] describe noncorporeal in io.c if knowledge is high enough.
- [+] new spell casttype: ct_sounbased. deafness protects.
- [+] Banshee (7hd, spirit, death keen at night) - blue / red 'p'
- [+] death keen = sonic damage"midnight dirge"
- [+] but only at night.
- [+] harpy: 7hd - orange 'A'
- [+] charm (via sound, so sonic prevents)
- [+] 50% chance of bone club
- [+] bite, claw
- [+] take lifeform_t * for usevis instead of boolean
- [+] add new option "useorigrace" for shapechangers
- [+] whips
- [+] F_WHIP
- [+] new skill: sk_whips
- [+] basic trais:
- [+] high accuracy
- [+] lowish dam
- [+] pierce/slash/bash damage
- [+] some will let you cast 'snatch' and suck
- [+] no crit chance
- [+] examples:
- [+] bull whip (lowest damage)
- [+] flail (ie. chain whip ,change type from club to whip)
- [+] heavy flail
- [+] metal-tipped whip (flail with higher acc)
- [+] barbed whip (causes piercing damage as well)
- [+] io.c @@ should take extradam into account
- [+] describbeob() should show F_EXTRADAM
- [+] change morale values - this shoudl default to your TR, otherwise
f_morale replaces it.
- [+] CRASH in doknowledgelist()
- [+] hecta bug: fixed!
- [+] You bisect the kobold! The dying kobold shouts "Nooooo!".
Hecta's voice grates against your mind:
"You allowed my sacrifice to escape!"
- [+] is this because i'm calling "flee" after the lf takes
fatal damage but before die() is called?
- [+] NO, because flee() checks isdead(lf)
- [+] it's happening when i kill a monster, and another one of
the same type sees me!
- [+] change: only trigger this is the player has previously
attacked the monster
- [+] replace fire titan with balrog
- [+] You bisect the giant gnat! The dying giant gnat shouts "Nooooo!".
- [+] fixed.
- [+] boggart -brown 'n'
- [+] made of wood
- [+] cause things to disappear
- [+] cause milk to sour (low power blight)
- [+] scared of salt
- [+] demandgold
- [+] briar thrash (spiky) - yellow 'T' (grab)
- [+] bingebark - red 'T'. wants edible, canwill snatch
- [+] leshy (human with leaves) - green 'h'
- [+] manticore - red 'm''
- [+] lion, bat lings, man head, tail tipped with iron spikes
- [+] carnivore
- [+] human sized
- [+] shoots 1-6 spikes. each spike does 1d6. too much!!
- [+] change this to be 5d3 damage per volley.
- [+] ie missiledam 4d3
- [+] can do this once every 50 turns.
- [+] can fly
- [+] claws - 1d3 1d3
- [+] want gold (non covet)
- [+] make it grimoire.
- [+] don't learn the first spell automatically
- [+] only start with 3 spell schools, and they must be from:
- [+] wizards with no subjob:
- [+] get a grimoire rather than a spellbook. but first spell is
always mana spike?
- [+] need some frequent forest vaults
- [+] tree passage:
- [+] tree circle
- [+] more enlarge/shrink object effects
- [+] wooden door = wood wall
- [+] wooden barrel - wooden dor
- [+] i turned into a cloud of gas. why was i not flying?
- [+] when you polymorph to creautre with natural flight, start
flying right away
- [+] show %age chance when studying a scroll
- [+] redo skillcheck code so we can calculate % chance beforehand.
- [+] automatically unlock all doors in starting room
- [+] reduce accuracy for innate attakcs- at the moment they always hit!
- [+] based on agility.
- [+] test with monk......
- [+] You have the following spells active:
3 damage reduction, vuln to fire
- [+] grimoire - why could druid see 'knock' ? think this is fixed now.
- [+] new killverbs: "murdered" "slain"
- [+] superheat not working if you miss. fixed.
- [+] skillchecks for NC_SPELLEFFECT noises should always succeed.
- [+] modifydamage dealt now that monsters have more hp:
- [+] initial wizard spells
- [+] chill
- [+] spark
- [+] manaspike
- [+] later wiz spells
- [+] fire on ground
- [+] new type of spellbook:
- [+] general - one spell from each school "spell tome" ? "xxx's
grimoire"/
- [+] another flagpile corruption bug.
- [+] asked a mammoan hunter to join me.
- [+] Marcus shouts "Beware a mosquitoid!". You hear heavy
footsteps.
- [+] Assertion failed: ("flagpile is corrupt!" == 0), function
checkflagpile, file flag.c, line 456.
- [+] (timeeffects on footprints)
- [-] when you "vomit then wake up", need to recalc los
- [+] killflag() is meant to fix this!
- [ ] why isnt it working?
- [+] bug: wasn't identify()ing starting weapons when you selected them.
- [+] allow temples to try to belss unknown objects.
- [+] allow describing obs from askobmulti()
- [+] warrior read a grimoire, why did it get identified? fixed.
- [+] reduce cost to repair stuff
- [+] dancing flame -l1: fires spread to adjacent lfs
- [+] cleansing fire = l2: use nearby fire to heal -heal (power*20)%
from each one.
- [+] maxpower 5
- [+] quicken fire - l4: make flame primarliry
- [+] magic barriers should vanish if you walk into your own one
- [+] implement
- [+] fleeing from something with F_NOMOVE shouldn't be cowardice
- [+] fix crash in check_for_block()
- [+] new branch: sylvan forest
- [+] entrance to this branch: hollow tree?
* [+] add some forest vaults
- [+] get rid of 'the sun is coming up" messages
- [+] nature spells which work better outside need to change...
make it 'when in sylvan woods' instead
- [+] need a spell to teleport to entrance of a branch!
- [+] done. TRAVEL.
- [+] change lf summoning to better control hostility
- [+] gods should be able to see invisible
- [+] travel spell to quickly get around branches
- [+] treant / ent = green T
- [+] old/normal/young
- [+] older = slower
- [+] elder can cast 'animate tree' ?
- [+] bug: when you offer a godstone to a god outside of realm of gods,
they are saying "no" but still taking it.
- [+] gods should yell out a warning when you walk over a new godstone
- [+] this lets the player know that picking it up will anger that
god.
- [+] then add f_donewarning to it.
- [+] quaffed a potion of polymorph self... and nothing happened!
- [+] only killing undead should please the god of life, not just
killing anything evil
- [+] klikirak shouldn't get angry when you take cold damage!
- [+] fire sohuld convert flammable celltypes to another type:
- [+] wood -> stone floor with pit
- [+] carpet > stone
- [+] increase flamepillar range
- [+] warning before killing firebug on wood/carpet, if wisdom is
at_high or above, and animal lore is high enough.
- [+] make f_twohanded only apply up to a given lf size.
- [+] implement
- [+] then add "istwohandedfor(wep, lf)"
- [+] then fix up ob defs in data.c
- [+] unnatural growth/shrinkage spells should be temporary too (like
potion)
- [+] random polymorph code
- [+] stay at the same TR, or one higher/lower! (same for player
random polymorph)
- [+] elephant - friendly to mammoans
- [+] mammoth
- [+] pixie (then pixie, dryad sprite = sylvan / fae)
- [+] naiad / nixie
- [+] blue 'n'
- [+] low power charm to lure into water
- [+] dagger/javelin
- [+] throwing net
- [+] resist magic 25%
- [+] droid - zapper
- [+] hoverscout (levitates, summons monsters)
- [+] skellion - floating flaming skull, scream attack, flame melee
- [+] fire primality should cast flame burst.
- [+] don't modify monster hp based on fitness.
- [+] storm primality / wind primality
- [+] very fast
- [+] 2 attacks - 1d5 each time. (pummel with debris / zapper)
- [+] permenant windshield
- [+] lesser:
- [+] lightningbolt (lesser, 2d6)
- [+] sleetstorm (lesser, 1-2 cold and slow movement)
- [+] greater
- [+] chain lightning (greater, 3d6)
- [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on
power)
- [+] naiad (water sprite) - 'n' -blue
- [+] good
- [+] aquatic
- [+] water spirit
- [+] charm spell
- [+] ling parasite - green 'x'
- [+] turns one corpse into a zombie (dies in the process)
- [+] add onion object.
- [+] roc
- [+] "crystal cur" - canine. only bashing works
- [+] gems for corpses.
- [+] bug: monsters not using spells. fixed.
- [+] test NOSPELLS bug with rapidivy
- [+] test low IQ spells with storm primality
- [+] make hitdice be d8 rather than d4
- [+] change F_HITDICE
- [+] add constant HITDIESIDES
- [+] redo all definitions in data.c
- [+] 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
- [+] if monster dodges your first atatack, cancel the second!
- [+] make god anger/happiness fade over time, unless they are enraged
(1 per turn ?)
- [+] chance of fading is 1 in (abs(piety)/100)
- [+] don't include " [tried] when dumping bones!
- [+] "repair all"!
- [+] implement repairall
- [+] make repairall like eating (auto action)
- [+] time taken when you fall down should be longer
- [+] F_STAYINROOM monsters will go back to their lair if they ahve no
target.
- [+] more object decay in bones files:
- [+] blood splashes/pools become blood stines
- [+] all objects have a 1/4 chance of vanishing (someone picked
them up)
- [+] resting should only please glorana if your'e actually worshipping
her!
- [+] exploit: stand outside jimbo's room and pelt him! fixed.
- [+] random "behaviours" for more/less hp
- [+] around dlev 8-9, monsters are too easy. at this point i'm
dealing 10-20 damage per hit.
- [+] give monsters a "Challenge Rating" seperate to their hitdice.
- [+] instead of gethitdice(), use getcr()
- [+] change dumpmonsters
- [+] use cr() to determine what monsters will appear, not hit dice.
- [+] that way i can have certain mosnters have more hp, but still
appear higher in the dungeon
- [+] initially, assign CRs based on hit dice
- [+] when rolling hitdice for monsters, always give maximum, then
go up/down by 15%
- [+] monsters shoiuld always know spells from their spellbooks.
- [+] 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)
- [+] oval
- [+] chasm
- [+] room split in 4 by glass
- [+] concentricroom
- [+] Crash when a vault uses the object 'hole in the ground'
- [+] better method of giving spells to monsters
- [+] f_randomspellcount v0=amt
- [+] f_randomspellschool v0=ss_xxx v1=minlevel v2=maxlevle, text
= pw:xxx or null
- [+] if power not given:
- [+] castig power is (starting depth / 2)
- [+] limited by spell's max level.
- [+] OR
- [+] f_randomspellcount v0=amt
- [+] f_randomspellposs v0=spellid, optional text = power.
- [+] include these in validateraces
- [+] populate monsters...
- [+] TEST! (with fire sprite, check if it casts a spell other then
fire dart)
- [+] if monster is randomly given the job "j_wizard", you MUST pick a
subjob too!
- [+] go back to using CANCAST for monster spells, so that they show up
properly in a mind scan.
- [+] druid should start with sickle as secondary weapon.
- [+] healing not hurting undead - should be fixed now.
- [+] add description of spell powe calculation to spell skills
- [+] increase obhp of armour
- [+] i was a druid, levelled up to l4, and didn't get a new spell!
FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX.
- [+] make it a lot harder to get "beheaded" etc.
- [+] show real object name in "killed by a thrown xxx" even if you
didn't see it
- [+] short blades shouldn't be able to behead.
- [+] monster threat calc should take #attacks into account!
- [+] CTRL-DIR to turn isn't working agian. fixed.
- [+] make peasoup have range 1, rather than just going straight in
front of you.
- [+] power 1 glyph of wardning useless. fixed.
- [+] reduce zombie maxattacks to 1.
- [+] bug: Are alcohol no longer covered in (null).--More--
- [+] make merlochs much more rare.
- [+] light recalc is MASSIVELY slow on some levels.
- [+] for now: remove dark levels completely?
- [+] "You see 2 sheet of ices here."
- [+] remove F_FROZEN when you cook something.
- [+] frostbite should do a little more damage. d4 instead of d3.
- [+] "%s staggers backwards, but stands its ground."
- [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
- [+] demonologist - can summon demons
- [+] shaman - summon animals
- [+] bezerker - can use rage
- [+] necromancer
- [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
- [+] Novice Listen, Novice CLimbing
- [+] Also combine abilities, ie:
- [+] Ability: jump
- [+] Ability: xxx
- [+] becomes:
- [+] Abilities: jump, xxx
- [+] more psionic spells!
- [+] psionic blast ? daels direct damage to intelligent creatures
( 1 to iq/10 )
- [+] anticipate action: next xxx attacks from target lf against lf
always miss
- [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors? how to stop it spreading
to the whole dungeon ?
- [+] implement
- [+] test
- [+] new poison type:
- [+] migraine. sound causes pain (1 per volume?). light spells
cause pain too.
- [+] can get this from food too. (instead of gastro ?)
- [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
- [+] in describerace(), make title be:
- [+] Race::glowbug (beginner level knowledge)
- [+] LORE LEVELS:
- [+] NOVICE: common knowledge
- [+] breaths water
- [+] BEGINNER: only known if you've studied it a bit
- [+] nocturnal, damage resistances/vulns
- [+] silentmove
- [+] stability
- [+] ADEPT:
- [+] only know it if you've studied it a LOT
- [+] wantsobs
- [+] spells
- [+] morale
- [+] eating habits
- [+] when attacking something which is immune to your weapon,
warn you.
- [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
- [+] had f_nospells AND f_canwill flight
- [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
- [+] "your pair of sunglasses protects you"
- [+] but the spellcast is never announced!
- [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
ability 'Nullify' (job perk)."
- [+] i should be getting You have gained the ability 'Nullify VII'
(job perk).
- [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
you to cast"
- [+] because levabil isn't keeping pw:xxx text
- [+] BUG in LEVABIL.
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
delver too.
- [+] mirror image (mental)
- [+] varpower
- [+] makes power 'clone' lfs who look the same as caster
- [+] ie. same race.
- [+] also same job/armour/weps?
- [+] add f_noxp
- [+] add f_nocorpse
- [+] add f_summonedby so they vanish when the caster dies
- [+] add f_phantasm
- [+] vanish after _power_ hits,
- [+] attacks do 0 damage
- [+] don't announce innefectual attacks
- [+] dont cast spells or use abilities
- [+] petify() them if made by the player
- [+] force them to stay close.
- [+] in io.c or getlfname, show "[clone]" if it has f_phantasm
and was created by player
- [+] mosnters try to attack them.
- [+] once one gets hit enough times, it disappears
- [+] if the caster dies or changes level, they disappear.
- [+] can't talk to them
- [+] their obejcts vanish when they die
- [+] don't talk
- [+] make Yumi more about forgiving silly mistakes and avoiding
instakills
- [+] remove liking of healing
- [+] remove like of healing spells
- [+] takes a long time to anger.
- [+] aviod traps (bamf you away before they trigger)
- [+] prayers:
- [+] resist stoning (pray while appropriate creatures around)
- [+] resist paralysis (pray while appropriate creatures around)
- [+] sleep on enemies
- [+] passive powers:
- [+] always warn as if wisdom is high (passive)
- [+] always save when killed right after using stairs
(passive) "well, that seemed unfair."
- [+] gift:
- [+] auto sixth sense
- [+] potions of restoration
- [+] ring of miracles
- [+] shouldn't be able to Offer while enraged.
- [+] don't lose stamina while caffeinated
- [+] new vault: pit with walkway around it
- [+] bug: when worshipping yumi you get "you kill xxx" but they're
still alive
- [+] ... but they're still alive!
- [+] ... for yumi, move KO chance from losehp() to attacklf().
- [+] do the check BEFORE setting 'fatal'
- [+] pass forceko to losehp_real
- [+] bug: adjustdamhardness should only trigger when ismeleedam() is
true, not isphysicaldam()
- [+] greatly reduce motel cost
- [+] change order in attack.c: apply damage THEN announce, to deal
with KO
- [+] do it.
- [+] test KO code.
- [+] then check that feign death still works
- [+] demonskin vest should be flammable or vulnerable to fire.
- [+] time to get up should depend on size.
- [+] less than human: shortnone
- [+] human: normal
- [+] larger than human: longer
- [+] expert unarmed now gives you 'flip'
- [+] reduce damage done by low-level monsters
- [+] change resoration into a spell
- [+] implement
- [+] test
- [+] new spell: ressurection
- [+] corpses need to remember their lf's level
- [+] test
- [+] godstone of life - revives/restores all
- [+] rename "confiscate" to "yoink", and make it take a random object
at power 1, selected at power 2
- [+] gods should attack player if they are Enraged or Furious
- [+] is STR calc to see if you can push a boulder still working?
- [+] change to wizards:
- [+] start at novice in all magic skills (but don't gain initial
spells)
- [+] killing undead should please glorana LOTS. because it's hard to
gain piety with her otherwise.
- [+] restoration spells/potion should hurt undead
- [+] healing spells/potions should hurt undead
- [+] immolate shouldnt work if there is aleady a fire tehre.
CODE FOR WINNING THE GAME:
- [+] get at least one godstone
- [+] exit the dungeon
- [+] find the portal to the realm of gods
- [+] opposing god should appear once you pick up a godstone, and tell
you what to do next.
- [+] "come to the realm of gods and use it to destroy (related
god)"
- [+] "or if you lack the courage, give it to me!"
- [+] "you will find a portal on the surface"
- [+] use the portal to teleport to realm of gods
- [+] implement text for all gods...
- [+] god text in wt_god - should say 'but you werent meant to replace
them!'
- [+] EITHER:
- [+] challenge and defeat the god related to this godstone (more
points. "Crowned the god of xxx.")
- [+] TEST
- [+] offer the godstone to the godstone's opposing god (less
points, "Ascended to demigod-hood.")
- [+] implement
- [+] TEST
GODSTONES:
- [+] klikirak: rage
- [+] done
- [+] (make this one have fire effects too)
- [+] glorana: life
- [+] Felix shouldn't be able to yoink the godstone off you!
- [+] Write up the rest of the Godstone finding text.....
- [+] magic
- [+] battle
- [+] life
- [+] mercy
- [+] you can't hurt gods unless you
- [+] a) have their godstone
- [+] b) are in the realm of gods
- [+] 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
- [+] monsters shouldn't weild lit torches
- [+] maybe reduce the damage that they do?
- [+] change allomancy to work like psionics
- [+] change colour of carpetted floor? to what though? red.
- [+] amberon should only accept sacrifice of KNOWN cursed objects!
- [+] infinite loop when going into a sewer. fix_reachability keeps
failing.
- [+] in linkexit()
- [+] startdir getitng set to DC_E! should be orthog only!
- [+] because forcedir is DC_E!
- [+] Mummy? made of paper (ie flammable). rotting touch. curse.
corpsetype = sand or ash, and blank paper.
* [+] inflicts rotting disease "mummy's curse"
- [+] can cast cause fear (but not very often, 50 turns or so)
- [+] vuln to fire (1-8)
- [+] vuln to holy (2-8)
- [+] greater mummy
- [+] more hd
- [+] lots more damage
- [+] stronger fear spell
- [+] no vuln to anything
- [+] magic resistance
- [+] priest spells. - death disease evil revenge, guardianship.
some new ones:
- [+] rot:
- [+] instead of losing hp, lose str+fit and just no healing ?
- [+] wyvern
- [+] wyrm without breath weapon
- [+] ice demon
- [+] shardshot, power 3 (ie 3d6)
- [+] snow troll
- [+] implement
- [+] - frostbite, range 1 "exhales a freezing wind"
- [+] griddler, small demon, fire dam attack, heat metal ability,
carries a permenantly red-hot weapon
- [+] curse (curses equipped objects)
- [+] applys a curse to 1-power equipped objects.
- [+] applies a -1 penalty too, if it's a weapon/armour/can have
bonuses.
- [+] protection from good.
- [+] repel the next "power" attacks from good-aligned lfs
- [+] casttoattack xxx
- [+] this needs the player to have an alignment!!! (base it on the
job)
FROM PREVIOUS COMMITS:
- [+] if you polymorph into something with nopack, MELD your pack ?
- [+] move all from lf->pack to lf->meldpack
- [+] have to SAVE meldpack too.
- [+] monsters which attack if you get too close
- [+] eg. wolf
- [+] do they attack other monsters in range too? or just players?
- [+] poisontype_t
- [+] define them all
- [+] ie. each poison type has a fixed damage amount.
- [+] check poisonisfatal()
- [+] check F_POISONED bit in startlfturn
- [+] salmonella. like food poisoning but causes more damage.
- [+] small chance of getting sick from raw meat?
- [+] FIT check to avoid.
- [+] raw meat = gastroenteritis.
- [+] raw chicken = salmonella
- [+] rotting food = either gastro (66%) or salmonella (33%)
- [+] new monster-only jobs
- [+] guard
- [+] has lots of armour and f_noflee and f_stayinroom
- [+] set climbing difficulty based on cell type as well as material
- [+] change god names to "god of xxx/yyy/zzz"
- [+] i'm pleasing the god of life somehow unknown. why?
- [+] from sleeping!
- [+] was checking !isasleep(god), not !isasleep(player)
- [+] ai object stealing code not working
- [+] chance to wake up when someone is stealing your objects ?
- [+] stealer makes an easy stealth check
- [+] fix crash in steal()
- [+] when fix_reachability kills a wall, add rubble as if the wall
fell down.
- [+] if you burn yourself on something, automatically drop it.
- [+] ai shouldn't try to wear dangerous objects.
- [+] f_hot objects count as dangerous
- [+] if metal takes fire damage, it gets F_HOT (unknown)
- [+] touch() will burn you, and make the flag known ("red hot")
- [+] if you are wearing F_HOT armour, take damage from it.
- [+] modify how heat metal spell works
- [+] when something catches on fire, it also gains F_HOT
- [+] test heat metal
- [+] firebug and fire sprite should have f_extracorpse "small fire"
- [+] in makedesc_skill, only show each "at xxx level" heading once
- [+] ice wraith shuld be flying. ghast shouldnt be levitating.
- [+] MENDING should fix rust.
- [+] BUG: ERROR - unlinked stairs! should have been linked during map
creation.
- [+] was on Dlev 9
- [+] stairs were going to the swamp.... and swamp had no stairs!!!
- [+] in finalisemap: swamp was misisng stairtypes!
- [+] it is because makelitradius is calling setlosdirty. and when
you do setlosdirty(player), it redraws!
- [+] solution: disable all redraws during calclight(), then
afterward reenable them!!
- [+] found two maps. read the first one. now reading the second one
doesn't identify it (make because isknown is now true!)
- [+] plants still being counted as "helpless"
- [+] combine all save data into 1 file
- [+] gamesave.dat
- [+] mapxxx.dat
- [+] regions.dat
- [+] rename elf to "Selnor"
- [+] make food poisoning last longer!
- [+] bug: pet starting in water
- [+] ability to pay at shops using gems? but no change.
- [+] implement
- [+] require speech skill at a certain level (novice)
- [+] reveal attack location for unseen attacks
- [+] bug: poisonbolt spell shouldn't cause fire damage to objects!
- [+] return to your original form after dying when polymorphed, but
just retain SOME hp
- [+] new spell: shapeshift
- [+] like polymorph but only affects yourself and always controlled
- [+] you have to pick something you can see
- [+] spell power determiens hitdice you can copy
- [+] purify food now works on all your objects, not just one
- [+] Nature god(farming, creation)
- [+] Ekrub
- [+] doesn't like wyrms because they destroy things?
- [+] objects
- [+] has a pitchfork vs dragons
- [+] longbow of xxx
- [+] sun hat
- [+] overalls
- [+] gloves
- [+] effects:
- [+] canwill all nature spells
- [+] likes
- [+] killing animals (but only while hungry)
- [+] killing dragons
- [+] casting nature spells
- [+] creating objects or lfs (wish, monsters, food)
- [+] dislikes:
- [+] destroying objects
- [+] attackob()
- [+] throwing a flask which shatters
- [+] crush objects underfoot
- [+] via non-nature spells...?
- [+] poison
- [+] attacking plants
- [+] casting poison spells (same with other antipoison gods!)
- [+] sacrifice:
- [+] animal corpses
- [+] dragon corpses
- [+] pray:
- [+] battle:
- [+] will come to your aid against wyrms
- [+] OTHERWISE:
- [+] entangle enemies
- [+] lightning
- [+] summon plants to help you
- [+] nonbattle:
- [+] purify food on player
- [+] THEN one of the following:
- [+] cure poison
- [+] fix hunger or give food
- [+] heal
- [+] give ammo (if ranged weapon equipped and out of ammo)
- [+] give it.
- [+] make it "of seeking" (ie. always hits)
- [+] mend armour
- [+] bless armour
- [+] gifts
- [+] ability: calm animals, power 10
- [+] can shapeshift into a bear
- [+] resist poison
- [+] resist cold
- [+] ranged weapon
- [+] magic ammo for ranged weapons
- [+] angry (minor)
- [+] no nature spells work while god is angry ?
- [+] taint your food and any food you touch
- [+] summons entangling vines around you
- [+] angry (major)
- [+] one of:
- [+] cloudkill
- [+] summon storm
- [+] surround you with sawgrass
- [+] cooked food shouldn't "completely rot away"
- [+] fire l6: meteor - large version of fireball
- [+] burning feet
- [+] evaporate should be a fire spell too.
- [+] more gods should remove curse for you.
- [+] eyebats shouldn't sleep
- [+] make hecta's prayers even more powerful.
- [+] fix bug in bjorn's truestrike effect
- [+] bjorn should un-dull weapons
- [+] fix buggy supply closet definitions - was getting 1-5 of same
object rather than 1-5 different ones
- [+] restrict potion of growth to lower levels.
- [+] change method of determining how much you can carry.
- [+] change initial modification spell to 'enlarge object'
- [+] enlarge object
- [+] door -> seals with surroundings
- [+] rock -> boulder
- [+] sword -> greatsword
- [+] buckler -> next size shield
- [+] bag -> next size bag
- [+] or should this be a different spell?
- [+] immolate
- [+] if a successful unarmed attack, lf catches on fire.
- [+] wizard isn't weilding staff. are fists better?
- [+] freezing touch shouldn't work on dragonwood
- [+] fix bug preventing vision when meditating
- [+] auto shortcuts
- [+] wizards: pri/sec spells are 1/2
- [+] cook: lowest shortcut left.
- [+] statbar not being updated when i drink potion of magic.
- [+] warn that flying will stop mapping.
- [+] bjorn gifts should only be ones which you are skilled in!
- [+] add 'appropriate'
- [+] then apply to god.c
- [+] warn if you pick up poison stuff and you god doesn't like it
- [+] "I hope you're not planning on using that/those...."
- [+] superheat - throw potion like a grenade
* [+] in temples, holy water is just showing up as "potion of water"
- [+] make blessed/silver arrows hurt undead etc
- [+] different temple exit messages based on f_linkgod
- [+] problem: in temples, holy water only casts $5 whereas a blessing
costs around 100!
- [+] adjust cost - increase value of BLESSED potion of water
- [+] test out the new pricing...
- [+] bug in skill descriptions.... never being added.
- [+] why? debug to find out.
- [+] because firstraceclass == NULL
- [+] make monster skill determine whether you can identify them from
footprints, not perception
- [+] lorelev = novice: "you see animal footprints"
- [+] lorelev = beginner: "you see xat footprints"
- [+] perception beginner: "you see fresh xat footprints leading
north"
- [+] linkexit() shouldn't be allowed to fill in cells at the very edge
of the map.
- [+] just say can't fill in if c->locked.
- [+] electrical trap - casts chain lightning
- [+] some traps only trigger if you're on the ground (not flying)
- [+] let you be able to dodge fire traps
- [+] in io.c, show ability timers for canwill
- [+] sacrifice of cursed obs to amberon - move this from "pray" to
"offer".
- [+] once you have prayed to one god, prevent praying to opposing gods.
- [+] implement getopposinggod
- [+] implement this - "xxx ignores you"
- [+] in god display show line in red, and "prayed" as "N/A"
- [+] need an alternate amberon anger effect if you don't have any
blessed objects.
- [+] when using 'm', skill list should show 'canwill' as 'abilities',
not magic.
- [+] when using 'm', skill list should show shortcuts
- [+] change attribs to be 0-100
- [+] getskillbracket type functions
- [+] lf definitions
- [+] this impacts skill checks and their difficulty
- [+] and object boosts / penalties
- [+] and weapon attrreq
- [+] ATTRMOD
- [+] JOBATTRMOD
- [+] io.c: attrmod, jobattrmod
- [+] getstatmod()
- [+] basically anything which calls getattr()!!!
- [+] when you levelup, increase one stat by 5, not 1.
- [+] ATTRSET and ATTRMOD in spells
- [+] change bloodsplatter for full leeches to no longer use fireat code
- [+] was a bug - wasn't handling NA for speed in F_DIESPLATTER
- [+] change fireat code to not announce "xxx flies through the
air" for platters
- [+] fix it so that things flying through the air (via fragments())
can hit people.
- [+] when calling fragments(), don't announce every single "a shard
flies at xxx"
- [+] fireat() needs "announcethrow"
- [+] stop running when adjacent to any monster (evne peaceful)
- [+] monsters should always turn to face their attackers, even if they
aren't adjacent.
- [+] multiple ring types are getting the same hiddenname:
- [+] Rings
ring of strength (flourite ring)
ring of stench (flourite ring)
- [+] validateobs now checks for this.
- [+] nearly everything seems to have 2 entries.
- [+] maybe also put a check inside addhiddenname!
- [+] addhiddenname no longer triggering dupes.
- [+] bug: planeshift not working when cast by enemies.
- [+] bug: skillxp being boosted by massive amounts sometimes
- [+] Exp Level: 15 (32150 XP, -1581 for next)
- [+] bug in getlfaccuracy - returning 9937 and boosting xpval by
massive amounts!
- [+] motel bug:
- [+] How many hours will you pay for (you have $1073)? 4 hours
($440)
You start resting (in your motel room)... You finish resting.
You wake up.
"Sleep well!"
- [+] say"sleep well" BEFORE sleeping!
- [+] for some reason i'm gaining massive amounts of skill points!
- [+] killed giant ant, got 3 points???
- [+] pointsforsp not going up fast enough, especially at high
levles (13+)
- [+] was a bug in getlfaccuracy
- [+] yumi should only check attacking helpless on your FIRST attack.
- [+] if you have subsequent ones, they're ok since you can't
control them!
- [+] don't please or anger gods when fighting gods
need to delete all the map flags we added.
- [+] in fix_reachability, never create corridors on the perimeter of
the map.
- [+] realmofgods should be a fixed vault. like stomach. no exits.
- [+] bug: addmosnter() not setting lf->born when autogen = false
- [+] bug: monsters trying to pick up objects with f_nopickup
- [+] gods shouldn't flee after stealing.
- [+] regenerating troll corpses!
- [+] F_REVIVETIMER v0 = cur v1 = max. if v0 = v1, change object
to race v2.
- [+] + troll corpses do NOT decay.
- [+] worm stomach now uses tag:stomach rather than f_vaultisstomach
- [+] fire sprite should drop corpse AND fire
--This linee and those below, will be ignored--
M nexus.c
M attack.c
M text.c
M objects.c
M vault.c
M lf.c
M data.c
M map.c
M spell.c
M defs.h
M ai.c
M vaults/stomach1.vlt
- [+] monster with tremorsense can 'hear'
- [+] allow attacking of wall cells with normal melee attacks
- [+] glass should shatter
- [+] option: stop running on hearing a sound
- [+] make describerace use downline().
- [+] make certain strengths and weaknesses not show up in player
selection
- [+] An uncursed manriki wraps around the hawk. The hawk falls to the
ground.
A black bear comes into view.
You critically scratch #. The black bear roars.
- [+] check construct_hit_string.
- [+] i was hitting a hawk.
- [+] still some entrances overlapping glyphs.
- [+] genericise checking code in fix_Reachabilty
- [+] Also: in fix_reachability, disallow linking to cells which:
- [+] are adjacent to a door
- [+] are part of a vault with maintain_edge, and are 't marked
as exits.
- [+] looking a bit better now...
- [+] incorrect glyph colour for animated zombies
- [+] grow/shrink potions? to change lf size to fit armour.
- [+] resizelf()
- [+] modification spell (l2)
- [+] grow
- [+] shrink
- [+] potions
- [+] cursed growth does shrink
- [+] make rare monsters / objects only sometimes be known.
- [+] ....but only about their home level!
- [+] f_startmapid
- [+] cave entrances should make noise
- [+] drip
- [+] echoing
- [+] cope with multiple f_makesnoise flags on objects (pick one
randomly)
- [+] showlfstats skill display bug - "MORE" keystroke doesn't fall
through.
- [+] You impale the chicken! The chicken turns to face you.
- [+] shouldn't turn to face if your'e dead!
- [+] nulllify spell not populating seenbyplayer
- [+] crash in createfakes()
- [+] animals hsould still walk onto SHARP objects.
- [+] secret doors showing up as empty remembered cells when you look
away from them (and have lowish cartography)
- [+] don't call remove_deadends on vaults.
- [+] when walking down stairs to level 3:
- [+] ERROR - stairs link to existing map 3('dungeon L2 (id #3)',
depth 2), but it has no free stairs
- [+] ie. Level 3 has too many up staircases ? no. 3 on all of them.
- [+] FIXED. countstairs() was including too much. now using
countmapobs(map, stairtype) instead.
- [+] The goblin rogue a half-sized leather armour (null).
- [+] fixed crash when you cast rage on someone who is eating.
- [+] crash when catching a glowbug in a flask
- [+] use canreachbp code when selecting armour to damage as well....
ie newt can't hit your helmet!
- [+] BUG: "tunnel doing up" went down!
- [+] for monsters:auto raise lf stats to match starting weapons
- [+] crash in aigetspelltarget() for CLIMB
- [+] should deactiveate all spells on polymorph
- [+] allow usage of FEIGNDEATH while prone.
- [+] make coprses non-stackable
- [+] CRASH in animatedead
- [+] shouldn't say 'you attack x from behind' if x has awareness
- [+] 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"
- [+] 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?
(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
* [+] 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
- [+] "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()
- [+] no spells/abils
- [+] no throw
- [+] no operating wands
- [+] will not flee
- [+] no weilding/unweilding
- [+] no wearing/takingoff
- [+] don't warn or swap with friendly lfs
- [+] always attack doors rather than open them.
- [+] can't close doors.
- [+] become exhausted when rage runs out
- [+] infiniite stamina when you're enraged
- [+] can't quaff/read
- More kill verbs
- [+] 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
- [+] chef steak knives aren't stacking. - because they weren't
f_stackable!
- [+] chicken soup - cures poison
- [+] finish ob donate code
- [+] chance of becoming pet
- [+] only certain races
- [+] only f_tamable (but harder than pets)
- [+] implement lfflammable
- [+] io.c announcements ( move from shatter())
- [+] fire effect
- [+] sugar water
- [+] gaining skills too quickly at higher levles
- [+] maybe make it get slightly harder each time.
- [+] keep a count of total skillpoints ever gained
- [+] fixes to rollhitdice
- [+] missile weapons doing no damage!!
- [+] no sprinting while levitating / flyign
- [+] icicle spell should deal piercing damage if lf can't be pushed
out of the way
- [+] '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
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()