- forgot to initialise brand->description
- door displaying as "leaf" - definition of knowledge->id was OBCLASS instead of OBTYPE.
- Repeated text:
Minimum agility to use effectively: 50 to use.Minimum agility to use
effectively: 50 to use. (bonus at 70).
- change wish text to be more meaningful
- fix failure when loading objects with a bonus from vaults/bones (eg. blessed '+5' sword)
- when raging, don't prompt to really attack when you won't gain xp
- disable flagpile checks
- Use 'interact' to use shops, not 'operate'
- Bad text: You are resistant to: projectiles[-7870t], explosives[-7870t].
- scorpions shouldn't follow you up stairs. (but giant scorpions can)
- make failed relinkob() calls return the original object rather than null, otherwise we get situations where an object becomes NULL and causes a crash.
- make cooking skill description show what size corpses you can cook.
- bug: potion of growth caused instadeath when reverting.
- bug: not showing monster abilites properly
- show raceclass in descriptions (/ v)
- make evasion only work if you're not exhausted
- Felix should be pleased by attacking people while hidden
- Not seeing felix angered messages when donating items
- Holes in roof - you now need to climb to inspect them.
- Fixed crash when hitting @ while producing light.
- [+] replace 'step carefully' key to free up 's' - OT_A_TIPTOE
- [+] 's' = 'shut door' (replace 'c')
- [+] 'c' = 'chat to single'
- [+] rewrite docomms() to use other funcs
- [+] 'C' = 'command all allies'
- [+] only possible for single person:
- [+] 'o' donate
- [+] 'i' tell me about this area
- [+] 'j' join me
- [+] 'k' trade knowledge
- [+] 'm' mercy
- [+] 't' trade
- [+] 'x' dangers nearby?
- [+] make a list of all commands which are valid for EVERYONE
- [+] send command to everyone.
- [+] docommslf()
- [+] test with single target
- [+] test with multiple targets
- [+] hitconfer lifetime for wight/contagion zombie should only happen
on fatal hits
- [+] makezombie() should be able to call petify()
- [+] bug: mosnters never using HIDE ability.
- [+] monsters which pretend to be objects (ie. gargoyle)
- [+] F_ISMONSTER v0=raceid v1=objectid, v2 = spot check difficulty
- [+] when generating, add contents->first as objectid v1
- [+] getobname -> if you have f_mosnters, use contents->first
- [+] getobdesc -> if you have f_mosnters, use contents->first
- [+] mosnters won't walk onto it
- [+] if you are next to them and can't see them... reveal then
attack!
- [+] F_ISMONSTER - must always be impassable to everyone!!!
- [+] if you try to walk onto it:
- [+] "the xxx starts to move!"
- [+] kill ob
- [+] add lf
- [+] they get a free attack
- [+] if it takes damage
- [+] ... convert.
- [+] spot checks to see them.
- [+] ...convert.
- [+] F_PRETENDSTOBE - mosnters will revert if unseen.
- [+] reveal hidden should show them.
- [+] gargoyle
- [+] stone statues
- [+] winged
- [+] large
- [+] ~37hp
- [+] start off as an obejct
- [+] wight
- [+] rare.
- [+] ~26 hp ...TR5
- [+] silent move
- [+] dr4 attack (low damage) but....
- [+] any humans killed rise as a wight .
- [+] (hitconfer revive). how can i limit hitconfer to a
race? maybe f_hitconferrace
- [+] bones file
- [+] tested ok.
- [+] 1 leveldrain per hit
- [+] skillcheck to avoid
- [+] wight gains +5 hp
- [+] generic object: "generator"
- [+] specal text: generator:steam for vault defs
- [+] show flag sources in io.c
- [+] TEST
- [+] remove from MONSTER view.
- [+] paladin shoudl start with first aid skill
- [+] disrupt undead should do heaps more damage - because right now
you'd just use smite evil
- [+] increase disrupt undead from "2-6" to more.
- [+] reduce smite evil's maxpower
- [+] problem: blessed buckler is essentiall the same as tower shield
cause it doesnt get hurt!
- [+] make bigger shields provide more protection
- [+] change F_SEEINDARK so that v1 specifies whether a bright light
blinds you
- [+] getting WAY too many piles of ash from burnign corpses
- [+] combine into "huge pile of ash"
- [+] change food decay
- [+] instead of food losing hp, increase its F_DECAY level
- [+] if F_DECAY too high, it's tainted. >= 50
- [+] ie. update isrotting()
- [+] dramatically lower food hp.
- [+] where does corpse F_OBHP get added? from obclass.
- [+] when we make a corpse override its obhp with the original
mosnter's maxhp.
- [+] when i fix unreachable areas, change all the walls/floors in one
of the unreachable areas!
- [+] ie. change every solid non-vault cell which is adjacent to an
unreachable one.
- [+] test,,,
- [+] make inspection check more difficult
- [+] ohther sound types which monstesr shouldn't turn to watch:
- [+] NC_ENVIRONMENTAL (building, stairs, etc)
- [+] create food should neve create poisonous food.
- [+] bug: giant ant zombie not attacking giant ant
- [+] change table symol to PI
- [+] replace footstool with chair
- [+] allow reusable cells in vaults
- [+] slippery floors should make pushing easier
- [+] when checking stairs i found "Pete footprints"
- [+] new monsters:
- [+] polar bear
- [+] owlbear
- [+] bug: sleeping monsters never waking up.
- [+] "random good weapon" wish broken. fixed now.
- [+] cope with med/small/large dancing weapons
- [+] generice code to check baseid instead of raceid
- [+] handle automatic generation - need to populate:
- [+] select an appropriate object (rarity freq / common,
uncommon, rare)
- [+] copy from obejct to lf:
- [+] OBHP
- [+] SIZE
- [+] OBATTACKDELAY
- [+] bug: always getting 'twisted branch' for small dancing weapon
- [+] bug: crash in attackcell. nweps = 0
- [+] replace thin walls with unicode symbols
- [+] glass
- [+] wood
- [+] metal
- [+] getcellglyph() looks at surrounding cells if required
- [+] too slow?
- [+] attacking helpless undead shouldn't count
- [+] differentiate EXTRADAM from WOUNDING.
- [+] wounding = add damage to ALL attacks
- [+] EXTRADAM = add DIFFERENT type of damage
- [+] psionics on levelup
- [+] make this a "select from iq/10", not a select from any
- [+] if poison needle trap misses, place it on the ground.
- [+] no nauseated effects while asleep.
- [+] if something runs out of view adjacent to you, say "xxx moves
behind you"
- [+] ashkari bug:
- [+] when getting enraged by the sight of something, f_rage runs
out a few turns before f_aicontrolled. should be the same!!!
- [+] enable it
- [+] adjust colour enum definitions
- [+] adjust usage of colour enums in *.c
- [+] redo celltype colours
- [+] redo all lf colours in data.c
- [+] redo all object colours in data.c
- [+] fix potioncolours etc
- [+] get background colours working again.....
- [+] You walk down the staircase... Invalid racename 'random' in
vault monsterzoo
- [+] gaining/losing god bonus - only announce first one you lose/gain!
- [+] knockout bugs:
- [+] "you knock out the pixie"... then there' s pixie corpse.
- [+] shouldn't be able to KO robots!
- [+] don't say "you kill baba yaga's hut", say "you defeat xxx"
- [+] alignment change
- [+] should become evil if you worship hecta
- [+] ...and good if you worship glorana
- [+] -15% xp forever.
- [+] shoudl become prone when hit by falling door trap.
- [+] TEMPERATURE
- [+] habitat->basetemperature
- [+] VCOLD = <=0
- [+] COLD=1-11
- [+] COOL=12-18
- [+] AVERAGE = 19-22
- [+] WARM=23-29
- [+] HOT=30-35
- [+] VHOT=36+
- [+] getcelltemperature()
- [+] start with habitat temperature
- [+] adding/removing/moving nearby fire makes cells hotter
- [+] adding/removing/moving nearby blizzards, hailstorms, ice
etc make cells cooler
- [+] getlftemp()
- [+] start with getcelltemp
- [+] adjust for warm/cold blood, resistances, etc
- [+] hot effects
- [+] stamina is used more quickly
- [+] ice melts very fast (turns to water)
- [+] food goes bad very quickly
- [+] things made of ice take damage every turn. in
startlfturn() ?
- [+] cold effects
- [+] exposed body parts give penalties to accuracy
- [+] -2 to -4 per exposed body part (ie. max -14, -21, -28)
- [+] no effect on furred things like bears. make them
cold-resistant or immune.
* [+] medium chance to shiver... chance to drop weapons
* [+] low chance to catch cold (check cold damage code)
- [+] nothing ever melts
- [+] food never goes bad
- [+] water freezes( turns to ice)
- [+] things made of fire take _extra_ damage (in attack.c)
- [+] Show YOUR temperature in @@
- [+] Show other's temp in @@ if our lore is high enough
- [+] notify when temperature changes.
- [+] just like igniting other fires, fires should deal fire damage
to surrounding cells
- [+] heat/cold should affect SURRONDING cells too.
- [+] maybe: instead of checking cell temp every time, recalc cell
temp whenever:
- [+] create cells with habitat base temperature
- [+] we add a new object
- [+] we move an object
- [+] we remove an object
- [+] SAVE cell temperature now.
- [+] show cold/hot in statusbar.
- [+] cold announcement not working.
- [+] change glaciate:
- [+] create "unnatural coldness" object
- [+] cold snap: (l2)
- [+] create "unnatural coldness" in a radius
- [+] heatwave (l2) or "oppressive heat"
- [+] create "unnatural heat" in a radius
- [+] add fur coats to creatures (ie. resistcold)
- [+] ice cave level
- [+] walls = ice.
- [+] floor = metal
- [+] creation similar to swamp:
- [+] make dungeon
- [+] change solid walls to ice
- [+] limit room size to small.
- [+] floor = snow
- [+] temperature
- [+] base temperature is cold
- [+] ice-themed monsters
- [+] ice-themed objects
- [+] barrels sometimes have things other than food/potions
- [+] when you generate a container objects, lookup its contents
class and add F_STARTOB flags before calling givestartobs
- [+] examples:
- [+] a single dead corpse.
- [+] food & drink
- [+] lots of one particular dry things (salt, sugar)
- [+] water
- [+] gunpowder
- [+] ammo
- [+] engineering mods
- [+] adept: dismantle doors
- [+] adept: dismantle WALLS- ie. do dig without using a tool.
- [+] only some walls. ones which have been constructed.
- [+] ie. brick. wood.
- [+] NOT stone or metal.
- [+] skilled: double wall dam
New psionic spells:
- [+] precognition (l2, +5 ev)
- [+] psionic blast (stun all around)
- [+] know weakness
- [+] mental feedback (deal damage based on iq, replaces previous
'psionic blast')
- [+] mindwhip
- [+] awareness
- [+] replace mass stun with mass sleep.
- [+] statis - startlfturn stuff doesn't happen (l4)
- [+] Clank should now actually appear.
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
damreduced.
- [+] reduce sliperriness of blood now that we get lots more.
- [+] restrict hiscores to scores of >= 1.
- [+] (and remove all current entries with score of 0)
- [+] modifications:
- [+] make levels more sparse
- [+] make "things"more common
- [+] make objects more common (as opposed to lfs)
- [+] monsters with territorial CAN approach if you're sleeping/ko
- [+] monsters with territorial don't get angry if you're sleeping/ko
- [+] CRASH when i tried to dismantle something.
- [+] speed up map generation.
- [+] most time is in createhabitat.
- [+] calcposandmakeroom(). speed this up.
- [+] linkexit()
- [+] FIX reachability algorithm
- [+] unless we can make a dircet path, REMOVE all other code.
- [+] instead, use modified a*
- [+] distance to dest roomm, not dest cell
- [+] = distance to centre of dest room
- [+] cell is okay for pathfinding
- [+] adjcellokforreachability(cell) = true
- [+] cell is the finish spot if:
- [+] it is in a different room and
adjcellokforreachability(cell) = true
- [+] i THINK this is working now.
- [+] f_startobwepsk ... text = "common" not working. fixed.
- [+] need a potion and venom sac
- [+] make more things drop venom sacs - snakes etc
- [+] F_EXTRACORPSE
- [+] operate the venom sac ?
- [+] can do this with first levle chemistry
- [+] different kind of venom - blindness
- [+] "blue venom sac" vs "purple venom sac"
- [+] combiesn to potion of blindness
- [+] more amulets
- [+] common
- [+] of bravery
- [+] of light (common)
- [+] of minor protection (common) (=5 AR
- [+] energy absorbtion (absorb explosions, then pump them out)
- [+] uncommon
- [+] injury prvention (instead of ring)
- [+] rare
- [+] or major protection (not common) +10 AR
- [+] had a missing eye. drunk a healing potino.
- [+] Your head grows back! Your injured head has healed.
- [+] objects with positive F_BONUS should never start cursed
- [+] (in addobject)
- [+] territorial monsters talk when you are approaching their
threshold (but not within it)
- [+] put this in ai_talk()
- [+] if someone almost at territorial range:
- [+] make f_noisetext v2 be SP_xxx. if it's set, just say
this instead.
- [+] it not, N_TERRITORY_APPROACH
- [+] if we can talk, SP_TERRITORY_APPROACH
- [+] possibilities:
- [+] stay away!
- [+] keep back!
- [+] get away froma me!
- [+] don't come any closer!
- [+] that's close enough.
- [+] keep your distance, stranger!
- [+] out of my way!
- [+] test with giant and
- [+] test with insane humanoid
- [+] make territorial creatures not walk too close to things,
unless they are attacking or fleeing
- [+] in willmove(), fail if it is too close to something
- [+] ...unless we have a target lf
- [+] ...or we are fleeing
- [+] jumping when woozy will go to a random cell
- [+] fix autoshortcuts to include starting spells
- [+] still bugs with canreachbp - "The giant rat critically scratches
your wizard hat."
- [+] zombies shoudln't be able to talk.
- [+] allow pets to "cheat" to find player's lcoation.
- [+] need some kind of limit on zombie army creation
- [+] no stairs
- [+] areallies() on two pets returning false
- [+] psychic shove
- [+] push off something, or push them away
- [+] l2 mental
- [+] pushback power+1 cells (max power 3)
- [+] different god message for first prayer.
- [+] fix crash during swapplaces()
- [+] sacrifice of masterwork weapons should work better. shoddy
should be worse.
- [+] bug: shops don't work anymore
- [+] change lessen poison - power always goes to 1
- [+] replace description "spell's power is boosted when cast outside"
with "boosted when cast in a forested area"
- [+] minor healing problem. "at lest 2hp per power" but mxpower 10.
should be maxpwer 5
- [+] wish for 'protection' should give something you can wear without
penalties.
- [+] locate object should give a message when none are found.
- [+] find any four corridors in a square
- [+] where one of them has 4 exits, and the rest have 3
- [+] fill in the ones with 3
- [+] VALGRIND.
- [+] reduce ID costs at shops
- [+] necromancer mods
- [+] start with a dagger, since you don't get early attack spells
- [+] start with limited short blades skill
- [+] start with animate dead (now a level 1 spell)
- [+] increase TR of ice wraith.
- [+] replace strrep function:
- [+] strrep(&mystring, find,replacewith)
- [+] code:
- [+] char *strrep(char **mystring, char *x, char *y)
- [+] char *temp
- [+] temp = dostrrep(x,x,x)
- [+] free(*mystring)
- [+] *mystring = temp
- [+] flag loop in F_IGNORECELL!
- [+] problem: i'm getting f->next == f
- [+] added a new assertino in addflag()
- [+] change how killflagsofid() works, maybe this is the problem.
- [+] i think my "insertbefore" is being freed somehow...v
- [+] fixed with valgrind?
- [+] try harder to link using tunnels rather than portals
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent
- [+] why didn't cyborg warrior start with bullwhip equiped??
- [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
- [+] no throwing
- [+] no operating
- [+] no firearms
- [+] tombstone text: Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant
corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
it during a fight.
- [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
v0=material, v1=howmuch
- [+] continuerepairing() should only fix <skill + helpsrepair> hp
per turn.
- [+] announce helpsrepair in obdesc
- [+] coldroom vault:
- [+] ice floor
- [+] ice walls
- [+] ice pillar
- [+] frozen corpses
- [+] new job: gladiator
- [+] sword
- [+] shield
- [+] high shield skill
- [+] high evasion skill
- [+] limited armour skill
- [+] net
- [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
- [+] fall_from_air().
- [+] trigger then when wind-based effects hit.
- [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
opponent, flee.???
- [+] easy way to fix reachability:
- [+] is there a solid cell which is:
- [+] adjacent to both a filled and an unfilled area?
- [+] not a fixed vault wall?
- [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
- [+] f_hashidinglf, v0=rid
- [+] if you loot it, monster jumps out
- [+] ...and gets a free hit!
- [+] perception lets you see the container moving (only if it
weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
* [+] condset_t
- [+] then replace all getrandomadjcell() calls...
- [+] remove getrandomroomcells
- [+] then remove WE_xxx
- [+] gain it at beginner level shields
- [+] make ai use it
- [+] if i've been hit by a ranged attack.
- [+] if intelligent: if my target has a ranged weapon AND i'm
not adjacent AND i'm in range.
- [+] make ai stop using it
- [+] if i'm adjacent to my target
- [+] OR
- [+] if i have no target
- [+] OR
- [+] if i'm not in battle
- [+] don't show 'bloodstained' if blind
- [+] dusur digs hole in floor
- [+] CRASH. who->timespent == 0
- [+] when portalling to same levle, don't say 'you arrive back at levl
xx'
- [+] instead: 'you arrive elsewhere in level xx'
- [+] maybe: when exhausted:
- [+] you can still attack, but...
- [+] attacks deal 0.75% damage
- [+] attack speed lowered.
- [+] change of fumbling your attack if you miss.
- [+] ...then monsters can have stamina again.
- [+] the %s looks exhausted.
- [+] if ai is exhausted, wait.
can just drop food for them.
- [+] when looking for remote obs, DO include adjacent cells with lfs,
if we have the snatch ability.
- [+] some long thin levels (80 x 12 ?)
- [+] fix code to remove useless doors.
- [+] 0 pairs of dirs with empty cells = change door to wall
- [+] pick an adjacent empty cell
- [+] floodfill the 8 cells around the door.
- [+] start with adj cell
- [+] can't go more than 1 cell away from door
- [+] solid cells or doors will stop movement
- [+] if no unfilled cells around the door, bad.
- [+] new way of fixing unconnected levels - portal!
- [+] pick one spot in each section then place a portal there.
- [+] dying should cure poison
- [+] tweaks to attack text
- [+] floor tile effecst
- [+] absorbancy - ie. carpet should absorb water.
- [+] converyors
- [+] only walkable sometime (crushers?)
- [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus"
- [+] god of nature should like eating animals all the time, not just
when hungry (makes piety gain easier)
- [+] announce when eyes are protected from a spellcloud
- [+] klikirak should like setting off fire traps.
- [+] floodfill() should follow portals to the same level.
- [+] show >1 skillpoints in green on status bar
- [+] bug: gods are apeparing behind you.
- [+] bug in getrandomadjcell
- [+] gods' planeshift spells failing? might be fixed now. using
getrandomroomcell instead of getrandomcell.
- [+] increaes damage dealt by smite evil/good
- [+] lightning javelins shouldn't be stackable
- [+] monsters not firing ranged weapons!
- [+] they just walk back and forth
- [+] bug with how i was calling haslof() for cells other than
where the mosnter was (in getdiraway())
- [+] turn undead should only work if caster level*2 is >= monster level
fullblock basics:
- [+] penalties
- [+] lowers visrange to 1
- [+] huge attack penalties
- [+] huge evasion penalties
- [+] vhigh chance of all ranged damage going to shield instead.
- [+] buckler = 75 (small)
- [+] shield = 80
- [+] large shield = 85
- [+] tower = 90
- [+] plus shield skill*2
- [+] use check_shield_block in all spell effects
- [+] this checks whether player is shieldblocoking (or evades??)
- [+] then applies damage appropriatly.
- [+] new ability;
- [+] stopped by:
- [+] losing or unequipping the shield
- [+] being interrupted
- [+] casting a spell or using an ability
- [+] exotic weapons should cost more.
- [+] maybe prevent prayer until gods have been pleased enough ?
- [+] while you're not worshipping anyone, piety gain is x4.
- [+] once first one hits 'pleased', they will appear and offer you
a place
- [+] advantge to this is that you get a gift
- [+] picking up new gold should please felix......
- [+] you shoudl only be able to sacrifice untouched gold. this
pleases felix double as much as grabbing it.
- [+] gods sohuld appear "in a cloud of ..."
- [+] bjorn - blood
- [+] klik - fire
- [+] lumara - bright light
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
- [+] maxlevel 1
- [+] make sure this is better than 'mending' since it only affects
metal
- [+] l4 hone metal - give a weapon "of penetration" (F_ARMOURPIERCE)
temporarily (permenantly at l3)
Unique monster code.
- [+] place these durign map generation:
- [+] x% chance of having each unique monster appearing
- [+] F_UNIQUE vals:
- [+] v0 = pct chance of appearing
- [+] v1 = branch id to appear in
- [+] text "%d-%d" = min/max depth
Unique monsters:
- [+] king of rats - lots of rat pets - 33%, 2-4
- [+] pete - spiderman, shoot webs, jump, climb - 33% chance between 5-7
highest
- [+] exorcise spell - l2 summoning
- [+] +10% chance per skill level, -5% per monster TR, +5% per
spell power
- [+] implement
- [+] paladins get exorcise at l5
- [+] new purity god pray effect: 100% success exorcisms.
- [+] new perks for lore:demonology
- [+] nov: exorcise demons (power 1)
- [+] skilled: summon demon
- [+] midnight -portals open. moongate? lunar portal? lunar gate?
moon door?
- [+] portals with no F_MAPLINK will create a random destinatino in
the same map.
- [+] makeobjecttemporary() function
- [+] when it strikes midnight, a portal appears somewhere on the
plaeyr's level
- [+] the portal is temporary for 60 turns (ie. approx 1 hours)
turns until end of midnight (calc this)
- [+] fixed crash on "w-"
- [+] during glorana's peace, striketoko is okay.
- [+] announce posion potion effects.
- [+] make dark maps just lower max vis range, isntead of not being lit
?
- [+] redo entire light calculation code.
- [+] light effects:
- [+] create "bright light" object in radius around target cell
(it has f_produceslight)
- [+] at high level, light spell will increase ILLUMINATION
level of the entire map.
- [+] DARKNESS
- [+] make a "magical darkness" object
- [+] blocks view.
- [+] at high level, light spell will increase ILLUMINATION
level of the entire map.
- [+] bright light objects burn/scare undead
- [+] undead won't walk into cells with bright light power >= their
TR
- [+] monsters in cells with produces light which are vulnerable to
light take damage
- [+] cases to check for:
- [+] vuln to light
- [+] migrains
- [+] iscelllit() should return light level of cell (sum of
f_produceslight)
- [+] gaining/losing f_produceslight should setlosdirty
- [+] makelit() just places light/darkness objects
- [+] monsters in cells with produces light which have good eyes
get blinded
- [+] move blinding code out of spell.c and into turneffectslf
- [+] placing light/darkness objects causes los recalc in any who
can see them
- [+] this shoudl happen automatically since they will have
BLOCKSVIEW.
- [+] islit():
- [+] check for ot_darkness objects in the cell
- [+] check for f_produceslight flags in the cell's lfs/objects
- [+] return how MUCH the cell is lit
- [+] f_produceslight flag now just lets you see further in the
darkness
- [+] still give light sources to monsters, but change the check to
see whether we do this (check the map's illumnation level)
- [+] get rid of calclight() code.
- [+] then i can get rid of seeindark code in los checking ???
- [+] get rid of eyesight adjustment code
- [+] remove enum LIGHTLEV
- [+] CHANGE nightvisrange - it just countres the map's
illumination level
- [+] remove lf->eyeadjustment
- [+] remove lf->losdark
- [+] remove lf->nlosdark
- [+] remove cell->lit and littime and otiglittimer and origlight
and lastlit
- [+] remove it
- [+] don't save it
- [+] make more shops let you donate
- [+] bookstore
- [+] jewellery store
- [+] rename blood hawk to hunting hawk
- [+] offering a bribe to creatures should make them move likely to
helkp you, AND reset the "auto don't help' flag
- [+] change "get lost " message to "get lost, <racename>" if your race
is different.
- [+] sayphrase() needs a new arg: lifeform_t *talkingto
- [+] colours for spell effect.
- [+] eg. "the flame dart hits xxx" should use CC_BAD
- [+] muddy room - mud should be immutable.
- [+] maybe change rage - you lose control totally and just attack
anything in sight?
- [+] do it.
- [+] don't train when enraged
- [+] don't hear sounds when enraged
- [+] RAGE effects: strength bonus, accuracy bonus, infinite
stamina, never flee,
- [+] fix bug in skill point calculation
- [+] CRASH - someone got their turn BEFORE the player!
- [+] new poisontype field - contracttext
- [+] hecta's pray effect not working.
- [+] adjust food poisioning check difficulty based on food age
- [+] check OBHP percentage of max.
- [+] >= 80% obhp means -30% difficulty check
- [+] ring of unholiness should confer dtvuln holy.
- [+] fix colour on spellclouds
- [+] fix bug with spellclouds not affecting centre cell.
- [+] if you are frozen, heat does extra damage and cold does none.
- [+] when frozen, lessen chance of melting.
- [+] reduce bite damage of snakes
- [+] balaclava should protect from gas
- [+] make some floor types (like carpet) be multicoloured
- [+] celltype->altcolour
- [+] if altcolour is not C_NONE then use it where (x + y) % 2 is
true.
- [+] don't regain stamina while training
- [+] random text in shops - sayphrase needs to cope with lf == null
- [+] done
- [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with
staves!
- [+] BUG: in vault.vlt.
- [+] "30% chance of door" really means "otherwise empty cell"
- [+] need to be able to say "else put a wall here"
- [+] so change:
- [+] c:type:what[:pct]
- [+] to this:
- [+] c:type:what[:pct][:alttype:altwhat]
- [+] vlegend_t needs
- [+] enum VAULTTHING tt2
- [+] char *what2
- [+] they default to VT_NONE, NULL
- [+] secret doors should take their fake wall type from the vault spec
- [+] vaults need f_celltypeempty/solid flags
- [+] add via: solid:xxx in vault def
- [+] recycler
- [+] donate anything
- [+] BUG when i enter baba yaga's hut:
- [+] ERROR - couldn't link stairs back to map entry object.--More--
- [+] was assuming that exitdir was up/down. for entering the
hut, the direction is "in".
- [+] lots of missing text colours - fixed.
- [+] is 'appropriate' working? i got a sun hat!
- [+] yes, but "armour" should mean "ar >= 1", to differentiate
from 'clothing'
- [+] also, size sohuld match for armour.
- [+] time code (if you have a watch):
- [+] things which occur at certain times
- [+] "glorana's peace" - morning twilight and sunrise.
- [+] boost life spells
- [+] glorana worshippers gain some special - regen.
- [+] midnight = "witching hour"
- [+] boost necromancy
- [+] werewolves always change to wolf
- [+] implement an auto-cast for player lycanthropes
- [+] when a ling parasite enters a corpse:
- [+] add some kind of flag so that when it dies, a living ling
parasite appears on top of the corpse.
- [+] F_CORPSELF
- [+] don't show this message if we can't see iT!
- [+] also dont count this as a peaceful attack if we can't see it.
- [+] missiles missing you should interrupt training!
- [+] Why does monk acuracy start at -4?!
- [+] godstone of destruction (hammer )
- [+] godstone of life (heart ?)
- [+] godstone of mercy (flower?)
- [+] revenge/theft (glove?)
- [+] godstone of purity (orb ?)
- [+] death: of death. (skull ?)
- [+] casts infinite death
- [+] nature: of Nature (seed ?)
- [+] all plants become peaceful
- [+] all animals become peaceful
- [+] cure all diseases
- [+] quench all fires
- [+] flowers grow everywhere
- [+] summon treants ?
- [+] battle: of Battle (make this a horn?)
- [+] remove all curses on equipped wep/arm.
- [+] bless weapon (if not already done)
- [+] nullify all other lfs
- [+] super speed attacks ?
- [+] warriors appear
- [+] magic: of Magic (crown ?)
- [+] restore all mp
- [+] learn any spell
- [+] identify all objects
- [+] make Lavax be playable
- [+] make Fishfolk be playable
- [+] fix bug with wand lof
- [+] reduce rarity of wands
- [+] getrandomobwithflag()
- [+] fix big memleak bug (allocating map cells twice)
- [+] infinite loop on win game by defeating a god.
- [+] klikirak shouldn't make fire when on plane of gods/
- [+] createhabitat shouldn't be allowed to blank pre-vault (ie.
locked) cells
- [+] bug: wasn't any lfs in realm of gods
- [+] master vault
- [+] bottom of dungeon has link to "vaults".
- [+] vault stairs needs a key to open it. (special stair type)
- [+] stair type:
- [+] metal hatch leading down
- [+] metal ladder leading up
- [+] add new habitat
- [+] add new branch
- [+] algorithm for making h_vault level:
- [+] start with everything a wall
- [+] place x number of random rooms or vaults with tag:vault
- [+] rooms can't overlap
- [+] rooms should be fairly small
- [+] IMPORTANT: rooms can't be further than 2 (3?) cells
away from other rooms
- [+] every room has locked doors (never open entrances)
- [+] then go through, and cell which has a room cell near it
becomes empty
- [+] problems:
- [+] rooms have no doors!
- [+] rooms are too small!!
- [+] populate with monsters (f_rarity)
- [+] more chance of "guard" jobs
- [+] automatically place chests
- [+] 3 levels with:
- [+] 1 staircase up/down form each
- [+] down stairs require key to open.
- [+] first level of vaults: outer vaults
- [+] antechamber with vault guardians
- [+] second level: inner vaults
- [+] last level: master vault
- [+] inner chamber with all the godstones
- [+] once you pick up one godstone, the others vanish.
- [+] 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
- [+] sourges shouldn't learn spells from books
- [+] MR doesn't affect canwill spells?
- [+] innate MR (ie. fromrace or from scource) doesn't affect spells
either.
- [+] too many potions of water! made it common rather than frequent.
now NO frequent potions.
- [+] getting 'wake t someone runmmaging through your pack' when noone
nearby
- [+] maybe this flag isn't gettginre removed properly?
- [+] polymorph should fix injuries first
* [+] for missing hand injuries, select the hand AFTER main switch()
* [+] shouldn't be able to weild 2-handed weapons if you only have 1
hand!!!
- [+] "travel" spell should let you go to RT_HABITAT things.
- [+] fix crash validating f_spotted flag
- [+] don't always put "The " on unique objects.
- [+] use F_THE for this instead.
- [+] godstones should still have F_THE
- [+] don't place staircases inside MAINTAINEDGE vaults!!
- [+] burning a wood floor only makes a hole in the ground if there are
more levels underneath!
- [+] end of caves:
- [+] both bossrooms should have goblin king and red wyrmling
- [+] stone key.
- [+] need a vault flag which say s: add f_stayinroom to everyone who
is created in this room
- [+] done: "keepmonsinroom"
- [+] cope with a branch's entry stairs coming from a vault
- [+] killing unique monsters with necrotic damage should still leave a
corpse.
- [+] make "ornate chest" which has rare objects
- [+] put it in branch endings and make it a rare object
- [+] f_extrainfo in fireat() should show damage _after_ adjustment
- [+] BUG: swamp rooms aren't connected!!!!
- [+] end of forest branch:
- [+] vault containing baba yaga's hut
- [+] bone fence around it
- [+] skeletons
- [+] the hut.
- [+] baba yaga's hut
- [+] cabin on chicken legs
- [+] f_timid!
- [+] jump
- [+] claw attacks
- [+] walks around
- [+] corpsetype = link to inside the hut
- [+] made of dragonwood (ie. hardness 5)
- [+] Don't say "You kill the walking hut".
- [+] text when it dies: "Exhausted, the hut slumps to the
ground."
- [+] inside the hut = small level with baba yaga
- [+] new regiontype: babayaga's hut
- [+] new habitat: byhut
- [+] making the habitat: only has a single vault. (one with
tag 'byhut')
- [+] diff layouts
- [+] circular
- [+] square
- [+] baba yaga herself
- [+] baba yaga
- [+] weighs 50kg
- [+] obs:
- [+] key!
- [+] hp: 135 = 22 hitdice (d6)
- [+] 75% magic resistance
- [+] attribs
- [+] str: exhigh
- [+] iq: exhigh
- [+] wis: exhigh
- [+] agi: average
- [+] con: high
- [+] cha: exlow
- [+] fire, cold, magic, poison resist
- [+] immune to necrotic
- [+] abilities
- [+] seeinvis
- [+] awareness
- [+] claw/teeth attacks.
- [+] claw = 8 DR
- [+] teeth = 6 DR
- [+] maxattacks = 2
- [+] grab ability
- [+] spells??????
- [+] fear
- [+] weaken
- [+] summon insects/animals
- [+] entangle
- [+] blink
- [+] when she dies, unlock the hut door.
- [+] delving code.
- [+] new digging code:
- [+] delve()
- [+] delve_pullcell
- [+] etc
- [+] h_antnest
- [+] creaetantnest calls delve() functions.
- [+] insert this in the main dungeon somewhere
- [+] populate with monsters (set rarity)
- [+] place queen ant on the map.
- [+] via new regionthing type RT_LF
- [+] branch ends should have a boss with a key!
- [+] jimbo
- [+] babayaga
- [+] cave boss (dragon ?)
- [+] gust of wind has higher chance of knocking down small creatures
- [+] check: ensure vault names have no ' 's
- [+] loading bug: celltype id 0 doesn't exist.
- [+] loading bug: adding minotair - don't call sethomeroom()
- [+] fixed - bones bug: "2 loaves of stale bread"
- [+] crash when object thrown away by holy circle dies.
- [+] armour with "permenance" cast shouldn't be able to be healed
either!
- [+] use immutable instead of invulnerable
- [+] if you weild your spare weapon (and dont have a spare), remove
'spareweapon' flag!
- [+] skoob should be made out of "water", not "ice" (don't want it to
have hardness)
- [+] change its material
- [+] hitting water-based lfs should rust weapon!
- [+] rusted weapons should have 10-30% chance of giving tetanus.
- [+] low chance of spasm each turn (5%)
- [+] "your [xx] spasms/contorts violently!"
- [+] hand = drop weapon
- [+] leg = fall over
- [+] jaw = nothing
- [+] back = spine broken, you die
- [+] tail = tail broken
- [+] chest = rib broken
- [+] wings = stop flying
- [+] electricity damage confuses robots
- [+] poison's power increase chance of its effects happening
- [+] whenver tetanus effect fires, increase power.
- [+] electric damage spreads through water
- [+] create water spell (like grease, but just makes water)
- [+] objectgrowth spell shoudl use f_growsto instead of hardcoding
- [+] v0 = obid or celltypeid
- [+] vt = determines VT_ob or vt_cell
- [+] then add shrink spell which uses f_shrinksto
- [+] deinfe it
- [+] add effects
- [+] specail case - brazer -> helmet should be red hot
- [+] hecta should mind attacking evil peaceful creatures
- [+] ai should still flee with bleeding legs
- [+] bandit had 90hp - problem with varlevel!! have changed
calculation.
- [+] monsters now just get 1 extra hit die per level after the
first.
- [+] only some branches should use region->depthmod. others only use
regiontype->depthmod.
- [+] spell: disrupt undead -
- [+] announce 'shatter' spell: you hear an ultra=high pitched
whining/ringing.
- [+] announce'sleep' spell: suddenly, you feel very drowsy.
- [+] inducefear: too powerful. tweak skillcheck values.
Initial work on baba yaga (sylvan forest boss)
- [+] 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
- [+] 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.
F_AISPELLTARGETOVERRIDE v2.
- [+] change code:
- [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx
v2=TT_xxx text=pctchance or NULL.
- [+] aispellok(xx, purpose) : check this _before_ checking
spell->f_aicasttoxxx
- [+] add spelltargetoverride for vampire
- [+] add spelltargetoverride for werewolf
- [+] retain F_FLEEFROM on polymorph.
- [+] lycanthropes
- [+] show up as "human" unless your animal/magic lore is high
enough
- [+] vulnerable to silver weapons
- [+] Wererat (3hd, weapon damage)
- [+] uses short blades
- [+] stench
- [+] want alcohol?
- [+] transform into fast version of rat. plague rat?
- [+] summon small animals. summon # override? "count:"
- [+] Werewolf (4hd, 6 dam)
- [+] summon wolves ?
- [+] shapeshift to dire wolf
- [+] regenerates
- [+] firstaid skill (fast healing when resting)
- [+] Werebear
- [+] 6 hd
- [+] shapeshift to grizzly bear
- [+] summon 2-3 black bears
- [+] firstaid skill (fast healing)
- [+] shapeshifting monsters sometimes start as animal form
- [+] if you are good/evil different alignments, mosnters should flat
out refuse to join you.
- [+] more different sayphrases for recruitment.
- [+] when placing homelevobs, try to stick to rooms, not corridors
- [+] getrandomroomcell() needs WE_xxx argument.
- [+] implement cellmatchescondition(c, cond)
- [+] real_getrandomadjcell() should use this too
- [+] swoop ability should only work with claw attacks
- [+] F_FORCEATTACKOB
- [+] getweapons() needs to honour this.
- [+] spell.c: check if you have the right attack type
- [+] aispellok: only if you have the right attack yype
- [+] horse - 2hd, brown u
- [+] Hippogriff (3hd , horse/eagle, 'u') - yellow
- [+] centaur (4hd, u) - grey
- [+] make pegasus be cyan
- [+] CATs
- [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow
'f'
- [+] 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
- [+] 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)
"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
stay awake (on guard)
- [+] shouldn't get salmonella from roast meat! implement israwmeat()
- [+] Curse removal - $-2147483648 each
Blessings - $-2147483648 each
(there is a $644245120 surcharge for uncursing an equipped item)
Pay for a blessing (you have $118) [yn]?
- [+] fixed.
- [+] f_rage should make f_hiding disapepar.
- [+] after stealing from shop, call more() to allow for god messages
- [+] problem - vampires shouldn't ALWAYS be flying.
- [+] any race with 'f_flying' should have f_canwill fly as well.
Use naturalflight on race instead.
- [+] call touch() on your weapon every turn? (ie. for red-hot ,
undead, etc)
- [+] CRASH right after a cockatrice stoned my wolf.
- [+] lf->flags = NULL
- [+] lf->race = corrupt.
- [+] because i'm calling die() from withing stone() from within
timeeffectsflags()
- [+] 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
- [+] 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
- [+] shopkeepers
- [+] remove F_SHOPITEM - this was used for old shop code.
- [+] "shop" vaults
- [+] village map (but leave the habitat for use in bazaar vault
etc)
- [+] vault: support for random monsters - use "random" for name
- [+] vault flag: f_monsstayinvault
- [+] vaults for goblin caves
- [+] pool of water
- [+] small hut
- [+] brick wall
- [+] trapped corridor
- [+] pranksters dust (makes everyone invisible)
- [+] allow c_random for animations
- [+] random chance of different kind of wallfloor when creating
dungeons
- [+] brick wall (slightly weeaker, orange/red)
- [+] metal wall
- [+] wood ??
- [+] instead of using map->habitat->solidcelltype, use
getsolidcelltype(map)
- [+] this checks map for f_solidcelltype
- [+] if not there, uses map->habitat->solidcelltype.
- [+] vaults should be able to inherit empty/solid types from map
- [+] x:cell:EMPTY
hit at point blank range.
- [+] only reduce hit% after first cell?
- [+] increase change of player ko with yumi
- [+] tranq dart and nanodart should be rodshaped.
- [+] genericise purification
- [+] F_PURIFIESTO v0 = newobject
- [+] add toadstool -> shiitake
- [+] posion potion -> water
- [+] acid potion -> water
- [+] rum -> water
- [+] DONT make the original object type known now
- [+] higher level purify food lets you select a cell!
- [+] need f_targettedspell v1 & v2 to specify power.
- [+] druid should get to pick one of 3 spells (from each available
level) upon levelup, not anything!
- [+] implement f_levspellschoolfromx
- [+] TEST!
- [+] implement secondary weapon swap with 'x'
- [+] initial press: unweild curwep. if successful, mark as
secondayr.
- [+] subsequent presses: find secondary wep (or fail). remember
cur. weild secondary. if successful, remove scondary flag and
mark old cur wep as secondary
- [+] when you move an object, it loses secondary flag.
- [+] BUG: I had TWO regions with rtype->id == RG_CAVE!!!
- [+] have added debug code
- [+] think this is fixed - need to remove created regions when i
regenerate a map.
- [+] should be able to sell gems to jewelery store
- [+] sm_sellitems
- [+] shopsell()
- [+] shop has f_cansellobclass xxx, val[0] = pct of full price you
can sell for. normally 50% but 75% for gems.
- [+] allow COUNT - modified askobjectwithflag ?
- [+] OR add an extra *sellshop option to doaskobject ??
- [+] if this is set, only allow selection of objects which
match the shop's f_shopsell flags
- [+] ie. replace wantflags[]
- [+] when passing this, don't also pass wantflag args!!!
- [+] rename shopsell flag to f_shopacceptsflag
- [+] accept F_NONE in shopacceptsflag
- [+] make shopdonate use the same code
- [+] make donating to shops lower their prices ?
- [+] for each 100 value you donate, reduce prices by 1%
- [+] ie. donate 1000 worth, reduce by 10% = 1 level of speech
skill
- [+] change shopsell to use applyshoppricemod
- [+] applyshoppricemod needs a new arg - up or down
- [+] check code in objects.c for naming too! listobs()
- [+] f_damagegroundobs v0=dam, v1=damtype
- [+] add a similar thing ice wraith (they cause cold damage)
- [+] psionic spells: baffle and disorient too similar? make one a
lower level ?
- [+] make disorient face them away from you!
- [+] ekrub shouldn't get angry for crushing glass underfoot
- [+] OR... warn before you do this if you worship ekrub
- [+] don't drip water while inside a wall (ie. ethereal)
- [+] don't show "[tried on xxx]" for objects in store inventories!
- [+] make "i bestow a gift" msg change depending on god
- [+] potion of etherealness spell disappating twice?
- [+] ie. stopspell being called twice.
- [+] spell effect now chacks for existing noncorporealness
- [+] different god msg if they are angered but still pleased
- [+] "don't do that again!"
- [+] "ahem!"
- [+] "i won't tolerate further transgressions"
- [+] etc
- [+] io.c not showing that druid is vegetarian.
- [+] show this only if ilfetime != FROMRACE
- [+] don't show it otherwise, since it's a racial trait.
- [+] change hasflag_real to have "int lifetimeexception"
- [+] same with:
- [+] VEGERATIRNA
- [+] CARNIVORE
- [+] PARTVEGETARIAN
- [+] F_SIZE??
- [+] VISRANGEMOD
- [+] stickstosnakes - make this not affect the CASTER's equiped
weapon, but it doesnt affect weapons of others.
- [+] implemment
- [+] make spell description describe this.
- [+] make safebox not be stealable
- [+] 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 non-lethal kills (ie. knockouts) display in grey rather than
green
- [+] ability: merciful fighting? always does bashing damage, always
ko.
- [+] done
- [+] Chatting to gods shouldn't work
- [+] bug: when running with shift+dir, i'm running past corridors.
- [+] when announcing skill gains, say if they are from a level.
- [+] set lifetime to FROMJOB when giving them.
- [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx'
(warrior skill)"
- [+] grenade/c4 explosions should be able to damage cells!
- [+] change grenades to have bigger radius (dtorth 1)
- [+] automatically call "fireat" for grenades
- [+] impement this
- [+] make the timer shorter!
- [+] add extra checks to stop monsters from attacking allies
- [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range.
- [+] will atatck anything else visible within range xxx
- [+] grave sprite should be able to see in the dark
- [+] instead of saying "An orc [drunk]", change getlfname to return "a
drunken orc" etc
- [+] when you throw an object at someone in a wall, it should fall
onto the ground in front, NOT the wall itself!
- [+] show how MUCH high/low str/agi will affect weapon damage/accuracy
- [+] different shoddy/masterwork text based on weapon types
- [+] bug: monsters never bleed from injuries!
- [+] another bug in getavgdam - negative accuracy returns negative
damage since we modify damage by accuracy!
- [+] within this function, limit accuracy to range 0-100
- [+] bug with options - opt->id never being initialised!
- [+] don't apply "behaviours" to anythuing other than humanoids.
- [+] increase missile accuracy if you are above your target
- [+] (ie you are flying higher them them)
- [+] getflightsizemod()
- [+] 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.
- [+] b - a silver shoddy bastard sword
- [+] show object's condition before changed material state?
- [+] bug: torches aren't lighting up walls when walking in corridor!
- [+] scrolls with f_scrollneedsob should say 'tried on object'
- [+] dungeon light
- [+] lit shoudl be "illuminated" and be an enum
- [+] IL_FULLYLIT
- [+] IL_WELLLIT (dark, candelabras in every room and moss
every 4 steps)
- [+] IL_DIM (dark, torches in rooms and moss every 6 steps)
- [+] IL_SHADOWY (dark, torches in some rooms and moss every 8
steps)
- [+] IL_FULLYDARK (ocassionally moss in rooms, otherwise no
light at all)
- [+] need more fixed light source objects:
- [+] moonmoss and sunmoss
- [+] if not fully lit, map illumination level determines how often
light sources are placed, and what type.
- [+] special monster behaviour (perception or lore will show this?)
- [+] insane monsters (attacks anything)
- [+] hunting for food (hungry, add covets food)
- [+] returning to lair with plunder (extra treasure)
- [+] timid (lower morale, maybe add f_timid or alwaysflees)
- [+] drugged (never flee)
- [+] drunk
- [+] diseased (start with a non-lethal disease. eating its corpse
infects you)
- [+] determined (will chase the player for longer)
- [+] lazy (chase for less time)
- [+] only show if perception >= skilled)
- [+] only show monster jobs if lorelev >= beginner
- [+] bug: cursed scrolls no longer having bad effects. fixed.
- [+] after you fool a monster by feigning death, it shouldn't target
you for a while.
- [+] prevent wands from being blessed/cursed.
- [+] bug: still no displayed text when your pet dies.
- [+] update: this seems to happen when a monster is killed by
another monster
- [+] The bear cub claws the dog. The dog wakes up.
- [+] fixed!
- [+] hwen monsters start with weapons/sheilds, their starting skill
should be based on hit dice.
- [+] max skill is hitdice / 3
- [+] wake up player before giving god gift!
- [+] "a goblin shaman moves out of view"
- [+] but i didnt hav ehigh enough lore!
- [+] maybe real_getlfname needs "showall". check this istneda of
usevis to see whether to show job.
- [+] crash when objects fall through a hole and the lower hole needed
to be moved slightly.
- [+] bug: invisibility is fooling even things with 'enhancesmell'
- [+] water onto dirt only makes mud if there isn't some already there.
- [+] monk fists DR should max out at 12 or so, since #attacks keeps
going up!
- [+] don't show god pleaseing messages when asleep
- [+] bug: showing '%s dodges" when you can't see it.
- [+] fix rarity of wands
- [+] reward at bottom of caves:
- [+] godstone of war (cases RAGE on everyone near you)
Goblin cave bosses:
- [+] goblin king
- [+] young dragon
- [+] You walk down the staircase...
ERROR - can't find opposite end of stairs/portal!
- [+] You walk down the staircase... ERROR - unlinked stairs!
- [+] This is related to the fact that all the staircases came from
Jimbo's vault
- [+] For some reason we're not linking them when they come for ma
vault!!!
- [+] "joining unliked stairs" section not working???
- [+] it calls getstairdestination, but this DOESNT call
linkstairs!
- [+] maby: call autolink everytime i add stairs ? or only do
this during createvault ?
- [+] automatically remove useless doors (ie. ones where all adjacent
walkable cells are in the same room)
- [+] in fix_reachability i'm drawing a corridor through vault/room
walls. <- probably this one.
- [+] don't allow auto reachability to enter rooms through the
wrong side wall.
- [+] TEST during regular playtests, see if maps look better.
- [+] quality on doors.
- [+] sturdy / plain / shoddy doors. this impacts the hp
- [+] stone doors (solid / plain /crumbling)
- [+] metal ( reinforced / plain / rusty)
- [+] only show this if perception >= beginner
- [+] dungeon shapes
- [+] new cell attribute - locked.
- [+] calcroompos can't make rooms on locked cells.
- [+] normal
- [+] cross
- [+] circle
- [+] turret
- [+] - premask out blocked cells before generation!
- [+] minion code - if leader dies,
- [+] minions drop morale
- [+] and might either immediately flee
- [+] need lastdamlf
- [+] if wisdom >= gtaverage, automatically turn off lamps when you go
to sleep
- [+] "scratch"/"gnaw" etc should be based on actual damage hp amount,
not percentage.
- [+] change getattackverb()
- [+] 1-2
- [+] 3-6
- [+] 8-12
- [+] 12-18
- [+] 18+
- [+] shop objects should start with all flags known.
- [+] allow usage of godstones without id'ing them first. this will id
them.
- [+] weapon/armour shop should resize armour for you for a cost.
- [+] chanelling bonus
- [+] novice
- [+] tell you when wand is low on charges (0-3)
- [+] beginner
- [+] let you determine exact remaining charges in wands once
it is == 1!
- [+] adept
- [+] let you determine exact remaining charges in wands once
it is <= 3!
- [+] skilled:
- [+] let you determine exact remaining charges in wands once
it is <= 6!
- [+] master
- [+] lets you always see full amount of want charges.
- [+] lets you convert your mp into wand charges? "imbue item"
- [+] 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?
- [+] 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
- [+] 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