Commit Graph

409 Commits

Author SHA1 Message Date
Rob Pearce f9a03e40e6 heat metal spell is way too strong, instakilled my char with 50-60 hp. Reduce heat duration from 3-6 turns to 1-2 turns. 2016-06-01 15:38:06 +10:00
Rob Pearce 39160a7c24 Forgot to append hpbuf to objects when describing them. 2016-06-01 15:27:17 +10:00
Rob Pearce f8eefeeb10 "Your blessed ring of luck produce light..." should be "produces light". 2016-06-01 15:21:31 +10:00
Rob Pearce cb97ac1f26 When looking at flying creatures, show their height (in metres). 2016-06-01 15:18:52 +10:00
Rob Pearce c4a576d6ca Fix text when reading a map and you're already on top of the target location. 2016-06-01 15:10:40 +10:00
Rob Pearce e4caa02e27 Goblin caves have too many enemies. Reduce chance of "things" from 10% to 5%. 2016-06-01 15:06:38 +10:00
Rob Pearce 918687dcd7 Don't make slip on blood checks when climbing stairs. 2016-06-01 15:03:44 +10:00
Rob Pearce 4a072fefc8 - Lower range of 'heat metal' to 1.
- Change description for fatal heat damage to 'scalded'.  Only use 'incinerated' for fire damage.
- Immutable objects shouldn't be able to be heated (eg. with "heat metal")
2016-06-01 15:01:07 +10:00
Rob Pearce 4880eb6292 psionics shouldn't count as magic for purposes of making gods angry 2016-05-31 16:43:43 +10:00
Rob Pearce f8314937b1 Monsters with jobs like firemage/icemage should be immune to that job's element. 2016-05-31 16:41:07 +10:00
Rob Pearce 6b500b8b36 Identify lifedrain weapons ("of lifesucking") if you see them working. 2016-05-31 16:37:37 +10:00
Rob Pearce 2746095a69 - way too hard to break out of entangling vines / webs - make them always get weaker, but boost their hp based on power. 2016-05-31 16:30:22 +10:00
Rob Pearce 973040c4e7 - make animate dead zombies more powerful.
- remote pet flag before writing lfs to bones file

- don't show 'you feel worried' for undead

- make pets always be able to hear you.
2016-05-31 15:36:37 +10:00
Rob Pearce 9bc3e6f683 Undead should be immune to pain from acid injection. 2016-05-31 15:12:03 +10:00
Rob Pearce cb31db8fff When selecting job, show recommendations based on race. 2016-05-31 14:37:08 +10:00
Rob Pearce 93257f8b4d - monsters with sensitive eyes should avoid bright objects 2016-05-31 12:53:28 +10:00
Rob Pearce 18ed81595d - Update Lumara description to include the fact you can sacrifice anything magical 2016-05-31 12:46:08 +10:00
Rob Pearce 01cb74be28 - bugfix: "Chat -> pet -> attack something -> [cancel]" causes crash.
- Hecta should raise dead _before_ casting field of decay, to avoid killing corpses.
2016-05-31 12:26:34 +10:00
Rob Pearce 8ed4b9aca0 - new l2 death spell: "field of decay" - damage objects / lfs made from organic material
- If not in battle, praying to Hecta will restore stamina / mana, and sometimes cast field of decay
2016-05-31 12:23:39 +10:00
Rob Pearce 234ad74cf6 Removing files which should be excluded. 2016-05-31 10:53:35 +10:00
Rob Pearce 8a3e97fa6c - bugfix: was printing random memory in getchoicestr() when input text is longer than matched choice. 2016-05-31 10:53:06 +10:00
Rob Pearce 99fc225519 - in addob(), prevent placing innate attack objects into non-lf obpiles.
- when parsing object names, require an exact match for innate attack objects.
2016-05-31 10:41:00 +10:00
Rob Pearce 54643ca5b9 - Make flasks of soup randomly appear. 2016-05-31 10:07:12 +10:00
Rob Pearce 095ede84fb - Don't put staircases on top of water. 2016-05-31 10:03:58 +10:00
Rob Pearce e91fc82f99 Removing excluded files from git control. 2016-05-31 02:11:48 +10:00
Rob Pearce 621cd37bf5 - Bad text: "Outside of battle, Hecta will respond to prayers by ." 2016-05-31 01:56:15 +10:00
Rob Pearce 09a8152cd3 Fix crash when casting telekinesis. 2016-05-31 01:00:35 +10:00
Rob Pearce 7fa750baef - Skillcheck on tumble was way too hard (was missing multiplier) 2016-05-31 00:53:28 +10:00
Rob Pearce 23e50d1cf2 - Safety googles (and anything tinted) will protect you from being blinded by bright lights. 2016-05-31 00:49:04 +10:00
Rob Pearce 7706dd8360 - Insects and aquatic creatures no longer slip. 2016-05-31 00:44:47 +10:00
Rob Pearce a560248527 - no critical hits when exhausted 2016-05-31 00:43:01 +10:00
Rob Pearce bc631d8657 - Removing todo file.
- Remove duplicate vault file.
- Stunned monsters should now correclty stop flying.
2016-05-31 00:40:43 +10:00
Robert Pearce 46e60eb3da Modified amount that Felix likes backstabs/attacks while hidden. 2016-05-31 00:22:55 +10:00
Robert Pearce e9a2ccb2c8 - Fixed heaps of memory leaks and bad memory usage. This should finally fix the flagpile corruption from 6 years ago!
- forgot to initialise brand->description
- door displaying as "leaf" - definition of knowledge->id was OBCLASS instead of OBTYPE.
- Repeated text:
        Minimum agility to use effectively: 50 to use.Minimum agility to use
        effectively: 50 to use. (bonus at 70).
- change wish text to be more meaningful
- fix failure when loading objects with a bonus from vaults/bones (eg. blessed '+5' sword)
- when raging, don't prompt to really attack when you won't gain xp
- disable flagpile checks
- Use 'interact' to use shops, not 'operate'
- Bad text: You are resistant to: projectiles[-7870t], explosives[-7870t].
- scorpions shouldn't follow you up stairs. (but giant scorpions can)
- make failed relinkob() calls return the original object rather than null, otherwise we get situations where an object becomes NULL and causes a crash.
- make cooking skill description show what size corpses you can cook.
- bug: potion of growth caused instadeath when reverting.
- bug: not showing monster abilites properly
- show raceclass in descriptions (/ v)
- make evasion only work if you're not exhausted
- Felix should be pleased by attacking people while hidden
- Not seeing felix angered messages when donating items
- Holes in roof - you now need to climb to inspect them.
- Fixed crash when hitting @ while producing light.
2016-05-31 00:21:12 +10:00
Rob Pearce 2f80d6ba05 - [+] rewrite gettrrange()
- [+] reduce chances of dulling weapon from hitting things
- [+] crash during save. other save/load fixes.
- [+] simplify xp value calculation.
- [+] fixes for checks to see whether cells are diggable using "dig"
      spell.
- [+] fix shop closed bug - "we are closed" text not appearing.
- [+] sound code mods - should no longer ever hear "muffled slithering"
      (since slithering should be too soft to travel through walls)
- [+] undead will no longer try to heal via resting (since they can't).
2013-01-03 04:39:34 +00:00
Rob Pearce d89e93f64e - [+] tech is now uncommon, not rare.
- [+] bug: crash when linking to map entry objects
- [+] removed some material-based damage immunities
- [+] at night you shouldn't hear "a cash register chiming".
- [+] increase hp of chests
- [+] filling empty flask from potion of fshy lungs resulted in potion
      of water!
- [+] don't take migraine damage from light if your'e blind.
2012-12-31 05:10:13 +00:00
Rob Pearce a42ca5bb37 - [+] operate will turn electromachete on/off
- [+] Interact should also be able to open/close doors
- [+] closing doors should take time.
- [+] remove armourrating from many standard monsters.
- [+] should be able to get nauseated while asleep
- [+] shouldn't be able to generate corpses of unique monsters!
- [+] mental feedback should do more damage.
2012-12-26 06:12:09 +00:00
Rob Pearce 60914f4842 - [+] change cooking skill - make it determien the size of the corpse
you are able to cook.
- [+] then greatly increase chances of getting sick from raw meat.
- [+] and decrease nutrition for raw meat again
- [+] wizard classes should get random spells on level up
- [+] Interact (with adjacent things)
    - [+] add new command
    - [+] bookshelf
    - [+] wardrobes (contain clothes)
    - [+] open barrels
    - [+] computers
- [+] only show "it currently contains..." for containers which you
      have opened.
    - [+] F_BEENOPENED.
- [+] some barrels are randomly jammed
- [+] change jam to be strength check.
- [+] change skillcheck roll - now only 1-50
- [+] monsters shouldn't cast lethargy if you're already exhasted
- [+] lethargy should cancel rage.
- [+] change spellbooks - always id them but you might not be able to
      read them.
new vaults:
- [+] goblin nest
- [+] orc fort
2012-12-23 22:02:52 +00:00
Rob Pearce 67d6d4b30b - [+] clouds of smoke (or anything gaseous) shouldn't be able to fall!
- [+] BUG: after giant ant digs a hole:
    - [+] ERROR - unlinked stairs! should have been linked during map
          creation.
          ERROR - can't find opposite end of stairs/portal!
    - [+] upstaircase on the new level is being linked to a hole.
    - [+] fixed?
    - [+] test again... (dig down, check log.txt for linking to wrong
          type)
- [+] giant ant should be able to dig dirt at will(to escape)
- [+] mimic ??
    - [+] pretends to be an ornate chest.
- [+] new monsters
    - [+] gluon should be an ooze.
    - [+] hag
    - [+] phase spider (wlak through walls!)
    - [+] basilisk
- [+] better description for rusted armour.
- [+] fix crash when creating up holes.
2012-12-19 10:42:22 +00:00
Rob Pearce c1cb8ea62e - [+] new monsters
- [+] creeping coins
        - [+] pretends to be gold
        - [+] poison breath
    - [+] rat swarm
    - [+] locust swarm
    - [+] baby mind leech
        - [+] mind whip
    - [+] adult mind leech
        - [+] mental feedback
        - [+] l5 psionic - drain intellect spell.  3d6 IQ drain.
- [+] summon swarm spell
- [+] ai: only pathfind if we are >= animal intelligence.
- [+] shadow - drain strength
- [+] show: "you swap places with the _sleeping_ lf"
- [+] problem:
    - [+] i have metalwork = beginner, sewing = novice
    - [+] ...but i could resize cloth objects!
- [+] SAVE broken again. fixed? 
- [+] in fixreachability, glass walls count as nonsolid
- [+] aligned temples:
    - [+] detect auras: free
    - [+] curse removal: free
    - [+] blessings: half price
- [+] change surface map.
    - [+] map difficulty should be very high.
2012-12-12 01:00:17 +00:00
Rob Pearce fe41614a1c - [+] better help text for temperature effects in @e
- [+] why wasn't eyebat levitating? fixed. anything with nostam should
      always have 100% stamina.
- [+] pain shouldn't work on undead.
- [+] screamer
    - [+] walking
    - [+] plant. purple brocolli
    - [+] spellcloud scream
        - [+] deafens adjacent creatures for 40-50 turns (doesn't stack)
        - [+] attracts other monsters
    - [+] leaves "screamer slice"
- [+] how do you open a barrel without hurting contents?
    - [+] answer: don't use DT_BASH.
- [+] giant bee
    - [+] sting then die. (cause pain)
- [+] don't get dizzy while running
2012-12-07 04:42:14 +00:00
Rob Pearce d7f6991a40 - [+] fixed CRASH when energy blade vanishes
- [+] gods of opposing alignments should never make offers.
- [+] new armour flag:
    - [+] f_underclothing
    - [+] getequippedob() - get the outer one.
    - [+] if you have f_underclothing, can wear other armour on top of
          it.
    - [+] can't remove underclothes without removing outer first.
    - [+] TEST with cotton shirt
    - [+] make sure autoequip handles undercltohing
    - [+] fix other objects
    - [+] adjust ']' output
- [+] make armour help against some magical damage too
    - [+] move armour check and reduction into losehpeffects().
    - [+] pass damreducedbyarmour to losehpeffects
- [+] psionic spells:
    - [+] dampen missiles - lots of extra evasion vs missiles only
    * [+] soul link (l4, share damage)
    - [+] mind sheidl (l4, like the amulet)
    - [+] delay death (l5, don't die if hp <= 0 and this spell is
          active)
    - [+] remote ko (l6)
- [+] Silence spell / effect - air.
    - [+] f_silenced.
    - [+] announce in io.c
    - [+] prevents spellcasting
    - [+] prevents docomms()
    - [+] prevents reading scrolls
    - [+] prevents speech-based abilities like warcry and sonic bolt
    - [+] say() will fail
    - [+] sayphrase() wil fail
    - [+] test the spell.......
- [+] CRASH when adjusting glyph on edge of map
- [+] non-humanoids can't climb without climb skill.
- [+] player sohuld be able to swap with unconscious/asleep lfs <= same
      size
- [+] too easy to knock things unconscious??? bug. fixed.
- [+] reusable cells being set to empty! think this was a vault
      definition problem.
- [+] demon chameleon / deech
    - [+] low-level mosnter which can hide
2012-12-06 04:57:13 +00:00
Rob Pearce 38a788ca5f - [+] pour poison potion on weapon should poison it.
- [+] coldness shoudl reduce object heat and heat should add f_hot
- [+] novice engineering should let you make arrows.
- [+] hunter shouhld have novice engineering.
- [+] BUG: during the game: i nvalid racename 'piranha' in vault
      pool_room
    - [+] this happened because more than 1 appeared.
    - [+] disallow minions/numapepar in vaults.
2012-12-05 05:00:54 +00:00
Rob Pearce 33abd2b948 aa 2012-12-04 05:22:08 +00:00
Rob Pearce 234d70b099 - [+] chat->all allies command.
- [+] replace 'step carefully' key to free up 's' - OT_A_TIPTOE
    - [+] 's' = 'shut door' (replace 'c')
    - [+] 'c' = 'chat to single'
    - [+] rewrite docomms() to use other funcs
    - [+] 'C' = 'command all allies'
        - [+] only possible for single person:
            - [+] 'o' donate
            - [+] 'i' tell me about this area
            - [+] 'j' join me
            - [+] 'k' trade knowledge
            - [+] 'm' mercy
            - [+] 't' trade
            - [+] 'x' dangers nearby?
        - [+] make a list of all commands which are valid for EVERYONE
        - [+] send command to everyone.
        - [+] docommslf()
    - [+] test with single target
    - [+] test with multiple targets
- [+] hitconfer lifetime for wight/contagion zombie should only happen
      on fatal hits
- [+] makezombie() should be able to call petify()
- [+] bug: mosnters never using HIDE ability.
- [+] monsters which pretend to be objects (ie. gargoyle)
    - [+] F_ISMONSTER v0=raceid v1=objectid, v2 = spot check difficulty
    - [+] when generating, add contents->first as objectid v1
    - [+] getobname -> if you have f_mosnters, use contents->first
    - [+] getobdesc -> if you have f_mosnters, use contents->first
    - [+] mosnters won't walk onto it
    - [+] if you are next to them and can't see them... reveal then
          attack!
    - [+] F_ISMONSTER - must always be impassable to everyone!!!
    - [+] if you try to walk onto it:
        - [+] "the xxx starts to move!"
        - [+] kill ob
        - [+] add lf
        - [+] they get a free attack
    - [+] if it takes damage
        - [+] ... convert.
    - [+] spot checks to see them.
        - [+] ...convert.
    - [+] F_PRETENDSTOBE - mosnters will revert if unseen.
    - [+] reveal hidden should show them.
- [+] gargoyle
    - [+] stone statues
    - [+] winged
    - [+] large
    - [+] ~37hp
    - [+] start off as an obejct
- [+] wight
    - [+] rare.
    - [+] ~26 hp ...TR5
    - [+] silent move
    - [+] dr4 attack (low damage) but....
    - [+] any humans killed rise as a wight .
        - [+]  (hitconfer revive).  how can i limit hitconfer to a
              race? maybe f_hitconferrace
        - [+] bones file
        - [+] tested ok.
    - [+] 1 leveldrain per hit
        - [+] skillcheck to avoid
        - [+] wight gains +5 hp
2012-12-04 05:15:27 +00:00
Rob Pearce ae01d1bbfa - [+] add f_nostam to undead.
- [+] add nonausea rather than nosmell sometimes.
    - [+] rats should eb able to smell, but not get nauseated.
- [+] fix triumph pleasure for bjorn.  must be no monsters within
      LOF... or within radius ?
    - [+] and make it very low piety gain.
- [+] remember which level we got flags form
    - [+] flag_t -> fromlev
    - [+] announce this in getflagcourse
- [+] undead qualities
    - [+] no criticals
    - [+] don't naturally heal
    - [+] don't breath
- [+] drainlevel(fromlf)
    - [+] check for dtresist necrotic 
    - [+] fitness saving throw (difficulty is 100 + fromlf's level*6)
    - [+] call loselevel()
- [+] loselevel()
    - [+] announce.
    - [+] drop maxhp.
    - [+] adjust hp appropriately
    - [+] lose any flags where >fromlev is too high.
    - [+] handle monk f_hasattack specially.
        - [+] getmonkdr(level)
        - [+] getmonkattacks(level)
    - [+] keep track of what stats we gained and lose them again.
- [+] TEST level drain with cursed xp pot
- [+] TEST level drain with stats...
- [+] prevent drinking when wearing full-face masks like gas
      mask/football helmet
    - [+] implement f_COVERSFACE.
    - [+] add it to objects.
    - [+] check it when doing caneat() candrink()
    - [+] up their AC bonus too
- [+] large scorpion
- [+] hellhound
- [+] large primalities
- [+] new vault flag: usehabitat:xxx
    - [+] means "set the habitat of all vault cells to xxx"
    - [+] real_getrandomob() should be given a CELL, not MAP.
    - [+] getrandomobofclass() should be given a CELL, not MAP.
    - [+] use CELL habitat to determine random obs
    - [+] apply to caves
- [+] vault scatter: ignore locked cells (ie. reusable ones)
new vaults
- [+] dualroom
- [+] sauna - vhot!
- [+] pentagram and demons
new pionic spells
- [+] chi bolt - low dam ranged attack 1d4
- [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 05:12:29 +00:00
Rob Pearce c839387b84 - [+] dog should ahve covet for ot_stick
- [+] fix crash in wouldgivepenalty();
- [+] shouldn't be able to inflict poison on a plant!
- [+] fix monster casting of airblast
- [+] you now CAN knock out robots.
- [+] don't lower god piety while training.
- [+] mesmerat (mental rat)
    - [+] random psionic spells
- [+] tempest moth
    - [+] no base attack but...
    - [+] airblast 
    - [+] sleet storm
- [+] homonculus
    - [+] 'n'
    - [+] miniature human. 2 hd?
    - [+] bite.  low damage, but inflicts sleep.
    - [+] dodge like goblin
- [+] scorpion. sting. inflict strong poison.
- [+] spider swarm
    - [+] F_SWARM
    - [+] has lots of attacks.
    - [+] as it loses hp, it loses attacks too.
    - [+] no corpse.
    - [+] dietext: "the swarm disperses"
2012-12-02 21:15:40 +00:00
Rob Pearce 8d2e98be50 - [+] when you give monsters gold, they should give something back ??
- [+] bogle: barkskin.
- [+] hamstring shouldn't make you fall if you're flying
- [+] flying creatures shouldn't be harmed by F_SHARP 
- [+] even when blind, you should be able to "see" lfs you can smell or
      tremorsense.
- [+] resting while cold without blanket = not possible.
    - [+] "the extreme cold prevents you from sleeping."
- [+] when hot, takes a lot longer to heal ?
    - [+] "it is difficult to sleep in this heat."
- [+] require lorelev skilled to fill potions from blood.
    - [+] done.
    - [+] ALSO allow skileld chemistry to work for all races ?
- [+] bones vaults shouldn't have maintainedge!!
- [+] contagion zombie - anyone it bites turns into a new zombie on
      death.
    - [+] very raer
2012-12-02 05:40:58 +00:00
Rob Pearce 515dc5d9a4 Adding missing vault files 2012-12-01 05:26:36 +00:00
Rob Pearce bfab1b10ed - [+] sauna should generate non-damaging steam.
- [+] generic object: "generator"
    - [+] specal text: generator:steam for vault defs
- [+] show flag sources in io.c
    - [+] TEST
    - [+] remove from MONSTER view.
- [+] paladin shoudl start with first aid skill
- [+] disrupt undead should do heaps more damage - because right now
      you'd just use smite evil
    - [+] increase disrupt undead from  "2-6" to more.
    - [+] reduce smite evil's maxpower 
- [+] problem: blessed buckler is essentiall the same as tower shield
      cause it doesnt get hurt!
    - [+] make bigger shields provide more protection
- [+] change F_SEEINDARK so that v1 specifies whether a bright light
      blinds you
- [+] getting WAY too many piles of ash from burnign corpses
    - [+] combine into "huge pile of ash"
- [+] change food decay
    - [+] instead of food losing hp, increase its  F_DECAY level 
    - [+] if F_DECAY too high, it's tainted. >= 50
    - [+] ie. update isrotting()
    - [+] dramatically lower food hp.
        - [+] where does corpse F_OBHP get added? from obclass.
        - [+] when we make a corpse override its obhp with the original
              mosnter's maxhp.
- [+] when i fix unreachable areas, change all the walls/floors in one
      of the unreachable areas!
    - [+] ie. change every solid non-vault cell which is adjacent to an
          unreachable one.
    - [+] test,,,
- [+] make inspection check more difficult
- [+] ohther sound types which monstesr shouldn't turn to watch:
    - [+] NC_ENVIRONMENTAL (building, stairs, etc)
- [+] create food should neve create poisonous food.
2012-12-01 05:26:23 +00:00