Commit Graph

252 Commits

Author SHA1 Message Date
rob 81c033d7dc Removed sprintf() usage
Now conpiles properly on linux again
2022-08-27 21:38:56 +10:00
Rob Pearce 415a15a523 Made blue colour lighter so it's easier to see on black backgrounds. 2021-12-08 09:51:22 +11:00
Rob Pearce 134542ed8f Adding a bunch of files which say they're modified, possibly just because I'm on a new system. 2021-11-16 11:23:38 +11:00
Rob Pearce 9456fba0f7 healthy food has a chance of curing poison 2019-08-20 18:19:13 +10:00
Rob Pearce e5dfd28216 Vegetarians shouldn't drink flasks of chicken soup / beef strogonoff. 2016-07-23 11:36:25 +10:00
Rob Pearce 6610dfed88 Rewrite weild() to do all prompts to remove stuff in the way before actually removing anything. 2016-07-07 12:30:04 +10:00
Rob Pearce d5254e25aa If you can meditate, don't prevent resting while caffienated.
Clarify args and description of gotosleep() vs. fallasleep()
2016-07-07 12:13:08 +10:00
Rob Pearce 43c20fbbaf bugfix: racial abilities now work properly after polymorph 2016-07-07 12:02:50 +10:00
Rob Pearce e4c3716387 Tidy up code around modification of player stats by god piety. 2016-06-21 21:37:19 +10:00
Rob Pearce d107dfbb90 - Fixed crash when showing what monsters want/covet in /ve screen. 2016-06-21 17:15:03 +10:00
Rob Pearce ae63bb6b83 Don't announce when monsters "can see again" - you have no way of knowing this. 2016-06-20 23:50:36 +10:00
Rob Pearce d22d881df1 Made "very dark grey" colour slightly brighter. 2016-06-15 00:01:13 +10:00
Rob Pearce 6bdb138faf Increase precision of displayed stamina costs to 2 decimal places. 2016-06-13 23:40:29 +10:00
Rob Pearce 3dd52fa511 When describing an object fmor a shop, show its real (identified) name. 2016-06-13 08:44:14 +10:00
Rob Pearce a4735d597c MAke object weight functions more meaningful - getobmass() and getobweight() 2016-06-09 10:51:55 +10:00
Rob Pearce d98ba870ca New option: prompt to abandon spells/abilities 2016-06-07 20:12:22 +10:00
Rob Pearce fd450ba0c3 - Allow mages to select spells from their primary school through training, by spending points.
- Rename 'weapon attraction' spell to 'guided weapon'
- When showing spells in a book, include their school
- $ key to show current money
2016-06-07 16:52:41 +10:00
Rob Pearce 5bcf36fdce Show stamina cost in weapon description. 2016-06-06 20:55:53 +10:00
Rob Pearce 8456ed6a74 - Option to notify about absorbed into dirt
- Fix crash if no cells found for god to appear.
- When calling fillpot from splashes moved/placed objects, make sure there is sufficient liquid to fill to container.
- Potion of blood sohuld always be a 'dark red potion'
2016-06-06 15:21:47 +10:00
Rob Pearce d381e8444c - Introduce MR_BACKTOLAIR to avoid ai code failures.
- Clear message bar before askobject()
- Make towel code include certain small liquids on the ground (splash of water, blood, etc)
2016-06-06 10:28:49 +10:00
Rob Pearce e1edc8e14b - In THREAT ASSESSMENT, don't show both "your <limb> is destroyed" and "you have no <limb>".
- Make '0' work as a shortcut slot.
- Change default shortcuts
        Sixth sense -> 6 ("SIXth" -> "6th" -> 6)
        Tiptoe -> 0 ("tOE" -> "oh" -> 0)
        Training -> 9
2016-06-03 15:28:05 +10:00
Rob Pearce 59204a30a0 Fix object text when it has attribute scaling but no requirement. 2016-06-02 16:41:18 +10:00
Rob Pearce dc48475d8b Cursed eyewear now _reduces_ your vision range. 2016-06-02 16:22:26 +10:00
Rob Pearce c30a1c4b94 - generate error if main screen is not at least 80x25
- showlfstats() - implement text wrap and scrolling on Effects screen
- If a monster slips and IQ >= animal, tiptoe next turn.
2016-06-02 14:50:03 +10:00
Rob Pearce 321a5ae00c - Implement proper up/down paging in showlfstats()
- getspellschoolknown() returning unpredictable results
- in Skill screen, show abbreviations on each line for ease of reading.
2016-06-02 11:24:32 +10:00
Rob Pearce 89dbff4a63 Potions of (in)competence now modify attributes by 5, not 1.
Add a squeaking hinge trap
Rename doobtraps() to triggerattachedtrap() for readbility.
Make using spanners able to set off traps.....
Make spanners able to unlock anything (chests, doors)
Allow (I)nteraction with adjacent objects, not just impassable ones (but limit what kind of objects this works with).
Remove CMD_CLOSE command ('s') - we can just use 'interact'.
Limit (I)nteractions to cells in front of you.
2016-06-01 23:59:39 +10:00
Rob Pearce 5135352e2a Random object generation was completely broken. Should be a little better now. 2016-06-01 21:09:21 +10:00
Rob Pearce 1b8980db09 Change message when prisoners leave you after escaping. 2016-06-01 16:23:21 +10:00
Rob Pearce 0b789afded Add "-s" and "-S" cli args to show hiscores. 2016-06-01 16:14:52 +10:00
Rob Pearce 301f815ab8 Show "[eating]" in top bar when looking at creatures with / 2016-06-01 15:58:18 +10:00
Rob Pearce f064ce1c41 Don't show how far you can throw objects if their class is OC_EFFECT (eg. magical barrier) 2016-06-01 15:50:04 +10:00
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 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 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 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 621cd37bf5 - Bad text: "Outside of battle, Hecta will respond to prayers by ." 2016-05-31 01:56:15 +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 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 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