- [+] 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)
- [+] gather flame - l1: nearby fire boosts next spell's power.
casttimme 2
- [+] boil blood - l2: when monster dies, it explodes (like a
fireball?)
- [+] maybe: create player lf BEFORE creating maps
- [+] then move player to start pos and add pets etc
- [+] then kill mons in los
- [+] this will let us correctly adjust hostility even on dlev 1
- [+] goat (yellow 'q', 1hd)
- [+] charge
- [+] horn attack
- [+] eats anything!
- [+] f_caneatmaterial
- [+] calculate nutrition based on weight...
- [+] chimera(9hd, 9tr, mutant) - purple 'm' - goat/lion/wyrm, 3 headed.
- [+] LARGE
- [+] Morale 13-14
- [+] EVIL
- [+] Hostile
- [+] swoop
- [+] can breath fire - use burning wave
- [+] melee attacks:
- [+] bite (lion head) (3)
- [+] bite (dragon head) (5:w)
- [+] gore (horns) (3)
- [+] 2 x claw (4)
- [+] TOTAL 18
- [+] but... do maxattacks = 4, not 5.
- [+] slash attack: chance to remove a head.
- [+] this makes it lose one bite attack and (maybe) its breath
weapon.
- [+] hydra
- [+] 5-12 heads
- [+] each head has bite attack
- [+] hit dice / tr based on heads
- [+] regenerate 2 heads each time one is severed
- [+] wolf
- [+] hawk
- [+] bear
- [+] worker ant (but not soldier ant)
- [+] player shouldn't know if mosnters are peaceful or not
- [+] ie. no warnings when attacking them
- [+] no swapping places
- [+] don't show "(peaceful)" in io.c askcoords()
- [+] need isknownpeaceful()
- [+] lv1 negotiation will fix this. maybe rename it though:
- [+] psychology
- [+] psionic spells:
- [+] boost confidence
- [+] wild spells:
- [+] pyrotechnics
- [+] absorb metal should give you hp if you already have ful lmana
- [+] 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
- [+] 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 ?)
- [+] gust of wind has higher chance of knocking down small creatures
- [+] check: ensure vault names have no ' 's
- [+] loading bug: celltype id 0 doesn't exist.
- [+] loading bug: adding minotair - don't call sethomeroom()
- [+] fixed - bones bug: "2 loaves of stale bread"
- [+] crash when object thrown away by holy circle dies.
- [+] armour with "permenance" cast shouldn't be able to be healed
either!
- [+] use immutable instead of invulnerable
- [+] if you weild your spare weapon (and dont have a spare), remove
'spareweapon' flag!
- [+] skoob should be made out of "water", not "ice" (don't want it to
have hardness)
- [+] change its material
- [+] hitting water-based lfs should rust weapon!
- [+] rusted weapons should have 10-30% chance of giving tetanus.
- [+] low chance of spasm each turn (5%)
- [+] "your [xx] spasms/contorts violently!"
- [+] hand = drop weapon
- [+] leg = fall over
- [+] jaw = nothing
- [+] back = spine broken, you die
- [+] tail = tail broken
- [+] chest = rib broken
- [+] wings = stop flying
- [+] electricity damage confuses robots
- [+] poison's power increase chance of its effects happening
- [+] whenver tetanus effect fires, increase power.
- [+] electric damage spreads through water
- [+] create water spell (like grease, but just makes water)
- [+] objectgrowth spell shoudl use f_growsto instead of hardcoding
- [+] v0 = obid or celltypeid
- [+] vt = determines VT_ob or vt_cell
- [+] then add shrink spell which uses f_shrinksto
- [+] deinfe it
- [+] add effects
- [+] specail case - brazer -> helmet should be red hot
- [+] hecta should mind attacking evil peaceful creatures
- [+] ai should still flee with bleeding legs
- [+] bandit had 90hp - problem with varlevel!! have changed
calculation.
- [+] monsters now just get 1 extra hit die per level after the
first.
- [+] only some branches should use region->depthmod. others only use
regiontype->depthmod.
- [+] spell: disrupt undead -
- [+] announce 'shatter' spell: you hear an ultra=high pitched
whining/ringing.
- [+] announce'sleep' spell: suddenly, you feel very drowsy.
- [+] inducefear: too powerful. tweak skillcheck values.
Initial work on baba yaga (sylvan forest boss)
- [+] parserace needs to cope with lazy etc.
- [+] make enum BEHAVIOUR
- [+] make behaviour_t
- [+] id
- [+] name
- [+] flags
- [+] killbehaviours()
- [+] addbehaviour() calls to define them
- [+] cleanup callsk illbehaviours
- [+] givebehaviour(lf, enum behaviour)
- [+] getrandombehaviour()
- [+] instead of checking f_behaviour->text, use
findbehaviour(f->behaviour->val[0])->name
- [+] parserace should handle these and populate wantflags
appropriately.
- [+] add disease incubation times (instead of getting them right away)
- [+] OT_A_TRIP should be a lot harder on anything with more than 2 legs
- [+] monster fleeing up/down stairs should anger hecta
- [+] reduce short bow damage.
- [+] add composite bow (between short & long)
- [+] need magic/silver weapons to hurt MT_MAGIC things
- [+] spirits should no lnoger be made of "MAGIC" - make them
something else. flesh will do.
- [+] in attack.c, noncorporeal check should also check for silver
/ magic weapons
- [+] describe noncorporeal in io.c if knowledge is high enough.
- [+] new spell casttype: ct_sounbased. deafness protects.
- [+] Banshee (7hd, spirit, death keen at night) - blue / red 'p'
- [+] death keen = sonic damage"midnight dirge"
- [+] but only at night.
- [+] harpy: 7hd - orange 'A'
- [+] charm (via sound, so sonic prevents)
- [+] 50% chance of bone club
- [+] bite, claw
- [+] 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)
- [+] 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
- [+] make it grimoire.
- [+] don't learn the first spell automatically
- [+] only start with 3 spell schools, and they must be from:
- [+] wizards with no subjob:
- [+] get a grimoire rather than a spellbook. but first spell is
always mana spike?
- [+] need some frequent forest vaults
- [+] tree passage:
- [+] tree circle
- [+] more enlarge/shrink object effects
- [+] wooden door = wood wall
- [+] wooden barrel - wooden dor
- [+] i turned into a cloud of gas. why was i not flying?
- [+] when you polymorph to creautre with natural flight, start
flying right away
- [+] show %age chance when studying a scroll
- [+] redo skillcheck code so we can calculate % chance beforehand.
- [+] automatically unlock all doors in starting room
- [+] reduce accuracy for innate attakcs- at the moment they always hit!
- [+] based on agility.
- [+] test with monk......
- [+] You have the following spells active:
3 damage reduction, vuln to fire
- [+] grimoire - why could druid see 'knock' ? think this is fixed now.
- [+] new killverbs: "murdered" "slain"
- [+] superheat not working if you miss. fixed.
- [+] skillchecks for NC_SPELLEFFECT noises should always succeed.
- [+] modifydamage dealt now that monsters have more hp:
- [+] initial wizard spells
- [+] chill
- [+] spark
- [+] manaspike
- [+] later wiz spells
- [+] fire on ground
- [+] new type of spellbook:
- [+] general - one spell from each school "spell tome" ? "xxx's
grimoire"/
- [+] another flagpile corruption bug.
- [+] asked a mammoan hunter to join me.
- [+] Marcus shouts "Beware a mosquitoid!". You hear heavy
footsteps.
- [+] Assertion failed: ("flagpile is corrupt!" == 0), function
checkflagpile, file flag.c, line 456.
- [+] (timeeffects on footprints)
- [-] when you "vomit then wake up", need to recalc los
- [+] killflag() is meant to fix this!
- [ ] why isnt it working?
- [+] bug: wasn't identify()ing starting weapons when you selected them.
- [+] allow temples to try to belss unknown objects.
- [+] allow describing obs from askobmulti()
- [+] warrior read a grimoire, why did it get identified? fixed.
- [+] reduce cost to repair stuff
- [+] dancing flame -l1: fires spread to adjacent lfs
- [+] cleansing fire = l2: use nearby fire to heal -heal (power*20)%
from each one.
- [+] maxpower 5
- [+] quicken fire - l4: make flame primarliry
- [+] magic barriers should vanish if you walk into your own one
- [+] implement
- [+] fleeing from something with F_NOMOVE shouldn't be cowardice
- [+] fix crash in check_for_block()
- [+] new branch: sylvan forest
- [+] entrance to this branch: hollow tree?
* [+] add some forest vaults
- [+] get rid of 'the sun is coming up" messages
- [+] nature spells which work better outside need to change...
make it 'when in sylvan woods' instead
- [+] need a spell to teleport to entrance of a branch!
- [+] done. TRAVEL.
- [+] saving "a clear fountain"
- [+] getobnametrue() needs to show "a fountain of xxxx" or "a
water fountain"
- [+] addobject() needs to handle "fountain of xxx" or "water
fountain"
- [+] don't generate bones file while debugging
- [+] should amour really be 'battered' at 98% ?
- [+] make 85 and abve still mean 'pristine'
- [+] reduce bjorn cowardice anger amount
- [+] snakes shouldnt follow up stairs
- [+] fix broken f_accuracymod.
- [+] unicode for trees and dense bushland.
- [+] bug loading again......related to gratings
- [+] don't inherit alignment when giving jobs to monsters
- [+] 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.
- [+] problem:
- [+] i get teleported into deep water then
- [+] you are drowning
- [+] you are drowning
- [+] you are drowning
- [+] you die.
- [+] was calling checkfordrowning() too often.
- [+] also prevent random teleports into dangerous cells
- [+] accuracy bonus for weapon skill wasn't working!! fixed.
- [+] remove damage done to armour
- [+] rename greater mummy to mummy king
- [+] most robots shouldn't be able to use stairs. F_NOSTAIRS
- [+] most undead don't use stairs either
- [+] rename "donate" to"offer an item"
- [+] high speech or racial knowledge should list possible items when
you offer
- [+] insert this at adept level
- [+] bump everything else upwards
- [+] when offering objects, use SPEECH check, not MORALE.
- [+] felix shoud like offering bribes
- [+] yumi should like calming people down
- [+] animals shouldn't be smart enough to avoid sharp objects on the
grond.
- [+] make all animals have wisdom = LOW
- [+] make most undead have wisdom = VLOW
- [+] make most undead have CHA = EXLOW
- [+] warn if races are missing any STARTATTs
- [+] warn if races have duplice sTARTATTS
- [+] reduce unyon hit points
- [+] drop monster hitdice sides to 6
- [+] change goblin colours
- [+] replace quickblade with uchigatana. dael 7-8 damage. very rare.
- [ ] apply correct rarity to weapons
- [+] balance katana now that i've modified blades!
- [+] and add wakazashi.
- [+] add altdam bash to most swords
- [+] add f->text to altdam
- [+] add "noobstext" to askobject()
- [+] why did ninja start with 0 mp ?
- [+] if you read a manual for a skill yo ucan't learn, have some kind
of message to say it didnt work
- [+] map shouldn't be magical
- [+] cloth should 'heat up' (it just catches on fire)
- [+] give A_FIT to all mosnters, for stamina when we polymorph into
them!
- [+] fix bug where celldangerous() fails on a lifeform's own cell
- [+] reflexive dodging should also dodge dangerous objects which
appear on top of you!
- [+] do this in startlfturn(), before other effects!
- [+] air spell - refraction - boosts EV
- [+] move jolt to L2
- [+] don't announce initial damage taking object from perfect to
battered.
- [+] propel missile
- [+] doesnt anger lumara
- [+] for monsters: aispellok true if we have an OC_MISISLE which
we're strong enough to able to throw.
- [+] minrange 2
- [+] new swords:
- [+] baselard
- [+] shortsword
- [+] epee
- [+] cutlass
- [+] sabre
- [+] repier is now a long blade.
- [+] broadsword
- [+] falchion
- [+] claymore
- [+] zweihander
- [+] bug: job description missing skill elements when there are <4 on
the last line.
- [+] don't adjust object's armourrating based on its conditin.
- [+] increase TR of dryad
- [+] reduce range of 'chill'
- [+] potion of poison should give venom poisoning, not food poisoning
- [+] robots should be immune to charm
F_AISPELLTARGETOVERRIDE v2.
- [+] change code:
- [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx
v2=TT_xxx text=pctchance or NULL.
- [+] aispellok(xx, purpose) : check this _before_ checking
spell->f_aicasttoxxx
- [+] add spelltargetoverride for vampire
- [+] add spelltargetoverride for werewolf
- [+] retain F_FLEEFROM on polymorph.
- [+] lycanthropes
- [+] show up as "human" unless your animal/magic lore is high
enough
- [+] vulnerable to silver weapons
- [+] Wererat (3hd, weapon damage)
- [+] uses short blades
- [+] stench
- [+] want alcohol?
- [+] transform into fast version of rat. plague rat?
- [+] summon small animals. summon # override? "count:"
- [+] Werewolf (4hd, 6 dam)
- [+] summon wolves ?
- [+] shapeshift to dire wolf
- [+] regenerates
- [+] firstaid skill (fast healing when resting)
- [+] Werebear
- [+] 6 hd
- [+] shapeshift to grizzly bear
- [+] summon 2-3 black bears
- [+] firstaid skill (fast healing)
- [+] shapeshifting monsters sometimes start as animal form
- [+] if you are good/evil different alignments, mosnters should flat
out refuse to join you.
- [+] more different sayphrases for recruitment.
- [+] when placing homelevobs, try to stick to rooms, not corridors
- [+] getrandomroomcell() needs WE_xxx argument.
- [+] implement cellmatchescondition(c, cond)
- [+] real_getrandomadjcell() should use this too
- [+] swoop ability should only work with claw attacks
- [+] F_FORCEATTACKOB
- [+] getweapons() needs to honour this.
- [+] spell.c: check if you have the right attack type
- [+] aispellok: only if you have the right attack yype
- [+] horse - 2hd, brown u
- [+] Hippogriff (3hd , horse/eagle, 'u') - yellow
- [+] centaur (4hd, u) - grey
- [+] make pegasus be cyan
- [+] CATs
- [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow
'f'
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!!!
- [+] quaffed a potion of polymorph self... and nothing happened!
- [+] only killing undead should please the god of life, not just
killing anything evil
- [+] klikirak shouldn't get angry when you take cold damage!
- [+] fire sohuld convert flammable celltypes to another type:
- [+] wood -> stone floor with pit
- [+] carpet > stone
- [+] increase flamepillar range
- [+] warning before killing firebug on wood/carpet, if wisdom is
at_high or above, and animal lore is high enough.
- [+] make f_twohanded only apply up to a given lf size.
- [+] implement
- [+] then add "istwohandedfor(wep, lf)"
- [+] then fix up ob defs in data.c
- [+] unnatural growth/shrinkage spells should be temporary too (like
potion)
- [+] random polymorph code
- [+] stay at the same TR, or one higher/lower! (same for player
random polymorph)
- [+] elephant - friendly to mammoans
- [+] mammoth
- [+] pixie (then pixie, dryad sprite = sylvan / fae)
- [+] naiad / nixie
- [+] blue 'n'
- [+] low power charm to lure into water
- [+] dagger/javelin
- [+] throwing net
- [+] resist magic 25%
- [+] droid - zapper
- [+] hoverscout (levitates, summons monsters)
- [+] skellion - floating flaming skull, scream attack, flame melee
- [+] fire primality should cast flame burst.
- [+] don't modify monster hp based on fitness.
- [+] storm primality / wind primality
- [+] very fast
- [+] 2 attacks - 1d5 each time. (pummel with debris / zapper)
- [+] permenant windshield
- [+] lesser:
- [+] lightningbolt (lesser, 2d6)
- [+] sleetstorm (lesser, 1-2 cold and slow movement)
- [+] greater
- [+] chain lightning (greater, 3d6)
- [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on
power)
- [+] naiad (water sprite) - 'n' -blue
- [+] good
- [+] aquatic
- [+] water spirit
- [+] charm spell
- [+] ling parasite - green 'x'
- [+] turns one corpse into a zombie (dies in the process)
- [+] add onion object.
- [+] roc
- [+] "crystal cur" - canine. only bashing works
- [+] gems for corpses.
- [+] bug: monsters not using spells. fixed.
- [+] test NOSPELLS bug with rapidivy
- [+] test low IQ spells with storm primality
- [+] make hitdice be d8 rather than d4
- [+] change F_HITDICE
- [+] add constant HITDIESIDES
- [+] redo all definitions in data.c
- [+] lich
- [+] lifeob = ornate glass jar
- [+] can walk up to 12 away
- [+] chilling touch
- [+] mindshield
- [+] teleport back to jar on death
- [+] monster ghosts have lifeob = corpse, which we generate.
- [+] but DONT let them possess the player ? or dont let them
possess anyhting ?
- [+] mosnters should say noooo! if their lifeob is destroyed
- [+] lifeobs need a link back to owner f_lifeobfor xxx
- [+] lifeob check wasn't including the lf's cell itself.
- [+] spellcasttext for dryad - "Charm" = beckons
- [+] poltergeist should be invisible
- [+] troll should covet food
- [+] avian - birds should be friendly
- [+] scroll of permenance should make armour invulnerable
- [+] amulet of mind sheild - immune to psionics
- [+] parserace() shouhld handle "random _baseid_" ie. random ant,
random troll etc
- [+] vault: troll cave (very rare)
- [+] trolls
- [+] bones
- [+] cooked corpses
- [+] bug: minions not being created in vaults.
- [+] vault: ant nest
- [+] queen ant
- [+] dirt floor
- [+] lots of ants
- [+] LOTS of food.
- [+] reduce flame volume
- [+] vault maintainedge not working. slightly fixed now?
- [+] vampires are turning into gas clouds but then trying to attack.
- [+] new amulets
- [+] Of evolution (turn into a merman in deep water, aviad instead
of falling, (fireres humanoid) in fire, (coldred human) in
cold)
- [+] in deep water and can't swim? turn into merman
- [+] about to fall through a hole? turn into a flying aviad
- [+] in fire and not resistant? turn into a Lavax
- [+] in cold and not resistant? turn into sasquatch
- [+] all polymorphs are TEMPORARY (5 turns or so).
- [+] no autoid
- [+] of bloodthirst - walking over blood heals you!
- [+] no autoid
- [+] Of graceful swimming (auto turn into a swan when you enter
water)
- [+] no autoid
- [+] paranoia (5% chance per turn to create monsters out of sight,
but in lof)
- [+] they will make a "walk" noise right away
- [+] or something just "you hear xxx right behind you!"
- [+] 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
- [+] bug: lf->Race being corrupted.
- [+] happened to a sleeping ogre just after i killed it (crash
during checkdeath())
- [+] corrupted:
- [+] ->id
- [+] ->race
- [+] ->level
- [+] hp / maxhp okay.
- [+] am i calling hajob() after freeing lf?
- [+] YES.
- [+] nutters not attacking
- [+] cansee(nutter, player) = 0
- [+] haslos(nutter, player->cell) == 0!!
- [+] why???
- [+] bug: getting abandoned temples for some reason ?
- [+] have put debugging code in
- [+] wait for it to happen...
- [+] fixed! was created dungeon before heaven.
NEW MONSTERS
- [+] revenant
- [+] intelligent zombie, retains former job.
- [+] corpse revives
- [+] last hit with holy damage will stop revivetimer
- [+] so will beheading/bisecting
- [+] gyrfalcon
- [+] white, largest falcon, found in arctic. best hawk.
- [+] malik - sprite with backstsab, assassin blink (blue n)
- [+] Unyon (onion monster, grey/white Flora). slash causes blindness
burst unless eyes shaded.
- [+] swamp troll (poison dam)
- [+] trollkin (half-human, less regen?)
- [+] ogra (female ogre, weaker, higher agil, dodge ability)
- [+] tomb spider (carnivorous, can cast darkness, drain life on hits ?)
- [+] made of metal
- [+] never flee
- [+] corpses start sparking then explode 2 turns later
- [+] examples:
- [+] security bot (zapper), brown
- [+] android (humanoid, good stats), grey
- [+] riot bot (water jet, zap, gas), bold blue
- [+] flame turret (burning wave, slowly turns, DOESNT turn to face
noises), red
- [+] 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.
- [+] 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)
- [+] oval
- [+] chasm
- [+] room split in 4 by glass
- [+] concentricroom
- [+] Crash when a vault uses the object 'hole in the ground'
- [+] better method of giving spells to monsters
- [+] f_randomspellcount v0=amt
- [+] f_randomspellschool v0=ss_xxx v1=minlevel v2=maxlevle, text
= pw:xxx or null
- [+] if power not given:
- [+] castig power is (starting depth / 2)
- [+] limited by spell's max level.
- [+] OR
- [+] f_randomspellcount v0=amt
- [+] f_randomspellposs v0=spellid, optional text = power.
- [+] include these in validateraces
- [+] populate monsters...
- [+] TEST! (with fire sprite, check if it casts a spell other then
fire dart)
- [+] if monster is randomly given the job "j_wizard", you MUST pick a
subjob too!
- [+] go back to using CANCAST for monster spells, so that they show up
properly in a mind scan.
- [+] druid should start with sickle as secondary weapon.
- [+] healing not hurting undead - should be fixed now.
- [+] add description of spell powe calculation to spell skills
- [+] increase obhp of armour
- [+] i was a druid, levelled up to l4, and didn't get a new spell!
FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX.
- [+] make it a lot harder to get "beheaded" etc.
- [+] show real object name in "killed by a thrown xxx" even if you
didn't see it
- [+] short blades shouldn't be able to behead.
- [+] monster threat calc should take #attacks into account!
- [+] CTRL-DIR to turn isn't working agian. fixed.
- [+] make peasoup have range 1, rather than just going straight in
front of you.
- [+] power 1 glyph of wardning useless. fixed.
- [+] reduce zombie maxattacks to 1.
- [+] bug: Are alcohol no longer covered in (null).--More--
- [+] make merlochs much more rare.
- [+] light recalc is MASSIVELY slow on some levels.
- [+] for now: remove dark levels completely?
- [+] "You see 2 sheet of ices here."
- [+] remove F_FROZEN when you cook something.
- [+] frostbite should do a little more damage. d4 instead of d3.
- [+] at the moment i just get "your rest is interrupted!"
- [+] incorrectly calling getlorelevel() with raceid ratehr than
raceclassid.
- [+] CRASH in spellresisted() when caster is null
- [+] fix rest being interrupted by all flags!
- [+] flagcausesinterrupt()
- [+] test - get poisoned then sleep/train
- [+] test - potion of elemental immunity
- [+] metal armour now isn't being damaged _enough_!
- [+] fixed - wasn't applying the full original damage to armour.
- [+] "%s staggers backwards, but stands its ground."
- [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
- [+] demonologist - can summon demons
- [+] shaman - summon animals
- [+] bezerker - can use rage
- [+] necromancer
- [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
- [+] Novice Listen, Novice CLimbing
- [+] Also combine abilities, ie:
- [+] Ability: jump
- [+] Ability: xxx
- [+] becomes:
- [+] Abilities: jump, xxx
- [+] more psionic spells!
- [+] psionic blast ? daels direct damage to intelligent creatures
( 1 to iq/10 )
- [+] anticipate action: next xxx attacks from target lf against lf
always miss
- [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors? how to stop it spreading
to the whole dungeon ?
- [+] implement
- [+] test
- [+] new poison type:
- [+] migraine. sound causes pain (1 per volume?). light spells
cause pain too.
- [+] can get this from food too. (instead of gastro ?)
- [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
- [+] in describerace(), make title be:
- [+] Race::glowbug (beginner level knowledge)
- [+] LORE LEVELS:
- [+] NOVICE: common knowledge
- [+] breaths water
- [+] BEGINNER: only known if you've studied it a bit
- [+] nocturnal, damage resistances/vulns
- [+] silentmove
- [+] stability
- [+] ADEPT:
- [+] only know it if you've studied it a LOT
- [+] wantsobs
- [+] spells
- [+] morale
- [+] eating habits
- [+] when attacking something which is immune to your weapon,
warn you.
- [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
- [+] had f_nospells AND f_canwill flight
- [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
- [+] "your pair of sunglasses protects you"
- [+] but the spellcast is never announced!
- [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
ability 'Nullify' (job perk)."
- [+] i should be getting You have gained the ability 'Nullify VII'
(job perk).
- [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
you to cast"
- [+] because levabil isn't keeping pw:xxx text
- [+] BUG in LEVABIL.
- [+] 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
- [+] 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.
"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
stamina (costs all stamina)
- [+] f_dodges only works on fatal attacks
- [+] for players, you lose all stamina afterwards
- [+] for mosnters, just a straight 1 in 3 chance.
- [+] TEST!
- [+] bug: water spray spell doing massive damage?
- [+] 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.
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
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()
- [+] more rare potions - too many exp potions at the moment.
- [+] don't show dt resistances in io.c if you're immune
- [+] more orcs
- [+] make ork better
- [+] grey orc
- [+] invis
- [+] confuse
- [+] grand orc
- [+] blood orc
- [+] norc
- [+] smitegood, darkness
- [+] more goblins
- [+] froglin (blowguns, jump)
- [+] dusur (sand goblin)
- [+] throw salt to blind
- [+] go through walls (passwall)
- [+] tunnel downards (dig)
- [+] blowguns
- [+] more veryrare food to dilute 4leaf clover
- [+] curadough - filling, fullheal, lower metab
- [+] psitruffle - give temp xp/skill boost.
- [+] bug: two adjacent corpses, one catches on fire
- [+] fire keeps going between them
- [+] fix: fires don't burn out if there are adjacent fires with
MORE hp - must be >, not >=. (they remain at 1hp)
- [+] when fires spread, they get all their hp back.
- [+] flaming objects don't expire if there is a fire object on top
of them
- [+] random alignments on monsters not working!!!
- [+] test with lizardman.
- [+] dispaly of skills not working......
- [+] we get:
- [+] At Novice level: xxxxxxxxxxx
- [+] : yyyyyyyyyyyyyyy
- [+] should be:
- [+] At Novice level: xxxxxxxxxxx
- [+] : yyyyyyyyyyyyyyy
- [+] makedesc_skill ok.
- [+] it's when we print it from getchoicestr!
- [+] ie. wrapprint()
- [+] if strlen(word) == 0, print a " "
- [+] kind of words... but now i'm getting twice the amount of
spaces
- [+] make readuntil_real which remembers the amount of
delimeters seen
- [+] if number of delims is > 1, then print them all.
- [+] warn if you're good and attacking something helpless
- [+] 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
- [+] 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?
- [+] poisontype_t
- [+] define them all
- [+] ie. each poison type has a fixed damage amount.
- [+] check poisonisfatal()
- [+] check F_POISONED bit in startlfturn
- [+] salmonella. like food poisoning but causes more damage.
- [+] small chance of getting sick from raw meat?
- [+] FIT check to avoid.
- [+] raw meat = gastroenteritis.
- [+] raw chicken = salmonella
- [+] rotting food = either gastro (66%) or salmonella (33%)
- [+] new monster-only jobs
- [+] guard
- [+] has lots of armour and f_noflee and f_stayinroom
- [+] set climbing difficulty based on cell type as well as material
- [+] shopkeepers
- [+] remove F_SHOPITEM - this was used for old shop code.
- [+] "shop" vaults
- [+] village map (but leave the habitat for use in bazaar vault
etc)
- [+] vault: support for random monsters - use "random" for name
- [+] vault flag: f_monsstayinvault
- [+] vaults for goblin caves
- [+] pool of water
- [+] small hut
- [+] brick wall
- [+] trapped corridor
- [+] pranksters dust (makes everyone invisible)
- [+] allow c_random for animations
- [+] random chance of different kind of wallfloor when creating
dungeons
- [+] brick wall (slightly weeaker, orange/red)
- [+] metal wall
- [+] wood ??
- [+] instead of using map->habitat->solidcelltype, use
getsolidcelltype(map)
- [+] this checks map for f_solidcelltype
- [+] if not there, uses map->habitat->solidcelltype.
- [+] vaults should be able to inherit empty/solid types from map
- [+] x:cell:EMPTY
- [+] extra suffix text.
- [+] use two lines for each entry.
- [+] have to use modified version of wrapprint for this.
- [+] wrapprint needs a "wrapped_lines_indent_amt" option.
- [+] this should give exactly 24 lines.
hit at point blank range.
- [+] only reduce hit% after first cell?
- [+] increase change of player ko with yumi
- [+] tranq dart and nanodart should be rodshaped.
- [+] genericise purification
- [+] F_PURIFIESTO v0 = newobject
- [+] add toadstool -> shiitake
- [+] posion potion -> water
- [+] acid potion -> water
- [+] rum -> water
- [+] DONT make the original object type known now
- [+] higher level purify food lets you select a cell!
- [+] need f_targettedspell v1 & v2 to specify power.
- [+] druid should get to pick one of 3 spells (from each available
level) upon levelup, not anything!
- [+] implement f_levspellschoolfromx
- [+] TEST!
- [+] implement secondary weapon swap with 'x'
- [+] initial press: unweild curwep. if successful, mark as
secondayr.
- [+] subsequent presses: find secondary wep (or fail). remember
cur. weild secondary. if successful, remove scondary flag and
mark old cur wep as secondary
- [+] when you move an object, it loses secondary flag.
- [+] BUG: I had TWO regions with rtype->id == RG_CAVE!!!
- [+] have added debug code
- [+] think this is fixed - need to remove created regions when i
regenerate a map.
- [+] should be able to sell gems to jewelery store
- [+] sm_sellitems
- [+] shopsell()
- [+] shop has f_cansellobclass xxx, val[0] = pct of full price you
can sell for. normally 50% but 75% for gems.
- [+] allow COUNT - modified askobjectwithflag ?
- [+] OR add an extra *sellshop option to doaskobject ??
- [+] if this is set, only allow selection of objects which
match the shop's f_shopsell flags
- [+] ie. replace wantflags[]
- [+] when passing this, don't also pass wantflag args!!!
- [+] rename shopsell flag to f_shopacceptsflag
- [+] accept F_NONE in shopacceptsflag
- [+] make shopdonate use the same code
- [+] make donating to shops lower their prices ?
- [+] for each 100 value you donate, reduce prices by 1%
- [+] ie. donate 1000 worth, reduce by 10% = 1 level of speech
skill
- [+] change shopsell to use applyshoppricemod
- [+] applyshoppricemod needs a new arg - up or down
- [+] check code in objects.c for naming too! listobs()