Commit Graph

184 Commits

Author SHA1 Message Date
Rob Pearce d2588bdd98 - [+] replace causesvomit with vomitob
- [+] monsters shouldn't weild lit torches
    - [+] maybe reduce the damage that they do?
- [+] change allomancy to work like psionics
- [+] change colour of carpetted floor?  to what though? red.
- [+] amberon should only accept sacrifice of KNOWN cursed objects!
- [+] infinite loop when going into a sewer. fix_reachability keeps
      failing.
    - [+] in linkexit()
        - [+] startdir getitng set to DC_E! should be orthog only!
        - [+] because forcedir is DC_E!
- [+] Mummy? made of paper (ie flammable). rotting touch. curse.
      corpsetype = sand or ash, and blank paper.
    * [+] inflicts rotting disease "mummy's curse"
    - [+] can cast cause fear (but not very often, 50 turns or so)
    - [+] vuln to fire (1-8)
    - [+] vuln to holy (2-8)
- [+] greater mummy
    - [+] more hd
    - [+] lots more damage
    - [+] stronger fear spell
    - [+] no vuln to anything
    - [+] magic resistance
    - [+] priest spells. - death disease evil revenge, guardianship.
          some new ones:
- [+] rot:
    - [+] instead of losing hp, lose str+fit and just no healing ?
- [+] wyvern
    - [+] wyrm without breath weapon
- [+] ice demon
    - [+] shardshot, power 3 (ie 3d6)
- [+] snow troll
    - [+] implement
    - [+]  - frostbite, range 1 "exhales a freezing wind"
- [+] griddler, small demon, fire dam attack, heat metal ability,
      carries a permenantly red-hot weapon 
- [+] curse (curses equipped objects)
    - [+] applys a curse to 1-power equipped objects.
    - [+] applies a -1 penalty too, if it's a weapon/armour/can have
          bonuses.
- [+] protection from good.
    - [+] repel the next "power" attacks from good-aligned lfs
    - [+] casttoattack xxx
    - [+] this needs the player to have an alignment!!! (base it on the
          job)

FROM PREVIOUS COMMITS:
- [+] if you polymorph into something with nopack, MELD your pack ?
    - [+] move all from lf->pack to lf->meldpack
    - [+] have to SAVE meldpack too.
- [+] monsters which attack if you get too close
    - [+] eg. wolf
    - [+] do they attack other monsters in range too? or just players?
2012-02-09 21:00:10 +00:00
Rob Pearce 5d7b3dedc6 - [+] change how poison works
- [+] poisontype_t
    - [+] define them all
    - [+] ie. each poison type has a fixed damage amount.
    - [+] check poisonisfatal()
    - [+] check F_POISONED bit in startlfturn

- [+] salmonella. like food poisoning but causes more damage.
- [+] small chance of getting sick from raw meat?
    - [+] FIT check to avoid.
    - [+] raw meat = gastroenteritis. 
    - [+] raw chicken = salmonella 
    - [+] rotting food = either gastro (66%) or salmonella (33%)
- [+] new monster-only jobs
    - [+] guard
        - [+] has lots of armour and f_noflee and f_stayinroom
- [+] set climbing difficulty based on cell type as well as material
2012-02-08 04:23:51 +00:00
Rob Pearce d876d30d70 - [+] Remove or disable old code:
- [+] shopkeepers
    - [+] remove F_SHOPITEM - this was used for old shop code.
    - [+] "shop" vaults
    - [+] village map (but leave the habitat for use in bazaar vault
          etc)
- [+] vault: support for random monsters - use "random" for name
- [+] vault flag: f_monsstayinvault
- [+] vaults for goblin caves
    - [+] pool of water
    - [+] small hut
    - [+] brick wall
- [+] trapped corridor
- [+] pranksters dust (makes everyone invisible)
- [+] allow c_random for animations
- [+] random chance of different kind of wallfloor when creating
      dungeons
    - [+] brick wall (slightly weeaker, orange/red)
    - [+] metal wall
    - [+] wood ??
    - [+] instead of using map->habitat->solidcelltype, use
          getsolidcelltype(map)
        - [+] this checks map for f_solidcelltype
        - [+] if not there, uses map->habitat->solidcelltype.
    - [+] vaults should be able to inherit empty/solid types from map
        - [+] x:cell:EMPTY
2012-02-07 23:28:48 +00:00
Rob Pearce 22c316437e - [+] hiscores - show "Killed by xxx on level 5 of the dungeons."
- [+] extra suffix text.
    - [+] use two lines for each entry.
    - [+] have to use modified version of wrapprint for this.
        - [+] wrapprint needs a "wrapped_lines_indent_amt" option.
    - [+] this should give exactly 24 lines.
2012-02-07 04:26:29 +00:00
Rob Pearce 24d95368b6 - [+] redo throw hit%. even inept sk_throwing should have 40% or so to
hit at point blank range.
    - [+] only reduce hit% after first cell? 
- [+] increase change of player ko with yumi
- [+] tranq dart and nanodart should be rodshaped.
- [+] genericise purification
    - [+] F_PURIFIESTO v0 = newobject
    - [+] add toadstool -> shiitake
    - [+] posion potion -> water
    - [+] acid potion -> water
    - [+] rum -> water
    - [+] DONT make the original object type known now 
- [+] higher level purify food lets you select a cell!
    - [+] need f_targettedspell v1 & v2 to specify power.
- [+] druid should get to pick one of 3 spells (from each available
      level) upon levelup, not anything!
    - [+] implement f_levspellschoolfromx
    - [+] TEST!
- [+] implement secondary weapon swap with 'x'
    - [+] initial press:  unweild curwep. if successful, mark as
          secondayr.
    - [+] subsequent presses:  find secondary wep (or fail). remember
          cur. weild secondary. if successful, remove scondary flag and
          mark old cur wep as secondary
    - [+] when you move an object, it loses secondary flag.
- [+] BUG:  I had TWO regions with rtype->id == RG_CAVE!!!
    - [+] have added debug code
    - [+] think this is fixed - need to remove created regions when i
          regenerate a map.
- [+] should be able to sell gems to jewelery store
    - [+] sm_sellitems
    - [+] shopsell()
    - [+] shop has f_cansellobclass xxx, val[0] = pct of full price you
          can sell for. normally 50% but 75% for gems. 
    - [+] allow COUNT - modified askobjectwithflag ?
        - [+] OR add an extra *sellshop option to doaskobject ??
        - [+] if this is set, only allow selection of objects which
              match the shop's f_shopsell flags
            - [+] ie. replace wantflags[]
        - [+] when passing this, don't  also pass wantflag args!!!
    - [+] rename shopsell flag to  f_shopacceptsflag
    - [+] accept F_NONE in shopacceptsflag
    - [+] make shopdonate use the same code
- [+] make donating to shops lower their prices ?
    - [+] for each 100 value you donate, reduce prices by 1%
        - [+] ie. donate 1000 worth, reduce by 10% = 1 level of speech
              skill
- [+] change shopsell to use  applyshoppricemod
    - [+] applyshoppricemod needs a new arg - up or down
    - [+] check code in objects.c for naming too!  listobs()
2012-02-07 02:50:17 +00:00
Rob Pearce 0ce77ec00b - [+] firebug should deal 1 fire damage to anything on the ground
- [+] f_damagegroundobs v0=dam, v1=damtype
    - [+] add a similar thing ice wraith (they cause cold damage)
- [+] psionic spells:  baffle and disorient too similar?  make one a
      lower level ?
    - [+] make disorient face them away from you!
- [+] ekrub shouldn't get angry for crushing glass underfoot
    - [+] OR... warn before you do this if you worship ekrub
- [+] don't drip water while inside a wall (ie. ethereal)
- [+] don't show "[tried on xxx]" for objects in store inventories!
- [+] make "i bestow a gift" msg change depending on god
- [+] potion of etherealness spell disappating twice?
    - [+] ie. stopspell being called twice.
    - [+] spell effect now chacks for existing noncorporealness
- [+] different god msg if they are angered but still pleased
    - [+] "don't do that again!"
    - [+] "ahem!"
    - [+] "i won't tolerate further transgressions"
    - [+] etc
- [+] io.c not showing that druid is vegetarian.
    - [+] show this only if ilfetime !=  FROMRACE
    - [+] don't show it otherwise, since it's a racial trait.
    - [+] change hasflag_real to have "int lifetimeexception"
    - [+] same with:
        - [+] VEGERATIRNA
        - [+] CARNIVORE
        - [+] PARTVEGETARIAN
        - [+] F_SIZE??
        - [+] VISRANGEMOD
- [+] stickstosnakes - make this not affect the CASTER's equiped
      weapon, but it doesnt affect weapons of others.
    - [+] implemment
    - [+] make spell description describe this.
- [+] make safebox not be stealable
2012-02-04 23:26:16 +00:00
Rob Pearce c1bccc652c - [+] fixed crash related to F_CASTINGSPELL
- [+] change god names to "god of xxx/yyy/zzz"
- [+] i'm pleasing the god of life somehow unknown. why?
    - [+] from sleeping!
    - [+] was checking !isasleep(god), not !isasleep(player)
- [+] ai object stealing code not working
- [+] chance to wake up when someone is stealing your objects ?
    - [+] stealer makes an easy stealth check
- [+] fix crash in steal()
- [+] when fix_reachability kills a wall, add rubble as if the wall
      fell down.
- [+] if you burn yourself on something, automatically drop it.
- [+] ai shouldn't try to wear dangerous objects.
- [+] f_hot objects count as dangerous
- [+] if metal takes fire damage, it gets F_HOT (unknown)
    - [+] touch() will burn you, and make the flag known ("red hot") 
    - [+] if you are wearing F_HOT armour, take damage from it.
    - [+] modify how heat metal spell works
    - [+] when something catches on fire, it also gains F_HOT 
    - [+] test heat metal
- [+] firebug and fire sprite should have f_extracorpse "small fire"
- [+] in makedesc_skill, only show each "at xxx level" heading once
- [+] ice wraith shuld be flying.  ghast shouldnt be levitating.
- [+] MENDING should fix rust.
- [+] BUG: ERROR - unlinked stairs! should have been linked during map
      creation.
    - [+] was on Dlev 9
    - [+] stairs were going to the swamp.... and swamp had no stairs!!!
    - [+] in finalisemap: swamp was misisng stairtypes!
2012-02-03 05:55:19 +00:00
Rob Pearce d97c0c9421 - [+] redo heaven vault to cater for 10 gods
- [+] Klikirak- male,fire and destruction
    - [+] appears as a fire elemental?
    - [+] abilities
        - [+] create fire underneath
        - [+] retaliate with fire
        - [+] burning touch
        - [+] canwill all fire spells 
    - [+] sacrifice
        - [+] anything flammable
        - [+] added effect: cast flame burst
    - [+] pray:
        - [+] set  all nearby objects on fire
        - [+] unfreeze weapons
        - [+] hurt monsters with fire spells
    - [+] gift:
        - [+] fire resist / immunity
        - [+] pyromania on weapon
        - [+] fire magic
    - [+] angry (minor):
        - [+] blast with small fire
    - [+] angry (major)
        - [+] blast you with fire (and surround you)
    - [+] likes
        - [+]  burning objects (sparking flammable, throwing objects
              onto fire)
        - [+] casting fire spells
        - [+] killing with fire
    - [+] dislikes
        - [+] casting cold spells
        - [+] causing cold damage
        - [+] creating anything (create monster / wish / create food)
- [+] what is the difference between "purity" and "life" ?
    - [+] purity:  get rid of curses, bad objects, bad food, remove bad
          statuses
    - [+] mercy:  "undo" mistakes, avoid instakills
    - [+] life:  healing, raise from dead, protection
- [+] life goddess - glorana
    - [+] appearance:
        - [+] glowing white light
    - [+] abilities
        - [+] cast all life spells
        - [+] regenerates hp very fast
    - [+] objects
        - [+] none
    - [+] likes
        - [+] destroying undead
        - [+] using life magic
        - [+] healing (as per yumi)
    - [+] dislikes
        - [+] necromancy spells
        - [+] attacking peaceful lfs
    - [+] pray
        - [+] healing
        - [+] restore mp
        - [+] protection spell
    - [+] gift
        - [+] regeneration
        - [+] firstaid skill
        - [+] life magic skill / spellbooks
        - [+] increase max hp
    - [+] angry(minor)
        - [+] life magic fails
        - [+] slow natural healing rate
    - [+] angry(major)
        - [+] no healing
        - [+] reduce max hp!
    - [+] sacrifice
        - [+] healing potions
        - [+] restoration potions
        - [+] bandages
        - [+] food
- [+] protection spell:
    - [+] divine armour
    - [+] blocks on a certain amount of damage.
    - [+] all damage goes to it! (NOT like psychic armour which just
          increases AR)
    - [+] NOT an ongoing spell.
- [+] ai: if you have a weapon of xxx slaying, use it when appropriate.
      (getbestweapon)
- [+] amberon - change abilities to be more focused on removing bad
      status effects
- [+] amberon gifts you with potions of restoration
- [+] felix is now god of thievery and vengeance.
- [+] felix now gives your weapon f_revenge.
2012-02-02 04:33:24 +00:00
Rob Pearce 664a28f003 2012-02-01 23:06:44 +00:00
Rob Pearce 3a671253a1 - [+] bug: constant redraws when walking in dark levels.
- [+] it is because makelitradius is calling setlosdirty.  and when
          you do setlosdirty(player), it redraws!
    - [+] solution: disable all redraws during calclight(), then
          afterward reenable them!!
- [+] found two maps. read the first one.  now reading the second one
      doesn't identify it (make because isknown is now true!)
- [+] plants still being counted as "helpless"
- [+] combine all save data into 1 file
    - [+] gamesave.dat
    - [+] mapxxx.dat
    - [+] regions.dat
- [+] rename elf to "Selnor"
2012-02-01 23:02:18 +00:00
Rob Pearce 5506fdcc86 - [+] bug: getobvlue price keeps going up
- [+] make food poisoning last longer!
- [+] bug: pet starting in water
- [+] ability to pay at shops using gems?  but no change.
    - [+] implement
    - [+] require speech skill at a certain level (novice)
- [+] reveal attack location for unseen attacks
- [+] bug: poisonbolt spell shouldn't cause fire damage to objects!
- [+] return to your original form after dying when polymorphed, but
      just retain SOME hp
- [+] new spell: shapeshift
    - [+] like polymorph but only affects yourself and always controlled
    - [+] you have to pick something you can see
    - [+] spell power determiens hitdice you can copy
- [+] purify food now works on all your objects, not just one
- [+] Nature god(farming, creation)
    - [+] Ekrub  
        - [+] doesn't like wyrms because they destroy things?
    - [+] objects
        - [+] has a pitchfork vs dragons
        - [+] longbow of xxx
        - [+] sun hat
        - [+] overalls
        - [+] gloves
    - [+] effects:
        - [+] canwill all nature spells
    - [+] likes
        - [+] killing animals (but only while hungry)
        - [+] killing dragons
        - [+] casting nature spells
        - [+] creating objects or lfs (wish, monsters, food)
    - [+] dislikes:
        - [+] destroying objects
            - [+] attackob()
            - [+] throwing a flask which shatters
            - [+] crush objects underfoot
            - [+] via non-nature spells...?
        - [+] poison
        - [+] attacking plants
        - [+] casting poison spells (same with other antipoison gods!)
    - [+] sacrifice:
        - [+] animal corpses
        - [+] dragon corpses
    - [+] pray:
        - [+] battle:
            - [+] will come to your aid against wyrms 
            - [+] OTHERWISE:
            - [+] entangle enemies
            - [+] lightning
            - [+] summon plants to help you
        - [+] nonbattle:
            - [+] purify food on player
            - [+] THEN one of the following:
            - [+] cure poison
            - [+] fix hunger or give food
            - [+] heal
            - [+] give ammo (if ranged weapon equipped and out of ammo)
                - [+] give it.
                - [+] make it "of seeking" (ie. always hits)
            - [+] mend armour
            - [+] bless armour 
    - [+] gifts
        - [+] ability: calm animals, power 10
        - [+] can shapeshift into a bear
        - [+] resist poison
        - [+] resist cold
        - [+] ranged weapon
        - [+] magic ammo for ranged weapons
    - [+] angry (minor)
        - [+] no nature spells work while god is angry ?
        - [+] taint your food and any food you touch
        - [+] summons entangling vines around you 
    - [+] angry (major)
        - [+] one of:
            - [+] cloudkill
            - [+] summon storm
            - [+] surround you with sawgrass
2012-02-01 01:31:36 +00:00
Rob Pearce 81d65d35d9 - [+] hunter calm animals not working
- [+] when announcing new ability/spell gains, show spell power, and
      allow override of lower power ones.
- [+] make "lessen gravity" also let you hold more. 15kg per power
      level.
- [+] fix broken autoshortcut()
- [+] calmanimals now awards gives 25% xp (druids get 50%)
- [+] show "tried on xxx]" for scrolls.  
    - [+] char *knowledge_t->triedon
    - [+] update maketried()
    - [+] update getobname()
- [+] potion of grow/shrink should only be temporary
    - [+] sizetimer v0 = newsize, v1=timeleft
- [+] bug: blessed scroll of id not being destroyed after reading it
- [+] option:  autopickup_used_missiles
    - [+] give everyone 1 free object drop/pickup per turn. after that
          it takes time.
    - [+] add the option
    - [+] add f_usedplayermissile to objects before firing them.
    - [+] if you walk onto an object with f_usedplayermissile
        - [+] AND autopickup_used_missiles is set
        - [+] ...then pick it up.
        - [+] ...and remove the flag.
2012-01-31 02:25:12 +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 a4ac951f15 - [+] remove "inscribe" spell for now.
- [+] beginner perception should let you see next to you.
- [+] fix trail directions when checking stairs
- [+] make labyrinth vault be a proper labyrinth shape
- [+] 'spark' should affect floor obs even if there is a lf there.
- [+] cursed scroll of awareness should blind you for 10-20 turns.
- [+] bug: monsters trying to flee through locked drainage grate.s
- [+] new god: Bjorn the battlelord
    - [+] Pray effects:
        - [+] bless weapon
        - [+] bezerk 
        - [+] true strike
        - [+] haste
    - [+] Likes: battles (ie. kill last enemy in lof)
    - [+] Dislike:
        - [+] calming
        - [+] poison
        - [+] magic (wands, spells etc)
        - [+] retreat (moving away with back turned) "Coward!"
    - [+] gifts:
        - [+] weapons, armour
    - [+] sacrifice:
        - [+] untouched battle spoils
        - [+] after dropping objects, add f_battlespoils if YOU killed
              the ownert.
        - [+] remove this if/when the object gets moved again
        - [+] splatter blood
    - [+] minor anger:
        - [+] rust your armour / weapon
    - [+] major anger:
        - [+] destroy your armour
        - [+] destroy your weapon
        - [+] summon lots of enemies
- [+] new god: Lumara - fem, magic
    - [+] likes:
        - [+] most things which train magic skills
            - [+] ie. casting spells
        - [+] using wands
        - [+] reading scrolls
    - [+] dislikes:
        - [+] missile weapons
    - [+] pray:
        - [+] restore mp if low
        - [+] identify books/scrolls
        - [+] remove curses
    - [+] gift:
        - [+] spellbooks
        - [+] manuals of spell schools
        - [+] extra mp
    - [+] angry minor:
        - [+] lose mp
        - [+] forget a spell
    - [+] angry:
        - [+] spells stop working (100% failure chance)
        - [+] forget all spells
        - [+] polymorph you into something bad
    - [+] sacrifice
        - [+] weapons / armour
2012-01-25 09:20:15 +00:00
Rob Pearce 5f4454d56a - [+] increase damage for missiles
- [+] retain items on polymorph if new race has f_nopack or nobodypart
      for equipped stuff
    - [+] move obs to lf->polypack
    - [+] save this!
- [+] fix bugs with remembering/restoring stats on polyrevert.
- [+] scroll of permenance should make conferred attribute changes
      permenant
- [+] change strength damage mod to be range -2 to 2 (instead of a
      percentage)
- [+] corrected poison/methane gas difference.
- [+] hecta gift: necromancy books
- [+] damagecell()
    - [+] make rock walls turn to rubble ("50-100 stones")
- [+] change to lore skill: incrase damage by a fixed amount, not a
      percentage.
- [+] felix effect: evaulation (identify obs)
- [+] god piety should never change once thy are ignoring you.
- [+] shields should protect against crit hits
- [+] hecta no longer gives unholy water? 
- [+] I'm able to use OT_A_SHIELDBASH with 0 stamina.
- [+] CRASH during loading
    - [+] fixed
    - [+] ...but check for more....
- [+] quaff potion of fury - "you're too tired to do that right now"
- [+] player was being prompted for locaiton when monster tried to wear
      a bandage.
- [+] closing iron gates is making them opaque.
    - [+] only add blocksview if the objectTYPE has it.
- [+] fountains of experience not drying up.
- [+] looking for tracks on stairs.  never finding any!!
- [+] shop descriptions not working anymore.
- [+] left hand got destroyed by explosion.
    - [+] i then wore a ring... and it went on "left finger"!
- [+] all spell effects should cease just before death.
- [+] crystal shield/armour shouldn't call wear() but rather just set
      f_equipped directly.
- [+] bedrooms/kitchens should have tiled or carpet floors?
    - [+] tiled = less stability (especially with water!!)
    - [+] carpet = more stability
- [+] fire skeleton
- [+] firebug
- [+] ice wraith
- [+] winter wolf
- [+] skoob (snowman)
- [+] crymidia can cast crystal spells
- [+] blastbug
- [+] bilco - casts flood at itself.
- [+] rubber-like things
    - [+] slug
    - [+] snail
2012-01-24 20:38:59 +00:00
Rob Pearce 4a32308310 - [+] dual wield, then weild -, say "y" to "weild nothing in your left
hand", CRASH.
- [+] rogue should start with novice speed and throwing
- [+] better method of sneaking - just hiding in one spot isn't
      effective.
    - [+] get "hide" at novice level
    - [+] at beginner level, you can move while hiding. ( but if
          someone hears you, they spot you)
- [+] if you can't see an object (ie in inventory it just comes up as
      "a potion"), make the description be generic.
- [+] stealth shouldn't affect movement noise uless you are hiding
- [+] move slower when hiding.
- [+] trying to hide while already hiding will cancel it.
- [+] rename f_sneak to f_movecarefully
- [+] move "you attack the helpless xxx" into construct_hit_string.
- [+] light level should affect stealth checks.
- [+] flying should only impact stealth checks to make noise, not to
      hide.
- [+] sprint should stop hiding!
- [+] weapon brand: of protection.  gives AR. 
    - [+] make sure i show this in showlfarmour ]
- [+] shouldn't be able to backstab plants
- [+] no hiding while producing light.
- [+] changing armour should stop you from hiding.
- [+] let you hide when you can see monsters, but they instantly get
      F_SPOTTED.
- [+] different verbs for god voices
- [+] remove "enhanced smell" from xat and dire rat.
- [+] make guns usually start with ammo
- [+] gain attrib point on _every_ levelup, but 2 each time not 5.
    - [+] this means that we now gain 6 stat points every 3 levels
          rather than 5, but they can be spread out.
- [+] rogue modifications
    - [+] change starting backstab level from beginner -> novice
- [+] generated monsters: "It is sleeping. It is flying."
    - [+] should be sleeping AND flying!
- [+] remove duplicate tanglemissile code.
- [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff
    - [+] needs a "boostafter" param.
    - [+] ie.
        - [+] needs at least ATTREQ agility to USE it.
            - [+] if you are less than this, start applying penalty.
        - [+] v2 = BOOSTAFTER level. (CHANGE)
            - [+] if you are above this amount, start applying bonus.
        - [+] text = scalepercent. (CHANGE)
    - [+] adjust code
    - [+] adjust defs
    - [+] explain in io.c
    - [+] test
- [+] new felix pray effect: invisibiltity
2012-01-23 07:16:18 +00:00
Rob Pearce fa9071ab69 - [+] bug: mammoan warrior with spear not agile enough to use starting
weapon!
- [+] new option when chatting:
    - [+] "care to trade knowledge?"
        - [+] works if:
            - [+] you have a skill which they don't know (or a spell
                  which they don't know)
                - [+] otherwise "there is nothing you can teach me."
            - [+] AND ONE OF
            - [+] works if they know a spell which you don't know (but
                  are able to learn)
            - [+] works if they have the same skills as you, but better,
            - [+] works if they have the a skill which you don't, AND
                  they are >= adept
                - [+] otherwise "i fear there is nothing useful i can
                      teach you"
        - [+] TEST
        - [+] can only do this once per person ("i have nothign more i
              can teach you")
        - [+] if high speech, you can pick what to learn. otherwise
              it's random.
        - [+] bug: human rogue asking to learn 'summon weapon' but not
              skilled in summoning!!!
        - [+] TEST AGAIN!
- [+] speech skill determines what you can ask people about!
    - [+] nov:any dangers?
    - [+] beg:any useful items around?
    - [+] ad:trade knowledge? 
    - [+] sk:join me?
    - [+] (but make skillchecks harder otherwise by the time you get
          the rigth speech skill level, you'll always pass!)
2012-01-21 00:35:04 +00:00
Rob Pearce 499ef0c0e1 - [+] weapon/armour shop:
- [+] pay to repair.  3 gold per hp. then modify total by speech.
- [+] "splash of water" shouldn't stop you from running. at the moment
      when your boots are wet you can never run because you keep
      dropping water!
- [+] make delvers vuln to light
- [+] reduce potion of growth rarity
- [+] make resist poison skillcheck difficulty harder.
- [+] make holycircle/pentagram detect cursed/blessed items too
    - [+] "your %s feels warm/cold"
- [+] spear shoudl have f_rodshaped
- [+] light not blinding creatures for long enough
    - [+] The area is lit by a magical light!  The skeleton is blinded!
          The skeleton turns to flee from you!  The skeleton can see
          again.
2012-01-20 02:46:34 +00:00
Rob Pearce 4f8f478139 - [+] let you salt corpses (stop them from decaying, like the spell
(forgot its name))
- [+] INFINITE LOOP during linkexit() on sewer map.
- [+] cursed scroll of light wasn't updating view properly...
- [+] when you use a tunnel, don't say "you walk down the staircase"
    - [+] use mandatory value of f_climbable text="tunnel" or
          "staircase" etc
2012-01-19 06:52:52 +00:00
Rob Pearce 804f72f5c7 - [+] monsters vulnerable to lightning
- [+] ice sprite ? (because it's water based)
    - [+] sawgrass
- [+] change how repair works
    - [+] always repair to 100%
    - [+] skill determiens  lowest hp percentage at which you can still
          repair it
    - [+] helper obs lower rather than increase cutoffpct
- [+] felix should take all gold and gems when you die.
- [+] reduce javelin weight
- [+] felix should accept gems as sacrifice too.
- [+] don't show "nothing happens" when felix casts reveal hidden.
- [+] when checking if an object will block a door from closing, use
      the same code as when checking whether a lf is too big.
- [+] The sound of a voice: "Braaaains... awakens you!
    - [+] Missing the last quote!
- [+] check firearm reloading times (F_RELOADTURNS)
- [+] add option:  "automatically relaod empty firearms"
2012-01-19 03:42:10 +00:00
Rob Pearce 80a8edf471 - [+] increase accuracy of blessed firearms ?
* [+] in temples, holy water is just showing up as "potion of water"
- [+] make blessed/silver arrows hurt undead etc 
- [+] different temple exit messages based on f_linkgod
- [+] problem: in temples, holy water only casts $5 whereas a blessing
      costs around 100!
    - [+] adjust cost - increase value of BLESSED potion of water
    - [+] test out the new pricing...
- [+] bug in skill descriptions.... never being added.
    - [+] why? debug to find out.
    - [+] because firstraceclass == NULL
- [+] make monster skill determine whether you can identify them from
      footprints, not perception
    - [+] lorelev = novice:  "you see animal footprints"
    - [+] lorelev = beginner:  "you see xat footprints"
    - [+] perception beginner: "you see fresh xat footprints leading
          north"
- [+] linkexit() shouldn't be allowed to fill in cells at the very edge
      of the map. 
    - [+] just say can't fill in if c->locked.
- [+] electrical trap - casts chain lightning
- [+] some traps only trigger if you're on the ground (not flying)
- [+] let you be able to dodge fire traps
- [+] in io.c, show ability timers for canwill
- [+] sacrifice of cursed obs to amberon - move this from "pray" to
      "offer".
- [+] once you have prayed to one god, prevent praying to opposing gods.
    - [+] implement getopposinggod
    - [+] implement this - "xxx ignores you"
    - [+] in god display show line in red, and "prayed" as "N/A"
- [+] need an alternate amberon anger effect if you don't have any
      blessed objects.
- [+] when using 'm', skill list should show 'canwill' as 'abilities',
      not magic.
- [+] when using 'm', skill list should show shortcuts
- [+] change attribs to be 0-100
    - [+] getskillbracket type functions
    - [+] lf definitions
    - [+] this impacts skill checks and their difficulty
    - [+] and object boosts / penalties 
    - [+] and weapon attrreq
    - [+] ATTRMOD
    - [+] JOBATTRMOD
    - [+] io.c: attrmod, jobattrmod
    - [+] getstatmod()
    - [+] basically anything which calls getattr()!!!
    - [+] when you levelup, increase one stat by 5, not 1.
    - [+] ATTRSET and ATTRMOD in spells
2012-01-18 23:11:55 +00:00
Rob Pearce 849e567b43 - [+] replace "fireplace" with "brazier"
- [+] make non-lethal kills (ie. knockouts) display in grey rather than
      green
- [+] ability: merciful fighting? always does bashing damage, always
      ko. 
    - [+] done
- [+] Chatting to gods shouldn't work
- [+] bug: when running with shift+dir, i'm running past corridors.
- [+] when announcing skill gains, say if they are from a level.
    - [+] set lifetime to FROMJOB when giving them.
    - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' 
          (warrior skill)"
- [+] grenade/c4 explosions should be able to damage cells!
- [+] change grenades to have bigger radius (dtorth 1)
- [+] automatically call "fireat" for grenades
    - [+] impement this
    - [+] make the timer shorter!
- [+] add extra checks to stop monsters from attacking allies
- [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range.
    - [+] will atatck anything else visible within range xxx
- [+] grave sprite should be able to see in the dark
- [+] instead of saying "An orc [drunk]", change getlfname to return "a
      drunken orc" etc
- [+] when you throw an object at someone in a wall, it should fall
      onto the ground in front, NOT the wall itself!
- [+] show how MUCH high/low str/agi will affect weapon damage/accuracy
- [+] different shoddy/masterwork text based on weapon types
- [+] bug: monsters never bleed from injuries!
- [+] another bug in getavgdam - negative accuracy returns negative
      damage since we modify damage by accuracy!
    - [+] within this function, limit accuracy to range 0-100
- [+] bug with options - opt->id never being initialised!
- [+] don't apply "behaviours" to anythuing other than humanoids.
- [+] increase missile accuracy if you are above your target
    - [+] (ie you are flying higher them them)
    - [+] getflightsizemod()
2012-01-17 20:46:23 +00:00
Rob Pearce db0b726088 - [+] corpses should inherit lf vulnerabilities/immunities
- [+] change bloodsplatter for full leeches to no longer use fireat code
    - [+] was a bug - wasn't handling NA for speed in F_DIESPLATTER
    - [+] change fireat code to not announce "xxx flies through the
          air" for platters
- [+] fix it so that things flying through the air (via fragments())
      can hit people.
- [+] when calling fragments(), don't announce every single "a shard
      flies at xxx"
    - [+] fireat() needs "announcethrow"
- [+] stop running when adjacent to any monster (evne peaceful)
- [+] monsters should always turn to face their attackers, even if they
      aren't adjacent.
- [+] multiple ring types are getting the same hiddenname:
    - [+] Rings
             ring of strength          (flourite ring)
             ring of stench           (flourite ring)
    - [+] validateobs now checks for this.
    - [+] nearly everything seems to have 2 entries.
    - [+] maybe also put a check inside addhiddenname!
    - [+] addhiddenname no longer triggering dupes.
- [+] bug: planeshift not working when cast by enemies.
- [+] bug: skillxp being boosted by massive amounts sometimes
    - [+]  Exp Level: 15 (32150 XP, -1581 for next)
    - [+] bug in getlfaccuracy - returning 9937 and boosting xpval by
          massive amounts!
- [+] motel bug:
    - [+] How many hours will you pay for (you have $1073)? 4 hours
          ($440)
          You start resting (in your motel room)...  You finish resting.
          You wake up.
          "Sleep well!"
    - [+] say"sleep well" BEFORE sleeping!
- [+] for some reason i'm gaining massive amounts of skill points!
    - [+] killed  giant ant, got 3 points???
    - [+] pointsforsp not going up fast enough, especially at high
          levles (13+)
    - [+] was a bug in getlfaccuracy
- [+] yumi should only check attacking helpless on your FIRST attack.
    - [+] if you have subsequent ones, they're ok since you can't
          control them!
- [+] don't please or anger gods when fighting gods
2012-01-15 23:18:20 +00:00
Rob Pearce d063040341 - [+] when we restart map creatuion due to failed fix_reachability,
need to delete all the map flags we added.
- [+] in fix_reachability, never create corridors on the perimeter of
      the map.
- [+] realmofgods should be a fixed vault. like stomach. no exits.
- [+] bug: addmosnter() not setting lf->born when autogen = false
- [+] bug: monsters trying to pick up objects with f_nopickup
- [+] gods shouldn't flee after stealing.
- [+] regenerating troll corpses!
    - [+] F_REVIVETIMER v0 = cur v1 = max.  if v0 = v1, change object
          to race v2. 
    - [+] + troll corpses do NOT decay.
- [+] worm stomach now uses tag:stomach rather than f_vaultisstomach
- [+] fire sprite should drop corpse AND fire


--This linee and those below, will be ignored--

M    nexus.c
M    attack.c
M    text.c
M    objects.c
M    vault.c
M    lf.c
M    data.c
M    map.c
M    spell.c
M    defs.h
M    ai.c
M    vaults/stomach1.vlt
2012-01-12 05:16:01 +00:00
Rob Pearce bbaca368e7 - [+] make ring of invisibility also drain your hp!
- [+] monster with tremorsense can 'hear'
- [+] allow attacking of wall cells with normal melee attacks
    - [+] glass should shatter
- [+] option: stop running on hearing a sound
- [+] make describerace use downline().
- [+] make certain strengths and weaknesses not show up in player
      selection
- [+] An uncursed manriki wraps around the hawk.  The hawk falls to the
      ground.
      A black bear comes into view.
      You critically scratch #.  The black bear roars.
    - [+] check construct_hit_string.
    - [+] i was hitting a hawk.
- [+] still some entrances overlapping glyphs.
    - [+] genericise checking code in fix_Reachabilty
    - [+] Also: in fix_reachability, disallow linking to cells which:
        - [+] are adjacent to a door
        - [+] are part of a vault with maintain_edge, and are 't marked
              as exits.
    - [+] looking a bit better now...
- [+] incorrect glyph colour for animated zombies
- [+] grow/shrink potions? to change lf size to fit armour.
    - [+] resizelf()
    - [+] modification spell (l2)
        - [+] grow
        - [+] shrink
    - [+] potions
        - [+] cursed growth does shrink
- [+] make rare monsters / objects only sometimes be known.
2012-01-12 01:28:07 +00:00
Rob Pearce 4cff04558c dentifying one map shouldn't identify all maps???
- [+] only show map name if it is IDENTIFIED, not just known.
- [+] don't allow jumping onto impassable object
- [+] food doesn't rot if it's on ice
- [+] rename fly to gnat
- [+] 'reflection' mod for shields
    - [+] bounces thrown objects stuff back
2012-01-10 05:05:40 +00:00
Rob Pearce f7061b45ca - [+] in shops, show 'ESC when done, ? to describe/purchase'
- [+]    b - a silver shoddy bastard sword
    - [+] show object's condition before changed material state?
- [+] bug: torches aren't lighting up walls when walking in corridor!
- [+] scrolls with f_scrollneedsob should say 'tried on object' 
- [+] dungeon light
    - [+] lit shoudl be "illuminated" and be an enum
        - [+] IL_FULLYLIT
        - [+] IL_WELLLIT (dark, candelabras in  every room and moss
              every 4 steps)
        - [+] IL_DIM (dark, torches in rooms and moss every 6 steps)
        - [+] IL_SHADOWY (dark, torches in some rooms and moss every 8
              steps)
        - [+] IL_FULLYDARK (ocassionally moss in rooms, otherwise no
              light at all)
    - [+] need more fixed light source objects:
        - [+] moonmoss and sunmoss
    - [+] if not fully lit, map illumination level determines how often
          light sources are placed, and what type.
- [+] special monster behaviour (perception or lore will show this?)
    - [+] insane monsters (attacks anything)
    - [+] hunting for food (hungry, add covets food)
    - [+] returning to lair with plunder (extra treasure)
    - [+] timid (lower morale, maybe add f_timid or alwaysflees)
    - [+] drugged (never flee)
    - [+] drunk
    - [+] diseased (start with a non-lethal disease. eating its corpse
          infects you)
    - [+] determined (will chase the player for longer)
    - [+] lazy (chase for less time)
    - [+] only show if perception >= skilled)
- [+] only show monster jobs if lorelev >= beginner
- [+] bug: cursed scrolls no longer having bad effects. fixed.
- [+] after you fool a monster by feigning death, it shouldn't target
      you for a while.
- [+] prevent wands from being blessed/cursed.
- [+] bug: still no displayed text when your pet dies.
    - [+] update: this seems to happen when a monster is killed by
          another monster
    - [+] The bear cub claws the dog.  The dog wakes up.
    - [+] fixed!
- [+] hwen monsters start with weapons/sheilds, their starting skill
      should be based on hit dice.
    - [+] max skill is hitdice / 3
- [+] wake up player before giving god gift!
- [+] "a goblin shaman moves out of view"
    - [+] but i didnt hav ehigh enough lore!
    - [+] maybe real_getlfname needs "showall".  check this istneda of
          usevis to see whether to show job.
- [+] crash when objects fall through a hole and the lower hole needed
      to be moved slightly.
- [+] bug: invisibility is fooling even things with 'enhancesmell'
- [+] water onto dirt only makes mud if there isn't some already there.
- [+] monk fists DR should max out at 12 or so, since #attacks keeps
      going up!
- [+] don't show god pleaseing messages when asleep
- [+] bug: showing '%s dodges" when you can't see it.
- [+] fix rarity of wands
- [+] reward at bottom of caves:
    - [+] godstone of war (cases RAGE on everyone near you)
Goblin cave bosses:
- [+] goblin king
- [+] young dragon
2012-01-10 03:40:43 +00:00
Rob Pearce e1b569f306 - [+] BUG: trying to go down stairs from L7 (6?)
- [+] You walk down the staircase...
          ERROR - can't find opposite end of stairs/portal!
    - [+] You walk down the staircase...  ERROR - unlinked stairs!
    - [+] This is related to the fact that all the staircases came from
          Jimbo's vault
    - [+] For some reason we're not linking them when they come for ma
          vault!!!
    - [+] "joining unliked stairs" section not working???
        - [+] it calls getstairdestination, but this DOESNT call
              linkstairs!
        - [+] maby: call autolink everytime i add stairs ?  or only do
              this during createvault ?
- [+] automatically remove useless doors (ie. ones where all adjacent
      walkable cells are in the same room)
- [+] in fix_reachability i'm drawing a corridor through vault/room
      walls. <- probably this one.
    - [+] don't allow auto reachability to enter rooms through the
          wrong side wall.
    - [+] TEST during regular playtests, see if maps look better.
- [+] quality on doors.
    - [+] sturdy / plain / shoddy doors. this impacts the hp
    - [+] stone doors (solid / plain /crumbling)
    - [+] metal ( reinforced / plain / rusty)
    - [+] only show this if perception >= beginner
- [+] dungeon shapes
    - [+] new cell attribute - locked.
    - [+] calcroompos can't make rooms on locked cells.
    - [+] normal
    - [+] cross
    - [+] circle
    - [+] turret
    - [+] - premask out blocked cells before generation!
- [+] minion code - if leader dies,
    - [+] minions drop morale
    - [+] and might either immediately flee 
    - [+] need lastdamlf
- [+] if wisdom >= gtaverage, automatically turn off lamps when you go
      to sleep 
- [+] "scratch"/"gnaw" etc should be based on actual damage hp amount,
      not percentage.
    - [+] change getattackverb()
    - [+] 1-2
    - [+] 3-6
    - [+] 8-12
    - [+] 12-18
    - [+] 18+
- [+] shop objects should start with all flags known.
- [+] allow usage of godstones without id'ing them first.  this will id
      them.
- [+] weapon/armour shop should resize armour for you for a cost.
- [+] chanelling bonus
    - [+] novice
        - [+] tell you when wand is low on charges (0-3)
    - [+] beginner
        - [+] let you determine exact remaining charges in wands once
              it is == 1!
    - [+] adept
        - [+] let you determine exact remaining charges in wands once
              it is <= 3!
    - [+] skilled:
        - [+] let you determine exact remaining charges in wands once
              it is <= 6!
    - [+] master
        - [+] lets you always see full amount of want charges.
        - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 04:02:26 +00:00
Rob Pearce 060470ac3a - [+] allies should always give out info without payment
- [+] ....but only about their home level!
    - [+] f_startmapid
- [+] cave entrances should make noise
    - [+] drip
    - [+] echoing
- [+] cope with multiple f_makesnoise flags on objects (pick one
      randomly)
- [+] showlfstats skill display bug - "MORE" keystroke doesn't fall
      through.
- [+] You impale the chicken!  The chicken turns to face you.
    - [+] shouldn't turn to face if your'e dead!
- [+] nulllify spell not populating seenbyplayer
- [+] crash in createfakes()
- [+] animals hsould still walk onto SHARP objects.
- [+] secret doors showing up as empty remembered cells when you look
      away from them (and have lowish cartography)
- [+] don't call remove_deadends on vaults.
- [+] when walking down stairs to level 3:
    - [+] ERROR - stairs link to existing map 3('dungeon L2 (id #3)',
          depth 2), but it has no free stairs
    - [+] ie. Level 3 has too many up staircases ? no. 3 on all of them.
    - [+] FIXED. countstairs() was including too much.  now using
          countmapobs(map, stairtype) instead.
- [+] The goblin rogue a half-sized leather armour (null).
- [+] fixed crash when you cast rage on someone who is eating.
- [+] crash when catching  a glowbug in a flask
- [+] use canreachbp code when selecting armour to damage as well....
      ie newt can't hit your helmet!
- [+] BUG: "tunnel doing up" went down!
- [+] for monsters:auto raise lf stats to match starting weapons
- [+] crash in aigetspelltarget() for CLIMB
- [+] should deactiveate all spells on polymorph
- [+] allow usage of FEIGNDEATH while prone.
- [+] make coprses non-stackable
- [+] CRASH in animatedead
- [+] shouldn't say 'you attack x from behind' if x has awareness
2012-01-06 00:20:57 +00:00
Rob Pearce 040b9bf052 - [+] don't place draininge grates on low floor!!
- [+] gate spell should always take you to a location wihtout water!!
- [+] enhance speak with dead spell (SPEAKDEAD)
    - [+] may ask "how did you die" plus one of the below:
    - [+] tell me about the area
        - [+] mark stairs on the map
        - [+] mark shops on the map
        - [+] tell about very rare objects 
    - [+] tell me about nearby dangers
        - [+] tell about odd monsters
        - [+] tell about traps
    - [+] test
- [+] let you ask peaceful lfs about the surroundings too
    - [+] move code into io.c "askaboutarea(char *who)"
    - [+] test
- [+] the first time you ask someone for info, randomly determine
      whether they know about:
    - [+] stairs (high chance)
    - [+] shops (medium chance)
    - [+] traps (low chance)
- [+] areacomms_danger should include out of depth monsters - need
      isoutofdepth(lf)
- [+] room floors should take the entry type from the habitat, NOT just
      use ct_room!!!!
- [+] sometimes generate fixed SEWER regionthings
    - [+] done
- [+] BUG: canT enter goblin caves again!!!!
    - [+] getting "ERROR - can't find opposite end of stairs/portal!"
    - [+]   FAILED to link stiars: 'tunnel leading up'
- [+] make maps direct you to regionthings.
    - [+] region things need unique IDs !!!
    - [+] change F_MAPTO
        - [+] v0 = src region  id
        - [+] v1 = src depth
        - [+] v2 = regionthing with whatkind = RT_REGIONLINK
    - [+] when generating map objects, fill in a random branch entry
    - [+] fix getobname code for unknown maps.
    - [+] TEST
        - [+] with "map to the goblin caves"
        - [+] with "map"
        - [+] with "map to"
    - [+] use "the goblin caves are to the north", not "is to the north"
        - [+] is
        - [+] isn't
    - [+] test reading a map when on the wrong branch
    - [+] test reading a map when on the wrong level
    - [+] test reading a map when on the right level
- [+] move staircase generation to END of map create
    - [+] finalisemap()
    - [+] countobswithflagval(obpile, flagid, val0...)
    - [+] countmapobswithflagval(map, flagid, v0...)
- [+] jimbo's map should lead you to one of the major branches.  
- [+] crit pos shouldn't be higher than you can reach!
    - [+] same size or bigger = can reach anything
    - [+] 1 size smaller = you can't reach the head
    - [+] 2 sizes smaller = can't reach head or hands
    - [+] 3 sizes smaller = can't reach head, hands or body 
- [+] jimbo's room should contain all the staircases
- [+] make you have to pass a speech check before people will tell you
      about the area
- [+] bug in recruitment skillchecks - using wrong attribute, and too
      easy.
- [+] rename dwarf to delver
- [+] somtimes say "dons" instead of "puts on"
2012-01-04 15:54:28 +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 8d0d14b8dc - [+] change noise() calls to use enum sv_
- [+] make skeletons vuln to fall
- [+] sz_tiny an below objects shouldn't block doors from closing
- [+] double message for energy blast trap
- [+] scroll of charging/replenishment
- [+] random wands - maxcharges shouldn't be fixed to the start amount
      of charges. should be the highest possible start amount!
- [+] fixes to jammed door opening
- [+] flying creatures are too hard to hit.
- [+] make armour piercing be a number not a boolean on/off
- [+] make axes be armour piercing.
- [+] change display of armour piercing in io.c to reflect f->val[0]
- [+] change"of sharpness" to "of penetration", and make it use
      f_armourignore, not f_armourpiercing
- [+] You start training...  .  Your frozen battered lit torch freezes
      some more.
      Your training is interrupted!  Something burns you.
    - [+] but i didnt even have a torch!  got this msg for someone else?
- [+] Frozen by a ice sprite's frozen battered lit torch.
    - [+] don't show the condition
- [+] STILL problems with jammed doors opening on the first try
- [+] add more armour sizes for tiny etc, but leave it so that only
      medium/human/large are randomly generated.
- [+] battery - chargable things take power from this (anything with
      f_replenishable)
    - [+] do this during usecharge() 
    - [+] only if it's known.
    - [+] show charges in makedesc_ob
- [+] nullify spell (wild)
- [+] nullify wand
- [+] don't allow criticals on plants since they don't have blood,
      ribs, etc
- [+] gremlin (tools/tech/wands don't work)
2011-12-28 05:06:47 +00:00
Rob Pearce 585876caee - [+] high metalwork/sewing lets you make things into masterwork
(combine two).
- [+] get dizzy if you turn too much.
- [+] stomach
    - [+] obejcts - gems etc (check phone)
    - [+] if you kill it form inside, you get expelled.
- [+] don't say "you hear fighting" when things are attacking you!
- [+] fix crash in polymorph code
- [+] All bandits should demand gold
    - [+] when you give it to them, thel ALL get satisfied.
- [+] more flagpile corruption still happening.
    - [+] wasn't allcoating enough space for losdark in precalclos.
- [+] still missing death announcement for plauyer pets
- [+] reduce #attacks for young hawk to 1
- [+] mercy
    - [+] say this to intelligent mosnters then pass a speech check
    - [+] if you pass:
        - [+] they say something
        - [+] they ko you
- [+] monstesr shouldn'ts randomly move into unconscious/dead lfs
- [+] monsters should take wanted obs from adjacent unconscious lfs
    - [+] when you wake up: "some/all of your items are missing..."
- [+] at beginner weapon skill level: exposed strike - takes longer but
      higher accuracy?
- [+] impaler frog
- [+] sinkmite
    - [+] drills for hands
    - [+] canwill Ot_s_dig
    - [+] targetting:
        - [+] fleeing: downwards
    - [+] can drill downwards to flee
    - [+] can dig through walls
- [+] necrons:
	- [+] trapper - blue
	- [+] reaper - red
	    - [+] scythe
	    - [+] hurricane strike
- [+] bug: necron reaper is not preffering its weapon for attacks....
      why?
    - [+] check attackcell()
- [+] fix colour in retaliation text
- [+] need to announce hurricane strike ability
- [+] amnesia scroll  - lose all skill points!
- Hecta effects
- [+] flay flesh (bleed depending on hitdice)
- [+] hecta's servent (skeletal hand rises, cannot move, grabs adjacent
      lfs, drags underground)
2011-12-20 08:03:15 +00:00
Rob Pearce 27f08ed7ab - [+] stomach code
- [+] create 1 vault
    - [+] must have:
        - [+] ot_playerstart
        - [+] ot_stomachexit
    - [+] swallow ability moves to there
    - [+] when the lf dies, destroy the map
    - [+] TEST
    - [+] mover object
        - [+] moves you if you didn't move
        - [+] f_pushdir, v0 = dir
        - [+] invisible obejct
    - [+] may flip them horizontally
    - [+] chance to dodge the swallow
- [+] rename green ooze to "sizzling slime"
- [+] don't put traps on top of stairs!!
- [+] remove unneeded extra redraw when changing levels.
- [+] make ']' show object AR bonusss
- [+] don't even call precalclos during endgame.
- [+] don't say "you see footprints and footprints here"
- [+] break grabs when you fall unconscious
- [+] bug - ring of wounding not working.
- [+] crash in free(npcnames) !!!!! pointer being freed was not
      allcoated
- [+] grave sprite
- [+] glutworm
    - [+] swallows you
    - [+] eats all objects
- [+] canines/felines should die from chocolate
- [+] weapons with multiple damtypes
    - [+] at adept skilllevel, you can change type (but only with
          weapons you're pr_skilled or higher in)
    - [+] f_altdamtype xx.  must have altdam for normal dam too.
- [+] fire primality
Hecta effect: - [+] necrotic beam
2011-12-19 08:04:49 +00:00
Rob Pearce edd16853c8 - [+] CRASH in killflag()
- [+] symptoms
        - [+] often happens right after creating a new map (ie. trigger
              it through a gate spell)
            - [+] bug in createriver(). fixed.
            - [+] somehow casting GATE is causing object flagpiles on
                  the PLAYER's map to become corrupted.
        - [+] "the young hawk wakes up" CRASH, flagpile corrupt on
              stone.
        - [+] object itself seems okay.
        - [+] o->flags is becoming corrupt!!!
            - [+] so all its flags are becoming corrupt (id = massive
                  number, next = fffff)
        - [+] traceback:
            - [+] #0  0x0000000100081188 in killflag (f=0x103321090) at
                  flag.c:815
                  #1  0x0000000100081b3a in timeeffectsflag
                  (f=0x103321090, howlong=1) at flag.c:1075
                  #2  0x00000001000825f8 in timeeffectsflags
                  (fp=0x1038e0600) at flag.c:1302
                  #3  0x0000000100129b01 in timeeffectsob
                  (o=0x1036e2460) at objects.c:11877
                  #4  0x0000000100005114 in timeeffectsworld
                  (map=0x102aa1a00, updategametime=-1) at nexus.c:1685
                  #5  0x0000000100003a28 in donextturn
                  (map=0x102aa1a00) at nexus.c:952
                  #6  0x00000001000029b1 in main (argc=1,
                  argv=0x7fff5fbff848) at nexus.c:525
        - [+] try this: in timeeffectsflags on objects, check PREVIOUS
              object's flagpile.
        - [+] try this: add checkflagS() after updatefpindex
        - [+] NOT happening during timeeffectsob().
        - [+] compile with optimisation.................
        - [+] hapepning in createmap. but objects on the PLAYER's map
              are being corrupted, not the new one.
        - [+] happening in addrandomthing()
        - [+] happening in addmonster().
            - [+]                 lf = addmonster(c, R_RANDOM, NULL,
                  B_TRUE, 1, B_TRUE, nadded);
            - [+] (glowbug was created)
        - [+] happening in addlf()
            - [+] glowbug again!! to do with light recalc ??
        - [+] happening in setrace()
            - [+] happening while inheriting F_AWARENESS.  have double
                  checked to confirm this!
        - [+] in HASLOS????!!
        - [+] addflag->flagcausesloscalc, so haslos for all on the map.
               problem happens when we call haslos() for the lf getting
              F_AWARENESS added.
        - [+] is the problem that doing a los recalc breaks when we are
              still missing half our racial flags ?
        - [+] QUICK FIX:
            - [+] dont recalc los for any lf where born = 0. just set
                  nlos to 0
            - [+] and manually recalc los just before returning from
                  addlf
        - [+] put sawgrsaas back to being common, not frequent
        - [+] is this finally fixed now? i think so!!
        - [+] if so, remove calls to "checkallflags" and most calls to
              checkflags()
    - [+] remove agility bonuses for weapon acc. now comes just from
          skill and from agi scaling on weapons.
    - [+] maybe difference in hit dice is a bad way to determine
          shieldblock difficulty.
        - [+] ...because the player rapidly gets higher than all other
              monsters on their dungeonlev.
        - [+] maybe just use monster's hitdice, ignore players.
    - [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s 
- [+] flag.c bug: don't need to set player->losdirty when recalcing
      light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
    - [+] they don't appear in knowledge, so don't appear to have a
          hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
    - [+] "will lower your accuracy by 1"
    - [+] instead of
    - [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
      higher than weapon's stat.
    - [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
    - [+] size check obviously isn't working.
    - [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
    - [+] removed,
    - [+] ...but now tha tI've removed 'p' for picklocks, can i still
          use 'o' on a dagger or similar?
    - [+] NO
    - [+] maybe turn "pick lock" into a still
    - [+] how do you gain this? level 1 lockpicking 
    - [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
    - [+] valgrind
        - [+] found a memleak problem:  definitely lost: 10,719,039
              bytes in 11,420 blocks
        - [+] not killing flags when we kill an object!!!!! fixed now.
        - [+] memory usage is now ticking up heaps more slowly.
        - [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
    - [+] the door is jammed!
    - [+] you force it open.
    - [+] used f_jammed v1 = known
2011-12-16 19:54:08 +00:00
Rob Pearce 58f23588e8 - [+] weapon skill of sk_skilled or high gives you a chance to block
some damtypes
    - [+] BUT each weapon can only block certain damtypes (whereas
          shields can block all melee damtypes)
    - [+] add f_canblock to some weapons
    - [+] add f_canblock to shields
    - [+] check_for_block() should be a function
    - [+] getallshields()
    - [+] move othermod in SC_SHIELDBLOCK out of skillcheck(). 
          calculate the bonus beforehand instead?? 
    - [+] update descriptions for weapon skills
    - [+] can only block if you have full attrib requirements for this
          weapon
    - [+] update io.c to show what weapons/shields can block. "it can
          block xx, xx and xx damage"
    - [+] weapons can't ever block projectiles
- [+] make pickup/drop actions heaps faster
- [+] better description of agi/str affecting weapon accuracy/dam
- [+] stinkbeetle should be hostile, and should have bite attack ,not
      zapper
- [+] don't recover stamina while training
- [+] add seetext for "a blaring siren"
- [+] draw up a matrix for weapon types
    - [+] draw it up for:
        - [+] accuracy
        - [+] damage
        - [+] attack speed
        - [+] crit chance
    - [+] then adjust weapon stats
- [+] in shops, "?" now lets you examine an object
- [+] add canwill option for abilities:  "stamcost:" (to override
      stamina cost)
    - [+] add it.
- [+] bug: pickaxe not working
    - [+] "you start digging".  but nothign more.
- [+] salt kills:
    - [+] frog
- [+] impaler frog
    - [+] canwill jump
    - [+] ranged tongue attack
    - [+] killed by salt
- [+] BUG; getting manuals with no contents
- [+] odd-sized armour should cost more.
- [+] need to set statdirty when we change armour.
- [+] when we say "you see x and y here", don't include obs we can't see
2011-12-12 16:40:17 +00:00
Rob Pearce 58e61e6a07 * [+] CRASH when you create a pit on the last level of a dungeon.
- [+] no evasion if grabbed/grabbing
- [+] polyrevert only usable if you cast the spell AND it's controlled
- [+] salt kills leeches, causes pain in lfs who are bleeding
- [+] raging ai will attack anything
- [+] rage gives big morale boost
- [+] potion of fury
- [+] don't run onto water if it will hurt you!
- [+] bad brands should be cursed more often. brands should have
      "startcursedchance"
    - [+] brand->blessstatus, br->blesschance
2011-12-11 16:47:45 +00:00
Rob Pearce f31222e47d - [+] all torches are broken!!! i'm not setting losdirty when a cell's
light level changes
    - [+] try implementing "haslosdark"
    - [+] TEST TEST TEST - at the moment this is causing massive
          amounts of redraws!!!
- don't announce sounds when we can see the source (but monsters still hear them)
2011-12-09 03:39:57 +00:00
Rob Pearce 0f99007c2a added bazaar vault.
- [+] remove damage from jumping onto other lfs
- [+] when you jump in water or something lands in water: "you hear a
      splash"
- [+] tweaks to how evasion works.
- [+] The book crumbles to dust.  Your manual is no longer glowing.
      FIXED.
- [+] fix msghistbuf for askchar - not showing your choice.
- [+] in shops, show prices in red if you can't afford them.
- [+] retaliate should only work if you're still adjecent
- [+] show Ravenous in RED
- [+] no xp for rapid ivy clones
- [+] make weapon of impact only knockback 33% of the time (instead of
      always)
- [+] don't set F_NOSCORE when quitting.
- [+] some scrolls cost $1??
- [+] You see a masterwork shoddy club here.
    - [+] shouhldn't be able to have both!!!
- [+] change bleeding code.  lowhp doesn't mean bleeding.
    - [+] also change flee on bleed etc
2011-12-09 00:37:02 +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 9da88f06e3 - [+] ob1() macros
- [+] healing  potions should heal even "permenant" injuries
- [+] potions/spells
    - [+] summon decoy (chicken horde) spell  - "friends!"
    - [+] potion of spider climb (arachnid adhesion)
    - [+] gloves of the spider
- [+] F_startobwepskill sk_shortblades etc
- [+] change mosnter starting weapons to be based on wepsk, not
      specific named weapons
- [+] make wrapprint cope properly with 0 length strings
- [+] fix io.c showlfstats layout
- [+] fountains of xp should always dry up after one use!
- [+] plants shouldn't leave footprints!
- [+] fix overcomplicated code in updateknowncells
- [+] you always "see" allies following you down/up stairs, even if
      they are behind you.
- [+] remove dtresist slash from skeletons - their bone skin reduces
      this already.
    - [+] leave dtresist pierce because it's hard to hit them.
- [+] confirm gold amount when donating to shops
- [+] increase piety by half of any gold donated to temples
- [+] move hp, mp, sp to same line as target, and make them into bars
    - [+] HP:[    11 / 11   ]
    - [+] makebar(window,min,max, loss,barcol, losscol)
        - [+] print the prefix:  "HP:["
        - [+] construct the bar string to fit into 10 chars: "     11 /
              11    "
        - [+] print it one char at a time, setting bg as follows:
        - [+] background:
            - [+] 0 - min is barcol
            - [+] min+1 - min+loss is losscol
            - [+] rest is black
        - [+] print the suffix:  "]  "
    - [+] remember last dam amount for hp.
    - [+] show mp and stamina like this too.
- [+] update viewpoint sooner when moving vertically
- [+] if you can't comprehend the contents of a spellbook, don't ID it!
- [+] hpbar: pass textcol and texcolwithbg
- [+] show f_stability in @e
- [+] don't identify tech inside shops if it's beyond your skill level
- [+] bug:  "a cursed +-1 ring of dexterity"
- [+] enraged or deaf lfs shouldn't respond to chats
- [+] drawbar:  show mp/sp text in orange if it's at 0.
- [+] allow vegetarians to eat frozen corpses.
- [+] anything flying + stunned loses flying.
- [+] chance for monsters to throw missiles is reduced when acc <  C
    - [+] use same code as firearms
- [+] undead shouldn't lose consciousness - they should jsut die.
2011-12-05 17:03:47 +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 d2be8b6c6a - [+] corpse colours aren't working anymore.
- [+] bug: knocking a sleeping lf unconscious fails, they kepe
      sleeping.  need to change the f_sleeping flag! 
- [+] another secret door bug: can identify them in askcoords!! fixed.
- [+] wrong order for text:
    - [+] You attack the helpless kobold!  You kill the kobold!
          The kobold shouts "This isn't over!".
    - [+] SOLUTION: say "the dying kobold shouts ...."
- [+] only use death text somtimes. random chance.
- [+] force player sarting dir to be the one with the most LOS cells.
- [+] avian/ashkari monks
    - [+] at both initial creation and levleup:
        - [+] need to update hasattack claws, not hasattack fists.
        - [+] genericise this to just use whatever f_hasattack flag you
              have?
- [+] bug with flying creatures falling:
    - [+] You miss the giant bat.  The giant bat bites you.
          The giant bat stops flying.  The giant bat falls to the
          ground.
          The giant bat's ribs are cracked!
    - [+] was causing ATTACKER to fall, not defender.
- [+] fix bug with objects falling through pits.
- [+] new sewer map type:
    - [+] BUG:  getting empty map!!!
        - [+] roomon etc is good.
        - [+] but map empty
        - [+] probably an issue with corridor vs section size...
    - [+] make drains be locked again
    - [+] grating causes stench
    - [+] monsters:
        - [+] aquatic animals (piranha, merloch, etc)
        - [+] slimes
        - [+] troglodytes (and anything which causes stench)
        - [+] rats
        - [+] water snakes
    - [+] drains should make sounds ("you hear a drip")
- [+] snakes shouldn't get nauseated.
    - [+] F_NOSMELL.
- [+] feigh death shouldn't work on things which are attached to you
      (leech/mosquitoid)
- [+] stores should never sell gold coins!!!
    - [+] givestartobs() - give a potion of water instead if it's going
          to a shop
- [+] no resting when raged
- [+] make MAXIMUM map height higher. bumped from 20 to 30.
- [+] grating cell/object?
    - [+] liquids fall through it.
    - [+] to unlock it:
        - [+] loosen with spanner
        - [+] knock spell
        - [+] pick the lock
        - [+] lock hacker
2011-11-30 02:06:16 +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 c522cac6c0 - [+] bug: mosnters not wkaing up
- [+] why don't i see "%s dies" when my ally dies?
    - [+] cause it was behind me.  added sound to tell us about this.
- [+] bug: s - 2 four leavesed clover
- [+] random portals
    - [+] genericise code for making destination
    - [+] check gate spell
    - [+] enter a portal which doesn't go anywhere = generate a
          destination.
- [+] increase range of all light sources
- [+] ring of hunger should override vege/carni
2011-11-24 19:06:24 +00:00
Rob Pearce e9edb81ec6 - [+] when something grabs you, show an 'X' in its location so you know
SOMETHING is there.
    - [+] do this in getscannedthing .  glyph = 'X'
    - [+] make grabbing force a redraw if the target is the player!!
- [+] fix crash for fountain of ambrosia (because potion name starts
      with 'vial' not 'potion')
- [+] show X for latched on monsters too
- [+] and make latching onto the player force a redraw too
- [+] chnage f_rage flag redraw to be done in flagcausesredraw()
- [+] shop bugs
    - [+] bug: food vendor only had 3 pieces of food
    - [+] bg: jewellery store had no items!!
- [+] getrandomobject bug
    - [+] bug - wantrr too low!!!
    - [+] if wantrr gets to 0 and still nothing, start ticking up from
          original value.
- [+] bug: rings cost $0
- [+] need a warning before invisibility runs out
- [+] make most recipe food heal you a bit
- [+] if interrupted halfway through training, remember where we were
      up to
    - [+] instead of using F_TRAINING->val[2], use F_TRAINING->val[0]
          (v1 is the goal)
    - [+] when you start resting, if you don't already have it, add it:
        - [+]                 v1 = 50;
                              v1 = modifybystat(traincounter, player,
              A_IQ);
        - [+]                v0 = 0
        - [+] if you DO have it, drop v0 by 25 modified by IQ.  minimum
              of 0.
    - [+] when you train, INC the counter, don't dec it.
    - [+] when v0 = v1, your'e done.
    - [+] when you finish training, kill the flag.
- [+] shadowcat meat - produce and see through smoke
- [+] split aimove up into sections
    - [+] emergencies
    - [+] healing
    - [+] housekeeping
    - [+] inventory mgt urgent
    - [+] attacks
    - [+] pre-movement
    - [+] movement along existing paths
    - [+] boredom
        - [+] go back to my shop
        - [+] look for something to attack
        - [+] gods go home
        - [+] training
        - [+] inventory_mgt_nonurgent
            - [+] repairing armour - move this to inventory mgt??
- [+] snakes "slither into a wall", not walk. use F_WALKVERB
- [+] animate stone spell - turn statues to pets.
- [+] can't be both a vegetarian and carnivore!  race overrides job.
2011-11-23 22:10:08 +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 c9fcd90a2c - [+] better body part handling
- [+] bodypart_t[MAXBODYPARTS]
        - [+] enum BODYPART id
        - [+] char *name
    - [+] add defs to all races
    - [+] fix quadrapeds - not all have tails!
    - [+] remove f_bodypartname - use addbodypart instead
    - [+] update hasbp
    - [+] remove  occurences of F_NOBODYPART in races
    - [+] fix up getrandombodypart functions
        - [+] getrandomonbodypart
        - [+] getcrithitpos
        - [+] copy with null returns
    - [+] check all occurences of MAXBODYPARTS, change to "for each
          bodypart of this lf/race"
    - [+] show nobodypart differently in io.c 
    - [+] criticals:  hindlegs / frontlegs -> legs
    - [+] makeunusual shaped be part of the body part. then remove 
          F_NOARMOURON
- [+] critical hits on new body parts
    - [+] wing crits
        - [+] bash - wings are bruised - reduced flight speed
        - [+] slash
            - [+] - wings are torn - can't fly. implement in cancast.
            - [+] bleeding - flying hurts
        - [+] explosive
            - [+] destroyed - can't fly!
    - [+] tail crits
        - [+] slash
            - [+] bleeding
        - [+] bash
            - [+] bruised - accuracy lowered
            - [+] fractured - randomly move the wrong way like
                  drunkenness
        - [+] explosive
            - [+] lacerated - randomly fall like hamstrung
- [+] don't prompt for moving into dangerous cells f moving randomly
      due to drunkenness etc
- [+] bug: double criticals?
    - [+] You flatten the kobold!  The kobold loses consciousness.
          The kobold's hand is swollen!  The kobold's leg is broken!
- [+] all f_flying races should have f_canwill ot_s_fly with no
      spellcasttext
2011-11-22 21:32:10 +00:00
Rob Pearce c596623603 - [+] monk fist damage not increasing.
- [+] RANDOM MONSTER BUGS
    - [+] levle 1: always getting goblins/kobolds
    - [+] levle 2: always getting poltergeists
    - [+] debug getrandomrace()....
    - [+] enforce f_rarity val[2] != NA!!
- [+] empty levels
    - [+] whenever we pick rr=frquent, we're getting no monsters
    - [+] start MONSTER randomness at COMMON
- [+] bug: i lost f_size when i died when polymorphed!
- [+] yumi should only hate killing helpless things, not ANYTHNIG!
- [+] make armour more common than weapons, since this tends to get
      damaged
- [+] bookshelf (contains scrolls/books)
- [+] wardrobe (contains armour)
- [+] coffin sometimes contains corpses
- [+] not getting enough objects now ??
2011-11-22 00:38:01 +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 25ca8f3e43 - [+] fix bug in randomtalk
- [+] fix bug with beggars
- [+] prompt before giving money in C-d
- [+] bug: allies walking into walls
- [+] make your own race / job more likely to kjoin for less gold
- [+] new rarity level: rr_frequent ?
    - [+] add it
    - [+] in swamp, aquatic things are freqentut
- [+] swamp level:
    - [+] createdungeon (but use different h_habitat. how do i do this?)
    - [+] then remove all doors
    - [+] then change all walls into deep water
    - [+] add rarity for monsterss
    - [+] add rarity for objects
- [+] add f_nolink for vaults which aren't linked to rest of map
- [+] fishbowl vault
- [+] change misisle dam calculation - add firespeed rather than
      multiply.
- [+] forced shops at certain level intervals
    - [+] implmement RT_OBJECT text=objectname
    - [+] add buildings at levles 2-4 5- 7 8 - 10 11-13 14-16 17-19
          20-22 23 -25
- [+] split sp_ally_attack into attack and attack_unseen
- [+] base throwspeed on throwin gskill, not strength
- [+] make it much harder to catch thrown missiles
- [+] try to place RT_OBJECTs in rooms
- [+] maybe get rid of sound lowering for 's'lowwalk. this should be
      based on stealth!

- [+] don't let you walk down stairs if there's an impassable object in
      the way.
2011-11-17 00:50:33 +00:00
Rob Pearce 10e4713940 - [+] shops on a level should make loud sounds every few turns. (onein3)
- [+] inifniite loop in ?k
- [+] add to balaclava:  equipconfer -> f_anonymous
    - [+] can't get banned from shops with this!
- [+] when randomly increasing skills, don't select maxed ones.
- [+] remove warning for movement while bleeding
- [+] injuries heal too fast.
- [+] bug: The sound of sounds of fighting awakens you!
- [+] shouldnt be able to rest while airborne!
- [+] make drunkenness give more damage resistance!
- [+] "unseen" etc not working on tombstone
- [+] bug: merloch getting infinite attacks!!
- [+] add "a xxx moves out of view"
- [+] why are wizards starting with 2 cold spells? fixed. was getting
      an extra one for gaining a "new" spell skill.
- [+] slowwalking shoudl reduce move volume, not eliminate it.
- [+] i noticed a secret iron door forom 6 cells away!
    - [+] make SC_SEARCH not autopassable on natural 20.
- [+] armour can have a SIZE
    - [+] remove some occurences of "f_noarmouron"  for sz_large,
          sz_small creatures
    - [+] in "canwear", implement size check.  if lf's body size isn't
          sz_human then armour must have "f_armoursize -> sz_xxx"
        - [+] exception for ears / eyes
    - [+] f_multisize
    - [+] f_armoursize sz_xxx
    - [+] can only wear armour whih is your size
    - [+] in io.c, show armour size
    - [+] assign f_multisize to objects
    - [+] when adding objects
        - [+] cope with asking for "large armour" etc
        - [+] adding to a lf's pack? make sure armour is the correct fit
        - [+] somewhere else?  25% chance of different size.  if so,
              50/50 as to which way.
    - [+] in getobname, show "huge armour" etc
        - [+] medium ("halfling size pair of gauntlets"),  human
              ("gauntlets"), or large ("huge gauntlets")
    - [+] high sewing/metalwork skills will let you modify armour for
          custom fit.
        - [+] half the hit points of the object
- [+] implement a multi-level menu system for shops
- [+] text on shop exit ("thank you for your business!")
- [+] shops:
    - [+] only let you donate if you can takeoff / unweild it first.
- [+] replace "vending machine" with shop
- [+] make shops/buildings their own category
    - [+] this will let us say 'random shop'
- [+] enable stealing from shops
- [+] armour
- [+] book
- [+] weapon
- [+] general
- [+] potion
- [+] hardware
- [+] food 
- [+] jeweller
- [+] always show full name for shop items
- [+] temple of xxx -
    - [+] actions
        - [+] donate
        - [+] detect curse
        - [+] bless(costs more if equipped)
        - [+] absolve sins
        - [+] special depending on who the temple is to?
    - [+] temple of'xxx' - assign in addobject()
- [+] extend CHA/SPEECH mods to all shops
- [+] disable stacking for shop objects
- [+] hotel/inn 
    - [+] actions
        - [+] pay to rest (for 100 turns)
            - [+] if you do this, call startresting() before exitting
                  shop
            - [+] and set some kind of flag so monsters will never
                  approach
            - [+] maybe:  f_resting_in_hotel
            - [+] and so that they will never wake up you up through
                  sound
            - [+] remove these when you stop resting.
            - [+] force you to stop resting once your time expires
        - [+] buy food/drink
- [+] weapon shop:
    - [+] donate weapons
- [+] armour shop:
- [+] buy armour
- [+] donate armour (so that monsters don't pick it up!)
* [+] firearm reload messages
- [+] don't take f_throwmissile into account when using telekinesis
- [+] ranged weapons: auto reload after firing.
    - [+] done.
2011-11-16 00:57:21 +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 497b4e0ead - [+] shouldn't be able to dodge if you can't move! ie sawgrass
- [+] chef steak knives aren't stacking. - because they weren't
      f_stackable!
- [+] chicken soup - cures poison
- [+] finish ob donate code
    - [+] chance of becoming pet
    - [+] only certain races
    - [+] only  f_tamable (but harder than pets)
- [+] implement lfflammable
    - [+] io.c announcements ( move from shatter()) 
    - [+] fire effect
- [+] sugar water
- [+] gaining skills too quickly at higher levles
    - [+] maybe make it get slightly harder each time.
    - [+] keep a count of total skillpoints ever gained
- [+] fixes to rollhitdice
- [+] missile weapons doing no damage!!
- [+] no sprinting while levitating / flyign 
- [+] icicle spell should deal piercing damage if lf can't be pushed
      out of the way
2011-11-09 01:18:07 +00:00
Rob Pearce d5c24cd742 - [+] add a bunch of gemstones - worth points
- [+] 'thrust' ability isn't showing up in ABILS
- [+] give slight accuracy penalty when thrusting
- [+] fixed shieldblock difficulty in melee combat
- [+] increased maxstamina
- [+] don't require stamina to move!
- [+] "You hear a roars."
- [+] remove duplicate corpse rot code
- [+] CRASH
    - [+] malloc: *** error for object 0x1349d94f8: incorrect checksum
          for freed object - object was probably modified after being
          freed.
    - [+] #7  0x00000001000f438a in addobject (where=0x134edc060,
          name=0x0, canstack=0, wantlinkholes=-1, forceoid=OT_CLAWS) at
          objects.c:983
          #8  0x00000001000f298d in addobfast (where=0x134edc060,
          oid=OT_CLAWS) at objects.c:409
          #9  0x00000001000b621b in getbestweapon (lf=0x114439ff0) at
          lf.c:5194
          #10 0x00000001000087fa in aiturn (lf=0x114439ff0) at ai.c:1236
    - [+] fixed ?
- [+] instead of everything >=6 being dark, make a CHANCE to be dark
      starting at l6.
- [+] why do i ese gem of seeing so often
    - [+] because i need more types or 'rock'
- [+] have to cook food before eating it?
    - [+] need novice cooking skill for preparecorpse ability
    - [+] otherwise you only get a very small amount of nutrition (10%)
- [+] split ob piles before eating them
- [+] detect poison should detect poison traps
- [+] telling your ally to rest until healed isn't working...
    - [+] wasn't taking injuries or stamina into account.
- [+] change druid spells
    - [+] start with 3 random spells
    - [+] on levelup, select a random nature spell (up to your highest
          level)
2011-11-08 01:19:25 +00:00
Rob Pearce 7cd169637c - [+] magic map should be magical
- [+] crash when generating monster warriors
- [+] bug: calling taketime twice when attacks fail?
    - [+] (once in attackcell(), then again in attacklf() or
          attackob()) 
- [+] weapon changes:
    - [+] in general, lower accuracy for piercing weapons
    - [+] in general, raise accuracy for slashing / bashing weapons
    - [+] long piercing weapons (ie. spear) give you a 'thrust' ability
          (attack 2 cells away)
    - [+] long slashing weapons cannot be used if < 3 open cells around
          you (f_needspace)
- [+] maybe: you can't "hear" your unseen ally if they are asleep 
- [+] need to draw after flying things swoop away, in case they block
      your view.
- [+] raceslaying weapons
    - [+] dragon - dragonslaying
    - [+] animal - butchering
    - [+] plant - of blight
    - [+] undead - of divine power 
    - [+] magic - of antimagic
- [+] brand restriction
    - [+] brands:  f_onlygoeson ot_xxx
    - [+] brands:  f_onlygoesondt dt_xxx
    - [+] check this in brandappliesto

- [+] "pyromania" spell
    - [+] for all fires or burning objects in sight: (implement
          getflamingobs() )
    - [+] "the fire flares!" (fire objects regain full hp, burning
          flags gain lifetime)
    - [+] large fire obs:surround it with smaller ones. 
    - [+] small fire obs: make bigger
    - [+]  burning obs: make a small fire
    - [+] give it to red dragons
    - [+] ai casting... (if fire in sight)
- [+] blue dragon - lightning
    - [+] ancient has chain lightning
    - [+] flood ? lowlevel
    - [+] gust of wind
- [+] white dragon - cold
    - [+] pea soup
    - [+] hailstorm
    - [+] ancient: absolute zero ?
2011-11-07 19:39:43 +00:00
Rob Pearce 39af842e74 - [+] bug: when ally can't see you it goes to sleep
- [+] after waking it just goes to sleep again!!!
- [+] bug:npc warriors aren't starting with a weapon
- [+] shouldn't be able to shieldblock if youre asleep!!!
- [+] allies sohuld announce what they are doing
    - [+] "I'm attacking a goblin"
    - [+] I just killed a goblin
    - [+] I need some rest soon...
    - [+] make sure only HUMANS do this...hu
- [+] F_EXTRADESC v0 should be 'order'.
    - [+] makedesc_skill should honour this
    - [+] makedesc_spell 
    - [+] same with other makedesc() functions
    - [+] auto-inc this when adding them.
- [+] allies not properly following me downthe stairs
- [+] armour that can cover multiple body parts
    - [+] f_goesonmulti
    - [+] multiple f_equipped flags.
    - [+] handle multiple f_equipped in takeoff()
    - [+] all required bodyparts  must both be clear
    - [+] if not, prompt to remove both things.
    - [+] check all code for f_equipped copes with multiple
          occurences...
    - [+] display as:  f - a wetsuit (worn over body and on legs)
    - [+] update io.c.  "it is worn over xxx and yyy)"
- [+] heat metal spell
    - [+] weilded metal burns hands and you drop it (unless immunte to
          fire/burn)
    - [+] metal armour damages you (1-4 each)
    - [+] metal lifeforms take huge damage
- [+] all lifeforms should have at least novice level knowledge of
      their own raceclass
- [+] new raceclass - dragons
    - [+] define it
    - [+] define skill for it
    - [+] make jobs know the skill
- [+] red dragon
    - [+] high armourrating
    - [+] swoop
    - [+] fly
    - [+] breath weapon
    - [+] spells
        - [+] heat metal
        - [+] fireball
        - [+] burning wave
    - [+] want gold
    - [+] immune to fire
- [+] red dragon hatchling
    - [+] generally lwoer power, only has heat metal and spark ?
- [+] spellcasttext for individual spells
- [+] ancient red dragon
    - [+] higher hp and armourrating
    - [+] more damage
    - [+] more spells
2011-11-07 02:12:04 +00:00
Rob Pearce 06cf19e7c9 - [+] climbing
- [+] climb "into"walls
        - [+] stopclimbing(int onpurpose)
            - [+] can we move forwards?
                - [+] if not:
                    - [+] if onpurpose, fail
                    - [+] otherwise fall onto whoever is there??? or
                          they block you from falling??
            - [+] move forwards
            - [+] kill f_climbing flag
        - [+] startclimbing()
            - [+] move onto the wall
            - [+] set your facing to face away from the wall.
            - [+] add F_CLIMBING
            - [+] must pass a CLIMB check first or you fail to climb!
            - [+] can't climb if burdened
        - [+] once climbing:
            - [+] can't cast spells
            - [+] cannot change facing
            - [+] always strafe if you go sideways
            - [+] change los functions to let you see out!
            - [+] different move verb ("climb" instead of move/fly)
            - [+] different canmove() code
                - [+] you can only move sideways (along the wall) or
                      forwards (off the wall)
                    - [+] ie. cellindir(lf, lf->facing) == newcell
                          (forwards)
                    - [+] OR
                    - [+] ie. cellindir(lf, lf->facing + 2 (wrapped))
                          == newcell (right)
                    - [+] OR
                    - [+] ie. cellindir(lf, lf->facing - 2 (wrapped))
                          == newcell (left)
                - [+] AND you can only move sidways if:
                    - [+] the new cell is a wall
                    - [+] the cell in (lf->facing) of the new cell is
                          NOT a wall
            - [+] if you climb off a wall, tell the player that they
                  stopped climbing
            - [+] moving while climbing:
                - [+] must pass a sc_climb skill check to move
                - [+] costs 1 stamina to move
                    - [+] warn before climbing if your stam == 1
            - [+] attacking
                - [+] large penalty to hit the climber (higher for
                      smaller monstesr)
                - [+] if monsters miss you and you are climbing, chance
                      they'll give up.
                - [+] attacking FROM a wall gets a big penalty unless
                      you are very skilled at climbing
            - [+] startlfturn
                - [+] lose stam each turn.
                - [+] if stam drops to 0, you fall off or stop climbing
                - [+] you fall if burdened
                - [+] don't regen stam while climing
        - [+] ai:
            - [+] monsters won't start targeting lfs who are climbing
            - [+] monsters don't pay stamina to move while climb
            - [+] make monsters be able to climb when fleeing
    - [+] let you climb down holes instead of falling
2011-11-02 22:34:15 +00:00
Rob Pearce 1222ee9550 - [+] when saying "learn a new spell/psionic power/etc", show your
maxmp in the prompt?
- [+] manriki - throw it, tripand take time if you hit (and they fail a
      trip check withbig penalties, or if they're flying)
    - [+] f_tanglemissile
- [+] throwing net (add f_sticky on hit)
- [+] tweak throing accuracy
- [+] shadowcats now only produce smoke puffs, not clouds
- [+] giant fly corpse should be poisonous
- initial work on climbing ability....
2011-11-02 01:10:50 +00:00
Rob Pearce 965fcdd4c0 - [+] monsters should automatically attack locked doors if they're
chasing the plaeyr
- [+] if a monster tries to open a jammed door, make a noise
* [+] glyph of warding spell - monsters won't walk on it
- [+] ice crust not working? fixed.
- [+] seal entrance should close doors too
- [+] more kinds of wizard staff
* [+] replace 'freezing touch' with something more useful.
- [+] in askcoords, writing:xxx, use colours
- [+] replace poisongas damtype name with 'gas'
* [+] redo skill screen
- [+] make ash clouds (sleeping etc) not affect thrower's square?
- [+] There is a magical inscription here:  ""
* [+] rename some spells
* [+] poltergeist spell keeps missing.
- [+] reduce fire damage from burning objects in pack, or equipped
- [+] first spell in beginner spellbook should be the one we know. 
- [+] fix bug with item inspect ability
* [+] stamina food
* [+] locate object issues
- [+] still got a wrapprint bug when showing spell descriptions.
2011-11-01 20:35:50 +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 c79a0403c2 - [+] wizard staff should deal 1 extra magic damage as long as you can
pay it
    - [+] use "enchanted" weapon mod?
    - [+] test
    - [+] why aren't obmods working on start obs?
    - [+] why isn't wizard starting with staff weilded
        - [+] because gamemode was GM_LOADING
        - [+] use something different during character gen.
- [+] use different text for followup weapon hits (extradam)
    - [+] "you hit the xxx" (first one)
    - [+] "the xxx burns" (second)
    - [+] "magic blasts the xxx"
    - [+] "the xxx is chilled"
    - [+] move all of this into construct_hit_string(lf, victim, wep,
          damtype, dam, damnum)
    - [+] test
    - [+] move getkillvebr()  and getattackverb() into text.c
    - [+] make attackob() use the same code
- [+] spellbooks now contain multiple spells
    - [+] they have an associated SKILL (not spell)
    - [+] they have contents (a list of spells)
    - [+] hiddenname isn't getting assigned
    - [+] contents aren't getitng filled in
    - [+] when you read them, you learn all the spells (if you can)...
          OR prompt what to read
    - [+] DONT give wizards spells on levelup anymore?
- [+] gods should say WHY they are angry.
    - [+] angergodmaybe, angergod need to take enum GODANGERREASON
        - [+] change definitions
        - [+] change calls
    - [+] add new godsay text into angergod()
2011-10-20 17:15:24 +00:00
Rob Pearce 168a3c49ff - [+] bug: wrapprint() needs to cope with long lines which wrap!!!
- [+] in progress...
    - [+] currently hanging - fixed.
    - [+] once done, make it not add spaces
    - [+] add spaces manually in showlfstats.
    - [+] once done, change all code to use wrapprint instead of
          textwithcol
    - [+] still an issue - everything in my inventory is coming up bold!
    - [+] missing the last word again....
- [+] remove requirement that you have to be able to pick up an object
      to eat it
* [+] make ninja weapons be "exotic" or ninjitsu
- [+] ghost missing melee attacks
- [+] make oil lamps last HEAPS longer too
- [+] @ should include weapon bonuses for skill/str
- [+] "headless bones" when you kill a skeleton??
- [+] allow for change of verb instead of always using "Killed by xxx"
- [+] only call maketried() for the player
- [+] don't show 'really attack the peaceful something' if you can't
      see it!
- [+] vault: suply closet
    - [+] 1 sq room with tools
- [+] why is hecta's pain hitting the player?
- [+] make it so you can only Offer to gods you ahve prayeed to?
- [+] recalc light on:
    - [+] darkness/light spells
    - [+] eye destroyed
- [+] prevent tumble/jump while grabbed
- [+] prompt to drop when wearing new armour
- [+] canine tracking should be a potion, not a scroll
- [+] some '?' help commands not working.
- [+] add f_critprotection to armour
- [+] crash when tumbling into an lf
- [+] incrase cellknown time when no cartography skill 
- [+] change disarm and trip into abilities:
    - [+] disarm
    - [+] trip
- [+] ninja
    - [+] skills:
        - [+] athletics (enouhg to tumble)
        - [+] throwing
        - [+] unarmed
        - [+] long blades
        - [+] stealth
    - [+] objects:
        - [+] smoke bombs
        - [+] shuriken - another missle. higher dam than darts.
    - [+] how will this be different from the rogue class???
        - [+] disarm
        - [+] trip. maybe make trip polearms confer this ability?
        - [+] flip .
2011-10-18 23:08:14 +00:00
Rob Pearce a297a3c180 - [+] don't show 'the xxx look exhausted' for monsters
- [+] The giant blowfly (null).
- [+] instant disrobe spell - tleports armour to the side
- [+] why did a monk recognise a grenade? bug in conferobjectflags.
- [+] adept nature lore should identify bad mushrooms too
- [+] draining/vampiric brand - gives hp to user.  
- [+] ways to check stairs before travelling
    - [+] make getstairdestination() be the place where new maps are
          generated
    - [+] move getnoisedetails into new function
    - [+] ability to listen down stairs with adept listen skill
        - [+] atomatically trigger walknoise for all lfs within los of
              stairs, and you always pass the check.
        - [+] at expert listn you get names
        - [+] otherwise just get 'slithering' etc
        - [+] test......
    - [+] "check stairs" ability ???
        - [+] this then prompts for various methods
    - [+] smell down stairs with enhancesmell
        - [+] say "you see xxx scent" for all lfs within los of other
              end
    - [+] use perception to check stairs
        - [+] say "you see xxx footprints" for all lfs within los of
              other end
    - [+] ability to peek down stairs with adept stealth skill?
        - [+] temporarily put you there
        - [+] precaclc los with awareness in all directions from there
        - [+] show view
        - [+] wait for key
        - [+] move you back, remove temporary awareness
    - [+] add help for these skills
2011-10-16 22:45:36 +00:00
Rob Pearce 0d663e81b3 * [+] maybe a new weapon damage calculation....
- [+] eyes shouldn't adjust if you can seein the dark
- [+] make fire spread to nearby flammable objects.
- [+] issue with soldering iron
    - [+] shouldn't be able to weild it if we don't know what it is
    - [+] shouldn't be able to get stats like damage dealt ect if we
          dno't know what it is
- [+] need technology skill to weild tech weapons??
- [+] misile damage problem - Killed by a spear (thrown by an orc
      warrior).(33 damage)
- [+] ring of endurance
- [+] make evasion checks modified by speed.
- [+] bone items have higehr chance to be cursed
- [+] tweak feign death check now - int check (attacker) vs wisdom (one
      feigning death)
- [+] cursed teleportation should take you next to a monster
- [+] bug: infinite loop during getrandomroomcell(map,ANYROOM)
- [+] make dumprooms able to show room ids
- [+] bug: i'm able to cast varpower spells which cost more mp than i
      have!
2011-10-13 21:37:15 +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 4101e7c066 - [+] shift+backward shouldn't let you attack backwards!
- [+] if LFINWAY and not "infront", "you run into somehting"
- [+] change tumle to just take a direction
    - [+] change to take a dir
    - [+] different dirs should give different messages
- [+] abilities should only charge STAMINA if they were successful!
    - [+] at end of useability()
    - [+] abilityeffects miust only retur TRUE on cancellation
- [+] scroll of awareness not being used up!
- [+] lore:  at adept level, add "it could potentially kill you in xx
      hits"
    - [+] (assume no armour)
    - [+] need getweapons()
- [+] implment 'canuseweapons(lf)'
- [-] spells should only charge mp if they were successful???
    - [+] move the validatespellcell() call into castspell. 
    - [+] add f_targettedspell, tt_xx to all spell defs
    - [+] remove validatespellcall() call from dospelleffects
    - [+] test with player
    - [+] test with monsters
    - [ ] special cases:
        - [ ] blink
        - [ ] test digging...
        - [ ] invisibillity?
        - [ ] light
        - [ ] darkness
    - [ ] do i still need "frompot" in spelleffects???
- [+] new ability: flipthrow
2011-10-07 02:38:58 +00:00
Rob Pearce c7845ee622 - [+] fixed buf where f_restuntilbetter wasn't cleared
- [+] monk was starting with agility too high.
- [+] crash: missing room ids.  hopefully fixed.
- [+] notify player when stamina rises from 0
- [+] resting - get rid of seperate "rest until xxx", just rest until
      EVERYTHINg is good.
- [+] steam should deal heat damage, not fire (ie. don't set things
      alight)
- [+] river going through a level. how do i do this?
    - [+] outline???:  "hasriver"
    - [+] river code:
        - [+] pick random radius (0-3)
        - [+] pick random spot along top ( x >= radius and x <=
              w-radius-1) 
        - [+] pick random spot along bottom
        - [+] bresnham between spots to make centrelist
        - [+] for each centrelist
            - [+] make a second list of rivercells (rivercell->x -
                  wid/2) - (rivercell->x + wid/2)
            - [+] foreach riverercell
                - [+] move any staircases here to somewhere else
                - [+] clearcell
                - [+] convert to low rock floor
                - [+] convert  to deep water
- [+] make ctrl-y work, as well as ctrl-c
- [+] i'm noticing tripwires too often (adventurer with 0 perception
      skill)
    - [+] make the check harder!
- [+] tweak safetorest() so that monsters don't just look away form the
      plaeyr then go to sleep!
2011-10-06 20:12:13 +00:00
Rob Pearce 3e7380a5b6 - [+] if you put a water object onto dirt, it should become a mud
object instead.
- [+] dynamic morale
    - [+] whenever you fail a moral check, your moral gets a bit lower
    - [+] opposite if you pass it.
    - [+] make morale checks depend more on morale
    - [+] after you flee, become timid
    - [+] in io.c, show current morale if lorelev is high enough.
          "looks scared/timid/confident"
    - [+] implement f_timid:
        - [+] (will only move into melee range if it is behind you)
    * [+] checks:
- [+] monsters can't attack while prone. always jsut stand up.
    - [+] call initiatemove even when atatcking
- [+] bug: monsters not gaining abilities frmo skills
- [+] bug when creating monsters with jobs: "xx looks foolish" etc 
- [+] tohit penalty for small monster hitting flying or levitating
      things (lower penalty for levitating)
* [+] if you are flying and get hit, you drop to the ground?
- [+] make feign death code better for mosnters
- [+] moving should cose STAMREGEN points (ie don't regenerate stamina
      if you move)
- [+] maybe: when you finish sprinting, drop stamina to -2
    - [+] until it gets back, you can't move at all
- [+] bug: stuck in moveto(), after walking up stairs to a new levle
    - [+] happened again right after "The young wolf starts sprinting! 
          The young wolf flees down the staircase."
    - [+] was getting stuck in donextturn because we weren't on the
          plaeyr's map - taketime was returning.
- [+] shield bash skill
    - [+] gain it at shieldlev beginner
    - [+] costs stamina
    - [+] pass a skill check based on shield skill and shield value to
          stun enemy
    - [+] only works if shield has hardness
    - [+] only works if you're the same size or larger than the opponent
    - [+] damages your shield (1d3 hp ?)
2011-10-05 22:08:13 +00:00
Rob Pearce 25db5b0da7 - [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
      The leprechaun cowers away from you!
    - [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
      you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
      knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
      calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
    - [+] leprechaun
        - [+] lucky
        - [+] covets gold
        - [+] shillelagh ? or just a club?
        - [+] blink
        - [+] steal
        - [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
    - [+] it is, but i'm getting it right back due to attack speed.
    - [+] make stamina take longer to regen. - 1 per 3 turns rather
          than 1 per 2.
    - [+] stamina loss must be MORE than basic regen rate (0.3)
    - [+] make stamina loss for attack depend on atatck speed!
        - [+] instead of "you feel sick", say "you have contracted
              weakening poison" or "you have been infected with xxx"
    - [+] store stamina as a float, but getstamina() should return an
          int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0"  (ie 100),
      "Acc:-1" (ie -10) etc
    - [+] do this in @@
    - [+] do this in describeob
- [+] nocturnal monsters
    - [+] base monsters initially being asleep  on time and whether
          mosnter is nocturnal
    - [+] also during aiturn(), if they have nothing to do and it's
          their sleeping time, goto sleep
    - [+] add flags
- [+] flies should always move towards corpses if possible
    - [+] maybe F_WANTSOB corpse, covet?
    - [+] but thye can't pick it up so they'll just hover nearby?
    - [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
      with nocorpse like a ghost
    - [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
      be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
      adjacent
- [+] resting issues
    - [+] having a temporary injury means oyu need to rest, so don't
          say "you don't need to rest"!
    - [+] also don't stop resting until all temporary injuries are
          healed 
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
      through a hole
    - [+] (after I follow by falling down the pit)
    - [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
      armour. 
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
      doors etc
2011-10-04 03:24:53 +00:00
Rob Pearce ad18cf2398 - [+] player start objects shouldn't get random brands like silver!
- [+] warn before moving/attacking with bleeding injury
    - [+] leg slash = hploss form move
    - [+] hand slash = hploss from attack

- [+] warn before walking onto pentagram with blessed gear
- [+] explosion should cause dt_explosion injuries?
    - [+] massive damage to whatever armour is there
    - [+] OR if no armour:
    - [+] limbs
        - [+] lose hand
    - [+] body
        - [+] collapsed lung (fitness = 0)k
        - [+] ribcrack (like bashing one)
    - [+] head
        - [+] ringing ears (can't hear anything for a long time)
        - [+] burnt eyes (blinded)
- [+] bug: not seeing fall msg during move (fell due to leg injury)
      need 'didmsg'
- [+] getrelativedir should always return FRONT when uou have
      f_awareness
- [+] bug: shouldn't try to leave trails when inside walls
- [+] announce when armour saves you from critical hits
- [+] F_DONELISTEN isn't working now - i'm getting multiple "you hear
      buzzing to the north".
    - [+] N_FLY needs to act the same as N_WALK (ie. be NC_MOVEMENT)
- [+] make validatespellcell() work on abilities
- [+] sonic bolt
- [+] mutated bat (sonar - damage)
- [+] merloch  (sonic scream - damage)
2011-09-28 01:05:10 +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 2db53bca61 - [+] when throwin gn aobject, warn if you have no LOF (just like
spells)
- [+] allow dodge/catch of thrown object when there is no thrower (ie.
      arrow traps)
- [+] simplify monster spellcasting
    - [+] don't use any mp
    - [+] select power based on monster hit dice only
    - [+] monsters should cast spells less often  - use f_castchance,
          default of 15% chance
    - [+] TEST
    - [+] you keep your own mpdice when polymorphing into a mosnter
- [+] fxied: throw a tranq dart, then:
    - [+] The cockatrice loses consciousness.  The cockatrice falls
          asleep.
- [+] bug: can't operate a fridge on the ground cause it's too heavy to
      lift
- [+] monsters generated on dark levels should always have seeindark 3-4
- [+] vending machines not working... fixed.

- [+] in getchoicestr:
    - [+]  if !showall, and if it shows a longdesc, then you hit
          backspace, longdesc should be cleared.
    - [+] show completion in a different colour
- [+] bug: sometimes we seem to have map->room[x], but no cells with
      cell->room->id == thatid!!
    - [+] stop vaults from overlapping.
- [+] taking too long to walk down levels - enforce max number of
      monster free turns
- [+] inept weapon penalty should be slightly higher
- [+] bad feeling check is too easy.
- [+] skeletons should have f_noinjuries
- [+] shouldn't check for slipping on things while swimming
- [+] tweak how traps + perception skill impact search checks 
- [+] bug: sometimes we have no player start position.
    - [+] if the vault creation fails, restart map generation.
- [+] only give study scroll ability at high spellcasting skill
- [+] typo:  ring (1 charges left)
* [+] god effects when you die:
- [+] pea soup should work in the cell in FRONT of you.
- [+] bug: ring of control seems to work when you _weild_ it!!
- [+] non-lethal weapons
    - [+] sword of mercy (at <1hp, ko)
    - [+] tranq dart
- [+] add sleeptypes
    - [+] change all refernces to f_asleep->val[1] (now an enum)
    - [+] change "stirs in its slumber" if unconscious
    - [+] change all 'fallasleep' calls
    - [+] attacking a ko'd enemy with merciful weapon should do nothing.
    - [+] ai shouldn't target ko'd enemies
- [+] ai should stop targetting people once they're dead/ko'd
- [+] bashing damage should sometimes just knock unconscious instead of
      killing?
    - [+] if their hp would be >= -3, and onein(2)
- [+] different body part names? "metal frame" instead of "body"
    - [+]  implement F_BPNAME, v0=enum bodypart, text = name
    - [+] getbodypartname() needs a lf argument.
    - [+] once i add this, also make animals have "front legs" instead
          of "arms", "paws" rather than "hands" etc.
    - [+] fix calls to getbodypartname to pass in lf or null
- [+] cyborg mods:
    - [+] can't wear most armour?
        - [+] need f_noarmouron - we HAVE this bp, but can't put armour
              on it.
    - [+] large rust damage from water
- [+] if you have a bad feeling about an object, mark it as "[bad]"
    - [+] f_knownbad
- [+] killing should anger the god of mercy
2011-09-22 02:00:16 +00:00
Rob Pearce 7f33b6351c - move all definitions into data.c / data.h
- [+] monsters should start sprinting if targetlf is sprinting && we
      can sprint && we aren't sprinting
* [+] The kobold throws a potion of sleep at you.  A potion of sleep
      hits you.
      A potion of sleep shatters!  You are showered in glass shards!
* [+] in getchoicestr, when there is only one valid choice, show its
      description below!
- [+] in getchoicestr:
    - [+] remember desc_end_y
    - [+] if our typed text doesn't match, and desc_end_y is set 
        - [+] blank out those lines
- [+] in ], show letters and let you view amrour
- [+] Still occasionally have bugs where no up stairs are placed in the
      first level!!!!!
    - [+] put in debugging to show if we ever destroy a staircase
    - [+] test when it happens again.....
- [+] for "pentagram pulses black", if you can't see the estination,
      still say "your xxx flies away"
- [+] change listen code: you can only hear one _footstep_ noise per
      turn, but any number of other things.
- [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a
      certain %age. ie. f_modmaxhp 80% to get lower.
    - [+] jobs can no longer have F_HITDICE
    - [+] instead, they have F_MAXHPMOD
- [+] why am i getting wet and drowning while flying??
- [+] show f_canwill SPELLS under abilities, not spells??

- More playable races
- [+] need f_playablerace
- [+] can pick when you start the game (before you pick job)
- [+] human
- [+] implement f_jobattrmod
- [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT.
- [+] ALL PLAYABLE RACES must have FULL sets of STARTATT 
* [+] elf
* [+] dwarf
- [+] aviad (birdfolk)
    - [+] can fly
    - [+] vuln to electric attacks
    - [+] vuln++ to fire
    - [+] ---str
- [+] cyborg
    - [+] +str, +int, +dex, +con
    - [+] ---cha
    - [+] -wis
    - [+] vulnerable to lightning, water,cold
    - [+] cannot use any magic, or med-high chance of spell failure
    - [+] bleeds oil rather than water
    - [+] see exact hp damage (f_extrainfo)
    - [+] tech usage.
- [+] remember race in highscores.
2011-09-19 01:47:35 +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 5bd96d7e5a - [+] bug in skillpoint % display in @@
- [+] make detect life last longer
- [+] stirge should have enhacnesmell
- [+] plants should never "turn to face you". 
    - [+]  they should be able to see in all dirs.
    - [+] don't announce "turns to face" if the lf has f_awareness
- [+] AGAIN: walk on to a dark place and i can still see my own cell! 
      needed >= instead of > in celllitfor
- [+] don't show sacrifice text if you can't see
- [+] butterflies shouldn't produce light.
- [+] peaceful things shouldn't turn to face you all the time (only low
      % chance)
- [+] CRASHES when killing flags
    - [+] killflag() was dereferencing f-> after freeing it.
- [+] skill which aren't ready not showing up in 'm' list
    - [+] i think a previous fix for spells broke this...
    - [+] whatever it was, it shoudl only apply to spells, not
          abilities.
- [+] don't show @G if you're looking at someone else.
- [+] sunrise code didn't work - i immediately went to full fov!
    - [+] was a bug in isnighttime().
- [+] jimbo needs more hp
- [+] diningroom should have a fridge, instead of all food being on
      ground.
- [+] bug: "it is pitch black" as soon as you use stairs....... need to
      recalc light 
- [+] show temp lit areas as bold
    - [+] do it.
    - [+] test.......
- [+] notification of being followed to other maps/stairs:
    - [+] "you walk up the stairs. xxx follows you."
    - [+] implement.
- [+] move sacrifice code to god.c
- [+] change twoewapon->master to make your second weapon act like a
      shield
    - [+] ie. getshield() returns it.
    - [+] act like low level shield skill. special case in
          SC_SHIELDBLOCK
- [+] make twoweaponers only be able to use secondary weapons in which
      they are skilled.
2011-09-15 01:40:26 +00:00
Rob Pearce da656dfa52 - [+] add autopop to playerstart vaults
- [+] rename magic skills:  Magic:Cold
- [+] bug: infinite loop in poison arrow trap - make sure the arrow
      always dies.
- [+] bug: c4 didn't kill iron door
- [+] implement stamina (float). max is Fit/2
    * [+] in startlfturn:
    - [+] sprinting drains this.
    - [+] ...then stop using f_sprinting for exhausted
    - [+] ...and remove f_tired
    - [+] if exhausted, stop sprinting. (in modstamina)
    - [+] change crushed windpipe
    - [+] f_stamcost for abilities.
        - [+] modify cancast.
    - [+] tumbling
    - [+] jumping
    - [+] rage
    - [+] swimming
        - [+] drains stamina like sprinting
        - [+] if stamina drops to 0, you start drowning.
    - [+] new spell:  lethargy (sets stamina to 0)
    - [+] if a sleep spell fails, use lethergy instead.
    - [+] no attacking while stam = 0 ???
- [+] need to update statbar right away when casting ongoing spells.
- [+] bug: reading an awareness scroll counting as an active spell!
- [+] genericise magic resistance check into a function
- [+] "disorient" - l1 mental spell which randomly turns lf, someitmes
      makes them dizzy
- [+] change stun - just means you can't attack, cast spell, use abils
* [+] AI shouldn't look for targets if stunned or no stamina
* [+] why do mosnters end up facing -1 (d_none) ??
- [+] turn undead problem.
    - [+] The skeleton turns to flee from you!  The skeleton bites you.
- [+] crit which spins you around (bash to body)
- [+] say "you attack xxx from behind" when you ar ebehidn them and
      they can't see you
    - [+] or "you attack the helpless xxx" when thye just can't see you 
- [+] genericise sacrifice text
- [+] fix up weight of heads (8% of body mass)
- [+] make attribss do more:
    - [+] iq:  determine how soon you learn new skills (ie. modify
          SKILLXPPERPOINT)
    - [+] fit: determines stamina points.
    - [+] wisdom >= AT_HIGH
        - [+] warn before wearing/eating/drinking/weilding unknown
              bad/cursed objects (low chance)
        - [+] use isbadobject()
        - [+] chance:
            - [+] high = 10%
            - [+] vhigh = 30%
            - [+] exhigh =  50%
- [-] idea:  sacrifice to gods to make them happier
    - [+] mercy: weapons
    - [+] death: any corpses
    - [+] thieves: gold
2011-09-14 22:42:54 +00:00
Rob Pearce 7370b60375 - [+] flak jacket too powerful
- [+] make it only protect against missiles?  no AR as such
- [+] facing N, walk NW.  turn instead of walk! bug in
      getrelativedir(). fixed.
- [+] ctrl+dir = turn.
- [+] make novice level listen more useful.
- [+] l2 tech: "styptic" -
    - [+]  heals certain bleeding injuries
    - [+] then if still bleeding() due to low hp, heal back up.
* [+] tool: bandage -fix blood loss
- [+] change enhancedsmell to happen in same place as 'detectlife'
- [+] spells:
    - [+] sixth sense - l1 - warns if someone is within 2 cells behind
          you.  lasts for a single use.
    - [+] canine tracking - l2 divination spell, gives temporary
          enhanced smell for short range (3).
    - [+] heightened awareness - l3 ongoing divination spell to enhance
          FOV to 360 degrees
    - [+] scrolls for the second two
    - [+] apportation
- [+] let wizards pick two secondary spell schools
    - [+] start with beginner in primary, novice in sec
2011-09-12 23:52:21 +00:00
Rob Pearce c8a42323d2 * [+] bug: Hunger: [********..ve]
- [+] debugging assertion broke loading a game (loading obs into
      dummycell with no "->where"). fixed.
2011-09-12 01:42:31 +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 d51dfa11f9 - [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
      each cluster!
- [+] crash - ghost adding footprint to solid cell! 
- [+] amberon's wrath for attacking peaceful should happen once per
      ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
    - [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2 
- [+] add 'concussion' injury (head bash) - confusion effect.
    - [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
    - [+] when looking for turnpos, remember each up/down celll
    - [+] if we don't find one ("annot find a way to link up") , go
          through each up/down cell and look left/right
    - [+] fix is in place.
    - [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
      related to fix_deadends.
    - [+] assert statement added.
* [+] bug:  no up stairs generated on first dungeon map! was being
      removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
    - [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
      gets (ie . it is darker, less ambientlight)
    - [+] limit getvisrange(lf) by getmapmaxvisrange()
    - [+]  map->habitat->maxvisrange. set this during createhabitat()
    - [+] reduce maxvisrange
    - [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
      adjusts to maxrange=1
    - [+] ie. getnightvisrange(lf) should be modified by
          lf->eyeadjustment
    - [+] reset if you can ever see a lit cell.
    - [+] when this happens to the player:
        - [+] msgs about this
        - [+] also force light recalc
- [+] only recalc light when dirty
    - [+] if we call "haslos()" for a lf and they have losdirty,
          precalclos first.
- [+] vis range problems
    - [+] sunglasses/footballhelm visrangereduce isn't working anymore
        - [+] it's reducing maxvisrange(lf).
        - [+] BUT - my maxvisrange is 5, which is still higher than the
              ambient range.
        - [+] need to apply reductions AFTER ambient light
        - [+] NOW eyeadjustment isn't working.  because cell lit is
              l_temp, not l_notlit.
        - [+] but if this is the case, why can't i see?  anwer: because
              my visrange has been reduced to 0 due to no ambient light!
        - [+] so.... how do i make lightt sources override this?
        - [+] maybe say:  if a cell is lit, i can see it, even if it's
              outside my ambient light.
    - [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
    - [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
    - [+] diff should be 20  + (spelllev*2) + power
    - [+] l1 spell should be diff 20
    - [+] l2 should be diff 24 
    - [+] ...
    - [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained"  (5% chance
      per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
      rise"
    - [+] make 6am, 18pm be constants
- [+] add crushed windpipe -  lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
      think.
- [+] cockatrices and chickens should cluck
- [+] canwill param:  race:xxx;
    - [+] define it
    - [+] use this in "createmonster"
    - [+] use this in "polymorph" when on self
    - [+] then remove f_forcepoly
    - [+] TEST 
- [+] make playerstart vaults able to appear randomly (just don't place
      the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
    - [+] give a list of what we want as args, rather than passing lots
          of nulls
    - [+] "pw:",  &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
      losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened.  at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
      obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
    - [+] cactus -> cactus juice/fruit
    - [+] dreamfungus ->  sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
    - [+] hurt vampires 
    - [+] vulnerable to mat??? - then use fromob in losehp()
        - [+] f_matvuln mt_xxx multiplier
    - [+] add some silver weapons
        - [+] f_canbediffmat  mt_silver  10%
        - [+] if f_canbediffmat  is true, sometimes change material to
              this on creation
        - [+] getobname - if material is differnet, show this
        - [+] dagger
        - [+] sword
        - [+] arrow
        - [+] bolt
        - [+] dart
        - [+] addob should accept 'wantdiffmat'
2011-09-09 23:03:32 +00:00
Rob Pearce 1f6429e305 - [+] intelligent (ie. more than animal) ai shouldn't move if it will
cause damage
    - [+] move_will_hurt()
        - [+] ie. if in PAIN, or appropriate injury.
- [+] if you're deaf, use "the xx says something" rather than "the xx
      says yy"
- [+] STILL reachability errors in dlev 6 (jimbos' lair not linked)
- [+] new forest habitat mechanism - clusters of trees
- [+] bashing injury if you are slammed into a wall?
- [+] jimbo didn't have a weapon! "+2 halberd" not working
- [+] if you don't have knowledge about a creature, still show items
      (but only equipped ones)
- [+] listen skill should take longer to train
- [+] candle should last longer
- [+] carrot grants temp darkvision
- [+] shouldn't be able to eat stuff from floor while levitating
- [+] CHANGE f_hitdice to use text
- [+] fear spell from dretch always failing even on l1 player.  why?
* [+] summondemon spell
- [+] adjust spell damage - 1d6 per level.
ice spells:
- [+] l4 - ice armour (higher power means more pieces of ice armour)
    - [+] (power/3)+1 pieces of armour. ie. 1 - 4
    - [+] order:  body,helmet, gloves, feet
    - [+] 4AC each.
* [+] l5 - shardshot (higher level ray damage, does less damage the
      further away it goes)
- [+] l5 - snap freeze ? turn one lf to ice?
- [+] more things which use light attacks (ie. make glasses useful)
- [+] replace bp_righthand with bp_rightfinger
- [+] bug in blink spell: "Nothing seems to happen."
- [+] make metal resist bite/slash/chop, not be immune.
- [+] fix shatter spell on glass wall
* [+] bug: in jimbos vault and plaeyrstart2, exits are being added in
      in appropriate places.
* [+] make player's starting point be a "prison_cell" vault.
- [+] earplugs - stop all sound.  
    - [+] make f_deaf an intrinsic (ie. announcements)
    - [+] add the object
critical hits:
- [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised"
    - [+] need losehp to NOT trigger fightback in this case - we will
          trigger it ourself after crithit.
    - [+] pass this as a param?
- [+] critical eye hits
    - [+] scraped eyelid (slash, lower accuracy)
    - [+] black eye (bash, lower vision range and charisma)
    - [+] destroyed eye (pierce, permenant lower vision range!)
- [+] injuries heal heaps faster when asleep
- [+] redo f_injured flag to use an "enum INJURY" IJ_xxx
- [+] change how it is applied
- [+] change how it is announced (io.c)
- [+] change how effects work (search for F_INJURY)
- [+] pierce
    - [+] pierced artery: v.high bleed
    - [+] stabbed heart (instant death, very unlikely)
- [+] slash:
    - [+] cut flexor tendon (cannot weild ANY weapon)
    - [+] slashed hamstring (fall. skillcehck every time you move, 
          vslow movement)
    - [+] severed finger
        - [+] finger drops to the ground
        - [+] ring drops to the ground
        - [+]  (get nobodypart bp_rightfinger or bp_leftfinger)
- [+] bash:
    - [+] dislocated arm (cannot weild anything heavy in that hand)
    - [+] broken rib (reduced carrying capacity)
    - [+] swelled ankle (cannot remove or put on boots)
2011-09-05 22:04:51 +00:00
Rob Pearce c181893ae4 - [+] sleeping mosnters aren't waking up soon enough!!! make difficulty
of listen check easier.
    - [+] they tend to only wake when i'm 1 sq away
- [+] get rid of sprintf
    - [+] replace all with snprintf via macro
    - [+] then search for HUGEBUFLEN etc and fix up
- [+] compile with -O2, fix up warnings.
- [+] gaze attacks (ie eyebat, beholder) now need 2way los, and glasses
      will protect you
- [+] use "wrapprint" to show physical props in @@
- [+] glowbugs should flash upon death
- [+] should stop gaze attacks (like eyebat)
- [+] golden cobra - acidspit at eyes
- [+] bright flash (glowbug, and make some of them hostile)
- [+] flashbangs (make them more common)
- [+] combine tracking with searching and call it "Perception"
    - [+] replace all occurences of SK_xxx
    - [+] replace skillcheck (or make it use different skill)
2011-08-31 17:33:35 +00:00
Rob Pearce b1b8e2506a * [+] bug: map structure being corrupted.
- [+] reduce hardness values
* [+] problem with skills: as you level up , you learn them less often
* [+] throw objects to set off traps
- [+] combination strike ability at expert wep level
- [+] reduce skill bonus to sc_stealth and sc_search
- [+] modify descriptions for all spells to explain the effect of spell
      power
- [+] make chill work more like frostbite (but less powerful)
- [+] make beginner skills still only cost 1.  above there thye csost
      more
- [+] modify cha check based on remaining hp% (ie. less attractive if
      you're bleeding everywhere!)
- [+] am i getting all level up skill messages? don't think  i saw "you
      can now detect magic" as a wizard.
    - [+] can use "more()" more often now that it checks strlen(msgbuf)
          first.
    - [+] make askchar etc call more() first.
- [+] falling over should lower your visrange.
- [+] missile size should impact how hard it is to catch it
- [+] backstabbing doesn't seem to work..... fixed now ?
- [+] all non-movement actions should stop sprinting.
Cold spells:
- [+] l1 - glaciate (turns water to sheets of ice)
- [+] l1 - snowball (minor cold damage in a ball, 1 to all)
- [+] l2 - e "train" to train skills or go up a levle, instead of 'R'.
- [+] better way to learn spells (without spellbooks)
    - [+] transcribe from scrolls using "study scroll"ability
    - [+] sc_learnmagic
        - [+] (int/2) + yourlevel + sorceryskill + BONUS:(spellskill*2)
        - [+] difficulty is 20 + spelllevel*3
    - [+] you lose the scroll even if it fails
    - [+] same for learning from a spellbook!
        - [+] but difficulty is 15 + sorceryskill + spelllevel*3
- [+] make pea soup be targetted.  ie. make mist on top of your enemy,
      not you!
- [+] implement maximum level in f_canlearn.
    - [+] wizards - short blades at novice.
    - [+] limit spell skills for some other classes?
ce shield? creates a shield
2011-08-30 20:10:43 +00:00
Rob Pearce 1f721ed03c - [+] bug in movement speed display for monsters
- [+] bug: curtime getting past 23:59.  need it to wrap around.
* [+] track # days spent.
- [+] need to save gametime!
2011-08-25 09:01:28 +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 f071b379ca - [+] fix bug with help not working
- [+] fix bug with redrawing when you open a door.
- [+] fix bug where pleasing gods during killflag() causes crash.
- [+] creatures >= 2 sizes bigger than you should block los
- [+] explosion trap should kill doors
- [+] redo getflags to take more args
- [+] genericise isprisoner code
* [+] jimbo's lair needs a portal back to dlev1
* [+] linkexits still not working properly.  fixed i think!
- [+] rename some spells
- [+] make max spell level be 6 (to match up with pr_master)
- [+] modify mp per level by sk_sorcery/2
- [+] bug: reading a blessed scroll of manding does nothing!
- [+] improved crit effects
    - [+] bash
    - [+] slash
    - [+] fire dam cauterises slash wounds
    - [+] cold dam fixes brusing
- [+] add crit chance to weapons. (default of xxx)
- [+] stirges shouldn't be able to latch on if you have no exposed body
      parts
2011-08-24 08:15:09 +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 16fb58c3cf 2011-08-17 20:57:43 +00:00
Rob Pearce cdd7d69532 * [+] why did i get a gift from yumi in the middle of a battle?
- [+] need alignment. f_alignment.  default neutral.
- [+] slight change to armour damage calc
- [+] thrown poisoned weapons don't work!
- [+] holy aura spell. lv3 cleric.
* [+] are kobolds working properly??  seem buggy
* [+] calmed down a war hound with a mushroom.
- [+] use wisdom for checks for unwise things, not iq.
* [+] hecta should only care about attacking evil creatures if they
      were NOT hostile.
- [+] optimise:
    - [+] use getflags() more often.
    - [+] lookforobs() - redo code for ai wanting things.
    * [+] precalclos - 28%
    * [+] hasbetterweapon()
    - [+] haslos - 27.3%
- [+] when you move now, you don't have los to your previous cell on
      the first drawscreen when your turn starts!!!!!
- [+] ai is coming too close before firing ranged weapons. allow them
      to stay within 2 - maxrange if they have a weapon.
- [+] also let them fire form furhter away!
* [+] give healing potion to hurt (intelligent) lf to calm them down?
* [+] Amberon (m) purity, righteousness
* [+] Hecta - female, death, undead, evil, night
* [+] Felix -  male, thieves, greed
* [+] bug - i found jimbo dead!
- [+] cave vault (different wall types, boulder at the entrance, lots of
      food, bears)
2011-08-10 02:40:29 +00:00
Rob Pearce 00f9d4e0bf - [+] vampire gas cloud not working for player
- [+] monsters should only weild weapons if they are better than their
      inbuilt attcaks!
- [+] show dtected obkects in bold green
- [+] bug: can blink into impassable objects
- [+] infinite loop in ai turn for porcupine.
    - [+] movetowards()
* [+] vampires
- [+] vampire changes back to its original form.  CRASH.
2011-08-05 21:34:35 +00:00
Rob Pearce 81c7f37eff - [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!!
- [+] blink should go to random place within lof, not los
- [+] sunglasses shuld reduce nightvis range, not visrange
* [+] since jolt needs adjacency, make it more powerful
- [+] use colours for spell descriptions
- [+] replace 'call wind' with 'zephyr'
* [+] add vault commonality.
- [+] add more common vaults - roundabout etc
* [+] change "addmonster" to take a string arg instrad of RACEID
- [+] pouring cursed water on blessed scroll didn't work.....
- [+] append "...god of xxx" to rc_god lifeforms
- [+] try to attack with f_pain -> INFINITE LOOP.
- [+] ARMOURPIERCE shouldn't hurt armour
- [+] ghast touchparalyze attack isn't working.
* [+] bug: when praying to gods, ones not in heaven aren't listed.
- [+] when a god apepars..."Hecta appears" x2
- [+] attacking fleeing lf should count as a backstab (if you have the
      skill)
* [+] "nothing happens" during god spell effects
* [+] allow hunger to work on monsters
- [+] pressing 'a' on @Magic has weird results.
- [+] bug: got a gift form yumi during combat???? what for? healing?
initial vampire implementation
initial god implementation
- [+] they all start off in "heaven" map.
- [+] gods ahve f_piety. starts at 0
- [+] keep track of piety with each god. starts at 0 for each one.
* [+] let planeshift take you to heaven (for debugging)
* [+] everyone has 'pray' ability.
- [+] modpiety(rid, amt)
* [+] piety vals
* [+] when you pray
- [+] isangry(god) - ie is piety < 0
* [+] if you pray when god is angry, bad!
* [+] once piety gets over 200 or so, praying  might give you a gift. 
* [+] god_appears(lifeform_t *victim)
- [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per
      turn).
- [+] regain through doing actions ... in progress
- [+] lose through doing actions only if you have prayed to this god
      before (angergodmaybe)
- [+] special: gods don't need LOS to cast spells.
- [+] gods planeshift away if not doing anything else.
* [+] @g to see your piety levels for each god
- [+] ?g for help on gods
- [+] IN general:
    - [+] prey = oneoff effect
    - [+] gift = ongoing
    * [+] makeangry() vs modpiety
* [+] Yumi - fem,mercy/healing - if you die within the first few turns!
Hecta - partial
Avamon - partial
2011-08-03 18:43:05 +00:00
Rob Pearce 94ed133ace * [+] hiscores
- [+] limit name length
* [+] The fire titan is burnt by a flaming greatsword!
- [+] make ar slightly less effective.
- [+] don't prompt "really walk into xxxdangerousthingxxx" when
      carefully walking.
- [+] allow dodge check for web spell.
- [+] speedups in attack.c
- [+] "the centipede bites you" "the centipede hits you"
    - [+] how did it get "hit"? it should only have a teeth attack!
- [+] after looking at skills, bottom line of status bar isn't redrawn.
    - [+] anything with a --more--
- [+] druids regenerate mana based on nearby plants
- [+] bug: "your young wolf starts casting a spell" when sprinting.
- [+] bug with AI follow code - now fixed.
- [+] make ai pets be able to "smell" the player.
- [+] unarmed adept: break wood (no "ow!" and extra dam to wood/doors)
- [+] automatically give all player pets the ability to see footprints!
* [+] monsters not following properly! fixed now i think.
- [+] mark fountain potiontypes as "tried" after you drink
- [+] replace barbarian with warrior.  make it armour-based.
- [+] bug: "A Jimbo comes into view" should be "Jimbo coes into view"
- [+] more findlfags() calls needed in lf.c.
- [+] give jimbo f_dontleaveroom!
HELP SYSTEM
 - [+] ?? for commands
- [+] ?s for skills
2011-07-28 22:45:34 +00:00
Rob Pearce 9481e41701 * [+] bag of holding
- [+] change getobpileweight() to traverse into containers!
2011-07-26 02:26:19 +00:00
Rob Pearce 07844bb69e * [+] operate a candlabrum on the ground confers permenant light
producing!
* [+] bug - water appearing in walls.
- [+] make armour less common in forests
- [+] too many --more--s when enhancing stats.  use drawmsg() rather
      than more().
- [+] when i go up/down stairs, i keep ending up BESIDE them??
* [+] "you hear footstepszzzzzzzzzzzzzzzzzzzzzzz" (random junk)
- [+] when i start training with a spell active, it gets interrupted.
      try again, interrupted again! works 3rd time.
- [+] replace lockpicking with "locksmithing"
- [+] replace 'body control' with 'slow metabolism'
- [+] pit traps broken - fixed now.
- [+] doheading issue in @M still.
* [+] how did zombie get 28 hp? bug in rollhitdice.
- [+] blind a skeleton with light.  it gets blind, starts fleeing. but
      because it can't SEE you, it stops fleeing instantly!
* [+] getflags(flagpile_t *fp, ... )
- [+] stun spell
- [+] only say "x2" etc if msgbuf we are going to draw still contains
      the original text.
- [+] when you level up, your psionic skill determines your chance of
      learning a new psionic spell?
- [+] when you teleport/use stairs, get all allies in SIGHT, not
      adjacent.
* [+] more traps!
* [+] prisoners in cells
- [+] recruitment: instead of outright refusing to join, just up the
      price.
* [+] make spellbook contents depend on map difficulty
- [+] cloak of shadows - give invisibility when in darkness
* [+] limited wish:
- [+] casting WISH reduces max hp by 50%!
- [+] monster ai code: if inventory full (or close), put non-eqiupped
      stuff into containers
* [+] infinite loop in firedam to lf
- [+] pot of xp isn't working for monsters. they get no more hp!!
- [+] summonmosnter should jsut relocate existing uniques
- [+] 'planeshift' spell for gods - "unsummon"s them.
* [+] diety - greedgod
* [+] more village contents
2011-07-26 02:01:05 +00:00
Rob Pearce ce878f6ae8 * [+] fire should set equipped obs on fire too
* [+] trapped doors/objcets
* [+] make careful walking have less chance of triggering some traps
      (eg tripwire)
- [+] dex penalty when drunk
- [+] require dex to put on most shoes
- [+] Diety's short sword of pyromania isn't appearing?
- [+] make sure i can tumble over traps
* [+] able to cut tripwires with slashing/chopping/piercing weapons?
- [+] maybe make cmomando have no weapon skill
- [+] make armour more common
- [+] shouldnt be able to swap place with someone who is sleeping
- [+] if you're not in the water, can't see lfs in water (unless they
      are adjacent)
- [+] You break free from the zombie!  You reintegrate inside a solid
      object!--More--
* [+] shopkeepers will charge an extra fee to identify stuff
- [+] shouldn't get an empty flask when I dirnk from a fountain!
- [+] identify and remove curse scrolls should be COMMON
* [+] provide detailed skill descriptions
- [+] dumpoutlines()
- [+] make minotaurs stay in room
- [+] make minotaurs have good smell
- [+] don't auotreveal vaults.
* [+] should be able to fill flasks from fountains
- [+] don't announce corpse decay death while training.
* [+] add the initial godstone at the bottom of firstdungeon
* [+] make fountains names same as their linked potions
- [+] bug: when filling potions from the ground, ground object was
      never dryaing up
Beggars
- [+] stealing ability sometimes. run away after using this
* [+] various lots of generic f_talktext->"have a coin to spare?"
World map
- [+] 1-2,1-2: habitat: village
- [+] multiple villages
- [+] vault: island with treasure (or acid island?)
- [+] jump into a water  - it splashes small puddles to surrounding
      cells
* [+] let dig spell go up/down.
* [+] fountains, random potion effect or water (blue _ or })
- [+] make thingchance and obchance be habitat_t parameters.
work on game goal
- [+] find a way out of the magical dungeon barriers in the first
      dungeon
- [+] slime
- [+] troll = t
- [+] lizardman
- [+] ogre
- [+] kobold
- [+] fire sprite
- [+] hobgoblin
- [+] bugbear
- [+] gnoll
- [+] giant
- [+] zombie
- [+] skeleton
* [+] ghoul
- [+] ghast
- [+] can operate spanner to
    - [+] jam/unjam a door
* [+] visibility
- [+] initial code for monsters opening doors while giving chase
- [+] acid does more damage to armour
* [+] implement temporary flags. 
* [+] implement unknown flags
- [+] mana spike
- [+] energy bolt
- [+] energy blast (hits all in radius)
- [+] flash (like flashbang)
- [+] telekinesis (open/close doors remotely, grab/throw objects
      remotely)
- [+] mindscan - knoweldge of hp etc
* [+] airblast (push obs, push someone very far, AND lose obs. break
      walls they hit?)
- [+] fireball - sets on fire
- [+] flamepillar
- [+] fire arrow
- [+] spark (light a flammable object)
- [+] flameburst - 2d8+3 damage in a circle
- [+] burning wave - 2d10 damage and set on firea, line towards target
    - [+] range 3
- [+] freezing touch (turns an object to ice)
- [+] knock - opens doors
- [+] gas form
- [+] polymorph
- [+] write on floor
- [+] light
- [+] weaken (lose str)
- [+] poison cloud - change cloudkill to this?
- [+] animate dead
- [+] posession
- [+] minor healing
- [+] healing
- [+] turn undead
- [+] identify
- [+] detect magic
- [+] detect aura
- [+] reveal surroundings
- [+] uncontrolled teleport
- [+] speed
- [+] slow
- [+] boost gravity
- [+] create monster
- [+] divine
    - [+] wish
2011-07-21 01:43:45 +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 14eb81566c - [+] when i pick up an object, if i'm invisible, i need to redraw my
cell.
- [+] bug: You pour a potion of water onto a cursed -3 pair of leather
      gloves.
      A cursed -3 pair of leather gloves gets wet.
      Your cursed -3 pair of leather gloves gets wet.
- [+] -xx weapon shoudll reduce and accuracy(5 each) too
- [+] evasion skill helps too much? only increse by 5, not 10??
- [+] test monk #attacks again.
* [+] MONK MPDIEC BUG:
* [+] put lighting in Jimbo's room!
2011-07-01 04:05:06 +00:00
Rob Pearce 95c6ab8396 - [+] tweak armour damage -make natural armour hittable.
- [+] getdirtowards/away bug
- [+] metalwork or armour skills let you see armour hp!
* [+] allow players to select their weapon specialties at the start
- [+] make statbar easier to read
* [+] druids
- [+] spark on rum will blow it up!
* [+] evasion skill
- [+] add charisma
* [+] add speech skill 
- [+] bug: gate to level 1 took me to the outside!
* [+] bug: not hearing shopkeepers final yell - out of range??
- [+] special corpses:  i - a Jimbo corpse should be "Jimbo's corpse"
- [+] when autogenerating monsters, make sure they have ammo for ranged
      weapons.
* [+] map to town
- [+] randomly place the town now.
* [+] shopkeeper still doesn't talk to us if we can't see him when we
      pick up an object
- [+] i am STILL not hearing when the shopkeeper yells you "stop
      thief"!!
* [+] bug:  LOTS of dungeon rooms with no exit
- [+] town guards want money
- [+] announce "a xxx falls through a pit" 
* [+] make running go around corners
* [+] colourise known skills
- [+] rename constitution to fitness
* [+] scroll of mending - should this fix dulled weapons (by hitting
      doors etc)?
- [+] colourise @@ (boldwhite for titles)
* [+] colourise @s
* [+] colourise @m and @e
2011-07-01 03:34:41 +00:00
Rob Pearce 7dfeb42e5a - [+] thrown objects taking no damage due to hardness
* [+] DIETY is slow.
- [+] map bug - from 0,0, walk NE (off top edge).  i end up at 0,0
      again!!!
* [+] ALLOW ROTATING OF VAULTS
- [+] BUG: dig X only goes 1 cell.
- [+] add a U shaped turn vault.
- [+] change wehre i apply HADRNESS for lfs! - don't use
      adjustdammaterial cause we inherit there
- [+] make obchance/thingchance part of habitat_t
- [+] make sense surroundings take cartography skill into account
* [+] BUG: rotated at() etc not working.
- [+] if you fail stealing, the target should get angry!!!
- [+] make sure to redraw stat bar when mind scan finishes.
- [+] villages
    - [+] initial code
    * [+] town gaurds. stand next to the gate
    - [+] potion shop vault
        - [+] implement
        - [+] potion shop isn't getting potions!!
        - [+] and getting wrong floor type.
        * [+] stop shop from always being at the top left.
        - [+] make sure its x/y arent too close to edge of map (at
              least 5 away)
            - [+] vault param.  f_mapmargin, 5
            - [+] make calcroompos take x/y margin
    - [+] don't put auto obs inside vaults
    - [+] town walls
    - [+] more kinds of shops
    * [+] signs outside shops
    - [+] bug with ai swapping between firearms and twohanded weapons.
          fixed.
    * [+] make _CELLS_ have habitats!
    - [+] move vaultchance to a habitat param instead of
          getvaultchance()
* [+] shopkeepers  (special race)
village things:
- [+] barrels,
- [+] guards,
- [+] statue

- [+] thrown objects should still take damage if blocked via a shield
* [+] hardness (must do dam >= xx to hurt)
* [+] WATER spread mods
* [+] very powerful spells have casttime
- [+] allow linkstairs() to take a parameter rather than always jsut
      searching for the other end
- [+] when digging holes, only use getrandomadjcell if there is an lf
      in the way. and then use WE_NOLF. clear out solid cells
- [+] show armour EVASION penalty in describeob
- [+] teleportation trap.  You reintegrate inside a solid object!  You
      die.--More--.
- [+] riverroom vault
* [+] water:  swap { and ~ again??
- [+] make "large puddle of water" evaporate more quickly
* [+] special glyph case: for deep water
2011-06-29 08:48:48 +00:00