Commit Graph

239 Commits

Author SHA1 Message Date
Rob Pearce 0bc557f2f5 If you run out of stamina while flying, immediately stop flying.
Don't require stamina to stop flying.
2016-06-06 20:42:45 +10:00
Rob Pearce 95e36275d3 Increase cooldown time on monsters casting 'flee' spells 2016-06-06 19:21:15 +10:00
Rob Pearce 8456ed6a74 - Option to notify about absorbed into dirt
- Fix crash if no cells found for god to appear.
- When calling fillpot from splashes moved/placed objects, make sure there is sufficient liquid to fill to container.
- Potion of blood sohuld always be a 'dark red potion'
2016-06-06 15:21:47 +10:00
Rob Pearce bd0f37f461 *water appearing/moving onto cells should turn empty flasks into potions if they have F_FILLPOT 2016-06-06 12:15:42 +10:00
Rob Pearce d381e8444c - Introduce MR_BACKTOLAIR to avoid ai code failures.
- Clear message bar before askobject()
- Make towel code include certain small liquids on the ground (splash of water, blood, etc)
2016-06-06 10:28:49 +10:00
Rob Pearce a23bedde10 *When using a towel, make it able to dry off objects on the ground.
*When using a towel, make it wet based on how much you dry off.
*Create Water description should specify that water is created on the ground.
*when creating "a wet xxx", make its wetness time be the maximum.
*fixed bug where F_WET obmods would not show up after the v1 timer value changed (added flags->obmodignore[])
2016-06-04 10:20:34 +10:00
Rob Pearce e1edc8e14b - In THREAT ASSESSMENT, don't show both "your <limb> is destroyed" and "you have no <limb>".
- Make '0' work as a shortcut slot.
- Change default shortcuts
        Sixth sense -> 6 ("SIXth" -> "6th" -> 6)
        Tiptoe -> 0 ("tOE" -> "oh" -> 0)
        Training -> 9
2016-06-03 15:28:05 +10:00
Rob Pearce 562f3d082b - Dagger of Revenge had incorrect F_LINKGOD.
- Prevent obtaining key items via wishes.
2016-06-02 15:46:30 +10:00
Rob Pearce c30a1c4b94 - generate error if main screen is not at least 80x25
- showlfstats() - implement text wrap and scrolling on Effects screen
- If a monster slips and IQ >= animal, tiptoe next turn.
2016-06-02 14:50:03 +10:00
Rob Pearce 89dbff4a63 Potions of (in)competence now modify attributes by 5, not 1.
Add a squeaking hinge trap
Rename doobtraps() to triggerattachedtrap() for readbility.
Make using spanners able to set off traps.....
Make spanners able to unlock anything (chests, doors)
Allow (I)nteraction with adjacent objects, not just impassable ones (but limit what kind of objects this works with).
Remove CMD_CLOSE command ('s') - we can just use 'interact'.
Limit (I)nteractions to cells in front of you.
2016-06-01 23:59:39 +10:00
Rob Pearce 5135352e2a Random object generation was completely broken. Should be a little better now. 2016-06-01 21:09:21 +10:00
Rob Pearce cb97ac1f26 When looking at flying creatures, show their height (in metres). 2016-06-01 15:18:52 +10:00
Rob Pearce cb31db8fff When selecting job, show recommendations based on race. 2016-05-31 14:37:08 +10:00
Rob Pearce 8ed4b9aca0 - new l2 death spell: "field of decay" - damage objects / lfs made from organic material
- If not in battle, praying to Hecta will restore stamina / mana, and sometimes cast field of decay
2016-05-31 12:23:39 +10:00
Rob Pearce 99fc225519 - in addob(), prevent placing innate attack objects into non-lf obpiles.
- when parsing object names, require an exact match for innate attack objects.
2016-05-31 10:41:00 +10:00
Robert Pearce e9a2ccb2c8 - Fixed heaps of memory leaks and bad memory usage. This should finally fix the flagpile corruption from 6 years ago!
- 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.
2016-05-31 00:21:12 +10:00
Rob Pearce d89e93f64e - [+] tech is now uncommon, not rare.
- [+] bug: crash when linking to map entry objects
- [+] removed some material-based damage immunities
- [+] at night you shouldn't hear "a cash register chiming".
- [+] increase hp of chests
- [+] filling empty flask from potion of fshy lungs resulted in potion
      of water!
- [+] don't take migraine damage from light if your'e blind.
2012-12-31 05:10:13 +00:00
Rob Pearce a42ca5bb37 - [+] operate will turn electromachete on/off
- [+] Interact should also be able to open/close doors
- [+] closing doors should take time.
- [+] remove armourrating from many standard monsters.
- [+] should be able to get nauseated while asleep
- [+] shouldn't be able to generate corpses of unique monsters!
- [+] mental feedback should do more damage.
2012-12-26 06:12:09 +00:00
Rob Pearce 60914f4842 - [+] change cooking skill - make it determien the size of the corpse
you are able to cook.
- [+] then greatly increase chances of getting sick from raw meat.
- [+] and decrease nutrition for raw meat again
- [+] wizard classes should get random spells on level up
- [+] Interact (with adjacent things)
    - [+] add new command
    - [+] bookshelf
    - [+] wardrobes (contain clothes)
    - [+] open barrels
    - [+] computers
- [+] only show "it currently contains..." for containers which you
      have opened.
    - [+] F_BEENOPENED.
- [+] some barrels are randomly jammed
- [+] change jam to be strength check.
- [+] change skillcheck roll - now only 1-50
- [+] monsters shouldn't cast lethargy if you're already exhasted
- [+] lethargy should cancel rage.
- [+] change spellbooks - always id them but you might not be able to
      read them.
new vaults:
- [+] goblin nest
- [+] orc fort
2012-12-23 22:02:52 +00:00
Rob Pearce 67d6d4b30b - [+] clouds of smoke (or anything gaseous) shouldn't be able to fall!
- [+] BUG: after giant ant digs a hole:
    - [+] ERROR - unlinked stairs! should have been linked during map
          creation.
          ERROR - can't find opposite end of stairs/portal!
    - [+] upstaircase on the new level is being linked to a hole.
    - [+] fixed?
    - [+] test again... (dig down, check log.txt for linking to wrong
          type)
- [+] giant ant should be able to dig dirt at will(to escape)
- [+] mimic ??
    - [+] pretends to be an ornate chest.
- [+] new monsters
    - [+] gluon should be an ooze.
    - [+] hag
    - [+] phase spider (wlak through walls!)
    - [+] basilisk
- [+] better description for rusted armour.
- [+] fix crash when creating up holes.
2012-12-19 10:42:22 +00:00
Rob Pearce c1cb8ea62e - [+] new monsters
- [+] creeping coins
        - [+] pretends to be gold
        - [+] poison breath
    - [+] rat swarm
    - [+] locust swarm
    - [+] baby mind leech
        - [+] mind whip
    - [+] adult mind leech
        - [+] mental feedback
        - [+] l5 psionic - drain intellect spell.  3d6 IQ drain.
- [+] summon swarm spell
- [+] ai: only pathfind if we are >= animal intelligence.
- [+] shadow - drain strength
- [+] show: "you swap places with the _sleeping_ lf"
- [+] problem:
    - [+] i have metalwork = beginner, sewing = novice
    - [+] ...but i could resize cloth objects!
- [+] SAVE broken again. fixed? 
- [+] in fixreachability, glass walls count as nonsolid
- [+] aligned temples:
    - [+] detect auras: free
    - [+] curse removal: free
    - [+] blessings: half price
- [+] change surface map.
    - [+] map difficulty should be very high.
2012-12-12 01:00:17 +00:00
Rob Pearce fe41614a1c - [+] better help text for temperature effects in @e
- [+] why wasn't eyebat levitating? fixed. anything with nostam should
      always have 100% stamina.
- [+] pain shouldn't work on undead.
- [+] screamer
    - [+] walking
    - [+] plant. purple brocolli
    - [+] spellcloud scream
        - [+] deafens adjacent creatures for 40-50 turns (doesn't stack)
        - [+] attracts other monsters
    - [+] leaves "screamer slice"
- [+] how do you open a barrel without hurting contents?
    - [+] answer: don't use DT_BASH.
- [+] giant bee
    - [+] sting then die. (cause pain)
- [+] don't get dizzy while running
2012-12-07 04:42:14 +00:00
Rob Pearce d7f6991a40 - [+] fixed CRASH when energy blade vanishes
- [+] gods of opposing alignments should never make offers.
- [+] new armour flag:
    - [+] f_underclothing
    - [+] getequippedob() - get the outer one.
    - [+] if you have f_underclothing, can wear other armour on top of
          it.
    - [+] can't remove underclothes without removing outer first.
    - [+] TEST with cotton shirt
    - [+] make sure autoequip handles undercltohing
    - [+] fix other objects
    - [+] adjust ']' output
- [+] make armour help against some magical damage too
    - [+] move armour check and reduction into losehpeffects().
    - [+] pass damreducedbyarmour to losehpeffects
- [+] psionic spells:
    - [+] dampen missiles - lots of extra evasion vs missiles only
    * [+] soul link (l4, share damage)
    - [+] mind sheidl (l4, like the amulet)
    - [+] delay death (l5, don't die if hp <= 0 and this spell is
          active)
    - [+] remote ko (l6)
- [+] Silence spell / effect - air.
    - [+] f_silenced.
    - [+] announce in io.c
    - [+] prevents spellcasting
    - [+] prevents docomms()
    - [+] prevents reading scrolls
    - [+] prevents speech-based abilities like warcry and sonic bolt
    - [+] say() will fail
    - [+] sayphrase() wil fail
    - [+] test the spell.......
- [+] CRASH when adjusting glyph on edge of map
- [+] non-humanoids can't climb without climb skill.
- [+] player sohuld be able to swap with unconscious/asleep lfs <= same
      size
- [+] too easy to knock things unconscious??? bug. fixed.
- [+] reusable cells being set to empty! think this was a vault
      definition problem.
- [+] demon chameleon / deech
    - [+] low-level mosnter which can hide
2012-12-06 04:57:13 +00:00
Rob Pearce 38a788ca5f - [+] pour poison potion on weapon should poison it.
- [+] coldness shoudl reduce object heat and heat should add f_hot
- [+] novice engineering should let you make arrows.
- [+] hunter shouhld have novice engineering.
- [+] BUG: during the game: i nvalid racename 'piranha' in vault
      pool_room
    - [+] this happened because more than 1 appeared.
    - [+] disallow minions/numapepar in vaults.
2012-12-05 05:00:54 +00:00
Rob Pearce 234d70b099 - [+] chat->all allies command.
- [+] 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
2012-12-04 05:15:27 +00:00
Rob Pearce ae01d1bbfa - [+] add f_nostam to undead.
- [+] add nonausea rather than nosmell sometimes.
    - [+] rats should eb able to smell, but not get nauseated.
- [+] fix triumph pleasure for bjorn.  must be no monsters within
      LOF... or within radius ?
    - [+] and make it very low piety gain.
- [+] remember which level we got flags form
    - [+] flag_t -> fromlev
    - [+] announce this in getflagcourse
- [+] undead qualities
    - [+] no criticals
    - [+] don't naturally heal
    - [+] don't breath
- [+] drainlevel(fromlf)
    - [+] check for dtresist necrotic 
    - [+] fitness saving throw (difficulty is 100 + fromlf's level*6)
    - [+] call loselevel()
- [+] loselevel()
    - [+] announce.
    - [+] drop maxhp.
    - [+] adjust hp appropriately
    - [+] lose any flags where >fromlev is too high.
    - [+] handle monk f_hasattack specially.
        - [+] getmonkdr(level)
        - [+] getmonkattacks(level)
    - [+] keep track of what stats we gained and lose them again.
- [+] TEST level drain with cursed xp pot
- [+] TEST level drain with stats...
- [+] prevent drinking when wearing full-face masks like gas
      mask/football helmet
    - [+] implement f_COVERSFACE.
    - [+] add it to objects.
    - [+] check it when doing caneat() candrink()
    - [+] up their AC bonus too
- [+] large scorpion
- [+] hellhound
- [+] large primalities
- [+] new vault flag: usehabitat:xxx
    - [+] means "set the habitat of all vault cells to xxx"
    - [+] real_getrandomob() should be given a CELL, not MAP.
    - [+] getrandomobofclass() should be given a CELL, not MAP.
    - [+] use CELL habitat to determine random obs
    - [+] apply to caves
- [+] vault scatter: ignore locked cells (ie. reusable ones)
new vaults
- [+] dualroom
- [+] sauna - vhot!
- [+] pentagram and demons
new pionic spells
- [+] chi bolt - low dam ranged attack 1d4
- [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 05:12:29 +00:00
Rob Pearce c839387b84 - [+] dog should ahve covet for ot_stick
- [+] fix crash in wouldgivepenalty();
- [+] shouldn't be able to inflict poison on a plant!
- [+] fix monster casting of airblast
- [+] you now CAN knock out robots.
- [+] don't lower god piety while training.
- [+] mesmerat (mental rat)
    - [+] random psionic spells
- [+] tempest moth
    - [+] no base attack but...
    - [+] airblast 
    - [+] sleet storm
- [+] homonculus
    - [+] 'n'
    - [+] miniature human. 2 hd?
    - [+] bite.  low damage, but inflicts sleep.
    - [+] dodge like goblin
- [+] scorpion. sting. inflict strong poison.
- [+] spider swarm
    - [+] F_SWARM
    - [+] has lots of attacks.
    - [+] as it loses hp, it loses attacks too.
    - [+] no corpse.
    - [+] dietext: "the swarm disperses"
2012-12-02 21:15:40 +00:00
Rob Pearce 8d2e98be50 - [+] when you give monsters gold, they should give something back ??
- [+] bogle: barkskin.
- [+] hamstring shouldn't make you fall if you're flying
- [+] flying creatures shouldn't be harmed by F_SHARP 
- [+] even when blind, you should be able to "see" lfs you can smell or
      tremorsense.
- [+] resting while cold without blanket = not possible.
    - [+] "the extreme cold prevents you from sleeping."
- [+] when hot, takes a lot longer to heal ?
    - [+] "it is difficult to sleep in this heat."
- [+] require lorelev skilled to fill potions from blood.
    - [+] done.
    - [+] ALSO allow skileld chemistry to work for all races ?
- [+] bones vaults shouldn't have maintainedge!!
- [+] contagion zombie - anyone it bites turns into a new zombie on
      death.
    - [+] very raer
2012-12-02 05:40:58 +00:00
Rob Pearce bfab1b10ed - [+] sauna should generate non-damaging steam.
- [+] 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.
2012-12-01 05:26:23 +00:00
Rob Pearce a144e9c4a6 - [+] IMPLEMENT proper object conditions
- [+] first:
        - [+] create reimplmemnt AO_xxx
        - [+] get rid of obmatchescondition (use new obMEETScondition
              instead)
            - [+] doaskobject
            - [+] askobjectmulti
            - [+] askobject
            - [+] askobjectwithflag
        - [+] ----- TEST ------
        - [+] new cc_ types for obejcts and obtypes
            - [+] CC_MINDR
            - [+] CC_MAXDR
            - [+] CC_MINAR
        - [+] then fix up getrandomobofclass. use CC_HASOBCLASS instead
        - [+] replace all calls to getrandomobofclass to use condsets
        - [+] then fix up other getrandomob routines
            - [+] real_getrandomob
                - [+] maxsize
                - [+] wepsk
                - [+] obclass (OR)
                - [+] damtype (OR)
                - [+] wantflag
                - [+] fix function.
                - [+] fix calls...
            - [+] getrandomob
            - [+] getrandomobofsize
            - [+] getrandomobwithdt
            - [+] getrandomofwithflag
            - [+] getrandomobwithclass
- [+] auto code to stop low TR monsters starting with super rare
      weapons.
    - [+] apply_wep_tr_limit(lifeform_t *lf, condset_t *cs)
        - [+] implement max weapon DR based on TR:
- [+] baby battery lizard
- [+] battery lizard
2012-11-30 12:05:29 +00:00
Rob Pearce c6fed68ba2 - [+] fix carpetted floor colour
- [+] 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!!!
2012-11-29 20:18:21 +00:00
Rob Pearce e8cc823d72 - [+] Go to 256 colour mode!
- [+] 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
2012-11-27 10:27:54 +00:00
Rob Pearce d39e7ea7c1 - [+] gunpoweder should be unstable - explode on ANY dam.
- [+] mosnter facing being set to -. debug with forced break. fixed.
- [+] fix territorial monster crash.
- [+] CRASH in celldangerous when undead avoiding holy circles.
- [+] alternate text for 'ineffectually'
- [+] need an announce for bjorn's ecstatic ability (ehavy blow)
- [+] whenever you gain a new godbonus, give you a grace period
- [+] change selectweapon so i can specify valid choices
    - [+] have multiple F_SELECTWEAPON flags, v0 = object. (or text?)
    - [+] getflags() then pick from these.
- [+] hwen gunpowder inside a barrel explodes:
    - [+] say "the barrel explodes", since that's what you can see
    - [+] explosion should actually work!!!
- [+] lethargy should drain lots more stamina now that exhaustion
      doesn't prevent attacks
- [+] thrown knifes not doing enough damage.
    - [+] fireat(): dam = throwdam(2) + speed(2)
          dealing 3 damage
    - [+] maybe increase throwdam to 4.
    - [+] check otehr throwmissiles too
2012-11-25 19:57:49 +00:00
Rob Pearce 5b28b3571e - [+] when seeing footprints, give size. ("you see small footprints")
- [+] 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.
2012-11-23 04:54:27 +00:00
Rob Pearce e30d5f334f - [+] djin and efreeti should hate each other
- [+] '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.
2012-11-22 03:13:27 +00:00
Rob Pearce 2867b4488f - [+] might need to increase effectiveness of armour again. incease
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.
2012-11-19 04:57:48 +00:00
Rob Pearce 893540af19 - [+] chemistry skill lets to mix venom sacs into potions
- [+] 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.
2012-11-15 11:39:46 +00:00
Rob Pearce ca132c87c7 - [+] before removing deadends:
- [+] 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
2012-11-14 04:59:18 +00:00
Rob Pearce 98ba363e8a - [+] vault:pub
- [+] 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
2012-11-13 05:04:30 +00:00
Rob Pearce 64412035bb - [+] fullshield block: ("raise shield") ?
- [+] 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.
2012-11-10 04:06:45 +00:00
Rob Pearce db635b50db - [+] most monsters which covet food should have snatch - so that you
can just drop food for them.
- [+] when looking for remote obs, DO include adjacent cells with lfs,
      if we have the snatch ability.
- [+] some long thin levels (80 x 12 ?)
- [+] fix code to remove useless doors.
    - [+] 0 pairs of dirs with empty cells = change door to wall
    - [+] pick an adjacent empty cell
    - [+] floodfill the 8 cells around the door.
        - [+] start with adj cell
        - [+] can't go more than 1 cell away from door
        - [+] solid cells or doors will stop movement
    - [+] if no unfilled cells around the door, bad.
- [+] new way of fixing unconnected levels - portal!
    - [+] pick one spot in each section then place a portal there.
- [+] dying should cure poison
- [+] tweaks to attack text
- [+] floor tile effecst
    - [+] absorbancy - ie. carpet should absorb water.
    - [+] converyors
    - [+] only walkable sometime (crushers?)
- [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus"
- [+] god of nature should like eating animals all the time, not just
      when hungry (makes piety gain easier)
- [+] announce when eyes are protected from a spellcloud
- [+] klikirak should like setting off fire traps.
- [+] floodfill() should follow portals to the same level.
- [+] show >1 skillpoints in green on status bar
- [+] bug: gods are apeparing behind you.
    - [+] bug in getrandomadjcell
- [+] gods' planeshift spells failing? might be fixed now. using
      getrandomroomcell instead of getrandomcell.
- [+] increaes damage dealt by smite evil/good
- [+] lightning javelins shouldn't be stackable
- [+] monsters not firing ranged weapons!
    - [+] they just walk back and forth
    - [+] bug with how i was calling haslof() for cells other than
          where the mosnter was (in getdiraway())
- [+] turn undead should only work if caster level*2 is >= monster level
fullblock basics:
- [+] penalties
    - [+] lowers visrange to 1
    - [+] huge attack penalties
    - [+] huge evasion penalties
- [+] vhigh chance of all ranged damage going to shield instead.
    - [+] buckler = 75 (small)
    - [+] shield = 80
    - [+] large shield = 85
    - [+] tower = 90
    - [+] plus shield skill*2
- [+] use check_shield_block in all spell effects
    - [+] this checks whether player is shieldblocoking (or evades??)
    - [+] then applies damage appropriatly.
- [+] new ability;
- [+] stopped by:
    - [+] losing or unequipping the shield
    - [+] being interrupted
    - [+] casting a spell or using an ability
- [+] exotic weapons should cost more.
- [+] maybe prevent prayer until gods have been pleased enough ?
    - [+] while you're not worshipping anyone, piety gain is x4.
    - [+] once first one hits 'pleased', they will appear and offer you
          a place
    - [+] advantge to this is that you get a gift
    - [+] picking up new gold should please felix......
    - [+] you shoudl only be able to sacrifice untouched gold. this
          pleases felix double as much as grabbing it.
    - [+] gods sohuld appear "in a cloud of ..."
        - [+] bjorn - blood
        - [+] klik - fire
        - [+] lumara - bright light
2012-11-09 11:50:52 +00:00
Rob Pearce 3bb1edae8b - [+] "peek" down stairs now works
- [+] should get a massive accuracy boost if you are holding someone
- [+] absorb wood is too powerful, (for 0 mp you can kill someone's
      weapon)
    - [+] change it somehow. fixed description - doesn't affect
          equipped items.
- [+] more loops in levels
- [+] training should create noise
    - [+] ...and monsters sohuld go to investigate noises if not in
          battle.
- [+] god gift changes...
    - [+] still give gifts based on piety
    - [+] BUT don't lower piety. instead start a 'gift timer'
    - [+] F_GIFTTIMER.  v0 = decerementing time until you can get a
          gift.  v1 = what v0 will be reset to (gets bigger)
- [+] revivetimer on ling parasite: A ling parasite corpse (null)!
- [+] monsters no longer inherit alignment from job.
- [+] ekrub's entangling vine vanishes straight away
- [+] fix crash when slipping on the ground.
- [+] mosnters shoudl only attack doors if pursuing a lifeform and if
      the lifeform is nearby.
- [+] only award partial points for held objects unless you won the
      game.
- [+] fix crash when gust of wind is cast on an empty cell
- [+] make spell power affect properl missile speed
- [+] bug: monsters getting too many f_ignorecell flags! (more than
      MAXFLAGS)
- [+] poison needs to last longer.
2012-11-07 20:21:35 +00:00
Rob Pearce 29483cd29f - [+] BUG: lfs are getting map flags!
- [+] Implement a* pathfinding for pets
    - [+] done
    - [+] TEST... seems okay so far.
- [+] druid spells not showing in starting list.
- [+] don't announce noise from unseen things which are attacking the
      player.
- [+] fix crash when no pet location found at start of game.
- [+] swap spell levels for warp wood and absorb wood.
- [+] only set godprayedto if you got a positive effect.
- [+] warp wood should affect wooden lifeforms.
- [+] pathfinding for player:
    - [+] only allow this to explored cells
    - [+] consider unexplored cells non-walkable.
    - [+] set f_pathfinding
    - [+] STOP if we see a monster
- [+] never let stamina exceed max.
- [+] you can now actually climb when you get the spiderclimb ability
      but don't have climbing skill
2012-11-06 20:32:56 +00:00
Rob Pearce 095fb8b7d4 - [+] add a glyph for 'bright light'. yellow sun
- [+] bug: i was able to repair leather armour usint the metalwork
      skill.
- [+] fix bug with vell not getting starting weapon.
- [+] monsters: don't walk on producelsight obs if you have sensitive,
      uncovered eyes.
    - [+] (if wis >= animal)
- [+] snakes shoudl have f_enhancesmell and bad eyesight. also lower
      their tremossense range
- [+] new lore: skills which auto makeknown() objects based on rarity.
    - [+] lore:chemistry - potions
    - [+] lore:relics = rings/amulets
    - [+] lore:language = scrolls / books
        - [+] also study scrolls
    - [+] lore:arcana: wands+magic creatures
- [+] finalise work to redo god piety
    - [+] amberon
        - [+] thrilled = poly immune,
    - [+] glorana
        - [+] t = auto bless weapons / arm
    - [+] ekrub
        - [+] e = autotangle (instead of d)
    - [+] yumi
        - [+] e = 90 save life chance
    - [+] felix
        - [+] p = enhance stealth ?
        - [+] t = enhance search 20
        - [+] e = enhance lockpick 50
2012-11-05 01:44:01 +00:00
Rob Pearce 49893b20e4 - [+] some rings are now rare/very rare
- [+] getting a lot of individual non-stacked blood stains.
- [+] penalty to slip checks when sprinting.
- [+] protetcion form good/evil - use saving throw for tougher monsters
- [-] redo god piety
    - [+] piety levels confer abilities/bonuses
    - [-] hecta
        - [+] pls - resist necro
        - [+] thr - stench
        - [ ] ecs - finger of death OR necrobeam every x turns.
            - [ ] fod: kill low hit die instantly.
    - [-] amberon
        - [+] pls - glow
        - [ ] thrilled = poly immune,
        - [+] t = also  undead dam boost
        - [+] ecs = prot evil
    - [-] glorana
        - [+] p = stam boost
        - [ ] t = auto bless weapons / arm
        - [+] e = regenhp
    - [-] ekrub
        - [+] p = plantsfriendly
        - [+] t = chance to autoentangle on hit (plev*10)
        - [+] t =  disease immune
        - [ ] e = ???
    - [+] klikirak
        - [+] p = res fire
        - [+] t = immune fire
        - [+] e = burning body
    - [-] yumi
        - [+] p = enhance search 10
        - [+] t = detect bless/curse..
        - [+] t =  detect life
        - [ ] e = save life
    - [+] lumara
        - [+] p = boost mag 1. spell on levelup.
        - [+] t = boost mag 2.
        - [+] e = boost mag 3. regen mp.
    - [+] bjorn
        - [+] p = resist fear
        - [+] p = stam boost too
        - [+] t = dam boost, acc boost
        - [+] e = knockback
    - [ ] felix
        - [ ] p = enhance stealth ?
        - [ ] t = enhance search 20
        - [ ] e = ???
    - [ ] move gift effects........
    - [+] remove gifts?
    - [ ] TEST!!
2012-10-31 03:58:13 +00:00
Rob Pearce 48a3533aef - [+] shoulder armour:pauldron 2012-10-26 04:09:57 +00:00
Rob Pearce 68e5435fdf - [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
      faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
    - [+] every time we ask for a direction, use askdirection(prompt).
          make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
    - [+] i'm finding way too many books! might be fixed now... ?
    - [+] never finding wands
    - [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
    - [+] carpet = soft
    - [+] stone = normal
    - [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31.  novice perception skill. noticied
      teleport trap right in front of me.  chances?
    - [+] maybe make it you can never detect anything further away than
          your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe:  "At Novice
      level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
      (with human footprints)"
    - [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
      fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
    - [+] F_BLOCKSVIEW needs new option:  v1 = true means dont block 
          if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
      info from the the cell returned.
    - [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
      the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
    - [+] peaceful check should do this
    - [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
    - [+] l0
        - [+] chewing gum (jam doors with it) - this should be food
              though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
      'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
      read it manually
- [+] finding rings of unholiness everywhere.
    - [+] because it's the only rare ring!
    - [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
      small blades.  starts with extra knives.
- [+] replace all SUBJOBS  with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
    - [+] rogue/assassin (no stealing, no traps, lockpicking,  better
          stealth+backstab, poison knives)
- [+] minor healing spell is too powerful.  should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
    - [+]  just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
    - [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
      school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
      grants cold resistance 
- [+] shop opening hours
    - [+] F_OPENHOURS
        - [+] v0 = start (inclusive)
        - [+] v1 = end (inclusive)
        - [+] v2 = sayphrase
        - [+] SP_CLOSEDTILMORN (come back in the morning)
        - [+] SP_CLOSEDTILNIGHT (come back tonight)
        - [+] SP_CLOSEDTILHOUR (come back after x oclock!)
    - [+] make shops only be open during the day.
    - [+] make some temples only be open at night (eg. hecta)
2012-10-15 02:15:36 +00:00
Rob Pearce db83aadaac - [+] announce when a web spell hits you
- [+] grammar:  xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
      mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach -  with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
      away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
      go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
    - [+] have added debugging
    - [+] wait for it to happen again
    - [+] put in code to check at start of turn whethe r my alignment
          just changed.
    - [+] my alignment seems to have changed to NONE
    - [+] POLYMORPH is causing this.
    - [+] fixed
- [+] commando should have low level version of gunblade
    - [+] electromachete - low pierce + low electric
    - [+] gunblade - med slash + low explosive
    - [+] boomstick -  med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
      object)
    - [+] l2 tech
    - [+] operate it to recharge tech which has charges.
    - [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
    - [+] new arg: lifeform_t *causedby
    - [+] use this when dealing damage, so that it counts as player
          kill (etC)
    - [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
      1
- [+] seems almost impossible to break locks on chests by bashing....
      check the calc.
    - [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
    - [+] after first hit: +1dam, knockback
    - [+] after 2nd: +2 dam
    - [+] etc
    - [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100.  therefore: multiply by 3
      and a bit.
- [+] CRASH during wish for Power
- [+] bug:
    - [+] You whack the pixie.  The pixie turns to face you.
          The pixie turns to flee from you!
          Amberon's voice booms out from the heavens:
          "You dare attack an innocent?"  Amberon's voice booms out
          from the heavens:
          "You dare attack an innocent?"  The pixie gestures at itself.
- [+] baba yaga's hut
    - [+] shoudln't be able todrink potions
    - [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit: 
    - [+]  $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
    - [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
    - [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
    - [+] scourge should always start with a whip.
    - [+] fighter should be able to pick it 
- [+] aligned temples sohuld be half price (or free if god is pleased?)
    - [+] SM_DETECTCURSE
    - [+] SM_PURCHASEITEMS
    - [+] SM_BLESS
    - [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
    - [+] check out canreachbp() in lf.c
    - [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
      silver
- [+] klikirak should grant fire powers
    - [+] cast pyromania when you pray
    - [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
      i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't  do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
    - [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
      with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
      called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
      your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
    - [+] i think i said "weapon" but it turned into weapon store.
    - [+] works in a wish...... is this only a problem in a vault?
    - [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
      "the xxx appears"
    - [+] when i read a create monster scroll, this _doesnt_ happen.
    - [+] when i cast summon small animals and a brian bat appears, it
          _doesnt_ happen
    - [+] only seems to happen whan a mosnter uses a summon spell
    - [+] maybe to do with finalisemonster() or "autogen" being set in
          addmonster?
    - [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
    - [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing  plants
- [+] do something to stop kilkirak worhipers from scarificeing the
      entire forest!
    - [+] if you attack a plant lf in the sylvan forest
        - [+] nearby plants attack.
        - [+] 33% chance of a treant:
    - [+] same if you destroy a plant object
        - [+] takedamage() needs a "fromlf" arg
    - [+] or sacrifice one.
    - [+] _warning_ if you attack a plant object or plant lf. (but
          don't kill it)
    - [+] WISDOM warnings:
        - [+] if you are about to attack an OC_FLORA object in the
              woods (and have felt the woods get angry once before)
        - [+] if you are about to attack a RC_PLANT lf in the woods
        - [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 05:04:49 +00:00
Rob Pearce 970ab5300f - [+] l3 shape metal - fully repair any one metal armour
- [+] 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
2012-08-02 13:16:24 +00:00
Rob Pearce 8e3c457c01 - [+] if can WILL _and_ CAST a spell, use power level from whichever is
highest
- [+] exorcise spell - l2 summoning
    - [+] +10% chance per skill level, -5% per monster TR, +5% per
          spell power
    - [+] implement
- [+] paladins get exorcise  at l5
- [+] new purity god pray effect: 100% success exorcisms.
- [+] new perks for lore:demonology 
    - [+] nov: exorcise demons (power 1)
    - [+] skilled: summon demon
- [+]  midnight -portals open.  moongate? lunar portal? lunar gate?
      moon door?
    - [+] portals with no F_MAPLINK will create a random destinatino in
          the same map.
    - [+] makeobjecttemporary() function
    - [+] when it strikes midnight, a portal appears somewhere on the
          plaeyr's level
    - [+] the portal is temporary for 60 turns (ie. approx 1 hours)
          turns until end of midnight (calc this)
- [+] fixed crash on "w-"
- [+] during glorana's peace, striketoko is okay.
- [+] announce posion potion effects.
- [+] make dark maps just lower max vis range, isntead of not being lit
      ?
- [+] redo entire light calculation code.
    - [+] light effects:
        - [+] create "bright light" object in radius around target cell
              (it has f_produceslight)   
        - [+] at high level, light spell will increase ILLUMINATION
              level of the entire map.
    - [+] DARKNESS
        - [+] make a "magical darkness" object
        - [+] blocks view.
        - [+] at high level, light spell will increase ILLUMINATION
              level of the entire map.
    - [+] bright light objects burn/scare undead
    - [+] undead won't walk into cells with bright light power >= their
          TR
    - [+] monsters in cells with produces light which are vulnerable to
          light take damage
        - [+] cases to check for:
            - [+] vuln to light 
            - [+] migrains
        - [+] iscelllit() should return light level of cell (sum of
              f_produceslight)
    - [+] gaining/losing f_produceslight should setlosdirty
    - [+] makelit() just places light/darkness objects
    - [+] monsters in cells with produces light which have good eyes
          get blinded
        - [+] move blinding code out of spell.c and into turneffectslf
    - [+] placing light/darkness objects causes los recalc in any who
          can see them
        - [+] this shoudl happen automatically since they will have
              BLOCKSVIEW.
    - [+] islit():
        - [+] check for ot_darkness objects in the cell
        - [+] check for f_produceslight flags in the cell's lfs/objects
        - [+] return how MUCH the cell is lit
    - [+] f_produceslight flag now just lets you see further in the
          darkness
    - [+] still give light sources to monsters, but change the check to
          see whether we do this (check the map's illumnation level)
    - [+] get rid of calclight() code.
    - [+] then i can get rid of seeindark code in los checking ???
    - [+] get rid of eyesight adjustment code 
    - [+] remove enum LIGHTLEV
    - [+] CHANGE nightvisrange - it just countres the map's
          illumination level
    - [+] remove lf->eyeadjustment
    - [+] remove lf->losdark
    - [+] remove lf->nlosdark
    - [+] remove cell->lit and littime and otiglittimer and origlight
          and lastlit
        - [+] remove it
        - [+] don't save it
2012-08-02 04:08:27 +00:00