Commit Graph

161 Commits

Author SHA1 Message Date
Rob Pearce ac95dc7621 - [+] griddler didnt start with trident?
- [+] it DID, but it dropped it cuase it was hot.
    - [+] griddler should be immune to redhot! (testing shows it
          currently isn't)
- [+] once prisoners give you a reward, they shouldn't be allies
      anymore (ie shouldn't follow you up/down stairs)
- [+] portal to realm of gods hsouldn't work until you have a godstone.
- [+] why did potion of oil explode when i threw it?
- [+] for unique monsters, instead of "jimbo's armour protects it", use
      "jimbo's armour protects him"
    - [+] use f_gender
    - [+] this replaces F_GODOF.
    - [+] change gods to use this too.
- [+] change cloak of shadows - only work if max vis range is low ?
    - [+] monsters can't see you if they are >=3 away
    - [+] F_SHADOWED
- [+] more amulets
    - [+] of the traveller (go to a much deeper level or branch when
          you put it on. go back when you take it off)
        - [+] implement
        - [+] usually start cursed 
    - [+] boost piety gain
    - [+] soul feasting 
    - [+] acrobatics (tumble/jump)
    - [+] choking
        - [+] first add f_nobreath
        - [+] doesn't work if you don't need to breath
- [+] hydra blood poisonous
    - [+] handle "linkrace:xxx splash of blood"
    - [+] make bleed() use this.
    - [+] add f_venomblood to r_hydra (and others?)
    - [+] make filling potions from blood check for
          f_linkrace->f_venomousblood
    - [+] maybe handle this more elegantly.
        - [+] add f_bloodfillob to blood objects (inherit from lf)
        - [+] fine, but what about addobsinradius?  make it populate
              retobs!!!
        - [+] change f_venomblood to f_bloodfillob->ot_pot_poison
        - [+] remove "linkrace:xxx" code from objects.c and from bleed()
- [+] flashbang shouldnt affect user (you would look away)
    - [+] add F_THROWNBY to objects when you throw them.
- [+] stop initial revolvers from starting with 'a rubber bullet'
- [+] dry ice grenade - csats "snapfreeze"
    - [+] needs f_spellcloudondeath 
    - [+] implement
- [+] spiked club
- [+] The hawk critically claws your hands.  Your !
    - [+] fixed.
- [+] need another way to unlock chests
    - [+] bash them
    - [+] if it is trapped, high chance that the trap will go off
    - [+] if you attack something which is locked, it has a small
          chance of becoming unlocked
        - [+] rnd(1,your_str) must be > lockdiff!
- [+] different unarmed attack verbs for monk
- [+] javelin of lightning
    - [+] when you throw it:
        - [+] dothrow() calls spelleffects(LTBOLT)
        - [+] then uses up one charge
        - [+] if charges are left:
            - [+] reforms in your hands
        - [+] otherwise it turns into a normal javelin
- [+] shovel
- [+] jackhammer (like pickaxe but faster)
2012-04-13 22:52:35 +00:00
Rob Pearce 4d5fa3c4e7 - [+] fire spells:
- [+] gather flame - l1: nearby fire boosts next spell's power.
          casttimme 2
    - [+] boil blood - l2:  when monster dies, it explodes (like a
          fireball?)
- [+] maybe: create player lf BEFORE creating maps
    - [+] then move player to start pos and add pets etc
    - [+] then kill mons in los
    - [+] this will let us correctly adjust hostility even on dlev 1
- [+] goat (yellow 'q', 1hd)
    - [+] charge
    - [+] horn attack
    - [+] eats anything!
        - [+] f_caneatmaterial
        - [+] calculate nutrition based on weight...
- [+] chimera(9hd, 9tr, mutant) - purple 'm' - goat/lion/wyrm, 3 headed.
    - [+] LARGE
    - [+] Morale 13-14
    - [+] EVIL
    - [+] Hostile
    - [+] swoop
    - [+] can breath fire - use burning wave
    - [+] melee attacks:
        - [+] bite (lion head) (3)
        - [+] bite (dragon head) (5:w)
        - [+] gore (horns) (3)
        - [+] 2 x claw (4)
        - [+] TOTAL 18
        - [+] but... do maxattacks = 4, not 5.
    - [+] slash attack: chance to remove a head.
        - [+] this makes it lose one bite attack and (maybe) its breath
              weapon.
- [+] hydra
    - [+] 5-12 heads
    - [+] each head has bite attack
    - [+] hit dice / tr based on heads
    - [+] regenerate 2 heads each time one is severed
2012-04-09 21:52:39 +00:00
Rob Pearce 0f9db848d3 - [+] populate ant nest with objects (set rarity)
- [+] when placing any vault with maintainedge, set "LOCKED" for all
      cells
- [+] change all mapmaking code to honour LOCKED(not just digdungeon)
    - [+] room placement code
    - [+] cave
    - [+] dungeon
    - [+] forest
    - [+] sewer
    - [+] swamp
- [+] fixed. BUG: TRAVEL to the swamp, walk up stairs...
    - [+] ERROR - stairs should link to existing map ('dungeon L7 (id
          #3)', depth 7), but
          it has no free stairs.--More--
    - [+] walking _down_ is okay.
    - [+] was only checking to link entryob when we were going DOWN
          stairs.
- [+] place fixed vaults _BEFORE_ creating habitats ???
    - [+] this will only work after all creation routines honour
          "->locked"
    - [+] set locked on all fixed vault cells after making them.
- [+] better code for removal of internal doors.
- [+] bug! fleeing monsters taking no time!
- [+] brainbat
- [+] consume corpses to regain life? make this a normal death spell.
    - [+] f_consumesouls
    - [+] anything that dies in sight nearby heals her.
    - [+] "%s consumes the soul of the dying %s ?"
    - [+] give this to baba yaga
- [+] loading bug with map flags:
    - [+] getting a flag with text = "flags"
    - [+] am i saving something else with a space in it ???
    - [+] %s in fscanf doesn't handle spaces!
        - [+] in save.c, when I'm liable to get spaces in a string,
              replace %s with:
            - [+]  sscanf("%[ a-xA-Z0-9+'*/-]")
- [+] earthwyrm
    - [+] divine into two monsters if slashed
    - [+] appear in ant nests
2012-04-05 09:28:20 +00:00
Rob Pearce 892440031d - [+] if you cancel a limited wish, don't age you.
- [+] sourges shouldn't learn spells from books
- [+] MR doesn't affect canwill spells?
- [+] innate MR (ie. fromrace or from scource) doesn't affect spells
      either.
- [+] too many potions of water! made it common rather than frequent.
      now NO frequent potions.
- [+] getting 'wake t someone runmmaging through your pack' when noone
      nearby
    - [+] maybe this flag isn't gettginre removed properly?
- [+] polymorph should fix injuries first
* [+] for missing hand injuries, select the hand AFTER main switch()
* [+] shouldn't be able to weild 2-handed weapons if you only have 1
      hand!!!
- [+] "travel" spell should let you go to RT_HABITAT things.
- [+] fix crash validating f_spotted flag
- [+] don't always put "The " on unique objects.
    - [+] use F_THE for this instead.
    - [+] godstones should still have F_THE
- [+] don't place staircases inside MAINTAINEDGE vaults!!
- [+] burning a wood floor only makes a hole in the ground if there are
      more levels underneath!
- [+] end of caves:
    - [+] both bossrooms should have goblin king and red wyrmling
    - [+] stone key.
- [+] need a vault flag which say s: add f_stayinroom to everyone who
      is created in this room
    - [+] done: "keepmonsinroom"
- [+] cope with a branch's entry stairs coming from a vault 
- [+] killing unique monsters with necrotic damage should still leave a
      corpse.
- [+] make "ornate chest" which has rare objects
    - [+] put it in branch endings and make it a rare object
- [+] f_extrainfo in fireat() should show damage _after_ adjustment
- [+] BUG: swamp rooms aren't connected!!!!
- [+] end of forest branch:
    - [+] vault containing baba yaga's hut
        - [+] bone fence around it
        - [+] skeletons
        - [+] the hut.
    - [+] baba yaga's hut
        - [+] cabin on chicken legs
        - [+] f_timid!
        - [+] jump
        - [+] claw attacks
        - [+] walks around
        - [+] corpsetype = link to inside the hut
        - [+] made of dragonwood (ie. hardness 5)
        - [+] Don't say "You kill the walking hut".
        - [+] text when it dies: "Exhausted, the hut slumps to the
              ground."
    - [+] inside the hut = small level with baba yaga
        - [+] new regiontype: babayaga's hut
        - [+] new habitat: byhut
        - [+] making the habitat: only has a single vault. (one with
              tag 'byhut')
        - [+] diff layouts
            - [+] circular
            - [+] square
        - [+] baba yaga herself
    - [+] baba yaga
        - [+] weighs 50kg
        - [+] obs:
            - [+] key!
        - [+] hp: 135 = 22 hitdice (d6)
        - [+] 75% magic resistance
        - [+] attribs
            - [+] str: exhigh
            - [+] iq: exhigh
            - [+] wis: exhigh
            - [+] agi: average
            - [+] con: high
            - [+] cha: exlow
        - [+] fire, cold, magic, poison resist
        - [+] immune to  necrotic
        - [+] abilities
            - [+] seeinvis
            - [+] awareness
        - [+] claw/teeth attacks.
            - [+] claw = 8 DR
            - [+] teeth = 6 DR
            - [+] maxattacks = 2
        - [+] grab ability
        - [+] spells??????
            - [+] fear
            - [+] weaken
            - [+] summon insects/animals
            - [+] entangle
            - [+] blink
        - [+] when she dies, unlock the hut door.
- [+] delving code.
    - [+] new digging code:
        - [+] delve()
        - [+] delve_pullcell
        - [+] etc
    - [+] h_antnest
        - [+] creaetantnest calls delve() functions.
    - [+] insert this in the main dungeon somewhere
    - [+] populate with monsters (set rarity)
    - [+] place queen ant on the map.
        - [+] via new regionthing type RT_LF 
- [+] branch ends should have a boss with a key!
    - [+] jimbo
    - [+] babayaga
    - [+] cave boss (dragon ?)
2012-04-04 09:59:48 +00:00
Rob Pearce 53ada31364 - [+] bones file error:" the lazy minotaur"
- [+] parserace needs to cope with lazy etc.
        - [+] make enum BEHAVIOUR
        - [+] make behaviour_t
            - [+] id
            - [+] name
            - [+] flags
        - [+] killbehaviours()
        - [+] addbehaviour() calls to define them
        - [+] cleanup callsk illbehaviours
        - [+] givebehaviour(lf, enum behaviour)
        - [+] getrandombehaviour()
        - [+] instead of checking f_behaviour->text, use
              findbehaviour(f->behaviour->val[0])->name
        - [+] parserace should handle these and populate wantflags
              appropriately.
- [+] add disease incubation times (instead of getting them right away)
- [+] OT_A_TRIP should be a lot harder on anything with more than 2 legs
- [+] monster fleeing up/down stairs should anger hecta
- [+] reduce short bow damage.
- [+] add composite bow (between short & long)
- [+] need magic/silver weapons to hurt MT_MAGIC things
    - [+] spirits should no lnoger be made of "MAGIC" - make them
          something else. flesh will do.
    - [+] in attack.c, noncorporeal check should also check for silver
          / magic weapons
    - [+] describe noncorporeal in io.c if knowledge is high enough.
- [+] new spell casttype: ct_sounbased. deafness protects.
- [+] Banshee (7hd, spirit, death keen at night) - blue / red 'p'
    - [+] death keen = sonic damage"midnight dirge"
    - [+] but only at night. 
- [+] harpy: 7hd - orange 'A'
    - [+] charm (via sound, so sonic prevents)
    - [+] 50% chance of bone club
    - [+] bite, claw
2012-03-30 03:34:24 +00:00
Rob Pearce 984999d912 - [+] change real_getlfname():
- [+] take lifeform_t * for usevis instead of boolean
    - [+] add new option "useorigrace" for shapechangers
- [+] whips
    - [+] F_WHIP
    - [+] new skill: sk_whips
    - [+] basic trais:
        - [+] high accuracy
        - [+] lowish dam
        - [+] pierce/slash/bash damage
        - [+] some will let you cast 'snatch' and suck
        - [+] no crit chance
    - [+] examples:
        - [+] bull whip (lowest damage)
        - [+] flail (ie. chain whip ,change type from club to whip)
        - [+] heavy flail
        - [+] metal-tipped whip (flail with higher acc)
        - [+] barbed whip (causes piercing damage as well)
        - [+] io.c @@ should take extradam into account
        - [+] describbeob() should show F_EXTRADAM 
- [+] change morale values - this shoudl default to your TR, otherwise
      f_morale replaces it.
- [+] CRASH in doknowledgelist()
- [+] hecta bug: fixed!
    - [+] You bisect the kobold!  The dying kobold shouts "Nooooo!".
          Hecta's voice grates against your mind:
          "You allowed my sacrifice to escape!"
        - [+] is this because i'm calling "flee" after the lf takes
              fatal damage but before die() is called?
            - [+] NO, because flee() checks isdead(lf)
        - [+] it's happening when i kill a monster, and another one of
              the same type sees me!
        - [+] change:  only trigger this is the player has previously
              attacked the monster
- [+] replace fire titan with balrog
- [+] You bisect the giant gnat!  The dying giant gnat shouts "Nooooo!".
    - [+] fixed.
- [+] boggart -brown 'n'
    - [+] made of wood
    - [+] cause things to disappear
    - [+] cause milk to sour (low power blight)
    - [+] scared of salt
    - [+] demandgold 
- [+] briar thrash (spiky) - yellow 'T' (grab)
- [+] bingebark - red 'T'. wants edible, canwill snatch
- [+] leshy (human with leaves) - green 'h'
- [+] manticore - red 'm''
    - [+] lion, bat lings, man head, tail tipped with iron spikes
    - [+] carnivore
    - [+] human sized
    - [+] shoots 1-6 spikes. each spike does 1d6. too much!!
        - [+] change this to be 5d3 damage per volley.
            - [+] ie missiledam 4d3
        - [+] can do this once every 50 turns.
    - [+] can fly
    - [+] claws - 1d3 1d3
    - [+] want gold (non covet)
2012-03-28 20:17:47 +00:00
Rob Pearce eb859a4889 - [+] ENLARGE spell
- [+] grant extra hp too (*2)
    - [+] grant extra strength (+50)
    - [+] sizetimer text:
        - [+] orighp^origstr
    - [+] polymorph while resized will just return you to your original
          size.
    - [+] high level: enlarge your armour/weapons with you!
        - [+] need to change resizelf() too to take an extra arg
        - [+] need to chance F_SIZETIMER too
- [+] diurnal/nocturnal monsters get a penalty to listen checks during night/day
- [+] spriggan - green 'n'. ugly. can change size.
- [+] weed sprite - evil fairy, wild magic - orange 'n'
- [+] bog wraith - destroy food on touch. wants food. blight.
    * [+] can use "blight" spell
- [+] Unicorn
    - [+] white 'u'
    - [+] good
    - [+] teleport 
    - [+] nocharm
    - [+] good spell resistanve (high wis)
    - [+] drop a horn on death, which grants poison resistant when held
2012-03-27 10:49:23 +00:00
Rob Pearce d872098c48 - [+] battlemage spellbook
- [+] make it grimoire.
    - [+] don't learn the first spell automatically
    - [+] only start with 3 spell schools, and they must be from:
- [+] wizards with no subjob:
    - [+] get a grimoire rather than a spellbook. but first spell is
          always mana spike?
- [+] need some frequent forest vaults
    - [+] tree passage:
    - [+] tree circle
- [+] more enlarge/shrink object effects
    - [+] wooden door = wood wall
    - [+] wooden barrel - wooden dor
- [+] i turned into a cloud of gas. why was i not flying?
    - [+] when you polymorph to creautre with natural flight, start
          flying right away
- [+] show %age chance when studying a scroll
- [+] redo skillcheck code so we can calculate % chance beforehand.
- [+] automatically unlock all doors in starting room
- [+] reduce accuracy for innate attakcs- at the moment they always hit!
    - [+] based on agility.
    - [+] test with monk......
- [+] You have the following spells active:
      3 damage reduction, vuln to fire
- [+] grimoire - why could druid see 'knock' ? think this is fixed now.
- [+] new killverbs:  "murdered" "slain"
- [+] superheat not working if you miss. fixed.
- [+] skillchecks for NC_SPELLEFFECT noises should always succeed.
- [+] modifydamage dealt now that monsters have more hp:
    - [+] initial wizard spells
        - [+] chill
        - [+] spark
        - [+] manaspike
    - [+] later wiz spells
    - [+] fire on ground
- [+] new type of spellbook:
    - [+] general - one spell from each school "spell tome" ? "xxx's
          grimoire"/
- [+] another flagpile corruption bug.
    - [+] asked a mammoan hunter to join me.
    - [+] Marcus shouts "Beware a mosquitoid!".  You hear heavy
          footsteps.
    - [+] Assertion failed: ("flagpile is corrupt!" == 0), function
          checkflagpile, file flag.c, line 456.
    - [+] (timeeffects on footprints)
- [-] when you "vomit then wake up", need to recalc los
    - [+] killflag() is meant to fix this!
    - [ ] why isnt it working?
- [+] bug: wasn't identify()ing starting weapons when you selected them.
- [+] allow temples to try to belss unknown objects.
- [+] allow describing obs from askobmulti()
- [+] warrior read a grimoire, why did it get identified? fixed.
- [+] reduce cost to repair stuff
- [+] dancing flame -l1: fires spread to adjacent lfs
- [+] cleansing fire = l2: use nearby fire to heal -heal (power*20)%
      from each one.
    - [+] maxpower 5
- [+] quicken fire - l4: make flame primarliry
- [+] magic barriers should vanish if you walk into your own one
    - [+] implement
- [+] fleeing from something with F_NOMOVE shouldn't be cowardice
- [+] fix crash in check_for_block()
- [+] new branch: sylvan forest
    - [+] entrance to this branch: hollow tree?
    * [+] add some forest vaults
    - [+] get rid of 'the sun is coming up" messages
    - [+] nature spells which work better outside need to change...
          make it 'when in sylvan woods' instead
- [+] need a spell to teleport to entrance of a branch!
    - [+] done. TRAVEL.
2012-03-26 20:21:43 +00:00
Rob Pearce 672e26a81c - [+] object descriptions giving away obmods! fixed.
- [+] change lf summoning to better control hostility
- [+] gods should be able to see invisible
- [+] travel spell to quickly get around branches
- [+] treant / ent = green T
    - [+] old/normal/young
    - [+] older = slower
    - [+] elder can cast 'animate tree' ?
- [+] bug: when you offer a godstone to a god outside of realm of gods,
      they are saying "no" but still taking it.
- [+] gods should yell out a warning when you walk over a new godstone
    - [+] this lets the player know that picking it up will anger that
          god.
    - [+] then add f_donewarning to it.
2012-03-22 23:17:28 +00:00
Rob Pearce 0a06d06374 - [+] dancing weapons should injerit object's size.
- [+] animals shouldn't be smart enough to avoid sharp objects on the
      grond.
    - [+] make all animals have wisdom = LOW
    - [+] make most undead have wisdom = VLOW
    - [+] make most undead have CHA = EXLOW
- [+] warn if races are missing any STARTATTs
- [+] warn if races have duplice sTARTATTS
- [+] reduce unyon hit points
- [+] drop monster hitdice sides to 6
- [+] change goblin colours
- [+] replace quickblade with uchigatana. dael 7-8 damage. very rare.
- [ ] apply correct rarity to weapons
- [+] balance katana now that i've modified blades!
    - [+] and add wakazashi.
- [+] add altdam bash to most swords
- [+] add f->text to altdam
- [+] add "noobstext" to askobject()
- [+] why did ninja start with 0 mp ?
- [+] if you read a manual for a skill yo ucan't learn, have some kind
      of message to say it didnt work
- [+] map shouldn't be magical
- [+] cloth should 'heat up' (it just catches on fire)
- [+] give A_FIT to all mosnters, for stamina when we polymorph into
      them!
- [+] fix bug where celldangerous() fails on a lifeform's own cell
- [+] reflexive dodging should also dodge dangerous objects which
      appear on top of you!
    - [+] do this in startlfturn(), before other effects!
- [+] air spell - refraction - boosts EV
- [+] move jolt to L2
- [+] don't announce initial damage taking object from perfect to
      battered.
- [+] propel missile
    - [+] doesnt anger lumara
    - [+] for monsters: aispellok true if we have an OC_MISISLE which
          we're strong enough to able to throw.
    - [+] minrange 2
2012-03-20 10:26:33 +00:00
Rob Pearce 5d61533c15 - [+] move pctchance for individual spells from F_AICASTTOxxx to
F_AISPELLTARGETOVERRIDE v2.
    - [+] change code:
        - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx
              v2=TT_xxx text=pctchance or NULL.
        - [+] aispellok(xx, purpose) : check this _before_ checking
              spell->f_aicasttoxxx
    - [+] add spelltargetoverride for vampire
    - [+] add spelltargetoverride for werewolf
- [+] retain F_FLEEFROM on polymorph.
- [+] lycanthropes
    - [+] show up as "human" unless your animal/magic lore is high
          enough
    - [+] vulnerable to silver weapons
    - [+] Wererat (3hd, weapon damage)
        - [+] uses short blades
        - [+] stench
        - [+] want alcohol?
        - [+] transform into fast version of rat. plague rat?
        - [+] summon small animals. summon # override? "count:"
    - [+] Werewolf (4hd, 6 dam)
        - [+] summon wolves ?
        - [+] shapeshift to dire wolf
        - [+] regenerates
        - [+] firstaid skill (fast healing when resting)
    - [+] Werebear
        - [+] 6 hd
        - [+] shapeshift to grizzly bear
        - [+] summon 2-3 black bears
        - [+] firstaid skill (fast healing)
- [+] shapeshifting monsters sometimes start as animal form
- [+] if you are good/evil different alignments, mosnters should flat
      out refuse to join you.
- [+] more different sayphrases for recruitment.
- [+] when placing homelevobs, try to stick to rooms, not corridors
    - [+] getrandomroomcell() needs WE_xxx argument.
    - [+] implement cellmatchescondition(c, cond)
    - [+] real_getrandomadjcell() should use this too
- [+] swoop ability should only work with claw attacks
    - [+] F_FORCEATTACKOB
        - [+] getweapons() needs to honour this.
    - [+] spell.c: check if you have the right attack type
    - [+] aispellok: only if you have the right attack yype
- [+] horse - 2hd, brown u
- [+] Hippogriff (3hd , horse/eagle, 'u') - yellow
- [+] centaur (4hd, u) - grey
- [+] make pegasus be cyan
- [+] CATs
    - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow
          'f'
2012-03-15 09:19:05 +00:00
Rob Pearce 0a7aeec362 - [+] weakness spell should half melee damage.
- [+] quaffed a potion of polymorph self... and nothing happened!
- [+] only killing undead should please the god of life, not just
      killing anything evil
- [+] klikirak shouldn't get angry when you take cold damage!
- [+] fire sohuld convert flammable celltypes to another type:
    - [+] wood -> stone floor with pit
    - [+] carpet > stone
- [+] increase flamepillar range
- [+] warning before killing firebug on wood/carpet, if wisdom is
      at_high or above, and animal lore is high enough.
- [+] make f_twohanded only apply up to a given lf size.
    - [+] implement
    - [+] then add "istwohandedfor(wep, lf)"
    - [+] then fix up ob defs in data.c
- [+] unnatural growth/shrinkage spells should be temporary too (like
      potion)
- [+] random polymorph code
    - [+] stay at the same TR, or one higher/lower! (same for player
          random polymorph)  
- [+] elephant - friendly to mammoans
- [+] mammoth
- [+] pixie (then pixie, dryad sprite = sylvan / fae)
- [+] naiad / nixie
    - [+] blue 'n'
    - [+] low power charm to lure into water
    - [+] dagger/javelin
    - [+] throwing net
    - [+] resist magic 25%
- [+] droid - zapper
- [+] hoverscout (levitates, summons monsters)
- [+] skellion - floating flaming skull, scream attack, flame melee
- [+] fire primality should cast flame burst.
- [+] don't modify monster hp based on fitness.
- [+] storm primality / wind primality
    - [+] very fast
    - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper)
    - [+] permenant windshield
    - [+] lesser:
        - [+] lightningbolt (lesser, 2d6)
        - [+] sleetstorm (lesser, 1-2 cold and slow movement)
    - [+] greater
        - [+] chain lightning (greater, 3d6)
        - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on
              power)
- [+] naiad (water sprite) - 'n' -blue
    - [+] good
    - [+] aquatic
    - [+] water spirit
    - [+] charm spell
- [+] ling parasite - green 'x'
    - [+] turns one corpse into a zombie (dies in the process)
- [+] add onion object.
- [+] roc
- [+] "crystal cur" - canine. only bashing works
    - [+] gems for corpses.
- [+] bug: monsters not using spells. fixed.
    - [+] test NOSPELLS bug with rapidivy
    - [+] test low IQ spells with storm primality
- [+] make hitdice be d8 rather than d4
    - [+] change F_HITDICE
    - [+] add constant HITDIESIDES
    - [+] redo all definitions in data.c
2012-03-11 01:39:33 +00:00
Rob Pearce a6aab1afe1 - [+] ai shuldn't want its home/life objects.
- [+] lich
    - [+] lifeob = ornate glass jar
    - [+] can walk up to 12 away
    - [+] chilling touch
    - [+] mindshield
    - [+] teleport back to jar on death
- [+] monster ghosts have lifeob = corpse, which we generate.
    - [+] but DONT let them possess the player ?  or dont let them
          possess anyhting ?
- [+] mosnters should say noooo! if their lifeob is destroyed
    - [+] lifeobs need a link back to owner f_lifeobfor xxx
- [+] lifeob check wasn't including the lf's cell itself.
- [+] spellcasttext for dryad - "Charm" = beckons
- [+] poltergeist should be invisible
- [+] troll should covet food
- [+] avian - birds should be friendly
- [+] scroll of permenance should make armour invulnerable
- [+] amulet of mind sheild - immune to psionics 
- [+] parserace() shouhld handle "random _baseid_" ie. random ant,
      random troll etc
- [+] vault: troll cave (very rare)
    - [+] trolls
    - [+] bones
    - [+] cooked corpses
- [+] bug: minions not being created in vaults.
- [+] vault: ant nest
    - [+] queen ant
    - [+] dirt floor
    - [+] lots of ants
    - [+] LOTS of food.
- [+] reduce flame volume
- [+] vault maintainedge not working.  slightly fixed now?
- [+] vampires are turning into gas clouds but then trying to attack.
- [+] new amulets
    - [+] Of evolution (turn into a merman in deep water, aviad instead
          of falling, (fireres humanoid) in fire, (coldred human) in
          cold)
        - [+] in deep water and can't swim? turn into merman
        - [+] about to fall through a hole? turn into a flying aviad
        - [+] in fire and not resistant? turn into a Lavax
        - [+] in cold and not resistant? turn into sasquatch
        - [+] all polymorphs are TEMPORARY (5 turns or so).
        - [+] no autoid
    - [+] of bloodthirst - walking over blood heals you!
        - [+] no autoid
    - [+] Of graceful swimming (auto turn into a swan when you enter
          water)
        - [+] no autoid
    - [+] paranoia (5% chance per turn to create monsters out of sight,
          but in lof)
        - [+] they will make a "walk" noise right away
        - [+] or something just "you hear xxx right behind you!"
2012-03-08 19:42:25 +00:00
Rob Pearce ea5d012876 - [+] bug: notime being set in timeeffectslf() but NOT being UNSET!!!
- [+] air spells:
    - [+] create whirlwind - make a single whirlwind
        - [+] implement
    - [+] ethereal steed - move very fast and levitate
        - [+] f_autocreateob whirlwind behind you
        - [+] whirlwind object throws any lfs/objects around randomly
    - [+] tornado - creates a single tornado at a given location (more
          powerful). it moves around randomly, kills adjacent walls.
        - [+] F_OBMOVESRANDOMLY
        - [+] find an adjacent cell (walls ok)
        - [+] kill any walls there
        - [+] move there
    - [+] hurricane -  creates a cross cloud of whirlwinds (very
          powerful!). these move around randomly and kills adjacent
          walls.
        - [+] implement
        - [+] make them all move TOGETHER.
- [+] djinni / genie
    - [+] invisibility
    - [+] gaseous form
    - [+] illusion? mirror image ?
    - [+] permenant ethereal steed effects
    - [+] airblast
    - [+] gust of wind
- [+] efreeti
    - [+] wall of fire (new spell)
    - [+] gas form
    - [+] enlarge
    - [+] flame pillar
- [+] when summoning a monster with a lifeob, place it under them?
- [+] druid should learn canwill plantwalk at some point... level 7
- [+] allow f_cancast to have a timer too, like canwill. (so that
      monsters only cast certain spells sometimes)
- [+] is ai plantwalk working?
    - [+] seems to...
    - [+] but then i get "something casts a spell at you!"
    - [+] aigetspelltarget is setting targlf to player. FIXED.
    - [+] ai keeps on casting plantwalk after doing it once.
    - [+] ai needs to sto fleeing after casting plantwalk successfully!
        - [+] this is because after stealing, we are fleeing for a time
              limit, rather than PERMENANT
    - [+] once this is fixed, add spellcasttext plantwalk = null for
          dryad.
- [+] NEw code:  if you teleport, and you were fleeing, and you can no
      longer have LOF to the one uou're fleeing from, STOP.
- [+] The dryad vanishes!  A dryad moves out of view.--More--
    - [+] don't say both!
- [+] change CHARMEDBY code for player:
    - [+] walk towards charmer, then give them your stuff!
- [+] dryad brown 'T' (tree creature)
    - [+] knife
    - [+] must stay near oak tree
    - [+] can "plantwalk" between oak trees (or other plants).
        - [+] cast spell at cell with plant, warps you to a random one
            - [+] for player:  reveal all cells with trees, then ask
                  you which one.
        - [+] range 1
        - [+] maxpower 1
        - [+] ai casting:  must be a plant in range.
    - [+] emergency code: if not within lifeob range, move back!
    - [+] can cast sleep
    - [+] wants gold/gems/weapons
    - [+] home oak tree contains gems
    - [+] steal
    - [+] stayinroom
    - [+] charm 
    - [+] AI shouldn't ever walk away from life ob!
    - [+] ai homeob gems aren't appearing
2012-03-07 11:46:55 +00:00
Rob Pearce 95e470238e - [+] fire skeleton shouldn't be immune to cold
- [+] if monster dodges your first atatack, cancel the second!
- [+] make god anger/happiness fade over time, unless they are enraged
      (1 per turn ?)
    - [+] chance of fading is 1 in (abs(piety)/100)
- [+] don't include " [tried] when dumping bones!
- [+] "repair all"!
    - [+] implement repairall
    - [+] make repairall like eating (auto action)
- [+] time taken when you fall down should be longer
- [+] F_STAYINROOM monsters will go back to their lair if they ahve no
      target.
- [+] more object decay in bones files:
    - [+] blood splashes/pools become blood stines
    - [+] all objects have a 1/4 chance of vanishing (someone picked
          them up)
- [+] resting should only please glorana if your'e actually worshipping
      her!
- [+] exploit: stand outside jimbo's room and pelt him! fixed.
- [+] random "behaviours" for more/less hp
- [+] around dlev 8-9, monsters are too easy.  at this point i'm
      dealing 10-20 damage per hit.
    - [+] give monsters a "Challenge Rating" seperate to their hitdice.
    - [+] instead of gethitdice(), use getcr()
    - [+] change dumpmonsters
    - [+] use cr() to determine what monsters will appear, not hit dice.
    - [+] that way i can have certain mosnters have more hp, but still
          appear higher in the dungeon
    - [+] initially, assign CRs based on hit dice
    - [+] when rolling hitdice for monsters, always give maximum, then
          go up/down by 15%
- [+] monsters shoiuld always know spells from their spellbooks.
2012-03-06 10:47:26 +00:00
Rob Pearce 2b77aa200e - [+] vaults
- [+] oval
    - [+] chasm
        - [+] room split in 4 by glass
    - [+] concentricroom
- [+] Crash when a vault uses the object 'hole in the ground' 
- [+] better method of giving spells to monsters
    - [+] f_randomspellcount v0=amt
    - [+] f_randomspellschool v0=ss_xxx  v1=minlevel v2=maxlevle, text
          = pw:xxx or null
        - [+] if power not given:
        - [+] castig power is (starting depth / 2)
        - [+] limited by spell's max level.
    - [+] OR
    - [+] f_randomspellcount v0=amt
    - [+] f_randomspellposs v0=spellid, optional text = power.
    - [+] include these in validateraces
    - [+] populate monsters...
    - [+] TEST! (with fire sprite, check if it casts a spell other then
          fire dart)
- [+] if monster is randomly given the job "j_wizard", you MUST pick a
      subjob too!
- [+] go back to using CANCAST for monster spells, so that they show up
      properly in a mind scan.
- [+] druid should start with sickle as secondary weapon.
- [+] healing not hurting undead - should be fixed now.
- [+] add description of spell powe calculation to spell skills
- [+] increase obhp of armour
- [+] i was a druid, levelled up to l4, and didn't get a new spell!
      FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX.
- [+] make it a lot harder to get "beheaded" etc.
- [+] show real object name in "killed by a thrown xxx" even if you
      didn't see it
- [+] short blades shouldn't be able to behead.
- [+] monster threat calc should take #attacks into account!
- [+] CTRL-DIR to turn isn't working agian. fixed.
- [+] make peasoup have range 1, rather than just going straight in
      front of you.
- [+] power 1 glyph of wardning useless. fixed.
- [+] reduce zombie maxattacks to 1.
- [+] bug:  Are alcohol no longer covered in (null).--More--
- [+] make merlochs much more rare.
- [+] light recalc is MASSIVELY slow on some levels.
    - [+] for now:  remove dark levels completely?
- [+] "You see 2 sheet of ices here."
- [+] remove F_FROZEN when you cook something.
- [+] frostbite should do a little more damage. d4 instead of d3.
2012-02-29 06:05:14 +00:00
Rob Pearce 4808d2c9df - [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
      your previous space!
    - [+] fix: aigetlastknownpos should  return the cell that trails
          point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
      in that weapon or perception
- [+] cope with mosnter necromancers, etc
    - [+] parserace should look for necromancer etc.
    - [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
    - [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
    - [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
          "Skymage", "Wizard" (wild)
    - [+] instead of getjob() then j->name, use "getjobname(lf)"
    - [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
      knowledge
- [+] casting healing on myself pleased Glorana twice!
    - [+] one from casting a life spell
    - [+] one from casting healing.
    - [+] move ones from spell.c to castspell()
    - [+] new flag: f_pleasesgod v0=godid, v1=howmuch
    - [+] add to other spell objects:
        - [+] f_pleasesgod
            - [+] GODFIRE - spelllevel * 2
            - [+] GODDEATH = spelllevel
            - [+] GODLIFE = spelllevel*2
            - [+] GODNATURE: spelllevle*2
    - [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
      fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
    - [+] 1 per each positive levle of getpietylev()
    - [+] glorana: life
    - [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
    - [+] addsubjob()
    - [+] killsubjob()
    - [+] show subjobs in job descriptions.
    - [+] data.c:  addsubjob(.... 
    - [+] in job defs:
        - [+] f_canhavesubjob sj_xxx
    - [+] use this to determine whether to ask about them
    - [+] redo getjobname 
    - [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
      talk.
- [+] warrior subclasses
    - [+] "Scourge"
        - [+] gains magic resistance as you level up
            - [+] == 5 + (level * 3) %
        - [+] nospells
        - [+] no mana
    - [+] paladin
        - [+] blessed gear
        - [+] can will turn undead
        - [+] healing magic
        - [+] god = glorana.
        - [+] cannot use spells if glorana is angry.
    - [+] battlemage
        - [+] starts with one spell school (fire/ice/air)
        - [+] canlearn fire/ice/air spell schools
        - [+] limited to adept in all schools
        - [+] slightly less hp
        - [+] no warrior abilities
2012-02-24 06:45:23 +00:00
Rob Pearce 067cd92f37 - [+] delvers should always want money for info, unless you are a
delver too.
- [+] mirror image (mental)
    - [+] varpower
    - [+] makes power 'clone' lfs who look the same as caster
        - [+] ie. same race.
        - [+] also same job/armour/weps?
        - [+] add f_noxp
        - [+] add f_nocorpse
        - [+] add f_summonedby so they vanish when the caster dies
        - [+] add f_phantasm
            - [+] vanish after _power_ hits,
            - [+] attacks do 0 damage
            - [+] don't announce innefectual attacks
            - [+] dont cast spells or use abilities
        - [+] petify() them if made by the player
            - [+] force them to stay close.
        - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm
              and was created by player
    - [+]  mosnters try to attack them.
    - [+] once one gets hit enough times, it disappears
    - [+] if the caster dies or changes level, they disappear.
    - [+] can't talk to them
    - [+] their obejcts vanish when they die
    - [+] don't talk
- [+] make Yumi more about forgiving silly mistakes and avoiding
      instakills
    - [+] remove liking of healing
    - [+] remove like of healing spells
    - [+] takes a long time to anger.
    - [+] aviod traps (bamf you away before they trigger)
    - [+] prayers:
        - [+] resist stoning (pray while appropriate creatures around)
        - [+] resist paralysis (pray while appropriate creatures around)
        - [+] sleep on enemies
    - [+] passive powers:
        - [+] always warn as if wisdom is high (passive) 
        - [+] always save when killed right after using stairs
              (passive) "well, that seemed unfair."
    - [+] gift:
        - [+] auto sixth sense
        - [+] potions of restoration
        - [+] ring of miracles
- [+] shouldn't be able to Offer while enraged.
- [+] don't lose stamina while caffeinated
- [+] new vault: pit with walkway around it
- [+] bug: when worshipping yumi you get "you kill xxx" but they're
      still alive
    - [+] ... but they're still alive!
    - [+] ... for yumi, move KO chance from losehp() to attacklf().
    - [+] do the check BEFORE setting 'fatal'
    - [+] pass forceko to losehp_real
- [+] bug: adjustdamhardness should only trigger when ismeleedam() is
      true, not isphysicaldam()
- [+] greatly reduce motel cost
- [+] change order in attack.c: apply damage THEN announce, to deal
      with KO
    - [+] do it.
    - [+] test KO code.
    - [+] then check that feign death still works
- [+] demonskin vest should be flammable or vulnerable to fire.
- [+] time to get up should depend on size.
    - [+] less than human: shortnone
    - [+] human: normal
    - [+] larger than human: longer
- [+] expert unarmed now gives you 'flip'
- [+] reduce damage done by low-level monsters
- [+] change resoration into a spell
    - [+] implement
    - [+] test
- [+] new spell: ressurection
    - [+] corpses need to remember their lf's level
    - [+] test
- [+] godstone of life - revives/restores all
- [+] rename "confiscate" to "yoink", and make it take a random object
      at power 1, selected at power 2
- [+] gods should attack player if they are Enraged or Furious
- [+] is STR calc to see if you can push a boulder still working?
- [+] change to wizards:
    - [+] start at novice in all magic skills (but don't gain initial
          spells)
- [+] killing undead should please glorana LOTS. because it's hard to
      gain piety with her otherwise.
- [+] restoration spells/potion should hurt undead
- [+] healing spells/potions should hurt undead
- [+] immolate shouldnt work if there is aleady a fire tehre.
CODE FOR WINNING THE GAME:
- [+] get at least one godstone
- [+] exit the dungeon
- [+] find the portal to the realm of gods
- [+] opposing god should appear once you pick up a godstone, and tell
      you what to do next.
    - [+] "come to the realm of gods and use it to destroy (related
          god)"
    - [+] "or if you lack the courage, give it to me!"
    - [+] "you will find a portal on the surface"
- [+] use the portal to teleport to realm of gods
- [+] implement text for all gods...
- [+] god text in wt_god - should say 'but you werent meant to replace
      them!'
- [+] EITHER:
    - [+] challenge and defeat the god related to this godstone (more
          points. "Crowned the god of xxx.")
        - [+] TEST
    - [+] offer the godstone to the godstone's opposing god  (less
          points, "Ascended to demigod-hood.")
        - [+] implement
        - [+] TEST
GODSTONES:
- [+] klikirak: rage
    - [+] done
    - [+]  (make this one have fire effects too)
- [+] glorana: life
- [+] Felix shouldn't be able to yoink the godstone off you!
- [+] Write up the rest of the Godstone finding text.....
    - [+] magic
    - [+] battle
    - [+] life
    - [+] mercy
- [+] you can't hurt gods unless you
    - [+] a) have their godstone
    - [+] b) are in the realm of gods
2012-02-17 05:16:45 +00:00
Rob Pearce 30006c4cac - [+] for intelligent and wise monsters in groups, make at lesat one
stay awake (on guard)
- [+] shouldn't get salmonella from roast meat! implement israwmeat()
- [+] Curse removal -      $-2147483648 each
      Blessings     -      $-2147483648 each

      (there is a $644245120 surcharge for uncursing an equipped item)
      Pay for a blessing (you have $118) [yn]?
    - [+] fixed.
- [+] f_rage should make f_hiding disapepar.
- [+] after stealing from shop, call more() to allow for god messages
- [+] problem - vampires shouldn't ALWAYS be flying.
    - [+] any race with 'f_flying' should have f_canwill fly as well. 
          Use naturalflight on race instead.
- [+] call touch() on your weapon every turn? (ie. for red-hot ,
      undead, etc)
- [+] CRASH right after a cockatrice stoned my wolf.
    - [+] lf->flags = NULL
    - [+] lf->race = corrupt.
    - [+] because i'm calling die() from withing stone() from within
          timeeffectsflags()
2012-02-14 19:11:33 +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 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 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 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 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 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 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 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 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 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 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 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 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 3c7fa61324 - [+] rage:
- [+] no spells/abils
    - [+] no throw
    - [+] no operating wands
    - [+] will not flee
    - [+] no weilding/unweilding
    - [+] no wearing/takingoff
    - [+] don't warn or swap with friendly lfs
    - [+] always attack doors rather than open them.
    - [+] can't close doors.
    - [+] become exhausted when rage runs out
    - [+] infiniite stamina when you're enraged
    - [+] can't quaff/read
- More kill verbs
2011-11-18 03:25:09 +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 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 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 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 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 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 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 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 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 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 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 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 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
Rob Pearce 6cd743b9f9 - [+] askchar - default isnt working.
* [+] implement regions
- [+] new vaultflag:  norandom (doesn't rnadomly appear)
* [+] jimbo's lair
* [+] implememnt skill training
* [+] still a bug with flooded rooms having no doors!
* [+] change f_impassable to be a size _range_ which can't pass it.
- [+] metal armour should add to walking volume!
- [+] sewing/metalwork skill to repair cloth/metal armour, instead of
      "armour" skill?
- [+] moveob() onto a pit - they fall through!
vault options:
- [+] dlevmin/max:xx appears at this depth/difficulty
- [+] goesin appears in habitat xx (if none of these, can be anywhere)
    - [+] habitat has to be a struct first, with a name.
- [+] norandom (don't randomly generate - only from outline)
- [+] pits
    - [+] only one can exist in a cell
- [+] replace getemptycelltype() with entries in habitat_t
- [+] make map->habitat a link.
* [+] update linkstairs to do pits
SPELLS:
- [+] shatter (grav/air, break glass, break potions. damage to anyone
      nearby)
2011-06-22 06:01:48 +00:00
Rob Pearce 9db5f3aeec - [+] adjust damage for size
* [+] repair armour
* [+] armour "hardness" to reduce damage?
- [+] fix resting while poisoned.
- [+] shouldn't be able to attack while ethereal
- [+] cursed scroll of mending should damage stuff
- [+] spark should light unactivated candles/torches instead of
      igniting.
* [+] askcoords:  add a subprompt param:
* [+] xp levels:
- [+] stealing skill
* [+] alarm spell - level 1 wild magic
- [+] reduce damage when drunk (-1d3)
* [+] better armour material damage immunities
* [+] bug - lots of mosnters on same square - bug with f_numappear
- [+] chat-> "go to x,y" (they must have los to there)
- [+] reduce # objects in rooms again!!!!
* [+] put gatekeeper on DLEV 6
- [+] bug: when doing a heavy blow, don't use weapon effects liek trip.
- [+] don't show "[magic]" or [inspected] at end of game
- [+] knockback bug: You flatten the kobold!  The kobold slams into a
      rock floor!
- [+] warn before dulling blade.... (if pretty high iq)
- [+] monstesr should not start eating when enemies are nearby!
- [+] increase weight of weapons
- [+] fix up what counts as a heavy wep
- [+] check throwing - i can throw a 6.5 javelin 6 squares with a str
      of 7!!
- [+] eat blinkdog corpse for instant blink ability

- [+] true strike (???, next xx attacks alway hits).  xx is power/3
- [+] floating disc (summon)
- [+] obscuring mist spell fixes
2011-06-20 03:16:30 +00:00
Rob Pearce 27d22df11d - [+] implement getradiuscells()
- [+] evaporate spell - turn water into steam
- [+] monster generation bug? even on dlev10 i'm stil getting mostly
      kobolds
- [+] ai infinint eloop again - frost hawk trying to open door
- [+] another infinite loop - not falling through after spell failure.
* [+] reduce attack delay for most weapons.
- [+] letplayer see a tiny bit in the dark (1 cell ?)
- [+] beginner tracking not working - fixed.
- [+] only show "...but do no damage" if you have good knowledge about
      their race.
- [+] make gold lighter
* [+] footprints glyph shouldn't override pudles of water!
- [+] only show eviscerate etc if you have good knowledge?
- [+] don't start monsters on the stairs/magical barriers!!!
- [+] stone should be immune to more damage types
* [+] addexits adding way too many exits.
- [+] blessed identify should ID everything
- [+] blessed mending mends all
- [+] don't make noise when slowmoving.
- [+] eyebat dispersal big: The eyebat's strong scent leading north
      disappears!
- [+] go over footprint+scent+corpse and pickup:"You can't pick up
      footprints!"
* [+] doors can't do on top of each other!!!
* [+] low ground
- [+] make sure you can't have more than one "water" object in a cell.
* [+] make val2 of rarity be "common/uncommon/rare" etc
- [+] more monster types should appear in the forest.
- [+] when i go down stairs into a dark area, "it is pitch black!" is
      being cleared.
* [+] helm of the poltergeist
- [+] flying creatures get penalties in webs etc 
- [+] blind things shoudln't follow up/donw stairs
- [+] You shout a blood-curdling war cry!  The sawgrass turns to flee
      from you!
- [+] potions still worth too much.  minor healing was 420!!
- [+] AI should only go towards covetted object if it's closer or the
      same distanec as target.
- [+] branded objects should be worth LOTS - at the moment they're
      worth 1!!
* [+] maybe just adjust value of rarity?
- [+] don't roll spot checks while training!
* [+] replace f_nofeel with:
- [+] revenge did too much damage (50)
* [+] change how AR works
- [+] need to add: "really walk into a falling rock trap" ?
- [+] put only ONE staircase going up on dlev 0
- [+] why am i stopping sprinting after 1 move?
* [+] somehow make sure mosnters can't see footprints in a cell with
      mist
- [+] bones shouldn't be able to catch on fire.
- [+] when you levle up, gainskill BEFORE getting new spells
- [+] put out flaming objects after pickup
* [+] don't say "really target yourself?" when using a potion of sleep!!
- [+] enhance a random skill when levelling up? every 2 levels?
- [+] weaken koboldsa little - less change of javelin
- [+] don't drown instantly - take a few turns, depending on CON
* [+] create vault spell for debugging ???
- [+] doors in the middle of rooms.
- [+] highlight selected choice in askstr
- [+] flooded_room being created without walls!!!!!!
- [+] describe spell from levleup not working
* [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!!
- [+] fire wizard not prompted to get firedart at l2..
Vaults
* [+] X corridor - 
- [+] crosshatch
- [+] should water be ~ instead ?? and change whatever is currently a
      tilde to something else...
Initial work on goal:
- [+] surround all stairs with barriers
- [+] start player NEAR stairs (randomadjcell from stairs, allowexpand)
+ methods of escape
- [+] knock scroll
- [+] digging (but it stops the dig from going any further)
2011-06-09 08:58:35 +00:00
Rob Pearce af0d8f244d - [+] 's' = slowwalk(lf, dir). ask which dir if not given and player.
- [+] adds F_SNEAKING 
    - [+] calls trymove
    - [+] removes F_SNEAKING
    - [+] effects:
        - [+] move slowly (2 times normal)
        - [+] never slip
        - [+] bonus on stealth check
2011-05-27 02:50:59 +00:00
Rob Pearce f4cdcae146 * [+] shallow water / deep water
- [+] copy getmovespeed() water code into getactspeed too.
- [+] CAN throw missiles or fire guns while swimming, but you have an
      accuracy penalty, and they go slower. 
* [+] can't cast spells while in the water
* [+] sk_swimming
- [+] new obclass - terrain - goes baove everythign
- [+] remember tarrain like dfeatures
- [+] replace cone of cold with cold ray which hits all objects in the
      path, but stops at the first lf.
- [+] towel - dries things off.
- [+] f_needswater - suffocate if you aren't in water.
- [+] l6 nature - FLOOD.
- [+] make water jet leave a water trail
* [+] water monsters ( non-grey ;)
- [+] add aquatic mosnters to flooded rooms. addmonsters needs to check
      for water.
* [+] SPEED UP the game. running very slowly now. switched ncusrses
      draw func.
- [+] fix crash when moving off forest map with DC_xx instead of D_xx
2011-05-27 00:41:34 +00:00
Rob Pearce 69982623ed Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange.  for melee fighters (default), it's 0. for
      spells/archers, it's higiher.
    - [+] if we are further away than bestrange, move towards.
    - [+] if we are closer than bestrange, move away
    - [+] AND: move to wantrange before doing spells etc
    - [+] if we have a ranged attack and wantrange is default, increase
          it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
      acceptable!
* [+] mflag_push for monsters
          http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
          er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent

* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
      turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
    - [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
      15).
- [+] CRASH flagpile corrupt
    - [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
    - [+] ex: your tracks don't last as long
    - [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
    - [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
    - [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 02:12:00 +00:00
Rob Pearce a763c3c4b1 - [+] issues with drawing off edge of map.
- [+] should ALWAYS be blank (' ')
- [+] The fire giant forgecaller incinerates you with a flaming
      morningstar.--More-- HP:-115193/139
- [+] barbarian should start with a heavy weapon (to do heavy blow with)
- [+] chang epegasus symbol to Q
- [+] stop sprinting when you open a door, attack, etc
- [+] "the darkmantle vanishes" "the darkmantle appearS" "the
      darkmantle steps though the shadows"
- [+] when generating humanoid monsters on dark levels without
      seeindark, high chance of them having a torch/candle
- [+] all undead should seeindark
- [+] major healing pot doesn't work
- [+] crossbow should do more damage
* [+] aiming skill - determines accuracy of firearms
* [+] change spellbooks to be a single object ("spellbook")
- [+] call wind spell
- [+] make plants boost power of druid spells
- [+] secret iron door showing up as '.'
- [+] table shoudl be misc, not dfeature
* [+] implement sound volume.  1 - xx
* [+] some monsers have f_varlevel. v0 = max.
- [+] implement 'say'
* [+] bandits should demand a bribe (based on their hit dice)
* [+] replace graph paper with cartography skill
- [+] lightning bolt (air, goes THROUGH all lfs until the target one.
      less damage than fireball though.)
- [+] no casting spells while prone
Initial world map implemention.
- [+] maps need flags.
* [+] when in world map, calculate rarity differently based on distance
      from 0,0
* [+] allow walking off edge of forest to new map areas
2011-05-19 20:30:58 +00:00
Rob Pearce 858a264b07 * [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
      was clearing statdirty before f_asleep got removed in killflag().
- [+] AI:  don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
      show "NOTCASTABLE")
- [+] Your young hawk dies.  The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
      destroy too much)
- [+] don't draw "c  - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.  
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you.  A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 01:49:35 +00:00
Rob Pearce 7b753b5f0f - [+] "carnivore" flag -only eats meat
- [+] smart monsters should move OFF damaging things as a priority.
2011-05-06 20:57:44 +00:00
Rob Pearce 810ab99662 * [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
    - [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
      1-handed weapon.
- [+] dual weild
    - [+] if you have twoweapon skill, when you weild a weapon, say
          "weild as secondary weapon? y/n"
    - [+] in attackcell(), check if we have a weapon in our second hand
          AND are skilled in twoweaponing
    - [+] if so, get an attack with both, but with an accuracy penalty
          (until adept level)
    - [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
      up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
      damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
      eat meat when hungry"
- [+] @@ - combine acc+dmg.  ie.  "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse.  implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
    - [+] implement
    - [+] should attack ants on sight - f_hatesrace
        - [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
    - [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 03:12:52 +00:00
Rob Pearce 7099d01164 * [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
      the damge
- [+]  increase damage bonus with every lore level.  +10% each time
      (ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
    - [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake.  Your dart misses
      you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
      skeleton drops a blessed leather belt.The skeleton puts on a
      leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
      damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
      the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
      little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 07:34:07 +00:00
Rob Pearce b18dea83a3 * [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
      their victim is ADJACENT.
- [-] XP CALC
    - [+] funnelweb and redback are the same.
    - [+] check this is right...... i want funnel web to be worse.
    - [+] make hitconfer check in calcxpval take lifetime into account
        - [+] ALSO assign an xp rating to each hitconferred flag.
        - [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition: 
      "a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
      happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
      nothing happens??
* [+] throw code
- [+] wizard:  ask for school specialty at start, from:  fire, ice, xxx
      ?  You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore  for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai:  if we are going to player's last known loc (via targetcell),
      abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends.  this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
      cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
          You miss the eyebat.  You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
      stairs
    - [+] genericise:  trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
      pain!
      The skeleton drops a blessed fuming aqua potion [tried].
      The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
    - [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm.  like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
    - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
          from that school
2011-04-23 04:27:42 +00:00
Rob Pearce 4f54fc0ef9 - [+] young hawk moving very slowly? was healing.
- [+] make monsters heal faster when resting
- [+] make pet rest when you do
- [+] allow 'R' to heal allies
    - [+] F_RESTUNTILALLIES
- [+] mindless/animal mosnters won't throw things
- [+] announceflag for attrset not working
* [+] feeblemind spell - reduces intelligence to ANIMAL.
- [+] ai: if we are carrying too much, drop something
      (non-weapons/armour first)
- [+] teleport spell should teleport any adjacent allies too.
* [+] new 'C'hat commands:
* [+] change 'resist elements' potion to 'rum'
* [+] notify when pet is low on hp
- [+] why could a pirate use a biuckler?
* [+] genericise usage of canhaveobmod!
- [+] armour mod: blooodstained.  adds scary.
- [+] CRASH when you have two weapons and catch a glowbug in your flask.
* [+] potion of restoration onto frozen axe:
- [+] slow spell repeated message: The brown snake looks sluggish.  The
      brown snake is now moving slower.
- [+] make you only hear one thing each turn ?
- [+] always draw impassable objects on top
- [+] special ash
    - [+] exploding powder - explode in radius 1 around player
          (including player)
    - [+] concealing powder - create smoke cloud radius 3 around player
- [+] redo levelup logic.
    - [+] trigger LevUp when you have 'newskillready'
        - [+] announce when you gain level.
    - [+] can't gain more experience when LevUp!
    - [+] only update maxhp/mp from new level after you train
- [+] diety can't use abilities. fixed.
* [+] when i exit from@S output, statbar isn't redrawn
* [+] make SKILLS page show which skills you can learn.
- [+] In @s, downline isn't showing the title on the second page of
      SKILLS...
- [+] show POWER in @M spells page
    - [+] ###---
- [+] show cost RANGE in @M for varpower ones
    - [+] need getspellcosttext(spellid, power, buf) function
    - [+] 25-62MP
- [+] leftover rubbish chars at end of ---- in doheading()
- [+] mosnters should follow you up/down stairs
* [+] different poison types
- [+] implement tremorsense (like darkvision butrun can't be blinded
      etc)
* [+] implement HIDE ability
* [+] Thief job
- [+] if you walk into a room and every cell is lit, reveal it all.
- [+] auto-learn jump ability with high athletics skill
* [+] secret doors
- [+] items to spot secret doors
    - [+] gem of seeing
        - [+] ENHANCESEARCH
        - [+] F_SEEINVIS
    - [+] spell:  "reveal hidden" 
        - [+] shows secret doors
        - [+] removes invisibility
    - [+] wand of detect hidden
        - [+] ... casts the spell
2011-04-13 23:44:29 +00:00
Rob Pearce c32f93294c * [+] calcxp
- [+] more low power rings
- [+] don't think book names are being randomized - always 'azure'
- [+] charm moidifications
- [+] possession modifications
- [+] troglodyte being made with 180180108180180 mp!!
* [+] gain skills on level up for some jobs
- [+] only magic/blessed weapons can hit noncorporeal things.
- [+] monsters shouldn't walk into walls to attack things there.
- [+] The skeleton slams you with a boulder.--More--Innate Attack:
      boulder . was a bug in HASATTACK
- [+] no polymorphing into undead.
- [+] missiles shoudl always miss noncorporeal things!
- [+] need OFFMAP as well as WALLINWAY
- [+] can't possess undead
- [+] less charges in wands
- [+] when a thrown potion misses, "xx is destroyed" rather than "xx
      shatters!"
- [+] instead of "act:slow mv: slow", just "slow"
- [+] sprinting:  "you are exhausted" isn't triggering statdirty
- [+] On status, use 'v.fast' 'ex.fast' usbtead if "Very" etc
- [+] allies shouldn't attack peaceful things.
- [+] make fleeing lfs use stairs
- [+] undead can't start with blessed objects.
- [+] undead can't touch blessed objects
* [+] GHOST
* [+] PET code
- [+] can't trade items if your ally has NOPACK
- [+] make sure shared xp is working
* [+] firstaid skill shows extra mosnter hp info
* [+] more low power wands - at the moment it's always light or pwoer
- [+] pets: say 'your xxx' instead of 'the xxx'
* [+] pets: dancing weapons should be pets
- [+] need f_allyof as well so that allies will stay close.
    - [+] difference is that allies aren't called "your"
    - [+] AND no alignment penalty for attacking allies?
- [+] in lfstats, move physical stuff BACK to first page!!!
- [+] remove ally/pet flag when you die
* [+] pirate job
* [+] let firearms go into primary hand. test with PIRATE.
- [+] when fighting with a non-weapon: "you whack the xxx with xxx"
- [+] add specific attack verbs to weapons
    - [+] F_ATTACKVERB, dampct between v0 and v1, "stabs"
- [+] make showlfarmour() use colours
2011-04-11 05:05:45 +00:00
Rob Pearce 975d3c6e4f - [+] replace usage of controller == ...
- [+] change f_dam to use text field and combine with f_damtype
- [+] reduce unskilled weapon penalty
* [+] war cry - all make morale check vs user  or flee
* [+] change 'scare' fail results:
- [+] once you something flees form you, it is immune to fear from you
      for a while.
* [+] hurricanestrike ablity
- [+] check whether thrown poisoned dart works. didn't, but does now.
* [+] multiple staircases
- [+] CRASH - infinite death, then vomitted, then crash.
- [+] more wand of wonder effects 
- [+] armour skill
- [+] f_deaf
- [+] add size to lfstats
- [+] now runnign checkobdeath for lf's pack before checklfdeath.
* [+] add "{tried}" when you've traied an object but it's not ID'd
- [+] listening - at high levels this should let you detect life around
      you?
* [+] add more rings
* [+] 4leaf clover
* [+] possession spell
- [+] crash when getting job skills. You have learned the ability
      'warcry'.  Your training is interrupted!
* [+] nothing is doing much damage.
- [+] move physical details to 'effects' tab
- [+] make hexer appear with other goblins
- [+] brown snake shouldnt slip
- [+] make kobolds more common
- [+] make poison gas green
- [+] wand of invisibility should get known if we have seeinvis
- [+] when learning new skills, use askchoicestr
- [+] sunglasses should have f_noqual
- [+] make haste/slow more powerful
- [+] F_MAXATTACKS
* [+] hiddenname colour issues.
2011-04-08 03:18:54 +00:00
Rob Pearce 7e8aecf958 - [+] bug: "10 flaming arrows ##########\n are no longer on fire"
- [+] bug:  when wearing no boots: "A small puddle of water hits you!"
- [+] animated zombie keeps changing colour
* [+] wizard special case:
* [+] bug - walked down stiars on top of a monster
- [+] change "haslof" to come from a cell
- [+] replace WE_NOTSOLID with WE_WALKABLE
- [+] show hp/mp in colour
- [+] invis potion should always traget user
- [+] generic functions to curse/uncurse an object
- [+] not prompting for statgain after training properly. fixed.
* [+] pressing a key should interrupt resting
* [+] implement doublebuffering for screen
- [+] don't show attack dmg for mosnters
- [+] reduce sprint time
- [+] if a monster is chasing someone (ie has F_TARGET), then don't
      consider cursed ob ells as valid
- [+] don't hear noises when in battle
- [+] colourise attribs on status bar
* [+] askob/askobmulti
- [+] "lockpick with what" showing too much
* [+] inventoy colours
- [+] "masterwork stick" ?!
- [+] poison:  save to get rid of poison should be HARDER than save to
      prevent getting it
* [+] why are xats starting off carrying objects ?
* [+] small chance of catching a thrown missile if you have very high
      dex
* [+] if you polymorphed on purpose, have a "revert to original form"
      ability
- [+] nausea should only affect humanoids
- [+] BUG displaying knowledge when it goes longer than 1 screen.
- [+] monsters are attacking each other again! fixed?
* [+] BUG: when i load a game, i gain all knowledge!
- [+] more pole weapons
* [+] disarming weapons
* [+] tripping weapons
* [+] MORE ISSUES with askobject
* [+] validatelf
- [+] fix bug with poison triggering too often
- [+] chance of retching when nauseated. no hp loss, but takes time.
- [+] monsters shouldn't throw stuff if they don't have lof.
- [+] fix crash in knockbackob->fireat, caused by thrower == null
- [+] let high powered KNOCK knockback creatures again ?
- [+] test function to dump out:  dungeonlev   
      which_monsters_can_appear
- [+] firstaid tells you how long poison will last and whether it's
      lifethreatenting?
* [+] high level listen gives more info
- [+] wind shield spell
    - [+] repels all missiles of speed <= power 
- [+] variable level spells
    - [+] F_VARLEVEL
    - [+] when you cast, say "cast at how much power" with choices
          "Power II (5 MP)"
    - [+] show in spell list:  "5-10 MP"
- [+] replace ARBOOST with MAGICARMOUR
- [+] needan()
* [+] move psychic shield check into losehp
- [+] high level detectlife should show actual lf glyphs
- [+] control which jobs can learn which new skills.
    - [+] F_CANLEARN xxx
- [+] remember last target from spells
    - [+] askcoords = does lf for lastlftarg exist? if not, set it to
          null
    - [+] if so, start with it
    - [+] when you pick one, set it.
- [+] F_SHIELDPENALTY - modifies accuracy.
* [+] stop wizards from using shields
2011-04-06 07:27:55 +00:00
Rob Pearce 69d14c05fe * [+] goblins aren't opening doors...
- [+] xat shouldn't be able to open doors!
- [+] semicontrolled createmonster
* [+] implement semicontrolled teleport (can pick the general direction)
* [+] change how semicontrolled teleport works
- [+] make identify/remove curse more common
- [+] make minorheal/heal more common
* [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit?
      i got to 30ar very fast! (ie -45% dam)
* [+] make a special case for F_FLAKJACKET
- [+] BUG: glowbug is causing PERMENANT light, not temp!
- [+] diety ability - levelup
- [+] new damtype:  necrotic
- [+] drain life spell
- [+] make water evaporate
- [+] BUG in validating target cell. was asking a monster for input 
* [+] boots get wet if you walk in water
- [+] why does oil lamp and pil lantern make the same range of light?
- [+] fixed another vending maching crash
- [+] crash due to sprinting?
- [+] 2 blessed flask of battery acids
- [+] "This is a wand!" - don't use code for hiding names in the dark!
* [+] animals shouldn't eat their own race!
- [+] gem of seeing costs nothing!
- [+] frozen weapons do +1d4 cold damage
- [+] allomancy/psionics don't need spellcasting
- [+] poison isn't being announced on mosnters?
- [+] "you are full" only interrupt if we went < normal (ie peckish
      starving etc)
- [+] only F_HUMANOID creatures can wear armour / use weapons
* [+] what does a masterwork bow do?
- [+] implement strength requirements on weapons
- [+] UNDEAD cannot be poisoned by eating corpses!
- [+] ai lfs shoudlnt' eat tainted food
- [+] change how gravboost works wrt movement
- [+] smart ai lfs shouldnt move when in pain
- [+] don't stop walking if the only things there are non-pickupable
- [+] make mosnters swap places with each other if they are the same
      baseid
* [+] scroll of permenance
- [+] make more monsters have gold
* [+] can learn novice level weapon skills by using one a lot
* [+] finish hawks
* [+] add colour
* [+] job attribs aren't working
- [+] pile of ash has weird glyph!
* [+] when you learn the first rank of some magic skills, you get a
      spell with it
- [+] add colours to statbar
- [+] can only "stop on xxx" if you have feet
- [+] monsters shouldn't attack other to get to wanted objects.
* [+] "xat throws a knife"
- [+] manaspike doing no damage to giant newt
- [+] assign colours to rings
2011-03-31 23:54:44 +00:00