Commit Graph

78 Commits

Author SHA1 Message Date
Rob Pearce e8cc823d72 - [+] Go to 256 colour mode!
- [+] enable it
    - [+] adjust colour enum definitions
    - [+] adjust usage of colour enums in *.c
    - [+] redo celltype colours
    - [+] redo all lf colours in data.c
    - [+] redo all object colours in data.c
    - [+] fix potioncolours etc
    - [+] get background colours working again.....
- [+] You walk down the staircase...  Invalid racename 'random' in
      vault monsterzoo
- [+] gaining/losing god bonus - only announce first one you lose/gain!
- [+] knockout bugs:
    - [+] "you knock out the pixie"... then there' s pixie corpse.
    - [+] shouldn't be able to KO robots!
- [+] don't say "you kill baba yaga's hut", say "you defeat xxx"
- [+] alignment change
    - [+] should become evil if you worship hecta
    - [+] ...and good if you worship glorana
    - [+]  -15% xp forever.
- [+] shoudl become prone when hit by falling door trap.
- [+] TEMPERATURE
    - [+] habitat->basetemperature 
        - [+] VCOLD = <=0
        - [+] COLD=1-11
        - [+] COOL=12-18
        - [+] AVERAGE = 19-22
        - [+] WARM=23-29
        - [+] HOT=30-35
        - [+] VHOT=36+
    - [+] getcelltemperature()
        - [+] start with habitat temperature
        - [+] adding/removing/moving nearby fire makes cells hotter
        - [+] adding/removing/moving nearby blizzards, hailstorms, ice
              etc make cells cooler
    - [+] getlftemp()
        - [+] start with getcelltemp
        - [+] adjust for warm/cold blood, resistances, etc
    - [+] hot  effects
        - [+] stamina is used more quickly
        - [+] ice melts very fast (turns to water)
        - [+] food goes bad very quickly
        - [+] things made of ice take damage every turn. in
              startlfturn() ?
    - [+] cold effects
        - [+] exposed body parts give  penalties to accuracy
            - [+] -2 to -4 per exposed body part (ie. max -14, -21, -28)
        - [+] no effect on furred things like bears. make them
              cold-resistant or immune.
        * [+] medium chance to shiver... chance to drop weapons
        * [+] low chance to catch cold (check cold damage code)
        - [+] nothing ever melts
        - [+] food never goes bad
        - [+] water freezes( turns to ice)
        - [+] things made of fire take _extra_ damage (in attack.c) 
    - [+] Show YOUR temperature in @@
    - [+] Show other's temp in @@ if our lore is high enough
    - [+] notify when temperature changes.
    - [+] just like igniting other fires, fires should deal fire damage
          to surrounding cells
    - [+] heat/cold should affect SURRONDING cells too.
    - [+] maybe: instead of checking cell temp every time, recalc cell
          temp whenever:
        - [+] create cells with habitat base temperature
        - [+] we add a new object
        - [+] we move an object
        - [+] we remove an object
        - [+] SAVE cell temperature now.
    - [+] show cold/hot in statusbar.
    - [+] cold announcement not working.
    - [+] change glaciate:
        - [+] create "unnatural coldness" object
    - [+] cold snap: (l2)
        - [+] create "unnatural coldness" in a radius
    - [+] heatwave (l2) or "oppressive heat"
        - [+] create "unnatural heat" in a radius
    - [+] add fur coats to creatures (ie. resistcold)
- [+] ice cave level
    - [+] walls = ice.
    - [+] floor = metal
    - [+] creation similar to swamp:
        - [+] make dungeon
        - [+] change solid walls to ice
    - [+] limit room size to small.
    - [+] floor = snow
    - [+] temperature
        - [+] base temperature is cold
    - [+] ice-themed monsters
    - [+] ice-themed objects
2012-11-27 10:27:54 +00:00
Rob Pearce d39e7ea7c1 - [+] gunpoweder should be unstable - explode on ANY dam.
- [+] mosnter facing being set to -. debug with forced break. fixed.
- [+] fix territorial monster crash.
- [+] CRASH in celldangerous when undead avoiding holy circles.
- [+] alternate text for 'ineffectually'
- [+] need an announce for bjorn's ecstatic ability (ehavy blow)
- [+] whenever you gain a new godbonus, give you a grace period
- [+] change selectweapon so i can specify valid choices
    - [+] have multiple F_SELECTWEAPON flags, v0 = object. (or text?)
    - [+] getflags() then pick from these.
- [+] hwen gunpowder inside a barrel explodes:
    - [+] say "the barrel explodes", since that's what you can see
    - [+] explosion should actually work!!!
- [+] lethargy should drain lots more stamina now that exhaustion
      doesn't prevent attacks
- [+] thrown knifes not doing enough damage.
    - [+] fireat(): dam = throwdam(2) + speed(2)
          dealing 3 damage
    - [+] maybe increase throwdam to 4.
    - [+] check otehr throwmissiles too
2012-11-25 19:57:49 +00:00
Rob Pearce e30d5f334f - [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics:  give skill where misisng in a melee attack
      doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
    - [+] instead, materials have dieconvert values based on damage.
        - [+] getsmallbreakob(material,damtype)
        - [+] getlargebreakob(material, damtype)
    - [+] when an object dies, lookup its material  and obejct size
        - [+] ie. large wooden objects turn into "x planks of wood"
        - [+] small ones turn into "x shards of wood"
        - [+] then remove TODO: code from changemat() in objects.c
    - [+] allow for hardcoded getsmallbrekaob, getbigbreakob
        - [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
    - [+] remove specific code, like fire damage = pile of ash.
          ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
      wake you up
    - [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
      going to the sylvan woods.
    - [+] there is a tree in the way!
    - [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
      forest.--More--
- [+] repairing should make noise too
    - [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
    - [+] it's because i'm only checking this if we have MUTABLE.
    - [+] use EATMUTATE instead for mutations.  then eatconfer works
          with everything.
- [+] more crush bugs
    - [+] You crush some pieces of broken glass underfoot.
          You see 28 pieces of broken glass here.
    - [+] You crush some pieces of broken glass underfoot.
          You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
       otherwise it's too powerful.
    - [+] "wing flapping" . NV FLY
    - [+] NOISETEXT NV_FLY
    - [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
      Flight" skill.
    - [+] F_FLYING v0 = height.
    - [+] without this skill, flight is dependant on spell power. 
    - [+] assign sk_flying to races.
    - [+] remove F_FLIGHTEVASION from races. skill now does this
          instead.
    - [+] validaterace:
        - [+] canwill ot_a_flight = need flight skill
    - [+] each rank = +1 size level of height.
    - [+] if you get the skill while already flying, adjust the flag
    - [+] fall from flying if burduned.
    - [+] skill also affacts how much your evasion while flying is
          boosted.
        - [+] this extra EV bonus from flight sohuld only work against
              NON flying creatures!
        - [+] 5 EV per rank
    - [+] have a differnet fly ability
        - [+] ability = flight or fly (use flying skill for height)
            - [+] implement
            - [+] replace monster flight with ability.
        - [+] spell = enchanted flight (use spell power for ehgiht)
        - [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
    - [+] the nutter is throwing a peanut - acc = 64, speed = 2
    - [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
      to give help on that god.
    - [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you.  charges.
2012-11-22 03:13:27 +00:00
Rob Pearce 2867b4488f - [+] might need to increase effectiveness of armour again. incease
damreduced.
- [+] reduce sliperriness of blood now that we get lots more.
- [+] restrict hiscores to scores of >= 1.
    - [+] (and remove all current entries with score of 0)
- [+] modifications:
    - [+] make levels more sparse
    - [+] make "things"more common
    - [+] make objects more common (as opposed to lfs)
- [+] monsters with territorial CAN approach if you're sleeping/ko
- [+] monsters with territorial don't get angry if you're sleeping/ko
- [+] CRASH when i tried to dismantle something.
- [+] speed up map generation.
    - [+] most time is in createhabitat.
    - [+] calcposandmakeroom(). speed this up.
    - [+] linkexit()
- [+] FIX reachability algorithm
    - [+] unless we can make a dircet path, REMOVE all other code.
    - [+] instead, use modified a*
    - [+] distance to dest roomm, not dest cell
        - [+] = distance to centre of dest room
    - [+] cell is okay for pathfinding
        - [+] adjcellokforreachability(cell) = true
    - [+] cell is the finish spot if:
        - [+] it is in a different room and
              adjcellokforreachability(cell) = true
    - [+] i THINK this is working now.
- [+] f_startobwepsk ... text = "common" not working. fixed.
2012-11-19 04:57:48 +00:00
Rob Pearce 893540af19 - [+] chemistry skill lets to mix venom sacs into potions
- [+] need a potion and venom sac
    - [+] make more things drop venom sacs - snakes etc
    - [+] F_EXTRACORPSE
    - [+] operate the venom sac ?
    - [+] can do this with first levle chemistry
- [+] different kind of venom - blindness
    - [+] "blue venom sac" vs "purple venom sac"
    - [+] combiesn to potion of blindness
- [+] more amulets
    - [+] common
        - [+] of bravery
        - [+] of light (common)
        - [+] of minor protection (common) (=5 AR
        - [+] energy absorbtion (absorb explosions, then pump them out)
    - [+] uncommon
        - [+] injury prvention (instead of ring)
    - [+] rare
        - [+] or major protection (not common) +10 AR
- [+] had a missing eye. drunk a healing potino.
    - [+] Your head grows back!  Your injured head has healed.
- [+] objects with positive F_BONUS should never start cursed
    - [+] (in addobject)
- [+] territorial monsters talk when you are approaching their
      threshold  (but not within it)
    - [+] put this in ai_talk()
        - [+] if someone almost at territorial range:
            - [+] make f_noisetext v2 be SP_xxx. if it's set, just say
                  this instead.
            - [+] it not, N_TERRITORY_APPROACH
            - [+] if we can talk, SP_TERRITORY_APPROACH
    - [+] possibilities:
        - [+] stay away!
        - [+] keep back!
        - [+] get away froma me!
        - [+] don't come any closer!
        - [+] that's close enough.
        - [+] keep your distance, stranger!
        - [+] out of my way!
    - [+] test with giant and
    - [+] test with insane humanoid
    - [+] make territorial creatures not walk too close to things,
          unless they are attacking or fleeing
        - [+] in willmove(), fail if it is too close to something
        - [+] ...unless we have a target lf
        - [+] ...or we are fleeing
- [+] jumping when woozy will go to a random cell
- [+] fix autoshortcuts to include starting spells
- [+] still bugs with canreachbp - "The giant rat critically scratches
      your wizard hat."
- [+] zombies shoudln't be able to talk.
- [+] allow pets to "cheat" to find player's lcoation.
- [+] need some kind of limit on zombie army creation
    - [+] no stairs 
- [+] areallies() on two pets returning false
- [+] psychic shove
    - [+] push off something, or push them away
    - [+] l2 mental
    - [+] pushback power+1 cells (max power 3)
- [+] different god message for first prayer.
- [+] fix crash during swapplaces()
- [+] sacrifice of masterwork weapons should work better.  shoddy
      should be worse.
- [+] bug: shops don't work anymore
- [+] change lessen poison - power always goes to 1
- [+] replace description "spell's power is boosted when cast outside"
      with "boosted when cast in a forested area"
- [+] minor healing problem. "at lest 2hp per power" but mxpower 10.
      should be maxpwer 5
- [+] wish for 'protection' should give something you can wear without
      penalties.
- [+] locate object should give a message when none are found.
2012-11-15 11:39:46 +00:00
Rob Pearce ca132c87c7 - [+] before removing deadends:
- [+] find any four corridors in a square
    - [+] where one of them has 4 exits, and the rest have 3
    - [+] fill in the ones with 3
- [+] VALGRIND.
- [+] reduce ID costs at shops
- [+] necromancer mods
    - [+] start with a dagger, since you don't get early attack spells
    - [+] start with limited short blades skill
    - [+] start with animate dead (now a level 1 spell)
- [+] increase TR of ice wraith.
- [+] replace strrep function:
    - [+] strrep(&mystring, find,replacewith)
    - [+] code:
        - [+] char *strrep(char **mystring, char *x, char *y)
        - [+] char *temp
        - [+] temp = dostrrep(x,x,x)
        - [+] free(*mystring)
        - [+] *mystring = temp
- [+] flag loop in F_IGNORECELL!
    - [+] problem: i'm getting f->next == f
    - [+] added a new assertino in addflag()
    - [+] change how killflagsofid() works, maybe this is the problem.
    - [+] i think my "insertbefore" is being freed somehow...v
    - [+] fixed with valgrind?
- [+] try harder to link using tunnels rather than portals
2012-11-14 04:59:18 +00:00
Rob Pearce 98ba363e8a - [+] vault:pub
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
      to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent 
- [+] why didn't cyborg warrior start with bullwhip equiped??
    - [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
    - [+] no throwing
    - [+] no operating
    - [+] no firearms
- [+] tombstone text:   Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a  soldier ant
      corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
      it during a fight.
    - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
          v0=material, v1=howmuch
    - [+] continuerepairing() should only fix <skill + helpsrepair> hp
          per turn.
    - [+] announce helpsrepair in obdesc
- [+] coldroom vault:
    - [+] ice floor
    - [+] ice walls
    - [+] ice pillar
    - [+] frozen corpses
- [+] new job: gladiator
    - [+] sword
    - [+] shield
    - [+] high shield skill
    - [+] high evasion skill
    - [+] limited armour skill
    - [+] net
    - [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
    - [+] fall_from_air().
    - [+] trigger then when wind-based effects hit.
    - [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
      original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
      opponent, flee.???
- [+] easy way to fix reachability:
    - [+] is there a solid cell which is: 
        - [+]  adjacent to both a filled and an unfilled area?
        - [+] not a fixed vault wall?
    - [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
    - [+] f_hashidinglf, v0=rid
    - [+] if you loot it, monster jumps out
        - [+] ...and gets a free hit!
    - [+] perception lets you see the container moving (only if it
          weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
    * [+] condset_t
    - [+] then replace all getrandomadjcell() calls...
    - [+] remove getrandomroomcells
    - [+] then remove WE_xxx
2012-11-13 05:04:30 +00:00
Rob Pearce db635b50db - [+] most monsters which covet food should have snatch - so that you
can just drop food for them.
- [+] when looking for remote obs, DO include adjacent cells with lfs,
      if we have the snatch ability.
- [+] some long thin levels (80 x 12 ?)
- [+] fix code to remove useless doors.
    - [+] 0 pairs of dirs with empty cells = change door to wall
    - [+] pick an adjacent empty cell
    - [+] floodfill the 8 cells around the door.
        - [+] start with adj cell
        - [+] can't go more than 1 cell away from door
        - [+] solid cells or doors will stop movement
    - [+] if no unfilled cells around the door, bad.
- [+] new way of fixing unconnected levels - portal!
    - [+] pick one spot in each section then place a portal there.
- [+] dying should cure poison
- [+] tweaks to attack text
- [+] floor tile effecst
    - [+] absorbancy - ie. carpet should absorb water.
    - [+] converyors
    - [+] only walkable sometime (crushers?)
- [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus"
- [+] god of nature should like eating animals all the time, not just
      when hungry (makes piety gain easier)
- [+] announce when eyes are protected from a spellcloud
- [+] klikirak should like setting off fire traps.
- [+] floodfill() should follow portals to the same level.
- [+] show >1 skillpoints in green on status bar
- [+] bug: gods are apeparing behind you.
    - [+] bug in getrandomadjcell
- [+] gods' planeshift spells failing? might be fixed now. using
      getrandomroomcell instead of getrandomcell.
- [+] increaes damage dealt by smite evil/good
- [+] lightning javelins shouldn't be stackable
- [+] monsters not firing ranged weapons!
    - [+] they just walk back and forth
    - [+] bug with how i was calling haslof() for cells other than
          where the mosnter was (in getdiraway())
- [+] turn undead should only work if caster level*2 is >= monster level
fullblock basics:
- [+] penalties
    - [+] lowers visrange to 1
    - [+] huge attack penalties
    - [+] huge evasion penalties
- [+] vhigh chance of all ranged damage going to shield instead.
    - [+] buckler = 75 (small)
    - [+] shield = 80
    - [+] large shield = 85
    - [+] tower = 90
    - [+] plus shield skill*2
- [+] use check_shield_block in all spell effects
    - [+] this checks whether player is shieldblocoking (or evades??)
    - [+] then applies damage appropriatly.
- [+] new ability;
- [+] stopped by:
    - [+] losing or unequipping the shield
    - [+] being interrupted
    - [+] casting a spell or using an ability
- [+] exotic weapons should cost more.
- [+] maybe prevent prayer until gods have been pleased enough ?
    - [+] while you're not worshipping anyone, piety gain is x4.
    - [+] once first one hits 'pleased', they will appear and offer you
          a place
    - [+] advantge to this is that you get a gift
    - [+] picking up new gold should please felix......
    - [+] you shoudl only be able to sacrifice untouched gold. this
          pleases felix double as much as grabbing it.
    - [+] gods sohuld appear "in a cloud of ..."
        - [+] bjorn - blood
        - [+] klik - fire
        - [+] lumara - bright light
2012-11-09 11:50:52 +00:00
Rob Pearce 3bb1edae8b - [+] "peek" down stairs now works
- [+] should get a massive accuracy boost if you are holding someone
- [+] absorb wood is too powerful, (for 0 mp you can kill someone's
      weapon)
    - [+] change it somehow. fixed description - doesn't affect
          equipped items.
- [+] more loops in levels
- [+] training should create noise
    - [+] ...and monsters sohuld go to investigate noises if not in
          battle.
- [+] god gift changes...
    - [+] still give gifts based on piety
    - [+] BUT don't lower piety. instead start a 'gift timer'
    - [+] F_GIFTTIMER.  v0 = decerementing time until you can get a
          gift.  v1 = what v0 will be reset to (gets bigger)
- [+] revivetimer on ling parasite: A ling parasite corpse (null)!
- [+] monsters no longer inherit alignment from job.
- [+] ekrub's entangling vine vanishes straight away
- [+] fix crash when slipping on the ground.
- [+] mosnters shoudl only attack doors if pursuing a lifeform and if
      the lifeform is nearby.
- [+] only award partial points for held objects unless you won the
      game.
- [+] fix crash when gust of wind is cast on an empty cell
- [+] make spell power affect properl missile speed
- [+] bug: monsters getting too many f_ignorecell flags! (more than
      MAXFLAGS)
- [+] poison needs to last longer.
2012-11-07 20:21:35 +00:00
Rob Pearce 29483cd29f - [+] BUG: lfs are getting map flags!
- [+] Implement a* pathfinding for pets
    - [+] done
    - [+] TEST... seems okay so far.
- [+] druid spells not showing in starting list.
- [+] don't announce noise from unseen things which are attacking the
      player.
- [+] fix crash when no pet location found at start of game.
- [+] swap spell levels for warp wood and absorb wood.
- [+] only set godprayedto if you got a positive effect.
- [+] warp wood should affect wooden lifeforms.
- [+] pathfinding for player:
    - [+] only allow this to explored cells
    - [+] consider unexplored cells non-walkable.
    - [+] set f_pathfinding
    - [+] STOP if we see a monster
- [+] never let stamina exceed max.
- [+] you can now actually climb when you get the spiderclimb ability
      but don't have climbing skill
2012-11-06 20:32:56 +00:00
Rob Pearce 095fb8b7d4 - [+] add a glyph for 'bright light'. yellow sun
- [+] bug: i was able to repair leather armour usint the metalwork
      skill.
- [+] fix bug with vell not getting starting weapon.
- [+] monsters: don't walk on producelsight obs if you have sensitive,
      uncovered eyes.
    - [+] (if wis >= animal)
- [+] snakes shoudl have f_enhancesmell and bad eyesight. also lower
      their tremossense range
- [+] new lore: skills which auto makeknown() objects based on rarity.
    - [+] lore:chemistry - potions
    - [+] lore:relics = rings/amulets
    - [+] lore:language = scrolls / books
        - [+] also study scrolls
    - [+] lore:arcana: wands+magic creatures
- [+] finalise work to redo god piety
    - [+] amberon
        - [+] thrilled = poly immune,
    - [+] glorana
        - [+] t = auto bless weapons / arm
    - [+] ekrub
        - [+] e = autotangle (instead of d)
    - [+] yumi
        - [+] e = 90 save life chance
    - [+] felix
        - [+] p = enhance stealth ?
        - [+] t = enhance search 20
        - [+] e = enhance lockpick 50
2012-11-05 01:44:01 +00:00
Rob Pearce 49893b20e4 - [+] some rings are now rare/very rare
- [+] getting a lot of individual non-stacked blood stains.
- [+] penalty to slip checks when sprinting.
- [+] protetcion form good/evil - use saving throw for tougher monsters
- [-] redo god piety
    - [+] piety levels confer abilities/bonuses
    - [-] hecta
        - [+] pls - resist necro
        - [+] thr - stench
        - [ ] ecs - finger of death OR necrobeam every x turns.
            - [ ] fod: kill low hit die instantly.
    - [-] amberon
        - [+] pls - glow
        - [ ] thrilled = poly immune,
        - [+] t = also  undead dam boost
        - [+] ecs = prot evil
    - [-] glorana
        - [+] p = stam boost
        - [ ] t = auto bless weapons / arm
        - [+] e = regenhp
    - [-] ekrub
        - [+] p = plantsfriendly
        - [+] t = chance to autoentangle on hit (plev*10)
        - [+] t =  disease immune
        - [ ] e = ???
    - [+] klikirak
        - [+] p = res fire
        - [+] t = immune fire
        - [+] e = burning body
    - [-] yumi
        - [+] p = enhance search 10
        - [+] t = detect bless/curse..
        - [+] t =  detect life
        - [ ] e = save life
    - [+] lumara
        - [+] p = boost mag 1. spell on levelup.
        - [+] t = boost mag 2.
        - [+] e = boost mag 3. regen mp.
    - [+] bjorn
        - [+] p = resist fear
        - [+] p = stam boost too
        - [+] t = dam boost, acc boost
        - [+] e = knockback
    - [ ] felix
        - [ ] p = enhance stealth ?
        - [ ] t = enhance search 20
        - [ ] e = ???
    - [ ] move gift effects........
    - [+] remove gifts?
    - [ ] TEST!!
2012-10-31 03:58:13 +00:00
Rob Pearce 68e5435fdf - [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
      faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
    - [+] every time we ask for a direction, use askdirection(prompt).
          make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
    - [+] i'm finding way too many books! might be fixed now... ?
    - [+] never finding wands
    - [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
    - [+] carpet = soft
    - [+] stone = normal
    - [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31.  novice perception skill. noticied
      teleport trap right in front of me.  chances?
    - [+] maybe make it you can never detect anything further away than
          your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe:  "At Novice
      level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
      (with human footprints)"
    - [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
      fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
    - [+] F_BLOCKSVIEW needs new option:  v1 = true means dont block 
          if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
      info from the the cell returned.
    - [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
      the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
    - [+] peaceful check should do this
    - [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
    - [+] l0
        - [+] chewing gum (jam doors with it) - this should be food
              though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
      'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
      read it manually
- [+] finding rings of unholiness everywhere.
    - [+] because it's the only rare ring!
    - [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
      small blades.  starts with extra knives.
- [+] replace all SUBJOBS  with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
    - [+] rogue/assassin (no stealing, no traps, lockpicking,  better
          stealth+backstab, poison knives)
- [+] minor healing spell is too powerful.  should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
    - [+]  just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
    - [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
      school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
      grants cold resistance 
- [+] shop opening hours
    - [+] F_OPENHOURS
        - [+] v0 = start (inclusive)
        - [+] v1 = end (inclusive)
        - [+] v2 = sayphrase
        - [+] SP_CLOSEDTILMORN (come back in the morning)
        - [+] SP_CLOSEDTILNIGHT (come back tonight)
        - [+] SP_CLOSEDTILHOUR (come back after x oclock!)
    - [+] make shops only be open during the day.
    - [+] make some temples only be open at night (eg. hecta)
2012-10-15 02:15:36 +00:00
Rob Pearce db83aadaac - [+] announce when a web spell hits you
- [+] grammar:  xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
      mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach -  with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
      away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
      go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
    - [+] have added debugging
    - [+] wait for it to happen again
    - [+] put in code to check at start of turn whethe r my alignment
          just changed.
    - [+] my alignment seems to have changed to NONE
    - [+] POLYMORPH is causing this.
    - [+] fixed
- [+] commando should have low level version of gunblade
    - [+] electromachete - low pierce + low electric
    - [+] gunblade - med slash + low explosive
    - [+] boomstick -  med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
      object)
    - [+] l2 tech
    - [+] operate it to recharge tech which has charges.
    - [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
    - [+] new arg: lifeform_t *causedby
    - [+] use this when dealing damage, so that it counts as player
          kill (etC)
    - [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
      1
- [+] seems almost impossible to break locks on chests by bashing....
      check the calc.
    - [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
    - [+] after first hit: +1dam, knockback
    - [+] after 2nd: +2 dam
    - [+] etc
    - [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100.  therefore: multiply by 3
      and a bit.
- [+] CRASH during wish for Power
- [+] bug:
    - [+] You whack the pixie.  The pixie turns to face you.
          The pixie turns to flee from you!
          Amberon's voice booms out from the heavens:
          "You dare attack an innocent?"  Amberon's voice booms out
          from the heavens:
          "You dare attack an innocent?"  The pixie gestures at itself.
- [+] baba yaga's hut
    - [+] shoudln't be able todrink potions
    - [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit: 
    - [+]  $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
    - [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
    - [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
    - [+] scourge should always start with a whip.
    - [+] fighter should be able to pick it 
- [+] aligned temples sohuld be half price (or free if god is pleased?)
    - [+] SM_DETECTCURSE
    - [+] SM_PURCHASEITEMS
    - [+] SM_BLESS
    - [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
    - [+] check out canreachbp() in lf.c
    - [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
      silver
- [+] klikirak should grant fire powers
    - [+] cast pyromania when you pray
    - [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
      i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't  do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
    - [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
      with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
      called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
      your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
    - [+] i think i said "weapon" but it turned into weapon store.
    - [+] works in a wish...... is this only a problem in a vault?
    - [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
      "the xxx appears"
    - [+] when i read a create monster scroll, this _doesnt_ happen.
    - [+] when i cast summon small animals and a brian bat appears, it
          _doesnt_ happen
    - [+] only seems to happen whan a mosnter uses a summon spell
    - [+] maybe to do with finalisemonster() or "autogen" being set in
          addmonster?
    - [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
    - [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing  plants
- [+] do something to stop kilkirak worhipers from scarificeing the
      entire forest!
    - [+] if you attack a plant lf in the sylvan forest
        - [+] nearby plants attack.
        - [+] 33% chance of a treant:
    - [+] same if you destroy a plant object
        - [+] takedamage() needs a "fromlf" arg
    - [+] or sacrifice one.
    - [+] _warning_ if you attack a plant object or plant lf. (but
          don't kill it)
    - [+] WISDOM warnings:
        - [+] if you are about to attack an OC_FLORA object in the
              woods (and have felt the woods get angry once before)
        - [+] if you are about to attack a RC_PLANT lf in the woods
        - [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 05:04:49 +00:00
Rob Pearce 8e3c457c01 - [+] if can WILL _and_ CAST a spell, use power level from whichever is
highest
- [+] exorcise spell - l2 summoning
    - [+] +10% chance per skill level, -5% per monster TR, +5% per
          spell power
    - [+] implement
- [+] paladins get exorcise  at l5
- [+] new purity god pray effect: 100% success exorcisms.
- [+] new perks for lore:demonology 
    - [+] nov: exorcise demons (power 1)
    - [+] skilled: summon demon
- [+]  midnight -portals open.  moongate? lunar portal? lunar gate?
      moon door?
    - [+] portals with no F_MAPLINK will create a random destinatino in
          the same map.
    - [+] makeobjecttemporary() function
    - [+] when it strikes midnight, a portal appears somewhere on the
          plaeyr's level
    - [+] the portal is temporary for 60 turns (ie. approx 1 hours)
          turns until end of midnight (calc this)
- [+] fixed crash on "w-"
- [+] during glorana's peace, striketoko is okay.
- [+] announce posion potion effects.
- [+] make dark maps just lower max vis range, isntead of not being lit
      ?
- [+] redo entire light calculation code.
    - [+] light effects:
        - [+] create "bright light" object in radius around target cell
              (it has f_produceslight)   
        - [+] at high level, light spell will increase ILLUMINATION
              level of the entire map.
    - [+] DARKNESS
        - [+] make a "magical darkness" object
        - [+] blocks view.
        - [+] at high level, light spell will increase ILLUMINATION
              level of the entire map.
    - [+] bright light objects burn/scare undead
    - [+] undead won't walk into cells with bright light power >= their
          TR
    - [+] monsters in cells with produces light which are vulnerable to
          light take damage
        - [+] cases to check for:
            - [+] vuln to light 
            - [+] migrains
        - [+] iscelllit() should return light level of cell (sum of
              f_produceslight)
    - [+] gaining/losing f_produceslight should setlosdirty
    - [+] makelit() just places light/darkness objects
    - [+] monsters in cells with produces light which have good eyes
          get blinded
        - [+] move blinding code out of spell.c and into turneffectslf
    - [+] placing light/darkness objects causes los recalc in any who
          can see them
        - [+] this shoudl happen automatically since they will have
              BLOCKSVIEW.
    - [+] islit():
        - [+] check for ot_darkness objects in the cell
        - [+] check for f_produceslight flags in the cell's lfs/objects
        - [+] return how MUCH the cell is lit
    - [+] f_produceslight flag now just lets you see further in the
          darkness
    - [+] still give light sources to monsters, but change the check to
          see whether we do this (check the map's illumnation level)
    - [+] get rid of calclight() code.
    - [+] then i can get rid of seeindark code in los checking ???
    - [+] get rid of eyesight adjustment code 
    - [+] remove enum LIGHTLEV
    - [+] CHANGE nightvisrange - it just countres the map's
          illumination level
    - [+] remove lf->eyeadjustment
    - [+] remove lf->losdark
    - [+] remove lf->nlosdark
    - [+] remove cell->lit and littime and otiglittimer and origlight
          and lastlit
        - [+] remove it
        - [+] don't save it
2012-08-02 04:08:27 +00:00
Rob Pearce e805e9dc01 - [+] don't trigger ANY god effects while raging.
- [+] when wishing for "power", don't give tech that you can't use.
- [+] INFINITE LOOP in timeeffectslf().
    - [+] happens when an lf is prone and falls down a hole.
- [+] pass search check on natural 20!
- [+] undead weapons are normally cursed
- [+] walking into a wall now takes time, but can detect secret doors
- [+] tiled floors also multiply the effects of slippery objects
- [+] wand of dispersal - getting "no lof"
- [+] make time debugging for all lfs be an option.
    - [+] when set, dump the following for each lf: 
        - [+] time (millisecnds) taken for their turn
        - [+] whether player can see them or not
        - [+] # screen redraws during their turn
- [+] skillchecks
    - [+] shield check.... 
        - [+] Human checkmod (type Shieldblock):
              19(attr)+1(lvm)+0(othmod),totroll=71--More--
        - [+] Human: Shieldblock check, rolled 71, need >= 95. (fail) 
              [you takes 1 dam]--More
- [+] wondering monsters - they turn up on levels when you go  back to
      them. (but never near the stairs)
    - [+] only if you haven't been there for a while (50 turns or so?)
    - [+] (depth*5)% chance for each room without stairs 
- [+] dark elf - Vell
    - [+] consumesouls
    - [+] +int
    - [+] novice necromancy 
    - [+] metal vuln
- [+] don't start player with obects which they are vulnerable to!!
- [+] matvuln should hurt you if you touch something made of it!
- [+] wands should be made of dragonwood, not metal
- [+] diferent kinds of matvuln -
    - [+] you get hurt more by it
    - [+] you can't even touch it
    - [+] use v2 to determine.
2012-07-30 02:35:02 +00:00
Rob Pearce 023c8a5eaa - [+] reduce movement noise when hiding.
- [+] stealth check to not make ANY noise when hiding is easier.
- [+] redo skillchecks to use a percentage, not d20!
    - [+] new function behaviour:
        - [+] skillcheck()
            - [+] roll a die.  d100? d50?
            - [+] modifyskillcheckroll() - apply modifiers (based on
                  attribs, etc). higher roll is better.
            - [+] store die roll in *result
            - [+] difficulty 70 means "must roll higher than 70" = 30%
                  chance.
            - [+] if roll >= what you need, you pass.
        - [+] skillcheckvs()
            - [+] each roll a die
            - [+] modify die roll for both of you
            - [+] who is higher
        - [+] now modify ALL calls to skillcheck() to be pctage based. 
            - [+] in general, difficulty of 20 ->diff 95 (ie. 5% base
                  chance)
            - [+] each +/- 1 will chance difficulty by 5%
            - [+] ie. multiply current values by 5
            - [+] IN
                - [+] attack
                - [+] io
                - [+] lf
                - [+] move
                - [+] objects
                - [+] shops
                - [+] spell
        - [+] then REMOVE getskillcheckchance()
        - [+] auto fail poison check on low roll
- [+] let everyone attempt to climb climbobstacles.
- [+] potion of oil isn't smashing when thrown
    - [+] shatter() was failing because the EXPLODEONDAM check was
          incorrect.
- [+] fix felix money sacrifice exploit . done.
- [+] change collapsing door trap - first check for F_DOORFALLOB
      instead of just checking material. that way we can cope with iron
      gates etc.
    - [+] done
    - [+] define doorfallob for iron gate - 4-5 iron bars
2012-07-17 23:03:17 +00:00
Rob Pearce 57be5448c8 - [+] hecta's escaping sacrifices - only trigger this 5 turns AFTER
they get out of sight.
- [+] some kind of obstacle which you must CLIMB over
    - [+] objects
        - [+] metal barricade (also breakable)
        - [+] pile of rubble (not breakable)
    - [+] F_CLIMBOBSTACLE
    - [+] need a climb check of difficulty v0 to move ON to it. if you
          fail, you fall off in a random direction.
    - [+] if you don't ahve the climbing skill, you can't move onto it.
    - [+] ...and EVERYONE needs to be able to learn swimming & climbing
    - [+] vaults:
        - [+] room with heaps of these in rows - "fortified_room"
        - [+] room with lots of these over a pit - "pit_path"
        - [+] room with lots of these over fires (or something
              damaging) - "firepit"
    - [+] if you're standing on something with "climbobstacle", you
          count as being higher
    - [+] tables should have CLIMBOBSTACLE diff 5
- [+] vault - pit with archers on the side
    - [+] cope with "monster_name with _objectname_"
    - [+] cope with objects of name "random firearm"
- [+] BUG: "Gather up the spoils of battle!"  A masterwork weapon store
      appears!--More--
- [+] rarity on wands seems broken...
- [+] god gifts are happening too often when god is just 'pleased'
- [+] on levels where floor is carpet, don't create vaults with obs
      made of MT_FIRE
- [+] bjorn prayer's forcesphere radius should depend on piety level
- [+] collapsing door trap - need f_doortrap to restict this to just
      doors
2012-07-15 13:27:45 +00:00
Rob Pearce c421529221 - [+] glorana doesn't like you attacking during Glorana's Peace
- [+] make more shops let you donate
    - [+] bookstore
    - [+] jewellery store
- [+] rename blood hawk to hunting hawk
- [+] offering a bribe to creatures should make them move likely to
      helkp you, AND reset the "auto don't help' flag
- [+] change "get lost " message to "get lost, <racename>" if your race
      is different.
    - [+] sayphrase() needs a new arg:  lifeform_t *talkingto
- [+] colours for spell effect.
    - [+] eg. "the flame dart hits xxx" should use CC_BAD
- [+] muddy room - mud should be immutable.
- [+] maybe change rage - you lose control totally and just attack
      anything in sight?
    - [+] do it.
    - [+] don't train when enraged
    - [+] don't hear sounds when enraged
    - [+] RAGE effects: strength bonus, accuracy bonus, infinite
          stamina, never flee, 
- [+] fix bug in skill point calculation
- [+] CRASH - someone got their turn BEFORE the player!
- [+] new poisontype field - contracttext
- [+] hecta's pray effect not working.
- [+] adjust food poisioning check difficulty based on food age
    - [+] check OBHP percentage of max.
    - [+] >= 80% obhp means -30% difficulty check
- [+] ring of unholiness should confer dtvuln holy.
- [+] fix colour on spellclouds
- [+] fix bug with spellclouds not affecting centre cell.
- [+] if you are frozen, heat does extra damage and cold does none.
- [+] when frozen, lessen chance of melting.
- [+] reduce bite damage of snakes
- [+] balaclava should protect from gas
- [+] make some floor types (like carpet) be multicoloured
    - [+] celltype->altcolour
    - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is
          true.
- [+] don't regain stamina while training
- [+] random text in shops - sayphrase needs to cope with lf == null
    - [+] done
- [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with
      staves!
- [+] BUG: in vault.vlt.
    - [+] "30% chance of door" really means "otherwise empty cell"
    - [+] need to be able to say "else put a wall here"
    - [+] so change:
        - [+] c:type:what[:pct]
    - [+] to this:
        - [+] c:type:what[:pct][:alttype:altwhat]
    - [+] vlegend_t needs
        - [+] enum VAULTTHING tt2
        - [+] char *what2
        - [+] they default to VT_NONE, NULL
- [+] secret doors should take their fake wall type from the vault spec
    - [+] vaults need f_celltypeempty/solid flags
    - [+] add via:  solid:xxx in vault def
- [+]  recycler
    - [+] donate anything
2012-07-15 05:01:58 +00:00
Rob Pearce af3116f6d4 - [+] press ] then \ - CRASH.
- [+] if sound is behind walls:
    - [+] you hear a muffled explosion
    - [+] int canhear() needs one more optional  argument: 
          &numwallspassed
        - [+] if supplied, fill it in.
    - [+] in noise(), check numwallspassed. if there were any, then say
          'muffled'. or maybe if more than 2? play around with this.
- [+] listen skill should also give more info about NON monster sounds
    - [+] ie. direction, distance.
- [+] set user->changinglev when CHECKING stairs in the same way as
      when we use them.
- [+] monk abil - iron fist - use all remaining stamina as damage +
      knockback
* [+] HITCONFER - this should only work if you were attacked through a
      BITE or CLAW etc.
- [+] bug... werewolves etc not attacking properly after shapehifting
- [+] some tech/tools should be usable with hands (ie. watch).
      f_operwithouthands
- [+] werewolves sohuld keep f_hitconfer after shapeshifting
    - [+] done
- [+] summoned creatures from ai should never attack their masters!!!
- [+] only the PLAYER can be infected by a werewolf?  or only HUMANS ?
- [+] when a werewolf changes to animal form, no longer hide true race
      as 'human'
- [+] lycanthropy?
    - [+] how to get it:
        - [+] drink were-xxx blood (->potion of lycanthropy, never
              appears randomly)
        - [+] bitten by a lycanthrope (chance) with hitconfer  and fail
              a con check
    - [+] change f_lycanthrope so text = racename.
    - [+] effects when you get it:
        - [+] right away, add diseased with lycanthropy. incubatino
              infinite ?
        - [+] if you are incubating lycanthropy, you always change at
              the full moon (and get rage, and lose control).
            - [+] at this point, complete the incubation and...
            - [+] add f_hatesall
            - [+] lose control for a while
        - [+] after you change back the first time,  you can change at
              will. (but there is a risk each time of losing control)
            - [+] player regains control
            - [+] remove aicontrolled, hatesall, rage
            - [+] actually add f_lycanthrope, text=xxx, v0=4
        - [+] when f_lycanthrope  v0 drops to 0 or less...
            - [+] canwill shapeshift  with race:xxx
    - [+] how to remove it
        - [+] remove curse scroll 
        - [+] drink holy water
        - [+] these will:
            - [+] cure any incubating curse
            - [+] cure any f_poisoned curse
            - [+] cure lycanthropy, and any flags FROMLYCANTHROPY
    - [+] other effect
        - [+] wont/cant walk into holy circle?
        - [+] holy circle hurts you
- [+] shouldn't be able to get critical hits on you (ie. injuries) if
      you ahve heavenly armour
- [+] bug in f_poisoned text. i think i've fixed this now.
          Died on level 2 of the dungeon.
          Killed by venom poisoning
          from 5-10
- [+] donated objects count towards xp!
    - [+] -50% of value if not known.
    - [+] -25% of value if not id'd
    - [+] donating objects will anger felix
2012-07-11 04:10:21 +00:00
Rob Pearce e5c6d8b094 - [+] bjorn prayer should knockback adjacent enemies
- [+] BUG when i enter baba yaga's hut:
    - [+] ERROR - couldn't link stairs back to map entry object.--More--
        - [+] was assuming that exitdir was up/down.  for entering the
              hut, the direction is "in".
- [+] lots of missing text colours - fixed.
- [+] is 'appropriate' working? i got a sun hat!
    - [+] yes, but "armour" should mean "ar >= 1", to differentiate
          from 'clothing'
    - [+] also, size sohuld match for armour.
- [+] time code (if you have a watch):
    - [+] things which occur at certain times
        - [+] "glorana's peace" - morning twilight and sunrise.
            - [+] boost life spells
            - [+] glorana worshippers gain some special - regen.
        - [+] midnight =  "witching hour"
            - [+] boost necromancy
            - [+] werewolves always change to wolf
            - [+] implement an auto-cast for player lycanthropes
- [+] when a ling parasite enters a corpse:
    - [+] add some kind of flag so that when it dies, a living ling
          parasite appears on top of the corpse.
    - [+] F_CORPSELF
2012-07-06 03:54:58 +00:00
Rob Pearce 2603d35bc7 - [+] glorana should accept scarifice of undead corpses.
- [+] babayagahut stay in vault not working. am i allowing it to pursue
      out ?
- [+] babayagahut shoud ahve nobleed
- [+] scourge shouldn't get heavy blow etc
- [+] problem - scourge was able to learn allomancy.
- [+] rats should squeak
- [+] bug: anticipate spell lasting forever.
- [+] time announcements if you have a watch
    - [+] night is falling
        - [+] undead will be stronger
    - [+] sun is rising outside
        - [+] undead weaker
2012-07-04 06:01:07 +00:00
Rob Pearce 042ade4ca6 - [+] change descriptive text for nullify power.
- [+] if you burn your hands on an equipped shield, drop it autoatically
* [+] sewer stairs problem
- [+] if something redhot/flaming takes water damage, it will make
      steam.
- [+] ring of unholiness(blessed things burn you - just add undead flag?
    - [+] gods of purity/life will warn you first.
- [+] fixed crash checking for blocking attacks from adhesive lfs.
- [+] glorana cure poison doesn't work
    - [+] cancast is returning FALSE but E_OK.
    - [+] glorana isn't getting canwill ot_s_curepoison
    - [+] got it - was using getspellschool() instead of
          spellisfromschool()
- [+] giant spider not casting web
    - [+] .oO { can't cast web right now (lowiq) (mpcost=4, i have 0) }
    - [+] FIXED, and also fixed validateraces() check for this kind of
          thing.
- [+] cats are now territorial with rndhostile rather than always
      hostile
- [+] do final cursed wish scroll effect - magic
    - [+] get a suicide spell?
- [+] thornspike armour.
- [+] new slashing weapons
    - [+] new weapon: vibroblade
        - [+] short blade
        - [+] slashing 8
        - [+] extra high crit chance
    - [+] new weapon: nanoblade
        - [+] short blade
        - [+] slashing 10
        - [+] unlimited armour piercing
    - [+] laser sword
        - [+] longblade
        - [+] fast!
        - [+] not dullable
        - [+] armour piercing (not as much as nanoblade)
        - [+] high critical (not as much as vibroblade)
    - [+] gunblade
        - [+] extra explosive damage while it has charges.
- [+] glorana accepts sacrifice of weapons, instead of food.
- [+] ekrub acceps sacrifice of food.
- [+] bug in pirate description:
    - [+] Its  (). It has no left hand.
- [+] god description should show prayer results. ie. "yumi will
      respond to prayer by xxx"
- [+] if glorana likes you while you're sleeping say, "you dream of a
      choir singing" instead of "you hear".
- [+] eating garlic gives stench.
- [+] cope with "armorpierce NA" - "will not reduce damage at all"
2012-07-03 03:53:41 +00:00
Rob Pearce 8377a72242 - [+] credit cards shouldn't be stackable
- [+] minor grammer fixes in skill descriptions and looting choices
- [+] crash when donating objects to a shop.
- [+] only allow lock breaking with bashing wepons
- [+] make minor undead like skeletons not pursue once you're out of
      sight.
- [+] don't allow damaged objects to stack
- [+] wyrmspawn should be able to learn master wyrm lore!
- [+] fixed crash when operating tech which asks for a target cell
- [+] bug in bones
    - [+] invalid at() definition: 'at(0,0) ob:an uncursed bone club'
          [vault:bones7/loading flags] Invalid line: [at(0,0) ob:an
          uncursed bone club]
- [+] when monsters polymorph into a new race, don't change their
      allegiance (ie. dont inherit f_hostile)
- [+] don't want boulders or other impassable objects in starting room
- [+] lumara should give you one more mp if you are already full
- [+] reduce radius of gas trap
- [+] fixed description for mana spike
- [+] increase damage of wild spells
2012-05-28 07:05:19 +00:00
Rob Pearce cd9b6cd40a - [+] bug: shouldn't be able to pay with gems without beginner
psychology
- [+] plauge rat should have poison corpse
- [+] bjorn should only get mad when you flee from armed foes.
- [+] Strengths: should include poisonous bite at beginner level, not
      adept.
- [+] show behaviour flags in description
    - [+] territorial (insane)
    - [+] fleeondam (timid)
    - [+] noflee (drugged)
    - [+] followtime (detemrined / lazy)
    - [+] muscled/scrawny
- [+] should be able to pay potion stores to id stuff.
    - [+] update make_basic_shop
    - [+] use shopacceptsflag
    - [+] id function...
- [+] bug: scroll of wishing, Protection. keeps giving me 'sun hat.
    - [+] limit possible body parts to certain ones.
- [+] when wearing armour of the spider, you should never get exhausted
      from climbing
- [+] show "Threat Assessment" text on @@
- [+] only warn about pentagrams with gtaverage iq
* [+] new playable race: Wyrmspawn
2012-05-22 06:10:49 +00:00
Rob Pearce 435b374c25 - [+] "really attack the helpless something?"
- [+] don't show this message if we can't see iT!
    - [+] also dont count this as a peaceful attack if we can't see it.
- [+] missiles missing you should interrupt training!
- [+] Why does monk acuracy start at -4?!
- [+] godstone of destruction (hammer )
- [+] godstone of life (heart ?)
- [+] godstone of mercy (flower?)
- [+] revenge/theft (glove?)
- [+] godstone of purity (orb ?)
- [+] death: of death. (skull ?)
    - [+] casts infinite death
- [+] nature: of Nature (seed ?)
    - [+] all plants become peaceful
    - [+] all animals become peaceful
    - [+] cure all diseases
    - [+] quench all fires
    - [+] flowers grow everywhere
    - [+] summon treants ?
- [+] battle: of Battle (make this a horn?)
    - [+] remove all curses on equipped wep/arm.
    - [+] bless weapon (if not already done)
    - [+] nullify all other lfs
    - [+] super speed attacks ?
    - [+] warriors appear
- [+] magic: of Magic (crown ?)
    - [+] restore all mp
    - [+] learn any spell
    - [+] identify all objects
- [+] make Lavax be playable
- [+] make Fishfolk be playable
- [+] fix bug with wand lof
- [+] reduce rarity of wands
- [+] getrandomobwithflag()
- [+] fix big memleak bug (allocating map cells twice)
- [+] infinite loop on win game by defeating a god.
- [+] klikirak shouldn't make fire when on plane of gods/
- [+] createhabitat shouldn't be allowed to blank pre-vault  (ie.
      locked) cells
- [+] bug: wasn't any lfs in realm of gods
- [+] master vault
    - [+] bottom of dungeon has link to "vaults".
    - [+] vault stairs needs a key to open it. (special stair type)
    - [+] stair type:
        - [+] metal hatch leading down
        - [+] metal ladder leading up
    - [+] add new habitat
    - [+] add new branch
    - [+] algorithm for making h_vault level:
        - [+] start with everything a wall
        - [+] place x number of random rooms or vaults with tag:vault
            - [+] rooms can't overlap
            - [+] rooms should be fairly small
            - [+] IMPORTANT: rooms can't be further than 2 (3?) cells
                  away from other rooms
        - [+] every room has locked doors (never open entrances)
        - [+] then go through, and cell which has a room cell near it
              becomes empty
        - [+] problems:
            - [+] rooms have no doors!
            - [+] rooms are too small!!
        - [+] populate with monsters (f_rarity)
        - [+] more chance of "guard" jobs
        - [+] automatically place chests
    - [+] 3 levels with:
        - [+] 1 staircase up/down form each
        - [+] down stairs require key to open.
    - [+] first level of vaults: outer vaults
        - [+] antechamber with vault guardians
    - [+] second level: inner vaults
    - [+] last level: master vault
        - [+] inner chamber with all the godstones
        - [+] once you pick up one godstone, the others vanish.
2012-04-27 01:23:14 +00:00
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 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 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 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 45c5fd0365 - [+] Monsters should not use longbows as melee weapons!! 2012-03-16 00:35:38 +00:00
Rob Pearce 192afcec2b - [+] when checking stairs for prints, check for f_naturalflight, not
for f_flying
- [+] reduce explosion size for robot corpses.
- [+] cats
    - [+]    Evasion, fast, normal attack speed but 2 attacks
    - [+] Cheetah/leopard 3. tr. 3. Brown, jump/leap
    - [+] Tiger.  4hd. tr. 5kk Red
    - [+] Lion.  4. tr 6. Orange
    - [+] Panther ? Magenta
    - [+] Shadowcat .blue
- [+] hecta did finger of death on a troll, why didn't it leave a
      corpse ? because i used necrotic damage.
- [+] crash when asking druid for levelup spell.
- [+] fix up msgs when charmed monsters are moving.
- [+] fix up explodecells() to do better LOF calculation.
- [+] cancast() timer on monster ablities is not working!!!
2012-03-11 14:40:45 +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 69cd41a714 - [+] make zombies eat flesh.
- [+] warn before eating your own kind if it will anger your god, and
      you wisdom is high.
- [+] make disease way worse if you eat your own race's corpse!
- [+] CRASH when i try to cook firebug corpse
* [+] bones files:
- [+] when your leg is bleeding, don't lose hp for ATTACKING, only for
      MOVING.
- [+] bug: issue with skill display if you learn higher than your max
      level by reading a book!
    - [+] in this case, reading the book should fail.
- [+] when you start worshipping felix, allow you to learn lockpicking
      & thievery to full level!
- [+] infinite loop when an ashkari enters rage while already eating.
- [+] felix prayer should always unlock all nearby doors
- [+] if you add f_calwill xxx, v1=112312 v2=NA, make v2 = v1.
    - [+] that way we can confer it!
- [+] say "this is xxx!" after wearing a new amulet.
- [+] fork / knife should make you eat faster.
- [+] double the hp of most armour again
AMULETS
- [+] add new bodypart = neck
- [+] object hiddennames
    * [+] nouns
    * [+] adjectives
- [+] flight  (canwill fly)
- [+] enhance spell power
- [+] victimization (makes everything hostile) (no auto id)
- [+] blinking
- [+] anger (canwill rage)
- [+] vs poison (poison immune)
- [+] vs magic (magic resistance)
- [+] common
    - [+] feather fall (dt_fall dmg = 0)
        - [+] don't "slam into the ground", just "float gently to the
              ground"
    - [+] of amplification (boost listening skillchecks, allow you to
          listen at stairs)
    - [+] peaceful sleep (don't get woken up by sound, cursed)
    - [+] chef's amulet(lower metabolism) 
    - [+] thief's amulet (lockpicking)
2012-03-05 10:31:21 +00:00
Rob Pearce afb0d30b23 - [+] remove enchantment school
- [+] remove gravity school (move to "air")
- [+] mud should eventually dry out (but take 50 turns or so)
- [+] bug: " [@=stats Effects Items gic ?=describe ESC=quit]"
- [+] allow '?' from askgod() prompt.
- [+] when hecta changes you to a vampire:
    - [+] don't change your hp!
    - [+] don't chance your stats ?
- [+] add ?j for job descriptions
- [+] wrapprint: when caling line length, use modified strlen to ignore
      ^c or ^num
- [+] extra info in makedesc_job:
    - [+] Attrib mods:
        - [+] Strength: very high
        - [+] IQ: Low
    - [+] Alignment:  Neutral  OR Good/Evil etc, or ANY
    - [+] starting skills: x, x, x, x, x, x
- [+] changes to paladin
    - [+] cannot cast spells if using cursed weapon/armour
- [+] get rid of skillcheck to learn a new spell.
- [+] cyclonic shield should also damage attackers.
- [+] ^F#_#^? releases a cloud of red spores
- [+] ragefungus bug
    - [+] "you are too tired to do that right now"
    - [+] move this check out into useability.
    - [+] test that minotaur still uses charge. (which costs stamina)
- [+] force sphere not working! fiexd, needed to limit "radius" to 1
      minimum. also added animation.
- [+] reduce max jolt power to 5.
- [+] change initial sky wizard spell to jolt
2012-02-27 08:27:55 +00:00
Rob Pearce ff13f25bb9 Paladin changes
- [+] average charisma + speech ?
- [+] lose all/most of  the warrior abilities
- [+] can only voluntarily wear known blessed items (add this to the
      description)
    - [+] (glorana must give holy water when you pray)
- [+] move most post-damage stuff into losehpeffects()
    - [+] pass "int doextraeffects" to losehp_real().
    - [+] during melee attack, delay this.
    - [+] otehrwise, it happens in losehp!
- [+] add constants for real_getobname params
- [+] add constants for real_losehp params
- [+] issue - should i be able to say 'have mercy' when i'm not
      adjacent?
    - [+] probably not!
- [+] don't sell credit cards in shops.
- [+] make crowns, velvet robes, wizard hats more likely to have brands
- [+] don't say "your feet get wet" when walking from water to water
- [+] fix bug in real_warnabout() where multiple warning_t instances
      were being made for the same text.
2012-02-25 23:42:48 +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 0f914d8819 More godstones:
- [+] amberon: rename to "Purity"
    - [+] make it cure deformities etc ?
    - [+] massive damage to undead ?
- [+] thieves: of vengeance
    - [+] makes all monsters attack themselves
    - [+] steals all weapons from monsters
- [+] mercy: of mercy..
    - [+] acts as ring of miracles (when charged)
- [+] make "mirror image" be a modification spell instead of
      mental ?
- [+] make resize spells target a lf, rather than the caster
- [+] l2 spell alchemy - convert metal object into power% its value in gold!
      (maxpower 5)
    - [+] need wantmaterial in doaskobject
- [+] move ring of miracles check out of losehp().
    - [+] instead, just use the die() one.
- [+] titans have more hit points than gods!!! fix this.
2012-02-21 19:45:01 +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 3e5c718502 - [+] non-player insects should never be able to break out of a web.
- [+] stench should still affect non humanoid/animals if they have
      f_enhancesmell
- [+] bug: god of fire should only be pleased by kills if you used fire.
- [+] luck should affect whether you gain abils from eating corpses
- [+] lower weight of four leaf clover
- [+] bug: when dungeon had different wall type selected, still got
      scattered rock walls
- [+] death spells shouldn't please hecta if they fail
- [+] bjorn should restore stamina when you pray
- [+] show your score when you didn't make the hiscore table.
- [+] eating corpses for resistances
    - [+] f_eatconfer on race defs. fill in text for stacking, ie.
          resist becomes immunity if you already ahve it.
        - [+] must have f_mutable.
    - [+] have to eat mutant corpse first to enable this.
        - [+] you gain f_mutable.
        - [+] "Your body feels ready for mutation."
    - [+] thereafter......
    - [+] for resistances, you first take maxhp/2 damage of the same
          type (with chance to ko rather than kill)!
    - [+] inherited by corpses
    - [+] eat shadowcat to see through smoke? this replaces the
          temporary smoke creation effects.
    - [+] add to some lfs
        - [+] dtresist (elemental based)
        - [+] attrmod (wyrm or giant corpses)
    - [+] when you create a new corpse object, take EATCONFERS from
          race!
- [+] store owners shouldn't let you in if you have f_stench
- [+] if you pick up a non-magical object (ie. a potion of water), and
      have detect magic, and it's not magic...you know it's uncursed,
      +0, etc.
    - [+] (assuming pot_water is known)
- [+] other effects of alignment
    - [+] areenemies()
        - [+] good:
            - [+] other good creatures are still "peaceful" (remove
                  f_hostile on creation)
            - [+] evil creatures are always hostile (even npcs) (add
                  this flag in addlf())
            - [+] no xp for attacking peaceful
        - [+] neutral: nothing special
            - [+] no xp for attacking peaveful
        - [+] evil: 
            - [+] still get xp for attacking peaceful
            - [+] good creatures are always hostile (add this flag in
                  addlf())
    - [+] show alignment in @. maybe after "Race: xxx"
    - [+] add random alignments to some humanoid races
        - [+] should be able to jsut use f_align al_none "gne"
        - [+] lizardman
        - [+] all the playable races
    - [+] bonus when 'c'hating to your own alignment npcs 
    - [+] move alignment question to givejob(), and make it random for
          mosnters
    - [+] add alignment to gods
- [+] sandman - puts you to sleep. OR has lots of sleeping dust.
    - [+] glyph: brown 'y'
    - [+] miniature tornado of sand, humanoid visible inside
    - [+] can cast sleep, range 1 (or 2 and need lof?)
    - [+] corpse:  smoke and sleeping dust?
    - [+] no attack.
    - [+] low hitdice (2)
    - [+] fairly high ar (10)
    - [+] madeof dirt
2012-02-10 06:44:12 +00:00
Rob Pearce d2588bdd98 - [+] replace causesvomit with vomitob
- [+] monsters shouldn't weild lit torches
    - [+] maybe reduce the damage that they do?
- [+] change allomancy to work like psionics
- [+] change colour of carpetted floor?  to what though? red.
- [+] amberon should only accept sacrifice of KNOWN cursed objects!
- [+] infinite loop when going into a sewer. fix_reachability keeps
      failing.
    - [+] in linkexit()
        - [+] startdir getitng set to DC_E! should be orthog only!
        - [+] because forcedir is DC_E!
- [+] Mummy? made of paper (ie flammable). rotting touch. curse.
      corpsetype = sand or ash, and blank paper.
    * [+] inflicts rotting disease "mummy's curse"
    - [+] can cast cause fear (but not very often, 50 turns or so)
    - [+] vuln to fire (1-8)
    - [+] vuln to holy (2-8)
- [+] greater mummy
    - [+] more hd
    - [+] lots more damage
    - [+] stronger fear spell
    - [+] no vuln to anything
    - [+] magic resistance
    - [+] priest spells. - death disease evil revenge, guardianship.
          some new ones:
- [+] rot:
    - [+] instead of losing hp, lose str+fit and just no healing ?
- [+] wyvern
    - [+] wyrm without breath weapon
- [+] ice demon
    - [+] shardshot, power 3 (ie 3d6)
- [+] snow troll
    - [+] implement
    - [+]  - frostbite, range 1 "exhales a freezing wind"
- [+] griddler, small demon, fire dam attack, heat metal ability,
      carries a permenantly red-hot weapon 
- [+] curse (curses equipped objects)
    - [+] applys a curse to 1-power equipped objects.
    - [+] applies a -1 penalty too, if it's a weapon/armour/can have
          bonuses.
- [+] protection from good.
    - [+] repel the next "power" attacks from good-aligned lfs
    - [+] casttoattack xxx
    - [+] this needs the player to have an alignment!!! (base it on the
          job)

FROM PREVIOUS COMMITS:
- [+] if you polymorph into something with nopack, MELD your pack ?
    - [+] move all from lf->pack to lf->meldpack
    - [+] have to SAVE meldpack too.
- [+] monsters which attack if you get too close
    - [+] eg. wolf
    - [+] do they attack other monsters in range too? or just players?
2012-02-09 21:00:10 +00:00
Rob Pearce 0ce77ec00b - [+] firebug should deal 1 fire damage to anything on the ground
- [+] f_damagegroundobs v0=dam, v1=damtype
    - [+] add a similar thing ice wraith (they cause cold damage)
- [+] psionic spells:  baffle and disorient too similar?  make one a
      lower level ?
    - [+] make disorient face them away from you!
- [+] ekrub shouldn't get angry for crushing glass underfoot
    - [+] OR... warn before you do this if you worship ekrub
- [+] don't drip water while inside a wall (ie. ethereal)
- [+] don't show "[tried on xxx]" for objects in store inventories!
- [+] make "i bestow a gift" msg change depending on god
- [+] potion of etherealness spell disappating twice?
    - [+] ie. stopspell being called twice.
    - [+] spell effect now chacks for existing noncorporealness
- [+] different god msg if they are angered but still pleased
    - [+] "don't do that again!"
    - [+] "ahem!"
    - [+] "i won't tolerate further transgressions"
    - [+] etc
- [+] io.c not showing that druid is vegetarian.
    - [+] show this only if ilfetime !=  FROMRACE
    - [+] don't show it otherwise, since it's a racial trait.
    - [+] change hasflag_real to have "int lifetimeexception"
    - [+] same with:
        - [+] VEGERATIRNA
        - [+] CARNIVORE
        - [+] PARTVEGETARIAN
        - [+] F_SIZE??
        - [+] VISRANGEMOD
- [+] stickstosnakes - make this not affect the CASTER's equiped
      weapon, but it doesnt affect weapons of others.
    - [+] implemment
    - [+] make spell description describe this.
- [+] make safebox not be stealable
2012-02-04 23:26:16 +00:00
Rob Pearce c1bccc652c - [+] fixed crash related to F_CASTINGSPELL
- [+] change god names to "god of xxx/yyy/zzz"
- [+] i'm pleasing the god of life somehow unknown. why?
    - [+] from sleeping!
    - [+] was checking !isasleep(god), not !isasleep(player)
- [+] ai object stealing code not working
- [+] chance to wake up when someone is stealing your objects ?
    - [+] stealer makes an easy stealth check
- [+] fix crash in steal()
- [+] when fix_reachability kills a wall, add rubble as if the wall
      fell down.
- [+] if you burn yourself on something, automatically drop it.
- [+] ai shouldn't try to wear dangerous objects.
- [+] f_hot objects count as dangerous
- [+] if metal takes fire damage, it gets F_HOT (unknown)
    - [+] touch() will burn you, and make the flag known ("red hot") 
    - [+] if you are wearing F_HOT armour, take damage from it.
    - [+] modify how heat metal spell works
    - [+] when something catches on fire, it also gains F_HOT 
    - [+] test heat metal
- [+] firebug and fire sprite should have f_extracorpse "small fire"
- [+] in makedesc_skill, only show each "at xxx level" heading once
- [+] ice wraith shuld be flying.  ghast shouldnt be levitating.
- [+] MENDING should fix rust.
- [+] BUG: ERROR - unlinked stairs! should have been linked during map
      creation.
    - [+] was on Dlev 9
    - [+] stairs were going to the swamp.... and swamp had no stairs!!!
    - [+] in finalisemap: swamp was misisng stairtypes!
2012-02-03 05:55:19 +00:00
Rob Pearce b1abb5ad76 - [+] reduce F_WALKDAM on fire objects to 1d4,2d4,3d4
- [+] bug: getvaulttype causes infinite loop if none found.
- [+] flameburst from klikirak offer shouldn't incrase piety further.
- [+] fireball / flame pillar spell: mark that the player created the
      fire
    - [+] ... so that when it damages otehr objects, damge caomes form
          the playerh
- [+] make shieldbash stun effect last longer
2012-02-02 05:26:14 +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 660481c27e - [+] show varpower spell effects in @E
- [+] don't say "you hear xxx" for your pet's footsteps
- [+] when hungry, ekrub likes eating animal corpses, rather than
      killing animals
- [+] failed spells now always make spelleffect() return B_TRUE.
- [+] stickstosnakes now works on non-wood objects.
- [+] light spell can only blind people at high level
- [+] amberon shouls accept sacfirice of evil corpses
- [+] tweak potion rarity
- [+] attacking helpless evil creatures shoudln't anger amberon
2012-02-01 20:56:07 +00:00