Commit Graph

42 Commits

Author SHA1 Message Date
Rob Pearce 134542ed8f Adding a bunch of files which say they're modified, possibly just because I'm on a new system. 2021-11-16 11:23:38 +11: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 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 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 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 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 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 e805e9dc01 - [+] don't trigger ANY god effects while raging.
- [+] when wishing for "power", don't give tech that you can't use.
- [+] INFINITE LOOP in timeeffectslf().
    - [+] happens when an lf is prone and falls down a hole.
- [+] pass search check on natural 20!
- [+] undead weapons are normally cursed
- [+] walking into a wall now takes time, but can detect secret doors
- [+] tiled floors also multiply the effects of slippery objects
- [+] wand of dispersal - getting "no lof"
- [+] make time debugging for all lfs be an option.
    - [+] when set, dump the following for each lf: 
        - [+] time (millisecnds) taken for their turn
        - [+] whether player can see them or not
        - [+] # screen redraws during their turn
- [+] skillchecks
    - [+] shield check.... 
        - [+] Human checkmod (type Shieldblock):
              19(attr)+1(lvm)+0(othmod),totroll=71--More--
        - [+] Human: Shieldblock check, rolled 71, need >= 95. (fail) 
              [you takes 1 dam]--More
- [+] wondering monsters - they turn up on levels when you go  back to
      them. (but never near the stairs)
    - [+] only if you haven't been there for a while (50 turns or so?)
    - [+] (depth*5)% chance for each room without stairs 
- [+] dark elf - Vell
    - [+] consumesouls
    - [+] +int
    - [+] novice necromancy 
    - [+] metal vuln
- [+] don't start player with obects which they are vulnerable to!!
- [+] matvuln should hurt you if you touch something made of it!
- [+] wands should be made of dragonwood, not metal
- [+] diferent kinds of matvuln -
    - [+] you get hurt more by it
    - [+] you can't even touch it
    - [+] use v2 to determine.
2012-07-30 02:35:02 +00:00
Rob Pearce c421529221 - [+] glorana doesn't like you attacking during Glorana's Peace
- [+] make more shops let you donate
    - [+] bookstore
    - [+] jewellery store
- [+] rename blood hawk to hunting hawk
- [+] offering a bribe to creatures should make them move likely to
      helkp you, AND reset the "auto don't help' flag
- [+] change "get lost " message to "get lost, <racename>" if your race
      is different.
    - [+] sayphrase() needs a new arg:  lifeform_t *talkingto
- [+] colours for spell effect.
    - [+] eg. "the flame dart hits xxx" should use CC_BAD
- [+] muddy room - mud should be immutable.
- [+] maybe change rage - you lose control totally and just attack
      anything in sight?
    - [+] do it.
    - [+] don't train when enraged
    - [+] don't hear sounds when enraged
    - [+] RAGE effects: strength bonus, accuracy bonus, infinite
          stamina, never flee, 
- [+] fix bug in skill point calculation
- [+] CRASH - someone got their turn BEFORE the player!
- [+] new poisontype field - contracttext
- [+] hecta's pray effect not working.
- [+] adjust food poisioning check difficulty based on food age
    - [+] check OBHP percentage of max.
    - [+] >= 80% obhp means -30% difficulty check
- [+] ring of unholiness should confer dtvuln holy.
- [+] fix colour on spellclouds
- [+] fix bug with spellclouds not affecting centre cell.
- [+] if you are frozen, heat does extra damage and cold does none.
- [+] when frozen, lessen chance of melting.
- [+] reduce bite damage of snakes
- [+] balaclava should protect from gas
- [+] make some floor types (like carpet) be multicoloured
    - [+] celltype->altcolour
    - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is
          true.
- [+] don't regain stamina while training
- [+] random text in shops - sayphrase needs to cope with lf == null
    - [+] done
- [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with
      staves!
- [+] BUG: in vault.vlt.
    - [+] "30% chance of door" really means "otherwise empty cell"
    - [+] need to be able to say "else put a wall here"
    - [+] so change:
        - [+] c:type:what[:pct]
    - [+] to this:
        - [+] c:type:what[:pct][:alttype:altwhat]
    - [+] vlegend_t needs
        - [+] enum VAULTTHING tt2
        - [+] char *what2
        - [+] they default to VT_NONE, NULL
- [+] secret doors should take their fake wall type from the vault spec
    - [+] vaults need f_celltypeempty/solid flags
    - [+] add via:  solid:xxx in vault def
- [+]  recycler
    - [+] donate anything
2012-07-15 05:01:58 +00:00
Rob Pearce af3116f6d4 - [+] press ] then \ - CRASH.
- [+] if sound is behind walls:
    - [+] you hear a muffled explosion
    - [+] int canhear() needs one more optional  argument: 
          &numwallspassed
        - [+] if supplied, fill it in.
    - [+] in noise(), check numwallspassed. if there were any, then say
          'muffled'. or maybe if more than 2? play around with this.
- [+] listen skill should also give more info about NON monster sounds
    - [+] ie. direction, distance.
- [+] set user->changinglev when CHECKING stairs in the same way as
      when we use them.
- [+] monk abil - iron fist - use all remaining stamina as damage +
      knockback
* [+] HITCONFER - this should only work if you were attacked through a
      BITE or CLAW etc.
- [+] bug... werewolves etc not attacking properly after shapehifting
- [+] some tech/tools should be usable with hands (ie. watch).
      f_operwithouthands
- [+] werewolves sohuld keep f_hitconfer after shapeshifting
    - [+] done
- [+] summoned creatures from ai should never attack their masters!!!
- [+] only the PLAYER can be infected by a werewolf?  or only HUMANS ?
- [+] when a werewolf changes to animal form, no longer hide true race
      as 'human'
- [+] lycanthropy?
    - [+] how to get it:
        - [+] drink were-xxx blood (->potion of lycanthropy, never
              appears randomly)
        - [+] bitten by a lycanthrope (chance) with hitconfer  and fail
              a con check
    - [+] change f_lycanthrope so text = racename.
    - [+] effects when you get it:
        - [+] right away, add diseased with lycanthropy. incubatino
              infinite ?
        - [+] if you are incubating lycanthropy, you always change at
              the full moon (and get rage, and lose control).
            - [+] at this point, complete the incubation and...
            - [+] add f_hatesall
            - [+] lose control for a while
        - [+] after you change back the first time,  you can change at
              will. (but there is a risk each time of losing control)
            - [+] player regains control
            - [+] remove aicontrolled, hatesall, rage
            - [+] actually add f_lycanthrope, text=xxx, v0=4
        - [+] when f_lycanthrope  v0 drops to 0 or less...
            - [+] canwill shapeshift  with race:xxx
    - [+] how to remove it
        - [+] remove curse scroll 
        - [+] drink holy water
        - [+] these will:
            - [+] cure any incubating curse
            - [+] cure any f_poisoned curse
            - [+] cure lycanthropy, and any flags FROMLYCANTHROPY
    - [+] other effect
        - [+] wont/cant walk into holy circle?
        - [+] holy circle hurts you
- [+] shouldn't be able to get critical hits on you (ie. injuries) if
      you ahve heavenly armour
- [+] bug in f_poisoned text. i think i've fixed this now.
          Died on level 2 of the dungeon.
          Killed by venom poisoning
          from 5-10
- [+] donated objects count towards xp!
    - [+] -50% of value if not known.
    - [+] -25% of value if not id'd
    - [+] donating objects will anger felix
2012-07-11 04:10:21 +00:00
Rob Pearce 984999d912 - [+] change real_getlfname():
- [+] take lifeform_t * for usevis instead of boolean
    - [+] add new option "useorigrace" for shapechangers
- [+] whips
    - [+] F_WHIP
    - [+] new skill: sk_whips
    - [+] basic trais:
        - [+] high accuracy
        - [+] lowish dam
        - [+] pierce/slash/bash damage
        - [+] some will let you cast 'snatch' and suck
        - [+] no crit chance
    - [+] examples:
        - [+] bull whip (lowest damage)
        - [+] flail (ie. chain whip ,change type from club to whip)
        - [+] heavy flail
        - [+] metal-tipped whip (flail with higher acc)
        - [+] barbed whip (causes piercing damage as well)
        - [+] io.c @@ should take extradam into account
        - [+] describbeob() should show F_EXTRADAM 
- [+] change morale values - this shoudl default to your TR, otherwise
      f_morale replaces it.
- [+] CRASH in doknowledgelist()
- [+] hecta bug: fixed!
    - [+] You bisect the kobold!  The dying kobold shouts "Nooooo!".
          Hecta's voice grates against your mind:
          "You allowed my sacrifice to escape!"
        - [+] is this because i'm calling "flee" after the lf takes
              fatal damage but before die() is called?
            - [+] NO, because flee() checks isdead(lf)
        - [+] it's happening when i kill a monster, and another one of
              the same type sees me!
        - [+] change:  only trigger this is the player has previously
              attacked the monster
- [+] replace fire titan with balrog
- [+] You bisect the giant gnat!  The dying giant gnat shouts "Nooooo!".
    - [+] fixed.
- [+] boggart -brown 'n'
    - [+] made of wood
    - [+] cause things to disappear
    - [+] cause milk to sour (low power blight)
    - [+] scared of salt
    - [+] demandgold 
- [+] briar thrash (spiky) - yellow 'T' (grab)
- [+] bingebark - red 'T'. wants edible, canwill snatch
- [+] leshy (human with leaves) - green 'h'
- [+] manticore - red 'm''
    - [+] lion, bat lings, man head, tail tipped with iron spikes
    - [+] carnivore
    - [+] human sized
    - [+] shoots 1-6 spikes. each spike does 1d6. too much!!
        - [+] change this to be 5d3 damage per volley.
            - [+] ie missiledam 4d3
        - [+] can do this once every 50 turns.
    - [+] can fly
    - [+] claws - 1d3 1d3
    - [+] want gold (non covet)
2012-03-28 20:17:47 +00:00
Rob Pearce 95e470238e - [+] fire skeleton shouldn't be immune to cold
- [+] if monster dodges your first atatack, cancel the second!
- [+] make god anger/happiness fade over time, unless they are enraged
      (1 per turn ?)
    - [+] chance of fading is 1 in (abs(piety)/100)
- [+] don't include " [tried] when dumping bones!
- [+] "repair all"!
    - [+] implement repairall
    - [+] make repairall like eating (auto action)
- [+] time taken when you fall down should be longer
- [+] F_STAYINROOM monsters will go back to their lair if they ahve no
      target.
- [+] more object decay in bones files:
    - [+] blood splashes/pools become blood stines
    - [+] all objects have a 1/4 chance of vanishing (someone picked
          them up)
- [+] resting should only please glorana if your'e actually worshipping
      her!
- [+] exploit: stand outside jimbo's room and pelt him! fixed.
- [+] random "behaviours" for more/less hp
- [+] around dlev 8-9, monsters are too easy.  at this point i'm
      dealing 10-20 damage per hit.
    - [+] give monsters a "Challenge Rating" seperate to their hitdice.
    - [+] instead of gethitdice(), use getcr()
    - [+] change dumpmonsters
    - [+] use cr() to determine what monsters will appear, not hit dice.
    - [+] that way i can have certain mosnters have more hp, but still
          appear higher in the dungeon
    - [+] initially, assign CRs based on hit dice
    - [+] when rolling hitdice for monsters, always give maximum, then
          go up/down by 15%
- [+] monsters shoiuld always know spells from their spellbooks.
2012-03-06 10:47:26 +00:00
Rob Pearce 8186db9f5a - [+] chance to resist knockback?
- [+] "%s staggers backwards, but stands its ground."
    - [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
    - [+] demonologist - can summon demons
    - [+] shaman - summon animals
    - [+] bezerker - can use rage
    - [+] necromancer 
    - [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
    - [+] Novice Listen, Novice CLimbing
    - [+] Also combine abilities, ie:
        - [+] Ability: jump
        - [+] Ability: xxx
        - [+] becomes:
        - [+] Abilities: jump, xxx
- [+] more psionic spells!
    - [+] psionic blast ? daels direct damage to intelligent creatures
          ( 1 to iq/10 )
    - [+] anticipate action: next xxx attacks from target lf against lf
          always miss
        - [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors?  how to stop it spreading
      to the whole dungeon ?
    - [+] implement
    - [+] test
- [+] new poison type:
    - [+] migraine. sound causes pain (1 per volume?). light spells
          cause pain too.
        - [+] can get this from food too. (instead of gastro ?)
        - [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
    - [+] in describerace(), make title be:
        - [+] Race::glowbug (beginner level knowledge)
    - [+] LORE LEVELS:
        - [+] NOVICE: common knowledge
            - [+] breaths water 
        - [+] BEGINNER: only known if you've studied it a bit
            - [+] nocturnal, damage resistances/vulns
            - [+] silentmove
            - [+] stability
        - [+] ADEPT:
            - [+] only know it if you've studied it a LOT
                - [+] wantsobs
                - [+] spells
                - [+] morale
                - [+] eating habits
        - [+] when attacking something which is immune to your weapon, 
              warn you.
            - [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy 
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
    - [+] had f_nospells AND f_canwill flight
    - [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
    - [+] "your pair of sunglasses protects you"
    - [+] but the spellcast is never announced!
    - [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
      ability 'Nullify' (job perk)."
    - [+] i should be getting You have gained the ability 'Nullify VII'
          (job perk).
    - [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
      you to cast"
    - [+] because levabil isn't keeping pw:xxx text
    - [+] BUG in LEVABIL.
2012-02-28 11:02:02 +00:00
Rob Pearce ee42bdc73f - [+] rename dragon to wyrm
- [+] cooked food shouldn't "completely rot away"
- [+] fire l6: meteor - large version of fireball
- [+] burning feet
- [+] evaporate should be a fire spell too.
- [+] more gods should remove curse for you.
- [+] eyebats shouldn't sleep
- [+] make hecta's prayers even more powerful.
- [+] fix bug in bjorn's truestrike effect
- [+] bjorn should un-dull weapons
- [+] fix buggy supply closet definitions - was getting 1-5 of same
      object rather than 1-5 different ones
- [+] restrict potion of growth to lower levels.
- [+] change method of determining how much you can carry.
- [+] change initial modification spell to 'enlarge object'
- [+] enlarge object
    - [+] door -> seals with surroundings
    - [+] rock -> boulder
    - [+] sword -> greatsword
    - [+] buckler -> next size shield
    - [+] bag -> next size bag
    - [+] or should this be a different spell?
- [+] immolate
    - [+] if a successful unarmed attack, lf catches on fire.
- [+] wizard isn't weilding staff. are fists better?
- [+] freezing touch shouldn't work on dragonwood
- [+] fix bug preventing vision when meditating
- [+] auto shortcuts
    - [+] wizards: pri/sec spells are 1/2
    - [+] cook:  lowest shortcut left.
- [+] statbar not being updated when i drink potion of magic.
- [+] warn that flying will stop mapping.
- [+] bjorn gifts should only be ones which you are skilled in!
    - [+] add 'appropriate'
    - [+] then apply to god.c
- [+] warn if you pick up poison stuff and you god doesn't like it
    - [+] "I hope you're not planning on using that/those...."
- [+] superheat - throw potion like a grenade
2012-01-29 22:47:43 +00:00
Rob Pearce adb066d31a - [+] prevent ALL overlapping rooms!
- [+] stop running for any non-cosmetic object.
- [ ] echoing?
- [+] OPTIONS 
    - [+] option_t
        - [+] id
        - [+] letter
        - [+] text
        - [+] int enabled
        - [+] int default
        - [+] next/prev
    - [+] addoption()
    - [+] getoption()
    - [+] dooptions()
        - [+] list them all (with 'more' for multipages)
        - [+] pressing a letter toggles it.
    - [+] "display trails"
- [+] make scents be "cosmetic"!
- [+] increaes skeleton's vulnerability to falling
- [+] missing announcement for bleed()
- [+] let rapid ivy cast entangle
- [+] caves
    - [+] new regiontype
    - [+] new link
    - [+] new habitat
    - [+] objectlass rarities
    - [+] assign obs/mons to habitat
    - [+] code to dig caves
    - [+] stairs linking to cave region
- [+] when learning random skills:
    - [+] prefer lower-level skills
    - [+] onyl learn up to adept level 
- [+] animate dead crashes if there is no space to place the lifeform!
- [+] increase range of charge ability
- [+] when you gain techusage, check held objects for conferred flags.
- [+] bug: motion scanner working even though i have no tech usage!
- [+] warn player before climbing without climb skill (if wisdom is >=
      average)
- [+] regions should have depthmod.
- [+] regionthings should be based on DEPTH, not difficulty!
- [+] rename firstdungeon to maindungeon
- [+] announcearrival broken -always saying 'new area'
- [+] don't use ranged attacks when feigning death if target is adjacent
- [+] don't say 'argh' if you were beheaded.
- [+] The bear cub bites a wooden door with a teeth.--More--
- [+] random levelup skills - only select from skills which we have
      used?
    - [+] need to chance f_hasskill to use f->val[2] = used_this_level
    - [+] when you gain a skill, set f>val[2] = b_false or NA
    - [+] add setskillused for all skills!
    - [+] make random levleup only pick from used skills.
    - [+] TEST
- [+] knowledge skills - practice them when you see a new lf of this
      type.
- [+] slithering shoudl hardly ever awaken you - make listen check
      harder.
- [+] don't put fireplaces in corridors.  F_ONLYINROOM ?
- [+] bug: acid trails from slug disappearing or never appearing?
- [+] snails/slugs
    - [+] killed by salt
    - [+] vslow
    - [+] snails have vhigh armourrating
    - [+] slugs have lots of hp and do more damage
    - [+] brown/grey  'j' ?
    - [+] leave slime/acid trails?
2012-01-03 01:21:22 +00:00
Rob Pearce 089ce94751 * [+] let credit cards be used at some shops?
* [+] bug with adding obejcts to shops
- [+] issue with objects dying and killing their flagpiles
    - [+] A medium fire dies down a little.  A medium fire is no longer
          glowing.
    - [+] shouldn't say "is no longer glowing" when we're changing the
          type... ?
    - [+] put a breakpoint on "is no longer glowing"
* [+] let you bless objects using a holy circle somehow (but it might
      make the circle disappear?).
- [+] darness bug - need to recalc light for anyone who sees a cell's
      lightlevel change.
- [+] call more() after showing vaultentertext()
- [+] remove "inspected" when you ident or makeknown an object.
- [+] BUG - no objects in inventory!!!!
    - [+] listobs failing? mylist[0] = null.
MEMLEAK
- [+] finish implementing CLEANUP()
- [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing
      STACKABLE flag from cactus fruit???
    - [+] better now?
- [+] now a crash freeing hiddennames!
- [+] forgot to free obmods
- [+] leaking approx. 1 meg per turn!
- [+] where am i leaking?! maybe try valgrind or findleak.c
- [+] findleak.c now finds nothing.
- [+] but i am sitll leaking?????
- [+] related to lifeform count.  killing all but player dramatically
      slows it.
- [+] check calclos()... looks okay.
- [+] setcellknown() ?no.
- [+] startlfturn?? no.
- [+] remove unused "lf->viscell"
- [+] when there are 2 things in a cell, say "you see x and x here."
- [+] restore original stast when polymorphing back to original form!!!
- [+] when making shops, pick new ones more often.
- [+] change to maps: don't let vaults overlap.
- [+] HARDCODE object values
    - [+] potions
    - [+] tech
    - [+] tools
    - [+] rings
- [+] increase evasion skill effects
- [+] changes to  animradial... and animradialorth
    - [+] combine into one function
    - [+] move msg into here
    - [+] refs to spellcloud()
    - [+] refs to animradial()
- [+] fire should spread onto flammable lifeforms
- [+] bug: attack flurry doesn't work for monk
- [+] let monsters climb even when not facing a wall?
    - [+] set their facing first.
- [+] CRASH when you die while climbing (or on a solid cell)
- [+] rings
    - [+] stench
    - [+] breath water
    - [+] detect life
    - [+] deceleration
    - [+] meditation
    - [+] reflection
    - [+] boost magic power
    - [+] education - gain xpskills more quickly
    - [+] crit protection
    - [+] greed - detect obs
- [+] ivy - grows!
- [+] ragefungus - bezerk spores
- [+] nutter - drops peanuts
- [+] dish which slightly increases maxhp (beginner level)
    - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 02:55:14 +00:00
Rob Pearce d5b1e40f98 - [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
    - [+] money vault hsould be vrare
    - [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
      for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you:  "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS. 
      generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
    - [+] wait first, then if not interrupted, do the dig.
    - [+] add cell->hp, celltype->hp. around 100.
    - [+] f_digging, x, y, digperturn
    - [+] interrupt() will stop this.
    - [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
    - [+] at adept, takes no extra time?
- [+] better racial display
    - [+] ? for extra info.
        - [+] hitdice
        - [+] general attribs (str etc)
        - [+] don't show description until you press '?'
        - [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
              index issues
        - [+] remove VULNS from "effects" unless temporary
            - [+] isresistantto() etc need to have "int onlytemp"
        - [+] remove VULNS from manual BONTEXT flags
        - [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
    - [+] what to show
        - [+] show races you have encountered
        - [+] show races you know about through Lore (adept level)
        - [+] show playable races?????
    - [+] structs
        - [+] race->encountered
        - [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
      from race?
- [+] automate bondesc/pendesc based on flags!
    - [+] vulnarabilities / resist / immun
    - [+] vision range!! (visrangemod)
    - [+] size? restricted armour.
    - [+] stayinroom
    - [+] f_humanoid (can use weapons)
    - [+] tamable
    - [+] seeindark
    - [+] caneatraw
    - [+] enhancesmell
    - [+] caneatraw
    - [+] vegeatrian
    - [+] cernivore
    - [+] fastmetab
    - [+] startskill
    - [+] tremorsense
    - [+] silentmove
    - [+] deaf
    - [+] flying / levitating
    - [+] awareness
    - [+] nocturnal / diurnal
    - [+] heavyblow
    - [+] packattack
    - [+] dodges
    - [+] autocreateob
    - [+] MPMOD
    - [+] HPMOD
    - [+] MEDITATES
    - [+] PHOOTMEM
    - [+] canwill "Spells: xx, x, x, x"
- [+] spells:
    - [+] animate stone - "power" walls turn into stone golems
        - [+] implement spell
        - [+] golem
            - [+] r_golemstone
            - [+] knockback attack
            - [+] high str
            - [+] fists 
            - [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
      I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-03 22:33:37 +00:00
Rob Pearce 6c26901e75 - [+] monster: triclops. perception. vuln to light.
- [+] flying creatures shoudl fall to the ground when unconscious
    - [+] (this might kill them)

- [+] animate statue - bring statue to life
- [+] excavate - radial, obliterate walls + obs, doesn't affect lfs
- [+] test unicode wall glyph! 0x2588
- [+] use unicode for gas
    - [+] change f_glyph so that v1 = symbol, instead of text = symbol
        - [+] change code
        - [+] change definitions (macro)
    - [+] test
    - [+] implement puff  = UNI_SHADELIGHT
    - [+] implement cloud = bolded
    - [+] if good, extend to staem etc
- [+] blue background for lfs in the water
- [+] prone in water means effective lower height
- [+] glass/ice cells not shattering properly
- [+] make magic barriers be solid too
- [+] combine lockpick code in io.c and objects.c into the lockpick()
      function.
    - [+] first ask what to use (if required)
    - [+] then ask what dir (if required)
    - [+] then ask what to unlock (if reuiqred)
    - [+] then do it
- [+] locked containers
    - [+] picklocks prompts to try them.
    - [+] in addob, use non-inheritable f_lockedchance for both doors
          and chests?
        - [+] v0 = chance v1 = mod per depth
        - [+] doors:
            - [+] base 20% chance locked
            - [+] every 5 levels, add 10% chance
    - [+] add this to chests / safeboxes
    - [+] operate doesn't let you open them
- [+] bugs in linkexits and linkexit
    - [+] linkexits: wasn't checking the correct exit cell!!!
    - [+] lnkexit: wasn't blanking the startcell
GRATINGS:
- [+] flags:
    - [+]         addflag(lastot->flags, F_OPPOSITESTAIRS,
          OT_HOLEINROOF, NA, NA, NULL);
    - [+] climbable d_down NA
- [+] BUT you can't climb it if it's locked.
- [+] usestairs() - if you climb a grating and it has no maplink:
    - [+] use createregionlink(map, cell, grating_object, NULL,
          RG_SEWER, map->region)
- [+] make stench affect enhancedsmell creatures more.
- [+] excavate should only affect SOLID matter.
- [+] going down a drain:
    - [+] "You walk down a staircase" should be "climb down a drain"
- [+] deep slime in sewers sohuldn't spread
- [+] deep slime should spread to a slime puddle if it does....
- [+] fix background glyph colour for slime
- [+] killed by drowning should really be "drowned in %s"
SEWER HABITAT
- [+] permenant stench
    - [+] if you're in a sewer cell and are not nauseated, add it.
    - [+] nauseated doesn't expire in sewers.
- [+] add RG_SEWER
- [+] new regiontype - RG_SEWER
- [+] map:
    - [+] pick size 2 - 5
    - [+] start at x=2,y=2
    - [+] add square 3x3 rooms in gridlike layout (but need space for 5)
    - [+] connect rooms to orthogonally adjacent ones with passages
        - [+] use addexits().  no exits on outer walls.
    - [+] fill all empty cells with low floor and water (but NOt the
          one with the exit!)
    - [+] any solid with orthogonally adjacent water changes to a
          walkway
    - [+] cope with different x/y room counts
    - [+] cope with differnet vert/horz corridor sizes.
        - [+] horz = 2
        - [+] vert = 1
    - [+] random room size
- [+] allow objectclasses to have f_rarity
    - [+] modify getrandomobcalss
    - [+] but DONT make objects inherit it!!!
    - [+] this is used to override selection hased on habitat - modify
          getrandomobcalss appropriately
- [+] random objects/treasure:
    - [+] add these only in non-water cells??
        - [+] move all obs from water clls to random land cells
    - [+] frequent
        - [+] vomit
        - [+] soggy paper
        - [+] rotted food (add f_tainted to it)
    - [+] common
        - [+] wep/arm
        - [+] all wep/arm are shoddy in sewers
    - [+] uncommon
        - [+] rings (higher than normal chance - they were lost down
              sinks)
        - [+] occasional tech
- [+] bug: playerstart3 vault filled with walls when made randomly!
- [+] death speech text for intelligent monsters
    - [+] 'aaargh!'
    - [+] 'this isn't over!'
- [+] BUG: linkexits() - gettings exits in the wrong place.  maybe not
      taking rotation into account???
    - [+] for example in playerstart_5 vault, found an 'exit' at the x:
    - [+] this comes from the map flag f_roomexit, x, y
    - [+] the flag may have bene added from autodoors()
    - [+] have changed code so that f_roomexti uses text field to say
          who added it
2011-11-29 02:25:04 +00:00
Rob Pearce 8514f948f1 - [+] tail sometimes lets you sense things behind you???
- [+] "your tail brushes up against xxx"
- [+] cats should be able to eat raw meat.
- [+] don't include f_nopickup objects when you use ','
- [+] bed - can use this as restob, equivilant of tent
- [+] "a goblin corpse stands up" - this shoudl trigger a redraw.
- [+] warn when attacking with LevUp that you won't get any xp.
- [+] whenever you train, remove knowledge of the "really atatck and
      get no xp" warning.
2011-11-23 08:20:42 +00:00
Rob Pearce c20802fc6e - [+] change how critical hits work
- [+] must score a hit first THEN pass a critical hit % check.
- [+] when asking for an object form the player's pack, default to NOT
      showing long format
- [+] in askobject, pass in actionchar. remember choice for each
      actionchar. and use it as a default.
- [+] warning system
    - [+] warnabout(char *warntext)
        - [+] if already confirmed it, keep going
        - [+] otherwise ask to confirm
        - [+] confirmations time out after some time...
    - [+] replace injury warnings
- [+] reduce spell range
- [+] big bug - way too many critical hits!
- [+] askcoods: accept 'enter' to select a cell
- [+] armour should never reduce damage under 1
- [+] for playable races, show bonus/penalties when selecting them.
- [+] add f_hatesracewithflag with ashkari
- [+] mammoan - no athletics!
- [+] bug writing hiscores - need to escape 's.
- [+] add v2 to F_ATTREQ - scaling.
    - [+] will scale up to 3 above/below
    - [+] v2 = 1 means "+/- v2 per point above/below"
    - [+] more than 3 below means you can't use it. modify "meetsattreq"
    - [+] more than 3 above gives no extra bonus.
    - [+] this is MANDATORY. add to checks.
    - [+] add messages if your skill it slightly too low
    - [+] STR scales damage, AGI scales tohit and crit chance
        - [+] make sure showlfstats takes this into account
        - [+] make sure rolltohit / getdamrange takes this into account
    - [+] what do I do with attreq IQ??? mus tmeet it.
    - [+] missile weapons: no scaling, must meet reqs
    - [+] reduce regular strength dam mod 
    - [+] you only get attr bonuses if you are skilled with the weapon.
- [+] crash: getrandomrace(NULL, NA) returning null!
- [+] don't give away invisible creature locations in askcoords
    - [+] does fireat automatically re-calc lof based on obstacles?
    - [+] if so then change haslof in askcoords to be hasKNOWNlof!
- [+] catlike race - ashkari
    - [+] bonus
        - [+] has climbing, listen
        - [+] jump ability
        - [+] agi+
        - [+] unarmed attack is claws
        - [+] balance (stability?)
        - [+] eyesight, darkvision
        - [+] enhancesmell (only low)
    - [+] pens:
        - [+] hunger faster
        - [+] carnivore
        - [+] low-- wis (ie vuln to magic)
        - [+] vuln to magic
        - [+] vuln to water
        - [+] vuln to sound
        - [+] low str
        - [+] auto rage on dog/wolf/mouse/bird/chicken
- [+] races CANT ahve certain flags
    - [+] apply this during giveskill()
2011-11-21 21:26:33 +00:00
Rob Pearce dd03042c70 - [+] prevent 'A' (forceattack) behind you
- [+] replace:
    - [+] Something critically savages your body.  
          Your uncursed suit of ring mail protects you.
          Your suit of ring mail is damaged!
    - [+] with:
        - [+] Something critically savages your suit of ring mail.
        - [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
    - [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
    - [+] getbestwepon - accuracy was counting for too much. have
          changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
    - [+] bonus
        - [+] Leather skin
        - [+] str++
        - [+] photo mem
        - [+] high listen skill
        - [+] good smell
    - [+] penalty
        - [+] slow movement
        - [+] no armour on ears
        - [+] agi-
        - [+] low eyesight
        - [+] vuln to sonic
        - [+] vegetarian
    - [+] other
        - [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
      gain a 1st level spell too.
- [+] for random roast meat, always use base race 
    - [+] ie. orc, not "elite orc"
    - [+]  (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
    - [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
    - [+] ie. elf can have sk_ranged, so can hunter.  these will now
          stack.
- [+] chance for ai to use a firearm is lowered based on firearm
      accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
    - [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
    - [+] adp
        - [+] fast reloading
    - [+] exp
        - [+] fire through lifeforms!  lof_wallstop instead of lof_need
    - [+] mas
        - [+] extra dam.
- [+] object HP issue:
    - [+]          head: b - an uncursed helmet [AR:3] [110%]
    - [+]          body: c - an uncursed suit of ring mail [AR:6] [173%]
    - [+]        hands: d - an uncursed battered pair of gauntlets
          [AR:2] [86%]
    - [+] are objects taking negative damage??
    - [+] have put an assertion in to check
    - [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
    - [+] code it
    - [+] test for throw
    - [+] add for telekeniis too
    - [+] add for guns:
        - [+] "targetted:  something [x%]"
        - [+] "bow->Target->xxx [x%]"
    - [+] show gun target on botl
- [+] redo throw accuracy:
    - [+] 100 to hit yourself
    - [+] apply per-cell penalty based on:
        - [+] throwing / ranged skill (more)
        - [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
    - [+] fix wantrr bug
    - [+] test...
    - [+] new function: enum RARITY  pickrarity()
    - [+] check for all wantrr = xxx and use pickrarity instead.
    - [+] give classes a RR_RARITY
        - [+] common
            - [+] weapon / armour / money / missile
            - [+] furniture
            - [+] misc
            - [+] rock
        - [+] uncommon
            - [+] potion / scroll / food
        - [+] rare
            - [+] trap
            - [+] tech/tool
            - [+] dfeature (pentagram, vending machine, etc)
        - [+] vrare
            - [+] wand
            - [+] ring
            - [+] book
    * [+] rewrite wrappers
    * [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
      msg for this.
    - [+] Norman->Attack->A young hawk [flying, facing NE]
    - [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+]  you can now always 'see' your allies if you have LOH
    - [+] ie. scannedcell
    - [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
      monsters
    - [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
    - [+] easy:
        - [+] mushroom + water = mushroom soup = restore a little
              stamina
        - [+] tomato + water = tomato soup = restore a little stamina
        - [+] apple + stone = fruit juice (don't kill the stone) 
        - [+] cheese + bread = cheese sandwich = restore all food and
              stamina
        - [+] rum + chocolate  = rum ball = cure pain, restore some hp
    - [+] med:
        - [+] corpse + water + salt = jerky
        - [+] mushroom + water + beef = beef strogonoff = filling,
              temporary Fitness boost
        - [+] garlic + bread + clover = garlic bread = produce stench
              like a trogolodyte
        - [+] bread + meat + tomato = hot dog = temporary strength
        - [+] water + sugar + 2 berries = potion of red cordial = speed
              boost
    - [+] hard
        - [+] peanut + stone + salt + bread = peanut butter sandwich =
              super filling, restore all stamina, temp fitness boost
        - [+] rum + chocolate + sugar + berry = fruit cake = restores
              all stamina and hp and mp
- [+] implement recipe_t
    - [+] int ningerdients
    - [+] enum OBTYPE ingredient[MAXINGREDS]
    - [+] int count[MAXINGREDS]
    - [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
      high enough
- [+] cooking skill determines how many ingredients you can use
    - [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
    - [+] attr
        - [+] gtaverage agility
        - [+] low fitnesss
    - [+] objects:
        - [+] meat cleaver (slashing, low acc, high crit)
        - [+] apron (rubber, low protection)
        - [+] chef hat (cloth, low protection)
        - [+] butane torch (flambe on adjacent lifeform)
    - [+] abilities
        - [+] rage at lv3
    * [+] skills
- [+] chef job
    - [+] attr
        - [+] gtaverage agility
        - [+] low fitnesss
    - [+] objects:
        - [+] meat cleaver (slashing, low acc, high crit)
        - [+] apron (rubber, low protection)
        - [+] chef hat (cloth, low protection)
        - [+] butane torch (flambe on adjacent lifeform)
    - [+] abilities
        - [+] rage at lv3
    * [+] skills
2011-11-14 18:21:40 +00:00
Rob Pearce 7f809977ce - [+] chage skill descriptions to use Accuray Rating numbers, not
percentages
- [+] change hardness calculation
- [+] assertion roomidx failure
    - [+] map roomids are geetting screwed up.
    - [+] especially when i do RESTART MAP GENERATION.
    - [+] possible fix is in place...
- [+] maybe make all monsters always have close to max hp
* [+] change weapons to use 'damage rating'
- [+] when reading a spellbook, notify which spells are too hard. OR
      don't even list them?
- [+] print "it is too powerful for you to cast" in red
- [+] don't show "[magic]" on identified objects
- [+] why does agility of 12 give +3 accuracy??? should be lower
- [+] why do i suddenly show about rings???
    - [+] bug in giveobflag()
    - [+] fixed ???
- [+] why could i learn a level 4 fire spell (flame pillar) when my
      fire mgic skillw as only lv3 (adept) ???
    - [+] bug in getspellpower's enforecement of max spell levels
- [+] higher level spells should cost more to cast.
    - [+] l1 = 1
    - [+] l2 = 2
    - [+] l3 = 4
    - [+] l4 = 8
    - [+] l5 = 16
    - [+] l6 = 32
- [+] lurking horror missing a weapon
- [+] in makedesc_spell, put mp cost in red if you can't cast it
2011-10-24 16:46:19 +00:00
Rob Pearce 4eeb8cfe43 - [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
    - [+] rename magic skillls to sorcery:fire etc?
    - [+] adjust spell power calculation to take lack of sorcery skill
          int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
    - [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
    - [+] toadstool - poisonous
    - [+] shiitake - normal
    - [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
      becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat!  You flatten the xat!
    - [+] "the helpless the xat"
    - [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat!  You kill the xat!
    - [+] ...but  it wasn't dead!
- [+] flame pillar scroll no longer works
    - [+] not asking for target.
    - [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working?  check with elf wizard.......
    - [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
    - [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
    - [+] might be able to jsut make failing a dooropen count as a move
          failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
      to have a msg telling me this.
- [+] race descriptions. 
    - [+] add the descriptions
    - [+] ? in @@ shows info on them.
    - [+] (add ?=help in the bottom when in @ mode regardless of
          showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
      parameter
- [+] at adept lore, you get threat comparison.  at skilled level you
      get exact hit turns.
- [+]  make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
      only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
    - [+] torso bruised (acc penalty)
    - [+] torso bruised badly (higher acc penalty, low dam penalty)
    - [+] ribs broken (huge acc penalty, med dam penalty)
    - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
          turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
      confirm_injiury_action ???
- [+] extra warrior skill:  aimed strike
    - [+] -50%acc
    - [+] auto crit on the part you select (if you hit)
2011-10-12 21:15:48 +00:00
Rob Pearce 5cb8b05817 - [+] BUG: arrows shouldn't be able to trigger arrow traps!!!
- [+] king piranhas shouldn't leap out of the water!
- [+] don't catch thrown missiles if it will burden us
- [+] in @@, show "accuracy" as a seperate line, not with your weapon.
- [+] higher chance of learning psionics on level up.
- [+] fix up monster hp - too easy to kill most things in one hit with
      dam = 4-12, 2 attacks (ie. l6 monk)
    - [+] dump out all mosnters sorted by hit dice (show avg hp)
    - [+] fix them up
- [+] vault->entertext - ie "you enter a dining room"
- [+] make random monster generation go by hitdice AND rarity rr_. 
      IGNORE rarity value.
    - [+] start with hd = level.  sometimes incrase
    - [+] remove all rarity values from monsters
- [+] disorient might need to be higher level than stun
- [+] make psionic spell mp cost be level, rather than level^2?
- [+] ai bug:
    - [+] .oO { looking for a target . }
          .oO { found an enemy target - lfid 256 (human) ! }
          .oO { default - moving randomly }
- [+] reduce cost for higher levle spells agian.
- [+] prevent player from eating an ice sheid!
- [+] bug when eating from the floor with multiple food items there
- [+] assassin's blink spell - teleport behind and facing someone.
      medium level translocation.
- [+] make "chunk of roast meat" be "chunk of roast goblin meat"
    - [+] and base nutrition on corpse type
- [+] highlevel sixth sense should let you turn to face it
* [+] add prompt text to msg hist:
- [+] sixth sense should only pick up hostile monsters
- [+] need a good reason that wizards can't wear armour.
    - [+] if isplayer(), failure chance depends on any arm/shield
          penalties
- [+] show f_impassable in describeob()
- [+] no walking backwards/sideways if you're stuck in a web/vine. can
      only turn.
- [+] objects for protection:
    - [+] eyeglasses (+vision)
    - [+] safety goggles
- [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)',
      depth 1), but it has no free stairs.
    - [+] when we restart map regeneration, must first REMOVE
          referenecs to this map!!!
    - [+] implemented.
- [+] fixed bug with sleep interruption
- [+] You attack the helpless the dwarf monk!  You flatten the dwarf
      monk!
      The dwarf monk loses consciousness.   damage's robe protects it.
- [+] add stamina cost to other abilities
- [+] add descriptions to lore skills
- [+] make athletics skill give you more stamina?
* [+] monstesr stopping fleeing when they can't see player
2011-09-27 18:56:58 +00:00
Rob Pearce b200e3acf7 - [+] move all definitions into data.c
- [+] initcommands
    - [+] initobjects
    - [+] initskills
    - [+] initjobs
    - [+] initrace
    - [+] (but leave init() itself in nexus.c)
2011-09-15 01:58:16 +00:00
Rob Pearce ec5942d31f - [+] idea: only see forwards? (ie. in last dir moved)
- [+] add player->facing
    - [+] this gets set to the last move direction
    - [+] you can only see in an arc in front of you
    - [+] going backwards just changes facing (and takes less time)
    - [+] shift+samedir = run
    - [+] shift + otherdir = walk without turning / strafe
    - [+] when ai is moving towards a seen target,  always strafe
    - [+] when fleeing, you can turn your back.
    - [+] make strafing backwards/sideays take longer
    - [+] enhanced-smell means you can see all LIFEFORMS or _smell
          obects_ in all directions 
        - [+] ie. look in all dirs, but in precalclos(), can only see
              RD_BACKWARDS/SIDEWAYS cells if they have lfs
        - [+] define "smelly" objects - non-undead lifeforms, food,
              ot_scent.  f_smellable
    - [+] make eyedestroyed half your FOV (lose the right side)
    - [+] change pirate to start with permenant IJ_EYEDESTROYED
- [+] mosnters should always turn to face sounds
- [+] shields should give no AR, but have a chance of blocking all
      damage based on shield skill
- [+] healing potions should fix nonpermenant injuries (check for this
      after checking for missing bodyparts)
- [+] shouldn't remember map cells anything when bezerk
- [+] show skillxp until next skill in @@
- [+] only allow 'c' to close doors which you can see.
- [+] bug in precalclos when going off map.
- [+] even with 0 cartography, remember cells. but then forget once
      they're >4 cells away.
- [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next)
    - [+] add asserts
    - [+] calcxp is sometimes returning -xxxxxxx.  turned on debugging.
    - [+] wait for it to happen again
- [+] bug: player can see own cell when maxvisrange = 0(resting)
- [+] mods for perception skill:
    - [+] adept pereption:  FOV widened
    - [+] expert perception:  leave no footprints (rather than
          partically obscure)
    - [+] master perception:  see in nearly all dirs
2011-09-11 23:52:14 +00:00
Rob Pearce 52f6fd21c3 - [+] bug: when running, i jumped into deep water!
- [+] instead of evasion skill giving a fixed boost, make it change the
      evasion bonus due to xp level.
* [+] give monsters free moves when you go back onto a level, BEFORE
      placing the player.
- [+] fix dungeon code to eliminate nonlinked rooms
    - [+] force all vaults to be at least 3 squares away from map edges
    * [+] implement flood-fill test.
2011-08-24 23:48:29 +00:00
Rob Pearce 9a3c2c69ba - [+] Redo precalclos() code!
- [+] more haslos() improvements
* [+] fix god pleaseing when fleefrom expires
* [+] bug with pet running away
- [+] instead of "You hit xxx but do no damage", say "You hit xx
      ineffectually."
- [+] if you do  >half someone's AR, they always take at least 1 damage
- [+] initial objects aren't worth any points
2011-08-20 04:14:39 +00:00
Rob Pearce 7c86e87f4a * [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
      no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
      to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
      allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
      further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
      getspellschoolknown() should return the HIGHEST known skill, not
      the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
      there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
      through right away
* [+] all towns should have:
- [+] give monks more  psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
      skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
      shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance. 
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
      number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-13 21:40:28 +00:00
Rob Pearce 27d22df11d - [+] implement getradiuscells()
- [+] evaporate spell - turn water into steam
- [+] monster generation bug? even on dlev10 i'm stil getting mostly
      kobolds
- [+] ai infinint eloop again - frost hawk trying to open door
- [+] another infinite loop - not falling through after spell failure.
* [+] reduce attack delay for most weapons.
- [+] letplayer see a tiny bit in the dark (1 cell ?)
- [+] beginner tracking not working - fixed.
- [+] only show "...but do no damage" if you have good knowledge about
      their race.
- [+] make gold lighter
* [+] footprints glyph shouldn't override pudles of water!
- [+] only show eviscerate etc if you have good knowledge?
- [+] don't start monsters on the stairs/magical barriers!!!
- [+] stone should be immune to more damage types
* [+] addexits adding way too many exits.
- [+] blessed identify should ID everything
- [+] blessed mending mends all
- [+] don't make noise when slowmoving.
- [+] eyebat dispersal big: The eyebat's strong scent leading north
      disappears!
- [+] go over footprint+scent+corpse and pickup:"You can't pick up
      footprints!"
* [+] doors can't do on top of each other!!!
* [+] low ground
- [+] make sure you can't have more than one "water" object in a cell.
* [+] make val2 of rarity be "common/uncommon/rare" etc
- [+] more monster types should appear in the forest.
- [+] when i go down stairs into a dark area, "it is pitch black!" is
      being cleared.
* [+] helm of the poltergeist
- [+] flying creatures get penalties in webs etc 
- [+] blind things shoudln't follow up/donw stairs
- [+] You shout a blood-curdling war cry!  The sawgrass turns to flee
      from you!
- [+] potions still worth too much.  minor healing was 420!!
- [+] AI should only go towards covetted object if it's closer or the
      same distanec as target.
- [+] branded objects should be worth LOTS - at the moment they're
      worth 1!!
* [+] maybe just adjust value of rarity?
- [+] don't roll spot checks while training!
* [+] replace f_nofeel with:
- [+] revenge did too much damage (50)
* [+] change how AR works
- [+] need to add: "really walk into a falling rock trap" ?
- [+] put only ONE staircase going up on dlev 0
- [+] why am i stopping sprinting after 1 move?
* [+] somehow make sure mosnters can't see footprints in a cell with
      mist
- [+] bones shouldn't be able to catch on fire.
- [+] when you levle up, gainskill BEFORE getting new spells
- [+] put out flaming objects after pickup
* [+] don't say "really target yourself?" when using a potion of sleep!!
- [+] enhance a random skill when levelling up? every 2 levels?
- [+] weaken koboldsa little - less change of javelin
- [+] don't drown instantly - take a few turns, depending on CON
* [+] create vault spell for debugging ???
- [+] doors in the middle of rooms.
- [+] highlight selected choice in askstr
- [+] flooded_room being created without walls!!!!!!
- [+] describe spell from levleup not working
* [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!!
- [+] fire wizard not prompted to get firedart at l2..
Vaults
* [+] X corridor - 
- [+] crosshatch
- [+] should water be ~ instead ?? and change whatever is currently a
      tilde to something else...
Initial work on goal:
- [+] surround all stairs with barriers
- [+] start player NEAR stairs (randomadjcell from stairs, allowexpand)
+ methods of escape
- [+] knock scroll
- [+] digging (but it stops the dig from going any further)
2011-06-09 08:58:35 +00:00
Rob Pearce 69982623ed Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange.  for melee fighters (default), it's 0. for
      spells/archers, it's higiher.
    - [+] if we are further away than bestrange, move towards.
    - [+] if we are closer than bestrange, move away
    - [+] AND: move to wantrange before doing spells etc
    - [+] if we have a ranged attack and wantrange is default, increase
          it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
      acceptable!
* [+] mflag_push for monsters
          http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
          er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent

* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
      turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
    - [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
      15).
- [+] CRASH flagpile corrupt
    - [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
    - [+] ex: your tracks don't last as long
    - [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
    - [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
    - [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 02:12:00 +00:00
Rob Pearce 7099d01164 * [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
      the damge
- [+]  increase damage bonus with every lore level.  +10% each time
      (ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
    - [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake.  Your dart misses
      you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
      skeleton drops a blessed leather belt.The skeleton puts on a
      leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
      damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
      the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
      little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 07:34:07 +00:00
Rob Pearce 4f54fc0ef9 - [+] young hawk moving very slowly? was healing.
- [+] make monsters heal faster when resting
- [+] make pet rest when you do
- [+] allow 'R' to heal allies
    - [+] F_RESTUNTILALLIES
- [+] mindless/animal mosnters won't throw things
- [+] announceflag for attrset not working
* [+] feeblemind spell - reduces intelligence to ANIMAL.
- [+] ai: if we are carrying too much, drop something
      (non-weapons/armour first)
- [+] teleport spell should teleport any adjacent allies too.
* [+] new 'C'hat commands:
* [+] change 'resist elements' potion to 'rum'
* [+] notify when pet is low on hp
- [+] why could a pirate use a biuckler?
* [+] genericise usage of canhaveobmod!
- [+] armour mod: blooodstained.  adds scary.
- [+] CRASH when you have two weapons and catch a glowbug in your flask.
* [+] potion of restoration onto frozen axe:
- [+] slow spell repeated message: The brown snake looks sluggish.  The
      brown snake is now moving slower.
- [+] make you only hear one thing each turn ?
- [+] always draw impassable objects on top
- [+] special ash
    - [+] exploding powder - explode in radius 1 around player
          (including player)
    - [+] concealing powder - create smoke cloud radius 3 around player
- [+] redo levelup logic.
    - [+] trigger LevUp when you have 'newskillready'
        - [+] announce when you gain level.
    - [+] can't gain more experience when LevUp!
    - [+] only update maxhp/mp from new level after you train
- [+] diety can't use abilities. fixed.
* [+] when i exit from@S output, statbar isn't redrawn
* [+] make SKILLS page show which skills you can learn.
- [+] In @s, downline isn't showing the title on the second page of
      SKILLS...
- [+] show POWER in @M spells page
    - [+] ###---
- [+] show cost RANGE in @M for varpower ones
    - [+] need getspellcosttext(spellid, power, buf) function
    - [+] 25-62MP
- [+] leftover rubbish chars at end of ---- in doheading()
- [+] mosnters should follow you up/down stairs
* [+] different poison types
- [+] implement tremorsense (like darkvision butrun can't be blinded
      etc)
* [+] implement HIDE ability
* [+] Thief job
- [+] if you walk into a room and every cell is lit, reveal it all.
- [+] auto-learn jump ability with high athletics skill
* [+] secret doors
- [+] items to spot secret doors
    - [+] gem of seeing
        - [+] ENHANCESEARCH
        - [+] F_SEEINVIS
    - [+] spell:  "reveal hidden" 
        - [+] shows secret doors
        - [+] removes invisibility
    - [+] wand of detect hidden
        - [+] ... casts the spell
2011-04-13 23:44:29 +00:00
Rob Pearce 7e8aecf958 - [+] bug: "10 flaming arrows ##########\n are no longer on fire"
- [+] bug:  when wearing no boots: "A small puddle of water hits you!"
- [+] animated zombie keeps changing colour
* [+] wizard special case:
* [+] bug - walked down stiars on top of a monster
- [+] change "haslof" to come from a cell
- [+] replace WE_NOTSOLID with WE_WALKABLE
- [+] show hp/mp in colour
- [+] invis potion should always traget user
- [+] generic functions to curse/uncurse an object
- [+] not prompting for statgain after training properly. fixed.
* [+] pressing a key should interrupt resting
* [+] implement doublebuffering for screen
- [+] don't show attack dmg for mosnters
- [+] reduce sprint time
- [+] if a monster is chasing someone (ie has F_TARGET), then don't
      consider cursed ob ells as valid
- [+] don't hear noises when in battle
- [+] colourise attribs on status bar
* [+] askob/askobmulti
- [+] "lockpick with what" showing too much
* [+] inventoy colours
- [+] "masterwork stick" ?!
- [+] poison:  save to get rid of poison should be HARDER than save to
      prevent getting it
* [+] why are xats starting off carrying objects ?
* [+] small chance of catching a thrown missile if you have very high
      dex
* [+] if you polymorphed on purpose, have a "revert to original form"
      ability
- [+] nausea should only affect humanoids
- [+] BUG displaying knowledge when it goes longer than 1 screen.
- [+] monsters are attacking each other again! fixed?
* [+] BUG: when i load a game, i gain all knowledge!
- [+] more pole weapons
* [+] disarming weapons
* [+] tripping weapons
* [+] MORE ISSUES with askobject
* [+] validatelf
- [+] fix bug with poison triggering too often
- [+] chance of retching when nauseated. no hp loss, but takes time.
- [+] monsters shouldn't throw stuff if they don't have lof.
- [+] fix crash in knockbackob->fireat, caused by thrower == null
- [+] let high powered KNOCK knockback creatures again ?
- [+] test function to dump out:  dungeonlev   
      which_monsters_can_appear
- [+] firstaid tells you how long poison will last and whether it's
      lifethreatenting?
* [+] high level listen gives more info
- [+] wind shield spell
    - [+] repels all missiles of speed <= power 
- [+] variable level spells
    - [+] F_VARLEVEL
    - [+] when you cast, say "cast at how much power" with choices
          "Power II (5 MP)"
    - [+] show in spell list:  "5-10 MP"
- [+] replace ARBOOST with MAGICARMOUR
- [+] needan()
* [+] move psychic shield check into losehp
- [+] high level detectlife should show actual lf glyphs
- [+] control which jobs can learn which new skills.
    - [+] F_CANLEARN xxx
- [+] remember last target from spells
    - [+] askcoords = does lf for lastlftarg exist? if not, set it to
          null
    - [+] if so, start with it
    - [+] when you pick one, set it.
- [+] F_SHIELDPENALTY - modifies accuracy.
* [+] stop wizards from using shields
2011-04-06 07:27:55 +00:00
Rob Pearce 69d14c05fe * [+] goblins aren't opening doors...
- [+] xat shouldn't be able to open doors!
- [+] semicontrolled createmonster
* [+] implement semicontrolled teleport (can pick the general direction)
* [+] change how semicontrolled teleport works
- [+] make identify/remove curse more common
- [+] make minorheal/heal more common
* [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit?
      i got to 30ar very fast! (ie -45% dam)
* [+] make a special case for F_FLAKJACKET
- [+] BUG: glowbug is causing PERMENANT light, not temp!
- [+] diety ability - levelup
- [+] new damtype:  necrotic
- [+] drain life spell
- [+] make water evaporate
- [+] BUG in validating target cell. was asking a monster for input 
* [+] boots get wet if you walk in water
- [+] why does oil lamp and pil lantern make the same range of light?
- [+] fixed another vending maching crash
- [+] crash due to sprinting?
- [+] 2 blessed flask of battery acids
- [+] "This is a wand!" - don't use code for hiding names in the dark!
* [+] animals shouldn't eat their own race!
- [+] gem of seeing costs nothing!
- [+] frozen weapons do +1d4 cold damage
- [+] allomancy/psionics don't need spellcasting
- [+] poison isn't being announced on mosnters?
- [+] "you are full" only interrupt if we went < normal (ie peckish
      starving etc)
- [+] only F_HUMANOID creatures can wear armour / use weapons
* [+] what does a masterwork bow do?
- [+] implement strength requirements on weapons
- [+] UNDEAD cannot be poisoned by eating corpses!
- [+] ai lfs shoudlnt' eat tainted food
- [+] change how gravboost works wrt movement
- [+] smart ai lfs shouldnt move when in pain
- [+] don't stop walking if the only things there are non-pickupable
- [+] make mosnters swap places with each other if they are the same
      baseid
* [+] scroll of permenance
- [+] make more monsters have gold
* [+] can learn novice level weapon skills by using one a lot
* [+] finish hawks
* [+] add colour
* [+] job attribs aren't working
- [+] pile of ash has weird glyph!
* [+] when you learn the first rank of some magic skills, you get a
      spell with it
- [+] add colours to statbar
- [+] can only "stop on xxx" if you have feet
- [+] monsters shouldn't attack other to get to wanted objects.
* [+] "xat throws a knife"
- [+] manaspike doing no damage to giant newt
- [+] assign colours to rings
2011-03-31 23:54:44 +00:00
Rob Pearce 290d91677e * [+] backstab
- [+] monsters start asleep and make spot checks ?
    - [+] make them start asleep 
    - [+] then make this random
    - [+] sound will wake them (ie. "makenoise")
    - [+] when you move, make SC_STEALTH check. if you fail, you make
          noise!
- [+] must pass LISTEN check  OR have los to hear something.
- [+] "the blowfly falls asleep" "the blowfly appears" when summoned.
    - [+] don't show 'falls asleep' while being created!
* [+] don't start summoned mosnters asleep!
* [+] clean up bresnham functions
- [+] hearing - instead of just using distance, use distance modiied by
      # of walls!
    - [+] getcelldistsound() - each wall counts as an extra cell!
- [+] add WALK/FLY noises to all monsters!
- [+] don't show 'you hear xxx' when resting.
- [+] extra damage for weapon skill (up to 50% extra)
- [+] make broken glass crushable
- [+] only interrupt rest for non-peaceful, non-friendly monsters
- [+] save to fight off poison
* [+] beholder is never using its BITE attack
* [+] need a price for manuals!!
* [+] change"dobresnham" to populate an array of cells
- [+] make ai cast animate metal (if they ahve a second weapon)
- [+] implement getallegiance() to clean up isfriendly / ispeaceful etc
- [+] bug - f_else f_ifpct etc not working in startobs
* [+] OT_S_CHARM
- [+] update askcoords to show "weilding x AND Y"
- [+] stop enemies from throwing firearm ammo somehow
* [+] implement 
- [+] pacify spell
- [+] make spellbooks less common
- [+] detectmetal not wokring. fixed.
- [+] detectobjects spell
- [+] cleanup using flagcausesredraw()
- [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 05:09:31 +00:00
Rob Pearce 4edc66af47 * [+] darkmantle DARKNES isn't working! (but it does work if i cast it)
* [+] "you arrive at level 2" "it is pitch black" - but it isn't
- [+] make detect magic find more things
* [+] make some objects harder to identify? from easy->hard
* [+] magic item usage skill
- [+] with 'R', ask "heal mp, hp or both?"
- [+] make dt_fire damage evaporate water.
- [+] make ring of sight increase nightvis and nomal visrange slightly
      too
- [+] FIX seeindark to give RANGE.
* [+] BUG: monster moved on top of me!
* [+] boost spells
* [+] more boost spells
- [+] modify accuracy based on size difference.
* [+] ooze should hurt objects it steps on
* [+] resist magic save
- [+] potion of blood
- [+] ability to fill a potion with blood / water
- [+] better potion -> splash code.
- [+] stop stoning when you polymorph
- [+] can't stone incorporeal or gaseos things
- [+] cockatrice blood
- [+] cockatrice
- [+] when being stoned, give 1 turn's grace
- [+] gain/lose text for "CANWILL" 
- [+] things killed by poison gas should have tainted corpses
- [+] make troglodyte corpses poisonous
* [+] smallteeth vs teeth
- [+] fix hitconfer code
2011-03-22 07:06:28 +00:00
Rob Pearce 020f47b808 a 2011-03-04 01:22:36 +00:00
Rob Pearce 86ee482ce3 Updates 2011-01-31 19:16:13 +00:00
Rob Pearce 014d591109 update 2010-12-07 07:34:26 +00:00
Rob Pearce 19d30819ae initial checkin 2010-12-02 01:17:54 +00:00